/*
 * Albalad by Thimar 2.2.12
 * Modern neighborhood market. Fresh, clear, warm, and trustworthy.
 */
:root {
  --albalad-charcoal: #2e3234;
  --albalad-fresh-green: #24513d;
  --albalad-forest-green: #24513d;
  --albalad-forest-dark: #2e3234;
  --albalad-grocery-orange: #b96545;
  --albalad-action-orange: #b96545;
  --albalad-action-dark: #2e3234;
  --albalad-wheat-gold: #d5a13e;
  --albalad-warm-ivory: #fffff3;
  --albalad-white: #fff;
  --albalad-border: rgba(46, 50, 52, .14);
  --albalad-text: #24513d;
  --albalad-copy: #2e3234;
  --albalad-muted: rgba(46, 50, 52, .72);
  --albalad-error: #b96545;
  --albalad-success: #24513d;
  --albalad-shadow-soft: 0 18px 50px rgba(46, 50, 52, .09);
  --albalad-shadow-card: 0 12px 32px rgba(46, 50, 52, .11);
  --albalad-radius-sm: 10px;
  --albalad-radius-md: 16px;
  --albalad-radius-lg: 24px;
  --albalad-container: 1280px;
  --albalad-font-ui: Montserrat, "Segoe UI", Arial, sans-serif;
  --albalad-font-arabic: Cairo, "Noto Sans Arabic", Tahoma, Arial, sans-serif;
}

/* Base */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-wrap: break-word; background: var(--albalad-warm-ivory); color: var(--albalad-copy); font-family: var(--albalad-font-ui); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img, picture { display: block; max-width: 100%; }
img { height: auto; }
a { color: var(--albalad-forest-green); text-decoration: none; }
a:hover { color: var(--albalad-action-orange); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 .55em; color: var(--albalad-forest-green); font-family: var(--albalad-font-ui); font-weight: 800; line-height: 1.14; letter-spacing: -.025em; }
p { margin: 0 0 1em; }
ul, ol { padding-inline-start: 1.3em; }
.site { overflow: clip; }
.container { width: min(calc(100% - 64px), var(--albalad-container)); margin-inline: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus, .skip-link:focus { z-index: 10000; width: auto; height: auto; clip: auto; padding: 12px 18px; margin: 8px; background: var(--albalad-white); border: 2px solid var(--albalad-action-orange); border-radius: var(--albalad-radius-sm); color: var(--albalad-forest-green); font-weight: 800; }
svg { width: 1.5em; height: 1.5em; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
svg .fill { fill: currentColor; stroke: none; }
:focus-visible { outline: 3px solid rgba(185, 101, 69, .44); outline-offset: 3px; }

.button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .wp-element-button {
  display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 9px; padding: 12px 21px; border: 1px solid transparent; border-radius: var(--albalad-radius-sm); background: var(--albalad-action-orange); color: var(--albalad-white); font-size: 15px; font-weight: 800; line-height: 1.2; text-align: center; transition: transform .16s ease, background .16s ease, box-shadow .16s ease;
}
.button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover, .wp-element-button:hover { background: var(--albalad-action-dark); color: var(--albalad-white); box-shadow: 0 8px 22px rgba(185, 101, 69, .2); transform: translateY(-1px); }
.button--outline { background: transparent; border-color: var(--albalad-forest-green); color: var(--albalad-forest-green); }
.button--outline:hover { background: var(--albalad-forest-green); color: var(--albalad-white); }
.button--light { background: var(--albalad-white); color: var(--albalad-forest-green); }
.button--light:hover { background: var(--albalad-warm-ivory); color: var(--albalad-forest-green); }
.text-link { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; min-height: 44px; color: var(--albalad-forest-green); font-size: 14px; font-weight: 800; }
.text-link svg { width: 18px; }
.text-link:hover { color: var(--albalad-action-orange); }

/* Header */
.announcement-bar { background: var(--albalad-forest-dark); color: var(--albalad-white); font-size: 13px; }
.announcement-bar__inner { display: flex; min-height: 38px; align-items: center; justify-content: center; gap: 12px; text-align: center; }
.announcement-bar p { margin: 0; }
.announcement-bar a { color: #ffdab0; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.site-header { position: relative; z-index: 100; background: rgba(255, 255, 243, .98); border-bottom: 1px solid var(--albalad-border); }
.has-sticky-header .site-header { position: sticky; top: 0; backdrop-filter: blur(10px); }
.admin-bar.has-sticky-header .site-header { top: 32px; }
.header-main__inner { display: grid; min-height: 102px; grid-template-columns: 126px minmax(300px, 1fr) auto; align-items: center; gap: 28px; }
.site-branding, .custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { width: 108px; height: 88px; object-fit: contain; }
.header-search { position: relative; width: 100%; max-width: 650px; justify-self: center; }
.product-search-form { display: flex; min-height: 52px; align-items: center; overflow: hidden; background: var(--albalad-white); border: 1px solid var(--albalad-border); border-radius: 14px; box-shadow: 0 4px 16px rgba(36, 81, 61, .04); }
.product-search-form:focus-within { border-color: var(--albalad-fresh-green); box-shadow: 0 0 0 4px rgba(36, 81, 61, .13); }
.product-search-form__icon { display: inline-flex; margin-inline-start: 15px; color: var(--albalad-fresh-green); }
.product-search-form input[type="search"] { min-width: 0; height: 50px; flex: 1; padding: 0 12px; border: 0; outline: 0; background: transparent; color: var(--albalad-copy); }
.product-search-form__clear { display: grid; width: 40px; height: 40px; flex: 0 0 auto; place-items: center; padding: 0; border: 0; background: transparent; color: var(--albalad-muted); }
.product-search-form__clear[hidden] { display: none; }
.product-search-form__clear svg { width: 18px; }
.product-search-form__submit { min-width: 94px; align-self: stretch; padding-inline: 18px; border: 0; background: var(--albalad-forest-green); color: var(--albalad-white); font-size: 14px; font-weight: 800; }
.product-search-form__submit:hover { background: var(--albalad-forest-dark); }
.live-search-results { position: absolute; inset-inline: 0; top: calc(100% + 8px); z-index: 130; max-height: min(520px, 70vh); overflow-y: auto; padding: 8px; background: var(--albalad-white); border: 1px solid var(--albalad-border); border-radius: 14px; box-shadow: var(--albalad-shadow-card); }
.live-search-results[hidden] { display: none; }
.live-search-result { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 74px; padding: 8px; border-radius: 10px; }
.live-search-result:hover, .live-search-result:focus { background: var(--albalad-warm-ivory); color: var(--albalad-forest-green); }
.live-search-result img { width: 58px; height: 58px; object-fit: contain; border-radius: 8px; background: #faf8f2; }
.live-search-result__copy { min-width: 0; }
.live-search-result__copy strong { display: block; overflow: hidden; color: var(--albalad-forest-green); font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.live-search-result__copy small { display: block; overflow: hidden; color: var(--albalad-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.search-stock { display: inline-flex; align-items: center; gap: 4px; color: var(--albalad-success); font-size: 10px; font-weight: 800; }
.search-stock.is-out { color: var(--albalad-error); }
.live-search-result > .price { color: var(--albalad-action-orange); font-size: 13px; font-weight: 900; white-space: nowrap; }
.live-search-status, .live-search-all { display: block; min-height: 46px; padding: 12px; color: var(--albalad-muted); text-align: center; font-size: 13px; }
.live-search-status.is-loading::before { display: inline-block; width: 14px; height: 14px; margin-inline-end: 8px; border: 2px solid var(--albalad-border); border-top-color: var(--albalad-fresh-green); border-radius: 50%; content: ""; animation: albalad-spin .8s linear infinite; }
.live-search-all { border-top: 1px solid var(--albalad-border); color: var(--albalad-forest-green); font-weight: 800; }
@keyframes albalad-spin { to { transform: rotate(360deg); } }
.header-actions { display: flex; align-items: center; gap: 4px; }
.header-action { position: relative; display: flex; min-height: 52px; align-items: center; gap: 8px; padding: 7px 9px; border-radius: 12px; color: var(--albalad-forest-green); }
.header-action:hover { background: var(--albalad-white); color: var(--albalad-forest-green); }
.header-action__icon { display: inline-flex; }
.header-action__icon svg { width: 25px; height: 25px; }
.header-action__copy { display: flex; flex-direction: column; font-size: 10px; line-height: 1.2; }
.header-action__copy strong { margin-top: 3px; font-size: 11px; white-space: nowrap; }
.header-optional { width: 44px; justify-content: center; }
.cart-count { position: absolute; inset-inline-start: 27px; top: 1px; display: grid; min-width: 20px; height: 20px; place-items: center; padding: 0 5px; border: 2px solid var(--albalad-warm-ivory); border-radius: 999px; background: var(--albalad-grocery-orange); color: var(--albalad-white); font-size: 10px; font-weight: 900; }
.mobile-menu-toggle, .mobile-search, .mobile-navigation { display: none; }
.navigation-row { background: var(--albalad-white); border-top: 1px solid var(--albalad-border); }
.navigation-row__inner { display: flex; min-height: 48px; align-items: stretch; justify-content: space-between; gap: 26px; }
.category-navigation { position: relative; flex: 0 0 auto; }
.category-menu, .primary-menu { display: flex; height: 100%; align-items: center; gap: clamp(14px, 1.6vw, 26px); margin: 0; padding: 0; list-style: none; }
.category-menu > li { position: relative; display: flex; height: 100%; align-items: center; }
.category-menu__link, .primary-menu a { display: flex; min-height: 48px; align-items: center; color: var(--albalad-forest-green); font-size: 12px; font-weight: 800; white-space: nowrap; }
.category-menu__toggle { display: grid; width: 28px; height: 44px; place-items: center; padding: 0; border: 0; background: transparent; color: var(--albalad-fresh-green); }
.category-menu__toggle svg { width: 15px; transition: transform .16s ease; }
.category-menu__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.category-menu__labels { position: absolute; inset-inline-start: 0; top: calc(100% - 2px); z-index: 120; min-width: 180px; padding: 8px; background: var(--albalad-white); border: 1px solid var(--albalad-border); border-radius: 11px; box-shadow: var(--albalad-shadow-card); }
.category-menu__labels[hidden] { display: none; }
.category-menu__labels a { display: block; min-height: 42px; padding: 9px 11px; border-radius: 8px; color: var(--albalad-forest-green); font-size: 14px; }
.category-menu__labels a[lang="ar"] { font-family: var(--albalad-font-arabic); font-size: 16px; }
.category-menu__labels a:hover, .category-menu__labels a:focus { background: var(--albalad-warm-ivory); }
.category-dropdown { position: relative; display: flex; height: 100%; align-items: center; }
.category-dropdown__toggle { display: flex; min-height: 40px; align-items: center; gap: 10px; padding: 8px 15px; border: 0; border-radius: 12px; background: var(--albalad-forest-green); color: var(--albalad-white); font-size: 12px; font-weight: 900; white-space: nowrap; box-shadow: 0 7px 18px rgba(36, 81, 61, .14); }
.category-dropdown__toggle:hover, .category-dropdown__toggle:focus-visible { background: var(--albalad-action-orange); color: var(--albalad-white); }
.category-dropdown__menu-icon, .category-dropdown__chevron { display: inline-flex; }
.category-dropdown__menu-icon svg { width: 18px; height: 18px; }
.category-dropdown__chevron svg { width: 14px; height: 14px; transition: transform .18s ease; }
.category-dropdown__toggle[aria-expanded="true"] .category-dropdown__chevron svg { transform: rotate(180deg); }
.category-dropdown__panel { position: absolute; inset-inline-start: 0; top: calc(100% + 8px); z-index: 135; width: min(780px, calc(100vw - 40px)); max-height: min(70vh, 560px); overflow-y: auto; padding: 20px; border: 1px solid var(--albalad-border); border-radius: 18px; background: var(--albalad-white); box-shadow: 0 24px 60px rgba(36, 81, 61, .2); }
.category-dropdown__panel[hidden] { display: none; }
.category-dropdown__heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0 4px 14px; border-bottom: 1px solid var(--albalad-border); }
.category-dropdown__heading strong { color: var(--albalad-forest-green); font-size: 17px; }
.category-dropdown__heading a { display: inline-flex; align-items: center; gap: 6px; color: var(--albalad-action-orange); font-size: 12px; font-weight: 900; }
.category-dropdown__heading a svg { width: 16px; }
.category-dropdown__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.category-dropdown__grid a { display: flex; min-height: 58px; flex-direction: column; justify-content: center; gap: 3px; padding: 9px 11px; border-radius: 10px; color: var(--albalad-forest-green); }
.category-dropdown__grid a:hover, .category-dropdown__grid a:focus { background: var(--albalad-warm-ivory); }
.category-dropdown__grid strong { font-size: 13px; line-height: 1.25; }
.category-dropdown__grid span { overflow: hidden; color: var(--albalad-muted); font-family: var(--albalad-font-arabic), var(--albalad-font); font-size: 11px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.primary-navigation { min-width: 0; flex: 1; }
.primary-menu { justify-content: flex-end; }
.primary-menu a:hover, .primary-menu .current-menu-item > a { color: var(--albalad-action-orange); }
.primary-menu .menu-item-has-children { position: relative; }
.primary-menu .sub-menu { position: absolute; inset-inline-end: 0; top: 100%; display: none; min-width: 220px; margin: 0; padding: 8px; background: var(--albalad-white); border: 1px solid var(--albalad-border); border-radius: 11px; box-shadow: var(--albalad-shadow-card); list-style: none; }
.primary-menu .menu-item-has-children:hover > .sub-menu, .primary-menu .menu-item-has-children:focus-within > .sub-menu { display: block; }
.primary-menu .sub-menu a { min-height: 42px; padding: 8px 10px; border-radius: 8px; }

/* Hero */
.hero { padding: 24px 0 8px; }
.hero__frame { position: relative; }
.hero__slides { position: relative; min-height: clamp(500px, 43vw, 610px); overflow: hidden; border-radius: var(--albalad-radius-lg); background: var(--albalad-forest-green); box-shadow: var(--albalad-shadow-soft); }
.hero-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; pointer-events: none; transform: translateX(-5%); transition: opacity .65s ease, transform .65s cubic-bezier(.22, .61, .36, 1), visibility .65s ease; will-change: opacity, transform; }
.hero[data-direction="backward"] .hero-slide { transform: translateX(5%); }
.hero-slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(0); }
.hero-slide__content { position: relative; z-index: 2; display: flex; min-height: clamp(500px, 43vw, 610px); max-width: 760px; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(48px, 6vw, 88px) clamp(34px, 7vw, 96px) 104px; color: var(--albalad-white); }
.hero-slide--center .hero-slide__content { align-items: center; text-align: center; }
.hero-slide__eyebrow { display: inline-flex; margin-bottom: 18px; padding: 8px 13px; border: 1px solid rgba(255, 255, 255, .46); border-radius: 999px; background: rgba(36, 81, 61, .38); color: var(--albalad-warm-ivory); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(8px); }
.hero-slide h1, .hero-slide h2 { max-width: 680px; margin-bottom: 18px; color: var(--albalad-white); font-size: clamp(42px, 5vw, 64px); text-shadow: 0 3px 20px rgba(0, 0, 0, .28); }
.hero-slide p { max-width: 580px; margin-bottom: 28px; color: rgba(255, 255, 255, .92); font-size: clamp(16px, 1.8vw, 19px); text-shadow: 0 2px 12px rgba(0, 0, 0, .38); }
.hero-slide__media { position: absolute; inset: 0; overflow: hidden; }
.hero-slide__media picture, .hero-slide__media picture img { width: 100%; height: 100%; }
.hero-slide__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.025); transition: transform 5s linear; }
.hero-slide.is-active .hero-slide__media img { transform: scale(1.075); }
.hero-slide__media::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(36, 81, 61, .94) 0%, rgba(36, 81, 61, .8) 34%, rgba(36, 81, 61, .28) 66%, rgba(36, 81, 61, .08) 100%), linear-gradient(0deg, rgba(46, 50, 52, .4), transparent 48%); content: ""; pointer-events: none; }
.hero-slide--2 .hero-slide__media img { object-position: center 55%; }
.hero-slide--4 .hero-slide__media img { object-position: center 58%; }
.hero-slide--5 .hero-slide__media img { object-position: center 54%; }
.hero__controls { position: absolute; z-index: 5; inset-inline-start: clamp(34px, 5vw, 70px); bottom: 24px; display: flex; align-items: center; gap: 12px; }
.hero__arrow { display: grid; width: 42px; height: 42px; place-items: center; padding: 0; border: 1px solid rgba(255, 255, 255, .32); border-radius: 50%; background: rgba(46, 50, 52, .5); color: var(--albalad-white); backdrop-filter: blur(8px); }
.hero__arrow:hover { background: var(--albalad-white); color: var(--albalad-forest-green); }
.hero__dots { display: flex; gap: 7px; }
.hero__dots button { width: 25px; height: 6px; padding: 0; border: 0; border-radius: 99px; background: rgba(255, 255, 255, .42); transition: width .16s ease, background .16s ease; }
.hero__dots button.is-active { width: 42px; background: var(--albalad-white); }

/* Home sections */
.home-section { padding: clamp(52px, 6vw, 82px) 0; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.section-heading__eyebrow, .page-kicker { display: block; margin-bottom: 8px; color: var(--albalad-action-orange); font-size: 12px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.section-heading h2 { margin: 0; font-size: clamp(30px, 3.5vw, 40px); }
.category-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.category-card { position: relative; min-width: 0; overflow: visible; background: var(--albalad-white); border: 1px solid var(--albalad-border); border-radius: var(--albalad-radius-md); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.category-card:hover, .category-card:focus-within { border-color: #bad1b9; box-shadow: var(--albalad-shadow-card); transform: translateY(-3px); }
.category-card__main { display: flex; min-height: 100%; flex-direction: column; align-items: center; padding: 12px 12px 14px; text-align: center; }
.category-card__image { display: grid; width: 100%; aspect-ratio: 1.32; margin-bottom: 13px; overflow: hidden; place-items: center; border-radius: 12px; background: #f7f4ed; }
.category-card__image img { width: 100%; height: 100%; object-fit: contain; }
.category-card__placeholder { display: grid; width: 100%; height: 100%; place-items: center; background: linear-gradient(145deg, #eaf3e5, #fff6df); color: var(--albalad-fresh-green); }
.category-card__placeholder svg { width: 50px; height: 50px; }
.category-card__name { color: var(--albalad-forest-green); font-size: 15px; font-weight: 800; line-height: 1.3; }
.category-card__count { margin-top: 3px; color: var(--albalad-muted); font-size: 11px; }
.category-card__toggle { display: flex; width: calc(100% - 20px); min-height: 38px; align-items: center; justify-content: center; gap: 5px; margin: 0 10px 10px; padding: 7px 10px; border: 0; border-top: 1px solid var(--albalad-border); background: transparent; color: var(--albalad-fresh-green); font-size: 11px; font-weight: 900; letter-spacing: .04em; }
.category-card__toggle svg { width: 14px; transition: transform .16s ease; }
.category-card__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.category-card__labels { position: absolute; inset-inline-start: 0; top: calc(100% + 4px); z-index: 50; display: grid; width: max-content; min-width: 210px; max-width: min(280px, calc(100vw - 28px)); gap: 7px; padding: 9px; background: var(--albalad-white); border: 1px solid #c8d7c5; border-radius: 15px; box-shadow: 0 18px 42px rgba(36, 81, 61, .16); }
.category-card__labels[hidden] { display: none; }
.category-card__labels a { display: grid; min-height: 46px; grid-template-columns: 30px minmax(0, 1fr); align-items: center; gap: 9px; padding: 8px 10px; border: 1px solid #e4ebe1; border-radius: 10px; color: var(--albalad-forest-green); text-align: start; }
.category-card__labels a small { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #eaf3e5; color: var(--albalad-forest-green); font-size: 9px; font-weight: 900; letter-spacing: .04em; }
.category-card__labels a strong { min-width: 0; font-size: 14px; font-weight: 750; line-height: 1.35; }
.category-card__labels a[lang="ar"] { direction: rtl; font-family: var(--albalad-font-arabic); }
.category-card__labels a[lang="ar"] strong { font-size: 17px; line-height: 1.5; }
.category-card__labels a:hover, .category-card__labels a:focus { background: var(--albalad-warm-ivory); }
[data-category-labels][data-labels-align="end"] .category-card__labels,
[data-category-labels][data-labels-align="end"] .category-menu__labels { inset-inline-start: auto; inset-inline-end: 0; }
[data-category-labels][data-labels-align="start"] .category-card__labels,
[data-category-labels][data-labels-align="start"] .category-menu__labels { inset-inline-start: 0; inset-inline-end: auto; }

.product-section--white { background: var(--albalad-white); border-block: 1px solid var(--albalad-border); }
.product-carousel { position: relative; }
.carousel-controls { position: absolute; inset-inline-end: 0; top: -72px; display: flex; gap: 8px; }
.carousel-controls button { display: grid; width: 44px; height: 44px; place-items: center; padding: 0; border: 1px solid var(--albalad-border); border-radius: 50%; background: var(--albalad-white); color: var(--albalad-forest-green); }
.carousel-controls button:hover:not(:disabled) { border-color: var(--albalad-fresh-green); background: #eef5e9; }
.carousel-controls button:disabled { opacity: .38; cursor: default; }
.product-carousel__viewport { overflow-x: auto; padding: 4px 4px 22px; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-color: #c7d3c5 transparent; scrollbar-width: thin; }
.product-carousel__viewport .products { display: flex !important; width: max-content; }
.woocommerce ul.products, ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.product-carousel__viewport .products li.product { width: clamp(220px, 20vw, 292px) !important; scroll-snap-align: start; }
.woocommerce ul.products li.product, ul.products li.product { position: relative; display: flex; width: auto; min-width: 0; float: none; flex-direction: column; margin: 0; padding: 12px; background: var(--albalad-white); border: 1px solid var(--albalad-border); border-radius: var(--albalad-radius-md); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.woocommerce ul.products li.product:hover, ul.products li.product:hover { border-color: #c0d3be; box-shadow: var(--albalad-shadow-card); transform: translateY(-3px); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; min-width: 0; flex: 1; flex-direction: column; color: var(--albalad-copy); }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 1; margin: 0 0 14px; object-fit: contain; border-radius: 12px; background: #faf9f5; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 2.85em; margin: 0 4px 6px; padding: 0; color: var(--albalad-forest-green); font-size: 15px; font-weight: 800; line-height: 1.4; }
.product-card__package { display: block; min-height: 19px; margin: 0 4px 5px; color: var(--albalad-muted); font-size: 11px; }
.stock-label { display: inline-flex; align-items: center; align-self: flex-start; min-height: 22px; margin: 0 4px 8px; color: var(--albalad-success); font-size: 10px; font-weight: 800; }
.stock-label::before { width: 7px; height: 7px; margin-inline-end: 5px; border-radius: 50%; background: currentColor; content: ""; }
.stock-label--out, .stock-label--low { color: var(--albalad-error); }
.stock-label--backorder { color: var(--albalad-action-orange); }
.woocommerce ul.products li.product .price { display: flex; min-height: 31px; align-items: baseline; gap: 7px; margin: auto 4px 10px; color: var(--albalad-action-orange); font-size: 19px; font-weight: 900; }
.woocommerce ul.products li.product .price del { color: var(--albalad-muted); font-size: 12px; font-weight: 600; opacity: .75; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.product-badge { position: absolute; z-index: 4; inset-inline-start: 20px; top: 20px; display: inline-flex; min-height: 25px; align-items: center; padding: 4px 9px; border-radius: 999px; color: var(--albalad-white); font-size: 10px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.product-badge--sale { background: var(--albalad-grocery-orange); }
.woocommerce span.onsale { display: none; }
.product-card__favorite { position: absolute; z-index: 5; inset-inline-end: 19px; top: 19px; }
.product-card__favorite button, .product-card__favorite a { display: grid; width: 38px; height: 38px; place-items: center; padding: 0; border: 1px solid var(--albalad-border); border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--albalad-forest-green); }
.loop-quantity { display: grid; grid-template-columns: 38px minmax(38px, 1fr) 38px; align-items: center; min-height: 40px; margin-bottom: 8px; overflow: hidden; border: 1px solid var(--albalad-border); border-radius: 9px; }
.loop-quantity button { display: grid; height: 38px; place-items: center; padding: 0; border: 0; background: #f8f5ef; color: var(--albalad-forest-green); }
.loop-quantity button:hover { background: #edf4e9; }
.loop-quantity button svg { width: 15px; }
.loop-quantity input { width: 100%; min-width: 0; height: 38px; padding: 0; border: 0; border-inline: 1px solid var(--albalad-border); outline: 0; background: var(--albalad-white); color: var(--albalad-forest-green); font-size: 13px; font-weight: 800; text-align: center; appearance: textfield; }
.loop-quantity input::-webkit-outer-spin-button, .loop-quantity input::-webkit-inner-spin-button { margin: 0; appearance: none; }
.woocommerce ul.products li.product .button { width: 100%; margin: 0; }
.woocommerce a.added_to_cart { min-height: 38px; margin-top: 6px; color: var(--albalad-forest-green); font-size: 12px; font-weight: 800; text-align: center; }
.woocommerce .star-rating { color: var(--albalad-wheat-gold); font-size: .78em; }

.weekly-specials { background: var(--albalad-forest-green); color: rgba(255, 255, 255, .82); }
.weekly-specials .section-heading h2, .weekly-specials .text-link { color: var(--albalad-white); }
.weekly-specials .section-heading__eyebrow { color: #ffd198; }
.weekly-specials__header > p { max-width: 620px; margin: -16px 0 28px; }
.weekly-specials .carousel-controls button { background: rgba(255, 255, 255, .11); border-color: rgba(255, 255, 255, .24); color: var(--albalad-white); }
.weekly-specials .carousel-controls button:hover:not(:disabled) { background: var(--albalad-white); color: var(--albalad-forest-green); }
.seasonal-section { background: linear-gradient(120deg, #f7e8cf, var(--albalad-warm-ivory) 48%, #e7f0df); }
.setup-notice { display: flex; min-height: 150px; flex-direction: column; align-items: center; justify-content: center; padding: 26px; background: var(--albalad-white); border: 1px dashed #b8cbb6; border-radius: var(--albalad-radius-md); color: var(--albalad-muted); text-align: center; }
.setup-notice strong { color: var(--albalad-forest-green); }
.setup-notice--light { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .32); color: rgba(255, 255, 255, .82); }
.setup-notice--light strong { color: var(--albalad-white); }

/* Fulfillment, rewards, and store information */
.fulfillment-section { background: var(--albalad-white); border-block: 1px solid var(--albalad-border); }
.fulfillment-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.fulfillment-card { display: flex; min-height: 300px; flex-direction: column; align-items: flex-start; padding: 30px; background: var(--albalad-warm-ivory); border: 1px solid var(--albalad-border); border-radius: var(--albalad-radius-md); }
.fulfillment-card--virginia { background: var(--albalad-forest-green); border-color: var(--albalad-forest-green); color: rgba(255, 255, 255, .82); }
.fulfillment-card--virginia h3 { color: var(--albalad-white); }
.fulfillment-card--shipping { background: #fff2db; border-color: #ead5aa; }
.fulfillment-card__icon { display: grid; width: 58px; height: 58px; margin-bottom: 22px; place-items: center; border-radius: 16px; background: var(--albalad-white); color: var(--albalad-fresh-green); }
.fulfillment-card__icon svg { width: 29px; height: 29px; }
.fulfillment-card h3 { font-size: 23px; }
.fulfillment-card p { font-size: 14px; }
.fulfillment-card .text-link { margin-top: auto; }
.fulfillment-card__notice { display: inline-flex; margin-top: auto; padding: 7px 10px; border-radius: 8px; background: rgba(185, 101, 69, .08); color: var(--albalad-action-orange); font-size: 11px; font-weight: 800; }
.zip-checker { width: 100%; margin-top: auto; padding-top: 18px; }
.zip-checker label { display: block; margin-bottom: 7px; color: var(--albalad-white); font-size: 12px; font-weight: 800; }
.zip-checker > div { display: grid; grid-template-columns: minmax(90px, .8fr) 1.4fr; gap: 8px; }
.zip-checker input { min-width: 0; min-height: 48px; padding: 10px 12px; border: 1px solid rgba(255, 255, 255, .32); border-radius: 9px; background: var(--albalad-white); color: var(--albalad-copy); }
.zip-checker button { min-height: 48px; padding: 9px 12px; border: 0; border-radius: 9px; background: var(--albalad-action-orange); color: var(--albalad-white); font-size: 12px; font-weight: 800; }
.zip-checker button:disabled { opacity: .65; cursor: wait; }
.zip-checker__result { margin: 10px 0 0 !important; padding: 10px; border-radius: 8px; background: rgba(255, 255, 255, .12); color: var(--albalad-white); font-size: 11px !important; }
.zip-checker__result.is-supported { background: rgba(255, 255, 255, .18); }
.zip-checker__result.is-error { background: #fff; color: var(--albalad-error); }
.zip-checker__result a { color: inherit; font-weight: 900; text-decoration: underline; text-underline-offset: 2px; }
.rewards-section { background: var(--albalad-warm-ivory); }
.rewards-card { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; align-items: center; gap: 32px; padding: clamp(30px, 5vw, 54px); overflow: hidden; background: linear-gradient(120deg, #fff1d4, var(--albalad-white) 50%, #e3efdc); border: 1px solid var(--albalad-border); border-radius: var(--albalad-radius-lg); box-shadow: var(--albalad-shadow-soft); }
.rewards-card__icon { display: grid; width: 96px; height: 96px; place-items: center; border-radius: 28px; background: var(--albalad-forest-green); color: #ffcf83; transform: rotate(-4deg); }
.rewards-card__icon svg { width: 48px; height: 48px; }
.rewards-card h2 { max-width: 680px; font-size: clamp(28px, 3.5vw, 42px); }
.rewards-card p { max-width: 680px; margin: 0; color: var(--albalad-muted); }
.rewards-card__actions { display: flex; flex-direction: column; gap: 9px; }
.store-info-section { padding-top: 24px; }
.store-info { display: grid; grid-template-columns: .82fr 1.18fr; overflow: hidden; background: var(--albalad-forest-green); border-radius: var(--albalad-radius-lg); }
.store-info__intro { padding: clamp(34px, 5vw, 60px); color: rgba(255, 255, 255, .8); }
.store-info__intro .section-heading__eyebrow { color: #ffca82; }
.store-info__intro h2 { color: var(--albalad-white); font-size: clamp(32px, 4vw, 48px); }
.store-info__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(255, 255, 255, .16); }
.store-detail { display: grid; grid-template-columns: 46px 1fr; gap: 14px; padding: 26px; background: var(--albalad-white); }
.store-detail > span { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 13px; background: #edf4e9; color: var(--albalad-fresh-green); }
.store-detail strong { display: block; margin-bottom: 3px; color: var(--albalad-forest-green); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.store-detail p, .store-detail a { margin: 0; color: var(--albalad-copy); font-size: 13px; }

/* Footer */
.footer-trust { background: var(--albalad-white); border-block: 1px solid var(--albalad-border); }
.footer-trust__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.footer-trust__grid > div { display: grid; grid-template-columns: 44px 1fr; grid-template-rows: auto auto; column-gap: 12px; padding: 23px 18px; border-inline-end: 1px solid var(--albalad-border); }
.footer-trust__grid > div:last-child { border-inline-end: 0; }
.footer-trust__grid span { grid-row: 1 / 3; display: grid; width: 44px; height: 44px; place-items: center; border-radius: 12px; background: #edf4e9; color: var(--albalad-fresh-green); }
.footer-trust__grid strong { color: var(--albalad-forest-green); font-size: 13px; }
.footer-trust__grid small { color: var(--albalad-muted); font-size: 10px; }
.site-footer { background: var(--albalad-forest-dark); color: rgba(255, 255, 255, .73); }
.footer-main { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 46px; padding-block: 64px; }
.footer-brand .custom-logo { width: 124px; height: 124px; margin-bottom: 20px; border-radius: 50%; }
.footer-brand > p { max-width: 315px; font-size: 13px; }
.footer-location { display: flex; align-items: flex-start; gap: 7px; color: var(--albalad-white); font-weight: 700; }
.footer-location svg { width: 18px; margin-top: 2px; }
.social-links { display: flex; gap: 8px; margin-top: 20px; }
.social-links a { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255, 255, 255, .2); border-radius: 10px; color: var(--albalad-white); }
.social-links a:hover { background: var(--albalad-white); color: var(--albalad-forest-green); }
.social-links svg { width: 19px; height: 19px; }
.footer-column h2, .footer-widget__title { margin-bottom: 18px; color: var(--albalad-white); font-size: 15px; }
.footer-column ul, .footer-widget ul, .legal-menu { margin: 0; padding: 0; list-style: none; }
.footer-column li, .footer-widget li { margin-bottom: 9px; }
.footer-column a, .footer-widget a { color: rgba(255, 255, 255, .72); font-size: 12px; }
.footer-column a:hover, .footer-widget a:hover { color: var(--albalad-white); }
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, .12); }
.footer-bottom__inner { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 24px; }
.footer-bottom p { margin: 0; font-size: 11px; }
.legal-menu { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 14px; }
.legal-menu a { color: rgba(255, 255, 255, .7); font-size: 11px; }

/* Content templates */
.content-main, .shop-main { min-height: 60vh; padding: 56px 0 84px; }
.content-narrow { max-width: 920px; }
.page-header { margin-bottom: 34px; }
.page-header h1 { margin-bottom: 0; font-size: clamp(36px, 5vw, 58px); }
.archive-description { max-width: 720px; color: var(--albalad-muted); }
.entry-content { padding: clamp(24px, 5vw, 54px); background: var(--albalad-white); border: 1px solid var(--albalad-border); border-radius: var(--albalad-radius-md); }
.entry-content--full { width: 100%; }
.entry-content > :first-child { margin-top: 0; }
.entry-content > :last-child { margin-bottom: 0; }
.post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.post-card { overflow: hidden; background: var(--albalad-white); border: 1px solid var(--albalad-border); border-radius: var(--albalad-radius-md); }
.post-card__image img { width: 100%; aspect-ratio: 1.5; object-fit: cover; }
.post-card__content { padding: 22px; }
.post-card__content h2 { font-size: 21px; }
.post-card__meta { color: var(--albalad-action-orange); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.single-featured { overflow: hidden; margin-bottom: 28px; border-radius: var(--albalad-radius-md); }
.comments-area { margin-top: 30px; padding: 30px; background: var(--albalad-white); border: 1px solid var(--albalad-border); border-radius: var(--albalad-radius-md); }
.empty-state, .not-found { padding: 60px 24px; text-align: center; }
.empty-state > span { display: grid; width: 70px; height: 70px; margin: 0 auto 20px; place-items: center; border-radius: 50%; background: #edf4e9; color: var(--albalad-fresh-green); }
.empty-state h2 { font-size: 30px; }
.not-found-main { display: grid; min-height: 65vh; place-items: center; padding: 80px 0; }
.not-found > span { display: block; color: var(--albalad-wheat-gold); font-size: clamp(82px, 18vw, 180px); font-weight: 900; line-height: .8; opacity: .35; }
.not-found h1 { margin-top: 20px; font-size: clamp(38px, 5vw, 62px); }
.contact-layout { display: grid; grid-template-columns: minmax(270px, .72fr) minmax(0, 1.28fr); gap: 24px; align-items: start; }
.contact-card { padding: 28px; background: var(--albalad-forest-green); border-radius: var(--albalad-radius-md); color: rgba(255, 255, 255, .82); }
.contact-card h2 { color: var(--albalad-white); }
.contact-card .store-detail { margin-bottom: 1px; }
.form-integration { margin-top: 30px; padding: 24px; background: var(--albalad-warm-ivory); border: 1px dashed #b7c8b3; border-radius: 12px; }
.policy-methods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 28px; }
.policy-methods article { padding: 28px; background: var(--albalad-white); border: 1px solid var(--albalad-border); border-radius: var(--albalad-radius-md); }
.policy-methods article > span { color: var(--albalad-fresh-green); }
.policy-methods article > span svg { width: 34px; height: 34px; }

/* WooCommerce catalog */
.woocommerce .woocommerce-breadcrumb { margin-bottom: 28px; color: var(--albalad-muted); font-size: 12px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--albalad-forest-green); }
.woocommerce-products-header__title, .woocommerce div.product .product_title { font-size: clamp(34px, 4.5vw, 52px); }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 24px; font-size: 13px; }
.woocommerce .woocommerce-ordering select, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container--default .select2-selection--single { min-height: 48px; padding: 10px 12px; background: var(--albalad-white); border: 1px solid var(--albalad-border); border-radius: var(--albalad-radius-sm); }
.shop-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 30px; }
.shop-filters { align-self: start; padding: 20px; background: var(--albalad-white); border: 1px solid var(--albalad-border); border-radius: var(--albalad-radius-md); }
.shop-filter-widget + .shop-filter-widget { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--albalad-border); }
.shop-filter-widget__title { font-size: 16px; }
.shop-filter-toggle { display: none; }
.woocommerce nav.woocommerce-pagination { margin-top: 34px; }
.woocommerce nav.woocommerce-pagination ul { border-color: var(--albalad-border); }
.woocommerce nav.woocommerce-pagination ul li { border-color: var(--albalad-border); }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 44px; min-height: 44px; padding: 12px; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--albalad-forest-green); color: var(--albalad-white); }

/* Product page */
.woocommerce div.product { display: flow-root; }
.woocommerce div.product div.images img { border-radius: var(--albalad-radius-md); background: var(--albalad-white); }
.woocommerce div.product div.summary { padding: 18px 0; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--albalad-action-orange); font-size: 28px; font-weight: 900; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 10px; }
.woocommerce .quantity .qty { min-height: 48px; border: 1px solid var(--albalad-border); border-radius: var(--albalad-radius-sm); }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-color: var(--albalad-border); background: var(--albalad-white); }
.woocommerce div.product .woocommerce-tabs .panel { padding: 28px; background: var(--albalad-white); border: 1px solid var(--albalad-border); border-radius: 0 var(--albalad-radius-md) var(--albalad-radius-md); }
.product-fulfillment { display: grid; gap: 7px; margin: 18px 0; padding: 15px; background: #f0f6ec; border: 1px solid #d5e2d2; border-radius: 12px; }
.product-fulfillment span { display: flex; align-items: center; gap: 9px; color: var(--albalad-forest-green); font-size: 12px; font-weight: 800; }
.product-fulfillment svg { width: 19px; }
.product-integrations { display: flex; flex-wrap: wrap; gap: 9px; }
.product-facts { clear: both; margin: 38px 0; padding: 30px; background: var(--albalad-white); border: 1px solid var(--albalad-border); border-radius: var(--albalad-radius-md); }
.product-facts h2 { font-size: 28px; }
.product-facts dl { margin: 0; }
.product-facts dl > div { display: grid; grid-template-columns: 190px 1fr; gap: 20px; padding: 16px 0; border-top: 1px solid var(--albalad-border); }
.product-facts dt { color: var(--albalad-forest-green); font-weight: 800; }
.product-facts dd { margin: 0; }
.product-facts dd p { margin: 0; }
.variable-weight-notice { display: flex; gap: 15px; margin-bottom: 24px; padding: 18px; background: #fff3db; border: 1px solid #e9d1a3; border-radius: 12px; }
.variable-weight-notice > svg { color: var(--albalad-fresh-green); }
.variable-weight-notice p { margin: 4px 0 0; font-size: 13px; }

/* Cart, checkout, account and notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error { padding: 18px 20px 18px 52px; background: var(--albalad-white); border-radius: var(--albalad-radius-sm); box-shadow: 0 5px 18px rgba(36, 81, 61, .06); }
.woocommerce-message, .woocommerce-info { border-top-color: var(--albalad-fresh-green); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--albalad-fresh-green); }
.woocommerce-error { border-top-color: var(--albalad-error); }
.woocommerce table.shop_table { background: var(--albalad-white); border-color: var(--albalad-border); border-radius: var(--albalad-radius-md); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 15px; border-color: var(--albalad-border); }
.woocommerce-cart table.cart img { width: 78px; border-radius: 9px; }
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout #order_review { padding: 26px; background: var(--albalad-white); border: 1px solid var(--albalad-border); border-radius: var(--albalad-radius-md); }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { min-height: 54px; background: var(--albalad-action-orange); font-size: 17px; }
.woocommerce-checkout .col2-set { margin-bottom: 28px; }
.woocommerce-checkout #payment { background: #f4f1e9; border-radius: var(--albalad-radius-md); }
.woocommerce-checkout #payment div.payment_box { background: var(--albalad-white); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--albalad-white); }
.woocommerce-checkout #place_order { width: 100%; min-height: 56px; background: var(--albalad-action-orange); font-size: 17px; }
.woocommerce form .form-row label { color: var(--albalad-forest-green); font-size: 13px; font-weight: 800; }
.woocommerce-account .woocommerce-MyAccount-navigation { overflow: hidden; border: 1px solid var(--albalad-border); border-radius: var(--albalad-radius-md); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; min-height: 48px; padding: 12px 16px; background: var(--albalad-white); border-bottom: 1px solid var(--albalad-border); color: var(--albalad-forest-green); font-size: 13px; font-weight: 800; }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--albalad-forest-green); color: var(--albalad-white); }
.woocommerce-order-received .woocommerce-order { padding: 28px; background: var(--albalad-white); border: 1px solid var(--albalad-border); border-radius: var(--albalad-radius-md); }
.woocommerce-order-overview { padding: 18px !important; background: #edf4e9; border-radius: 12px; }
.cart-extension-area, .checkout-fulfillment-integration, .order-extension-area { margin: 18px 0; }
.checkout-fulfillment-integration:empty, .order-extension-area:empty { display: none; }
.wc-block-cart, .wc-block-checkout, .wc-block-components-sidebar { color: var(--albalad-copy); }
.wc-block-components-button:not(.is-link) { min-height: 50px; border-radius: var(--albalad-radius-sm); background: var(--albalad-action-orange); color: var(--albalad-white); font-weight: 800; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input { min-height: 48px; border-color: var(--albalad-border) !important; border-radius: var(--albalad-radius-sm) !important; }
.wc-block-components-order-summary, .wc-block-cart-items { background: var(--albalad-white); border-radius: var(--albalad-radius-md); }
.wc-block-checkout .wc-block-components-shipping-rates-control__package,
.wc-block-checkout .wc-block-components-radio-control { border-color: var(--albalad-border); border-radius: var(--albalad-radius-md); }
.wc-block-checkout .wc-block-components-radio-control__option { min-height: 68px; padding: 15px 16px; border-bottom-color: var(--albalad-border); background: var(--albalad-white); }
.wc-block-checkout .wc-block-components-radio-control__option:has(input:checked) { background: #eef5e9; box-shadow: inset 4px 0 0 var(--albalad-fresh-green); }
.wc-block-checkout .wc-block-components-radio-control__label { color: var(--albalad-forest-green); font-weight: 850; }
.wc-block-checkout .wc-block-components-radio-control__description { color: var(--albalad-muted); font-size: 12px; line-height: 1.5; }

/* Tablet */
@media (max-width: 1120px) {
  .header-main__inner { grid-template-columns: 104px minmax(230px, 1fr) auto; gap: 16px; }
  .custom-logo { width: 92px; height: 78px; }
  .header-account .header-action__copy, .header-optional { display: none; }
  .category-dropdown__panel { width: min(680px, calc(100vw - 40px)); }
  .primary-menu { gap: 16px; }
  .category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .footer-main { gap: 28px; }
}

@media (max-width: 900px) {
  .container { width: min(calc(100% - 40px), var(--albalad-container)); }
  .admin-bar.has-sticky-header .site-header { top: 46px; }
  .announcement-bar__inner { min-height: 34px; justify-content: flex-start; overflow-x: auto; text-align: start; white-space: nowrap; }
  .header-main__inner { min-height: 74px; grid-template-columns: 44px 1fr auto; gap: 10px; }
  .site-branding { justify-content: center; }
  .custom-logo { width: 70px; height: 66px; }
  .mobile-menu-toggle { display: grid; width: 44px; height: 44px; place-items: center; padding: 0; border: 0; background: transparent; color: var(--albalad-forest-green); }
  .mobile-menu-toggle__close { display: none; }
  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle__open { display: none; }
  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle__close { display: inline-flex; }
  .header-search, .header-account, .header-optional, .navigation-row { display: none; }
  .header-action { min-height: 44px; padding: 5px; }
  .header-action__icon svg { width: 27px; height: 27px; }
  .header-cart .header-action__copy { display: none; }
  .cart-count { inset-inline-start: 22px; top: -1px; }
  .mobile-search { display: block; padding-bottom: 11px; }
  .mobile-search .product-search-form { min-height: 44px; }
  .mobile-search .product-search-form input[type="search"] { height: 44px; font-size: 13px; }
  .mobile-search .product-search-form__submit { min-width: 72px; padding-inline: 12px; font-size: 12px; }
  .mobile-navigation { position: fixed; inset-inline: 0; top: var(--mobile-nav-top, 109px); bottom: 0; z-index: 140; overflow-y: auto; padding: 18px 0 40px; background: var(--albalad-warm-ivory); }
  .mobile-navigation[hidden] { display: none; }
  .mobile-navigation:not([hidden]) { display: block; }
  .mobile-menu { display: block; margin: 0; padding: 0; list-style: none; }
  .mobile-menu a { display: flex; min-height: 52px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--albalad-border); color: var(--albalad-forest-green); font-weight: 800; }
  .mobile-menu .sub-menu { margin: 0; padding: 0 0 0 16px; list-style: none; }
  .mobile-menu .sub-menu a { min-height: 44px; font-size: 13px; font-weight: 600; }
  .mobile-categories { margin-top: 28px; }
  .mobile-categories h2 { font-size: 18px; }
  .mobile-categories .category-menu { display: block; height: auto; }
  .mobile-categories .category-menu > li, .mobile-categories .category-menu > li:nth-child(n+7) { display: flex; min-height: 48px; border-bottom: 1px solid var(--albalad-border); }
  .mobile-categories .category-menu__link { flex: 1; }
  .mobile-categories .category-menu__labels { position: static; width: 100%; flex-basis: 100%; margin-bottom: 8px; box-shadow: none; }
  .mobile-categories .category-menu > li { flex-wrap: wrap; }
  .mobile-navigation__actions { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 24px; }
  .mobile-navigation__actions a { display: flex; min-height: 48px; align-items: center; justify-content: center; gap: 8px; padding: 10px; background: var(--albalad-white); border: 1px solid var(--albalad-border); border-radius: var(--albalad-radius-sm); font-size: 13px; font-weight: 800; }
  .hero { padding-top: 14px; }
  .hero__slides { min-height: 610px; }
  .hero-slide__content { min-height: 610px; justify-content: center; padding: 52px 32px 104px; }
  .hero-slide h1, .hero-slide h2 { font-size: clamp(38px, 8vw, 54px); }
  .hero-slide__media::after { background: linear-gradient(90deg, rgba(36, 81, 61, .9), rgba(36, 81, 61, .55) 68%, rgba(36, 81, 61, .22)), linear-gradient(0deg, rgba(46, 50, 52, .7), transparent 65%); }
  .hero__controls { inset-inline-start: 30px; bottom: 24px; }
  .category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fulfillment-grid { grid-template-columns: 1fr; }
  .fulfillment-card { min-height: 250px; }
  .rewards-card { grid-template-columns: 78px 1fr; }
  .rewards-card__icon { width: 78px; height: 78px; }
  .rewards-card__actions { grid-column: 1 / -1; flex-direction: row; }
  .store-info { grid-template-columns: 1fr; }
  .footer-trust__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-trust__grid > div:nth-child(2) { border-inline-end: 0; }
  .footer-trust__grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--albalad-border); }
  .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-brand { grid-column: 1 / -1; }
  .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .policy-methods { grid-template-columns: 1fr; }
  .shop-layout { grid-template-columns: 1fr; }
  .shop-filter-toggle { display: inline-flex; min-height: 46px; align-items: center; gap: 8px; margin-bottom: 20px; padding: 10px 16px; border: 1px solid var(--albalad-border); border-radius: 10px; background: var(--albalad-white); color: var(--albalad-forest-green); font-weight: 800; }
  .shop-filters { display: none; }
  .shop-filters.is-open { display: block; }
  .woocommerce ul.products, ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .contact-layout { grid-template-columns: 1fr; }
}

/* Mobile */
@media (max-width: 620px) {
  body { font-size: 15px; }
  .container { width: min(calc(100% - 32px), var(--albalad-container)); }
  .announcement-bar { font-size: 11px; }
  .announcement-bar__inner { gap: 8px; }
  .product-search-form__icon { margin-inline-start: 11px; }
  .mobile-search .product-search-form__submit { min-width: 64px; }
  .hero__slides { min-height: 570px; border-radius: 18px; }
  .hero-slide__content { min-height: 570px; justify-content: flex-end; padding: 40px 24px 100px; }
  .hero-slide__eyebrow { margin-bottom: 14px; font-size: 9px; }
  .hero-slide h1, .hero-slide h2 { margin-bottom: 13px; font-size: clamp(34px, 10vw, 43px); }
  .hero-slide p { margin-bottom: 20px; font-size: 14px; }
  .hero-slide__media img { object-position: 58% center; }
  .hero-slide--2 .hero-slide__media img { object-position: 63% center; }
  .hero-slide--3 .hero-slide__media img { object-position: 60% center; }
  .hero-slide--4 .hero-slide__media img { object-position: 58% center; }
  .hero-slide--5 .hero-slide__media img { object-position: 57% center; }
  .hero-slide__media::after { background: linear-gradient(180deg, rgba(46, 50, 52, .2) 0%, rgba(36, 81, 61, .48) 42%, rgba(36, 81, 61, .96) 100%); }
  .hero__controls { inset-inline-start: 22px; gap: 8px; }
  .hero__arrow { width: 38px; height: 38px; }
  .hero__dots button { width: 18px; }
  .hero__dots button.is-active { width: 30px; }
  .home-section { padding: 48px 0; }
  .section-heading { align-items: flex-start; margin-bottom: 24px; }
  .section-heading h2 { font-size: 28px; }
  .section-heading .text-link { min-height: 38px; margin-top: 26px; font-size: 11px; }
  .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .category-card__main { padding: 8px 8px 12px; }
  .category-card__name { font-size: 13px; }
  .category-card__toggle { font-size: 9px; }
  .carousel-controls { display: none; }
  .product-carousel__viewport { margin-inline: -16px; padding-inline: 16px; }
  .product-carousel__viewport .products li.product { width: min(74vw, 238px) !important; }
  .woocommerce ul.products, ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .woocommerce ul.products li.product, ul.products li.product { padding: 8px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 12px; }
  .woocommerce ul.products li.product .price { font-size: 16px; }
  .product-card__package, .stock-label { margin-inline: 2px; }
  .product-badge { inset-inline-start: 13px; top: 13px; }
  .loop-quantity { grid-template-columns: 34px 1fr 34px; }
  .woocommerce ul.products li.product .button { min-height: 44px; padding-inline: 8px; font-size: 11px; }
  .fulfillment-card { min-height: 0; padding: 24px; }
  .zip-checker > div { grid-template-columns: 1fr; }
  .rewards-card { grid-template-columns: 1fr; gap: 22px; }
  .rewards-card__icon { width: 68px; height: 68px; border-radius: 20px; }
  .rewards-card__icon svg { width: 34px; }
  .rewards-card__actions { flex-direction: column; }
  .store-info__details { grid-template-columns: 1fr; }
  .footer-trust__grid { grid-template-columns: 1fr; }
  .footer-trust__grid > div { border-inline-end: 0; border-bottom: 1px solid var(--albalad-border); }
  .footer-main { grid-template-columns: 1fr 1fr; padding-block: 46px; }
  .footer-column:last-child { grid-column: 1 / -1; }
  .footer-bottom__inner { min-height: 100px; flex-direction: column; justify-content: center; text-align: center; }
  .legal-menu { justify-content: center; }
  .post-grid { grid-template-columns: 1fr; }
  .entry-content { padding: 22px; }
  .product-facts { padding: 22px; }
  .product-facts dl > div { grid-template-columns: 1fr; gap: 4px; }
  .woocommerce div.product form.cart { flex-wrap: wrap; }
  .woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td { min-height: 44px; }
  .woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout #order_review { padding: 18px; }
}

@media (max-width: 380px) {
  .container { width: min(calc(100% - 24px), var(--albalad-container)); }
  .header-main__inner { grid-template-columns: 42px 1fr 42px; }
  .hero-slide__content { padding-inline: 20px; }
  .hero-slide h1, .hero-slide h2 { font-size: 35px; }
  .hero__dots { gap: 5px; }
  .hero__dots button { width: 12px; }
  .hero__dots button.is-active { width: 24px; }
  .product-carousel__viewport { margin-inline: -12px; padding-inline: 12px; }
  .category-card__toggle span { max-width: 94px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Version 2.1 customer-page system. */
.primary-menu .current-menu-item > a::after,
.primary-menu .current_page_item > a::after { transform: scaleX(1); }
.mobile-customer-care { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--albalad-border); }
.mobile-customer-care h2 { font-size: 18px; }
.mobile-customer-care ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.mobile-customer-care a { display: flex; min-height: 46px; align-items: center; padding: 10px 12px; border: 1px solid var(--albalad-border); border-radius: 12px; background: var(--albalad-white); color: var(--albalad-forest-green); font-size: 12px; font-weight: 800; }

.internal-page { min-height: 65vh; padding-bottom: clamp(72px, 9vw, 120px); }
.internal-hero { position: relative; overflow: hidden; background: var(--albalad-forest-green); color: var(--albalad-white); }
.internal-hero::before { position: absolute; inset: 0; background: radial-gradient(circle at 86% 12%, rgba(213, 161, 62, .25), transparent 28rem), linear-gradient(120deg, transparent 52%, rgba(255, 255, 243, .06)); content: ""; pointer-events: none; }
.internal-hero__inner { position: relative; display: flex; min-height: clamp(300px, 31vw, 430px); flex-direction: column; justify-content: center; padding-block: 68px 76px; }
.internal-hero__copy { position: relative; z-index: 1; max-width: 830px; }
.internal-hero .page-kicker { color: var(--albalad-wheat-gold); }
.internal-hero h1 { max-width: 790px; margin-bottom: 18px; color: var(--albalad-white); font-size: clamp(42px, 6vw, 72px); line-height: 1; text-wrap: balance; }
.internal-hero__copy > p { max-width: 690px; margin: 0; color: rgba(255, 255, 255, .82); font-size: clamp(16px, 1.8vw, 20px); }
.internal-hero__mark { position: absolute; inset-inline-end: clamp(12px, 4vw, 54px); bottom: -64px; color: rgba(213, 161, 62, .19); transform: rotate(-13deg); }
.internal-hero__mark svg { width: clamp(190px, 25vw, 360px); height: auto; stroke-width: .8; }
.breadcrumbs { position: absolute; z-index: 2; top: 28px; display: flex; min-width: 0; align-items: center; gap: 8px; color: rgba(255, 255, 255, .72); font-size: 12px; }
.breadcrumbs a { color: var(--albalad-white); font-weight: 800; }
.breadcrumbs > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.breadcrumbs svg { width: 14px; }

.internal-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, 310px); gap: clamp(24px, 4vw, 50px); align-items: start; padding-top: clamp(42px, 6vw, 76px); }
.internal-layout--single { grid-template-columns: minmax(0, 1fr); max-width: 1120px; }
.internal-surface { min-width: 0; padding: clamp(28px, 5vw, 66px); border: 1px solid var(--albalad-border); border-radius: 28px; background: var(--albalad-white); box-shadow: 0 20px 54px rgba(46, 50, 52, .07); }
.internal-surface.entry-content { line-height: 1.78; }
.internal-surface.entry-content > p,
.internal-surface.entry-content > ul,
.internal-surface.entry-content > ol { max-width: 74ch; }
.internal-surface .lead { max-width: 760px; color: var(--albalad-charcoal); font-size: clamp(19px, 2.2vw, 24px); font-weight: 650; line-height: 1.55; }
.internal-intro { max-width: 850px; margin-bottom: clamp(42px, 5vw, 68px); }
.internal-section { margin-top: clamp(54px, 7vw, 86px); scroll-margin-top: 130px; }
.internal-section--tinted { padding: clamp(28px, 5vw, 52px); border-radius: 24px; background: rgba(213, 161, 62, .11); }
.internal-card-grid { display: grid; gap: 18px; }
.internal-card-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.info-card { padding: 26px; border: 1px solid var(--albalad-border); border-radius: 20px; background: var(--albalad-warm-ivory); }
.info-card h3 { font-size: 19px; }
.info-card p { margin: 0; font-size: 14px; }
.split-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 6vw, 76px); align-items: center; }
.split-content h2 { font-size: clamp(28px, 3.5vw, 42px); }
.feature-list { display: grid; gap: 10px; }
.feature-list p { display: flex; flex-direction: column; margin: 0; padding: 16px 18px; border: 1px solid var(--albalad-border); border-radius: 15px; background: var(--albalad-white); }
.feature-list span { color: var(--albalad-muted); font-size: 13px; }
.internal-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 30px; padding: clamp(28px, 5vw, 48px); border-radius: 28px; background: var(--albalad-charcoal); color: rgba(255, 255, 255, .8); }
.internal-cta h2 { max-width: 690px; margin: 0; color: var(--albalad-white); font-size: clamp(26px, 3vw, 38px); }
.internal-cta__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 10px; }
.internal-cta .button--outline { border-color: rgba(255, 255, 255, .56); color: var(--albalad-white); }

.internal-sidebar { position: sticky; top: 104px; }
.sidebar-card { padding: 28px; border-radius: 22px; background: var(--albalad-charcoal); color: rgba(255, 255, 255, .76); box-shadow: 0 18px 42px rgba(46, 50, 52, .13); }
.sidebar-card > span { display: grid; width: 52px; height: 52px; margin-bottom: 22px; place-items: center; border-radius: 16px; background: rgba(213, 161, 62, .16); color: var(--albalad-wheat-gold); }
.sidebar-card h2 { color: var(--albalad-white); font-size: 23px; }
.sidebar-card p { font-size: 14px; }
.sidebar-card .button { width: 100%; margin-top: 8px; }

.policy-content { max-width: 920px; }
.policy-updated { display: flex; align-items: center; gap: 13px; margin-bottom: 34px; padding-bottom: 24px; border-bottom: 1px solid var(--albalad-border); }
.policy-updated > span { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 14px; background: rgba(36, 81, 61, .09); color: var(--albalad-forest-green); }
.policy-updated div { display: flex; flex-direction: column; }
.policy-updated strong { color: var(--albalad-forest-green); font-size: 12px; text-transform: uppercase; }
.policy-updated time { color: var(--albalad-muted); font-size: 13px; }
.policy-intro { max-width: 75ch; }
.policy-notice { margin-top: 24px; padding: 20px 22px; border-inline-start: 4px solid var(--albalad-wheat-gold); border-radius: 16px; background: rgba(213, 161, 62, .1); }
.policy-notice strong { color: var(--albalad-charcoal); }
.policy-notice p { margin: 5px 0 0; }
.policy-toc { margin: 42px 0 52px; padding: clamp(22px, 4vw, 32px); border: 1px solid var(--albalad-border); border-radius: 20px; background: var(--albalad-warm-ivory); }
.policy-toc h2 { font-size: 20px; }
.policy-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 24px; margin: 16px 0 0; padding-inline-start: 22px; }
.policy-toc a { min-height: 38px; color: var(--albalad-forest-green); font-size: 13px; font-weight: 800; text-decoration: underline; text-decoration-color: rgba(185, 101, 69, .36); text-underline-offset: 4px; }
.policy-section { max-width: 75ch; margin-top: 48px; scroll-margin-top: 130px; }
.policy-section h2 { padding-bottom: 14px; border-bottom: 1px solid var(--albalad-border); font-size: clamp(23px, 2.8vw, 31px); }
.policy-section li + li { margin-top: 7px; }
.configured-policy-details { margin-bottom: 38px; padding: 24px; border-radius: 18px; background: rgba(36, 81, 61, .07); }
.configured-policy-details h2 { font-size: 21px; }
.configured-policy-details dl { display: grid; gap: 10px; margin: 18px 0 0; }
.configured-policy-details dl > div { display: grid; grid-template-columns: minmax(130px, .35fr) 1fr; gap: 18px; padding-top: 10px; border-top: 1px solid var(--albalad-border); }
.configured-policy-details dt { color: var(--albalad-forest-green); font-weight: 800; }
.configured-policy-details dd { margin: 0; }
.customer-service-block { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 18px; margin-top: 58px; padding: clamp(24px, 4vw, 34px); border-radius: 22px; background: var(--albalad-charcoal); color: rgba(255, 255, 255, .78); }
.customer-service-block__icon { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 18px; background: rgba(213, 161, 62, .15); color: var(--albalad-wheat-gold); }
.customer-service-block h2 { color: var(--albalad-white); font-size: 24px; }
.customer-service-block__links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.customer-service-block .text-link { border-color: rgba(255, 255, 255, .22); background: transparent; color: var(--albalad-white); }

.faq-content .internal-intro { margin-bottom: 52px; }
.faq-group + .faq-group { margin-top: 48px; }
.faq-group h2 { margin-bottom: 18px; font-size: clamp(24px, 3vw, 32px); }
.faq-group details { overflow: hidden; border: 1px solid var(--albalad-border); border-radius: 16px; background: var(--albalad-white); }
.faq-group details + details { margin-top: 10px; }
.faq-group summary { position: relative; display: flex; min-height: 62px; align-items: center; justify-content: space-between; gap: 20px; padding-block: 16px; padding-inline: 20px 54px; color: var(--albalad-charcoal); font-weight: 800; cursor: pointer; list-style: none; }
.faq-group summary::-webkit-details-marker { display: none; }
.faq-group summary::after { position: absolute; inset-inline-end: 19px; width: 20px; height: 20px; color: var(--albalad-action-orange); font-size: 23px; line-height: 18px; text-align: center; content: "+"; transition: transform .2s ease; }
.faq-group details[open] summary { background: rgba(36, 81, 61, .06); }
.faq-group details[open] summary::after { content: "−"; transform: rotate(180deg); }
.faq-group details > div { padding: 0 20px 20px; color: var(--albalad-muted); }
.faq-group details > div p { margin: 16px 0 0; }

.contact-detail-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.contact-detail-card { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 14px; min-height: 142px; padding: 22px; border: 1px solid var(--albalad-border); border-radius: 20px; background: var(--albalad-white); box-shadow: 0 12px 30px rgba(46, 50, 52, .05); }
.contact-detail-card > span { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 14px; background: rgba(36, 81, 61, .08); color: var(--albalad-forest-green); }
.contact-detail-card h2 { margin-bottom: 5px; font-size: 15px; }
.contact-detail-card p,
.contact-detail-card a { margin: 0; font-size: 13px; overflow-wrap: anywhere; }
.contact-workspace { display: grid; grid-template-columns: minmax(250px, .68fr) minmax(0, 1.32fr); gap: 24px; align-items: start; }
.quick-links-card,
.contact-form-card { padding: clamp(24px, 4vw, 38px); border: 1px solid var(--albalad-border); border-radius: 24px; background: var(--albalad-white); box-shadow: 0 18px 46px rgba(46, 50, 52, .06); }
.quick-links-card ul { margin: 24px 0 0; padding: 0; list-style: none; }
.quick-links-card li + li { border-top: 1px solid var(--albalad-border); }
.quick-links-card li a { display: flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 12px; font-size: 13px; font-weight: 800; }
.quick-links-card li svg { width: 17px; }
.map-action { margin-top: 28px; padding-top: 26px; border-top: 1px solid var(--albalad-border); }
.map-action h3 { font-size: 18px; }
.map-action p { color: var(--albalad-muted); font-size: 13px; }
.contact-form-card h2 { font-size: clamp(25px, 3vw, 34px); }
.contact-form-card > p { color: var(--albalad-muted); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
.form-grid p { margin-bottom: 15px; }
.form-grid__wide { grid-column: 1 / -1; }
.albalad-contact-form label { display: block; margin-bottom: 7px; color: var(--albalad-charcoal); font-size: 12px; font-weight: 800; }
.albalad-contact-form input,
.albalad-contact-form select,
.albalad-contact-form textarea { width: 100%; min-height: 50px; padding: 11px 13px; border: 1px solid var(--albalad-border); border-radius: 12px; background: var(--albalad-warm-ivory); color: var(--albalad-charcoal); }
.albalad-contact-form textarea { min-height: 150px; resize: vertical; }
.albalad-contact-form input:focus,
.albalad-contact-form select:focus,
.albalad-contact-form textarea:focus { border-color: var(--albalad-forest-green); outline: 3px solid rgba(36, 81, 61, .12); outline-offset: 0; }
.contact-honeypot { position: absolute !important; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); }
.form-message { margin-bottom: 20px; padding: 14px 16px; border-radius: 12px; font-size: 13px; font-weight: 700; }
.form-message.is-success { background: rgba(36, 81, 61, .1); color: var(--albalad-forest-green); }
.form-message.is-error { background: rgba(185, 101, 69, .12); color: var(--albalad-charcoal); }
.setup-notice { margin-bottom: 24px; }

.footer-contact-list { display: grid; gap: 9px; margin: 22px 0; padding: 0; list-style: none; }
.footer-contact-list li { display: flex; align-items: flex-start; gap: 8px; color: rgba(255, 255, 255, .74); font-size: 11px; }
.footer-contact-list svg { width: 16px; margin-top: 2px; }
.footer-contact-list a { color: rgba(255, 255, 255, .82); }

@media (max-width: 1024px) {
  .internal-layout { grid-template-columns: minmax(0, 1fr) 270px; gap: 24px; }
  .internal-card-grid--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .internal-card-grid--three .info-card:last-child { grid-column: 1 / -1; }
  .contact-workspace { grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr); }
}

@media (max-width: 768px) {
  .internal-hero__inner { min-height: 330px; padding-block: 72px 58px; }
  .internal-layout { grid-template-columns: minmax(0, 1fr); }
  .internal-sidebar { position: static; }
  .policy-content { max-width: none; }
  .split-content,
  .contact-workspace { grid-template-columns: minmax(0, 1fr); }
  .internal-cta { align-items: flex-start; flex-direction: column; }
  .policy-toc ol { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 430px) {
  .internal-hero__inner { min-height: 300px; padding-block: 68px 48px; }
  .internal-hero h1 { font-size: clamp(36px, 11vw, 48px); }
  .internal-hero__copy > p { font-size: 14px; }
  .breadcrumbs { top: 22px; max-width: calc(100% - 28px); }
  .internal-layout { padding-top: 32px; }
  .internal-surface,
  .quick-links-card,
  .contact-form-card { padding: 22px 18px; border-radius: 20px; }
  .internal-card-grid--three { grid-template-columns: 1fr; }
  .internal-card-grid--three .info-card:last-child { grid-column: auto; }
  .internal-section--tinted { padding: 24px 18px; margin-inline: -4px; }
  .internal-cta { padding: 26px 20px; border-radius: 22px; }
  .internal-cta__actions,
  .internal-cta__actions .button { width: 100%; }
  .policy-toc { margin-block: 32px 42px; padding: 20px 18px; }
  .policy-section { margin-top: 38px; }
  .configured-policy-details dl > div { grid-template-columns: 1fr; gap: 4px; }
  .customer-service-block { grid-template-columns: 1fr; padding: 22px 18px; }
  .customer-service-block__links,
  .customer-service-block__links .button { width: 100%; }
  .faq-group summary { min-height: 58px; padding-block: 14px; padding-inline: 16px 48px; font-size: 14px; }
  .faq-group details > div { padding: 0 16px 16px; }
  .contact-detail-grid { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid__wide { grid-column: auto; }
  .mobile-customer-care ul { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-column:last-child { grid-column: auto; }
}

@media (max-width: 360px) {
  .internal-hero h1 { font-size: 35px; }
  .internal-surface,
  .quick-links-card,
  .contact-form-card { padding-inline: 15px; }
  .footer-main { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .faq-group summary::after { transition: none; }
  .internal-hero__mark { transform: none; }
}

/* --------------------------------------------------------------------------
   Albalad 2.0 — modern market redesign
   The identity palette is intentionally unchanged. Shape, space, photography,
   and motion create the new direction.
   -------------------------------------------------------------------------- */

body {
  background:
    radial-gradient(circle at 4% 8%, rgba(36, 81, 61, .08), transparent 25rem),
    var(--albalad-warm-ivory);
}

.container { width: min(calc(100% - 48px), 1360px); }
.home-section { padding: clamp(64px, 7vw, 108px) 0; }
.home-section + .home-section { border-top: 0; }

/* Animated announcement ribbon. */
.announcement-bar {
  position: relative;
  overflow: hidden;
  background: var(--albalad-forest-green);
  font-size: 11px;
  letter-spacing: .035em;
}
.announcement-bar::before,
.announcement-bar::after {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  width: 8vw;
  max-width: 100px;
  content: "";
  pointer-events: none;
}
.announcement-bar::before { inset-inline-start: 0; background: linear-gradient(90deg, var(--albalad-forest-green), transparent); }
.announcement-bar::after { inset-inline-end: 0; background: linear-gradient(270deg, var(--albalad-forest-green), transparent); }
.announcement-bar__viewport { width: 100%; overflow: hidden; }
.announcement-bar__track {
  display: flex;
  width: max-content;
  animation: albalad-announcement 24s linear infinite;
  will-change: transform;
}
.announcement-bar:hover .announcement-bar__track,
.announcement-bar:focus-within .announcement-bar__track { animation-play-state: paused; }
.announcement-bar__item {
  display: flex;
  min-height: 34px;
  align-items: center;
  gap: 13px;
  padding-inline: 42px;
  white-space: nowrap;
}
.announcement-bar__item p { margin: 0; }
.announcement-bar__item a,
.announcement-bar__link-copy {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--albalad-white);
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
}
.announcement-bar__item a { border-bottom: 1px solid rgba(255, 255, 255, .65); }
.announcement-bar__item svg { width: 14px; height: 14px; }
.announcement-bar__spark { display: inline-flex; color: var(--albalad-wheat-gold); }
@keyframes albalad-announcement { to { transform: translateX(-50%); } }

/* Compact, floating, animated store header. */
.site-header {
  position: relative;
  z-index: 100;
  border-bottom: 0;
  background: rgba(255, 255, 243, .92);
  box-shadow: 0 1px 0 var(--albalad-border);
  backdrop-filter: blur(18px) saturate(1.15);
  animation: albalad-header-arrive .7s cubic-bezier(.2, .75, .25, 1) both;
  transition: box-shadow .3s ease, background .3s ease;
}
.has-sticky-header .site-header { position: sticky; top: 0; }
.site-header.is-compact {
  background: rgba(255, 255, 243, .97);
  box-shadow: 0 14px 36px rgba(36, 81, 61, .1);
}
@keyframes albalad-header-arrive {
  from { opacity: 0; transform: translateY(-16px); }
  to { opacity: 1; transform: translateY(0); }
}
.header-main__inner {
  min-height: 88px;
  grid-template-columns: 112px minmax(340px, 660px) auto;
  justify-content: space-between;
  gap: clamp(18px, 3vw, 42px);
  transition: min-height .3s ease;
}
.site-header.is-compact .header-main__inner { min-height: 72px; }
.site-branding { display: flex; align-items: center; }
.custom-logo {
  width: 88px;
  height: 76px;
  object-fit: contain;
  transition: width .3s ease, height .3s ease, transform .3s ease;
}
.custom-logo-link:hover .custom-logo { transform: rotate(-2deg) scale(1.035); }
.site-header.is-compact .custom-logo { width: 70px; height: 60px; }
.header-search { max-width: none; }
.product-search-form {
  min-height: 50px;
  overflow: visible;
  border-color: transparent;
  border-radius: 999px;
  box-shadow: 0 10px 30px rgba(36, 81, 61, .08), inset 0 0 0 1px var(--albalad-border);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.product-search-form:focus-within {
  transform: translateY(-1px);
  box-shadow: 0 14px 34px rgba(36, 81, 61, .12), 0 0 0 4px rgba(36, 81, 61, .12);
}
.product-search-form__submit {
  min-width: 104px;
  margin: 5px;
  align-self: stretch;
  border-radius: 999px;
  background: var(--albalad-forest-green);
  transition: transform .2s ease, background .2s ease;
}
.product-search-form__submit:hover { transform: translateX(2px); }
.header-actions {
  gap: 8px;
  padding: 5px;
  border: 1px solid var(--albalad-border);
  border-radius: 999px;
  background: rgba(255, 255, 255, .68);
}
.header-action {
  min-height: 44px;
  padding: 7px 12px;
  border-radius: 999px;
  transition: background .2s ease, transform .2s ease;
}
.header-action:hover { transform: translateY(-1px); }
.header-action__copy strong { font-size: 10px; }
.header-cart { background: var(--albalad-forest-green); color: var(--albalad-white); }
.header-cart:hover { background: var(--albalad-action-orange); color: var(--albalad-white); }
.header-cart .cart-count { background: var(--albalad-grocery-orange); }
.navigation-row { border: 0; background: rgba(255, 255, 255, .72); }
.navigation-row__inner { min-height: 52px; }
.category-menu__link,
.primary-menu a {
  position: relative;
  min-height: 52px;
  font-size: 11px;
  letter-spacing: .015em;
}
.category-menu__link::after,
.primary-menu > li > a::after {
  position: absolute;
  inset-inline: 0;
  bottom: 7px;
  height: 2px;
  border-radius: 2px;
  background: var(--albalad-grocery-orange);
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .22s ease;
}
.category-menu__link:hover::after,
.category-menu__link:focus::after,
.primary-menu > li > a:hover::after,
.primary-menu > li > a:focus::after { transform: scaleX(1); transform-origin: left; }
.mobile-search { display: none; }

/* Edge-to-edge, image-first animated hero. */
.hero { padding: 18px 0 0; }
.hero .container { width: min(calc(100% - 32px), 1480px); }
.hero__slides {
  min-height: clamp(570px, 47vw, 690px);
  border-radius: 32px;
  box-shadow: 0 28px 80px rgba(36, 81, 61, .16);
  isolation: isolate;
}
.hero__slides::after {
  position: absolute;
  z-index: 4;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: inherit;
  content: "";
  pointer-events: none;
}
.hero-slide {
  transform: translateX(6%) scale(1.025);
  transition: opacity .85s ease, transform .9s cubic-bezier(.2, .75, .25, 1), visibility .9s;
}
.hero[data-direction="backward"] .hero-slide { transform: translateX(-6%) scale(1.025); }
.hero-slide.is-active { transform: translateX(0) scale(1); }
.hero-slide__media img { transform: scale(1.01); transition: transform 7s cubic-bezier(.2, .5, .3, 1); }
.hero-slide.is-active .hero-slide__media img { transform: scale(1.09); }
.hero-slide__media::after {
  background:
    linear-gradient(90deg, rgba(36, 81, 61, .94) 0%, rgba(36, 81, 61, .74) 36%, rgba(36, 81, 61, .22) 66%, rgba(36, 81, 61, .04) 100%),
    linear-gradient(0deg, rgba(46, 50, 52, .42), transparent 48%);
}
.hero-slide__content {
  min-height: clamp(570px, 47vw, 690px);
  max-width: 760px;
  padding: clamp(68px, 7vw, 104px) clamp(42px, 8vw, 124px) 118px;
}
.hero-slide.is-active .hero-slide__eyebrow { animation: albalad-copy-in .55s .15s both; }
.hero-slide.is-active h1,
.hero-slide.is-active h2 { animation: albalad-copy-in .65s .24s both; }
.hero-slide.is-active p { animation: albalad-copy-in .65s .34s both; }
.hero-slide.is-active .button { animation: albalad-copy-in .65s .44s both; }
@keyframes albalad-copy-in {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: translateY(0); }
}
.hero-slide__eyebrow {
  margin-bottom: 22px;
  padding: 9px 15px;
  border-color: rgba(255, 255, 255, .3);
  background: rgba(255, 255, 255, .12);
  color: var(--albalad-white);
  backdrop-filter: blur(14px);
}
.hero-slide h1,
.hero-slide h2 {
  max-width: 690px;
  margin-bottom: 20px;
  font-size: clamp(46px, 5vw, 72px);
  letter-spacing: -.045em;
  line-height: .98;
  text-wrap: balance;
}
.hero-slide p { max-width: 570px; font-size: clamp(15px, 1.45vw, 18px); line-height: 1.7; }
.hero-slide .button {
  min-height: 54px;
  padding-inline: 24px;
  border-radius: 999px;
  box-shadow: 0 14px 30px rgba(36, 81, 61, .24);
}
.hero__controls {
  inset-inline-start: clamp(42px, 8vw, 124px);
  bottom: 34px;
  gap: 10px;
  padding: 7px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 999px;
  background: rgba(36, 81, 61, .38);
  backdrop-filter: blur(14px);
}
.hero__counter {
  display: flex;
  min-width: 58px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: rgba(255, 255, 255, .65);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}
.hero__counter strong { color: var(--albalad-white); font-size: 13px; }
.hero__arrow { width: 38px; height: 38px; border: 0; background: rgba(255, 255, 255, .12); }
.hero__dots { gap: 5px; }
.hero__dots button {
  position: relative;
  width: 34px;
  height: 3px;
  overflow: hidden;
  background: rgba(255, 255, 255, .3);
}
.hero__dots button.is-active { width: 54px; background: rgba(255, 255, 255, .28); }
.hero__dots button span { position: absolute; inset: 0; background: var(--albalad-white); transform: scaleX(0); transform-origin: left; }
.hero__dots button.is-active span { animation: albalad-progress 5s linear both; }
.hero:hover .hero__dots button.is-active span,
.hero:focus-within .hero__dots button.is-active span { animation-play-state: paused; }
@keyframes albalad-progress { to { transform: scaleX(1); } }

/* Editorial section rhythm and modern category tiles. */
.section-heading { margin-bottom: 34px; }
.section-heading__eyebrow { margin-bottom: 9px; font-size: 10px; letter-spacing: .14em; }
.section-heading h2 { font-size: clamp(32px, 4vw, 50px); letter-spacing: -.04em; }
.text-link {
  min-height: 42px;
  padding: 9px 15px;
  border: 1px solid var(--albalad-border);
  border-radius: 999px;
  background: rgba(255, 255, 255, .7);
  font-size: 11px;
}
.text-link:hover { border-color: var(--albalad-fresh-green); background: var(--albalad-white); }
.category-section { padding-bottom: 48px; }
.category-grid {
  grid-template-columns: repeat(auto-fit, minmax(136px, 156px));
  align-items: start;
  justify-content: start;
  gap: 20px;
}
.category-card {
  position: relative;
  z-index: 0;
  width: 100%;
  max-width: 156px;
  border: 0;
  border-radius: 18px;
  background: transparent;
  box-shadow: none;
}
.category-card:hover,
.category-card:focus-within { z-index: 40; border-color: transparent; box-shadow: none; transform: translateY(-3px); }
.category-card__main { min-height: 0; padding: 0; align-items: flex-start; text-align: start; }
.category-card__image {
  aspect-ratio: 1.28;
  margin-bottom: 11px;
  border: 1px solid var(--albalad-border);
  border-radius: 18px;
  background: var(--albalad-white);
  box-shadow: 0 8px 22px rgba(36, 81, 61, .06);
  transition: border-radius .3s ease, box-shadow .3s ease;
}
.category-card:hover .category-card__image { border-radius: 18px; box-shadow: 0 12px 28px rgba(36, 81, 61, .11); }
.category-card__image img { object-fit: cover; transition: transform .45s ease; }
.category-card:hover .category-card__image img { transform: scale(1.035); }
.category-card__name { font-size: 14px; }
.category-card__count { font-size: 10px; }
.category-card__toggle {
  position: relative;
  z-index: 2;
  width: auto;
  min-height: 30px;
  justify-content: flex-start;
  margin: 4px 0 0;
  padding: 4px 0;
  border: 0;
}
.category-card__labels { inset-inline-start: 0; inset-inline-end: auto; top: calc(100% + 4px); z-index: 50; border-radius: 16px; }

/* Lighter product cards with stronger product photography. */
.product-section { background: transparent; }
.product-section--white { border: 0; background: rgba(255, 255, 255, .58); }
.product-carousel__viewport { padding: 6px 4px 30px; }
.woocommerce ul.products,
ul.products { grid-template-columns: repeat(auto-fill, minmax(168px, 196px)); justify-content: start; gap: 14px; }
.product-carousel__viewport .products li.product {
  width: clamp(168px, 14.5vw, 196px) !important;
}
.woocommerce ul.products li.product,
ul.products li.product {
  padding: 8px 8px 11px;
  border: 0;
  border-radius: 16px;
  background: var(--albalad-white);
  box-shadow: 0 7px 22px rgba(36, 81, 61, .065);
  transition: transform .24s ease, box-shadow .24s ease;
}
.woocommerce ul.products li.product:hover,
ul.products li.product:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(36, 81, 61, .12); }
.woocommerce ul.products li.product a img,
ul.products li.product a img { margin-bottom: 10px; border-radius: 12px; background: var(--albalad-warm-ivory); }

/* Uniform product photography: every card uses the same centre-cropped frame. */
.woocommerce ul.products li.product a img,
ul.products li.product a img,
.product-carousel__viewport .products li.product a img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
}
.live-search-result img,
.woocommerce div.product div.images .flex-control-thumbs img {
  object-fit: cover;
  object-position: center;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title { margin-inline: 4px; font-size: 13px; }
.woocommerce ul.products li.product .price,
ul.products li.product .price { min-height: 27px; margin-inline: 4px; font-size: 17px; }
.stock-label { margin-inline: 4px; }
.loop-quantity { margin-inline: 4px; border-radius: 999px; }
.woocommerce ul.products li.product .button,
ul.products li.product .button { margin-inline: 4px; border-radius: 999px; }
.product-card__favorite button,
.product-card__favorite a { width: 32px; height: 32px; border: 0; box-shadow: 0 5px 16px rgba(36, 81, 61, .1); }
.product-card__favorite { inset-inline-end: 14px; top: 14px; }

/* Rounded weekly-specials island instead of a heavy full-width band. */
.weekly-specials { padding-block: clamp(58px, 7vw, 88px); background: transparent; color: rgba(255, 255, 255, .82); }
.weekly-specials > .container {
  padding: clamp(34px, 5vw, 66px);
  overflow: hidden;
  border-radius: 36px;
  background:
    radial-gradient(circle at 94% 0%, rgba(213, 161, 62, .32), transparent 22rem),
    var(--albalad-forest-green);
  box-shadow: 0 28px 70px rgba(36, 81, 61, .15);
}
.weekly-specials .product-carousel__viewport { margin-inline: -4px; }

/* Bento fulfillment layout. */
.fulfillment-section { border: 0; background: transparent; }
.fulfillment-grid { grid-template-columns: 1.15fr .85fr; grid-template-rows: repeat(2, minmax(220px, auto)); gap: 18px; }
.fulfillment-card {
  min-height: 0;
  padding: clamp(26px, 3vw, 40px);
  border: 0;
  border-radius: 28px;
  box-shadow: 0 14px 38px rgba(36, 81, 61, .07);
  transition: transform .25s ease, box-shadow .25s ease;
}
.fulfillment-card:hover { transform: translateY(-4px); box-shadow: 0 22px 48px rgba(36, 81, 61, .12); }
.fulfillment-card--virginia { grid-row: 1 / span 2; justify-content: center; background: var(--albalad-forest-green); }
.fulfillment-card--shipping { background: rgba(213, 161, 62, .14); }
.fulfillment-card__icon { width: 64px; height: 64px; border-radius: 21px; }
.fulfillment-card h3 { font-size: clamp(23px, 2.4vw, 32px); }
.zip-checker { margin-top: 24px; }
.zip-checker input,
.zip-checker button { border-radius: 999px; }

/* Supporting sections. */
.rewards-section { background: transparent; }
.rewards-card {
  grid-template-columns: 86px minmax(0, 1fr) auto;
  border: 0;
  border-radius: 32px;
  background:
    radial-gradient(circle at 12% 50%, rgba(213, 161, 62, .17), transparent 18rem),
    var(--albalad-white);
  box-shadow: 0 20px 54px rgba(36, 81, 61, .09);
}
.rewards-card__icon { width: 82px; height: 82px; border-radius: 50%; transform: none; }
.store-info {
  border-radius: 32px;
  background: var(--albalad-forest-green);
  box-shadow: 0 26px 64px rgba(36, 81, 61, .14);
}
.store-detail { transition: background .2s ease; }
.store-detail:hover { background: rgba(255, 255, 255, .12); }

/* Footer feels lighter while preserving the identity color. */
.footer-trust { border: 0; background: var(--albalad-white); }
.footer-trust__grid { gap: 1px; overflow: hidden; border: 1px solid var(--albalad-border); border-radius: 24px; transform: translateY(28px); box-shadow: 0 18px 46px rgba(36, 81, 61, .09); }
.footer-trust__grid > div { border: 0; background: var(--albalad-white); }
.site-footer { padding-top: 38px; background: var(--albalad-forest-green); }
.footer-main { padding-top: 78px; }
.site-footer .custom-logo { width: 100px; height: 100px; padding: 8px; border-radius: 24px; background: var(--albalad-warm-ivory); }

/* Scroll entrance motion. */
.reveal-on-scroll { opacity: 0; transform: translateY(34px); transition: opacity .7s ease, transform .75s cubic-bezier(.2, .75, .25, 1); }
.reveal-on-scroll.is-revealed { opacity: 1; transform: translateY(0); }

@media (max-width: 1120px) {
  .header-main__inner { grid-template-columns: 92px minmax(280px, 1fr) auto; }
  .header-account .header-action__copy, .header-optional { display: none; }
  .header-actions { padding: 4px; }
  .category-grid { grid-template-columns: repeat(auto-fit, minmax(128px, 150px)); overflow: visible; padding: 4px; }
  .woocommerce ul.products,
  ul.products { grid-template-columns: repeat(auto-fill, minmax(168px, 196px)); justify-content: start; }
}

@media (max-width: 900px) {
  .container { width: min(calc(100% - 36px), 1360px); }
  .announcement-bar::before, .announcement-bar::after { width: 26px; }
  .announcement-bar__item { padding-inline: 28px; }
  .header-main__inner { min-height: 70px; grid-template-columns: 44px 1fr auto; }
  .site-header.is-compact .header-main__inner { min-height: 64px; }
  .custom-logo, .site-header.is-compact .custom-logo { width: 66px; height: 58px; }
  .header-actions { border: 0; background: transparent; }
  .header-cart { width: 44px; justify-content: center; padding: 5px; background: transparent; color: var(--albalad-forest-green); }
  .header-cart:hover { background: rgba(255, 255, 255, .76); color: var(--albalad-forest-green); }
  .mobile-search { display: block; padding-bottom: 12px; }
  .mobile-search .product-search-form { border-radius: 999px; }
  .hero { padding-top: 10px; }
  .hero .container { width: min(calc(100% - 20px), 1480px); }
  .hero__slides { min-height: 620px; border-radius: 26px; }
  .hero-slide__content { min-height: 620px; padding: 64px 38px 112px; }
  .hero-slide h1, .hero-slide h2 { font-size: clamp(42px, 8vw, 62px); }
  .hero__controls { inset-inline-start: 34px; bottom: 28px; }
  .fulfillment-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
  .fulfillment-card--virginia { grid-column: 1 / -1; grid-row: auto; min-height: 360px; }
  .rewards-card { grid-template-columns: 74px 1fr; }
  .category-grid { grid-template-columns: repeat(auto-fit, minmax(128px, 150px)); }
  .category-card { max-width: 150px; }
  .woocommerce ul.products,
  ul.products { grid-template-columns: repeat(auto-fill, minmax(164px, 190px)); justify-content: start; }
}

@media (max-width: 620px) {
  .container { width: min(calc(100% - 28px), 1360px); }
  .announcement-bar { font-size: 10px; }
  .announcement-bar__item { min-height: 32px; gap: 9px; padding-inline: 20px; }
  .announcement-bar__item p { max-width: 245px; overflow: hidden; text-overflow: ellipsis; }
  .header-main__inner { min-height: 64px; }
  .site-header.is-compact .header-main__inner { min-height: 58px; }
  .custom-logo, .site-header.is-compact .custom-logo { width: 58px; height: 52px; }
  .mobile-search { padding-bottom: 10px; }
  .mobile-search .product-search-form__submit { min-width: 72px; }
  .hero .container { width: calc(100% - 16px); }
  .hero__slides { min-height: 590px; border-radius: 22px; }
  .hero-slide__content { min-height: 590px; justify-content: flex-end; padding: 60px 24px 104px; }
  .hero-slide__media::after {
    background: linear-gradient(180deg, rgba(46, 50, 52, .1) 0%, rgba(36, 81, 61, .34) 37%, rgba(36, 81, 61, .96) 100%);
  }
  .hero-slide h1, .hero-slide h2 { font-size: clamp(36px, 10.7vw, 48px); line-height: 1; }
  .hero-slide p { max-width: 95%; font-size: 13px; line-height: 1.6; }
  .hero-slide .button { min-height: 50px; }
  .hero__controls { inset-inline: 19px auto; bottom: 22px; max-width: calc(100% - 38px); }
  .hero__counter { min-width: 48px; }
  .hero__dots button { width: 18px; }
  .hero__dots button.is-active { width: 30px; }
  .hero__arrow { width: 34px; height: 34px; }
  .home-section { padding: 58px 0; }
  .section-heading { margin-bottom: 26px; }
  .section-heading h2 { font-size: 31px; }
  .section-heading .text-link { margin-top: 20px; }
  .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-inline: 0; padding: 0; gap: 12px; overflow: visible; }
  .category-card { max-width: none; }
  .category-card__image { margin-bottom: 8px; border-radius: 14px; }
  .category-card:hover .category-card__image { border-radius: 14px; }
  .category-card__name { font-size: 12px; }
  .product-carousel__viewport { margin-inline: -14px; padding-inline: 14px; }
  .product-carousel__viewport .products li.product { width: calc((100cqw - 28px) / 2) !important; }
  .woocommerce ul.products,
  ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .weekly-specials { padding: 38px 8px; }
  .weekly-specials > .container { width: 100%; padding: 34px 20px; border-radius: 28px; }
  .fulfillment-grid { grid-template-columns: 1fr; }
  .fulfillment-card--virginia { grid-column: auto; min-height: 0; }
  .fulfillment-card { border-radius: 24px; }
  .rewards-card { border-radius: 26px; }
  .store-info { border-radius: 26px; }
  .footer-trust__grid { border-radius: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .announcement-bar__track { animation: none; }
  .announcement-bar__item[aria-hidden="true"] { display: none; }
  .hero__dots button.is-active span { transform: scaleX(1); }
  .reveal-on-scroll { opacity: 1; transform: none; }
}

/* Version 2.1.8: always-visible, collision-safe header categories. */
.navigation-row {
  border-bottom: 0;
  background: rgba(255, 255, 255, .86);
}
.navigation-row__inner {
  min-height: 42px;
  justify-content: center;
}
.primary-navigation {
  width: 100%;
}
.primary-menu {
  justify-content: center;
  gap: clamp(22px, 2.2vw, 38px);
}
.primary-menu a {
  min-height: 42px;
}
.primary-menu > li > a::after {
  bottom: 4px;
}
.category-rail {
  position: relative;
  z-index: 32;
  border-top: 1px solid rgba(36, 81, 61, .1);
  border-bottom: 1px solid rgba(36, 81, 61, .14);
  background: linear-gradient(90deg, rgba(255, 255, 243, .98), rgba(247, 249, 242, .98));
  box-shadow: 0 8px 22px rgba(36, 81, 61, .045);
}
.category-rail__inner {
  display: flex;
  min-height: 54px;
  align-items: center;
  gap: clamp(12px, 1.5vw, 22px);
  padding-block: 6px;
}
.category-rail__all {
  display: inline-flex;
  min-height: 40px;
  flex: 0 0 auto;
  align-items: center;
  gap: 9px;
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--albalad-forest-green);
  color: var(--albalad-white);
  box-shadow: 0 8px 18px rgba(36, 81, 61, .14);
  font-size: 11px;
  letter-spacing: .015em;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
  white-space: nowrap;
}
.category-rail__all:hover,
.category-rail__all:focus-visible {
  background: var(--albalad-action-orange);
  color: var(--albalad-white);
  box-shadow: 0 10px 22px rgba(185, 101, 69, .18);
  transform: translateY(-1px);
}
.category-rail__all > span {
  display: inline-flex;
}
.category-rail__all svg {
  width: 17px;
  height: 17px;
}
.category-rail__all-mobile {
  display: none;
}
.category-rail__viewport {
  min-width: 0;
  flex: 1 1 auto;
  outline: 0;
}
.category-rail__viewport:focus-visible {
  border-radius: 9px;
  box-shadow: 0 0 0 3px rgba(213, 161, 62, .3);
}
.category-rail .category-menu {
  height: auto;
  min-height: 40px;
  flex-wrap: wrap;
  justify-content: space-between;
  column-gap: clamp(6px, .8vw, 14px);
  row-gap: 2px;
}
.category-rail .category-menu > li {
  height: auto;
  min-height: 40px;
  border-radius: 999px;
}
.category-rail .category-menu__link {
  min-height: 40px;
  padding-inline: 5px;
  border-radius: 999px;
  font-size: 11px;
}
.category-rail .category-menu__toggle {
  width: 23px;
  height: 40px;
}
.category-rail .category-menu__toggle svg {
  width: 13px;
}
.category-rail .category-menu__link::after {
  inset-inline: 5px;
  bottom: 3px;
}
.category-rail .category-menu > li:hover,
.category-rail .category-menu > li:focus-within,
.category-rail .current-product-category {
  background: rgba(36, 81, 61, .065);
}
.category-rail .current-product-category .category-menu__link {
  color: var(--albalad-action-orange);
}
.category-rail .category-menu__labels {
  top: calc(100% + 3px);
  z-index: 180;
}

@media (max-width: 1120px) and (min-width: 901px) {
  .category-rail .category-menu {
    justify-content: flex-start;
  }
}

@media (max-width: 900px) {
  .category-rail__inner {
    width: 100%;
    min-height: 48px;
    gap: 9px;
    padding: 6px 12px;
  }
  .category-rail__all {
    min-height: 36px;
    gap: 7px;
    padding: 7px 11px;
    font-size: 10px;
  }
  .category-rail__all-desktop {
    display: none;
  }
  .category-rail__all-mobile {
    display: inline;
  }
  .category-rail__viewport {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    scroll-snap-type: inline proximity;
    -webkit-overflow-scrolling: touch;
  }
  .category-rail__viewport::-webkit-scrollbar {
    display: none;
  }
  .category-rail .category-menu {
    width: max-content;
    min-height: 36px;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 7px;
  }
  .category-rail .category-menu > li {
    min-height: 36px;
    flex: 0 0 auto;
    border: 1px solid rgba(36, 81, 61, .12);
    background: rgba(255, 255, 255, .9);
    scroll-snap-align: start;
  }
  .category-rail .category-menu__link {
    min-height: 34px;
    padding-inline: 12px;
    font-size: 10.5px;
  }
  .category-rail .category-menu__link::after,
  .category-rail .category-menu__toggle,
  .category-rail .category-menu__labels {
    display: none !important;
  }
}

/* Version 2.1.9: stable departments, translated hover cards, and one tidy catalog drawer. */
.category-rail {
  z-index: 80;
  background: rgba(255, 255, 243, .98);
  box-shadow: 0 10px 26px rgba(36, 81, 61, .055);
}
.category-rail__inner {
  min-height: 72px;
  gap: 12px;
  padding-block: 10px;
}
.category-rail .category-dropdown {
  height: auto;
  flex: 0 0 auto;
}
.category-rail .category-dropdown__toggle {
  min-width: 166px;
  min-height: 48px;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 14px;
  background: var(--albalad-forest-dark);
  box-shadow: 0 9px 22px rgba(36, 81, 61, .17);
  font-size: 12px;
}
.category-rail .category-dropdown__toggle:hover,
.category-rail .category-dropdown__toggle:focus-visible,
.category-rail .category-dropdown__toggle[aria-expanded="true"] {
  background: var(--albalad-action-orange);
  transform: translateY(-1px);
}
.category-dropdown__label-mobile { display: none; }
.category-rail__featured {
  min-width: 0;
  flex: 1 1 auto;
}
.featured-category-menu {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.featured-category {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 48px;
  align-items: stretch;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 14px;
  background: var(--albalad-forest-green);
  box-shadow: 0 7px 16px rgba(36, 81, 61, .1);
  transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.featured-category:hover,
.featured-category:focus-within {
  z-index: 190;
  background: var(--albalad-forest-dark);
  box-shadow: 0 12px 25px rgba(36, 81, 61, .18);
  transform: translateY(-2px);
}
.featured-category.current-product-category {
  box-shadow: 0 0 0 2px var(--albalad-gold), 0 10px 22px rgba(36, 81, 61, .15);
}
.featured-category__link {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 3px 8px 9px;
  color: var(--albalad-white);
  font-size: clamp(10px, .78vw, 12px);
  font-weight: 850;
  line-height: 1.15;
  text-align: center;
}
.featured-category__link:hover,
.featured-category__link:focus { color: var(--albalad-white); }
.featured-category__marker {
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border: 2px solid rgba(255, 255, 255, .85);
  border-radius: 50%;
  background: var(--albalad-gold);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .1);
}
.featured-category__toggle {
  display: grid;
  width: 30px;
  min-height: 46px;
  flex: 0 0 auto;
  place-items: center;
  padding: 0;
  border: 0;
  border-inline-start: 1px solid rgba(255, 255, 255, .13);
  border-radius: 0 13px 13px 0;
  background: transparent;
  color: var(--albalad-white);
}
[dir="rtl"] .featured-category__toggle { border-radius: 13px 0 0 13px; }
.featured-category__toggle:hover,
.featured-category__toggle:focus-visible { background: rgba(255, 255, 255, .1); }
.featured-category__toggle svg {
  width: 13px;
  transition: transform .18s ease;
}
.featured-category__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.featured-category__translations {
  position: absolute;
  inset-inline-start: 0;
  top: calc(100% + 8px);
  z-index: 210;
  width: min(270px, calc(100vw - 32px));
  padding: 8px;
  border: 2px solid var(--albalad-forest-green);
  border-radius: 14px;
  background: var(--albalad-white);
  box-shadow: 0 20px 45px rgba(36, 81, 61, .2);
}
.featured-category:nth-last-child(-n+2) .featured-category__translations {
  inset-inline-start: auto;
  inset-inline-end: 0;
}
.featured-category__translations[hidden] { display: none; }
.featured-category__translations::before {
  position: absolute;
  inset-inline-start: 26px;
  top: -7px;
  width: 11px;
  height: 11px;
  border-top: 2px solid var(--albalad-forest-green);
  border-inline-start: 2px solid var(--albalad-forest-green);
  background: var(--albalad-white);
  content: "";
  transform: rotate(45deg);
}
.featured-category:nth-last-child(-n+2) .featured-category__translations::before {
  inset-inline-start: auto;
  inset-inline-end: 26px;
}
.featured-category__translations-title {
  display: block;
  padding: 4px 9px 8px;
  color: var(--albalad-muted);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.featured-category__translations a {
  display: grid;
  min-height: 54px;
  align-content: center;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 9px;
  color: var(--albalad-forest-green);
}
.featured-category__translations a + a { border-top: 1px solid var(--albalad-border); }
.featured-category__translations a:hover,
.featured-category__translations a:focus { background: var(--albalad-warm-ivory); }
.featured-category__translations small {
  color: var(--albalad-muted);
  font-family: var(--albalad-font);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.featured-category__translations strong { font-size: 14px; line-height: 1.35; }
.featured-category__translations a[lang="ar"] strong {
  font-family: var(--albalad-font-arabic), var(--albalad-font);
  font-size: 18px;
}
.category-rail .category-dropdown__panel {
  top: calc(100% + 10px);
  width: min(920px, calc(100vw - 32px));
  max-height: min(66vh, 570px);
  padding: 18px;
  border: 2px solid var(--albalad-forest-green);
  border-radius: 18px;
  scrollbar-color: var(--albalad-forest-green) #edf2eb;
  scrollbar-width: thin;
}
.category-rail .category-dropdown__heading { padding: 1px 4px 15px; }
.category-rail .category-dropdown__heading > div { display: grid; gap: 2px; }
.category-rail .category-dropdown__heading > div > span {
  color: var(--albalad-action-orange);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.category-rail .category-dropdown__heading strong { font-size: 19px; }
.category-rail .category-dropdown__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.category-rail .category-dropdown__grid a {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) 16px;
  min-height: 64px;
  align-items: center;
  gap: 9px;
  padding: 9px 10px;
  border: 1px solid rgba(36, 81, 61, .13);
  border-radius: 11px;
  background: var(--albalad-white);
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.category-rail .category-dropdown__grid a:hover,
.category-rail .category-dropdown__grid a:focus {
  border-color: var(--albalad-forest-green);
  background: var(--albalad-warm-ivory);
  transform: translateY(-1px);
}
.category-dropdown__item-marker {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--albalad-gold);
  box-shadow: 0 0 0 3px rgba(36, 81, 61, .08);
}
.category-dropdown__item-copy { display: grid; min-width: 0; gap: 3px; }
.category-rail .category-dropdown__grid .category-dropdown__item-copy strong {
  overflow: hidden;
  color: var(--albalad-forest-green);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.category-rail .category-dropdown__grid .category-dropdown__item-copy small {
  overflow: hidden;
  color: var(--albalad-muted);
  font-family: var(--albalad-font-arabic), var(--albalad-font);
  font-size: 10px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.category-rail .category-dropdown__grid a > svg { width: 14px; color: var(--albalad-fresh-green); }

@media (max-width: 1200px) {
  .category-rail__featured { display: none; }
  .category-rail .category-dropdown { width: 100%; }
  .category-rail .category-dropdown__toggle { min-width: 210px; }
}

@media (max-width: 900px) {
  .category-rail__inner {
    min-height: 58px;
    padding: 6px 12px;
  }
  .category-rail .category-dropdown__toggle {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    justify-content: space-between;
    padding-inline: 15px;
  }
  .category-dropdown__label-desktop { display: none; }
  .category-dropdown__label-mobile { display: inline; }
  .category-rail .category-dropdown__panel {
    inset-inline-start: 0;
    width: calc(100vw - 24px);
    max-height: min(62vh, 520px);
    padding: 13px;
    border-radius: 15px;
  }
  .category-rail .category-dropdown__heading { align-items: flex-end; }
  .category-rail .category-dropdown__heading strong { font-size: 17px; }
  .category-rail .category-dropdown__heading a { font-size: 10px; }
  .category-rail .category-dropdown__grid { grid-template-columns: 1fr; gap: 6px; }
  .category-rail .category-dropdown__grid a { min-height: 58px; }
}

/* Version 2.2.0: compact department ribbon and calm click-only catalog. */
.category-rail {
  z-index: 80;
  background: rgba(253, 249, 241, .98);
  box-shadow: 0 8px 24px rgba(36, 93, 56, .055);
}
.category-rail__inner {
  min-height: 60px;
  gap: 10px;
  padding-block: 8px;
}
.category-rail .category-dropdown {
  position: relative;
  z-index: 240;
  width: auto;
  flex: 0 0 auto;
}
.category-rail .category-dropdown__toggle {
  min-width: 178px;
  min-height: 42px;
  justify-content: flex-start;
  gap: 9px;
  padding: 9px 13px;
  border: 1px solid var(--albalad-forest-green);
  border-radius: 10px;
  background: var(--albalad-forest-green);
  box-shadow: 0 7px 17px rgba(36, 93, 56, .14);
  font-size: 11px;
  letter-spacing: .005em;
}
.category-rail .category-dropdown__toggle:hover,
.category-rail .category-dropdown__toggle:focus-visible,
.category-rail .category-dropdown__toggle[aria-expanded="true"] {
  border-color: var(--albalad-forest-dark);
  background: var(--albalad-forest-dark);
  box-shadow: 0 9px 20px rgba(36, 93, 56, .19);
  transform: none;
}
.category-dropdown__menu-icon {
  display: grid;
  place-items: center;
}
.category-dropdown__menu-icon svg {
  width: 17px;
  height: 17px;
}
.category-dropdown__label {
  flex: 1 1 auto;
  text-align: start;
}
.category-dropdown__chevron {
  display: grid;
  place-items: center;
}
.category-dropdown__chevron svg {
  width: 12px;
  transition: transform .18s ease;
}
.category-dropdown__toggle[aria-expanded="true"] .category-dropdown__chevron svg {
  transform: rotate(180deg);
}
.category-rail__featured {
  display: block;
  min-width: 0;
  flex: 1 1 auto;
}
.featured-category-menu {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.featured-category {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 42px;
  align-items: stretch;
  border: 1px solid rgba(36, 93, 56, .22);
  border-radius: 10px;
  background: rgba(255, 255, 255, .83);
  box-shadow: inset 0 -2px 0 rgba(89, 146, 89, .2);
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.featured-category:hover,
.featured-category:focus-within {
  z-index: 190;
  border-color: var(--albalad-fresh-green);
  background: var(--albalad-white);
  box-shadow: inset 0 -2px 0 var(--albalad-fresh-green), 0 8px 18px rgba(36, 93, 56, .09);
  transform: none;
}
.featured-category.current-product-category {
  border-color: var(--albalad-forest-green);
  background: rgba(89, 146, 89, .1);
  box-shadow: inset 0 -2px 0 var(--albalad-forest-green);
}
.featured-category__link {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  justify-content: flex-start;
  padding: 8px 4px 8px 11px;
  color: var(--albalad-forest-dark);
  font-size: clamp(9.5px, .69vw, 11px);
  font-weight: 850;
  line-height: 1.15;
  text-align: start;
}
.featured-category__link span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.featured-category__link:hover,
.featured-category__link:focus {
  color: var(--albalad-forest-green);
}
.featured-category__toggle {
  display: grid;
  width: 48px;
  min-height: 40px;
  flex: 0 0 auto;
  place-items: center;
  padding: 0;
  border: 0;
  border-inline-start: 1px solid rgba(36, 93, 56, .13);
  border-radius: 0 9px 9px 0;
  background: transparent;
  color: var(--albalad-fresh-green);
}
[dir="rtl"] .featured-category__toggle {
  border-radius: 9px 0 0 9px;
}
.featured-category__toggle > span[aria-hidden="true"] {
  font-size: 7.5px;
  font-weight: 900;
  letter-spacing: .02em;
  white-space: nowrap;
}
.featured-category__toggle:hover,
.featured-category__toggle:focus-visible,
.featured-category__toggle[aria-expanded="true"] {
  background: rgba(89, 146, 89, .1);
  color: var(--albalad-forest-dark);
}
.featured-category__translations {
  position: absolute;
  inset-inline-start: 0;
  top: calc(100% + 7px);
  z-index: 250;
  width: min(234px, calc(100vw - 32px));
  padding: 6px;
  border: 1px solid var(--albalad-fresh-green);
  border-radius: 11px;
  background: var(--albalad-white);
  box-shadow: 0 17px 38px rgba(36, 93, 56, .16);
}
.featured-category:nth-last-child(-n+3) .featured-category__translations {
  inset-inline-start: auto;
  inset-inline-end: 0;
}
.featured-category__translations::before {
  inset-inline-start: 25px;
  top: -5px;
  width: 8px;
  height: 8px;
  border-top: 1px solid var(--albalad-fresh-green);
  border-inline-start: 1px solid var(--albalad-fresh-green);
}
.featured-category:nth-last-child(-n+3) .featured-category__translations::before {
  inset-inline-start: auto;
  inset-inline-end: 25px;
}
.featured-category__translations-title {
  padding: 4px 7px 6px;
  color: var(--albalad-forest-dark);
  font-size: 9px;
  letter-spacing: .02em;
  text-transform: none;
}
.featured-category__translations a {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  min-height: 40px;
  align-items: center;
  gap: 7px;
  padding: 6px 7px;
  border-radius: 7px;
}
.featured-category__translations small {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  background: rgba(89, 146, 89, .11);
  color: var(--albalad-forest-green);
  font-size: 8px;
  letter-spacing: 0;
}
.featured-category__translations strong {
  font-size: 12px;
  line-height: 1.3;
}
.featured-category__translations a[lang="ar"] strong {
  font-size: 16px;
}
.category-rail .category-dropdown__panel {
  inset-inline-start: 0;
  top: calc(100% + 8px);
  width: min(840px, calc(100vw - 32px));
  max-height: min(58vh, 430px);
  padding: 15px;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid rgba(36, 93, 56, .34);
  border-radius: 14px;
  background: var(--albalad-white);
  box-shadow: 0 22px 55px rgba(36, 93, 56, .18);
}
.category-rail .category-dropdown__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 1px 2px 11px;
  border-bottom: 1px solid var(--albalad-border);
}
.category-rail .category-dropdown__heading > div:first-child {
  display: grid;
  gap: 1px;
}
.category-rail .category-dropdown__heading > div:first-child > span {
  color: var(--albalad-action-orange);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.category-rail .category-dropdown__heading strong {
  color: var(--albalad-forest-dark);
  font-size: 17px;
}
.category-dropdown__heading-actions {
  display: flex;
  align-items: center;
  gap: 9px;
}
.category-dropdown__heading-actions > a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--albalad-action-orange);
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}
.category-dropdown__heading-actions > a svg {
  width: 14px;
}
.category-dropdown__close {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(36, 93, 56, .18);
  border-radius: 50%;
  background: var(--albalad-warm-ivory);
  color: var(--albalad-forest-dark);
  font-size: 20px;
  line-height: 1;
}
.category-dropdown__close:hover,
.category-dropdown__close:focus-visible {
  border-color: var(--albalad-forest-green);
  background: var(--albalad-forest-green);
  color: var(--albalad-white);
}
.category-rail .category-dropdown__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 11px;
}
.category-rail .category-dropdown__grid a {
  display: grid;
  grid-template-columns: 7px minmax(0, 1fr);
  min-height: 49px;
  align-items: center;
  gap: 8px;
  padding: 7px 9px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: rgba(253, 249, 241, .55);
  transition: border-color .15s ease, background .15s ease;
}
.category-rail .category-dropdown__grid a:hover,
.category-rail .category-dropdown__grid a:focus {
  border-color: rgba(89, 146, 89, .45);
  background: rgba(89, 146, 89, .09);
  transform: none;
}
.category-dropdown__item-marker {
  width: 5px;
  height: 5px;
  background: var(--albalad-gold);
  box-shadow: none;
}
.category-rail .category-dropdown__grid .category-dropdown__item-copy {
  gap: 1px;
}
.category-rail .category-dropdown__grid .category-dropdown__item-copy strong {
  font-size: 10.5px;
}
.category-rail .category-dropdown__grid .category-dropdown__item-copy small {
  color: var(--albalad-muted);
  font-family: var(--albalad-font);
  font-size: 8.5px;
  line-height: 1.2;
}

@media (max-width: 1180px) and (min-width: 901px) {
  .category-rail .category-dropdown__toggle {
    min-width: 164px;
  }
  .featured-category-menu {
    gap: 5px;
  }
  .featured-category__link {
    padding-inline-start: 8px;
    font-size: 9px;
  }
  .featured-category__toggle {
    width: 38px;
  }
  .featured-category__toggle > span[aria-hidden="true"] {
    font-size: 6.5px;
  }
}

@media (max-width: 1050px) {
  .category-rail__featured {
    display: none;
  }
  .category-rail .category-dropdown {
    width: 100%;
  }
}

@media (max-width: 900px) {
  .category-rail__inner {
    min-height: 54px;
    padding: 6px 12px;
  }
  .category-rail .category-dropdown__toggle {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding-inline: 13px;
  }
  .category-rail .category-dropdown__panel {
    inset-inline-start: 0;
    width: calc(100vw - 24px);
    max-height: min(64vh, 520px);
    padding: 12px;
    border-radius: 12px;
  }
  .category-rail .category-dropdown__heading {
    align-items: center;
    gap: 10px;
  }
  .category-rail .category-dropdown__heading strong {
    font-size: 15px;
  }
  .category-dropdown__heading-actions > a {
    display: none;
  }
  .category-rail .category-dropdown__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
  }
  .category-rail .category-dropdown__grid a {
    min-height: 48px;
  }
}

@media (max-width: 520px) {
  .category-rail .category-dropdown__grid {
    grid-template-columns: 1fr;
  }
}

/* Version 2.2.1: readable department sidebar with translation preview. */
.navigation-row {
  position: relative;
  z-index: 80;
  overflow: visible;
  border-top: 1px solid rgba(36, 81, 61, .08);
  border-bottom: 1px solid rgba(36, 81, 61, .12);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 7px 22px rgba(36, 81, 61, .045);
}
.navigation-row__inner {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr) 200px;
  min-height: 58px;
  align-items: center;
  gap: 18px;
  padding-block: 6px;
}
.navigation-row__departments,
.navigation-row__balance {
  width: 200px;
}
.navigation-row__departments {
  position: relative;
  z-index: 260;
}
.navigation-row__departments .category-dropdown,
.navigation-row__departments .category-dropdown__toggle {
  width: 100%;
}
.navigation-row__departments .category-dropdown__toggle {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding: 9px 13px;
  border: 1px solid var(--albalad-forest-green);
  border-radius: 10px;
  background: var(--albalad-forest-green);
  color: var(--albalad-white);
  box-shadow: 0 7px 17px rgba(36, 81, 61, .14);
  font-size: 11px;
  font-weight: 850;
}
.navigation-row__departments .category-dropdown__toggle:hover,
.navigation-row__departments .category-dropdown__toggle:focus-visible,
.navigation-row__departments .category-dropdown__toggle[aria-expanded="true"] {
  background: var(--albalad-forest-dark);
  color: var(--albalad-white);
}
.navigation-row__departments .category-dropdown__menu-icon,
.navigation-row__departments .category-dropdown__chevron {
  display: grid;
  place-items: center;
}
.navigation-row__departments .category-dropdown__menu-icon svg {
  width: 17px;
  height: 17px;
}
.navigation-row__departments .category-dropdown__label {
  min-width: 0;
  flex: 1 1 auto;
  text-align: start;
  white-space: nowrap;
}
.navigation-row__departments .category-dropdown__chevron svg {
  width: 12px;
  transition: transform .18s ease;
}
.navigation-row__departments .category-dropdown__toggle[aria-expanded="true"] .category-dropdown__chevron svg {
  transform: rotate(180deg);
}
.navigation-row__departments .category-dropdown__panel {
  position: absolute;
  inset-inline-start: 0;
  top: calc(100% + 7px);
  z-index: 280;
  width: min(820px, calc(100vw - 32px));
  max-height: none;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(36, 81, 61, .3);
  border-radius: 14px;
  background: var(--albalad-white);
  box-shadow: 0 24px 62px rgba(36, 81, 61, .2);
}
.category-dropdown__panel[hidden] {
  display: none !important;
}
.navigation-row__departments .category-dropdown__heading {
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 13px 16px;
  border-bottom: 1px solid var(--albalad-border);
  background: var(--albalad-white);
}
.navigation-row__departments .category-dropdown__heading > div:first-child {
  display: grid;
  gap: 1px;
}
.navigation-row__departments .category-dropdown__heading > div:first-child > span {
  color: var(--albalad-action-orange);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.navigation-row__departments .category-dropdown__heading strong {
  color: var(--albalad-forest-dark);
  font-size: 18px;
}
.navigation-row__departments .category-dropdown__heading small {
  color: var(--albalad-muted);
  font-family: var(--albalad-font);
  font-size: 9px;
  font-weight: 600;
}
.navigation-row__departments .category-dropdown__heading-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.navigation-row__departments .category-dropdown__heading-actions > a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--albalad-action-orange);
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}
.navigation-row__departments .category-dropdown__heading-actions > a svg {
  width: 14px;
}
.navigation-row__departments .category-dropdown__close {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(36, 81, 61, .2);
  border-radius: 50%;
  background: var(--albalad-warm-ivory);
  color: var(--albalad-forest-dark);
  font-size: 21px;
  line-height: 1;
}
.navigation-row__departments .category-dropdown__close:hover,
.navigation-row__departments .category-dropdown__close:focus-visible {
  border-color: var(--albalad-forest-green);
  background: var(--albalad-forest-green);
  color: var(--albalad-white);
}
.department-browser {
  display: grid;
  grid-template-columns: 310px minmax(0, 1fr);
  min-height: 410px;
  max-height: 430px;
}
.department-browser__sidebar {
  overflow-y: auto;
  border-inline-end: 1px solid var(--albalad-border);
  background: #fbfaf5;
  scrollbar-color: rgba(36, 81, 61, .5) transparent;
  scrollbar-width: thin;
}
.department-browser__sidebar ul {
  display: grid;
  gap: 3px;
  margin: 0;
  padding: 9px;
  list-style: none;
}
.department-browser__item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  min-height: 54px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  transition: border-color .15s ease, background .15s ease;
}
.department-browser__item.is-featured {
  border-color: rgba(89, 146, 89, .2);
  background: rgba(89, 146, 89, .08);
}
.department-browser__item:hover,
.department-browser__item:focus-within,
.department-browser__item.is-active {
  border-color: var(--albalad-forest-green);
  background: var(--albalad-forest-green);
}
.department-browser__category-link {
  display: grid;
  min-width: 0;
  align-content: center;
  gap: 2px;
  padding: 8px 5px 8px 12px;
  color: var(--albalad-forest-dark);
}
.department-browser__category-link > span {
  overflow: hidden;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.department-browser__category-link small {
  color: var(--albalad-muted);
  font-family: var(--albalad-font);
  font-size: 9px;
  font-weight: 600;
}
.department-browser__item:hover .department-browser__category-link,
.department-browser__item:focus-within .department-browser__category-link,
.department-browser__item.is-active .department-browser__category-link,
.department-browser__item:hover .department-browser__category-link small,
.department-browser__item:focus-within .department-browser__category-link small,
.department-browser__item.is-active .department-browser__category-link small {
  color: var(--albalad-white);
}
.department-browser__preview-button {
  display: grid;
  min-width: 42px;
  min-height: 52px;
  place-items: center;
  padding: 0;
  border: 0;
  border-inline-start: 1px solid rgba(36, 81, 61, .11);
  background: transparent;
  color: var(--albalad-fresh-green);
}
.department-browser__preview-button svg {
  width: 14px;
}
.department-browser__item:hover .department-browser__preview-button,
.department-browser__item:focus-within .department-browser__preview-button,
.department-browser__item.is-active .department-browser__preview-button {
  border-color: rgba(255, 255, 255, .2);
  color: var(--albalad-white);
}
.department-browser__mobile-translations {
  display: none;
}
.department-browser__details {
  position: relative;
  min-width: 0;
  padding: 28px;
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 12%, rgba(213, 161, 62, .14), transparent 34%),
    linear-gradient(145deg, #fff, #fbfcf8);
}
.department-browser__detail {
  display: grid;
  height: 100%;
  align-content: start;
}
.department-browser__detail[hidden] {
  display: none;
}
.department-browser__eyebrow {
  margin-bottom: 5px;
  color: var(--albalad-action-orange);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.department-browser__detail h3 {
  margin: 0 0 22px;
  color: var(--albalad-forest-dark);
  font-size: 24px;
}
.department-browser__translation-list {
  display: grid;
  gap: 10px;
}
.department-browser__translation-list > a {
  display: grid;
  min-height: 90px;
  align-content: center;
  gap: 5px;
  padding: 15px 17px;
  border: 1px solid rgba(36, 81, 61, .32);
  border-radius: 12px;
  background: var(--albalad-white);
  color: var(--albalad-forest-dark);
  box-shadow: 0 8px 20px rgba(36, 81, 61, .055);
}
.department-browser__translation-list > a:hover,
.department-browser__translation-list > a:focus {
  border-color: var(--albalad-fresh-green);
  background: rgba(89, 146, 89, .055);
}
.department-browser__translation-list small {
  color: var(--albalad-fresh-green);
  font-family: var(--albalad-font);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.department-browser__translation-list strong {
  font-size: 18px;
  line-height: 1.35;
}
.department-browser__translation-list a[lang="ar"] strong {
  font-family: var(--albalad-font-arabic), var(--albalad-font);
  font-size: 26px;
}
.department-browser__shop-link {
  display: inline-flex;
  min-height: 44px;
  width: fit-content;
  align-items: center;
  gap: 9px;
  margin-top: 18px;
  padding: 9px 15px;
  border-radius: 9px;
  background: var(--albalad-action-orange);
  color: var(--albalad-white);
  font-size: 11px;
  font-weight: 850;
}
.department-browser__shop-link:hover,
.department-browser__shop-link:focus {
  background: #a9471c;
  color: var(--albalad-white);
}
.department-browser__shop-link svg {
  width: 14px;
}
.category-rail--mobile {
  display: none;
}

@media (max-width: 1100px) and (min-width: 901px) {
  .navigation-row__inner {
    grid-template-columns: 186px minmax(0, 1fr) 186px;
    gap: 10px;
  }
  .navigation-row__departments,
  .navigation-row__balance {
    width: 186px;
  }
  .primary-menu {
    gap: 18px;
  }
}

@media (max-width: 900px) {
  .category-rail--mobile {
    display: block;
  }
  .category-rail--mobile .category-rail__inner,
  .category-rail--mobile .category-dropdown {
    width: 100%;
  }
  .category-rail--mobile .category-dropdown__panel {
    inset-inline-start: 0;
    width: calc(100vw - 24px);
    max-height: min(70vh, 620px);
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid rgba(36, 81, 61, .3);
    border-radius: 12px;
    background: var(--albalad-white);
  }
  .category-rail--mobile .category-dropdown__heading {
    align-items: center;
    padding: 12px;
  }
  .category-rail--mobile .category-dropdown__heading > div:first-child {
    display: grid;
    gap: 1px;
  }
  .category-rail--mobile .category-dropdown__heading > div:first-child > span {
    color: var(--albalad-action-orange);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
  }
  .category-rail--mobile .category-dropdown__heading strong {
    font-size: 16px;
  }
  .category-rail--mobile .category-dropdown__heading small,
  .category-rail--mobile .category-dropdown__heading-actions > a {
    display: none;
  }
  .department-browser {
    display: block;
    min-height: 0;
    max-height: none;
  }
  .department-browser__sidebar {
    overflow: visible;
    border-inline-end: 0;
    background: #fbfaf5;
  }
  .department-browser__sidebar ul {
    gap: 6px;
    padding: 9px;
  }
  .department-browser__item {
    grid-template-columns: minmax(0, 1fr) 46px;
    min-height: 56px;
    border-color: rgba(36, 81, 61, .14);
    background: var(--albalad-white);
  }
  .department-browser__item.is-featured {
    border-color: rgba(89, 146, 89, .38);
    background: rgba(89, 146, 89, .08);
  }
  .department-browser__item:hover,
  .department-browser__item:focus-within,
  .department-browser__item.is-active {
    border-color: var(--albalad-forest-green);
    background: var(--albalad-white);
  }
  .department-browser__category-link {
    padding-inline-start: 12px;
  }
  .department-browser__category-link > span {
    font-size: 13px;
  }
  .department-browser__item:hover .department-browser__category-link,
  .department-browser__item:focus-within .department-browser__category-link,
  .department-browser__item.is-active .department-browser__category-link {
    color: var(--albalad-forest-dark);
  }
  .department-browser__item:hover .department-browser__category-link small,
  .department-browser__item:focus-within .department-browser__category-link small,
  .department-browser__item.is-active .department-browser__category-link small {
    color: var(--albalad-muted);
  }
  .department-browser__preview-button {
    min-width: 46px;
    min-height: 54px;
    border-color: rgba(36, 81, 61, .12);
    color: var(--albalad-forest-green);
  }
  .department-browser__item:hover .department-browser__preview-button,
  .department-browser__item:focus-within .department-browser__preview-button,
  .department-browser__item.is-active .department-browser__preview-button {
    border-color: rgba(36, 81, 61, .12);
    background: rgba(89, 146, 89, .08);
    color: var(--albalad-forest-green);
  }
  .department-browser__preview-button[aria-expanded="true"] svg {
    transform: rotate(90deg);
  }
  .department-browser__mobile-translations {
    grid-column: 1 / -1;
    padding: 7px;
    border-top: 1px solid rgba(36, 81, 61, .13);
    background: var(--albalad-white);
  }
  .department-browser__mobile-translations:not([hidden]) {
    display: grid;
    gap: 6px;
  }
  .department-browser__mobile-translations a {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    min-height: 44px;
    align-items: center;
    gap: 9px;
    padding: 7px 9px;
    border: 1px solid rgba(36, 81, 61, .25);
    border-radius: 8px;
    color: var(--albalad-forest-dark);
  }
  .department-browser__mobile-translations small {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: rgba(89, 146, 89, .11);
    color: var(--albalad-forest-green);
    font-size: 8px;
    font-weight: 900;
  }
  .department-browser__mobile-translations strong {
    font-size: 13px;
  }
  .department-browser__mobile-translations a[lang="ar"] strong {
    font-family: var(--albalad-font-arabic), var(--albalad-font);
    font-size: 18px;
  }
  .department-browser__details {
    display: none;
  }
}

/* Version 2.2.2: guaranteed sidebar scrolling and balanced translation scale. */
.navigation-row__departments .category-dropdown__panel {
  width: min(760px, calc(100vw - 32px));
}
.navigation-row__departments .category-dropdown__heading {
  min-height: 66px;
  padding: 10px 14px;
}
.navigation-row__departments .category-dropdown__heading strong {
  font-size: 16px;
}
.navigation-row__departments .category-dropdown__heading small {
  font-size: 8.5px;
}
.department-browser {
  grid-template-columns: 292px minmax(0, 1fr);
  width: 100%;
  height: 380px;
  min-height: 0;
  max-height: 380px;
  overflow: hidden;
}
.department-browser__sidebar {
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  overflow-x: hidden;
  overflow-y: scroll;
  overscroll-behavior-y: contain;
  scrollbar-color: var(--albalad-forest-green) rgba(36, 81, 61, .08);
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}
.department-browser__sidebar::-webkit-scrollbar {
  width: 9px;
}
.department-browser__sidebar::-webkit-scrollbar-track {
  background: rgba(36, 81, 61, .07);
}
.department-browser__sidebar::-webkit-scrollbar-thumb {
  border: 2px solid #f4f6ef;
  border-radius: 999px;
  background: var(--albalad-forest-green);
}
.department-browser__sidebar ul {
  min-height: max-content;
  padding: 7px;
}
.department-browser__item {
  min-height: 49px;
}
.department-browser__category-link {
  padding-block: 6px;
}
.department-browser__category-link > span {
  font-size: 12px;
}
.department-browser__preview-button {
  min-height: 47px;
}
.department-browser__details {
  min-height: 0;
  padding: 21px 23px;
}
.department-browser__eyebrow {
  margin-bottom: 3px;
  font-size: 8px;
}
.department-browser__detail h3 {
  margin-bottom: 14px;
  font-size: 19px;
}
.department-browser__translation-list {
  gap: 8px;
}
.department-browser__translation-list > a {
  min-height: 68px;
  gap: 3px;
  padding: 10px 13px;
  border-radius: 10px;
}
.department-browser__translation-list small {
  font-size: 8px;
}
.department-browser__translation-list strong {
  font-size: 15px;
}
.department-browser__translation-list a[lang="ar"] strong {
  font-size: 20px;
}
.department-browser__shop-link {
  min-height: 40px;
  margin-top: 13px;
  padding: 8px 13px;
  font-size: 10px;
}

@media (max-width: 900px) {
  .category-rail--mobile .category-dropdown__panel {
    width: calc(100vw - 24px);
  }
  .department-browser {
    display: block;
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
  }
  .department-browser__sidebar {
    height: auto;
    max-height: none;
    overflow: visible;
    scrollbar-gutter: auto;
    touch-action: auto;
  }
  .department-browser__sidebar ul {
    min-height: 0;
    padding: 9px;
  }
  .department-browser__item {
    min-height: 56px;
  }
  .department-browser__category-link > span {
    font-size: 13px;
  }
  .department-browser__preview-button {
    min-height: 54px;
  }
}

/* Version 2.2.3: extra-compact desktop translation panel. */
.navigation-row__departments .category-dropdown__panel {
  width: min(680px, calc(100vw - 32px));
}
.navigation-row__departments .category-dropdown__heading {
  min-height: 58px;
  padding: 8px 12px;
}
.navigation-row__departments .category-dropdown__heading strong {
  font-size: 15px;
}
.navigation-row__departments .category-dropdown__heading small {
  display: none;
}
.navigation-row__departments .category-dropdown__heading-actions > a {
  font-size: 9px;
}
.navigation-row__departments .category-dropdown__close {
  width: 28px;
  height: 28px;
  font-size: 18px;
}
.department-browser {
  grid-template-columns: 260px minmax(0, 1fr);
  height: 300px;
  max-height: 300px;
}
.department-browser__details {
  padding: 15px 17px;
}
.department-browser__eyebrow {
  margin-bottom: 2px;
  font-size: 7px;
}
.department-browser__detail h3 {
  margin-bottom: 10px;
  font-size: 16px;
}
.department-browser__translation-list {
  gap: 6px;
}
.department-browser__translation-list > a {
  min-height: 54px;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 9px;
}
.department-browser__translation-list small {
  font-size: 7px;
}
.department-browser__translation-list strong {
  font-size: 13px;
}
.department-browser__translation-list a[lang="ar"] strong {
  font-size: 17px;
}
.department-browser__shop-link {
  min-height: 36px;
  margin-top: 10px;
  padding: 7px 11px;
  font-size: 9px;
}

@media (max-width: 900px) {
  .department-browser {
    height: auto;
    max-height: none;
  }
}

/* Mobile predictive search dropdown (2.2.6).
   The mobile search region needs its own positioning context so its results
   panel anchors to the mobile input instead of the page. */
.mobile-search { position: relative; }
.mobile-search .live-search-results { top: calc(100% - 3px); max-height: min(420px, 60vh); }


/* Version 2.2.12 -- Batch A, Part 1: mobile navigation containing-block repair. .site-header's backdrop-filter and its fill-mode:both entrance animation each independently establish a CSS containing block for position:fixed descendants, trapping #mobile-navigation inside the header's own ~169-175px box instead of the real viewport and collapsing the open menu to a ~58px scrollable sliver with the homepage hero still visible and clickable behind it. Neutralizing only backdrop-filter/transform/animation on .site-header, only while body.menu-open is present, and only at the same <=900px breakpoint the mobile navigation itself already uses, lets the existing #mobile-navigation "top: var(--mobile-nav-top); bottom: 0;" rule resolve against the real viewport as originally authored, with no change to desktop and no change to the header's normal menu-closed mobile appearance or scroll animation. .mobile-navigation's own background (#fffff3, fully opaque) already covers the corrected full-height panel, so no extra backdrop element is needed to block interaction with the page underneath. */

@media (max-width: 900px) {
  body.menu-open .site-header {
    animation: none;
    transform: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

/* Version 2.2.12 -- Batch A, Part 2: product-card grid-track width repair. WooCommerce's woocommerce-layout.css sets ul.products li.product width to 22.05 percent at identical specificity to this theme's own width:auto rule, and it loads after this file, so it wins the source-order tie and shrinks every card to roughly a fifth of its grid track on Shop, category, search, homepage carousels and Related Products. Repeating the .product class selector raises specificity enough to win outright, with no importance flag needed and no WooCommerce file changed. */
.woocommerce ul.products li.product.product,
.woocommerce-page ul.products li.product.product,
ul.products li.product.product {
  width: 100%;
}


/* ==========================================================================
   Albalad by Thimar — Mobile Polish Batch B (v2.2.13)
   Theme-only, mobile-scoped refinements per the saved Stage 1 audit and the
   Batch B implementation brief. All rules below are additive overrides that
   win by source order / specificity; no existing rule was deleted or
   rewritten. Desktop (>900px unless noted) is not targeted except where a
   rule is explicitly unscoped and was already unscoped before this batch.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Section 1 — Product-card compactness (mobile grid, ~8-10% shorter)
   Applies everywhere ul.products renders: Shop, categories, search results,
   homepage carousels (Weekly Specials), Related Products, upsells/cross-sells.
   -------------------------------------------------------------------------- */
@media (max-width: 620px) {
  .woocommerce ul.products, ul.products { gap: 8px; }
  .woocommerce ul.products li.product, ul.products li.product { padding: 7px; }
  .woocommerce ul.products li.product a img { margin-bottom: 8px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  ul.products li.product .woocommerce-loop-product__title {
    min-height: 2.6em;
    margin-bottom: 4px;
    line-height: 1.3;
  }
  .product-card__package { min-height: 16px; margin-bottom: 3px; }
  .stock-label { min-height: 20px; margin-bottom: 6px; }
  .woocommerce ul.products li.product .price,
  ul.products li.product .price { min-height: 27px; margin-bottom: 7px; }
  .loop-quantity { min-height: 36px; margin-bottom: 6px; }
}

/* --------------------------------------------------------------------------
   Section 2 — Inner-page banner correction (.internal-hero)
   Utility pages (Cart, Checkout, My Account) get the most compact functional
   treatment. Informational pages (About, Contact, FAQ, policies, and any
   other default page using page.php) keep restrained branded styling with
   the decorative height removed. Shop/category/search pages never used
   .internal-hero and are handled separately in Section 5.
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .internal-hero__inner { min-height: 0; padding-block: 40px 34px; }
  .internal-hero h1 { margin-bottom: 10px; }
  .internal-hero .breadcrumbs { position: static; margin-bottom: 10px; }

  body.woocommerce-cart .internal-hero__inner,
  body.woocommerce-checkout .internal-hero__inner,
  body.woocommerce-account .internal-hero__inner {
    padding-block: 22px 16px;
  }
  body.woocommerce-cart .internal-hero__mark,
  body.woocommerce-checkout .internal-hero__mark,
  body.woocommerce-account .internal-hero__mark {
    display: none;
  }
  body.woocommerce-cart .internal-hero h1,
  body.woocommerce-checkout .internal-hero h1,
  body.woocommerce-account .internal-hero h1 {
    margin-bottom: 2px;
    font-size: clamp(24px, 6.5vw, 32px);
  }
  body.woocommerce-cart .internal-hero .breadcrumbs,
  body.woocommerce-checkout .internal-hero .breadcrumbs,
  body.woocommerce-account .internal-hero .breadcrumbs {
    margin-bottom: 4px;
  }
}

/* --------------------------------------------------------------------------
   Section 3 — Header and navigation polish
   -------------------------------------------------------------------------- */

/* Issue 4: mobile search submit button was ~34px tall, 10px short of the
   44px touch-target minimum. Explicit min-height guarantees the target
   regardless of the surrounding flex/grid alignment mode. */
@media (max-width: 900px) {
  .mobile-search .product-search-form__submit { min-height: 44px; }
}

/* Issue 9: iPhone safe-area support. Paired with the viewport-fit=cover
   change in header.php — without that meta value these env() calls always
   resolve to 0 and are a harmless no-op on devices without a safe area. */
@supports (padding: max(0px)) {
  .site-header { padding-top: env(safe-area-inset-top, 0px); }
  .mobile-navigation { padding-bottom: max(24px, env(safe-area-inset-bottom, 0px)); }
  .site-footer { padding-bottom: env(safe-area-inset-bottom, 0px); }
}

/* Issue 8 (CSS/markup-consistency part only — the imagery/business-decision
   part of Issue 8 is intentionally excluded, see report). The AR/ES
   translation toggle already exists and already works ([hidden] + JS), but
   its expanded state rendered as plain full-width rows indistinguishable
   from top-level links. This gives the expanded panel a compact, clearly
   indented accordion treatment, consistent with the featured-category
   translation styling already used elsewhere in the theme. */
@media (max-width: 900px) {
  .mobile-categories .category-menu__labels {
    margin: 2px 0 6px;
    padding-inline-start: 14px;
    border-inline-start: 2px solid var(--albalad-border);
  }
  .mobile-categories .category-menu__labels a {
    min-height: 38px;
    padding: 7px 10px;
    font-size: 13px;
  }
}

/* Broader reduced-motion coverage (Section 10 / accessibility). */
@media (prefers-reduced-motion: reduce) {
  .site-header,
  .hero-slide,
  .hero__slides,
  .reveal-on-scroll,
  .announcement-bar__track,
  .category-menu__toggle svg {
    transition: none;
    animation: none;
  }
}

/* --------------------------------------------------------------------------
   Section 4 — Homepage mobile polish
   -------------------------------------------------------------------------- */

/* Hero: impressive but not excessively tall. Current mobile hero filled
   nearly the whole first screen (620px at <=900px, 570px at <=620px). */
@media (max-width: 900px) {
  .hero__slides, .hero-slide__content { min-height: 480px; }
}
@media (max-width: 620px) {
  .hero__slides, .hero-slide__content { min-height: 440px; }
}

/* Section rhythm: reduce excessive vertical gaps between homepage sections
   on small screens without changing section order or content. */
@media (max-width: 620px) {
  .home-section { padding: 40px 0; }
}

/* Prevent the sticky/compact header from clipping page and section
   headings when the browser scrolls to an anchor or on restored scroll
   position (Section 3 + Section 4 requirement). */
h1, h2, h3, .section-heading, .internal-hero {
  scroll-margin-top: 100px;
}

/* Remove the unstyled native horizontal scrollbar on the product carousels
   (Weekly Specials, homepage product rails) on WebKit/Blink mobile
   browsers. The existing prev/next arrow controls and touch-swipe remain
   fully available; nothing about scroll behavior changes. */
.product-carousel__viewport {
  scrollbar-width: none;
}
.product-carousel__viewport::-webkit-scrollbar {
  display: none;
}

/* --------------------------------------------------------------------------
   Section 9 — Footer touch targets
   Comfortable tap height on mobile without inflating the desktop footer.
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .footer-column a, .footer-widget a { display: inline-block; padding: 10px 0; }
  .footer-column li, .footer-widget li { margin-bottom: 0; }
  .legal-menu a { padding: 8px 0; }
}

/* --------------------------------------------------------------------------
   Section 10 — General quality: visible keyboard focus states.
   -------------------------------------------------------------------------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--albalad-forest-green);
  outline-offset: 2px;
}


/* ==========================================================================
   Albalad by Thimar — Final Mobile Carousel Card Correction (v2.2.14)
   Scoped exclusively to the horizontal product-carousel card component
   (.product-carousel__viewport .products li.product) as used by Featured
   Products, Weekly Specials, and Popular Products on the homepage. The
   Shop/category ul.products grid is NOT touched by anything in this block —
   every selector here is qualified under .product-carousel__viewport so it
   cannot reach the grid. Related Products on the product page uses a plain
   ul.products grid, not this carousel component, so it is unaffected too.
   No product image file is edited; only the image container's object-fit
   and box proportions change. The width rule immediately above this block
   (inside the existing @media (max-width: 620px) rule) was edited in place
   to replace a flat vw-capped width that stopped growing past ~164px and
   left an increasingly large sliver of a third card exposed on wider
   phones; it now sizes two cards to exactly fill each carousel's own
   measured width via a CSS container query, so it self-corrects per
   carousel instance regardless of that carousel's surrounding padding.
   ========================================================================== */
@media (max-width: 620px) {
  /* Establishes the container-query context the width formula above (and
     nothing else) depends on. Inert everywhere no cqw unit is used. */
  .product-carousel__viewport {
    container-type: inline-size;
  }

  /* ~12px gap between cards, as specified. Two classes outrank the shared
     grid's one-class-plus-type gap rule by specificity, so the Shop grid's
     own gap is untouched regardless of source order. */
  .product-carousel__viewport .products {
    gap: 12px;
  }

  /* Wider, comfortably sized card with less cramped internal padding. */
  .product-carousel__viewport .products li.product {
    padding: 10px;
  }

  /* Shorter image container (4:3 instead of a full square) so the image
     no longer dominates the card's height. object-fit: contain shows the
     complete source image, uncropped, inside a consistent box — any
     excess white space visible is inside the source photo itself and is
     expected to be corrected when that photo is replaced. */
  .product-carousel__viewport .products li.product a img {
    aspect-ratio: 4 / 3 !important;
    object-fit: contain !important;
  }

  /* Visually caps the title at 3 lines with an ellipsis so card height
     stays predictable regardless of name length. The full product name
     remains in the HTML and as the link's accessible name — nothing is
     removed from the DOM, only the visual line count is limited. */
  .product-carousel__viewport .products li.product .woocommerce-loop-product__title {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 3.9em; /* reserves a fixed 3-line title area (13px font x line-height ~16.9px x 3 = ~50.7px) so
                           every card in a row has an equal title box regardless of name length, without
                           increasing the height of an already-3-line card (its natural content height
                           already meets this minimum). */
  }

  /* Narrower cards need a tighter Add to Cart button so the label never
     wraps to a second line (which was silently doubling the button's
     height); ellipsis is a safety net, not expected to trigger. */
  .product-carousel__viewport .products li.product .button {
    padding-inline: 8px;
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* ---------------------------------------------------------------------
   Product-card alignment correction (added 2026-08-18)
   Scope: homepage product carousels (Featured Products, Weekly
   Specials, Popular Products, and any future .product-carousel
   section), plus Related Products, Upsells and Cross-sells on
   single-product pages. These contexts render the shared WooCommerce
   product-card markup (li.product) outside the .woocommerce wrapper
   that the Shop/category grid relies on for its own card protections,
   so the grid's min-height/title and image rules never reached them.
   This block gives the same three guarantees without altering the
   selectors the Shop/category grid uses:
     1) Image container stays consistent and never crops the source
        file (object-fit: contain, replacing the inherited "cover").
     2) Title space is reserved equally (min-height) and long titles
        are visually clamped to 2 lines while the full accessible
        name remains in the DOM/DOM text for assistive tech.
     3) The quantity stepper + Add to Cart row is pushed flush to the
        bottom of each (already row-stretched) card so it lines up
        across neighboring cards regardless of title length.
   Deliberately excludes the accepted Shop/category grid (bare
   ul.products with no .product-carousel/.related/.upsells/.cross-sells
   ancestor) and the single-product summary layout, per the approved
   spec. Mobile phone-width carousel behavior (360/390/430, two-card
   view, 4:3 image, next-card hint, swipe) is untouched.
   --------------------------------------------------------------------- */
.product-carousel .products li.product a img,
.related.products li.product a img,
.upsells.products li.product a img,
.cross-sells li.product a img {
  object-fit: contain !important;
  background: #faf9f5;
}
/* Desktop/tablet only: the existing mobile-compact system (max-width: 620px)
   already reserves title space and clamps carousel titles to 3 lines via
   more specific selectors; this scoped rule only fills the gap above that
   breakpoint, where no reservation/clamp previously existed, so the
   approved 620px-and-below carousel (including its 3-line title clamp) is
   untouched. */
@media (min-width: 621px) {
  .product-carousel .products li.product .woocommerce-loop-product__title,
  .related.products li.product .woocommerce-loop-product__title,
  .upsells.products li.product .woocommerce-loop-product__title,
  .cross-sells li.product .woocommerce-loop-product__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.85em !important;
  }
}
.product-carousel .products li.product .loop-quantity,
.related.products li.product .loop-quantity,
.upsells.products li.product .loop-quantity,
.cross-sells li.product .loop-quantity {
  margin-top: auto;
}
