/* Shared readable header typography for all six storefront templates. */
.sf-store .sf-header .sf-links>a,
.sf-store .sf-header .sf-collections-menu>summary { font-size:16px; font-weight:500; line-height:1.5; min-height:44px; display:flex; align-items:center; }
.sf-store .sf-header .sf-links { gap:24px; }
.sf-store .sf-collections-panel a,
.sf-store .sf-collection-branch summary { font-size:16px!important; line-height:1.5; }
.sf-store .sf-menu-drawer a,
.sf-store .sf-menu-drawer summary { font-size:17px!important; line-height:1.5; min-height:44px; }
.sf-store .sf-header .sf-actions { font-size:16px; }
.sf-store .sf-announcement { font-size:14px; line-height:1.5; }
@media(min-width:701px) and (max-width:1100px) {
    .sf-store .sf-header .sf-links { gap:16px; }
}
/* Readable storefront text, shared by all six template designs. */
.sf-store .sf-section .sf-view-all { font-size:16px; line-height:1.5; display:inline-flex; align-items:center; gap:10px; min-height:44px; flex-shrink:0; }
.sf-store .sf-section .sf-view-all span { font-size:22px; }
.sf-store .sf-product h3 { font-size:16px; line-height:1.5; overflow-wrap:anywhere; }
.sf-store .sf-product p { font-size:16px; line-height:1.5; }
.sf-store .sf-btn,.sf-store .sf-card-quick-add { font-size:16px; line-height:1.5; min-height:46px; }
.sf-store .sf-card-quick-add { white-space:normal; }
.sf-store .sf-card-quick-add>span { font-size:20px; }
.sf-store .sf-eyebrow { font-size:14px; letter-spacing:1px; }
.sf-store .sf-footer h3 { font-size:16px; line-height:1.5; }
.sf-store .sf-footer p,.sf-store .sf-footer a { font-size:16px; line-height:1.6; overflow-wrap:anywhere; }
.sf-store .sf-footer a { display:block; padding-block:5px; }
.sf-store .sf-footer .sf-copyright { font-size:14px; line-height:1.5; }
.sf-store .sf-header .sf-actions svg { width:24px; height:24px; }
.sf-store main .shopify-product-card .product-name { font-size:16px; line-height:1.5; }
.sf-store main .shopify-product-card .product-price { font-size:17px; line-height:1.5; }
.sf-store main .shopify-product-card .product-category { font-size:14px; }
.sf-store main #sortSelect,.sf-store main .filter-title { font-size:16px; }
@media(max-width:700px) {
    .sf-store .sf-section-heading { flex-wrap:wrap; gap:8px 16px; }
    .sf-store .sf-btn,.sf-store .sf-card-quick-add { font-size:15px; padding:10px 12px; }
    .sf-store .sf-product h3,.sf-store main .shopify-product-card .product-name { font-size:16px; }
}

/* Desktop category mega menu; mobile retains expandable groups. */
.sf-store .sf-header { position:relative!important; }
.sf-store .sf-links .sf-collections-mega { position:static; }
.sf-store .sf-links .sf-collections-mega .sf-collections-panel { inset-inline:0; top:100%; width:100%; max-width:100%; padding:24px; border-radius:0 0 12px 12px; text-align:start; }
.sf-store .sf-mega-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:20px 28px; }
.sf-store .sf-collections-panel .sf-mega-title { font-weight:700; border-bottom:1px solid #e7e7ec; border-radius:0; margin-bottom:8px; }
.sf-store .sf-mega-column ul ul { padding-inline-start:16px; border-inline-start:1px solid #e7e7ec; }
.sf-store .sf-collections-panel .sf-mega-all { justify-content:flex-start!important; gap:12px; font-weight:600; margin-bottom:16px; }
.sf-store .sf-collections-panel a:focus-visible { outline:2px solid var(--sf-primary); outline-offset:2px; }

/* Full-width desktop mega menu, with content aligned to the storefront. */
.sf-store .sf-links .sf-collections-mega .sf-collections-panel {
    inset-inline:auto;
    inset-inline-start:calc((100% - 100vw) / 2);
    width:100vw;
    max-width:none;
    border-radius:0;
    padding:24px max(24px, calc((100vw - 1360px) / 2));
}

/* Anchor to the full-width header section, excluding scrollbar space. */
.sf-store .sf-header-section { position:relative; }
.sf-store .sf-header-section .sf-header { position:static!important; }
.sf-store .sf-header-section .sf-collections-mega .sf-collections-panel { inset-inline:0; width:100%; max-width:100%; }

/* Always-visible language control, separate from the mobile drawer. */
.sf-store .sf-header .sf-language-switcher { margin:0; flex-shrink:0; }
.sf-store .sf-header .sf-language-switcher button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 12px; font-size:16px; line-height:1.5; font-weight:500; color:inherit; background:transparent; border:1px solid currentColor; border-radius:6px; white-space:nowrap; }
.sf-store .sf-language-switcher button:focus-visible { outline:2px solid var(--sf-primary); outline-offset:3px; }
.sf-store .sf-header>.sf-account-link { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:44px; min-height:44px; font-size:16px; flex-shrink:0; }
.sf-store .sf-account-link svg { flex-shrink:0; }
.sf-store .sf-account-link:focus-visible { outline:2px solid var(--sf-primary); outline-offset:3px; }
@media(max-width:700px) {
    .sf-store .sf-header { grid-template-columns:minmax(0,1fr) 44px 44px auto; gap:6px; }
    .sf-store .sf-header .sf-language-switcher { grid-column:4; grid-row:1; }
    .sf-store .sf-header .sf-menu-toggle { grid-column:2; grid-row:1; }
    .sf-store .sf-header .sf-logo { min-width:0; }
    .sf-store .sf-header>.sf-account-link { grid-column:3; grid-row:1; }
    .sf-store .sf-header>.sf-account-link span { display:none; }
}

/* Comfortable single-column phone layouts across the template family. */
@media(max-width:700px) {
    .sf-store .sf-product-grid,.sf-store .sf-category-grid,.sf-store .sf-footer-grid,
    .sf-store main .product-grid { grid-template-columns:minmax(0,1fr)!important; }
    .sf-store main .row>div:has(>.shopify-product-card),.sf-store main .row>div:has(>.product-card) { width:100%; flex:0 0 100%; max-width:100%; }
    .sf-store .sf-footer-grid>div { min-width:0; grid-column:auto; }
    .sf-store .sf-header .sf-menu-toggle { border:1px solid #8883; border-radius:12px; background:var(--sf-secondary); box-shadow:0 2px 8px #00000008; transition:background .2s ease,box-shadow .2s ease,transform .2s ease; }
    .sf-store .sf-menu-toggle:active { transform:scale(.94); }
    .sf-store .sf-menu-toggle[aria-expanded=true] { box-shadow:0 0 0 3px #8882; }
    .sf-store .sf-menu-drawer { border-radius:20px 0 0 20px; padding:24px; }
    .sf-store[dir=rtl] .sf-menu-drawer,html[dir=rtl] .sf-store .sf-menu-drawer { border-radius:0 20px 20px 0; --sf-drawer-direction:-1; }
    .sf-store .sf-menu-drawer[open] { animation:sf-drawer-enter .26s cubic-bezier(.22,1,.36,1) both; }
    .sf-store .sf-menu-drawer[open].sf-drawer-closing { animation:sf-drawer-exit .22s ease both; }
    .sf-store .sf-menu-drawer[open]::backdrop { animation:sf-backdrop-enter .26s ease both; }
    .sf-store .sf-menu-drawer.sf-drawer-closing::backdrop { animation:sf-backdrop-exit .22s ease both; }
    .sf-store .sf-menu-drawer nav>a { border-radius:10px; padding-inline:12px; transition:background .2s ease; }
    .sf-store .sf-menu-drawer nav>a:hover { background:var(--sf-secondary); }
}
@keyframes sf-drawer-enter { from { transform:translateX(calc(100% * var(--sf-drawer-direction,1))); opacity:0; } to { transform:translateX(0); opacity:1; } }
@keyframes sf-drawer-exit { from { transform:translateX(0); opacity:1; } to { transform:translateX(calc(100% * var(--sf-drawer-direction,1))); opacity:0; } }
@keyframes sf-backdrop-enter { from { opacity:0; } to { opacity:1; } }
@keyframes sf-backdrop-exit { from { opacity:1; } to { opacity:0; } }
@media(prefers-reduced-motion:reduce) {
    .sf-store .sf-menu-drawer,.sf-store .sf-menu-drawer::backdrop { animation:none!important; }
    .sf-store .sf-menu-toggle,.sf-store .sf-menu-drawer nav>a { transition:none!important; }
}
/* Balanced header: centered navigation and a compact icon group. */
.sf-store .sf-header { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:24px; }
.sf-store .sf-header>.sf-logo { justify-self:start; max-width:100%; }
.sf-store .sf-header>.sf-links { justify-self:center; }
.sf-store .sf-header>.sf-actions { display:flex; justify-self:end; align-items:center; gap:8px; }
.sf-store .sf-header .sf-actions>a,.sf-store .sf-header .sf-language-switcher button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:0; border-radius:10px; background:transparent; color:inherit; }
.sf-store .sf-header .sf-actions>a>span { display:none; }
.sf-store .sf-header .sf-actions>a:hover,.sf-store .sf-header .sf-language-switcher button:hover { background:var(--sf-secondary); }
.sf-store .sf-header .sf-language-switcher img { display:block; width:26px; height:19px; object-fit:cover; border-radius:3px; box-shadow:0 0 0 1px #0001; }
.sf-store .sf-header .sf-actions { font-size:16px; }
.sf-search-dialog { position:fixed; inset:0; margin:auto!important; box-sizing:border-box; max-height:calc(100dvh - 32px); overflow-y:auto; width:min(600px,calc(100% - 32px)); border:0; border-radius:18px; padding:28px; color:inherit; background:white; box-shadow:0 20px 80px #0003; }
.sf-search-dialog::backdrop { background:#11182766; }
.sf-search-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; font-size:22px; }
.sf-search-close { width:44px; height:44px; border:0; border-radius:10px; background:#f3f4f6; font-size:28px; cursor:pointer; }
.sf-search-input-row { display:flex; gap:12px; margin-top:8px; }
.sf-search-input-row input { min-width:0; flex:1; border:1px solid #d1d5db; border-radius:8px; padding:12px; font-size:16px; }
@media(max-width:700px) {
 .sf-store .sf-header { grid-template-columns:minmax(0,1fr) 40px auto; gap:4px; }
 .sf-store .sf-header>.sf-links { display:none; }
 .sf-store .sf-header>.sf-actions { grid-column:3; grid-row:1; gap:0; }
 .sf-store .sf-header .sf-actions>a,.sf-store .sf-header .sf-language-switcher button { width:40px; height:44px; }
 .sf-store .sf-header .sf-menu-toggle { width:40px; }
 .sf-store .sf-header .sf-logo img { max-width:100%; }
 .sf-search-dialog { padding:20px; }
 .sf-search-input-row { flex-direction:column; }
}
/* Override template flex footers as well as grid footers on phones. */
@media(max-width:700px) {
 .sf-store .sf-footer-grid { display:grid!important; grid-template-columns:minmax(0,1fr)!important; }
 .sf-store .sf-footer-grid>div { width:auto!important; max-width:100%; flex-basis:auto!important; }
 .sf-store .sf-header .sf-logo { overflow-wrap:anywhere; }
}
@media(min-width:701px) and (max-width:1100px) {
 .sf-store .sf-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
/* Keep checkout payment radios inside the card, aligned with the label in LTR/RTL. */
.sf-store main .shopify-checkout-payment-card {
 display:flex; align-items:center; gap:16px;
 padding:20px 24px!important;
}
.sf-store main .shopify-checkout-payment-card>.form-check-input {
 float:none!important; position:static!important; margin:0!important;
 width:20px; height:20px; flex:0 0 20px; align-self:center;
}
.sf-store main .shopify-checkout-payment-card>.form-check-label {
 margin:0!important; width:auto!important; min-width:0; flex:1;
 overflow-wrap:anywhere;
}
@media(max-width:700px) {
 .sf-store main .shopify-checkout-payment-card { padding:18px 20px!important; gap:14px; }
}
.sf-store .sf-whatsapp { display:flex; align-items:center; justify-content:center; width:56px; height:56px; padding:0; border-radius:50%; }
.sf-store .sf-search-suggestions { margin-top:12px; border:1px solid #e5e7eb; border-radius:10px; overflow:hidden; max-height:260px; overflow-y:auto; }
.sf-store .sf-search-suggestions a { display:block; padding:12px 14px; min-height:44px; font-size:16px; border-bottom:1px solid #e5e7eb; overflow-wrap:anywhere; }
.sf-store .sf-search-suggestions a:last-child { border-bottom:0; }
.sf-store .sf-search-suggestions a:hover,.sf-store .sf-search-suggestions a:focus-visible { background:var(--sf-secondary); }
