/** ELREDA GROUP — Shop Hub: three sections, no product grid. */
.elreda-shop-hub {
    background: #F5F7FA;
    color: #182230;
    font-family: "IBM Plex Sans Arabic", Tahoma, Arial, sans-serif;
    padding: 27px 16px 70px;
    min-height: 50vh;
}
.elreda-shop-hub *, .elreda-shop-hub *::before, .elreda-shop-hub *::after { box-sizing: border-box; }
.elreda-shop-hub__container { max-width: 1240px; margin: 0 auto; }
.elreda-shop-hub .e-con, .elreda-shop-hub .elementor-widget, .elreda-shop-hub .elementor-widget-container {
    min-width: 0;
}
.elreda-shop-hub__intro { margin-bottom: 29px; }
.elreda-shop-hub__breadcrumb { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; font-size: 12px; color: #667085; }
.elreda-shop-hub__breadcrumb a { color: #667085; text-decoration: none; }
.elreda-shop-hub__breadcrumb a:hover { color: #0A55A2; }
.elreda-shop-hub__page-title, .elreda-shop-hub h1.elreda-shop-hub__page-title {
    margin: 0 0 7px; font-size: clamp(26px,3vw,38px); font-weight: 700; line-height: 1.35; color: #061A36;
}
.elreda-shop-hub__description { margin: 0; color: #667085; font-size: 14px; line-height: 1.75; }
.elreda-shop-hub__section { margin: 0 0 42px; padding: 0; }
.elreda-shop-hub__section:last-child { margin-bottom: 0; }
.elreda-shop-hub__heading, .elreda-shop-hub h2.elreda-shop-hub__heading {
    margin: 0 0 17px; color: #061A36; font-size: clamp(20px,2.2vw,26px); font-weight: 700; line-height: 1.4;
}
.elreda-shop-hub__main-grid,
.elreda-shop-hub__sub-grid,
.elreda-shop-hub__brand-grid { display: grid; gap: 14px; }
.elreda-shop-hub__main-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.elreda-shop-hub__sub-grid { grid-template-columns: repeat(5, minmax(0,1fr)); }
.elreda-shop-hub__brand-grid { grid-template-columns: repeat(6, minmax(0,1fr)); }
.elreda-shop-hub__category,
.elreda-shop-hub__brand {
    min-width: 0; display: flex; align-items: center; justify-content: center; flex-direction: column;
    text-align: center; background: #FFFFFF; border: 1px solid #E2E7ED; border-radius: 13px;
    text-decoration: none !important; color: #182230 !important;
    box-shadow: 0 2px 9px rgba(6,26,54,.035); transition: border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.elreda-shop-hub__category:hover,
.elreda-shop-hub__brand:hover { border-color: #B6CCE3; box-shadow: 0 7px 19px rgba(6,26,54,.09); transform: translateY(-2px); }
.elreda-shop-hub__category:focus-visible,
.elreda-shop-hub__brand:focus-visible,
.elreda-shop-hub__subgroup-title a:focus-visible { outline: 2px solid #0A55A2; outline-offset: 3px; }
.elreda-shop-hub__category--main { padding: 16px; min-height: 232px; }
.elreda-shop-hub__category--child { padding: 12px; min-height: 173px; }
.elreda-shop-hub__category-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    overflow: hidden;
    border-radius: 10px;
    background: #FAFBFC;
    margin-bottom: 12px;
    padding: 8px;
}
.elreda-shop-hub__category--main .elreda-shop-hub__category-image { height: 164px; }
.elreda-shop-hub__category--child .elreda-shop-hub__category-image { height: 118px; }

/*
 * IMPORTANT:
 * The PHP now requests the uncropped WordPress "large" derivative rather than
 * WooCommerce's cropped thumbnail. These rules then fit the COMPLETE image
 * inside the card without cutting any edge.
 */
.elreda-shop-hub__category-image img,
.elreda-shop-hub__category-image .elreda-shop-hub__category-img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
}
.elreda-shop-hub__category-name { display: block; font-size: 15px; line-height: 1.55; font-weight: 600; overflow-wrap: anywhere; }
.elreda-shop-hub__category--main .elreda-shop-hub__category-name { font-size: 18px; color: #061A36; }
.elreda-shop-hub__image-fallback {
    display: block; width: 42%; height: 52%; opacity: .46;
    background: linear-gradient(145deg,#E7EDF4,#F2F5F9); border: 1px solid #D8E3ED; border-radius: 16px;
}
.elreda-shop-hub__subgroups { display: flex; flex-direction: column; gap: 27px; }
.elreda-shop-hub__subgroup-title, .elreda-shop-hub h3.elreda-shop-hub__subgroup-title {
    margin: 0 0 13px; font-size: 16px; line-height: 1.5; font-weight: 600; color: #0A55A2;
}
.elreda-shop-hub__subgroup-title a { color: inherit; text-decoration: none; }
.elreda-shop-hub__subgroup-title a:hover { text-decoration: underline; }
.elreda-shop-hub__brand { min-height: 106px; padding: 16px 12px; }
.elreda-shop-hub__brand img { display: block; max-width: 100%; max-height: 65px; width: auto; height: auto; object-fit: contain; }
.elreda-shop-hub__brand-fallback { font-size: 18px; font-weight: 700; line-height: 1.45; color: #061A36; overflow-wrap: anywhere; }
.elreda-shop-hub__empty { color: #667085; font-size: 14px; }
/* Elementor's nested boxed containers must not add extra narrow widths or padding. */
.elreda-shop-hub .elreda-shop-hub__intro,
.elreda-shop-hub .elreda-shop-hub__section { width: 100%; max-width: none; }
@media (min-width: 768px) and (max-width: 1100px) {
    .elreda-shop-hub__main-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .elreda-shop-hub__sub-grid, .elreda-shop-hub__brand-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 767px) {
    .elreda-shop-hub { padding: 19px 12px 105px; }
    .elreda-shop-hub__intro { margin-bottom: 24px; }
    .elreda-shop-hub__section { margin-bottom: 33px; }
    .elreda-shop-hub__main-grid,
    .elreda-shop-hub__sub-grid,
    .elreda-shop-hub__brand-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    .elreda-shop-hub__category--main { min-height: 172px; padding: 10px; }
    .elreda-shop-hub__category--child { min-height: 145px; padding: 9px; }
    .elreda-shop-hub__category--main .elreda-shop-hub__category-image { height: 112px; margin-bottom: 9px; padding: 5px; }
    .elreda-shop-hub__category--child .elreda-shop-hub__category-image { height: 93px; margin-bottom: 8px; padding: 5px; }
    .elreda-shop-hub__category-name, .elreda-shop-hub__category--main .elreda-shop-hub__category-name { font-size: 13px; line-height: 1.55; }
    .elreda-shop-hub__brand { min-height: 92px; padding: 12px; }
    .elreda-shop-hub__brand img { max-height: 50px; }
    .elreda-shop-hub__brand-fallback { font-size: 16px; }
    .elreda-shop-hub__subgroups { gap: 21px; }
}
@media (prefers-reduced-motion: reduce) {
    .elreda-shop-hub__category,.elreda-shop-hub__brand { transition: none; }
}
/* Elementor saved-template widget wrappers: make headings match fallback markup. */
.elreda-shop-hub .elreda-shop-hub__page-title .elementor-heading-title {
    margin: 0 0 7px; color: #061A36;
    font: 700 clamp(26px,3vw,38px)/1.35 "IBM Plex Sans Arabic", Tahoma, Arial, sans-serif;
}
.elreda-shop-hub .elreda-shop-hub__heading .elementor-heading-title {
    margin: 0 0 17px; color: #061A36;
    font: 700 clamp(20px,2.2vw,26px)/1.4 "IBM Plex Sans Arabic", Tahoma, Arial, sans-serif;
}
.elreda-shop-hub .elreda-shop-hub__section > .elementor-element,
.elreda-shop-hub .elreda-shop-hub__intro > .elementor-element { width: 100%; }
.elreda-shop-hub .elreda-shop-hub__section .elementor-widget-heading,
.elreda-shop-hub .elreda-shop-hub__intro .elementor-widget-heading { margin-bottom: 2px; }
.elreda-shop-hub__section > .elementor-widget-heading {
    margin-bottom: 12px !important;
}
