/* Locked reference: one purple header row, one compact footer band. Homepage only. */
.sfh-shell-nav,.sfh-shell-action-label,.sfh-shell-logo-tagline,.sfh-shell-phone-note { display:none; }
.sfh-shell-header a:focus-visible,.sfh-shell-footer :is(a,button,input,summary):focus-visible { outline:3px solid #bc63dd; outline-offset:3px; }
.sfh-shell-footer { --sfh-shell-ink:#241c3e; --sfh-shell-muted:#68627e; --sfh-shell-line:#e7e1ed; }
body:has([data-sfh-home]) .sfh-shell-footer.main__footer { margin:0; padding:20px 0 0; background:#f7f5f8; }
.sfh-shell-footer > .container-fluid,.sfh-shell-footer .bottom__footer > .container-fluid { width:calc(100% - 56px); max-width:var(--sfh-layout-width,1600px); padding-left:0; padding-right:0; margin:auto; box-sizing:border-box; }
body:has([data-sfh-home]) .sfh-shell-footer .main__footer-inner { display:block; }
.sfh-shell-footer-band { display:grid; grid-template-columns:minmax(155px,1.15fr) repeat(3,minmax(90px,.7fr)) minmax(220px,1.5fr) minmax(140px,1fr); gap:22px; align-items:start; }
.sfh-shell-footer-band > * { min-width:0; }
.sfh-shell-footer-band > .sfh-footer-brand { display:block; width:auto; max-width:195px; margin:0; padding:0; }
.sfh-shell-footer-band .sfh-footer-brand img { display:block; width:100%; height:auto; margin:0; padding:10px; border-radius:6px; background:#861397; box-sizing:border-box; }
.sfh-shell-footer-band .sfh-footer-brand span { margin-top:7px; text-align:center; font-size:10px; color:var(--sfh-shell-muted); }
/* Reference lockup: the existing gold mark separates the two tagline halves. */
.sfh-shell-footer-band .sfh-footer-brand { position:relative; }
.sfh-shell-footer-band .sfh-footer-brand > .sfh-logo-tagline-split { display:grid; grid-template-columns:38% 12% 50%; position:absolute; left:10px; right:10px; top:calc(80% - 6px); margin:0; font-size:6px; font-weight:400; line-height:1.25; letter-spacing:.16em; white-space:nowrap; color:#fff; }
.sfh-shell-footer-band .sfh-logo-tagline-split > span { margin:0; font:inherit; color:inherit; letter-spacing:inherit; }
.sfh-logo-tagline-split > .sfh-logo-tagline-left { grid-column:1; text-align:right; }
.sfh-logo-tagline-split > .sfh-logo-tagline-right { grid-column:3; text-align:left; }
.sfh-shell-footer-band .sfh-logo-tagline-split > .sfh-logo-tagline-left { text-align:right; }
.sfh-shell-footer-band .sfh-logo-tagline-split > .sfh-logo-tagline-right { text-align:left; }
.sfh-shell-footer-links { border-left:1px solid var(--sfh-shell-line); padding-left:20px; }
.sfh-shell-footer-links h3 { margin:0 0 9px; color:var(--sfh-shell-ink); font-size:12px; line-height:1.3; font-weight:600; }
.sfh-shell-footer-links ul { margin:0; padding:0; list-style:none; }
body:has([data-sfh-home]) .sfh-shell-footer-links .footer__menu-item,
body:has([data-sfh-home]) .sfh-shell-footer-links .footer__menu-item:first-child { margin:0 0 4px; padding:0; font-size:11px; line-height:1.4; }
body:has([data-sfh-home]) .sfh-shell-footer-links .footer__menu-link { color:var(--sfh-shell-muted); font-size:11px; line-height:1.45; letter-spacing:.01em; }
.sfh-shell-subscribe .home__subscribe { padding:0; margin:0; background:none; }
.sfh-shell-subscribe .home__subscribe > .container-fluid { width:100%; max-width:none; padding:0; margin:0; }
.sfh-shell-subscribe .home__subscribe-inner { display:block; margin:0; padding:0; }
.sfh-shell-subscribe .home__subscribe-column { float:none; width:100%; max-width:none; padding:0; margin:0; }
.sfh-shell-subscribe .home__subscribe-column:empty { display:none; }
.sfh-shell-subscribe .subscribe__form { width:100%; padding:0; margin:0; background:none; }
.sfh-shell-subscribe .subscribe__form-header { margin:0 0 9px; color:var(--sfh-shell-ink); font-size:12px; line-height:1.3; text-align:left; font-weight:600; }
.sfh-shell-subscribe .subscribe__form-row { display:flex; flex-wrap:wrap; align-items:stretch; position:relative; }
.sfh-shell-subscribe .subscribe__form-input { display:block; flex:1 1 110px; min-width:0; width:0; height:38px; padding:9px 11px; border:1px solid var(--sfh-shell-line); border-radius:5px 0 0 5px; background:#fff; color:var(--sfh-shell-ink); font-size:12px; box-sizing:border-box; }
.sfh-shell-subscribe .subscribe__form-btn { position:static; inset:auto; transform:none; flex:0 0 auto; height:38px; min-height:0; padding:9px 12px; margin:0; border-radius:0 5px 5px 0; background:linear-gradient(105deg,#9501be,#952078); font-size:11px; line-height:1.3; letter-spacing:.01em; }
.sfh-shell-subscribe .subscribe__form-row > div { flex:0 0 100%; margin-top:6px!important; font-size:10px!important; line-height:1.35!important; }
.sfh-shell-subscribe .subscribe__form-row > div span,.sfh-shell-subscribe .subscribe__form-row > div a { font-size:10px!important; line-height:1.35!important; }
.sfh-shell-subscribe .subscribe__form-row > div a { color:#635c7b!important; }
.sfh-shell-socials .subscribe__socials { width:100%; padding:0; margin:0; background:none; }
.sfh-shell-socials .subscribe__socials-header { font-size:11px; line-height:1.35; color:var(--sfh-shell-muted); margin:0 0 10px; text-align:left; }
.sfh-shell-socials .subscribe__socials-list { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:8px; }
.sfh-shell-socials .subscribe__socials-item { margin:0; }
.sfh-shell-socials .subscribe__socials-link { width:30px; height:30px; border-radius:50%; background:#57516f; color:#fff; display:flex; align-items:center; justify-content:center; }
.sfh-shell-socials .subscribe__socials-link :is(svg,img) { width:17px; height:17px; object-fit:contain; }
.sfh-shell-more { margin:13px 0 0; border-top:1px solid var(--sfh-shell-line); }
.sfh-shell-more > summary { width:fit-content; min-height:30px; display:flex; gap:8px; align-items:center; cursor:pointer; list-style:none; color:var(--sfh-shell-muted); font-size:11px; line-height:1.4; }
.sfh-shell-more > summary::-webkit-details-marker { display:none; }
.sfh-shell-more > summary:after { content:'+'; font-size:16px; }
.sfh-shell-more[open] > summary:after { content:'−'; }
.sfh-shell-more-body { display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:22px; padding:12px 0 20px; }
.sfh-shell-header-links { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:20px; align-items:center; }
.sfh-shell-header-links[hidden] { display:none; }
.sfh-shell-header-links .top__menu { display:block; margin:0; }
.sfh-shell-header-links .top__menu-list { display:flex; flex-wrap:wrap; gap:8px 18px; margin:0; padding:0; }
.sfh-shell-header-links .top__menu-item { margin:0; padding:0; }
.sfh-shell-header-links .top__menu-link { color:#554368; font-size:12px; }
.sfh-shell-header-links .top__socials { display:flex; gap:10px; }
.sfh-shell-header-links .top__socials-link { color:#6d4181; }
body:has([data-sfh-home]) .sfh-shell-more-body .footer__columns { gap:18px; }
.sfh-shell-more-body .bottom__footer-copy { grid-column:1 / -1; float:none; width:auto; max-width:none; margin:0; color:var(--sfh-shell-muted); font-size:11px; }
body:has([data-sfh-home]) .sfh-shell-footer .bottom__footer { padding:12px 0; margin-top:0; border-top:1px solid var(--sfh-shell-line); background:transparent; }
.sfh-shell-footer .bottom__footer > .container-fluid { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:10px 28px; }
.sfh-shell-footer .bottom__footer-policy { float:none; width:auto; margin:0; }
.sfh-shell-footer .bottom__footer-policy a,.sfh-shell-footer .sfh-shell-offer a,.sfh-shell-copyright { color:var(--sfh-shell-muted); font-size:11px; line-height:1.5; letter-spacing:.01em; }
.sfh-shell-copyright { margin-right:12px; }
.sfh-shell-signature { display:block; flex:0 1 270px; width:270px; height:64px; margin-left:auto; background-position:center; background-size:contain; background-repeat:no-repeat; font-size:0; color:transparent; }
.sfh-shell-signature.sfh-media-ready { background-image:url('images/sfh-footer-signature.png'); }
@media(min-width:1200px) {
    .sfh-home .sfh-hero__signature { width:clamp(300px,25.5vw,390px); height:130px; left:51%; top:30%; background:url('images/sfh-hero-signature.png') center/contain no-repeat; font-size:0; line-height:0; color:transparent; text-shadow:none; transform:none; filter:drop-shadow(0 0 .65px #fff) drop-shadow(0 1px 1px #2b1233) drop-shadow(0 2px 5px #2b1233cc); }
}
@media(min-width:992px) {
    html.sfh-search-mounted body:has([data-sfh-home]) .main__header.sfh-shell-header { display:grid; position:absolute; inset:3px 0 auto; grid-template-columns:215px 120px minmax(130px,1fr) 86px 126px 190px; grid-template-rows:66px; gap:0 12px; width:calc(100% - 56px); max-width:var(--sfh-layout-width,1600px); margin:0 auto; padding:0 20px; border-radius:12px; box-sizing:border-box; }
    /* Restore native menu layering above its 102 backdrop; inactive header stays at 25. */
    html.sfh-search-mounted body:has([data-sfh-home]) .main__header.sfh-shell-header.menu-open { z-index:105; }
    /* Keep the content below the header while the hero artwork runs behind it. */
    html.sfh-search-mounted .sfh-home[data-sfh-home] .sfh-hero__layout { padding-top:89px; }
    .sfh-shell-header .sfh-shell-nav { grid-column:3; grid-row:1; display:flex; align-items:center; justify-content:flex-start; gap:16px; min-width:0; overflow:auto; white-space:nowrap; scrollbar-width:none; }
    .sfh-shell-nav::-webkit-scrollbar { display:none; }
    .sfh-shell-nav a { color:#fff; font-size:13px; line-height:1.3; letter-spacing:.01em; padding:16px 0; flex-shrink:0; }
    html.sfh-search-mounted body:has([data-sfh-home]) .sfh-shell-header .top__logo { grid-column:1; grid-row:1; width:215px; padding:0; margin:0; }
    .sfh-shell-header .top__logo-link { display:block; top:0; }
    .sfh-shell-header .top__logo-img { display:block; width:100%; height:auto; max-height:45px; object-fit:contain; }
    .sfh-shell-header .sfh-shell-logo-tagline { display:block; margin-top:1px; color:#fff; font-size:7px; font-weight:400; line-height:1.25; letter-spacing:.16em; text-align:center; white-space:nowrap; }
    .sfh-shell-header .sfh-shell-logo-tagline.sfh-logo-tagline-split { display:grid; grid-template-columns:38% 12% 50%; transform:translateY(-125%); }
    html.sfh-search-mounted body:has([data-sfh-home]) .sfh-shell-header .top__catalog { grid-column:2; grid-row:1; width:auto; }
    html.sfh-search-mounted body:has([data-sfh-home]) .sfh-shell-header .top__catalog-link { display:flex; justify-content:center; align-items:center; min-height:42px; padding:8px; font-size:11px; line-height:1.2; font-weight:500; letter-spacing:.01em; white-space:nowrap; }
    html.sfh-search-mounted body:has([data-sfh-home]) .sfh-shell-header .top__catalog-link:before { content:'☰'; flex-shrink:0; width:auto; height:auto; position:static; background:none; font-size:16px; margin-right:6px; transform:none; }
    html.sfh-search-mounted body:has([data-sfh-home]) .sfh-shell-header .top__region { grid-column:4; grid-row:1; justify-self:start; font-size:12px; max-width:86px; }
    html.sfh-search-mounted body:has([data-sfh-home]) .sfh-shell-header .top__contacts { grid-column:5; grid-row:1; justify-self:end; }
    html.sfh-search-mounted body:has([data-sfh-home]) .sfh-shell-header .top__phones-phone > a { font-size:12px; white-space:nowrap; }
    .sfh-shell-header .sfh-shell-phone-note { display:block; margin-top:2px; color:#fff; font-size:9px; font-weight:400; line-height:1.2; white-space:nowrap; text-align:center; }
    html.sfh-search-mounted body:has([data-sfh-home]) .sfh-shell-header .top__actions { grid-column:6; grid-row:1; width:auto; }
    html.sfh-search-mounted body:has([data-sfh-home]) .sfh-shell-header .top__actions-list { display:flex; align-items:center; justify-content:flex-end; gap:6px; }
    .sfh-shell-header .top__actions-item { min-width:40px; }
    html.sfh-search-mounted body:has([data-sfh-home]) .sfh-shell-header .top__actions-link { display:flex; position:relative; flex-direction:column; align-items:center; justify-content:center; gap:3px; width:auto; height:auto; min-height:48px; min-width:40px; padding:0 2px; border:0; border-radius:0; box-shadow:none; color:#fff; }
    .sfh-shell-header .top__actions-link > .icon { width:22px; height:22px; color:#fff; fill:currentColor; }
    .sfh-shell-header .sfh-shell-action-label { display:block; font-size:9px; line-height:1.2; letter-spacing:.01em; }
    .sfh-shell-header .top__actions-count { position:absolute; top:0; right:-1px; min-width:14px; height:14px; background:#fff; color:#831593; font-size:9px; line-height:14px; }
    /* The native cart color hotfix is !important; keep this override homepage/desktop-only. */
    .sfh-shell-header .top__actions-count.js-cart-count { background:#fff!important; color:#831593!important; }
    .sfh-shell-header [data-sfh-action=favorites] { order:1; }
    .sfh-shell-header [data-sfh-action=account] { order:2; }
    .sfh-shell-header [data-sfh-action=compare] { order:3; }
    .sfh-shell-header [data-sfh-action=cart] { order:4; }
}
@media(min-width:1200px) {
    html.sfh-search-mounted .sfh-home[data-sfh-home] .sfh-hero__layout { min-height:483px; }
    html.sfh-search-mounted .sfh-home[data-sfh-home] .sfh-hero__signature { top:calc(33% + 46px); left:calc(52% - 64px); }
}
@media(min-width:1200px) and (max-width:1359px) {
    html.sfh-search-mounted body:has([data-sfh-home]) .main__header.sfh-shell-header { grid-template-columns:190px 110px minmax(130px,1fr) 80px 120px 180px; gap:0 10px; padding:0 16px; }
    html.sfh-search-mounted body:has([data-sfh-home]) .sfh-shell-header .top__logo { width:190px; }
    .sfh-shell-header .sfh-shell-logo-tagline.sfh-logo-tagline-split { font-size:6.2px; }
    .sfh-shell-header .sfh-shell-nav { gap:10px; }
}
@media(min-width:992px) and (max-width:1199px) {
    html.sfh-search-mounted body:has([data-sfh-home]) .main__header.sfh-shell-header { grid-template-columns:150px 100px minmax(90px,1fr) 75px 112px 176px; gap:0 8px; padding:0 12px; }
    html.sfh-search-mounted body:has([data-sfh-home]) .sfh-shell-header .top__logo { width:150px; }
    .sfh-shell-header .sfh-shell-logo-tagline.sfh-logo-tagline-split { font-size:5px; }
    .sfh-shell-header .sfh-shell-nav { gap:clamp(8px,.8vw,12px); }
    .sfh-shell-nav a { font-size:12px; }
    .sfh-shell-footer-band { grid-template-columns:160px repeat(3,minmax(80px,1fr)) minmax(215px,1.4fr); gap:16px; }
    .sfh-shell-socials { grid-column:5; }
}
@media(max-width:991px) {
    .sfh-shell-footer > .container-fluid,.sfh-shell-footer .bottom__footer > .container-fluid { width:calc(100% - 32px); }
    .sfh-shell-footer-band { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px 18px; }
    .sfh-shell-footer-band > .sfh-footer-brand { grid-column:1; }
    .sfh-shell-subscribe { grid-column:2 / -1; }
    .sfh-shell-socials { grid-column:1 / -1; }
    .sfh-shell-footer-links { border-left:0; padding-left:0; }
    .sfh-shell-more-body { grid-template-columns:minmax(0,1fr); }
    .sfh-shell-footer .bottom__footer > .container-fluid { gap:8px 20px; }
}
@media(max-width:639px) {
    .sfh-shell-signature { flex-basis:100%; width:230px; height:58px; margin:4px 0 0; background-position:left center; }
    .sfh-shell-footer > .container-fluid,.sfh-shell-footer .bottom__footer > .container-fluid { width:calc(100% - 24px); }
    .sfh-shell-footer-band { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 16px; }
    .sfh-shell-footer-band > .sfh-footer-brand { grid-column:1 / -1; width:180px; margin:0; }
    .sfh-shell-subscribe,.sfh-shell-socials { grid-column:1 / -1; }
    .sfh-shell-subscribe .subscribe__form-input { font-size:16px; height:44px; }
    .sfh-shell-subscribe .subscribe__form-btn { height:44px; }
    .sfh-shell-footer-links h3 { font-size:13px; }
    body:has([data-sfh-home]) .sfh-shell-footer-links .footer__menu-link { display:inline-block; padding:4px 0; font-size:12px; }
    .sfh-shell-socials .subscribe__socials-link { width:40px; height:40px; }
    .sfh-shell-more > summary { min-height:44px; font-size:12px; }
}
