/* Header */
.utility-bar { background: var(--stone-200); color: #4c4b48; font-size: 10px; }
.utility-bar__inner { direction:ltr; display: flex; align-items: center; justify-content: space-between; min-height: 34px; gap: 18px; }
.utility-bar__promises { display: flex; align-items: center; gap: clamp(14px,2.1vw,30px); }
.utility-bar__promises span { display: inline-flex; align-items: center; gap: 5px; }
.utility-bar__meta { display:flex; align-items:center; gap:28px; white-space:nowrap; }
.utility-bar__language { color:#333; font-size:10px; }
.header-main { direction:ltr; display: grid; grid-template-columns: minmax(150px, 235px) minmax(280px, 1fr) auto; align-items: center; gap: clamp(24px,4vw,68px); min-height: 90px; }
.site-branding { width: 100%; }
.brand-mark { display: inline-flex; max-width: 185px; }
.brand-mark img { max-height: 55px; width: auto; object-fit: contain; }
.brand-mark--reference img { width:150px; height:58px; max-height:none; object-fit:contain; mix-blend-mode:multiply; }
.brand-mark--footer { background:#fff; border-radius:2px; }
.brand-wordmark { color: var(--navy); font-family: "DM Sans", sans-serif; font-size: 22px; font-weight: 700; letter-spacing: .12em; }
.header-search { direction:ltr; }
.header-search form { position: relative; }
.header-search input[type="search"] { direction:rtl; width: 100%; min-height: 46px; padding: 10px 56px 10px 16px; border: 1px solid var(--line); border-radius: var(--radius-xs); outline: none; background: var(--white); font-size: 12px; transition: border-color var(--transition), box-shadow var(--transition); }
.header-search input[type="search"]:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(217,166,62,.14); }
.header-search button { position: absolute; right:0; top: 0; width: 48px; height: 46px; border: 0; border-radius:0 var(--radius-xs) var(--radius-xs) 0; background: var(--navy); color: transparent; }
.header-search button::after { content: "⌕"; position: absolute; inset: 0; display: grid; place-items: center; color: var(--white); font-size: 24px; }
.header-actions { direction:ltr; display: flex; align-items: center; gap: clamp(10px,1.7vw,25px); }
.header-action { position: relative; display: grid; place-items: center; gap: 2px; color: var(--ink); font-size: 23px; line-height: 1; }
.header-action small { direction:rtl; font-size: 9px; white-space: nowrap; }
.header-action:hover { color: var(--gold-strong); }
.cart-count, .wishlist-count { position: absolute; inset-inline-start: -6px; top: -7px; display: grid; place-items: center; min-width: 16px; height: 16px; padding: 0 3px; border-radius: 50%; background: var(--gold); color: var(--navy-900); font: 700 9px/1 var(--font-sans); }
.wishlist-count:empty, .wishlist-count[data-empty="true"] { display:none; }
.header-main__mobile { display: none; }
.nav-band { border-top: 1px solid #eeeae4; border-bottom: 1px solid #eeeae4; background: var(--white); }
.nav-band__inner { direction:ltr; display: flex; align-items: stretch; min-height: 53px; }
.department-trigger { display: inline-flex; align-items: center; gap: 12px; min-width: 175px; border: 0; background: var(--navy); color: var(--white); font-weight: 600; }
.primary-nav { direction:rtl; flex: 1; }
.primary-nav__list { display: flex; align-items: stretch; justify-content: flex-start; height: 100%; }
.primary-nav li { position: relative; }
.primary-nav > .primary-nav__list > li > a { display: flex; align-items: center; min-height: 53px; padding: 0 clamp(9px,1.25vw,19px); color: #333; font-size: 11px; font-weight: 500; white-space: nowrap; }
.primary-nav > .primary-nav__list > li > a:hover, .primary-nav > .primary-nav__list > .current-menu-item > a { color: var(--gold-strong); }
/* Configure a menu item's child links in Appearance > Menus. A child menu becomes the desktop mega menu. */
.primary-nav .sub-menu { position: absolute; z-index: 40; inset-inline-start: 0; top: calc(100% - 1px); display: grid; grid-template-columns: repeat(4,minmax(155px,1fr)); width: min(880px,78vw); gap: 8px 22px; padding: 25px; border: 1px solid var(--line); border-top: 3px solid var(--gold); background: var(--white); box-shadow: var(--shadow-lift); opacity: 0; pointer-events: none; transform: translateY(7px); transition: opacity var(--transition), transform var(--transition); }
.primary-nav .menu-item-has-children:hover > .sub-menu, .primary-nav .menu-item-has-children:focus-within > .sub-menu { opacity: 1; pointer-events: auto; transform: translateY(0); }
.primary-nav .sub-menu a { display: block; padding: 8px 0; color: var(--muted); font-size: 12px; }
.primary-nav .sub-menu a:hover { color: var(--navy); }
.mobile-submenu-toggle { display:none; }

/* Homepage */
.homepage-hero { position: relative; min-height: 560px; color: var(--white); background:var(--navy-900); isolation:isolate; }
.homepage-hero::after { content:""; position:absolute; z-index:-1; inset:0 0 0 39%; background-image:linear-gradient(90deg,rgba(8,36,49,.14),rgba(8,36,49,0) 20%),var(--hero-image); background-position:center; background-size:cover; }
.homepage-hero__inner { display: flex; align-items: center; justify-content:flex-end; min-height: 560px; }
.homepage-hero__content { width: min(540px, 46%); padding-block: 80px; text-align:right; }
.homepage-hero h1 { max-width: 500px; margin-bottom: 20px; }
.homepage-hero h1 span { color:var(--gold); }
.homepage-hero .eyebrow { color:rgba(255,255,255,.88); letter-spacing:0; text-transform:none; }
.homepage-hero__content > p:not(.eyebrow) { max-width: 440px; margin-bottom: 30px; color: rgba(255,255,255,.84); font-size: clamp(15px,1.35vw,18px); }
.homepage-hero .button-row { direction:ltr; }
.homepage-hero .button { direction:rtl; }
.homepage-hero__arrow { position:absolute; z-index:2; top:50%; display:grid; place-items:center; width:52px; height:52px; border:1px solid rgba(255,255,255,.75); border-radius:50%; color:var(--white); font:300 42px/.8 Arial,sans-serif; transform:translateY(-50%); transition:background var(--transition),color var(--transition); }
.homepage-hero__arrow:hover { background:var(--gold); color:var(--navy-900); }
.homepage-hero__arrow--previous { left:clamp(16px,3vw,48px); }
.homepage-hero__arrow--next { right:clamp(16px,3vw,48px); }
.category-ribbon { position: relative; z-index: 3; margin-top: -45px; }
.category-ribbon__grid { display: grid; grid-template-columns: repeat(9,1fr); gap: 1px; padding: 10px; border-radius: var(--radius-md); background: rgba(255,255,255,.96); box-shadow: var(--shadow-lift); }
.category-card { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; min-height: 135px; padding: 12px 6px; border-radius: var(--radius-sm); color: var(--navy); font-size: 11px; font-weight: 600; text-align: center; overflow: hidden; transition: background var(--transition), color var(--transition), transform var(--transition); }
.category-card img { width: 58px; height: 58px; border-radius: 50%; object-fit: cover; filter: saturate(.8); }
.category-card i { position: absolute; bottom: 10px; opacity: 0; font-style: normal; transition: opacity var(--transition); }
.category-card:hover { background: var(--navy); color: var(--white); transform: translateY(-3px); }
.category-card:hover i { opacity: 1; }
.category-card--all { background:var(--navy); color:var(--white); }
.category-card--all:hover { background:var(--navy-900); }
.category-card__all-icon { display:grid; place-items:center; width:58px; height:58px; border:1px solid rgba(255,255,255,.3); border-radius:8px; font-size:29px; }
.trust-strip { margin-top: 18px; background:transparent; }
.trust-strip__grid { display: grid; grid-template-columns: repeat(4,1fr); border-radius:0 0 var(--radius-sm) var(--radius-sm); background:#f5f2ed; }
.trust-strip__grid > div { display: flex; align-items: center; gap: 12px; min-height: 70px; padding: 11px 24px; border-inline-start: 1px solid #dfdad2; }
.trust-strip__grid > div:first-child { border-inline-start: 0; }
.trust-strip__grid span { color: var(--navy); font-size: 26px; }
.trust-strip__grid p { display: grid; font-size: 10px; line-height: 1.6; color: var(--muted); }
.trust-strip__grid strong { color: var(--ink); font-size: 12px; }
.product-section, .offer-section, .brand-section { padding-top: clamp(52px,6vw,90px); }
.reference-section-head { direction:ltr; display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.reference-section-head h2 { color:var(--navy); font-size:clamp(22px,2.1vw,32px); }
.reference-section-head__all { color:#57544e; font-size:11px; }
.reference-section-head__all:hover { color:var(--gold-strong); }
.product-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--grid-gap); }
.product-grid--five { grid-template-columns:repeat(5, minmax(0,1fr)); }
.hammam-product-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid #ebe8e3; border-radius: var(--radius-sm); background: var(--white); overflow: hidden; transition: box-shadow var(--transition), transform var(--transition); }
.hammam-product-card:hover { box-shadow: var(--shadow-card); transform: translateY(-4px); }
.product-card__media { position: relative; aspect-ratio: .98; background: #f1efec; overflow: hidden; }
.product-card__media > a, .product-card__media img { display: block; width: 100%; height: 100%; }
.product-card__media img { object-fit: cover; mix-blend-mode: multiply; transition: transform 400ms ease; }
.hammam-product-card:hover .product-card__media img { transform: scale(1.045); }
.product-card__badge { position: absolute; top: 12px; inset-inline-start: 12px; padding: 5px 8px; border-radius: 2px; background: var(--gold); color: var(--navy-900); font-size: 9px; font-weight: 700; }
.product-card__wish { position: absolute; top: 9px; inset-inline-end: 9px; display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(255,255,255,.96); color: var(--navy); cursor:pointer; font:400 25px/.8 Arial,sans-serif; transition: color var(--transition), background var(--transition), transform var(--transition); }
.product-card__wish:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.product-card__wish:active { transform:scale(.92); }
.product-card__wish.is-saved, .product-card__wish:hover { background: var(--navy); color: var(--gold); }
.product-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 16px; }
.product-card__body .eyebrow { margin-bottom: 5px; color: #8b7655; font-size: 9px; }
.product-card__body h3 { min-height: 40px; font-size: 13px; line-height: 1.55; }
.product-card__body h3 a:hover { color: var(--navy); }
.product-card__rating { min-height: 21px; margin-top: 7px; color: var(--gold); font-size: 11px; }
.product-card__price { margin-top: auto; padding-top: 6px; color: var(--navy); font-size: 14px; font-weight: 700; }
.product-card__price del { color: #98948d; font-size: 10px; font-weight: 400; }
.product-card__body .button { width: 100%; min-height: 40px; margin-top: 13px; padding: 8px 12px; background: transparent; border: 1px solid var(--navy); color: var(--navy); font-size: 11px; }
.product-card__body .button:hover { background: var(--navy); color: var(--white); }
.hammam-product-card--reference .product-card__body { min-height:150px; }
.hammam-product-card--reference .product-card__body h3 { min-height:auto; }
.empty-product-state { display: grid; gap: 15px; place-items: center; min-height: 200px; border: 1px dashed var(--line); background: var(--white); color: var(--muted); text-align: center; }
.offer-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--grid-gap); }
.offer-banner { position:relative; display:block; aspect-ratio:1.54; border-radius:var(--radius-sm); background:var(--navy); color:var(--white); overflow:hidden; box-shadow:var(--shadow-card); transition:transform var(--transition),box-shadow var(--transition); }
.offer-banner:hover { box-shadow:var(--shadow-lift); transform:translateY(-3px); }
.offer-banner img { width:100%; height:100%; object-fit:cover; }
.offer-banner__copy { position:absolute; inset:0 auto 0 0; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; width:54%; padding:clamp(18px,2.25vw,32px); color:var(--white); direction:rtl; text-align:right; }
.offer-banner__copy > span, .offer-banner__copy strong { display:block; width:100%; }
.offer-banner__title { margin-bottom:2px; color:rgba(255,255,255,.95); font-size:clamp(11px,1vw,15px); font-weight:500; }
.offer-banner__copy strong { margin-bottom:3px; color:var(--gold); font-family:"DM Sans",var(--font-sans); font-size:clamp(28px,3.2vw,52px); line-height:.95; letter-spacing:-.04em; }
.offer-banner__copy > span:not(.offer-banner__title) { font-size:clamp(11px,1.05vw,16px); }
.offer-banner__copy em { display:inline-flex; margin-top:clamp(10px,1.2vw,17px); padding:8px 12px; background:var(--gold); color:var(--navy-900); font-size:10px; font-style:normal; font-weight:700; }
.brand-section { padding-bottom: clamp(55px,6vw,90px); }
.brand-grid { display: grid; grid-template-columns: repeat(8,1fr); gap: 12px; }
.brand-grid a { display:block; overflow:hidden; border-radius:var(--radius-sm); background:var(--white); box-shadow:0 2px 9px rgba(18,35,43,.04); transition:box-shadow var(--transition),transform var(--transition); }
.brand-grid img { width:100%; height:auto; }
.brand-grid a:hover { box-shadow:var(--shadow-card); transform:translateY(-3px); }
.studio-section { position: relative; min-height: 370px; color: var(--white); background: linear-gradient(270deg,rgba(5,32,46,.96),rgba(5,32,46,.75) 42%,rgba(5,32,46,.12)),var(--studio-image); background-position: center; background-size: cover; }
.studio-section__inner { display: flex; align-items: center; min-height: 370px; }
.studio-section__copy { max-width: 460px; padding-block: 55px; }
.studio-section__copy h2 { margin-bottom: 15px; font-family: "DM Sans",var(--font-sans); letter-spacing: .03em; }
.studio-section__copy > p:not(.eyebrow) { margin-bottom: 26px; color: rgba(255,255,255,.8); }

/* About HAMMAM page — title, featured image and story remain editable in WordPress. */
.about-hero { position:relative; min-height:390px; color:var(--white); background:linear-gradient(90deg,rgba(7,35,50,.96),rgba(7,35,50,.66) 47%,rgba(7,35,50,.1)),var(--about-image); background-position:center; background-size:cover; }
.about-hero__inner { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-height:390px; }
.about-hero h1 { max-width:550px; margin-bottom:14px; color:var(--white); }
.about-hero__inner > p:last-child { max-width:470px; color:rgba(255,255,255,.83); font-size:15px; }
.about-intro { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr); gap:clamp(30px,9vw,150px); padding-block:clamp(60px,8vw,120px); }
.about-intro__label h2 { color:var(--navy); }
.about-intro__copy { max-width:640px; color:#4c4a46; font-size:15px; line-height:2; }
.about-intro__copy p + p { margin-top:17px; }
.about-values { background:var(--stone-200); }
.about-values__grid { display:grid; grid-template-columns:repeat(3,1fr); }
.about-values article { min-height:250px; padding:40px; border-inline-start:1px solid #dcd6cd; }
.about-values article:first-child { border-inline-start:0; }
.about-values span { display:block; margin-bottom:32px; color:var(--gold-strong); font:600 12px "DM Sans",sans-serif; letter-spacing:.1em; }
.about-values h3 { margin-bottom:11px; color:var(--navy); font-size:18px; }
.about-values p { max-width:270px; color:var(--muted); font-size:12px; }
.about-brands { padding-top:clamp(60px,8vw,110px); }
.about-cta { margin-top:clamp(60px,8vw,110px); padding-block:60px; background:var(--navy-900); color:var(--white); }
.about-cta__inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.about-cta h2 { margin-bottom:10px; color:var(--white); }
.about-cta p { color:rgba(255,255,255,.75); font-size:13px; }

/* Footer */
.site-footer { margin-top: 88px; background: var(--navy-900); color: rgba(255,255,255,.75); }
.footer-grid { display: grid; grid-template-columns: 1.45fr 1fr 1fr 1.25fr; gap: 50px; padding-block: 65px 45px; }
.footer-brand { max-width: 250px; }
.brand-wordmark--light { display: inline-block; margin-bottom: 15px; color: var(--gold); }
.footer-brand .custom-logo-link, .footer-brand .brand-mark--reference { display:inline-flex; width:150px; margin-bottom:15px; }
.footer-brand p { margin-bottom: 16px; font-size: 12px; }
.footer-brand > a:last-child { color: var(--white); font: 600 15px "DM Sans",sans-serif; }
.site-footer h2 { margin-bottom: 16px; color: var(--white); font-size: 14px; }
.site-footer li + li { margin-top: 8px; }
.site-footer li a, .site-footer p { font-size: 11px; }
.site-footer li a:hover { color: var(--gold); }
.newsletter-form { display: flex; margin-top: 15px; }
.newsletter-form input { min-width: 0; flex: 1; height: 42px; border: 1px solid rgba(255,255,255,.22); border-inline-end: 0; padding: 8px 12px; background: transparent; color: var(--white); outline: none; }
.newsletter-form input:focus { border-color: var(--gold); }
.newsletter-form button { height: 42px; border: 0; padding: 0 12px; background: var(--gold); color: var(--navy-900); font-size: 11px; font-weight: 700; }
.footer-social { display: flex; gap: 10px; margin-top: 20px; }
.footer-social a { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: var(--white); font-size: 10px; }
.footer-social a:hover { border-color: var(--gold); color: var(--gold); }
.footer-bottom { display: flex; justify-content: space-between; gap: 15px; padding-block: 20px; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.52); font-size: 10px; }

@media (max-width: 1100px) { .header-main { grid-template-columns: 170px 1fr auto; gap: 24px; } .header-actions { gap: 13px; } .primary-nav > .primary-nav__list > li > a { padding-inline: 9px; } .category-ribbon__grid { grid-template-columns: repeat(5,1fr); } .category-card { min-height: 115px; flex-direction: row; justify-content: center; } .category-card img { width: 46px; height: 46px; } .product-grid--five { grid-template-columns:repeat(3,1fr); } .brand-grid { grid-template-columns: repeat(4,1fr); } }
@media (max-width: 820px) { .utility-bar__promises span:not(:first-child) { display: none; } .header-main { grid-template-columns: auto 1fr auto; min-height: 72px; gap: 14px; } .header-main__mobile { display: block; } .icon-button { display:grid; place-items:center; width:40px; height:40px; border:0; background:transparent; color:var(--navy); font-size:25px; } .brand-mark img { max-height: 43px; } .brand-mark--reference img { width:128px; height:auto; } .header-search { display: none; } .nav-band { position: relative; } .nav-band__inner { min-height: 0; } .department-trigger { display: none; } .primary-nav { position: absolute; z-index: 50; top: 100%; inset-inline: 0; display: none; max-height: calc(100vh - 105px); overflow-y: auto; border-bottom: 1px solid var(--line); background: var(--white); box-shadow: var(--shadow-lift); } .primary-nav.is-open { display: block; } .primary-nav__list { display: block; height: auto; padding: 9px var(--gutter) 16px; } .primary-nav > .primary-nav__list > li { display:grid; grid-template-columns:1fr auto; border-bottom: 1px solid #efede8; } .primary-nav > .primary-nav__list > li > a { min-height: 46px; } .primary-nav .sub-menu { grid-column:1 / -1; position: static; display: none; width: auto; grid-template-columns: 1fr 1fr; padding: 0 14px 12px; border: 0; box-shadow: none; opacity: 1; pointer-events: auto; transform: none; } .primary-nav .menu-item-has-children.is-expanded > .sub-menu { display: grid; } .mobile-submenu-toggle { display:grid; place-items:center; width:46px; border:0; background:transparent; color:var(--navy); font-size:18px; } .mobile-submenu-toggle[aria-expanded="true"] { color:var(--gold-strong); } .homepage-hero, .homepage-hero__inner { min-height: 510px; } .homepage-hero__content { width: min(570px,100%); padding-top: 120px; } .homepage-hero::after { inset-inline-start:0; background-image:linear-gradient(90deg,rgba(7,35,50,.84),rgba(7,35,50,.38)),var(--hero-image); } .product-grid, .product-grid--five { grid-template-columns: repeat(2,1fr); } .offer-grid { grid-template-columns: 1fr; } .offer-banner { min-height: 210px; } .about-intro { grid-template-columns:1fr; gap:22px; padding-block:55px; } .about-values__grid { grid-template-columns:1fr; } .about-values article { min-height:0; padding:28px 0; border-inline-start:0; border-top:1px solid #dcd6cd; } .about-values article:first-child { border-top:0; } .about-values span { margin-bottom:12px; } .about-cta__inner { align-items:flex-start; flex-direction:column; } .footer-grid { grid-template-columns: 1.3fr 1fr; gap: 36px; } }
@media (max-width: 560px) { .utility-bar__inner { min-height: 30px; font-size: 8px; } .header-main { grid-template-columns: 40px 1fr auto; } .site-branding { text-align: center; } .brand-mark img { max-width: 130px; max-height: 38px; } .brand-wordmark { font-size: 18px; } .header-action { font-size: 20px; } .header-actions { gap: 8px; } .header-action small, .header-action:not(.header-action--cart) { display: none; } .header-action--cart { display: grid; } .homepage-hero, .homepage-hero__inner { min-height: 500px; } .homepage-hero { background-position: 60% center; } .homepage-hero h1 { font-size: 40px; } .category-ribbon { margin-top: -25px; } .category-ribbon__grid { grid-template-columns: repeat(2,1fr); padding: 8px; } .category-card { min-height: 80px; justify-content: flex-start; padding: 9px; font-size: 10px; } .category-card i { display:none; } .trust-strip { margin-top: 22px; } .trust-strip__grid { grid-template-columns: repeat(2,1fr); } .trust-strip__grid > div { min-height: 76px; padding: 10px 6px; gap: 7px; } .trust-strip__grid > div:nth-child(3) { border-inline-start: 0; } .trust-strip__grid span { font-size: 20px; } .trust-strip__grid strong { font-size: 10px; } .trust-strip__grid p { font-size: 8px; } .product-section,.offer-section,.brand-section { padding-top: 46px; } .product-grid { gap: 10px; } .product-card__body { padding: 11px; } .product-card__body h3 { min-height: 39px; font-size: 11px; } .product-card__body .button { min-height: 36px; margin-top: 9px; font-size: 9px; } .product-card__price { font-size: 12px; } .product-card__rating { display:none; } .offer-banner { min-height: 190px; padding: 22px; } .brand-grid { grid-template-columns: repeat(2,1fr); gap: 9px; } .brand-grid a { min-height: 63px; } .studio-section,.studio-section__inner { min-height: 380px; } .studio-section { background-image: linear-gradient(90deg,rgba(5,32,46,.93),rgba(5,32,46,.63)),var(--studio-image); } .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 20px; padding-block: 45px 35px; } .footer-brand { grid-column: span 2; } .footer-bottom { flex-direction: column; padding-block: 15px; } }

@media (max-width: 560px) { .offer-banner { padding:0; } .offer-banner__copy { width:60%; padding:20px; } }
