/* HH PUBLIC RESPONSIVE CONTRACT: Mobile <768px; Tablet/Compact 768px-1023px; Desktop >=1024px.
 * Selected from live cart/catalog fit on 2026-09-23. Keep custom.js and shop.css aligned.
 * Narrow component queries and Woo container queries are not primary layout modes.
 */
/* HH Primary UI Typeface */
@font-face {
    font-family: "DM Sans";
    src: url("../fonts/DMSans-Variable.woff2") format("woff2");
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

/** Shantiniketan storefront design system. */
:root {
	--shan-burgundy: #721e2b; --shan-dark-red: #4c111b; --shan-gold: #c59a45;
	--shan-light-gold: #e2c784; --shan-cream: #f8f0e2; --shan-paper: #fffaf1;
	--shan-ink: #24201d; --shan-muted: #716861; --shan-line: rgba(69,42,30,.15);
	--shan-shell: 1440px; --shan-serif: Georgia, "Times New Roman", serif;
	--shan-sans: "DM Sans", Arial, sans-serif;
}
.home #masthead,.home #colophon{display:none}.home #content,.home .site-content,.home .ast-container{max-width:none;padding:0}.home .content-area{width:100%;margin:0}
.shan-storefront,.shan-storefront *{box-sizing:border-box}.shan-storefront{width:100%;min-width:0;overflow:clip;background:var(--shan-paper);color:var(--shan-ink);font-family:var(--shan-sans);font-size:16px;line-height:1.65}
.shan-storefront h1,.shan-storefront h2,.shan-storefront h3,.shan-storefront p{margin-top:0}.shan-storefront h1,.shan-storefront h2,.shan-storefront h3{color:var(--shan-ink);font-family:var(--shan-serif);font-weight:500;letter-spacing:-.025em}.shan-storefront a{color:inherit;text-decoration:none}.shan-storefront img{display:block;max-width:100%}.shan-shell{width:min(calc(100% - 64px),var(--shan-shell));margin-inline:auto}
.shan-utility-bar{position:relative;z-index:30;background:var(--shan-ink);color:var(--shan-cream);font-size:11px;font-weight:650;letter-spacing:.105em;text-transform:uppercase}.shan-utility-bar__inner{display:flex;align-items:center;justify-content:space-between;min-height:31px;gap:24px}.shan-utility-bar p{margin:0}.shan-utility-links{display:flex;align-items:center;gap:25px}.shan-utility-links a{white-space:nowrap}.shan-utility-links a:hover,.shan-utility-links a:focus-visible{color:var(--shan-light-gold)}
.shan-site-header{position:relative;z-index:25;border-bottom:1px solid var(--shan-line);background:rgba(255,250,241,.98)}.shan-brand-row{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:84px}
.shan-wordmark{display:inline-flex;flex-direction:column;width:max-content;color:var(--shan-burgundy)}.shan-wordmark--header{grid-column:2;align-items:center;justify-self:center;text-align:center}.shan-wordmark--header img{display:block;width:min(680px,84vw);height:auto;max-height:133px;object-fit:contain;transform:translateY(2px)}.shan-wordmark__name{font-family:var(--shan-serif);font-size:25px;font-weight:700;letter-spacing:.16em;line-height:1}.shan-wordmark__tagline{margin-top:7px;color:var(--shan-muted);font-size:8px;font-weight:700;letter-spacing:.14em;line-height:1;text-transform:uppercase}
.shan-nav-row{border-top:1px solid var(--shan-line)}.shan-nav__list{display:flex;align-items:center;justify-content:center;gap:clamp(36px,3.6vw,64px);margin:0;padding:0;list-style:none}.shan-nav__item{position:relative}.shan-nav__item--mega{position:relative}.shan-nav__trigger{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;color:inherit;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.shan-nav__list a,.shan-nav__list .shan-nav__trigger{position:relative;display:block;padding:15px 0 14px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.shan-nav__list a::after,.shan-nav__list .shan-nav__trigger::after{position:absolute;right:0;bottom:10px;left:0;height:1px;background:var(--shan-burgundy);content:"";transform:scaleX(0);transition:transform 180ms ease}.shan-nav__list a:hover::after,.shan-nav__list .shan-nav__trigger:hover::after,.shan-nav__list a:focus-visible::after,.shan-nav__list .shan-nav__trigger:focus-visible::after{transform:scaleX(1)}.shan-nav__list a:hover,.shan-nav__list .shan-nav__trigger:hover,.shan-nav__list a:focus-visible,.shan-nav__list .shan-nav__trigger:focus-visible{background:transparent;color:var(--shan-burgundy)}.shan-caret{font-size:9px}.shan-mega-menu{position:absolute;left:50%;top:calc(100% - 4px);z-index:50;display:none;width:min(620px,58vw);padding:0;transform:translateX(-50%);border:1px solid var(--shan-line);background:rgba(255,250,241,.99);box-shadow:0 18px 30px rgba(36,32,29,.08)}.shan-mega-menu.is-open{display:block}.shan-mega-menu__panel{display:grid;grid-template-columns:1.3fr .9fr;min-height:220px}.shan-mega-menu__section{padding:18px 18px 16px}.shan-mega-menu__eyebrow{margin:0 0 14px;color:var(--shan-muted);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.shan-mega-menu__links{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:10px 14px;margin:0 0 16px}.shan-mega-menu__links a{display:block;padding:0;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:none}.shan-mega-menu__all{display:inline-flex;align-items:center;gap:8px;color:var(--shan-burgundy);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.shan-mega-menu__feature{padding:18px 18px 16px;border-left:1px solid var(--shan-line);background:linear-gradient(180deg,#f5ead7 0%,#f9f3ea 100%)}.shan-mega-menu__art{margin-bottom:14px;overflow:hidden;border:1px solid rgba(114,30,43,.12)}.shan-mega-menu__art img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.shan-mega-menu__feature-copy{display:flex;flex-direction:column;gap:6px}.shan-mega-menu__feature-copy strong{font-size:18px;font-family:var(--shan-serif)}.shan-mega-menu__feature-copy span{color:var(--shan-muted);font-size:12px;line-height:1.5}.shan-header-actions{grid-column:3;display:flex;align-items:center;justify-self:end;gap:10px}.shan-search{display:flex;align-items:center;width:142px;height:40px;border-bottom:1px solid var(--shan-ink);background:rgba(0,0,0,.02);padding-inline:6px}.shan-search input[type=search]{width:100%;min-width:0;height:39px;padding:0 5px;border:0;background:transparent;color:var(--shan-ink);font-size:12px;outline:0}.shan-search input[type=search]::placeholder{color:var(--shan-ink);opacity:1}
.shan-search button,.shan-icon-link,.shan-mobile-search-toggle{display:grid;flex:0 0 40px;width:40px;height:40px;padding:0;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--shan-ink)}.shan-search button:hover,.shan-icon-link:hover,.shan-icon-link:focus-visible,.shan-mobile-search-toggle:hover{background:var(--shan-cream);color:var(--shan-burgundy)}.shan-search svg,.shan-icon-link svg,.shan-mobile-search-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.55}.shan-favorites-link{cursor:default}.shan-cart-link{position:relative}.shan-cart-link>span{position:absolute;top:0;right:-1px;display:grid;min-width:17px;height:17px;padding:0 4px;place-items:center;border-radius:20px;background:var(--shan-burgundy);color:#fff;font-size:9px}.shan-mobile-search-toggle{display:none}
.shan-menu-toggle{display:none;width:42px;height:42px;padding:10px;border:0;background:transparent}.shan-menu-toggle span:not(.screen-reader-text){display:block;height:1.5px;margin:5px 0;background:currentColor;transition:transform 180ms ease,opacity 180ms ease}
.shan-hero{position:relative;background:var(--shan-cream)}.shan-hero::before{position:absolute;top:0;right:0;width:43%;height:100%;background:var(--shan-burgundy);content:""}.shan-hero__grid{position:relative;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;min-height:690px}.shan-hero__content{max-width:610px;padding:90px 70px 90px 0}.shan-eyebrow{margin-bottom:18px;color:var(--shan-burgundy);font-size:11px;font-weight:750;letter-spacing:.2em;text-transform:uppercase}.shan-hero h1{max-width:820px;margin-bottom:26px;font-size:clamp(48px,4.6vw,72px);line-height:1.1}.shan-hero__lede{max-width:540px;margin-bottom:34px;color:var(--shan-muted);font-size:18px;line-height:1.7}
.shan-button-row{display:flex;align-items:center;gap:28px}.shan-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 25px;border:1px solid transparent;font-size:12px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;transition:transform 180ms ease,background 180ms ease,color 180ms ease}.shan-button:hover{transform:translateY(-2px)}.shan-button--primary{background:var(--shan-burgundy);color:#fff!important;box-shadow:0 12px 26px rgba(114,30,43,.2)}.shan-button--primary:hover{background:var(--shan-dark-red)}.shan-button--text{min-height:auto;padding:10px 0;border-bottom-color:var(--shan-gold)}.shan-button--text span{margin-left:12px;color:var(--shan-burgundy);font-size:18px;display:inline-block;transition:transform 200ms ease}.shan-button--text:hover span{transform:translateX(4px)}.shan-button--outline{border-color:var(--shan-burgundy);color:var(--shan-burgundy)!important}.shan-button--outline:hover{background:var(--shan-burgundy);color:#fff!important}.shan-button--cream{background:var(--shan-cream);color:var(--shan-burgundy)!important}
.shan-hero__notes{display:flex;flex-wrap:wrap;gap:10px 28px;margin:50px 0 0;padding:24px 0 0;border-top:1px solid var(--shan-line);color:var(--shan-muted);font-size:10px;font-weight:600;letter-spacing:.07em;list-style:none;text-transform:uppercase}.shan-hero__notes li::before{display:inline-block;width:5px;height:5px;margin-right:10px;border-radius:50%;background:var(--shan-gold);content:"";vertical-align:2px}
.shan-hero__visual{position:relative;align-self:stretch;display:grid;padding:54px 0 54px 60px;place-items:center}.shan-hero__frame{position:relative;width:min(100%,550px);overflow:hidden;border:9px solid var(--shan-paper);box-shadow:0 24px 60px rgba(48,8,17,.3)}.shan-hero__frame::after{position:absolute;inset:18px;border:1px solid rgba(255,255,255,.5);content:"";pointer-events:none}.shan-hero__frame img{width:100%;aspect-ratio:4/5;object-fit:cover}.shan-hero__seal{position:absolute;right:-34px;bottom:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:118px;height:118px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:var(--shan-gold);color:var(--shan-dark-red);font-size:8px;font-weight:800;letter-spacing:.18em}.shan-hero__seal strong{font-family:var(--shan-serif);font-size:31px;line-height:1.1}
.shan-section{padding:105px 0}.shan-section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:46px}.shan-section-heading h2,.shan-craft-banner h2,.shan-story h2{margin-bottom:0;font-size:clamp(38px,4vw,58px);line-height:1.08}.shan-section-heading>a{padding-bottom:5px;border-bottom:1px solid var(--shan-gold);font-size:12px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.shan-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}.shan-category-card{position:relative;min-width:0;overflow:hidden;border-radius:16px;background:#ead8bb}.shan-category-card>a{display:grid;grid-template-columns:43% 57%;min-height:255px}.shan-category-card__art{position:relative;overflow:hidden;background:#d6a06c}.shan-category-card__art img{width:100%;height:100%;object-fit:cover;transition:transform 250ms ease}.shan-category-card__content{display:flex;flex-direction:column;justify-content:center;padding:26px}.shan-category-card h3{margin-bottom:12px;font-size:26px;line-height:1.08}.shan-category-card p{margin-bottom:23px;color:var(--shan-muted);font-size:13px;line-height:1.55}.shan-category-card__content>span{color:var(--shan-burgundy);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.shan-category-card:hover .shan-category-card__art img{transform:scale(1.035)}
.shan-featured{background:#f2e7d5}.shan-section-heading--center{justify-content:center;text-align:center}.shan-section-heading--center>div{max-width:820px}.shan-section-heading--center p:last-child{margin:18px auto 0;color:var(--shan-muted)}.shan-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.shan-product-card{position:relative;min-width:0}


.shan-badge{position:absolute;top:14px;left:14px;z-index:2;padding:6px 10px;background:var(--shan-gold);color:var(--shan-dark-red);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.shan-badge--sale{background:var(--shan-burgundy);color:#fff}




.shan-section-cta{margin-top:50px;text-align:center}
.shan-craft-banner{background:var(--shan-burgundy);color:var(--shan-cream)}.shan-craft-banner__grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:570px}.shan-craft-banner__art{align-self:stretch;overflow:hidden}.shan-craft-banner__art img{width:100%;height:100%;object-fit:cover}.shan-craft-banner__content{padding:75px clamp(45px,6vw,100px)}.shan-craft-banner .shan-eyebrow{color:var(--shan-light-gold)}.shan-craft-banner h2{margin-bottom:24px;color:#fff8ec}.shan-craft-banner__content p:not(.shan-eyebrow){margin-bottom:34px;color:rgba(255,248,236,.78);font-size:17px}
.shan-story__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(60px,9vw,130px)}.shan-story__content>p:not(.shan-eyebrow){max-width:820px;color:var(--shan-muted);font-size:17px}.shan-story__content h2{max-width:660px;margin-bottom:28px}.shan-story__values{border-top:1px solid var(--shan-line)}.shan-story__values>div{position:relative;padding:27px 0 27px 58px;border-bottom:1px solid var(--shan-line)}.shan-story__values strong{position:absolute;top:29px;left:0;color:var(--shan-gold);font-family:var(--shan-serif);font-size:18px}.shan-story__values h3{margin-bottom:6px;font-size:22px}.shan-story__values p{margin:0;color:var(--shan-muted);font-size:14px}

.shan-footer{padding:80px 0 25px;background:#211b19;color:rgba(255,248,236,.7)}.shan-footer__grid{display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:55px;padding-bottom:65px}.shan-wordmark--footer{color:var(--shan-light-gold)}.shan-wordmark--footer .shan-wordmark__tagline{color:rgba(255,248,236,.5)}.shan-footer__brand>p{max-width:300px;margin:25px 0}.shan-footer h2{margin-bottom:20px;color:#fff8ec;font-family:var(--shan-sans);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.shan-footer__grid>div:not(.shan-footer__brand) a{display:block;width:fit-content;margin-bottom:11px;font-size:13px}.shan-footer a:hover{color:var(--shan-light-gold)}.shan-socials{display:flex;gap:9px}.shan-socials a{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;font-family:var(--shan-serif);font-size:12px}.shan-footer__bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;letter-spacing:.04em}.shan-footer__bottom p{margin:0}
@media(max-width:1100px){.shan-hero__content{padding-right:45px}.shan-hero__seal{right:-12px}.shan-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shan-product-grid{grid-template-columns:repeat(3,1fr)}}
@media(width < 1024px){.shan-shell{width:min(calc(100% - 32px),var(--shan-shell))}.shan-utility-bar__inner{justify-content:center;min-height:29px;text-align:center}.shan-utility-links{display:none}.shan-brand-row{grid-template-columns:1fr auto 1fr;min-height:70px}.shan-menu-toggle{grid-column:1;grid-row:1;display:block;justify-self:start}.shan-wordmark--header{grid-column:2;grid-row:1}.shan-wordmark__name{font-size:17px}.shan-wordmark__tagline{display:none}.shan-header-actions{grid-column:3;grid-row:1;gap:0}.shan-mobile-search-toggle{display:grid}.shan-favorites-link{display:none}.shan-search{position:absolute;top:100%;right:0;left:0;z-index:4;display:none;width:auto;height:54px;padding:6px 16px;border-top:1px solid var(--shan-line);border-bottom:1px solid var(--shan-line);background:var(--shan-paper);box-shadow:0 12px 20px rgba(36,32,29,.08)}.shan-search.is-open{display:flex}.shan-search input[type=search]{height:42px;padding-left:12px;background:#fff}.shan-nav-row{border-top:0}.shan-nav{position:absolute;top:100%;right:0;left:0;display:none;padding:10px 24px 18px;border-top:1px solid var(--shan-line);border-bottom:1px solid var(--shan-line);background:var(--shan-paper);box-shadow:0 18px 25px rgba(36,32,29,.08)}.shan-nav.is-open{display:block}.shan-nav__list{align-items:stretch;flex-direction:column;gap:0}.shan-nav__list a{min-height:45px;padding:14px 4px;border-bottom:1px solid var(--shan-line)}.shan-nav__list a::after{display:none}.shan-hero::before{top:auto;bottom:0;width:100%;height:38%}.shan-hero__grid{grid-template-columns:1fr;min-height:auto}.shan-hero__content{padding:66px 0 45px}.shan-hero h1{font-size:clamp(46px,13vw,65px)}.shan-hero__lede{font-size:16px}.shan-hero__notes{margin-top:34px}.shan-hero__visual{padding:20px 25px 55px}.shan-hero__frame{width:min(100%,470px)}.shan-hero__seal{right:3px;bottom:35px;width:92px;height:92px}.shan-section{padding:75px 0}.shan-section-heading{align-items:start;flex-direction:column;margin-bottom:34px}.shan-category-card>a{min-height:225px}.shan-product-grid{grid-template-columns:repeat(2,1fr);gap:30px 14px}.shan-craft-banner__grid,.shan-story__grid{grid-template-columns:1fr}.shan-craft-banner__art{min-height:410px}.shan-craft-banner__content{padding:60px 0 70px}.shan-story__grid{gap:48px}.shan-footer__grid{grid-template-columns:repeat(2,1fr)}.shan-footer__brand{grid-column:1/-1}}
@media(max-width:560px){.shan-utility-bar{font-size:9px}.shan-utility-bar p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shan-brand-row{width:calc(100% - 20px)}.shan-menu-toggle{width:38px;padding:8px}.shan-header-actions .shan-icon-link,.shan-mobile-search-toggle{width:38px;flex-basis:38px}.shan-button-row{align-items:flex-start;flex-direction:column;gap:14px}.shan-button--primary{width:100%}.shan-hero__notes{display:grid;grid-template-columns:1fr;gap:8px}.shan-hero__visual{padding-inline:5px}.shan-category-grid{grid-template-columns:1fr}.shan-category-card>a{grid-template-columns:42% 58%;min-height:210px}.shan-category-card__content{padding:21px}.shan-category-card h3{font-size:23px}

.shan-craft-banner__art{min-height:330px}.shan-footer{padding-top:65px}.shan-footer__grid{gap:35px 25px}.shan-footer__bottom{align-items:flex-start;flex-direction:column}}
@media(width < 1024px){.shan-wordmark--header{position:absolute;left:50%;grid-column:1/-1;transform:translateX(-50%)}}
/* Photographic homepage hero. Copy stays live, separate from the campaign image. */
.shan-hero--lifestyle{isolation:isolate;overflow:hidden;background:#f6ecde}
.shan-hero--lifestyle .shan-hero__photograph{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}
.shan-hero--lifestyle::before{inset:0;z-index:-1;width:100%;height:100%;background:linear-gradient(90deg,#f6ecde 0%,rgba(246,236,222,.98) 29%,rgba(246,236,222,.88) 35%,rgba(246,236,222,.12) 49%,transparent 57%);pointer-events:none}
.shan-hero--lifestyle .shan-hero__grid{display:block;width:100%;min-height:clamp(720px,51vw,880px)}
.shan-hero--lifestyle .shan-hero__content{width:45%;max-width:550px;padding:86px 0 60px}
.shan-hero--lifestyle h1{max-width:490px;margin-bottom:24px;font-size:clamp(56px,4.8vw,78px);line-height:1.12;letter-spacing:-.035em}
.shan-hero--lifestyle .shan-hero__lede{max-width:480px;margin-bottom:34px;font-size:18px;line-height:1.7}
.shan-hero--lifestyle .shan-hero__notes{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:0;margin-top:48px;padding:22px 0;border-block:1px solid var(--shan-line);color:var(--shan-ink);font-size:11px}
.shan-hero--lifestyle .shan-hero__notes li{display:flex;align-items:center;gap:12px;padding:0 16px;border-right:1px solid rgba(69,42,30,.3);line-height:1.6}
.shan-hero--lifestyle .shan-hero__notes li:first-child{padding-left:0}
.shan-hero--lifestyle .shan-hero__notes li:last-child{padding-right:0;border:0}
.shan-hero--lifestyle .shan-hero__notes li::before{display:none}
.shan-hero--lifestyle .shan-hero__notes svg{flex:0 0 34px;width:34px;height:40px;fill:none;stroke:#b98224;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.shan-hero--lifestyle .shan-hero__seal{right:5.2%;bottom:10%;width:118px;height:118px}
@media not all {
 .shan-hero--lifestyle .shan-hero__content{width:48%;padding-top:64px}
 .shan-hero--lifestyle h1{font-size:60px}
 .shan-hero--lifestyle .shan-hero__notes li{gap:7px;padding-inline:8px;font-size:9px}
 .shan-hero--lifestyle .shan-hero__notes svg{flex-basis:26px;width:26px}
 .shan-hero--lifestyle::before{background:linear-gradient(90deg,#f6ecde 0%,rgba(246,236,222,.96) 36%,transparent 65%)}
}
@media(width < 1024px){
 .shan-hero--lifestyle{display:flex;flex-direction:column}
 .shan-hero--lifestyle::before{display:none}
 .shan-hero--lifestyle .shan-hero__grid{width:calc(100% - 40px);min-height:0}
 .shan-hero--lifestyle .shan-hero__content{width:100%;max-width:540px;margin-inline:auto;padding:42px 0 32px}
 .shan-hero--lifestyle h1{max-width:520px;font-size:clamp(46px,9vw,64px)}
 .shan-hero--lifestyle .shan-hero__lede{font-size:16px}
 .shan-hero--lifestyle .shan-hero__photograph{position:relative;order:2;z-index:0;height:auto;aspect-ratio:1.25;object-fit:cover;object-position:right center}
 .shan-hero--lifestyle .shan-hero__notes{margin-top:28px;padding-block:18px}
 .shan-hero--lifestyle .shan-hero__notes li{flex-direction:column;align-items:flex-start;gap:8px;padding-inline:10px;font-size:9px}
 .shan-hero--lifestyle .shan-hero__notes svg{flex-basis:32px;height:32px}
 .shan-hero--lifestyle .shan-hero__seal{z-index:1;right:16px;bottom:20px;width:76px;height:76px;font-size:6px}
 .shan-hero--lifestyle .shan-hero__seal strong{font-size:25px}
}
/* Give the dark SVG wordmark a light, responsive home in the footer. */
.shan-footer__brand{min-width:0}
.shan-footer .shan-wordmark--footer{width:min(100%,360px);padding:16px 24px;border-radius:12px;background:var(--shan-cream)}
.shan-footer .shan-wordmark--footer img{width:100%;height:auto}

/* Shared header: left brand/navigation, flexible product search, compact tools. */
.shan-mega-menu__panel{min-width:0;white-space:normal}
.shan-mega-menu__panel>div{min-width:0}
.shan-nav__list .shan-mega-menu__products a{display:block;padding:10px 0;font-size:12px;line-height:1.5;text-transform:none;letter-spacing:0;white-space:normal;overflow-wrap:anywhere}
.shan-mega-menu__products{margin-top:14px;border-top:1px solid var(--shan-line)}
.shan-utility-bar{background:var(--shan-burgundy);color:var(--shan-paper)}
.shan-utility-bar__inner{justify-content:center;min-height:42px;text-align:center}
.shan-account-link{display:none}
@media(min-width:1024px){
 .shan-brand-row{width:min(calc(100% - 64px),1440px);grid-template-columns:315px auto minmax(0,1fr);column-gap:28px;min-height:96px}
 .shan-brand-row>.shan-menu-toggle{display:none}
 .shan-nav--header{grid-column:2;grid-row:1;justify-self:start;min-width:0}
 .shan-nav--header>.shan-nav__list{justify-content:flex-start;gap:clamp(12px,1.4vw,24px);white-space:nowrap}
 .shan-wordmark--header{grid-column:1;grid-row:1;width:100%;justify-self:start}
 .shan-wordmark--header img{width:100%;height:auto;max-height:none;transform:none}
 .shan-header-actions{grid-column:3;grid-row:1;min-width:0;width:100%;gap:12px}
 .shan-header-actions .shan-search{flex:1 1 0;min-width:0;width:auto;height:48px;padding:0 12px 0 8px;border:0;border-radius:999px;background:var(--shan-cream)}
 .shan-header-actions .shan-search:focus-within{outline:1px solid var(--shan-burgundy);outline-offset:2px}
 .shan-header-actions .shan-search input[type=search]{height:46px;font-size:14px}
 .shan-header-actions .shan-search button{height:40px}
 .shan-header-actions .shan-account-link{display:grid}
 .shan-nav--header .shan-mega-menu{left:0;transform:none}
}
@media not all {
 .shan-brand-row{width:calc(100% - 40px);grid-template-columns:240px auto minmax(0,1fr);column-gap:16px}
 .shan-nav--header>.shan-nav__list{gap:12px}
 .shan-nav--header>.shan-nav__list>li>a,.shan-nav--header .shan-nav__trigger{font-size:11px;letter-spacing:.08em}
 .shan-header-actions{gap:6px}
 .shan-header-actions .shan-search{padding-right:8px}
 .shan-header-actions .shan-search input[type=search]{font-size:12px}
}
@media(width < 1024px){
 /* Double the artwork on its own row so controls retain separate tap targets. */
 .shan-brand-row{padding-bottom:8px}
 .shan-wordmark--header{position:static;grid-column:1/-1;grid-row:1;justify-self:center;left:auto;transform:none;width:min(100%,calc(200% - 336px));max-width:400px}
 .shan-wordmark--header img{width:100%;height:auto;max-height:140px;transform:none}
 .shan-brand-row>.shan-menu-toggle,.shan-header-actions{grid-row:2}
 .shan-header-actions .shan-search button{order:1}
 .shan-nav--header .shan-mega-menu{position:static;width:100%;transform:none}
 .shan-nav--header .shan-mega-menu__panel{grid-template-columns:1fr}
 .shan-nav--header .shan-mega-menu__links{grid-template-columns:repeat(2,minmax(0,1fr))}
 .shan-nav--header .shan-mega-menu__feature{border-left:0;border-top:1px solid var(--shan-line)}
}
@media(prefers-reduced-motion:reduce){.shan-storefront *,.shan-storefront *::before,.shan-storefront *::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Coordinated storefront polish: shared tokens, data, and behavior remain native. */
.shan-utility-bar{font-size:11px}
.shan-nav .shan-nav__trigger,.shan-nav__trigger:hover,.shan-nav__trigger:focus-visible,.shan-nav__trigger:active,.shan-nav__trigger[aria-expanded="true"]{background:transparent!important;box-shadow:none!important;color:inherit}
.shan-nav__trigger:hover,.shan-nav__trigger:focus-visible,.shan-nav__trigger:active,.shan-nav__trigger[aria-expanded="true"]{color:var(--shan-burgundy)}
.shan-mega-menu a,.shan-mega-menu a:hover,.shan-mega-menu a:focus-visible{text-decoration:none!important}
.shan-mega-menu a:hover,.shan-mega-menu a:focus-visible{background:transparent;color:var(--shan-burgundy)}
.shan-mega-menu a::after{display:none!important}
.shan-hero--lifestyle{width:min(calc(100% - 64px),var(--shan-shell));margin-inline:auto}
.shan-category-card{background:var(--shan-ink)}
.shan-category-card>a{position:relative;display:block;min-height:clamp(250px,27vw,350px)}
.shan-category-card>a::after{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(20,15,12,.62) 0%,rgba(20,15,12,.14) 48%,rgba(20,15,12,.25) 100%);content:"";pointer-events:none}
.shan-category-card__art{position:absolute;inset:0}
.shan-category-card__art img{width:100%;height:100%;object-fit:cover}
.shan-category-card__content{position:relative;z-index:2;display:block;padding:25px 26px}
.shan-category-card h3{margin:0;color:#fff;font-size:clamp(23px,2.1vw,31px);font-weight:700;line-height:1.12;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.shan-storefront .button:hover,.shan-storefront .button:focus-visible,.shan-storefront .wc-block-components-button:hover,.shan-storefront .wc-block-components-button:focus-visible{border-color:var(--shan-burgundy);background:var(--shan-burgundy);color:#fff}
@media(width < 1024px){.shan-utility-bar{font-size:10px}.shan-hero--lifestyle{width:100%}.shan-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shan-category-card>a{min-height:260px}}
@media(max-width:560px){.shan-category-card>a{min-height:225px}.shan-category-card__content{padding:20px}}

/* WooCommerce catalog and product pages. */
.woocommerce #masthead,.woocommerce #colophon,.woocommerce-page #masthead,.woocommerce-page #colophon{display:none}.woocommerce #content,.woocommerce .site-content,.woocommerce .ast-container,.woocommerce-page #content,.woocommerce-page .site-content,.woocommerce-page .ast-container{max-width:none;padding:0}.woocommerce .content-area,.woocommerce-page .content-area{width:100%;margin:0}
.shan-commerce{margin:0!important;background:var(--shan-paper);color:var(--shan-ink)}
.shan-commerce-hero{padding:78px 0 70px;background:var(--shan-cream);border-bottom:1px solid var(--shan-line)}
.shan-commerce-hero h1{max-width:820px;margin:0;font-size:clamp(48px,6vw,76px);line-height:1}
.shan-commerce-hero__description{max-width:690px;margin-top:22px;color:var(--shan-muted);font-size:17px}
.shan-commerce-hero__description p:last-child{margin-bottom:0}
.shan-commerce-catalog{min-height:520px;padding:65px 0 100px}
.shan-category-filter{display:none}.shop .shan-commerce-hero{padding:36px 0 18px;background:transparent;border-bottom:0}.shop .shan-commerce-hero h1{font-size:clamp(34px,4vw,52px)}.shop .shan-commerce-hero__description,.shop .shan-commerce-hero .shan-eyebrow{display:none}
.shan-shop-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;align-items:start}.shan-shop-sidebar{position:sticky;top:24px;padding:22px 18px;border:1px solid var(--shan-line);background:var(--shan-cream)}.shan-filter-toggle{display:none}.shan-filter-group{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--shan-line)}.shan-filter-group:last-child{margin-bottom:0}.shan-filter-group h3{margin:0 0 14px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.shan-filter-list{margin:0;padding:0;list-style:none}.shan-filter-list li + li{margin-top:8px}.shan-filter-list a{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid transparent;border-radius:999px;color:var(--shan-ink);font-size:13px;transition:all 180ms ease}.shan-filter-list a:hover,.shan-filter-list a:focus-visible{border-color:rgba(114,30,43,.32);background:rgba(255,255,255,.85);color:var(--shan-burgundy)}.shan-filter-list a.is-active{border-color:var(--shan-burgundy);background:#fff;color:var(--shan-burgundy);box-shadow:0 6px 18px rgba(114,30,43,.08)}.shan-clear-filters{display:inline-block;margin-top:4px;color:var(--shan-burgundy);font-size:12px;font-weight:700;text-decoration:underline}.shan-shop-main{min-width:0}.shan-commerce .woocommerce-result-count{float:none;margin:9px 0 0;color:var(--shan-muted);font-size:13px}
.shan-commerce .woocommerce-ordering{float:none;margin:0}
.shan-commerce .woocommerce-ordering select{min-width:220px;height:44px;padding:0 38px 0 14px;border:1px solid var(--shan-line);border-radius:0;background-color:#fff;color:var(--shan-ink);font-size:13px}
.shan-commerce .woocommerce-result-count+.woocommerce-ordering{float:right;margin-top:-36px}
.shan-commerce ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));clear:both;gap:38px 24px;margin:48px 0 0;padding:0}
.shan-commerce ul.products::before,.shan-commerce ul.products::after{display:none}
.shan-commerce ul.products li.product.shan-product-card{float:none;width:auto;margin:0;padding:0;list-style:none}


.shan-commerce .shan-badge--stock{background:var(--shan-ink);color:#fff}



.shan-commerce .shan-product-card__actions{margin-top:15px}
.shan-commerce .shan-product-card__actions .button{min-height:42px;margin:0;padding:11px 16px;border:1px solid var(--shan-burgundy);border-radius:0;background:transparent;color:var(--shan-burgundy);font-size:10px;font-weight:800;letter-spacing:.1em;line-height:1.4;text-transform:uppercase}
.shan-commerce .shan-product-card__actions .button:hover,.shan-commerce .shan-product-card__actions .button:focus{background:var(--shan-burgundy);color:#fff}
.shan-commerce .shan-product-card__actions .added_to_cart{display:inline-block;margin-left:12px;color:var(--shan-burgundy);font-size:11px;font-weight:750;text-transform:uppercase}
.shan-commerce .woocommerce-pagination{margin-top:65px}
.shan-commerce .woocommerce-pagination ul.page-numbers{display:flex;justify-content:center;gap:8px;border:0}
.shan-commerce .woocommerce-pagination ul.page-numbers li{border:0}
.shan-commerce .woocommerce-pagination .page-numbers a,.shan-commerce .woocommerce-pagination .page-numbers span{display:grid;min-width:42px;height:42px;padding:0;place-items:center;border:1px solid var(--shan-line);background:transparent;color:var(--shan-ink)}
.shan-commerce .woocommerce-pagination .page-numbers .current,.shan-commerce .woocommerce-pagination .page-numbers a:hover{border-color:var(--shan-burgundy);background:var(--shan-burgundy);color:#fff}
.shan-commerce .woocommerce-info,.shan-commerce .woocommerce-message,.shan-commerce .woocommerce-error{border-top-color:var(--shan-gold);background:var(--shan-cream)}

.shan-commerce--single{padding:30px 0 100px}
.shan-commerce--single .woocommerce-breadcrumb{width:52%;margin:0 0 18px;color:var(--shan-muted);font-size:13px;text-align:left}
.shan-commerce--single .woocommerce-breadcrumb a{color:var(--shan-burgundy)}
.shan-commerce--single div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.93fr);gap:clamp(38px,5vw,72px)}
.shan-commerce--single div.product::before,.shan-commerce--single div.product::after{display:none}
.shan-commerce--single div.product div.images,.shan-commerce--single div.product div.summary{float:none;width:auto;margin:0}
.shan-commerce--single div.product div.images{display:grid;grid-template-columns:144px minmax(0,1fr);grid-template-rows:auto;gap:14px;min-width:0}
.shan-commerce--single div.product div.images .woocommerce-product-gallery__wrapper{grid-column:2;grid-row:1;overflow:hidden;border-radius:20px;background:#f1efec}
.shan-commerce--single div.product div.images:not(:has(.flex-control-thumbs)) .woocommerce-product-gallery__wrapper{grid-column:1/-1}
.shan-commerce--single div.product div.images .woocommerce-product-gallery__image img{width:100%;aspect-ratio:1/1.12;object-fit:cover}
.shan-commerce--single .flex-control-thumbs{grid-column:1;grid-row:1;display:grid;align-content:start;grid-template-columns:1fr;gap:12px;margin:0!important;padding:0}
.shan-commerce--single .flex-control-thumbs li{float:none!important;width:auto!important;overflow:hidden;border:1px solid transparent;border-radius:15px;background:#f1efec}
.shan-commerce--single .flex-control-thumbs li:hover{border-color:var(--shan-ink)}
.shan-commerce--single .flex-control-thumbs img{width:100%;aspect-ratio:1/1.08;object-fit:cover;opacity:.72;transition:opacity 180ms ease}
.shan-commerce--single .flex-control-thumbs img.flex-active,.shan-commerce--single .flex-control-thumbs img:hover{opacity:1}
.shan-commerce--single div.product div.summary{align-self:start;padding-top:8px}
.shan-commerce--single .summary>.single-product-category,.shan-commerce--single .summary>.ast-woo-product-category,.shan-commerce--single .summary>.product_meta,.shan-commerce--single .summary>.ast-single-product-payments,.shan-commerce--single .summary>.ast-product-payment-icons{display:none!important}
.shan-commerce--single .summary .product_title{margin-bottom:10px;font-family:var(--shan-sans);font-size:clamp(34px,3.2vw,52px);font-weight:800;letter-spacing:-.045em;line-height:1.03;text-transform:uppercase}
.shan-commerce--single .summary .woocommerce-product-rating{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.shan-commerce--single .summary .woocommerce-product-rating .star-rating{margin:0;color:#efb82d;font-size:18px}
.shan-commerce--single .shan-empty-stars{color:#efb82d;font-size:21px;letter-spacing:2px;line-height:1}
.shan-commerce--single .summary .woocommerce-review-link{color:var(--shan-muted);font-size:13px}
.shan-commerce--single .shan-single-price{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.shan-commerce--single .summary .shan-single-price .price{margin:0;color:var(--shan-ink);font-family:var(--shan-sans);font-size:30px;font-weight:750}
.shan-commerce--single .summary .price del{margin-right:8px;color:var(--shan-muted);opacity:.55}
.shan-commerce--single .summary .price ins{text-decoration:none}
.shan-commerce--single .shan-sale-percent{padding:5px 10px;border-radius:999px;background:#fde8e8;color:#c43d47;font-size:13px;font-weight:650}
.shan-commerce--single .summary .stock{display:inline-block;margin:0 0 22px;padding:6px 10px;background:#e7efdf;color:#35502d;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.shan-commerce--single .summary .stock.out-of-stock{background:#f2dfdc;color:var(--shan-burgundy)}
.shan-commerce--single .woocommerce-product-details__short-description{margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--shan-line);color:var(--shan-muted);font-size:15px;line-height:1.55}
.shan-commerce--single form.cart{display:flex;align-items:stretch;gap:14px;margin:0 0 24px!important;padding-top:20px;border-top:1px solid var(--shan-line)}
.shan-commerce--single form.cart .quantity{display:flex;align-items:center;border-radius:999px;background:#f1efec}
.shan-commerce--single form.cart .quantity .qty{width:48px;height:52px;padding:0;border:0;border-radius:0;background:transparent;font-weight:700;-moz-appearance:textfield}
.shan-commerce--single form.cart .quantity .qty::-webkit-inner-spin-button,.shan-commerce--single form.cart .quantity .qty::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}
.shan-commerce--single .shan-qty-button{display:grid;width:48px;height:52px;padding:0;place-items:center;border:0;background:transparent;color:var(--shan-ink);font-size:25px;line-height:1}
.shan-commerce--single .shan-qty-button:hover,.shan-commerce--single .shan-qty-button:focus-visible{background:rgba(114,30,43,.08);color:var(--shan-burgundy)}
.shan-commerce--single .shan-qty-button:first-child{border-radius:999px 0 0 999px}.shan-commerce--single .shan-qty-button:last-child{border-radius:0 999px 999px 0}
.shan-commerce--single form.cart .single_add_to_cart_button{flex:1;min-height:52px;padding:13px 28px;border-radius:999px;background:var(--shan-burgundy);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:none}
.shan-commerce--single form.cart .single_add_to_cart_button:hover{background:var(--shan-dark-red)}
.shan-commerce--single form.variations_form{display:block}
.shan-commerce--single table.variations{margin:0 0 2px;border:0}
.shan-commerce--single table.variations tr{display:block;padding:15px 0;border-top:1px solid var(--shan-line)}
.shan-commerce--single table.variations th,.shan-commerce--single table.variations td{display:block;padding:0 0 9px;border:0;background:transparent}
.shan-commerce--single table.variations label{font-size:14px;font-weight:500;letter-spacing:0;text-transform:none}
.shan-commerce--single table.variations select{width:100%;height:48px;padding:0 42px 0 15px;border:1px solid var(--shan-line);border-radius:999px;background:#f7f5f2}
.shan-commerce--single table.variations .reset_variations{display:inline-block;margin-top:8px;color:var(--shan-burgundy);font-size:12px}
.shan-commerce--single .shan-native-variation-select{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.shan-commerce--single .shan-variation-choices,.shan-commerce--single .shan-static-options>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.shan-commerce--single .shan-variation-choice,.shan-commerce--single .shan-static-options span{display:inline-flex;align-items:center;justify-content:center;min-width:78px;min-height:42px;padding:8px 20px;border:1px solid transparent;border-radius:999px;background:#f1efec;color:var(--shan-muted);font-size:13px}
.shan-commerce--single .shan-variation-choice:hover,.shan-commerce--single .shan-variation-choice:focus-visible,.shan-commerce--single .shan-variation-choice.is-selected{border-color:var(--shan-ink);background:var(--shan-ink);color:#fff}
.shan-commerce--single .shan-variation-choices--color .shan-variation-choice{min-width:auto;width:38px;height:38px;min-height:38px;padding:0;border:5px solid #f1efec;background:var(--shan-gold);box-shadow:0 0 0 1px var(--shan-line)}
.shan-commerce--single .shan-color--black{background:#24201d!important}.shan-commerce--single .shan-color--brown{background:#6b4732!important}.shan-commerce--single .shan-color--burgundy,.shan-commerce--single .shan-color--maroon,.shan-commerce--single .shan-color--red{background:var(--shan-burgundy)!important}.shan-commerce--single .shan-color--blue,.shan-commerce--single .shan-color--navy{background:#32364f!important}.shan-commerce--single .shan-color--green,.shan-commerce--single .shan-color--olive{background:#46665d!important}.shan-commerce--single .shan-color--cream,.shan-commerce--single .shan-color--natural,.shan-commerce--single .shan-color--beige{background:#e8d9bf!important}.shan-commerce--single .shan-color--gold,.shan-commerce--single .shan-color--yellow{background:var(--shan-gold)!important}
.shan-commerce--single .shan-variation-choices--color .shan-variation-choice.is-selected{box-shadow:0 0 0 2px var(--shan-ink)}
.shan-commerce--single .shan-variation-choices--color .shan-variation-choice span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.shan-commerce--single .shan-static-options{padding:15px 0;border-top:1px solid var(--shan-line)}
.shan-commerce--single .shan-static-options p{margin:0 0 10px;color:var(--shan-muted);font-size:14px}
.shan-commerce--single .shan-static-options--color span{min-width:auto;padding:8px 16px}
.shan-commerce--single .woocommerce-variation-add-to-cart{display:flex;align-items:stretch;gap:10px}
.shan-commerce--single .product_meta{padding-top:20px;border-top:1px solid var(--shan-line);color:var(--shan-muted);font-size:12px}
.shan-commerce--single .product_meta>span{display:block;margin-bottom:6px}
.shan-commerce--single .product_meta a{color:var(--shan-burgundy)}
.shan-commerce--single .woocommerce-tabs,.shan-commerce--single .related{grid-column:1/-1}
.shan-commerce--single .woocommerce-tabs{margin-top:62px;padding-top:0;border-top:0}
.shan-commerce--single div.product .woocommerce-tabs ul.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 32px;padding:0;border-bottom:1px solid var(--shan-line)}
.shan-commerce--single div.product .woocommerce-tabs ul.tabs::before{display:none}
.shan-commerce--single div.product .woocommerce-tabs ul.tabs li{margin:0;padding:0 10px 15px;border:0;border-radius:0;background:transparent;text-align:center}
.shan-commerce--single div.product .woocommerce-tabs ul.tabs li::before,.shan-commerce--single div.product .woocommerce-tabs ul.tabs li::after{display:none}
.shan-commerce--single div.product .woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--shan-burgundy)}
.shan-commerce--single div.product .woocommerce-tabs ul.tabs li a{padding:0;font-size:15px;font-weight:500;letter-spacing:0;text-transform:none}
.shan-commerce--single .woocommerce-Tabs-panel{max-width:none;color:var(--shan-muted)}
.shan-commerce--single .woocommerce-Tabs-panel h2,.shan-commerce--single .related>h2{margin-bottom:25px;font-size:clamp(30px,3vw,42px)}
.shan-commerce--single .woocommerce-Tabs-panel--description>h2:first-child{display:none}
.shan-commerce--single .woocommerce-product-attributes{max-width:760px;margin-top:28px;border:1px solid var(--shan-line)}
.shan-commerce--single .woocommerce-product-attributes th,.shan-commerce--single .woocommerce-product-attributes td{padding:13px 16px;border-color:var(--shan-line);background:transparent}
.shan-commerce--single #reviews #comments ol.commentlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;padding:0}
.shan-commerce--single #reviews #comments ol.commentlist li{margin:0;padding:24px;border:1px solid var(--shan-line);border-radius:16px}
.shan-commerce--single #reviews #comments ol.commentlist li img.avatar{position:static;float:left;margin:0 12px 8px 0}
.shan-commerce--single #reviews #comments ol.commentlist li .comment-text{margin:0;padding:0;border:0}
.shan-commerce--single #review_form_wrapper{margin-top:34px}
.shan-commerce--single #review_form #respond .form-submit input{border-radius:999px;background:var(--shan-burgundy);color:#fff}
.shan-commerce--single #review_form #respond .form-submit input:hover{background:var(--shan-dark-red)}
.shan-product-faqs{display:grid;gap:0;border-top:1px solid var(--shan-line)}
.shan-product-faqs details{padding:18px 0;border-bottom:1px solid var(--shan-line)}
.shan-product-faqs summary{cursor:pointer;color:var(--shan-ink);font-size:16px;font-weight:700}
.shan-product-faqs p{max-width:760px;margin:12px 0 0}
.shan-commerce--single .related{margin-top:70px;padding-top:65px;border-top:1px solid var(--shan-line)}
.shan-commerce--single .related ul.products{margin-top:30px}

@media(max-width:1000px){.shan-commerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.shan-shop-layout{grid-template-columns:220px minmax(0,1fr)}.shan-commerce--single div.product{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:32px}.shan-commerce--single div.product div.images{grid-template-columns:112px minmax(0,1fr)}.shan-commerce--single .summary .product_title{font-size:34px}}
@media(width < 1024px){.shan-commerce-hero{padding:58px 0 52px}.shan-commerce-catalog{padding:48px 0 75px}.shan-shop-layout{grid-template-columns:1fr}.shan-shop-sidebar{position:static}.shan-filter-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:16px;padding:12px 16px;border:1px solid var(--shan-line);background:#fff;color:var(--shan-ink);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.shan-filter-panel{display:none}.shan-filter-panel.is-open{display:block}.shan-commerce .woocommerce-result-count{margin-bottom:14px}.shan-commerce .woocommerce-result-count+.woocommerce-ordering{float:none;margin:0}.shan-commerce .woocommerce-ordering select{width:100%}.shan-commerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 14px;margin-top:35px}.shan-commerce--single{padding:24px 0 75px}.shan-commerce--single .woocommerce-breadcrumb{width:100%}.shan-commerce--single div.product{grid-template-columns:1fr}.shan-commerce--single div.product div.images{grid-template-columns:92px minmax(0,1fr)}.shan-commerce--single div.product div.summary{padding-top:4px}.shan-commerce--single .summary .product_title{font-size:clamp(34px,10vw,46px)}.shan-commerce--single .woocommerce-tabs{margin-top:34px;padding-top:0}.shan-commerce--single #reviews #comments ol.commentlist{grid-template-columns:1fr}.shan-commerce--single .related{margin-top:45px;padding-top:45px}.shan-story-page__hero h1{font-size:clamp(40px,5vw,62px)}}
@media(max-width:520px){.shan-commerce-hero h1{font-size:44px}.shan-category-filter{margin-bottom:26px}
.shan-commerce .shan-product-card__actions .button{width:100%;padding-inline:8px}.shan-commerce--single form.cart,.shan-commerce--single .woocommerce-variation-add-to-cart{flex-wrap:wrap}.shan-commerce--single form.cart .single_add_to_cart_button{flex:1}.shan-commerce--single div.product .woocommerce-tabs ul.tabs{gap:18px;overflow-x:auto}.shan-commerce--single div.product .woocommerce-tabs ul.tabs li{flex:0 0 auto}.shan-commerce--single .related ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Cart and checkout: native classic templates and WooCommerce blocks. */
.woocommerce-cart #masthead,.woocommerce-cart #colophon,.woocommerce-checkout #masthead,.woocommerce-checkout #colophon{display:none}.woocommerce-cart #content,.woocommerce-cart .site-content,.woocommerce-cart .ast-container,.woocommerce-checkout #content,.woocommerce-checkout .site-content,.woocommerce-checkout .ast-container{max-width:none;padding:0}.woocommerce-cart .content-area,.woocommerce-checkout .content-area{width:100%;margin:0}
.shan-purchase{min-height:600px;margin:0!important;background:var(--shan-paper);color:var(--shan-ink)}
.shan-purchase-hero{padding:62px 0 56px;border-bottom:1px solid var(--shan-line);background:var(--shan-cream)}
.shan-purchase-hero h1{margin:0;font-size:clamp(46px,5vw,68px);line-height:1}
.shan-purchase__content{padding:65px 0 100px}
.shan-purchase__content>.shan-shell>.woocommerce{width:100%}
.shan-purchase button,.shan-purchase input,.shan-purchase select,.shan-purchase textarea{font-family:var(--shan-sans)}
.shan-purchase input[type=text],.shan-purchase input[type=email],.shan-purchase input[type=tel],.shan-purchase input[type=password],.shan-purchase input[type=number],.shan-purchase select,.shan-purchase textarea{border:1px solid var(--shan-line);border-radius:0;background:#fff;color:var(--shan-ink)}
.shan-purchase input:focus,.shan-purchase select:focus,.shan-purchase textarea:focus{border-color:var(--shan-burgundy);outline:1px solid var(--shan-burgundy)}
.shan-purchase .button,.shan-purchase .wc-block-components-button{min-height:48px;border:1px solid var(--shan-burgundy);border-radius:0;background:var(--shan-burgundy);color:#fff;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.shan-purchase .button:hover,.shan-purchase .button:focus,.shan-purchase .wc-block-components-button:hover,.shan-purchase .wc-block-components-button:focus{border-color:var(--shan-dark-red);background:var(--shan-dark-red);color:#fff}
.shan-purchase .woocommerce-info,.shan-purchase .woocommerce-message,.shan-purchase .woocommerce-error,.shan-purchase .wc-block-components-notice-banner{margin-bottom:28px;border:0;border-left:4px solid var(--shan-gold);border-radius:0;background:var(--shan-cream);color:var(--shan-ink)}
.shan-purchase .woocommerce-error,.shan-purchase .wc-block-components-notice-banner.is-error{border-left-color:var(--shan-burgundy)}
.shan-purchase .woocommerce-info::before,.shan-purchase .woocommerce-message::before{color:var(--shan-burgundy)}

/* Classic Cart. */
.shan-purchase--cart .woocommerce-cart-form{float:left;width:calc(68% - 36px)}
.shan-purchase--cart .cart-collaterals{float:right;width:32%}
.shan-purchase--cart table.shop_table{border:1px solid var(--shan-line);border-radius:0;background:#fff}
.shan-purchase--cart table.shop_table th{padding:16px 14px;background:var(--shan-cream);color:var(--shan-ink);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.shan-purchase--cart table.shop_table td{padding:18px 14px;border-top:1px solid var(--shan-line)}
.shan-purchase--cart td.product-thumbnail{width:96px}.shan-purchase--cart td.product-thumbnail img{width:76px;aspect-ratio:4/5;object-fit:cover}
.shan-purchase--cart td.product-name a{color:var(--shan-ink);font-family:var(--shan-serif);font-size:18px}
.shan-purchase--cart td.product-name .variation{color:var(--shan-muted);font-size:12px}
.shan-purchase--cart td.product-price,.shan-purchase--cart td.product-subtotal{font-size:14px}
.shan-purchase--cart td.product-remove a.remove{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--shan-line);border-radius:50%;color:var(--shan-burgundy)!important;font-size:20px;font-weight:400}
.shan-purchase--cart td.product-remove a.remove:hover{border-color:var(--shan-burgundy);background:var(--shan-burgundy);color:#fff!important}
.shan-purchase--cart .quantity .qty{width:68px;height:44px;padding:0 6px}
.shan-purchase--cart table.cart td.actions{padding:20px 14px}
.shan-purchase--cart table.cart td.actions .coupon{display:flex;gap:8px}
.shan-purchase--cart table.cart td.actions .coupon .input-text{width:190px;height:48px;margin:0;padding:0 13px}
.shan-purchase--cart table.cart td.actions>.button{float:right}
.shan-purchase--cart .cart_totals{float:none;width:100%;padding:28px;border:1px solid var(--shan-line);background:var(--shan-cream)}
.shan-purchase--cart .cart_totals h2{margin-bottom:22px;font-size:30px}
.shan-purchase--cart .cart_totals table.shop_table{border:0;background:transparent}
.shan-purchase--cart .cart_totals table.shop_table th,.shan-purchase--cart .cart_totals table.shop_table td{padding:13px 0;border-top:1px solid var(--shan-line);background:transparent;text-transform:none}
.shan-purchase--cart .cart_totals table.shop_table th{width:43%;font-size:12px;letter-spacing:0}
.shan-purchase--cart .cart_totals .order-total{font-size:18px}
.shan-purchase--cart .cart_totals .woocommerce-shipping-destination,.shan-purchase--cart .cart_totals .woocommerce-shipping-calculator{font-size:12px}
.shan-purchase--cart .wc-proceed-to-checkout{padding:22px 0 0}
.shan-purchase--cart .wc-proceed-to-checkout a.checkout-button{display:flex;justify-content:center;margin:0;padding:15px 20px;font-size:11px}
.shan-purchase--cart .cart-empty{margin:0 auto 26px;padding:55px 24px;border:1px solid var(--shan-line);background:var(--shan-cream);text-align:center}
.shan-purchase--cart .return-to-shop{text-align:center}.shan-purchase--cart .return-to-shop .button{display:inline-flex;align-items:center;padding-inline:26px}

/* Cart block. */
.shan-purchase--cart .wc-block-cart{margin:0;gap:36px}
.shan-purchase--cart .wc-block-cart__main{padding-right:0}
.shan-purchase--cart .wc-block-cart-items{border-collapse:collapse;border:1px solid var(--shan-line);background:#fff}
.shan-purchase--cart .wc-block-cart-items th{padding:16px;background:var(--shan-cream);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.shan-purchase--cart .wc-block-cart-items td{padding:20px 14px!important;border-top:1px solid var(--shan-line)!important}
.shan-purchase--cart .wc-block-cart-item__image img{aspect-ratio:4/5;object-fit:cover}
.shan-purchase--cart .wc-block-components-product-name{color:var(--shan-ink);font-family:var(--shan-serif);font-size:19px}
.shan-purchase--cart .wc-block-components-product-metadata,.shan-purchase--cart .wc-block-components-product-price{color:var(--shan-muted);font-size:12px}
.shan-purchase--cart .wc-block-components-quantity-selector{height:42px;border:1px solid var(--shan-line);border-radius:0;background:#fff}
.shan-purchase--cart .wc-block-cart-item__remove-link{color:var(--shan-burgundy);font-size:11px;text-decoration:underline}
.shan-purchase--cart .wc-block-cart__sidebar{padding:28px;border:1px solid var(--shan-line);background:var(--shan-cream)}
.shan-purchase--cart .wc-block-cart__totals-title{font-family:var(--shan-serif);font-size:28px;letter-spacing:0;text-transform:none}
.shan-purchase--cart .wc-block-components-totals-wrapper{padding:16px 0;border-color:var(--shan-line)}
.shan-purchase--cart .wc-block-cart__submit{margin:12px 0 0}
.shan-purchase--cart .wc-block-cart__submit-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;padding:12px 20px;border:0;border-radius:7px;background:var(--shan-burgundy);color:#fff;font-size:12px;font-weight:700;line-height:1.2;letter-spacing:.04em;text-decoration:none;text-transform:uppercase;transition:background-color .2s ease}.shan-purchase--cart .wc-block-cart__submit-button:hover,.shan-purchase--cart .wc-block-cart__submit-button:focus{background:var(--shan-dark-red);color:#fff;text-decoration:none}
.shan-purchase--cart .wc-block-components-totals-coupon__input input{border-radius:0}
.shan-purchase--cart .wp-block-woocommerce-empty-cart-block{text-align:center}
.shan-purchase--cart .wc-block-cart__empty-cart__title{margin-bottom:28px;font-size:clamp(32px,4vw,48px)}

/* Classic Checkout. */
.shan-purchase--checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:0 50px}
.shan-purchase--checkout form.checkout #customer_details{grid-column:1;grid-row:1/4;width:100%}
.shan-purchase--checkout form.checkout #order_review_heading{grid-column:2;grid-row:1;float:none;width:100%;margin:0;padding:27px 28px 18px;border:1px solid var(--shan-line);border-bottom:0;background:var(--shan-cream);font-size:30px}
.shan-purchase--checkout form.checkout #order_review{grid-column:2;grid-row:2/5;float:none;width:100%;padding:0 28px 28px;border:1px solid var(--shan-line);border-top:0;background:var(--shan-cream)}
.shan-purchase--checkout .col2-set .col-1,.shan-purchase--checkout .col2-set .col-2{float:none;width:100%}
.shan-purchase--checkout .woocommerce-billing-fields>h3,.shan-purchase--checkout .woocommerce-additional-fields>h3,.shan-purchase--checkout .woocommerce-shipping-fields h3{margin-bottom:24px;font-size:32px}
.shan-purchase--checkout .woocommerce-shipping-fields{margin-top:34px;padding-top:30px;border-top:1px solid var(--shan-line)}
.shan-purchase--checkout .form-row{margin-bottom:16px;padding:0}
.shan-purchase--checkout .form-row label{margin-bottom:7px;color:var(--shan-ink);font-size:11px;font-weight:750;letter-spacing:.06em}
.shan-purchase--checkout .form-row .input-text,.shan-purchase--checkout .form-row select{min-height:48px;padding:10px 12px}
.shan-purchase--checkout .select2-container .select2-selection--single{height:48px;border:1px solid var(--shan-line);border-radius:0;background:#fff}
.shan-purchase--checkout .select2-container .select2-selection--single .select2-selection__rendered{line-height:46px}
.shan-purchase--checkout .select2-container .select2-selection--single .select2-selection__arrow{height:46px}
.shan-purchase--checkout table.woocommerce-checkout-review-order-table{border:0;border-radius:0;background:transparent}
.shan-purchase--checkout table.woocommerce-checkout-review-order-table th,.shan-purchase--checkout table.woocommerce-checkout-review-order-table td{padding:14px 0;border-color:var(--shan-line);background:transparent}
.shan-purchase--checkout table.woocommerce-checkout-review-order-table th{font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.shan-purchase--checkout table.woocommerce-checkout-review-order-table .order-total{font-size:18px}
.shan-purchase--checkout #payment{border-radius:0;background:#eee1cd}
.shan-purchase--checkout #payment ul.payment_methods{padding:20px;border-color:var(--shan-line)}
.shan-purchase--checkout #payment div.payment_box{background:#fffaf1;color:var(--shan-muted);font-size:13px}
.shan-purchase--checkout #payment div.payment_box::before{border-bottom-color:#fffaf1}
.shan-purchase--checkout #payment div.form-row{padding:20px}
.shan-purchase--checkout #payment #place_order{float:none;width:100%;min-height:54px}
.shan-purchase--checkout .woocommerce-form-login,.shan-purchase--checkout .checkout_coupon{margin:0 0 28px;border:1px solid var(--shan-line);border-radius:0;background:#fff}

/* Checkout block. */
.shan-purchase--checkout .wc-block-checkout{margin:0;gap:50px}
.shan-purchase--checkout .wc-block-checkout__main{padding-right:0}
.shan-purchase--checkout .wc-block-components-checkout-step{margin-bottom:34px;padding:0 0 32px;border-bottom:1px solid var(--shan-line)}
.shan-purchase--checkout .wc-block-components-checkout-step__heading{margin-bottom:20px}
.shan-purchase--checkout .wc-block-components-checkout-step__title{font-family:var(--shan-serif);font-size:30px;font-weight:500}
.shan-purchase--checkout .wc-block-components-text-input input,.shan-purchase--checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input{border:1px solid var(--shan-line);border-radius:0;background:#fff}
.shan-purchase--checkout .wc-block-components-text-input label,.shan-purchase--checkout .wc-block-components-combobox label{color:var(--shan-muted)}
.shan-purchase--checkout .wc-block-checkout__sidebar{padding:28px;border:1px solid var(--shan-line);background:var(--shan-cream)}
.shan-purchase--checkout .wc-block-components-order-summary .wc-block-components-order-summary-item{padding:18px 0;border-color:var(--shan-line)}
.shan-purchase--checkout .wc-block-components-order-summary-item__image img{aspect-ratio:4/5;object-fit:cover}
.shan-purchase--checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name{font-family:var(--shan-serif);font-size:17px}
.shan-purchase--checkout .wc-block-components-totals-wrapper{padding:16px 0;border-color:var(--shan-line)}
.shan-purchase--checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{color:var(--shan-burgundy);font-family:var(--shan-serif);font-size:22px}
.shan-purchase--checkout .wc-block-checkout__payment-method .wc-block-components-radio-control{border:1px solid var(--shan-line);border-radius:0;background:#fff}
.shan-purchase--checkout .wc-block-checkout__terms,.shan-purchase--checkout .wc-block-checkout__actions{font-size:12px}
.shan-purchase--checkout .wc-block-components-checkout-place-order-button{width:100%;min-height:54px}

.shan-story-page__hero{padding:78px 0 46px;background:var(--shan-cream);border-bottom:1px solid var(--shan-line)}.shan-story-page__hero h1{margin:0;font-size:clamp(46px,5vw,68px);line-height:1}.shan-story-page__content{padding:72px 0 30px}.shan-story-page__grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 80px;color:var(--shan-muted);font-size:17px}.shan-story-page__grid p{margin:0 0 22px}.shan-story-page__values{padding:0 0 92px}.shan-story-page__values>.shan-shell{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.shan-story-page__value{padding:28px 24px;border:1px solid var(--shan-line);background:var(--shan-cream)}.shan-story-page__value strong{display:inline-block;margin-bottom:14px;color:var(--shan-gold);font-family:var(--shan-serif);font-size:18px}.shan-story-page__value h2{margin:0 0 14px;font-size:24px}.shan-story-page__value p{margin:0;color:var(--shan-muted)}

@media(width < 1024px){.shan-purchase--cart .woocommerce-cart-form,.shan-purchase--cart .cart-collaterals{float:none;width:100%}.shan-purchase--cart .cart-collaterals{margin-top:35px}.shan-purchase--checkout form.checkout{grid-template-columns:1fr}.shan-purchase--checkout form.checkout #customer_details,.shan-purchase--checkout form.checkout #order_review_heading,.shan-purchase--checkout form.checkout #order_review{grid-column:1;grid-row:auto}.shan-purchase--checkout form.checkout #order_review_heading{margin-top:36px}.shan-purchase--cart .wc-block-cart,.shan-purchase--checkout .wc-block-checkout{display:block}.shan-purchase--cart .wc-block-cart__sidebar,.shan-purchase--checkout .wc-block-checkout__sidebar{margin-top:35px;width:100%}.shan-story-page__grid,.shan-story-page__values>.shan-shell{grid-template-columns:1fr}}

/* Reusable policy and informational page template. */
.shan-legal-page-active #masthead,.shan-legal-page-active #colophon{display:none}.shan-legal-page-active #content,.shan-legal-page-active .site-content,.shan-legal-page-active .ast-container{max-width:none;padding:0}.shan-legal-page-active .content-area{width:100%;margin:0}
.shan-legal-page{min-height:600px;background:var(--shan-paper);color:var(--shan-ink);font-family:var(--shan-sans)}
.shan-legal-page__hero{padding:72px 0 58px;border-bottom:1px solid var(--shan-line);background:var(--shan-cream)}
.shan-legal-page__heading{max-width:900px}.shan-legal-page__hero h1{max-width:820px;margin:0;font-family:var(--shan-serif);font-size:clamp(44px,5vw,68px);font-weight:500;letter-spacing:-.025em;line-height:1.06}
.shan-legal-page__body{padding:68px 0 96px}
.shan-legal-page__body>.shan-shell{width:min(calc(100% - 64px),var(--shan-shell));max-width:none;margin-inline:auto}
.shan-legal-page__content{float:none;width:100%;max-width:900px;margin:0 auto;padding:48px 52px;background:#fff;color:var(--shan-muted);font-size:17px;line-height:1.78;box-sizing:border-box}
.shan-legal-page__content>:first-child{margin-top:0}.shan-legal-page__content>:last-child{margin-bottom:0}.shan-legal-page__content h2,.shan-legal-page__content h3,.shan-legal-page__content h4{color:var(--shan-ink);font-family:var(--shan-serif);font-weight:500;line-height:1.2}.shan-legal-page__content h2{margin:52px 0 18px;font-size:32px}.shan-legal-page__content h3{margin:36px 0 14px;font-size:24px}.shan-legal-page__content h4{margin:28px 0 12px;font-size:19px}.shan-legal-page__content p,.shan-legal-page__content ul,.shan-legal-page__content ol{margin:0 0 22px}.shan-legal-page__content ul,.shan-legal-page__content ol{padding-left:1.35em}.shan-legal-page__content li+li{margin-top:8px}.shan-legal-page__content a{color:var(--shan-burgundy);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.shan-legal-page__content a:hover,.shan-legal-page__content a:focus-visible{color:var(--shan-dark-red)}.shan-legal-page__content blockquote{margin:32px 0;padding:20px 24px;border-left:3px solid var(--shan-gold);background:var(--shan-cream)}.shan-legal-page__content table{display:block;width:100%;margin:28px 0;overflow-x:auto;border-collapse:collapse}.shan-legal-page__content th,.shan-legal-page__content td{padding:12px 14px;border:1px solid var(--shan-line);text-align:left}.shan-legal-page__content th{background:var(--shan-cream);color:var(--shan-ink)}
@media(width < 1024px){.shan-legal-page__hero{padding:54px 0 44px}.shan-legal-page__body{padding:50px 0 72px}.shan-legal-page__body>.shan-shell{width:min(calc(100% - 32px),var(--shan-shell))}.shan-legal-page__content{padding:30px 24px;font-size:16px;line-height:1.72}.shan-legal-page__content h2{margin-top:42px;font-size:28px}.shan-legal-page__content h3{font-size:22px}}
@media(width < 1024px){.shan-purchase-hero{padding:52px 0 46px}.shan-purchase__content{padding:46px 0 75px}.shan-purchase--cart table.cart thead{display:none}.shan-purchase--cart table.cart tr.cart_item{display:grid;grid-template-columns:62px 1fr auto;padding:16px;border-bottom:1px solid var(--shan-line)}.shan-purchase--cart table.cart td{display:block;padding:4px!important;border:0!important;text-align:left!important}.shan-purchase--cart table.cart td::before{display:none}.shan-purchase--cart table.cart td.product-remove{grid-column:3;grid-row:1}.shan-purchase--cart table.cart td.product-thumbnail{display:block;grid-column:1;grid-row:1/5;width:auto}.shan-purchase--cart table.cart td.product-thumbnail img{width:52px}.shan-purchase--cart table.cart td.product-name,.shan-purchase--cart table.cart td.product-price,.shan-purchase--cart table.cart td.product-quantity,.shan-purchase--cart table.cart td.product-subtotal{grid-column:2}.shan-purchase--cart table.cart td.actions{display:block;padding:18px!important}.shan-purchase--cart table.cart td.actions .coupon{float:none;display:grid;grid-template-columns:1fr auto}.shan-purchase--cart table.cart td.actions .coupon .input-text{width:100%}.shan-purchase--cart table.cart td.actions>.button{float:none;width:100%;margin-top:10px}.shan-purchase--cart .cart_totals{padding:22px}.shan-purchase--cart .wc-block-cart-items{border:0}.shan-purchase--cart .wc-block-cart-items thead{display:none}.shan-purchase--cart .wc-block-cart-items td{padding:16px 6px!important}.shan-purchase--cart .wc-block-cart__sidebar,.shan-purchase--checkout .wc-block-checkout__sidebar{padding:22px}.shan-purchase--checkout form.checkout #order_review_heading{padding:22px 22px 15px}.shan-purchase--checkout form.checkout #order_review{padding:0 22px 22px}}
@media(max-width:480px){.shan-purchase-hero h1{font-size:42px}.shan-purchase--cart table.cart td.actions .coupon{grid-template-columns:1fr}.shan-purchase--checkout .form-row-first,.shan-purchase--checkout .form-row-last{float:none;width:100%}.shan-purchase--checkout .wc-block-components-checkout-step__title{font-size:26px}}

/* Branded 404 page. */
.error404 #masthead,.error404 #colophon{display:none}.error404 #content,.error404 .site-content,.error404 .ast-container{max-width:none;padding:0}.error404 .content-area{width:100%;margin:0}
.shan-404{min-height:620px;background:var(--shan-paper);color:var(--shan-ink);font-family:var(--shan-sans)}
.shan-404__hero{overflow:hidden;background:radial-gradient(circle at 72% 42%,#fffaf0 0,var(--shan-paper) 64%)}
.shan-404__grid{display:grid;grid-template-columns:minmax(330px,.78fr) minmax(500px,1.22fr);align-items:center;min-height:690px;gap:18px}
.shan-404__content{position:relative;z-index:1;padding:76px 0;text-align:center}
.shan-404__code{margin:0;color:var(--shan-burgundy);font-family:var(--shan-serif);font-size:clamp(108px,13vw,190px);font-weight:400;letter-spacing:.04em;line-height:.78}
.shan-404__ornament{display:flex;align-items:center;justify-content:center;width:92px;margin:42px auto 28px;color:var(--shan-gold)}
.shan-404__ornament::before,.shan-404__ornament::after{width:33px;height:1px;background:currentColor;content:""}.shan-404__ornament::after{margin-left:26px}.shan-404__ornament::before{margin-right:26px}.shan-404__ornament{background:radial-gradient(circle,currentColor 0 4px,transparent 5px)}
.shan-404 h1{max-width:520px;margin:0 auto 24px;font-size:clamp(38px,4vw,60px);line-height:1.08}
.shan-404__message{max-width:500px;margin:0 auto;color:var(--shan-muted);font-size:18px;line-height:1.7}
.shan-404__actions{justify-content:center;margin-top:34px;gap:18px}.shan-404__actions .shan-button{min-width:178px}
.shan-404__illustration{align-self:end;margin:0 -35px 0 -55px}.shan-404__illustration img{width:100%;height:auto;mix-blend-mode:multiply}
@media(max-width:1024px){.shan-404__grid{grid-template-columns:minmax(300px,.85fr) minmax(420px,1.15fr);min-height:620px}.shan-404__content{padding:62px 0}.shan-404__illustration{margin-right:-70px;margin-left:-45px}.shan-404__message{font-size:16px}}
@media(width < 1024px){.shan-404__grid{grid-template-columns:1fr;min-height:0;gap:0}.shan-404__content{padding:64px 0 10px}.shan-404__code{font-size:clamp(100px,30vw,145px)}.shan-404__ornament{margin:34px auto 24px}.shan-404 h1{font-size:clamp(38px,10vw,50px)}.shan-404__illustration{width:min(720px,125%);margin:0 0 0 -8%;justify-self:center}.shan-404__actions{margin-top:28px}}
@media(max-width:480px){.shan-404__content{padding-top:0}.shan-404__actions{align-items:stretch;width:100%;gap:12px}.shan-404__actions .shan-button{width:100%}.shan-404__illustration{width:135%;margin-left:-13%}}

/* Shift homepage hero text inward on desktop */
@media (min-width:1024px){
  .shan-hero--lifestyle .shan-hero__content{
    margin-left:60px;
  }
}

/* Homepage category carousel */
.shan-category-carousel{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
}

.shan-category-carousel .shan-category-grid{
  display:flex;
  gap:22px;
  overflow:hidden;
  scroll-behavior:smooth;
  flex:1;
}

.shan-category-carousel .shan-category-card{
  flex:0 0 calc((100% - 88px) / 5);
}

.shan-category-arrow{
  flex:0 0 42px;
  width:42px;
  height:42px;
  border:1px solid #8b6b3f;
  border-radius:50%;
  background:#fff;
  color:#8b6b3f;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
}

.shan-category-arrow:hover{
  background:#8b6b3f;
  color:#fff;
}

@media(width < 1024px){
  .shan-category-carousel .shan-category-card{
    flex:0 0 calc((100% - 22px) / 2);
  }

  .shan-category-arrow{
    flex-basis:36px;
    width:36px;
    height:36px;
  }
}

/* Keep category arrows perfectly circular */
.shan-category-arrow{
  min-width:42px;
  max-width:42px;
  min-height:42px;
  max-height:42px;
  padding:0;
  aspect-ratio:1 / 1;
}

@media(width < 1024px){
  .shan-category-arrow{
    min-width:36px;
    max-width:36px;
    min-height:36px;
    max-height:36px;
  }
}

/* Slightly reduce homepage hero height */
@media (min-width:1024px){
  .shan-hero--lifestyle .shan-hero__content{
    padding-top:65px;
    padding-bottom:45px;
  }
}

/* Reduce desktop homepage hero height */
@media (min-width:1024px){
  .shan-hero--lifestyle .shan-hero__grid{
    min-height:clamp(640px,46vw,760px);
  }
}

/* Further reduce desktop homepage hero height */
@media (min-width:1024px){
  .shan-hero--lifestyle .shan-hero__grid{
    min-height:clamp(560px,40vw,680px);
  }
}

/* Set actual desktop hero height */
@media (min-width:1024px){
  .shan-hero--lifestyle .shan-hero__grid{
    height:560px;
    min-height:0;
  }

  .shan-hero--lifestyle .shan-hero__content{
    padding-top:45px;
    padding-bottom:35px;
  }
}

@media (min-width:1024px){
  .shan-hero--lifestyle .shan-hero__grid{
    height:620px;
    min-height:0;
  }
}

@media (min-width:1024px){
  .shan-hero--lifestyle .shan-hero__grid{
    height:650px;
  }
}

/* Slightly larger top-bar shipping message */
.shan-utility-bar p{
  font-size:12px;
}

/* Store highlight strip below hero */
.shan-trust-strip{
  background:#f8f4ec;
  border-top:1px solid rgba(0,0,0,.06);
  border-bottom:1px solid rgba(0,0,0,.06);
}

.shan-trust-strip__inner{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  min-height:74px;
  align-items:center;
}

.shan-trust-item{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:16px 20px;
  text-align:center;
  font-size:13px;
  font-weight:600;
}

.shan-trust-item span{
  font-size:22px;
}

@media(width < 1024px){
  .shan-trust-strip__inner{
    grid-template-columns:repeat(2,1fr);
  }
}

/* Trust strip flat icon style */
.shan-trust-item{
  color:#6f2638;
  text-align:left;
}

.shan-trust-item svg{
  width:30px;
  height:30px;
  flex:0 0 30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.shan-trust-item strong,
.shan-trust-item span{
  display:block;
}

.shan-trust-item strong{
  font-size:12px;
  letter-spacing:.08em;
  line-height:1.2;
}

.shan-trust-item span{
  margin-top:3px;
  font-size:13px;
  font-weight:400;
  line-height:1.2;
}

/* Refine trust strip closer to reference */
.shan-trust-strip{
  background:#f8f5ef;
}

.shan-trust-strip__inner{
  min-height:92px;
  gap:30px;
}

.shan-trust-item{
  justify-content:flex-start;
  gap:16px;
  padding:18px 10px;
  color:#1f2d24;
}

.shan-trust-item svg{
  width:36px;
  height:36px;
  flex:0 0 36px;
  stroke-width:1.8;
}

.shan-trust-item strong{
  font-size:14px;
  font-weight:600;
  letter-spacing:0;
  line-height:1.25;
  color:#1f1f1f;
}

.shan-trust-item span{
  margin-top:4px;
  font-size:14px;
  line-height:1.25;
  color:#1f1f1f;
}

/* Match both trust-strip text lines */
.shan-trust-item strong,
.shan-trust-item span{
  font-family:inherit;
  font-size:14px;
  font-weight:500;
  letter-spacing:0;
  line-height:1.35;
  color:#1f1f1f;
}

.shan-trust-item span{
  margin-top:2px;
}

/* Trust strip text + centering refinement */
.shan-trust-item{
  justify-content:center;
}

.shan-trust-item strong{
  text-transform:none;
}

.shan-trust-item strong,
.shan-trust-item span{
  font-size:14px;
  font-weight:500;
  line-height:1.35;
}

/* Final trust-strip typography */
.shan-trust-item strong,
.shan-trust-item span{
  font-size:13px;
  font-weight:600;
  text-transform:none;
  letter-spacing:0;
}

/* Slightly reduce trust strip height */
.shan-trust-strip__inner{
  min-height:78px;
}

.shan-trust-item{
  padding-top:12px;
  padding-bottom:12px;
}

/* Hero Shop Now button refinement */
.shan-hero .shan-button--primary{
  border-radius:5px;
}

.shan-hero .shan-button--primary span{
  margin-left:9px;
}

/* Shop by Category - reference layout */
.shan-categories{
  padding-top:38px;
  padding-bottom:48px;
}

.shan-categories .shan-eyebrow{
  display:none;
}

.shan-categories .shan-section-heading{
  margin-bottom:18px;
  align-items:center;
}

.shan-categories .shan-section-heading h2{
  font-size:42px;
  line-height:1.05;
}

.shan-category-carousel .shan-category-grid{
  gap:18px;
}

.shan-category-carousel .shan-category-card{
  flex:0 0 calc((100% - 54px) / 4);
  border-radius:6px;
  overflow:hidden;
  background:#f4efe7;
}

.shan-category-card > a{
  display:block;
  text-decoration:none;
}

.shan-category-card__art{
  height:185px;
  overflow:hidden;
  background:#eee9e1;
}

.shan-category-card__art img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.shan-category-card__content{
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  background:#f4efe7;
}

.shan-category-card__content h3{
  margin:0;
  font-size:16px;
  font-weight:600;
  line-height:1.2;
  color:#1d1d1d;
}


@media(width < 1024px){
  .shan-category-carousel .shan-category-card{
    flex:0 0 calc((100% - 14px) / 2);
  }

  .shan-category-card__art{
    height:165px;
  }

  .shan-categories .shan-section-heading h2{
    font-size:32px;
  }
}

/* All Categories page */
.shan-categories-page{
  padding:55px 0 70px;
}

.shan-categories-page .shan-section-heading{
  margin-bottom:28px;
}

.shan-categories-page .shan-section-heading h1{
  margin:0;
  font-size:42px;
  line-height:1.1;
}

.shan-categories-page .shan-category-grid--all{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px 18px;
  overflow:visible;
}

.shan-categories-page .shan-category-card{
  width:100%;
  min-width:0;
  border-radius:6px;
  overflow:hidden;
  background:#f4efe7;
}

.shan-categories-page .shan-category-card > a{
  display:block;
  min-height:0;
  height:auto;
}

.shan-categories-page .shan-category-card__art{
  height:185px;
}

.shan-categories-page .shan-category-card__content{
  height:48px;
  order:2;
}

@media(width < 1024px){
  .shan-categories-page .shan-category-grid--all{
    grid-template-columns:repeat(2,1fr);
  }
}

/* Make storefront utility bar full viewport width */
.shan-utility-bar{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

/* Categories page: remove legacy boxed layout */
body.page-id-3326 #page{
  width:100%;
  max-width:none;
  margin:0;
}

body.page-id-3326 .site-content > .ast-container{
  width:100%;
  max-width:none;
  padding-left:0;
  padding-right:0;
}

/* Match categories page width to homepage */
body.page-id-3326 .shan-shell{
  width:min(calc(100% - 64px), var(--shan-shell));
  margin-inline:auto;
}

body.page-id-3326{
  overflow-y:scroll;
}

/* Homepage category cards - compact reference shape */
.shan-categories:not(.shan-categories-page) .shan-category-card > a{
  display:block;
  min-height:0;
  height:auto;
}

.shan-categories:not(.shan-categories-page) .shan-category-card__art{
  height:185px;
}

.shan-categories:not(.shan-categories-page) .shan-category-card__content{
  height:48px;
  padding:0 14px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.shan-categories:not(.shan-categories-page) .shan-category-card{
  overflow:hidden;
  border-radius:6px;
}

/* Homepage category section - match reference */
.shan-categories:not(.shan-categories-page){
  padding-top:28px;
  padding-bottom:42px;
}

.shan-categories:not(.shan-categories-page) .shan-section-heading{
  margin-bottom:16px;
}

.shan-categories:not(.shan-categories-page) .shan-section-heading h2{
  font-size:38px;
  line-height:1.05;
}

.shan-categories:not(.shan-categories-page) .shan-category-grid{
  gap:18px;
}

.shan-categories:not(.shan-categories-page) .shan-category-card{
  flex:0 0 calc((100% - 54px) / 4);
  border-radius:5px;
  overflow:hidden;
  background:#f3f0ea;
}

.shan-categories:not(.shan-categories-page) .shan-category-card > a{
  display:flex;
  flex-direction:column;
  min-height:0;
  height:auto;
  background:#f3f0ea;
}

.shan-categories:not(.shan-categories-page) .shan-category-card__art{
  height:175px;
  order:1;
  overflow:hidden;
}

.shan-categories:not(.shan-categories-page) .shan-category-card__art img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.shan-categories:not(.shan-categories-page) .shan-category-card__content{
  order:2;
  height:46px;
  min-height:46px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f3f0ea;
}

.shan-categories:not(.shan-categories-page) .shan-category-card__content h3{
  margin:0;
  font-size:15px;
  font-weight:600;
  line-height:1;
  text-align:center;
}


@media(width < 1024px){
  .shan-categories:not(.shan-categories-page) .shan-category-card{
    flex:0 0 calc((100% - 14px) / 2);
  }
}

/* Final homepage category image fix */
.shan-categories:not(.shan-categories-page) .shan-category-card__art{
  position:relative !important;
  inset:auto !important;
  display:block !important;
  height:175px !important;
}

.shan-categories:not(.shan-categories-page) .shan-category-card > a::after{
  display:none !important;
}

/* Increase homepage category card height */
.shan-categories:not(.shan-categories-page) .shan-category-card__art{
  height:230px !important;
}

/* Taller near-square homepage category cards */
.shan-categories:not(.shan-categories-page) .shan-category-card__art{
  height:260px !important;
}

/* Category label refinement */
.shan-categories:not(.shan-categories-page) .shan-category-card__content{
  background:#f3f0ea !important;
  background-image:none !important;
}

.shan-categories:not(.shan-categories-page) .shan-category-card__content h3{
  font-size:16px !important;
  text-shadow:none !important;
  background:none !important;
}

/* Match category names to Featured Pieces typography */
.shan-categories:not(.shan-categories-page) .shan-category-card__content h3{
  font-size:20px !important;
  line-height:1.25 !important;
  font-weight:inherit !important;
}

/* Featured Pieces - Best Sellers style */
.shan-featured{
  background:#fff;
}

.shan-featured .shan-section-heading{
  align-items:end;
  justify-content:space-between;
  flex-direction:row;
  margin-bottom:22px;
  text-align:left;
}

.shan-featured .shan-section-heading--center{
  justify-content:flex-start;
  text-align:left;
}

.shan-featured .shan-section-heading .shan-eyebrow,
.shan-featured .shan-section-heading p:last-child{
  display:none;
}

.shan-featured .shan-section-heading h2{
  margin:0;
  font-size:38px;
  line-height:1.1;
}

.shan-featured .shan-product-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}








.shan-featured .shan-product-card__cart.button{
  display:flex;
  width:100%;
  min-height:38px;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:8px 10px;
  border:0;
  border-radius:4px;
  background:var(--shan-burgundy);
  color:#fff;
  font-size:13px;
  font-weight:600;
  text-align:center;
}

.shan-featured .shan-section-cta{
  margin-top:22px;
  text-align:right;
}

.shan-featured .shan-section-cta .shan-button{
  padding:0;
  border:0;
  background:none;
  color:var(--shan-burgundy);
}

@media(width < 1024px){
  .shan-featured .shan-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* Homepage section spacing refinement */
.shan-categories:not(.shan-categories-page){
  padding-top:42px !important;
  padding-bottom:32px !important;
}

.shan-featured{
  padding-top:42px !important;
}


/* Featured Pieces heading row */
.shan-featured .shan-section-heading{
  display:flex;
  flex-direction:row;
  align-items:flex-end;
  justify-content:space-between;
  width:100%;
}

.shan-featured .shan-section-heading > a{
  margin-left:auto;
}


/* Featured product empty rating stars */
.shan-featured .shan-empty-stars {
  font-size: 16px;
  letter-spacing: 1px;
  line-height: 1;
}/* Featured product typography + spacing */





.shan-featured .shan-empty-stars {
  font-size: 17px;
  letter-spacing: 1px;
  line-height: 1;
}/* Featured product card typography */
.shan-featured .shan-product-card__cart{
  font-family: var(--shan-sans);
}




.shan-featured .shan-product-card__cart.button {
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
}

.shan-featured .shan-empty-stars {
  font-size: 18px;
}

/* Match category names to product-name font */
.shan-category-card__name {
  font-family: var(--shan-sans);
}

.shan-categories:not(.shan-categories-page) .shan-category-card__content h3 {
  font-family: var(--shan-sans) !important;
}

/* More Than Bags */
.shan-more-than-bags{
  background:#f7f3ec;
}

.shan-more-than-bags__grid{
  display:grid;
  grid-template-columns:1.45fr 1.05fr .8fr;
  min-height:390px;
}

.shan-more-than-bags__image{
  position:relative;
  overflow:hidden;
}

.shan-more-than-bags__image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.shan-more-than-bags__overlay{
  position:absolute;
  left:34px;
  bottom:42px;
  display:flex;
  flex-direction:column;
  color:#fff;
  font-family:var(--shan-serif);
  font-size:30px;
  font-style:italic;
  line-height:1.05;
}

.shan-more-than-bags__story{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:48px 50px;
  border-right:1px solid var(--shan-line);
}

.shan-more-than-bags__story h2{
  margin:0 0 18px;
  font-family:var(--shan-serif);
  font-size:42px;
  font-weight:500;
  line-height:1;
}

.shan-more-than-bags__story p{
  margin:0 0 24px;
  color:var(--shan-muted);
  font-size:15px;
  line-height:1.65;
}

.shan-more-than-bags__button{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:fit-content;
  padding:12px 24px;
  border-radius:5px;
  background:#31572c;
  color:#fff;
  font-size:14px;
  font-weight:600;
}

.shan-more-than-bags__values{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:32px;
  padding:42px 30px;
}

.shan-more-than-bags__value{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:14px;
  align-items:start;
}

.shan-more-than-bags__icon{
  font-size:26px;
  line-height:1;
}

.shan-more-than-bags__value h3{
  margin:0 0 5px;
  font-family:var(--shan-sans);
  font-size:15px;
  font-weight:700;
}

.shan-more-than-bags__value p{
  margin:0;
  color:var(--shan-muted);
  font-size:13px;
  line-height:1.5;
}

@media(max-width:900px){
  .shan-more-than-bags__grid{
    grid-template-columns:1fr;
  }

  .shan-more-than-bags__image{
    min-height:320px;
  }

  .shan-more-than-bags__story{
    border-right:0;
    border-bottom:0 !important;
  }
}

/* =========================================================
   New Arrivals
   ========================================================= */

.shan-new-arrivals{
  padding:42px 0 46px;
  background:#fff;
}

.shan-new-arrivals__heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:18px;
}

.shan-new-arrivals__heading h2{
  margin:0;
  font-family:var(--shan-serif);
  font-size:38px;
  font-weight:500;
  line-height:1;
  letter-spacing:-.02em;
}

.shan-new-arrivals__heading > a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--shan-ink);
  font-family:var(--shan-sans);
  font-size:14px;
  font-weight:500;
  text-decoration:none;
}

.shan-new-arrivals__grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:18px;
}

.shan-new-arrivals__card{
  min-width:0;
}

.shan-new-arrivals__image{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:5px;
  background:#f3f0ea;
}

.shan-new-arrivals__image img{
  display:block;
  width:100%;
  aspect-ratio:1.18 / 1;
  object-fit:cover;
}

.shan-product-tile__heart{
  position:absolute;
  top:10px;
  right:11px;
  z-index:2;
  display:block;
  width:21px;
  height:21px;
  color:#26221f;
}
.shan-product-tile__heart svg{
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.shan-new-arrivals__info{
  padding-top:10px;
  font-family:var(--shan-sans);
}

.shan-new-arrivals__info h3{
  margin:0 0 6px;
  font-family:var(--shan-sans);
  font-size:15px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:-.01em;
}

.shan-new-arrivals__info h3 a{
  color:var(--shan-ink);
  text-decoration:none;
}

.shan-new-arrivals__price{
  color:var(--shan-ink);
  font-family:var(--shan-sans);
  font-size:15px;
  font-weight:700;
  line-height:1.2;
}

.shan-new-arrivals__price del{
  opacity:.55;
  font-weight:500;
}

.shan-new-arrivals__price ins{
  text-decoration:none;
}

@media(max-width:1100px){
  .shan-new-arrivals__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(width < 1024px){
  .shan-new-arrivals{
    padding:34px 0 38px;
  }

  .shan-new-arrivals__heading h2{
    font-size:31px;
  }

  .shan-new-arrivals__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }
}

.shan-new-arrivals__image img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.shan-new-arrivals__image {
  aspect-ratio: 1 / 1;
}

.shan-new-arrivals__image img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
}

/* Four-item utility bar */
.shan-utility-bar__inner{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center;
}

.shan-utility-item{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  white-space:nowrap;
  font-family:var(--shan-sans);
  font-size:12px;
  font-weight:500;
}

.shan-utility-item > span{
  font-size:17px;
  line-height:1;
}

@media(width < 1024px){
  .shan-utility-bar__inner{
    grid-template-columns:1fr 1fr;
    gap:6px 12px;
  }

  .shan-utility-item{
    font-size:10px;
  }
}

.shan-utility-item svg{
  width:18px;
  height:18px;
  flex:0 0 18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* More Than Bags - Our Story button */
.shan-more-than-bags__button,
.shan-more-than-bags__button:visited {
  background: var(--shan-burgundy) !important;
  color: #fff !important;
}

.shan-more-than-bags__button:hover {
  background: var(--shan-ink) !important;
  color: #fff !important;
}


/* More Than Bags - refined text layout */
.shan-more-than-bags__story{
  padding:52px 56px;
}

.shan-more-than-bags__story h2{
  margin-bottom:20px;
  font-size:40px;
  line-height:1.05;
}

.shan-more-than-bags__story p{
  max-width:440px;
  margin-bottom:26px;
  font-size:15px;
  line-height:1.7;
}

/* Right value column */
.shan-more-than-bags__values{
  gap:0;
  padding:38px 34px;
}

.shan-more-than-bags__value{
  grid-template-columns:32px 1fr;
  gap:16px;
  padding:20px 0;
}

.shan-more-than-bags__value + .shan-more-than-bags__value{
  border-top:1px solid rgba(40,35,30,.10);
}

.shan-more-than-bags__icon{
  padding-top:2px;
  font-size:22px;
}

.shan-more-than-bags__value h3{
  margin:0 0 7px;
  font-size:14px;
  font-weight:700;
  line-height:1.25;
}

.shan-more-than-bags__value p{
  max-width:220px;
  font-size:13px;
  line-height:1.55;
}


/* More Than Bags - reference style value icons */
.shan-more-than-bags__value{
  grid-template-columns:42px 1fr;
  gap:16px;
  align-items:start;
}

.shan-more-than-bags__icon{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:0;
}

.shan-more-than-bags__icon svg{
  display:block;
  width:36px;
  height:36px;
  fill:none;
  stroke:var(--shan-ink);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.shan-more-than-bags__value h3{
  font-size:15px;
  margin-bottom:6px;
}

.shan-more-than-bags__value p{
  font-size:13px;
  line-height:1.5;
}


.shan-more-than-bags__value{
  grid-template-columns:48px 1fr !important;
  gap:16px !important;
}

.shan-more-than-bags__icon{
  width:42px !important;
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.shan-more-than-bags__icon svg{
  width:38px !important;
  height:43px !important;
  display:block !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}


/* Top utility bar - slightly smaller text */
.shan-utility-item{
  font-size:11px;
}


/* Compact top utility bar */
.shan-utility-bar__inner{
  min-height:30px;
}

.shan-utility-item svg{
  width:16px;
  height:16px;
  flex-basis:16px;
}


/* =========================================================
   HEMP & HERITAGE — FINAL FOOTER
   ========================================================= */

.shan-site-footer{
  padding-top:42px !important;
  padding-bottom:0 !important;
}

.shan-site-footer__grid{
  align-items:start !important;
  gap:50px !important;
}

/* Brand column */
.shan-site-footer__brand{
  max-width:300px !important;
}

.shan-site-footer .shan-wordmark{
  margin-bottom:20px !important;
}

.shan-site-footer__brand p{
  max-width:270px !important;
  margin:0 0 20px !important;
  font-size:14px !important;
  line-height:1.65 !important;
}

/* Footer navigation */
.shan-site-footer h2,
.shan-site-footer h3{
  margin:0 0 17px !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

.shan-site-footer ul{
  margin:0 !important;
  padding:0 !important;
}

.shan-site-footer li{
  margin:0 0 10px !important;
}

.shan-site-footer a{
  font-size:13px;
  line-height:1.4;
}

/* Social buttons */
.shan-site-footer__social{
  display:flex !important;
  gap:9px !important;
  margin-top:18px !important;
}

.shan-site-footer__social a{
  width:34px !important;
  height:34px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:50% !important;
  font-size:12px !important;
  transition:border-color .2s ease, background .2s ease !important;
}

.shan-site-footer__social a:hover{
  border-color:rgba(255,255,255,.6) !important;
  background:rgba(255,255,255,.06) !important;
}

/* Bottom footer */
.shan-site-footer__bottom{
  margin-top:38px !important;
  padding:18px 0 !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  font-size:11px !important;
}

.shan-site-footer__bottom p{
  margin:0 !important;
}

/* Remove old decorative bottom-right wording */
.shan-site-footer__bottom p:last-child{
  font-size:0 !important;
}

.shan-site-footer__bottom p:last-child::after{
  content:"Free U.S. Shipping";
  font-size:11px;
  letter-spacing:.02em;
}

/* Responsive */
@media(max-width:900px){
  .shan-site-footer{
    padding-top:34px !important;
  }

  .shan-site-footer__grid{
    gap:34px !important;
  }
}

@media(width < 1024px){
  .shan-site-footer__grid{
    gap:28px !important;
  }

  .shan-site-footer__bottom{
    margin-top:30px !important;
    gap:10px !important;
  }
}


/* =========================================================
   Hemp & Heritage footer
   ========================================================= */

.shan-footer{
  padding:38px 0 0 !important;
}

.shan-footer__grid{
  display:grid !important;
  grid-template-columns:1.4fr .8fr .9fr .9fr !important;
  gap:54px !important;
  align-items:start !important;
}

.shan-footer__brand{
  max-width:300px !important;
}

.shan-wordmark--footer{
  margin:0 0 18px !important;
}

.shan-footer__brand > p{
  max-width:255px;
  margin:0 0 18px !important;
  font-size:14px !important;
  line-height:1.65 !important;
}

.shan-footer__column{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.shan-footer h2{
  margin:4px 0 17px !important;
  font-family:var(--shan-sans) !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}

.shan-footer__column a{
  display:block;
  margin:0 0 10px !important;
  font-size:13px !important;
  line-height:1.35 !important;
  text-decoration:none !important;
}

.shan-socials{
  display:flex !important;
  gap:9px !important;
  margin-top:3px !important;
}

.shan-socials a{
  width:34px !important;
  height:34px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:50% !important;
  transition:.2s ease !important;
}

.shan-socials a:hover{
  border-color:rgba(255,255,255,.65) !important;
  background:rgba(255,255,255,.06) !important;
}

.shan-socials svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.shan-footer__bottom{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  margin-top:32px !important;
  padding:16px 0 !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
}

.shan-footer__bottom p{
  margin:0 !important;
  font-size:11px !important;
  line-height:1.4 !important;
}

@media(max-width:900px){
  .shan-footer__grid{
    grid-template-columns:1fr 1fr !important;
    gap:34px 40px !important;
  }
}

@media(max-width:600px){
  .shan-footer{
    padding-top:30px !important;
  }

  .shan-footer__grid{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }

  .shan-footer__bottom{
    flex-direction:column !important;
    align-items:flex-start !important;
    margin-top:28px !important;
  }
}


/* Final footer height refinement */
.shan-footer__bottom{
  margin-top:10px !important;
}

.shan-footer__grid{
  padding-bottom:18px !important;
}



/* =========================================================
   FINAL HOMEPAGE DESKTOP POLISH
   ========================================================= */


/* FEATURED PIECES
   Give product information a little more breathing room.
--------------------------------------------------------- */



/* MORE THAN BAGS
   Image already contains People / Craft / Change.
--------------------------------------------------------- */

.shan-more-than-bags__overlay{
  display:none !important;
}


/* STORY SECTION
   Improve readability without changing its design.
--------------------------------------------------------- */

.shan-story p{
  font-size:14px;
  line-height:1.7;
}

.shan-story h2{
  line-height:1.08;
}











/* GENERAL HOMEPAGE BODY COPY
   Prevent important descriptive text from becoming too tiny.
--------------------------------------------------------- */

.shan-more-than-bags__story p,
.shan-story__copy p{
  font-size:14px;
}


/* Keep mobile adjustments conservative for now.
   We'll do a dedicated mobile pass separately.
--------------------------------------------------------- */




/* Final More Than Bags spacing refinement */
.shan-more-than-bags__story{
  padding-top:62px !important;
  padding-bottom:62px !important;
}

.shan-more-than-bags__values{
  padding-top:50px !important;
  padding-bottom:50px !important;
}



/* =========================================================
   HEMP & HERITAGE — MOBILE HOMEPAGE PASS
   Desktop must remain untouched.
   ========================================================= */

@media(width < 1024px){

  /* -------------------------------------------------------
     TOP UTILITY BAR
     Clean 2 x 2 layout instead of clipped text
     ------------------------------------------------------- */

  .shan-utility-bar__inner{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:0 !important;
    min-height:0 !important;
    padding:0 !important;
  }

  .shan-utility-item{
    min-width:0 !important;
    min-height:25px !important;
    padding:4px 5px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;

    white-space:nowrap !important;
    overflow:hidden !important;

    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.035em !important;
    line-height:1 !important;
  }

  .shan-utility-item svg{
    width:13px !important;
    height:13px !important;
    flex:0 0 13px !important;
  }


  /* -------------------------------------------------------
     MOBILE HEADER
     Keep centered logo but remove excessive vertical space
     ------------------------------------------------------- */

  .shan-site-header{
    min-height:0 !important;
  }

  .shan-brand-row{
    position:relative !important;
    min-height:138px !important;
    padding:17px 16px 15px !important;
    align-items:center !important;
  }

  .shan-wordmark--header{
    width:190px !important;
    max-width:58vw !important;
    margin:0 auto !important;
  }

  .shan-menu-toggle{
    width:34px !important;
    height:34px !important;
  }

  .shan-menu-toggle span:not(.screen-reader-text){
    width:22px !important;
  }

}


/* =========================================================
   MOBILE HEADER — FINAL TARGET
   Desktop untouched
   ========================================================= */

@media(width < 1024px){

  /* Hide desktop utility bar completely on mobile */
  .shan-utility-bar{
    display:none !important;
  }

  /* Compact single-row mobile header */
  .shan-brand-row{
    min-height:58px !important;
    height:58px !important;
    padding:0 12px !important;
    display:grid !important;
    grid-template-columns:40px 1fr auto !important;
    align-items:center !important;
    gap:8px !important;
  }

  /* Hamburger left */
  .shan-menu-toggle{
    position:static !important;
    width:32px !important;
    height:32px !important;
    margin:0 !important;
    justify-self:start !important;
  }

  .shan-menu-toggle span:not(.screen-reader-text){
    width:21px !important;
  }

  /* Logo centered */
  .shan-wordmark--header{
    width:170px !important;
    max-width:52vw !important;
    margin:0 auto !important;
    justify-self:center !important;
  }

  /* Desktop nav stays hidden in compact header */
  .shan-nav--header{
    position:absolute !important;
  }

  /* Right-side actions */
  .shan-header-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:13px !important;
    margin:0 !important;
  }

  /* Hide full desktop search field */
  .shan-search{
    display:none !important;
  }

  /* Keep mobile search icon */
  .shan-mobile-search-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:25px !important;
    height:25px !important;
    padding:0 !important;
    margin:0 !important;
  }

  .shan-mobile-search-toggle svg{
    width:20px !important;
    height:20px !important;
  }

  /* Hide favorites + account on mobile */
  .shan-favorites-link,
  .shan-account-link{
    display:none !important;
  }

  /* Cart */
  .shan-header-actions .shan-cart-link{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:25px !important;
    height:25px !important;
    margin:0 !important;
  }

  .shan-header-actions .shan-cart-link svg{
    width:20px !important;
    height:20px !important;
  }

}


@media(width < 1024px){

  .shan-site-header{
    border-bottom:1px solid rgba(40,35,30,.10) !important;
  }

  .shan-brand-row{
    min-height:52px !important;
    height:52px !important;
    padding:0 12px !important;
  }

  .shan-wordmark--header{
    width:176px !important;
    max-width:54vw !important;
  }

  .shan-menu-toggle,
  .shan-mobile-search-toggle,
  .shan-header-actions .shan-cart-link{
    align-self:center !important;
  }

  .shan-hero{
    margin-top:0 !important;
  }

}


/* =========================================================
   MOBILE HEADER — FORCE TRUE SINGLE ROW
   Desktop untouched
   ========================================================= */
@media(width < 1024px){

  .shan-utility-bar{
    display:none !important;
  }

  .shan-site-header{
    min-height:0 !important;
    height:58px !important;
    border-bottom:1px solid rgba(40,35,30,.10) !important;
  }

  .shan-brand-row{
    width:100% !important;
    max-width:none !important;
    height:58px !important;
    min-height:58px !important;
    padding:0 14px !important;

    display:grid !important;
    grid-template-columns:40px minmax(0,1fr) auto !important;
    grid-template-rows:58px !important;
    column-gap:8px !important;
    align-items:center !important;
  }

  /* Hamburger — left */
  .shan-brand-row > .shan-menu-toggle{
    display:flex !important;
    position:static !important;

    grid-column:1 !important;
    grid-row:1 !important;

    justify-self:start !important;
    align-self:center !important;

    width:30px !important;
    height:30px !important;
    margin:0 !important;
    padding:0 !important;
  }

  .shan-menu-toggle span:not(.screen-reader-text){
    width:21px !important;
  }

  /* Logo — true center */
  .shan-wordmark--header{
    position:static !important;

    grid-column:2 !important;
    grid-row:1 !important;

    justify-self:center !important;
    align-self:center !important;

    width:170px !important;
    max-width:55vw !important;
    margin:0 !important;
    transform:none !important;
  }

  .shan-wordmark--header img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:48px !important;
  }

  /* Actions — right */
  .shan-header-actions{
    grid-column:3 !important;
    grid-row:1 !important;

    justify-self:end !important;
    align-self:center !important;

    display:flex !important;
    align-items:center !important;
    gap:13px !important;

    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
  }

  .shan-search,
  .shan-favorites-link,
  .shan-account-link{
    display:none !important;
  }

  .shan-mobile-search-toggle,
  .shan-header-actions .shan-cart-link{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:24px !important;
    height:24px !important;
    padding:0 !important;
    margin:0 !important;
  }

  .shan-mobile-search-toggle svg,
  .shan-header-actions .shan-cart-link svg{
    width:20px !important;
    height:20px !important;
  }

}


@media(width < 1024px){

  .shan-brand-row{
    padding:0 16px !important;
    grid-template-columns:34px minmax(0,1fr) 58px !important;
  }

  .shan-wordmark--header{
    width:182px !important;
    max-width:58vw !important;
  }

  .shan-brand-row > .shan-menu-toggle{
    justify-self:start !important;
  }

  .shan-header-actions{
    gap:12px !important;
  }

}


/* Mobile header visual correction */
@media(width < 1024px){

  /* Make the actual logo artwork visibly larger */
  .shan-wordmark--header{
    overflow:visible !important;
  }

  .shan-wordmark--header img{
    width:100% !important;
    max-width:none !important;
    max-height:none !important;
    transform:scale(1.48) !important;
    transform-origin:center center !important;
  }

  /* Proper three-line hamburger */
  .shan-brand-row > .shan-menu-toggle{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    gap:5px !important;
  }

  .shan-menu-toggle span:not(.screen-reader-text){
    display:block !important;
    position:static !important;
    width:22px !important;
    height:2px !important;
    margin:0 !important;
    background:currentColor !important;
    transform:none !important;
  }

}


@media(width < 1024px){
  .shan-wordmark--header img{
    transform:scale(1.32) !important;
  }
}


/* =========================================================
   MOBILE HERO POLISH
   Desktop untouched
   ========================================================= */
@media(width < 1024px){

  .shan-hero--lifestyle .shan-hero__grid{
    width:100% !important;
  }

  .shan-hero--lifestyle .shan-hero__content{
    width:100% !important;
    max-width:none !important;
    padding:34px 18px 30px !important;
  }

  .shan-hero--lifestyle .shan-eyebrow{
    margin-bottom:20px !important;
    font-size:11px !important;
    line-height:1.4 !important;
    letter-spacing:.14em !important;
  }

  .shan-hero--lifestyle h1{
    max-width:none !important;
    margin-bottom:22px !important;
    font-size:48px !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
  }

  .shan-hero--lifestyle .shan-hero__lede{
    margin-bottom:28px !important;
    font-size:16px !important;
    line-height:1.65 !important;
  }

  .shan-hero--lifestyle .shan-button--primary{
    width:100% !important;
    min-height:50px !important;
    justify-content:center !important;
  }

  .shan-hero--lifestyle .shan-hero__photograph{
    width:100% !important;
    aspect-ratio:1.15 / 1 !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

}


/* =========================================================
   MOBILE HERO — PRODUCT-LED INTEGRATED LAYOUT
   Desktop untouched
   ========================================================= */

.shan-mobile-shipping-strip{
  display:none;
}

@media(width < 1024px){

  /* Green shipping strip directly below mobile header */
  .shan-mobile-shipping-strip{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:34px;
    padding:6px 12px;

    background:#31572c;
    color:#fff;

    font-family:var(--shan-sans);
    font-size:12px;
    font-weight:600;
    line-height:1;
  }

  .shan-mobile-shipping-strip svg{
    width:18px;
    height:18px;
    flex:0 0 18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
  }


  /* Hide desktop-style 4-item trust strip on mobile */
  .shan-trust-strip{
    display:none !important;
  }


  /* Integrated hero */
  .shan-hero--lifestyle{
    position:relative !important;
    display:block !important;
    width:100% !important;
    min-height:445px !important;
    overflow:hidden !important;
    background:#f6ecde !important;
  }

  /* Product/lifestyle image fills hero */
  .shan-hero--lifestyle .shan-hero__photograph{
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;

    width:100% !important;
    height:100% !important;
    aspect-ratio:auto !important;

    object-fit:cover !important;
    object-position:68% center !important;
  }

  /* Cream fade gives text readable space on left */
  .shan-hero--lifestyle::before{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;

    background:
      linear-gradient(
        90deg,
        rgba(246,236,222,.99) 0%,
        rgba(246,236,222,.97) 39%,
        rgba(246,236,222,.76) 55%,
        rgba(246,236,222,.16) 75%,
        rgba(246,236,222,0) 100%
      ) !important;

    pointer-events:none !important;
  }

  .shan-hero--lifestyle .shan-hero__grid{
    position:relative !important;
    z-index:2 !important;

    width:100% !important;
    min-height:445px !important;
    margin:0 !important;
    padding:0 !important;
  }

  .shan-hero--lifestyle .shan-hero__content{
    width:64% !important;
    max-width:none !important;

    margin:0 !important;
    padding:43px 0 36px 20px !important;
  }

  .shan-hero--lifestyle .shan-eyebrow{
    max-width:250px !important;
    margin:0 0 18px !important;

    font-size:9px !important;
    font-weight:700 !important;
    line-height:1.45 !important;
    letter-spacing:.13em !important;
  }

  .shan-hero--lifestyle h1{
    max-width:245px !important;
    margin:0 0 18px !important;

    font-size:39px !important;
    line-height:.99 !important;
    letter-spacing:-.035em !important;
  }

  .shan-hero--lifestyle .shan-hero__lede{
    max-width:220px !important;
    margin:0 0 23px !important;

    font-size:13px !important;
    line-height:1.48 !important;
  }

  .shan-hero--lifestyle .shan-button-row{
    margin:0 !important;
  }

  /* Compact green CTA like reference */
  .shan-hero--lifestyle .shan-button--primary{
    display:inline-flex !important;
    width:auto !important;
    min-height:43px !important;

    padding:0 20px !important;
    justify-content:center !important;

    border-radius:7px !important;
    background:#31572c !important;
    color:#fff !important;

    font-size:12px !important;
    font-weight:700 !important;
  }

}


/* Mobile hero — enforce Hemp & Heritage palette */
@media(width < 1024px){

  .shan-mobile-shipping-strip{
    background:var(--shan-burgundy) !important;
  }

  .shan-hero--lifestyle .shan-button--primary{
    background:var(--shan-burgundy) !important;
    color:#fff !important;
  }

}


/* Mobile only — reduce hero height */
@media(width < 1024px){

  .shan-hero--lifestyle{
    min-height:365px !important;
  }

  .shan-hero--lifestyle .shan-hero__grid{
    min-height:365px !important;
  }

}


/* Mobile only — hero 25% shorter */
@media(width < 1024px){
  .shan-hero--lifestyle,
  .shan-hero--lifestyle .shan-hero__grid{
    min-height:274px !important;
    height:274px !important;
  }
}


/* =========================================================
   MOBILE FEATURED PRODUCTS
   Desktop untouched
   ========================================================= */

.shan-mobile-featured{
  display:none;
}

@media(width < 1024px){

  .shan-mobile-featured{
    display:block;
    padding:24px 0 28px;
    background:#fff;
  }

  .shan-mobile-featured__heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
  }

  .shan-mobile-featured__heading h2{
    margin:0;
    font-family:var(--shan-sans);
    font-size:17px;
    font-weight:700;
    line-height:1.2;
  }

  .shan-mobile-featured__heading a{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:var(--shan-ink);
    font-family:var(--shan-sans);
    font-size:12px;
    font-weight:600;
    text-decoration:none;
  }

  .shan-mobile-featured__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }

  .shan-mobile-featured__card{
    min-width:0;
  }

  .shan-mobile-featured__image{
    position:relative;
    display:block;
    overflow:hidden;
    aspect-ratio:1 / 1;
    border-radius:8px;
    background:#f3f0ea;
  }

  .shan-mobile-featured__image img{
    display:block;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .shan-mobile-featured__heart{
    position:absolute;
    top:8px;
    right:9px;
    z-index:2;
    color:var(--shan-ink);
    font-family:Arial,sans-serif;
    font-size:24px;
    line-height:1;
  }

  .shan-mobile-featured__info{
    padding-top:9px;
    font-family:var(--shan-sans);
  }

  .shan-mobile-featured__info h3{
    margin:0 0 5px;
    font-family:var(--shan-sans);
    font-size:14px;
    font-weight:600;
    line-height:1.25;
  }

  .shan-mobile-featured__info h3 a{
    color:var(--shan-ink);
    text-decoration:none;
  }

  .shan-mobile-featured__price{
    margin-bottom:5px;
    font-size:14px;
    font-weight:700;
    line-height:1.2;
  }

  .shan-mobile-featured__rating{
    display:flex;
    align-items:center;
    gap:5px;
    min-height:18px;
    font-size:12px;
    line-height:1;
  }

  .shan-mobile-featured__rating .star-rating{
    margin:0;
    font-size:12px;
  }

  .shan-mobile-featured__rating > span{
    font-size:11px;
  }

  .shan-mobile-empty-stars{
    letter-spacing:1px;
    font-size:14px !important;
  }

}


/* =========================================================
   MOBILE SHOP BY CATEGORY
   Desktop untouched
   ========================================================= */

@media(width < 1024px){

  .shan-categories{
    padding:24px 0 28px !important;
    background:#fff !important;
  }

  .shan-categories .shan-section-heading{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
    margin-bottom:14px !important;
  }

  .shan-categories .shan-section-heading .shan-eyebrow{
    display:none !important;
  }

  .shan-categories .shan-section-heading h2{
    margin:0 !important;
    font-family:var(--shan-sans) !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
  }

  .shan-categories .shan-section-heading > a{
    display:inline-flex !important;
    align-items:center !important;
    gap:5px !important;
    font-size:12px !important;
    font-weight:600 !important;
    text-decoration:none !important;
  }

  .shan-category-carousel{
    overflow:visible !important;
  }

  .shan-category-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }

  .shan-category-card{
    min-width:0 !important;
    background:transparent !important;
  }

  .shan-category-card > a{
    min-height:0 !important;
    display:block !important;
    background:transparent !important;
  }

  .shan-category-card__art{
    aspect-ratio:1 / 1 !important;
    overflow:hidden !important;
    border-radius:8px !important;
    background:#f3f0ea !important;
  }

  .shan-category-card__art img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
  }

  .shan-category-card__content{
    padding:8px 0 0 !important;
    background:transparent !important;
    text-align:left !important;
  }

  .shan-category-card__content h3{
    margin:0 !important;
    font-family:var(--shan-sans) !important;
    font-size:14px !important;
    font-weight:600 !important;
    line-height:1.25 !important;
  }

}


/* Mobile category heading — show View All Categories */
@media(width < 1024px){

  .shan-categories .shan-section-heading{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    margin-bottom:14px !important;
  }

  .shan-categories .shan-section-heading > a{
    display:inline-flex !important;
    align-items:center !important;
    gap:5px !important;
    font-size:11px !important;
    font-weight:600 !important;
    white-space:nowrap !important;
    text-decoration:none !important;
  }

  .shan-categories .shan-category-carousel{
    overflow:hidden !important;
  }

  .shan-categories:not(.shan-categories-page) .shan-category-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:10px !important;
    width:100% !important;
  }

  /* Show only first 4 categories on mobile */
  .shan-categories:not(.shan-categories-page) .shan-category-card:nth-child(n+5){
    display:none !important;
  }

}


@media(width < 1024px){

  .shan-categories .shan-section-heading{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    margin-bottom:14px !important;
  }

  .shan-categories .shan-section-heading > div{
    display:block !important;
    flex:0 1 auto !important;
  }

  .shan-categories .shan-section-heading h2{
    margin:0 !important;
    white-space:nowrap !important;
  }

  .shan-categories .shan-section-heading > a{
    display:inline-flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    margin:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
    font-size:11px !important;
    font-weight:700 !important;
    text-transform:uppercase !important;
    border:0 !important;
    text-decoration:none !important;
  }

}


/* Mobile section title — match Featured Pieces / desktop typography */
@media(width < 1024px){

  .shan-categories .shan-section-heading h2{
    font-family:var(--shan-serif) !important;
    font-size:28px !important;
    font-weight:500 !important;
    line-height:1.05 !important;
    letter-spacing:-.02em !important;
  }

}


/* =========================================================
   MOBILE — STANDARD SECTION HEADINGS
   Title left / VIEW ALL right
   Desktop untouched
   ========================================================= */
@media(width < 1024px){

  .shan-section-heading{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    margin-bottom:14px !important;
  }

  .shan-section-heading > div{
    flex:0 1 auto !important;
  }

  .shan-section-heading .shan-eyebrow{
    display:none !important;
  }

  .shan-section-heading h2{
    margin:0 !important;
    font-family:var(--shan-serif) !important;
    font-size:28px !important;
    font-weight:500 !important;
    line-height:1.05 !important;
    letter-spacing:-.02em !important;
  }

  .shan-section-heading > a{
    display:inline-flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;

    font-family:var(--shan-sans) !important;
    font-size:11px !important;
    font-weight:700 !important;
    line-height:1 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
    text-decoration:none !important;
  }

}


/* Mobile Featured Pieces — match New Arrivals image sizing */
@media(width < 1024px){



}


/* MOBILE FEATURED PIECES — match New Arrivals image sizing */
@media(width < 1024px){

  .shan-featured .shan-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }



}


/* =========================================================
   MOBILE — FEATURED PIECES FINAL POLISH
   Desktop untouched
   ========================================================= */
@media(width < 1024px){

  /* Section spacing */
  .shan-featured{
    padding-top:28px !important;
    padding-bottom:32px !important;
  }

  /* Header */
  .shan-featured .shan-section-heading{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    margin-bottom:16px !important;
  }

  .shan-featured .shan-section-heading h2{
    margin:0 !important;
    font-family:var(--shan-serif) !important;
    font-size:28px !important;
    font-weight:500 !important;
    line-height:1.05 !important;
    letter-spacing:-.02em !important;
  }

  .shan-featured .shan-section-heading > a{
    display:inline-flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    font-family:var(--shan-sans) !important;
    font-size:11px !important;
    font-weight:700 !important;
    line-height:1 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
    text-decoration:none !important;
  }

  /* Two equal cards */
  .shan-featured .shan-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }/* Square images */



  /* Smaller badges */
  .shan-featured .shan-badge{
    top:10px !important;
    left:10px !important;
    padding:5px 8px !important;
    font-size:8px !important;
  }

  /* Compact product body */

  /* Smaller Add to Cart */
  .shan-featured .shan-product-card__cart.button{
    width:100% !important;
    min-height:40px !important;
    height:40px !important;
    margin-top:auto !important;
    padding:0 10px !important;
    border-radius:5px !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:40px !important;
  }

}




/* =========================================================
   MOBILE HOMEPAGE — FULL POLISH / COMPRESSION PASS
   Desktop untouched
   ========================================================= */
@media(width < 1024px){

  /* -------------------------------------------------------
     GLOBAL MOBILE SECTION RHYTHM
     ------------------------------------------------------- */

  .shan-section{
    padding-top:30px !important;
    padding-bottom:30px !important;
  }

  .shan-section-heading{
    margin-bottom:14px !important;
  }

  .shan-section-heading h2{
    font-size:27px !important;
    line-height:1.02 !important;
  }

  .shan-section-heading > a{
    font-size:10px !important;
    letter-spacing:.04em !important;
  }


  /* -------------------------------------------------------
     HERO — tighter, cleaner, same current height
     ------------------------------------------------------- */

  .shan-hero--lifestyle .shan-hero__content{
    width:61% !important;
    padding:28px 0 22px 16px !important;
  }

  .shan-hero--lifestyle .shan-eyebrow{
    margin:0 0 9px !important;
    font-size:7.5px !important;
    line-height:1.35 !important;
    letter-spacing:.11em !important;
  }

  .shan-hero--lifestyle h1{
    max-width:220px !important;
    margin:0 0 9px !important;
    font-size:31px !important;
    line-height:.98 !important;
  }

  .shan-hero--lifestyle .shan-hero__lede{
    max-width:205px !important;
    margin:0 0 13px !important;
    font-size:11px !important;
    line-height:1.38 !important;
  }

  .shan-hero--lifestyle .shan-button--primary{
    min-height:36px !important;
    padding:0 15px !important;
    font-size:10px !important;
    border-radius:5px !important;
  }


  /* -------------------------------------------------------
     CATEGORIES
     ------------------------------------------------------- */

  .shan-categories{
    padding-top:20px !important;
    padding-bottom:22px !important;
  }

  .shan-categories .shan-section-heading{
    margin-bottom:12px !important;
  }

  .shan-categories:not(.shan-categories-page) .shan-category-card__content{
    padding-top:5px !important;
  }


  /* -------------------------------------------------------
     MORE THAN BAGS — much more compact
     ------------------------------------------------------- */

  .shan-more-than-bags{
    padding:0 !important;
  }

  .shan-more-than-bags__grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
  }

  .shan-more-than-bags__image{
    overflow:hidden !important;
    min-height:0 !important;
    height:215px !important;
  }

  .shan-more-than-bags__image img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .shan-more-than-bags__story{
    padding:22px 17px 19px !important;
  }

  .shan-more-than-bags__story h2{
    margin:0 0 8px !important;
    font-size:27px !important;
    line-height:1 !important;
  }

  .shan-more-than-bags__story p{
    display:-webkit-box !important;
    margin:0 0 13px !important;
    overflow:hidden !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:4 !important;

    font-size:11px !important;
    line-height:1.45 !important;
  }

  .shan-more-than-bags__button{
    min-height:34px !important;
    padding:0 13px !important;
    font-size:9px !important;
  }


  /* -------------------------------------------------------
     MORE THAN BAGS VALUES
     ------------------------------------------------------- */

  .shan-more-than-bags__values{
    display:grid !important;
    gap:0 !important;
    padding:4px 17px 15px !important;
  }

  .shan-more-than-bags__value{
    display:grid !important;
    grid-template-columns:30px 1fr !important;
    gap:10px !important;
    align-items:start !important;
    padding:11px 0 !important;
    border-top:1px solid rgba(40,35,30,.10) !important;
  }

  .shan-more-than-bags__icon{
    width:26px !important;
    height:26px !important;
  }

  .shan-more-than-bags__icon svg{
    width:22px !important;
    height:22px !important;
  }

  .shan-more-than-bags__value h3{
    margin:0 0 2px !important;
    font-size:11px !important;
    line-height:1.2 !important;
  }

  .shan-more-than-bags__value p{
    margin:0 !important;
    font-size:9px !important;
    line-height:1.4 !important;
  }


  /* -------------------------------------------------------
     NEW ARRIVALS
     ------------------------------------------------------- */

  .shan-new-arrivals{
    padding-top:28px !important;
    padding-bottom:30px !important;
  }



  /* -------------------------------------------------------
     LIFESTYLE / CRAFT IMAGE
     ------------------------------------------------------- */

  .shan-craft-banner__art{
    min-height:0 !important;
    height:230px !important;
  }

  .shan-craft-banner__art img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .shan-craft-banner__content{
    padding:28px 18px 30px !important;
  }

  .shan-craft-banner__content .shan-eyebrow{
    margin-bottom:8px !important;
    font-size:7px !important;
  }

  .shan-craft-banner__content h2{
    margin-bottom:10px !important;
    font-size:27px !important;
    line-height:1 !important;
  }

  .shan-craft-banner__content p{
    margin-bottom:14px !important;
    font-size:10px !important;
    line-height:1.45 !important;
  }

  .shan-craft-banner__content .shan-button{
    min-height:35px !important;
    padding:0 14px !important;
    font-size:8px !important;
  }


  /* -------------------------------------------------------
     OUR STORY — homepage teaser, not full article
     ------------------------------------------------------- */

  .shan-story{
    padding-top:28px !important;
    padding-bottom:27px !important;
  }

  .shan-story__grid{
    gap:20px !important;
  }

  .shan-story h2{
    margin-bottom:9px !important;
    font-size:27px !important;
    line-height:1.02 !important;
  }

  .shan-story p{
    font-size:10px !important;
    line-height:1.45 !important;
  }

  .shan-story__copy > p{
    display:-webkit-box !important;
    overflow:hidden !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:5 !important;
  }

  .shan-story__values,
  .shan-story__principles{
    gap:0 !important;
  }

  .shan-story__value,
  .shan-story__principle{
    padding:10px 0 !important;
  }


  

  

  

  

  


  /* -------------------------------------------------------
     FOOTER — compact first pass
     ------------------------------------------------------- */

  .shan-footer{
    padding-top:27px !important;
    padding-bottom:12px !important;
  }

  .shan-footer__grid{
    gap:22px 16px !important;
  }

  .shan-footer__brand{
    margin-bottom:0 !important;
  }

  .shan-footer__brand p{
    margin-top:8px !important;
    font-size:9px !important;
    line-height:1.4 !important;
  }

  .shan-footer h3{
    margin-bottom:7px !important;
    font-size:9px !important;
  }

  .shan-footer ul{
    margin:0 !important;
  }

  .shan-footer li{
    margin-bottom:3px !important;
  }

  .shan-footer a{
    font-size:9px !important;
  }

  .shan-footer__bottom{
    gap:6px !important;
    margin-top:20px !important;
    padding-top:12px !important;
    font-size:8px !important;
  }

}



/* =========================================================
   MOBILE — GLOBAL PRODUCT TILE COMPONENT
   Single source of truth for product cards site-wide.
   Use shan-product-tile* classes anywhere products appear.
   ========================================================= */
@media(width < 1024px){

  .shan-product-tile{
    min-width:0 !important;
  }

  /* IMAGE */
  .shan-product-tile__media{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:1 / 1 !important;
    overflow:hidden !important;
    border-radius:5px !important;
    background:#f3f0ea !important;
  }

  .shan-product-tile__media img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    aspect-ratio:auto !important;
    object-fit:cover !important;
  }

  /* BODY */
  .shan-product-tile__body{
    padding:7px 0 0 !important;
    font-family:var(--shan-sans) !important;
  }

  /* PRODUCT NAME */
  .shan-product-tile__body h3{
    display:block !important;
    width:100% !important;
    min-height:0 !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    font-family:var(--shan-sans) !important;
    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.2 !important;

    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .shan-product-tile__body h3 a{
    display:block !important;
    overflow:hidden !important;
    white-space:nowrap !important;
    text-overflow:ellipsis !important;
    color:var(--shan-ink) !important;
    text-decoration:none !important;
  }

  /* PRICE — equal breathing room above/below */
  .shan-product-tile__price{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:baseline !important;
    gap:3px 6px !important;

    min-height:0 !important;
    height:auto !important;

    margin:5px 0 !important;
    padding:0 !important;

    color:var(--shan-ink) !important;
    font-family:var(--shan-sans) !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
  }

  .shan-product-tile__price del{
    margin:0 !important;
    font-size:13px !important;
    font-weight:500 !important;
    opacity:.5 !important;
  }

  .shan-product-tile__price ins{
    margin:0 !important;
    text-decoration:none !important;
  }

  /* RATING */
  .shan-product-tile__rating{
    display:flex !important;
    align-items:center !important;

    min-height:0 !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    font-size:18px !important;
    line-height:1 !important;
  }

  .shan-product-tile__rating .star-rating,
  .shan-product-tile__rating .shan-empty-stars{
    margin:0 !important;
    padding:0 !important;
    font-size:18px !important;
    line-height:1 !important;
  }

}


/* MOBILE — global product tile price refinement */
@media(width < 1024px){

  .shan-product-tile__price{
    font-size:15px !important;
    margin-top:7px !important;
    margin-bottom:5px !important;
  }

}


@media(width < 1024px){

  .shan-product-tile__price{
    margin-top:10px !important;
    margin-bottom:5px !important;
  }

}


/* MOBILE — global product price final */
@media(width < 1024px){

  .shan-product-tile__price{
    font-size:15px !important;
    margin-top:10px !important;
    margin-bottom:5px !important;
  }

}


/* =========================================================
   MOBILE — GLOBAL PRODUCT TILE COMPONENT
   Single source of truth site-wide
   ========================================================= */
@media(width < 1024px){

  .shan-product-tile-grid,
  .shan-featured .shan-product-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:17px 12px !important;
  }

  .shan-product-tile{
    min-width:0 !important;
  }

  .shan-product-tile__media{
    position:relative !important;
    display:block !important;
    width:100% !important;
    aspect-ratio:1 / 1 !important;
    overflow:hidden !important;
    border-radius:5px !important;
    background:#f3f0ea !important;
  }

  .shan-product-tile__media img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .shan-product-tile__body{
    padding:7px 0 0 !important;
    font-family:var(--shan-sans) !important;
  }

  .shan-product-tile__body h3{
    display:block !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;

    font-family:var(--shan-sans) !important;
    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.2 !important;

    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .shan-product-tile__body h3 a{
    display:block !important;
    color:var(--shan-ink) !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .shan-product-tile__price{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:baseline !important;
    gap:3px 6px !important;

    min-height:0 !important;
    height:auto !important;
    margin:10px 0 5px !important;
    padding:0 !important;

    color:var(--shan-ink) !important;
    font-family:var(--shan-sans) !important;
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
  }

  .shan-product-tile__price del{
    margin:0 !important;
    font-size:13px !important;
    font-weight:500 !important;
    opacity:.5 !important;
  }

  .shan-product-tile__price ins{
    margin:0 !important;
    text-decoration:none !important;
  }

  .shan-product-tile__rating{
    display:flex !important;
    align-items:center !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    font-size:18px !important;
    line-height:1 !important;
  }

  .shan-product-tile__rating .star-rating,
  .shan-product-tile__rating .shan-empty-stars{
    margin:0 !important;
    padding:0 !important;
    font-size:18px !important;
    line-height:1 !important;
  }

}


/* =========================================================
   MOBILE — GLOBAL SECTION HEADING COMPONENT
   Single source of truth site-wide
   ========================================================= */
@media(width < 1024px){

  :root{
    --shan-mobile-section-title-size:27px;
    --shan-mobile-viewall-size:11px;
  }

  .shan-section-heading{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:16px !important;
  }

  .shan-section-heading h2{
    font-family:var(--shan-serif) !important;
    font-size:var(--shan-mobile-section-title-size) !important;
    font-weight:500 !important;
    line-height:1.02 !important;
  }

  .shan-section-heading > a{
    font-family:var(--shan-sans) !important;
    font-size:var(--shan-mobile-viewall-size) !important;
    font-weight:700 !important;
    line-height:1 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }

}

/* =========================================================
   MOBILE HEADER — HAMBURGER COLOR AUTHORITY
   Keep menu icon permanently on-brand
   ========================================================= */
@media(width < 1024px){

  .shan-mobile-menu-toggle,
  .shan-mobile-menu-toggle:link,
  .shan-mobile-menu-toggle:visited,
  .shan-mobile-menu-toggle:hover,
  .shan-mobile-menu-toggle:focus,
  .shan-mobile-menu-toggle:active{
    color:var(--shan-burgundy) !important;
  }

  .shan-mobile-menu-toggle svg{
    stroke:currentColor !important;
  }

  .shan-mobile-menu-toggle svg *,
  .shan-mobile-menu-toggle span{
    color:inherit !important;
    stroke:currentColor !important;
  }
}

/* MOBILE — hamburger brand color */
@media(width < 1024px){
  .shan-menu-toggle,
  .shan-menu-toggle:hover,
  .shan-menu-toggle:focus,
  .shan-menu-toggle:focus-visible,
  .shan-menu-toggle:active{
    color:var(--shan-burgundy) !important;
    -webkit-tap-highlight-color:transparent;
  }

  .shan-menu-toggle span:not(.screen-reader-text){
    background:currentColor !important;
  }
}

/* =========================================================
   MOBILE HOMEPAGE — REVISION 1
   iPhone storefront polish
   Mobile only. Desktop remains untouched.
   ========================================================= */
@media(width < 1024px){

  /* ---------------------------------------------------------
     GLOBAL MOBILE RHYTHM
     --------------------------------------------------------- */

  .shan-section{
    padding-top:26px !important;
    padding-bottom:26px !important;
  }

  /* Shared section heading component */
  .shan-section-heading{
    margin-bottom:16px !important;
  }

  .shan-section-heading h2{
    font-size:var(--shan-mobile-section-title-size) !important;
    font-weight:500 !important;
    line-height:1.04 !important;
  }

  .shan-section-heading > a{
    display:inline-flex !important;
    align-items:center !important;
    gap:4px !important;
    font-size:var(--shan-mobile-viewall-size) !important;
    line-height:1 !important;
  }


  /* ---------------------------------------------------------
     HERO
     --------------------------------------------------------- */

  .shan-hero--lifestyle h1{
    font-size:29px !important;
    line-height:1.05 !important;
    letter-spacing:-.025em !important;
    margin-bottom:10px !important;
  }

  .shan-hero--lifestyle .shan-eyebrow{
    margin-bottom:8px !important;
    font-size:9px !important;
    line-height:1.25 !important;
  }

  .shan-hero--lifestyle .shan-hero__lede{
    margin-bottom:14px !important;
    font-size:12px !important;
    line-height:1.45 !important;
  }

  .shan-hero--lifestyle .shan-button{
    min-height:34px !important;
    padding:8px 15px !important;
    font-size:9px !important;
  }


  /* ---------------------------------------------------------
     SHOP BY CATEGORY
     --------------------------------------------------------- */

  .shan-categories{
    padding-bottom:8px !important;
  }

  .shan-categories .shan-section-heading{
    margin-bottom:14px !important;
  }

  .shan-category-card h3{
    font-weight:600 !important;
    line-height:1.15 !important;
  }


  /* ---------------------------------------------------------
     FEATURED — remove oversized gap above section
     --------------------------------------------------------- */

  .shan-featured{
    padding-top:10px !important;
    padding-bottom:30px !important;
  }


  /* ---------------------------------------------------------
     GLOBAL PRODUCT TILE COMPONENT POLISH
     Featured + New Arrivals + future shared product tiles
     --------------------------------------------------------- */

  .shan-product-tile-grid,
  .shan-featured .shan-product-grid{
    gap:18px 12px !important;
  }

  .shan-product-tile__body{
    padding-top:7px !important;
  }

  .shan-product-tile__body h3{
    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
  }

  .shan-product-tile__price{
    margin:8px 0 4px !important;
    font-size:15px !important;
    line-height:1.15 !important;
  }

  .shan-product-tile__rating,
  .shan-product-tile__rating .star-rating,
  .shan-product-tile__rating .shan-empty-stars{
    font-size:15px !important;
    line-height:1 !important;
  }

  .shan-product-tile__rating .shan-empty-stars{
    color:var(--shan-muted) !important;
    opacity:.72 !important;
    letter-spacing:.5px !important;
  }


  /* ---------------------------------------------------------
     FEATURED BADGES
     --------------------------------------------------------- */

  .shan-featured .shan-badge{
    top:8px !important;
    left:8px !important;
    padding:4px 7px !important;
    font-size:8px !important;
  }


  /* ---------------------------------------------------------
     MORE THAN BAGS
     --------------------------------------------------------- */

  .shan-more-than-bags{
    padding-top:28px !important;
    padding-bottom:24px !important;
  }

  .shan-more-than-bags__image{
    height:205px !important;
    min-height:0 !important;
    margin-bottom:20px !important;
    overflow:hidden !important;
  }

  .shan-more-than-bags__image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .shan-more-than-bags__story{
    padding:0 !important;
  }

  .shan-more-than-bags__story h2{
    margin-bottom:9px !important;
    font-size:27px !important;
    line-height:1.05 !important;
  }

  .shan-more-than-bags__story p{
    margin-bottom:16px !important;
    font-size:14px !important;
    line-height:1.5 !important;
  }

  .shan-more-than-bags__button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px !important;
    padding:0 18px !important;
    margin-bottom:18px !important;
    border-radius:5px !important;
    font-size:11px !important;
    font-weight:700 !important;
  }

  .shan-more-than-bags__values{
    display:none !important;
  }


  .shan-more-than-bags__value{
    display:grid !important;
    grid-template-columns:42px 1fr !important;
    align-items:center !important;
    gap:12px !important;
    padding:14px !important;
    border:1px solid var(--shan-line) !important;
    border-radius:8px !important;
    background:rgba(255,250,241,.72) !important;
  }

  .shan-more-than-bags__icon{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px !important;
    height:42px !important;
    border-radius:50% !important;
    background:var(--shan-cream) !important;
  }

  .shan-more-than-bags__icon svg{
    width:22px !important;
    height:22px !important;
  }

  .shan-more-than-bags__value h3{
    margin:0 0 4px !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
  }

  .shan-more-than-bags__value p{
    margin:0 !important;
    font-size:11px !important;
    line-height:1.4 !important;
  }


  /* ---------------------------------------------------------
     NEW ARRIVALS
     --------------------------------------------------------- */

  .shan-new-arrivals{
    padding-top:27px !important;
    padding-bottom:30px !important;
  }

  .shan-new-arrivals__heading{
    margin-bottom:16px !important;
  }

  /* Wishlist heart should remain secondary to product */
  .shan-product-tile__heart,
  .shan-product-tile .shan-wishlist,
  .shan-product-tile .shan-wishlist-button,
  .shan-product-tile [class*="wishlist"]{
    transform:scale(.78) !important;
    transform-origin:center !important;
  }


  /* ---------------------------------------------------------
     CRAFT / BURGUNDY LIFESTYLE SECTION
     --------------------------------------------------------- */

  .shan-craft-banner__grid{
    min-height:0 !important;
    gap:0 !important;
  }

  .shan-craft-banner__art{
    min-height:0 !important;
    margin-top:8px !important;
    height:220px !important;
    width:calc(100% + 16px) !important;
    margin-left:-8px !important;
    margin-right:-8px !important;
  }

  .shan-craft-banner__art img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .shan-craft-banner__content{
    padding:20px 16px 22px !important;
  }

  .shan-craft-banner .shan-eyebrow{
    margin-bottom:9px !important;
    font-size:9px !important;
  }

  .shan-craft-banner h2{
    margin-bottom:12px !important;
    font-size:28px !important;
    line-height:1.08 !important;
  }

  .shan-craft-banner__content p:not(.shan-eyebrow){
    margin-bottom:18px !important;
    font-size:14px !important;
    line-height:1.5 !important;
  }


  /* ---------------------------------------------------------
     OUR STORY
     --------------------------------------------------------- */

  .shan-story{
    padding-top:30px !important;
    padding-bottom:28px !important;
  }

  .shan-story .shan-eyebrow{
    margin-bottom:9px !important;
    font-size:9px !important;
  }

  .shan-story h2{
    margin-bottom:14px !important;
    font-size:28px !important;
    line-height:1.08 !important;
  }

  .shan-story p{
    font-size:14px !important;
    line-height:1.5 !important;
  }

  .shan-story__copy > p{
    margin-bottom:11px !important;
  }

  .shan-story__values{
    margin-top:22px !important;
  }

  .shan-story__value{
    padding:13px 0 !important;
  }

  .shan-story__value h3{
    margin-bottom:3px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
  }

  .shan-story__value p{
    line-height:1.4 !important;
  }


  

  

  

  


  /* ---------------------------------------------------------
     FOOTER — compact mobile presentation
     --------------------------------------------------------- */

  .shan-footer{
    padding-top:36px !important;
    padding-bottom:18px !important;
  }

  .shan-footer__grid{
    gap:22px 18px !important;
    padding-bottom:28px !important;
  }

  .shan-footer__brand{
    margin-bottom:3px !important;
  }

  .shan-footer__brand > p{
    margin:14px 0 !important;
    font-size:12px !important;
    line-height:1.5 !important;
  }

  .shan-footer h2{
    margin-bottom:10px !important;
  }

  .shan-footer__grid > div:not(.shan-footer__brand) a{
    margin-bottom:7px !important;
    font-size:12px !important;
    line-height:1.35 !important;
  }

  .shan-socials{
    margin-top:12px !important;
  }

  .shan-footer__bottom{
    gap:8px !important;
    padding-top:16px !important;
    font-size:10px !important;
    line-height:1.4 !important;
  }

}


@media(width < 1024px){
  #primary > section.shan-more-than-bags > div > div.shan-more-than-bags__values{
    display:none !important;
  }
}

@media(width < 1024px){
  .shan-craft-banner__content .shan-button{
    font-size:10px !important;
  }
}

@media(width < 1024px){
  .shan-story__values{
    display:none !important;
  }
}

@media(width < 1024px){
  #our-story .shan-story__values{
    display:none !important;
  }
}

@media(width < 1024px){

  .shan-footer{
    padding-top:28px !important;
  }

  .shan-footer__grid{
    display:block !important;
  }

  .shan-footer__brand{
    margin-bottom:22px !important;
  }

  .shan-wordmark--footer{
    max-width:190px !important;
    margin-bottom:14px !important;
  }

  .shan-footer__brand > p{
    margin-bottom:14px !important;
    font-size:11px !important;
    line-height:1.45 !important;
  }

  .shan-socials{
    margin-top:0 !important;
    margin-bottom:18px !important;
  }

  .shan-footer__column{
    padding:0 !important;
    border-top:1px solid rgba(255,255,255,.12) !important;
  }

  .shan-footer__column:last-of-type{
    border-bottom:1px solid rgba(255,255,255,.12) !important;
  }

  .shan-footer__column h2{
    position:relative !important;
    margin:0 !important;
    padding:14px 28px 14px 0 !important;
    cursor:pointer !important;
  }

  .shan-footer__column h2::after{
    content:'+' !important;
    position:absolute !important;
    right:0 !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    font-size:16px !important;
    font-weight:400 !important;
  }

  .shan-footer__column.is-open h2::after{
    content:'−' !important;
  }

  .shan-footer__column a{
    display:none !important;
    padding:5px 0 !important;
    font-size:11px !important;
  }

  .shan-footer__column.is-open a{
    display:block !important;
  }

  .shan-footer__column.is-open{
    padding-bottom:10px !important;
  }

  .shan-footer__bottom{
    margin-top:18px !important;
    padding-top:14px !important;
    gap:4px !important;
    font-size:10px !important;
  }
}

@media(width < 1024px){
  .shan-footer__brand{
    text-align:center !important;
  }

  .shan-wordmark--footer{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .shan-socials{
    justify-content:center !important;
  }

  .shan-footer__bottom{
    align-items:center !important;
    text-align:center !important;
  }
}

@media(width < 1024px){
  .shan-footer__brand > p{
    text-align:center !important;
  }

  .shan-footer__bottom{
    margin-top:3px !important;
  }
}

@media(width < 1024px){
  .shan-footer__grid{
    padding-bottom:18px !important;
  }

  .shan-footer__brand > p{
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
}

@media(width < 1024px){
  .shan-footer .shan-wordmark--footer{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:190px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
}

@media(width < 1024px){
  .shan-footer__brand{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    text-align:center !important;
  }

  .shan-footer__brand > p{
    width:100% !important;
    max-width:300px !important;
    margin:14px auto !important;
    text-align:center !important;
  }

  .shan-footer .shan-wordmark--footer{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .shan-footer .shan-socials{
    width:100% !important;
    justify-content:center !important;
  }
}

@media(width < 1024px){
  .shan-footer__brand{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    align-items:center !important;
    text-align:center !important;
  }
}

@media(width < 1024px){
  .shan-footer .shan-wordmark--footer{
    padding:16px 24px !important;
  }
}

@media(width < 1024px){
  .shan-footer .shan-wordmark--footer{
    padding:4px 8px !important;
  }
}


@media(width < 1024px){
  .shan-wordmark--header{
    width:182px !important;
    max-width:58vw !important;
    overflow:visible !important;
  }

  .shan-wordmark--header img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    transform:none !important;
  }
}


@media(min-width:1024px){
  .shan-wordmark--header{
    width:220px !important;
    justify-self:start !important;
  }

  .shan-wordmark--header img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    transform:none !important;
  }
}


@media(width < 1024px){
  .shan-wordmark--header{
    position:relative !important;
    top:3px !important;
  }
}


/* =========================================================
   UNIVERSAL HOMEPAGE CARD SYSTEM
   New Arrivals is the visual/responsive authority.
   ========================================================= */

.shan-product-tile-grid,
.shan-featured .shan-product-grid{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:18px !important;
}

.shan-product-tile{
  min-width:0 !important;
}

.shan-product-tile__media{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  overflow:hidden !important;
  border-radius:5px !important;
  background:#f3f0ea !important;
}

.shan-product-tile__media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
}

.shan-product-tile__body{
  padding:10px 0 0 !important;
  font-family:var(--shan-sans) !important;
}

.shan-product-tile__body h3{
  margin:0 0 6px !important;
  font-family:var(--shan-sans) !important;
  font-size:15px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
}

.shan-product-tile__body h3 a{
  color:var(--shan-ink) !important;
  text-decoration:none !important;
}

.shan-product-tile__price{
  color:var(--shan-ink) !important;
  font-family:var(--shan-sans) !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
}

.shan-product-tile__price del{
  opacity:.55 !important;
  font-weight:500 !important;
}

.shan-product-tile__price ins{
  text-decoration:none !important;
}

@media not all {
  .shan-product-tile-grid,
  .shan-featured .shan-product-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media(width < 1024px){
  .shan-product-tile-grid,
  .shan-featured .shan-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:17px 12px !important;
  }

  .shan-product-tile__body{
    padding-top:7px !important;
  }

  .shan-product-tile__body h3{
    margin:0 !important;
    font-size:13px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .shan-product-tile__price{
    margin:10px 0 5px !important;
    font-size:15px !important;
  }
}


/* =========================================================
   SHOP BY CATEGORY — USE UNIVERSAL CARD GEOMETRY
   ========================================================= */

.shan-category-card{
  min-width:0 !important;
}

.shan-category-card > a{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:1 / 1 !important;
  overflow:hidden !important;
  border-radius:5px !important;
}

.shan-category-card__art{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
}

.shan-category-card__art img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}


/* =========================================================
   HOMEPAGE CATEGORY CARD — FINAL RESPONSIVE GEOMETRY
   Square image + label below. Do not square the whole link.
   ========================================================= */

.shan-categories:not(.shan-categories-page) .shan-category-card{
  min-width:0 !important;
  overflow:hidden !important;
  border-radius:5px !important;
  background:#f3f0ea !important;
}

.shan-categories:not(.shan-categories-page) .shan-category-card > a{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  overflow:visible !important;
  border-radius:0 !important;
  background:#f3f0ea !important;
}

.shan-categories:not(.shan-categories-page) .shan-category-card__art{
  position:relative !important;
  inset:auto !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:1 / 1 !important;
  flex:none !important;
  overflow:hidden !important;
}

.shan-categories:not(.shan-categories-page) .shan-category-card__art img{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.shan-categories:not(.shan-categories-page) .shan-category-card__content{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:46px !important;
  min-height:46px !important;
  padding:0 12px !important;
  background:#f3f0ea !important;
}

.shan-categories:not(.shan-categories-page) .shan-category-card__content h3{
  margin:0 !important;
  font-size:20px !important;
  line-height:1.2 !important;
  text-align:center !important;
}

/* Homepage category cards — transparent background */
.shan-categories:not(.shan-categories-page) .shan-category-card,
.shan-categories:not(.shan-categories-page) .shan-category-card > a,
.shan-categories:not(.shan-categories-page) .shan-category-card__content{
  background:transparent !important;
}

/* Category name typography — align with card system */
.shan-categories:not(.shan-categories-page) .shan-category-card__content h3{
  font-size:15px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
}

/* MOBILE — top shipping utility bar */
@media(width < 1024px){

  .shan-utility-bar{
    display:block !important;
    order:initial !important;
  }

  .shan-utility-bar__inner{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:29px !important;
  }

  .shan-utility-bar .shan-utility-item{
    display:none !important;
  }

  .shan-utility-bar .shan-utility-item:first-child{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
}

/* MOBILE — shipping belongs at very top, same structure as desktop */
@media(width < 1024px){

  .shan-utility-bar{
    display:block !important;
  }

  .shan-utility-bar__inner{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:29px !important;
  }

  .shan-utility-bar .shan-utility-item{
    display:none !important;
  }

  .shan-utility-bar .shan-utility-item:first-child{
    display:flex !important;
  }

  .shan-mobile-shipping-strip{
    display:none !important;
  }
}

/* MOBILE — quick shopping navigation below header */
.shan-mobile-quick-nav{
  display:none;
}

@media(width < 1024px){
  .shan-mobile-quick-nav{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    align-items:center;
    width:100%;
    min-height:38px;
    padding:0 16px;
    border-top:1px solid var(--shan-line);
    border-bottom:1px solid var(--shan-line);
    background:var(--shan-paper);
  }

  .shan-mobile-quick-nav a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    color:var(--shan-ink);
    font-family:var(--shan-sans);
    font-size:0.6875rem;
    font-weight:700;
    letter-spacing:.04em;
    text-decoration:none;
    white-space:nowrap;
  }

  .shan-mobile-quick-nav a:last-child{
    color:var(--shan-burgundy);
  }
}

/* MOBILE — branded top navigation colors */
@media(width < 1024px){

  /* Secondary gold shipping bar */
  .shan-utility-bar{
    background:var(--shan-gold) !important;
    color:var(--shan-ink) !important;
  }

  /* Primary burgundy quick menu */
  .shan-mobile-quick-nav{
    background:var(--shan-burgundy) !important;
    border-color:var(--shan-burgundy) !important;
  }

  .shan-mobile-quick-nav a,
  .shan-mobile-quick-nav a:last-child{
    color:var(--shan-paper) !important;
  }
}

/* HERO — full width up to 1440px, then centered */
.shan-hero--lifestyle{
  width:min(100%, var(--shan-shell)) !important;
  margin-inline:auto !important;
}

@media(width < 1024px){
  .shan-mobile-quick-nav,
  .shan-mobile-quick-nav a{
    min-height:37px !important;
  }
}

@media(width < 1024px){
  .shan-mobile-quick-nav,
  .shan-mobile-quick-nav a{
    min-height:32px !important;
  }
}

@media(width < 1024px){
  .shan-utility-bar{
    font-size:11px !important;
  }
}

@media(width < 1024px){
  .shan-utility-bar .shan-utility-item:first-child{
    font-size:11px !important;
  }
}

/* MOBILE — slightly more vertical breathing room in main header */
@media(width < 1024px){
  .shan-brand-row{
    min-height:76px !important;
  }
}

@media(width < 1024px){
  .shan-brand-row{
    padding-top:6px !important;
    padding-bottom:6px !important;
  }
}

@media(width < 1024px){
  .shan-brand-row{
    padding-top:6px !important;
    padding-bottom:0 !important;
    margin-bottom:6px !important;
  }
}

/* MOBILE HEADER — final vertical spacing */
@media(width < 1024px){
  .shan-brand-row{
    min-height:0 !important;
    height:auto !important;
    padding-top:10px !important;
    padding-bottom:10px !important;
    margin-bottom:0 !important;
  }
}

@media(width < 1024px){
  .shan-brand-row{
    padding-bottom:13px !important;
  }
}

@media(width < 1024px){
  .shan-wordmark--header{
    top:0 !important;
  }
}

@media(width < 1024px){

  .shan-wordmark--header{
    transform:translateY(-3px) !important;
  }

  .shan-site-header{
    padding-bottom:4px !important;
  }
}

@media(width < 1024px){
  .shan-mobile-quick-nav{
    margin-top:0 !important;
  }
}

/* MOBILE — vertically center logo in header row */
@media(width < 1024px){
  .shan-wordmark--header{
    position:relative !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    align-self:center !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
}

/* MOBILE HEADER — final balanced vertical alignment */
@media(width < 1024px){

  .shan-brand-row{
    min-height:0 !important;
    height:auto !important;
    padding-top:14px !important;
    padding-bottom:14px !important;
    margin-bottom:0 !important;
    align-items:center !important;
  }

  .shan-brand-row > .shan-menu-toggle,
  .shan-wordmark--header,
  .shan-header-actions{
    align-self:center !important;
  }

  .shan-wordmark--header{
    position:relative !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  .shan-mobile-quick-nav{
    margin-top:0 !important;
  }
}

/* MOBILE HEADER — true centered breathing room */
@media(width < 1024px){

  .shan-site-header{
    height:auto !important;
    min-height:0 !important;
    padding-bottom:0 !important;
  }

  .shan-brand-row{
    height:68px !important;
    min-height:68px !important;
    padding:0 16px !important;
    margin:0 !important;

    grid-template-rows:68px !important;
    align-items:center !important;
  }

  .shan-brand-row > .shan-menu-toggle,
  .shan-wordmark--header,
  .shan-header-actions{
    align-self:center !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  .shan-mobile-quick-nav{
    margin-top:0 !important;
  }

}

/* MOBILE HERO — simplify copy */
@media(width < 1024px){
  .shan-hero__lede{
    display:none !important;
  }
}


/* MOBILE HERO — spacing after headline */
@media(width < 1024px){
  .shan-hero--lifestyle h1{
    margin-bottom:18px !important;
  }
}


/* MOBILE HERO — structural vertical centering */
@media(width < 1024px){

  .shan-hero--lifestyle .shan-hero__grid{
    display:flex !important;
    align-items:center !important;
  }

  .shan-hero--lifestyle .shan-hero__content{
    width:61% !important;
    margin:0 !important;
    padding:0 0 0 16px !important;
  }

}

/* DESKTOP — match mobile branded top bars */
@media(min-width:1024px){

  /* Gold shipping bar */
  .shan-utility-bar{
    background:var(--shan-gold) !important;
    color:var(--shan-ink) !important;
  }

  .shan-utility-bar__inner{
    justify-content:center !important;
    text-align:center !important;
  }

  /* Show only the shipping message */
  .shan-utility-bar .shan-utility-item{
    display:none !important;
  }

  .shan-utility-bar .shan-utility-item:first-child{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  /* Show quick-nav on desktop too */
  .shan-mobile-quick-nav{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    align-items:center !important;
    width:100% !important;
    min-height:36px !important;
    padding:0 24px !important;

    background:var(--shan-burgundy) !important;
    border-top:1px solid var(--shan-burgundy) !important;
    border-bottom:1px solid var(--shan-burgundy) !important;
  }

  .shan-mobile-quick-nav a,
  .shan-mobile-quick-nav a:last-child{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:36px !important;

    color:var(--shan-paper) !important;
    font-family:var(--shan-sans) !important;
    font-size:11px !important;
    font-weight:700 !important;
    letter-spacing:.06em !important;
    text-decoration:none !important;
    white-space:nowrap !important;
  }

}


/* DESKTOP — restore all existing utility-bar content */
@media(min-width:1024px){

  .shan-utility-bar .shan-utility-item{
    display:flex !important;
  }

  .shan-utility-bar__inner{
    justify-content:space-between !important;
    text-align:initial !important;
  }

}

/* DESKTOP — compact centered quick navigation */
@media(min-width:1024px){

  .shan-mobile-quick-nav{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:64px !important;
  }

  .shan-mobile-quick-nav a,
  .shan-mobile-quick-nav a:last-child{
    width:auto !important;
    flex:0 0 auto !important;
  }

}


/* HERO — keep text block vertically centered at every viewport size */
.shan-hero--lifestyle .shan-hero__grid{
  align-items:center !important;
}

.shan-hero--lifestyle .shan-hero__content{
  align-self:center !important;
}

/* Mobile: horizontal padding only; vertical position comes from centering */
@media(width < 1024px){

  .shan-hero--lifestyle .shan-hero__content{
    margin-top:0 !important;
    margin-bottom:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

}

/* HERO — true responsive vertical centering */
.shan-hero--lifestyle .shan-hero__grid{
  display:flex !important;
  align-items:center !important;
}

.shan-hero--lifestyle .shan-hero__content{
  align-self:auto !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}


/* MOBILE — universal product grid spacing */
@media(width < 1024px){

  .shan-product-tile-grid,
  .shan-product-grid{
    row-gap:28px !important;
    column-gap:12px !important;
  }

}



/* MOBILE — universal product grid spacing */

@media(width < 1024px){



  .shan-product-tile-grid,

  .shan-product-grid{

    row-gap:50px !important; 

    column-gap:12px !important;

  }



}


@media(width < 1024px){
  .shan-product-tile-grid,
  .shan-product-grid{
    row-gap:120px !important;
  }
}


/* MOBILE — universal product row spacing */
@media(width < 1024px){

  .shan-product-tile-grid,
  .shan-featured .shan-product-grid{
    row-gap:28px !important;
    column-gap:12px !important;
  }

}

/* MOBILE — shared product grid spacing */
@media(width < 1024px){
  .shan-product-tile-grid{
    row-gap:28px !important;
    column-gap:12px !important;
  }
}


/* SINGLE PRODUCT GALLERY — thumbnails below main image */
.shan-commerce--single div.product div.images{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:auto auto !important;
  gap:14px !important;
}

.shan-commerce--single div.product div.images .woocommerce-product-gallery__wrapper{
  grid-column:1 !important;
  grid-row:1 !important;
}

.shan-commerce--single .flex-control-thumbs{
  grid-column:1 !important;
  grid-row:2 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:0 !important;
  padding:0 !important;
}

.shan-commerce--single .flex-control-thumbs li{
  width:auto !important;
  float:none !important;
}


/* SINGLE PRODUCT — rounded main preview image */
.shan-commerce--single div.product div.images .woocommerce-product-gallery__wrapper{
  border-radius:20px !important;
  overflow:hidden !important;
}

.shan-commerce--single div.product div.images .woocommerce-product-gallery__image,
.shan-commerce--single div.product div.images .woocommerce-product-gallery__image img{
  border-radius:20px !important;
}


/* SINGLE PRODUCT — remove gray main preview background */
.shan-commerce--single div.product div.images .woocommerce-product-gallery__wrapper{
  background:transparent !important;
}


/* WOOCOMMERCE — universal circular red SALE badge */
.woocommerce span.onsale,
.shan-commerce span.onsale{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  min-height:52px !important;

  padding:0 !important;
  border-radius:50% !important;

  background:#b42318 !important;
  color:#fff !important;

  font-size:11px !important;
  font-weight:700 !important;
  line-height:1 !important;
  text-align:center !important;
}


/* SALE badge — larger text */
.woocommerce span.onsale,
.shan-commerce span.onsale{
  font-size:14px !important;
  font-weight:700 !important;
}



/* =========================================================
   MOBILE HOMEPAGE — FINAL POLISH
   ========================================================= */
@media(width < 1024px){

  /* Product grids — slightly tighter vertical rhythm */
  .shan-product-tile-grid{
    row-gap:24px !important;
    column-gap:12px !important;
  }


  /* Section headers — consistent title / View All alignment */
  .shan-section-heading,
  .shan-section-header{
    margin-bottom:14px !important;
  }


  /* Editorial / lifestyle imagery */
  .shan-story img,
  .shan-editorial img{
    border-radius:8px !important;
  }


  /* Story/editorial copy — easier mobile reading */
  .shan-story p,
  .shan-editorial p{
    line-height:1.55 !important;
  }


  
  


  /* Footer — slightly more breathing room */
  .shan-site-footer{
    padding-top:32px !important;
  }

  .shan-site-footer .shan-social-links{
    margin-top:10px !important;
  }

}



/* =========================================================
   SHOP — MOBILE FILTER + SORT TOOLBAR
   ========================================================= */

.shan-mobile-shop-controls{
  display:none;
}

@media(width < 1024px){

  .shan-shop-sidebar{
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }

  .shan-mobile-shop-controls{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    width:100% !important;
    margin:0 0 18px !important;
  }

  /* FILTER */
  .shan-mobile-shop-controls .shan-filter-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 14px !important;
    border:1px solid var(--shan-line) !important;
    border-radius:6px !important;
    background:#fff !important;
    color:var(--shan-ink) !important;
    font-family:var(--shan-sans) !important;
    font-size:12px !important;
    font-weight:700 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
  }

  /* SORT */
  .shan-mobile-shop-controls .woocommerce-ordering{
    display:block !important;
    width:100% !important;
    margin:0 !important;
  }

  .shan-mobile-shop-controls .woocommerce-ordering select{
    width:100% !important;
    min-width:0 !important;
    height:44px !important;
    margin:0 !important;
    padding:0 32px 0 14px !important;
    border:1px solid var(--shan-line) !important;
    border-radius:6px !important;
    background-color:#fff !important;
    color:var(--shan-ink) !important;
    font-family:var(--shan-sans) !important;
    font-size:12px !important;
    font-weight:700 !important;
  }

  /* Hide WooCommerce's original sort copy on mobile */
  .shan-shop-main > .woocommerce-ordering{
    display:none !important;
  }

  .shan-filter-panel{
    width:100% !important;
  }

}



/* =========================================================
   SHOP FILTER PANEL — HEMP & HERITAGE
   ========================================================= */

.shan-filter-form{
  width:100%;
}

.shan-filter-panel__heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 22px;
}

.shan-filter-panel__heading h2{
  margin:0;
  font-family:var(--shan-sans);
  font-size:18px;
  font-weight:800;
  letter-spacing:-.02em;
}

.shan-filter-panel__heading .shan-clear-filters{
  margin:0;
  font-size:12px;
  font-weight:600;
  text-decoration:none;
}

.shan-filter-section{
  margin:0;
  padding:0 0 22px;
}

.shan-filter-section + .shan-filter-section{
  padding-top:22px;
  border-top:1px solid var(--shan-line);
}

.shan-filter-section h3{
  margin:0 0 15px;
  color:var(--shan-ink);
  font-family:var(--shan-sans);
  font-size:14px;
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
}

.shan-filter-options{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.shan-filter-check{
  display:flex;
  align-items:center;
  min-height:24px;
  margin:0;
  cursor:pointer;
  color:var(--shan-ink);
  font-family:var(--shan-sans);
  font-size:13px;
  line-height:1.25;
  text-decoration:none;
}

.shan-filter-check input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.shan-filter-check__box{
  position:relative;
  flex:0 0 18px;
  width:18px;
  height:18px;
  margin-right:10px;
  border:1px solid #a9a39a;
  border-radius:3px;
  background:#fff;
}

.shan-filter-check input:checked + .shan-filter-check__box{
  border-color:var(--shan-burgundy);
  background:var(--shan-burgundy);
}

.shan-filter-check input:checked + .shan-filter-check__box::after{
  content:"";
  position:absolute;
  left:5px;
  top:2px;
  width:5px;
  height:9px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

.shan-filter-check__label{
  min-width:0;
}

.shan-filter-check__count{
  margin-left:auto;
  padding-left:12px;
  color:var(--shan-muted);
  font-size:11px;
}

.shan-filter-color-dot{
  flex:0 0 14px;
  width:14px;
  height:14px;
  margin-right:8px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:50%;
}

.shan-category-more{
  margin:13px 0 0;
  padding:0;
  border:0;
  background:transparent;
  color:var(--shan-burgundy);
  font-family:var(--shan-sans);
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}


/* PRICE FIELDS */

.shan-price-fields{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:10px;
  align-items:end;
}

.shan-price-fields label{
  display:block;
  margin:0;
}

.shan-price-fields label > span{
  display:block;
  margin-bottom:6px;
  color:var(--shan-muted);
  font-size:11px;
  font-weight:600;
}

.shan-price-input{
  display:flex;
  align-items:center;
  height:42px;
  padding:0 10px;
  border:1px solid var(--shan-line);
  border-radius:5px;
  background:#fff;
}

.shan-price-input > span{
  color:var(--shan-muted);
  font-size:13px;
}

.shan-price-input input{
  width:100%;
  min-width:0;
  height:38px;
  padding:0 0 0 3px;
  border:0 !important;
  outline:0;
  background:transparent;
  color:var(--shan-ink);
  font-family:var(--shan-sans);
  font-size:13px;
  box-shadow:none !important;
  -moz-appearance:textfield;
}

.shan-price-input input::-webkit-inner-spin-button,
.shan-price-input input::-webkit-outer-spin-button{
  margin:0;
  -webkit-appearance:none;
}

.shan-price-separator{
  padding-bottom:11px;
  color:var(--shan-muted);
}


/* DUAL PRICE RANGE */

.shan-price-range{
  position:relative;
  height:28px;
  margin:18px 3px 0;
}

.shan-price-range__track{
  position:absolute;
  left:0;
  right:0;
  top:12px;
  height:4px;
  border-radius:999px;
  background:var(--shan-line);
}

.shan-price-range input[type="range"]{
  position:absolute;
  left:0;
  top:4px;
  width:100%;
  height:20px;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  pointer-events:none;
  -webkit-appearance:none;
  appearance:none;
}

.shan-price-range input[type="range"]::-webkit-slider-runnable-track{
  height:4px;
  background:transparent;
}

.shan-price-range input[type="range"]::-moz-range-track{
  height:4px;
  background:transparent;
}

.shan-price-range input[type="range"]::-webkit-slider-thumb{
  width:18px;
  height:18px;
  margin-top:-7px;
  border:2px solid var(--shan-burgundy);
  border-radius:50%;
  background:#fff;
  cursor:pointer;
  pointer-events:auto;
  -webkit-appearance:none;
}

.shan-price-range input[type="range"]::-moz-range-thumb{
  width:18px;
  height:18px;
  border:2px solid var(--shan-burgundy);
  border-radius:50%;
  background:#fff;
  cursor:pointer;
  pointer-events:auto;
}


/* APPLY */

.shan-apply-filters{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:46px;
  margin:4px 0 0;
  padding:0 20px;
  border:1px solid var(--shan-burgundy);
  border-radius:5px;
  background:var(--shan-burgundy);
  color:#fff;
  font-family:var(--shan-sans);
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
}

.shan-apply-filters:hover,
.shan-apply-filters:focus-visible{
  background:#5f1824;
  border-color:#5f1824;
  color:#fff;
}


/* MOBILE FILTER PANEL */

@media(width < 1024px){

  .shan-filter-panel{
    margin-top:0;
    padding:20px 16px 18px !important;
    border:1px solid var(--shan-line);
    border-radius:6px;
    background:#fff;
  }

  .shan-category-extra{
    display:none;
  }

  .shan-category-options.is-expanded .shan-category-extra{
    display:flex;
  }

}


/* Desktop keeps the complete category list visible. */
@media(min-width:1024px){

  .shan-category-extra{
    display:flex !important;
  }

  .shan-category-more{
    display:none;
  }

}


/* =========================================================
   SHOP FILTER — COLOR SWATCHES
   ========================================================= */

.shan-filter-section--colors .shan-filter-options{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}

.shan-filter-section--colors .shan-filter-check{
  position:relative !important;
  display:block !important;
  min-height:0 !important;
  width:28px !important;
  height:28px !important;
  margin:0 !important;
  cursor:pointer !important;
}

.shan-filter-section--colors .shan-filter-check input{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:0 !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  z-index:2 !important;
}

/* Hide checkbox box, text label and count for color options */
.shan-filter-section--colors .shan-filter-check__box,
.shan-filter-section--colors .shan-filter-check__label,
.shan-filter-section--colors .shan-filter-check__count{
  display:none !important;
}

/* Actual circular color */
.shan-filter-section--colors .shan-filter-color-dot{
  display:block !important;
  width:28px !important;
  height:28px !important;
  margin:0 !important;

  border:1px solid rgba(0,0,0,.18) !important;
  border-radius:50% !important;

  box-shadow:0 0 0 2px transparent !important;
  transition:
    transform 160ms ease,
    box-shadow 160ms ease,
    border-color 160ms ease !important;
}

/* Selected state */
.shan-filter-section--colors .shan-filter-check input:checked ~ .shan-filter-color-dot{
  border-color:var(--shan-burgundy) !important;
  box-shadow:
    0 0 0 2px #fff,
    0 0 0 4px var(--shan-burgundy) !important;
}

/* Hover / focus */
.shan-filter-section--colors .shan-filter-check:hover .shan-filter-color-dot,
.shan-filter-section--colors .shan-filter-check input:focus-visible ~ .shan-filter-color-dot{
  transform:scale(1.06) !important;
}


/* =========================================================
   SHOP FILTER — SIZE BUTTONS
   ========================================================= */

.shan-filter-section--sizes .shan-filter-options{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}

.shan-filter-section--sizes .shan-filter-check{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  min-height:42px !important;
  width:auto !important;
  margin:0 !important;
  padding:0 14px !important;

  border:1px solid var(--shan-line) !important;
  border-radius:6px !important;
  background:#fff !important;

  color:var(--shan-ink) !important;
  font-family:var(--shan-sans) !important;
  font-size:13px !important;
  font-weight:600 !important;

  cursor:pointer !important;
  transition:
    border-color 160ms ease,
    background 160ms ease,
    color 160ms ease !important;
}

.shan-filter-section--sizes .shan-filter-check input{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:0 !important;
  cursor:pointer !important;
  pointer-events:auto !important;
}

/* Hide checkbox square and product count */
.shan-filter-section--sizes .shan-filter-check__box,
.shan-filter-section--sizes .shan-filter-check__count{
  display:none !important;
}

.shan-filter-section--sizes .shan-filter-check__label{
  display:block !important;
}

/* Selected size */
.shan-filter-section--sizes .shan-filter-check:has(input:checked){
  border-color:var(--shan-burgundy) !important;
  background:var(--shan-burgundy) !important;
  color:#fff !important;
}

/* Hover */
.shan-filter-section--sizes .shan-filter-check:hover{
  border-color:var(--shan-burgundy) !important;
}


/* SHOP FILTER — close button */
.shan-filter-panel__heading-actions{
  display:flex;
  align-items:center;
  gap:14px;
}

.shan-filter-close{
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--shan-ink);
  font-family:var(--shan-sans);
  font-size:28px;
  font-weight:400;
  line-height:1;
  cursor:pointer;
}

.shan-filter-close:hover,
.shan-filter-close:focus-visible{
  color:var(--shan-burgundy);
}


/* SHOP — mobile heading + count + controls */
.shan-shop-mobile-head{
  display:none;
}

@media(width < 1024px){

  .shan-shop-mobile-head{
    display:block !important;
    margin:0 0 20px !important;
  }

  .shan-shop-mobile-title{
    margin:0 0 14px !important;
    font-family:var(--shan-serif) !important;
    font-size:30px !important;
    font-weight:600 !important;
    line-height:1.1 !important;
    color:var(--shan-ink) !important;
  }

  .shan-shop-mobile-meta{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
  }

  .shan-shop-mobile-count{
    flex:0 0 auto !important;
    margin:0 !important;
    color:var(--shan-muted) !important;
    font-family:var(--shan-sans) !important;
    font-size:13px !important;
    line-height:1.2 !important;
  }

  .shan-shop-mobile-actions{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    margin-left:auto !important;
  }

  .shan-shop-mobile-actions .shan-filter-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    width:auto !important;
    min-width:82px !important;
    height:40px !important;
    min-height:40px !important;
    margin:0 !important;
    padding:0 12px !important;
    border:1px solid var(--shan-line) !important;
    border-radius:6px !important;
    background:#fff !important;
    color:var(--shan-ink) !important;
    font-size:12px !important;
    font-weight:700 !important;
    letter-spacing:.03em !important;
  }

  .shan-shop-mobile-actions .woocommerce-ordering{
    display:block !important;
    width:auto !important;
    margin:0 !important;
  }

  .shan-shop-mobile-actions .woocommerce-ordering select{
    width:auto !important;
    min-width:88px !important;
    height:40px !important;
    margin:0 !important;
    padding:0 30px 0 12px !important;
    border:1px solid var(--shan-line) !important;
    border-radius:6px !important;
    background-color:#fff !important;
    font-size:12px !important;
    font-weight:700 !important;
  }

  /* Old controls inside filter sidebar are no longer needed on mobile */
  .shan-shop-sidebar > .shan-mobile-shop-controls{
    display:none !important;
  }

  /* Suppress WooCommerce duplicate archive controls/title */
  .shan-shop-main .woocommerce-products-header,
  .shan-shop-main > .woocommerce-result-count,
  .shan-shop-main > .woocommerce-ordering{
    display:none !important;
  }

}


/* SHOP FILTER — mobile off-canvas drawer */
@media(width < 1024px){

  body.shan-filter-drawer-open{
    overflow:hidden !important;
  }

  .shan-filter-panel{
    display:block !important;
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    z-index:10002 !important;

    width:75vw !important;
    max-width:360px !important;
    height:100dvh !important;
    margin:0 !important;
    padding:22px 18px 24px !important;

    overflow-y:auto !important;
    overscroll-behavior:contain !important;

    border:0 !important;
    border-radius:0 14px 14px 0 !important;
    background:var(--shan-cream) !important;
    box-shadow:10px 0 30px rgba(0,0,0,.18) !important;

    transform:translateX(-105%) !important;
    visibility:hidden !important;
    pointer-events:none !important;

    transition:
      transform 220ms ease,
      visibility 220ms ease !important;
  }

  .shan-filter-panel.is-open{
    transform:translateX(0) !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .shan-filter-drawer-overlay{
    position:fixed !important;
    inset:0 !important;
    z-index:10001 !important;
    background:rgba(20,16,14,.38) !important;

    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;

    transition:
      opacity 220ms ease,
      visibility 220ms ease !important;
  }

  .shan-filter-drawer-overlay.is-open{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .shan-filter-panel__heading{
    position:sticky !important;
    top:-22px !important;
    z-index:2 !important;
    margin:0 0 20px !important;
    padding:22px 0 12px !important;
    background:var(--shan-cream) !important;
  }

}


/* SHOP FILTER — begin directly below mobile quick-nav */
@media(width < 1024px){

  .shan-filter-panel{
    top:var(--shan-filter-drawer-top, 0px) !important;
    height:calc(100dvh - var(--shan-filter-drawer-top, 0px)) !important;
  }

  .shan-filter-drawer-overlay{
    top:var(--shan-filter-drawer-top, 0px) !important;
    height:calc(100dvh - var(--shan-filter-drawer-top, 0px)) !important;
    bottom:auto !important;
  }

}


/* FILTER — Clear all as plain tomato-red text */
.shan-filter-panel .shan-filter-panel__heading > a.shan-clear-filters{
  display:inline !important;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  background:none !important;
  box-shadow:none !important;
  color:#d45b4c !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-decoration:none !important;
  cursor:pointer !important;
}

.shan-filter-panel .shan-filter-panel__heading > a.shan-clear-filters:hover{
  color:#b9473a !important;
  text-decoration:underline !important;
}


/* FILTER — Clear all final treatment */
.shan-filter-panel .shan-filter-panel__heading > a.shan-clear-filters{
  color:var(--shan-burgundy) !important;
  font-weight:700 !important;
}


/* FILTER — category name + product count */
.shan-filter-section--categories .shan-filter-check{
  justify-content:flex-start !important;
}

.shan-filter-section--categories .shan-filter-check__label{
  font-weight:700 !important;
}

.shan-filter-section--categories .shan-filter-check__count{
  margin-left:5px !important;
  color:var(--shan-muted) !important;
  font-weight:700 !important;
}

.shan-filter-section--categories .shan-filter-check__count::before{
  content:"(";
}

.shan-filter-section--categories .shan-filter-check__count::after{
  content:")";
}


/* FILTER — category label/count final spacing */
.shan-filter-section--categories .shan-filter-check__label{
  font-weight:400 !important;
}

.shan-filter-section--categories .shan-filter-check__count{
  margin-left:2px !important;
  font-weight:400 !important;
}


/* FILTER — category count tighter + burgundy hover */
.shan-filter-section--categories .shan-filter-check__count{
  margin-left:1px !important;
}

.shan-filter-section--categories .shan-filter-check:hover .shan-filter-check__label,
.shan-filter-section--categories .shan-filter-check:hover .shan-filter-check__count{
  color:var(--shan-burgundy) !important;
}


/* FILTER DRAWER — narrower mobile width */
@media(width < 1024px){
  .shan-filter-panel{
    width:68vw !important;
    max-width:320px !important;
  }
}


/* FILTER — Colors: 4 swatches + More on same row */
.shan-filter-section--colors .shan-filter-options{
  display:inline-flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:10px !important;
  vertical-align:middle !important;
}

.shan-filter-section--colors .shan-color-more{
  display:inline-block !important;
  vertical-align:middle !important;
  margin:0 0 0 8px !important;
  padding:0 !important;
  line-height:28px !important;
}


/* FILTER — exactly 4 colors visible + More on same row */
@media(width < 1024px){

  .shan-filter-section--colors{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    column-gap:10px !important;
  }

  .shan-filter-section--colors > h3{
    flex:0 0 100% !important;
  }

  .shan-filter-section--colors .shan-filter-options{
    display:flex !important;
    flex:0 0 auto !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:10px !important;
  }

  .shan-filter-section--colors .shan-color-extra{
    display:none !important;
  }

  .shan-filter-section--colors .shan-filter-options.is-expanded .shan-color-extra{
    display:block !important;
  }

  .shan-filter-section--colors .shan-color-more{
    display:inline-block !important;
    flex:0 0 auto !important;
    margin:0 !important;
    padding:0 !important;
    line-height:28px !important;
  }

}


/* SHOP — hide old WooCommerce H1 below filter/sort row */
.shan-shop-reference .shan-shop-main > h1{
  display:none !important;
}


/* =========================================================
   MOBILE SHOP — final header / toolbar rhythm
   ========================================================= */
@media(width < 1024px){

  .shan-shop-mobile-head{
    margin-bottom:0!important;
  }

  .shan-shop-mobile-title{
    margin-bottom:11px!important;
  }

  .shan-shop-mobile-actions .shan-filter-toggle,
  .shan-shop-mobile-actions .woocommerce-ordering select{
    height:40px!important;
    min-height:40px!important;
  }

  .shan-commerce ul.products{
    margin-top:28px!important;
    row-gap:28px!important;
    column-gap:14px!important;
  }
}


/* =========================================================
   MOBILE SHOP — product card polish
   ========================================================= */
@media(width < 1024px){







  .shan-commerce .shan-badge{
    top:10px!important;
    left:10px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:24px!important;
    min-height:24px!important;
    padding:0 9px!important;
    font-size:9px!important;
    line-height:1!important;
  }
}


@media(width < 1024px){




}

/* MOBILE PRODUCT CARD — tighter title / price / rating rhythm */
@media(width < 1024px){




}

/* MOBILE SHOP — final product info line spacing */
@media(width < 1024px){





}

/* MOBILE SHOP — compact 3-line product information block */
@media(width < 1024px){




.shan-commerce .shan-unrated-stars{
    margin:0!important;
    line-height:16px!important;
  }

}

/* MOBILE SHOP — final title → price spacing */
@media(width < 1024px){

}

/* MOBILE SHOP — 5px title to price gap */
@media(width < 1024px){

}



/* MOBILE SHOP — 7px title to price gap */ 

@media(width < 1024px){


}




/* MOBILE SHOP — 10px title to price gap */ 

@media(width < 1024px){


}


/* MOBILE SHOP — 10px title to price gap */
@media(width < 1024px){

}

/* =========================================================
   UNIVERSAL PRODUCT CARD
   Picture > Name > Price > Rating
   Site-wide / Desktop + Mobile
   ========================================================= */

.shan-product-card{
  position:relative;
  min-width:0;
}












/* grids control layout only; card internals stay universal */
@media(width < 1024px){

}/* Universal product card: Price -> Rating spacing */
/* Universal product card: Price -> Rating spacing */
/* UNIVERSAL PRODUCT CARD — price to rating spacing */



/* MOBILE SHOP — final controls alignment + grid spacing */
@media(width < 1024px){

  .shan-shop-mobile-actions{
    align-items:center!important;
  }

  .shan-shop-mobile-count{
    align-self:center!important;
    margin:0!important;
  }

  .shan-commerce ul.products{
    margin-top:24px!important;
  }

}

/* MOBILE SHOP — controls to product grid final spacing */
@media(width < 1024px){
  .shan-commerce ul.products{
    margin-top:18px!important;
  }
}



/* MOBILE SHOP — controls to product grid final spacing */

@media(width < 1024px){

  .shan-commerce ul.products{

    margin-top:5px!important; 

  }

}


/* MOBILE SHOP — equal Filter + Sort controls */
@media(width < 1024px){

  .shan-shop-mobile-actions .shan-filter-toggle,
  .shan-shop-mobile-actions .woocommerce-ordering,
  .shan-shop-mobile-actions .woocommerce-ordering select{
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
  }

}

/* MOBILE SHOP — compact equal Filter + Sort */
@media(width < 1024px){

  .shan-shop-mobile-actions .shan-filter-toggle,
  .shan-shop-mobile-actions .woocommerce-ordering{
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
  }

  .shan-shop-mobile-actions .woocommerce-ordering{
    position:relative!important;
  }

  .shan-shop-mobile-actions .woocommerce-ordering::before{
    content:"Sort";
    position:absolute;
    left:12px;
    top:50%;
    z-index:2;
    transform:translateY(-50%);
    color:var(--shan-ink);
    font-size:12px;
    font-weight:700;
    pointer-events:none;
  }

  .shan-shop-mobile-actions .woocommerce-ordering select{
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
    color:transparent!important;
  }

}

/* MOBILE SHOP — restore native Sort dropdown option text */
@media(width < 1024px){
  .shan-shop-mobile-actions .woocommerce-ordering::before{
    display:none!important;
  }

  .shan-shop-mobile-actions .woocommerce-ordering select{
    color:var(--shan-ink)!important;
  }
}

/* MOBILE SHOP — final equal Filter + Sort width */
@media(width < 1024px){
  .shan-shop-mobile-actions .shan-filter-toggle,
  .shan-shop-mobile-actions .woocommerce-ordering,
  .shan-shop-mobile-actions .woocommerce-ordering select{
    width:92px!important;
    min-width:92px!important;
    max-width:92px!important;
  }
}

/* MOBILE SHOP — Filter + Sort reference style */
@media(width < 1024px){

  .shan-shop-mobile-actions{
    gap:8px!important;
  }

  .shan-shop-mobile-actions .shan-filter-toggle,
  .shan-shop-mobile-actions .woocommerce-ordering,
  .shan-shop-mobile-actions .woocommerce-ordering select{
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    height:42px!important;
    min-height:42px!important;
  }

  .shan-shop-mobile-actions .shan-filter-toggle{
    position:relative!important;
    justify-content:flex-start!important;
    padding:0 12px 0 38px!important;
    border:1px solid #d8d3cc!important;
    border-radius:7px!important;
    background:#fff!important;
    font-size:14px!important;
    font-weight:600!important;
    letter-spacing:0!important;
  }

  .shan-shop-mobile-actions .shan-filter-toggle span:last-child{
    display:none!important;
  }

  .shan-shop-mobile-actions .shan-filter-toggle::before{
    content:"☷";
    position:absolute;
    left:13px;
    top:50%;
    transform:translateY(-50%) rotate(90deg);
    font-size:20px;
    font-weight:700;
    line-height:1;
  }

  .shan-shop-mobile-actions .woocommerce-ordering{
    position:relative!important;
    margin:0!important;
  }

  .shan-shop-mobile-actions .woocommerce-ordering select{
    padding:0 30px 0 38px!important;
    border:1px solid #d8d3cc!important;
    border-radius:7px!important;
    background-color:#fff!important;
    color:var(--shan-ink)!important;
    font-size:14px!important;
    font-weight:600!important;
  }

  .shan-shop-mobile-actions .woocommerce-ordering::before{
    content:"↕"!important;
    display:block!important;
    position:absolute!important;
    left:13px!important;
    top:50%!important;
    z-index:2!important;
    transform:translateY(-50%)!important;
    color:var(--shan-ink)!important;
    font-size:18px!important;
    font-weight:700!important;
    line-height:1!important;
    pointer-events:none!important;
  }

}

/* MOBILE SHOP — compact Filter + Sort */
@media(width < 1024px){

  .shan-shop-mobile-actions{
    gap:6px!important;
  }

  .shan-shop-mobile-actions .shan-filter-toggle{
    width:62px!important;
    min-width:62px!important;
    max-width:62px!important;
    height:30px!important;
    min-height:30px!important;
    padding:0 8px 0 25px!important;
    justify-content:flex-start!important;
    border:1px solid #ddd!important;
    border-radius:6px!important;
    background:#f7f7f7!important;
    font-size:11px!important;
    font-weight:600!important;
    letter-spacing:0!important;
  }

  .shan-shop-mobile-actions .shan-filter-toggle span:last-child{
    display:none!important;
  }

  .shan-shop-mobile-actions .shan-filter-toggle::before{
    content:"☷"!important;
    position:absolute!important;
    left:8px!important;
    top:50%!important;
    transform:translateY(-50%) rotate(90deg)!important;
    font-size:14px!important;
    line-height:1!important;
  }

  .shan-shop-mobile-actions .woocommerce-ordering,
  .shan-shop-mobile-actions .woocommerce-ordering select{
    width:66px!important;
    min-width:66px!important;
    max-width:66px!important;
    height:30px!important;
    min-height:30px!important;
  }

  .shan-shop-mobile-actions .woocommerce-ordering{
    position:relative!important;
    margin:0!important;
  }

  .shan-shop-mobile-actions .woocommerce-ordering select{
    padding:0 18px 0 25px!important;
    border:1px solid #ddd!important;
    border-radius:6px!important;
    background-color:#f7f7f7!important;
    color:var(--shan-ink)!important;
    font-size:11px!important;
    font-weight:600!important;
  }

  .shan-shop-mobile-actions .woocommerce-ordering::before{
    content:"↕"!important;
    display:block!important;
    position:absolute!important;
    left:8px!important;
    top:50%!important;
    z-index:2!important;
    transform:translateY(-50%)!important;
    color:var(--shan-ink)!important;
    font-size:13px!important;
    font-weight:700!important;
    line-height:1!important;
    pointer-events:none!important;
  }

}

/* MOBILE SHOP — fix compact Sort text */
@media(width < 1024px){

  .shan-shop-mobile-actions .woocommerce-ordering,
  .shan-shop-mobile-actions .woocommerce-ordering select{
    width:74px!important;
    min-width:74px!important;
    max-width:74px!important;
  }

  .shan-shop-mobile-actions .woocommerce-ordering select{
    padding-left:22px!important;
    padding-right:16px!important;
  }

  .shan-shop-mobile-actions .woocommerce-ordering::before{
    left:7px!important;
  }

}

/* MOBILE SHOP — final compact equal Filter + Sort width */
@media(width < 1024px){

  .shan-shop-mobile-actions .shan-filter-toggle,
  .shan-shop-mobile-actions .woocommerce-ordering,
  .shan-shop-mobile-actions .woocommerce-ordering select{
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
  }

  .shan-shop-mobile-actions .woocommerce-ordering select{
    padding-left:22px!important;
    padding-right:18px!important;
  }

}

/* MOBILE SHOP — fix Sort clipping properly */
@media(width < 1024px){

  .shan-shop-mobile-actions .shan-filter-toggle,
  .shan-shop-mobile-actions .woocommerce-ordering,
  .shan-shop-mobile-actions .woocommerce-ordering select{
    width:78px!important;
    min-width:78px!important;
    max-width:78px!important;
  }

  .shan-shop-mobile-actions .woocommerce-ordering select{
    padding:0 22px 0 10px!important;
    text-indent:0!important;
    color:var(--shan-ink)!important;
    font-size:11px!important;
  }

  /* remove fake icon that was consuming Sort text space */
  .shan-shop-mobile-actions .woocommerce-ordering::before{
    display:none!important;
    content:none!important;
  }

}

/* MOBILE SHOP — custom Sort dropdown */
@media(width < 1024px){

  .shan-shop-mobile-actions .woocommerce-ordering{
    display:none!important;
  }

  .shan-mobile-sort{
    position:relative;
    width:82px;
  }

  .shan-mobile-sort summary{
    box-sizing:border-box;
    display:flex;
    align-items:center;
    width:82px;
    height:30px;
    padding:0 24px 0 10px;
    border:1px solid #ddd;
    border-radius:6px;
    background:#f7f7f7;
    color:var(--shan-ink);
    font-size:11px;
    font-weight:600;
    cursor:pointer;
    list-style:none;
    position:relative;
  }

  .shan-mobile-sort summary::-webkit-details-marker{
    display:none;
  }

  .shan-mobile-sort summary::after{
    content:"⌄";
    position:absolute;
    right:8px;
    top:50%;
    transform:translateY(-55%);
    font-size:12px;
  }

  .shan-mobile-sort__menu{
    position:absolute;
    top:34px;
    right:0;
    z-index:100;
    width:185px;
    padding:4px;
    border:1px solid #ddd;
    border-radius:7px;
    background:#fff;
    box-shadow:0 8px 24px rgba(0,0,0,.12);
  }

  .shan-mobile-sort__menu a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:34px;
    padding:0 10px;
    border-radius:5px;
    color:var(--shan-ink);
    font-size:13px;
    font-weight:500;
    text-decoration:none;
    white-space:nowrap;
  }

  .shan-mobile-sort__menu a.is-active{
    background:#f3e5e7;
    color:var(--shan-burgundy);
    font-weight:600;
  }

  .shan-mobile-sort__check{
    margin-left:12px;
    font-size:15px;
  }

}

/* MOBILE SHOP — Sort icon */
@media(width < 1024px){

  .shan-mobile-sort summary{
    padding-left:28px!important;
  }

  .shan-mobile-sort summary::before{
    content:"↕";
    position:absolute;
    left:9px;
    top:50%;
    transform:translateY(-50%);
    color:var(--shan-ink);
    font-size:13px;
    font-weight:700;
    line-height:1;
  }

}

/* MOBILE SHOP — vertically center Sort icon */
@media(width < 1024px){
  .shan-mobile-sort summary::before{
    top:calc(50% + 1px)!important;
  }
}

/* MOBILE SHOP — Sort icon optical alignment */
@media(width < 1024px){
  .shan-mobile-sort summary::before{
    top:calc(50% - 2px)!important;
  }
}

/* MOBILE SHOP — clean centered Sort chevron */
@media(width < 1024px){

  .shan-mobile-sort summary::after{
    content:""!important;
    position:absolute!important;
    right:10px!important;
    top:50%!important;
    width:6px!important;
    height:6px!important;
    border-right:1.5px solid var(--shan-ink)!important;
    border-bottom:1.5px solid var(--shan-ink)!important;
    transform:translateY(-65%) rotate(45deg)!important;
  }

}

/* MOBILE QUICK NAV — fit 4 items on one line */
@media(width < 1024px){
  .shan-mobile-quick-nav{
    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    gap:0!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }

  .shan-mobile-quick-nav a{
    min-width:0!important;
    padding-left:2px!important;
    padding-right:2px!important;
    font-size:10px!important;
    white-space:nowrap!important;
    text-align:center!important;
  }
}

/* MOBILE QUICK NAV — centered 3-item layout */
@media(width < 1024px){
  .shan-mobile-quick-nav{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:32px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .shan-mobile-quick-nav a{
    width:auto!important;
    min-width:0!important;
    padding:0!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
}

/* =========================================================
   MOBILE FILTER DRAWER — POLISHED UI
   ========================================================= */

@media(width < 1024px){

  /* Overall typography */
  .shan-filter-panel{
    font-family:var(--shan-sans)!important;
    color:var(--shan-ink)!important;
  }

  /* Header */
  .shan-filter-panel__heading{
    display:flex!important;
    align-items:center!important;
    min-height:58px!important;
    margin:0!important;
    padding:0 0 4px!important;
    border-bottom:0!important;
  }

  .shan-filter-panel__heading h2{
    margin:0!important;
    font-family:var(--shan-sans)!important;
    font-size:18px!important;
    font-weight:700!important;
    line-height:1.2!important;
    letter-spacing:-.02em!important;
  }

  .shan-filter-panel .shan-filter-panel__heading > a.shan-clear-filters{
    margin-left:auto!important;
    margin-right:20px!important;
    padding:4px 0!important;
    background:none!important;
    border:0!important;
    color:var(--shan-burgundy)!important;
    font-size:12px!important;
    font-weight:600!important;
    line-height:1!important;
    text-decoration:none!important;
  }

  .shan-filter-close{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:30px!important;
    height:30px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--shan-ink)!important;
    font-size:24px!important;
    font-weight:300!important;
    line-height:1!important;
  }

  /* Sections */
  .shan-filter-section{
    margin:0!important;
    padding:26px 0!important;
    border:0!important;
  }

  .shan-filter-section + .shan-filter-section{
    border-top:1px solid rgba(35,28,24,.12)!important;
  }

  .shan-filter-section h3{
    margin:0 0 17px!important;
    padding:0!important;
    font-family:var(--shan-sans)!important;
    font-size:14px!important;
    font-weight:700!important;
    line-height:1.25!important;
    letter-spacing:-.01em!important;
    text-transform:none!important;
  }

  /* Category rows */
  .shan-filter-section--categories .shan-filter-options{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
  }

  .shan-filter-section--categories .shan-filter-check{
    display:grid!important;
    grid-template-columns:18px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:10px!important;
    min-height:36px!important;
    margin:0!important;
    padding:2px 0!important;
  }

  .shan-filter-section--categories .shan-filter-check__box{
    width:18px!important;
    height:18px!important;
    margin:0!important;
    border:1px solid #b9b4ae!important;
    border-radius:4px!important;
    background:#fff!important;
  }

  .shan-filter-section--categories .shan-filter-check input:checked + .shan-filter-check__box{
    border-color:var(--shan-burgundy)!important;
    background:var(--shan-burgundy)!important;
  }

  .shan-filter-section--categories .shan-filter-check__label{
    margin:0!important;
    color:var(--shan-ink)!important;
    font-size:13.5px!important;
    font-weight:400!important;
    line-height:1.35!important;
  }

  .shan-filter-section--categories .shan-filter-check__count{
    display:flex!important;
    align-items:center!important;
    margin:0!important;
    color:#9a8d82!important;
    font-size:11px!important;
    font-weight:400!important;
    line-height:1!important;
    letter-spacing:0!important;
  }

  .shan-filter-section--categories .shan-filter-check__count::before{
    content:"("!important;
    margin-right:1px!important;
  }

  .shan-filter-section--categories .shan-filter-check__count::after{
    content:")"!important;
    margin-left:1px!important;
  }

  /* View more / less */
  .shan-category-more{
    display:inline-flex!important;
    align-items:center!important;
    margin:12px 0 0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--shan-burgundy)!important;
    font-size:12px!important;
    font-weight:600!important;
    line-height:1.3!important;
  }

  /* Price */
  .shan-price-fields{
    display:grid!important;
    grid-template-columns:1fr auto 1fr!important;
    align-items:end!important;
    gap:10px!important;
    margin:0!important;
  }

  .shan-price-fields label{
    margin:0!important;
  }

  .shan-price-fields label > span{
    display:block!important;
    margin:0 0 7px!important;
    color:#746b64!important;
    font-size:11px!important;
    font-weight:500!important;
    line-height:1!important;
  }

  .shan-price-input{
    display:flex!important;
    align-items:center!important;
    height:42px!important;
    padding:0 11px!important;
    border:1px solid #ddd7d1!important;
    border-radius:6px!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  .shan-price-input > span{
    margin-right:4px!important;
    color:#6d645d!important;
    font-size:12px!important;
  }

  .shan-price-input input{
    width:100%!important;
    height:auto!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--shan-ink)!important;
    font-size:12px!important;
    font-weight:500!important;
    outline:0!important;
    box-shadow:none!important;
  }

  .shan-price-separator{
    align-self:end!important;
    padding-bottom:13px!important;
    color:#8f857c!important;
    font-size:12px!important;
  }

  /* Range slider */
  .shan-price-range{
    margin:23px 3px 1px!important;
  }

  .shan-price-range__track{
    height:4px!important;
    border-radius:999px!important;
    background:#ddd5cd!important;
  }

  .shan-price-range input[type="range"]::-webkit-slider-thumb{
    width:18px!important;
    height:18px!important;
    margin-top:-7px!important;
    border:2px solid var(--shan-burgundy)!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  .shan-price-range input[type="range"]::-moz-range-thumb{
    width:18px!important;
    height:18px!important;
    border:2px solid var(--shan-burgundy)!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  /* Colors */
  .shan-filter-section--colors .shan-filter-options{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:10px!important;
  }

  .shan-filter-section--colors .shan-filter-check{
    width:30px!important;
    height:30px!important;
    margin:0!important;
    padding:0!important;
  }

  .shan-filter-section--colors .shan-filter-color-dot{
    width:30px!important;
    height:30px!important;
    border:1px solid rgba(0,0,0,.08)!important;
    border-radius:50%!important;
    box-shadow:none!important;
  }

  .shan-filter-section--colors .shan-filter-check input:checked ~ .shan-filter-color-dot{
    outline:2px solid var(--shan-burgundy)!important;
    outline-offset:3px!important;
  }

  .shan-color-more{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:56px!important;
    height:30px!important;
    margin:0!important;
    padding:0 9px!important;
    border:1px solid #d7d0ca!important;
    border-radius:999px!important;
    background:#fff!important;
    color:var(--shan-ink)!important;
    font-family:var(--shan-sans)!important;
    font-size:11px!important;
    font-weight:600!important;
    line-height:1!important;
  }

  /* Sizes */
  .shan-filter-section--sizes .shan-filter-options{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
  }

  .shan-filter-section--sizes .shan-filter-check{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:64px!important;
    height:40px!important;
    margin:0!important;
    padding:0 14px!important;
    border:1px solid #ddd7d1!important;
    border-radius:6px!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  .shan-filter-section--sizes .shan-filter-check__label{
    color:var(--shan-ink)!important;
    font-size:12px!important;
    font-weight:500!important;
    line-height:1!important;
  }

  .shan-filter-section--sizes .shan-filter-check:has(input:checked){
    border-color:var(--shan-burgundy)!important;
    background:#f8edef!important;
    color:var(--shan-burgundy)!important;
  }

  .shan-filter-section--sizes .shan-filter-check:has(input:checked) .shan-filter-check__label{
    color:var(--shan-burgundy)!important;
    font-weight:600!important;
  }

  /* Apply button */
  .shan-apply-filters{
    width:100%!important;
    height:46px!important;
    margin:0!important;
    padding:0 18px!important;
    border:0!important;
    border-radius:6px!important;
    background:var(--shan-burgundy)!important;
    color:#fff!important;
    font-family:var(--shan-sans)!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:46px!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
    box-shadow:none!important;
  }

}

@media(width < 1024px){
  .shan-category-extra{
    display:none!important;
  }

  .shan-category-options.is-expanded .shan-category-extra{
    display:grid!important;
  }
}

/* FINAL mobile category visibility */
@media(width < 1024px){
  .shan-filter-section--categories .shan-category-extra{
    display:none!important;
  }

  .shan-filter-section--categories
  .shan-category-options.is-expanded
  .shan-category-extra{
    display:grid!important;
  }
}


/* MOBILE FILTER — sticky Apply Filter with solid footer area */
@media(width < 1024px){
  .shan-filter-panel .shan-apply-filters{
    position:sticky!important;
    bottom:16px!important;
    z-index:50!important;

    width:100%!important;
    height:46px!important;
    margin:22px 0 16px!important;
    padding:0 18px!important;

    background:var(--shan-burgundy)!important;
    color:#fff!important;

    box-shadow:
      0 -18px 0 18px #fff!important;
  }
}

/* MOBILE FILTER — separate scroll area + fixed action footer */
@media(width < 1024px){

  .shan-filter-panel.is-open{
    height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
  }

  .shan-filter-form{
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
    max-height:100%!important;
    overflow:hidden!important;
  }

  .shan-filter-scroll{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
    padding-bottom:20px!important;
  }

  .shan-filter-actions{
    flex:0 0 auto!important;
    padding:14px 0 16px!important;
    background:#fff!important;
    border-top:1px solid var(--shan-line)!important;
    z-index:50!important;
  }

  .shan-filter-panel .shan-apply-filters{
    position:static!important;
    bottom:auto!important;
    width:100%!important;
    height:46px!important;
    margin:0!important;
    padding:0 18px!important;
    background:var(--shan-burgundy)!important;
    color:#fff!important;
    box-shadow:none!important;
  }

}

/* MOBILE FILTER — FINAL two-part drawer layout */
@media(width < 1024px){

  .shan-filter-panel,
  .shan-filter-panel.is-open{
    height:calc(100dvh - var(--shan-filter-drawer-top, 0px))!important;
    max-height:calc(100dvh - var(--shan-filter-drawer-top, 0px))!important;
    padding:0!important;
    overflow:hidden!important;
  }

  .shan-filter-form{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  .shan-filter-scroll{
    flex:1 1 0!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:22px 18px 24px!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch;
  }

  .shan-filter-panel__heading{
    top:-22px!important;
  }

  .shan-filter-actions{
    flex:0 0 auto!important;
    width:100%!important;
    padding:12px 18px 16px!important;
    margin:0!important;
    background:var(--shan-cream)!important;
    border-top:1px solid var(--shan-line)!important;
  }

  .shan-filter-panel .shan-apply-filters{
    position:static!important;
    display:block!important;
    width:100%!important;
    height:46px!important;
    margin:0!important;
    padding:0 18px!important;
    background:var(--shan-burgundy)!important;
    color:#fff!important;
    box-shadow:none!important;
  }

}

/* MOBILE FILTER — compact Categories */
@media(width < 1024px){
  .shan-filter-section--categories{
    padding-top:16px!important;
    padding-bottom:16px!important;
    border-bottom:0!important;
  }
}

/* MOBILE FILTER — prevent iPhone zoom on price inputs */
@media(width < 1024px){
  .shan-price-input input{
    font-size:16px!important;
  }
}


/* MOBILE FILTER — single scroll flow */
@media(width < 1024px){

  .shan-filter-panel,
  .shan-filter-panel.is-open{
    overflow-y:auto!important;
  }

  .shan-filter-form{
    display:block!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .shan-filter-scroll{
    overflow:visible!important;
    padding:22px 18px 0!important;
  }

  .shan-filter-actions{
    display:block!important;
    position:static!important;
    width:auto!important;
    margin:0!important;
    padding:18px 18px 24px!important;
    background:transparent!important;
    border-top:0!important;
  }

  .shan-filter-panel .shan-apply-filters{
    position:static!important;
    width:100%!important;
    margin:0!important;
    box-shadow:none!important;
  }

}

/* MOBILE FILTER — compact enough to fit viewport */
@media(width < 1024px){

  .shan-filter-scroll{
    padding:14px 18px 0!important;
  }

  .shan-filter-panel__heading{
    margin-bottom:10px!important;
    padding-top:14px!important;
    padding-bottom:8px!important;
  }

  .shan-filter-section--categories{
    padding-top:10px!important;
    padding-bottom:10px!important;
  }

  .shan-filter-section--price{
    padding-top:10px!important;
    padding-bottom:10px!important;
    margin-top:0!important;
  }

  .shan-filter-section h3{
    margin-bottom:10px!important;
  }

  .shan-category-options{
    row-gap:6px!important;
  }

  .shan-category-more{
    margin-top:8px!important;
  }

  .shan-price-fields{
    margin-bottom:10px!important;
  }

  .shan-price-range{
    margin-top:8px!important;
    margin-bottom:6px!important;
  }

  .shan-filter-actions{
    padding:12px 18px 16px!important;
  }

  .shan-apply-filters{
    height:44px!important;
    line-height:44px!important;
  }

}

/* MOBILE FILTER — prevent price fields from widening viewport */
@media(width < 1024px){

  .shan-price-fields{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .shan-price-fields label{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .shan-price-input{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .shan-price-input input{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    font-size:16px!important;
  }

}

/* MOBILE FILTER — test stable viewport height on iOS */
@media(width < 1024px){
  .shan-filter-panel,
  .shan-filter-panel.is-open{
    height:calc(100vh - var(--shan-filter-drawer-top, 0px))!important;
    max-height:calc(100vh - var(--shan-filter-drawer-top, 0px))!important;
  }

  .shan-filter-drawer-overlay{
    height:calc(100vh - var(--shan-filter-drawer-top, 0px))!important;
  }
}

/* MOBILE FILTER — iOS price input focus stability */
@media(width < 1024px){
  .shan-filter-panel .shan-price-input input{
    font-size:17px!important;
    line-height:1.2!important;
    -webkit-text-size-adjust:100%!important;
    text-size-adjust:100%!important;
  }
}

/* MOBILE FILTER — full-height drawer */
@media(width < 1024px){

  .shan-filter-panel,
  .shan-filter-panel.is-open{
    top:0!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
  }

  .shan-filter-drawer-overlay{
    top:0!important;
    height:100dvh!important;
    bottom:auto!important;
  }

}

/* MOBILE FILTER — category count beside category name */
@media(width < 1024px){

  .shan-filter-section--categories .shan-filter-check{
    grid-template-columns:18px minmax(0,1fr)!important;
  }

  .shan-filter-section--categories .shan-filter-check .shan-filter-count{
    margin-left:4px!important;
    justify-self:start!important;
  }

}/* PRODUCT CARD — universal vertical spacing */



/* PRODUCT CARD — normalize title spacing everywhere */


/* MOBILE HEADER — allow search form to open */
@media(width < 1024px){

  .shan-search{
    display:none!important;
  }

  .shan-search.is-open{
    display:flex!important;
  }

}

/* MOBILE SEARCH — clean dropdown below header */
@media(width < 1024px){

  .shan-brand-row{
    position:relative!important;
  }

  .shan-header-actions{
    position:static!important;
  }

  .shan-search{
    display:none!important;
    position:absolute!important;

    top:100%!important;
    left:0!important;
    right:0!important;

    width:100%!important;
    max-width:100%!important;
    height:auto!important;

    margin:0!important;
    padding:10px 16px!important;

    box-sizing:border-box!important;

    background:var(--shan-paper)!important;
    border:0!important;
    border-top:1px solid var(--shan-line)!important;
    border-bottom:1px solid var(--shan-line)!important;

    box-shadow:0 10px 20px rgba(36,32,29,.10)!important;

    z-index:100!important;
    overflow:hidden!important;
  }

  .shan-search.is-open{
    display:flex!important;
    align-items:center!important;
  }

  .shan-search input[type="search"]{
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    height:44px!important;

    padding:0 14px!important;

    box-sizing:border-box!important;

    border:1px solid var(--shan-line)!important;
    border-radius:999px!important;

    background:#fff!important;

    font-size:16px!important;
    line-height:1.2!important;

    outline:none!important;
  }

  .shan-search button{
    flex:0 0 40px!important;
    width:40px!important;
    height:40px!important;

    margin-left:-46px!important;

    position:relative!important;
    z-index:2!important;

    border:0!important;
    background:transparent!important;
  }

  .shan-search button svg{
    width:19px!important;
    height:19px!important;
  }

}

/* MOBILE SEARCH — color polish only */
@media(width < 1024px){

  .shan-search{
    background:#f8f1e7!important;
    border-color:rgba(114,30,43,.14)!important;
  }

  .shan-search input[type="search"]{
    background:#fffaf3!important;
    color:var(--shan-ink)!important;
    border-color:#d8cfc3!important;
  }

  .shan-search input[type="search"]::placeholder{
    color:#81766d!important;
    opacity:1!important;
  }

  .shan-search:focus-within input[type="search"]{
    border-color:var(--shan-burgundy)!important;
  }

  .shan-search button{
    color:var(--shan-burgundy)!important;
    background:transparent!important;
  }

}

/* MOBILE SEARCH — stronger field border */
@media(width < 1024px){
  .shan-search input[type="search"]{
    border-width:2px!important;
  }
}

/* =========================================================
   CATEGORIES PAGE — MOBILE FINAL
   /categories/ only
   ========================================================= */
@media(width < 1024px){

  .shan-categories-page{
    padding:28px 0 50px!important;
  }

  .shan-categories-page .shan-section-heading{
    margin:0 0 20px!important;
  }

  .shan-categories-page .shan-section-heading h1{
    margin:0!important;
    font-size:32px!important;
    line-height:1.08!important;
  }

  .shan-categories-page .shan-category-grid--all{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px 14px!important;
    overflow:visible!important;
  }

  .shan-categories-page .shan-category-card{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    overflow:visible!important;
    background:transparent!important;
  }

  .shan-categories-page .shan-category-card > a{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    background:transparent!important;
    text-decoration:none!important;
  }

  .shan-categories-page .shan-category-card__art{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
    overflow:hidden!important;
    border-radius:12px!important;
    background:#f3f0ea!important;
  }

  .shan-categories-page .shan-category-card__art img{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:cover!important;
    border-radius:12px!important;
  }

  .shan-categories-page .shan-category-card__content{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:9px 2px 0!important;
    background:transparent!important;
    text-align:left!important;
  }

  .shan-categories-page .shan-category-card__content h3{
    margin:0!important;
    padding:0!important;
    color:var(--shan-ink)!important;
    font-family:var(--shan-sans)!important;
    font-size:14px!important;
    font-weight:600!important;
    line-height:1.3!important;
    text-align:left!important;
    text-shadow:none!important;
    white-space:normal!important;
  }

  .shan-categories-page .shan-category-card__content h3::after{
    display:none!important;
    content:none!important;
  }

}

/* CATEGORIES PAGE — mobile spacing polish */
@media(width < 1024px){

  .shan-categories-page .shan-category-grid--all{
    column-gap:14px!important;
    row-gap:28px!important;
  }

  .shan-categories-page .shan-category-card__content{
    padding:9px 2px 0!important;
  }

  .shan-categories-page .shan-category-card__content h3{
    font-family:var(--shan-sans)!important;
    font-size:14px!important;
    font-weight:600!important;
    line-height:1.25!important;
  }

}

/* CATEGORIES PAGE — heading spacing */
@media(width < 1024px){
  .shan-categories-page .shan-section-heading{
    margin-bottom:28px!important;
  }
}

/* CATEGORIES PAGE — mobile circles + row spacing */
@media(width < 1024px){

  .shan-categories-page .shan-category-grid--all{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:22px!important;
    row-gap:30px!important;
  }

  .shan-categories-page .shan-category-card__art{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
    border-radius:50%!important;
    overflow:hidden!important;
  }

  .shan-categories-page .shan-category-card__art img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    border-radius:50%!important;
  }

  .shan-categories-page .shan-category-card__content{
    padding-top:10px!important;
    text-align:center!important;
  }

  .shan-categories-page .shan-category-card__content h3{
    text-align:center!important;
  }

}

/* CATEGORIES PAGE — remove square bg + force real row spacing */
@media(width < 1024px){

  .shan-categories-page .shan-category-grid--all{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:22px!important;
    row-gap:34px!important;
    align-items:start!important;
  }

  .shan-categories-page .shan-category-card{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    margin:0!important;
  }

  .shan-categories-page .shan-category-card > a{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  .shan-categories-page .shan-category-card__art{
    position:relative!important;
    width:100%!important;
    aspect-ratio:1 / 1!important;
    height:auto!important;
    border-radius:50%!important;
    overflow:hidden!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }

  .shan-categories-page .shan-category-card__art img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    border-radius:50%!important;
    background:transparent!important;
  }

  .shan-categories-page .shan-category-card__content{
    height:auto!important;
    min-height:0!important;
    padding:10px 0 0!important;
    margin:0!important;
    background:transparent!important;
  }

}

/* CATEGORIES PAGE — hard circle crop + guaranteed row spacing */
@media(width < 1024px){

  .shan-categories-page .shan-category-grid--all{
    row-gap:0!important;
  }

  .shan-categories-page .shan-category-card{
    padding-bottom:30px!important;
  }

  .shan-categories-page .shan-category-card__art{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;

    border-radius:50%!important;
    clip-path:circle(50% at 50% 50%)!important;

    overflow:hidden!important;
    background:none!important;
    background-color:transparent!important;
  }

  .shan-categories-page .shan-category-card__art img{
    position:absolute!important;
    inset:0!important;

    width:100%!important;
    height:100%!important;

    object-fit:cover!important;

    border-radius:50%!important;
    clip-path:circle(50% at 50% 50%)!important;

    background:none!important;
    background-color:transparent!important;
  }

  .shan-categories-page .shan-category-card__content{
    padding-top:10px!important;
  }

}

/* CATEGORIES PAGE — real spacing between rows */
@media(width < 1024px){

  .shan-categories-page .shan-category-grid--all{
    row-gap:0!important;
  }

  .shan-categories-page .shan-category-card{
    margin-bottom:30px!important;
  }

}

/* CATEGORIES PAGE — remove square card overlay */
@media(width < 1024px){

  .shan-categories-page .shan-category-card > a::after{
    display:none!important;
    content:none!important;
    background:none!important;
  }

}

/* NEW ARRIVALS — vertically center View All */
.shan-new-arrivals__heading.shan-section-heading{
  align-items:center!important;
}

.shan-new-arrivals__heading.shan-section-heading > a{
  align-self:center!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

/* =========================================================
   OUR STORY — EDITORIAL REDESIGN
   ========================================================= */

.hh-story{
  background:#fffaf3;
  color:var(--shan-ink);
}

.hh-story h1,
.hh-story h2,
.hh-story h3{
  margin-top:0;
}

.hh-story-hero{
  padding:72px 0 78px;
  background:#f4eadc;
}

.hh-story-hero__grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  align-items:center;
  gap:70px;
}

.hh-story-hero__copy h1{
  max-width:820px;
  margin:12px 0 24px;
  font-size:clamp(48px,5.6vw,78px);
  line-height:.98;
  letter-spacing:-.035em;
}

.hh-story-hero__lead{
  max-width:580px;
  margin:0;
  color:var(--shan-muted);
  font-size:18px;
  line-height:1.7;
}

.hh-story-visual{
  overflow:hidden;
  background:#dfd4c4;
}

.hh-story-visual--hero{
  min-height:560px;
  border-radius:180px 180px 20px 20px;
}

.hh-story-image-placeholder{
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  width:100%;
  height:100%;
  min-height:inherit;
  padding:28px;
  box-sizing:border-box;
  background:
    radial-gradient(circle at 65% 30%,rgba(255,255,255,.36),transparent 32%),
    linear-gradient(145deg,#cbb89c,#806a56);
}

.hh-story-image-placeholder span{
  color:#fff;
  font-family:var(--shan-serif);
  font-size:22px;
}

.hh-story-intro{
  padding:100px 0;
}

.hh-story-intro__grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:100px;
}

.hh-story-intro h2,
.hh-story-feature h2,
.hh-story-materials h2,
.hh-story-values h2{
  max-width:820px;
  margin:10px 0 0;
  font-size:clamp(38px,4.2vw,58px);
  line-height:1.06;
}

.hh-story-copy{
  max-width:820px;
}

.hh-story-copy p,
.hh-story-feature__copy p,
.hh-story-materials__copy p{
  color:var(--shan-muted);
  font-size:17px;
  line-height:1.75;
}

.hh-story-feature{
  padding:0 0 110px;
}

.hh-story-feature__grid,
.hh-story-materials__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:90px;
}

.hh-story-visual--craft,
.hh-story-visual--materials{
  min-height:520px;
  border-radius:18px;
}

.hh-story-feature__copy,
.hh-story-materials__copy{
  max-width:580px;
}

.hh-story-values{
  padding:95px 0;
  background:#721e2b;
  color:#fff;
}

.hh-story-values .shan-eyebrow{
  color:#d9b46d;
}

.hh-story-values__heading{
  max-width:700px;
  margin-bottom:48px;
}

.hh-story-values__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:rgba(255,255,255,.22);
}

.hh-story-value{
  padding:38px 32px 42px;
  background:#721e2b;
}

.hh-story-value span{
  display:block;
  margin-bottom:42px;
  color:#d9b46d;
  font-family:var(--shan-serif);
  font-size:18px;
}

.hh-story-value h3{
  margin-bottom:14px;
  color:#fff;
  font-size:25px;
}

.hh-story-value p{
  margin:0;
  color:rgba(255,255,255,.74);
  line-height:1.65;
}

.hh-story-materials{
  padding:110px 0;
}

.hh-story-materials__grid{
  grid-template-columns:.9fr 1.1fr;
}

.hh-story-closing{
  padding:105px 0 115px;
  background:#eee1cf;
  text-align:center;
}

.hh-story-closing__inner{
  max-width:820px;
  margin:auto;
}

.hh-story-closing h2{
  margin:12px auto 24px;
  font-size:clamp(42px,5vw,66px);
  line-height:1.03;
}

.hh-story-closing p:not(.shan-eyebrow){
  max-width:820px;
  margin:0 auto 30px;
  color:var(--shan-muted);
  font-size:17px;
  line-height:1.7;
}

@media(width < 1024px){

  .hh-story-hero{
    padding:48px 0 54px;
  }

  .hh-story-hero__grid,
  .hh-story-intro__grid,
  .hh-story-feature__grid,
  .hh-story-materials__grid{
    grid-template-columns:1fr;
    gap:38px;
  }

  .hh-story-hero__copy h1{
    font-size:46px;
  }

  .hh-story-visual--hero{
    min-height:420px;
    border-radius:120px 120px 16px 16px;
  }

  .hh-story-intro{
    padding:70px 0;
  }

  .hh-story-feature{
    padding-bottom:75px;
  }

  .hh-story-visual--craft,
  .hh-story-visual--materials{
    min-height:400px;
  }

  .hh-story-values{
    padding:70px 0;
  }

  .hh-story-values__grid{
    grid-template-columns:1fr;
  }

  .hh-story-value{
    padding:28px 22px 30px;
  }

  .hh-story-value span{
    margin-bottom:22px;
  }

  .hh-story-materials{
    padding:75px 0;
  }

  .hh-story-materials__copy{
    order:2;
  }

  .hh-story-visual--materials{
    order:1;
  }

  .hh-story-closing{
    padding:75px 0 80px;
  }

  .hh-story-closing h2{
    font-size:42px;
  }

}

/* OUR STORY — real imagery */
.hh-story-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.hh-story-visual--hero img{
  min-height:560px;
}

.hh-story-visual--craft img,
.hh-story-visual--materials img{
  min-height:520px;
}

@media(width < 1024px){
  .hh-story-visual--hero img{
    min-height:420px;
  }

  .hh-story-visual--craft img,
  .hh-story-visual--materials img{
    min-height:400px;
  }
}

/* =========================================================
   OUR STORY — MOBILE POLISH PASS
   ========================================================= */

@media(width < 1024px){

  /* tighter overall rhythm */
  .hh-story-hero{
    padding-bottom:34px!important;
  }

  .hh-story-intro{
    padding-top:44px!important;
    padding-bottom:64px!important;
  }

  .hh-story-feature{
    padding-bottom:64px!important;
  }

  .hh-story-materials{
    padding-top:64px!important;
    padding-bottom:64px!important;
  }

  /* hero */
  .hh-story-hero__grid{
    gap:26px!important;
  }

  .hh-story-hero__copy h1{
    margin-bottom:16px!important;
  }

  .hh-story-hero__lead{
    font-size:15px!important;
    line-height:1.65!important;
  }

  .hh-story-visual--hero{
    min-height:0!important;
    border-radius:90px 90px 12px 12px!important;
  }

  .hh-story-visual--hero img{
    min-height:0!important;
    aspect-ratio:1.15 / 1!important;
    object-fit:cover!important;
  }

  /* intro section */
  .hh-story-intro__grid{
    gap:22px!important;
  }

  .hh-story-intro h2{
    margin-top:8px!important;
  }

  .hh-story-copy p{
    margin-bottom:16px!important;
    font-size:15px!important;
    line-height:1.7!important;
  }

  /* craft section */
  .hh-story-feature__grid{
    gap:0!important;
  }

  .hh-story-visual--craft{
    min-height:0!important;
    border-radius:12px 12px 0 0!important;
  }

  .hh-story-visual--craft img{
    min-height:0!important;
    aspect-ratio:1.15 / 1!important;
    object-fit:cover!important;
  }

  .hh-story-feature__copy{
    max-width:none!important;
    padding:24px 20px 26px!important;
    background:#e8dece!important;
    border-radius:0 0 12px 12px!important;
  }

  .hh-story-feature__copy .shan-eyebrow{
    margin-bottom:7px!important;
  }

  .hh-story-feature__copy h2{
    margin:0 0 14px!important;
    font-size:34px!important;
    line-height:1.04!important;
  }

  .hh-story-feature__copy p{
    margin-bottom:14px!important;
    font-size:15px!important;
    line-height:1.65!important;
  }

  .hh-story-feature__copy p:last-child{
    margin-bottom:0!important;
  }

  /* burgundy values section */
  .hh-story-values{
    padding-top:62px!important;
    padding-bottom:62px!important;
  }

  .hh-story-values__heading{
    margin-bottom:32px!important;
  }

  .hh-story-values__heading h2{
    color:#fff!important;
    margin-top:8px!important;
    font-size:36px!important;
    line-height:1.05!important;
  }

  .hh-story-values__grid{
    gap:0!important;
    background:transparent!important;
  }

  .hh-story-value{
    padding:24px 0 26px!important;
    border-bottom:1px solid rgba(255,255,255,.18)!important;
  }

  .hh-story-value:first-child{
    padding-top:6px!important;
  }

  .hh-story-value:last-child{
    border-bottom:0!important;
    padding-bottom:0!important;
  }

  .hh-story-value span{
    margin-bottom:15px!important;
  }

  .hh-story-value h3{
    margin-bottom:10px!important;
    font-size:21px!important;
  }

  .hh-story-value p{
    font-size:14px!important;
    line-height:1.65!important;
  }

  /* heritage section */
  .hh-story-materials__grid{
    gap:24px!important;
  }

  .hh-story-visual--materials{
    min-height:0!important;
    border-radius:12px!important;
  }

  .hh-story-visual--materials img{
    min-height:0!important;
    aspect-ratio:1.08 / 1!important;
    object-fit:cover!important;
  }

  .hh-story-materials__copy{
    order:2!important;
  }

  .hh-story-materials__copy h2{
    margin-top:8px!important;
    margin-bottom:16px!important;
  }

  .hh-story-materials__copy p{
    margin-bottom:15px!important;
    font-size:15px!important;
    line-height:1.68!important;
  }

  /* closing */
  .hh-story-closing{
    padding-top:64px!important;
    padding-bottom:70px!important;
  }

  .hh-story-closing h2{
    margin-top:8px!important;
    margin-bottom:18px!important;
    font-size:36px!important;
    line-height:1.04!important;
  }

  .hh-story-closing p:not(.shan-eyebrow){
    margin-bottom:24px!important;
    font-size:15px!important;
    line-height:1.65!important;
  }

}

/* =========================================================
   CONTACT PAGE — HEMP & HERITAGE
   ========================================================= */

.hh-contact{
  background:#fffaf3;
  color:var(--shan-ink);
}

.hh-contact-hero{
  padding:86px 0 82px;
  background:#f0e3d1;
  text-align:center;
}

.hh-contact-hero__inner{
  max-width:850px;
}

.hh-contact-hero h1{
  max-width:800px;
  margin:8px auto 24px;
  font-size:clamp(52px,6vw,80px);
  line-height:.98;
  letter-spacing:-.035em;
}

.hh-contact-hero p:last-child{
  max-width:820px;
  margin:0 auto;
  color:var(--shan-muted);
  font-size:17px;
  line-height:1.75;
}

.hh-contact-main{
  padding:100px 0 110px;
}

.hh-contact-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:90px;
  align-items:start;
}

.hh-contact-info{
  padding-top:16px;
}

.hh-contact-info h2{
  max-width:480px;
  margin:8px 0 20px;
  font-size:clamp(38px,4vw,54px);
  line-height:1.04;
}

.hh-contact-info__intro{
  max-width:500px;
  margin:0 0 42px;
  color:var(--shan-muted);
  font-size:16px;
  line-height:1.7;
}

.hh-contact-topics{
  border-top:1px solid var(--shan-line);
}

.hh-contact-topic{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:18px;
  padding:24px 0;
  border-bottom:1px solid var(--shan-line);
}

.hh-contact-topic > span{
  padding-top:3px;
  color:var(--shan-gold);
  font-family:var(--shan-serif);
  font-size:16px;
}

.hh-contact-topic h3{
  margin:0 0 7px;
  font-size:21px;
}

.hh-contact-topic p{
  max-width:430px;
  margin:0;
  color:var(--shan-muted);
  font-size:14px;
  line-height:1.6;
}

.hh-contact-note{
  display:flex;
  gap:16px;
  margin-top:32px;
  padding:22px 24px;
  background:#efe3d2;
}

.hh-contact-note > span{
  color:var(--shan-burgundy);
}

.hh-contact-note p{
  margin:0;
  color:var(--shan-muted);
  font-family:var(--shan-serif);
  font-size:17px;
  line-height:1.55;
}

.hh-contact-form-wrap{
  padding:48px 50px 52px;
  background:#fff;
  border:1px solid rgba(114,30,43,.12);
  box-shadow:0 24px 60px rgba(55,42,32,.07);
}

.hh-contact-form-heading{
  margin-bottom:34px;
}

.hh-contact-form-heading h2{
  margin:5px 0 0;
  font-size:40px;
  line-height:1.05;
}

.hh-contact-form{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.hh-contact-form__row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.hh-contact-form label{
  display:block;
}

.hh-contact-form label > span{
  display:flex;
  justify-content:space-between;
  margin-bottom:8px;
  color:var(--shan-ink);
  font-size:11px;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.hh-contact-form label small{
  color:var(--shan-muted);
  font-size:9px;
  font-weight:600;
}

.hh-contact-form input,
.hh-contact-form select,
.hh-contact-form textarea{
  display:block;
  width:100%;
  box-sizing:border-box;
  border:1px solid #d8cec0;
  border-radius:0;
  background:#fffaf4;
  color:var(--shan-ink);
  font-family:var(--shan-sans);
  font-size:16px;
  outline:0;
  transition:border-color 160ms ease,background 160ms ease;
}

.hh-contact-form input,
.hh-contact-form select{
  height:52px;
  padding:0 14px;
}

.hh-contact-form textarea{
  min-height:160px;
  padding:14px;
  resize:vertical;
  line-height:1.55;
}

.hh-contact-form input:focus,
.hh-contact-form select:focus,
.hh-contact-form textarea:focus{
  border-color:var(--shan-burgundy);
  background:#fff;
}

.hh-contact-submit{
  width:100%;
  margin-top:4px;
  gap:13px;
}

.hh-contact-submit span{
  font-size:17px;
}

.hh-contact-hp{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(1px,1px,1px,1px)!important;
}

.hh-contact-error{
  margin-bottom:24px;
  padding:13px 16px;
  border-left:3px solid var(--shan-burgundy);
  background:#f8e9e8;
  color:#722331;
  font-size:14px;
}

.hh-contact-success{
  padding:45px 20px;
  text-align:center;
}

.hh-contact-success__mark{
  display:grid;
  width:62px;
  height:62px;
  margin:0 auto 26px;
  place-items:center;
  border-radius:50%;
  background:var(--shan-burgundy);
  color:#fff;
  font-size:24px;
}

.hh-contact-success h2{
  margin:8px 0 18px;
  font-size:42px;
}

.hh-contact-success > p:not(.shan-eyebrow){
  max-width:480px;
  margin:0 auto 26px;
  color:var(--shan-muted);
  line-height:1.7;
}

.hh-contact-closing{
  padding:85px 0;
  background:#721e2b;
  color:#fff;
  text-align:center;
}

.hh-contact-closing .shan-eyebrow{
  color:#d9b46d;
}

.hh-contact-closing h2{
  max-width:800px;
  margin:10px auto 0;
  color:#fff;
  font-size:clamp(38px,4.5vw,58px);
  line-height:1.03;
}


@media(width < 1024px){

  .hh-contact-hero{
    padding:56px 0 58px;
  }

  .hh-contact-hero h1{
    font-size:46px;
  }

  .hh-contact-hero p:last-child{
    font-size:15px;
    line-height:1.65;
  }

  .hh-contact-main{
    padding:62px 0 72px;
  }

  .hh-contact-grid{
    grid-template-columns:1fr;
    gap:48px;
  }

  .hh-contact-info{
    padding-top:0;
  }

  .hh-contact-info h2{
    font-size:36px;
  }

  .hh-contact-info__intro{
    margin-bottom:30px;
    font-size:15px;
  }

  .hh-contact-topic{
    padding:20px 0;
  }

  .hh-contact-note{
    margin-top:26px;
  }

  .hh-contact-form-wrap{
    margin-left:-4px;
    margin-right:-4px;
    padding:30px 20px 32px;
  }

  .hh-contact-form-heading{
    margin-bottom:27px;
  }

  .hh-contact-form-heading h2{
    font-size:34px;
  }

  .hh-contact-form__row{
    grid-template-columns:1fr;
    gap:22px;
  }

  .hh-contact-form{
    gap:20px;
  }

  .hh-contact-form input,
  .hh-contact-form select{
    height:50px;
  }

  .hh-contact-form textarea{
    min-height:145px;
  }

  .hh-contact-closing{
    padding:62px 0;
  }

  .hh-contact-closing h2{
    font-size:37px;
  }

}

/* CONTACT — MOBILE FINAL POLISH */
@media(width < 1024px){

  /* slightly tighter information section */
  .hh-contact-grid{
    gap:38px!important;
  }

  .hh-contact-topic{
    grid-template-columns:34px 1fr!important;
    gap:10px!important;
    padding:18px 0!important;
  }

  .hh-contact-topic h3{
    margin-bottom:5px!important;
  }

  .hh-contact-topic p{
    font-size:13px!important;
    line-height:1.55!important;
  }

  /* brand note */
  .hh-contact-note{
    gap:14px!important;
    margin-top:20px!important;
    padding:20px!important;
    background:#eee1cf!important;
  }

  .hh-contact-note > span{
    color:var(--shan-gold)!important;
  }

  .hh-contact-note p{
    font-size:15px!important;
    line-height:1.55!important;
  }

  /* integrate form into page instead of floating white card */
  .hh-contact-form-wrap{
    margin:0!important;
    padding:6px 12px 0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .hh-contact-form-heading{
    margin-bottom:26px!important;
  }

  .hh-contact-form-heading h2{
    font-size:36px!important;
  }

  .hh-contact-form{
    gap:18px!important;
  }

  .hh-contact-form__row{
    gap:18px!important;
  }

  .hh-contact-form input,
  .hh-contact-form select{
    height:48px!important;
    background:#fffaf4!important;
  }

  .hh-contact-form textarea{
    min-height:135px!important;
    background:#fffaf4!important;
  }

  .hh-contact-submit{
    min-height:52px!important;
    margin-top:2px!important;
  }

  /* remove excessive space below form */
  .hh-contact-main{
    padding-bottom:58px!important;
  }

  /* closing statement */
  .hh-contact-closing{
    padding-top:56px!important;
    padding-bottom:58px!important;
  }

}

/* QUICK NAV — slightly larger + refined button feel */
.shan-mobile-quick-nav a{
  font-size:12px!important;
  padding:8px 18px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.06)!important;
  transition:
    background 160ms ease,
    border-color 160ms ease,
    transform 160ms ease!important;
}

.shan-mobile-quick-nav a:hover,
.shan-mobile-quick-nav a:focus-visible{
  background:rgba(255,255,255,.15)!important;
  border-color:rgba(255,255,255,.55)!important;
  transform:translateY(-1px);
}

@media(width < 1024px){
  .shan-mobile-quick-nav a{
    padding:7px 13px!important;
  }
}

/* QUICK NAV — compact pills */
.shan-mobile-quick-nav a{
  padding:4px 11px!important;
  border-radius:999px!important;
}

@media(width < 1024px){
  .shan-mobile-quick-nav a{
    padding:4px 9px!important;
  }
}

/* QUICK NAV — clean text style */
.shan-mobile-quick-nav a,
.shan-mobile-quick-nav a:last-child{
  font-size:12px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  transform:none!important;
}

.shan-mobile-quick-nav a:hover,
.shan-mobile-quick-nav a:focus-visible{
  background:transparent!important;
  border:0!important;
  transform:none!important;
  opacity:.78;
}

/* MOBILE HAMBURGER — Categories list */
.shan-nav__label--mobile,
.shan-mobile-category-list{
  display:none;
}

@media(width < 1024px){

  .shan-nav__label--desktop{
    display:none!important;
  }

  .shan-nav__label--mobile{
    display:inline!important;
  }

  .shan-nav__item--mega .shan-mega-menu__panel{
    display:none!important;
  }

  .shan-mobile-category-list{
    display:block;
    padding:4px 0 8px;
  }

  .shan-mobile-category-link{
    display:block;
    padding:10px 0!important;
    border-bottom:1px solid rgba(70,45,35,.10);
    font-size:14px;
    line-height:1.35;
    text-decoration:none;
  }

  .shan-mobile-category-link[hidden]{
    display:none!important;
  }

  .shan-mobile-category-more{
    border:0;
    background:transparent;
    padding:12px 0 4px;
    font:inherit;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
  }
}

/* MOBILE MENU — clean category list, first 5 visible */
@media(width < 1024px){

  .shan-mobile-category-list{
    display:block!important;
    padding:4px 0 10px!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .shan-mobile-category-link{
    display:block!important;
    padding:7px 0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    font-size:14px!important;
    line-height:1.4!important;
    text-decoration:none!important;
  }

  .shan-mobile-category-extra[hidden]{
    display:none!important;
  }

  .shan-mobile-category-more{
    display:block;
    margin:4px 0 0!important;
    padding:6px 0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    font-size:13px!important;
    font-weight:600!important;
  }
}

/* MOBILE MENU — Categories title matches other main menu items */
@media(width < 1024px){
  .shan-nav__item--mega > .shan-nav__trigger,
  .shan-nav__item--mega > .shan-nav__trigger .shan-nav__label--mobile{
    font:inherit!important;
    font-size:inherit!important;
    font-weight:inherit!important;
    letter-spacing:inherit!important;
    text-transform:inherit!important;
    line-height:inherit!important;
  }
}

/* MOBILE MENU — Categories matches main nav */
@media(width < 1024px){

  .shan-nav__item--mega > .shan-nav__trigger{
    width:100%!important;
    padding:14px 4px!important;
    border:0!important;
    background:transparent!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;

    font-size:13px!important;
    font-weight:700!important;
    line-height:1.2!important;
    letter-spacing:.06em!important;
    text-transform:uppercase!important;
    color:inherit!important;
  }

  .shan-nav__label--mobile{
    font:inherit!important;
    letter-spacing:inherit!important;
    text-transform:inherit!important;
  }

  .shan-caret{
    display:none!important;
  }

  .shan-nav__item--mega > .shan-nav__trigger::after{
    content:"+"!important;
    font-size:18px!important;
    font-weight:400!important;
    line-height:1!important;
    letter-spacing:0!important;
  }

  .shan-nav__item--mega > .shan-nav__trigger[aria-expanded="true"]::after{
    content:"−"!important;
  }
}

/* MOBILE MENU — categories always open */
@media(width < 1024px){

  /* Hide +/- on Categories heading */
  .shan-nav__item--mega > .shan-nav__trigger::after,
  .shan-nav__item--mega > .shan-nav__trigger .shan-caret{
    display:none!important;
    content:none!important;
  }

  /* Categories heading is just a heading */
  .shan-nav__item--mega > .shan-nav__trigger{
    pointer-events:none!important;
    cursor:default!important;
    padding-bottom:8px!important;
  }

  /* Keep category area permanently visible */
  .shan-nav__item--mega .shan-mega-menu,
  .shan-mobile-category-list{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    height:auto!important;
    max-height:none!important;
    position:static!important;
    transform:none!important;
  }

  /* Desktop mega-menu content remains hidden on mobile */
  .shan-nav__item--mega .shan-mega-menu__panel{
    display:none!important;
  }

  /* Only categories after first 5 stay hidden */
  .shan-mobile-category-extra[hidden]{
    display:none!important;
  }
}

/* MOBILE HAMBURGER — final category polish */
@media(width < 1024px){

  /* Remove box around category area */
  .shan-nav__item--mega .shan-mega-menu{
    margin:0!important;
    padding:0!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }

  .shan-mobile-category-list{
    margin:0!important;
    padding:0 0 14px 12px!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }

  /* Category links = secondary navigation */
  .shan-mobile-category-link{
    padding:7px 0!important;
    border:0!important;
    background:transparent!important;
    font-size:13px!important;
    font-weight:500!important;
    line-height:1.35!important;
    letter-spacing:.02em!important;
    text-transform:none!important;
  }

  /* View more */
  .shan-mobile-category-more{
    margin-top:5px!important;
    padding:6px 0!important;
    color:#7a2636!important;
    font-size:12px!important;
    font-weight:600!important;
    letter-spacing:.01em!important;
  }

  /* Main section title */
  .shan-nav__item--mega > .shan-nav__trigger{
    padding:14px 4px 8px!important;
  }

  /* Clean separation before On Sale */
  .shan-nav__item--mega{
    border-bottom:1px solid rgba(70,45,35,.14)!important;
  }
}

/* MOBILE MENU — tighter category spacing */
@media(width < 1024px){
  .shan-mobile-category-link{
    padding:3.5px 0!important;
  }
}

/* MOBILE MENU — truly compact category rows */
@media(width < 1024px){
  .shan-nav .shan-mobile-category-link{
    min-height:0!important;
    height:auto!important;
    padding:2px 0!important;
    margin:0!important;
    line-height:1.3!important;
  }
}

/* MOBILE MENU — balanced category spacing */
@media(width < 1024px){
  .shan-nav .shan-mobile-category-link{
    padding:4px 0!important;
  }
}

/* MOBILE MENU — final category sizing */
@media(width < 1024px){
  .shan-nav .shan-mobile-category-link{
    padding:5px 0!important;
    font-size:14px!important;
  }
}

/* MOBILE MENU — category spacing + chevrons */
@media(width < 1024px){

  .shan-nav .shan-mobile-category-link{
    padding:6px 0!important;
    font-size:14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
  }

  .shan-nav .shan-mobile-category-link::after{
    content:">";
    font-size:16px;
    font-weight:400;
    line-height:1;
    margin-left:12px;
    opacity:.55;
  }
}

/* MOBILE HAMBURGER — match filter drawer width */
@media(width < 1024px){
  .shan-nav{
    left:0!important;
    right:auto!important;
    width:68vw!important;
    max-width:320px!important;
    box-sizing:border-box!important;
  }
}

/* MOBILE MENU — force category chevrons */
@media(width < 1024px){
  .shan-nav .shan-mobile-category-link::after{
    content:"›"!important;
    display:block!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    margin-left:auto!important;
    background:none!important;
    transform:none!important;
    font-size:20px!important;
    font-weight:400!important;
    line-height:1!important;
    opacity:.55!important;
  }
}

/* MOBILE MENU — show only first 5 categories until View More */
@media(width < 1024px){

  .shan-nav .shan-mobile-category-extra[hidden]{
    display:none!important;
  }

  .shan-nav .shan-mobile-category-extra:not([hidden]){
    display:flex!important;
  }
}

/* MOBILE HAMBURGER — scroll only inside menu */
@media(width < 1024px){

  body:has(.shan-nav.is-open){
    overflow:hidden!important;
    touch-action:none;
  }

  .shan-nav.is-open{
    max-height:calc(100dvh - 100%);
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
  }
}

/* MOBILE HAMBURGER — correct isolated scrolling */
@media(width < 1024px){

  body:has(.shan-nav.is-open){
    overflow:hidden!important;
  }

  .shan-nav.is-open{
    max-height:calc(100dvh - 140px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch;
  }
}

/* MOBILE MENU — category spacing 7px */
@media(width < 1024px){
  .shan-nav .shan-mobile-category-link{
    padding:7px 0!important;
  }
}



/* MOBILE MENU — category spacing 8px */ 

@media(width < 1024px){

  .shan-nav .shan-mobile-category-link{

    padding:7px 0!important;

  }

}


@media(width < 1024px){
  .shan-nav .shan-mobile-category-link{
    padding:8px 0!important;
  }
}

/* MOBILE FOOTER — Shop / Categories / Company in 3 columns */
@media(width < 1024px){

  .shan-footer__grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px 14px!important;
  }

  .shan-footer__brand{
    grid-column:1 / -1!important;
  }

  .shan-footer__column{
    padding:0!important;
    border:0!important;
  }

  .shan-footer__column:last-of-type{
    border:0!important;
  }

  .shan-footer__column h2{
    margin:0 0 10px!important;
    padding:0!important;
    cursor:default!important;
    font-size:10px!important;
  }

  .shan-footer__column h2::after{
    display:none!important;
    content:none!important;
  }

  .shan-footer__column a,
  .shan-footer__column.is-open a{
    display:block!important;
    padding:0!important;
    margin:0 0 7px!important;
    font-size:11px!important;
    line-height:1.35!important;
  }

  .shan-footer__column.is-open{
    padding-bottom:0!important;
  }
}


/* ==========================================================
   HEMP & HERITAGE — PRODUCT DETAIL POLISH V1
   ========================================================== */

/* Overall product rhythm */
.shan-commerce--single{
  padding-top:26px;
}

.shan-commerce--single div.product div.summary{
  padding-top:4px;
}

/* Product title — editorial / heritage rather than heavy ecommerce */
.shan-commerce--single .summary .product_title{
  margin:0 0 10px;
  color:var(--shan-ink);
  font-family:var(--shan-serif);
  font-size:clamp(32px,3vw,46px);
  font-weight:500;
  letter-spacing:-.025em;
  line-height:1.04;
  text-transform:none;
}

/* Rating */
.shan-commerce--single .summary .woocommerce-product-rating{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 20px;
}

.shan-commerce--single .summary .woocommerce-product-rating .star-rating,
.shan-commerce--single .shan-empty-stars{
  color:var(--shan-gold);
  font-size:16px;
  letter-spacing:1px;
}

.shan-commerce--single .summary .woocommerce-review-link{
  color:var(--shan-muted);
  font-size:12px;
  line-height:1.3;
  text-decoration:none;
}

/* Price + reassurance */
.shan-commerce--single .shan-single-price{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 12px;
  margin:0 0 14px;
}

.shan-commerce--single .summary .shan-single-price .price{
  margin:0;
  color:var(--shan-ink);
  font-family:var(--shan-sans);
  font-size:24px;
  font-weight:700;
  letter-spacing:-.02em;
}

.shan-commerce--single .shan-shipping-note{
  flex:0 0 100%;
  color:var(--shan-burgundy);
  font-size:12px;
  font-weight:650;
  letter-spacing:.01em;
}

/* Short intro copy */
.shan-commerce--single .woocommerce-product-details__short-description{
  max-width:610px;
  margin:0 0 22px;
  padding:0;
  border:0;
  color:var(--shan-muted);
  font-size:14px;
  line-height:1.65;
}

.shan-commerce--single .woocommerce-product-details__short-description p:last-child{
  margin-bottom:0;
}

/* Availability — no green box */
.shan-commerce--single .summary .stock,
.shan-commerce--single .summary .stock.in-stock{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0 0 24px;
  padding:0;
  background:transparent;
  color:var(--shan-burgundy);
  font-size:10px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.shan-commerce--single .summary .stock.in-stock::before{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:var(--shan-gold);
  content:"";
}

.shan-commerce--single .summary .stock.out-of-stock{
  padding:0;
  background:transparent;
  color:var(--shan-burgundy);
}

/* Remove Woo-like divider-heavy variation layout */
.shan-commerce--single table.variations{
  margin:0 0 6px;
}

.shan-commerce--single table.variations tr{
  display:block;
  margin:0 0 22px;
  padding:0;
  border:0;
}

.shan-commerce--single table.variations th,
.shan-commerce--single table.variations td{
  padding:0;
}

.shan-commerce--single table.variations th{
  margin-bottom:8px;
}

.shan-commerce--single table.variations label,
.shan-commerce--single .shan-static-options p{
  display:block;
  margin:0 0 8px;
  color:var(--shan-muted);
  font-size:11px;
  font-weight:600;
  letter-spacing:.03em;
}

/* Variation pills */
.shan-commerce--single .shan-variation-choices,
.shan-commerce--single .shan-static-options>div{
  gap:8px;
}

.shan-commerce--single .shan-variation-choice,
.shan-commerce--single .shan-static-options span{
  min-width:auto;
  min-height:38px;
  padding:8px 17px;
  border:1px solid var(--shan-line);
  border-radius:999px;
  background:transparent;
  color:var(--shan-ink);
  font-size:12px;
  font-weight:500;
  line-height:1;
}

.shan-commerce--single .shan-variation-choice:hover,
.shan-commerce--single .shan-variation-choice:focus-visible{
  border-color:var(--shan-burgundy);
  background:rgba(114,30,43,.04);
  color:var(--shan-burgundy);
}

.shan-commerce--single .shan-variation-choice.is-selected{
  border-color:var(--shan-burgundy);
  background:var(--shan-burgundy);
  color:#fff;
}

/* Static options are informational, not fake selected buttons */
.shan-commerce--single .shan-static-options{
  margin:0 0 22px;
  padding:0;
  border:0;
}

.shan-commerce--single .shan-static-options span{
  color:var(--shan-muted);
  background:rgba(113,104,97,.06);
}

/* Preserve real variation color swatches where applicable */
.shan-commerce--single .shan-variation-choices--color .shan-variation-choice{
  width:38px;
  min-width:38px;
  height:38px;
  min-height:38px;
  padding:0;
}

/* Purchase area */
.shan-commerce--single form.cart{
  display:flex;
  align-items:stretch;
  gap:10px;
  margin:4px 0 14px!important;
  padding:0;
  border:0;
}

.shan-commerce--single form.cart .quantity{
  flex:0 0 auto;
  min-width:128px;
  background:#f2efeb;
}

.shan-commerce--single form.cart .quantity .qty{
  width:42px;
  height:50px;
  font-size:13px;
}

.shan-commerce--single .shan-qty-button{
  width:42px;
  height:50px;
  font-size:19px;
}

.shan-commerce--single form.cart .single_add_to_cart_button{
  flex:1;
  min-height:50px;
  padding:13px 24px;
  border-radius:999px;
  background:var(--shan-burgundy);
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
  text-transform:none;
}

.shan-commerce--single form.cart .single_add_to_cart_button:hover{
  background:var(--shan-dark-red);
}

/* Give express-pay elements visual separation from primary cart action */
.shan-commerce--single .wcpay-payment-request-wrapper,
.shan-commerce--single .wc-stripe-payment-request-wrapper,
.shan-commerce--single .wc-stripe-payment-request-button-separator{
  margin-top:12px;
}

.shan-commerce--single .wcpay-payment-request-wrapper::before,
.shan-commerce--single .wc-stripe-payment-request-wrapper::before{
  display:block;
  margin:4px 0 10px;
  color:var(--shan-muted);
  content:"OR";
  font-size:9px;
  font-weight:700;
  letter-spacing:.14em;
  text-align:center;
}

/* Gallery refinement */
.shan-commerce--single div.product div.images .woocommerce-product-gallery__wrapper{
  border-radius:16px;
}

.shan-commerce--single .flex-control-thumbs li{
  border-color:transparent;
  border-radius:11px;
}

.shan-commerce--single .flex-control-thumbs li:has(img.flex-active){
  border-color:var(--shan-burgundy);
}

.shan-commerce--single .flex-control-thumbs img{
  opacity:.6;
}

.shan-commerce--single .flex-control-thumbs img.flex-active{
  opacity:1;
}

/* Tabs — simple editorial navigation */
.shan-commerce--single .woocommerce-tabs{
  margin-top:54px;
}

.shan-commerce--single div.product .woocommerce-tabs ul.tabs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  margin:0 0 30px;
  padding:0;
  border-bottom:1px solid var(--shan-line);
  background:transparent;
}

.shan-commerce--single div.product .woocommerce-tabs ul.tabs li{
  margin:0;
  padding:0 4px 13px;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  text-align:center;
}

.shan-commerce--single div.product .woocommerce-tabs ul.tabs li::before,
.shan-commerce--single div.product .woocommerce-tabs ul.tabs li::after{
  display:none!important;
}

.shan-commerce--single div.product .woocommerce-tabs ul.tabs li.active{
  border-bottom:2px solid var(--shan-burgundy)!important;
}

.shan-commerce--single div.product .woocommerce-tabs ul.tabs li a{
  padding:0;
  color:var(--shan-muted);
  font-size:11px;
  font-weight:650;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.shan-commerce--single div.product .woocommerce-tabs ul.tabs li.active a{
  color:var(--shan-burgundy);
}

/* Product detail editorial content */
.shan-commerce--single .woocommerce-Tabs-panel{
  color:var(--shan-muted);
  font-size:14px;
  line-height:1.7;
}

.shan-commerce--single .woocommerce-Tabs-panel h2{
  display:block!important;
  margin:0 0 16px;
  color:var(--shan-ink);
  font-family:var(--shan-serif);
  font-size:26px;
  font-weight:500;
  letter-spacing:-.015em;
  line-height:1.15;
}

.shan-commerce--single .woocommerce-Tabs-panel p{
  max-width:720px;
}

/* Details & Dimensions — clean rows instead of Woo table boxes */
.shan-commerce--single .woocommerce-product-attributes{
  width:100%;
  max-width:760px;
  margin:30px 0 0;
  border:0;
  border-top:1px solid var(--shan-line);
  border-collapse:collapse;
}

.shan-commerce--single .woocommerce-product-attributes tr{
  border-bottom:1px solid var(--shan-line);
}

.shan-commerce--single .woocommerce-product-attributes tr:nth-child(even),
.shan-commerce--single .woocommerce-product-attributes tr:nth-child(odd){
  background:transparent;
}

.shan-commerce--single .woocommerce-product-attributes th,
.shan-commerce--single .woocommerce-product-attributes td{
  padding:12px 0;
  border:0;
  background:transparent!important;
  vertical-align:top;
}

.shan-commerce--single .woocommerce-product-attributes th{
  width:42%;
  padding-right:16px;
  color:var(--shan-ink);
  font-size:12px;
  font-weight:650;
}

.shan-commerce--single .woocommerce-product-attributes td{
  color:var(--shan-muted);
  font-size:12px;
}

.shan-commerce--single .woocommerce-product-attributes td p{
  margin:0;
  padding:0;
}

/* FAQ */
.shan-product-faqs details{
  padding:16px 0;
  border-bottom:1px solid var(--shan-line);
}

.shan-product-faqs details:first-child{
  border-top:1px solid var(--shan-line);
}

.shan-product-faqs summary{
  color:var(--shan-ink);
  font-family:var(--shan-sans);
  font-size:14px;
  font-weight:650;
}

.shan-product-faqs details p{
  margin:12px 0 0;
}

/* Related products */
.shan-commerce--single .related{
  margin-top:58px;
  padding-top:48px;
  border-top:1px solid var(--shan-line);
}

.shan-commerce--single .related>h2{
  margin:0 0 26px;
  color:var(--shan-ink);
  font-family:var(--shan-serif);
  font-size:clamp(28px,3vw,38px);
  font-weight:500;
  letter-spacing:-.02em;
}

.shan-commerce--single .related ul.products{
  margin-top:0;
}

/* ---------------- MOBILE ---------------- */
@media(width < 1024px){

  .shan-commerce--single{
    padding-top:16px;
    padding-bottom:68px;
  }

  .shan-commerce--single div.product{
    gap:18px;
  }

  /* Mobile gallery: dominant image + compact horizontal thumbs */
  .shan-commerce--single div.product div.images{
    display:block;
    margin-bottom:0;
  }

  .shan-commerce--single div.product div.images .woocommerce-product-gallery__wrapper{
    margin-bottom:9px;
  }

  .shan-commerce--single div.product div.images .woocommerce-product-gallery__image img{
    aspect-ratio:1/1.07;
  }

  .shan-commerce--single .flex-control-thumbs{
    display:flex;
    gap:8px;
    width:100%;
    margin:0!important;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .shan-commerce--single .flex-control-thumbs::-webkit-scrollbar{
    display:none;
  }

  .shan-commerce--single .flex-control-thumbs li{
    flex:0 0 29%;
    max-width:92px;
  }

  .shan-commerce--single .flex-control-thumbs img{
    aspect-ratio:1/1;
  }

  .shan-commerce--single div.product div.summary{
    padding-top:2px;
  }

  .shan-commerce--single .summary .product_title{
    margin-bottom:9px;
    font-size:32px;
    line-height:1.02;
  }

  .shan-commerce--single .summary .woocommerce-product-rating{
    margin-bottom:20px;
  }

  .shan-commerce--single .summary .shan-single-price .price{
    font-size:23px;
  }

  .shan-commerce--single .woocommerce-product-details__short-description{
    margin-bottom:20px;
    font-size:13px;
    line-height:1.6;
  }

  .shan-commerce--single .summary .stock{
    margin-bottom:24px;
  }

  .shan-commerce--single .shan-static-options{
    margin-bottom:20px;
  }

  .shan-commerce--single form.cart{
    gap:10px;
    margin-top:2px!important;
  }

  .shan-commerce--single form.cart .quantity{
    min-width:118px;
  }

  .shan-commerce--single .woocommerce-tabs{
    margin-top:42px;
  }

  .shan-commerce--single div.product .woocommerce-tabs ul.tabs{
    grid-template-columns:repeat(3,1fr);
    gap:0;
    overflow:visible;
    margin-bottom:26px;
  }

  .shan-commerce--single div.product .woocommerce-tabs ul.tabs li{
    min-width:0;
    padding-inline:2px;
    flex:none;
  }

  .shan-commerce--single div.product .woocommerce-tabs ul.tabs li a{
    white-space:nowrap;
    font-size:10px;
  }

  .shan-commerce--single .woocommerce-Tabs-panel h2{
    font-size:25px;
  }

  .shan-commerce--single .woocommerce-product-attributes{
    margin-top:25px;
  }

  .shan-commerce--single .woocommerce-product-attributes th{
    width:40%;
  }

  .shan-commerce--single .related{
    margin-top:50px;
    padding-top:42px;
  }

  .shan-commerce--single .related>h2{
    margin-bottom:24px;
    font-size:28px;
  }

  .shan-commerce--single .related ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:28px 12px;
  }
}

@media(max-width:420px){

  .shan-commerce--single .summary .product_title{
    font-size:30px;
  }

  .shan-commerce--single form.cart{
    flex-wrap:nowrap;
  }

  .shan-commerce--single form.cart .quantity{
    min-width:108px;
  }

  .shan-commerce--single .shan-qty-button{
    width:36px;
  }

  .shan-commerce--single form.cart .quantity .qty{
    width:36px;
  }

  .shan-commerce--single form.cart .single_add_to_cart_button{
    padding-inline:16px;
  }
}

/* PDP: hide WooCommerce variation reset link for Style selector. */
.shan-commerce--single .reset_variations{
  display:none !important;
}


/* ==========================================================
   MOBILE PDP — PURCHASE-AREA ACCORDION
   ========================================================== */

.shan-mobile-pdp-accordion{
  display:none;
}

@media(width < 1024px){

  /* Desktop Woo tabs are replaced by the mobile accordion. */
  .shan-commerce--single .woocommerce-tabs{
    display:none !important;
  }

  .shan-mobile-pdp-accordion{
    display:block;
    width:100%;
    margin:22px 0 0;
    border-top:1px solid var(--shan-line);
  }

  .shan-mobile-pdp-section{
    margin:0;
    border-bottom:1px solid var(--shan-line);
  }

  .shan-mobile-pdp-section summary{
    display:grid;
    grid-template-columns:20px 1fr 18px;
    align-items:center;
    gap:8px;
    min-height:52px;
    margin:0;
    padding:0 2px;
    color:var(--shan-ink);
    font-family:var(--shan-sans);
    font-size:13px;
    font-weight:600;
    line-height:1;
    cursor:pointer;
    list-style:none;
  }

  .shan-mobile-pdp-section summary::-webkit-details-marker{
    display:none;
  }

  .shan-mobile-pdp-section__icon{
    color:var(--shan-burgundy);
    font-size:15px;
    line-height:1;
    text-align:center;
  }

  .shan-mobile-pdp-section__chevron{
    color:var(--shan-ink);
    font-size:22px;
    font-weight:400;
    line-height:1;
    text-align:right;
    transition:transform .2s ease;
  }

  .shan-mobile-pdp-section[open] .shan-mobile-pdp-section__chevron{
    transform:rotate(90deg);
  }

  .shan-mobile-pdp-section__content{
    padding:2px 28px 22px;
    color:var(--shan-muted);
    font-size:13px;
    line-height:1.65;
  }

  .shan-mobile-pdp-section__content > :first-child{
    margin-top:0;
  }

  .shan-mobile-pdp-section__content > :last-child{
    margin-bottom:0;
  }

  /* Let related products sit directly beneath accordion. */
  .shan-commerce--single .related{
    margin-top:34px;
    padding-top:0;
    border-top:0;
  }

  .shan-commerce--single .related>h2{
    margin-bottom:18px;
    font-size:25px;
  }
}

/* PDP: shipping reassurance directly below price */
.shan-commerce--single .shan-shipping-note{
  display:block;
  flex:0 0 100%;
  margin-top:-3px;
  color:var(--shan-burgundy);
  font-size:12px;
  font-weight:600;
  line-height:1.35;
  letter-spacing:0;
}

/* PDP shipping reassurance */
.shan-commerce--single .shan-shipping-note{
  margin:-7px 0 14px;
  color:var(--shan-burgundy);
  font-size:12px;
  font-weight:600;
  line-height:1.35;
}


/* ==========================================================
   HEMP & HERITAGE — MOBILE PRODUCT DETAIL POLISH V2
   ========================================================== */

@media(width < 1024px){

  /* ---------- Gallery ---------- */

  .shan-commerce--single .flex-control-thumbs{
    justify-content:flex-start;
    gap:10px;
  }

  .shan-commerce--single .flex-control-thumbs li{
    flex:0 0 92px;
    width:92px;
    max-width:92px;
  }


  /* ---------- Product identity ---------- */

  .shan-commerce--single .summary .product_title{
    margin:0 0 12px;
    font-family:var(--shan-serif);
    font-size:29px;
    font-weight:500;
    letter-spacing:-.025em;
    line-height:1.06;
    text-transform:none;
  }

  .shan-commerce--single .summary .woocommerce-product-rating{
    gap:9px;
    margin:0 0 26px;
  }

  .shan-commerce--single .summary .woocommerce-product-rating .star-rating,
  .shan-commerce--single .shan-empty-stars{
    font-size:15px;
    letter-spacing:1px;
  }

  .shan-commerce--single .summary .woocommerce-review-link{
    color:#625a54;
    font-size:11.5px;
    font-weight:450;
  }


  /* ---------- Price / shipping ---------- */

  .shan-commerce--single .shan-single-price{
    margin-bottom:0;
  }

  .shan-commerce--single .summary .shan-single-price .price{
    font-size:23px;
    font-weight:700;
    line-height:1.15;
  }

  .shan-commerce--single .shan-shipping-note{
    margin:5px 0 16px;
    color:var(--shan-burgundy);
    font-size:11.5px;
    font-weight:600;
    line-height:1.3;
  }


  /* ---------- Short description ---------- */

  .shan-commerce--single .woocommerce-product-details__short-description{
    max-width:100%;
    margin:0 0 22px;
    padding:0;
    border:0;
    color:var(--shan-muted);
    font-size:13px;
    line-height:1.6;
  }


  /* ---------- Stock ---------- */

  .shan-commerce--single .summary .stock,
  .shan-commerce--single .summary .stock.in-stock{
    margin:0 0 20px;
  }


  /* ---------- Style selector ---------- */

  .shan-commerce--single table.variations{
    width:100%;
    margin:0 0 22px;
  }

  .shan-commerce--single table.variations tr{
    margin:0;
    padding:0;
    border:0;
  }

  .shan-commerce--single table.variations th{
    display:block;
    margin:0 0 9px;
    padding:0;
    text-align:left;
  }

  .shan-commerce--single table.variations th label{
    color:var(--shan-ink);
    font-size:12px;
    font-weight:650;
    letter-spacing:.01em;
  }

  .shan-commerce--single table.variations td{
    display:block;
    padding:0;
  }

  .shan-commerce--single .shan-variation-choices--style{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }

  .shan-commerce--single .shan-variation-choices--style .shan-variation-choice{
    width:auto;
    min-width:72px;
    min-height:38px;
    padding:9px 16px;
    border:1px solid rgba(69,42,30,.22);
    border-radius:999px;
    background:transparent;
    color:var(--shan-ink);
    font-size:12px;
    font-weight:550;
    line-height:1;
  }

  .shan-commerce--single .shan-variation-choices--style .shan-variation-choice:hover,
  .shan-commerce--single .shan-variation-choices--style .shan-variation-choice:focus-visible{
    border-color:var(--shan-burgundy);
    color:var(--shan-burgundy);
  }

  .shan-commerce--single .shan-variation-choices--style .shan-variation-choice.is-selected{
    border-color:var(--shan-burgundy);
    background:var(--shan-burgundy);
    color:#fff;
  }


  /* ---------- Quantity + primary CTA ---------- */

  .shan-commerce--single form.cart{
    display:grid;
    grid-template-columns:minmax(108px,.72fr) minmax(0,1.28fr);
    align-items:stretch;
    gap:10px;
    width:100%;
    margin:0 0 14px!important;
    padding:0;
    border:0;
  }

  .shan-commerce--single form.cart .quantity{
    width:100%;
    min-width:0;
    height:50px;
    border-radius:999px;
    background:#f2efeb;
  }

  .shan-commerce--single form.cart .quantity .qty{
    height:50px;
    font-size:13px;
    font-weight:650;
  }

  .shan-commerce--single .shan-qty-button{
    height:50px;
  }

  .shan-commerce--single form.cart .single_add_to_cart_button{
    width:100%;
    min-height:50px;
    padding:12px 20px;
    border-radius:999px;
    background:var(--shan-burgundy)!important;
    color:#fff!important;
    font-size:13px;
    font-weight:700;
    letter-spacing:.005em;
    text-transform:none;
    box-shadow:none;
  }

  .shan-commerce--single form.cart .single_add_to_cart_button:hover,
  .shan-commerce--single form.cart .single_add_to_cart_button:focus{
    background:var(--shan-dark-red)!important;
    color:#fff!important;
  }

  .shan-commerce--single form.cart .single_add_to_cart_button.disabled,
  .shan-commerce--single form.cart .single_add_to_cart_button:disabled{
    opacity:.48;
  }


  /* ---------- Express payment ---------- */

  .shan-commerce--single .wcpay-payment-request-wrapper,
  .shan-commerce--single .wc-stripe-payment-request-wrapper{
    margin-top:4px;
    margin-bottom:18px;
  }


  /* ---------- Mobile information accordion ---------- */

  .shan-mobile-pdp-accordion{
    margin:18px 0 0;
    border-top:1px solid var(--shan-line);
  }

  .shan-mobile-pdp-section{
    border-bottom:1px solid var(--shan-line);
  }

  .shan-mobile-pdp-section summary{
    grid-template-columns:20px 1fr 18px;
    gap:9px;
    min-height:53px;
    padding:0 5px;
    font-size:13px;
    font-weight:600;
  }

  .shan-mobile-pdp-section__icon{
    color:var(--shan-burgundy);
    font-size:15px;
  }

  .shan-mobile-pdp-section__chevron{
    font-size:20px;
  }

  .shan-mobile-pdp-section__content{
    padding:2px 29px 22px;
    font-size:13px;
    line-height:1.65;
  }


  /* ---------- Related products ---------- */

  .shan-commerce--single .related{
    width:100%;
    margin:30px 0 0!important;
    padding:0!important;
    border:0!important;
  }

  .shan-commerce--single .related>h2{
    margin:0 0 18px;
    font-family:var(--shan-serif);
    font-size:26px;
    font-weight:500;
    letter-spacing:-.02em;
    line-height:1.1;
  }

  .shan-commerce--single .related ul.products{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:24px 12px!important;
    width:100%;
    margin:0!important;
    padding:0!important;
  }

  .shan-commerce--single .related ul.products li.product{
    width:auto!important;
    min-width:0;
    margin:0!important;
    padding:0;
  }

  .shan-commerce--single .related ul.products li.product img{
    width:100%;
    aspect-ratio:1/1;
    margin:0 0 8px;
    border-radius:12px;
    object-fit:cover;
  }

  .shan-commerce--single .related ul.products li.product .woocommerce-loop-product__title{
    margin:0 0 4px;
    padding:0;
    color:var(--shan-ink);
    font-family:var(--shan-sans);
    font-size:12px;
    font-weight:550;
    line-height:1.25;
  }

  .shan-commerce--single .related ul.products li.product .price{
    margin:0;
    color:var(--shan-burgundy);
    font-size:12px;
    font-weight:700;
    line-height:1.25;
  }
}


@media(max-width:420px){

  .shan-commerce--single form.cart{
    grid-template-columns:126px minmax(0,1fr);
  }

}

/* PDP variable product: quantity + Add to Cart on one row */
@media(width < 1024px){

  .shan-commerce--single form.variations_form.cart{
    display:block !important;
  }

  .shan-commerce--single .woocommerce-variation-add-to-cart{
    display:grid !important;
    grid-template-columns:126px minmax(0,1fr);
    align-items:stretch;
    gap:10px;
    width:100%;
    margin-top:0;
  }

  .shan-commerce--single .woocommerce-variation-add-to-cart .quantity{
    width:126px !important;
    min-width:126px !important;
    height:50px;
    margin:0 !important;
  }

  .shan-commerce--single .woocommerce-variation-add-to-cart .single_add_to_cart_button{
    width:100% !important;
    min-width:0 !important;
    min-height:50px;
    margin:0 !important;
    padding:12px 18px !important;
    border-radius:999px !important;
    background:var(--shan-burgundy) !important;
    color:#fff !important;
  }

  /* WooCommerce keeps variable-product CTA disabled until Style is selected. */
  .shan-commerce--single .woocommerce-variation-add-to-cart .single_add_to_cart_button.disabled{
    background:var(--shan-burgundy) !important;
    opacity:.48;
  }

}

/* PDP primary Add to Cart — Hemp & Heritage burgundy */
.shan-commerce--single .single_add_to_cart_button:not(.disabled){
  background:#721e2b !important;
  border-color:#721e2b !important;
  color:#fff !important;
  opacity:1 !important;
}

.shan-commerce--single .single_add_to_cart_button:not(.disabled):hover,
.shan-commerce--single .single_add_to_cart_button:not(.disabled):focus{
  background:#4c111b !important;
  border-color:#4c111b !important;
  color:#fff !important;
}

/* PDP primary Add to Cart — Hemp & Heritage burgundy */
.shan-commerce--single .single_add_to_cart_button:not(.disabled){
  background:#721e2b !important;
  border-color:#721e2b !important;
  color:#fff !important;
  opacity:1 !important;
}

.shan-commerce--single .single_add_to_cart_button:not(.disabled):hover,
.shan-commerce--single .single_add_to_cart_button:not(.disabled):focus{
  background:#4c111b !important;
  border-color:#4c111b !important;
  color:#fff !important;
}

/* PDP variable CTA: keep brand color even while WooCommerce awaits Style selection */
.shan-commerce--single .single_add_to_cart_button.disabled,
.shan-commerce--single .single_add_to_cart_button.wc-variation-selection-needed{
  background:#721e2b !important;
  border-color:#721e2b !important;
  color:#fff !important;
  opacity:1 !important;
}

/* PDP Style selector: selected option must be visually obvious */
.shan-commerce--single .shan-variation-choices--style .shan-variation-choice.is-selected,
.shan-commerce--single .shan-variation-choices--style .shan-variation-choice[aria-pressed="true"]{
  background:#721e2b !important;
  border-color:#721e2b !important;
  color:#fff !important;
  opacity:1 !important;
}

.shan-commerce--single .shan-variation-choices--style .shan-variation-choice.is-selected span,
.shan-commerce--single .shan-variation-choices--style .shan-variation-choice[aria-pressed="true"] span{
  color:#fff !important;
}

/* PDP: unify selected Style + Add to Cart with primary brand burgundy */
.shan-commerce--single .shan-variation-choice.is-selected,
.shan-commerce--single .shan-variation-choice[aria-pressed="true"],
.shan-commerce--single .single_add_to_cart_button{
  background:#721e2b !important;
  border-color:#721e2b !important;
  color:#fff !important;
  opacity:1 !important;
}

.shan-commerce--single .single_add_to_cart_button:hover,
.shan-commerce--single .single_add_to_cart_button:focus{
  background:#4c111b !important;
  border-color:#4c111b !important;
}

/* ==========================================================
   PDP MOBILE PURCHASE ROW — SIMPLE PRODUCTS
   ========================================================== */
@media(width < 1024px){

  /* Simple products only */
  .shan-commerce--single form.cart:not(.variations_form){
    display:grid !important;
    grid-template-columns:126px minmax(0,1fr) !important;
    align-items:stretch !important;
    gap:10px !important;
    width:100% !important;
  }

  .shan-commerce--single form.cart:not(.variations_form) > .quantity{
    grid-column:1 !important;
    width:126px !important;
    min-width:126px !important;
    height:50px !important;
    margin:0 !important;
    float:none !important;
  }

  .shan-commerce--single form.cart:not(.variations_form) > .single_add_to_cart_button{
    grid-column:2 !important;
    width:100% !important;
    min-width:0 !important;
    min-height:50px !important;
    margin:0 !important;
    float:none !important;
    clear:none !important;

    background:#721e2b !important;
    border-color:#721e2b !important;
    color:#fff !important;
    opacity:1 !important;
  }

}

/* PDP: visible Style swatches */
.shan-commerce--single .cfvsw-swatches-container[swatches-attr="attribute_pa_style"]{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.shan-commerce--single .cfvsw-swatches-container[swatches-attr="attribute_pa_style"] .cfvsw-swatches-option{
  min-width:72px !important;
  min-height:43px !important;
  padding:9px 16px !important;
  border:1px solid rgba(69,42,30,.22) !important;
  border-radius:999px !important;
  background:transparent !important;
  color:#24201d !important;
  font-size:12px !important;
  line-height:1 !important;
}

.shan-commerce--single .cfvsw-swatches-container[swatches-attr="attribute_pa_style"] .cfvsw-swatches-option.shan-selected{
  background:#721e2b !important;
  border-color:#721e2b !important;
  color:#fff !important;
}

.shan-commerce--single .cfvsw-swatches-container[swatches-attr="attribute_pa_style"] .cfvsw-swatches-option.shan-selected .cfvsw-swatch-inner{
  color:#fff !important;
}

/* PDP: stronger Style labels + shipping note */
.shan-commerce--single .cfvsw-swatches-container[swatches-attr="attribute_pa_style"] .cfvsw-swatch-inner{
  font-weight:700 !important;
}

.shan-commerce--single .shan-shipping-note{
  font-weight:700 !important;
}

/* PDP gallery wishlist heart */
.shan-commerce--single .woocommerce-product-gallery__trigger{
  display:none !important;
}

.shan-commerce--single .woocommerce-product-gallery{
  position:relative;
}

.shan-commerce--single .shan-gallery-wishlist{
  position:absolute !important;
  top:14px;
  right:14px;
  z-index:20;
  margin:0 !important;
}

.shan-commerce--single .shan-gallery-wishlist .tinvwl_add_to_wishlist_button{
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin:0 !important;
  padding:0 !important;
  border-radius:50%;
  background:#fff !important;
  box-shadow:0 2px 10px rgba(0,0,0,.12);
}

.shan-commerce--single .shan-gallery-wishlist .tinvwl_add_to_wishlist-text{
  display:none !important;
}

/* PDP: perfectly center gallery wishlist heart */
.shan-commerce--single .shan-gallery-wishlist .tinvwl_add_to_wishlist_button::before{
  position:static !important;
  margin:0 !important;
  transform:none !important;
  line-height:1 !important;
}

.shan-commerce--single .shan-gallery-wishlist .tinvwl_add_to_wishlist_button{
  line-height:1 !important;
}

/* PDP gallery heart: never show TI add/remove label */
.shan-commerce--single .shan-gallery-wishlist .tinvwl_add_to_wishlist_button{
  font-size:0 !important;
}

.shan-commerce--single .shan-gallery-wishlist .tinvwl_add_to_wishlist_button span{
  display:none !important;
}

/* PDP gallery wishlist: force-hide TI labels */
.shan-commerce--single .shan-gallery-wishlist .tinvwl_add_to_wishlist-text,
.shan-commerce--single .shan-gallery-wishlist .tinvwl_remove_from_wishlist-text{
  display:none !important;
  visibility:hidden !important;
}



/* PDP mobile: final thumbnail layout */
@media(width < 1024px){
  .shan-commerce--single .flex-control-nav.flex-control-thumbs{
    display:flex !important;
    width:100% !important;
    justify-content:center !important;
    align-items:center !important;
    gap:8px !important;
    overflow:visible !important;
  }

  .shan-commerce--single .flex-control-nav.flex-control-thumbs li{
    flex:0 0 72px !important;
    width:72px !important;
    max-width:72px !important;
    margin:0 !important;
  }
}

/* PDP mobile gallery thumbnails — final */
@media (width < 1024px){
  body .shan-commerce--single .flex-control-nav.flex-control-thumbs{
    display:flex !important;
    justify-content:center !important;
    gap:8px !important;
  }

  body .shan-commerce--single .flex-control-nav.flex-control-thumbs > li{
    width:72px !important;
    max-width:72px !important;
    flex:0 0 72px !important;
  }
}


/* PDP mobile: visual gap between gallery images without affecting FlexSlider */
@media(width < 1024px){
  .shan-commerce--single .woocommerce-product-gallery__image img{
    width:calc(100% - 10px) !important;
    margin-left:5px !important;
    margin-right:5px !important;
  }
}

/* Homepage product cards: hide WooCommerce rating/review summary */
.home .woocommerce-product-rating,
.home .star-rating,
.home .woocommerce-review-link{
  display:none !important;
}

/* PDP: align rating flush left */
.shan-commerce--single .summary .woocommerce-product-rating.shan-single-rating{
  margin-left:0 !important;
  padding-left:0 !important;
}

.shan-commerce--single .summary .woocommerce-product-rating.shan-single-rating .star-rating{
  margin-left:0 !important;
}

/* PDP rating row alignment */
.shan-commerce--single .summary .woocommerce-product-rating{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:9px !important;
}

.shan-commerce--single .summary .woocommerce-product-rating .star-rating{
  margin-left:0 !important;
}

/* PDP rating: remove WooCommerce clearfix spacing */
.shan-commerce--single .summary .woocommerce-product-rating::before,
.shan-commerce--single .summary .woocommerce-product-rating::after{
  content:none !important;
  display:none !important;
}

/* PDP gallery back button */
.shan-commerce--single .shan-gallery-back{
  position:absolute;
  top:14px;
  left:14px;
  z-index:20;

  display:flex;
  align-items:center;
  justify-content:center;

  width:42px;
  height:42px;
  padding:0;

  border:0;
  border-radius:50%;
  background:#fff;
  color:#24201d;

  font-size:24px;
  line-height:1;
  cursor:pointer;

  box-shadow:0 2px 10px rgba(0,0,0,.12);
}

/* PDP gallery: move sale badge below back button */
.shan-commerce--single .onsale{
  top:66px !important;
  left:14px !important;
  right:auto !important;
  z-index:15 !important;
}

/* PDP gallery: rectangular sale badge */
.shan-commerce--single .onsale{
  top:66px !important;
  left:14px !important;
  right:auto !important;

  min-width:0 !important;
  min-height:0 !important;
  width:auto !important;
  height:auto !important;

  padding:6px 11px !important;
  border-radius:7px !important;

  line-height:1 !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.06em !important;
}

/* PDP: rectangular SALE badge */
.shan-commerce--single .onsale{
  min-width:unset !important;
  min-height:unset !important;
  width:auto !important;
  height:auto !important;

  padding:6px 12px !important;
  border-radius:4px !important;

  line-height:1 !important;
}

/* PDP: rectangular sale badge */
.shan-commerce--single .shan-badge.shan-badge--sale{
  min-width:0 !important;
  min-height:0 !important;
  width:auto !important;
  height:auto !important;

  padding:6px 12px !important;
  border-radius:4px !important;

  line-height:1 !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.06em !important;
}

/* PDP: SALE badge final */
.shan-commerce--single span.onsale{
  top:66px !important;
  left:14px !important;
  right:auto !important;

  min-width:0 !important;
  min-height:0 !important;
  width:auto !important;
  height:auto !important;

  padding:6px 12px !important;
  border-radius:4px !important;

  line-height:1 !important;
  font-size:11px !important;
  font-weight:700 !important;
}

/* =========================================================
   UNIVERSAL SALE BADGE
   Appearance is controlled ONLY here.
   ========================================================= */
.shan-badge.shan-badge--sale{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;

  padding:4px 7px !important;
  border-radius:0 !important;

  background:#b42318 !important;
  color:#fff !important;

  font-size:8px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

/* PDP positioning only */
.shan-commerce--single .shan-badge--sale{
  top:66px !important;
  left:14px !important;
  right:auto !important;
}

/* PDP mobile accordion heading polish */
.shan-mobile-pdp-section > summary{
  font-size:15px !important;
  font-weight:700 !important;
}

/* PDP accordion final heading layout */
.shan-mobile-pdp-section > summary{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  font-size:15px !important;
  font-weight:700 !important;
}

.shan-mobile-pdp-section > summary > span:nth-child(2){
  white-space:nowrap !important;
  flex:1 !important;
}

.shan-mobile-pdp-section__icon{
  flex:0 0 20px !important;
  width:20px !important;
  text-align:center !important;
  font-size:17px !important;
}

.shan-mobile-pdp-section__chevron{
  margin-left:auto !important;
}

/* PDP Apple Pay / Google Pay — softer corners */
.shan-commerce--single .wcpay-payment-request-button,
.shan-commerce--single .wcpay-payment-request-button iframe,
.shan-commerce--single #wcpay-payment-request-button-separator + div{
  border-radius:10px !important;
  overflow:hidden !important;
}


/* PDP accordion content — slightly larger */
.shan-mobile-pdp-section__content{
  font-size:15px !important;
  line-height:1.6 !important;
}

.shan-mobile-pdp-section__content p,
.shan-mobile-pdp-section__content li,
.shan-mobile-pdp-section__content td,
.shan-mobile-pdp-section__content th{
  font-size:15px !important;
}

/* PDP Free U.S. shipping */
.shan-commerce--single .shan-shipping-note{
  font-weight:800 !important;
}

.shan-commerce--single .shan-shipping-note{
  font-size:13px !important;
  font-weight:800 !important;
}

/* PDP short description — 1px larger */
.shan-commerce--single .woocommerce-product-details__short-description{
  font-size:15px !important;
}

.shan-commerce--single .woocommerce-product-details__short-description p{
  font-size:15px !important;
}

/* PDP stock status — 1px larger */
.shan-commerce--single .stock{
  font-size:13px !important;
}

/* PDP quantity buttons — instant mobile tap, no lingering highlight */
.shan-commerce--single .shan-qty-button{
  transition:none !important;
  box-shadow:none !important;
  -webkit-tap-highlight-color:transparent !important;
}

.shan-commerce--single .shan-qty-button:active,
.shan-commerce--single .shan-qty-button:focus,
.shan-commerce--single .shan-qty-button:focus-visible{
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
  color:var(--shan-ink) !important;
}

/* Mobile quantity controls: prevent sticky hover state */
@media (hover:none) and (pointer:coarse){
  .shan-commerce--single .shan-qty-button:hover,
  .shan-commerce--single .shan-qty-button:focus,
  .shan-commerce--single .shan-qty-button:focus-visible,
  .shan-commerce--single .shan-qty-button:active{
    background:transparent !important;
    color:var(--shan-ink) !important;
    box-shadow:none !important;
  }
}

/* Disable manual quantity entry */
.shan-commerce--single form.cart .quantity .qty{
  pointer-events:none !important;
  cursor:default !important;
}/* SHOP — prevent product rating stars from being vertically clipped */
/* SHOP — show only the visual rating stars */

/* SHOP — stars + numeric rating */



/* SHOP — clean star rating */





/* PDP rating — balance score and review count */
.shan-commerce--single .shan-single-rating-score{
  font-size:13px !important;
  font-weight:600 !important;
  line-height:1 !important;
}

.shan-commerce--single .shan-single-rating-separator{
  font-size:13px !important;
  line-height:1 !important;
}

.shan-commerce--single .shan-single-rating .woocommerce-review-link{
  font-size:13px !important;
  line-height:1 !important;
}


/* =========================================================
   Hemp & Heritage — reusable WooCommerce toast
   ========================================================= */

.shan-commerce .shan-toast{
  position:fixed !important;
  left:50% !important;
  bottom:24px !important;
  z-index:99999 !important;

  display:flex !important;
  align-items:center !important;
  gap:12px !important;

  width:max-content !important;
  max-width:calc(100vw - 32px) !important;
  margin:0 !important;
  padding:13px 16px !important;

  transform:translateX(-50%) !important;

  border:1px solid var(--shan-burgundy) !important;
  border-radius:12px !important;
  outline:0 !important;

  background:#fbf5eb !important;
  color:var(--shan-ink) !important;

  box-shadow:0 8px 24px rgba(58,38,30,.10) !important;

  list-style:none !important;

  font-size:13px !important;
  font-weight:500 !important;
  line-height:1.35 !important;

  opacity:1 !important;
  visibility:visible !important;

  -webkit-tap-highlight-color:transparent !important;

  transition:
    opacity 350ms ease,
    transform 350ms ease,
    visibility 350ms ease !important;
}

.shan-commerce .shan-toast::before,
.shan-commerce .shan-toast::after{
  display:none !important;
  content:none !important;
}

.shan-commerce .shan-toast > li{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.shan-commerce .shan-toast a{
  flex:0 0 auto !important;
  margin-left:5px !important;
  padding:7px 11px !important;

  border:0 !important;
  border-radius:5px !important;
  outline:0 !important;

  background:#f1e8dc !important;
  color:var(--shan-burgundy) !important;

  box-shadow:none !important;

  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;

  -webkit-appearance:none !important;
  appearance:none !important;
  -webkit-tap-highlight-color:transparent !important;
}

.shan-commerce .shan-toast a:hover{
  background:#eadbd0 !important;
  color:var(--shan-dark-red) !important;
}

.shan-commerce .shan-toast.shan-toast--hide{
  opacity:0 !important;
  visibility:hidden !important;
  transform:translate(-50%,10px) !important;
}

@media(width < 1024px){
  .shan-commerce .shan-toast{
    left:16px !important;
    right:16px !important;
    bottom:75px !important;

    width:auto !important;
    max-width:none !important;

    padding:12px 14px !important;

    transform:none !important;
  }

  .shan-commerce .shan-toast.shan-toast--hide{
    transform:translateY(10px) !important;
  }
}


/* H&H toast — white background test */
.shan-commerce .shan-toast{
  background:#fff !important;
}

/* H&H toast — top viewport position */
.shan-commerce .shan-toast{
  top:20px !important;
  bottom:auto !important;
}

@media(width < 1024px){
  .shan-commerce .shan-toast{
    top:16px !important;
    bottom:auto !important;
  }

  .shan-commerce .shan-toast.shan-toast--hide{
    transform:translateY(-10px) !important;
  }
}

/* H&H toast — slightly stronger border */
.shan-commerce .shan-toast{
  border:2px solid var(--shan-burgundy) !important;
}

/* H&H header cart count */
.shan-cart-link{
  position:relative;
}

.shan-cart-count{
  position:absolute;
  top:-6px;
  right:-7px;

  display:flex;
  align-items:center;
  justify-content:center;

  min-width:17px;
  height:17px;
  padding:0 4px;

  border-radius:999px;
  background:var(--shan-burgundy);
  color:#fff;

  font-size:10px;
  font-weight:700;
  line-height:1;
}

/* H&H WooCommerce toast — refined modern styling */
.shan-commerce .shan-toast{
  padding:12px 14px !important;

  border:1px solid var(--shan-burgundy) !important;
  border-radius:12px !important;

  background:#fff !important;

  box-shadow:
    0 6px 18px rgba(58,38,30,.08),
    0 1px 3px rgba(58,38,30,.05) !important;

  font-size:13px !important;
  font-weight:500 !important;
}

.shan-commerce .shan-toast > li::before,
.shan-commerce .shan-toast.woocommerce-message::before,
.shan-commerce .shan-toast.woocommerce-info::before{
  content:"✓" !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  flex:0 0 auto !important;

  width:20px !important;
  height:20px !important;

  margin:0 !important;

  border-radius:50% !important;

  background:rgba(114,30,43,.08) !important;
  color:var(--shan-burgundy) !important;

  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
}

.shan-commerce .shan-toast.woocommerce-error::before{
  content:"!" !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  flex:0 0 auto !important;

  width:20px !important;
  height:20px !important;

  margin:0 !important;

  border-radius:50% !important;

  background:rgba(180,35,24,.08) !important;
  color:#b42318 !important;

  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
}

.shan-commerce .shan-toast a{
  margin-left:8px !important;
  padding:6px 10px !important;

  border-radius:7px !important;

  background:rgba(114,30,43,.06) !important;
  color:var(--shan-burgundy) !important;

  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.06em !important;
}

.shan-commerce .shan-toast a:hover{
  background:rgba(114,30,43,.10) !important;
  color:var(--shan-dark-red) !important;
}

wp cache flush
wp litespeed-purge all

/* H&H WooCommerce toast — refined modern styling */
.shan-commerce .shan-toast{
  padding:12px 14px !important;

  border:1px solid var(--shan-burgundy) !important;
  border-radius:12px !important;

  background:#fff !important;

  box-shadow:
    0 6px 18px rgba(58,38,30,.08),
    0 1px 3px rgba(58,38,30,.05) !important;

  font-size:13px !important;
  font-weight:500 !important;
}

.shan-commerce .shan-toast > li::before,
.shan-commerce .shan-toast.woocommerce-message::before,
.shan-commerce .shan-toast.woocommerce-info::before{
  content:"✓" !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  flex:0 0 auto !important;

  width:20px !important;
  height:20px !important;

  margin:0 !important;

  border-radius:50% !important;

  background:rgba(114,30,43,.08) !important;
  color:var(--shan-burgundy) !important;

  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
}

.shan-commerce .shan-toast.woocommerce-error::before{
  content:"!" !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  flex:0 0 auto !important;

  width:20px !important;
  height:20px !important;

  margin:0 !important;

  border-radius:50% !important;

  background:rgba(180,35,24,.08) !important;
  color:#b42318 !important;

  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
}

.shan-commerce .shan-toast a{
  margin-left:8px !important;
  padding:6px 10px !important;

  border-radius:7px !important;

  background:rgba(114,30,43,.06) !important;
  color:var(--shan-burgundy) !important;

  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.06em !important;
}

.shan-commerce .shan-toast a:hover{
  background:rgba(114,30,43,.10) !important;
  color:var(--shan-dark-red) !important;
}

wp cache flush
wp litespeed-purge all

/* H&H WooCommerce toast — refined modern styling */
.shan-commerce .shan-toast{
  padding:12px 14px !important;

  border:1px solid var(--shan-burgundy) !important;
  border-radius:12px !important;

  background:#fff !important;

  box-shadow:
    0 6px 18px rgba(58,38,30,.08),
    0 1px 3px rgba(58,38,30,.05) !important;

  font-size:13px !important;
  font-weight:500 !important;
}

.shan-commerce .shan-toast > li::before,
.shan-commerce .shan-toast.woocommerce-message::before,
.shan-commerce .shan-toast.woocommerce-info::before{
  content:"✓" !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  flex:0 0 auto !important;

  width:20px !important;
  height:20px !important;

  margin:0 !important;

  border-radius:50% !important;

  background:rgba(114,30,43,.08) !important;
  color:var(--shan-burgundy) !important;

  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
}

.shan-commerce .shan-toast.woocommerce-error::before{
  content:"!" !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  flex:0 0 auto !important;

  width:20px !important;
  height:20px !important;

  margin:0 !important;

  border-radius:50% !important;

  background:rgba(180,35,24,.08) !important;
  color:#b42318 !important;

  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
}

.shan-commerce .shan-toast a{
  margin-left:8px !important;
  padding:6px 10px !important;

  border-radius:7px !important;

  background:rgba(114,30,43,.06) !important;
  color:var(--shan-burgundy) !important;

  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.06em !important;
}

.shan-commerce .shan-toast a:hover{
  background:rgba(114,30,43,.10) !important;
  color:var(--shan-dark-red) !important;
}

wp cache flush
wp litespeed-purge all

/* H&H WooCommerce toast — refined modern styling */
.shan-commerce .shan-toast{
  padding:12px 14px !important;
  border:1px solid var(--shan-burgundy) !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:
    0 6px 18px rgba(58,38,30,.08),
    0 1px 3px rgba(58,38,30,.05) !important;
  font-size:13px !important;
  font-weight:500 !important;
}

.shan-commerce .shan-toast > li::before,
.shan-commerce .shan-toast.woocommerce-message::before,
.shan-commerce .shan-toast.woocommerce-info::before{
  content:"✓" !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  width:20px !important;
  height:20px !important;
  margin:0 !important;
  border-radius:50% !important;
  background:rgba(114,30,43,.08) !important;
  color:var(--shan-burgundy) !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
}

.shan-commerce .shan-toast.woocommerce-error::before{
  content:"!" !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  width:20px !important;
  height:20px !important;
  margin:0 !important;
  border-radius:50% !important;
  background:rgba(180,35,24,.08) !important;
  color:#b42318 !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
}

.shan-commerce .shan-toast a{
  margin-left:8px !important;
  padding:6px 10px !important;
  border-radius:7px !important;
  background:rgba(114,30,43,.06) !important;
  color:var(--shan-burgundy) !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.06em !important;
}

.shan-commerce .shan-toast a:hover{
  background:rgba(114,30,43,.10) !important;
  color:var(--shan-dark-red) !important;
}

/* H&H toast — reset native Woo notice icon styling */
.shan-commerce .shan-toast::before,
.shan-commerce .shan-toast > li::before{
  position:static !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  font-family:inherit !important;
  box-shadow:none !important;
}

/* =========================================================
   Hemp & Heritage — Empty Cart
   ========================================================= */

.shan-purchase--cart .wp-block-woocommerce-empty-cart-block{
  padding-top:30px;
  text-align:center;
}

/* Remove Woo's oversized empty-cart illustration */
.shan-purchase--cart .wp-block-woocommerce-empty-cart-block
.wc-block-cart__empty-cart__title::before{
  display:none !important;
  content:none !important;
}

.shan-purchase--cart .wc-block-cart__empty-cart__title{
  max-width:520px;
  margin:0 auto 14px !important;
  color:var(--shan-ink);
  font-family:var(--shan-serif);
  font-size:clamp(27px,5vw,36px) !important;
  font-weight:500;
  line-height:1.15;
}

/* Remove decorative dots/separator */
.shan-purchase--cart .wp-block-woocommerce-empty-cart-block
.wp-block-separator{
  display:none !important;
}

/* New in store */
.shan-purchase--cart .wp-block-woocommerce-empty-cart-block h2{
  margin:38px 0 22px;
  color:var(--shan-ink);
  font-family:var(--shan-serif);
  font-size:26px;
  font-weight:500;
}

/* Reduce excess empty-state whitespace */
@media(width < 1024px){
  .shan-purchase--cart .wp-block-woocommerce-empty-cart-block{
    padding-top:18px;
  }

  .shan-purchase--cart .wc-block-cart__empty-cart__title{
    margin-bottom:10px !important;
  }

  .shan-purchase--cart .wp-block-woocommerce-empty-cart-block h2{
    margin-top:30px;
    font-size:24px;
  }
}


/* H&H Empty Cart — final refinement */

.shan-purchase--cart .wc-block-cart__empty-cart__title{
  margin-bottom:0 !important;
  font-size:30px !important;
}

/* Subtitle */
.shan-purchase--cart .wc-block-cart__empty-cart__title::after{
  content:"Discover handcrafted bags made for everyday stories.";
  display:block;
  max-width:360px;
  margin:12px auto 0;

  color:var(--shan-muted);
  font-family:var(--shan-sans);
  font-size:14px;
  font-weight:400;
  line-height:1.6;
}

/* Shop All Bags CTA */
.shan-purchase--cart .wc-block-cart__empty-cart__title + *::before{
  content:"SHOP ALL BAGS";
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:44px;
  margin:20px auto 4px;
  padding:0 24px;

  border-radius:7px;
  background:var(--shan-burgundy);
  color:#fff;

  font-family:var(--shan-sans);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}

/* Give New in store comfortable separation */
.shan-purchase--cart .wp-block-woocommerce-empty-cart-block h2{
  margin-top:38px !important;
}

@media(width < 1024px){
  .shan-purchase--cart .wc-block-cart__empty-cart__title{
    font-size:28px !important;
  }
}/* New Arrivals — hide rating */


/* MOBILE HEADER — show customer account */
@media(width < 1024px){
  .shan-header-actions .shan-account-link{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:24px !important;
    height:24px !important;
    padding:0 !important;
    margin:0 !important;
    flex:0 0 24px !important;
  }

  .shan-header-actions .shan-account-link svg{
    width:20px !important;
    height:20px !important;
  }
}

/* MOBILE MENU SEARCH */
.shan-mobile-menu-search{
  display:none;
}

@media(width < 1024px){

  /* Search now lives inside hamburger menu */
  .shan-mobile-search-toggle{
    display:none !important;
  }

  .shan-mobile-menu-search{
    display:flex;
    align-items:center;
    width:100%;
    height:46px;
    margin:4px 0 14px;
    padding:0 12px;
    border:1px solid rgba(69,42,30,.18);
    border-radius:8px;
    background:#fff;
  }

  .shan-mobile-menu-search button{
    display:grid;
    width:32px;
    height:32px;
    padding:0;
    place-items:center;
    border:0;
    background:transparent;
    color:var(--shan-ink);
  }

  .shan-mobile-menu-search button svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .shan-mobile-menu-search input[type=search]{
    flex:1;
    min-width:0;
    height:42px;
    padding:0 8px;
    border:0;
    outline:0;
    background:transparent;
    color:var(--shan-ink);
    font-size:14px;
  }
}

/* Prevent iPhone Safari zoom on mobile search focus */
@media(width < 1024px){
  .shan-mobile-menu-search input[type=search]{
    font-size:16px !important;
  }
}

/* MOBILE MENU SEARCH — elegant integrated style */
@media(width < 1024px){

  .shan-mobile-menu-search{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    height:48px !important;
    margin:0 0 22px !important;
    padding:0 2px !important;

    border:0 !important;
    border-bottom:1px solid rgba(114,30,43,.35) !important;
    border-radius:0 !important;

    background:transparent !important;
    box-shadow:none !important;
  }

  .shan-mobile-menu-search:focus-within{
    border-bottom-color:var(--shan-burgundy) !important;
  }

  .shan-mobile-menu-search button{
    display:grid !important;
    flex:0 0 34px !important;
    width:34px !important;
    height:44px !important;
    padding:0 !important;
    place-items:center !important;

    border:0 !important;
    background:transparent !important;
    color:var(--shan-burgundy) !important;
  }

  .shan-mobile-menu-search button svg{
    width:18px !important;
    height:18px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.5 !important;
  }

  .shan-mobile-menu-search input[type=search]{
    flex:1 !important;
    min-width:0 !important;
    width:100% !important;
    height:46px !important;
    padding:0 8px !important;

    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    box-shadow:none !important;

    color:var(--shan-ink) !important;
    font-size:16px !important;
    font-weight:400 !important;
  }

  .shan-mobile-menu-search input[type=search]::placeholder{
    color:var(--shan-muted) !important;
    opacity:.8 !important;
  }
}

/* MY ACCOUNT LOGIN — Hemp & Heritage */
.woocommerce-account .woocommerce{
  max-width:560px;
  margin:0 auto;
}

.woocommerce-account .woocommerce h2{
  margin:0 0 22px;
  color:var(--shan-ink);
  font-family:var(--shan-serif);
  font-size:30px;
  font-weight:500;
}

.woocommerce-account .woocommerce-form-login{
  margin:0;
  padding:28px;
  border:1px solid rgba(69,42,30,.14);
  border-radius:14px;
  background:var(--shan-paper);
  box-shadow:0 10px 30px rgba(36,32,29,.05);
}

.woocommerce-account .woocommerce-form-login p{
  margin-bottom:18px;
}

.woocommerce-account .woocommerce-form-login label{
  display:block;
  margin-bottom:7px;
  color:var(--shan-ink);
  font-size:14px;
  font-weight:600;
}

.woocommerce-account .woocommerce-form-login input.input-text{
  width:100%;
  min-height:48px;
  padding:10px 12px;
  border:1px solid rgba(69,42,30,.26);
  border-radius:8px;
  background:#fff;
  color:var(--shan-ink);
  font-size:16px;
  box-shadow:none;
}

.woocommerce-account .woocommerce-form-login input.input-text:focus{
  border-color:var(--shan-burgundy);
  outline:none;
  box-shadow:0 0 0 2px rgba(114,30,43,.08);
}

.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit{
  width:100%;
  min-height:48px;
  margin:6px 0 14px;
  border:0;
  border-radius:8px;
  background:var(--shan-burgundy);
  color:#fff;
  font-size:14px;
  font-weight:700;
  letter-spacing:.02em;
}

.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit:hover{
  background:var(--shan-dark-red);
}

.woocommerce-account .woocommerce-form-login__rememberme{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 12px;
  font-size:14px;
}

.woocommerce-account .lost_password{
  margin:0 !important;
}

.woocommerce-account .lost_password a{
  color:var(--shan-burgundy);
  font-size:14px;
}

@media(width < 1024px){
  .woocommerce-account .woocommerce{
    width:100%;
  }

  .woocommerce-account .woocommerce-form-login{
    padding:22px 18px;
    border-radius:12px;
  }

  .woocommerce-account .woocommerce h2{
    font-size:27px;
  }
}

/* =========================================================
   MY ACCOUNT — LOGGED-IN DASHBOARD
   ========================================================= */

.woocommerce-account.logged-in .woocommerce{
  max-width:1180px;
  margin:0 auto;
  padding:10px 0 60px;
}

/* Account navigation */
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
  width:27%;
  padding:8px;
  border:1px solid rgba(69,42,30,.12);
  border-radius:14px;
  background:#fffaf1;
  box-shadow:0 8px 28px rgba(36,32,29,.045);
}

.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li::before,
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li::marker{
  display:none !important;
  content:none !important;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a{
  display:block;
  padding:13px 15px;
  border-radius:8px;
  color:var(--shan-ink);
  font-size:14px;
  font-weight:550;
  line-height:1.3;
  text-decoration:none !important;
  transition:background .15s ease,color .15s ease;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:hover{
  background:var(--shan-cream);
  color:var(--shan-burgundy);
}

.woocommerce-account.logged-in
.woocommerce-MyAccount-navigation-link.is-active > a{
  background:var(--shan-burgundy);
  color:#fff !important;
}

/* Account content */
.woocommerce-account.logged-in .woocommerce-MyAccount-content{
  width:69%;
  min-height:360px;
  padding:32px 34px;
  border:1px solid rgba(69,42,30,.12);
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 28px rgba(36,32,29,.045);
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content p{
  color:var(--shan-muted);
  font-size:15px;
  line-height:1.75;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content p:first-child{
  margin-top:0;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content strong{
  color:var(--shan-ink);
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content a{
  color:var(--shan-burgundy);
  font-weight:600;
  text-decoration:none;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content a:hover{
  text-decoration:underline;
}

/* Headings inside account sections */
.woocommerce-account.logged-in .woocommerce-MyAccount-content h2,
.woocommerce-account.logged-in .woocommerce-MyAccount-content h3{
  color:var(--shan-ink);
  font-family:var(--shan-serif);
  font-weight:500;
}

/* Woo buttons */
.woocommerce-account.logged-in .woocommerce-MyAccount-content
.button{
  padding:11px 18px !important;
  border:0 !important;
  border-radius:7px !important;
  background:var(--shan-burgundy) !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:650 !important;
  text-decoration:none !important;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content
.button:hover{
  background:var(--shan-dark-red) !important;
}

/* Mobile */
@media(width < 1024px){

  .woocommerce-account.logged-in .woocommerce{
    padding-bottom:40px;
  }

  .woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
  .woocommerce-account.logged-in .woocommerce-MyAccount-content{
    float:none !important;
    width:100% !important;
  }

  .woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
    margin-bottom:20px;
    padding:6px;
  }

  .woocommerce-account.logged-in .woocommerce-MyAccount-navigation a{
    padding:12px 14px;
  }

  .woocommerce-account.logged-in .woocommerce-MyAccount-content{
    min-height:0;
    padding:22px 18px;
  }
}


/* MY ACCOUNT — persistent sidebar + content panel */
@media(min-width:1024px){

  .woocommerce-account.logged-in .woocommerce{
    display:grid !important;
    grid-template-columns:240px minmax(0,1fr) !important;
    gap:28px !important;
    align-items:start !important;
  }

  .woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
    width:auto !important;
    float:none !important;
    position:sticky;
    top:24px;
    margin:0 !important;
  }

  .woocommerce-account.logged-in .woocommerce-MyAccount-content{
    width:auto !important;
    float:none !important;
    min-width:0 !important;
    margin:0 !important;
  }
}

/* ACCOUNT ICON — signed-in state */
body.logged-in .shan-header-actions .shan-account-link{
  background:var(--shan-burgundy) !important;
  color:#fff !important;
  border-radius:50% !important;
}

body.logged-in .shan-header-actions .shan-account-link:hover{
  background:var(--shan-dark-red) !important;
  color:#fff !important;
}

body.logged-in .shan-header-actions .shan-account-link svg{
  stroke:#fff !important;
}


/* ACCOUNT DROPDOWN */
.shan-account-menu{
  position:relative;
}

.shan-account-dropdown{
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  z-index:1000;
  display:none;
  width:230px;
  padding:8px;
  border:1px solid rgba(69,42,30,.12);
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 36px rgba(36,32,29,.12);
}

.shan-account-menu.is-open .shan-account-dropdown{
  display:block;
}

.shan-account-dropdown a{
  display:block;
  padding:11px 12px;
  border-radius:7px;
  color:var(--shan-ink);
  font-size:14px;
  font-weight:500;
  line-height:1.3;
  text-decoration:none;
}

.shan-account-dropdown a:hover{
  background:var(--shan-cream);
  color:var(--shan-burgundy);
}

.shan-account-dropdown .shan-account-logout{
  margin-top:6px;
  padding-top:12px;
  border-top:1px solid rgba(69,42,30,.12);
  color:var(--shan-burgundy);
}

@media(width < 1024px){
  .shan-account-dropdown{
    position:fixed;
    top:74px;
    right:14px;
    width:min(260px,calc(100vw - 28px));
  }
}


/* MY ACCOUNT PAGE — hide Woo sidebar navigation */
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
  display:none !important;
}

.woocommerce-account.logged-in .woocommerce{
  display:block !important;
  max-width:900px;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content{
  width:100% !important;
  float:none !important;
  margin:0 !important;
}


/* =========================================================
   HEMP & HERITAGE — MY ACCOUNT SYSTEM
   Modern account UI
   ========================================================= */

.woocommerce-account.logged-in .shan-purchase__content{
  background:#fdfaf5;
}

.woocommerce-account.logged-in .woocommerce{
  display:block !important;
  width:100%;
  max-width:980px !important;
  margin:0 auto !important;
  padding:12px 0 64px !important;
}

/* Header-menu navigation replaces Woo's default account nav */
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
  display:none !important;
}

/* Main account panel */
.woocommerce-account.logged-in .woocommerce-MyAccount-content{
  float:none !important;
  width:100% !important;
  min-height:360px;
  margin:0 !important;
  padding:34px 36px !important;
  border:1px solid rgba(69,42,30,.11);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 34px rgba(36,32,29,.055);
  color:var(--shan-ink);
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content > *:first-child{
  margin-top:0;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content > *:last-child{
  margin-bottom:0;
}

/* Typography */
.woocommerce-account.logged-in .woocommerce-MyAccount-content h2,
.woocommerce-account.logged-in .woocommerce-MyAccount-content h3{
  margin:0 0 22px;
  color:var(--shan-ink);
  font-family:var(--shan-serif);
  font-weight:500;
  line-height:1.2;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content h2{
  font-size:28px;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content h3{
  font-size:22px;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content p{
  margin:0 0 18px;
  color:var(--shan-muted);
  font-size:15px;
  line-height:1.75;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content strong{
  color:var(--shan-ink);
  font-weight:650;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content a:not(.button){
  color:var(--shan-burgundy);
  font-weight:600;
  text-decoration:none;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content a:not(.button):hover{
  text-decoration:underline;
}

/* =========================================================
   FORMS
   ========================================================= */

.woocommerce-account.logged-in
.woocommerce-MyAccount-content .form-row{
  margin:0 0 20px !important;
}

.woocommerce-account.logged-in
.woocommerce-MyAccount-content label{
  display:block;
  margin:0 0 7px;
  color:var(--shan-ink);
  font-size:13px;
  font-weight:650;
}

.woocommerce-account.logged-in
.woocommerce-MyAccount-content input.input-text,
.woocommerce-account.logged-in
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-account.logged-in
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-account.logged-in
.woocommerce-MyAccount-content input[type="tel"],
.woocommerce-account.logged-in
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-account.logged-in
.woocommerce-MyAccount-content select,
.woocommerce-account.logged-in
.woocommerce-MyAccount-content textarea{
  width:100%;
  min-height:48px;
  padding:10px 13px;
  border:1px solid rgba(69,42,30,.22);
  border-radius:8px;
  outline:0;
  background:#fff;
  color:var(--shan-ink);
  font-family:var(--shan-sans);
  font-size:16px;
  box-shadow:none;
  transition:border-color .15s ease,box-shadow .15s ease;
}

.woocommerce-account.logged-in
.woocommerce-MyAccount-content input:focus,
.woocommerce-account.logged-in
.woocommerce-MyAccount-content select:focus,
.woocommerce-account.logged-in
.woocommerce-MyAccount-content textarea:focus{
  border-color:var(--shan-burgundy);
  box-shadow:0 0 0 3px rgba(114,30,43,.07);
}

.woocommerce-account.logged-in
.woocommerce-MyAccount-content fieldset{
  margin:32px 0 24px;
  padding:25px;
  border:1px solid rgba(69,42,30,.12);
  border-radius:12px;
  background:#fffaf1;
}

.woocommerce-account.logged-in
.woocommerce-MyAccount-content fieldset legend{
  padding:0 8px;
  color:var(--shan-ink);
  font-family:var(--shan-serif);
  font-size:20px;
  font-weight:500;
}

/* =========================================================
   BUTTONS
   ========================================================= */

.woocommerce-account.logged-in
.woocommerce-MyAccount-content .button,
.woocommerce-account.logged-in
.woocommerce-MyAccount-content button.button{
  display:inline-flex !important;
  min-height:44px;
  align-items:center;
  justify-content:center;
  padding:10px 18px !important;
  border:1px solid var(--shan-burgundy) !important;
  border-radius:8px !important;
  background:var(--shan-burgundy) !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  box-shadow:none !important;
  cursor:pointer;
}

.woocommerce-account.logged-in
.woocommerce-MyAccount-content .button:hover,
.woocommerce-account.logged-in
.woocommerce-MyAccount-content button.button:hover{
  border-color:var(--shan-dark-red) !important;
  background:var(--shan-dark-red) !important;
  color:#fff !important;
}

/* =========================================================
   ORDERS / DOWNLOADS TABLES
   ========================================================= */

.woocommerce-account.logged-in
.woocommerce-MyAccount-content table.shop_table{
  width:100%;
  margin:8px 0 0 !important;
  overflow:hidden;
  border:1px solid rgba(69,42,30,.11) !important;
  border-collapse:separate !important;
  border-spacing:0;
  border-radius:12px;
  background:#fff;
}

.woocommerce-account.logged-in
.woocommerce-MyAccount-content table.shop_table th{
  padding:14px 16px !important;
  border:0 !important;
  border-bottom:1px solid rgba(69,42,30,.11) !important;
  background:#fffaf1;
  color:var(--shan-ink);
  font-size:12px;
  font-weight:700;
  letter-spacing:.035em;
  text-align:left;
  text-transform:uppercase;
}

.woocommerce-account.logged-in
.woocommerce-MyAccount-content table.shop_table td{
  padding:16px !important;
  border:0 !important;
  border-bottom:1px solid rgba(69,42,30,.09) !important;
  color:var(--shan-muted);
  font-size:14px;
  vertical-align:middle;
}

.woocommerce-account.logged-in
.woocommerce-MyAccount-content table.shop_table tr:last-child td{
  border-bottom:0 !important;
}

.woocommerce-account.logged-in
.woocommerce-orders-table__cell-order-number a{
  color:var(--shan-burgundy) !important;
  font-weight:700 !important;
}

/* =========================================================
   ADDRESSES
   ========================================================= */

.woocommerce-account.logged-in
.woocommerce-Addresses{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-top:24px;
}

.woocommerce-account.logged-in
.woocommerce-Addresses::before,
.woocommerce-account.logged-in
.woocommerce-Addresses::after{
  display:none !important;
}

.woocommerce-account.logged-in
.woocommerce-Address{
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:24px;
  border:1px solid rgba(69,42,30,.11);
  border-radius:12px;
  background:#fffaf1;
}

.woocommerce-account.logged-in
.woocommerce-Address-title{
  position:relative;
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(69,42,30,.1);
}

.woocommerce-account.logged-in
.woocommerce-Address-title h2,
.woocommerce-account.logged-in
.woocommerce-Address-title h3{
  margin:0 !important;
  font-size:21px !important;
}

.woocommerce-account.logged-in
.woocommerce-Address-title .edit{
  float:none !important;
  position:absolute;
  top:3px;
  right:0;
  color:var(--shan-burgundy);
  font-size:13px;
  font-weight:700;
}

.woocommerce-account.logged-in
.woocommerce-Address address{
  color:var(--shan-muted);
  font-size:14px;
  font-style:normal;
  line-height:1.75;
}

/* =========================================================
   PAYMENT METHODS
   ========================================================= */

.woocommerce-account.logged-in
.woocommerce-MyAccount-paymentMethods{
  overflow:hidden;
  border:1px solid rgba(69,42,30,.11) !important;
  border-radius:12px;
}

.woocommerce-account.logged-in
.woocommerce-MyAccount-paymentMethods th{
  background:#fffaf1 !important;
}

/* =========================================================
   WOO NOTICES / EMPTY STATES
   ========================================================= */

.woocommerce-account.logged-in
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account.logged-in
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account.logged-in
.woocommerce-MyAccount-content .woocommerce-error{
  margin:0 0 24px !important;
  padding:16px 18px !important;
  border:1px solid rgba(114,30,43,.14) !important;
  border-radius:10px;
  background:#fffaf1;
  color:var(--shan-ink);
  font-size:14px;
  line-height:1.55;
  box-shadow:none;
}

.woocommerce-account.logged-in
.woocommerce-MyAccount-content .woocommerce-info::before,
.woocommerce-account.logged-in
.woocommerce-MyAccount-content .woocommerce-message::before,
.woocommerce-account.logged-in
.woocommerce-MyAccount-content .woocommerce-error::before{
  display:none !important;
}

/* =========================================================
   HEADER ACCOUNT DROPDOWN — REFINED
   ========================================================= */

.shan-account-menu{
  position:relative;
}

.shan-account-dropdown{
  width:240px;
  padding:8px !important;
  overflow:hidden;
  border:1px solid rgba(69,42,30,.11) !important;
  border-radius:13px !important;
  background:#fff !important;
  box-shadow:0 16px 40px rgba(36,32,29,.14) !important;
}

.shan-account-dropdown a{
  display:flex !important;
  min-height:40px;
  align-items:center;
  padding:9px 12px !important;
  border-radius:7px !important;
  color:var(--shan-ink) !important;
  font-size:13px !important;
  font-weight:550 !important;
  text-decoration:none !important;
}

.shan-account-dropdown a:hover{
  background:var(--shan-cream) !important;
  color:var(--shan-burgundy) !important;
}

.shan-account-dropdown .shan-account-logout{
  margin-top:6px !important;
  padding-top:11px !important;
  border-top:1px solid rgba(69,42,30,.1) !important;
  border-radius:0 0 7px 7px !important;
  color:var(--shan-burgundy) !important;
}

/* =========================================================
   MOBILE ACCOUNT
   ========================================================= */

@media(width < 1024px){

  .woocommerce-account.logged-in .woocommerce{
    padding:0 0 42px !important;
  }

  .woocommerce-account.logged-in .woocommerce-MyAccount-content{
    min-height:0;
    padding:22px 18px !important;
    border-radius:12px;
  }

  .woocommerce-account.logged-in
  .woocommerce-MyAccount-content h2{
    font-size:25px;
  }

  .woocommerce-account.logged-in
  .woocommerce-MyAccount-content h3{
    font-size:20px;
  }

  .woocommerce-account.logged-in
  .woocommerce-Addresses{
    grid-template-columns:1fr;
    gap:14px;
  }

  .woocommerce-account.logged-in
  .woocommerce-Address{
    padding:19px;
  }

  .woocommerce-account.logged-in
  .woocommerce-MyAccount-content fieldset{
    padding:18px;
  }

  /* Orders become easier to read on narrow screens */
  .woocommerce-account.logged-in
  .woocommerce-orders-table{
    border:0 !important;
    background:transparent !important;
  }

  .woocommerce-account.logged-in
  .woocommerce-orders-table thead{
    display:none;
  }

  .woocommerce-account.logged-in
  .woocommerce-orders-table tbody,
  .woocommerce-account.logged-in
  .woocommerce-orders-table tr,
  .woocommerce-account.logged-in
  .woocommerce-orders-table td{
    display:block;
    width:100%;
  }

  .woocommerce-account.logged-in
  .woocommerce-orders-table tr{
    margin-bottom:14px;
    overflow:hidden;
    border:1px solid rgba(69,42,30,.11);
    border-radius:10px;
    background:#fff;
  }

  .woocommerce-account.logged-in
  .woocommerce-orders-table td{
    display:flex;
    justify-content:space-between;
    gap:18px;
    padding:12px 14px !important;
    text-align:right !important;
  }

  .woocommerce-account.logged-in
  .woocommerce-orders-table td::before{
    color:var(--shan-ink);
    font-size:12px;
    font-weight:700;
    text-align:left;
  }

  .shan-account-dropdown{
    right:12px !important;
    width:min(250px,calc(100vw - 24px)) !important;
  }
}


/* =========================================================
   HEMP & HERITAGE — WISHLIST
   TI WooCommerce Wishlist
   ========================================================= */

/* Page */
body.page .tinv-wishlist{
  max-width:1080px;
  margin:0 auto 70px;
}

body.page .tinv-wishlist > h2{
  display:none;
}

/* Wishlist table */
.tinv-wishlist .tinvwl-table-manage-list{
  width:100%;
  margin:24px 0 0;
  border:1px solid rgba(69,42,30,.11);
  border-collapse:separate;
  border-spacing:0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 32px rgba(36,32,29,.05);
}

/* Desktop headings */
.tinv-wishlist .tinvwl-table-manage-list thead th{
  padding:14px 12px;
  border:0;
  border-bottom:1px solid rgba(69,42,30,.1);
  background:#fffaf1;
  color:var(--shan-muted);
  font-size:11px;
  font-weight:700;
  letter-spacing:.05em;
  text-align:left;
  text-transform:uppercase;
}

/* Product row */
.tinv-wishlist .wishlist_item td{
  padding:18px 12px;
  border:0;
  border-bottom:1px solid rgba(69,42,30,.09);
  color:var(--shan-muted);
  font-size:14px;
  vertical-align:middle;
}

.tinv-wishlist .wishlist_item:last-child td{
  border-bottom:0;
}

/* Hide bulk checkbox */
.tinv-wishlist .product-cb{
  display:none !important;
}

/* Product image */
.tinv-wishlist .product-thumbnail{
  width:110px;
}

.tinv-wishlist .product-thumbnail img{
  display:block;
  width:92px !important;
  height:110px !important;
  margin:0;
  border-radius:9px;
  object-fit:cover;
}

/* Product title */
.tinv-wishlist .product-name a{
  color:var(--shan-ink) !important;
  font-family:var(--shan-serif);
  font-size:17px;
  font-weight:500;
  line-height:1.35;
  text-decoration:none !important;
}

.tinv-wishlist .product-name a:hover{
  color:var(--shan-burgundy) !important;
}

/* Price */
.tinv-wishlist .product-price{
  color:var(--shan-ink) !important;
  font-size:15px !important;
  font-weight:650;
  white-space:nowrap;
}

/* Date */
.tinv-wishlist .product-date{
  color:var(--shan-muted);
  font-size:12px !important;
  white-space:nowrap;
}

/* Stock */
.tinv-wishlist .product-stock .stock{
  margin:0 !important;
  color:var(--shan-burgundy);
  font-size:12px;
  font-weight:650;
  white-space:nowrap;
}

/* Remove */
.tinv-wishlist .product-remove{
  width:42px;
  text-align:center;
}

.tinv-wishlist .product-remove button{
  display:grid !important;
  width:30px !important;
  height:30px !important;
  margin:auto !important;
  padding:0 !important;
  place-items:center;
  border:1px solid rgba(69,42,30,.12) !important;
  border-radius:50% !important;
  background:#fff !important;
  color:var(--shan-muted) !important;
  box-shadow:none !important;
  cursor:pointer;
}

.tinv-wishlist .product-remove button:hover{
  border-color:rgba(114,30,43,.2) !important;
  background:var(--shan-cream) !important;
  color:var(--shan-burgundy) !important;
}

/* Add to Cart */
.tinv-wishlist .product-action{
  text-align:right;
}

.tinv-wishlist .product-action .button{
  display:inline-flex !important;
  min-height:42px !important;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:10px 16px !important;
  border:1px solid var(--shan-burgundy) !important;
  border-radius:8px !important;
  background:var(--shan-burgundy) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:700 !important;
  white-space:nowrap;
  box-shadow:none !important;
}

.tinv-wishlist .product-action .button:hover{
  border-color:var(--shan-dark-red) !important;
  background:var(--shan-dark-red) !important;
}

/* Footer / bulk controls */
.tinv-wishlist .tinvwl-table-manage-list tfoot td{
  padding:16px !important;
  border:0 !important;
  border-top:1px solid rgba(69,42,30,.09) !important;
  background:#fffaf1;
}

/* =========================================================
   MOBILE — PRODUCT CARDS
   ========================================================= */

@media(width < 1024px){

  body.page .tinv-wishlist{
    margin-bottom:45px;
  }

  .tinv-wishlist .tinvwl-table-manage-list{
    margin-top:16px;
    border:0;
    background:transparent;
    box-shadow:none;
  }

  .tinv-wishlist .tinvwl-table-manage-list thead{
    display:none !important;
  }

  .tinv-wishlist .tinvwl-table-manage-list tbody,
  .tinv-wishlist .wishlist_item{
    display:block !important;
    width:100%;
  }

  .tinv-wishlist .wishlist_item{
    position:relative;
    margin:0 0 16px;
    padding:16px;
    overflow:hidden;
    border:1px solid rgba(69,42,30,.11);
    border-radius:13px;
    background:#fff;
    box-shadow:0 6px 22px rgba(36,32,29,.045);
  }

  .tinv-wishlist .wishlist_item td{
    display:block !important;
    width:auto !important;
    padding:0 !important;
    border:0 !important;
    text-align:left !important;
  }

  .tinv-wishlist .product-cb{
    display:none !important;
  }

  /* Remove button top-right */
  .tinv-wishlist .wishlist_item .product-remove{
    position:absolute;
    top:10px;
    right:10px;
    z-index:3;
  }

  .tinv-wishlist .product-remove button{
    width:30px !important;
    height:30px !important;
    background:rgba(255,255,255,.94) !important;
  }

  /* Large product image */
  .tinv-wishlist .wishlist_item .product-thumbnail{
    margin:0 0 16px;
  }

  .tinv-wishlist .product-thumbnail a{
    display:block;
  }

  .tinv-wishlist .product-thumbnail img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:4/3;
    border-radius:10px;
    object-fit:cover;
  }

  /* Name */
  .tinv-wishlist .wishlist_item .product-name{
    margin-bottom:8px;
  }

  .tinv-wishlist .product-name a{
    display:block;
    padding-right:26px;
    font-size:18px !important;
  }

  /* Price */
  .tinv-wishlist .wishlist_item .product-price{
    display:block !important;
    margin:0 0 8px;
    color:var(--shan-burgundy) !important;
    font-size:16px !important;
  }

  /* Date is unnecessary visual noise on mobile */
  .tinv-wishlist .wishlist_item .product-date{
    display:none !important;
  }

  /* Stock */
  .tinv-wishlist .wishlist_item .product-stock{
    display:block !important;
    margin:0 0 15px;
  }

  /* Full-width CTA */
  .tinv-wishlist .wishlist_item .product-action{
    display:block !important;
    margin-top:14px;
  }

  .tinv-wishlist .product-action .button{
    width:100% !important;
    min-height:46px !important;
  }

  /* Don't make plugin footer look like another product */
  .tinv-wishlist .tinvwl-table-manage-list tfoot{
    display:block;
    margin-top:10px;
  }

  .tinv-wishlist .tinvwl-table-manage-list tfoot tr,
  .tinv-wishlist .tinvwl-table-manage-list tfoot td{
    display:block;
    width:100%;
  }

  .tinv-wishlist .tinvwl-table-manage-list tfoot td{
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
}


/* WISHLIST — 2 COLUMN MOBILE GRID */
@media(width < 1024px){

  .tinv-wishlist .tinvwl-table-manage-list tbody{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }

  .tinv-wishlist .wishlist_item{
    display:block !important;
    margin:0 !important;
    padding:12px !important;
    border:1px solid rgba(69,42,30,.11) !important;
    border-radius:12px !important;
    background:#fff !important;
    box-shadow:0 6px 18px rgba(36,32,29,.04) !important;
  }

  .tinv-wishlist .wishlist_item .product-thumbnail{
    margin:0 0 10px !important;
  }

  .tinv-wishlist .product-thumbnail img{
    width:100% !important;
    aspect-ratio:1/1 !important;
    height:auto !important;
    border-radius:9px !important;
    object-fit:cover !important;
  }

  .tinv-wishlist .product-name{
    margin-bottom:6px !important;
  }

  .tinv-wishlist .product-name a{
    padding-right:0 !important;
    font-size:15px !important;
    line-height:1.35 !important;
  }

  .tinv-wishlist .wishlist_item .product-price{
    margin-bottom:6px !important;
    font-size:14px !important;
  }

  .tinv-wishlist .wishlist_item .product-stock{
    margin-bottom:10px !important;
  }

  .tinv-wishlist .product-stock .stock{
    font-size:11px !important;
  }

  .tinv-wishlist .wishlist_item .product-action{
    margin-top:10px !important;
  }

  .tinv-wishlist .product-action .button{
    width:100% !important;
    min-height:40px !important;
    padding:8px 10px !important;
    font-size:11px !important;
  }

  .tinv-wishlist .wishlist_item .product-remove{
    top:8px !important;
    right:8px !important;
  }

  .tinv-wishlist .product-remove button{
    width:28px !important;
    height:28px !important;
  }
}



/* =========================================================
   HEMP & HERITAGE — WISHLIST FINAL
   TI WooCommerce Wishlist
   ========================================================= */

/* PAGE */
.tinv-wishlist{
  width:100%;
  max-width:1100px;
  margin:0 auto 60px;
}

/* Remove TI "Default wishlist" heading */
.tinv-wishlist .tinv-header,
.tinv-wishlist > h2,
.tinv-wishlist form > h2{
  display:none !important;
}


/* =========================================================
   MOBILE — 2 COLUMN PRODUCT GRID
   ========================================================= */

@media(width < 1024px){

  .tinv-wishlist{
    margin-top:18px !important;
    margin-bottom:46px !important;
  }

  /* Remove table appearance */
  .tinv-wishlist table.tinvwl-table-manage-list{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    border:0 !important;
    border-collapse:initial !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .tinv-wishlist table.tinvwl-table-manage-list thead{
    display:none !important;
  }

  /* PRODUCT GRID */
  .tinv-wishlist table.tinvwl-table-manage-list tbody{
    display:grid !important;
    width:100% !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }

  .tinv-wishlist table.tinvwl-table-manage-list tr.wishlist_item{
    position:relative !important;
    display:flex !important;
    min-width:0 !important;
    margin:0 !important;
    padding:10px 10px 12px !important;
    flex-direction:column !important;

    overflow:hidden !important;
    border:1px solid rgba(69,42,30,.12) !important;
    border-radius:12px !important;
    background:#fff !important;
    box-shadow:0 5px 18px rgba(36,32,29,.045) !important;
  }

  .tinv-wishlist tr.wishlist_item td{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    padding:0 !important;
    border:0 !important;
    text-align:left !important;
  }


  /* ---------------------------------------------------------
     REMOVE ALL BULK CHECKBOXES
     --------------------------------------------------------- */

  .tinv-wishlist .product-cb,
  .tinv-wishlist th.product-cb,
  .tinv-wishlist td.product-cb,
  .tinv-wishlist input.input-checkbox,
  .tinv-wishlist input.global-cb{
    display:none !important;
  }


  /* ---------------------------------------------------------
     PRODUCT IMAGE
     --------------------------------------------------------- */

  .tinv-wishlist tr.wishlist_item td.product-thumbnail{
    order:1 !important;
    width:100% !important;
    margin:0 0 11px !important;
  }

  .tinv-wishlist .product-thumbnail a{
    display:block !important;
    width:100% !important;
  }

  .tinv-wishlist .product-thumbnail img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:1 / 1 !important;
    margin:0 !important;

    border-radius:9px !important;
    object-fit:cover !important;
  }


  /* ---------------------------------------------------------
     REMOVE BUTTON — FLOAT OVER IMAGE
     --------------------------------------------------------- */

  .tinv-wishlist tr.wishlist_item td.product-remove{
    position:absolute !important;
    z-index:5 !important;
    top:17px !important;
    right:17px !important;

    width:30px !important;
    height:30px !important;
  }

  .tinv-wishlist .product-remove button{
    display:grid !important;
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    min-height:30px !important;
    margin:0 !important;
    padding:0 !important;
    place-items:center !important;

    border:1px solid rgba(69,42,30,.13) !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.95) !important;
    color:var(--shan-burgundy) !important;

    box-shadow:0 2px 8px rgba(36,32,29,.10) !important;
  }

  .tinv-wishlist .product-remove button:hover{
    background:var(--shan-cream) !important;
    color:var(--shan-dark-red) !important;
  }


  /* ---------------------------------------------------------
     PRODUCT NAME
     --------------------------------------------------------- */

  .tinv-wishlist tr.wishlist_item td.product-name{
    order:2 !important;
    margin:0 0 7px !important;
  }

  .tinv-wishlist .product-name > a{
    display:-webkit-box !important;
    min-height:43px !important;
    overflow:hidden !important;

    color:var(--shan-ink) !important;
    font-family:var(--shan-serif) !important;
    font-size:15px !important;
    font-weight:500 !important;
    line-height:1.28 !important;
    text-decoration:none !important;

    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
  }

  .tinv-wishlist .product-name > a:hover{
    color:var(--shan-burgundy) !important;
  }

  /* variation/meta underneath title */
  .tinv-wishlist .product-name dl,
  .tinv-wishlist .product-name .variation{
    margin:5px 0 0 !important;
    color:var(--shan-muted) !important;
    font-size:11px !important;
    line-height:1.35 !important;
  }


  /* ---------------------------------------------------------
     PRICE
     --------------------------------------------------------- */

  .tinv-wishlist tr.wishlist_item td.product-price{
    order:3 !important;
    margin:0 0 7px !important;

    color:var(--shan-burgundy) !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.3 !important;
  }

  .tinv-wishlist .product-price del{
    margin-right:4px !important;
    color:var(--shan-muted) !important;
    font-weight:400 !important;
    opacity:.65 !important;
  }

  .tinv-wishlist .product-price ins{
    color:var(--shan-burgundy) !important;
    font-weight:700 !important;
    text-decoration:none !important;
  }


  /* ---------------------------------------------------------
     REMOVE DATE
     --------------------------------------------------------- */

  .tinv-wishlist tr.wishlist_item td.product-date{
    display:none !important;
  }


  /* ---------------------------------------------------------
     STOCK
     --------------------------------------------------------- */

  .tinv-wishlist tr.wishlist_item td.product-stock{
    order:4 !important;
    margin:0 0 11px !important;
  }

  .tinv-wishlist .product-stock p.stock{
    display:flex !important;
    align-items:center !important;
    gap:5px !important;

    margin:0 !important;
    padding:0 !important;

    color:var(--shan-burgundy) !important;
    font-size:11px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
  }

  .tinv-wishlist .product-stock p.stock span{
    display:inline-flex !important;
    align-items:center !important;
  }

  .tinv-wishlist .product-stock p.stock i{
    margin:0 !important;
    font-size:10px !important;
    color:var(--shan-burgundy) !important;
  }


  /* ---------------------------------------------------------
     ADD TO CART
     --------------------------------------------------------- */

  .tinv-wishlist tr.wishlist_item td.product-action{
    order:5 !important;
    margin-top:auto !important;
  }

  .tinv-wishlist .product-action button,
  .tinv-wishlist .product-action .button{
    display:flex !important;
    width:100% !important;
    min-height:41px !important;
    margin:0 !important;
    padding:8px 8px !important;

    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;

    border:1px solid var(--shan-burgundy) !important;
    border-radius:8px !important;
    background:var(--shan-burgundy) !important;
    color:#fff !important;

    font-size:11px !important;
    font-weight:700 !important;
    line-height:1.15 !important;

    box-shadow:none !important;
  }

  .tinv-wishlist .product-action button:hover,
  .tinv-wishlist .product-action .button:hover{
    border-color:var(--shan-dark-red) !important;
    background:var(--shan-dark-red) !important;
  }

  .tinv-wishlist .product-action i{
    display:none !important;
  }


  /* =========================================================
     PLUGIN FOOTER CONTROLS
     Remove Actions / Apply / Add Selected
     Keep Add All to Cart
     ========================================================= */

  .tinv-wishlist table.tinvwl-table-manage-list tfoot{
    display:block !important;
    width:100% !important;
    margin-top:18px !important;
  }

  .tinv-wishlist table.tinvwl-table-manage-list tfoot tr,
  .tinv-wishlist table.tinvwl-table-manage-list tfoot td{
    display:block !important;
    width:100% !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }

  /* bulk action selector */
  .tinv-wishlist select[name="tinvwl-action"],
  .tinv-wishlist button[name="tinvwl-action"],
  .tinv-wishlist input[name="tinvwl-action"],
  .tinv-wishlist .tinvwl-break-input-filed,
  .tinv-wishlist .tinvwl-break-checkbox{
    display:none !important;
  }

  /* Add selected */
  .tinv-wishlist button[name="tinvwl-add-to-cart-selected"],
  .tinv-wishlist input[name="tinvwl-add-to-cart-selected"]{
    display:none !important;
  }

  /* ADD ALL — secondary store action */
  .tinv-wishlist button[name="tinvwl-add-all-to-cart"],
  .tinv-wishlist input[name="tinvwl-add-all-to-cart"]{
    display:flex !important;
    width:100% !important;
    min-height:46px !important;
    margin:0 !important;
    padding:10px 16px !important;

    align-items:center !important;
    justify-content:center !important;

    border:1px solid var(--shan-burgundy) !important;
    border-radius:8px !important;
    background:transparent !important;
    color:var(--shan-burgundy) !important;

    font-size:13px !important;
    font-weight:700 !important;

    box-shadow:none !important;
  }

  .tinv-wishlist button[name="tinvwl-add-all-to-cart"]:hover{
    background:var(--shan-cream) !important;
  }


  /* =========================================================
     SHARE WISHLIST
     ========================================================= */

  .tinv-wishlist .social-buttons{
    margin-top:32px !important;
    padding-top:0 !important;
    text-align:center !important;
  }

  .tinv-wishlist .social-buttons > span,
  .tinv-wishlist .social-buttons > p{
    display:block !important;
    margin:0 0 14px !important;

    color:var(--shan-muted) !important;
    font-family:var(--shan-sans) !important;
    font-size:12px !important;
    font-weight:600 !important;
    letter-spacing:.03em !important;
  }

  .tinv-wishlist .social-buttons ul{
    display:flex !important;
    justify-content:center !important;
    gap:18px !important;
    margin:0 !important;
    padding:0 !important;
  }

  .tinv-wishlist .social-buttons li{
    margin:0 !important;
  }

  .tinv-wishlist .social-buttons a{
    color:var(--shan-ink) !important;
    font-size:18px !important;
  }

  .tinv-wishlist .social-buttons a:hover{
    color:var(--shan-burgundy) !important;
  }

}


/* =========================================================
   DESKTOP POLISH
   ========================================================= */

@media(min-width:1024px){

  .tinv-wishlist table.tinvwl-table-manage-list{
    overflow:hidden;
    border:1px solid rgba(69,42,30,.11) !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:0 8px 28px rgba(36,32,29,.045) !important;
  }

  .tinv-wishlist .product-thumbnail img{
    width:90px !important;
    height:105px !important;
    border-radius:8px !important;
    object-fit:cover !important;
  }

  .tinv-wishlist .product-name a{
    color:var(--shan-ink) !important;
    font-family:var(--shan-serif) !important;
    font-size:16px !important;
    text-decoration:none !important;
  }

  .tinv-wishlist .product-price{
    color:var(--shan-burgundy) !important;
    font-weight:700 !important;
  }

  .tinv-wishlist .product-action .button{
    border-radius:8px !important;
    background:var(--shan-burgundy) !important;
    color:#fff !important;
  }
}



/* =========================================================
   HEMP & HERITAGE — WISHLIST FINAL
   TI WooCommerce Wishlist
   ========================================================= */

/* PAGE */
.tinv-wishlist{
  width:100%;
  max-width:1100px;
  margin:0 auto 60px;
}

/* Remove TI "Default wishlist" heading */
.tinv-wishlist .tinv-header,
.tinv-wishlist > h2,
.tinv-wishlist form > h2{
  display:none !important;
}


/* =========================================================
   MOBILE — 2 COLUMN PRODUCT GRID
   ========================================================= */

@media(width < 1024px){

  .tinv-wishlist{
    margin-top:18px !important;
    margin-bottom:46px !important;
  }

  /* Remove table appearance */
  .tinv-wishlist table.tinvwl-table-manage-list{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    border:0 !important;
    border-collapse:initial !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .tinv-wishlist table.tinvwl-table-manage-list thead{
    display:none !important;
  }

  /* PRODUCT GRID */
  .tinv-wishlist table.tinvwl-table-manage-list tbody{
    display:grid !important;
    width:100% !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }

  .tinv-wishlist table.tinvwl-table-manage-list tr.wishlist_item{
    position:relative !important;
    display:flex !important;
    min-width:0 !important;
    margin:0 !important;
    padding:10px 10px 12px !important;
    flex-direction:column !important;

    overflow:hidden !important;
    border:1px solid rgba(69,42,30,.12) !important;
    border-radius:12px !important;
    background:#fff !important;
    box-shadow:0 5px 18px rgba(36,32,29,.045) !important;
  }

  .tinv-wishlist tr.wishlist_item td{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    padding:0 !important;
    border:0 !important;
    text-align:left !important;
  }


  /* ---------------------------------------------------------
     REMOVE ALL BULK CHECKBOXES
     --------------------------------------------------------- */

  .tinv-wishlist .product-cb,
  .tinv-wishlist th.product-cb,
  .tinv-wishlist td.product-cb,
  .tinv-wishlist input.input-checkbox,
  .tinv-wishlist input.global-cb{
    display:none !important;
  }


  /* ---------------------------------------------------------
     PRODUCT IMAGE
     --------------------------------------------------------- */

  .tinv-wishlist tr.wishlist_item td.product-thumbnail{
    order:1 !important;
    width:100% !important;
    margin:0 0 11px !important;
  }

  .tinv-wishlist .product-thumbnail a{
    display:block !important;
    width:100% !important;
  }

  .tinv-wishlist .product-thumbnail img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:1 / 1 !important;
    margin:0 !important;

    border-radius:9px !important;
    object-fit:cover !important;
  }


  /* ---------------------------------------------------------
     REMOVE BUTTON — FLOAT OVER IMAGE
     --------------------------------------------------------- */

  .tinv-wishlist tr.wishlist_item td.product-remove{
    position:absolute !important;
    z-index:5 !important;
    top:17px !important;
    right:17px !important;

    width:30px !important;
    height:30px !important;
  }

  .tinv-wishlist .product-remove button{
    display:grid !important;
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    min-height:30px !important;
    margin:0 !important;
    padding:0 !important;
    place-items:center !important;

    border:1px solid rgba(69,42,30,.13) !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.95) !important;
    color:var(--shan-burgundy) !important;

    box-shadow:0 2px 8px rgba(36,32,29,.10) !important;
  }

  .tinv-wishlist .product-remove button:hover{
    background:var(--shan-cream) !important;
    color:var(--shan-dark-red) !important;
  }


  /* ---------------------------------------------------------
     PRODUCT NAME
     --------------------------------------------------------- */

  .tinv-wishlist tr.wishlist_item td.product-name{
    order:2 !important;
    margin:0 0 7px !important;
  }

  .tinv-wishlist .product-name > a{
    display:-webkit-box !important;
    min-height:43px !important;
    overflow:hidden !important;

    color:var(--shan-ink) !important;
    font-family:var(--shan-serif) !important;
    font-size:15px !important;
    font-weight:500 !important;
    line-height:1.28 !important;
    text-decoration:none !important;

    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
  }

  .tinv-wishlist .product-name > a:hover{
    color:var(--shan-burgundy) !important;
  }

  /* variation/meta underneath title */
  .tinv-wishlist .product-name dl,
  .tinv-wishlist .product-name .variation{
    margin:5px 0 0 !important;
    color:var(--shan-muted) !important;
    font-size:11px !important;
    line-height:1.35 !important;
  }


  /* ---------------------------------------------------------
     PRICE
     --------------------------------------------------------- */

  .tinv-wishlist tr.wishlist_item td.product-price{
    order:3 !important;
    margin:0 0 7px !important;

    color:var(--shan-burgundy) !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.3 !important;
  }

  .tinv-wishlist .product-price del{
    margin-right:4px !important;
    color:var(--shan-muted) !important;
    font-weight:400 !important;
    opacity:.65 !important;
  }

  .tinv-wishlist .product-price ins{
    color:var(--shan-burgundy) !important;
    font-weight:700 !important;
    text-decoration:none !important;
  }


  /* ---------------------------------------------------------
     REMOVE DATE
     --------------------------------------------------------- */

  .tinv-wishlist tr.wishlist_item td.product-date{
    display:none !important;
  }


  /* ---------------------------------------------------------
     STOCK
     --------------------------------------------------------- */

  .tinv-wishlist tr.wishlist_item td.product-stock{
    order:4 !important;
    margin:0 0 11px !important;
  }

  .tinv-wishlist .product-stock p.stock{
    display:flex !important;
    align-items:center !important;
    gap:5px !important;

    margin:0 !important;
    padding:0 !important;

    color:var(--shan-burgundy) !important;
    font-size:11px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
  }

  .tinv-wishlist .product-stock p.stock span{
    display:inline-flex !important;
    align-items:center !important;
  }

  .tinv-wishlist .product-stock p.stock i{
    margin:0 !important;
    font-size:10px !important;
    color:var(--shan-burgundy) !important;
  }


  /* ---------------------------------------------------------
     ADD TO CART
     --------------------------------------------------------- */

  .tinv-wishlist tr.wishlist_item td.product-action{
    order:5 !important;
    margin-top:auto !important;
  }

  .tinv-wishlist .product-action button,
  .tinv-wishlist .product-action .button{
    display:flex !important;
    width:100% !important;
    min-height:41px !important;
    margin:0 !important;
    padding:8px 8px !important;

    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;

    border:1px solid var(--shan-burgundy) !important;
    border-radius:8px !important;
    background:var(--shan-burgundy) !important;
    color:#fff !important;

    font-size:11px !important;
    font-weight:700 !important;
    line-height:1.15 !important;

    box-shadow:none !important;
  }

  .tinv-wishlist .product-action button:hover,
  .tinv-wishlist .product-action .button:hover{
    border-color:var(--shan-dark-red) !important;
    background:var(--shan-dark-red) !important;
  }

  .tinv-wishlist .product-action i{
    display:none !important;
  }


  /* =========================================================
     PLUGIN FOOTER CONTROLS
     Remove Actions / Apply / Add Selected
     Keep Add All to Cart
     ========================================================= */

  .tinv-wishlist table.tinvwl-table-manage-list tfoot{
    display:block !important;
    width:100% !important;
    margin-top:18px !important;
  }

  .tinv-wishlist table.tinvwl-table-manage-list tfoot tr,
  .tinv-wishlist table.tinvwl-table-manage-list tfoot td{
    display:block !important;
    width:100% !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }

  /* bulk action selector */
  .tinv-wishlist select[name="tinvwl-action"],
  .tinv-wishlist button[name="tinvwl-action"],
  .tinv-wishlist input[name="tinvwl-action"],
  .tinv-wishlist .tinvwl-break-input-filed,
  .tinv-wishlist .tinvwl-break-checkbox{
    display:none !important;
  }

  /* Add selected */
  .tinv-wishlist button[name="tinvwl-add-to-cart-selected"],
  .tinv-wishlist input[name="tinvwl-add-to-cart-selected"]{
    display:none !important;
  }

  /* ADD ALL — secondary store action */
  .tinv-wishlist button[name="tinvwl-add-all-to-cart"],
  .tinv-wishlist input[name="tinvwl-add-all-to-cart"]{
    display:flex !important;
    width:100% !important;
    min-height:46px !important;
    margin:0 !important;
    padding:10px 16px !important;

    align-items:center !important;
    justify-content:center !important;

    border:1px solid var(--shan-burgundy) !important;
    border-radius:8px !important;
    background:transparent !important;
    color:var(--shan-burgundy) !important;

    font-size:13px !important;
    font-weight:700 !important;

    box-shadow:none !important;
  }

  .tinv-wishlist button[name="tinvwl-add-all-to-cart"]:hover{
    background:var(--shan-cream) !important;
  }


  /* =========================================================
     SHARE WISHLIST
     ========================================================= */

  .tinv-wishlist .social-buttons{
    margin-top:32px !important;
    padding-top:0 !important;
    text-align:center !important;
  }

  .tinv-wishlist .social-buttons > span,
  .tinv-wishlist .social-buttons > p{
    display:block !important;
    margin:0 0 14px !important;

    color:var(--shan-muted) !important;
    font-family:var(--shan-sans) !important;
    font-size:12px !important;
    font-weight:600 !important;
    letter-spacing:.03em !important;
  }

  .tinv-wishlist .social-buttons ul{
    display:flex !important;
    justify-content:center !important;
    gap:18px !important;
    margin:0 !important;
    padding:0 !important;
  }

  .tinv-wishlist .social-buttons li{
    margin:0 !important;
  }

  .tinv-wishlist .social-buttons a{
    color:var(--shan-ink) !important;
    font-size:18px !important;
  }

  .tinv-wishlist .social-buttons a:hover{
    color:var(--shan-burgundy) !important;
  }

}


/* =========================================================
   DESKTOP POLISH
   ========================================================= */

@media(min-width:1024px){

  .tinv-wishlist table.tinvwl-table-manage-list{
    overflow:hidden;
    border:1px solid rgba(69,42,30,.11) !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:0 8px 28px rgba(36,32,29,.045) !important;
  }

  .tinv-wishlist .product-thumbnail img{
    width:90px !important;
    height:105px !important;
    border-radius:8px !important;
    object-fit:cover !important;
  }

  .tinv-wishlist .product-name a{
    color:var(--shan-ink) !important;
    font-family:var(--shan-serif) !important;
    font-size:16px !important;
    text-decoration:none !important;
  }

  .tinv-wishlist .product-price{
    color:var(--shan-burgundy) !important;
    font-weight:700 !important;
  }

  .tinv-wishlist .product-action .button{
    border-radius:8px !important;
    background:var(--shan-burgundy) !important;
    color:#fff !important;
  }
}


/* WISHLIST — FINAL MOBILE CLEANUP */
@media(width < 1024px){

  /* Make product images larger */
  .tinv-wishlist .wishlist_item .product-thumbnail{
    width:100% !important;
  }

  .tinv-wishlist .wishlist_item .product-thumbnail a{
    display:block !important;
    width:100% !important;
  }

  .tinv-wishlist .wishlist_item .product-thumbnail img{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    aspect-ratio:1 / 1 !important;
    object-fit:cover !important;
  }

  /* Hide remaining bulk controls */
  .tinv-wishlist .tinvwl-break-input-filed,
  .tinv-wishlist .tinvwl-break-checkbox,
  .tinv-wishlist button[value="product_apply"],
  .tinv-wishlist input[value="product_apply"],
  .tinv-wishlist button[name="tinvwl-add-to-cart-selected"],
  .tinv-wishlist input[name="tinvwl-add-to-cart-selected"]{
    display:none !important;
  }

  /* Hide generic Apply button left behind by TI */
  .tinv-wishlist tfoot button:not([name="tinvwl-add-all-to-cart"]),
  .tinv-wishlist tfoot input[type="submit"]:not([name="tinvwl-add-all-to-cart"]){
    display:none !important;
  }

  /* Keep only Add All to Cart */
  .tinv-wishlist button[name="tinvwl-add-all-to-cart"],
  .tinv-wishlist input[name="tinvwl-add-all-to-cart"]{
    display:flex !important;
    width:100% !important;
    min-height:46px !important;
    align-items:center !important;
    justify-content:center !important;
    margin:18px 0 0 !important;
    padding:10px 16px !important;

    border:1px solid var(--shan-burgundy) !important;
    border-radius:8px !important;
    background:transparent !important;
    color:var(--shan-burgundy) !important;

    font-size:13px !important;
    font-weight:700 !important;
  }

  .tinv-wishlist button[name="tinvwl-add-all-to-cart"]:hover{
    background:var(--shan-cream) !important;
  }
}


/* WISHLIST — title top spacing */
@media(width < 1024px){
  body.page-id-3341 .shan-purchase__content{
    padding-top:14px !important;
  }
}


/* WISHLIST — FINAL MICRO POLISH */
@media(width < 1024px){

  /* 1. Tighten gap between Wishlist heading and product grid */
  .tinv-wishlist{
    margin-top:8px !important;
  }

  /* 2. Slightly tighter cards = larger usable image area */
  .tinv-wishlist table.tinvwl-table-manage-list tr.wishlist_item{
    padding:8px 8px 11px !important;
  }

  /* 3. Smaller, quieter remove button */
  .tinv-wishlist tr.wishlist_item td.product-remove{
    top:14px !important;
    right:14px !important;
    width:26px !important;
    height:26px !important;
  }

  .tinv-wishlist .product-remove button{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    min-height:26px !important;
    border-color:rgba(69,42,30,.10) !important;
    box-shadow:0 2px 6px rgba(36,32,29,.07) !important;
    font-size:10px !important;
  }

  /* 4. Always reserve exactly two lines for product title */
  .tinv-wishlist tr.wishlist_item td.product-name{
    min-height:45px !important;
    margin-bottom:5px !important;
  }

  .tinv-wishlist .product-name > a{
    display:-webkit-box !important;
    min-height:43px !important;
    max-height:43px !important;
    overflow:hidden !important;
    font-size:15px !important;
    line-height:1.27 !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
  }

  /* Remove Twitter/X only */
  .tinv-wishlist .social-buttons a[href*="twitter.com"],
  .tinv-wishlist .social-buttons a[href*="x.com"]{
    display:none !important;
  }
}


/* WISHLIST — restore remove button */
@media(width < 1024px){

  .tinv-wishlist tr.wishlist_item td.product-remove{
    top:15px !important;
    right:15px !important;
    width:30px !important;
    height:30px !important;
  }

  .tinv-wishlist .product-remove button{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    min-height:30px !important;
    border:1px solid rgba(69,42,30,.13) !important;
    background:rgba(255,255,255,.95) !important;
    box-shadow:0 2px 8px rgba(36,32,29,.10) !important;
    font-size:inherit !important;
  }

}


/* WISHLIST — larger remove X */
@media(width < 1024px){

  .tinv-wishlist .product-remove button{
    width:30px !important;
    height:30px !important;
  }

  .tinv-wishlist .product-remove button i{
    font-size:16px !important;
    line-height:1 !important;
  }

}


/* WISHLIST — clean remove X */
@media(width < 1024px){

  .tinv-wishlist .product-remove button i{
    display:none !important;
  }

  .tinv-wishlist .product-remove button::before{
    content:"×" !important;
    display:block !important;
    position:static !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;

    color:var(--shan-burgundy) !important;
    font-family:Arial,sans-serif !important;
    font-size:21px !important;
    font-weight:300 !important;
    line-height:1 !important;
  }

}


/* WISHLIST — removal popup */
.tinvwl_added_to_wishlist .tinv-modal-inner{
  max-width:340px !important;
  padding:28px 24px !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 18px 50px rgba(36,32,29,.18) !important;
}

.tinvwl_added_to_wishlist .tinv-modal-inner > i{
  color:var(--shan-burgundy) !important;
  font-size:38px !important;
}

.tinvwl_added_to_wishlist .tinv-txt{
  margin:14px 0 20px !important;
  color:var(--shan-ink) !important;
  font-family:var(--shan-sans) !important;
  font-size:15px !important;
  line-height:1.5 !important;
}

.tinvwl_added_to_wishlist .tinvwl_button_close{
  min-width:120px !important;
  padding:10px 18px !important;
  border:0 !important;
  border-radius:8px !important;
  background:var(--shan-burgundy) !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:700 !important;
}

.tinvwl_added_to_wishlist .tinvwl_button_close i{
  display:none !important;
}


/* Wishlist popup — final polish */
.tinvwl_added_to_wishlist .tinv-modal-inner > i{
  margin-top:8px !important;
  margin-bottom:3px !important;
}

.tinvwl_added_to_wishlist .tinvwl_button_close{
  display:block !important;
  width:180px !important;
  max-width:100% !important;
  margin:0 auto !important;
}


/* WISHLIST — EMPTY STATE */
.tinv-wishlist .woocommerce-info{
  max-width:480px !important;
  margin:34px auto 18px !important;
  padding:58px 24px 18px !important;
  border:0 !important;
  background:transparent !important;
  color:var(--shan-ink) !important;
  text-align:center !important;
  font-family:var(--shan-serif) !important;
  font-size:22px !important;
  font-weight:500 !important;
  box-shadow:none !important;
}

.tinv-wishlist .woocommerce-info::before{
  content:"♡" !important;
  display:block !important;
  position:absolute !important;
  top:0 !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  color:var(--shan-burgundy) !important;
  font-family:Arial,sans-serif !important;
  font-size:42px !important;
  line-height:1 !important;
}

.tinv-wishlist .return-to-shop{
  margin:0 !important;
  text-align:center !important;
}

.tinv-wishlist .return-to-shop .button{
  min-width:180px !important;
  padding:12px 20px !important;
  border:0 !important;
  border-radius:8px !important;
  background:var(--shan-burgundy) !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:700 !important;
}

.tinv-wishlist .return-to-shop .button:hover{
  background:var(--shan-dark-red) !important;
}

@media(width < 1024px){
  .tinv-wishlist .woocommerce-info{
    margin-top:20px !important;
    padding-top:54px !important;
    font-size:20px !important;
  }
}



/* =========================================================
   H&H — MOBILE ADD-TO-BAG BOTTOM SHEET
   Presentation only. Desktop remains unchanged.
   ========================================================= */

.shan-mobile-cart-sheet{
  display:none;
}

@media(width < 1024px){

  html.shan-cart-sheet-open{
    overflow:hidden;
  }

  .shan-mobile-cart-sheet{
    position:fixed;
    inset:0;
    z-index:99999;
    display:block;
    visibility:hidden;
    pointer-events:none;
  }

  .shan-mobile-cart-sheet__backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:rgba(36,32,29,.28);
    opacity:0;
    transition:opacity .24s ease;
  }

  .shan-mobile-cart-sheet__panel{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    max-height:min(76vh,560px);
    padding:
      8px
      18px
      calc(16px + env(safe-area-inset-bottom));
    overflow:auto;
    border-radius:20px 20px 0 0;
    background:var(--shan-paper,#fffaf1);
    box-shadow:0 -12px 40px rgba(36,32,29,.18);
    transform:translateY(105%);
    transition:transform .28s cubic-bezier(.22,.8,.32,1);
  }

  .shan-mobile-cart-sheet.is-open{
    visibility:visible;
    pointer-events:auto;
  }

  .shan-mobile-cart-sheet.is-open
  .shan-mobile-cart-sheet__backdrop{
    opacity:1;
  }

  .shan-mobile-cart-sheet.is-open
  .shan-mobile-cart-sheet__panel{
    transform:translateY(0);
  }

  .shan-mobile-cart-sheet__handle{
    width:38px;
    height:4px;
    margin:0 auto 14px;
    border-radius:999px;
    background:rgba(36,32,29,.18);
  }

  .shan-mobile-cart-sheet__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
  }

  .shan-mobile-cart-sheet__status{
    display:flex;
    min-width:0;
    align-items:center;
    gap:9px;
  }

  .shan-mobile-cart-sheet__check{
    display:inline-flex;
    width:25px;
    height:25px;
    flex:0 0 25px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(114,30,43,.10);
    color:var(--shan-burgundy,#721e2b);
    font-size:14px;
    font-weight:800;
  }

  .shan-mobile-cart-sheet__header h2{
    margin:0 !important;
    color:var(--shan-ink,#24201d);
    font-family:var(--shan-sans,Arial,sans-serif);
    font-size:17px !important;
    font-weight:700;
    line-height:1.25;
  }

  .shan-mobile-cart-sheet__close{
    display:inline-flex;
    width:34px;
    height:34px;
    flex:0 0 34px;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(36,32,29,.06);
    color:var(--shan-ink,#24201d);
    font-size:25px;
    font-weight:300;
    line-height:1;
  }

  .shan-mobile-cart-sheet__product{
    display:grid;
    grid-template-columns:76px minmax(0,1fr);
    gap:13px;
    align-items:center;
    padding:13px;
    border:1px solid rgba(69,42,30,.10);
    border-radius:13px;
    background:#fff;
  }

  .shan-mobile-cart-sheet__image{
    width:76px;
    height:76px;
    overflow:hidden;
    border-radius:10px;
    background:#f5efe7;
  }

  .shan-mobile-cart-sheet__image:empty{
    display:none;
  }

  .shan-mobile-cart-sheet__image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .shan-mobile-cart-sheet__details{
    min-width:0;
  }

  .shan-mobile-cart-sheet__name{
    margin-bottom:5px;
    overflow:hidden;
    color:var(--shan-ink,#24201d);
    font-size:14px;
    font-weight:700;
    line-height:1.35;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .shan-mobile-cart-sheet__meta{
    margin-bottom:5px;
    color:var(--shan-muted,#716861);
    font-size:12px;
    line-height:1.35;
  }

  .shan-mobile-cart-sheet__price{
    color:var(--shan-ink,#24201d);
    font-size:14px;
    font-weight:700;
  }

  .shan-mobile-cart-sheet__price del{
    margin-right:5px;
    color:var(--shan-muted,#716861);
    font-weight:500;
    opacity:.7;
  }

  .shan-mobile-cart-sheet__actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:14px;
  }

  .shan-mobile-cart-sheet__actions a{
    display:flex;
    min-height:46px;
    align-items:center;
    justify-content:center;
    padding:11px 12px;
    border-radius:10px;
    text-align:center;
    text-decoration:none !important;
    font-size:13px;
    font-weight:700;
  }

  .shan-mobile-cart-sheet__view{
    border:1px solid var(--shan-burgundy,#721e2b);
    background:#fff;
    color:var(--shan-burgundy,#721e2b) !important;
  }

  .shan-mobile-cart-sheet__checkout{
    border:1px solid var(--shan-burgundy,#721e2b);
    background:var(--shan-burgundy,#721e2b);
    color:#fff !important;
  }

  .shan-mobile-cart-sheet__continue{
    display:block;
    width:100%;
    margin:5px 0 0;
    padding:9px 10px;
    border:0;
    background:transparent;
    color:var(--shan-muted,#716861);
    text-align:center;
    font-size:12px;
    font-weight:600;
  }

  /*
   * Mobile successful add-to-cart notices are represented by the
   * bottom sheet instead. Errors/info remain available normally.
   */
  .shan-commerce
  .woocommerce-message.shan-toast{
    display:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .shan-mobile-cart-sheet__panel,
  .shan-mobile-cart-sheet__backdrop{
    transition:none !important;
  }
}

/* =========================================================
   H&H — MOBILE CART SHEET MODERN REFINEMENT
   Mobile presentation only.
   ========================================================= */
@media(width < 1024px){

  .shan-mobile-cart-sheet__backdrop{
    background:rgba(25,20,18,.38);
    backdrop-filter:blur(1.5px);
    -webkit-backdrop-filter:blur(1.5px);
  }

  .shan-mobile-cart-sheet__panel{
    max-height:min(70vh,500px);
    padding:
      7px
      16px
      calc(14px + env(safe-area-inset-bottom));
    border-radius:22px 22px 0 0;
    background:#fffaf6;
    box-shadow:0 -8px 30px rgba(25,20,18,.16);
  }

  .shan-mobile-cart-sheet__handle{
    width:36px;
    height:4px;
    margin-bottom:12px;
    background:rgba(36,32,29,.17);
  }

  .shan-mobile-cart-sheet__header{
    margin-bottom:13px;
  }

  .shan-mobile-cart-sheet__status{
    gap:8px;
  }

  .shan-mobile-cart-sheet__check{
    width:23px;
    height:23px;
    flex-basis:23px;
    background:#f5e8e9;
    color:#721e2b;
    font-size:13px;
  }

  .shan-mobile-cart-sheet__header h2{
    font-family:Arial,sans-serif !important;
    font-size:16px !important;
    font-weight:700 !important;
    letter-spacing:-.01em;
  }

  .shan-mobile-cart-sheet__close{
    width:32px;
    height:32px;
    flex-basis:32px;
    background:transparent;
    font-family:Arial,sans-serif;
    font-size:24px;
    cursor:pointer;
  }

  .shan-mobile-cart-sheet__product{
    grid-template-columns:70px minmax(0,1fr);
    gap:12px;
    padding:10px;
    border:1px solid rgba(36,32,29,.09);
    border-radius:14px;
    background:#fff;
    box-shadow:0 2px 10px rgba(36,32,29,.035);
  }

  .shan-mobile-cart-sheet__image{
    width:70px;
    height:70px;
    border-radius:11px;
    background:#f5f1eb;
  }

  .shan-mobile-cart-sheet__name{
    margin-bottom:4px;
    font-family:Arial,sans-serif;
    font-size:14px;
    font-weight:700;
    line-height:1.3;
  }

  .shan-mobile-cart-sheet__meta{
    display:inline;
    margin:0 7px 0 0;
    font-family:Arial,sans-serif;
    font-size:12px;
  }

  .shan-mobile-cart-sheet__price{
    display:inline;
    font-family:Arial,sans-serif;
    font-size:13px;
    font-weight:700;
  }

  .shan-mobile-cart-sheet__actions{
    gap:9px;
    margin-top:12px;
  }

  .shan-mobile-cart-sheet__actions a{
    min-height:44px;
    padding:10px 12px;
    border-radius:11px;
    font-family:Arial,sans-serif;
    font-size:13px;
    font-weight:700;
    letter-spacing:.01em;
    transition:
      transform .15s ease,
      background-color .15s ease,
      opacity .15s ease;
  }

  .shan-mobile-cart-sheet__actions a:active{
    transform:scale(.98);
  }

  .shan-mobile-cart-sheet__view{
    border:1px solid rgba(114,30,43,.38);
    background:transparent;
  }

  .shan-mobile-cart-sheet__checkout{
    box-shadow:0 4px 12px rgba(114,30,43,.14);
  }

  .shan-mobile-cart-sheet__continue{
    margin-top:3px;
    padding:8px 8px 4px;
    font-family:Arial,sans-serif;
    font-size:12px;
    font-weight:500;
    cursor:pointer;
  }

  /*
   * Immediate confirmation at the exact control the shopper tapped.
   */
  .shan-commerce .shan-added-feedback,
  .shan-commerce .shan-added-feedback:hover,
  .shan-commerce .shan-added-feedback:focus{
    background:#4c111b !important;
    border-color:#4c111b !important;
    color:#fff !important;
    transform:scale(.985);
    transition:
      background-color .18s ease,
      border-color .18s ease,
      transform .18s ease;
  }
}
/* =========================================================
   H&H — MOBILE CART SHEET FINAL MODERN REDESIGN
   Presentation only. Mobile only.
   ========================================================= */
@media(width < 1024px){

  /* Prevent the drawer or any child from exceeding viewport width. */
  .shan-mobile-cart-sheet,
  .shan-mobile-cart-sheet *,
  .shan-mobile-cart-sheet *::before,
  .shan-mobile-cart-sheet *::after{
    box-sizing:border-box;
  }

  .shan-mobile-cart-sheet{
    width:100vw;
    max-width:100vw;
    overflow:hidden;
  }

  .shan-mobile-cart-sheet__panel{
    left:0;
    right:0;
    width:auto;
    max-width:100vw;
    max-height:min(68vh,470px);
    padding:
      7px
      18px
      calc(14px + env(safe-area-inset-bottom));
    overflow-x:hidden;
    border-radius:22px 22px 0 0;
    background:#fffaf6;
    box-shadow:0 -10px 35px rgba(36,32,29,.17);
  }

  .shan-mobile-cart-sheet__handle{
    width:34px;
    height:4px;
    margin:0 auto 12px;
    border-radius:999px;
    background:rgba(36,32,29,.16);
  }

  /* Success heading */
  .shan-mobile-cart-sheet__header{
    min-width:0;
    margin-bottom:15px;
  }

  .shan-mobile-cart-sheet__status{
    min-width:0;
    gap:9px;
  }

  .shan-mobile-cart-sheet__check{
    width:24px;
    height:24px;
    flex:0 0 24px;
    background:#721e2b;
    color:#fff;
    font-size:13px;
    font-weight:700;
  }

  .shan-mobile-cart-sheet__header h2{
    min-width:0;
    margin:0 !important;
    color:#24201d;
    font-family:Arial,sans-serif !important;
    font-size:16px !important;
    font-weight:700 !important;
    line-height:1.25;
    letter-spacing:-.01em;
  }

  .shan-mobile-cart-sheet__close{
    width:32px;
    height:32px;
    flex:0 0 32px;
    border:0;
    background:transparent;
    color:#716861;
    font-size:25px;
  }

  /* Clean product row: remove card-inside-a-card appearance. */
  .shan-mobile-cart-sheet__product{
    display:grid;
    grid-template-columns:78px minmax(0,1fr);
    gap:14px;
    align-items:center;
    min-width:0;
    padding:0 0 16px;
    border:0;
    border-bottom:1px solid rgba(36,32,29,.09);
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  .shan-mobile-cart-sheet__image{
    width:78px;
    height:78px;
    overflow:hidden;
    border-radius:12px;
    background:#f3eee7;
  }

  .shan-mobile-cart-sheet__image img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .shan-mobile-cart-sheet__details{
    min-width:0;
  }

  .shan-mobile-cart-sheet__name{
    margin:0 0 7px;
    overflow:hidden;
    color:#24201d;
    font-family:Arial,sans-serif;
    font-size:15px;
    font-weight:700;
    line-height:1.3;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .shan-mobile-cart-sheet__meta{
    display:inline;
    margin:0;
    color:#716861;
    font-family:Arial,sans-serif;
    font-size:13px;
    line-height:1.4;
  }

  .shan-mobile-cart-sheet__meta::after{
    content:"  •  ";
    padding:0 3px;
    color:rgba(36,32,29,.35);
  }

  .shan-mobile-cart-sheet__price{
    display:inline;
    color:#24201d;
    font-family:Arial,sans-serif;
    font-size:14px;
    font-weight:700;
    line-height:1.4;
  }

  /*
   * Stronger modern hierarchy:
   * Checkout = primary action.
   * View Bag = secondary action.
   */
  .shan-mobile-cart-sheet__actions{
    display:flex;
    flex-direction:column-reverse;
    gap:8px;
    width:100%;
    margin-top:14px;
  }

  .shan-mobile-cart-sheet__actions a{
    width:100%;
    min-width:0;
    min-height:46px;
    padding:12px 16px;
    border-radius:11px;
    font-family:Arial,sans-serif;
    font-size:13px;
    font-weight:700;
    line-height:1.2;
    letter-spacing:.01em;
  }

  .shan-mobile-cart-sheet__checkout{
    order:2;
    border:1px solid #721e2b;
    background:#721e2b;
    color:#fff !important;
    box-shadow:0 5px 14px rgba(114,30,43,.16);
  }

  .shan-mobile-cart-sheet__view{
    order:1;
    min-height:40px !important;
    border:0;
    background:transparent;
    color:#721e2b !important;
    text-decoration:underline !important;
    text-underline-offset:3px;
  }

  /*
   * Continue shopping becomes a quiet tertiary action instead
   * of competing with checkout.
   */
  .shan-mobile-cart-sheet__continue{
    width:100%;
    margin:0;
    padding:7px 8px 2px;
    border:0;
    background:transparent;
    color:#716861;
    font-family:Arial,sans-serif;
    font-size:12px;
    font-weight:500;
    text-decoration:none;
  }

  /* Clear feedback at the button the shopper actually tapped. */
  .shan-commerce .shan-added-feedback,
  .shan-commerce .shan-added-feedback:hover,
  .shan-commerce .shan-added-feedback:focus{
    background:#4c111b !important;
    border-color:#4c111b !important;
    color:#fff !important;
    transform:scale(.98);
  }
}

/* =========================================================
   H&H — MOBILE CART DRAWER PLAIN PRODUCT THUMBNAIL
   Drawer only. Do not affect WooCommerce product gallery.
   ========================================================= */
@media(width < 1024px){

  .shan-mobile-cart-sheet__image{
    position:relative;
    display:block;
    width:78px;
    height:78px;
    overflow:hidden;
    border-radius:12px;
    background:#f3eee7;
  }

  .shan-mobile-cart-sheet__image img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    object-fit:cover !important;
    object-position:center !important;
    box-shadow:none !important;
    cursor:default !important;
    transform:none !important;
  }

  /* Never show inherited Woo gallery/zoom decoration in drawer. */
  .shan-mobile-cart-sheet__image::before,
  .shan-mobile-cart-sheet__image::after,
  .shan-mobile-cart-sheet__image .woocommerce-product-gallery__trigger,
  .shan-mobile-cart-sheet__image .zoomImg{
    display:none !important;
    content:none !important;
  }
}

/* =========================================================
   H&H — MOBILE CART SUCCESS NOTICE
   Bottom sheet replaces Woo success notice on mobile.
   Errors and informational notices remain available.
   ========================================================= */
@media(width < 1024px){

  .shan-commerce .woocommerce-message,
  .shan-commerce .woocommerce-message.shan-toast,
  body .woocommerce-message.shan-toast{
    display:none !important;
  }

}

/* =========================================================
   H&H — MOBILE CART ERROR SHEET
   WooCommerce validates; H&H relocates feedback on mobile.
   ========================================================= */
@media(width < 1024px){

  /*
   * Mobile now has one feedback surface: the bottom sheet.
   * Woo notices remain in the DOM and remain authoritative,
   * but their old top toast presentation is suppressed.
   */
  body .shan-commerce .woocommerce-message.shan-toast,
  body .shan-commerce .woocommerce-error.shan-toast,
  body .shan-commerce .woocommerce-info.shan-toast{
    display:none !important;
  }

  .shan-mobile-cart-sheet [hidden]{
    display:none !important;
  }

  .shan-mobile-cart-sheet__error{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin:2px 0 8px;
    padding:14px;
    border:1px solid rgba(114,30,43,.16);
    border-radius:12px;
    background:rgba(114,30,43,.055);
  }

  .shan-mobile-cart-sheet__error-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    flex:0 0 28px;
    border-radius:50%;
    background:#721e2b;
    color:#fff;
    font-family:Arial,sans-serif;
    font-size:17px;
    font-weight:800;
    line-height:1;
  }

  .shan-mobile-cart-sheet__error-copy{
    min-width:0;
    flex:1;
  }

  .shan-mobile-cart-sheet__error-title{
    margin:0 0 4px;
    color:#4c111b;
    font-family:Arial,sans-serif;
    font-size:14px;
    font-weight:700;
    line-height:1.3;
  }

  .shan-mobile-cart-sheet__error-message{
    color:#4f4742;
    font-family:Arial,sans-serif;
    font-size:13px;
    font-weight:400;
    line-height:1.45;
  }

  /*
   * Error state is intentionally compact.
   */
  .shan-mobile-cart-sheet.is-error .shan-mobile-cart-sheet__panel{
    padding-bottom:calc(18px + env(safe-area-inset-bottom));
  }

  .shan-mobile-cart-sheet.is-error .shan-mobile-cart-sheet__header{
    margin-bottom:10px;
  }

  .shan-mobile-cart-sheet.is-error .shan-mobile-cart-sheet__check{
    background:#721e2b;
  }

}

/* =========================================================
   H&H — MOBILE CART ERROR CLEANUP
   One clear error message, no redundant inner error card.
   ========================================================= */
@media(width < 1024px){

  /* Inner error card is redundant; heading becomes the message. */
  .shan-mobile-cart-sheet.is-error .shan-mobile-cart-sheet__error{
    display:block;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
  }

  .shan-mobile-cart-sheet.is-error .shan-mobile-cart-sheet__error-icon,
  .shan-mobile-cart-sheet.is-error .shan-mobile-cart-sheet__error-title{
    display:none !important;
  }

  .shan-mobile-cart-sheet.is-error .shan-mobile-cart-sheet__error-message{
    margin:2px 0 5px 37px;
    color:#5f5650;
    font-family:Arial,sans-serif;
    font-size:13px;
    font-weight:400;
    line-height:1.45;
  }

  .shan-mobile-cart-sheet.is-error .shan-mobile-cart-sheet__header{
    margin-bottom:2px;
  }

  /* Warning icon rather than success checkmark. */
  .shan-mobile-cart-sheet.is-error .shan-mobile-cart-sheet__check{
    position:relative;
    font-size:0 !important;
    background:#721e2b;
  }

  .shan-mobile-cart-sheet.is-error .shan-mobile-cart-sheet__check::after{
    content:"!";
    display:block;
    color:#fff;
    font-family:Arial,sans-serif;
    font-size:16px;
    font-weight:800;
    line-height:24px;
    text-align:center;
  }

  .shan-mobile-cart-sheet.is-error .shan-mobile-cart-sheet__panel{
    padding-bottom:calc(18px + env(safe-area-inset-bottom));
  }
}


/* ==========================================================
   H&H — FEATURED PRODUCT REAL WISHLIST HEART
   TI WooCommerce Wishlist remains the wishlist engine.
   Presentation only.
   ========================================================== */

.shan-product-card {
	position: relative;
}

/*
 * Wishlist wrapper is a sibling of the product image link,
 * allowing the heart to remain independently clickable.
 */
.shan-product-card > .shan-product-card__wishlist {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 8;
	width: 36px;
	height: 36px;
	margin: 0;
}

/* Remove TI's normal loop layout spacing. */
.shan-product-card__wishlist .tinv-wraper,
.shan-product-card__wishlist .tinv-wishlist,
.shan-product-card__wishlist .tinvwl-loop-button-wrapper {
	display: block;
	width: 36px;
	height: 36px;
	margin: 0 !important;
	padding: 0 !important;
}

/*
 * Real TI control, visually presented as the H&H image heart.
 */
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button {
	position: relative !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92) !important;
	box-shadow: 0 1px 5px rgba(36, 32, 29, 0.10);
	color: #24201d !important;
	text-decoration: none !important;
	cursor: pointer;
	transition:
		transform 160ms ease,
		background-color 160ms ease,
		box-shadow 160ms ease;
}

/* Hide TI text. Keep TI markup/functionality intact. */
.shan-product-card__wishlist .tinvwl_add_to_wishlist-text,
.shan-product-card__wishlist .tinvwl_remove_from_wishlist-text,
.shan-product-card__wishlist .tinvwl_already_on_wishlist-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/*
 * TI supplies its own heart through ::before.
 * Normalize it for our compact overlay.
 */
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button::before {
	position: static !important;
	display: block !important;
	margin: 0 !important;
	font-size: 20px !important;
	line-height: 1 !important;
	color: #24201d !important;
}

/* Saved state: retain TI state, make it visually obvious. */
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list::before,
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-make-remove::before {
	color: #721e2b !important;
}

/* Desktop pointer feedback. */
@media (hover: hover) {
	.shan-product-card__wishlist .tinvwl_add_to_wishlist_button:hover {
		transform: scale(1.06);
		background: #fff !important;
		box-shadow: 0 2px 8px rgba(36, 32, 29, 0.16);
	}
}

/* Keyboard accessibility. */
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button:focus-visible {
	outline: 2px solid #721e2b !important;
	outline-offset: 2px;
}

/* Keep touch target comfortable on phone/iPad portrait. */
@media (width < 1024px) {
	.shan-product-card > .shan-product-card__wishlist {
		top: 10px;
		right: 10px;
	}

	.shan-product-card__wishlist .tinvwl_add_to_wishlist_button {
		width: 36px !important;
		height: 36px !important;
	}
}


/* H&H — Wishlist heart contrast refinement */
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button {
	border: 1px solid rgba(36, 32, 29, 0.14) !important;
	box-shadow: 0 2px 7px rgba(36, 32, 29, 0.14);
}


/* ==========================================================
   H&H — WISHLIST HEART MINIMAL OVERRIDE
   Standalone outlined heart; filled when saved.
   ========================================================== */

.shan-product-card > .shan-product-card__wishlist {
	top: 5px;
	right: 5px;
	width: 34px;
	height: 34px;
}

.shan-product-card__wishlist .tinv-wraper,
.shan-product-card__wishlist .tinv-wishlist,
.shan-product-card__wishlist .tinvwl-loop-button-wrapper {
	width: 34px;
	height: 34px;
}

/* Remove button/circle appearance completely. */
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button {
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Unsaved heart: strong clean outline. */
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button::before {
	font-size: 24px !important;
	line-height: 1 !important;
	color: #24201d !important;

	/*
	 * Gives the thin TI heart stronger visual definition,
	 * especially over pale/white product photography.
	 */
	-webkit-text-stroke: 1.5px #24201d;
	text-shadow:
		0 1px 1px rgba(255,255,255,.85),
		0 0 2px rgba(255,255,255,.75);
}

/* Saved: solid H&H burgundy heart. */
.shan-product-card__wishlist
.tinvwl_add_to_wishlist_button.tinvwl-product-in-list::before,
.shan-product-card__wishlist
.tinvwl_add_to_wishlist_button.tinvwl-product-make-remove::before {
	color: #721e2b !important;
	-webkit-text-stroke: 1.5px #721e2b;
	text-shadow:
		0 1px 1px rgba(255,255,255,.75),
		0 0 2px rgba(255,255,255,.65);
}

/* Keep hover minimal — no circle reappearing. */
@media (hover: hover) {
	.shan-product-card__wishlist .tinvwl_add_to_wishlist_button:hover {
		background: transparent !important;
		box-shadow: none !important;
		transform: scale(1.08);
	}
}

@media (width < 1024px) {
	.shan-product-card > .shan-product-card__wishlist {
		top: 4px;
		right: 4px;
	}
}

/* H&H — Wishlist heart size + stroke refinement */
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button::before {
	font-size: 29px !important;
	-webkit-text-stroke-width: 2px;
}

.shan-product-card__wishlist
.tinvwl_add_to_wishlist_button.tinvwl-product-in-list::before,
.shan-product-card__wishlist
.tinvwl_add_to_wishlist_button.tinvwl-product-make-remove::before {
	-webkit-text-stroke-width: 2px;
}

/* H&H — Wishlist heart brand color */
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button::before {
	color: #721e2b !important;
	-webkit-text-stroke-color: #721e2b;
}

/* H&H — Wishlist heart lighter outline */
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button::before,
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list::before,
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-make-remove::before {
	-webkit-text-stroke-width: 1px;
}

/* H&H — Wishlist heart ultra-light outline */
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button::before,
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list::before,
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-make-remove::before {
	-webkit-text-stroke-width: 0.5px;
}

/* H&H — Wishlist heart final clean glyph */
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button::before,
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list::before,
.shan-product-card__wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-make-remove::before {
	font-size: 29px !important;
	color: #721e2b !important;
	-webkit-text-stroke: 0 !important;
}

/* =========================================================
   H&H PRODUCT BADGE SYSTEM — FINAL
   ========================================================= */

.shan-product-badges{
  position:absolute;
  top:10px;
  left:10px;
  z-index:4;

  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;

  max-width:calc(100% - 58px);
  pointer-events:none;
}

.shan-product-badges .shan-badge{
  position:static !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:auto !important;
  min-width:0 !important;
  height:25px !important;
  min-height:25px !important;

  margin:0 !important;
  padding:0 10px !important;

  border:1px solid transparent !important;
  border-radius:3px !important;

  box-shadow:0 2px 8px rgba(36,32,29,.10) !important;

  font-family:var(--shan-sans) !important;
  font-size:9px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

/* Sale */
.shan-product-badges .shan-badge--sale{
  background:var(--shan-burgundy) !important;
  border-color:var(--shan-burgundy) !important;
  color:var(--shan-paper) !important;
}

/* Featured */
.shan-product-badges .shan-badge--featured{
  background:var(--shan-gold) !important;
  border-color:var(--shan-gold) !important;
  color:var(--shan-dark-red) !important;
}

/* Out of stock */
.shan-product-badges .shan-badge--stock{
  background:rgba(36,32,29,.90) !important;
  border-color:rgba(36,32,29,.90) !important;
  color:var(--shan-paper) !important;
}


/* Native WooCommerce PDP sale flash:
   same H&H component language, native Woo lifecycle. */

.shan-commerce--single span.onsale,
.shan-commerce--single .shan-badge.shan-badge--sale{
  position:absolute !important;
  top:14px !important;
  left:14px !important;
  right:auto !important;
  z-index:4 !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:auto !important;
  min-width:0 !important;
  height:25px !important;
  min-height:25px !important;

  margin:0 !important;
  padding:0 10px !important;

  border:1px solid var(--shan-burgundy) !important;
  border-radius:3px !important;

  background:var(--shan-burgundy) !important;
  color:var(--shan-paper) !important;

  box-shadow:0 2px 8px rgba(36,32,29,.10) !important;

  font-family:var(--shan-sans) !important;
  font-size:9px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
}


@media(width < 1024px){

  .shan-product-badges{
    top:8px;
    left:8px;
    gap:5px;
    max-width:calc(100% - 52px);
  }

  .shan-product-badges .shan-badge{
    height:23px !important;
    min-height:23px !important;
    padding:0 8px !important;
    font-size:8px !important;
  }

  .shan-commerce--single span.onsale,
  .shan-commerce--single .shan-badge.shan-badge--sale{
    top:10px !important;
    left:10px !important;

    height:23px !important;
    min-height:23px !important;
    padding:0 8px !important;

    font-size:8px !important;
  }
}


/* =========================================================
   H&H PDP SHARED COMPONENTS — FINAL
   ========================================================= */

.shan-commerce--single .woocommerce-product-gallery{
    position:relative !important;
}


/* Shared H&H badge: PDP positioning only. */

.shan-commerce--single
.woocommerce-product-gallery
> .shan-product-badges{
    position:absolute !important;
    top:10px !important;
    left:10px !important;
    right:auto !important;
    z-index:8 !important;
    margin:0 !important;
    width:auto !important;
    max-width:calc(100% - 58px) !important;
}


/* Existing shared H&H/TI wishlist: PDP positioning only. */

.shan-commerce--single
.woocommerce-product-gallery
> .shan-gallery-wishlist.shan-product-card__wishlist{
    position:absolute !important;
    top:5px !important;
    right:5px !important;
    left:auto !important;
    z-index:9 !important;
    width:34px !important;
    height:34px !important;
    margin:0 !important;
}


/* Neutralize superseded PDP circular-heart presentation. */

.shan-commerce--single
.shan-gallery-wishlist.shan-product-card__wishlist
.tinvwl_add_to_wishlist_button{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}


/* Exact existing H&H heart presentation. */

.shan-commerce--single
.shan-gallery-wishlist.shan-product-card__wishlist
.tinvwl_add_to_wishlist_button::before,
.shan-commerce--single
.shan-gallery-wishlist.shan-product-card__wishlist
.tinvwl_add_to_wishlist_button.tinvwl-product-in-list::before,
.shan-commerce--single
.shan-gallery-wishlist.shan-product-card__wishlist
.tinvwl_add_to_wishlist_button.tinvwl-product-make-remove::before{
    font-size:29px !important;
    color:#721e2b !important;
    -webkit-text-stroke:0 !important;
}


/* Phone + iPad Mini portrait */

@media(width < 1024px){

    .shan-commerce--single
    .woocommerce-product-gallery
    > .shan-product-badges{
        top:8px !important;
        left:8px !important;
    }

    .shan-commerce--single
    .woocommerce-product-gallery
    > .shan-gallery-wishlist.shan-product-card__wishlist{
        top:4px !important;
        right:4px !important;
    }
}

/* =========================================================
   H&H MOBILE WOOCOMMERCE BREADCRUMB — FINAL
   Shop, categories and product detail.
   Desktop unchanged.
   ========================================================= */

.shan-mobile-catalog-breadcrumb{
	display:none;
}

@media(width < 1024px){

	.shan-mobile-catalog-breadcrumb{
		display:block;
		width:100%;
		margin:0 0 15px;
		overflow:hidden;
	}

	.shan-mobile-catalog-breadcrumb .woocommerce-breadcrumb{
		display:block;
		width:100% !important;
		margin:0 !important;
		padding:0 !important;
		overflow:hidden;
		color:var(--shan-muted);
		font-family:var(--shan-sans);
		font-size:12px;
		font-weight:600;
		line-height:1.4;
		text-align:left;
		white-space:nowrap;
		text-overflow:ellipsis;
	}

	.shan-mobile-catalog-breadcrumb .woocommerce-breadcrumb a{
		color:var(--shan-muted);
		text-decoration:none;
	}

	.shan-mobile-catalog-breadcrumb .woocommerce-breadcrumb a:hover,
	.shan-mobile-catalog-breadcrumb .woocommerce-breadcrumb a:focus-visible{
		color:var(--shan-burgundy);
	}

}


/* H&H MOBILE SHOP — breadcrumb replaces redundant Shop heading */
@media(width < 1024px){
  .shan-shop-mobile-title{
    display:none!important;
  }
}


/* =========================================================
   H&H MOBILE PRIMARY PRODUCT SEARCH — FINAL
   Same .shan-search component used by desktop.
   Mobile changes placement/width only where practical.
   ========================================================= */

@media(width < 1024px){

  /* Search replaces the old mobile quick-shopping bar. */
  .shan-mobile-quick-nav{
    display:none!important;
  }

  /* Search is permanently visible, so no separate toggle is needed. */
  .shan-mobile-search-toggle{
    display:none!important;
  }

  /*
   * Same desktop .shan-search component.
   * Preserve its established pill treatment and H&H styling;
   * mobile mainly gives it a full second-row placement.
   */
  .shan-header-actions .shan-search{
    position:absolute!important;
    top:100%!important;
    left:16px!important;
    right:16px!important;
    z-index:20!important;

    display:flex!important;
    width:auto!important;
    height:48px!important;
    margin:0!important;

    padding:0 12px 0 8px!important;
    border:0!important;
    border-radius:999px!important;
    background:var(--shan-cream)!important;
    box-shadow:none!important;
  }

  .shan-header-actions .shan-search:focus-within{
    outline:1px solid var(--shan-burgundy)!important;
    outline-offset:2px!important;
  }

  .shan-header-actions .shan-search input[type="search"]{
    height:46px!important;
    font-size:14px!important;
    background:transparent!important;
  }

  .shan-header-actions .shan-search button{
    height:40px!important;
  }

  /* Reserve room for the permanent second header row. */
  .shan-site-header{
    margin-bottom:62px!important;
  }
}

/* H&H MOBILE PRIMARY SEARCH — SINGLE COMPONENT NORMALIZATION */
@media(width < 1024px){

  .shan-header-actions .shan-search input[type="search"]{
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    height:46px!important;

    padding:0 6px!important;

    border:0!important;
    border-radius:0!important;

    background:transparent!important;
    box-shadow:none!important;
    outline:0!important;

    color:var(--shan-ink)!important;
    font-size:14px!important;
  }

  .shan-header-actions .shan-search:focus-within input[type="search"]{
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
  }

  .shan-header-actions .shan-search input[type="search"]::placeholder{
    color:var(--shan-muted)!important;
    opacity:1!important;
  }
}

/* H&H MOBILE SEARCH — remove header/search divider */
@media(width < 1024px){
  .shan-header-actions .shan-search{
    border-top:0!important;
  }
}


/* H&H MOBILE HEADER — remove divider above permanent search */
@media(width < 1024px){
  .shan-site-header{
    border-bottom:0 !important;
  }
}

/* H&H MOBILE QUICK NAV — horizontal shopping pills below search */
@media(width < 1024px){
  .shan-mobile-quick-nav{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:7px!important;

    width:100%!important;
    min-height:44px!important;
    margin:0!important;
    padding:6px 14px!important;

    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;

    background:var(--shan-paper)!important;
    border:0!important;
  }

  .shan-mobile-quick-nav::-webkit-scrollbar{
    display:none;
  }

  .shan-mobile-quick-nav a,
  .shan-mobile-quick-nav a:last-child{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max-content!important;
    min-height:30px!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    padding:5px 11px!important;
    border:0!important;
    border-radius:999px!important;

    background:rgba(36,32,29,.06)!important;
    color:var(--shan-ink)!important;

    font-size:11px!important;
    font-weight:700!important;
    line-height:1!important;
    letter-spacing:0!important;
    text-transform:none!important;
    white-space:nowrap!important;

    box-shadow:none!important;
    transform:none!important;
  }
}

/* H&H MOBILE SEARCH — slightly wider + slimmer */
@media(width < 1024px){
  .shan-header-actions .shan-search{
    left:12px!important;
    right:12px!important;
    height:44px!important;
  }

  .shan-site-header{
    margin-bottom:58px!important;
  }
}

/* H&H MOBILE SEARCH — subtle outline */
@media(width < 1024px){
  .shan-header-actions .shan-search{
    border:1px solid rgba(36,32,29,.14)!important;
  }
}

/* H&H MOBILE HEADER — tighten search-to-quick-nav spacing */
@media(width < 1024px){
  .shan-site-header{
    margin-bottom:54px!important;
  }
}

/* H&H MOBILE HEADER — tighter search-to-quick-nav spacing */
@media(width < 1024px){
  .shan-site-header{
    margin-bottom:48px!important;
  }
}

/* H&H MOBILE SEARCH — prevent iOS focus zoom */
@media(width < 1024px){
  .shan-header-actions .shan-search input[type="search"]{
    font-size:16px!important;
  }
}

/* H&H MOBILE HAMBURGER — keep open drawer above permanent search */
@media(width < 1024px){
  .shan-nav.is-open{
    z-index:100!important;
  }
}

/* H&H MOBILE HAMBURGER — 15% larger presentation */
@media(width < 1024px){

  /* Slightly larger drawer */
  .shan-nav{
    width:74vw!important;
    max-width:350px!important;
    padding-left:27px!important;
    padding-right:27px!important;
  }

  /* Main navigation items */
  .shan-nav__list > .shan-nav__item > a,
  .shan-nav__item--mega > .shan-nav__trigger{
    font-size:15px!important;
    padding-top:16px!important;
    padding-bottom:16px!important;
  }

  /* Category sub-items */
  .shan-nav .shan-mobile-category-link{
    font-size:16px!important;
    padding:9px 0!important;
    line-height:1.35!important;
  }

  /* Category chevrons */
  .shan-nav .shan-mobile-category-link::after{
    font-size:22px!important;
  }

  /* View More */
  .shan-mobile-category-more{
    font-size:14px!important;
    padding:8px 0!important;
  }
}


/* H&H MOBILE HAMBURGER — close button beside Categories */
.shan-mobile-menu-close{
  display:none;
}

@media(width < 1024px){
  .shan-nav__item--mega{
    position:relative!important;
  }

  .shan-mobile-menu-close{
    display:flex!important;
    position:absolute!important;
    top:9px!important;
    right:0!important;
    z-index:5!important;

    width:38px!important;
    height:38px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;

    align-items:center!important;
    justify-content:center!important;

    color:var(--shan-ink)!important;
    font-size:28px!important;
    font-weight:300!important;
    line-height:1!important;

    cursor:pointer!important;
  }

  .shan-nav__item--mega > .shan-nav__trigger{
    padding-right:44px!important;
  }
}


/* H&H MOBILE HAMBURGER — X close button beside Categories */
.shan-mobile-menu-close{
  display:none;
}

@media(width < 1024px){

  .shan-nav__item--mega{
    position:relative!important;
  }

  .shan-mobile-menu-close{
    display:flex!important;
    position:absolute!important;
    top:9px!important;
    right:0!important;
    z-index:10!important;

    width:38px!important;
    height:38px!important;
    padding:0!important;
    margin:0!important;

    align-items:center!important;
    justify-content:center!important;

    border:0!important;
    background:transparent!important;
    box-shadow:none!important;

    color:var(--shan-ink)!important;
    font-size:28px!important;
    font-weight:300!important;
    line-height:1!important;

    cursor:pointer!important;
    pointer-events:auto!important;
  }

  .shan-nav__item--mega > .shan-nav__trigger{
    padding-right:46px!important;
  }
}


/* H&H MOBILE HAMBURGER — close X final polish */
@media(width < 1024px){
  .shan-mobile-menu-close{
    font-size:31px!important;
    font-weight:400!important;
  }
}


/* H&H MOBILE HAMBURGER — align close X with category chevrons */
@media(width < 1024px){
  .shan-mobile-menu-close{
    right:-10px!important;
  }
}


/* H&H MOBILE HAMBURGER — final X alignment */
@media(width < 1024px){
  .shan-mobile-menu-close{
    right:-12px!important;
  }
}


/* H&H MOBILE HAMBURGER — anchor X to drawer top-right */
@media(width < 1024px){
  .shan-nav .shan-mobile-menu-close{
    top:16px!important;
    right:16px!important;
  }
}


/* H&H MOBILE HAMBURGER — X anchored to panel top-right */
@media(width < 1024px){

  /* Stop Categories section from being X positioning reference */
  .shan-nav__item--mega{
    position:static!important;
  }

  /* Position X relative to hamburger panel */
  .shan-nav .shan-mobile-menu-close{
    top:16px!important;
    right:16px!important;
  }
}


/* H&H MOBILE HAMBURGER — X slightly higher */
@media(width < 1024px){
  .shan-nav .shan-mobile-menu-close{
    top:12px!important;
  }
}


/* H&H MOBILE HAMBURGER — burgundy close X */
@media(width < 1024px){
  .shan-nav .shan-mobile-menu-close{
    color:#721e2b!important;
  }
}


/* H&H MOBILE SEARCH — very subtle burgundy tint */
@media(width < 1024px){
  .shan-header-actions .shan-search,
  .shan-header-actions .shan-search input[type="search"]{
    background:rgba(114,30,43,.035)!important;
  }
}


/* H&H MOBILE SEARCH — uniform subtle burgundy background */
@media(width < 1024px){

  .shan-header-actions .shan-search{
    background:rgba(114,30,43,.035)!important;
  }

  .shan-header-actions .shan-search input[type="search"]{
    background:transparent!important;
  }
}


/* H&H MOBILE QUICK NAV — burgundy text */
@media(width < 1024px){
  .shan-mobile-quick-nav a,
  .shan-mobile-quick-nav a:last-child{
    color:#721e2b!important;
  }
}


/* H&H MOBILE QUICK NAV — 1px larger text */
@media(width < 1024px){
  .shan-mobile-quick-nav a,
  .shan-mobile-quick-nav a:last-child{
    font-size:12px!important;
  }
}


/* ==========================================================
   H&H MOBILE PDP — SHIPPING & RETURNS ROW + POLICY DIALOG
   ========================================================== */

@media(width < 1024px){

  /* Match Product Details / Reviews accordion rows exactly. */
  .shan-mobile-pdp-policy-trigger{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
    min-height:53px !important;
    margin:0 !important;
    padding:0 5px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:var(--shan-ink) !important;
    font-family:var(--shan-sans) !important;
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1 !important;
    text-align:left !important;
    cursor:pointer !important;
    appearance:none;
    -webkit-appearance:none;
  }

  .shan-mobile-pdp-policy-trigger > span:nth-child(2){
    white-space:nowrap !important;
    flex:1 !important;
  }

  .shan-mobile-pdp-policy-trigger .shan-mobile-pdp-section__icon{
    flex:0 0 20px !important;
    width:20px !important;
    text-align:center !important;
    font-size:17px !important;
  }

  .shan-mobile-pdp-policy-trigger .shan-mobile-pdp-section__chevron{
    margin-left:auto !important;
    font-size:20px !important;
  }

  /* Native modal dialog. */
  .shan-policy-dialog{
    width:calc(100% - 28px);
    max-width:620px;
    max-height:88vh;
    margin:auto;
    padding:0;
    overflow:hidden;
    border:0;
    border-radius:18px;
    background:var(--shan-paper);
    color:var(--shan-ink);
    box-shadow:0 20px 65px rgba(0,0,0,.28);
  }

  .shan-policy-dialog::backdrop{
    background:rgba(36,32,29,.52);
  }

  .shan-policy-dialog__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:17px 18px 15px;
    border-bottom:1px solid var(--shan-line);
    background:var(--shan-paper);
  }

  .shan-policy-dialog__header h2{
    margin:0 !important;
    color:var(--shan-ink);
    font-family:var(--shan-serif);
    font-size:20px !important;
    font-weight:600;
    line-height:1.2;
  }

  .shan-policy-dialog__close{
    flex:0 0 38px;
    width:38px;
    height:38px;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#721e2b !important;
    font-size:31px !important;
    font-weight:400 !important;
    line-height:1 !important;
    cursor:pointer;
  }

  .shan-policy-dialog__content{
    max-height:calc(88vh - 71px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding:20px 18px 30px;
    color:var(--shan-muted);
    font-size:15px;
    line-height:1.65;
  }

  /* Page title already appears in modal header. */
  .shan-policy-dialog__content > h1:first-child{
    display:none;
  }

  .shan-policy-dialog__content h2{
    margin:27px 0 10px;
    color:var(--shan-burgundy);
    font-size:20px;
    line-height:1.25;
  }

  .shan-policy-dialog__content h3{
    margin:20px 0 8px;
    color:var(--shan-ink);
    font-size:16px;
    line-height:1.3;
  }

  .shan-policy-dialog__content p{
    margin:0 0 13px;
  }
}









/* =========================================================
   MOBILE FOOTER — reference accordion layout
   ========================================================= */

.shan-footer__mobile-title,
.shan-footer__mobile-link{
  display:none;
}

@media(width < 1024px){

  .shan-footer{
    padding-top:30px !important;
  }

  .shan-footer__grid{
    display:block !important;
    padding-bottom:0 !important;
  }

  .shan-footer__brand{
    margin-bottom:24px !important;
  }

  .shan-footer__column{
    padding:0 !important;
    border-top:1px solid rgba(255,255,255,.16) !important;
  }

  .shan-footer__column:last-of-type{
    border-bottom:1px solid rgba(255,255,255,.16) !important;
  }

  .shan-footer__desktop-title,
  .shan-footer__desktop-link{
    display:none !important;
  }

  .shan-footer__mobile-title{
    display:inline !important;
  }

  .shan-footer__column h2{
    position:relative !important;
    margin:0 !important;
    padding:16px 34px 16px 0 !important;
    cursor:pointer !important;
    font-size:12px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
  }

  .shan-footer__column h2::after{
    content:'+' !important;
    display:block !important;
    position:absolute !important;
    top:50% !important;
    right:2px !important;
    transform:translateY(-50%) !important;
    font-size:22px !important;
    font-weight:300 !important;
    line-height:1 !important;
  }

  .shan-footer__column.is-open h2::after{
    content:'−' !important;
  }

  .shan-footer__column .shan-footer__mobile-link{
    display:none !important;
    margin:0 !important;
    padding:6px 0 !important;
    font-size:12px !important;
    line-height:1.4 !important;
  }

  .shan-footer__column.is-open .shan-footer__mobile-link{
    display:block !important;
  }

  .shan-footer__column.is-open{
    padding-bottom:12px !important;
  }

  .shan-footer__socials{
    display:flex !important;
    justify-content:center !important;
    width:100% !important;
    margin:30px 0 26px !important;
    gap:10px !important;
  }

  .shan-footer__bottom{
    margin-top:0 !important;
    padding-top:18px !important;
    border-top:1px solid rgba(255,255,255,.16) !important;
    text-align:center !important;
    align-items:center !important;
  }

}

@media(min-width:1024px){

  .shan-footer__socials{
    grid-column:1;
    margin-top:-54px;
  }

}


/* =========================================================
   MOBILE FOOTER — accordion visibility specificity fix
   ========================================================= */
@media(width < 1024px){

  /* Never show desktop footer links in mobile accordion */
  .shan-footer .shan-footer__column a.shan-footer__desktop-link,
  .shan-footer .shan-footer__column.is-open a.shan-footer__desktop-link{
    display:none !important;
  }

  /* Mobile links are collapsed by default */
  .shan-footer .shan-footer__column a.shan-footer__mobile-link{
    display:none !important;
  }

  /* Only the selected accordion reveals its mobile links */
  .shan-footer .shan-footer__column.is-open a.shan-footer__mobile-link{
    display:block !important;
  }

  /* Put + / − at the far-right edge */
  .shan-footer .shan-footer__column h2::after{
    right:2px !important;
  }

}


/* =========================================================
   MOBILE FOOTER — accordion heading alignment
   ========================================================= */
@media(width < 1024px){

  .shan-footer .shan-footer__column h2{
    display:block !important;
    position:relative !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:16px 40px 16px 0 !important;
  }

  .shan-footer .shan-footer__column h2::after{
    display:block !important;
    position:absolute !important;
    left:auto !important;
    right:2px !important;
    top:50% !important;
    margin:0 !important;
    transform:translateY(-50%) !important;
  }

}

/* =========================================================
   MOBILE FOOTER — accordion typography +30%
   ========================================================= */
@media(width < 1024px){

  .shan-footer .shan-footer__column h2{
    font-size:16px !important;
  }

  .shan-footer .shan-footer__column a.shan-footer__mobile-link{
    font-size:16px !important;
    line-height:1.45 !important;
  }

}

/* =========================================================
   MOBILE FOOTER — social + bottom typography +20%
   ========================================================= */
@media(width < 1024px){

  .shan-footer .shan-footer__socials a{
    width:40px !important;
    height:40px !important;
  }

  .shan-footer .shan-footer__socials svg{
    width:18px !important;
    height:18px !important;
  }

  .shan-footer .shan-footer__bottom p{
    font-size:13px !important;
    line-height:1.5 !important;
  }

}

/* =========================================================
   FOOTER SOCIALS — clean flat icon rendering
   ========================================================= */
.shan-footer .shan-footer__socials a{
  border-color:rgba(255,255,255,.65) !important;
  color:#fff8ec !important;
}

/* Instagram: outlined glyph */
.shan-footer .shan-footer__socials a[aria-label="Instagram"] svg{
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.6 !important;
}

.shan-footer .shan-footer__socials a[aria-label="Instagram"] .shan-social-icon-fill{
  fill:currentColor !important;
  stroke:none !important;
}

/* Facebook: solid flat F */
.shan-footer .shan-footer__socials a[aria-label="Facebook"] svg{
  fill:currentColor !important;
  stroke:none !important;
}

.shan-footer .shan-footer__socials a[aria-label="Facebook"] path{
  fill:currentColor !important;
  stroke:none !important;
}

/* =========================================================
   FOOTER SOCIAL ICONS — reference proportions
   ========================================================= */
@media(width < 1024px){

  .shan-footer .shan-footer__socials{
    gap:12px !important;
  }

  .shan-footer .shan-footer__socials a{
    width:34px !important;
    height:34px !important;
    border:1px solid rgba(255,255,255,.78) !important;
    border-radius:50% !important;
    color:#fff8ec !important;
  }

  .shan-footer .shan-footer__socials .shan-social-icon{
    width:20px !important;
    height:20px !important;
  }

  /* Solid, prominent Facebook F */
  .shan-footer .shan-social-icon--facebook{
    fill:currentColor !important;
    stroke:none !important;
  }

  .shan-footer .shan-social-icon--facebook path{
    fill:currentColor !important;
    stroke:none !important;
  }

  /* Strong clean Instagram glyph */
  .shan-footer .shan-social-icon--instagram{
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
  }

  .shan-footer .shan-social-icon--instagram .shan-instagram-dot{
    fill:currentColor !important;
    stroke:none !important;
  }
}







/* =========================================================
   HOMEPAGE SHOP BY CATEGORY — MOBILE EDITORIAL 2x2
   ========================================================= */
@media(width < 1024px){

  .shan-categories:not(.shan-categories-page){
    padding-top:20px !important;
    padding-bottom:26px !important;
  }

  .shan-categories:not(.shan-categories-page) .shan-category-carousel{
    display:block !important;
    overflow:visible !important;
  }

  .shan-categories:not(.shan-categories-page) .shan-category-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    width:100% !important;
    overflow:visible !important;
  }

  .shan-categories:not(.shan-categories-page) .shan-category-card{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:8px !important;
    overflow:hidden !important;
    background:#211b19 !important;
  }

  /* Homepage intentionally shows first four categories */
  .shan-categories:not(.shan-categories-page) .shan-category-card:nth-child(n+5){
    display:none !important;
  }

  .shan-categories:not(.shan-categories-page) .shan-category-card > a{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4 / 5 !important;
    overflow:hidden !important;
    border-radius:8px !important;
    background:#211b19 !important;
  }

  .shan-categories:not(.shan-categories-page) .shan-category-card > a::after{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    z-index:1 !important;
    inset:0 !important;
    background:linear-gradient(
      to bottom,
      rgba(20,15,12,0) 48%,
      rgba(20,15,12,.16) 65%,
      rgba(20,15,12,.72) 100%
    ) !important;
    pointer-events:none !important;
  }

  .shan-categories:not(.shan-categories-page) .shan-category-card__art{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    aspect-ratio:auto !important;
    border-radius:0 !important;
    overflow:hidden !important;
    background:#211b19 !important;
  }

  .shan-categories:not(.shan-categories-page) .shan-category-card__art img{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:0 !important;
  }

  .shan-categories:not(.shan-categories-page) .shan-category-card__content{
    position:absolute !important;
    z-index:2 !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    display:block !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    padding:16px 14px 15px !important;
    background:transparent !important;
    text-align:left !important;
  }

  .shan-categories:not(.shan-categories-page) .shan-category-card__content h3{
    margin:0 !important;
    padding:0 !important;
    color:#fff !important;
    font-family:var(--shan-sans) !important;
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:.03em !important;
    text-align:left !important;
    text-shadow:0 1px 8px rgba(0,0,0,.35) !important;
  }

  .shan-categories:not(.shan-categories-page) .shan-category-card__content h3::after{
    content:" →" !important;
    display:inline !important;
    color:#fff !important;
    font-weight:400 !important;
  }

}


/* =========================================================
   HOMEPAGE MOBILE CATEGORY — typography polish
   ========================================================= */
@media(width < 1024px){

  .shan-categories:not(.shan-categories-page)
  .shan-category-card__content h3{
    font-size:16px !important;
    font-weight:600 !important;
    line-height:1.25 !important;
    letter-spacing:.01em !important;
  }

  .shan-categories:not(.shan-categories-page)
  .shan-category-card__content h3::after{
    content:"→" !important;
    display:inline-block !important;
    margin-left:6px !important;
    font-size:14px !important;
    font-weight:400 !important;
    line-height:1 !important;
    vertical-align:1px !important;
  }

}

/* =========================================================
   HOMEPAGE MOBILE CATEGORY — final polish
   ========================================================= */
@media(width < 1024px){

  .shan-categories:not(.shan-categories-page) .shan-category-grid{
    gap:8px !important;
  }

  .shan-categories:not(.shan-categories-page)
  .shan-category-card__content h3::after{
    content:"→" !important;
    display:inline-block !important;
    margin-left:6px !important;
    font-size:16px !important;
    font-weight:600 !important;
    line-height:1 !important;
    vertical-align:0 !important;
  }

}

/* HOMEPAGE MOBILE CATEGORY — final arrow refinement */
@media(width < 1024px){
  .shan-categories:not(.shan-categories-page)
  .shan-category-card__content h3::after{
    font-size:15px !important;
    font-weight:500 !important;
    margin-left:6px !important;
  }
}

/* =========================================================
   HOMEPAGE MOBILE CATEGORY — precision UI arrow
   Replaces font-rendered arrow with CSS-drawn icon
   ========================================================= */
@media(width < 1024px){

  .shan-categories:not(.shan-categories-page)
  .shan-category-card__content h3::after{
    content:"" !important;

    display:inline-block !important;
    position:relative !important;

    width:13px !important;
    height:8px !important;

    margin-left:7px !important;

    font-size:0 !important;
    line-height:0 !important;

    vertical-align:1px !important;

    background:
      linear-gradient(currentColor,currentColor)
      left 50% / 12px 1.5px no-repeat !important;

    clip-path:none !important;
  }

  .shan-categories:not(.shan-categories-page)
  .shan-category-card__content h3::before{
    content:"" !important;

    display:inline-block !important;
    position:absolute !important;

    width:5px !important;
    height:5px !important;

    border-top:1.5px solid currentColor !important;
    border-right:1.5px solid currentColor !important;

    transform:rotate(45deg) !important;

    right:13px !important;
    bottom:20px !important;
  }

}

/* =========================================================
   HOMEPAGE MOBILE CATEGORY — final unified arrow
   ========================================================= */
@media(width < 1024px){

  /* Kill the separate arrowhead from previous experiment */
  .shan-categories:not(.shan-categories-page)
  .shan-category-card__content h3::before{
    content:none !important;
    display:none !important;
  }

  /* One complete arrow, rendered as a single SVG */
  .shan-categories:not(.shan-categories-page)
  .shan-category-card__content h3::after{
    content:"" !important;
    display:inline-block !important;

    width:14px !important;
    height:10px !important;
    margin-left:7px !important;

    position:relative !important;
    right:auto !important;
    bottom:auto !important;

    vertical-align:-1px !important;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M1 5h13M10 1l4 4-4 4' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat:no-repeat !important;
    background-position:center !important;
    background-size:14px 9px !important;

    border:0 !important;
    transform:none !important;
    clip-path:none !important;
  }

}

/* HOMEPAGE MOBILE CATEGORY — no arrows */
@media(width < 1024px){

  .shan-categories:not(.shan-categories-page)
  .shan-category-card__content h3::before,

  .shan-categories:not(.shan-categories-page)
  .shan-category-card__content h3::after{
    content:none !important;
    display:none !important;
    background:none !important;
    border:0 !important;
  }

}

/* Homepage section header flat arrow */
.shan-section-heading > a .shan-section-arrow,
.shan-new-arrivals .shan-section-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 3px;
    vertical-align: middle;
}

.shan-section-arrow svg {
    display: block;
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* H&H MOBILE QUICK NAV — center final 4 shopping links */
@media(width < 1024px){
  .shan-mobile-quick-nav{
    justify-content:center!important;
  }
}

/* =========================================================
   H&H MOBILE QUICK NAV — FINAL POLISH
   Refined shortcuts + improved vertical breathing room
   ========================================================= */
@media(width < 1024px){

  .shan-mobile-quick-nav{
    justify-content:center!important;
    gap:8px!important;

    min-height:48px!important;
    padding:8px 12px 9px!important;

    background:var(--shan-paper)!important;
  }

  .shan-mobile-quick-nav a,
  .shan-mobile-quick-nav a:last-child{
    min-height:30px!important;
    padding:6px 10px!important;

    border:1px solid rgba(114,30,43,.10)!important;
    border-radius:11px!important;

    background:rgba(248,240,226,.72)!important;
    color:#721e2b!important;

    font-size:12px!important;
    font-weight:600!important;
    line-height:1!important;

    box-shadow:none!important;
  }

  .shan-mobile-quick-nav a:hover,
  .shan-mobile-quick-nav a:focus-visible{
    background:rgba(114,30,43,.07)!important;
    border-color:rgba(114,30,43,.18)!important;
    transform:none!important;
  }

}

/* H&H MOBILE HEADER — final quick-nav spacing polish */
@media(width < 1024px){
  .shan-mobile-quick-nav{
    min-height:44px!important;
    padding-top:6px!important;
    padding-bottom:6px!important;
  }
}

/* =========================================================
   H&H HOMEPAGE MOBILE — Shop by Category heading polish
   ========================================================= */
@media(width < 1024px){

  .shan-categories:not(.shan-categories-page) .shan-section-heading{
    align-items:flex-end !important;
    margin-bottom:16px !important;
  }

  .shan-categories:not(.shan-categories-page) .shan-section-heading > a{
    display:inline-flex !important;
    align-items:center !important;
    gap:2px !important;
    margin-bottom:3px !important;

    font-size:11px !important;
    font-weight:650 !important;
    line-height:1 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
  }

  .shan-categories:not(.shan-categories-page)
  .shan-section-heading > a .shan-section-arrow{
    margin-left:2px !important;
  }

}

/* =========================================================
   H&H MOBILE SHOP — active catalog view title
   Sale / Featured / New Arrivals / Shop
   ========================================================= */
@media(width < 1024px){

  .shan-shop-mobile-title{
    display:block!important;
    margin:0!important;
    color:var(--shan-ink)!important;
    font-family:var(--shan-serif)!important;
    font-size:25px!important;
    font-weight:500!important;
    line-height:1.15!important;
    letter-spacing:0!important;
  }

}

/* H&H MOBILE SEARCH — refined 40px height */
@media(width < 1024px){
  .shan-header-actions .shan-search{
    height:40px!important;
  }
}

/* =========================================================
   H&H MOBILE SEARCH — refined focus state
   Single subtle burgundy border, no double focus ring
   ========================================================= */
@media(width < 1024px){

  .shan-header-actions .shan-search:focus-within{
    border-color:rgba(114,30,43,.72)!important;
    outline:none!important;
    box-shadow:none!important;
  }

  .shan-header-actions .shan-search input:focus,
  .shan-header-actions .shan-search input:focus-visible{
    outline:none!important;
    box-shadow:none!important;
  }

}

/* =========================================================
   H&H HERO CTA — stronger label + clean arrow
   All viewport sizes
   ========================================================= */
.shan-hero--lifestyle .shan-button--primary{
}

.shan-hero--lifestyle .shan-hero-cta-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:7px;
  line-height:1;
}

.shan-hero--lifestyle .shan-hero-cta-arrow svg{
  display:block;
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* =========================================================
   H&H SHARED PRIMARY CTA
   Shop Now + More Than Bags / Our Story
   ========================================================= */
.shan-hero-cta-style{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  padding:8px 15px !important;
  border-radius:5px !important;
  background:var(--shan-burgundy) !important;
  color:#fff !important;
  font-size: 14px !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
}

.shan-hero-cta-style .shan-hero-cta-arrow{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-left:7px !important;
  line-height:1 !important;
}

.shan-hero-cta-style .shan-hero-cta-arrow svg{
  display:block !important;
  width: 18px !important;
  height: 18px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.shan-hero-cta-style:hover,
.shan-hero-cta-style:focus-visible{
  background:var(--shan-dark-red) !important;
  color:#fff !important;
}

/* =========================================================
   H&H HOMEPAGE — FINAL MOBILE POLISH #3–#6
   More Than Bags / Craft Banner / Our Story
   Mobile only
   ========================================================= */
@media(width < 1024px){

  /* -------------------------------------------------------
     #3 MORE THAN BAGS
     Stronger editorial image + comfortable story spacing
     ------------------------------------------------------- */

  .shan-more-than-bags__image{
    height:240px !important;
  }

  .shan-more-than-bags__image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .shan-more-than-bags__story{
    padding:24px 24px 22px !important;
  }

  .shan-more-than-bags__story h2{
    margin:0 0 9px !important;
    font-size:28px !important;
    line-height:1.05 !important;
  }

  .shan-more-than-bags__story p{
    margin:0 0 16px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }


  /* -------------------------------------------------------
     #4 CRAFT / LIFESTYLE BANNER
     More premium campaign hierarchy
     ------------------------------------------------------- */

  .shan-craft-banner__content{
    padding-top:24px !important;
    padding-bottom:26px !important;
  }

  .shan-craft-banner__content .shan-eyebrow{
    margin-bottom:8px !important;
  }

  .shan-craft-banner__content h2{
    margin-bottom:10px !important;
    font-size:30px !important;
    line-height:1.08 !important;
  }

  .shan-craft-banner__content > p:not(.shan-eyebrow){
    margin-bottom:18px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }

  .shan-craft-banner__content .shan-button{
    min-height:34px !important;
    padding:8px 15px !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1 !important;
  }


  /* -------------------------------------------------------
     #5 OUR STORY
     Quiet editorial section, less visual density
     ------------------------------------------------------- */

  #our-story .shan-story__content{
    max-width:none !important;
  }

  #our-story .shan-eyebrow{
    margin-bottom:9px !important;
  }

  #our-story h2{
    margin-bottom:14px !important;
    font-size:29px !important;
    line-height:1.08 !important;
  }

  #our-story .shan-story__content > p{
    margin:0 0 12px !important;
    font-size:14px !important;
    line-height:1.58 !important;
  }

  #our-story .shan-story__content > p + p{
    margin-top:2px !important;
  }

  #our-story .shan-button--text{
    margin-top:5px !important;
  }

  #our-story .shan-story__values{
    display:none !important;
  }


  

  

  

  

  

  

  

  

  

}


/* ==========================================================
   H&H PRODUCT CARD — CANONICAL FINAL
   HH-CARD-CANONICAL-20260917

   Single presentation layer for:
   - Homepage Featured Pieces
   - Homepage New Arrivals
   - Shop/archive product cards

   Grid/layout outside the card is intentionally untouched.
   ========================================================== */


/* ---------- CARD ---------- */

.shan-product-card{
    position:relative !important;
    min-width:0;
}


/* ---------- IMAGE ---------- */

.shan-product-card__media{
    position:relative !important;
    display:block !important;
    width:100% !important;
    aspect-ratio:1 / 1 !important;
    overflow:hidden !important;
    border-radius:8px !important;
    background:#f3f0ea !important;
}

.shan-product-card__media img{
    margin:0 !important;
    border-radius:0 !important;
    transition:transform 300ms ease;
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}


/* ---------- BODY ---------- */

.shan-product-card__body{
    display:block !important;
    padding:7px 2px 0 !important;
    font-family:var(--shan-sans) !important;
}


/* ---------- TITLE ---------- */

.shan-product-card__title,
.shan-product-card h2.shan-product-card__title,
.shan-product-card h3.shan-product-card__title,
.shan-commerce .shan-product-card h2.woocommerce-loop-product__title.shan-product-card__title{
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;


    margin:0 0 6px !important;
    padding:0 !important;
    overflow:hidden !important;

    color:var(--shan-ink) !important;
    font-family:var(--shan-sans) !important;
    font-size:16px !important;
    font-weight:600 !important;
    line-height:1.27 !important;
    letter-spacing:-.01em !important;

    white-space:normal !important;
    text-overflow:clip !important;
}

.shan-product-card__title a{
    white-space:normal !important;
    color:inherit !important;
    font:inherit !important;
    text-decoration:none !important;
}


/* ---------- PRICE ---------- */

.shan-product-card__price,
.shan-commerce .shan-product-card__price{
    display:flex !important;
    align-items:baseline !important;
    flex-wrap:wrap !important;
    gap:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;

    color:var(--shan-ink) !important;
    font-family:var(--shan-sans) !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.25 !important;
}

.shan-product-card__price del{
    margin-right:5px !important;
    color:#8f8984 !important;
    opacity:.72 !important;
    font-size:15px !important;
    font-weight:500 !important;
}

.shan-product-card__price ins{
    color:var(--shan-burgundy) !important;
    font-weight:700 !important;
    text-decoration:none !important;
}


/* ---------- RATINGS ---------- */
.shan-product-card__rating{
    display:flex !important;
    align-items:center !important;
    gap:6px !important;
    min-height:0 !important;
    margin:5px 0 0 !important;
    padding:0 !important;
    font-family:var(--shan-sans) !important;
    line-height:1.2 !important;
}
.shan-product-card__rating .shan-card-stars{
    display:inline-flex !important;
    align-items:center !important;
    gap:2px !important;
    color:#e5a332 !important;
    line-height:1 !important;
}
.shan-product-card__rating .shan-card-stars > svg{
    display:block;
    width:17px;
    height:17px;
    flex:0 0 17px;
}
.shan-product-card__rating .shan-card-rating-value{
    color:#555 !important;
    font-size:13px !important;
    font-weight:400 !important;
    line-height:1 !important;
}
/* ---------- WISHLIST HEART ---------- */

/*
 * No circle.
 * Unsaved = solid white heart.
 * Saved   = solid burgundy heart.
 */

.shan-product-card > .shan-product-card__wishlist{
    position:absolute !important;
    top:8px !important;
    right:8px !important;
    z-index:20 !important;

    width:36px !important;
    height:36px !important;
    margin:0 !important;
}

.shan-product-card__wishlist .tinv-wraper,
.shan-product-card__wishlist .tinv-wishlist,
.shan-product-card__wishlist .tinvwl-loop-button-wrapper{
    display:block !important;
    width:36px !important;
    height:36px !important;
    margin:0 !important;
    padding:0 !important;
}

.shan-product-card__wishlist .tinvwl_add_to_wishlist_button{
    position:relative !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:36px !important;
    height:36px !important;
    min-width:36px !important;

    margin:0 !important;
    padding:0 !important;

    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;

    font-size:0 !important;
    line-height:1 !important;
}

/* Hide plugin text without disabling the real control. */

.shan-product-card__wishlist .tinvwl_add_to_wishlist_button > span{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
}

/* Kill competing TI pseudo-element presentation. */

.shan-product-card__wishlist .tinvwl_add_to_wishlist_button::before{
    content:none !important;
    display:none !important;
}

/* One shared rounded SVG heart, independent of font rendering. */

.shan-product-card__wishlist .tinvwl_add_to_wishlist_button::after{
    content:"" !important;
    display:block !important;
    width:32px !important;
    height:30px !important;
    flex:0 0 32px !important;
    background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20transform%3D%22translate%2812%2012%29%20scale%280.92%201.04%29%20translate%28-12%20-12%29%22%20d%3D%22M20.84%204.61a5.5%205.5%200%200%200-7.78%200L12%205.67l-1.06-1.06a5.5%205.5%200%200%200-7.78%207.78L12%2021.23l8.84-8.84a5.5%205.5%200%200%200%200-7.78Z%22%20fill%3D%22%23ffffff%22%20stroke%3D%22%23786b60%22%20stroke-width%3D%220.65%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") !important;
    background-size:contain !important;
    background-repeat:no-repeat !important;
    background-position:center !important;
    filter:drop-shadow(0 1px 2px rgba(36,32,29,.22));
    transition:transform 140ms ease !important;
}

/* Favorited */
.shan-product-card__wishlist
.tinvwl_add_to_wishlist_button.tinvwl-product-in-list::after,
.shan-product-card__wishlist
.tinvwl_add_to_wishlist_button.tinvwl-product-make-remove::after{
    background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20transform%3D%22translate%2812%2012%29%20scale%280.92%201.04%29%20translate%28-12%20-12%29%22%20d%3D%22M20.84%204.61a5.5%205.5%200%200%200-7.78%200L12%205.67l-1.06-1.06a5.5%205.5%200%200%200-7.78%207.78L12%2021.23l8.84-8.84a5.5%205.5%200%200%200%200-7.78Z%22%20fill%3D%22%23721e2b%22%20stroke%3D%22%23fffaf1%22%20stroke-width%3D%220.65%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") !important;
}

@media(hover:hover){
    .shan-product-card__wishlist
    .tinvwl_add_to_wishlist_button:hover{
        background:transparent !important;
        box-shadow:none !important;
        transform:none !important;
    }

    .shan-product-card__wishlist
    .tinvwl_add_to_wishlist_button:hover::after{
        transform:scale(1.06) !important;
    }
}

.shan-product-card__wishlist
.tinvwl_add_to_wishlist_button:focus-visible{
    outline:2px solid #721e2b !important;
    outline-offset:2px !important;
}


/* ---------- BADGES ---------- */

.shan-product-card .shan-product-badges{
    position:absolute !important;
    top:9px !important;
    left:9px !important;
    z-index:10 !important;

    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:5px !important;

    max-width:calc(100% - 52px) !important;

    pointer-events:none !important;
}

.shan-product-card .shan-product-badges .shan-badge{
    position:static !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;

    height:24px !important;
    min-height:24px !important;

    margin:0 !important;
    padding:0 9px !important;

    border:1px solid transparent !important;
    border-radius:4px !important;

    box-shadow:0 1px 4px rgba(36,32,29,.12) !important;

    font-family:var(--shan-sans) !important;
    font-size:8px !important;
    font-weight:800 !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
}

.shan-product-card .shan-badge--sale{
    background:#721e2b !important;
    border-color:#721e2b !important;
    color:#fffaf1 !important;
}

.shan-product-card .shan-badge--featured{
    background:#c59a45 !important;
    border-color:#c59a45 !important;
    color:#4c111b !important;
}

.shan-product-card .shan-badge--stock{
    background:rgba(36,32,29,.92) !important;
    border-color:rgba(36,32,29,.92) !important;
    color:#fffaf1 !important;
}


/* ---------- MOBILE DIMENSIONS ---------- */

@media(width < 1024px){

    .shan-product-card__title,
    .shan-product-card h2.shan-product-card__title,
    .shan-product-card h3.shan-product-card__title,
    .shan-commerce .shan-product-card h2.woocommerce-loop-product__title.shan-product-card__title{
        font-size:16px !important;
        line-height:1.28 !important;
    }

    .shan-product-card__price,
    .shan-commerce .shan-product-card__price{
    display:flex !important;
    align-items:baseline !important;
    flex-wrap:wrap !important;
    gap:0 !important;
    min-height:0 !important;
        font-size:17px !important;
    }

}


/* END H&H PRODUCT CARD — CANONICAL FINAL */

/* =========================================================
   PDP PRICE ROW — price | Free Shipping
   ========================================================= */
.shan-commerce--single .shan-single-price{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:8px 12px !important;
}

.shan-commerce--single .shan-single-price .shan-shipping-note{
    display:inline-flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
    gap:6px !important;
    margin:0 !important;
    padding-left:14px !important;
    border-left:1px solid rgba(36,32,29,.28) !important;
    color:var(--shan-burgundy) !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
}

.shan-commerce--single .shan-single-price .shan-shipping-note svg{
    width:18px !important;
    height:18px !important;
    flex:0 0 18px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.6 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}

@media(width < 1024px){
    .shan-commerce--single .shan-single-price{
        flex-wrap:nowrap !important;
        margin-bottom:16px !important;
    }
}
/* END PDP PRICE ROW */
/* =========================================================
   PDP HIDE IN-STOCK STATUS
   Keep out-of-stock availability visible.
   ========================================================= */
.shan-commerce--single .summary .stock.in-stock{
    display:none !important;
}
/* END PDP HIDE IN-STOCK STATUS */

/* =========================================================
   MOBILE PDP — hide redundant Additional information heading
   Keep the actual product attributes visible.
   ========================================================= */
@media(width < 1024px){
    .shan-mobile-pdp-section__content > h2{
        display:none !important;
    }
}
/* END PDP HIDE ADDITIONAL INFORMATION HEADING */

/* =========================================================
   MOBILE PDP REVIEWS — FINAL POLISH
   ========================================================= */
@media(width < 1024px){

    /* Accordion already displays Reviews (count). */
    .shan-mobile-pdp-section__content #reviews #comments > h2{
        display:none !important;
    }

    /* Remove generic WooCommerce reviewer avatar. */
    .shan-mobile-pdp-section__content #reviews #comments ol.commentlist li img.avatar{
        display:none !important;
    }

    /* Reduce vertical footprint of review cards. */
    .shan-mobile-pdp-section__content #reviews #comments ol.commentlist{
        gap:10px !important;
    }

    .shan-mobile-pdp-section__content #reviews #comments ol.commentlist li{
        margin:0 !important;
        padding:14px !important;
    }

    .shan-mobile-pdp-section__content #reviews #comments ol.commentlist li .comment-text{
        margin:0 !important;
    }

    .shan-mobile-pdp-section__content #reviews #comments ol.commentlist li .description p{
        margin-bottom:6px !important;
    }

    .shan-mobile-pdp-section__content #reviews #comments ol.commentlist li .description p:last-child{
        margin-bottom:0 !important;
    }
}
/* END MOBILE PDP REVIEWS */

/* HH-MOBILE-CART-POLISH-20260917
   Mobile Block Cart refinement.
   Compact hierarchy, cleaner product row and modern totals card.
   Checkout/payment behavior intentionally untouched.
*/
@media(width < 1024px){

    /* ---------- CART HERO ---------- */

    .shan-purchase--cart .shan-purchase-hero{
        padding:30px 0 16px !important;
    }

    .shan-purchase--cart .shan-purchase-hero h1{
        font-size:36px !important;
        line-height:1.05 !important;
    }

    .shan-purchase--cart .shan-purchase__content{
        padding:24px 0 64px !important;
    }


    /* ---------- CART LAYOUT ---------- */
    /* HH Compact owns these structural properties across Woo container sizes. */
    .shan-purchase--cart .wc-block-cart{
        display:block !important;
    }
    .shan-purchase--cart .wc-block-cart__main{
        width:100% !important;
        max-width:none !important;
    }
    .shan-purchase--cart table.wc-block-cart-items tbody{
        display:block;
        width:100%;
    }
    .shan-purchase--cart table.wc-block-cart-items .wc-block-cart-items__row{
        display:grid;
        grid-template-columns:80px minmax(0,1fr) auto;
        column-gap:16px;
        width:100%;
        box-sizing:border-box;
    }
    .shan-purchase--cart table.wc-block-cart-items .wc-block-cart-item__image{
        grid-column:1;
        grid-row:1;
    }
    .shan-purchase--cart table.wc-block-cart-items .wc-block-cart-item__product{
        grid-column:2 !important;
        grid-row:1 !important;
        min-width:0;
        width:auto !important;
        padding:0 6px !important;
    }
    .shan-purchase--cart table.wc-block-cart-items .wc-block-cart-item__total{
        grid-column:3;
        grid-row:1;
        width:auto;
        margin:0;
    }


    .shan-purchase--cart .wc-block-cart{
        gap:0 !important;
    }

    .shan-purchase--cart .wc-block-cart__main{
        margin:0 !important;
        padding:0 !important;
    }

    .shan-purchase--cart .wc-block-cart-items{
        margin:0 !important;
        border:0 !important;
        background:transparent !important;
    }

    .shan-purchase--cart .wc-block-cart-items thead{
        display:none !important;
    }


    /* ---------- PRODUCT ROW ---------- */

    .shan-purchase--cart .wc-block-cart-items
    .wc-block-cart-items__row{
        position:relative !important;
        min-height:0 !important;
        padding:0 0 14px !important;
        border-bottom:1px solid rgba(36,32,29,.12) !important;
    }

    .shan-purchase--cart .wc-block-cart-items
    .wc-block-cart-items__row td{
        padding-top:0 !important;
        padding-bottom:0 !important;
        border:0 !important;
    }

    .shan-purchase--cart .wc-block-cart-item__image{
        padding-right:14px !important;
    }

    .shan-purchase--cart .wc-block-cart-item__image img{
        width:82px !important;
        max-width:82px !important;
        aspect-ratio:4/5 !important;
        border-radius:8px !important;
        object-fit:cover !important;
    }

    .shan-purchase--cart .wc-block-components-product-name{
        margin:0 0 5px !important;
        color:var(--shan-ink) !important;
        font-family:var(--shan-serif) !important;
        font-size:17px !important;
        font-weight:500 !important;
        line-height:1.25 !important;
    }

    /*
     * Cart does not need catalog/PDP description metadata.
     * Remove it completely from the cart presentation.
     */
    .shan-purchase--cart .wc-block-components-product-metadata{
        display:none !important;
    }

    .shan-purchase--cart .wc-block-components-product-price{
        margin:0 0 10px !important;
        color:var(--shan-muted) !important;
        font-size:12px !important;
        line-height:1.3 !important;
    }

    .shan-purchase--cart .wc-block-components-quantity-selector{
        width:96px !important;
        height:36px !important;
        margin:0 !important;
        border:1px solid rgba(36,32,29,.18) !important;
        border-radius:7px !important;
        background:#fff !important;
    }

    .shan-purchase--cart
    .wc-block-components-quantity-selector
    input.wc-block-components-quantity-selector__input{
        min-width:30px !important;
        font-size:13px !important;
    }

    .shan-purchase--cart
    .wc-block-components-quantity-selector
    button{
        min-width:30px !important;
    }

    .shan-purchase--cart .wc-block-cart-item__remove-link{
        margin-top:7px !important;
        color:var(--shan-burgundy) !important;
        font-size:11px !important;
        line-height:1.2 !important;
        text-decoration:none !important;
    }

    .shan-purchase--cart .wc-block-cart-item__total{
        padding-left:8px !important;
        white-space:nowrap !important;
    }

    .shan-purchase--cart
    .wc-block-cart-item__total
    .wc-block-components-product-price{
        margin:0 !important;
        color:var(--shan-ink) !important;
        font-family:var(--shan-serif) !important;
        font-size:16px !important;
        font-weight:600 !important;
    }


    /* ---------- TOTALS ---------- */

    .shan-purchase--cart .wc-block-cart__sidebar{
        width:100% !important;
        margin-top:20px !important;
        padding:18px 18px 16px !important;
        border:1px solid rgba(36,32,29,.12) !important;
        border-radius:12px !important;
        background:var(--shan-cream) !important;
        box-shadow:0 4px 16px rgba(36,32,29,.035) !important;
    }

    .shan-purchase--cart .wc-block-cart__totals-title{
        margin:0 0 10px !important;
        font-family:var(--shan-serif) !important;
        font-size:22px !important;
        font-weight:500 !important;
        line-height:1.2 !important;
    }

    .shan-purchase--cart .wc-block-components-totals-wrapper{
        padding:11px 0 !important;
        border-color:rgba(36,32,29,.11) !important;
    }

    .shan-purchase--cart
    .wc-block-components-totals-item{
        font-size:13px !important;
    }

    .shan-purchase--cart
    .wc-block-components-totals-item__label{
        color:var(--shan-ink) !important;
    }

    .shan-purchase--cart
    .wc-block-components-totals-item__value{
        color:var(--shan-ink) !important;
        font-weight:600 !important;
    }

    .shan-purchase--cart
    .wc-block-components-totals-footer-item{
        padding-top:13px !important;
    }

    .shan-purchase--cart
    .wc-block-components-totals-footer-item
    .wc-block-components-totals-item__label{
        font-family:var(--shan-serif) !important;
        font-size:18px !important;
        font-weight:500 !important;
    }

    .shan-purchase--cart
    .wc-block-components-totals-footer-item
    .wc-block-components-totals-item__value{
        color:var(--shan-burgundy) !important;
        font-family:var(--shan-serif) !important;
        font-size:20px !important;
        font-weight:600 !important;
    }

    .shan-purchase--cart
    .wc-block-components-totals-coupon{
        margin:0 !important;
    }

    .shan-purchase--cart
    .wc-block-components-totals-coupon__button{
        color:var(--shan-burgundy) !important;
        font-size:12px !important;
        font-weight:700 !important;
        text-decoration:none !important;
    }

    .shan-purchase--cart .wc-block-cart__submit{
        margin-top:14px !important;
    }
}

/* END HH MOBILE CART POLISH */


/* Mobile cart: breathing room above subsequent product rows. */
@media(width < 1024px){
    .shan-purchase--cart .wc-block-cart-items
    .wc-block-cart-items__row:not(:first-child){
        padding-top:24px !important;
    }
}

/* HH-CART-LINES-CLEAN-20260918 */
@media(width < 1024px){

    /* Keep dividers between products, not after the final product. */
    .shan-purchase--cart .wc-block-cart-items .wc-block-cart-items__row:last-child{
        border-bottom:0 !important;
    }

}

@media(width < 1024px), (min-width:1024px){

    /* Coupon area: remove redundant horizontal rules. */
    .shan-purchase--cart .wc-block-components-totals-coupon{
        border-top:0 !important;
        border-bottom:0 !important;
    }

    .shan-purchase--cart .wc-block-components-totals-coupon .wc-block-components-totals-wrapper{
        border-top:0 !important;
        border-bottom:0 !important;
    }

    /* Expanded coupon controls need whitespace, not another rule. */
    .shan-purchase--cart .wc-block-components-totals-coupon__form{
        padding-bottom:8px !important;
        border-bottom:0 !important;
    }
}





/* HH-CART-COUPON-FINAL-20260918 */
/* Desktop reuses the approved iPhone native coupon form appearance. */
@media(width < 1024px), (min-width:1024px){

    .shan-purchase--cart
    .wc-block-components-totals-coupon__input input{
        border:1px solid rgba(36,32,29,.22) !important;
        border-radius:7px !important;
        box-shadow:none !important;
    }

    .shan-purchase--cart
    .wc-block-components-totals-coupon__input input:focus{
        border-color:var(--shan-burgundy) !important;
        box-shadow:0 0 0 1px var(--shan-burgundy) !important;
        outline:0 !important;
    }

    .shan-purchase--cart
    .wc-block-components-totals-coupon__form
    .wc-block-components-totals-coupon__button{
        background:var(--shan-burgundy) !important;
        background-color:var(--shan-burgundy) !important;
        border:1px solid var(--shan-burgundy) !important;
        border-radius:7px !important;
        color:#fff !important;
        opacity:1 !important;
        box-shadow:none !important;
        font-size:13px !important;
        font-weight:700 !important;
    }

    .shan-purchase--cart
    .wc-block-components-totals-coupon__form
    .wc-block-components-totals-coupon__button .wc-block-components-button__text{
        color:#fff !important;
        opacity:1 !important;
    }
}
/* END HH-CART-COUPON-FINAL-20260918 */

/* =========================================================
   HH-MOBILE-CHECKOUT-POLISH-20260918
   Mobile Block Checkout aligned with HH Cart design system.
   Presentation only. Checkout/payment/shipping logic untouched.
   ========================================================= */
@media(width < 1024px){

    /* ---------- PAGE RHYTHM ---------- */

    .shan-purchase--checkout .shan-purchase-hero{
        padding:30px 0 16px !important;
    }

    .shan-purchase--checkout .shan-purchase-hero h1{
        font-size:36px !important;
        line-height:1.05 !important;
    }

    .shan-purchase--checkout .shan-purchase__content{
        padding:24px 0 64px !important;
    }

    .shan-purchase--checkout .wc-block-checkout{
        gap:0 !important;
    }

    .shan-purchase--checkout .wc-block-checkout__main{
        margin:0 !important;
        padding:0 !important;
    }

    .shan-purchase--checkout
    .wc-block-components-checkout-step{
        margin-bottom:28px !important;
    }

    .shan-purchase--checkout
    .wc-block-components-checkout-step__heading-container{
        gap:5px !important;
        margin-bottom:12px !important;
    }

    .shan-purchase--checkout
    .wc-block-components-checkout-step__title{
        font-size:24px !important;
        line-height:1.15 !important;
    }

    .shan-purchase--checkout
    .wc-block-components-checkout-step__content > *{
        margin-bottom:12px;
    }


    /* ---------- FORM CONTROLS ---------- */
    .shan-purchase--checkout .wc-block-checkout__main{
        width:100%;
        max-width:none;
    }


    .shan-purchase--checkout
    .wc-block-components-text-input input,

    .shan-purchase--checkout
    .wc-block-components-address-form input,

    .shan-purchase--checkout
    .wc-block-components-address-form select,

    .shan-purchase--checkout
    .wc-block-components-textarea{
        border-color:rgba(36,32,29,.22) !important;
        border-radius:7px !important;
        box-shadow:none !important;
    }


    /* ---------- ORDER SUMMARY ---------- */

    .shan-purchase--checkout .wc-block-checkout__sidebar{
        width:100% !important;
        margin-top:18px !important;
        padding:18px !important;
        border:1px solid rgba(36,32,29,.12) !important;
        border-radius:12px !important;
        background:var(--shan-cream) !important;
        box-shadow:0 4px 16px rgba(36,32,29,.035) !important;
    }

    .shan-purchase--checkout
    .wc-block-components-checkout-order-summary__title{
        padding:0 0 14px !important;
    }

    /*
     * Checkout should use the same clean product presentation
     * as Cart. Product descriptions/metadata are unnecessary here.
     */
    .shan-purchase--checkout
    .wc-block-components-product-metadata{
        display:none !important;
    }

    .shan-purchase--checkout
    .wc-block-components-order-summary-item{
        display:grid !important;
        grid-template-columns:82px minmax(0,1fr) auto !important;
        column-gap:14px !important;
        align-items:start !important;
        padding:14px 0 !important;
    }

    .shan-purchase--checkout

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__image{
        position:relative !important;
        grid-column:1 !important;
        grid-row:1 !important;
        width:82px !important;
        min-width:82px !important;
        margin:0 !important;
    }

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__description{
        position:relative !important;
        grid-column:2 !important;
        grid-row:1 !important;
        min-width:0 !important;
        margin:0 !important;
    }

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__total-price{
        position:relative !important;
        grid-column:3 !important;
        grid-row:1 !important;
        min-width:max-content !important;
        margin:0 !important;
        text-align:right !important;
    }

    .wc-block-components-order-summary-item:first-child{
        padding-top:0 !important;
    }

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__image img{
        width:82px !important;
        max-width:82px !important;
        aspect-ratio:4/5 !important;
        border-radius:8px !important;
        object-fit:cover !important;
    }

    .shan-purchase--checkout
    .wc-block-components-order-summary-item
    .wc-block-components-product-name{
        color:var(--shan-ink) !important;
        font-family:var(--shan-serif) !important;
        font-size:17px !important;
        font-weight:500 !important;
        line-height:1.25 !important;
    }

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__description{
        font-size:13px !important;
        line-height:1.35 !important;
    }


    /* ---------- TOTALS ---------- */

    .shan-purchase--checkout
    .wc-block-components-totals-wrapper{
        padding:10px 0 !important;
        border-color:rgba(36,32,29,.11) !important;
    }

    .shan-purchase--checkout
    .wc-block-components-totals-footer-item{
        padding-top:12px !important;
    }


    /* ---------- COUPON ---------- */

    .shan-purchase--checkout
    .wc-block-components-totals-coupon__input input{
        border:1px solid rgba(36,32,29,.22) !important;
        border-radius:7px !important;
        box-shadow:none !important;
    }

    .shan-purchase--checkout
    .wc-block-components-totals-coupon__input input:focus{
        border-color:var(--shan-burgundy) !important;
        box-shadow:0 0 0 1px var(--shan-burgundy) !important;
        outline:0 !important;
    }

    .shan-purchase--checkout
    .wc-block-components-totals-coupon__form
    .wc-block-components-totals-coupon__button{
        background:var(--shan-burgundy) !important;
        background-color:var(--shan-burgundy) !important;
        border:1px solid var(--shan-burgundy) !important;
        border-radius:7px !important;
        color:#fff !important;
        opacity:1 !important;
        box-shadow:none !important;
        font-size:13px !important;
        font-weight:700 !important;
    }

    .shan-purchase--checkout
    .wc-block-components-totals-coupon__button
    .wc-block-components-button__text{
        color:#fff !important;
        opacity:1 !important;
    }


    /* ---------- PRIMARY CHECKOUT ACTION ---------- */

    .shan-purchase--checkout
    .wc-block-components-checkout-place-order-button{
        min-height:52px !important;
        border-radius:7px !important;
        background:var(--shan-burgundy) !important;
        background-color:var(--shan-burgundy) !important;
        color:#fff !important;
        font-weight:700 !important;
    }

    .shan-purchase--checkout
    .wc-block-components-checkout-place-order-button
    .wc-block-components-button__text{
        color:#fff !important;
    }
}
/* END HH-MOBILE-CHECKOUT-POLISH-20260918 */





/* =========================================================
   HH-CHECKOUT-MOBILE-REDUNDANT-SIDEBAR-20260918
   Woo Blocks renders the normal totals sidebar after checkout
   actions on mobile in addition to its mobile Order Summary Fill.
   Keep the mobile Fill; hide only the redundant normal sidebar.
   ========================================================= */
@media (max-width:700px){
    .shan-purchase--checkout .wc-block-checkout__sidebar{
        display:none !important;
    }
}
/* END HH-CHECKOUT-MOBILE-REDUNDANT-SIDEBAR-20260918 */

/* =========================================================
   HH-ORDER-RECEIVED-MOBILE-TABLE-20260918
   Keep Woo order-details rows stable on narrow screens.
   Prevent long values such as Payment method from colliding
   with adjacent rows.
   ========================================================= */
@media(max-width:700px){
    .woocommerce-order-received
    .woocommerce-table--order-details tfoot th{
        width:62% !important;
        vertical-align:top !important;
    }

    .woocommerce-order-received
    .woocommerce-table--order-details tfoot td{
        width:38% !important;
        vertical-align:top !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
        word-break:normal !important;
        line-height:1.45 !important;
    }
}
/* END HH-ORDER-RECEIVED-MOBILE-TABLE-20260918 */

/* =========================================================
   HH-ORDER-RECEIVED-ADDRESS-SPACING-20260918
   Give Billing and Shipping address sections clear separation.
   ========================================================= */
@media(max-width:700px){
    .woocommerce-order-received
    .woocommerce-customer-details
    .woocommerce-column--shipping-address{
        margin-top:28px !important;
    }
}
/* END HH-ORDER-RECEIVED-ADDRESS-SPACING-20260918 */

/* =========================================================
   HH-ORDER-RECEIVED-DETAILS-POLISH-20260918
   Modern readable receipt treatment for Order Details.
   Presentation only. No WooCommerce structure changes.
   ========================================================= */

.woocommerce-order-received
.woocommerce-table--order-details{
    overflow:hidden !important;
    border:1px solid rgba(36,32,29,.10) !important;
    border-radius:9px !important;
    background:#fff !important;
}

.woocommerce-order-received
.woocommerce-table--order-details thead th{
    padding:14px 16px !important;
    background:color-mix(in srgb, var(--shan-cream) 50%, #fff) !important;
    color:var(--shan-ink) !important;
    font-size:13px !important;
    font-weight:700 !important;
}

.woocommerce-order-received
.woocommerce-table--order-details tbody td{
    padding:15px 16px !important;
    vertical-align:middle !important;
    line-height:1.5 !important;
}

.woocommerce-order-received
.woocommerce-table--order-details tfoot th,
.woocommerce-order-received
.woocommerce-table--order-details tfoot td{
    padding:13px 16px !important;
    vertical-align:middle !important;
}

.woocommerce-order-received
.woocommerce-table--order-details tfoot th{
    color:var(--shan-muted) !important;
    font-size:13px !important;
    font-weight:600 !important;
}

.woocommerce-order-received
.woocommerce-table--order-details tfoot td{
    color:var(--shan-ink) !important;
    font-size:14px !important;
    font-weight:600 !important;
}

/* Total receives the strongest visual hierarchy. */
.woocommerce-order-received
.woocommerce-table--order-details tfoot tr:nth-last-child(3) th,
.woocommerce-order-received
.woocommerce-table--order-details tfoot tr:nth-last-child(3) td{
    padding-top:16px !important;
    padding-bottom:16px !important;
    border-top:2px solid rgba(114,30,43,.20) !important;
    background:rgba(248,240,226,.55) !important;
    color:var(--shan-burgundy) !important;
    font-size:16px !important;
    font-weight:800 !important;
}

/* Payment and note are supporting information, not totals. */
.woocommerce-order-received
.woocommerce-table--order-details tfoot tr:nth-last-child(-n+2) th,
.woocommerce-order-received
.woocommerce-table--order-details tfoot tr:nth-last-child(-n+2) td{
    background:#fff !important;
    font-size:13px !important;
}

@media(max-width:700px){
    .woocommerce-order-received
    .woocommerce-table--order-details thead th,
    .woocommerce-order-received
    .woocommerce-table--order-details tbody td,
    .woocommerce-order-received
    .woocommerce-table--order-details tfoot th,
    .woocommerce-order-received
    .woocommerce-table--order-details tfoot td{
        padding-left:12px !important;
        padding-right:12px !important;
    }
}

/* END HH-ORDER-RECEIVED-DETAILS-POLISH-20260918 */

/* =========================================================
   HH-ORDER-RECEIVED-OVERVIEW-20260918
   Mobile receipt summary using Woo semantic field classes.
   ========================================================= */
@media(max-width:700px){

    .woocommerce-order-received .woocommerce-order-overview{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        margin:18px 0 42px !important;
        padding:0 !important;
        border:1px solid rgba(36,32,29,.13) !important;
        border-radius:9px !important;
        background:var(--shan-cream) !important;
        overflow:hidden !important;
        list-style:none !important;
    }

    .woocommerce-order-received .woocommerce-order-overview li{
        float:none !important;
        width:auto !important;
        min-width:0 !important;
        margin:0 !important;
        padding:13px 16px !important;
        border:0 !important;
        box-sizing:border-box !important;
        white-space:normal !important;
    }

    /* Order number */
    .woocommerce-order-received
    .woocommerce-order-overview__order{
        grid-column:1 !important;
        grid-row:1 !important;
        border-right:1px solid rgba(36,32,29,.10) !important;
        border-bottom:1px solid rgba(36,32,29,.10) !important;
    }

    /* Date */
    .woocommerce-order-received
    .woocommerce-order-overview__date{
        grid-column:2 !important;
        grid-row:1 !important;
        border-bottom:1px solid rgba(36,32,29,.10) !important;
    }

    /* Email */
    .woocommerce-order-received
    .woocommerce-order-overview__email{
        grid-column:1 / -1 !important;
        grid-row:2 !important;
        border-bottom:1px solid rgba(36,32,29,.10) !important;
    }

    /* Total */
    .woocommerce-order-received
    .woocommerce-order-overview__total{
        grid-column:1 !important;
        grid-row:3 !important;
        border-right:1px solid rgba(36,32,29,.10) !important;
    }

    /* Payment */
    .woocommerce-order-received
    .woocommerce-order-overview__payment-method{
        grid-column:2 !important;
        grid-row:3 !important;
    }

    .woocommerce-order-received
    .woocommerce-order-overview li strong{
        display:block !important;
        margin-top:5px !important;
        color:var(--shan-ink) !important;
        font-size:14px !important;
        font-weight:700 !important;
        line-height:1.4 !important;
        overflow-wrap:anywhere !important;
    }

    .woocommerce-order-received
    .woocommerce-order-overview__total strong{
        color:var(--shan-burgundy) !important;
        font-size:16px !important;
    }
}

/* END HH-ORDER-RECEIVED-OVERVIEW-20260918 */

/* =========================================================
   HH-ORDER-RECEIVED-THANKYOU-20260918
   Refined confirmation-message typography.
   ========================================================= */
.woocommerce-order-received
.woocommerce-thankyou-order-received{
    margin:0 0 18px !important;
    color:var(--shan-ink) !important;
    font-family:var(--shan-sans) !important;
    font-size:17px !important;
    font-weight:500 !important;
    line-height:1.5 !important;
}
/* END HH-ORDER-RECEIVED-THANKYOU-20260918 */

/* =========================================================
   HH-CHECKOUT-QUANTITY-BADGE-20260918
   Make checkout quantity unmistakable over product imagery.
   ========================================================= */
.shan-purchase--checkout
.wc-block-components-order-summary-item__quantity{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:27px !important;
    height:27px !important;
    min-width:27px !important;
    padding:0 !important;
    border:2px solid #fffaf1 !important;
    border-radius:50% !important;
    background:var(--shan-burgundy) !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1 !important;
    box-sizing:border-box !important;
    box-shadow:0 1px 4px rgba(36,32,29,.22) !important;
}
/* END HH-CHECKOUT-QUANTITY-BADGE-20260918 */

/* =========================================================

/* =========================================================

/* =========================================================
   HH-CHECKOUT-EMPTY-TOTALS-20260918
   Woo Blocks renders empty Discount and Fee totals wrappers.
   Hide only when empty; real discounts/fees remain visible.
   ========================================================= */
@media(width < 1024px){

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-discount-block:empty,

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-fee-block:empty{
        display:none !important;
        margin:0 !important;
        padding:0 !important;
        min-height:0 !important;
    }
}
/* END HH-CHECKOUT-EMPTY-TOTALS-20260918 */


/* =========================================================
   H&H MOBILE NAVIGATION DRAWER — 2026-09 redesign
   Desktop navigation remains unchanged.
   ========================================================= */
.shan-mobile-drawer{display:none}

@media(width < 1200px){
  /* Lift the header stacking context above the utility/free-shipping bar so the fixed drawer truly starts at viewport top. */
  .shan-site-header{z-index:10002!important}

  html.shan-mobile-drawer-open,
  body.shan-mobile-drawer-open{overflow:hidden!important}

  .shan-header-actions .shan-account-menu,
  .shan-header-actions > .shan-account-link{display:none!important}

  .shan-nav.shan-nav--header{
    position:fixed!important;
    top:0!important;
    bottom:auto!important;
    left:0!important;
    right:auto!important;
    z-index:10001!important;
    display:block!important;
    width:min(88vw,390px)!important;
    max-width:none!important;
    height:100vh!important;
    height:100dvh!important;
    max-height:none!important;
    padding:0!important;
    border:0!important;
    background:var(--shan-paper)!important;
    box-shadow:18px 0 48px rgba(36,32,29,.18)!important;
    overflow:hidden!important;
    visibility:hidden!important;
    opacity:0!important;
    transform:translateX(-102%)!important;
    transition:transform .24s ease,opacity .18s ease,visibility 0s linear .24s!important;
  }

  .shan-nav.shan-nav--header.is-open{
    visibility:visible!important;
    opacity:1!important;
    transform:translateX(0)!important;
    transition:transform .24s ease,opacity .18s ease!important;
  }

  .shan-nav.shan-nav--header::after{
    content:"";
    position:fixed;
    inset:0 0 0 min(88vw,390px);
    z-index:-1;
    background:rgba(36,32,29,.42);
    pointer-events:none;
  }

  .shan-nav.shan-nav--header.is-open::after{pointer-events:auto}

  .shan-nav.shan-nav--header > .shan-nav__list{display:none!important}
  .shan-mobile-drawer{display:block;height:100%;overflow:hidden}
  .shan-mobile-drawer__panel{height:100%;padding:22px 24px 26px;overflow-y:auto;overscroll-behavior:contain;background:var(--shan-paper)}
  .shan-mobile-drawer__panel[hidden]{display:none!important}

  .shan-mobile-drawer__head,
  .shan-mobile-drawer__subhead{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:58px;margin-bottom:20px}
  .shan-mobile-drawer__subhead{grid-template-columns:44px 1fr 44px;border-bottom:1px solid var(--shan-line);margin:0 -4px 12px;padding-bottom:12px}
  .shan-mobile-drawer__subhead strong{justify-self:center;font-family:var(--shan-serif);font-size:22px;font-weight:600}

  .shan-wordmark--drawer{display:flex!important;justify-self:start!important;width:min(210px,62vw)!important;align-items:flex-start!important;text-align:left!important}
  .shan-wordmark--drawer img{display:block!important;width:100%!important;height:auto!important;max-height:72px!important;object-fit:contain!important;object-position:left center!important;transform:none!important}

  .shan-mobile-drawer__close,
  .shan-mobile-drawer__back{display:grid!important;width:44px!important;height:44px!important;padding:0!important;place-items:center!important;border:0!important;background:transparent!important;color:var(--shan-burgundy)!important;box-shadow:none!important;font-size:34px!important;font-weight:300!important;line-height:1!important;cursor:pointer!important}
  .shan-mobile-drawer__back{font-size:25px!important;color:var(--shan-ink)!important}

  .shan-mobile-drawer__primary{border-top:1px solid var(--shan-line);border-bottom:1px solid var(--shan-line);padding:8px 0}
  .shan-mobile-drawer__row{display:flex!important;width:100%;min-height:54px;align-items:center;justify-content:space-between;padding:0 2px!important;border:0!important;background:transparent!important;color:var(--shan-ink)!important;font-family:var(--shan-sans);font-size:17px!important;font-weight:600!important;letter-spacing:0!important;text-align:left;text-decoration:none!important;text-transform:none!important}
  .shan-mobile-drawer__row > span:last-child{font-size:27px;font-weight:300;color:var(--shan-muted)}

  .shan-mobile-drawer__section{display:flex;flex-direction:column;gap:0;padding:13px 0;border-bottom:1px solid var(--shan-line)}
  .shan-mobile-drawer__section a,
  .shan-mobile-drawer__disabled{display:flex;min-height:43px;align-items:center;padding:0 2px;color:var(--shan-ink)!important;font-size:15px!important;font-weight:500!important;text-decoration:none!important;text-transform:none!important}
  .shan-mobile-drawer__disabled{color:var(--shan-muted)!important}

  .shan-mobile-drawer__social{display:flex;gap:18px;align-items:center;padding:19px 2px;border-bottom:1px solid var(--shan-line)}
  .shan-mobile-drawer__social > span{display:grid;width:30px;height:30px;place-items:center;color:var(--shan-burgundy)}
  .shan-mobile-drawer__social svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}
  .shan-mobile-drawer__social span:first-child svg{fill:currentColor;stroke:none}

  .shan-mobile-drawer__currency{display:flex;min-height:54px;align-items:center;justify-content:space-between;padding:0 2px;color:var(--shan-ink);font-size:14px;font-weight:700;letter-spacing:.06em}
  .shan-mobile-drawer__currency span:last-child{font-size:25px;font-weight:300;color:var(--shan-muted)}

  .shan-mobile-drawer__categories,
  .shan-mobile-drawer__account-links{display:flex;flex-direction:column}
  .shan-mobile-drawer__categories a,
  .shan-mobile-drawer__account-links a{display:flex!important;min-height:52px;align-items:center;padding:0 3px!important;border-bottom:1px solid rgba(113,104,97,.18)!important;color:var(--shan-ink)!important;font-size:16px!important;font-weight:500!important;letter-spacing:0!important;text-decoration:none!important;text-transform:none!important}
  .shan-mobile-drawer__account-links .shan-mobile-drawer__logout{margin-top:14px;border-top:1px solid var(--shan-line)!important;border-bottom:0!important;color:var(--shan-burgundy)!important;font-weight:700!important}

  .shan-mobile-menu-close{display:none!important}
}


/* H&H mobile drawer overlay, kept separate so the dimmed storefront cannot be clicked. */
.shan-mobile-drawer-overlay{display:none}
@media(width < 1200px){
  .shan-mobile-drawer-overlay{
    position:fixed!important;
    inset:0!important;
    z-index:10000!important;
    display:block!important;
    background:rgba(36,32,29,.42)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .18s ease,visibility 0s linear .18s!important;
  }
  body.shan-mobile-drawer-open .shan-mobile-drawer-overlay{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:opacity .18s ease!important;
  }
  .shan-nav.shan-nav--header::after{display:none!important}
}

/* =========================================================
   HH-MOBILE-DRAWER-REFERENCE-POLISH-20260918
   Approved reference-style main drawer.
   ========================================================= */
@media(width < 1200px){

  .shan-mobile-drawer__panel{
    padding:20px 24px 28px!important;
  }

  .shan-mobile-drawer__head{
    min-height:64px!important;
    margin-bottom:18px!important;
  }

  .shan-wordmark--drawer{
    width:min(205px,64vw)!important;
  }

  .shan-mobile-drawer__close{
    color:var(--shan-ink)!important;
    font-size:38px!important;
    font-weight:300!important;
  }

  .shan-mobile-drawer__primary{
    padding:8px 0 13px!important;
  }

  .shan-mobile-drawer__row{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 22px!important;
    column-gap:14px!important;
    min-height:52px!important;
    padding:0!important;

    font-family:var(--shan-sans)!important;
    font-size:16px!important;
    font-weight:500!important;
    line-height:1.2!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }

  .shan-mobile-drawer__row .shan-mobile-drawer__label{
    display:block!important;
    min-width:0!important;

    color:var(--shan-ink)!important;
    font-family:var(--shan-sans)!important;
    font-size:16px!important;
    font-weight:500!important;
    line-height:1.2!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }

  .shan-mobile-drawer__row .shan-mobile-drawer__chevron{
    justify-self:end!important;
    color:var(--shan-ink)!important;
    font-size:28px!important;
    font-weight:300!important;
    line-height:1!important;
  }

  .shan-mobile-drawer__icon{
    display:block!important;
    width:27px!important;
    height:27px!important;

    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.6!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;

    color:var(--shan-ink)!important;
  }

  .shan-mobile-drawer__section{
    padding:13px 0 15px!important;
  }

  .shan-mobile-drawer__section a,
  .shan-mobile-drawer__disabled{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    column-gap:14px!important;
    min-height:46px!important;
    align-items:center!important;
    padding:0!important;

    font-family:var(--shan-sans)!important;
    font-size:15px!important;
    font-weight:500!important;
    line-height:1.2!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }

  .shan-mobile-drawer__disabled{
    color:var(--shan-ink)!important;
    opacity:.58!important;
  }

  /*
   * Defensive hide as well as markup removal.
   * Prevents legacy CSS/markup from restoring these rows.
   */
  .shan-mobile-drawer__social,
  .shan-mobile-drawer__currency{
    display:none!important;
  }
}

/* END HH-MOBILE-DRAWER-REFERENCE-POLISH-20260918 */
/* =========================================================
   HH MOBILE HEADER GEOMETRY - 2026-09-18
   SVG canvas is tightly fitted. Header no longer compensates
   for whitespace that used to exist inside the logo asset.
   ========================================================= */

@media(width < 1024px){

  .shan-site-header{
    min-height:0 !important;
    padding:0 !important;
  }

  .shan-brand-row{
    position:relative !important;
    display:grid !important;

    width:100% !important;
    max-width:none !important;

    grid-template-columns:48px minmax(0,1fr) 48px !important;
    grid-template-rows:64px !important;

    min-height:64px !important;
    height:64px !important;

    padding:0 12px !important;
    margin:0 !important;

    align-items:center !important;
    column-gap:4px !important;

    overflow:visible !important;
  }

  /* Hamburger */
  .shan-brand-row > .shan-menu-toggle{
    position:static !important;

    grid-column:1 !important;
    grid-row:1 !important;

    justify-self:start !important;
    align-self:center !important;

    margin:0 !important;
    transform:none !important;
  }

  /* Properly cropped SVG logo */
  .shan-wordmark--header{
    position:static !important;

    grid-column:2 !important;
    grid-row:1 !important;

    display:block !important;

    width:156px !important;
    max-width:100% !important;
    height:auto !important;

    justify-self:center !important;
    align-self:center !important;

    margin:0 !important;
    padding:0 !important;

    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;

    overflow:visible !important;
    transform:none !important;
  }

  .shan-wordmark--header img{
    position:static !important;

    display:block !important;

    width:100% !important;
    max-width:100% !important;

    height:auto !important;
    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    object-fit:contain !important;
    object-position:center !important;

    transform:none !important;
  }

  /* Right-side header actions / cart */
  .shan-header-actions{
    position:static !important;

    grid-column:3 !important;
    grid-row:1 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;

    justify-self:end !important;
    align-self:center !important;

    width:auto !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    transform:none !important;
  }

}

/* END HH MOBILE HEADER GEOMETRY - 2026-09-18 */

/* =========================================================
   HH MOBILE FOOTER LOGO SPACING
   ========================================================= */
@media(max-width:560px){

  .shan-wordmark--footer{
    margin:12px 0 18px !important;
    padding:8px 0 !important;
  }

}

/* END HH MOBILE FOOTER LOGO SPACING */

/* HH MOBILE FOOTER LOGO INNER PADDING TEST */
@media(max-width:560px){

  .shan-wordmark--footer img{
    box-sizing:border-box !important;
    padding:15px !important;
  }

}

/* HH MOBILE FOOTER BRAND SPACING */
@media(max-width:560px){

  .shan-footer__brand{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

}

/* HH MOBILE FOOTER WORDMARK SPACING FINAL */
@media(max-width:560px){
  .shan-wordmark--footer{
    margin:12px 0 !important;
  }
}

/* HH MOBILE FOOTER OUTER SPACING */
@media(max-width:560px){
  .shan-footer{
    padding-top:18px !important;
    padding-bottom:18px !important;
  }
}

/* HH MOBILE HEADER SIDE CONTROL ALIGNMENT */
@media(max-width:560px){

  .shan-menu-toggle{
    justify-self:center !important;
  }

  .shan-header-actions{
    justify-self:center !important;
  }

}

/* HH MOBILE HEADER GRID CONTROL CENTERING */
@media(max-width:560px){

  .shan-brand-row > .shan-menu-toggle{
    justify-self:center !important;
  }

  .shan-brand-row > .shan-header-actions{
    justify-self:center !important;
  }

}

/* HH MOBILE CART ICON +1PX */
@media(max-width:560px){
  .shan-header-actions .shan-cart-link svg{
    width:25px !important;
    height:25px !important;
  }
}

/* HH MOBILE CART ICON 24.5PX */
@media(max-width:560px){
  .shan-header-actions .shan-cart-link svg{
    width:24.5px !important;
    height:24.5px !important;
  }
}

/* HH MOBILE CART ICON 24.25PX */
@media(max-width:560px){
  .shan-header-actions .shan-cart-link svg{
    width:24.25px !important;
    height:24.25px !important;
  }
}

/* HH MOBILE CART ICON FINAL FINE TUNE */
@media(max-width:560px){
  .shan-header-actions .shan-cart-link svg{
    width:24.1px !important;
    height:24.1px !important;
  }
}

/* HH MOBILE CART ICON SIZE FINAL */
@media(max-width:560px){
  .shan-header-actions .shan-cart-link svg{
    width:24px !important;
    height:24px !important;
  }
}

/* HH CART SIZE DIAGNOSTIC TEST */
@media(max-width:560px){
  .shan-header-actions .shan-cart-link svg{
    width:15px !important;
    height:15px !important;
  }
}

/* HH MOBILE CART ICON 20PX TEST */
@media(max-width:560px){
  .shan-header-actions .shan-cart-link svg{
    width:20px !important;
    height:20px !important;
  }
}

/* HH MOBILE CART ICON 22PX TEST */
@media(max-width:560px){
  .shan-header-actions .shan-cart-link svg{
    width:22px !important;
    height:22px !important;
  }
}


/* HH MOBILE CART - ALIGN ICON FLUSH RIGHT */
@media(max-width:560px){
  .shan-header-actions .shan-cart-link{
    justify-content:flex-end !important;
  }
}

/* HH MOBILE DRAWER CLOSE - TOP RIGHT */
@media(max-width:560px){
  .shan-mobile-drawer__close{
    position:absolute !important;
    top:10px !important;
    right:10px !important;
    margin:0 !important;
  }
}

/* HH MOBILE DRAWER WIDTH 80% */
@media(max-width:560px){
  .shan-mobile-drawer{
    width:80vw !important;
  }
}

/* HH MOBILE NAV DRAWER WIDTH - 80VW */
@media(max-width:560px){
  #shan-primary-nav.shan-nav--header{
    width:80vw !important;
  }
}

/* HH MOBILE DRAWER BACKDROP */
@media(max-width:560px){

  body:has(#shan-primary-nav.is-open)::after{
    content:"";
    position:fixed;
    inset:0;
    z-index:10000;
    background:rgba(0,0,0,.45);
    pointer-events:none;
  }

  #shan-primary-nav.shan-nav--header{
    z-index:10001 !important;
  }

}

/* HH MOBILE DRAWER BACKDROP - DARKER */
@media(max-width:560px){
  body:has(#shan-primary-nav.is-open)::after{
    background:rgba(0,0,0,.55) !important;
  }
}

/* HH MOBILE DRAWER HEADER - LEFT CLOSE + CENTER LOGO */
@media(max-width:560px){

  .shan-mobile-drawer__head{
    position:relative !important;
  }

  .shan-mobile-drawer__head .shan-wordmark--drawer{
    position:absolute !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    margin:0 !important;
  }

  .shan-mobile-drawer__head .shan-mobile-drawer__close{
    position:absolute !important;
    top:10px !important;
    left:10px !important;
    right:auto !important;
    margin:0 !important;
  }

}

/* HH MOBILE DRAWER CLOSE - SAME ROW AS LOGO */
@media(max-width:560px){
  .shan-mobile-drawer__head .shan-mobile-drawer__close{
    top:50% !important;
    left:10px !important;
    right:auto !important;
    transform:translateY(-50%) !important;
    margin:0 !important;
  }
}

/* HH MOBILE DRAWER HEADER - NATURAL GRID LAYOUT */
@media(max-width:560px){

  .shan-mobile-drawer__head{
    display:grid !important;
    grid-template-columns:44px minmax(0,1fr) 44px !important;
    align-items:center !important;
    position:relative !important;
  }

  .shan-mobile-drawer__head .shan-mobile-drawer__close{
    position:static !important;
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
    align-self:center !important;
    transform:none !important;
    margin:0 !important;
  }

  .shan-mobile-drawer__head .shan-wordmark--drawer{
    position:static !important;
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:center !important;
    align-self:center !important;
    transform:none !important;
    margin:0 !important;
  }

}

/* HH MOBILE DRAWER HEADER - FINAL ALIGNMENT */
@media(max-width:560px){

  .shan-mobile-drawer__head .shan-mobile-drawer__close{
    justify-self:start !important;
    margin-left:0 !important;
  }

  .shan-mobile-drawer__head .shan-wordmark--drawer{
    width:164px !important;
    max-width:164px !important;
  }

  .shan-mobile-drawer__head .shan-wordmark--drawer img{
    width:100% !important;
    height:auto !important;
    display:block !important;
  }

}

/* HH MOBILE DRAWER CLOSE - TOP LEFT OF GRID CELL */
@media(max-width:560px){
  .shan-mobile-drawer__head .shan-mobile-drawer__close{
    justify-self:start !important;
    align-self:start !important;
  }
}

/* HH MOBILE DRAWER CLOSE - FIT TO CONTENT */
@media(max-width:560px){
  .shan-mobile-drawer__head .shan-mobile-drawer__close{
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;

    justify-self:start !important;
    align-self:start !important;

    line-height:1 !important;
  }
}

/* HH MOBILE DRAWER HEADER - FINAL POLISH */
@media(max-width:560px){

  .shan-mobile-drawer__head{
    height:56px !important;
    min-height:56px !important;
  }

  .shan-mobile-drawer__head .shan-mobile-drawer__close{
    position:relative !important;
    top:4px !important;
  }

}

/* HH MOBILE DRAWER CLOSE - FINAL POSITION */
@media(max-width:560px){

  .shan-mobile-drawer__head .shan-mobile-drawer__close{
    justify-self:start !important;
    margin-left:-20px !important;
    top:6px !important;
  }

}

/* HH MOBILE DRAWER CLOSE - POSITION CORRECTION */
@media(max-width:560px){
  .shan-mobile-drawer__head .shan-mobile-drawer__close{
    margin-left:0 !important;
    top:5px !important;
  }
}

/* HH MOBILE DRAWER CLOSE - GLYPH LEFT ALIGN */
@media(max-width:560px){
  .shan-mobile-drawer__head .shan-mobile-drawer__close{
    margin-left:0 !important;
    top:5px !important;

    text-align:left !important;
    justify-content:flex-start !important;
  }
}

/* HH MOBILE DRAWER CLOSE - GRID START ALIGNMENT */
@media(max-width:560px){
  .shan-mobile-drawer__head .shan-mobile-drawer__close{
    justify-self:start !important;
    justify-content:flex-start !important;
    text-align:left !important;
    padding-left:0 !important;
    margin-left:0 !important;
    top:4px !important;
  }
}

/* =========================================================
   HH-MY-ACCOUNT-AUTH-REDESIGN-20260918
   Logged-out WooCommerce Login + Registration
   ========================================================= */

body.woocommerce-account:not(.logged-in) .shan-purchase__content{
  background:#fdfaf5;
}

body.woocommerce-account:not(.logged-in) .woocommerce{
  width:100%;
  max-width:1040px;
  margin:0 auto;
}

/* Login + Create Account layout */
body.woocommerce-account:not(.logged-in) #customer_login{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  align-items:stretch;
  margin:0;
}

body.woocommerce-account:not(.logged-in) #customer_login::before,
body.woocommerce-account:not(.logged-in) #customer_login::after{
  display:none;
}

body.woocommerce-account:not(.logged-in) #customer_login > .col-1,
body.woocommerce-account:not(.logged-in) #customer_login > .col-2{
  float:none;
  width:auto;
  margin:0;
  padding:0;
}

/* Headings */
body.woocommerce-account:not(.logged-in) #customer_login h2{
  margin:0 0 18px;
  color:var(--shan-ink);
  font-family:var(--shan-serif);
  font-size:30px;
  font-weight:500;
  line-height:1.15;
}

body.woocommerce-account:not(.logged-in) #customer_login .col-2 h2{
  font-size:0;
}

body.woocommerce-account:not(.logged-in) #customer_login .col-2 h2::after{
  content:"Create an account";
  font-size:30px;
}

/* Matching HH cards */
body.woocommerce-account:not(.logged-in) #customer_login form.login,
body.woocommerce-account:not(.logged-in) #customer_login form.register{
  height:calc(100% - 53px);
  margin:0;
  padding:28px;
  border:1px solid rgba(69,42,30,.14);
  border-radius:14px;
  background:var(--shan-paper);
  box-shadow:0 10px 30px rgba(36,32,29,.05);
  box-sizing:border-box;
}

/* Registration introduction */
body.woocommerce-account:not(.logged-in)
#customer_login form.register::before{
  content:"Create an account to check orders, save favorites, and make checkout faster.";
  display:block;
  margin:0 0 22px;
  color:var(--shan-muted);
  font-size:14px;
  line-height:1.65;
}

/* Form rows */
body.woocommerce-account:not(.logged-in)
#customer_login .form-row{
  margin:0 0 18px;
  padding:0;
}

/* Labels */
body.woocommerce-account:not(.logged-in)
#customer_login label{
  display:block;
  margin:0 0 7px;
  color:var(--shan-ink);
  font-size:14px;
  font-weight:600;
  line-height:1.4;
}

/* Inputs */
body.woocommerce-account:not(.logged-in)
#customer_login input.input-text{
  width:100%;
  min-height:48px;
  padding:10px 12px;
  border:1px solid rgba(69,42,30,.26);
  border-radius:8px;
  outline:0;
  background:#fff;
  color:var(--shan-ink);
  font-family:var(--shan-sans);
  font-size:16px;
  box-shadow:none;
  box-sizing:border-box;
  transition:border-color .15s ease,box-shadow .15s ease;
}

body.woocommerce-account:not(.logged-in)
#customer_login input.input-text:focus{
  border-color:var(--shan-burgundy);
  box-shadow:0 0 0 3px rgba(114,30,43,.07);
}

/* Woo password-generation message */
body.woocommerce-account:not(.logged-in)
#customer_login form.register > p:not(.form-row){
  margin:2px 0 20px;
  color:var(--shan-muted);
  font-size:13px;
  line-height:1.6;
}

/* Remember me */
body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-form-login__rememberme{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 13px;
  color:var(--shan-muted);
  font-size:13px;
  font-weight:500;
}

body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-form-login__rememberme input{
  width:16px;
  height:16px;
  margin:0;
  accent-color:var(--shan-burgundy);
}

/* Buttons */
body.woocommerce-account:not(.logged-in)
#customer_login button.button{
  display:flex !important;
  width:100%;
  min-height:48px;
  align-items:center;
  justify-content:center;
  margin:5px 0 0 !important;
  padding:10px 18px !important;
  border:1px solid var(--shan-burgundy) !important;
  border-radius:8px !important;
  background:var(--shan-burgundy) !important;
  color:#fff !important;
  font-family:var(--shan-sans);
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.2;
  letter-spacing:.015em;
  text-decoration:none !important;
  box-shadow:none !important;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease;
}

body.woocommerce-account:not(.logged-in)
#customer_login button.button:hover{
  border-color:var(--shan-dark-red) !important;
  background:var(--shan-dark-red) !important;
}

/* Registration gets a quieter secondary treatment */
body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-form-register__submit{
  background:transparent !important;
  color:var(--shan-burgundy) !important;
}

body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-form-register__submit:hover{
  background:var(--shan-burgundy) !important;
  color:#fff !important;
}

/* Lost password */
body.woocommerce-account:not(.logged-in)
#customer_login .lost_password{
  margin:14px 0 0 !important;
  text-align:center;
}

body.woocommerce-account:not(.logged-in)
#customer_login .lost_password a{
  color:var(--shan-burgundy);
  font-size:13px;
  font-weight:600;
  text-decoration:none;
}

body.woocommerce-account:not(.logged-in)
#customer_login .lost_password a:hover{
  text-decoration:underline;
}

/* Required marker */
body.woocommerce-account:not(.logged-in)
#customer_login .required{
  color:var(--shan-burgundy);
}

/* Mobile */
@media(width < 1024px){

  body.woocommerce-account:not(.logged-in) .woocommerce{
    max-width:560px;
  }

  body.woocommerce-account:not(.logged-in) #customer_login{
    grid-template-columns:1fr;
    gap:34px;
  }

  body.woocommerce-account:not(.logged-in)
  #customer_login form.login,
  body.woocommerce-account:not(.logged-in)
  #customer_login form.register{
    height:auto;
    padding:22px 18px;
    border-radius:12px;
  }

  body.woocommerce-account:not(.logged-in)
  #customer_login h2{
    margin-bottom:15px;
    font-size:27px;
  }

  body.woocommerce-account:not(.logged-in)
  #customer_login .col-2 h2::after{
    font-size:27px;
  }

}

/* END HH-MY-ACCOUNT-AUTH-REDESIGN-20260918 */


/* HH MY ACCOUNT REGISTER - FINAL TEXT POLISH */
body.woocommerce-account:not(.logged-in)
#customer_login form.register .woocommerce-privacy-policy-text{
  margin:16px 0 20px !important;
  color:var(--shan-muted) !important;
  font-size:12.5px !important;
  line-height:1.6 !important;
}

body.woocommerce-account:not(.logged-in)
#customer_login form.register .woocommerce-privacy-policy-text p{
  margin:0 !important;
  color:inherit !important;
  font-size:inherit !important;
  line-height:inherit !important;
}

body.woocommerce-account:not(.logged-in)
#customer_login form.register .woocommerce-privacy-policy-text a{
  color:var(--shan-burgundy) !important;
  font-weight:600;
}

body.woocommerce-account:not(.logged-in)
#customer_login form.register > p:not(.form-row){
  margin:0 0 16px !important;
  color:var(--shan-muted) !important;
  font-size:13px !important;
  line-height:1.55 !important;
}

/* END HH MY ACCOUNT REGISTER - FINAL TEXT POLISH */


/* =========================================================
   HH-MY-ACCOUNT-AUTH-SWITCHER-20260918
   Login <-> Create Account
   ========================================================= */

body.woocommerce-account:not(.logged-in) .woocommerce{
  width:100%;
  max-width:560px;
  margin:0 auto;
}

/* Woo normally creates two columns. We use one active panel. */
body.woocommerce-account:not(.logged-in) #customer_login{
  display:block !important;
  margin:0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login::before,
body.woocommerce-account:not(.logged-in) #customer_login::after{
  display:none !important;
}

body.woocommerce-account:not(.logged-in) #customer_login > .col-1,
body.woocommerce-account:not(.logged-in) #customer_login > .col-2{
  float:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* Register hidden by default. JS switches the active panel. */
body.woocommerce-account:not(.logged-in)
#customer_login > .col-2{
  display:none;
}

body.woocommerce-account:not(.logged-in)
#customer_login.hh-auth-register > .col-1{
  display:none !important;
}

body.woocommerce-account:not(.logged-in)
#customer_login.hh-auth-register > .col-2{
  display:block !important;
}

/* ---------------------------------------------------------
   TITLE ROW
   --------------------------------------------------------- */

body.woocommerce-account:not(.logged-in)
#customer_login > .col-1 > h2,
body.woocommerce-account:not(.logged-in)
#customer_login > .col-2 > h2{
  display:flex !important;
  width:100%;
  min-width:0;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;

  margin:0 0 18px !important;

  color:var(--shan-ink);
  font-family:var(--shan-serif);
  font-size:30px !important;
  font-weight:500;
  line-height:1.15;
}

/* Small right-side account switch */
.hh-auth-switch{
  flex:0 0 auto;
  margin-left:auto;

  color:var(--shan-muted);
  font-family:var(--shan-sans);
  font-size:12px;
  font-weight:400;
  line-height:1.3;
  white-space:nowrap;
}

.hh-auth-switch button{
  margin:0 0 0 3px;
  padding:0;
  border:0;
  background:transparent;

  color:var(--shan-burgundy);
  font:inherit;
  font-weight:700;
  text-decoration:none;

  cursor:pointer;
}

.hh-auth-switch button:hover{
  text-decoration:underline;
}

.hh-auth-switch button:focus-visible{
  outline:2px solid var(--shan-gold);
  outline-offset:3px;
  border-radius:2px;
}

/* ---------------------------------------------------------
   REGISTER CARD - MATCH LOGIN
   --------------------------------------------------------- */

body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-form-register{
  margin:0 !important;
  padding:28px;

  border:1px solid rgba(69,42,30,.14);
  border-radius:14px;

  background:var(--shan-paper);
  box-shadow:0 10px 30px rgba(36,32,29,.05);
}

/* Registration fields */
body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-form-register label{
  display:block;
  margin-bottom:7px;

  color:var(--shan-ink);
  font-size:14px;
  font-weight:600;
}

body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-form-register input.input-text{
  width:100%;
  min-height:48px;
  padding:10px 12px;

  border:1px solid rgba(69,42,30,.26);
  border-radius:8px;

  background:#fff;
  color:var(--shan-ink);
  font-size:16px;
  box-shadow:none;
}

body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-form-register input.input-text:focus{
  border-color:var(--shan-burgundy);
  outline:none;
  box-shadow:0 0 0 2px rgba(114,30,43,.08);
}

/* Supporting registration copy */
body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-form-register > p:not(.form-row){
  margin:0 0 17px !important;

  color:var(--shan-muted);
  font-size:13px;
  line-height:1.55;
}

body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-privacy-policy-text,
body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-privacy-policy-text p{
  color:var(--shan-muted) !important;
  font-size:12.5px !important;
  line-height:1.6 !important;
}

body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-privacy-policy-text a{
  color:var(--shan-burgundy) !important;
  font-weight:600;
}

/* Create account CTA */
body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-form-register__submit{
  display:flex !important;
  width:100%;
  min-height:48px;

  align-items:center;
  justify-content:center;

  margin:5px 0 0 !important;
  padding:10px 18px !important;

  border:1px solid var(--shan-burgundy) !important;
  border-radius:8px !important;

  background:var(--shan-burgundy) !important;
  color:#fff !important;

  font-size:0 !important;
  font-weight:700 !important;

  box-shadow:none !important;
}

body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-form-register__submit::after{
  content:"Create account";
  font-size:14px;
}

body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-form-register__submit:hover{
  border-color:var(--shan-dark-red) !important;
  background:var(--shan-dark-red) !important;
}

/* Mobile */
@media(max-width:560px){

  body.woocommerce-account:not(.logged-in)
  #customer_login > .col-1 > h2,
  body.woocommerce-account:not(.logged-in)
  #customer_login > .col-2 > h2{
    gap:8px;
    font-size:27px !important;
  }

  .hh-auth-switch{
    font-size:11px;
  }

  body.woocommerce-account:not(.logged-in)
  #customer_login .woocommerce-form-register{
    padding:22px 18px;
    border-radius:12px;
  }
}

/* END HH-MY-ACCOUNT-AUTH-SWITCHER-20260918 */


/* HH ACCOUNT SWITCHER - MOBILE TEXT SIZE */
@media(max-width:560px){
  .hh-auth-switch{
    font-size:14px !important;
  }
}
/* END HH ACCOUNT SWITCHER - MOBILE TEXT SIZE */


/* =========================================================
   HH ACCOUNT SWITCHER - REGISTER VISUAL FIX
   ========================================================= */

/* Kill the old generated Create Account heading */
body.woocommerce-account:not(.logged-in)
#customer_login > .col-2 > h2::after{
  content:none !important;
  display:none !important;
}

/* Let the actual Woo heading remain normal */
body.woocommerce-account:not(.logged-in)
#customer_login > .col-2 > h2{
  font-size:30px !important;
}

/* Replace visible Register label cleanly */
body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-form-register__submit{
  font-size:0 !important;
}

body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-form-register__submit::after{
  content:"Create account" !important;
  font-size:14px !important;
  line-height:1 !important;
}

/* Mobile title/switch row */
@media(max-width:560px){

  body.woocommerce-account:not(.logged-in)
  #customer_login > .col-2 > h2{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;

    font-size:24px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
  }

  body.woocommerce-account:not(.logged-in)
  #customer_login > .col-2 > h2 .hh-auth-switch{
    flex:0 0 auto !important;
    margin-left:auto !important;

    font-size:14px !important;
    white-space:nowrap !important;
  }
}

/* END HH ACCOUNT SWITCHER - REGISTER VISUAL FIX */


/* =========================================================
   HH ACCOUNT AUTH - FINAL 10/10 POLISH
   ========================================================= */

/*
 * Woo's real "Register" text is still inside the button.
 * Make the original text transparent while keeping our
 * generated "Create account" label visible.
 */
body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-form-register__submit{
  color:transparent !important;
  text-shadow:none !important;
}

body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-form-register__submit::after{
  content:"Create account" !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1 !important;
}

/* Slight final refinement to secondary registration copy */
body.woocommerce-account:not(.logged-in)
#customer_login form.register > p:not(.form-row){
  color:var(--shan-muted) !important;
  font-size:13px !important;
  line-height:1.55 !important;
}

body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-privacy-policy-text{
  margin-top:16px !important;
}

/* END HH ACCOUNT AUTH - FINAL 10/10 POLISH */


/* HH ACCOUNT REGISTER BUTTON - FINAL LABEL FIX */
body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-form-register__submit{
  font-size:14px !important;
  color:#fff !important;
}

body.woocommerce-account:not(.logged-in)
#customer_login .woocommerce-form-register__submit::after{
  content:none !important;
  display:none !important;
}
/* END HH ACCOUNT REGISTER BUTTON - FINAL LABEL FIX */



/* =========================================================
   HH MY ACCOUNT - CUSTOMER DASHBOARD
   2026-09-18
   ========================================================= */

body.woocommerce-account.logged-in
.woocommerce-MyAccount-content:has(.hh-account-dashboard){
  width:100% !important;
  float:none !important;
}

body.woocommerce-account.logged-in
.woocommerce:has(.hh-account-dashboard)
.woocommerce-MyAccount-navigation{
  display:none !important;
}

.hh-account-dashboard{
  width:100%;
  max-width:760px;
  margin:0 auto;
  color:var(--shan-ink,#24201d);
}

.hh-account-welcome{
  margin:0 0 22px;
}

.hh-account-welcome h2{
  margin:0 0 4px !important;
  font-size:30px !important;
  line-height:1.15;
  color:var(--shan-ink,#24201d);
}

.hh-account-email{
  margin-top:5px;
  font-size:14px;
  color:var(--shan-muted,#716861);
  overflow-wrap:anywhere;
}

.hh-account-welcome p{
  margin:8px 0 0 !important;
  font-size:15px;
  color:var(--shan-muted,#716861);
}

.hh-account-card{
  margin:0 0 16px;
  overflow:hidden;
  border:1px solid rgba(69,42,30,.12);
  border-radius:14px;
  background:#fffaf1;
  box-shadow:0 8px 28px rgba(36,32,29,.045);
}

.hh-account-card a{
  text-decoration:none !important;
}

.hh-account-card-heading,
.hh-account-quicklink{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  color:var(--shan-ink,#24201d) !important;
}

.hh-account-card-heading > span:first-child,
.hh-account-quicklink > span:first-child{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.hh-account-card-heading strong,
.hh-account-quicklink strong{
  font-size:16px;
  line-height:1.25;
  font-weight:700;
  color:var(--shan-ink,#24201d);
}

.hh-account-card-heading small,
.hh-account-quicklink small{
  font-size:13px;
  line-height:1.4;
  font-weight:400;
  color:var(--shan-muted,#716861);
}

.hh-account-chevron{
  flex:0 0 auto;
  font-size:27px;
  line-height:1;
  font-weight:300;
  color:var(--shan-muted,#716861);
}

.hh-account-order-list{
  border-top:1px solid rgba(69,42,30,.10);
}

.hh-account-order{
  display:grid;
  grid-template-columns:minmax(72px,1fr) minmax(95px,1fr) auto 18px;
  align-items:center;
  gap:12px;
  min-height:54px;
  padding:12px 20px;
  color:var(--shan-ink,#24201d) !important;
}

.hh-account-order + .hh-account-order{
  border-top:1px solid rgba(69,42,30,.08);
}

.hh-account-order-number{
  font-weight:700;
}

.hh-account-order-status{
  font-size:13px;
  color:var(--shan-muted,#716861);
}

.hh-account-order-total{
  font-weight:700;
  text-align:right;
  white-space:nowrap;
}

.hh-account-order:hover,
.hh-account-card-heading:hover,
.hh-account-quicklink:hover,
.hh-account-address:hover{
  background:rgba(197,154,69,.055);
}

.hh-account-empty{
  padding:17px 20px 20px;
  border-top:1px solid rgba(69,42,30,.10);
}

.hh-account-empty p{
  margin:0 0 7px !important;
  color:var(--shan-muted,#716861);
}

.hh-account-empty a{
  font-weight:700;
  color:var(--shan-burgundy,#721e2b) !important;
}

.hh-account-address-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid rgba(69,42,30,.10);
}

.hh-account-address{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:17px 20px 19px;
  color:var(--shan-ink,#24201d) !important;
}

.hh-account-address + .hh-account-address{
  border-left:1px solid rgba(69,42,30,.10);
}

.hh-account-address strong{
  margin-bottom:6px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.055em;
  color:var(--shan-muted,#716861);
}

.hh-account-address span{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  font-size:14px;
  line-height:1.5;
}

.hh-account-address small{
  margin-top:10px;
  font-size:13px;
  font-weight:700;
  color:var(--shan-burgundy,#721e2b);
}

.hh-account-quicklink + .hh-account-quicklink{
  border-top:1px solid rgba(69,42,30,.10);
}

.hh-account-signout{
  display:inline-block;
  margin:5px 2px 10px;
  padding:8px 0;
  font-size:14px;
  font-weight:600;
  color:var(--shan-burgundy,#721e2b) !important;
  text-decoration:none !important;
}

.hh-account-signout:hover{
  text-decoration:underline !important;
}


/* Mobile */

@media(max-width:560px){

  body.woocommerce-account.logged-in .woocommerce{
    padding-top:4px !important;
  }

  .hh-account-dashboard{
    max-width:none;
  }

  .hh-account-welcome{
    margin-bottom:18px;
  }

  .hh-account-welcome h2{
    font-size:25px !important;
  }

  .hh-account-card{
    margin-bottom:14px;
    border-radius:13px;
  }

  .hh-account-card-heading,
  .hh-account-quicklink{
    padding:16px;
  }

  .hh-account-order{
    grid-template-columns:minmax(62px,.9fr) minmax(82px,1fr) auto 14px;
    gap:7px;
    padding:12px 16px;
  }

  .hh-account-order-number{
    font-size:13px;
  }

  .hh-account-order-status{
    font-size:12px;
  }

  .hh-account-order-total{
    font-size:13px;
  }

  .hh-account-chevron{
    font-size:24px;
  }

  .hh-account-address-grid{
    grid-template-columns:1fr;
  }

  .hh-account-address{
    padding:16px;
  }

  .hh-account-address + .hh-account-address{
    border-left:0;
    border-top:1px solid rgba(69,42,30,.10);
  }

  .hh-account-empty{
    padding:15px 16px 17px;
  }
}

/* END HH MY ACCOUNT - CUSTOMER DASHBOARD */



/* =========================================================
   HH MY ACCOUNT DASHBOARD - ACCORDION POLISH 2026-09-18
   ========================================================= */

body.woocommerce-account.logged-in
.woocommerce-MyAccount-content:has(.hh-account-dashboard){
  width:100% !important;
  float:none !important;
  margin-top:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.woocommerce-account.logged-in
.woocommerce:has(.hh-account-dashboard)
.woocommerce-MyAccount-navigation{
  display:none !important;
}

.hh-account-dashboard{
  width:100%;
  max-width:760px;
  margin:0 auto;
}

.hh-account-welcome{
  margin-bottom:17px;
}

.hh-account-welcome h2{
  margin-bottom:3px !important;
}

.hh-account-welcome p{
  margin-top:7px !important;
}

.hh-account-card{
  margin-bottom:12px;
  overflow:hidden;
  border-radius:13px;
  box-shadow:0 5px 18px rgba(36,32,29,.035);
}


/* Accordion header */

.hh-account-accordion-toggle{
  width:100%;
  margin:0;
  border:0;
  appearance:none;
  -webkit-appearance:none;
  text-align:left;
  font:inherit;
  cursor:pointer;
  background:transparent;
}

.hh-account-accordion-toggle:hover{
  background:rgba(197,154,69,.055);
}

.hh-account-accordion-toggle:focus-visible{
  outline:2px solid var(--shan-gold,#c59a45);
  outline-offset:-3px;
}

.hh-account-accordion-toggle
.hh-account-chevron{
  transition:transform .18s ease;
  transform-origin:center;
}

.hh-account-accordion-toggle[aria-expanded="true"]
.hh-account-chevron{
  transform:rotate(90deg);
}


/* Accordion content */

.hh-account-accordion-panel[hidden]{
  display:none !important;
}

.hh-account-accordion-panel{
  border-top:1px solid rgba(69,42,30,.10);
}

.hh-account-accordion-panel
.hh-account-order-list,

.hh-account-accordion-panel
.hh-account-address-grid,

.hh-account-accordion-panel
.hh-account-empty{
  border-top:0 !important;
}


/* Footer action inside accordion */

.hh-account-view-all{
  border-top:1px solid rgba(69,42,30,.08);
}

.hh-account-view-all a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 20px;
  font-size:13px;
  font-weight:700;
  color:var(--shan-burgundy,#721e2b) !important;
  text-decoration:none !important;
}

.hh-account-view-all a:hover{
  background:rgba(197,154,69,.055);
}

.hh-account-view-all span{
  font-size:20px;
  line-height:1;
}


/* Address refinement */

.hh-account-address strong{
  font-size:12px;
  font-weight:700;
  letter-spacing:.045em;
}


/* Sign out */

.hh-account-signout{
  margin:3px 2px 0;
  padding:9px 0;
}


/* MOBILE */

@media(max-width:560px){

  body.woocommerce-account.logged-in .woocommerce{
    padding-top:0 !important;
  }

  .hh-account-dashboard{
    max-width:none;
  }

  .hh-account-welcome{
    margin-bottom:15px;
  }

  .hh-account-welcome h2{
    font-size:25px !important;
  }

  .hh-account-card{
    margin-bottom:11px;
  }

  .hh-account-card-heading,
  .hh-account-quicklink{
    min-height:64px;
    padding:14px 16px;
  }

  .hh-account-card-heading strong,
  .hh-account-quicklink strong{
    font-size:15px;
  }

  .hh-account-card-heading small,
  .hh-account-quicklink small{
    font-size:12px;
  }

  .hh-account-order{
    min-height:51px;
    padding:11px 16px;
  }

  .hh-account-address{
    padding:14px 16px 15px;
  }

  .hh-account-address small{
    margin-top:7px;
  }

  .hh-account-view-all a{
    padding:11px 16px;
  }

  .hh-account-signout{
    margin-top:0;
  }
}

/* END HH MY ACCOUNT DASHBOARD - ACCORDION POLISH */



/* HH MY ACCOUNT - SIGN OUT BUTTON */
.hh-account-signout{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:max-content !important;
  min-width:120px !important;
  min-height:42px !important;

  margin:22px auto 0 !important;
  padding:9px 22px !important;

  border:1px solid rgba(114,30,43,.22) !important;
  border-radius:10px !important;

  background:#fffaf1 !important;
  color:#721e2b !important;

  font-size:14px !important;
  font-weight:600 !important;
  line-height:1 !important;

  text-decoration:none !important;

  transition:
    background-color .15s ease,
    border-color .15s ease;
}

.hh-account-signout:hover{
  background:#f8f0e2 !important;
  border-color:rgba(114,30,43,.38) !important;
  text-decoration:none !important;
}

.hh-account-signout:focus-visible{
  outline:2px solid #c59a45 !important;
  outline-offset:2px !important;
}

/* END HH MY ACCOUNT - SIGN OUT BUTTON */



/* HH MOBILE DRAWER AUTH - 2026-09-18 */
@media (width < 1200px) {

	.hh-mobile-drawer-auth {
		margin: 24px 18px 4px;
		padding-top: 17px;
		border-top: 1px solid rgba(36,32,29,.16);
	}

	.hh-mobile-drawer-auth__link {
		display: flex;
		align-items: center;
		gap: 16px;
		min-height: 48px;
		padding: 7px 2px;

		color: #721e2b !important;
		font-size: 15px;
		font-weight: 600;
		line-height: 1.2;
		text-decoration: none !important;
	}

	.hh-mobile-drawer-auth__link svg {
		width: 25px;
		height: 25px;
		flex: 0 0 25px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.7;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.hh-mobile-drawer-auth__link:hover {
		color: #4c111b !important;
		text-decoration: none !important;
	}

	.hh-mobile-drawer-auth__link:focus-visible {
		outline: 2px solid #c59a45;
		outline-offset: 3px;
		border-radius: 4px;
	}
}
/* END HH MOBILE DRAWER AUTH - 2026-09-18 */



/* HH DRAWER AUTH - FINAL ALIGNMENT */
@media (width < 1200px) {

	/* Existing menu already provides the separator */
	.hh-mobile-drawer-auth {
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		border-top: 0 !important;
	}

	/* Match main drawer row horizontal geometry */
	.hh-mobile-drawer-auth__link {
		padding-left: 20px !important;
		padding-right: 20px !important;
		gap: 22px !important;
	}

	.hh-mobile-drawer-auth__link svg {
		width: 25px !important;
		height: 25px !important;
		flex: 0 0 25px !important;
	}

}

/* END HH DRAWER AUTH - FINAL ALIGNMENT */



/* HH DRAWER AUTH - MATCH MAIN MENU ALIGNMENT */
@media (width < 1200px) {

	.hh-mobile-drawer-auth__link {
		padding-left: 0 !important;
		padding-right: 20px !important;
	}

}

/* END HH DRAWER AUTH - MATCH MAIN MENU ALIGNMENT */



/* HH MOBILE HEADER - CART COUNT BADGE POSITION */
@media (width < 1024px) {

	.shan-cart-count {
		top: -7px !important;
		right: -8px !important;
		transform: none !important;
	}

}

/* END HH MOBILE HEADER - CART COUNT BADGE POSITION */


/* HH Wishlist - out-of-stock action */
.tinv-wishlist .product-action a.button:not(.add_to_cart_button) {
    opacity: 0.48;
    cursor: not-allowed;
    pointer-events: none;
    filter: grayscale(35%);
}

/* HH Wishlist - disabled out-of-stock action */
.tinv-wishlist .product-action a.button:not(.add_to_cart_button) {
    opacity: 0.48;
    cursor: not-allowed;
    pointer-events: none;
    filter: grayscale(35%);
}

/* HH MOBILE HEADER - REMOVE CART TAP FLASH */
@media (width < 1024px) {
    .shan-header-actions .shan-cart-link,
    .shan-header-actions .shan-cart-link:hover,
    .shan-header-actions .shan-cart-link:active,
    .shan-header-actions .shan-cart-link:focus {
        background: transparent !important;
        box-shadow: none !important;
        outline: none !important;
        -webkit-tap-highlight-color: transparent;
    }
}

/* END HH MOBILE HEADER - REMOVE CART TAP FLASH */


/* HH MOBILE MAIN HEADER LOGO - 168PX */
@media (max-width: 560px) {
    .shan-wordmark--header {
        width: 168px !important;
        max-width: none !important;
    }
}

/* END HH MOBILE MAIN HEADER LOGO - 168PX */

/* =========================================================
   HH CONTACT DIRECT EMAIL CARD
   Compact contact-first replacement for the former help copy.
   ========================================================= */

.hh-contact-direct {
    align-self: start;
}

.hh-contact-direct h2 {
    margin: 8px 0 8px;
    color: var(--shan-ink, #24201d);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.08;
    font-weight: 400;
}

.hh-contact-direct > p:not(.shan-eyebrow) {
    margin: 0 0 20px;
    color: var(--shan-muted, #716861);
    line-height: 1.65;
}

.hh-contact-direct__email {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px 16px;
    align-items: center;
    padding: 18px 20px;
    border: 1px solid rgba(197, 154, 69, 0.42);
    background: #f8f0e2;
    color: #24201d;
    text-decoration: none;
    transition: border-color .2s ease, background .2s ease;
}

.hh-contact-direct__email > span:first-child {
    grid-column: 1;
    color: #721e2b;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.hh-contact-direct__email strong {
    grid-column: 1;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.hh-contact-direct__email > span:last-child {
    grid-column: 2;
    grid-row: 1 / span 2;
    color: #721e2b;
    font-size: 20px;
}

.hh-contact-direct__email:hover {
    border-color: #c59a45;
    background: #fffaf1;
}

@media (width < 1024px) {
    .hh-contact-hero {
        padding-top: 38px !important;
        padding-bottom: 38px !important;
    }

    .hh-contact-main {
        padding-top: 36px !important;
    }

    .hh-contact-grid {
        gap: 34px !important;
    }

    .hh-contact-direct h2 {
        font-size: 28px;
    }

    .hh-contact-direct > p:not(.shan-eyebrow) {
        margin-bottom: 16px;
    }

    .hh-contact-direct__email {
        padding: 16px;
    }
}

/* END HH CONTACT DIRECT EMAIL CARD */

/* =========================================================
   HH QUICK NAV - SQUARE BORDER TEST
   Experimental. Safe to remove this entire block to revert.
   ========================================================= */
@media (width < 1024px) {

    .shan-mobile-quick-nav a {
        border: 1px solid #721e2b !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .shan-mobile-quick-nav a:hover,
    .shan-mobile-quick-nav a:focus-visible {
        border-color: #721e2b !important;
        background: rgba(114,30,43,.06) !important;
    }

}
/* END HH QUICK NAV - SQUARE BORDER TEST */

/* HH QUICK NAV - SHOP ALL MATCH SQUARE TEST */
@media (width < 1024px) {
    .shan-mobile-quick-nav a:last-child {
        border: 1px solid #721e2b !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .shan-mobile-quick-nav a:last-child:hover,
    .shan-mobile-quick-nav a:last-child:focus-visible {
        border-color: #721e2b !important;
        background: rgba(114,30,43,.06) !important;
    }
}
/* END HH QUICK NAV - SHOP ALL MATCH SQUARE TEST */

/* HH QUICK NAV - HORIZONTAL PADDING TEST */
@media (width < 1024px) {
    .shan-mobile-quick-nav a,
    .shan-mobile-quick-nav a:last-child {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}
/* END HH QUICK NAV - HORIZONTAL PADDING TEST */

/* HH QUICK NAV - HERO BREATHING SPACE TEST */
@media (width < 1024px) {
    .shan-mobile-quick-nav {
        padding-bottom: 12px !important;
    }
}
/* END HH QUICK NAV - HERO BREATHING SPACE TEST */

/* HH QUICK NAV - TAP FEEDBACK TEST */
@media (width < 1024px) {
    .shan-mobile-quick-nav a:active {
        background: #721e2b !important;
        border-color: #721e2b !important;
        color: #fffaf1 !important;
    }
}
/* END HH QUICK NAV - TAP FEEDBACK TEST */

/* HH QUICK NAV - CLEAN NO-EFFECT STATE */
@media (width < 1024px) {
    .shan-mobile-quick-nav a:hover,
    .shan-mobile-quick-nav a:focus,
    .shan-mobile-quick-nav a:focus-visible,
    .shan-mobile-quick-nav a:active,
    .shan-mobile-quick-nav a:last-child:hover,
    .shan-mobile-quick-nav a:last-child:focus,
    .shan-mobile-quick-nav a:last-child:focus-visible,
    .shan-mobile-quick-nav a:last-child:active {
        background: transparent !important;
        border-color: #721e2b !important;
        color: #721e2b !important;
        box-shadow: none !important;
        transform: none !important;
        outline: none !important;
    }

    .shan-mobile-quick-nav a {
        -webkit-tap-highlight-color: transparent;
    }
}
/* END HH QUICK NAV - CLEAN NO-EFFECT STATE */

/* HH QUICK NAV - LOCK BORDER ALL STATES */
@media (width < 1024px) {
    .shan-mobile-quick-nav a,
    .shan-mobile-quick-nav a:hover,
    .shan-mobile-quick-nav a:focus,
    .shan-mobile-quick-nav a:focus-visible,
    .shan-mobile-quick-nav a:active,
    .shan-mobile-quick-nav a.is-active,
    .shan-mobile-quick-nav a:last-child,
    .shan-mobile-quick-nav a:last-child:hover,
    .shan-mobile-quick-nav a:last-child:focus,
    .shan-mobile-quick-nav a:last-child:active,
    .shan-mobile-quick-nav a:last-child.is-active {
        border: 1px solid #721e2b !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #721e2b !important;
        box-shadow: none !important;
        outline: none !important;
        transform: none !important;
    }

    .shan-mobile-quick-nav a {
        -webkit-tap-highlight-color: transparent !important;
    }
}
/* END HH QUICK NAV - LOCK BORDER ALL STATES */

/* =========================================================
   HH MOBILE SHOP PAGINATION - SINGLE ROW
   ========================================================= */
@media (width < 1024px) {

    .shan-commerce .woocommerce-pagination ul.page-numbers {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        gap: 5px !important;
        white-space: nowrap;
    }

    .shan-commerce .woocommerce-pagination ul.page-numbers li {
        flex: 0 0 auto;
    }

    .shan-commerce .woocommerce-pagination .page-numbers a,
    .shan-commerce .woocommerce-pagination .page-numbers span {
        min-width: 36px !important;
        width: 36px;
        height: 36px !important;
        padding: 0 !important;
    }
}
/* END HH MOBILE SHOP PAGINATION - SINGLE ROW */

/* =========================================================
   HH PRODUCT BADGES - TEXT POLISH
   ========================================================= */
.shan-product-badges .shan-badge,
.shan-product-card .shan-product-badges .shan-badge,
.shan-commerce .shan-badge {
    font-size: calc(9px + 2pt) !important;
    text-transform: none !important;
}
/* END HH PRODUCT BADGES - TEXT POLISH */



/* =========================================================
   HH MOBILE FILTER — MOCKUP DESIGN LOCK
   2026-09
   ========================================================= */

@media (width < 1024px) {

    /* DRAWER */
    .shan-filter-panel,
    .shan-filter-panel.is-open {
        width: 76vw !important;
        max-width: 360px !important;
        height: 100vh !important;
        max-height: 100vh !important;
        top: 0 !important;
        left: 0 !important;
        padding: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        background: var(--shan-paper) !important;
        border: 0 !important;
        box-shadow: 14px 0 42px rgba(36, 32, 29, .14) !important;
    }

    .shan-filter-form {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 100% !important;
        overflow: visible !important;
    }

    .shan-filter-scroll {
        display: block !important;
        overflow: visible !important;
        padding: 25px 26px 0 !important;
    }


    /* HEADER */
    .shan-filter-panel__heading {
        position: relative !important;
        top: auto !important;
        display: block !important;
        margin: 0 0 25px !important;
        padding: 0 0 25px !important;
        border-bottom: 1px solid rgba(113, 104, 97, .22) !important;
        background: transparent !important;
    }

    .shan-filter-panel__heading h2 {
        margin: 0 !important;
        padding: 0 46px 0 0 !important;
        color: var(--shan-ink) !important;
        font-family: Georgia, "Times New Roman", serif !important;
        font-size: 34px !important;
        line-height: 1.05 !important;
        font-weight: 700 !important;
        letter-spacing: -.02em !important;
        text-transform: none !important;
    }

    .shan-filter-panel__subtitle {
        display: block !important;
        margin: 8px 0 20px !important;
        padding: 0 34px 0 0 !important;
        color: var(--shan-muted) !important;
        font-size: 14px !important;
        line-height: 1.45 !important;
        font-weight: 500 !important;
        letter-spacing: 0 !important;
    }


    /* CLOSE X */
    .shan-filter-close {
        position: absolute !important;
        top: -6px !important;
        right: -8px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: var(--shan-ink) !important;
        font-family: Arial, sans-serif !important;
        font-size: 40px !important;
        line-height: 1 !important;
        font-weight: 300 !important;
        text-decoration: none !important;
        box-shadow: none !important;
        cursor: pointer !important;
        -webkit-tap-highlight-color: transparent;
    }

    .shan-filter-close:hover,
    .shan-filter-close:focus,
    .shan-filter-close:active {
        background: transparent !important;
        color: var(--shan-burgundy) !important;
        box-shadow: none !important;
        outline: none !important;
    }


    /* CLEAR FILTERS PILL */
    .shan-filter-panel .shan-filter-panel__heading > a.shan-clear-filters {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 42px !important;
        margin: 0 !important;
        padding: 0 18px !important;
        border: 1px solid rgba(114, 30, 43, .18) !important;
        border-radius: 999px !important;
        background: rgba(114, 30, 43, .045) !important;
        color: var(--shan-burgundy) !important;
        font-size: 13px !important;
        line-height: 1 !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        letter-spacing: 0 !important;
        box-shadow: none !important;
    }

    .shan-filter-panel .shan-filter-panel__heading > a.shan-clear-filters::before {
        content: "↻" !important;
        display: inline-block !important;
        margin-right: 10px !important;
        font-size: 24px !important;
        line-height: 1 !important;
        font-weight: 400 !important;
    }


    /* SECTIONS */
    .shan-filter-section,
    .shan-filter-section--categories,
    .shan-filter-section--price {
        margin: 0 !important;
        padding: 0 0 25px !important;
        border: 0 !important;
        background: transparent !important;
    }

    .shan-filter-section--price {
        padding-top: 25px !important;
        border-top: 1px solid rgba(113, 104, 97, .22) !important;
    }

    .shan-filter-section h3 {
        margin: 0 0 18px !important;
        color: var(--shan-ink) !important;
        font-family: Georgia, "Times New Roman", serif !important;
        font-size: 24px !important;
        line-height: 1.15 !important;
        font-weight: 700 !important;
        letter-spacing: -.01em !important;
        text-transform: none !important;
    }


    /* CATEGORY LIST */
    .shan-category-options,
    .shan-filter-section--categories .shan-filter-options {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    .shan-filter-section--categories .shan-filter-check {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        min-height: 46px !important;
        margin: 0 !important;
        padding: 4px 0 !important;
        gap: 14px !important;
        cursor: pointer !important;
    }

    .shan-filter-section--categories .shan-filter-check input {
        position: absolute !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .shan-filter-section--categories .shan-filter-check__box {
        flex: 0 0 23px !important;
        width: 23px !important;
        height: 23px !important;
        margin: 0 !important;
        border: 1.5px solid #999 !important;
        border-radius: 5px !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .shan-filter-section--categories
    .shan-filter-check input:checked + .shan-filter-check__box {
        border-color: var(--shan-burgundy) !important;
        background: var(--shan-burgundy) !important;
    }

    .shan-filter-section--categories
    .shan-filter-check input:checked + .shan-filter-check__box::after {
        content: "" !important;
        display: block !important;
        width: 5px !important;
        height: 10px !important;
        margin: 3px auto 0 !important;
        border: solid #fff !important;
        border-width: 0 2px 2px 0 !important;
        transform: rotate(45deg) !important;
    }

    .shan-filter-section--categories .shan-filter-check__label {
        color: var(--shan-ink) !important;
        font-size: 15.5px !important;
        line-height: 1.35 !important;
        font-weight: 600 !important;
        letter-spacing: 0 !important;
    }

    .shan-filter-section--categories .shan-filter-check:hover .shan-filter-check__label {
        color: var(--shan-burgundy) !important;
    }

    .shan-category-more {
        margin: 12px 0 0 !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        color: var(--shan-burgundy) !important;
    }


    /* PRICE FIELDS */
    .shan-price-fields {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 22px minmax(0, 1fr) !important;
        align-items: end !important;
        column-gap: 9px !important;
        width: 100% !important;
        margin: 0 0 22px !important;
    }

    .shan-price-fields > label {
        min-width: 0 !important;
        margin: 0 !important;
    }

    .shan-price-fields > label > span {
        display: block !important;
        margin: 0 0 7px !important;
        color: var(--shan-muted) !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
        font-weight: 600 !important;
    }

    .shan-price-separator {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 50px !important;
        color: var(--shan-muted) !important;
        font-size: 19px !important;
    }

    .shan-price-input {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        height: 50px !important;
        min-width: 0 !important;
        padding: 0 12px !important;
        border: 1px solid rgba(113, 104, 97, .32) !important;
        border-radius: 8px !important;
        background: #fff !important;
        box-sizing: border-box !important;
        box-shadow: none !important;
    }

    .shan-price-input > span {
        flex: 0 0 auto !important;
        margin: 0 6px 0 0 !important;
        color: var(--shan-muted) !important;
        font-size: 17px !important;
        font-weight: 600 !important;
    }

    .shan-filter-panel .shan-price-input input {
        display: block !important;
        flex: 1 1 auto !important;
        width: 1% !important;
        min-width: 0 !important;
        height: 46px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: var(--shan-ink) !important;
        font-size: 18px !important;
        line-height: 1.2 !important;
        font-weight: 700 !important;
        outline: none !important;
        box-shadow: none !important;
    }


    /* PRICE RANGE */
    .shan-price-range {
        position: relative !important;
        width: calc(100% - 10px) !important;
        height: 28px !important;
        margin: 4px 5px 4px !important;
    }

    .shan-price-range__track {
        position: absolute !important;
        top: 50% !important;
        left: 0 !important;
        right: 0 !important;
        height: 5px !important;
        border-radius: 999px !important;
        transform: translateY(-50%) !important;
    }

    .shan-price-range input[type="range"] {
        height: 28px !important;
    }

    .shan-price-range input[type="range"]::-webkit-slider-thumb {
        width: 22px !important;
        height: 22px !important;
        border: 2px solid var(--shan-burgundy) !important;
        border-radius: 50% !important;
        background: var(--shan-paper) !important;
        box-shadow: none !important;
    }

    .shan-price-range input[type="range"]::-moz-range-thumb {
        width: 22px !important;
        height: 22px !important;
        border: 2px solid var(--shan-burgundy) !important;
        border-radius: 50% !important;
        background: var(--shan-paper) !important;
        box-shadow: none !important;
    }


    /* APPLY FILTER */
    .shan-filter-actions {
        display: block !important;
        position: static !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 26px 34px !important;
        border: 0 !important;
        background: var(--shan-paper) !important;
    }

    .shan-filter-panel .shan-apply-filters {
        position: static !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 14px !important;
        width: 100% !important;
        height: 56px !important;
        margin: 0 !important;
        padding: 0 20px !important;
        border: 0 !important;
        border-radius: 9px !important;
        background: var(--shan-burgundy) !important;
        color: #fff !important;
        font-size: 17px !important;
        line-height: 1 !important;
        font-weight: 700 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        box-shadow: none !important;
    }

    .shan-apply-filters__arrow {
        display: inline-block !important;
        font-size: 23px !important;
        line-height: 1 !important;
        font-weight: 400 !important;
        transform: translateY(-1px);
    }


    /* OVERLAY */
    .shan-filter-drawer-overlay {
        top: 0 !important;
        height: 100vh !important;
        background: rgba(36, 32, 29, .52) !important;
        backdrop-filter: none !important;
    }

}

/* END HH MOBILE FILTER — MOCKUP DESIGN LOCK */


/* =========================================================
   HH MOBILE FILTER — COMPACT IPHONE POLISH
   ========================================================= */

@media (width < 1024px) {

    .shan-filter-scroll {
        padding: 18px 24px 0 !important;
    }

    /* Header */
    .shan-filter-panel__heading {
        margin-bottom: 18px !important;
        padding: 0 0 18px !important;
    }

    .shan-filter-panel__heading h2 {
        padding-right: 42px !important;
        font-size: 31px !important;
        line-height: 1 !important;
    }

    .shan-filter-panel__subtitle {
        display: none !important;
    }

    .shan-filter-close {
        top: -9px !important;
        right: -8px !important;
        width: 40px !important;
        height: 40px !important;
        font-size: 35px !important;
    }


    /* Clear filters becomes simple text action */
    .shan-filter-panel .shan-filter-panel__heading > a.shan-clear-filters {
        display: inline-flex !important;
        align-items: center !important;
        min-height: 0 !important;
        margin: 12px 0 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--shan-burgundy) !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        box-shadow: none !important;
    }

    .shan-filter-panel .shan-filter-panel__heading > a.shan-clear-filters::before {
        margin-right: 7px !important;
        font-size: 19px !important;
    }


    /* Sections */
    .shan-filter-section,
    .shan-filter-section--categories,
    .shan-filter-section--price {
        padding-bottom: 18px !important;
    }

    .shan-filter-section--price {
        padding-top: 18px !important;
    }

    .shan-filter-section h3 {
        margin-bottom: 13px !important;
        font-size: 22px !important;
        line-height: 1.1 !important;
    }


    /* Categories */
    .shan-filter-section--categories .shan-filter-check {
        min-height: 39px !important;
        padding: 2px 0 !important;
        gap: 12px !important;
    }

    .shan-filter-section--categories .shan-filter-check__box {
        flex-basis: 21px !important;
        width: 21px !important;
        height: 21px !important;
    }

    .shan-filter-section--categories .shan-filter-check__label {
        font-size: 14.5px !important;
        line-height: 1.25 !important;
    }

    .shan-category-more {
        margin-top: 8px !important;
    }


    /* Price */
    .shan-price-fields {
        margin-bottom: 13px !important;
    }

    .shan-price-fields > label > span {
        margin-bottom: 5px !important;
        font-size: 12px !important;
    }

    .shan-price-input {
        height: 46px !important;
        padding: 0 11px !important;
    }

    .shan-filter-panel .shan-price-input input {
        height: 42px !important;
        font-size: 17px !important;
    }

    .shan-price-input > span {
        font-size: 16px !important;
    }

    .shan-price-separator {
        height: 46px !important;
    }


    /* Slider */
    .shan-price-range {
        height: 24px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .shan-price-range input[type="range"] {
        height: 24px !important;
    }

    .shan-price-range input[type="range"]::-webkit-slider-thumb {
        width: 20px !important;
        height: 20px !important;
    }

    .shan-price-range input[type="range"]::-moz-range-thumb {
        width: 20px !important;
        height: 20px !important;
    }


    /* Apply */
    .shan-filter-actions {
        padding: 0 24px 20px !important;
    }

    .shan-filter-panel .shan-apply-filters {
        height: 50px !important;
        font-size: 16px !important;
        border-radius: 8px !important;
    }

}

/* END HH MOBILE FILTER — COMPACT IPHONE POLISH */

/* =========================================================
   HH MOBILE FILTER - SCROLL BODY + STICKY APPLY FOOTER
   ========================================================= */
@media (width < 1024px) {

    /*
     * Drawer owns the viewport.
     * Header/categories/price scroll inside the form body.
     * Apply Filter remains visible at the bottom.
     */
    .shan-filter-panel {
        height: 100vh !important;
        max-height: 100vh !important;
        overflow: hidden !important;
    }

    @supports (height: 100dvh) {
        .shan-filter-panel {
            height: 100dvh !important;
            max-height: 100dvh !important;
        }
    }

    .shan-filter-panel .shan-filter-form {
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    /*
     * This is the only vertically scrolling area.
     */
    .shan-filter-panel .shan-filter-scroll {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;

        overflow-y: auto !important;
        overflow-x: hidden !important;

        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;

        /*
         * Small breathing room after Price Range before
         * reaching the fixed footer.
         */
        padding-bottom: 18px !important;
    }

    /*
     * Footer does not participate in the scrolling region.
     */
    .shan-filter-panel .shan-filter-actions {
        position: relative !important;
        flex: 0 0 auto !important;

        margin: 0 !important;
        padding:
            10px
            24px
            calc(14px + env(safe-area-inset-bottom))
            24px !important;

        background: var(--shan-paper, #fffaf1) !important;
        border-top: 1px solid rgba(114, 30, 43, 0.12) !important;

        z-index: 5 !important;
    }

    .shan-filter-panel .shan-apply-filters {
        width: 100% !important;
        margin: 0 !important;
    }

    /*
     * While the drawer is open, the Shop page behind it
     * must not compete with the filter's touch scrolling.
     */
    body.shan-filter-drawer-open {
        overflow: hidden !important;
        touch-action: none;
    }

    /*
     * Restore touch scrolling specifically inside the
     * filter content.
     */
    body.shan-filter-drawer-open .shan-filter-panel,
    body.shan-filter-drawer-open .shan-filter-scroll {
        touch-action: pan-y;
    }
}

/* END HH MOBILE FILTER - SCROLL BODY + STICKY APPLY FOOTER */

/* =========================================================
   HH MOBILE FILTER - STICKY FOOTER FINAL FIX
   ========================================================= */
@media (width < 1024px) {

    .shan-filter-panel,
    .shan-filter-panel.is-open {
        display: flex !important;
        flex-direction: column !important;

        height: 100vh !important;
        max-height: 100vh !important;

        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    @supports (height: 100dvh) {
        .shan-filter-panel,
        .shan-filter-panel.is-open {
            height: 100dvh !important;
            max-height: 100dvh !important;
        }
    }

    .shan-filter-panel .shan-filter-form {
        display: flex !important;
        flex-direction: column !important;

        flex: 1 1 auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    /* Only this area scrolls */
    .shan-filter-panel .shan-filter-scroll {
        display: block !important;

        flex: 1 1 0% !important;
        min-height: 0 !important;
        height: 0 !important;
        max-height: none !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        -webkit-overflow-scrolling: touch;
        overscroll-behavior-y: contain;
    }

    /* Permanent bottom action area */
    .shan-filter-panel .shan-filter-actions {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;

        position: relative !important;
        inset: auto !important;

        flex: 0 0 auto !important;
        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding:
            10px
            24px
            calc(14px + env(safe-area-inset-bottom))
            24px !important;

        box-sizing: border-box !important;

        border: 0 !important;
        border-top: 1px solid rgba(114, 30, 43, .12) !important;
        background: var(--shan-paper, #fffaf1) !important;

        transform: none !important;
        z-index: 20 !important;
    }

    .shan-filter-panel .shan-apply-filters {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;

        position: relative !important;
        inset: auto !important;

        width: 100% !important;
        height: 50px !important;

        margin: 0 !important;
        transform: none !important;
    }
}

/* END HH MOBILE FILTER - STICKY FOOTER FINAL FIX */

/* =========================================================
   HH MOBILE PRICE SLIDER - THUMB ALIGNMENT
   ========================================================= */
@media (width < 1024px) {

    .shan-price-range input[type="range"]::-webkit-slider-thumb {
        margin-top: 0 !important;
        transform: translateY(0) !important;
    }

    .shan-price-range__track {
        top: 50% !important;
        transform: translateY(-50%) !important;
    }
}

/* END HH MOBILE PRICE SLIDER - THUMB ALIGNMENT */

/* =========================================================
   HH MOBILE PRICE SLIDER - IPHONE THUMB CENTERING
   ========================================================= */
@media (width < 1024px) {

    .shan-price-range input[type="range"]::-webkit-slider-runnable-track {
        height: 5px !important;
        background: transparent !important;
        border: 0 !important;
    }

    .shan-price-range input[type="range"]::-webkit-slider-thumb {
        -webkit-appearance: none !important;
        appearance: none !important;

        width: 20px !important;
        height: 20px !important;

        margin-top: -7.5px !important;

        border: 2px solid var(--shan-burgundy) !important;
        border-radius: 50% !important;
        background: var(--shan-paper) !important;

        transform: none !important;
    }
}

/* END HH MOBILE PRICE SLIDER - IPHONE THUMB CENTERING */

/* =========================================================
   HH MOBILE PRICE SLIDER - FINAL GEOMETRY
   ========================================================= */
@media (width < 1024px) {

    .shan-price-range {
        position: relative !important;
        height: 24px !important;
    }

    /* Visual track exactly through the center */
    .shan-price-range__track {
        position: absolute !important;
        top: 50% !important;
        left: 0 !important;
        right: 0 !important;
        height: 4px !important;
        transform: translateY(-50%) !important;
    }

    /*
     * Both native range controls occupy the exact same
     * 24px-high geometry as the visual slider.
     */
    .shan-price-range input[type="range"] {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;

        width: 100% !important;
        height: 24px !important;

        margin: 0 !important;
        padding: 0 !important;

        -webkit-appearance: none !important;
        appearance: none !important;

        background: transparent !important;
    }

    .shan-price-range input[type="range"]::-webkit-slider-runnable-track {
        width: 100% !important;
        height: 4px !important;
        border: 0 !important;
        background: transparent !important;
    }

    .shan-price-range input[type="range"]::-webkit-slider-thumb {
        -webkit-appearance: none !important;
        appearance: none !important;

        width: 20px !important;
        height: 20px !important;

        /* (20px thumb - 4px track) / 2 */
        margin-top: -8px !important;

        border: 2px solid var(--shan-burgundy) !important;
        border-radius: 50% !important;

        /* Solid burgundy thumb */
        background: var(--shan-burgundy) !important;

        box-shadow: none !important;
        transform: none !important;
    }

    /* Firefox equivalent */
    .shan-price-range input[type="range"]::-moz-range-track {
        height: 4px !important;
        border: 0 !important;
        background: transparent !important;
    }

    .shan-price-range input[type="range"]::-moz-range-thumb {
        width: 20px !important;
        height: 20px !important;

        border: 2px solid var(--shan-burgundy) !important;
        border-radius: 50% !important;
        background: var(--shan-burgundy) !important;

        box-shadow: none !important;
    }
}

/* END HH MOBILE PRICE SLIDER - FINAL GEOMETRY */

/* HH desktop header: promotional links live in burgundy quick-nav. */
@media (min-width:1024px){
  .shan-nav__item--mobile-only{
    display:none !important;
  }
}

/* HH DESKTOP HEADER - compact centered search */
@media (min-width:1024px){
  .shan-header-actions .shan-search{
    flex:0 1 700px !important;
    max-width:700px !important;
  }
}

/* HH DESKTOP HEADER - keep utility icons flush right */
@media (min-width:1024px){
  .shan-header-actions .shan-favorites-link{
    margin-left:auto !important;
  }
}

/* HH DESKTOP SEARCH - match approved mobile visual design */
@media (min-width:1024px){

  .shan-header-actions .shan-search{
    height:40px !important;
    border:1px solid rgba(36,32,29,.14) !important;
    border-radius:999px !important;
    background:rgba(114,30,43,.035) !important;
  }

  .shan-header-actions .shan-search input[type="search"]{
    height:43px !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:var(--shan-ink) !important;
  }

  .shan-header-actions .shan-search input[type="search"]::placeholder{
    color:var(--shan-muted) !important;
    opacity:1 !important;
  }

  .shan-header-actions .shan-search:focus-within{
    border-color:rgba(114,30,43,.72) !important;
    outline:none !important;
    box-shadow:none !important;
  }

  .shan-header-actions .shan-search input:focus,
  .shan-header-actions .shan-search input:focus-visible{
    outline:none !important;
    box-shadow:none !important;
  }
}

/* HH DESKTOP SEARCH - refined width */
@media (min-width:1024px){
  .shan-header-actions .shan-search{
    flex-basis:620px !important;
    max-width:620px !important;
  }
}

/* HH DESKTOP HEADER - tighten SHOP to search spacing */
@media (min-width:1024px){
  .shan-brand-row{
    column-gap:14px !important;
  }
}

/* HH DESKTOP SHOP - refined chevron */
@media (min-width:1024px){
  .shan-nav--header .shan-caret{
    width:7px;
    height:7px;
    margin-left:1px;
    overflow:hidden;
    font-size:0 !important;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:translateY(-2px) rotate(45deg);
  }

  .shan-nav--header .shan-nav__trigger{
    gap:6px;
  }
}

/* HH DESKTOP SHOP - fix chevron clipping */
@media (min-width:1024px){
  .shan-nav--header .shan-caret{
    display:inline-block !important;
    flex:0 0 7px;
    width:7px !important;
    height:7px !important;
    overflow:visible !important;
    font-size:0 !important;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:translateY(-2px) rotate(45deg);
  }
}

/* HH DESKTOP SHOP - true vertical alignment */
@media (min-width:1024px){
  .shan-nav--header .shan-nav__trigger{
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
  }

  .shan-nav--header .shan-caret{
    display:block !important;
    flex:0 0 7px;
    width:7px !important;
    height:7px !important;
    margin:0 0 4px 0 !important;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:rotate(45deg) !important;
  }
}

/* HH DESKTOP SHOP - stronger chevron */
@media (min-width:1024px){
  .shan-nav--header .shan-caret{
    border-right-width:2px !important;
    border-bottom-width:2px !important;
  }
}

/* HH DESKTOP QUICK NAV - match approved mobile design */
@media (min-width:1024px){

  .shan-mobile-quick-nav{
    justify-content:center !important;
    gap:8px !important;
    min-height:44px !important;
    padding:6px 12px !important;
    background:var(--shan-paper) !important;
  }

  .shan-mobile-quick-nav a,
  .shan-mobile-quick-nav a:last-child{
    min-height:30px !important;
    padding:6px 14px !important;

    border:1px solid #721e2b !important;
    border-radius:0 !important;

    background:transparent !important;
    color:#721e2b !important;

    font-size:12px !important;
    font-weight:600 !important;
    line-height:1 !important;

    box-shadow:none !important;
    transform:none !important;
  }

  .shan-mobile-quick-nav a:hover,
  .shan-mobile-quick-nav a:focus,
  .shan-mobile-quick-nav a:focus-visible,
  .shan-mobile-quick-nav a:active,
  .shan-mobile-quick-nav a:last-child:hover,
  .shan-mobile-quick-nav a:last-child:focus,
  .shan-mobile-quick-nav a:last-child:focus-visible,
  .shan-mobile-quick-nav a:last-child:active{
    border-color:#721e2b !important;
    background:transparent !important;
    color:#721e2b !important;
    box-shadow:none !important;
    transform:none !important;
    outline:none !important;
  }
}

/* HH DESKTOP QUICK NAV - remove divider lines */
@media (min-width:1024px){
  .shan-nav-row,
  .shan-mobile-quick-nav{
    border-top:0 !important;
    border-bottom:0 !important;
  }
}

/* =========================================================
   HH DESKTOP HEADER - final spacing polish
   Desktop only
   ========================================================= */
@media (min-width:1024px){

  /* Slightly more compact main header row */
  .shan-brand-row{
    min-height:88px !important;
  }

  /* Balance SHOP + search relative to logo */
  .shan-nav--header{
    transform:translateX(18px);
  }

  /* Search follows SHOP shift while icons remain flush right */
  .shan-header-actions .shan-search{
    transform:translateX(18px);
  }

  /* Slightly tighter utility icons */
  .shan-header-actions{
    gap:8px !important;
  }

  /* Refine desktop shortcut buttons */
  .shan-mobile-quick-nav{
    min-height:48px !important;
    padding:6px 12px 8px !important;
    margin-bottom:8px !important;
  }

  .shan-mobile-quick-nav a,
  .shan-mobile-quick-nav a:last-child{
    min-height:34px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
}

/* HH DESKTOP HEADER - final micro polish */
@media (min-width:1024px){

  /* Remove divider above quick navigation */
  .shan-nav-row,
  .shan-mobile-quick-nav{
    border-top:0 !important;
  }

  /* Refine SHOP + search positioning */
  .shan-nav--header,
  .shan-header-actions .shan-search{
    transform:translateX(10px);
  }

  /* Slightly reduce quick-nav to hero breathing room */
  .shan-mobile-quick-nav{
    margin-bottom:3px !important;
  }
}

/* HH DESKTOP HEADER - remove divider above quick nav */
@media (min-width:1024px){
  .shan-site-header{
    border-bottom:0 !important;
  }
}

/* HH DESKTOP QUICK NAV - balanced vertical spacing */
@media (min-width:1024px){
  .shan-mobile-quick-nav{
    padding-top:6px !important;
    padding-bottom:6px !important;
    margin-bottom:0 !important;
  }
}

/* HH DESKTOP QUICK NAV - lock border geometry in all states */
@media (min-width:1024px){
  .shan-mobile-quick-nav a,
  .shan-mobile-quick-nav a:hover,
  .shan-mobile-quick-nav a:focus,
  .shan-mobile-quick-nav a:focus-visible,
  .shan-mobile-quick-nav a:active,
  .shan-mobile-quick-nav a:last-child,
  .shan-mobile-quick-nav a:last-child:hover,
  .shan-mobile-quick-nav a:last-child:focus,
  .shan-mobile-quick-nav a:last-child:focus-visible,
  .shan-mobile-quick-nav a:last-child:active{
    border:1px solid #721e2b !important;
    background:transparent !important;
    color:#721e2b !important;
    box-shadow:none !important;
    transform:none !important;
    outline:none !important;
  }
}

/* HH DESKTOP QUICK NAV - slightly stronger typography */
@media (min-width:1024px){
  .shan-mobile-quick-nav a,
  .shan-mobile-quick-nav a:last-child{
    font-size:13px !important;
  }
}

/* HH DESKTOP QUICK NAV - burgundy hover */
@media (min-width:1024px){
  .shan-mobile-quick-nav a:hover,
  .shan-mobile-quick-nav a:focus-visible,
  .shan-mobile-quick-nav a:last-child:hover,
  .shan-mobile-quick-nav a:last-child:focus-visible{
    border:1px solid #721e2b !important;
    background:#721e2b !important;
    color:#fffaf1 !important;
    box-shadow:none !important;
    transform:none !important;
  }
}

/* HH DESKTOP QUICK NAV - authoritative hover state */
@media (min-width:1024px){
  .shan-mobile-quick-nav a:hover,
  .shan-mobile-quick-nav a:focus-visible,
  .shan-mobile-quick-nav a:last-child:hover,
  .shan-mobile-quick-nav a:last-child:focus-visible{
    background-color:rgb(114,30,43) !important;
    background-image:none !important;
    color:#fffaf1 !important;
    border-color:rgb(114,30,43) !important;
    opacity:1 !important;
    filter:none !important;
  }
}

/* HH DESKTOP QUICK NAV - stronger burgundy presentation */
@media (min-width:1024px){
  .shan-mobile-quick-nav a,
  .shan-mobile-quick-nav a:last-child{
    font-weight:700 !important;
  }
}

/* HH DESKTOP QUICK NAV - tighten header spacing */
@media (min-width:1024px){
  .shan-mobile-quick-nav{
    transform:translateY(-6px) !important;
    margin-bottom:-6px !important;
  }
}

/* HH DESKTOP QUICK NAV - restore original font weight */
@media (min-width:1024px){
  .shan-mobile-quick-nav a,
  .shan-mobile-quick-nav a:last-child{
    font-weight:600 !important;
  }
}

/* HH DESKTOP QUICK NAV - vertical spacing */
@media (min-width:1024px){
  .shan-mobile-quick-nav{
    transform:none !important;
    margin-top:0 !important;
    margin-bottom:12px !important;
  }
}

/* HH DESKTOP QUICK NAV - vertical padding */
@media (min-width:1024px){
  .shan-mobile-quick-nav{
    transform:none !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    padding-top:0 !important;
    padding-bottom:12px !important;
  }
}


   Desktop only. Mobile remains untouched.
   ========================================================= */
@media (min-width:1024px){

  /* Main header row */
  .shan-brand-row{
    position:relative !important;
    display:grid !important;
    grid-template-columns:minmax(260px,1fr) auto minmax(260px,1fr) !important;
    align-items:center !important;
    column-gap:24px !important;
    min-height:76px !important;
  }

  /* Brand: true center */
  .shan-wordmark--header{
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:center !important;
    width:220px !important;
    margin:0 !important;
    transform:none !important;
  }

  /* SHOP leaves the main row and joins navigation row */
  .shan-nav--header{
    grid-column:auto !important;
    grid-row:auto !important;
    justify-self:auto !important;
    transform:none !important;
  }

  /* Search + account actions occupy the full main-row grid */
  .shan-header-actions{
    position:absolute !important;
    inset:0 !important;
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    gap:10px !important;
    pointer-events:none;
  }

  /* Search on left */
  .shan-header-actions .shan-search{
    flex:0 1 360px !important;
    width:360px !important;
    max-width:360px !important;
    height:40px !important;
    margin:0 !important;
    transform:none !important;
    pointer-events:auto;
  }

  /* Push utility icons to far right */
  .shan-header-actions .shan-favorites-link{
    margin-left:auto !important;
  }

  .shan-header-actions > a,
  .shan-header-actions > button,
  .shan-header-actions .shan-favorites-link,
  .shan-header-actions .shan-cart-link,
  .shan-header-actions .shan-account-link{
    pointer-events:auto;
  }


  /* ---------------------------------------------------------
     SECOND ROW NAVIGATION
     --------------------------------------------------------- */

  .shan-mobile-quick-nav{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:36px !important;

    min-height:42px !important;
    margin:0 !important;
    padding:0 16px 10px !important;

    background:var(--shan-paper) !important;
    transform:none !important;
  }

  /* SHOP sits at beginning of same centered navigation line */
  .shan-nav--header{
    position:absolute !important;
    left:50% !important;
    transform:translateX(-330px) !important;
    z-index:5 !important;
  }

  .shan-nav--header > .shan-nav__list{
    gap:0 !important;
  }

  .shan-nav--header .shan-nav__trigger{
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
  }


  /* Quick links become clean text navigation */
  .shan-mobile-quick-nav a,
  .shan-mobile-quick-nav a:last-child{
    min-height:auto !important;
    padding:8px 0 !important;

    border:0 !important;
    border-radius:0 !important;

    background:transparent !important;
    background-image:none !important;

    color:#721e2b !important;

    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.2 !important;

    box-shadow:none !important;
    transform:none !important;
  }

  /* Text-link hover */
  .shan-mobile-quick-nav a:hover,
  .shan-mobile-quick-nav a:focus-visible,
  .shan-mobile-quick-nav a:last-child:hover,
  .shan-mobile-quick-nav a:last-child:focus-visible{
    border:0 !important;
    background:transparent !important;
    color:#721e2b !important;
    box-shadow:none !important;
    transform:none !important;
    text-decoration:underline !important;
    text-underline-offset:5px !important;
  }

  /* No desktop divider */
  .shan-site-header{
    border-bottom:0 !important;
  }
}


   Row 1: Search | centered Logo | Actions
   Row 2: Shop | New Arrivals | Featured | Sale | Shop All
   ========================================================= */
@media (min-width:1024px){

  /* ---------- ROW 1 ---------- */

  .shan-brand-row{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:76px !important;
  }

  /* Logo stays mathematically centered */
  .shan-wordmark--header{
    position:relative !important;
    width:220px !important;
    margin:0 !important;
    transform:none !important;
    z-index:2 !important;
  }

  /* Search/actions layer across main row */
  .shan-header-actions{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:50% !important;
    transform:translateY(-50%) !important;

    display:flex !important;
    align-items:center !important;

    width:100% !important;
    gap:10px !important;

    pointer-events:none !important;
  }

  /* Search firmly on LEFT */
  .shan-header-actions .shan-search{
    position:relative !important;
    left:auto !important;

    flex:0 0 360px !important;
    width:360px !important;
    max-width:360px !important;

    margin:0 !important;
    transform:none !important;

    pointer-events:auto !important;
  }

  /* Actions firmly on RIGHT */
  .shan-header-actions .shan-favorites-link{
    margin-left:auto !important;
  }

  .shan-header-actions .shan-favorites-link,
  .shan-header-actions .shan-cart-link,
  .shan-header-actions .shan-account-link{
    pointer-events:auto !important;
  }


  /* ---------- ROW 2 ---------- */

  /*
   * SHOP remains its existing DOM element but is visually
   * positioned at the beginning of the centered nav row.
   */
  .shan-nav--header{
    position:absolute !important;

    left:50% !important;
    top:100% !important;

    margin-top:0 !important;

    transform:translate(-285px, 0) !important;

    z-index:20 !important;
  }

  .shan-nav--header > .shan-nav__list{
    margin:0 !important;
    padding:0 !important;
  }

  .shan-nav--header .shan-nav__trigger{
    padding:8px 0 !important;
    font-size:13px !important;
    font-weight:600 !important;
  }


  /* Existing quick links form remainder of row 2 */
  .shan-mobile-quick-nav{
    position:relative !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    gap:36px !important;

    min-height:42px !important;

    margin:0 !important;
    padding:0 16px 10px !important;

    transform:none !important;
  }

  /* Shift quick links slightly right to make room for SHOP */
  .shan-mobile-quick-nav{
    padding-left:105px !important;
  }

  .shan-mobile-quick-nav a,
  .shan-mobile-quick-nav a:last-child{
    padding:8px 0 !important;
    border:0 !important;
    background:transparent !important;

    color:#721e2b !important;

    font-size:13px !important;
    font-weight:600 !important;

    box-shadow:none !important;
  }

  .shan-mobile-quick-nav a:hover,
  .shan-mobile-quick-nav a:focus-visible,
  .shan-mobile-quick-nav a:last-child:hover,
  .shan-mobile-quick-nav a:last-child:focus-visible{
    border:0 !important;
    background:transparent !important;
    color:#721e2b !important;

    text-decoration:underline !important;
    text-underline-offset:5px !important;
  }

}


/* HH DESKTOP HEADER - align SHOP with navigation group */
@media (min-width:1024px){
  .shan-nav--header{
    transform:translate(-185px, 0) !important;
  }
}

/* HH DESKTOP HEADER - FINAL ALIGNMENT POLISH */
@media (min-width:1024px){

  /* Give left search the same comfortable page inset */
  .shan-header-actions{
    left:16px !important;
    right:16px !important;
    width:auto !important;
  }

  /* Balance SHOP against the quick-navigation group */
  .shan-nav--header{
    transform:translate(-205px, 0) !important;
  }

  /* Slightly more consistent spacing across navigation */
  .shan-mobile-quick-nav{
    gap:38px !important;
    padding-left:115px !important;
  }
}

/* HH DESKTOP HEADER - FINAL SEARCH LEFT LOCK */
@media (min-width:1024px){

  .shan-header-actions{
    left:16px !important;
    right:16px !important;
    width:auto !important;
    justify-content:flex-start !important;
  }

  .shan-header-actions .shan-search{
    position:absolute !important;
    left:0 !important;
    right:auto !important;
    top:50% !important;

    width:360px !important;
    max-width:360px !important;
    flex:none !important;

    margin:0 !important;
    transform:translateY(-50%) !important;
  }

  .shan-header-actions .shan-favorites-link{
    margin-left:auto !important;
  }
}

   Desktop only. Mobile <=820px untouched.
   ========================================================= */
@media (min-width:1024px){

  /* ROW 1 */
  .shan-brand-row{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:76px !important;
    column-gap:0 !important;
  }

  /* True centered logo */
  .shan-wordmark--header{
    position:relative !important;
    width:220px !important;
    margin:0 !important;
    transform:none !important;
    z-index:2 !important;
  }

  /* Full-width utility layer */
  .shan-header-actions{
    position:absolute !important;
    inset:0 16px !important;
    width:auto !important;
    height:auto !important;

    display:flex !important;
    align-items:center !important;
    gap:10px !important;

    margin:0 !important;
    transform:none !important;

    pointer-events:none !important;
  }

  /* Search LEFT */
  .shan-header-actions .shan-search{
    position:static !important;

    flex:0 0 360px !important;
    width:360px !important;
    max-width:360px !important;
    height:40px !important;

    margin:0 !important;
    transform:none !important;

    pointer-events:auto !important;
  }

  /* Actions RIGHT */
  .shan-header-actions .shan-favorites-link{
    margin-left:auto !important;
  }

  .shan-header-actions .shan-favorites-link,
  .shan-header-actions .shan-cart-link,
  .shan-header-actions .shan-account-link{
    pointer-events:auto !important;
  }


  /* ROW 2 - SHOP */
  .shan-nav--header{
    position:absolute !important;
    left:50% !important;
    top:100% !important;

    margin:0 !important;
    transform:translate(-205px,0) !important;

    z-index:20 !important;
  }

  .shan-nav--header > .shan-nav__list{
    margin:0 !important;
    padding:0 !important;
    gap:0 !important;
  }

  .shan-nav--header .shan-nav__trigger{
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;

    padding:8px 0 !important;

    font-size:13px !important;
    font-weight:600 !important;
  }


  /* ROW 2 - remaining navigation */
  .shan-mobile-quick-nav{
    position:relative !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    gap:38px !important;

    min-height:42px !important;

    margin:0 !important;
    padding:0 16px 10px 115px !important;

    background:var(--shan-paper) !important;
    transform:none !important;
  }

  .shan-mobile-quick-nav a,
  .shan-mobile-quick-nav a:last-child{
    min-height:auto !important;
    padding:8px 0 !important;

    border:0 !important;
    border-radius:0 !important;

    background:transparent !important;
    background-image:none !important;

    color:#721e2b !important;

    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.2 !important;

    box-shadow:none !important;
    transform:none !important;
  }

  .shan-mobile-quick-nav a:hover,
  .shan-mobile-quick-nav a:focus-visible,
  .shan-mobile-quick-nav a:last-child:hover,
  .shan-mobile-quick-nav a:last-child:focus-visible{
    border:0 !important;
    background:transparent !important;
    color:#721e2b !important;

    text-decoration:underline !important;
    text-underline-offset:5px !important;

    box-shadow:none !important;
    transform:none !important;
  }

  .shan-site-header{
    border-bottom:0 !important;
  }
}


/* =========================================================
   HH DESKTOP HEADER - FINAL TWO ROW LAYOUT
   Desktop only. Mobile untouched.
   ========================================================= */
@media (min-width:1024px){

  /* ===== ROW 1 ===== */

  .shan-brand-row{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:min(calc(100% - 32px),1440px) !important;
    min-height:76px !important;

    margin-inline:auto !important;
    column-gap:0 !important;
  }

  /* Logo: true center */
  .shan-wordmark--header{
    position:relative !important;
    display:block !important;

    width:220px !important;

    margin:0 !important;
    transform:none !important;

    z-index:3 !important;
  }

  /*
   * Actions wrapper is only a positioning layer.
   * Children are independently anchored left/right.
   */
  .shan-header-actions{
    position:absolute !important;
    inset:0 !important;

    display:block !important;

    width:auto !important;
    height:auto !important;

    margin:0 !important;
    transform:none !important;

    pointer-events:none !important;
  }

  /* Search: LEFT */
  .shan-header-actions .shan-search{
    position:absolute !important;

    left:0 !important;
    right:auto !important;
    top:50% !important;

    width:360px !important;
    max-width:360px !important;
    height:40px !important;

    margin:0 !important;
    transform:translateY(-50%) !important;

    pointer-events:auto !important;
  }

  /* Desktop mobile-search button stays out */
  .shan-mobile-search-toggle{
    display:none !important;
  }

  /*
   * RIGHT CONTROLS
   * Account = right edge
   * Cart = immediately left
   * Favorites = immediately left of cart
   */

  .shan-header-actions .shan-account-menu,
  .shan-header-actions > .shan-account-link{
    position:absolute !important;
    right:0 !important;
    top:50% !important;

    margin:0 !important;
    transform:translateY(-50%) !important;

    pointer-events:auto !important;
  }

  .shan-header-actions .shan-cart-link{
    position:absolute !important;
    right:52px !important;
    top:50% !important;

    margin:0 !important;
    transform:translateY(-50%) !important;

    pointer-events:auto !important;
  }

  .shan-header-actions .shan-favorites-link{
    position:absolute !important;
    right:100px !important;
    top:50% !important;

    margin:0 !important;
    transform:translateY(-50%) !important;

    pointer-events:auto !important;
  }


  /* ===== ROW 2 ===== */

  /* SHOP */
  .shan-nav--header{
    position:absolute !important;

    left:50% !important;
    top:100% !important;

    margin:0 !important;
    transform:translate(-205px,0) !important;

    z-index:20 !important;
  }

  .shan-nav--header > .shan-nav__list{
    margin:0 !important;
    padding:0 !important;
    gap:0 !important;
  }

  .shan-nav--header .shan-nav__trigger{
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;

    padding:8px 0 !important;

    font-size:13px !important;
    font-weight:600 !important;
  }

  /* New Arrivals / Featured / Sale / Shop All */
  .shan-mobile-quick-nav{
    position:relative !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    gap:38px !important;

    min-height:42px !important;

    margin:0 !important;
    padding:0 16px 10px 115px !important;

    background:var(--shan-paper) !important;
    transform:none !important;
  }

  .shan-mobile-quick-nav a,
  .shan-mobile-quick-nav a:last-child{
    min-height:auto !important;
    padding:8px 0 !important;

    border:0 !important;
    border-radius:0 !important;

    background:transparent !important;
    background-image:none !important;

    color:#721e2b !important;

    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.2 !important;

    box-shadow:none !important;
    transform:none !important;
  }

  .shan-mobile-quick-nav a:hover,
  .shan-mobile-quick-nav a:focus-visible,
  .shan-mobile-quick-nav a:last-child:hover,
  .shan-mobile-quick-nav a:last-child:focus-visible{
    border:0 !important;
    background:transparent !important;
    color:#721e2b !important;

    text-decoration:underline !important;
    text-underline-offset:5px !important;

    box-shadow:none !important;
    transform:none !important;
  }

  .shan-site-header{
    border-bottom:0 !important;
  }
}


/* =========================================================
   HH DESKTOP HEADER - GRID CORRECTION
   Search left | Logo center | Actions right
   ========================================================= */
@media (min-width:1024px){

  .shan-brand-row{
    position:relative !important;
    display:grid !important;
    grid-template-columns:1fr auto 1fr !important;
    align-items:center !important;

    width:min(calc(100% - 32px),1440px) !important;
    min-height:76px !important;
    margin-inline:auto !important;
  }

  /* Allow action children to participate directly in grid */
  .shan-header-actions{
    display:contents !important;
  }

  /* Search - LEFT */
  .shan-header-actions .shan-search{
    position:static !important;

    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
    align-self:center !important;

    width:360px !important;
    max-width:360px !important;

    margin:0 !important;
    transform:none !important;
  }

  /* Logo - CENTER */
  .shan-wordmark--header{
    position:static !important;

    grid-column:2 !important;
    grid-row:1 !important;

    justify-self:center !important;
    align-self:center !important;

    width:220px !important;

    margin:0 !important;
    transform:none !important;
  }

  /* Right controls */
  .shan-header-actions .shan-favorites-link{
    position:absolute !important;
    right:100px !important;
    top:50% !important;
    margin:0 !important;
    transform:translateY(-50%) !important;
  }

  .shan-header-actions .shan-cart-link{
    position:absolute !important;
    right:52px !important;
    top:50% !important;
    margin:0 !important;
    transform:translateY(-50%) !important;
  }

  .shan-header-actions .shan-account-menu,
  .shan-header-actions > .shan-account-link{
    position:absolute !important;
    right:0 !important;
    top:50% !important;
    margin:0 !important;
    transform:translateY(-50%) !important;
  }
}

/* HH DESKTOP QUICK NAV - fix SHOP overlap */
@media (min-width:1024px){
  .shan-nav--header{
    transform:translate(-285px,0) !important;
  }
}

/* =========================================================
   HH DESKTOP HEADER - STRUCTURAL NAV ROW FIX
   SHOP + quick links now share the header.
   ========================================================= */
@media (min-width:1024px){

  .shan-site-header{
    position:relative !important;
    display:grid !important;
    grid-template-rows:auto auto !important;
    border-bottom:0 !important;
  }

  .shan-brand-row{
    grid-row:1 !important;
  }

  /* SHOP becomes the natural first item of row 2 */
  .shan-nav--header{
    position:absolute !important;
    left:50% !important;
    top:auto !important;
    bottom:0 !important;

    margin:0 !important;
    transform:translateX(-245px) !important;

    z-index:20 !important;
  }

  /* Quick links form the remainder of the same visual row */
  .shan-mobile-quick-nav{
    grid-row:2 !important;

    width:max-content !important;
    min-height:42px !important;

    justify-self:center !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    gap:38px !important;

    margin:0 !important;
    padding:0 0 10px 90px !important;

    transform:none !important;
  }
}

/* HH DESKTOP REAL SINGLE NAV */
@media (min-width:1024px){

  /* Old separate quick-nav not needed on desktop anymore */
  .shan-mobile-quick-nav{
    display:none !important;
  }

  /* SHOP + 4 links are now one real navigation */
  .shan-nav--header{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;

    grid-column:1 / -1 !important;
    grid-row:2 !important;

    width:max-content !important;
    justify-self:center !important;

    margin:0 auto !important;
    padding:0 !important;

    transform:none !important;
  }

  .shan-nav--header > .shan-nav__list{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    gap:38px !important;

    margin:0 !important;
    padding:0 0 10px !important;

    white-space:nowrap !important;
  }

  .shan-nav__item--desktop-only{
    display:flex !important;
    align-items:center !important;
  }

  .shan-nav__item--desktop-only > a,
  .shan-nav--header .shan-nav__trigger{
    display:inline-flex !important;
    align-items:center !important;

    padding:8px 0 !important;

    border:0 !important;
    background:transparent !important;

    color:#721e2b !important;

    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.2 !important;

    text-decoration:none !important;
    transform:none !important;
  }

}

/* Protect completed mobile navigation */
@media (width < 1024px){
  .shan-nav__item--desktop-only{
    display:none !important;
  }
}

/* HH DESKTOP HEADER - row 1 vertical breathing room */
@media (min-width:1024px){
  .shan-brand-row{
    padding-top:14px !important;
    padding-bottom:12px !important;
  }
}

/* =========================================================
   HH DESKTOP HEADER - UTILITY CENTERING
   Search + actions center against complete header.
   Logo + navigation remain in natural flow.
   ========================================================= */
@media (min-width:1024px){

  .shan-site-header{
    position:relative !important;
  }

  /* Remove experimental breathing-room adjustment */
  .shan-brand-row{
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  /* Logo remains naturally positioned in its first row */
  .shan-wordmark--header{
    align-self:start !important;
  }

  /* Search centered against complete header height */
  .shan-header-actions .shan-search{
    position:absolute !important;

    left:0 !important;
    right:auto !important;

    top:50% !important;

    margin:0 !important;
    transform:translateY(-50%) !important;
  }

  /* Right controls centered against complete header height */
  .shan-header-actions .shan-favorites-link{
    position:absolute !important;
    right:100px !important;
    top:50% !important;
    margin:0 !important;
    transform:translateY(-50%) !important;
  }

  .shan-header-actions .shan-cart-link{
    position:absolute !important;
    right:52px !important;
    top:50% !important;
    margin:0 !important;
    transform:translateY(-50%) !important;
  }

  .shan-header-actions .shan-account-menu,
  .shan-header-actions > .shan-account-link{
    position:absolute !important;
    right:0 !important;
    top:50% !important;
    margin:0 !important;
    transform:translateY(-50%) !important;
  }
}

/* HH DESKTOP - site header breathing room */
@media (min-width:1024px){
  .shan-site-header{
    padding:20px 0 !important;
  }
}

/* HH DESKTOP - remove nav list bottom padding */
@media (min-width:1024px){
  .shan-nav--header > .shan-nav__list{
    padding-bottom:0 !important;
  }
}

/* =========================================================
   HH DESKTOP HEADER - 3 COLUMN GRID
   LEFT: navigation
   CENTER: logo
   RIGHT: favorites / cart / account / search
   Desktop only. Mobile untouched.
   ========================================================= */
@media (min-width:1024px){

  /* Header */
  .shan-site-header{
    display:block !important;
    position:relative !important;
    padding:20px 0 !important;
  }

  /* True three-column desktop layout */
  .shan-shell.shan-brand-row{
    position:relative !important;
    display:grid !important;
    grid-template-columns:1fr auto 1fr !important;
    grid-template-rows:auto !important;
    align-items:center !important;

    width:min(calc(100% - 32px),1440px) !important;
    min-height:76px !important;

    margin-inline:auto !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  /* =====================================================
     COLUMN 1 - NAVIGATION
     ===================================================== */

  .shan-nav--header{
    position:static !important;

    grid-column:1 !important;
    grid-row:1 !important;

    justify-self:start !important;
    align-self:center !important;

    width:auto !important;

    margin:0 !important;
    padding:0 !important;

    transform:none !important;
  }

  .shan-nav--header > .shan-nav__list{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    gap:24px !important;

    margin:0 !important;
    padding:0 !important;

    white-space:nowrap !important;
  }

  /* Old separate quick-nav remains desktop-hidden */
  .shan-mobile-quick-nav{
    display:none !important;
  }

  /* =====================================================
     COLUMN 2 - LOGO
     ===================================================== */

  .shan-wordmark--header{
    position:static !important;

    grid-column:2 !important;
    grid-row:1 !important;

    justify-self:center !important;
    align-self:center !important;

    width:220px !important;

    margin:0 !important;

    transform:none !important;
  }

  /* =====================================================
     COLUMN 3 - ACTIONS
     ===================================================== */

  .shan-header-actions{
    position:static !important;

    grid-column:3 !important;
    grid-row:1 !important;

    justify-self:end !important;
    align-self:center !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:16px !important;

    width:auto !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    transform:none !important;

    pointer-events:auto !important;
  }

  /* Hide full desktop search bar */
  .shan-header-actions .shan-search{
    display:none !important;
    position:static !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    transform:none !important;
  }

  /* Reuse existing magnifying-glass search control */
  .shan-mobile-search-toggle{
    display:inline-flex !important;
    position:static !important;

    align-items:center !important;
    justify-content:center !important;

    margin:0 !important;

    transform:none !important;
  }

  /* Return all action controls to normal flex flow */
  .shan-header-actions .shan-favorites-link,
  .shan-header-actions .shan-cart-link,
  .shan-header-actions .shan-account-menu,
  .shan-header-actions > .shan-account-link{
    position:static !important;

    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;

    margin:0 !important;

    transform:none !important;

    pointer-events:auto !important;
  }

}

/* HH DESKTOP - site header no vertical margin */
@media (min-width:1024px){
  .shan-site-header{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
}

/* HH DESKTOP - remove site header vertical padding */
@media (min-width:1024px){
  .shan-site-header{
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
}

/* HH DESKTOP - utility bar full balanced alignment */
@media (min-width:1024px){
  .shan-utility-bar__inner{
    width:min(calc(100% - 32px),1440px) !important;
    max-width:none !important;
    margin-inline:auto !important;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
  }

  .shan-utility-bar__inner .shan-utility-item{
    margin:0 !important;
  }
}

/* HH DESKTOP - unify primary nav typography */
@media (min-width:1024px){
  .shan-nav--header .shan-nav__trigger,
  .shan-nav--header .shan-nav__item--desktop-only > a{
    font-family:inherit !important;
    font-size:13px !important;
    font-weight:500 !important;
    line-height:1.2 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
  }
}

/* HH DESKTOP - header action icons burgundy */
@media (min-width:1024px){
  .shan-mobile-search-toggle,
  .shan-favorites-link,
  .shan-cart-link,
  .shan-account-link{
    color:#721e2b !important;
  }

  .shan-mobile-search-toggle svg,
  .shan-favorites-link svg,
  .shan-cart-link svg,
  .shan-account-link svg{
    stroke:#721e2b !important;
  }
}

/* HH DESKTOP - single clean nav hover underline */
@media (min-width:1024px){

  .shan-nav--header .shan-nav__trigger,
  .shan-nav--header .shan-nav__item--desktop-only > a{
    text-decoration:none !important;
    border-bottom:2px solid transparent !important;
  }

  .shan-nav--header .shan-nav__trigger:hover,
  .shan-nav--header .shan-nav__trigger:focus-visible,
  .shan-nav--header .shan-nav__item--desktop-only > a:hover,
  .shan-nav--header .shan-nav__item--desktop-only > a:focus-visible{
    text-decoration:none !important;
    border-bottom-color:#721e2b !important;
  }

}

/* HH DESKTOP - final single nav underline */
@media (min-width:1024px){

  .shan-nav--header .shan-nav__trigger,
  .shan-nav--header .shan-nav__item--desktop-only > a{
    border-bottom:0 !important;
    text-decoration:none !important;
  }

  .shan-nav--header .shan-nav__trigger:hover,
  .shan-nav--header .shan-nav__trigger:focus-visible,
  .shan-nav--header .shan-nav__item--desktop-only > a:hover,
  .shan-nav--header .shan-nav__item--desktop-only > a:focus-visible{
    border-bottom:0 !important;
    text-decoration-line:underline !important;
    text-decoration-color:#721e2b !important;
    text-decoration-thickness:2px !important;
    text-underline-offset:5px !important;
  }

}

/* HH DESKTOP - one authoritative nav hover underline */
@media (min-width:1024px){

  .shan-nav--header .shan-nav__trigger,
  .shan-nav--header .shan-nav__item--desktop-only > a,
  .shan-nav--header .shan-nav__trigger:hover,
  .shan-nav--header .shan-nav__trigger:focus-visible,
  .shan-nav--header .shan-nav__item--desktop-only > a:hover,
  .shan-nav--header .shan-nav__item--desktop-only > a:focus-visible{
    text-decoration:none !important;
    border-bottom:0 !important;
  }

  .shan-nav--header .shan-nav__trigger::after,
  .shan-nav--header .shan-nav__item--desktop-only > a::after{
    height:2px !important;
    bottom:3px !important;
    background:#721e2b !important;
  }
}

/* HH DESKTOP - primary nav 14px */
@media (min-width:1024px){
  .shan-nav--header .shan-nav__trigger,
  .shan-nav--header .shan-nav__item--desktop-only > a{
    font-size:14px !important;
  }
}

/* HH DESKTOP - header icons +1px */
@media (min-width:1024px){
  .shan-mobile-search-toggle svg,
  .shan-favorites-link svg,
  .shan-cart-link svg,
  .shan-account-link svg{
    width:21px !important;
    height:21px !important;
  }
}

/* HH DESKTOP - logo size polish */
@media (min-width:1024px){
  .shan-wordmark--header{
    width:235px !important;
  }
}

/* HH DESKTOP - tighten header action spacing */
@media (min-width:1024px){
  .shan-header-actions{
    gap:13px !important;
  }
}

/* HH DESKTOP - SHOP pointer cursor */
@media (min-width:1024px){
  .shan-nav--header .shan-nav__trigger{
    cursor:pointer !important;
  }
}









/* HH DESKTOP - permanent header search */
@media (min-width:1024px){

  .shan-header-actions .shan-search{
    display:flex !important;
    position:static !important;
    align-items:center !important;

    width:348px !important;
    height:43px !important;

    margin:0 !important;
    padding:0 !important;

    opacity:1 !important;
    visibility:visible !important;
    overflow:visible !important;
    pointer-events:auto !important;

    transform:none !important;
    transition:none !important;
  }

  .shan-header-actions .shan-search input[type="search"]{
    width:100% !important;
    min-width:0 !important;
  }

  /* Separate search toggle is mobile-only */
  .shan-mobile-search-toggle{
    display:none !important;
  }

  .shan-favorites-link{
    cursor:pointer !important;
  }

}

/* =========================================================
   HH DESKTOP - UTILITY BAR 2-COLUMN EXPERIMENT
   LEFT: Free Shipping
   RIGHT: Favorites / Cart / Account
   Desktop only.
   ========================================================= */
@media (min-width:1024px){

  .shan-utility-bar__inner{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:center !important;
    width:min(calc(100% - 32px),1440px) !important;
    max-width:none !important;
    margin-inline:auto !important;
  }

  .shan-utility-bar__inner > .shan-utility-item{
    grid-column:1 !important;
    justify-self:start !important;
    margin:0 !important;
  }

  .shan-utility-actions{
    grid-column:2 !important;
    justify-self:end !important;
    display:flex !important;
    align-items:center !important;
    gap:13px !important;
  }

  .shan-utility-actions .shan-icon-link,
  .shan-utility-actions .shan-account-menu{
    position:static !important;
    margin:0 !important;
    transform:none !important;
  }

  .shan-utility-actions .shan-icon-link{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    cursor:pointer !important;
  }

  .shan-utility-actions .shan-icon-link svg{
    width:19px !important;
    height:19px !important;
  }

  /* Main cream header becomes search-only on the right */
  .shan-header-actions > .shan-favorites-link,
  .shan-header-actions > .shan-cart-link,
  .shan-header-actions > .shan-account-menu,
  .shan-header-actions > .shan-account-link{
    display:none !important;
  }

}

/* HH DESKTOP - search field size polish */
@media (min-width:1024px){

  .shan-header-actions .shan-search input[type="search"]{
    font-size:14px !important;
  }

  .shan-header-actions .shan-search button svg{
    width:20px !important;
    height:20px !important;
  }

}

/* HH DESKTOP - transparent search field */
@media (min-width:1024px){
  .shan-header-actions .shan-search input[type="search"]{
    background:transparent !important;
  }
}

/* HH DESKTOP - transparent search field */
@media (min-width:1024px){
  .shan-header-actions .shan-search input[type="search"]{
    background:transparent !important;
  }
}

/* HH DESKTOP - transparent search */
@media (min-width:1024px){
  .shan-header-actions .shan-search,
  .shan-header-actions .shan-search input[type="search"]{
    background:transparent !important;
  }
}

/* HH MOBILE PROTECTION - desktop utility actions must never appear */
@media (width < 1024px){
  .shan-utility-actions{
    display:none !important;
  }
}

/* HH MOBILE SEARCH - transparent background */
@media (width < 1024px){
  .shan-header-actions .shan-search,
  .shan-header-actions .shan-search input[type="search"]{
    background:transparent !important;
  }
}

/* HH DESKTOP SHOP - open mega menu on hover */
@media (min-width:1024px){

  .shan-nav__item--mega:hover > .shan-mega-menu,
  .shan-nav__item--mega:focus-within > .shan-mega-menu{
    display:block !important;
  }

}


/* HH DESKTOP UTILITY ICONS - compact hover target */
@media (min-width:1024px){
  .shan-utility-actions .shan-icon-link,
  .shan-utility-actions .shan-account-link{
    width:32px !important;
    height:32px !important;
    flex-basis:32px !important;
  }
}

/* HH DESKTOP UTILITY CART - quantity badge */
@media (min-width:1024px){

  .shan-utility-actions .shan-utility-cart-link{
    position:relative !important;
  }

  .shan-utility-actions .shan-utility-cart-link .shan-cart-count{
    position:absolute !important;
    top:-3px !important;
    right:-4px !important;

    display:grid !important;
    place-items:center !important;

    min-width:16px !important;
    height:16px !important;
    padding:0 4px !important;

    border-radius:20px !important;
    background:#721e2b !important;
    color:#fff !important;

    font-size:9px !important;
    line-height:1 !important;
  }

}

/* HH DESKTOP UTILITY BAR - vertical breathing room */
@media (min-width:1024px){
  .shan-utility-bar__inner{
    padding-top:4px !important;
    padding-bottom:4px !important;
  }
}

/* HH DESKTOP UTILITY BAR - unified black content */
@media (min-width:1024px){

  .shan-utility-bar__inner{
    color:#000 !important;
  }

  .shan-utility-bar__inner .shan-utility-item,
  .shan-utility-bar__inner .shan-icon-link,
  .shan-utility-bar__inner .shan-account-link{
    color:inherit !important;
  }

  .shan-utility-bar__inner svg{
    color:inherit !important;
    stroke:currentColor !important;
  }

}

/* HH DESKTOP UTILITY ACTIONS - larger icons */
@media (min-width:1024px){
  .shan-utility-actions .shan-icon-link svg,
  .shan-utility-actions .shan-account-link svg{
    width:22px !important;
    height:22px !important;
  }
}

/* HH DESKTOP UTILITY CART - badge size and position */
@media (min-width:1024px){
  .shan-utility-actions .shan-utility-cart-link .shan-cart-count{
    top:2px !important;
    right:-5px !important;

    min-width:18px !important;
    height:18px !important;
    padding:0 4px !important;

    font-size:10px !important;
    font-weight:600 !important;
  }
}

/* HH DESKTOP UTILITY ACTIONS - Favorite, Profile, Cart */
@media (min-width:1024px){
  .shan-utility-actions .shan-utility-favorites-link{
    order:1;
  }

  .shan-utility-actions .shan-utility-account-link{
    order:2;
  }

  .shan-utility-actions .shan-utility-cart-link{
    order:3;
  }
}

/* HH DESKTOP UTILITY BAR - 3 column layout */
@media (min-width:1024px){

  .shan-utility-bar__inner{
    grid-template-columns:1fr auto 1fr !important;
  }

  .shan-utility-bar__inner > .shan-utility-item{
    grid-column:1 !important;
    justify-self:start !important;
  }

  .shan-utility-announcement{
    display:block !important;
    grid-column:2 !important;
    justify-self:center !important;
    white-space:nowrap !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:600 !important;
    letter-spacing:.04em !important;
  }

  .shan-utility-actions{
    grid-column:3 !important;
    justify-self:end !important;
  }

}

/* Protect approved mobile storefront */
@media (width < 1024px){
  .shan-utility-announcement{
    display:none !important;
  }
}

/* HH MOBILE UTILITY - show active center announcement */
@media (width < 1024px){
  .shan-utility-announcement{
    display:block !important;
    width:100% !important;
    text-align:center !important;
    color:#fff !important;
    font-size:12px !important;
    font-weight:600 !important;
    letter-spacing:.04em !important;
    white-space:nowrap !important;
  }
}

/* HH MOBILE UTILITY - announcement first row, shipping second row */
@media (width < 1024px){

  .shan-utility-bar__inner{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
    justify-items:center !important;
  }

  .shan-utility-announcement{
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:center !important;
    width:100% !important;
    text-align:center !important;
  }

  .shan-utility-bar__inner > .shan-utility-item{
    grid-column:1 !important;
    grid-row:2 !important;
    justify-self:center !important;
  }

}


/* =========================================================
   HH DESKTOP - SHOP MEGA MENU
   Desktop only. Do not modify mobile behavior.
   ========================================================= */
@media (min-width:1024px){

  .shan-nav--header .shan-nav__item--mega{
    position:static !important;
  }

  .shan-nav--header .shan-mega-menu{
    position:absolute !important;
    z-index:1000 !important;

    top:100% !important;
    left:50% !important;
    right:auto !important;

    width:min(calc(100vw - 48px), 1180px) !important;
    margin:0 !important;

    transform:translateX(-50%) !important;

    background:#fffaf1 !important;
    border:1px solid rgba(114,30,43,.14) !important;
    border-radius:0 0 14px 14px !important;

    box-shadow:
      0 18px 40px rgba(36,32,29,.10),
      0 4px 12px rgba(36,32,29,.05) !important;

    overflow:hidden !important;
  }

  .shan-nav--header .shan-mega-menu__panel{
    display:grid !important;
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr) !important;
    gap:0 !important;

    width:100% !important;
    max-width:none !important;

    margin:0 !important;
    padding:0 !important;

    background:#fffaf1 !important;
  }


  /* LEFT: SHOP BY STYLE */

  .shan-nav--header .shan-mega-menu__section{
    padding:32px 38px 34px !important;
  }

  .shan-nav--header .shan-mega-menu__eyebrow{
    margin:0 0 20px !important;

    color:#721e2b !important;

    font-size:11px !important;
    font-weight:600 !important;
    line-height:1.2 !important;

    letter-spacing:.14em !important;
    text-transform:uppercase !important;
  }

  .shan-nav--header .shan-mega-menu__links{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;

    column-gap:30px !important;
    row-gap:4px !important;

    margin:0 !important;
  }

  .shan-nav--header .shan-mega-menu__links a{
    display:block !important;

    padding:8px 0 !important;

    color:#24201d !important;

    font-size:14px !important;
    font-weight:500 !important;
    line-height:1.3 !important;

    background:transparent !important;
    text-decoration:none !important;

    transition:color .15s ease !important;
  }

  .shan-nav--header .shan-mega-menu__links a:hover,
  .shan-nav--header .shan-mega-menu__links a:focus-visible{
    color:#721e2b !important;
    background:transparent !important;
  }

  .shan-nav--header .shan-mega-menu__all{
    display:inline-flex !important;
    align-items:center !important;

    margin-top:20px !important;
    padding:0 0 4px !important;

    color:#721e2b !important;

    font-size:12px !important;
    font-weight:600 !important;
    line-height:1.2 !important;

    letter-spacing:.08em !important;
    text-transform:uppercase !important;

    border-bottom:1px solid #c59a45 !important;
    background:transparent !important;
  }


  /* RIGHT: FEATURED */

  .shan-nav--header .shan-mega-menu__feature{
    padding:32px 34px !important;

    background:#f8f0e2 !important;

    border-left:1px solid rgba(114,30,43,.12) !important;
  }

  .shan-nav--header .shan-mega-menu__art{
    width:100% !important;
    margin:0 0 16px !important;

    overflow:hidden !important;
    border-radius:8px !important;

    background:#fffaf1 !important;
  }

  .shan-nav--header .shan-mega-menu__art img{
    display:block !important;

    width:100% !important;
    height:150px !important;

    object-fit:cover !important;
  }

  .shan-nav--header .shan-mega-menu__feature-copy{
    display:flex !important;
    flex-direction:column !important;

    gap:4px !important;
    margin:0 0 17px !important;
  }

  .shan-nav--header .shan-mega-menu__feature-copy strong{
    color:#24201d !important;

    font-size:15px !important;
    font-weight:600 !important;
    line-height:1.25 !important;
  }

  .shan-nav--header .shan-mega-menu__feature-copy span{
    color:#716861 !important;

    font-size:12px !important;
    line-height:1.45 !important;
  }

  .shan-nav--header .shan-mega-menu__products{
    display:flex !important;
    flex-direction:column !important;

    gap:0 !important;

    padding-top:12px !important;

    border-top:1px solid rgba(114,30,43,.12) !important;
  }

  .shan-nav--header .shan-mega-menu__products a{
    display:block !important;

    padding:6px 0 !important;

    color:#24201d !important;

    font-size:12px !important;
    line-height:1.35 !important;

    background:transparent !important;
    text-decoration:none !important;
  }

  .shan-nav--header .shan-mega-menu__products a:hover,
  .shan-nav--header .shan-mega-menu__products a:focus-visible{
    color:#721e2b !important;
    background:transparent !important;
  }

}



/* =========================================================
   HH DESKTOP MEGA MENU - V2 PREMIUM POLISH
   DESKTOP ONLY - MOBILE MUST REMAIN UNTOUCHED
   ========================================================= */
@media (min-width:1024px){

  /* Let content determine height instead of creating
     a huge empty dropdown */
  .shan-nav--header .shan-mega-menu{
    width:min(calc(100vw - 48px),1180px) !important;
  }

  .shan-nav--header .shan-mega-menu__panel{
    grid-template-columns:minmax(0,1.55fr) minmax(360px,.75fr) !important;
    min-height:0 !important;
  }


  /* =========================
     LEFT SHOPPING AREA
     ========================= */

  .shan-nav--header .shan-mega-menu__section{
    padding:38px 48px 42px !important;
  }

  .shan-nav--header .shan-mega-menu__eyebrow{
    margin:0 0 25px !important;

    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.2 !important;

    letter-spacing:.15em !important;
  }

  .shan-nav--header .shan-mega-menu__links{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;

    column-gap:64px !important;
    row-gap:0 !important;

    max-width:650px !important;
  }

  .shan-nav--header .shan-mega-menu__links a{
    position:relative !important;

    display:flex !important;
    align-items:center !important;

    min-height:50px !important;
    padding:10px 22px 10px 0 !important;

    color:#24201d !important;

    font-size:19px !important;
    font-weight:600 !important;
    line-height:1.25 !important;

    letter-spacing:-.01em !important;

    transition:
      color .18s ease,
      padding-left .18s ease !important;
  }

  /* elegant arrow appears on hover */
  .shan-nav--header .shan-mega-menu__links a::before{
    content:"→" !important;

    position:absolute !important;
    left:0 !important;

    color:#c59a45 !important;

    font-size:17px !important;
    font-weight:500 !important;

    opacity:0 !important;
    transform:translateX(-8px) !important;

    transition:
      opacity .18s ease,
      transform .18s ease !important;
  }

  .shan-nav--header .shan-mega-menu__links a:hover,
  .shan-nav--header .shan-mega-menu__links a:focus-visible{
    color:#721e2b !important;
    padding-left:26px !important;
  }

  .shan-nav--header .shan-mega-menu__links a:hover::before,
  .shan-nav--header .shan-mega-menu__links a:focus-visible::before{
    opacity:1 !important;
    transform:translateX(0) !important;
  }


  /* SHOP ALL */

  .shan-nav--header .shan-mega-menu__all{
    display:inline-flex !important;
    align-items:center !important;

    margin-top:30px !important;
    padding:11px 18px !important;

    color:#fffaf1 !important;
    background:#721e2b !important;

    border:1px solid #721e2b !important;
    border-radius:4px !important;

    font-size:13px !important;
    font-weight:700 !important;
    line-height:1 !important;

    letter-spacing:.09em !important;
    text-transform:uppercase !important;

    transition:
      background .18s ease,
      color .18s ease,
      border-color .18s ease !important;
  }

  .shan-nav--header .shan-mega-menu__all:hover,
  .shan-nav--header .shan-mega-menu__all:focus-visible{
    color:#721e2b !important;
    background:#e2c784 !important;
    border-color:#e2c784 !important;
  }


  /* =========================
     FEATURED COLLECTION
     ========================= */

  .shan-nav--header .shan-mega-menu__feature{
    padding:38px 34px 36px !important;

    background:#f8f0e2 !important;

    border-left:1px solid rgba(114,30,43,.13) !important;
  }

  .shan-nav--header .shan-mega-menu__feature > .shan-mega-menu__eyebrow{
    margin-bottom:20px !important;
  }

  .shan-nav--header .shan-mega-menu__art{
    margin:0 0 20px !important;

    border:1px solid rgba(114,30,43,.10) !important;
    border-radius:8px !important;

    box-shadow:0 5px 18px rgba(36,32,29,.06) !important;
  }

  .shan-nav--header .shan-mega-menu__art img{
    width:100% !important;
    height:220px !important;

    object-fit:cover !important;

    transition:transform .35s ease !important;
  }

  .shan-nav--header .shan-mega-menu__art:hover img{
    transform:scale(1.025) !important;
  }


  /* Featured title */

  .shan-nav--header .shan-mega-menu__feature-copy{
    gap:8px !important;
    margin:0 !important;
  }

  .shan-nav--header .shan-mega-menu__feature-copy strong{
    color:#24201d !important;

    font-size:23px !important;
    font-weight:600 !important;
    line-height:1.15 !important;

    letter-spacing:-.015em !important;
  }

  .shan-nav--header .shan-mega-menu__feature-copy span{
    max-width:310px !important;

    color:#716861 !important;

    font-size:14px !important;
    line-height:1.55 !important;
  }


  /* Hide random newest-product names.
     They make the curated feature card look like a sidebar. */

  .shan-nav--header .shan-mega-menu__products{
    display:none !important;
  }


  /* Create collection CTA from the feature copy */

  .shan-nav--header .shan-mega-menu__feature-copy::after{
    content:"SHOP COLLECTION  →" !important;

    display:inline-block !important;

    align-self:flex-start !important;

    margin-top:14px !important;
    padding-bottom:5px !important;

    color:#721e2b !important;

    border-bottom:1px solid #c59a45 !important;

    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.2 !important;

    letter-spacing:.10em !important;
    text-transform:uppercase !important;
  }

}



/* =========================================================
   HH DESKTOP MEGA MENU - V3 FINAL VISUAL
   DESKTOP ONLY - MOBILE PROTECTED
   ========================================================= */
@media (min-width:1024px){

  /* FINAL PROPORTIONS */

  .shan-nav--header .shan-mega-menu{
    width:min(calc(100vw - 48px),1180px) !important;
  }

  .shan-nav--header .shan-mega-menu__panel{
    grid-template-columns:minmax(0,1.62fr) minmax(350px,.70fr) !important;
    min-height:0 !important;
  }


  /* LEFT EDITORIAL SHOP AREA */

  .shan-nav--header .shan-mega-menu__section{
    padding:38px 48px 38px !important;
  }

  .shan-nav--header .shan-mega-menu__section > .shan-mega-menu__eyebrow{
    margin-bottom:23px !important;
    font-size:13px !important;
    font-weight:700 !important;
    letter-spacing:.15em !important;
  }

  .shan-nav--header .shan-mega-menu__links{
    grid-template-columns:repeat(2,minmax(220px,1fr)) !important;
    column-gap:58px !important;
    row-gap:2px !important;

    width:100% !important;
    max-width:650px !important;
  }

  .shan-nav--header .shan-mega-menu__links a{
    min-height:52px !important;

    padding:10px 28px 10px 0 !important;

    font-size:20px !important;
    font-weight:600 !important;
    line-height:1.2 !important;

    letter-spacing:-.015em !important;
  }

  .shan-nav--header .shan-mega-menu__links a::before{
    content:"→" !important;

    position:absolute !important;
    left:0 !important;

    color:#c59a45 !important;

    font-size:18px !important;

    opacity:0 !important;
    transform:translateX(-7px) !important;

    transition:
      opacity .18s ease,
      transform .18s ease !important;
  }

  .shan-nav--header .shan-mega-menu__links a:hover,
  .shan-nav--header .shan-mega-menu__links a:focus-visible{
    color:#721e2b !important;
    padding-left:27px !important;
  }

  .shan-nav--header .shan-mega-menu__links a:hover::before,
  .shan-nav--header .shan-mega-menu__links a:focus-visible::before{
    opacity:1 !important;
    transform:translateX(0) !important;
  }


  /* SHOP ALL */

  .shan-nav--header .shan-mega-menu__all{
    min-height:40px !important;

    margin-top:27px !important;
    padding:0 20px !important;

    font-size:13px !important;
    font-weight:700 !important;

    border-radius:4px !important;
  }


  /* FEATURED EDITORIAL CARD */

  .shan-nav--header .shan-mega-menu__feature{
    padding:38px 34px 34px !important;
  }

  .shan-nav--header .shan-mega-menu__feature > .shan-mega-menu__eyebrow{
    margin-bottom:20px !important;

    font-size:13px !important;
    font-weight:700 !important;
    letter-spacing:.15em !important;
  }

  .shan-nav--header .shan-mega-menu__art{
    margin-bottom:20px !important;

    border-radius:8px !important;

    box-shadow:0 6px 18px rgba(36,32,29,.06) !important;
  }

  .shan-nav--header .shan-mega-menu__art img{
    width:100% !important;
    height:215px !important;

    object-fit:cover !important;
  }

  .shan-nav--header .shan-mega-menu__feature-copy{
    gap:8px !important;
  }

  .shan-nav--header .shan-mega-menu__feature-copy strong{
    font-size:24px !important;
    font-weight:600 !important;
    line-height:1.15 !important;

    letter-spacing:-.02em !important;
  }

  .shan-nav--header .shan-mega-menu__feature-copy span{
    max-width:320px !important;

    font-size:14px !important;
    line-height:1.55 !important;
  }

  /* Keep latest products out of premium desktop presentation */

  .shan-nav--header .shan-mega-menu__products{
    display:none !important;
  }

}



/* =========================================================
   HH DESKTOP MEGA MENU - V4 STRUCTURAL FINAL
   Category cards + viewport alignment + hover bridge.
   DESKTOP ONLY. MOBILE IS NOT TARGETED.
   ========================================================= */

@media (min-width:1024px){

  /* -------------------------------------------------------
     POSITIONING ROOT
     ------------------------------------------------------- */

  /*
   * The nav itself becomes the positioning context.
   * Individual SHOP <li> must NOT become the containing block,
   * otherwise the large panel anchors to the tiny SHOP item.
   */

  .shan-nav--header{
    position:static !important;
  }

  .shan-nav--header .shan-nav__item--mega{
    position:static !important;
  }


  /*
   * Align mega menu with the desktop content edge instead of
   * centering it underneath SHOP.
   *
   * Header shell uses:
   * width:min(calc(100% - 32px),1440px)
   *
   * At normal desktop widths this gives a 16px viewport gutter.
   */

  .shan-nav--header .shan-mega-menu{
    position:absolute !important;

    top:100% !important;
    left:16px !important;
    right:16px !important;

    width:auto !important;
    max-width:none !important;

    margin:0 !important;

    transform:none !important;

    z-index:1000 !important;

    overflow:hidden !important;

    background:#fffaf1 !important;

    border:
      1px solid rgba(114,30,43,.13) !important;

    border-radius:
      0 0 14px 14px !important;

    box-shadow:
      0 20px 45px rgba(36,32,29,.11),
      0 5px 14px rgba(36,32,29,.05) !important;
  }


  /* -------------------------------------------------------
     HOVER BRIDGE
     ------------------------------------------------------- */

  /*
   * Transparent bridge between the header/nav row and menu.
   * Prevents SHOP hover from dropping while the pointer travels
   * downward into the mega menu.
   */

  .shan-nav--header .shan-nav__item--mega::after{
    content:"" !important;

    position:absolute !important;

    left:0 !important;
    right:0 !important;

    top:calc(100% - 10px) !important;

    height:18px !important;

    background:transparent !important;

    pointer-events:auto !important;

    z-index:999 !important;
  }


  /*
   * Keep panel available while either SHOP itself OR the panel
   * has pointer/focus ownership.
   */

  .shan-nav--header .shan-nav__item--mega:hover > .shan-mega-menu,
  .shan-nav--header .shan-nav__item--mega:focus-within > .shan-mega-menu,
  .shan-nav--header .shan-mega-menu:hover{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }


  /* -------------------------------------------------------
     MAIN PANEL
     ------------------------------------------------------- */

  .shan-nav--header .shan-mega-menu__panel{
    display:grid !important;

    grid-template-columns:
      minmax(0,1fr)
      370px !important;

    align-items:stretch !important;

    gap:0 !important;

    width:100% !important;

    min-height:0 !important;

    margin:0 !important;
    padding:0 !important;

    background:#fffaf1 !important;
  }


  /* -------------------------------------------------------
     LEFT CATEGORY GALLERY
     ------------------------------------------------------- */

  .shan-nav--header .shan-mega-menu__section{
    padding:32px 38px 34px !important;

    background:#fffaf1 !important;
  }

  .shan-nav--header
  .shan-mega-menu__section
  > .shan-mega-menu__eyebrow{
    margin:0 0 20px !important;

    color:#721e2b !important;

    font-size:13px !important;
    font-weight:700 !important;
    line-height:1 !important;

    letter-spacing:.15em !important;
    text-transform:uppercase !important;
  }


  /*
   * 3-up category-card gallery.
   * With five current categories this becomes 3 + 2,
   * matching the large ecommerce visual treatment.
   */

  .shan-nav--header .shan-mega-menu__links{
    display:grid !important;

    grid-template-columns:
      repeat(3,minmax(0,1fr)) !important;

    gap:18px !important;

    width:100% !important;
    max-width:none !important;

    margin:0 !important;
  }


  /* -------------------------------------------------------
     CATEGORY CARD
     ------------------------------------------------------- */

  .shan-nav--header
  .shan-mega-menu__links
  .shan-mega-category-card{
    position:relative !important;

    display:block !important;

    min-height:0 !important;

    padding:0 !important;

    overflow:hidden !important;

    color:#24201d !important;
    background:#fff !important;

    border:
      1px solid rgba(114,30,43,.12) !important;

    border-radius:8px !important;

    box-shadow:
      0 3px 10px rgba(36,32,29,.035) !important;

    text-decoration:none !important;

    transition:
      transform .20s ease,
      box-shadow .20s ease,
      border-color .20s ease !important;
  }

  .shan-nav--header
  .shan-mega-menu__links
  .shan-mega-category-card:hover,
  .shan-nav--header
  .shan-mega-menu__links
  .shan-mega-category-card:focus-visible{
    padding-left:0 !important;

    color:#721e2b !important;

    border-color:
      rgba(114,30,43,.26) !important;

    box-shadow:
      0 10px 24px rgba(36,32,29,.09) !important;

    transform:translateY(-2px) !important;
  }


  /*
   * Disable the V2/V3 text-link hover arrow.
   * Cards now contain their own real arrow element.
   */

  .shan-nav--header
  .shan-mega-menu__links
  .shan-mega-category-card::before{
    content:none !important;
    display:none !important;
  }


  /* CATEGORY IMAGE */

  .shan-mega-category-card__media{
    display:block !important;

    width:100% !important;

    aspect-ratio:16 / 9 !important;

    overflow:hidden !important;

    background:#f8f0e2 !important;
  }

  .shan-mega-category-card__image{
    display:block !important;

    width:100% !important;
    height:100% !important;

    object-fit:cover !important;

    transform:scale(1) !important;

    transition:
      transform .35s ease !important;
  }

  .shan-mega-category-card:hover
  .shan-mega-category-card__image,
  .shan-mega-category-card:focus-visible
  .shan-mega-category-card__image{
    transform:scale(1.035) !important;
  }


  /* Graceful card when a Woo category has no thumbnail */

  .shan-mega-category-card__placeholder{
    display:block !important;

    width:100% !important;
    height:100% !important;

    background:
      linear-gradient(
        135deg,
        #f8f0e2,
        #fffaf1
      ) !important;
  }


  /* CATEGORY CARD FOOTER */

  .shan-mega-category-card__footer{
    display:flex !important;

    align-items:center !important;
    justify-content:space-between !important;

    gap:14px !important;

    min-height:54px !important;

    padding:13px 16px !important;

    background:#fff !important;
  }

  .shan-mega-category-card__name{
    min-width:0 !important;

    color:inherit !important;

    font-size:17px !important;
    font-weight:600 !important;
    line-height:1.2 !important;

    letter-spacing:-.01em !important;
  }

  .shan-mega-category-card__arrow{
    flex:0 0 auto !important;

    color:#c59a45 !important;

    font-size:20px !important;
    font-weight:500 !important;
    line-height:1 !important;

    transition:
      color .18s ease,
      transform .18s ease !important;
  }

  .shan-mega-category-card:hover
  .shan-mega-category-card__arrow,
  .shan-mega-category-card:focus-visible
  .shan-mega-category-card__arrow{
    color:#721e2b !important;

    transform:translateX(4px) !important;
  }


  /* -------------------------------------------------------
     SHOP ALL
     ------------------------------------------------------- */

  .shan-nav--header .shan-mega-menu__all{
    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    min-height:40px !important;

    margin-top:22px !important;

    padding:0 20px !important;

    color:#fffaf1 !important;
    background:#721e2b !important;

    border:1px solid #721e2b !important;
    border-radius:4px !important;

    font-size:13px !important;
    font-weight:700 !important;
    line-height:1 !important;

    letter-spacing:.09em !important;
    text-transform:uppercase !important;

    text-decoration:none !important;
  }


  /* -------------------------------------------------------
     FEATURED COLUMN
     ------------------------------------------------------- */

  .shan-nav--header .shan-mega-menu__feature{
    padding:32px 30px 32px !important;

    background:#f8f0e2 !important;

    border-left:
      1px solid rgba(114,30,43,.13) !important;
  }

  .shan-nav--header
  .shan-mega-menu__feature
  > .shan-mega-menu__eyebrow{
    margin:0 0 20px !important;

    color:#721e2b !important;

    font-size:13px !important;
    font-weight:700 !important;

    letter-spacing:.15em !important;
    text-transform:uppercase !important;
  }

  .shan-nav--header .shan-mega-menu__art{
    width:100% !important;

    margin:0 0 18px !important;

    overflow:hidden !important;

    background:#fff !important;

    border:
      1px solid rgba(114,30,43,.10) !important;

    border-radius:8px !important;
  }

  .shan-nav--header .shan-mega-menu__art img{
    display:block !important;

    width:100% !important;
    height:220px !important;

    object-fit:cover !important;
  }

  .shan-nav--header
  .shan-mega-menu__feature-copy{
    gap:7px !important;
  }

  .shan-nav--header
  .shan-mega-menu__feature-copy strong{
    font-size:23px !important;
    font-weight:600 !important;
    line-height:1.15 !important;
  }

  .shan-nav--header
  .shan-mega-menu__feature-copy span{
    font-size:14px !important;
    line-height:1.5 !important;
  }

  .shan-nav--header
  .shan-mega-menu__products{
    display:none !important;
  }

}



/* =========================================================
   HH DESKTOP MEGA MENU - EXACT MOCKUP DIRECTION FINAL
   Desktop only
   ========================================================= */
@media (min-width:1024px){

  /* ---------- FLUSH LEFT ---------- */

  .shan-nav--header,
  .shan-nav--header .shan-nav__item--mega{
    position:static !important;
  }

  .shan-nav--header .shan-mega-menu{
    position:absolute !important;

    top:100% !important;
    left:0 !important;
    right:0 !important;

    width:100vw !important;
    max-width:none !important;

    margin:0 !important;
    transform:none !important;

    z-index:1000 !important;

    background:#fffaf1 !important;

    border:0 !important;
    border-top:1px solid rgba(114,30,43,.10) !important;
    border-bottom:1px solid rgba(114,30,43,.12) !important;

    border-radius:0 !important;

    box-shadow:
      0 18px 40px rgba(36,32,29,.10) !important;

    overflow:visible !important;
  }


  /* ---------- HOVER BRIDGE ---------- */

  .shan-nav--header .shan-nav__item--mega::after{
    content:"" !important;

    position:absolute !important;

    left:0 !important;
    right:0 !important;

    top:calc(100% - 16px) !important;

    height:32px !important;

    z-index:999 !important;

    background:transparent !important;

    pointer-events:auto !important;
  }

  .shan-nav--header .shan-nav__item--mega:hover > .shan-mega-menu,
  .shan-nav--header .shan-nav__item--mega:focus-within > .shan-mega-menu,
  .shan-nav--header .shan-mega-menu:hover{
    display:block !important;

    visibility:visible !important;
    opacity:1 !important;

    pointer-events:auto !important;
  }


  /* ---------- REMOVE FEATURED SIDEBAR ---------- */

  .shan-nav--header .shan-mega-menu__feature{
    display:none !important;
  }


  /* ---------- MAIN CONTENT ---------- */

  .shan-nav--header .shan-mega-menu__panel{
    display:block !important;

    width:100% !important;
    max-width:1160px !important;

    margin:0 !important;
    padding:0 !important;

    background:#fffaf1 !important;
  }

  .shan-nav--header .shan-mega-menu__section{
    width:100% !important;

    padding:30px 34px 32px !important;

    background:#fffaf1 !important;
  }


  /* ---------- EYEBROW ---------- */

  .shan-nav--header
  .shan-mega-menu__section
  > .shan-mega-menu__eyebrow{
    margin:0 0 7px !important;

    color:#4c111b !important;

    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.2 !important;

    letter-spacing:.16em !important;
    text-transform:uppercase !important;
  }


  /* ---------- HERO TYPOGRAPHY ---------- */

  .shan-nav--header .shan-mega-menu__intro{
    margin:0 0 19px !important;
  }

  .shan-nav--header .shan-mega-menu__intro h2{
    margin:0 0 4px !important;

    color:#24201d !important;

    font-family:
      Georgia,
      "Times New Roman",
      serif !important;

    font-size:34px !important;
    font-weight:600 !important;
    line-height:1.05 !important;

    letter-spacing:-.025em !important;
  }

  .shan-nav--header .shan-mega-menu__intro p{
    margin:0 !important;

    color:#625b55 !important;

    font-size:16px !important;
    font-weight:400 !important;
    line-height:1.4 !important;
  }


  /* ---------- TWO-COLUMN GRID ---------- */

  .shan-nav--header .shan-mega-menu__links{
    display:grid !important;

    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;

    gap:14px !important;

    width:100% !important;
    max-width:none !important;

    margin:0 !important;
  }


  /* ---------- HORIZONTAL CATEGORY CARD ---------- */

  .shan-nav--header
  .shan-mega-menu__links
  .shan-mega-category-card{
    position:relative !important;

    display:grid !important;

    grid-template-columns:
      180px
      minmax(0,1fr)
      34px !important;

    align-items:center !important;

    min-height:128px !important;

    padding:0 18px 0 0 !important;

    overflow:hidden !important;

    color:#24201d !important;

    background:#f8f0e2 !important;

    border:0 !important;
    border-radius:7px !important;

    box-shadow:none !important;

    text-decoration:none !important;

    transition:
      background .18s ease,
      box-shadow .18s ease,
      transform .18s ease !important;
  }

  .shan-nav--header
  .shan-mega-menu__links
  .shan-mega-category-card::before{
    content:none !important;
    display:none !important;
  }

  .shan-nav--header
  .shan-mega-menu__links
  .shan-mega-category-card:hover,
  .shan-nav--header
  .shan-mega-menu__links
  .shan-mega-category-card:focus-visible{
    padding-left:0 !important;

    color:#721e2b !important;

    background:#f5ead9 !important;

    box-shadow:
      0 7px 20px rgba(36,32,29,.07) !important;

    transform:translateY(-1px) !important;
  }


  /* ---------- WOO CATEGORY IMAGE ---------- */

  .shan-mega-category-card__media{
    display:block !important;

    align-self:stretch !important;

    width:180px !important;
    height:128px !important;

    overflow:hidden !important;

    background:transparent !important;
  }

  .shan-mega-category-card__image{
    display:block !important;

    width:100% !important;
    height:100% !important;

    object-fit:contain !important;
    object-position:center !important;

    transform:scale(1) !important;

    transition:transform .30s ease !important;
  }

  .shan-mega-category-card:hover
  .shan-mega-category-card__image,
  .shan-mega-category-card:focus-visible
  .shan-mega-category-card__image{
    transform:scale(1.035) !important;
  }

  .shan-mega-category-card__placeholder{
    display:block !important;

    width:100% !important;
    height:100% !important;

    background:
      linear-gradient(
        135deg,
        #f0e4d1,
        #faf3e8
      ) !important;
  }


  /* ---------- CARD COPY ---------- */

  .shan-mega-category-card__content{
    display:flex !important;

    flex-direction:column !important;
    justify-content:center !important;

    min-width:0 !important;

    padding:15px 16px 15px 18px !important;
  }

  .shan-mega-category-card__name{
    display:block !important;

    margin:0 0 6px !important;

    color:inherit !important;

    font-family:
      Georgia,
      "Times New Roman",
      serif !important;

    font-size:22px !important;
    font-weight:600 !important;
    line-height:1.08 !important;

    letter-spacing:-.025em !important;
  }

  .shan-mega-category-card__description{
    display:-webkit-box !important;

    overflow:hidden !important;

    color:#625b55 !important;

    font-size:14px !important;
    font-weight:400 !important;
    line-height:1.35 !important;

    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
  }


  /* ---------- CARD ARROW ---------- */

  .shan-mega-category-card__arrow{
    justify-self:end !important;

    color:#4c111b !important;

    font-size:27px !important;
    font-weight:400 !important;
    line-height:1 !important;

    transition:transform .18s ease !important;
  }

  .shan-mega-category-card:hover
  .shan-mega-category-card__arrow,
  .shan-mega-category-card:focus-visible
  .shan-mega-category-card__arrow{
    transform:translateX(4px) !important;
  }


  /* ---------- SHOP ALL PRODUCTS ---------- */

  .shan-nav--header .shan-mega-menu__all{
    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    min-width:272px !important;
    min-height:48px !important;

    margin-top:18px !important;

    padding:0 24px !important;

    color:#fffaf1 !important;

    background:#721e2b !important;

    border:1px solid #721e2b !important;
    border-radius:4px !important;

    font-size:14px !important;
    font-weight:700 !important;
    line-height:1 !important;

    letter-spacing:.08em !important;
    text-transform:uppercase !important;

    text-decoration:none !important;

    transition:
      background .18s ease,
      border-color .18s ease,
      transform .18s ease !important;
  }

  .shan-nav--header .shan-mega-menu__all:hover,
  .shan-nav--header .shan-mega-menu__all:focus-visible{
    color:#fffaf1 !important;

    background:#4c111b !important;
    border-color:#4c111b !important;

    transform:translateY(-1px) !important;
  }

}



/* =========================================================
   HH DESKTOP MEGA MENU - 3 CATEGORIES + FEATURE FINAL
   Desktop only
   ========================================================= */

@media (min-width:1024px){

  /* =======================================================
     MENU: FLUSH LEFT + ABOUT 75% OF VIEWPORT
     ======================================================= */

  .shan-nav--header .shan-mega-menu{
    left:0 !important;
    right:auto !important;

    width:75vw !important;
    max-width:1160px !important;
    min-width:960px !important;

    margin:0 !important;

    transform:none !important;

    background:#fffaf1 !important;

    overflow:visible !important;
  }


  /* =======================================================
     TWO-COLUMN LAYOUT
     ======================================================= */

  .shan-nav--header .shan-mega-menu__panel{
    display:grid !important;

    grid-template-columns:
      minmax(0,1fr)
      minmax(340px,.78fr) !important;

    gap:24px !important;

    width:100% !important;
    max-width:none !important;

    margin:0 !important;

    padding:26px 28px 28px !important;

    align-items:stretch !important;

    background:#fffaf1 !important;
  }


  /* =======================================================
     LEFT COLUMN
     ======================================================= */

  .shan-nav--header .shan-mega-menu__section{
    width:100% !important;

    padding:0 !important;

    background:transparent !important;
  }


  /* eyebrow */

  .shan-nav--header
  .shan-mega-menu__section
  > .shan-mega-menu__eyebrow{
    margin:0 0 5px !important;

    color:#4c111b !important;

    font-size:11px !important;
    font-weight:700 !important;
    line-height:1.2 !important;

    letter-spacing:.16em !important;
    text-transform:uppercase !important;
  }


  /* title */

  .shan-nav--header .shan-mega-menu__intro{
    margin:0 0 15px !important;
  }

  .shan-nav--header .shan-mega-menu__intro h2{
    margin:0 0 4px !important;

    color:#24201d !important;

    font-family:
      Georgia,
      "Times New Roman",
      serif !important;

    font-size:30px !important;
    font-weight:600 !important;
    line-height:1.05 !important;

    letter-spacing:-.025em !important;
  }

  .shan-nav--header .shan-mega-menu__intro p{
    margin:0 !important;

    color:#625b55 !important;

    font-size:14px !important;
    line-height:1.4 !important;
  }


  /* =======================================================
     THREE VERTICAL CATEGORY CARDS
     ======================================================= */

  .shan-nav--header .shan-mega-menu__links{
    display:grid !important;

    grid-template-columns:1fr !important;

    gap:10px !important;

    width:100% !important;
    max-width:none !important;

    margin:0 !important;
  }


  .shan-nav--header
  .shan-mega-menu__links
  .shan-mega-category-card{
    display:grid !important;

    grid-template-columns:
      128px
      minmax(0,1fr)
      28px !important;

    align-items:center !important;

    width:100% !important;
    min-height:100px !important;

    padding:0 14px 0 0 !important;

    color:#24201d !important;

    background:#f8f0e2 !important;

    border:0 !important;
    border-radius:6px !important;

    overflow:hidden !important;

    box-shadow:none !important;

    text-decoration:none !important;
  }


  /* category image */

  .shan-mega-category-card__media{
    display:block !important;

    align-self:stretch !important;

    width:128px !important;
    height:100px !important;

    overflow:hidden !important;
  }

  .shan-mega-category-card__image{
    display:block !important;

    width:100% !important;
    height:100% !important;

    object-fit:cover !important;
    object-position:center !important;
  }


  /* category text */

  .shan-mega-category-card__content{
    display:flex !important;

    flex-direction:column !important;
    justify-content:center !important;

    min-width:0 !important;

    padding:12px 13px 12px 17px !important;
  }

  .shan-mega-category-card__name{
    margin:0 0 4px !important;

    color:inherit !important;

    font-family:
      Georgia,
      "Times New Roman",
      serif !important;

    font-size:20px !important;
    font-weight:600 !important;
    line-height:1.08 !important;

    letter-spacing:-.02em !important;
  }

  .shan-mega-category-card__description{
    color:#625b55 !important;

    font-size:13px !important;
    line-height:1.3 !important;
  }

  .shan-mega-category-card__arrow{
    justify-self:end !important;

    color:#4c111b !important;

    font-size:23px !important;
  }


  /* =======================================================
     SHOP ALL PRODUCTS
     ======================================================= */

  .shan-nav--header .shan-mega-menu__all{
    min-width:235px !important;
    min-height:43px !important;

    margin-top:13px !important;

    padding:0 19px !important;

    font-size:13px !important;
  }


  /* =======================================================
     RIGHT COLUMN: FEATURED COLLECTION
     ======================================================= */

  .shan-nav--header .shan-mega-menu__feature{
    position:relative !important;

    display:block !important;

    min-width:0 !important;
    min-height:100% !important;

    padding:0 !important;

    overflow:hidden !important;

    background:#f2e5d3 !important;

    border:0 !important;
    border-radius:7px !important;
  }


  /* Featured label */

  .shan-nav--header
  .shan-mega-menu__feature
  > .shan-mega-menu__eyebrow{
    position:absolute !important;

    top:23px !important;
    left:24px !important;

    z-index:4 !important;

    margin:0 !important;

    color:#4c111b !important;

    font-size:11px !important;
    font-weight:700 !important;
    line-height:1.2 !important;

    letter-spacing:.14em !important;
    text-transform:uppercase !important;
  }


  /* =======================================================
     FEATURED BACKGROUND IMAGE
     ======================================================= */

  .shan-nav--header .shan-mega-menu__art{
    position:absolute !important;

    inset:0 !important;

    width:100% !important;
    height:100% !important;

    margin:0 !important;

    overflow:hidden !important;
  }

  .shan-nav--header .shan-mega-menu__art img{
    display:block !important;

    width:100% !important;
    height:100% !important;

    object-fit:cover !important;
    object-position:center !important;

    opacity:.78 !important;
  }


  /* readable overlay */

  .shan-nav--header .shan-mega-menu__feature::after{
    content:"" !important;

    position:absolute !important;

    inset:0 !important;

    z-index:2 !important;

    pointer-events:none !important;

    background:
      linear-gradient(
        90deg,
        rgba(255,250,241,.97) 0%,
        rgba(255,250,241,.90) 28%,
        rgba(255,250,241,.54) 52%,
        rgba(255,250,241,.08) 82%
      ) !important;
  }


  /* =======================================================
     FEATURED TEXT
     ======================================================= */

  .shan-nav--header .shan-mega-menu__feature-copy{
    position:relative !important;

    z-index:4 !important;

    display:flex !important;
    flex-direction:column !important;

    width:60% !important;

    margin:0 !important;

    padding:
      62px
      0
      0
      24px !important;

    color:#24201d !important;
  }

  .shan-nav--header .shan-mega-menu__feature-copy strong{
    display:block !important;

    margin:0 0 9px !important;

    color:#4c111b !important;

    font-family:
      Georgia,
      "Times New Roman",
      serif !important;

    font-size:34px !important;
    font-weight:500 !important;
    line-height:1 !important;

    letter-spacing:-.025em !important;
  }

  .shan-nav--header .shan-mega-menu__feature-copy span{
    display:block !important;

    max-width:220px !important;

    color:#24201d !important;

    font-size:15px !important;
    font-weight:400 !important;
    line-height:1.35 !important;
  }


  /* old random products stay gone */

  .shan-nav--header .shan-mega-menu__products{
    display:none !important;
  }


  /* =======================================================
     HOVER TRAVEL BRIDGE
     ======================================================= */

  .shan-nav--header .shan-nav__item--mega::after{
    content:"" !important;

    position:absolute !important;

    left:0 !important;
    right:0 !important;

    top:calc(100% - 16px) !important;

    height:32px !important;

    z-index:999 !important;

    background:transparent !important;

    pointer-events:auto !important;
  }

}


/* HH DESKTOP MEGA MENU - 30/70 COLUMN PROPORTION */
@media (min-width:1024px){

  .shan-nav--header .shan-mega-menu__panel{
    grid-template-columns:
      minmax(0,30%)
      minmax(0,70%) !important;
  }

}


/* HH DESKTOP MEGA MENU - FINAL 40/60 COLUMN PROPORTION */
@media (min-width:1024px){
  .shan-nav--header .shan-mega-menu__panel{
    grid-template-columns:minmax(0,40%) minmax(0,60%) !important;
  }
}


/* HH DESKTOP MEGA MENU - MOCKUP EYEBROW TYPOGRAPHY */
@media (min-width:1024px){

  .shan-nav--header
  .shan-mega-menu__section
  > .shan-mega-menu__eyebrow{
    color:#3f3a36 !important;

    font-family:Arial, Helvetica, sans-serif !important;
    font-size:14px !important;
    font-weight:600 !important;
    line-height:1.2 !important;

    letter-spacing:.17em !important;
    text-transform:uppercase !important;

    margin-bottom:8px !important;
  }

}


/* HH DESKTOP MEGA MENU - INTRO SUBTITLE SIZE */
@media (min-width:1024px){
  .shan-nav--header .shan-mega-menu__intro p{
    font-size:16px !important;
    font-weight:400 !important;
    line-height:1.45 !important;
  }
}


/* =========================================================
   HH DESKTOP MEGA MENU - FEATURED PANEL PROPORTION POLISH
   DESKTOP ONLY
   ========================================================= */

@media (min-width:1024px){

  /* Narrow overall mega menu to improve editorial proportions */
  .shan-nav--header .shan-mega-menu{
    width:68vw !important;
    max-width:1050px !important;
    min-width:920px !important;

    left:0 !important;
    right:auto !important;
  }


  /* Preserve requested 40 / 60 architecture */
  .shan-nav--header .shan-mega-menu__panel{
    grid-template-columns:
      minmax(0,40%)
      minmax(0,60%) !important;

    gap:22px !important;

    padding:26px 28px 28px !important;
  }


  /* Featured collection card */
  .shan-nav--header .shan-mega-menu__feature{
    position:relative !important;

    min-width:0 !important;
    min-height:0 !important;

    border-radius:7px !important;

    overflow:hidden !important;

    background:#f2e5d3 !important;
  }


  /* Full-bleed featured image */
  .shan-nav--header .shan-mega-menu__art{
    position:absolute !important;

    inset:0 !important;

    width:100% !important;
    height:100% !important;

    overflow:hidden !important;
  }

  .shan-nav--header .shan-mega-menu__art img{
    width:100% !important;
    height:100% !important;

    object-fit:cover !important;
    object-position:center !important;
  }


  /* Featured label */
  .shan-nav--header
  .shan-mega-menu__feature
  > .shan-mega-menu__eyebrow{
    top:24px !important;
    left:26px !important;

    font-size:13px !important;
    font-weight:700 !important;

    letter-spacing:.12em !important;
  }


  /* Featured text area */
  .shan-nav--header .shan-mega-menu__feature-copy{
    width:62% !important;

    padding:
      68px
      0
      0
      26px !important;
  }


  /* Accessories headline */
  .shan-nav--header .shan-mega-menu__feature-copy strong{
    margin-bottom:11px !important;

    font-family:
      Georgia,
      "Times New Roman",
      serif !important;

    font-size:38px !important;
    font-weight:400 !important;
    line-height:1.02 !important;

    color:#4c111b !important;

    letter-spacing:-.025em !important;
  }


  /* Featured description */
  .shan-nav--header .shan-mega-menu__feature-copy span{
    max-width:235px !important;

    font-size:16px !important;
    font-weight:400 !important;
    line-height:1.4 !important;
  }

}


/* HH DESKTOP MEGA MENU - TALLER CATEGORY CARDS */
@media (min-width:1024px){

  .shan-nav--header
  .shan-mega-menu__links
  .shan-mega-category-card{
    min-height:125px !important;
  }

  .shan-mega-category-card__media{
    height:125px !important;
  }

}


/* =========================================================
   HH DESKTOP MEGA MENU - CATEGORY CARD DETAIL MATCH
   Reference-targeted polish
   DESKTOP ONLY
   ========================================================= */

@media (min-width:1024px){

  /* -------------------------------------------------------
     CARD
     Reference: wide, calm, continuous cream surface
     ------------------------------------------------------- */

  .shan-nav--header
  .shan-mega-menu__links
  .shan-mega-category-card{
    display:grid !important;

    grid-template-columns:
      43%
      minmax(0,1fr)
      34px !important;

    align-items:center !important;

    width:100% !important;
    height:125px !important;
    min-height:125px !important;

    padding:0 18px 0 0 !important;

    overflow:hidden !important;

    color:#24201d !important;

    background:#f8f0e2 !important;

    border:0 !important;
    border-radius:8px !important;

    box-shadow:none !important;

    text-decoration:none !important;
  }


  /* Kill remnants from older card versions */
  .shan-nav--header
  .shan-mega-category-card__footer{
    display:contents !important;
  }


  /* -------------------------------------------------------
     IMAGE AREA
     Larger like reference, no separate panel treatment
     ------------------------------------------------------- */

  .shan-nav--header
  .shan-mega-category-card__media{
    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    align-self:stretch !important;

    width:100% !important;
    height:125px !important;

    margin:0 !important;
    padding:0 !important;

    overflow:hidden !important;

    background:#f8f0e2 !important;

    border:0 !important;
    border-radius:0 !important;
  }


  .shan-nav--header
  .shan-mega-category-card__image{
    display:block !important;

    width:100% !important;
    height:100% !important;

    margin:0 !important;
    padding:0 !important;

    object-fit:cover !important;
    object-position:center !important;

    border:0 !important;
    border-radius:0 !important;

    transform:scale(1.01) !important;
  }


  /* Slightly stronger image presence on hover,
     without changing card geometry */

  .shan-nav--header
  .shan-mega-category-card:hover
  .shan-mega-category-card__image,

  .shan-nav--header
  .shan-mega-category-card:focus-visible
  .shan-mega-category-card__image{
    transform:scale(1.035) !important;
  }


  /* -------------------------------------------------------
     COPY AREA
     ------------------------------------------------------- */

  .shan-nav--header
  .shan-mega-category-card__content{
    display:flex !important;

    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;

    min-width:0 !important;

    margin:0 !important;

    padding:
      16px
      10px
      16px
      22px !important;
  }


  /* -------------------------------------------------------
     CATEGORY TITLE
     Reference is substantial but not overly bold
     ------------------------------------------------------- */

  .shan-nav--header
  .shan-mega-category-card__name{
    display:block !important;

    margin:0 0 7px !important;

    color:#24201d !important;

    font-family:
      Georgia,
      "Times New Roman",
      serif !important;

    font-size:22px !important;
    font-weight:600 !important;
    line-height:1.08 !important;

    letter-spacing:-.025em !important;
  }


  /* -------------------------------------------------------
     DESCRIPTION
     Reference has considerably more presence than ours
     ------------------------------------------------------- */

  .shan-nav--header
  .shan-mega-category-card__description{
    display:-webkit-box !important;

    max-width:190px !important;

    margin:0 !important;

    overflow:hidden !important;

    color:#5f5953 !important;

    font-size:15px !important;
    font-weight:400 !important;
    line-height:1.35 !important;

    letter-spacing:0 !important;

    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
  }


  /* -------------------------------------------------------
     ARROW
     Bigger and more deliberately positioned
     ------------------------------------------------------- */

  .shan-nav--header
  .shan-mega-category-card__arrow{
    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    justify-self:end !important;
    align-self:center !important;

    width:30px !important;
    height:30px !important;

    margin:0 !important;

    color:#721e2b !important;

    font-family:Arial, Helvetica, sans-serif !important;
    font-size:26px !important;
    font-weight:400 !important;
    line-height:1 !important;

    transform:none !important;
  }


  .shan-nav--header
  .shan-mega-category-card:hover
  .shan-mega-category-card__arrow,

  .shan-nav--header
  .shan-mega-category-card:focus-visible
  .shan-mega-category-card__arrow{
    transform:translateX(3px) !important;
  }


  /* -------------------------------------------------------
     HOVER
     Keep understated like reference
     ------------------------------------------------------- */

  .shan-nav--header
  .shan-mega-menu__links
  .shan-mega-category-card:hover,

  .shan-nav--header
  .shan-mega-menu__links
  .shan-mega-category-card:focus-visible{
    color:#24201d !important;

    background:#f6ecdc !important;

    box-shadow:
      0 5px 16px rgba(36,32,29,.055) !important;

    transform:translateY(-1px) !important;
  }

}


/* HH DESKTOP MEGA MENU - FINAL 50/50 COLUMNS */
@media (min-width:1024px){
  .shan-nav--header .shan-mega-menu__panel{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  }
}


/* HH DESKTOP MEGA MENU - SHOP ALL BUTTON POLISH */
@media (min-width:1024px){

  .shan-nav--header .shan-mega-menu__all{
    min-width:280px !important;
    min-height:50px !important;

    margin-top:16px !important;

    padding:14px 32px !important;

    background:#721e2b !important;
    color:#fffaf1 !important;

    border:1px solid #721e2b !important;
    border-radius:5px !important;

    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.15 !important;

    letter-spacing:.075em !important;

    align-items:center !important;
    justify-content:center !important;
  }

  .shan-nav--header .shan-mega-menu__all:hover,
  .shan-nav--header .shan-mega-menu__all:focus-visible{
    background:#4c111b !important;
    border-color:#4c111b !important;

    transform:translateY(-1px) !important;
  }

}



/* =========================================================
   HH DESKTOP MEGA MENU - FEATURED MOCKUP DETAIL MATCH
   DESKTOP ONLY
   ========================================================= */

@media (min-width:1024px){

  /* Featured card */
  .shan-nav--header .shan-mega-menu__feature{
    position:relative !important;
    overflow:hidden !important;

    background:#f4eadc !important;

    border-radius:7px !important;
  }


  /* -------------------------------------------------------
     FEATURED COLLECTION LABEL
     ------------------------------------------------------- */

  .shan-nav--header
  .shan-mega-menu__feature
  > .shan-mega-menu__eyebrow{
    position:absolute !important;

    top:24px !important;
    left:30px !important;

    z-index:5 !important;

    margin:0 !important;

    color:#3f302b !important;

    font-family:Arial, Helvetica, sans-serif !important;

    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.2 !important;

    letter-spacing:.10em !important;
    text-transform:uppercase !important;
  }


  /* -------------------------------------------------------
     FEATURE IMAGE
     ------------------------------------------------------- */

  .shan-nav--header .shan-mega-menu__art{
    position:absolute !important;
    inset:0 !important;

    width:100% !important;
    height:100% !important;

    margin:0 !important;
  }

  .shan-nav--header .shan-mega-menu__art img{
    display:block !important;

    width:100% !important;
    height:100% !important;

    object-fit:cover !important;
    object-position:center !important;

    opacity:1 !important;
  }


  /* Reference-style left readability wash */
  .shan-nav--header .shan-mega-menu__feature::after{
    content:"" !important;

    position:absolute !important;
    inset:0 !important;

    z-index:2 !important;

    pointer-events:none !important;

    background:
      linear-gradient(
        90deg,
        rgba(255,250,241,.96) 0%,
        rgba(255,250,241,.90) 28%,
        rgba(255,250,241,.55) 48%,
        rgba(255,250,241,.10) 72%,
        rgba(255,250,241,0) 100%
      ) !important;
  }


  /* -------------------------------------------------------
     FEATURE COPY POSITION
     ------------------------------------------------------- */

  .shan-nav--header .shan-mega-menu__feature-copy{
    position:relative !important;

    z-index:5 !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;

    width:58% !important;

    margin:0 !important;

    padding:
      67px
      0
      26px
      30px !important;
  }


  /* -------------------------------------------------------
     CATEGORY NAME
     Reference: large, elegant, light serif
     ------------------------------------------------------- */

  .shan-nav--header
  .shan-mega-menu__feature-copy
  > strong{
    display:block !important;

    margin:0 0 13px !important;

    color:#4c111b !important;

    font-family:
      Georgia,
      "Times New Roman",
      serif !important;

    font-size:39px !important;
    font-weight:400 !important;
    line-height:1.02 !important;

    letter-spacing:-.035em !important;
  }


  /* -------------------------------------------------------
     FEATURE DESCRIPTION
     ------------------------------------------------------- */

  .shan-nav--header
  .shan-mega-menu__feature-copy
  > span{
    display:block !important;

    max-width:245px !important;

    margin:0 0 20px !important;

    color:#24201d !important;

    font-family:Arial, Helvetica, sans-serif !important;

    font-size:16px !important;
    font-weight:400 !important;
    line-height:1.38 !important;

    letter-spacing:0 !important;
  }


  /* -------------------------------------------------------
     SHOP CATEGORY BUTTON
     ------------------------------------------------------- */

  .shan-nav--header
  .shan-mega-menu__feature-button{
    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    gap:17px !important;

    min-height:48px !important;

    margin:0 !important;

    padding:
      14px
      22px !important;

    color:#fffaf1 !important;

    background:#721e2b !important;

    border:1px solid #721e2b !important;
    border-radius:4px !important;

    font-family:Arial, Helvetica, sans-serif !important;

    font-size:14px !important;
    font-weight:600 !important;
    line-height:1 !important;

    letter-spacing:.055em !important;
    text-transform:uppercase !important;

    text-decoration:none !important;

    box-shadow:none !important;

    transition:
      background .18s ease,
      border-color .18s ease,
      transform .18s ease !important;
  }


  .shan-nav--header
  .shan-mega-menu__feature-button
  > span{
    display:inline-block !important;

    margin:0 !important;

    color:inherit !important;

    font-size:20px !important;
    line-height:1 !important;

    transition:transform .18s ease !important;
  }


  .shan-nav--header
  .shan-mega-menu__feature-button:hover,
  .shan-nav--header
  .shan-mega-menu__feature-button:focus-visible{
    color:#fffaf1 !important;

    background:#4c111b !important;
    border-color:#4c111b !important;

    transform:translateY(-1px) !important;
  }


  .shan-nav--header
  .shan-mega-menu__feature-button:hover
  > span,

  .shan-nav--header
  .shan-mega-menu__feature-button:focus-visible
  > span{
    transform:translateX(3px) !important;
  }


  /* Old latest-product links remain removed */
  .shan-nav--header .shan-mega-menu__products{
    display:none !important;
  }

}


/* =========================================================
   HH DESKTOP FEATURED - CLEAN IMAGE / REMOVE OLD ARTIFACT
   DESKTOP ONLY
   ========================================================= */

@media (min-width:1024px){

  /* Much lighter readability treatment.
     Preserve the actual featured photograph. */
  .shan-nav--header .shan-mega-menu__feature::after{
    content:"" !important;

    position:absolute !important;
    inset:0 !important;

    z-index:2 !important;

    pointer-events:none !important;

    background:
      linear-gradient(
        90deg,
        rgba(255,250,241,.64) 0%,
        rgba(255,250,241,.38) 28%,
        rgba(255,250,241,.10) 48%,
        rgba(255,250,241,0) 65%
      ) !important;
  }

  /* Keep original image clear */
  .shan-nav--header .shan-mega-menu__art img{
    opacity:1 !important;
  }


  /* Remove old CSS-generated SHOP COLLECTION artifact */
  .shan-nav--header .shan-mega-menu__feature::before{
    content:none !important;
    display:none !important;
  }

  .shan-nav--header
  .shan-mega-menu__feature-copy::after,
  .shan-nav--header
  .shan-mega-menu__feature-copy::before{
    content:none !important;
    display:none !important;
  }

}


/* HH DESKTOP FEATURED - ZERO IMAGE OVERLAY */
@media (min-width:1024px){

  /* Absolutely no overlay/filter over featured photograph */
  .shan-nav--header .shan-mega-menu__feature::after{
    content:none !important;
    display:none !important;
    background:none !important;
  }

  .shan-nav--header .shan-mega-menu__art{
    background:none !important;
  }

  .shan-nav--header .shan-mega-menu__art img{
    opacity:1 !important;
    filter:none !important;
  }

}


/* HH DESKTOP FEATURED - TEXT READABILITY CARD */
@media (min-width:1024px){

  /* FEATURED label: its own subtle background */
  .shan-nav--header
  .shan-mega-menu__feature
  > .shan-mega-menu__eyebrow{
    top:22px !important;
    left:22px !important;

    padding:7px 10px !important;

    color:#3b2723 !important;
    background:rgba(255,250,241,.82) !important;

    border-radius:4px !important;

    font-size:13px !important;
    font-weight:700 !important;
    letter-spacing:.11em !important;

    backdrop-filter:blur(3px) !important;
    -webkit-backdrop-filter:blur(3px) !important;
  }


  /* Local background ONLY behind title/description/button */
  .shan-nav--header .shan-mega-menu__feature-copy{
    width:auto !important;
    max-width:330px !important;

    margin:
      70px
      0
      0
      22px !important;

    padding:18px 20px 20px !important;

    background:rgba(255,250,241,.84) !important;

    border-radius:6px !important;

    box-shadow:
      0 5px 18px rgba(36,32,29,.07) !important;

    backdrop-filter:blur(4px) !important;
    -webkit-backdrop-filter:blur(4px) !important;
  }


  /* Featured category title */
  .shan-nav--header
  .shan-mega-menu__feature-copy
  > strong{
    margin:0 0 10px !important;

    color:#4c111b !important;

    font-family:
      Georgia,
      "Times New Roman",
      serif !important;

    font-size:40px !important;
    font-weight:400 !important;
    line-height:1.02 !important;

    letter-spacing:-.035em !important;
  }


  /* Description */
  .shan-nav--header
  .shan-mega-menu__feature-copy
  > span{
    max-width:270px !important;

    margin:0 0 18px !important;

    color:#24201d !important;

    font-size:17px !important;
    font-weight:400 !important;
    line-height:1.4 !important;
  }


  /* CTA inside text card */
  .shan-nav--header
  .shan-mega-menu__feature-button{
    min-height:48px !important;

    padding:14px 22px !important;

    font-size:14px !important;
  }


  /* IMPORTANT: featured photo itself remains untouched */
  .shan-nav--header .shan-mega-menu__feature::after{
    content:none !important;
    display:none !important;
    background:none !important;
  }

  .shan-nav--header .shan-mega-menu__art img{
    opacity:1 !important;
    filter:none !important;
  }

}


/* HH DESKTOP FEATURED - MORE TRANSPARENT TEXT BACKGROUND */
@media (min-width:1024px){

  .shan-nav--header
  .shan-mega-menu__feature
  > .shan-mega-menu__eyebrow{
    background:rgba(255,250,241,.65) !important;
  }

  .shan-nav--header .shan-mega-menu__feature-copy{
    background:rgba(255,250,241,.62) !important;

    backdrop-filter:blur(3px) !important;
    -webkit-backdrop-filter:blur(3px) !important;
  }

}


/* HH DESKTOP MEGA MENU - FEATURED COLLECTION LABEL */
@media (min-width:1024px){

  .shan-nav--header
  .shan-mega-menu__feature
  > .shan-mega-menu__eyebrow{
    font-size:15px !important;
    font-weight:700 !important;
    letter-spacing:.11em !important;
    text-transform:uppercase !important;
  }

}



/* =========================================================
   HH DESKTOP MEGA MENU - FINAL DETAIL POLISH
   DESKTOP ONLY
   ========================================================= */

@media (min-width:1024px){

  /* -------------------------------------------------------
     CATEGORY CARDS
     Give copy slightly more room without changing 50/50
     architecture.
     ------------------------------------------------------- */

  .shan-nav--header
  .shan-mega-menu__links
  .shan-mega-category-card{
    grid-template-columns:
      41%
      minmax(0,1fr)
      30px !important;

    height:125px !important;
    min-height:125px !important;

    padding-right:14px !important;

    border-radius:8px !important;
  }


  .shan-nav--header
  .shan-mega-category-card__content{
    padding:
      15px
      7px
      15px
      20px !important;
  }


  /* Category title: retain editorial weight but gain room */
  .shan-nav--header
  .shan-mega-category-card__name{
    margin-bottom:7px !important;

    font-size:21px !important;
    font-weight:600 !important;
    line-height:1.05 !important;

    letter-spacing:-.025em !important;
  }


  .shan-nav--header
  .shan-mega-category-card__description{
    max-width:210px !important;

    font-size:15px !important;
    line-height:1.35 !important;
  }


  .shan-nav--header
  .shan-mega-category-card__arrow{
    width:28px !important;
    height:28px !important;

    font-size:24px !important;
  }


  /* -------------------------------------------------------
     FEATURED COLLECTION
     Preserve photograph. No image overlay.
     ------------------------------------------------------- */

  .shan-nav--header .shan-mega-menu__feature{
    isolation:isolate !important;

    border-radius:8px !important;

    background:#f8f0e2 !important;
  }


  /* Photograph stays completely clean */
  .shan-nav--header .shan-mega-menu__feature::after{
    content:none !important;
    display:none !important;
    background:none !important;
  }


  .shan-nav--header .shan-mega-menu__art{
    background:none !important;
  }


  .shan-nav--header .shan-mega-menu__art img{
    width:100% !important;
    height:100% !important;

    opacity:1 !important;
    filter:none !important;

    /*
     * Less aggressive crop than current presentation.
     * Still fills the feature card without exposing gaps.
     */
    object-fit:cover !important;
    object-position:center 46% !important;

    transform:scale(.96) !important;

    /*
     * Scale compensation keeps the image visually full
     * while showing slightly more of the source.
     */
    width:104.2% !important;
    height:104.2% !important;

    margin:-2.1% !important;
  }


  /* -------------------------------------------------------
     FEATURED COLLECTION LABEL
     Cleaner + less boxy
     ------------------------------------------------------- */

  .shan-nav--header
  .shan-mega-menu__feature
  > .shan-mega-menu__eyebrow{
    top:21px !important;
    left:21px !important;

    padding:7px 10px !important;

    color:#342c28 !important;

    background:rgba(255,250,241,.68) !important;

    border-radius:4px !important;

    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.1 !important;

    letter-spacing:.105em !important;

    backdrop-filter:blur(3px) !important;
    -webkit-backdrop-filter:blur(3px) !important;

    box-shadow:none !important;
  }


  /* -------------------------------------------------------
     FEATURE GLASS COPY
     Current box is too large. Make it compact and deliberate.
     ------------------------------------------------------- */

  .shan-nav--header .shan-mega-menu__feature-copy{
    width:auto !important;
    max-width:300px !important;

    margin:
      69px
      0
      0
      21px !important;

    padding:
      15px
      17px
      17px !important;

    background:rgba(255,250,241,.56) !important;

    border:1px solid rgba(255,255,255,.22) !important;
    border-radius:6px !important;

    box-shadow:
      0 4px 14px rgba(36,32,29,.055) !important;

    backdrop-filter:blur(3px) !important;
    -webkit-backdrop-filter:blur(3px) !important;
  }


  /* Featured category name */
  .shan-nav--header
  .shan-mega-menu__feature-copy
  > strong{
    margin:0 0 10px !important;

    color:#4c111b !important;

    font-family:
      Georgia,
      "Times New Roman",
      serif !important;

    font-size:39px !important;
    font-weight:400 !important;
    line-height:1 !important;

    letter-spacing:-.035em !important;
  }


  /* Featured description */
  .shan-nav--header
  .shan-mega-menu__feature-copy
  > span{
    max-width:245px !important;

    margin:0 0 17px !important;

    color:#24201d !important;

    font-size:16px !important;
    font-weight:400 !important;
    line-height:1.4 !important;
  }


  /* -------------------------------------------------------
     FEATURE CTA
     Reference-style proportions
     ------------------------------------------------------- */

  .shan-nav--header
  .shan-mega-menu__feature-button{
    min-height:48px !important;

    padding:
      14px
      20px !important;

    gap:18px !important;

    background:#721e2b !important;
    color:#fffaf1 !important;

    border-radius:4px !important;

    font-size:14px !important;
    font-weight:600 !important;

    letter-spacing:.055em !important;
  }


  .shan-nav--header
  .shan-mega-menu__feature-button
  > span{
    font-size:19px !important;
  }


  /* -------------------------------------------------------
     SHOP ALL PRODUCTS
     Match the Featured CTA family
     ------------------------------------------------------- */

  .shan-nav--header .shan-mega-menu__all{
    min-width:280px !important;
    min-height:50px !important;

    margin-top:16px !important;

    padding:
      15px
      30px !important;

    border-radius:5px !important;

    font-size:14px !important;
    font-weight:700 !important;

    letter-spacing:.07em !important;
  }


  /* -------------------------------------------------------
     FINAL CLEANUP OF OLD FEATURE ARTIFACTS
     ------------------------------------------------------- */

  .shan-nav--header .shan-mega-menu__products{
    display:none !important;
  }

  .shan-nav--header .shan-mega-menu__feature::before,
  .shan-nav--header .shan-mega-menu__feature-copy::before,
  .shan-nav--header .shan-mega-menu__feature-copy::after{
    content:none !important;
    display:none !important;
  }

}



/* =========================================================
   HH DESKTOP MEGA MENU - FINAL LOCK MICRO POLISH
   DESKTOP ONLY
   ========================================================= */

@media (min-width:1024px){

  /*
   * Featured label and glass card share exactly
   * the same left alignment.
   */
  .shan-nav--header
  .shan-mega-menu__feature
  > .shan-mega-menu__eyebrow{
    left:21px !important;
  }


  /*
   * Slightly narrower glass panel.
   * Preserve more visible featured photography.
   */
  .shan-nav--header .shan-mega-menu__feature-copy{
    width:auto !important;
    max-width:275px !important;

    margin:
      69px
      0
      0
      21px !important;

    padding:
      15px
      17px
      17px !important;

    background:rgba(255,250,241,.56) !important;

    border:1px solid rgba(255,255,255,.22) !important;
    border-radius:6px !important;

    box-shadow:
      0 4px 14px rgba(36,32,29,.055) !important;
  }


  .shan-nav--header
  .shan-mega-menu__feature-copy
  > span{
    max-width:225px !important;
  }


  /*
   * Featured photograph remains completely clean.
   * No global shading or overlay.
   */
  .shan-nav--header .shan-mega-menu__feature::after{
    content:none !important;
    display:none !important;
    background:none !important;
  }

  .shan-nav--header .shan-mega-menu__art img{
    opacity:1 !important;
    filter:none !important;
  }

}


/* =========================================================
   HH DESKTOP MEGA MENU - SERIF TYPOGRAPHY
   Georgia for editorial headings only
   DESKTOP ONLY
   ========================================================= */

@media (min-width:1024px){

  /* Find Your Perfect Bag */
  .shan-nav--header .shan-mega-menu__intro h2{
    font-family:Georgia, "Times New Roman", serif !important;
  }

  /* Category names:
     Accessories / Backpacks / Crossbody & Sling */
  .shan-nav--header .shan-mega-category-card__name{
    font-family:Georgia, "Times New Roman", serif !important;
  }

  /* Large Featured category heading */
  .shan-nav--header
  .shan-mega-menu__feature-copy
  > strong{
    font-family:Georgia, "Times New Roman", serif !important;
  }

}


/* HH DESKTOP MEGA MENU - UNIFIED SERIF WEIGHT */
@media (min-width:1024px){

  .shan-nav--header .shan-mega-menu__intro h2,
  .shan-nav--header .shan-mega-category-card__name,
  .shan-nav--header .shan-mega-menu__feature-copy > strong{
    font-family:var(--shan-serif) !important;
    font-weight:400 !important;
  }

}

/* HH DESKTOP MEGA MENU - FIND YOUR PERFECT BAG HOMEPAGE MATCH */
@media (min-width:1024px){
  .shan-nav--header .shan-mega-menu__intro h2{
    font-family:var(--shan-serif) !important;
    font-weight:500 !important;
    letter-spacing:-.025em !important;
  }
}

/* HH DESKTOP MEGA MENU - INTRO HEADING SCALE */
@media (min-width:1024px){
  .shan-nav--header .shan-mega-menu__intro h2{
    font-family:var(--shan-serif) !important;
    font-size:38px !important;
    font-weight:500 !important;
    line-height:1.08 !important;
    letter-spacing:-.025em !important;
  }
}

/* HH DESKTOP MEGA MENU - STRONGER INTRO HEADING */
@media (min-width:1024px){
  .shan-nav--header .shan-mega-menu__intro h2{
    font-weight:600 !important;
  }
}

/* HH DESKTOP MEGA MENU - TEST STRONG HEADING AT LARGER SCALE */
@media (min-width:1024px){
  .shan-nav--header .shan-mega-menu__intro h2{
    font-size:44px !important;
    font-weight:600 !important;
  }
}

/* HH DESKTOP MEGA MENU - LARGE HEADING / NORMAL SERIF SHAPE */
@media (min-width:1024px){
  .shan-nav--header .shan-mega-menu__intro h2{
    font-size:44px !important;
    font-weight:500 !important;
  }
}

/* HH DESKTOP MEGA MENU - CATEGORY TITLE SCALE */
@media (min-width:1024px){
  .shan-nav--header .shan-mega-category-card__name{
    font-size:25px !important;
    font-weight:500 !important;
  }
}

/* HH DESKTOP MEGA MENU - CATEGORY CARD SPACING */
@media (min-width:1024px){
  .shan-nav--header .shan-mega-menu__links{
    gap:16px !important;
  }
}

/* HH DESKTOP MEGA MENU - FEATURED IMAGE FILL CANVAS */
@media (min-width:1024px){

  .shan-nav--header .shan-mega-menu__art{
    overflow:hidden !important;
  }

  .shan-nav--header .shan-mega-menu__art img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    margin:0 !important;
    transform:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
  }

}

/* HH DESKTOP MEGA MENU - CATEGORY DESCRIPTION POLISH */
@media (min-width:1024px){
  .shan-nav--header .shan-mega-category-card__description{
    font-weight:500 !important;
    line-height:1.35 !important;
  }
}

/* HH DESKTOP MEGA MENU - INTRO DESCRIPTION POLISH */
@media (min-width:1024px){
  .shan-nav--header .shan-mega-menu__intro p{
    font-weight:500 !important;
    line-height:1.35 !important;
  }
}

/* HH DESKTOP HOMEPAGE - HERO LEDE POLISH */
@media (min-width:1024px){
  .shan-storefront .shan-hero__lede{
    font-weight:500 !important;
    line-height:1.35 !important;
  }
}

/* HH DESKTOP MEGA MENU - WIDER + COLUMN DIVIDER */
@media (min-width:1024px){

  .shan-nav--header .shan-mega-menu{
    width:75vw !important;
    max-width:1155px !important;
  }

  .shan-nav--header .shan-mega-menu__panel{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  }

  .shan-nav--header .shan-mega-menu__section{
    border-right:1px solid rgba(76,17,27,.14) !important;
  }

}

/* HH DESKTOP MEGA MENU - INSET COLUMN DIVIDER */
@media (min-width:1024px){

  .shan-nav--header .shan-mega-menu__section{
    border-right:none !important;
  }

  .shan-nav--header .shan-mega-menu__panel{
    position:relative !important;
  }

  .shan-nav--header .shan-mega-menu__panel::after{
    content:"";
    position:absolute;
    left:50%;
    top:28px;
    bottom:28px;
    width:1px;
    background:rgba(76,17,27,.14);
    pointer-events:none;
  }

}

/* HH DESKTOP MEGA MENU - 20% WIDER */
@media (min-width:1024px){
  .shan-nav--header .shan-mega-menu{
    width:90vw !important;
    max-width:1385px !important;
  }
}

/* HH DESKTOP MEGA MENU - DIVIDER BREATHING ROOM */
@media (min-width:1024px){

  .shan-nav--header .shan-mega-menu__section{
    padding-right:22px !important;
  }

  .shan-nav--header .shan-mega-menu__feature{
    margin-left:22px !important;
  }

}

/* HH DESKTOP MEGA MENU - REDUCE WIDTH 20% */
@media (min-width:1024px){
  .shan-nav--header .shan-mega-menu{
    width:72vw !important;
    max-width:1110px !important;
  }
}

/* HH DESKTOP HEADER - NAVIGATION WEIGHT */
@media (min-width:1024px){
  .shan-nav--header > li > a{
    font-weight:500 !important;
  }
}

/* HH DESKTOP HEADER - FINAL NAVIGATION WEIGHT */
@media (min-width:1024px){
  .shan-nav--header .shan-nav__trigger,
  .shan-nav--header .shan-nav__item--desktop-only > a{
    font-weight:500 !important;
  }
}

/* HH DESKTOP HEADER - STRONGER NAVIGATION */
@media (min-width:1024px){
  .shan-nav--header .shan-nav__trigger,
  .shan-nav--header .shan-nav__item--desktop-only > a{
    font-weight:600 !important;
  }
}

/* HH DESKTOP HEADER - NAV WEIGHT DIAGNOSTIC */
@media (min-width:1024px){
  .shan-nav--header .shan-nav__trigger,
  .shan-nav--header .shan-nav__item--desktop-only > a{
    font-weight:900 !important;
  }
}

/* HH DESKTOP HEADER - FINAL NAV TYPOGRAPHY */
@media (min-width:1024px){
  .shan-nav--header .shan-nav__trigger,
  .shan-nav--header .shan-nav__item--desktop-only > a{
    font-size:14px !important;
    font-weight:500 !important;
  }
}

/* HH DESKTOP HEADER - NAV TYPOGRAPHY */
@media (min-width:1024px){
  .shan-nav--header .shan-nav__trigger,
  .shan-nav--header .shan-nav__item--desktop-only > a{
    font-size:14px !important;
    font-weight:700 !important;
  }
}



/* HH DESKTOP HEADER - NAV TYPOGRAPHY */

@media (min-width:1024px){

  .shan-nav--header .shan-nav__trigger,

  .shan-nav--header .shan-nav__item--desktop-only > a{

    font-size:14px !important;

    font-weight:600 !important; 

  }

}




/* HH DESKTOP HEADER - NAV TYPOGRAPHY */

@media (min-width:1024px){

  .shan-nav--header .shan-nav__trigger,

  .shan-nav--header .shan-nav__item--desktop-only > a{

    font-size:14px !important;

    font-weight:650 !important; 

  }

}


/* HH DESKTOP HEADER - MAIN LOGO +15% */
@media (min-width:1024px){
  .shan-wordmark--header img{
    width:115% !important;
    max-width:none !important;
  }
}

/* HH DESKTOP HEADER - CENTER ENLARGED LOGO */
@media (min-width:1024px){
  .shan-wordmark--header{
    justify-self:center !important;
    align-items:center !important;
  }

  .shan-wordmark--header img{
    width:115% !important;
    max-width:none !important;
    margin-left:-7.5% !important;
  }
}

/* =========================================================
   HH DESKTOP MEGA MENU - HOVER STABILITY FINAL
   Desktop only. Mobile intentionally untouched.
   ========================================================= */
@media (min-width:1024px){

  /*
   * Keep SHOP as the hover owner while the pointer travels
   * from the trigger into the dropdown.
   */
  .shan-nav--header .shan-nav__item--mega::after{
    content:"" !important;
    position:absolute !important;

    left:0 !important;
    right:0 !important;

    top:100% !important;
    height:10px !important;

    background:transparent !important;
    pointer-events:auto !important;
    z-index:1001 !important;
  }

  /*
   * Keep the menu alive while SHOP, the bridge,
   * or the mega menu itself owns pointer/focus.
   */
  .shan-nav--header .shan-nav__item--mega:hover > .shan-mega-menu,
  .shan-nav--header .shan-nav__item--mega:focus-within > .shan-mega-menu,
  .shan-nav--header .shan-mega-menu:hover{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
}


/* =========================================================
   HH DESKTOP MEGA MENU - REMOVE FULL-WIDTH HOVER TRIGGER
   Root fix for 1440x10 invisible ::after strip.
   Desktop only. Mobile untouched.
   ========================================================= */
@media (min-width:1024px){

  .shan-nav--header .shan-nav__item--mega::after{
    content:none !important;
    display:none !important;
    pointer-events:none !important;
  }

}


/* =========================================================
   HH DESKTOP MEGA MENU - SCOPED SHOP HOVER BRIDGE
   Replaces former full-width bridge.
   Desktop only. Mobile untouched.
   ========================================================= */
@media (min-width:1024px){

  /*
   * Keep the old full-width LI bridge disabled.
   */
  .shan-nav--header .shan-nav__item--mega::after{
    content:none !important;
    display:none !important;
    pointer-events:none !important;
  }

  /*
   * SHOP trigger becomes the positioning root for a small
   * bridge directly underneath SHOP only.
   */
  .shan-nav--header .shan-nav__item--mega > .shan-nav__trigger{
    position:relative !important;
  }

  .shan-nav--header .shan-nav__item--mega > .shan-nav__trigger::before{
    content:"" !important;
    position:absolute !important;

    left:-12px !important;
    right:-12px !important;
    top:100% !important;

    height:12px !important;

    background:transparent !important;
    pointer-events:auto !important;
  }

}


/* =========================================================
   HH DESKTOP MEGA MENU - SHOP-ONLY HOVER GAP BRIDGE
   Measured gap: 21.61px
   Desktop only. Mobile untouched.
   ========================================================= */
@media (min-width:1024px){

  /* Permanently disable old full-width LI bridge */
  .shan-nav--header .shan-nav__item--mega::after{
    content:none !important;
    display:none !important;
    pointer-events:none !important;
  }

  /*
   * Shop button is 55px wide.
   * Bridge covers only Shop + small side allowance,
   * and spans the measured 21.61px vertical gap.
   */
  .shan-nav--header .shan-nav__item--mega > .shan-nav__trigger{
    position:relative !important;
  }

  .shan-nav--header .shan-nav__item--mega > .shan-nav__trigger::before{
    content:"" !important;
    display:block !important;
    position:absolute !important;

    top:100% !important;
    left:-8px !important;
    right:-8px !important;

    height:23px !important;

    background:transparent !important;
    pointer-events:auto !important;
    z-index:1001 !important;
  }

}


/* =========================================================
   HH DESKTOP UTILITY BAR - BURGUNDY / WHITE
   Desktop only. Mobile untouched.
   ========================================================= */
@media (min-width:1024px){

  .shan-utility-bar{
    background:#721e2b !important;
    color:#fff !important;
  }

  .shan-utility-bar,
  .shan-utility-bar a,
  .shan-utility-bar button,
  .shan-utility-bar span,
  .shan-utility-bar svg{
    color:#fff !important;
  }

  .shan-utility-bar svg{
    fill:currentColor !important;
    stroke:currentColor !important;
  }

}


/* HH DESKTOP UTILITY BAR - SHIPPING TEXT WHITE */
@media (min-width:1024px){
  .shan-utility-bar .shan-utility-bar__shipping,
  .shan-utility-bar .shan-utility-bar__shipping *{
    color:#fff !important;
  }
}


/* HH DESKTOP UTILITY BAR - FINAL TEXT COLOR */
@media (min-width:1024px){
  .shan-utility-bar__inner{
    color:#fff !important;
  }
}


/* HH DESKTOP UTILITY BAR - PRESERVE SVG ICON SHAPES */
@media (min-width:1024px){
  .shan-utility-bar svg{
    color:#fff !important;
    fill:currentColor !important;
    stroke:none !important;
  }
}


/* =========================================================
   HH DESKTOP UTILITY BAR - RESTORE OUTLINE ICONS
   Desktop only. Mobile untouched.
   ========================================================= */
@media (min-width:1024px){

  .shan-utility-actions svg{
    color:#fff !important;
    fill:none !important;
    stroke:#fff !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
  }

  .shan-utility-actions svg circle,
  .shan-utility-actions svg path{
    fill:none !important;
    stroke:#fff !important;
  }

}


/* =========================================================
   HH DESKTOP UTILITY ICONS - NO HOVER CIRCLE
   Desktop only. Mobile untouched.
   ========================================================= */
@media (min-width:1024px){

  .shan-utility-actions a:hover,
  .shan-utility-actions a:focus-visible,
  .shan-utility-actions button:hover,
  .shan-utility-actions button:focus-visible{
    background:transparent !important;
    border-color:transparent !important;
    box-shadow:none !important;
    border-radius:0 !important;
  }

}


/* =========================================================
   HH DESKTOP BRAND ROW - NATURAL CONTENT HEIGHT
   Remove artificial fixed/minimum height.
   No padding added yet.
   Mobile untouched.
   ========================================================= */
@media (min-width:1024px){
  .shan-brand-row{
    height:auto !important;
    min-height:0 !important;
  }
}


/* =========================================================
   HH DESKTOP BRAND ROW - NATURAL HEIGHT
   Remove legacy 76px minimum.
   Desktop only. Mobile untouched.
   ========================================================= */
@media (min-width:1024px){
  .shan-shell.shan-brand-row{
    height:auto !important;
    min-height:0 !important;
  }
}


/* HH DESKTOP BRAND ROW - VERTICAL SPACING */
@media (min-width:1024px){
  .shan-shell.shan-brand-row{
    padding-top:30px !important;
    padding-bottom:30px !important;
  }
}




/* HH DESKTOP BRAND ROW - VERTICAL SPACING */

@media (min-width:1024px){

  .shan-shell.shan-brand-row{

    padding-top:20px !important; 

    padding-bottom:30px !important;

  }

}






/* HH DESKTOP BRAND ROW - VERTICAL SPACING */

@media (min-width:1024px){

  .shan-shell.shan-brand-row{

    padding-top:10px !important; 

    padding-bottom:30px !important;

  }

}






/* HH DESKTOP BRAND ROW - VERTICAL SPACING */

@media (min-width:1024px){

  .shan-shell.shan-brand-row{

    padding-top:10px !important; 

    padding-bottom:10px !important; 

  }

}






/* HH DESKTOP BRAND ROW - VERTICAL SPACING */

@media (min-width:1024px){

  .shan-shell.shan-brand-row{

    padding-top:20px !important; 

    padding-bottom:20px !important; 

  }

}




/* =========================================================
   HH DESKTOP MEGA MENU - SHOP HOVER BRIDGE
   Current measured gap: 33.78px
   Desktop only. Mobile untouched.
   ========================================================= */
@media (min-width:1024px){

  /* Keep the old full-width hover strip disabled */
  .shan-nav--header .shan-nav__item--mega::after{
    content:none !important;
    display:none !important;
    pointer-events:none !important;
  }

  /* Shop-only bridge */
  .shan-nav--header .shan-nav__item--mega > .shan-nav__trigger::before{
    height:35px !important;
  }

}


/* =========================================================
   HH MOBILE UTILITY BAR - BURGUNDY / WHITE
   Mobile only. Desktop untouched.
   ========================================================= */
@media (width < 1024px){

  .shan-utility-bar{
    background:#721e2b !important;
    color:#fff !important;
  }

  .shan-utility-bar__inner,
  .shan-utility-bar__inner a,
  .shan-utility-bar__inner button,
  .shan-utility-bar__inner span{
    color:#fff !important;
  }

  .shan-utility-actions svg,
  .shan-utility-actions svg path,
  .shan-utility-actions svg circle{
    fill:none !important;
    stroke:#fff !important;
  }

}






/* =========================================================
   H&H HOMEPAGE SHOP BY CATEGORY — SHARED RESPONSIVE COMPONENT
   One card design across all viewports.
   Only grid column count changes responsively.
   ========================================================= */

/* Shared homepage grid */
.shan-categories:not(.shan-categories-page) .shan-category-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  width:100% !important;
}

/* Homepage intentionally displays first four categories */
.shan-categories:not(.shan-categories-page) .shan-category-card:nth-child(n+5){
  display:none !important;
}

/* Shared card */
.shan-categories:not(.shan-categories-page) .shan-category-card{
  min-width:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:12px !important;
  overflow:hidden !important;
  background:#211b19 !important;
}

/* Shared card geometry */
.shan-categories:not(.shan-categories-page) .shan-category-card > a{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 5 !important;
  overflow:hidden !important;
  border-radius:12px !important;
  background:#211b19 !important;
  text-decoration:none !important;
}

/* Shared image */
.shan-categories:not(.shan-categories-page) .shan-category-card__art{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:#211b19 !important;
}

.shan-categories:not(.shan-categories-page) .shan-category-card__art img{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

/* Shared bottom image gradient */
.shan-categories:not(.shan-categories-page) .shan-category-card > a::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  z-index:1 !important;
  inset:0 !important;
  background:linear-gradient(
    to bottom,
    rgba(20,15,12,0) 48%,
    rgba(20,15,12,.16) 65%,
    rgba(20,15,12,.72) 100%
  ) !important;
  pointer-events:none !important;
}

/* Shared category label overlay */
.shan-categories:not(.shan-categories-page) .shan-category-card__content{
  position:absolute !important;
  z-index:2 !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  padding:14px !important;
  background:transparent !important;
  pointer-events:none !important;
}

/* Shared category typography */
.shan-categories:not(.shan-categories-page) .shan-category-card__content h3{
  margin:0 !important;
  color:#fff !important;
  font-family:var(--shan-sans) !important;
  font-size:16px !important;
  font-weight:600 !important;
  line-height:1.25 !important;
  letter-spacing:.01em !important;
  text-align:left !important;
}

/* Preserve the approved single SVG-style arrow */
.shan-categories:not(.shan-categories-page)
.shan-category-card__content h3::before{
  content:none !important;
  display:none !important;
}

.shan-categories:not(.shan-categories-page)
.shan-category-card__content h3::after{
  content:"" !important;
  display:inline-block !important;
  width:14px !important;
  height:14px !important;
  margin-left:7px !important;
  vertical-align:-2px !important;
  background-color:currentColor !important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11M11 6l4 4-4 4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11M11 6l4 4-4 4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

/* Desktop changes layout only. Card component remains identical. */
@media(min-width:1024px){
  .shan-categories:not(.shan-categories-page) .shan-category-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}



/* =========================================================
   H&H SHARED CATEGORY CARD — SINGLE CLEAN CLIPPING EDGE
   Outer card owns radius/clipping on every viewport.
   ========================================================= */

.shan-categories:not(.shan-categories-page) .shan-category-card{
  border-radius:12px !important;
  overflow:hidden !important;
  isolation:isolate !important;
}

.shan-categories:not(.shan-categories-page) .shan-category-card > a{
  border-radius:0 !important;
  overflow:visible !important;
}


/* =========================================================
   H&H SHARED CATEGORY CARD — CLEAN ROUNDED CLIPPING
   Prevent browser anti-aliasing edge artifacts.
   Shared by mobile + desktop.
   ========================================================= */

.shan-categories:not(.shan-categories-page) .shan-category-card{
  border-radius:0 !important;
  overflow:visible !important;
  background:transparent !important;
}

.shan-categories:not(.shan-categories-page) .shan-category-card > a{
  border-radius:0 !important;
  overflow:hidden !important;
  background:transparent !important;
  -webkit-mask-image:-webkit-radial-gradient(white, black) !important;
  clip-path:inset(0 round 12px) !important;
}

/* =========================================================
   H&H SHOP BY CATEGORY — REMOVE CARD ARROWS
   Shared across mobile + desktop.
   ========================================================= */
.shan-categories:not(.shan-categories-page)
.shan-category-card__content h3::before,
.shan-categories:not(.shan-categories-page)
.shan-category-card__content h3::after{
  content:none !important;
  display:none !important;
}

/* H&H SHOP BY CATEGORY — DESKTOP LABEL SIZE */
@media (min-width:1024px){
  .shan-categories:not(.shan-categories-page)
  .shan-category-card__content h3{
    font-size:20px !important;
  }
}

/* H&H SHOP BY CATEGORY — SLIGHTLY STRONGER BOTTOM GRADIENT */
.shan-categories:not(.shan-categories-page)
.shan-category-card > a::after{
  background:linear-gradient(
    to bottom,
    rgba(20,15,12,0) 48%,
    rgba(20,15,12,.16) 65%,
    rgba(20,15,12,.78) 100%
  ) !important;
}

/* H&H SHOP BY CATEGORY — SHARED CARD GAP */
.shan-categories:not(.shan-categories-page) .shan-category-grid{
  gap:12px !important;
}

/* H&H MORE THAN BAGS — STORY TYPOGRAPHY */
.shan-more-than-bags__story p{
  font-family:Georgia, "Times New Roman", serif !important;
  font-style:italic !important;
  font-size:20px !important;
  font-weight:400 !important;
  line-height:1.6 !important;
  letter-spacing:0 !important;
}

/* H&H MORE THAN BAGS — VALUE TEXT +1PT */
.shan-more-than-bags__value h3{
  font-size:calc(1em + 1pt) !important;
}

.shan-more-than-bags__value p{
  font-size:calc(1em + 1pt) !important;
}








/* =========================================================
   H&H FOOTER — FINAL APPROVED DESKTOP DESIGN
   Mobile footer design adapted to desktop.
   Desktop accordion width: 600px.
   Mobile remains untouched.
   ========================================================= */
@media (min-width:1024px){

  .shan-footer{
    padding-top:30px !important;
  }

  .shan-footer__grid{
    display:block !important;
    padding-bottom:0 !important;
  }

  /* Center brand/logo across full footer shell */
  .shan-footer__brand{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    margin-bottom:24px !important;
    text-align:center !important;
  }

  .shan-footer .shan-wordmark--footer{
    align-self:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* Centered 600px accordion */
  .shan-footer__column{
    width:600px !important;
    max-width:calc(100% - 32px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:0 !important;
    border-top:1px solid rgba(255,255,255,.16) !important;
  }

  .shan-footer__column:last-of-type{
    border-bottom:1px solid rgba(255,255,255,.16) !important;
  }

  /* Use approved mobile footer content */
  .shan-footer__desktop-title,
  .shan-footer__desktop-link{
    display:none !important;
  }

  .shan-footer__mobile-title{
    display:inline !important;
  }

  /* Accordion headings */
  .shan-footer .shan-footer__column h2{
    display:block !important;
    position:relative !important;
    width:100% !important;
    box-sizing:border-box !important;
    margin:0 !important;
    padding:16px 40px 16px 0 !important;
    cursor:pointer !important;
    font-size:16px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    letter-spacing:.16em !important;
    text-align:left !important;
    text-transform:uppercase !important;
  }

  .shan-footer .shan-footer__column h2::after{
    content:'+' !important;
    display:block !important;
    position:absolute !important;
    top:50% !important;
    right:0 !important;
    left:auto !important;
    margin:0 !important;
    transform:translateY(-50%) !important;
    font-size:22px !important;
    font-weight:300 !important;
    line-height:1 !important;
  }

  .shan-footer .shan-footer__column.is-open h2::after{
    content:'−' !important;
  }

  /* Hide legacy desktop links */
  .shan-footer .shan-footer__column a.shan-footer__desktop-link,
  .shan-footer .shan-footer__column.is-open a.shan-footer__desktop-link{
    display:none !important;
  }

  /* Accordion links */
  .shan-footer .shan-footer__column a.shan-footer__mobile-link{
    display:none !important;
    width:fit-content !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding:6px 0 !important;
    font-size:16px !important;
    line-height:1.45 !important;
    text-align:left !important;
  }

  .shan-footer .shan-footer__column.is-open a.shan-footer__mobile-link{
    display:block !important;
  }

  .shan-footer .shan-footer__column.is-open{
    padding-bottom:12px !important;
  }

  /* Center socials */
  .shan-footer .shan-footer__socials{
    display:flex !important;
    justify-content:center !important;
    width:100% !important;
    margin:30px 0 26px !important;
    gap:12px !important;
  }

  .shan-footer .shan-footer__socials a{
    width:34px !important;
    height:34px !important;
    border:1px solid rgba(255,255,255,.78) !important;
    border-radius:50% !important;
    color:#fff8ec !important;
  }

  .shan-footer .shan-footer__socials .shan-social-icon{
    width:20px !important;
    height:20px !important;
  }

  /* Center footer bottom */
  .shan-footer__bottom{
    justify-content:center !important;
    align-items:center !important;
    margin-top:0 !important;
    padding-top:18px !important;
    border-top:1px solid rgba(255,255,255,.16) !important;
    text-align:center !important;
  }

  .shan-footer .shan-footer__bottom p{
    width:100% !important;
    font-size:13px !important;
    line-height:1.5 !important;
    text-align:center !important;
  }

}

/* Desktop: slightly larger More Than Bags value typography */
@media (min-width:1024px){
  .shan-story__values strong{
    font-size:calc(18px + 1pt);
  }

  .shan-story__values h3{
    font-size:calc(22px + 1pt);
  }

  .shan-story__values p{
    font-size:calc(14px + 1pt);
  }
}

/* Desktop Shop Hero */
@media (min-width:1024px){
  .shan-shop-reference .shan-shop-hero{
    min-height:250px;
    display:flex;
    align-items:center;
    background-image:url("../images/shop_banner.png?v=20260922-2");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    border-bottom:1px solid rgba(114,30,43,.12);
  }

  .shan-shop-reference .shan-shop-hero__inner{
    width:100%;
  }

  .shan-shop-reference .shan-shop-hero__copy{
    max-width:650px;
  }

  .shan-shop-reference .shan-shop-hero__copy h1{
    margin:0 0 6px;
    color:var(--shan-ink);
    font-family:Georgia,"Times New Roman",serif;
    font-size:54px;
    font-weight:400;
    line-height:1.05;
  }

  .shan-shop-reference .shan-shop-hero__copy p{
    margin:0;
    color:var(--shan-ink);
    font-family:Georgia,"Times New Roman",serif;
    font-size:20px;
    line-height:1.4;
  }
}

/* Preserve existing mobile Shop design */
@media (width < 1024px){
  .shan-shop-hero{
    display:none;
  }
}

/* Desktop Shop Hero subtitle polish */
@media (min-width:1024px){
  .shan-shop-reference .shan-shop-hero__copy h1{
    margin-bottom:12px;
  }

  .shan-shop-reference .shan-shop-hero__copy p{
    color:var(--shan-muted);
  }
}

/* Desktop Shop — Sort by control */
@media (min-width:1024px){

  .shan-shop-reference .woocommerce-ordering{
    display:flex;
    align-items:center;
    gap:10px;
  }

  .shan-shop-reference .woocommerce-ordering::before{
    content:"Sort by";
    display:block;
    flex:0 0 auto;
    color:var(--shan-ink);
    font-family:var(--shan-sans);
    font-size:14px;
    font-weight:400;
    white-space:nowrap;
  }

  .shan-shop-reference .woocommerce-ordering select{
    min-width:190px;
    height:42px;
    padding:0 38px 0 14px;
    border:1px solid #d8d3cc;
    border-radius:6px;
    background-color:#fff;
    color:var(--shan-ink);
    font-family:var(--shan-sans);
    font-size:14px;
    font-weight:400;
  }
}

/* Desktop Shop — enforce Sort dropdown field */
@media (min-width:1024px){
  .shan-shop-reference .woocommerce-ordering select.orderby{
    box-sizing:border-box !important;
    width:190px !important;
    min-width:190px !important;
    height:42px !important;
    padding:0 38px 0 14px !important;

    border:1px solid #d8d3cc !important;
    border-radius:6px !important;
    background-color:#fff !important;

    color:var(--shan-ink) !important;
    font-family:var(--shan-sans) !important;
    font-size:14px !important;
    font-weight:400 !important;
    appearance:auto !important;
    -webkit-appearance:auto !important;
  }
}

/* Desktop Shop — catalog toolbar final polish */
@media (min-width:1024px){
  .shan-shop-reference .woocommerce-result-count{
    margin-top:12px;
    color:#716861;
    font-family:var(--shan-sans);
    font-size:13px;
    font-weight:400;
    line-height:18px;
  }
}

/* Desktop Shop — toolbar to product breathing room */
@media (min-width:1024px){
  .shan-shop-reference ul.products{
    margin-top:58px;
  }
}

/* Desktop Shop — final toolbar/product separation */
@media (min-width:1024px){
  .shan-shop-reference ul.products{
    margin-top:70px !important;
  }
}

/* Desktop Shop — balanced toolbar/product spacing */
@media (min-width:1024px){
  .shan-shop-reference ul.products{
    margin-top:52px !important;
  }
}

/* Desktop Shop — result count readability */
@media (min-width:1024px){
  .shan-shop-reference .woocommerce-result-count{
    color:#5f5752;
  }
}

/* Desktop Shop — result count final contrast */
@media (min-width:1024px){
  .shan-shop-reference .woocommerce-result-count{
    color:var(--shan-ink) !important;
  }
}

/* =========================================================
   HH TYPOGRAPHY FOUNDATION
   Primary interface typeface: DM Sans
   Heritage/editorial headings remain explicitly serif.
   ========================================================= */

.shan-storefront {
    --shan-sans: "DM Sans", Arial, sans-serif;
    font-family: var(--shan-sans);
}

.shan-storefront button,
.shan-storefront input,
.shan-storefront select,
.shan-storefront textarea {
    font-family: var(--shan-sans);
}



/* ==========================================================
   HH DESKTOP PDP - SHARED MOBILE COMPONENT
   Same PDP information component as mobile.
   Desktop only: layout/presentation differences.
   Mobile <=820px intentionally untouched.
   ========================================================== */

@media (min-width:1024px){

  /*
   * SHARED INFORMATION COMPONENT
   * The existing mobile PDP accordion is the single source.
   * Retire the separate WooCommerce desktop tabs visually.
   */

  .shan-commerce--single .woocommerce-tabs{
    display:none !important;
  }

  .shan-commerce--single .shan-mobile-pdp-accordion{
    display:block !important;
    width:100%;
    margin:18px 0 0;
    border-top:1px solid var(--shan-line);
  }

  .shan-commerce--single .shan-mobile-pdp-section{
    margin:0;
    border-bottom:1px solid var(--shan-line);
  }

  .shan-commerce--single .shan-mobile-pdp-section summary{
    display:grid;
    grid-template-columns:20px 1fr 18px;
    align-items:center;
    gap:9px;
    min-height:53px;
    margin:0;
    padding:0 5px;
    color:var(--shan-ink);
    font-family:var(--shan-sans);
    font-size:13px;
    font-weight:600;
    line-height:1;
    cursor:pointer;
    list-style:none;
  }

  .shan-commerce--single .shan-mobile-pdp-section summary::-webkit-details-marker{
    display:none;
  }

  .shan-commerce--single .shan-mobile-pdp-section__icon{
    color:var(--shan-burgundy);
    font-size:15px;
    line-height:1;
    text-align:center;
  }

  .shan-commerce--single .shan-mobile-pdp-section__chevron{
    color:var(--shan-ink);
    font-size:20px;
    font-weight:400;
    line-height:1;
    text-align:right;
    transition:transform .2s ease;
  }

  .shan-commerce--single
  .shan-mobile-pdp-section[open]
  .shan-mobile-pdp-section__chevron{
    transform:rotate(90deg);
  }

  .shan-commerce--single .shan-mobile-pdp-section__content{
    padding:2px 29px 22px;
    color:var(--shan-muted);
    font-size:13px;
    line-height:1.65;
  }

  .shan-commerce--single
  .shan-mobile-pdp-section__content > :first-child{
    margin-top:0;
  }

  .shan-commerce--single
  .shan-mobile-pdp-section__content > :last-child{
    margin-bottom:0;
  }


  /*
   * SHIPPING & RETURNS
   * Same shared control used by mobile.
   */

  .shan-commerce--single .shan-mobile-pdp-policy-trigger{
    display:grid;
    grid-template-columns:20px 1fr 18px;
    align-items:center;
    gap:9px;
    width:100%;
    min-height:53px;
    margin:0;
    padding:0 5px;
    border:0;
    background:transparent;
    color:var(--shan-ink);
    font-family:var(--shan-sans);
    font-size:13px;
    font-weight:600;
    line-height:1;
    text-align:left;
    cursor:pointer;
  }


  /*
   * DESKTOP GALLERY
   * Same native WooCommerce gallery.
   * Desktop presentation only: thumbnails become a left rail.
   */

  .shan-commerce--single div.product div.images{
    display:grid !important;
    grid-template-columns:82px minmax(0,1fr) !important;
    grid-template-rows:auto !important;
    column-gap:14px !important;
    align-items:start !important;
  }

  .shan-commerce--single
  div.product
  div.images
  .woocommerce-product-gallery__wrapper{
    grid-column:2 !important;
    grid-row:1 !important;
    margin:0 !important;
  }

  .shan-commerce--single .flex-control-thumbs{
    grid-column:1 !important;
    grid-row:1 !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;

    gap:10px !important;

    width:82px !important;
    margin:0 !important;
    padding:0 !important;

    overflow:visible !important;
  }

  .shan-commerce--single .flex-control-thumbs li{
    float:none !important;
    flex:0 0 auto !important;

    width:82px !important;
    max-width:82px !important;
    margin:0 !important;
  }

  .shan-commerce--single .flex-control-thumbs img{
    display:block !important;
    width:100% !important;
    aspect-ratio:1/1 !important;
    object-fit:cover !important;
  }


  /*
   * Keep related products clearly after the complete PDP.
   */

  .shan-commerce--single .related{
    clear:both;
  }

}



/* ==========================================================
   HH DESKTOP PDP - FLEXSLIDER SAFE GALLERY
   Keep WooCommerce/FlexSlider preview track untouched.
   Desktop thumbnails use an independent left rail.
   Mobile <=820px untouched.
   ========================================================== */

@media (min-width:1024px){

  /*
   * Outer Woo gallery owns the left-thumbnail space.
   * Do NOT use grid on the FlexSlider track.
   */
  .shan-commerce--single div.product div.images{
    display:block !important;
    position:relative !important;
    padding-left:96px !important;
    min-width:0 !important;
  }

  /*
   * Restore Woo/FlexSlider preview area to normal flow.
   * FlexSlider remains free to manage track width/transform.
   */
  .shan-commerce--single
  div.product
  div.images
  .woocommerce-product-gallery__wrapper{
    display:block !important;
    margin:0 !important;
  }

  /*
   * Independent desktop thumbnail rail.
   */
  .shan-commerce--single
  .flex-control-nav.flex-control-thumbs{
    position:absolute !important;
    top:0 !important;
    left:0 !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;

    width:82px !important;
    margin:0 !important;
    padding:0 !important;
    gap:10px !important;

    overflow:visible !important;
  }

  .shan-commerce--single
  .flex-control-nav.flex-control-thumbs > li{
    float:none !important;
    flex:0 0 auto !important;

    width:82px !important;
    max-width:82px !important;
    margin:0 !important;
  }

  .shan-commerce--single
  .flex-control-nav.flex-control-thumbs > li > img{
    display:block !important;
    width:100% !important;
    aspect-ratio:1/1 !important;
    object-fit:cover !important;
  }

}



/* ==========================================================
   HH DESKTOP PDP - FLEXSLIDER TRACK RELEASE
   Woo FlexSlider must own the slide-track width and movement.
   Mobile <=820px untouched.
   ========================================================== */

@media (min-width:1024px){

  /*
   * flex-viewport is the clipping window.
   */
  body .shan-commerce--single
  .woocommerce-product-gallery
  .flex-viewport{
    overflow:hidden !important;
  }

  /*
   * This is FlexSlider's moving track.
   * Do not constrain it to the visible gallery width.
   *
   * 'revert-layer' is intentionally avoided for compatibility.
   * Width is calculated from the four rendered slides:
   * FlexSlider will continue controlling transform/margin.
   */
  body .shan-commerce--single
  .woocommerce-product-gallery
  .flex-viewport
  .woocommerce-product-gallery__wrapper{
    overflow:visible !important;
  }

}



/* ==========================================================
   HH DESKTOP PDP - SALE BADGE MAIN IMAGE
   Gallery reserves 96px for the left thumbnail rail.
   Position shared SALE badge over the main preview instead.
   Mobile <=820px untouched.
   ========================================================== */

@media (min-width:1024px){

  .shan-commerce--single
  .woocommerce-product-gallery
  > .shan-product-badges{
    left:106px !important;
  }

}



/* ==========================================================
   HH DESKTOP PDP - SPACING AND HEADER DIVIDER
   Desktop PDP polish only.
   Mobile <=820px untouched.
   ========================================================== */

@media (min-width:1024px){

  /* Subtle separation between site header and PDP. */
  body.single-product .shan-site-header{
    border-bottom:1px solid var(--shan-line);
  }

  /* Bring related products closer to the primary PDP. */
  .shan-commerce--single .related{
    margin-top:0 !important;
    padding-top:32px !important;
  }

}



/* HH DESKTOP PDP - HEADER DIVIDER VISIBILITY */
@media (min-width:1024px){
  body.single-product .shan-site-header{
    border-bottom:1px solid rgba(36,32,29,.10) !important;
  }
}



/* ==========================================================
   HH DESKTOP PDP - ACCORDION TYPOGRAPHY NORMALIZE
   Same typography for Product Details, Shipping & Returns,
   and Reviews. Desktop only. Mobile untouched.
   ========================================================== */

@media (min-width:1024px){

  .shan-commerce--single .shan-mobile-pdp-section summary,
  .shan-commerce--single .shan-mobile-pdp-policy-trigger{
    font-family:var(--shan-sans) !important;
    font-size:13px !important;
    font-weight:600 !important;
    line-height:1 !important;
    letter-spacing:normal !important;
    text-transform:none !important;
  }

}



/* ==========================================================
   HH DESKTOP PDP - FINAL TITLE AND RELATED SPACING
   Desktop presentation only.
   Mobile <=820px untouched.
   Product cards untouched.
   ========================================================== */

@media (min-width:1024px){

  /* Keep the product name prominent without overpowering the PDP. */
  .shan-commerce--single .summary .product_title{
    font-size:36px !important;
    line-height:1.06 !important;
  }

  /*
   * Compact transition from primary product area to related products.
   * The divider remains the visual section boundary.
   */
  .shan-commerce--single .related{
    margin-top:-55px !important;
    padding-top:28px !important;
    border-top:1px solid var(--shan-line) !important;
  }

}



/* ==========================================================
   HH DESKTOP PDP - ACCORDION TYPOGRAPHY FINAL
   Desktop labels only. Shared icon remains common to all PDPs.
   Mobile typography untouched.
   ========================================================== */

@media (min-width:1024px){

  .shan-commerce--single .shan-mobile-pdp-section summary,
  .shan-commerce--single .shan-mobile-pdp-policy-trigger{
    font-family:var(--shan-sans) !important;
    font-size:14px !important;
    font-weight:650 !important;
    line-height:1.2 !important;
    letter-spacing:-.01em !important;
    text-transform:none !important;
  }

  .shan-commerce--single .shan-mobile-pdp-section__icon{
    display:grid;
    place-items:center;
  }

  .shan-commerce--single .shan-mobile-pdp-section__icon svg{
    display:block;
    width:16px;
    height:16px;
  }

}


/* =========================================================
   HH_DESKTOP_CART_CONFIRMATION_20260921
   Modern desktop cart confirmation.
   Mobile <=820px intentionally untouched.
   ========================================================= */

.shan-desktop-cart-confirm{
  display:none;
}

@media (min-width:1024px){

  /*
   * Native Woo success banner is replaced by the H&H confirmation card.
   * Errors and informational notices are NOT hidden.
   */
  body .shan-commerce .woocommerce-message.shan-toast{
    display:none !important;
  }

  .shan-desktop-cart-confirm{
    position:fixed;
    top:52px;
    right:28px;
    z-index:10050;

    display:block;
    width:min(390px,calc(100vw - 56px));

    pointer-events:none;
    opacity:0;
    visibility:hidden;

    transform:translateY(-10px);

    transition:
      opacity 180ms ease,
      transform 220ms ease,
      visibility 180ms ease;
  }

  .shan-desktop-cart-confirm.is-open{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
  }

  .shan-desktop-cart-confirm__card{
    position:relative;

    padding:18px;

    border:1px solid rgba(114,30,43,.16);
    border-radius:14px;

    background:#fffaf1;
    color:#24201d;

    box-shadow:
      0 18px 45px rgba(36,32,29,.14),
      0 3px 10px rgba(36,32,29,.07);
  }

  .shan-desktop-cart-confirm__close{
    position:absolute;
    top:10px;
    right:11px;

    display:grid;
    width:30px;
    height:30px;
    padding:0;

    place-items:center;

    border:0;
    border-radius:50%;

    background:transparent;
    color:#716861;

    font-family:Arial,sans-serif;
    font-size:23px;
    font-weight:300;
    line-height:1;

    cursor:pointer;
  }

  .shan-desktop-cart-confirm__close:hover,
  .shan-desktop-cart-confirm__close:focus-visible{
    background:rgba(114,30,43,.07);
    color:#721e2b;
  }

  .shan-desktop-cart-confirm__top{
    display:flex;
    align-items:center;
    gap:10px;

    padding-right:34px;
    margin-bottom:15px;
  }

  .shan-desktop-cart-confirm__check{
    display:grid;
    width:27px;
    height:27px;
    flex:0 0 27px;

    place-items:center;

    border-radius:50%;
    background:#721e2b;
    color:#fff;
  }

  .shan-desktop-cart-confirm__check svg{
    display:block;
    width:15px;
    height:15px;

    fill:none;
    stroke:currentColor;
    stroke-width:2.4;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .shan-desktop-cart-confirm__heading{
    font-family:Arial,sans-serif;
    font-size:15px;
    font-weight:700;
    line-height:1.25;
  }

  .shan-desktop-cart-confirm__product{
    display:grid;
    grid-template-columns:64px minmax(0,1fr);
    gap:13px;
    align-items:center;
  }

  .shan-desktop-cart-confirm__image{
    width:64px;
    height:64px;

    overflow:hidden;

    border-radius:9px;
    background:#f3eee7;
  }

  .shan-desktop-cart-confirm__image:empty{
    display:none;
  }

  .shan-desktop-cart-confirm__image:empty + .shan-desktop-cart-confirm__details{
    grid-column:1 / -1;
  }

  .shan-desktop-cart-confirm__image img{
    display:block;
    width:100%;
    height:100%;
    margin:0;
    padding:0;

    border:0;
    border-radius:0;

    object-fit:cover;
    object-position:center;
  }

  .shan-desktop-cart-confirm__details{
    min-width:0;
  }

  .shan-desktop-cart-confirm__name{
    display:-webkit-box;
    overflow:hidden;

    margin-bottom:7px;

    color:#24201d;

    font-family:Arial,sans-serif;
    font-size:14px;
    font-weight:600;
    line-height:1.35;

    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .shan-desktop-cart-confirm__meta{
    display:flex;
    align-items:center;
    gap:9px;

    color:#716861;

    font-family:Arial,sans-serif;
    font-size:12px;
    line-height:1.3;
  }

  .shan-desktop-cart-confirm__price{
    color:#721e2b;
    font-weight:700;
  }

  .shan-desktop-cart-confirm__price del{
    margin-right:4px;
    color:#9a948f;
    font-weight:400;
  }

  .shan-desktop-cart-confirm__actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;

    margin-top:16px;
    padding-top:14px;

    border-top:1px solid rgba(113,104,97,.18);
  }

  .shan-desktop-cart-confirm__actions a{
    display:flex;
    min-height:40px;

    align-items:center;
    justify-content:center;

    padding:8px 14px;

    border-radius:999px;

    font-family:Arial,sans-serif;
    font-size:12px;
    font-weight:700;
    line-height:1;
    text-decoration:none !important;

    transition:
      background 160ms ease,
      border-color 160ms ease,
      color 160ms ease;
  }

  .shan-desktop-cart-confirm__view{
    border:1px solid rgba(114,30,43,.35);
    background:transparent;
    color:#721e2b !important;
  }

  .shan-desktop-cart-confirm__view:hover,
  .shan-desktop-cart-confirm__view:focus-visible{
    border-color:#721e2b;
    background:rgba(114,30,43,.055);
  }

  .shan-desktop-cart-confirm__checkout{
    border:1px solid #721e2b;
    background:#721e2b;
    color:#fff !important;
  }

  .shan-desktop-cart-confirm__checkout:hover,
  .shan-desktop-cart-confirm__checkout:focus-visible{
    border-color:#4c111b;
    background:#4c111b;
  }

}

@media (prefers-reduced-motion:reduce){
  .shan-desktop-cart-confirm{
    transition:none !important;
  }
}

/* END HH_DESKTOP_CART_CONFIRMATION_20260921 */

/* =========================================================
   HH DESKTOP CART CONFIRMATION — COMPACT POLISH 20260921
   Desktop only. Mobile cart sheet intentionally untouched.
   ========================================================= */
@media (min-width:1024px){

  .shan-desktop-cart-confirm{
    width:min(370px,calc(100vw - 48px));
    right:24px;
  }

  .shan-desktop-cart-confirm__card{
    padding:16px 17px;
    border-radius:13px;
  }

  .shan-desktop-cart-confirm__top{
    gap:9px;
    margin-bottom:13px;
  }

  .shan-desktop-cart-confirm__check{
    width:25px;
    height:25px;
    flex-basis:25px;
  }

  .shan-desktop-cart-confirm__check svg{
    width:14px;
    height:14px;
  }

  .shan-desktop-cart-confirm__heading{
    font-size:14px;
  }

  .shan-desktop-cart-confirm__product{
    grid-template-columns:58px minmax(0,1fr);
    gap:12px;
  }

  .shan-desktop-cart-confirm__image{
    width:58px;
    height:58px;
    border-radius:7px;
  }

  .shan-desktop-cart-confirm__name{
    margin-bottom:5px;
    font-size:13px;
  }

  .shan-desktop-cart-confirm__meta{
    gap:8px;
    font-size:11.5px;
  }

  .shan-desktop-cart-confirm__actions{
    gap:8px;
    margin-top:14px;
    padding-top:12px;
  }

  .shan-desktop-cart-confirm__actions a{
    min-height:36px;
    padding:7px 13px;
    font-size:11.5px;
  }

  .shan-desktop-cart-confirm__close{
    top:8px;
    right:9px;
    width:28px;
    height:28px;
    font-size:21px;
  }

}

/* END HH DESKTOP CART CONFIRMATION — COMPACT POLISH 20260921 */

/* =========================================================
   HH_DESKTOP_CART_ERROR_20260921
   Desktop Woo add-to-cart error presentation.
   Mobile intentionally untouched.
   ========================================================= */
@media (min-width:1024px){

  /*
   * H&H desktop card replaces native Woo add-to-cart error toast.
   * This selector is limited to commerce/product presentation.
   */
  body .shan-commerce .woocommerce-error.shan-toast{
    display:none !important;
  }

  .shan-desktop-cart-confirm__error-copy{
    display:none;
  }

  .shan-desktop-cart-confirm.is-error
  .shan-desktop-cart-confirm__error-copy{
    display:block;

    margin:2px 2px 0 34px;

    color:#5f5650;

    font-family:Arial,sans-serif;
    font-size:12.5px;
    font-weight:400;
    line-height:1.45;
  }

  .shan-desktop-cart-confirm.is-error
  .shan-desktop-cart-confirm__check{
    position:relative;
    background:#721e2b;
  }

  .shan-desktop-cart-confirm.is-error
  .shan-desktop-cart-confirm__check svg{
    display:none;
  }

  .shan-desktop-cart-confirm.is-error
  .shan-desktop-cart-confirm__check::after{
    content:"!";
    display:block;

    color:#fff;

    font-family:Arial,sans-serif;
    font-size:14px;
    font-weight:800;
    line-height:1;
  }

  .shan-desktop-cart-confirm.is-error
  .shan-desktop-cart-confirm__heading{
    color:#4c111b;
  }

  .shan-desktop-cart-confirm.is-error
  .shan-desktop-cart-confirm__actions{
    display:flex;
    justify-content:flex-end;

    margin-top:14px;
    padding-top:12px;
  }

  .shan-desktop-cart-confirm.is-error
  .shan-desktop-cart-confirm__view{
    width:auto;
    min-width:112px;
    padding-left:20px;
    padding-right:20px;
  }

  .shan-desktop-cart-confirm.is-error
  .shan-desktop-cart-confirm__checkout{
    display:none !important;
  }

}

/* END HH_DESKTOP_CART_ERROR_20260921 */

/* ==========================================================
   HH DESKTOP WISHLIST - HEADER DIVIDER
   Matches established desktop PDP divider.
   Mobile <=820px untouched.
   ========================================================== */
@media (min-width:1024px){
  body.page-id-3341 .shan-site-header{
    border-bottom:1px solid rgba(36,32,29,.10) !important;
  }
}

/* END HH DESKTOP WISHLIST - HEADER DIVIDER */


/* =========================================================
   HEMP & HERITAGE — SHARED WISHLIST CARD DESIGN
   Desktop adaptation of canonical mobile Wishlist cards.
   Mobile <=820px remains untouched.
   HH_WISHLIST_SHARED_DESKTOP_20260922
   ========================================================= */

@media (min-width:1024px){

  /*
   * Same TI Wishlist markup used by mobile.
   * Remove desktop table presentation.
   */
  body.page-id-3341 .tinv-wishlist{
    width:100%;
    max-width:1240px;
    margin:28px auto 64px;
  }

  body.page-id-3341
  .tinv-wishlist table.tinvwl-table-manage-list{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    overflow:visible !important;
    border:0 !important;
    border-collapse:initial !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  /* Desktop table headings are no longer needed. */
  body.page-id-3341
  .tinv-wishlist table.tinvwl-table-manage-list thead{
    display:none !important;
  }


  /* ---------------------------------------------------------
     PRODUCT GRID
     --------------------------------------------------------- */

  body.page-id-3341
  .tinv-wishlist table.tinvwl-table-manage-list tbody{
    display:grid !important;
    width:100% !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:22px !important;
  }

  body.page-id-3341
  .tinv-wishlist table.tinvwl-table-manage-list tr.wishlist_item{
    position:relative !important;

    display:flex !important;
    min-width:0 !important;
    height:100% !important;

    margin:0 !important;
    padding:12px 12px 14px !important;

    flex-direction:column !important;

    overflow:hidden !important;

    border:1px solid rgba(69,42,30,.12) !important;
    border-radius:12px !important;

    background:#fff !important;

    box-shadow:0 5px 18px rgba(36,32,29,.045) !important;
  }

  body.page-id-3341
  .tinv-wishlist tr.wishlist_item td{
    display:block !important;

    width:100% !important;
    min-width:0 !important;
    height:auto !important;

    padding:0 !important;

    border:0 !important;

    text-align:left !important;
  }


  /* ---------------------------------------------------------
     REMOVE BULK CHECKBOXES
     --------------------------------------------------------- */

  body.page-id-3341 .tinv-wishlist .product-cb,
  body.page-id-3341 .tinv-wishlist th.product-cb,
  body.page-id-3341 .tinv-wishlist td.product-cb,
  body.page-id-3341 .tinv-wishlist input.input-checkbox,
  body.page-id-3341 .tinv-wishlist input.global-cb{
    display:none !important;
  }


  /* ---------------------------------------------------------
     PRODUCT IMAGE
     --------------------------------------------------------- */

  body.page-id-3341
  .tinv-wishlist tr.wishlist_item td.product-thumbnail{
    order:1 !important;

    width:100% !important;

    margin:0 0 12px !important;
  }

  body.page-id-3341
  .tinv-wishlist .product-thumbnail a{
    display:block !important;

    width:100% !important;
  }

  body.page-id-3341
  .tinv-wishlist .product-thumbnail img{
    display:block !important;

    width:100% !important;
    max-width:none !important;
    height:auto !important;

    aspect-ratio:1 / 1 !important;

    margin:0 !important;

    border-radius:9px !important;

    object-fit:cover !important;
  }


  /* ---------------------------------------------------------
     REMOVE BUTTON
     Same floating X treatment as mobile.
     --------------------------------------------------------- */

  body.page-id-3341
  .tinv-wishlist tr.wishlist_item td.product-remove{
    position:absolute !important;

    top:20px !important;
    right:20px !important;

    z-index:4 !important;

    width:auto !important;

    order:0 !important;
  }

  body.page-id-3341
  .tinv-wishlist .product-remove button{
    display:grid !important;

    width:30px !important;
    height:30px !important;

    margin:0 !important;
    padding:0 !important;

    place-items:center !important;

    border:1px solid rgba(69,42,30,.12) !important;
    border-radius:50% !important;

    background:rgba(255,255,255,.95) !important;

    color:var(--shan-muted) !important;

    box-shadow:0 2px 8px rgba(36,32,29,.08) !important;

    cursor:pointer;
  }

  body.page-id-3341
  .tinv-wishlist .product-remove button:hover{
    border-color:rgba(114,30,43,.22) !important;

    background:var(--shan-cream) !important;

    color:var(--shan-burgundy) !important;
  }


  /* ---------------------------------------------------------
     PRODUCT NAME
     --------------------------------------------------------- */

  body.page-id-3341
  .tinv-wishlist tr.wishlist_item td.product-name{
    order:2 !important;

    margin:0 0 6px !important;
  }

  body.page-id-3341
  .tinv-wishlist .product-name a{
    display:block !important;

    padding:0 !important;

    color:var(--shan-ink) !important;

    font-family:var(--shan-serif) !important;
    font-size:16px !important;
    font-weight:500 !important;
    line-height:1.35 !important;

    text-decoration:none !important;
  }

  body.page-id-3341
  .tinv-wishlist .product-name a:hover{
    color:var(--shan-burgundy) !important;
  }


  /* ---------------------------------------------------------
     PRICE
     --------------------------------------------------------- */

  body.page-id-3341
  .tinv-wishlist tr.wishlist_item td.product-price{
    display:block !important;

    order:3 !important;

    margin:0 0 7px !important;

    color:var(--shan-burgundy) !important;

    font-size:14px !important;
    font-weight:700 !important;
  }

  body.page-id-3341
  .tinv-wishlist .product-price del{
    opacity:.55;
    margin-right:4px;
  }

  body.page-id-3341
  .tinv-wishlist .product-price ins{
    color:var(--shan-burgundy) !important;
    text-decoration:none !important;
  }


  /* ---------------------------------------------------------
     DATE
     Mobile intentionally hides this.
     Shared card design does the same on desktop.
     --------------------------------------------------------- */

  body.page-id-3341
  .tinv-wishlist tr.wishlist_item td.product-date{
    display:none !important;
  }


  /* ---------------------------------------------------------
     STOCK
     --------------------------------------------------------- */

  body.page-id-3341
  .tinv-wishlist tr.wishlist_item td.product-stock{
    display:block !important;

    order:4 !important;

    margin:0 0 10px !important;
  }

  body.page-id-3341
  .tinv-wishlist .product-stock .stock{
    margin:0 !important;

    color:var(--shan-burgundy) !important;

    font-size:11px !important;
    font-weight:650 !important;

    white-space:normal !important;
  }


  /* ---------------------------------------------------------
     ADD TO CART
     Keep CTA aligned at bottom of cards.
     --------------------------------------------------------- */

  body.page-id-3341
  .tinv-wishlist tr.wishlist_item td.product-action{
    display:block !important;

    order:5 !important;

    margin-top:auto !important;
    padding-top:10px !important;

    text-align:left !important;
  }

  body.page-id-3341
  .tinv-wishlist .product-action .button{
    display:inline-flex !important;

    width:100% !important;
    min-height:40px !important;

    align-items:center !important;
    justify-content:center !important;

    padding:8px 12px !important;

    border:1px solid var(--shan-burgundy) !important;
    border-radius:8px !important;

    background:var(--shan-burgundy) !important;

    color:#fff !important;

    font-size:11px !important;
    font-weight:700 !important;
    line-height:1.2 !important;

    text-align:center !important;
    text-decoration:none !important;
  }

  body.page-id-3341
  .tinv-wishlist .product-action .button:hover{
    background:var(--shan-dark-red) !important;
    border-color:var(--shan-dark-red) !important;

    color:#fff !important;
  }


  /* ---------------------------------------------------------
     TI FOOTER / SHARE AREA
     Keep it outside the product grid.
     --------------------------------------------------------- */

  body.page-id-3341
  .tinv-wishlist .tinvwl-table-manage-list tfoot{
    display:block !important;

    width:100% !important;

    margin-top:28px !important;
  }

  body.page-id-3341
  .tinv-wishlist .tinvwl-table-manage-list tfoot tr,
  body.page-id-3341
  .tinv-wishlist .tinvwl-table-manage-list tfoot td{
    display:block !important;

    width:100% !important;
  }

  body.page-id-3341
  .tinv-wishlist .tinvwl-table-manage-list tfoot td{
    padding:0 !important;

    border:0 !important;

    background:transparent !important;
  }

}


/* 3 cards on narrower desktop/tablet landscape. */
@media not all {

  body.page-id-3341
  .tinv-wishlist table.tinvwl-table-manage-list tbody{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
  }

}


/* =========================================================
   HH WISHLIST — CUSTOMER FOOTER CLEANUP
   Remove TI bulk-management/share controls.
   Keep pagination only.
   HH_WISHLIST_FOOTER_CLEANUP_20260922
   ========================================================= */

/* Bulk action dropdown + Apply Action */
body.page-id-3341
.tinv-wishlist .tinvwl-input-group,

body.page-id-3341
.tinv-wishlist .tinvwl-break-input-filed,

body.page-id-3341
.tinv-wishlist select[name="product_actions"]{
    display:none !important;
}

/* Add Selected / Add All controls */
body.page-id-3341
.tinv-wishlist .tinvwl-to-right{
    display:none !important;
}

/* Share controls */
body.page-id-3341
.tinv-wishlist .social-buttons,

body.page-id-3341
.tinv-wishlist .social-buttons-wrapper,

body.page-id-3341
.tinv-wishlist .tinvwl-share{
    display:none !important;
}


/* ---------------------------------------------------------
   PAGINATION ONLY
   --------------------------------------------------------- */

body.page-id-3341
.tinv-wishlist .tinvwl-paged{
    display:flex !important;
    width:100% !important;

    margin:30px auto 0 !important;

    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;

    text-align:center !important;
}

/* Current page count */
body.page-id-3341
.tinv-wishlist .tinvwl-paged .current{
    color:var(--shan-ink) !important;

    font-size:12px !important;
    font-weight:700 !important;
}


/* Previous / Next */
body.page-id-3341
.tinv-wishlist .tinvwl-paged a{
    display:inline-flex !important;

    width:auto !important;
    min-width:42px !important;
    min-height:38px !important;

    margin:0 !important;
    padding:8px 14px !important;

    align-items:center !important;
    justify-content:center !important;

    border:1px solid rgba(69,42,30,.12) !important;
    border-radius:8px !important;

    background:#fff !important;

    color:var(--shan-ink) !important;

    font-size:12px !important;
    font-weight:650 !important;

    text-decoration:none !important;

    box-shadow:none !important;
}

body.page-id-3341
.tinv-wishlist .tinvwl-paged a:hover{
    border-color:rgba(114,30,43,.25) !important;

    background:var(--shan-cream) !important;

    color:var(--shan-burgundy) !important;
}



/* =========================================================
   HH WISHLIST — SHARED PAGINATION BUTTON
   HH_WISHLIST_PAGINATION_SHARED_BUTTON_20260922
   ========================================================= */

body.page-id-3341
.tinv-wishlist .tinvwl-paged a{
    display:inline-flex !important;
    width:auto !important;
    min-width:118px !important;
    min-height:42px !important;

    padding:10px 20px !important;

    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;

    border:1px solid var(--shan-burgundy) !important;
    border-radius:999px !important;

    background:transparent !important;
    color:var(--shan-burgundy) !important;

    font-family:inherit !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1 !important;

    text-decoration:none !important;

    box-shadow:none !important;

    transition:
        background-color .18s ease,
        color .18s ease,
        border-color .18s ease !important;
}

body.page-id-3341
.tinv-wishlist .tinvwl-paged a:hover,
body.page-id-3341
.tinv-wishlist .tinvwl-paged a:focus-visible{
    border-color:var(--shan-burgundy) !important;
    background:var(--shan-burgundy) !important;
    color:#fff !important;
}

body.page-id-3341
.tinv-wishlist .tinvwl-paged a:focus-visible{
    outline:2px solid rgba(114,30,43,.20) !important;
    outline-offset:3px !important;
}


/* Keep pagination itself quiet and centered */
body.page-id-3341
.tinv-wishlist .tinvwl-paged{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;

    margin-top:32px !important;
}



/* HH_WISHLIST_NEXT_BUTTON_20260922 */

body.page-id-3341 .tinv-wishlist a.button.tinv-next {
    display:inline-flex !important;
    width:auto !important;
    min-width:0 !important;
    min-height:42px !important;
    padding:10px 20px !important;

    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;

    border:1px solid #721e2b !important;
    border-radius:999px !important;

    background:#721e2b !important;
    color:#fff !important;

    font-size:13px !important;
    font-weight:700 !important;
    line-height:1 !important;

    text-decoration:none !important;
    box-shadow:none !important;
}

body.page-id-3341 .tinv-wishlist a.button.tinv-next span,
body.page-id-3341 .tinv-wishlist a.button.tinv-next i {
    color:#fff !important;
}

body.page-id-3341 .tinv-wishlist a.button.tinv-next:hover {
    background:#4c111b !important;
    border-color:#4c111b !important;
    color:#fff !important;
}



/* =========================================================
   HH WISHLIST — COMPACT PAGINATION LAYOUT
   HH_WISHLIST_PAGINATION_LAYOUT_FIX_20260922
   ========================================================= */

body.page-id-3341 .tinv-wishlist .tinvwl-table-manage-list tfoot {
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
}

body.page-id-3341 .tinv-wishlist .tinvwl-table-manage-list tfoot tr {
    display:flex !important;
    width:100% !important;

    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;

    margin:28px 0 0 !important;
    padding:0 !important;

    border:0 !important;
    background:transparent !important;
}

body.page-id-3341 .tinv-wishlist .tinvwl-table-manage-list tfoot td {
    display:flex !important;
    width:auto !important;
    min-width:0 !important;
    flex:0 0 auto !important;

    align-items:center !important;
    justify-content:center !important;

    margin:0 !important;
    padding:0 !important;

    border:0 !important;
    background:transparent !important;
}


/* Pagination container */
body.page-id-3341 .tinv-wishlist .tinvwl-paged {
    display:flex !important;
    width:auto !important;
    min-width:0 !important;

    flex:0 0 auto !important;

    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;

    margin:0 !important;
    padding:0 !important;
}


/* Force TI Next / Previous buttons to compact size */
body.page-id-3341 .tinv-wishlist a.button.tinv-next,
body.page-id-3341 .tinv-wishlist a.button.tinv-prev {
    width:auto !important;
    min-width:120px !important;
    max-width:none !important;

    flex:0 0 auto !important;

    margin:0 !important;
    padding:11px 20px !important;
}


/* Remove excessive space below Wishlist */
body.page-id-3341 .tinv-wishlist {
    padding-bottom:0 !important;
}


/* Mobile stays compact */
@media (width < 1024px) {

    body.page-id-3341 .tinv-wishlist .tinvwl-table-manage-list tfoot tr {
        gap:12px !important;
        margin-top:22px !important;
    }

    body.page-id-3341 .tinv-wishlist a.button.tinv-next,
    body.page-id-3341 .tinv-wishlist a.button.tinv-prev {
        min-width:110px !important;
        padding:10px 16px !important;
    }

}



/* =========================================================
   HH WISHLIST — FINAL PAGINATION ALIGNMENT
   HH_WISHLIST_PAGINATION_FINAL_20260922
   ========================================================= */

/*
 * TI places the page count and next/previous navigation
 * in separate footer cells. Overlay the footer as a
 * compact centered pagination group.
 */

body.page-id-3341
.tinv-wishlist table.tinvwl-table-manage-list tfoot tr {
    display:flex !important;
    width:100% !important;

    align-items:center !important;
    justify-content:center !important;

    gap:16px !important;

    margin:30px 0 0 !important;
    padding:0 !important;
}


/* Every remaining pagination cell participates in same group */
body.page-id-3341
.tinv-wishlist table.tinvwl-table-manage-list tfoot tr > td {
    display:flex !important;

    width:auto !important;
    min-width:0 !important;
    max-width:none !important;

    flex:0 0 auto !important;

    align-items:center !important;
    justify-content:center !important;

    margin:0 !important;
    padding:0 !important;

    float:none !important;

    text-align:center !important;
}


/* Page count */
body.page-id-3341
.tinv-wishlist .tinvwl-paged {
    display:flex !important;

    width:auto !important;
    min-width:0 !important;

    flex:0 0 auto !important;

    align-items:center !important;
    justify-content:center !important;

    margin:0 !important;
    padding:0 !important;

    white-space:nowrap !important;
}


/* NEXT / PREVIOUS */
body.page-id-3341
.tinv-wishlist a.button.tinv-next,

body.page-id-3341
.tinv-wishlist a.button.tinv-prev {
    display:inline-flex !important;

    width:auto !important;
    min-width:120px !important;
    max-width:none !important;

    min-height:42px !important;

    flex:0 0 auto !important;

    align-items:center !important;
    justify-content:center !important;

    gap:8px !important;

    margin:0 !important;
    padding:10px 18px !important;

    white-space:nowrap !important;

    line-height:1 !important;
}


/* Keep label + chevron on ONE LINE */
body.page-id-3341
.tinv-wishlist a.button.tinv-next span,

body.page-id-3341
.tinv-wishlist a.button.tinv-prev span {
    display:inline-block !important;

    width:auto !important;
    margin:0 !important;
    padding:0 !important;

    line-height:1 !important;
    white-space:nowrap !important;
}


body.page-id-3341
.tinv-wishlist a.button.tinv-next i,

body.page-id-3341
.tinv-wishlist a.button.tinv-prev i {
    display:inline-flex !important;

    width:auto !important;
    height:auto !important;

    flex:0 0 auto !important;

    align-items:center !important;
    justify-content:center !important;

    margin:0 !important;
    padding:0 !important;

    line-height:1 !important;

    position:static !important;
    float:none !important;
    transform:none !important;
}


/* Mobile */
@media (width < 1024px) {

    body.page-id-3341
    .tinv-wishlist table.tinvwl-table-manage-list tfoot tr {
        gap:12px !important;
        margin-top:24px !important;
    }

    body.page-id-3341
    .tinv-wishlist a.button.tinv-next,

    body.page-id-3341
    .tinv-wishlist a.button.tinv-prev {
        min-width:110px !important;
    }

}



/* =========================================================
   HH WISHLIST — EXACT TI PAGINATION NAV FIX
   Actual wrapper confirmed in DevTools:
   .tinv-lists-nav.tinv-wishlist-clear
   HH_WISHLIST_TINV_NAV_FIX_20260922
   ========================================================= */

body.page-id-3341 .tinv-wishlist .tinv-lists-nav.tinv-wishlist-clear {
    display:flex !important;
    width:100% !important;

    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;

    margin:30px 0 0 !important;
    padding:0 !important;

    float:none !important;
    clear:both !important;
}


/* TI gives the navigation children column widths.
   Collapse those columns so page count + Next sit together. */
body.page-id-3341 .tinv-wishlist .tinv-lists-nav.tinv-wishlist-clear > * {
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;

    flex:0 0 auto !important;

    margin:0 !important;
    padding:0 !important;

    float:none !important;

    position:static !important;

    text-align:center !important;
}


/* Exact Next / Previous buttons */
body.page-id-3341 .tinv-wishlist .tinv-lists-nav a.button.tinv-next,
body.page-id-3341 .tinv-wishlist .tinv-lists-nav a.button.tinv-prev {
    display:inline-flex !important;

    width:auto !important;
    min-width:120px !important;
    max-width:none !important;
    min-height:42px !important;

    flex:0 0 auto !important;

    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;

    margin:0 !important;
    padding:10px 18px !important;

    white-space:nowrap !important;
}


/* Keep text + chevron together */
body.page-id-3341 .tinv-wishlist .tinv-lists-nav a.button.tinv-next span,
body.page-id-3341 .tinv-wishlist .tinv-lists-nav a.button.tinv-prev span,
body.page-id-3341 .tinv-wishlist .tinv-lists-nav a.button.tinv-next i,
body.page-id-3341 .tinv-wishlist .tinv-lists-nav a.button.tinv-prev i {
    display:inline-flex !important;

    width:auto !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    float:none !important;
    position:static !important;

    align-items:center !important;
    justify-content:center !important;

    line-height:1 !important;
    white-space:nowrap !important;
}


/* TI icon pseudo-element must stay inline */
body.page-id-3341 .tinv-wishlist .tinv-lists-nav a.button.tinv-next i::before,
body.page-id-3341 .tinv-wishlist .tinv-lists-nav a.button.tinv-prev i::before {
    display:block !important;
    margin:0 !important;
    line-height:1 !important;
}


@media (width < 1024px) {

    body.page-id-3341 .tinv-wishlist .tinv-lists-nav.tinv-wishlist-clear {
        gap:12px !important;
        margin-top:24px !important;
    }

}



/* =========================================================
   HH WISHLIST — NUMBERED SHOP-STYLE PAGINATION
   HH_WISHLIST_NUMBERED_PAGINATION_20260922
   ========================================================= */

body.page-id-3341
.tinv-wishlist
.tinv-lists-nav.tinv-wishlist-clear {
    display:flex !important;
    width:100% !important;

    justify-content:center !important;
    align-items:center !important;

    margin:32px 0 0 !important;
    padding:0 !important;
}


/*
 * Match HH Shop pagination.
 */
body.page-id-3341
.hh-wishlist-pagination {
    width:auto !important;
    margin:0 !important;
}


body.page-id-3341
.hh-wishlist-pagination ul.page-numbers {
    display:flex !important;

    width:auto !important;

    align-items:center !important;
    justify-content:center !important;

    gap:8px !important;

    margin:0 !important;
    padding:0 !important;

    border:0 !important;

    list-style:none !important;
}


body.page-id-3341
.hh-wishlist-pagination ul.page-numbers li {
    display:block !important;

    width:auto !important;
    margin:0 !important;
    padding:0 !important;

    border:0 !important;
}


body.page-id-3341
.hh-wishlist-pagination .page-numbers a,

body.page-id-3341
.hh-wishlist-pagination .page-numbers span {
    display:grid !important;

    width:42px !important;
    min-width:42px !important;
    height:42px !important;

    padding:0 !important;

    place-items:center !important;

    border:1px solid var(--shan-line) !important;
    border-radius:0 !important;

    background:transparent !important;
    color:var(--shan-ink) !important;

    font-size:14px !important;
    font-weight:600 !important;
    line-height:1 !important;

    text-decoration:none !important;

    box-shadow:none !important;
}


body.page-id-3341
.hh-wishlist-pagination .page-numbers .current,

body.page-id-3341
.hh-wishlist-pagination .page-numbers a:hover {
    border-color:var(--shan-burgundy) !important;
    background:var(--shan-burgundy) !important;
    color:#fff !important;
}


/* Arrow glyphs */
body.page-id-3341
.hh-wishlist-pagination a.prev span,

body.page-id-3341
.hh-wishlist-pagination a.next span {
    width:auto !important;
    min-width:0 !important;
    height:auto !important;

    border:0 !important;
    background:transparent !important;
    color:inherit !important;

    font-size:22px !important;
    font-weight:400 !important;
}


/* Keep mobile on one row just like Shop pagination */
@media (width < 1024px) {

    body.page-id-3341
    .hh-wishlist-pagination ul.page-numbers {
        flex-wrap:nowrap !important;
        gap:6px !important;
    }

}


/* HH_CATEGORY_CHECKBOX_HIDE_20260921
   Categories remain visible; only checkbox controls are hidden. */
.shan-filter-section--categories .shan-filter-check__box {
    display: none !important;
}

.shan-filter-section--categories input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* =========================================================
   HH DESKTOP FILTER — COMPACT NAV POLISH 20260922
   Desktop only. Mobile filter remains untouched.
   ========================================================= */

@media (min-width:1024px) {

    /* Section rhythm */
    .shan-filter-section {
        padding-bottom: 20px !important;
    }

    .shan-filter-section + .shan-filter-section {
        padding-top: 20px !important;
        border-top: 1px solid rgba(113,104,97,.20) !important;
    }

    /* Compact section titles */
    .shan-filter-section h3 {
        margin: 0 0 14px !important;
        font-size: 20px !important;
        line-height: 1.15 !important;
        font-weight: 700 !important;
        letter-spacing: -.01em !important;
    }

    /* Category + Shop navigation */
    .shan-filter-section--categories .shan-filter-options {
        gap: 0 !important;
    }

    .shan-filter-section--categories .shan-filter-check {
        position: relative !important;
        min-height: 36px !important;
        padding: 4px 0 4px 28px !important;
        gap: 0 !important;
        color: var(--shan-ink) !important;
        text-decoration: none !important;
    }

    .shan-filter-section--categories .shan-filter-check__label {
        font-size: 14px !important;
        line-height: 1.3 !important;
        font-weight: 400 !important;
    }

    /* Shared flat icon */
    .shan-filter-section--categories .shan-filter-check::before {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        top: 50% !important;
        width: 17px !important;
        height: 17px !important;
        transform: translateY(-50%) !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        background-size: contain !important;
        opacity: .72 !important;
        transition: opacity .15s ease, transform .15s ease !important;
    }

    .shan-filter-section--categories .shan-filter-check:hover::before {
        opacity: 1 !important;
        transform: translateY(-50%) scale(1.05) !important;
    }

    /*
     * Category icon:
     * simple bag outline shared by category navigation.
     */
    .shan-filter-section--categories:not(.shan-filter-section--shop)
    .shan-filter-check::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23716861' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l1 12H4L5 8Z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") !important;
    }

    /* Shop By icons */
    .shan-filter-section--shop .shan-filter-check::before {
        opacity: 1 !important;
    }

    /* New Arrivals — sparkle */
    .shan-filter-section--shop .shan-filter-check:nth-child(1)::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23721e2b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 1.7 5.3L19 10l-5.3 1.7L12 17l-1.7-5.3L5 10l5.3-1.7L12 3Z'/%3E%3Cpath d='m19 16 .7 2.3L22 19l-2.3.7L19 22l-.7-2.3L16 19l2.3-.7L19 16Z'/%3E%3C/svg%3E") !important;
    }

    /* Featured — heart */
    .shan-filter-section--shop .shan-filter-check:nth-child(2)::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23721e2b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E") !important;
    }

    /* Sale — tag */
    .shan-filter-section--shop .shan-filter-check:nth-child(3)::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23721e2b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.6 13.7 20.5a2 2 0 0 1-2.8 0L3.5 13.1V4h9.1l8 8a2 2 0 0 1 0 1.6Z'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.2'/%3E%3C/svg%3E") !important;
    }

    /* Category "View more" */
    .shan-category-more {
        margin: 8px 0 0 28px !important;
        padding: 0 !important;
        font-size: 12.5px !important;
        line-height: 1.3 !important;
        font-weight: 600 !important;
    }

    /* Price section */
    .shan-filter-section--price {
        padding-top: 20px !important;
    }

    .shan-price-fields {
        grid-template-columns: minmax(0,1fr) 16px minmax(0,1fr) !important;
        column-gap: 7px !important;
        margin-bottom: 14px !important;
    }

    .shan-price-fields > label > span {
        margin-bottom: 5px !important;
        font-size: 12px !important;
        font-weight: 500 !important;
    }

    .shan-price-input {
        height: 42px !important;
        padding: 0 10px !important;
        border-radius: 6px !important;
    }

    .shan-filter-panel .shan-price-input input {
        height: 40px !important;
        font-size: 14px !important;
        font-weight: 500 !important;
    }

    .shan-price-input > span {
        margin-right: 3px !important;
        font-size: 14px !important;
        font-weight: 500 !important;
    }

    .shan-price-separator {
        height: 42px !important;
        font-size: 14px !important;
    }

    /* Slimmer range */
    .shan-price-range {
        width: calc(100% - 8px) !important;
        height: 24px !important;
        margin: 3px 4px 3px !important;
    }

    .shan-price-range__track {
        height: 3px !important;
    }

    .shan-price-range input[type="range"] {
        height: 24px !important;
    }

    .shan-price-range input[type="range"]::-webkit-slider-thumb {
        width: 18px !important;
        height: 18px !important;
    }

    .shan-price-range input[type="range"]::-moz-range-thumb {
        width: 18px !important;
        height: 18px !important;
    }

    /* Compact desktop action area */
    .shan-filter-actions {
        padding: 0 24px 24px !important;
    }

    .shan-filter-panel .shan-apply-filters {
        height: 46px !important;
        border-radius: 6px !important;
        gap: 8px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
    }

    .shan-apply-filters__arrow {
        font-size: 17px !important;
    }
}

/* END HH DESKTOP FILTER — COMPACT NAV POLISH 20260922 */


/* =========================================================
   HH FILTER — SHARED NAVIGATION LANGUAGE 20260922
   Shared desktop + mobile visual language.
   Responsive blocks remain responsible for layout/sizing.
   ========================================================= */

/* Category + Shop navigation links */
.shan-filter-section--categories .shan-filter-check {
    position: relative !important;
    color: var(--shan-ink) !important;
    text-decoration: none !important;
}

/* Reserve icon lane */
.shan-filter-section--categories .shan-filter-check {
    padding-left: 28px !important;
}

/* Shared flat icon foundation */
.shan-filter-section--categories .shan-filter-check::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    width: 17px !important;
    height: 17px !important;
    transform: translateY(-50%) !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    opacity: .72 !important;
    transition: opacity .15s ease, transform .15s ease !important;
}

.shan-filter-section--categories .shan-filter-check:hover::before {
    opacity: 1 !important;
    transform: translateY(-50%) scale(1.05) !important;
}

/* Product categories — simple bag outline */
.shan-filter-section--categories:not(.shan-filter-section--shop)
.shan-filter-check::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23716861' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l1 12H4L5 8Z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") !important;
}

/* Shop navigation icons use HH burgundy */
.shan-filter-section--shop .shan-filter-check::before {
    opacity: 1 !important;
}

/* New Arrivals — sparkle */
.shan-filter-section--shop .shan-filter-check:nth-child(1)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23721e2b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 1.7 5.3L19 10l-5.3 1.7L12 17l-1.7-5.3L5 10l5.3-1.7L12 3Z'/%3E%3Cpath d='m19 16 .7 2.3L22 19l-2.3.7L19 22l-.7-2.3L16 19l2.3-.7L19 16Z'/%3E%3C/svg%3E") !important;
}

/* Featured — heart */
.shan-filter-section--shop .shan-filter-check:nth-child(2)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23721e2b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E") !important;
}

/* Sale — tag */
.shan-filter-section--shop .shan-filter-check:nth-child(3)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23721e2b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.6 13.7 20.5a2 2 0 0 1-2.8 0L3.5 13.1V4h9.1l8 8a2 2 0 0 1 0 1.6Z'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.2'/%3E%3C/svg%3E") !important;
}

/* Keep link typography consistent */
.shan-filter-section--categories .shan-filter-check__label {
    letter-spacing: 0 !important;
}

/* END HH FILTER — SHARED NAVIGATION LANGUAGE 20260922 */


/* =========================================================
   HH FILTER — SHARED COMPACT SIZING 20260922
   Common visual sizing for desktop + mobile.
   Drawer/layout behavior remains responsive.
   ========================================================= */

/* Section spacing */
.shan-filter-section {
    padding-bottom: 20px !important;
}

.shan-filter-section + .shan-filter-section {
    padding-top: 20px !important;
    border-top: 1px solid rgba(113,104,97,.20) !important;
}

/* Section headings */
.shan-filter-section h3 {
    margin: 0 0 14px !important;
    font-size: 20px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: -.01em !important;
}

/* Category + Shop rows */
.shan-filter-section--categories .shan-filter-check {
    min-height: 36px !important;
    padding-top: 4px !important;
    padding-right: 0 !important;
    padding-bottom: 4px !important;
    padding-left: 28px !important;
}

.shan-filter-section--categories .shan-filter-check__label {
    font-size: 14px !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;
}

/* View more */
.shan-category-more {
    margin-top: 8px !important;
    margin-left: 28px !important;
    font-size: 12.5px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
}

/* Price section */
.shan-filter-section--price {
    padding-top: 20px !important;
}

.shan-price-fields {
    grid-template-columns: minmax(0,1fr) 16px minmax(0,1fr) !important;
    column-gap: 7px !important;
    margin-bottom: 14px !important;
}

.shan-price-fields > label > span {
    margin-bottom: 5px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

.shan-price-input {
    height: 42px !important;
    padding: 0 10px !important;
    border-radius: 6px !important;
}

.shan-filter-panel .shan-price-input input {
    height: 40px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.shan-price-input > span {
    margin-right: 3px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.shan-price-separator {
    height: 42px !important;
    font-size: 14px !important;
}

/* Price slider */
.shan-price-range {
    width: calc(100% - 8px) !important;
    height: 24px !important;
    margin: 3px 4px !important;
}

.shan-price-range__track {
    height: 3px !important;
}

.shan-price-range input[type="range"] {
    height: 24px !important;
}

.shan-price-range input[type="range"]::-webkit-slider-thumb {
    width: 18px !important;
    height: 18px !important;
}

.shan-price-range input[type="range"]::-moz-range-thumb {
    width: 18px !important;
    height: 18px !important;
}

/* END HH FILTER — SHARED COMPACT SIZING 20260922 */


/* HH CART — SHIPPING METHOD LABEL 20260922 */
.shan-purchase--cart .woocommerce-shipping-methods label {
    font-size: 15px;
    line-height: 1.45;
}


/* HH CART BLOCK — SHIPPING TYPOGRAPHY */
.shan-purchase--cart .wc-block-components-totals-shipping {
    font-size: 13px;
}

/* HH CART BLOCK — SHIPPING METHOD DETAIL */
.shan-purchase--cart .wc-block-components-totals-shipping__via {
    font-size: 11px;
}

/* HH CART — APPLIED COUPON CHIP TEXT */
.shan-purchase--cart .wc-block-components-chip__text {
    font-size: 12px;
}

/* HH DESKTOP UTILITY BAR — BASE FONT SIZE */
@media (min-width:1024px) {
    .shan-utility-bar__inner {
        font-size: 15px;
    }
}

/* HH DESKTOP UTILITY BAR — AUTHORITATIVE TYPOGRAPHY */
@media (min-width:1024px) {
    .shan-utility-bar__inner {
        font-size:13px !important;
    }

    .shan-utility-bar__inner > .shan-utility-item,
    .shan-utility-bar__inner > .shan-utility-announcement {
        font-size:inherit !important;
    }
}

/* HH DESKTOP UTILITY — SHIPPING ICON 22x22 */
@media (min-width:1024px) {
    .shan-utility-bar__inner > .shan-utility-item:first-child > svg {
        width:22px !important;
        height:22px !important;
        flex:0 0 22px !important;
    }
}

/* HH DESKTOP UTILITY — SHIPPING TRUCK OUTLINE */
@media (min-width:1024px) {
    .shan-utility-bar__inner > .shan-utility-item:first-child > svg {
        width:22px !important;
        height:22px !important;
        flex:0 0 22px !important;
        fill:none !important;
        stroke:currentColor !important;
        stroke-width:1.7 !important;
        stroke-linecap:round !important;
        stroke-linejoin:round !important;
    }

    .shan-utility-bar__inner > .shan-utility-item:first-child > svg path,
    .shan-utility-bar__inner > .shan-utility-item:first-child > svg circle {
        fill:none !important;
        stroke:currentColor !important;
    }
}

/* HH CART — LOCAL PICKUP HINT 20260923 */
.shan-purchase--cart .hh-cart-pickup-hint {
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.4;
    color: var(--shan-muted, #716861);
}


/* =========================================================
   HH MEGA MENU - SAFE FULL WIDTH DESKTOP FOUNDATION
   Desktop only. Existing PHP and mobile DOM untouched.
   ========================================================= */
@media (min-width:1024px){

  /*
   * Anchor the dropdown to the entire navigation row rather
   * than to the narrow Shop <li>.
   */
  .shan-nav--header{
    position:relative !important;
  }

  .shan-nav--header .shan-nav__item--mega{
    position:static !important;
  }

  .shan-nav--header .shan-mega-menu{
    position:absolute !important;

    top:100% !important;
    left:50% !important;
    right:auto !important;

    width:100vw !important;
    max-width:none !important;

    margin:0 !important;
    padding:0 !important;

    transform:translateX(-50%) !important;

    border-left:0 !important;
    border-right:0 !important;
    border-top:1px solid rgba(114,30,43,.10) !important;
    border-bottom:1px solid rgba(114,30,43,.16) !important;

    background:#fffaf1 !important;

    box-shadow:0 18px 34px rgba(36,32,29,.10) !important;
  }

  /*
   * Keep CURRENT working two-column content for this safe
   * intermediate step, but center it inside the full-width shell.
   */
  .shan-nav--header .shan-mega-menu__panel{
    display:grid !important;

    grid-template-columns:
      minmax(0,42%)
      minmax(0,58%) !important;

    width:calc(100% - 64px) !important;
    max-width:1440px !important;

    min-height:0 !important;

    margin:0 auto !important;
  }

}


/* END HH MEGA MENU - SAFE FULL WIDTH DESKTOP FOUNDATION */


/* HH MEGA MENU - VIEWPORT ALIGNMENT FIX */
@media (min-width:1024px){

  .shan-nav--header .shan-mega-menu{
    left:0 !important;
    right:auto !important;

    width:100vw !important;
    max-width:none !important;

    transform:none !important;

    /*
     * Offset from the menu's document position back to the viewport edge.
     * Shop/nav lives inside the centered 1440px header shell.
     */
    margin-left:calc((100vw - min(calc(100vw - 64px),1440px)) / -2) !important;
  }

}

/* END HH MEGA MENU - VIEWPORT ALIGNMENT FIX */


/* ==========================================================
   HH APPROVED DESKTOP MEGA MENU
   Categories | Featured | Lifestyle | New Arrivals
   Mobile remains on existing markup.
   ========================================================== */

.hh-mega-desktop{
    display:none;
}

@media (min-width:1024px){

    /*
     * Existing feature remains available to mobile,
     * but the approved desktop design replaces it.
     */
    .shan-nav--header .shan-mega-menu__feature{
        display:none !important;
    }

    .shan-nav--header .shan-mega-menu__panel{
        display:grid !important;

        grid-template-columns:
            minmax(300px,1.25fr)
            minmax(300px,1fr)
            minmax(210px,.72fr)
            minmax(300px,1fr) !important;

        width:calc(100% - 80px) !important;
        max-width:1440px !important;

        margin:0 auto !important;

        align-items:stretch !important;
        background:#fffaf1 !important;
    }

    .shan-nav--header .shan-mega-menu__section{
        padding:22px 24px 24px !important;
    }

    .hh-mega-desktop{
        display:block !important;
        min-width:0;
    }


    /* ---------- PRODUCT COLUMNS ---------- */

    .hh-mega-products{
        padding:22px 22px 24px;
        border-left:1px solid rgba(114,30,43,.12);
    }

    .hh-mega-heading{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;

        margin:0 0 15px;
    }

    .hh-mega-title{
        margin:0 !important;

        color:var(--shan-ink);
        font-size:11px;
        font-weight:800;
        line-height:1.2;
        letter-spacing:.14em;
        text-transform:uppercase;
    }

    .shan-nav__list .hh-mega-heading > a{
        display:inline-flex !important;
        align-items:center;
        gap:6px;

        padding:0 !important;

        color:var(--shan-burgundy);
        font-size:9px !important;
        font-weight:800 !important;
        line-height:1.2 !important;
        letter-spacing:.10em !important;
        text-transform:uppercase !important;
        white-space:nowrap;
    }

    .hh-mega-product-grid{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:17px 13px;
    }

    .shan-nav__list .hh-mega-product{
        display:block !important;
        min-width:0;

        padding:0 !important;

        color:var(--shan-ink) !important;
        letter-spacing:0 !important;
        text-transform:none !important;
    }

    .hh-mega-product__image{
        display:block;
        width:100%;
        overflow:hidden;

        margin-bottom:7px;

        border-radius:3px;
        background:#f2e7d5;

        aspect-ratio:1 / 1;
    }

    .hh-mega-product__image img{
        display:block;
        width:100% !important;
        height:100% !important;

        margin:0 !important;

        object-fit:cover;
        transition:transform 180ms ease;
    }

    .hh-mega-product:hover .hh-mega-product__image img{
        transform:scale(1.025);
    }

    .hh-mega-product__name{
        display:block;

        overflow:hidden;

        color:var(--shan-ink);
        font-family:var(--shan-serif);
        font-size:13px;
        font-weight:600;
        line-height:1.25;

        white-space:nowrap;
        text-overflow:ellipsis;
    }

    .hh-mega-product__price{
        display:block;

        margin-top:3px;

        color:var(--shan-burgundy);
        font-family:var(--shan-sans);
        font-size:11px;
        font-weight:700;
        line-height:1.25;
    }

    .hh-mega-product__price del{
        opacity:.55;
        margin-right:4px;
    }

    .hh-mega-product__price ins{
        text-decoration:none;
    }


    /* ---------- LIFESTYLE COLUMN ---------- */

    .hh-mega-lifestyle{
        overflow:hidden;

        min-height:100%;

        border-left:1px solid rgba(114,30,43,.12);
        background:#f2e7d5;
    }

    .hh-mega-lifestyle__image{
        display:block;

        width:100% !important;
        height:100% !important;
        min-height:100%;

        object-fit:cover;
    }


    /* ---------- CATEGORY COLUMN ---------- */

    .shan-nav--header .shan-mega-menu__section{
        border-left:0 !important;
    }

}


/* END HH APPROVED DESKTOP MEGA MENU */

/* HH MEGA MENU - REMOVE DESKTOP LIFESTYLE COLUMN */
@media (min-width:1024px){

    .shan-nav--header .hh-mega-lifestyle{
        display:none !important;
    }

    .shan-nav--header .shan-mega-menu__panel{
        grid-template-columns:
            minmax(320px,1.15fr)
            minmax(360px,1fr)
            minmax(360px,1fr) !important;
    }

}

/* END HH MEGA MENU - REMOVE DESKTOP LIFESTYLE COLUMN */

/* HH MEGA MENU - CLEAN COLUMN DIVIDERS */
@media (min-width:1024px){

    .shan-nav--header .shan-mega-menu__panel > *{
        border-left:0 !important;
        border-right:0 !important;
    }

    .shan-nav--header .hh-mega-products{
        border-left:1px solid rgba(114,30,43,.12) !important;
    }

}

/* END HH MEGA MENU - CLEAN COLUMN DIVIDERS */

/* HH MEGA MENU - REMOVE LEGACY CENTER DIVIDER */
@media (min-width:1024px){
    .shan-nav--header .shan-mega-menu__panel::after{
        display:none !important;
        content:none !important;
    }
}

/* END HH MEGA MENU - REMOVE LEGACY CENTER DIVIDER */


/* HH DESKTOP MEGA MENU - PROTECT SHARED PRODUCT CARDS FROM NAV LINK STYLES */
@media (min-width:1024px){

    .shan-nav--header .hh-mega-product-grid .shan-product-card a{
        padding:0 !important;
        letter-spacing:0 !important;
        text-transform:none !important;
    }

}
/* END HH DESKTOP MEGA MENU - PROTECT SHARED PRODUCT CARDS FROM NAV LINK STYLES */

/* ==========================================================
   HH APPROVED CART MOCKUP 20260923
   Exact desktop cart-section implementation
   Desktop >= 821px only
   ========================================================== */

@media (min-width:1024px){

/* ----------------------------------------------------------
   MAIN TWO-COLUMN CART
   ---------------------------------------------------------- */

.shan-purchase--cart .wc-block-cart{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 410px !important;
    align-items:start !important;
    gap:24px !important;
    width:100% !important;
    margin:0 !important;
}

.shan-purchase--cart .wc-block-cart__main{
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}


/* ==========================================================
   LEFT CART PANEL
   ========================================================== */

.shan-purchase--cart .wc-block-cart-items{
    width:100% !important;
    margin:0 !important;

    border:1px solid rgba(36,32,29,.14) !important;
    border-radius:5px !important;

    border-collapse:separate !important;
    border-spacing:0 !important;

    background:#fffdf8 !important;

    overflow:hidden !important;
}


/* ----------------------------------------------------------
   TABLE HEADER
   ---------------------------------------------------------- */

.shan-purchase--cart .wc-block-cart-items thead{
    display:block !important;
}

.shan-purchase--cart .wc-block-cart-items thead tr{
    display:grid !important;

    grid-template-columns:
        minmax(320px,1fr)
        110px
        145px
        105px !important;

    align-items:center !important;

    min-height:64px !important;

    padding:0 20px !important;

    border-bottom:1px solid rgba(36,32,29,.12) !important;

    box-sizing:border-box !important;
}

.shan-purchase--cart .wc-block-cart-items thead th{
    display:none !important;
}

.shan-purchase--cart .wc-block-cart-items thead tr::before{
    content:"PRODUCT";

    grid-column:1;

    color:#716861;

    font-size:10px;
    font-weight:800;

    letter-spacing:.10em;
}

.shan-purchase--cart .wc-block-cart-items thead tr::after{
    content:"PRICE       QUANTITY       TOTAL";

    grid-column:2 / 5;

    color:#716861;

    font-size:10px;
    font-weight:800;

    letter-spacing:.08em;

    white-space:pre;

    text-align:right;
}


/* ==========================================================
   CART ROW
   ========================================================== */

.shan-purchase--cart .wc-block-cart-items__row{
    position:relative !important;

    display:grid !important;

    grid-template-columns:
        145px
        minmax(175px,1fr)
        110px
        145px
        105px !important;

    align-items:start !important;

    min-height:255px !important;

    padding:28px 20px !important;

    box-sizing:border-box !important;

    border-bottom:1px solid rgba(36,32,29,.12) !important;
}

.shan-purchase--cart .wc-block-cart-items__row:last-child{
    border-bottom:0 !important;
}

.shan-purchase--cart .wc-block-cart-items__row td{
    display:block !important;

    width:auto !important;

    padding:0 !important;

    border:0 !important;
}


/* ----------------------------------------------------------
   PRODUCT IMAGE
   ---------------------------------------------------------- */

.shan-purchase--cart .wc-block-cart-item__image{
    grid-column:1 !important;

    width:125px !important;
}

.shan-purchase--cart .wc-block-cart-item__image a{
    display:block !important;
}

.shan-purchase--cart .wc-block-cart-item__image img{
    display:block !important;

    width:125px !important;
    height:125px !important;
    max-width:125px !important;

    margin:0 !important;

    border:1px solid rgba(36,32,29,.08) !important;
    border-radius:7px !important;

    background:#f3f0ea !important;

    object-fit:cover !important;
}


/* ----------------------------------------------------------
   PRODUCT INFORMATION
   ---------------------------------------------------------- */

.shan-purchase--cart .wc-block-cart-item__product{
    grid-column:2 !important;

    min-width:0 !important;

    padding:2px 18px 0 0 !important;
}

.shan-purchase--cart .wc-block-cart-item__wrap{
    display:block !important;
    position:static !important;
}

.shan-purchase--cart .wc-block-components-product-name{
    display:block !important;

    margin:0 0 8px !important;

    color:var(--shan-ink) !important;

    font-family:var(--shan-serif) !important;
    font-size:18px !important;
    font-weight:500 !important;

    line-height:1.12 !important;

    text-decoration:none !important;
}


/* ----------------------------------------------------------
   PRICE UNDER PRODUCT NAME
   ---------------------------------------------------------- */

.shan-purchase--cart .wc-block-cart-item__prices{
    position:static !important;

    width:auto !important;

    margin:0 0 10px !important;

    transform:none !important;

    text-align:left !important;
}

.shan-purchase--cart
.wc-block-cart-item__prices
.wc-block-components-product-price{
    display:flex !important;

    align-items:center !important;

    gap:7px !important;

    margin:0 !important;
}

.shan-purchase--cart
.wc-block-cart-item__prices
.wc-block-components-product-price__regular{
    color:#8d8680 !important;

    font-size:13px !important;
    font-weight:400 !important;
}

.shan-purchase--cart
.wc-block-cart-item__prices
.wc-block-components-product-price__value{
    color:var(--shan-burgundy) !important;

    font-size:15px !important;
    font-weight:700 !important;
}


/* ----------------------------------------------------------
   PRODUCT SAVINGS PILL
   inserted by JS
   ---------------------------------------------------------- */

.shan-purchase--cart .hh-cart-product-saving{
    display:inline-flex;

    align-items:center;

    min-height:24px;

    margin:0 0 11px;

    padding:3px 11px;

    border-radius:999px;

    background:rgba(114,30,43,.10);

    color:var(--shan-burgundy);

    font-size:10px;
    font-weight:600;

    line-height:1;
}


/* ----------------------------------------------------------
   DESCRIPTION
   ---------------------------------------------------------- */

.shan-purchase--cart .wc-block-components-product-metadata{
    display:block !important;

    max-width:250px !important;

    margin:0 !important;

    color:#716861 !important;

    font-size:11px !important;

    line-height:1.38 !important;
}

.shan-purchase--cart
.wc-block-components-product-metadata__description{
    display:block !important;

    max-height:57px !important;

    overflow:hidden !important;
}

.shan-purchase--cart
.wc-block-components-product-metadata__description p{
    margin:0 !important;
}


/* ----------------------------------------------------------
   VIEW MORE DETAILS
   ---------------------------------------------------------- */

.shan-purchase--cart .hh-cart-details-toggle{
    display:inline-flex;

    align-items:center;

    gap:8px;

    margin-top:7px;

    padding:0;

    border:0;

    background:transparent;

    color:#4f4a46;

    font-size:11px;
    font-weight:600;

    line-height:1.2;

    text-decoration:underline;

    cursor:pointer;
}

.shan-purchase--cart .hh-cart-details-toggle::after{
    content:"⌄";

    display:inline-block;

    color:#716861;

    font-size:14px;

    text-decoration:none;
}

.shan-purchase--cart
.wc-block-components-product-metadata.hh-cart-details-open
.wc-block-components-product-metadata__description{
    max-height:none !important;
}


/* ----------------------------------------------------------
   REMOVE
   ---------------------------------------------------------- */

.shan-purchase--cart .wc-block-cart-item__quantity
.wc-block-cart-item__remove-link{
    position:absolute !important;

    left:165px !important;
    bottom:27px !important;

    display:inline-flex !important;

    align-items:center !important;

    width:auto !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    border:0 !important;

    background:transparent !important;

    color:#716861 !important;

    font-size:11px !important;
    font-weight:500 !important;

    line-height:1.2 !important;

    text-decoration:underline !important;
}

.shan-purchase--cart .wc-block-cart-item__remove-link::before{
    content:none !important;
    display:none !important;
}

.shan-purchase--cart .wc-block-cart-item__remove-link::after{
    content:"Remove";
}

.shan-purchase--cart .wc-block-cart-item__remove-link svg{
    display:block !important;

    width:17px !important;
    height:17px !important;

    margin-right:7px !important;

    fill:currentColor !important;
}


/* ==========================================================
   UNIT PRICE COLUMN
   JS creates visual value from Woo's real unit price.
   ========================================================== */

.shan-purchase--cart .hh-cart-unit-price{
    grid-column:3;

    align-self:start;

    padding-top:41px;

    color:var(--shan-ink);

    font-size:14px;
    font-weight:600;

    text-align:center;

    white-space:nowrap;
}


/* ==========================================================
   QUANTITY
   ========================================================== */

.shan-purchase--cart .wc-block-cart-item__quantity{
    position:static !important;

    grid-column:4 !important;

    width:auto !important;

    margin:0 !important;

    transform:none !important;

    padding-top:27px !important;

    text-align:center !important;
}

.shan-purchase--cart
.wc-block-components-quantity-selector{
    position:static !important;

    display:inline-flex !important;

    width:116px !important;
    height:48px !important;

    margin:0 auto !important;

    transform:none !important;

    border:1px solid rgba(36,32,29,.15) !important;

    border-radius:5px !important;

    background:#fff !important;
}

.shan-purchase--cart
.wc-block-components-quantity-selector button{
    width:38px !important;
    min-width:38px !important;

    height:46px !important;
    min-height:46px !important;

    padding:0 !important;

    border:0 !important;

    background:transparent !important;

    color:#716861 !important;

    font-size:14px !important;
}

.shan-purchase--cart
.wc-block-components-quantity-selector__input{
    min-width:40px !important;

    padding:0 !important;

    font-size:13px !important;
    font-weight:600 !important;
}


/* ==========================================================
   LINE TOTAL
   ========================================================== */

.shan-purchase--cart .wc-block-cart-item__total{
    grid-column:5 !important;

    align-self:start !important;

    min-width:0 !important;

    padding-top:38px !important;

    text-align:right !important;
}

.shan-purchase--cart
.wc-block-cart-item__total-price-and-sale-badge-wrapper{
    display:flex !important;

    flex-direction:column !important;

    align-items:flex-end !important;

    gap:8px !important;
}

.shan-purchase--cart
.wc-block-cart-item__total
.wc-block-components-product-price{
    margin:0 !important;

    color:var(--shan-ink) !important;

    font-size:15px !important;
    font-weight:600 !important;
}

.shan-purchase--cart
.wc-block-cart-item__total
.wc-block-components-sale-badge{
    display:inline-flex !important;

    min-height:23px !important;

    margin:0 !important;

    padding:4px 8px !important;

    border:0 !important;
    border-radius:3px !important;

    background:rgba(114,30,43,.10) !important;

    color:var(--shan-burgundy) !important;

    font-size:10px !important;
    font-weight:600 !important;

    white-space:nowrap !important;
}


/* ==========================================================
   ACTION ROW BELOW LEFT PANEL
   ========================================================== */

.shan-purchase--cart .hh-cart-actions{
    display:flex;

    align-items:center;
    justify-content:space-between;

    margin-top:20px;
}

.shan-purchase--cart .hh-cart-action-button{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    min-width:205px;
    min-height:48px;

    padding:0 22px;

    border:1px solid rgba(36,32,29,.20);
    border-radius:5px;

    background:#fffdf8;

    color:var(--shan-ink);

    font-size:11px;
    font-weight:700;

    letter-spacing:.01em;

    text-decoration:none;

    cursor:pointer;
}

.shan-purchase--cart .hh-cart-action-button:hover{
    border-color:var(--shan-burgundy);
    color:var(--shan-burgundy);
}


/* ==========================================================
   CART TOTALS
   ========================================================== */

.shan-purchase--cart .wc-block-cart__sidebar{
    position:sticky !important;

    top:24px !important;

    width:auto !important;
    max-width:none !important;

    margin:0 !important;

    padding:28px !important;

    border:1px solid rgba(36,32,29,.14) !important;
    border-radius:5px !important;

    background:#fffdf8 !important;

    box-shadow:none !important;
}

.shan-purchase--cart .wc-block-cart__totals-title{
    margin:0 0 20px !important;

    padding:0 !important;

    color:var(--shan-ink) !important;

    font-family:var(--shan-serif) !important;
    font-size:31px !important;
    font-weight:500 !important;

    letter-spacing:0 !important;

    line-height:1.1 !important;

    text-align:left !important;

    text-transform:none !important;
}


/* ==========================================================
   COUPON - MOCKUP INLINE INPUT + APPLY
   ========================================================== */

.shan-purchase--cart
.wc-block-components-totals-coupon{
    margin:0 0 16px !important;
    padding:0 0 16px !important;

    border-bottom:1px solid rgba(36,32,29,.12) !important;
}

/* Native Woo coupon visibility is owned by the native coupon UI rules. */

.shan-purchase--cart .hh-cart-coupon{
    display:grid;

    grid-template-columns:minmax(0,1fr) 86px;

    gap:8px;

    margin-bottom:17px;
}

.shan-purchase--cart .hh-cart-coupon input{
    width:100%;
    height:44px;

    padding:0 13px;

    box-sizing:border-box;

    border:1px solid rgba(36,32,29,.17);
    border-radius:5px;

    background:#fff;

    color:var(--shan-ink);

    font:inherit;
    font-size:12px;
}

.shan-purchase--cart .hh-cart-coupon button{
    border:0;
    border-radius:5px;

    background:var(--shan-burgundy);

    color:#fff;

    font-size:11px;
    font-weight:700;

    cursor:pointer;
}


/* ----------------------------------------------------------
   TOTAL ROWS
   ---------------------------------------------------------- */

.shan-purchase--cart
.wc-block-components-totals-wrapper{
    padding:15px 0 !important;

    border-color:rgba(36,32,29,.12) !important;
}

.shan-purchase--cart
.wc-block-components-totals-item{
    font-size:12px !important;
}

.shan-purchase--cart
.wc-block-components-totals-item__label{
    color:var(--shan-ink) !important;
    font-weight:600 !important;
}

.shan-purchase--cart
.wc-block-components-totals-item__value{
    color:var(--shan-ink) !important;
    font-weight:600 !important;
}

.shan-purchase--cart
.wc-block-components-totals-shipping__via{
    margin-top:4px !important;

    color:#716861 !important;

    font-size:10px !important;

    line-height:1.45 !important;
}

.shan-purchase--cart .hh-cart-pickup-hint{
    margin-top:2px !important;

    color:#716861 !important;

    font-size:10px !important;

    font-weight:400 !important;
}


/* ----------------------------------------------------------
   ESTIMATED TOTAL
   ---------------------------------------------------------- */

.shan-purchase--cart
.wc-block-components-totals-footer-item{
    margin-top:0 !important;

    padding:20px 0 !important;

    border-top:1px solid rgba(36,32,29,.12) !important;
}

.shan-purchase--cart
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__label{
    color:var(--shan-ink) !important;

    font-family:var(--shan-serif) !important;

    font-size:19px !important;
    font-weight:500 !important;
}

.shan-purchase--cart
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__value{
    color:var(--shan-ink) !important;

    font-size:19px !important;
    font-weight:600 !important;
}


/* ==========================================================
   CHECKOUT BUTTON
   ========================================================== */

.shan-purchase--cart .wc-block-cart__submit{
    margin:15px 0 0 !important;
    padding:0 !important;
}

.shan-purchase--cart .wc-block-cart__submit-button{
    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    min-height:56px !important;

    padding:0 20px !important;

    border:0 !important;
    border-radius:4px !important;

    background:var(--shan-burgundy) !important;

    color:#fff !important;

    font-size:12px !important;
    font-weight:700 !important;

    letter-spacing:.02em !important;

    text-decoration:none !important;
}


/* ==========================================================
   EXPRESS PAYMENT
   ========================================================== */

.shan-purchase--cart
.wc-block-components-express-payment{
    margin-top:18px !important;

    padding-top:18px !important;

    border-top:1px solid rgba(36,32,29,.12) !important;
}


/* ==========================================================
   TRUST STRIP
   ========================================================== */

.shan-purchase--cart .hh-approved-cart-trust{
    display:grid;

    grid-template-columns:repeat(3,minmax(0,1fr));

    gap:0;

    margin-top:22px;

    padding-top:20px;

    border-top:1px solid rgba(36,32,29,.12);
}

.shan-purchase--cart .hh-approved-cart-trust__item{
    padding:0 8px;

    text-align:center;
}

.shan-purchase--cart
.hh-approved-cart-trust__item + .hh-approved-cart-trust__item{
    border-left:1px solid rgba(36,32,29,.08);
}

.shan-purchase--cart .hh-approved-cart-trust__icon{
    display:flex;

    align-items:center;
    justify-content:center;

    width:36px;
    height:36px;

    margin:0 auto 8px;

    border-radius:50%;

    background:#fff;

    color:var(--shan-burgundy);
}

.shan-purchase--cart .hh-approved-cart-trust__icon svg{
    width:22px;
    height:22px;

    fill:none;

    stroke:currentColor;
    stroke-width:1.7;

    stroke-linecap:round;
    stroke-linejoin:round;
}

.shan-purchase--cart .hh-approved-cart-trust strong{
    display:block;

    margin-bottom:3px;

    color:var(--shan-ink);

    font-size:9px;
    font-weight:700;

    line-height:1.25;
}

.shan-purchase--cart .hh-approved-cart-trust small{
    display:block;

    color:#716861;

    font-size:8px;

    line-height:1.3;
}

}

/* END HH APPROVED CART MOCKUP 20260923 */


/* HH DESKTOP CART - HIDE PRODUCT DESCRIPTION */
@media (min-width:1024px){

    .shan-purchase--cart .wc-block-components-product-metadata,
    .shan-purchase--cart .hh-cart-details-toggle{
        display:none !important;
    }

}
/* END HH DESKTOP CART - HIDE PRODUCT DESCRIPTION */


/* HH DESKTOP CART - CLEAN SAVINGS + CENTER COLUMN HEADERS */
@media (min-width:1024px){

    /* Remove redundant product-level savings pill */
    .shan-purchase--cart .hh-cart-product-saving{
        display:none !important;
    }

    /*
     * Replace combined pseudo heading with individually
     * centered PRICE / QUANTITY / TOTAL headings.
     */
    .shan-purchase--cart .wc-block-cart-items thead tr::after{
        content:none !important;
        display:none !important;
    }

    .shan-purchase--cart .wc-block-cart-items thead tr{
        position:relative !important;
    }

    .shan-purchase--cart .wc-block-cart-items thead tr{
        grid-template-columns:
            minmax(0,1fr)
            110px
            145px
            105px !important;
    }

    .shan-purchase--cart .wc-block-cart-items thead tr::before{
        content:"PRODUCT" !important;
        grid-column:1 !important;
        text-align:left !important;
    }

    /* Restore the actual Woo header cells as clean labels */
    .shan-purchase--cart .wc-block-cart-items thead th{
        display:block !important;

        width:auto !important;
        padding:0 !important;

        border:0 !important;

        background:transparent !important;

        color:#716861 !important;

        font-size:10px !important;
        font-weight:800 !important;

        letter-spacing:.08em !important;

        line-height:1 !important;

        text-align:center !important;

        text-transform:uppercase !important;
    }

    /*
     * Woo's native first heading duplicates PRODUCT.
     * Hide it while keeping our PRODUCT pseudo heading.
     */
    .shan-purchase--cart .wc-block-cart-items thead th:first-child{
        display:none !important;
    }

}

/* END HH DESKTOP CART - CLEAN SAVINGS + CENTER COLUMN HEADERS */


/* ==========================================================
   HH CART FINAL CLEANUP PASS 20260923
   Desktop only
   ========================================================== */

@media (min-width:1024px){

/* ==========================================================
   TABLE HEADER
   PRODUCT | PRICE | QUANTITY | TOTAL
   ========================================================== */

.shan-purchase--cart .wc-block-cart-items thead{
    display:block !important;
}

.shan-purchase--cart .wc-block-cart-items thead tr{
    display:grid !important;

    grid-template-columns:
        minmax(0,1fr)
        110px
        145px
        105px !important;

    align-items:center !important;

    min-height:58px !important;

    padding:0 20px !important;

    box-sizing:border-box !important;

    border-bottom:1px solid rgba(36,32,29,.12) !important;
}

/* Hide Woo headings and use exact controlled labels */

.shan-purchase--cart .wc-block-cart-items thead th{
    display:none !important;
}

.shan-purchase--cart .wc-block-cart-items thead tr::before{
    content:"PRODUCT";

    grid-column:1;

    color:#716861;

    font-size:10px;
    font-weight:800;

    letter-spacing:.09em;

    text-align:left;
}

.shan-purchase--cart .wc-block-cart-items thead tr::after{
    content:"PRICE          QUANTITY          TOTAL";

    grid-column:2 / 5;

    color:#716861;

    font-size:10px;
    font-weight:800;

    letter-spacing:.07em;

    white-space:pre;

    text-align:center;
}


/* ==========================================================
   PRODUCT ROW
   ========================================================== */

.shan-purchase--cart .wc-block-cart-items__row{
    position:relative !important;

    display:grid !important;

    grid-template-columns:
        130px
        minmax(180px,1fr)
        110px
        145px
        105px !important;

    align-items:center !important;

    min-height:172px !important;

    padding:22px 20px !important;

    box-sizing:border-box !important;

    border-bottom:1px solid rgba(36,32,29,.11) !important;
}

.shan-purchase--cart .wc-block-cart-items__row:last-child{
    border-bottom:0 !important;
}

.shan-purchase--cart .wc-block-cart-items__row td{
    display:block !important;

    width:auto !important;

    padding:0 !important;

    border:0 !important;
}


/* ==========================================================
   IMAGE
   ========================================================== */

.shan-purchase--cart .wc-block-cart-item__image{
    grid-column:1 !important;

    width:112px !important;

    align-self:center !important;
}

.shan-purchase--cart .wc-block-cart-item__image img{
    display:block !important;

    width:112px !important;
    height:112px !important;
    max-width:112px !important;

    margin:0 !important;

    border-radius:7px !important;

    object-fit:cover !important;
}


/* ==========================================================
   PRODUCT INFORMATION
   ========================================================== */

.shan-purchase--cart .wc-block-cart-item__product{
    grid-column:2 !important;

    align-self:center !important;

    min-width:0 !important;

    padding:0 22px 0 0 !important;
}

.shan-purchase--cart .wc-block-cart-item__wrap{
    display:block !important;
    position:relative !important;
}

.shan-purchase--cart .wc-block-components-product-name{
    display:block !important;

    margin:0 0 8px !important;

    color:var(--shan-ink) !important;

    font-family:var(--shan-serif) !important;
    font-size:18px !important;
    font-weight:500 !important;

    line-height:1.2 !important;

    text-decoration:none !important;
}


/* Product price under name */

.shan-purchase--cart .wc-block-cart-item__prices{
    position:static !important;

    width:auto !important;

    margin:0 !important;

    transform:none !important;

    text-align:left !important;
}

.shan-purchase--cart
.wc-block-cart-item__prices
.wc-block-components-product-price{
    display:flex !important;

    align-items:center !important;

    gap:6px !important;

    margin:0 !important;
}

.shan-purchase--cart
.wc-block-cart-item__prices
.wc-block-components-product-price__regular{
    color:#948b84 !important;

    font-size:12px !important;
    font-weight:400 !important;
}

.shan-purchase--cart
.wc-block-cart-item__prices
.wc-block-components-product-price__value{
    color:var(--shan-burgundy) !important;

    font-size:14px !important;
    font-weight:700 !important;
}


/* No descriptions/details in cart */

.shan-purchase--cart .wc-block-components-product-metadata,
.shan-purchase--cart .hh-cart-details-toggle,
.shan-purchase--cart .hh-cart-product-saving{
    display:none !important;
}


/* ==========================================================
   REMOVE UNDER PRODUCT
   ========================================================== */

.shan-purchase--cart
.wc-block-cart-item__quantity
.wc-block-cart-item__remove-link{
    position:absolute !important;

    left:130px !important;
    bottom:27px !important;

    display:inline-flex !important;

    align-items:center !important;

    width:auto !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    border:0 !important;

    background:transparent !important;

    color:#716861 !important;

    font-size:11px !important;
    font-weight:500 !important;

    line-height:1 !important;

    text-decoration:underline !important;
}

.shan-purchase--cart .wc-block-cart-item__remove-link::before{
    content:none !important;
    display:none !important;
}

.shan-purchase--cart .wc-block-cart-item__remove-link::after{
    content:"Remove" !important;
}

.shan-purchase--cart .wc-block-cart-item__remove-link svg{
    width:16px !important;
    height:16px !important;

    margin-right:6px !important;

    fill:currentColor !important;
}


/* ==========================================================
   UNIT PRICE COLUMN
   ========================================================== */

.shan-purchase--cart .hh-cart-unit-price{
    grid-column:3 !important;

    align-self:center !important;

    padding:0 !important;

    color:var(--shan-ink) !important;

    font-size:14px !important;
    font-weight:600 !important;

    line-height:1 !important;

    text-align:center !important;

    white-space:nowrap !important;
}


/* ==========================================================
   QUANTITY COLUMN
   ========================================================== */

.shan-purchase--cart .wc-block-cart-item__quantity{
    position:static !important;

    grid-column:4 !important;

    align-self:center !important;

    width:auto !important;

    margin:0 !important;
    padding:0 !important;

    transform:none !important;

    text-align:center !important;
}

.shan-purchase--cart
.wc-block-components-quantity-selector{
    position:static !important;

    display:inline-flex !important;

    width:116px !important;
    height:46px !important;

    margin:0 auto !important;

    transform:none !important;

    border:1px solid rgba(36,32,29,.16) !important;
    border-radius:5px !important;

    background:#fff !important;
}

.shan-purchase--cart
.wc-block-components-quantity-selector button{
    width:38px !important;
    min-width:38px !important;

    height:44px !important;
    min-height:44px !important;

    padding:0 !important;

    border:0 !important;

    background:transparent !important;

    color:#716861 !important;
}

.shan-purchase--cart
.wc-block-components-quantity-selector__input{
    min-width:40px !important;

    padding:0 !important;

    font-size:13px !important;
    font-weight:600 !important;
}


/* ==========================================================
   TOTAL COLUMN
   ========================================================== */

.shan-purchase--cart .wc-block-cart-item__total{
    grid-column:5 !important;

    align-self:center !important;

    min-width:0 !important;

    padding:0 !important;

    text-align:center !important;
}

.shan-purchase--cart
.wc-block-cart-item__total-price-and-sale-badge-wrapper{
    display:flex !important;

    flex-direction:column !important;

    align-items:center !important;

    gap:7px !important;
}

.shan-purchase--cart
.wc-block-cart-item__total
.wc-block-components-product-price{
    margin:0 !important;

    color:var(--shan-ink) !important;

    font-size:15px !important;
    font-weight:600 !important;
}

.shan-purchase--cart
.wc-block-cart-item__total
.wc-block-components-sale-badge{
    display:inline-flex !important;

    min-height:22px !important;

    margin:0 !important;

    padding:3px 7px !important;

    border:0 !important;
    border-radius:3px !important;

    background:rgba(114,30,43,.10) !important;

    color:var(--shan-burgundy) !important;

    font-size:9px !important;
    font-weight:600 !important;

    white-space:nowrap !important;
}


/* ==========================================================
   BOTTOM LEFT ACTIONS
   ========================================================== */

.shan-purchase--cart .hh-cart-actions{
    margin-top:18px !important;
}

.shan-purchase--cart .hh-cart-action-button{
    min-width:190px !important;
    min-height:46px !important;

    border-radius:5px !important;
}


/* ==========================================================
   TOTALS CARD CLEANUP
   ========================================================== */

.shan-purchase--cart .wc-block-cart__sidebar{
    padding:28px !important;
}


/* Our coupon interface */

.shan-purchase--cart .hh-cart-coupon{
    margin:0 0 18px !important;
}


/* Native Woo coupon visibility is owned by the native coupon UI rules. */


/* ==========================================================
   TOTALS ROW SPACING
   ========================================================== */

.shan-purchase--cart
.wc-block-components-totals-wrapper{
    padding:14px 0 !important;
}


/* Estimated total */

.shan-purchase--cart
.wc-block-components-totals-footer-item{
    margin:0 !important;

    padding:20px 0 !important;
}


/* ==========================================================
   PAYMENT AREA
   JS will reorder:
   checkout
   express payments
   trust
   ========================================================== */

.shan-purchase--cart .wc-block-cart__submit{
    margin:18px 0 0 !important;
}

.shan-purchase--cart
.wc-block-components-express-payment{
    margin:18px 0 0 !important;

    padding:18px 0 0 !important;

    border-top:1px solid rgba(36,32,29,.12) !important;
}


/* Reduce oversized gaps */

.shan-purchase--cart .wc-block-cart__sidebar > *{
    margin-bottom:0 !important;
}


/* Trust */

.shan-purchase--cart .hh-approved-cart-trust{
    margin-top:20px !important;

    padding-top:18px !important;
}


/* ==========================================================
   DUPLICATE SUBTOTAL
   JS marks the duplicate.
   ========================================================== */

.shan-purchase--cart .hh-cart-duplicate-subtotal{
    display:none !important;
}

}

/* END HH CART FINAL CLEANUP PASS 20260923 */


/* ==========================================================
   HH CART PROFESSIONAL NORMALIZATION 20260923
   FINAL AUTHORITATIVE DESKTOP PRESENTATION
   Desktop only >= 821px
   ========================================================== */

@media (min-width:1024px){

/* ---------- GLOBAL CART TYPE ---------- */

.shan-purchase--cart .wc-block-cart{
    grid-template-columns:minmax(0,1fr) 410px !important;
    gap:24px !important;
}

.shan-purchase--cart .wc-block-cart-items,
.shan-purchase--cart .wc-block-cart__sidebar{
    background:#fffdf8 !important;
    border:1px solid rgba(36,32,29,.14) !important;
    border-radius:6px !important;
}


/* ==========================================================
   HEADER
   Real independent visual columns
   ========================================================== */

.shan-purchase--cart .wc-block-cart-items thead{
    display:block !important;
}

.shan-purchase--cart .wc-block-cart-items thead tr{
    display:grid !important;
    grid-template-columns:
        minmax(0,1fr)
        110px
        145px
        105px !important;

    align-items:center !important;

    min-height:58px !important;
    padding:0 20px !important;

    box-sizing:border-box !important;

    border-bottom:1px solid rgba(36,32,29,.12) !important;
}

/* Kill all previous pseudo headings */

.shan-purchase--cart .wc-block-cart-items thead tr::before,
.shan-purchase--cart .wc-block-cart-items thead tr::after{
    content:none !important;
    display:none !important;
}

/* JS creates these four exact labels */

.shan-purchase--cart .hh-cart-head{
    display:flex !important;
    align-items:center !important;

    height:100% !important;

    color:#716861 !important;

    font-family:var(--shan-sans) !important;
    font-size:12px !important;
    font-weight:700 !important;

    line-height:1 !important;
    letter-spacing:.075em !important;

    text-transform:uppercase !important;
}

.shan-purchase--cart .hh-cart-head--product{
    grid-column:1 !important;
    justify-content:flex-start !important;
}

.shan-purchase--cart .hh-cart-head--price{
    grid-column:2 !important;
    justify-content:center !important;
}

.shan-purchase--cart .hh-cart-head--quantity{
    grid-column:3 !important;
    justify-content:center !important;
}

.shan-purchase--cart .hh-cart-head--total{
    grid-column:4 !important;
    justify-content:center !important;
}

.shan-purchase--cart .wc-block-cart-items thead th{
    display:none !important;
}


/* ==========================================================
   PRODUCT ROW
   ========================================================== */

.shan-purchase--cart .wc-block-cart-items__row{
    display:grid !important;

    grid-template-columns:
        130px
        minmax(0,1fr)
        110px
        145px
        105px !important;

    align-items:center !important;

    min-height:170px !important;

    padding:24px 20px !important;

    box-sizing:border-box !important;

    border-bottom:1px solid rgba(36,32,29,.10) !important;
}

.shan-purchase--cart .wc-block-cart-items__row:last-child{
    border-bottom:0 !important;
}


/* ---------- IMAGE ---------- */

.shan-purchase--cart .wc-block-cart-item__image{
    grid-column:1 !important;

    width:112px !important;
    align-self:center !important;
}

.shan-purchase--cart .wc-block-cart-item__image img{
    width:112px !important;
    height:112px !important;
    max-width:112px !important;

    border-radius:7px !important;

    object-fit:cover !important;
}


/* ---------- PRODUCT INFO ---------- */

.shan-purchase--cart .wc-block-cart-item__product{
    grid-column:2 !important;

    align-self:center !important;

    min-width:0 !important;

    padding:0 24px 0 0 !important;
}

.shan-purchase--cart .wc-block-components-product-name{
    margin:0 0 9px !important;

    color:var(--shan-ink) !important;

    font-family:var(--shan-serif) !important;
    font-size:19px !important;
    font-weight:500 !important;

    line-height:1.22 !important;
}

.shan-purchase--cart .wc-block-cart-item__prices{
    position:static !important;

    width:auto !important;

    margin:0 !important;

    transform:none !important;

    text-align:left !important;
}

.shan-purchase--cart
.wc-block-cart-item__prices
.wc-block-components-product-price{
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
}

.shan-purchase--cart
.wc-block-cart-item__prices
.wc-block-components-product-price__regular{
    font-size:13px !important;
    color:#8d8680 !important;
}

.shan-purchase--cart
.wc-block-cart-item__prices
.wc-block-components-product-price__value{
    color:var(--shan-burgundy) !important;

    font-size:15px !important;
    font-weight:700 !important;
}

/* User decided cart descriptions and product-level savings are unnecessary */

.shan-purchase--cart .wc-block-components-product-metadata,
.shan-purchase--cart .hh-cart-details-toggle,
.shan-purchase--cart .hh-cart-product-saving{
    display:none !important;
}


/* ---------- REMOVE ---------- */

.shan-purchase--cart
.wc-block-cart-item__quantity
.wc-block-cart-item__remove-link{
    position:absolute !important;

    left:150px !important;
    bottom:25px !important;

    display:inline-flex !important;
    align-items:center !important;

    width:auto !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    color:#716861 !important;

    font-size:12px !important;
    font-weight:500 !important;

    line-height:1 !important;

    text-decoration:none !important;
}

.shan-purchase--cart .wc-block-cart-item__remove-link::before{
    content:none !important;
}

.shan-purchase--cart .wc-block-cart-item__remove-link::after{
    content:"Remove" !important;
}

.shan-purchase--cart .wc-block-cart-item__remove-link svg{
    width:17px !important;
    height:17px !important;

    margin-right:6px !important;
}


/* ==========================================================
   PRICE
   ========================================================== */

.shan-purchase--cart .hh-cart-unit-price{
    grid-column:3 !important;

    align-self:center !important;

    padding:0 !important;

    color:var(--shan-ink) !important;

    font-family:var(--shan-sans) !important;
    font-size:15px !important;
    font-weight:600 !important;

    line-height:1 !important;

    text-align:center !important;
}


/* ==========================================================
   QUANTITY
   ========================================================== */

.shan-purchase--cart .wc-block-cart-item__quantity{
    position:static !important;

    grid-column:4 !important;

    align-self:center !important;

    width:auto !important;

    margin:0 !important;
    padding:0 !important;

    transform:none !important;

    text-align:center !important;
}

.shan-purchase--cart .wc-block-components-quantity-selector{
    display:inline-flex !important;

    width:116px !important;
    height:46px !important;

    margin:0 auto !important;

    border:1px solid rgba(36,32,29,.18) !important;
    border-radius:5px !important;

    background:#fff !important;
}

.shan-purchase--cart
.wc-block-components-quantity-selector button{
    width:38px !important;
    min-width:38px !important;

    height:44px !important;

    color:#625b56 !important;

    font-size:16px !important;
}

.shan-purchase--cart
.wc-block-components-quantity-selector__input{
    min-width:40px !important;

    font-size:14px !important;
    font-weight:600 !important;
}


/* ==========================================================
   TOTAL
   ========================================================== */

.shan-purchase--cart .wc-block-cart-item__total{
    grid-column:5 !important;

    align-self:center !important;

    padding:0 !important;

    text-align:center !important;
}

.shan-purchase--cart
.wc-block-cart-item__total-price-and-sale-badge-wrapper{
    display:flex !important;

    flex-direction:column !important;

    align-items:center !important;

    gap:8px !important;
}

.shan-purchase--cart
.wc-block-cart-item__total
.wc-block-components-product-price{
    color:var(--shan-ink) !important;

    font-size:16px !important;
    font-weight:600 !important;
}

.shan-purchase--cart
.wc-block-cart-item__total
.wc-block-components-sale-badge{
    min-height:24px !important;

    padding:4px 9px !important;

    border:0 !important;
    border-radius:4px !important;

    background:rgba(114,30,43,.09) !important;

    color:var(--shan-burgundy) !important;

    font-size:11px !important;
    font-weight:600 !important;

    line-height:1.35 !important;
}


/* ==========================================================
   LEFT ACTION BUTTONS
   ========================================================== */

.shan-purchase--cart .hh-cart-actions{
    margin-top:18px !important;
}

.shan-purchase--cart .hh-cart-action-button{
    min-width:190px !important;
    min-height:48px !important;

    padding:0 22px !important;

    border-radius:5px !important;

    font-size:12px !important;
    font-weight:700 !important;
}


/* ==========================================================
   CART TOTALS
   ========================================================== */

.shan-purchase--cart .wc-block-cart__sidebar{
    padding:30px !important;
}

.shan-purchase--cart .wc-block-cart__totals-title{
    margin:0 0 22px !important;

    font-family:var(--shan-serif) !important;
    font-size:30px !important;
    font-weight:500 !important;

    line-height:1.1 !important;
}


/* Coupon */

.shan-purchase--cart .hh-cart-coupon{
    grid-template-columns:minmax(0,1fr) 88px !important;

    gap:9px !important;

    margin-bottom:20px !important;
}

.shan-purchase--cart .hh-cart-coupon input{
    height:46px !important;

    padding:0 14px !important;

    font-size:13px !important;
}

.shan-purchase--cart .hh-cart-coupon button{
    font-size:12px !important;
    font-weight:700 !important;
}


/* Native Woo coupon visibility is owned by the native coupon UI rules. */


/* Totals */

.shan-purchase--cart .wc-block-components-totals-wrapper{
    padding:16px 0 !important;
}

.shan-purchase--cart .wc-block-components-totals-item{
    font-size:14px !important;
    line-height:1.35 !important;
}

.shan-purchase--cart
.wc-block-components-totals-item__label{
    font-size:14px !important;
    font-weight:500 !important;
}

.shan-purchase--cart
.wc-block-components-totals-item__value{
    font-size:14px !important;
    font-weight:600 !important;
}

.shan-purchase--cart
.wc-block-components-totals-shipping__via{
    margin-top:5px !important;

    font-size:12px !important;
    line-height:1.45 !important;
}

.shan-purchase--cart .hh-cart-pickup-hint{
    margin-top:4px !important;

    font-size:12px !important;
    line-height:1.4 !important;
}


/* Estimated total */

.shan-purchase--cart
.wc-block-components-totals-footer-item{
    padding:20px 0 !important;
}

.shan-purchase--cart
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__label{
    font-family:var(--shan-serif) !important;

    font-size:20px !important;
    font-weight:500 !important;
}

.shan-purchase--cart
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__value{
    font-size:20px !important;
    font-weight:600 !important;
}


/* Checkout */

.shan-purchase--cart .wc-block-cart__submit{
    margin:18px 0 0 !important;
}

.shan-purchase--cart .wc-block-cart__submit-button{
    min-height:54px !important;

    border-radius:4px !important;

    font-size:13px !important;
    font-weight:700 !important;
}


/* Express payment */

.shan-purchase--cart .wc-block-components-express-payment{
    margin-top:18px !important;
    padding-top:18px !important;
}


/* ==========================================================
   TRUST STRIP
   Previously 8px / 9px. Normalize to readable desktop type.
   ========================================================== */

.shan-purchase--cart .hh-approved-cart-trust{
    margin-top:22px !important;

    padding-top:20px !important;
}

.shan-purchase--cart .hh-approved-cart-trust__item{
    padding:0 10px !important;
}

.shan-purchase--cart .hh-approved-cart-trust__icon{
    width:40px !important;
    height:40px !important;

    margin-bottom:9px !important;
}

.shan-purchase--cart .hh-approved-cart-trust__icon svg{
    width:23px !important;
    height:23px !important;
}

.shan-purchase--cart .hh-approved-cart-trust strong{
    margin-bottom:4px !important;

    font-size:11px !important;
    font-weight:700 !important;

    line-height:1.25 !important;
}

.shan-purchase--cart .hh-approved-cart-trust small{
    font-size:10px !important;

    line-height:1.35 !important;
}


/* Existing JS duplicate subtotal marker */

.shan-purchase--cart .hh-cart-duplicate-subtotal{
    display:none !important;
}

}

/* END HH CART PROFESSIONAL NORMALIZATION 20260923 */


/* ==========================================================
   HH CART ROUND 2 ALIGNMENT 20260923
   Desktop only
   Shared header/body geometry + totals vertical rhythm
   ========================================================== */

@media (min-width:1024px){

/*
 * ONE GEOMETRY FOR BOTH HEADER AND BODY
 *
 * 130 image
 * flexible product info
 * 110 price
 * 145 quantity
 * 105 total
 */

.shan-purchase--cart .wc-block-cart-items thead tr,
.shan-purchase--cart .wc-block-cart-items__row{
    grid-template-columns:
        130px
        minmax(0,1fr)
        110px
        145px
        105px !important;
}


/* ==========================================================
   HEADER
   PRODUCT spans image + product-info
   ========================================================== */

.shan-purchase--cart .wc-block-cart-items thead tr{
    min-height:60px !important;
    padding:0 20px !important;
}

.shan-purchase--cart .hh-cart-head{
    font-size:12px !important;
    font-weight:700 !important;
    letter-spacing:.075em !important;
}

.shan-purchase--cart .hh-cart-head--product{
    grid-column:1 / 3 !important;
    justify-content:flex-start !important;
}

.shan-purchase--cart .hh-cart-head--price{
    grid-column:3 !important;
    justify-content:center !important;
}

.shan-purchase--cart .hh-cart-head--quantity{
    grid-column:4 !important;
    justify-content:center !important;
}

.shan-purchase--cart .hh-cart-head--total{
    grid-column:5 !important;
    justify-content:center !important;
}


/* ==========================================================
   BODY ROW
   ========================================================== */

.shan-purchase--cart .wc-block-cart-items__row{
    position:relative !important;

    min-height:170px !important;
    padding:24px 20px !important;

    align-items:center !important;
}


/* Image */

.shan-purchase--cart .wc-block-cart-item__image{
    grid-column:1 !important;
    grid-row:1 !important;

    align-self:center !important;
}


/* Product information */

.shan-purchase--cart .wc-block-cart-item__product{
    grid-column:2 !important;
    grid-row:1 !important;

    align-self:center !important;

    padding:0 24px 0 0 !important;
}


/*
 * IMPORTANT:
 * Woo nests quantity inside the PRODUCT td.
 * Visually pull the quantity selector out and place it over
 * the row's dedicated QUANTITY grid column.
 */

.shan-purchase--cart .wc-block-cart-item__quantity{
    position:static !important;

    width:auto !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    transform:none !important;
}


/* Quantity selector gets an absolute row position matching column 4 */

.shan-purchase--cart .wc-block-components-quantity-selector{
    position:absolute !important;

    top:50% !important;

    /*
     * Total fixed columns after flexible product:
     * PRICE 110 + QUANTITY 145 + TOTAL 105
     *
     * Quantity begins 250px from right edge:
     * TOTAL 105 + remaining half relationship handled
     * by explicit width/centering below.
     */

    right:119.5px !important;

    width:116px !important;
    height:46px !important;

    margin:0 !important;

    transform:translateY(-50%) !important;
}


/*
 * Dedicated unit-price column already injected by HH JS.
 */

.shan-purchase--cart .hh-cart-unit-price{
    grid-column:3 !important;
    grid-row:1 !important;

    align-self:center !important;

    padding:0 !important;

    font-size:15px !important;

    text-align:center !important;
}


/* Total */

.shan-purchase--cart .wc-block-cart-item__total{
    grid-column:5 !important;
    grid-row:1 !important;

    align-self:center !important;

    padding:0 !important;

    text-align:center !important;
}


/* ==========================================================
   REMOVE
   Keep it with PRODUCT, not quantity
   ========================================================== */

.shan-purchase--cart
.wc-block-cart-item__quantity
.wc-block-cart-item__remove-link{
    position:absolute !important;

    left:130px !important;
    bottom:24px !important;

    width:auto !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    transform:none !important;

    font-size:12px !important;
}


/* ==========================================================
   PRODUCT TYPOGRAPHY
   ========================================================== */

.shan-purchase--cart .wc-block-components-product-name{
    margin-bottom:10px !important;

    font-size:19px !important;
    line-height:1.25 !important;
}

.shan-purchase--cart
.wc-block-cart-item__prices
.wc-block-components-product-price__regular{
    font-size:13px !important;
}

.shan-purchase--cart
.wc-block-cart-item__prices
.wc-block-components-product-price__value{
    font-size:15px !important;
}


/* Savings badge */

.shan-purchase--cart
.wc-block-cart-item__total
.wc-block-components-sale-badge{
    padding:4px 9px !important;

    font-size:11px !important;
    line-height:1.3 !important;
}


/* ==========================================================
   RIGHT CARD - PROFESSIONAL VERTICAL RHYTHM
   ========================================================== */

.shan-purchase--cart .wc-block-cart__sidebar{
    padding:28px !important;
}


/* Heading */

.shan-purchase--cart .wc-block-cart__totals-title{
    margin:0 0 18px !important;

    font-size:29px !important;
}


/* Coupon */

.shan-purchase--cart .hh-cart-coupon{
    margin:0 0 16px !important;
}


/*
 * Totals wrappers had accumulated generous padding.
 * Normalize every standard row.
 */

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-totals-wrapper{
    margin:0 !important;
    padding:14px 0 !important;
}


/* Standard row text */

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-totals-item{
    min-height:0 !important;

    margin:0 !important;
    padding:0 !important;
}


/* Shipping details should remain close to Shipping */

.shan-purchase--cart
.wc-block-components-totals-shipping__via{
    margin-top:5px !important;
    margin-bottom:0 !important;
}

.shan-purchase--cart .hh-cart-pickup-hint{
    margin:3px 0 0 !important;
}


/* Remove excessive vertical height from shipping wrapper */

.shan-purchase--cart
.wc-block-components-totals-shipping{
    margin:0 !important;
    padding-top:14px !important;
    padding-bottom:14px !important;
}


/* Estimated total */

.shan-purchase--cart
.wc-block-components-totals-footer-item{
    min-height:0 !important;

    margin:0 !important;
    padding:18px 0 !important;
}


/* Prevent inherited giant empty regions */

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-totals-wrapper::before,
.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-totals-wrapper::after{
    margin:0 !important;
}


/* Checkout follows estimated total closely */

.shan-purchase--cart .wc-block-cart__submit{
    margin:16px 0 0 !important;
    padding:0 !important;
}

.shan-purchase--cart .wc-block-cart__submit-button{
    min-height:54px !important;
}


/* Express payment area */

.shan-purchase--cart
.wc-block-components-express-payment{
    margin:14px 0 0 !important;
    padding:14px 0 0 !important;
}


/* Express buttons closer together */

.shan-purchase--cart
.wc-block-components-express-payment
button{
    margin-top:0 !important;
    margin-bottom:8px !important;
}


/* Trust strip should belong to card, not float far below */

.shan-purchase--cart .hh-approved-cart-trust{
    margin-top:14px !important;
    padding-top:16px !important;
}


/* Trust copy readability */

.shan-purchase--cart .hh-approved-cart-trust strong{
    font-size:11px !important;
    line-height:1.3 !important;
}

.shan-purchase--cart .hh-approved-cart-trust small{
    font-size:10px !important;
    line-height:1.35 !important;
}


/* Bottom actions */

.shan-purchase--cart .hh-cart-actions{
    margin-top:16px !important;
}

}

/* END HH CART ROUND 2 ALIGNMENT 20260923 */


/* ==========================================================
   HH CART ROUND 3 STRUCTURAL 20260923
   Desktop only
   Real grid children: Product | Price | Quantity | Total
   ========================================================== */

@media (min-width:1024px){

/* ==========================================================
   SHARED GRID
   ========================================================== */

.shan-purchase--cart .wc-block-cart-items thead tr,
.shan-purchase--cart .wc-block-cart-items__row{
    grid-template-columns:
        130px
        minmax(0,1fr)
        110px
        145px
        105px !important;
}


/* ==========================================================
   HEADER
   ========================================================== */

.shan-purchase--cart .hh-cart-head--product{
    grid-column:1 / 3 !important;
}

.shan-purchase--cart .hh-cart-head--price{
    grid-column:3 !important;
}

.shan-purchase--cart .hh-cart-head--quantity{
    grid-column:4 !important;
}

.shan-purchase--cart .hh-cart-head--total{
    grid-column:5 !important;
}


/* ==========================================================
   ROW
   ========================================================== */

.shan-purchase--cart .wc-block-cart-items__row{
    min-height:164px !important;
    padding:22px 20px !important;

    align-items:center !important;
}


/* Product image */

.shan-purchase--cart .wc-block-cart-item__image{
    grid-column:1 !important;
    grid-row:1 !important;
}


/* Product information */

.shan-purchase--cart .wc-block-cart-item__product{
    grid-column:2 !important;
    grid-row:1 !important;

    align-self:center !important;

    padding-right:24px !important;
}


/* Unit price */

.shan-purchase--cart .hh-cart-unit-price{
    grid-column:3 !important;
    grid-row:1 !important;

    align-self:center !important;

    margin:0 !important;
    padding:0 !important;

    text-align:center !important;
}


/*
 * JS now moves .wc-block-cart-item__quantity out of
 * .wc-block-cart-item__product and makes it a REAL grid child.
 */

.shan-purchase--cart
.wc-block-cart-items__row > .wc-block-cart-item__quantity{
    position:relative !important;

    grid-column:4 !important;
    grid-row:1 !important;

    align-self:center !important;
    justify-self:center !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:116px !important;
    height:46px !important;

    margin:0 !important;
    padding:0 !important;

    transform:none !important;
}


/* Kill Round-2 absolute quantity positioning */

.shan-purchase--cart
.wc-block-cart-items__row > .wc-block-cart-item__quantity
.wc-block-components-quantity-selector{
    position:static !important;

    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;

    width:116px !important;
    height:46px !important;

    margin:0 !important;

    transform:none !important;
}


/* Total */

.shan-purchase--cart .wc-block-cart-item__total{
    grid-column:5 !important;
    grid-row:1 !important;

    align-self:center !important;
    justify-self:stretch !important;

    margin:0 !important;
    padding:0 !important;

    text-align:center !important;
}


/* ==========================================================
   REMOVE
   JS creates a dedicated product-side remove control.
   Original nested remove stays hidden.
   ========================================================== */

.shan-purchase--cart
.wc-block-cart-items__row >
.wc-block-cart-item__quantity
.wc-block-cart-item__remove-link{
    display:none !important;
}

.shan-purchase--cart .hh-cart-product-remove{
    display:inline-flex !important;

    align-items:center !important;

    margin-top:13px !important;
    padding:0 !important;

    border:0 !important;

    background:transparent !important;

    color:#716861 !important;

    font-family:var(--shan-sans) !important;
    font-size:12px !important;
    font-weight:500 !important;

    line-height:1 !important;

    text-decoration:none !important;

    cursor:pointer !important;
}

.shan-purchase--cart .hh-cart-product-remove:hover{
    color:var(--shan-burgundy) !important;
}

.shan-purchase--cart .hh-cart-product-remove svg{
    width:15px !important;
    height:15px !important;

    margin-right:6px !important;

    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.7 !important;
}


/* ==========================================================
   PRODUCT TYPE
   ========================================================== */

.shan-purchase--cart .wc-block-components-product-name{
    max-width:420px !important;

    margin:0 0 8px !important;

    font-size:18px !important;
    line-height:1.25 !important;
}


/* ==========================================================
   PRICE / QUANTITY / TOTAL ALIGNMENT
   ========================================================== */

.shan-purchase--cart .hh-cart-unit-price,
.shan-purchase--cart
.wc-block-cart-item__total
.wc-block-components-product-price{
    font-size:15px !important;
    font-weight:600 !important;

    line-height:1.2 !important;
}


/* Fix savings text readability */

.shan-purchase--cart
.wc-block-cart-item__total
.wc-block-components-sale-badge{
    min-height:24px !important;

    padding:4px 8px !important;

    font-size:10px !important;
    font-weight:600 !important;

    line-height:1.4 !important;
}


/* ==========================================================
   TOTALS CARD - ROUND 3 RHYTHM
   ========================================================== */

.shan-purchase--cart .wc-block-cart__sidebar{
    padding:28px !important;
}


/* Heading / coupon */

.shan-purchase--cart .wc-block-cart__totals-title{
    margin-bottom:18px !important;
}

.shan-purchase--cart .hh-cart-coupon{
    margin-bottom:14px !important;
}


/*
 * Standard summary rows.
 * Remove old min-heights / giant vertical distribution.
 */

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-totals-wrapper{
    min-height:0 !important;

    margin:0 !important;
    padding:13px 0 !important;
}

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-totals-item{
    min-height:0 !important;

    margin:0 !important;
}


/* Subtotal */

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-totals-wrapper:first-of-type{
    padding-top:14px !important;
}


/* Shipping */

.shan-purchase--cart
.wc-block-components-totals-shipping{
    min-height:0 !important;

    margin:0 !important;

    padding-top:13px !important;
    padding-bottom:13px !important;
}


/* Shipping supporting text */

.shan-purchase--cart
.wc-block-components-totals-shipping__via{
    margin:5px 0 0 !important;

    font-size:11px !important;
    line-height:1.45 !important;
}

.shan-purchase--cart .hh-cart-pickup-hint{
    margin:2px 0 0 !important;

    font-size:11px !important;
}


/* Estimated total */

.shan-purchase--cart
.wc-block-components-totals-footer-item{
    min-height:0 !important;

    margin:0 !important;
    padding:17px 0 !important;
}


/* Checkout divider/gap */

.shan-purchase--cart .wc-block-cart__submit{
    margin:14px 0 0 !important;
    padding:0 !important;
}


/* Express payments */

.shan-purchase--cart
.wc-block-components-express-payment{
    margin:12px 0 0 !important;
    padding:12px 0 0 !important;
}


/* Trust */

.shan-purchase--cart .hh-approved-cart-trust{
    margin-top:12px !important;
    padding-top:14px !important;
}


/* Bottom cart actions */

.shan-purchase--cart .hh-cart-actions{
    margin-top:14px !important;
}

}

/* END HH CART ROUND 3 STRUCTURAL 20260923 */


/* ==========================================================
   HH CART ROUND 4 FINAL POLISH 20260923
   Desktop only
   Final proportion, typography and rhythm refinement
   ========================================================== */

@media (min-width:1024px){

/* ==========================================================
   1 + 2. TABLE PROPORTIONS / SHARED GEOMETRY

   Slightly reduce PRODUCT territory and pull the three
   numeric/action columns inward for a more balanced table.

   image 120
   product flexible
   price 115
   quantity 140
   total 110
   ========================================================== */

.shan-purchase--cart .wc-block-cart-items thead tr,
.shan-purchase--cart .wc-block-cart-items__row{
    grid-template-columns:
        120px
        minmax(0,1fr)
        115px
        140px
        110px !important;
}


/* Header */

.shan-purchase--cart .wc-block-cart-items thead tr{
    min-height:58px !important;
    padding:0 18px !important;
}

.shan-purchase--cart .hh-cart-head{
    font-size:11px !important;
    font-weight:700 !important;

    letter-spacing:.085em !important;
}

.shan-purchase--cart .hh-cart-head--product{
    grid-column:1 / 3 !important;
}

.shan-purchase--cart .hh-cart-head--price{
    grid-column:3 !important;
}

.shan-purchase--cart .hh-cart-head--quantity{
    grid-column:4 !important;
}

.shan-purchase--cart .hh-cart-head--total{
    grid-column:5 !important;
}


/* ==========================================================
   1 + 5. PRODUCT ROW DENSITY / VERTICAL BALANCE
   ========================================================== */

.shan-purchase--cart .wc-block-cart-items__row{
    min-height:150px !important;

    padding:18px !important;

    align-items:center !important;
}


/* Image */

.shan-purchase--cart .wc-block-cart-item__image{
    grid-column:1 !important;

    width:104px !important;
}

.shan-purchase--cart .wc-block-cart-item__image img{
    width:104px !important;
    height:104px !important;
    max-width:104px !important;

    border-radius:6px !important;
}


/* Product information */

.shan-purchase--cart .wc-block-cart-item__product{
    grid-column:2 !important;

    align-self:center !important;

    padding:0 20px 0 0 !important;
}

.shan-purchase--cart .wc-block-components-product-name{
    max-width:390px !important;

    margin:0 0 7px !important;

    font-size:17px !important;
    font-weight:500 !important;

    line-height:1.25 !important;
}


/* Old/new product price */

.shan-purchase--cart
.wc-block-cart-item__prices
.wc-block-components-product-price{
    gap:7px !important;
}

.shan-purchase--cart
.wc-block-cart-item__prices
.wc-block-components-product-price__regular{
    font-size:12px !important;
}

.shan-purchase--cart
.wc-block-cart-item__prices
.wc-block-components-product-price__value{
    font-size:14px !important;
}


/* ==========================================================
   3. REMOVE ACTION
   ========================================================== */

.shan-purchase--cart .hh-cart-product-remove{
    margin-top:9px !important;

    color:#77706b !important;

    font-size:11px !important;
    font-weight:500 !important;

    opacity:.88 !important;
}

.shan-purchase--cart .hh-cart-product-remove:hover{
    color:var(--shan-burgundy) !important;
    opacity:1 !important;
}

.shan-purchase--cart .hh-cart-product-remove svg{
    width:14px !important;
    height:14px !important;

    margin-right:5px !important;
}


/* ==========================================================
   PRICE / QUANTITY / TOTAL
   ========================================================== */

.shan-purchase--cart .hh-cart-unit-price{
    grid-column:3 !important;

    align-self:center !important;
    justify-self:stretch !important;

    font-size:14px !important;
    font-weight:600 !important;

    text-align:center !important;
}


/* Quantity */

.shan-purchase--cart
.wc-block-cart-items__row >
.wc-block-cart-item__quantity{
    grid-column:4 !important;

    align-self:center !important;
    justify-self:center !important;

    width:108px !important;
    height:44px !important;
}

.shan-purchase--cart
.wc-block-cart-items__row >
.wc-block-cart-item__quantity
.wc-block-components-quantity-selector{
    width:108px !important;
    height:44px !important;
}

.shan-purchase--cart
.wc-block-components-quantity-selector button{
    width:35px !important;
    min-width:35px !important;

    height:42px !important;

    font-size:15px !important;
}

.shan-purchase--cart
.wc-block-components-quantity-selector__input{
    min-width:38px !important;

    font-size:13px !important;
}


/* Total */

.shan-purchase--cart .wc-block-cart-item__total{
    grid-column:5 !important;

    align-self:center !important;

    text-align:center !important;
}

.shan-purchase--cart
.wc-block-cart-item__total
.wc-block-components-product-price{
    font-size:15px !important;
    font-weight:600 !important;
}


/* ==========================================================
   4. SAVINGS BADGE
   ========================================================== */

.shan-purchase--cart
.wc-block-cart-item__total-price-and-sale-badge-wrapper{
    gap:7px !important;
}

.shan-purchase--cart
.wc-block-cart-item__total
.wc-block-components-sale-badge{
    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    min-width:64px !important;
    min-height:24px !important;

    padding:4px 8px !important;

    border-radius:4px !important;

    font-size:10px !important;
    font-weight:600 !important;

    line-height:1.2 !important;

    white-space:nowrap !important;
}


/* ==========================================================
   LEFT BOTTOM ACTIONS
   ========================================================== */

.shan-purchase--cart .hh-cart-actions{
    margin-top:14px !important;
}

.shan-purchase--cart .hh-cart-action-button{
    min-width:180px !important;
    min-height:46px !important;

    padding:0 20px !important;

    font-size:11px !important;
}


/* ==========================================================
   6. RIGHT CARD ACCOUNTING RHYTHM
   ========================================================== */

.shan-purchase--cart .wc-block-cart__sidebar{
    padding:26px !important;
}


/* Heading */

.shan-purchase--cart .wc-block-cart__totals-title{
    margin:0 0 15px !important;

    font-size:28px !important;
    line-height:1.1 !important;
}


/* Coupon */

.shan-purchase--cart .hh-cart-coupon{
    margin:0 0 12px !important;
}

.shan-purchase--cart .hh-cart-coupon input{
    height:44px !important;

    font-size:12px !important;
}

.shan-purchase--cart .hh-cart-coupon button{
    height:44px !important;

    font-size:11px !important;
}


/*
 * Accounting rows:
 * Subtotal / Shipping / Taxes should read as one group.
 */

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-totals-wrapper{
    min-height:0 !important;

    margin:0 !important;

    padding:11px 0 !important;
}


/* Override Woo spacing inside individual rows */

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-totals-item{
    min-height:0 !important;

    margin:0 !important;
    padding:0 !important;

    font-size:13px !important;
    line-height:1.35 !important;
}

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-totals-item__label{
    font-size:13px !important;
    font-weight:500 !important;
}

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-totals-item__value{
    font-size:13px !important;
    font-weight:600 !important;
}


/* Shipping block */

.shan-purchase--cart
.wc-block-components-totals-shipping{
    min-height:0 !important;

    margin:0 !important;

    padding:11px 0 !important;
}

.shan-purchase--cart
.wc-block-components-totals-shipping__via{
    margin:4px 0 0 !important;

    font-size:10px !important;
    line-height:1.4 !important;
}

.shan-purchase--cart .hh-cart-pickup-hint{
    margin:2px 0 0 !important;

    font-size:10px !important;
    line-height:1.4 !important;
}


/* ==========================================================
   ESTIMATED TOTAL
   Strong separator after accounting group
   ========================================================== */

.shan-purchase--cart
.wc-block-components-totals-footer-item{
    min-height:0 !important;

    margin:4px 0 0 !important;

    padding:16px 0 !important;

    border-top:1px solid rgba(36,32,29,.12) !important;
}

.shan-purchase--cart
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__label{
    font-size:19px !important;
}

.shan-purchase--cart
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__value{
    font-size:19px !important;
}


/* ==========================================================
   7. ESTIMATED TOTAL -> CHECKOUT
   ========================================================== */

.shan-purchase--cart .wc-block-cart__submit{
    margin:10px 0 0 !important;
    padding:0 !important;
}

.shan-purchase--cart .wc-block-cart__submit-button{
    min-height:52px !important;

    font-size:12px !important;
}


/* Express payment */

.shan-purchase--cart
.wc-block-components-express-payment{
    margin:10px 0 0 !important;
    padding:10px 0 0 !important;
}


/* Keep payment buttons compact */

.shan-purchase--cart
.wc-block-components-express-payment
button{
    margin-bottom:7px !important;
}


/* ==========================================================
   8. TRUST STRIP READABILITY
   ========================================================== */

.shan-purchase--cart .hh-approved-cart-trust{
    margin-top:10px !important;

    padding-top:14px !important;
}

.shan-purchase--cart .hh-approved-cart-trust__item{
    padding:0 8px !important;
}

.shan-purchase--cart .hh-approved-cart-trust__icon{
    width:38px !important;
    height:38px !important;

    margin-bottom:7px !important;
}

.shan-purchase--cart .hh-approved-cart-trust__icon svg{
    width:22px !important;
    height:22px !important;
}

.shan-purchase--cart .hh-approved-cart-trust strong{
    margin-bottom:4px !important;

    font-size:11px !important;
    font-weight:700 !important;

    line-height:1.25 !important;
}

.shan-purchase--cart .hh-approved-cart-trust small{
    font-size:10px !important;

    line-height:1.3 !important;
}

}

/* END HH CART ROUND 4 FINAL POLISH 20260923 */


/* ==========================================================
   HH CART ROUND 5 FINISH 20260923
   Desktop-only finishing pass.
   No structural/DOM changes.
   ========================================================== */

@media (min-width:1024px){

/* ==========================================================
   1. PRODUCT ROW DENSITY
   ========================================================== */

.shan-purchase--cart .wc-block-cart-items__row{
    min-height:140px !important;
    padding-top:15px !important;
    padding-bottom:15px !important;
}


/* Keep images substantial despite tighter rows */

.shan-purchase--cart .wc-block-cart-item__image{
    width:102px !important;
}

.shan-purchase--cart .wc-block-cart-item__image img{
    width:102px !important;
    height:102px !important;
    max-width:102px !important;
}


/* ==========================================================
   2. PRODUCT INFORMATION CONSISTENCY
   ========================================================== */

.shan-purchase--cart .wc-block-cart-item__product{
    display:flex !important;
    align-items:center !important;

    min-height:102px !important;
}

.shan-purchase--cart .wc-block-cart-item__wrap{
    width:100% !important;
}

.shan-purchase--cart .wc-block-components-product-name{
    display:block !important;

    width:min(100%,360px) !important;
    max-width:360px !important;

    margin:0 0 6px !important;

    font-size:17px !important;
    line-height:1.24 !important;
}

.shan-purchase--cart .wc-block-cart-item__prices{
    margin:0 !important;
}


/* Remove sits close to product pricing */

.shan-purchase--cart .hh-cart-product-remove{
    margin-top:8px !important;

    font-size:11px !important;
    line-height:1 !important;
}


/* ==========================================================
   3. PRICE / QUANTITY / TOTAL FINAL VERTICAL AXIS
   ========================================================== */

.shan-purchase--cart .hh-cart-unit-price,
.shan-purchase--cart
.wc-block-cart-items__row >
.wc-block-cart-item__quantity,
.shan-purchase--cart .wc-block-cart-item__total{
    align-self:center !important;
}


/* ==========================================================
   4. SAVINGS BADGES
   ========================================================== */

.shan-purchase--cart
.wc-block-cart-item__total
.wc-block-components-sale-badge{
    min-width:68px !important;
    min-height:25px !important;

    padding:5px 9px !important;

    border-radius:4px !important;

    font-size:10.5px !important;
    font-weight:600 !important;

    line-height:1 !important;

    letter-spacing:0 !important;
}


/* ==========================================================
   5. CART TOTALS
   Turn Subtotal / Shipping / Taxes into one compact group.
   ========================================================== */

.shan-purchase--cart .wc-block-cart__sidebar{
    padding:26px !important;
}


/* Coupon-to-summary divider */

.shan-purchase--cart .hh-cart-coupon{
    margin-bottom:10px !important;
}


/*
 * Woo's wrapper rules accumulated significant vertical
 * spacing. This is the final authoritative accounting rhythm.
 */

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-totals-wrapper{
    min-height:0 !important;

    margin:0 !important;
    padding:9px 0 !important;
}


/* Prevent inner rows from contributing extra height */

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-totals-item{
    min-height:0 !important;

    margin:0 !important;
    padding:0 !important;
}


/* Shipping is slightly taller only because it has two notes */

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-totals-shipping{
    min-height:0 !important;

    margin:0 !important;
    padding:9px 0 !important;
}

.shan-purchase--cart
.wc-block-components-totals-shipping__via{
    margin:4px 0 0 !important;

    font-size:10.5px !important;
    line-height:1.35 !important;
}

.shan-purchase--cart .hh-cart-pickup-hint{
    margin:2px 0 0 !important;

    font-size:10.5px !important;
    line-height:1.35 !important;
}


/* Taxes needs no artificial height */

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-totals-taxes{
    min-height:0 !important;

    margin:0 !important;
    padding:0 !important;
}


/* ==========================================================
   ESTIMATED TOTAL
   Clear boundary, but no giant dead space.
   ========================================================== */

.shan-purchase--cart
.wc-block-components-totals-footer-item{
    min-height:0 !important;

    margin:8px 0 0 !important;
    padding:14px 0 !important;

    border-top:1px solid rgba(36,32,29,.13) !important;
    border-bottom:0 !important;
}

.shan-purchase--cart
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__label{
    font-size:19px !important;
    line-height:1.15 !important;
}

.shan-purchase--cart
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__value{
    font-size:19px !important;
    line-height:1.15 !important;
}


/* ==========================================================
   6. ESTIMATED TOTAL -> CHECKOUT FLOW
   ========================================================== */

.shan-purchase--cart .wc-block-cart__submit{
    margin:8px 0 0 !important;
    padding:0 !important;
}

.shan-purchase--cart .wc-block-cart__submit-button{
    min-height:50px !important;
}


/* Payment area */

.shan-purchase--cart .wc-block-components-express-payment{
    margin:9px 0 0 !important;
    padding:9px 0 0 !important;
}

.shan-purchase--cart
.wc-block-components-express-payment
button{
    margin-top:0 !important;
    margin-bottom:6px !important;
}


/* ==========================================================
   7. TRUST STRIP FINAL READABILITY
   ========================================================== */

.shan-purchase--cart .hh-approved-cart-trust{
    margin-top:9px !important;
    padding-top:13px !important;
}

.shan-purchase--cart .hh-approved-cart-trust__item{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;

    padding:0 7px !important;

    text-align:center !important;
}

.shan-purchase--cart .hh-approved-cart-trust__icon{
    width:38px !important;
    height:38px !important;

    margin-bottom:7px !important;
}

.shan-purchase--cart .hh-approved-cart-trust strong{
    min-height:28px !important;

    margin:0 0 3px !important;

    font-size:11px !important;
    font-weight:700 !important;

    line-height:1.25 !important;
}

.shan-purchase--cart .hh-approved-cart-trust small{
    max-width:105px !important;

    font-size:10.5px !important;
    font-weight:400 !important;

    line-height:1.3 !important;
}


/* ==========================================================
   BOTTOM LEFT ACTIONS
   ========================================================== */

.shan-purchase--cart .hh-cart-actions{
    margin-top:13px !important;
}

}

/* END HH CART ROUND 5 FINISH 20260923 */


/* ==========================================================
   HH CART FINAL PRODUCTION POLISH 20260923
   Desktop only
   ========================================================== */

@media (min-width:1024px){

/* ----------------------------------------------------------
   1. REMOVE OBSOLETE UPDATE CART
   Woo Cart Block updates quantities dynamically.
   ---------------------------------------------------------- */

.shan-purchase--cart
.hh-cart-actions
.hh-cart-action-button:last-child{
    display:none !important;
}

.shan-purchase--cart .hh-cart-actions{
    display:flex !important;
    justify-content:flex-start !important;
    align-items:center !important;

    margin-top:12px !important;
}


/* ----------------------------------------------------------
   2. CONTINUE SHOPPING AS SECONDARY ACTION
   ---------------------------------------------------------- */

.shan-purchase--cart
.hh-cart-actions
.hh-cart-action-button:first-child{
    min-width:0 !important;
    min-height:0 !important;

    padding:7px 2px !important;

    border:0 !important;
    border-radius:0 !important;

    background:transparent !important;

    color:var(--shan-ink) !important;

    font-size:12px !important;
    font-weight:600 !important;

    text-decoration:none !important;
}

.shan-purchase--cart
.hh-cart-actions
.hh-cart-action-button:first-child:hover{
    color:var(--shan-burgundy) !important;
    text-decoration:underline !important;
    text-underline-offset:3px !important;
}


/* ----------------------------------------------------------
   3. PRODUCT SECONDARY ACTION
   ---------------------------------------------------------- */

.shan-purchase--cart .hh-cart-product-remove{
    margin-top:8px !important;

    color:#625b56 !important;

    font-size:11.5px !important;
    font-weight:500 !important;

    opacity:1 !important;
}

.shan-purchase--cart .hh-cart-product-remove:hover{
    color:var(--shan-burgundy) !important;
    text-decoration:underline !important;
    text-underline-offset:2px !important;
}


/* ----------------------------------------------------------
   4. SAVINGS BADGE
   ---------------------------------------------------------- */

.shan-purchase--cart
.wc-block-cart-item__total
.wc-block-components-sale-badge{
    min-width:72px !important;
    min-height:25px !important;

    padding:5px 9px !important;

    background:rgba(114,30,43,.10) !important;

    color:var(--shan-burgundy) !important;

    font-size:11px !important;
    font-weight:650 !important;

    line-height:1 !important;

    white-space:nowrap !important;
}


/* ----------------------------------------------------------
   5. COMPACT ORDER SUMMARY
   ---------------------------------------------------------- */

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-totals-wrapper{
    min-height:0 !important;

    margin:0 !important;
    padding:8px 0 !important;
}

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-totals-item{
    min-height:0 !important;

    margin:0 !important;
    padding:0 !important;
}

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-totals-shipping{
    min-height:0 !important;

    margin:0 !important;
    padding:8px 0 !important;
}

.shan-purchase--cart
.wc-block-components-totals-shipping__via{
    margin:4px 0 0 !important;
}

.shan-purchase--cart .hh-cart-pickup-hint{
    margin:2px 0 0 !important;
}


/* ----------------------------------------------------------
   6. ONE CLEAN ESTIMATED-TOTAL DIVIDER
   ---------------------------------------------------------- */

.shan-purchase--cart
.wc-block-components-totals-footer-item{
    min-height:0 !important;

    margin:9px 0 0 !important;
    padding:15px 0 13px !important;

    border-top:1px solid rgba(36,32,29,.16) !important;
    border-bottom:0 !important;
}

.shan-purchase--cart
.wc-block-components-totals-footer-item::before,
.shan-purchase--cart
.wc-block-components-totals-footer-item::after{
    display:none !important;
}


/* ----------------------------------------------------------
   7. CHECKOUT CTA CLOSER TO TOTAL
   ---------------------------------------------------------- */

.shan-purchase--cart .wc-block-cart__submit{
    margin:7px 0 0 !important;
    padding:0 !important;
}

.shan-purchase--cart .wc-block-cart__submit-button{
    min-height:52px !important;

    font-size:12px !important;
    font-weight:700 !important;
}


/* ----------------------------------------------------------
   8. EXPRESS CHECKOUT HIERARCHY
   JS adds .hh-cart-express-label
   ---------------------------------------------------------- */

.shan-purchase--cart .hh-cart-express-label{
    display:flex !important;
    align-items:center !important;

    gap:12px !important;

    margin:14px 0 10px !important;

    color:#716861 !important;

    font-size:10px !important;
    font-weight:700 !important;

    letter-spacing:.07em !important;

    text-align:center !important;
    text-transform:uppercase !important;
}

.shan-purchase--cart .hh-cart-express-label::before,
.shan-purchase--cart .hh-cart-express-label::after{
    content:"" !important;

    flex:1 1 auto !important;

    height:1px !important;

    background:rgba(36,32,29,.14) !important;
}

.shan-purchase--cart .wc-block-components-express-payment{
    margin:0 !important;
    padding:0 !important;
}


/* Hide old generic OR when our explicit hierarchy is present */

.shan-purchase--cart
.hh-cart-express-label
~ .wc-block-components-express-payment
.wc-block-components-express-payment__separator,
.shan-purchase--cart
.hh-cart-express-label
~ .wc-block-components-express-payment
.wc-block-components-express-payment__separator-container{
    display:none !important;
}


/* ----------------------------------------------------------
   9. TRUST STRIP
   ---------------------------------------------------------- */

.shan-purchase--cart .hh-approved-cart-trust{
    margin-top:12px !important;
    padding-top:15px !important;

    border-top:1px solid rgba(36,32,29,.12) !important;
}

.shan-purchase--cart .hh-approved-cart-trust{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

.shan-purchase--cart .hh-approved-cart-trust__item{
    min-width:0 !important;

    padding:0 9px !important;
}

.shan-purchase--cart .hh-approved-cart-trust strong{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    min-height:28px !important;

    font-size:11px !important;
    line-height:1.2 !important;
}

.shan-purchase--cart .hh-approved-cart-trust small{
    display:block !important;

    max-width:110px !important;

    margin:0 auto !important;

    color:#716861 !important;

    font-size:10.5px !important;
    line-height:1.3 !important;
}


/* ----------------------------------------------------------
   10. FREE-SHIPPING PROGRESS MESSAGE
   JS calculates remaining amount from live cart subtotal.
   ---------------------------------------------------------- */

.shan-purchase--cart .hh-cart-shipping-progress{
    display:none !important; /* Retired desktop progress message. */
    margin:0 0 12px !important;
    padding:10px 12px !important;

    border:1px solid rgba(114,30,43,.12) !important;
    border-radius:4px !important;

    background:rgba(114,30,43,.035) !important;

    color:#514b47 !important;

    font-size:11.5px !important;
    font-weight:500 !important;

    line-height:1.4 !important;

    text-align:center !important;
}

.shan-purchase--cart
.hh-cart-shipping-progress strong{
    color:var(--shan-burgundy) !important;
    font-weight:700 !important;
}


/* ----------------------------------------------------------
   11. KEYBOARD FOCUS
   ---------------------------------------------------------- */

.shan-purchase--cart button:focus-visible,
.shan-purchase--cart a:focus-visible,
.shan-purchase--cart input:focus-visible{
    outline:2px solid var(--shan-burgundy) !important;
    outline-offset:3px !important;
}

}

/* END HH CART FINAL PRODUCTION POLISH 20260923 */


/* ==========================================================
   HH CART - REMOVE DUPLICATE EXPRESS PAYMENT OR 20260923
   Keep our "OR EXPRESS CHECKOUT"; hide Woo's lower separator.
   Desktop only.
   ========================================================== */

@media (min-width:1024px){

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-express-payment
.wc-block-components-express-payment__event-buttons
~ div:has(> span){
    display:none !important;
}

/* Known Woo express-payment separator variants */
.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-express-payment__separator,

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-express-payment__separator-container,

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-express-payment
.wc-block-components-express-payment__separator{
    display:none !important;
}

}

/* END HH CART - REMOVE DUPLICATE EXPRESS PAYMENT OR 20260923 */


/* ==========================================================
   HH CART - REMOVE BOTTOM OR + TRUST SECTION 20260923
   Desktop only
   ========================================================== */

@media (min-width:1024px){

/* Remove HH trust strip completely */
.shan-purchase--cart .hh-approved-cart-trust{
    display:none !important;
}

/*
 * Remove Woo's remaining OR separator below
 * the express-payment buttons.
 */
.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-express-payment__separator,

.shan-purchase--cart
.wc-block-cart__sidebar
.wc-block-components-express-payment__separator-container{
    display:none !important;
}

/* Remove unnecessary bottom spacing after express checkout */
.shan-purchase--cart .wc-block-components-express-payment{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
}

}

/* END HH CART - REMOVE BOTTOM OR + TRUST SECTION 20260923 */


/* HH CART - HIDE WOO EXPRESS CONTINUE RULE 20260923 */
@media (min-width:1024px){
    .shan-purchase--cart
    .wc-block-components-express-payment-continue-rule{
        display:none !important;
    }
}
/* END HH CART - HIDE WOO EXPRESS CONTINUE RULE 20260923 */


/* HH CART - SINGLE ESTIMATED TOTAL DIVIDER 20260923 */
@media (min-width:1024px){

    /* Remove Woo divider immediately before Estimated Total */
    .shan-purchase--cart
    .wc-block-cart__sidebar
    .wc-block-components-totals-wrapper:has(
        + .wc-block-components-totals-footer-item
    ){
        border-bottom:0 !important;
    }

    /* Keep exactly one intentional divider */
    .shan-purchase--cart
    .wc-block-components-totals-footer-item{
        border-top:1px solid rgba(36,32,29,.16) !important;
    }

}
/* END HH CART - SINGLE ESTIMATED TOTAL DIVIDER 20260923 */



/* HH CART - ESTIMATED TOTAL SINGLE BORDER FIX 20260923 */
@media (min-width:1024px){

    .shan-purchase--cart
    .wc-block-cart__sidebar
    .wc-block-components-totals-item.wc-block-components-totals-footer-item{
        border:0 !important;
        border-top:1px solid rgba(36,32,29,.16) !important;
    }

}
/* END HH CART - ESTIMATED TOTAL SINGLE BORDER FIX 20260923 */


/* HH CART - REMOVE ESTIMATED TOTAL EXTRA BORDER 20260923 */
@media (min-width:1024px){
    .shan-purchase--cart
    .wc-block-cart__sidebar
    .wc-block-components-totals-item.wc-block-components-totals-footer-item{
        border-top:none !important;
    }
}
/* END HH CART - REMOVE ESTIMATED TOTAL EXTRA BORDER 20260923 */


/* HH CART - SHIPPING DETAIL FONT SIZE 20260923 */
@media (min-width:1024px){

    .shan-purchase--cart
    .wc-block-components-totals-shipping__via,
    
    .shan-purchase--cart
    .hh-cart-pickup-hint{
        font-size:12px !important;
    }

}
/* END HH CART - SHIPPING DETAIL FONT SIZE 20260923 */

/* ==========================================================
   HH CART - COLLAPSIBLE COUPON 20260923
   Desktop only
   ========================================================== */

@media (min-width:1024px){

    .shan-purchase--cart .hh-cart-coupon-toggle{
        display:inline-flex;
        align-items:center;
        gap:6px;

        margin:0 0 12px;
        padding:0;

        border:0;
        background:transparent;

        color:#625b56;

        font:inherit;
        font-size:12px;
        font-weight:600;

        cursor:pointer;
    }

    .shan-purchase--cart .hh-cart-coupon-toggle:hover{
        color:var(--shan-burgundy);
    }

    .shan-purchase--cart .hh-cart-coupon-toggle::after{
        content:"+";
        font-size:16px;
        font-weight:400;
        line-height:1;
    }

    .shan-purchase--cart .hh-cart-coupon-toggle[aria-expanded="true"]::after{
        content:"−";
    }

    .shan-purchase--cart .hh-cart-coupon.hh-cart-coupon--collapsed{
        display:none !important;
    }

}

/* END HH CART - COLLAPSIBLE COUPON 20260923 */

/* ==========================================================
   HH CART - SAFE ADD COUPON CHEVRON 20260923
   Desktop only
   ========================================================== */

@media (min-width:1024px){

    .shan-purchase--cart .hh-cart-coupon-toggle{
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        width:100% !important;

        margin:0 !important;
        padding:13px 0 !important;

        border:0 !important;
        border-bottom:1px solid rgba(36,32,29,.12) !important;
        border-radius:0 !important;

        background:transparent !important;
        color:var(--shan-ink) !important;

        font-size:13px !important;
        font-weight:500 !important;
        line-height:1.2 !important;
        text-align:left !important;

        cursor:pointer !important;
    }

    .shan-purchase--cart .hh-cart-coupon-toggle::after{
        content:"" !important;

        width:7px !important;
        height:7px !important;
        margin-right:3px !important;

        border-right:1.5px solid currentColor !important;
        border-bottom:1.5px solid currentColor !important;

        transform:rotate(45deg) !important;
        transition:transform .18s ease !important;
    }

    .shan-purchase--cart
    .hh-cart-coupon-toggle[aria-expanded="true"]::after{
        content:"" !important;
        transform:rotate(225deg) !important;
    }

    .shan-purchase--cart .hh-cart-coupon{
        margin-top:12px !important;
    }
}

/* END HH CART - SAFE ADD COUPON CHEVRON 20260923 */

/* ==========================================================
   HH CART - SHARED TOTALS UI 20260923
   Same totals hierarchy on desktop + mobile.
   ========================================================== */


/* ----------------------------------------------------------
   Shared Add Coupon row
   ---------------------------------------------------------- */

.shan-purchase--cart .hh-cart-coupon-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;

    width:100% !important;

    margin:0 !important;
    padding:13px 0 !important;

    border:0 !important;
    border-bottom:0 !important;
    border-radius:0 !important;

    background:transparent !important;

    color:var(--shan-ink) !important;

    font:inherit !important;
    font-size:13px !important;
    font-weight:500 !important;
    line-height:1.2 !important;

    text-align:left !important;

    cursor:pointer !important;
}


.shan-purchase--cart .hh-cart-coupon-toggle::after{
    content:"" !important;

    width:7px !important;
    height:7px !important;

    margin-right:3px !important;

    border-right:1.5px solid currentColor !important;
    border-bottom:1.5px solid currentColor !important;

    transform:rotate(45deg) !important;
    transform-origin:center !important;

    transition:transform .18s ease !important;
}


.shan-purchase--cart
.hh-cart-coupon-toggle[aria-expanded="true"]::after{
    content:"" !important;
    transform:rotate(225deg) !important;
}


.shan-purchase--cart
.hh-cart-coupon.hh-cart-coupon--collapsed{
    display:none !important;
}


.shan-purchase--cart .hh-cart-coupon{
    margin:0 0 12px !important;
    padding:0 !important;
}


/*
 * Separation belongs between the optional coupon area
 * and Estimated total.
 */
.shan-purchase--cart .hh-cart-coupon-toggle{
    margin-top:5px !important;
}


.shan-purchase--cart
.wc-block-components-totals-footer-item{
    margin-top:0 !important;
    padding-top:14px !important;

    border-top:1px solid rgba(36,32,29,.16) !important;
}


/* Keep the footer itself free from competing borders. */
.shan-purchase--cart
.wc-block-components-totals-item.wc-block-components-totals-footer-item{
    border-left:0 !important;
    border-right:0 !important;
    border-bottom:0 !important;
}


/* ----------------------------------------------------------
   Mobile
   Use the same content/order, only mobile spacing differs.
   ---------------------------------------------------------- */

@media (width < 1024px){

    .shan-purchase--cart .hh-cart-coupon-toggle{
        padding:14px 0 !important;
        font-size:14px !important;
    }

    .shan-purchase--cart .hh-cart-coupon{
        margin:0 0 12px !important;
    }

}


/* ----------------------------------------------------------
   Desktop
   Same component remains inside existing right-hand card.
   ---------------------------------------------------------- */

@media (min-width:1024px){

    .shan-purchase--cart .hh-cart-coupon-toggle{
        padding:13px 0 !important;
    }

}

/* END HH CART - SHARED TOTALS UI 20260923 */

/* ==========================================================
   HH CART - SHARED TOTALS FINAL ALIGNMENT 20260923
   Desktop + mobile
   ========================================================== */


/*
 * Add coupon is the boundary between calculations
 * and the final Estimated total section.
 */
.shan-purchase--cart .hh-cart-coupon-toggle{
    width:100% !important;

    margin:0 !important;
    padding:14px 0 !important;

    border:0 !important;
    border-top:1px solid rgba(36,32,29,.12) !important;
    border-bottom:0 !important;

    background:transparent !important;
}


/*
 * Expanded coupon form belongs directly beneath its toggle.
 */
.shan-purchase--cart .hh-cart-coupon{
    margin:0 0 12px !important;
    padding:0 !important;
}


/*
 * Collapsed means completely absent from layout.
 */
.shan-purchase--cart
.hh-cart-coupon.hh-cart-coupon--collapsed{
    display:none !important;
}


/*
 * Estimated total no longer needs another top divider.
 * The single divider is now above Add coupon.
 */
.shan-purchase--cart
.wc-block-components-totals-footer-item,

.shan-purchase--cart
.wc-block-components-totals-item.wc-block-components-totals-footer-item{
    border-top:0 !important;
}


/* Mobile gets the exact same structural treatment. */
@media (width < 1024px){

    .shan-purchase--cart .hh-cart-coupon-toggle{
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;

        font-size:14px !important;
    }

}


/* Desktop uses identical hierarchy with desktop typography. */
@media (min-width:1024px){

    .shan-purchase--cart .hh-cart-coupon-toggle{
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;

        font-size:13px !important;
    }

}

/* END HH CART - SHARED TOTALS FINAL ALIGNMENT 20260923 */

/* ==========================================================
   HH CART - NATIVE COUPON UNIFIED UI 20260923
   ========================================================== */

/* Retire previous custom coupon proxy UI. */
.shan-purchase--cart .hh-cart-coupon,
.shan-purchase--cart .hh-cart-coupon-toggle{
    display:none !important;
}


/* Make Woo native coupon visible and use it as the real UI. */
.shan-purchase--cart .wc-block-cart__sidebar
.wp-block-woocommerce-cart-order-summary-coupon-form-block{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    border-top:1px solid rgba(36,32,29,.12) !important;
    border-bottom:0 !important;
}


.shan-purchase--cart
.wp-block-woocommerce-cart-order-summary-coupon-form-block
.wc-block-components-totals-coupon{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
}


.shan-purchase--cart
.wp-block-woocommerce-cart-order-summary-coupon-form-block
.wc-block-components-panel__button{
    width:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:14px 0 !important;
    border:0 !important;
    background:transparent !important;
    font-size:14px !important;
    font-weight:500 !important;
}


/* Only divider is above coupon. */
.shan-purchase--cart
.wc-block-components-totals-footer-item{
    border-top:0 !important;
}


@media (width < 1024px){

    .shan-purchase--cart
    .wp-block-woocommerce-cart-order-summary-coupon-form-block
    .wc-block-components-panel__button{
        font-size:14px !important;
    }

}

/* END HH CART - NATIVE COUPON UNIFIED UI 20260923 */

/* ==========================================================
   HH CART - MOBILE PRODUCT CLEANUP 20260923
   Smaller product title + remove redundant unit price.
   ========================================================== */

@media (width < 1024px){

    /* Product name */
    .shan-purchase--cart
    .wc-block-cart-items__row
    .wc-block-components-product-name{
        font-size:18px !important;
        line-height:1.18 !important;
    }

    /* Redundant regular/sale unit price beneath product name */
    .shan-purchase--cart
    .wc-block-cart-items__row
    .wc-block-components-product-price{
        display:none !important;
    }

}

/* END HH CART - MOBILE PRODUCT CLEANUP 20260923 */

/* HH CART - MOBILE PRICE VISIBILITY CORRECTION 20260923 */

@media (width < 1024px){

    /* Restore cart line total accidentally hidden by broad selector. */
    .shan-purchase--cart
    .wc-block-cart-item__total
    .wc-block-components-product-price{
        display:block !important;
    }

}

/* END HH CART - MOBILE PRICE VISIBILITY CORRECTION 20260923 */

/* ==========================================================
   HH CART - MOBILE FINAL POLISH 20260923
   Product-row rhythm, typography and price hierarchy.
   ========================================================== */

@media (width < 1024px){

    /* ------------------------------------------
       Product row vertical rhythm
       ------------------------------------------ */

    .shan-purchase--cart
    .wc-block-cart-items__row{
        min-height:0 !important;
        padding-top:16px !important;
        padding-bottom:16px !important;
    }


    /* ------------------------------------------
       Product title
       ------------------------------------------ */

    .shan-purchase--cart
    .wc-block-cart-items__row
    .wc-block-components-product-name{
        margin-bottom:0 !important;

        font-size:18px !important;
        line-height:1.20 !important;
    }


    /* ------------------------------------------
       Hide ONLY redundant unit-price area
       beneath product name.
       ------------------------------------------ */

    .shan-purchase--cart
    .wc-block-cart-items__row
    .wc-block-cart-item__prices{
        display:none !important;
    }


    /* ------------------------------------------
       Explicitly preserve right-side line total
       ------------------------------------------ */

    .shan-purchase--cart
    .wc-block-cart-item__total{
        display:block !important;
    }

    .shan-purchase--cart
    .wc-block-cart-item__total
    .wc-block-components-product-price{
        display:block !important;
    }


    /* ------------------------------------------
       Keep savings directly with line total
       ------------------------------------------ */

    .shan-purchase--cart
    .wc-block-cart-item__total-price-and-sale-badge-wrapper{
        gap:5px !important;
    }


    /* ------------------------------------------
       Product dividers
       ------------------------------------------ */

    .shan-purchase--cart
    .wc-block-cart-items__row{
        border-bottom-color:rgba(36,32,29,.14) !important;
    }

}

/* END HH CART - MOBILE FINAL POLISH 20260923 */

/* ==========================================================
   HH CART - MOBILE FINAL LAYOUT CLEANUP 20260923
   Remove action placement + final vertical rhythm.
   ========================================================== */

@media (width < 1024px){

    /* ------------------------------------------
       Final product-to-totals spacing
       ------------------------------------------ */

    .shan-purchase--cart
    .wc-block-cart-items{
        margin-bottom:18px !important;
    }


    /* ------------------------------------------
       Quantity remains left-side action
       ------------------------------------------ */

    .shan-purchase--cart
    .wc-block-cart-items__row >
    .wc-block-cart-item__quantity{
        margin-right:0 !important;
    }


    /* ------------------------------------------
       Remove action:
       visually separate destructive action from
       quantity controls and align beneath total.
       ------------------------------------------ */

    .shan-purchase--cart
    .wc-block-cart-items__row{
        position:relative !important;
    }

    .shan-purchase--cart
    .hh-cart-product-remove{
        position:absolute !important;

        right:0 !important;
        bottom:16px !important;

        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;

        margin:0 !important;
        padding:4px !important;
    }

}

/* END HH CART - MOBILE FINAL LAYOUT CLEANUP 20260923 */

/* ==========================================================
   HH CART - MOBILE REMOVE POSITION 20260923
   Place Woo native remove action beneath price/savings.
   ========================================================== */

@media (width < 1024px){

    .shan-purchase--cart
    .wc-block-cart-items__row{
        position:relative !important;
    }

    .shan-purchase--cart
    .wc-block-cart-items__row
    .wc-block-cart-item__remove-link{
        position:absolute !important;

        top:auto !important;
        left:auto !important;
        right:0 !important;
        bottom:16px !important;

        margin:0 !important;

        transform:none !important;
    }

}

/* END HH CART - MOBILE REMOVE POSITION 20260923 */

/* ==========================================================
   HH CART - MOBILE REMOVE ITEM ACTION 20260923
   Native Woo remove button, presented as text below quantity.
   ========================================================== */

@media (width < 1024px){

    /*
     * Quantity wrapper becomes positioning reference
     * for the native Woo remove button.
     */
    .shan-purchase--cart
    .wc-block-cart-items__row >
    .wc-block-cart-item__quantity{
        position:relative !important;
        overflow:visible !important;
        margin-bottom:24px !important;
    }


    /*
     * Woo native remove button.
     * Keep functionality, replace visual trash icon with text.
     */
    .shan-purchase--cart
    .wc-block-cart-items__row
    .wc-block-cart-item__remove-link{
        position:absolute !important;

        top:100% !important;
        left:0 !important;
        right:auto !important;
        bottom:auto !important;

        display:block !important;

        width:auto !important;
        height:auto !important;
        min-width:0 !important;
        min-height:0 !important;

        margin:7px 0 0 !important;
        padding:0 !important;

        border:0 !important;
        background:transparent !important;

        color:var(--shan-burgundy) !important;

        font-size:12px !important;
        font-weight:500 !important;
        line-height:1.25 !important;

        text-decoration:none !important;

        transform:none !important;
    }


    /*
     * Hide Woo trash-can graphic.
     */
    .shan-purchase--cart
    .wc-block-cart-items__row
    .wc-block-cart-item__remove-link svg{
        display:none !important;
    }


    /*
     * Visible customer-facing label.
     */
    .shan-purchase--cart
    .wc-block-cart-items__row
    .wc-block-cart-item__remove-link::after{
        content:"Remove item" !important;
        display:block !important;
    }

}

/* END HH CART - MOBILE REMOVE ITEM ACTION 20260923 */

/* ==========================================================
   HH CART - MOBILE REMOVE ITEM ALIGNMENT FIX 20260923
   Keep Remove item directly beneath quantity selector.
   ========================================================== */

@media (width < 1024px){

    .shan-purchase--cart
    .wc-block-cart-items__row >
    .wc-block-cart-item__quantity{
        position:static !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;

        width:144px !important;
        height:auto !important;

        margin:0 !important;
        overflow:visible !important;
    }


    .shan-purchase--cart
    .wc-block-cart-items__row >
    .wc-block-cart-item__quantity
    .wc-block-components-quantity-selector{
        flex:0 0 auto !important;
        margin:0 !important;
    }


    .shan-purchase--cart
    .wc-block-cart-items__row >
    .wc-block-cart-item__quantity
    .wc-block-cart-item__remove-link{
        position:static !important;

        display:block !important;

        width:auto !important;
        height:auto !important;
        min-width:0 !important;
        min-height:0 !important;

        margin:7px 0 0 !important;
        padding:0 !important;

        border:0 !important;
        background:transparent !important;

        color:var(--shan-burgundy) !important;

        font-size:12px !important;
        font-weight:500 !important;
        line-height:1.2 !important;

        text-decoration:none !important;

        transform:none !important;
    }


    .shan-purchase--cart
    .wc-block-cart-item__quantity
    .wc-block-cart-item__remove-link svg{
        display:none !important;
    }


    .shan-purchase--cart
    .wc-block-cart-item__quantity
    .wc-block-cart-item__remove-link::after{
        content:"Remove item" !important;
        display:block !important;
    }

}

/* END HH CART - MOBILE REMOVE ITEM ALIGNMENT FIX 20260923 */

/* ==========================================================
   HH CART - MOBILE REMOVE ITEM FINAL 20260923
   Exact DOM:
   .wc-block-cart-item__quantity
      quantity-selector
      remove-link
   ========================================================== */

@media (width < 1024px){

    .shan-purchase--cart
    .wc-block-cart-item__wrap
    .wc-block-cart-item__quantity{
        position:static !important;

        display:grid !important;
        grid-template-columns:108px !important;
        grid-template-rows:auto auto !important;

        width:108px !important;
        height:auto !important;

        margin:0 !important;
        padding:0 !important;

        gap:6px !important;

        overflow:visible !important;
    }


    .shan-purchase--cart
    .wc-block-cart-item__wrap
    .wc-block-cart-item__quantity
    .wc-block-components-quantity-selector{
        position:static !important;

        grid-column:1 !important;
        grid-row:1 !important;

        width:108px !important;
        margin:0 !important;

        transform:none !important;
    }


    .shan-purchase--cart
    .wc-block-cart-item__wrap
    .wc-block-cart-item__quantity
    .wc-block-cart-item__remove-link{
        position:static !important;

        grid-column:1 !important;
        grid-row:2 !important;

        display:block !important;

        width:max-content !important;
        height:auto !important;
        min-width:0 !important;
        min-height:0 !important;

        margin:0 !important;
        padding:0 !important;

        border:0 !important;
        background:none !important;
        box-shadow:none !important;

        color:var(--shan-burgundy) !important;

        font-size:12px !important;
        font-weight:500 !important;
        line-height:1.25 !important;

        text-align:left !important;
        text-decoration:none !important;

        inset:auto !important;
        transform:none !important;
    }


    .shan-purchase--cart
    .wc-block-cart-item__wrap
    .wc-block-cart-item__quantity
    .wc-block-cart-item__remove-link svg{
        display:none !important;
    }


    .shan-purchase--cart
    .wc-block-cart-item__wrap
    .wc-block-cart-item__quantity
    .wc-block-cart-item__remove-link::before{
        display:none !important;
        content:none !important;
    }


    .shan-purchase--cart
    .wc-block-cart-item__wrap
    .wc-block-cart-item__quantity
    .wc-block-cart-item__remove-link::after{
        content:"Remove item" !important;
        display:block !important;
    }

}

/* END HH CART - MOBILE REMOVE ITEM FINAL 20260923 */

/* HH CART - MOBILE REMOVE ITEM BREATHING SPACE 20260923 */

@media (width < 1024px){

    .shan-purchase--cart
    .wc-block-cart-item__wrap
    .wc-block-cart-item__quantity{
        row-gap:11px !important;
    }

}

/* END HH CART - MOBILE REMOVE ITEM BREATHING SPACE 20260923 */

/* HH CART - MOBILE REMOVE ITEM SAFE SPACING 20260923 */

@media (width < 1024px){

    .shan-purchase--cart
    .wc-block-cart-item__wrap
    .wc-block-cart-item__quantity{
        row-gap:16px !important;
    }

}

/* END HH CART - MOBILE REMOVE ITEM SAFE SPACING 20260923 */

/* ==========================================================
   HH CART - MOBILE NOTICE POLISH 20260923
   Woo snackbar, HH visual treatment.
   ========================================================== */

@media (width < 1024px){

    /* Snackbar positioning / breathing room */
    .shan-purchase--cart
    .wc-block-components-notices__snackbar{
        left:16px !important;
        right:16px !important;

        width:auto !important;
        max-width:none !important;
    }


    /* Notice card */
    .shan-purchase--cart
    .wc-block-components-notice-snackbar{
        position:relative !important;

        margin:0 !important;
        padding:15px 46px 15px 16px !important;

        border:1px solid rgba(114,30,43,.20) !important;
        border-left:4px solid var(--shan-burgundy) !important;
        border-radius:8px !important;

        background:var(--shan-paper) !important;

        box-shadow:
            0 8px 24px rgba(36,32,29,.14),
            0 2px 6px rgba(36,32,29,.06) !important;
    }


    /* Woo info icon -> HH accent */
    .shan-purchase--cart
    .wc-block-components-notice-snackbar > svg{
        width:22px !important;
        height:22px !important;

        color:var(--shan-burgundy) !important;
        fill:var(--shan-burgundy) !important;
    }


    /* Message */
    .shan-purchase--cart
    .wc-block-components-notice-banner__content{
        color:var(--shan-ink) !important;

        font-size:15px !important;
        font-weight:500 !important;
        line-height:1.45 !important;
    }


    /* Dismiss button */
    .shan-purchase--cart
    .wc-block-components-notice-banner__dismiss{
        position:absolute !important;

        top:50% !important;
        right:12px !important;

        width:32px !important;
        height:32px !important;
        min-width:32px !important;

        margin:0 !important;
        padding:4px !important;

        border:0 !important;
        background:transparent !important;

        transform:translateY(-50%) !important;
    }


    .shan-purchase--cart
    .wc-block-components-notice-banner__dismiss svg{
        width:20px !important;
        height:20px !important;
    }

}

/* END HH CART - MOBILE NOTICE POLISH 20260923 */

/* ==========================================================
   HH CART - MOBILE NOTICE ICON BRAND COLOR 20260923
   ========================================================== */

@media (width < 1024px){

    .shan-purchase--cart
    .wc-block-components-notice-snackbar.is-info > svg{
        background:#721e2b !important;
        fill:#ffffff !important;
        color:#ffffff !important;

        border-radius:50% !important;
        padding:2px !important;
    }

    .shan-purchase--cart
    .wc-block-components-notice-snackbar.is-info > svg path{
        fill:#ffffff !important;
    }

}

/* END HH CART - MOBILE NOTICE ICON BRAND COLOR 20260923 */

/* ==========================================================
   HH CART - MOBILE FINAL VISUAL POLISH 20260923
   Final product rhythm + savings badge + payment hierarchy.
   ========================================================== */

@media (width < 1024px){

    /* -------------------------------------------------------
       1. PRODUCT ROW BREATHING ROOM
       ------------------------------------------------------- */

    .shan-purchase--cart
    .wc-block-cart-items__row{
        padding-top:18px !important;
        padding-bottom:24px !important;
    }


    /*
     * Preserve the final safe finger spacing between
     * quantity selector and Remove item.
     */
    .shan-purchase--cart
    .wc-block-cart-item__wrap
    .wc-block-cart-item__quantity{
        row-gap:16px !important;
    }


    /* -------------------------------------------------------
       2. HH SAVINGS BADGE
       Keep Woo's live savings amount.
       ------------------------------------------------------- */

    .shan-purchase--cart
    .wc-block-cart-item__total
    .wc-block-components-sale-badge{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:max-content !important;
        min-height:0 !important;

        margin:1px 0 0 !important;
        padding:4px 8px !important;

        border:1px solid rgba(114,30,43,.16) !important;
        border-radius:5px !important;

        background:rgba(114,30,43,.06) !important;
        color:var(--shan-burgundy) !important;

        font-size:11px !important;
        font-weight:600 !important;
        line-height:1.2 !important;

        letter-spacing:0 !important;
        text-transform:none !important;
        white-space:nowrap !important;
    }


    /* -------------------------------------------------------
       3. MOBILE PAYMENT RHYTHM

       JS supplies structural order:
       Proceed to Checkout
       OR EXPRESS CHECKOUT
       Express buttons
       ------------------------------------------------------- */

    .shan-purchase--cart
    .wc-block-cart__submit{
        margin-top:20px !important;
        margin-bottom:0 !important;
    }


    .shan-purchase--cart
    .hh-cart-mobile-express-label{
        display:flex !important;
        align-items:center !important;
        gap:12px !important;

        width:100% !important;
        margin:18px 0 14px !important;

        color:var(--shan-muted) !important;

        font-size:11px !important;
        font-weight:600 !important;
        line-height:1 !important;

        letter-spacing:.08em !important;
        text-transform:uppercase !important;
        white-space:nowrap !important;
    }


    .shan-purchase--cart
    .hh-cart-mobile-express-label::before,
    .shan-purchase--cart
    .hh-cart-mobile-express-label::after{
        content:"" !important;
        display:block !important;
        flex:1 1 auto !important;
        height:1px !important;
        background:rgba(36,32,29,.14) !important;
    }


    /*
     * Desktop label is not the mobile separator.
     * Mobile receives its own label from the structural JS.
     */
    .shan-purchase--cart
    .hh-cart-express-label{
        display:none !important;
    }


    /*
     * Woo's own OR / continue separator would duplicate
     * our intentional mobile separator.
     */
    .shan-purchase--cart
    .wc-block-components-express-payment__separator,
    .shan-purchase--cart
    .wc-block-components-express-payment__separator-container,
    .shan-purchase--cart
    .wc-block-components-express-payment-continue-rule{
        display:none !important;
    }


    .shan-purchase--cart
    .wc-block-components-express-payment{
        margin-top:0 !important;
        margin-bottom:0 !important;
        padding-top:0 !important;
    }

}

/* END HH CART - MOBILE FINAL VISUAL POLISH 20260923 */

/* ==========================================================
   HH CART - CHECKOUT BUTTON 48PX 20260923
   Match Stripe express checkout button height.
   ========================================================== */

.shan-purchase--cart
.wc-block-cart__submit-button{
    box-sizing:border-box !important;

    width:100% !important;
    height:48px !important;
    min-height:48px !important;

    padding:0 20px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

/* END HH CART - CHECKOUT BUTTON 48PX 20260923 */

/* ==========================================================
   HH SHARED CHECKOUT PRIMARY BUTTONS 20260923
   Proceed to Checkout + Place Order
   ========================================================== */

.shan-purchase .wc-block-cart__submit-button,
.shan-purchase .wc-block-components-checkout-place-order-button{
    box-sizing:border-box !important;

    width:100% !important;
    height:48px !important;
    min-height:48px !important;

    padding:0 20px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    border:1px solid var(--shan-burgundy) !important;
    border-radius:0 !important;

    background:var(--shan-burgundy) !important;
    color:#fff !important;

    font-family:var(--shan-sans) !important;
    font-size:14.667px !important;
    font-weight:800 !important;
    line-height:1 !important;
    letter-spacing:.09em !important;
    text-transform:uppercase !important;

    text-decoration:none !important;
    box-shadow:none !important;
}

.shan-purchase .wc-block-cart__submit-button *,
.shan-purchase .wc-block-components-checkout-place-order-button *{
    font:inherit !important;
    letter-spacing:inherit !important;
    text-transform:inherit !important;
    color:inherit !important;
}

.shan-purchase .wc-block-cart__submit-button:hover,
.shan-purchase .wc-block-cart__submit-button:focus,
.shan-purchase .wc-block-components-checkout-place-order-button:hover,
.shan-purchase .wc-block-components-checkout-place-order-button:focus{
    border-color:var(--shan-dark-red) !important;
    background:var(--shan-dark-red) !important;
    color:#fff !important;
}

/* END HH SHARED CHECKOUT PRIMARY BUTTONS 20260923 */

/* HH SHARED CHECKOUT BUTTON RADIUS 20260923 */
.shan-purchase .wc-block-cart__submit-button,
.shan-purchase .wc-block-components-checkout-place-order-button{
    border-radius:5px !important;
}
/* END HH SHARED CHECKOUT BUTTON RADIUS 20260923 */


/* HH Compact fluid content: approved phone geometry remains at <=560px. */
.shan-commerce--single .woocommerce-product-gallery .flex-viewport{
    /* Follow the fluid slide track instead of a stale pre-resize inline height. */
    height:auto !important;
}
@media (width < 1024px){
    /* Neutralize the wishlist plugin's independent tablet table presentation. */
    .tinv-wishlist table.tinvwl-table-manage-list td.product-thumbnail{
        max-width:none !important;
    }
    .tinv-wishlist .product-action .button .tinvwl-txt{
        display:inline !important;
    }
    /* Prevent intrinsic content from expanding the single compact column. */
    .shan-commerce--single div.product{
        grid-template-columns:minmax(0,1fr) !important;
    }
    .shan-commerce--single div.product > *{
        min-width:0;
    }
    .shan-commerce--single div.product div.images{
        width:100% !important;
        max-width:560px !important;
        justify-self:center;
    }
    .shan-commerce--single .shan-single-price{
        flex-wrap:wrap !important;
    }
}
@media (max-width:374px){
    /* Keep the compact row usable on narrow phones without clipping controls. */
    .shan-purchase--cart table.wc-block-cart-items .wc-block-cart-items__row{
        grid-template-columns:56px minmax(0,1fr) auto;
        column-gap:8px;
    }
    .shan-purchase--cart .wc-block-cart-item__image img{
        width:56px !important;
        max-width:56px !important;
    }
}
@media (min-width:561px) and (width < 1024px){
    .tinv-wishlist table.tinvwl-table-manage-list tbody{
        grid-template-columns:repeat(auto-fill,minmax(210px,1fr)) !important;
    }
    .shan-commerce--single .related ul.products{
        grid-template-columns:repeat(auto-fit,minmax(210px,1fr)) !important;
    }
}


/* ==========================================================
   HH CHECKOUT RECOVERY LAYER 20260923
   Recovered after responsive consolidation regression.
   ========================================================== */
/* HH DESKTOP CART COUNT COLOR REVERSAL 20260923 */
@media (min-width:1024px){
    .shan-cart-count{
        background:#fff !important;
        color:#721e2b !important;
    }
}
/* END HH DESKTOP CART COUNT COLOR REVERSAL 20260923 */

/* HH DESKTOP UTILITY CART - REVERSED BADGE COLORS */
@media (min-width:1024px){
  .shan-utility-actions .shan-utility-cart-link .shan-cart-count{
    background:#fff !important;
    color:#721e2b !important;
  }
}
/* END HH DESKTOP UTILITY CART - REVERSED BADGE COLORS */


/* ==========================================================
   HH DESKTOP CHECKOUT - TWO COLUMN GRID
   Desktop >=1024px only. Compact/mobile untouched.
   ========================================================== */

@media (min-width:1024px){

  .shan-purchase--checkout
  > .shan-purchase__content
  > .shan-shell
  > .wp-block-woocommerce-checkout
  > .wc-block-components-sidebar-layout{
      display:grid !important;
      grid-template-columns:minmax(0, 1fr) 420px !important;
      gap:56px !important;
      width:100% !important;
      max-width:none !important;
      align-items:start !important;
  }

  .shan-purchase--checkout
  .wc-block-components-sidebar-layout
  > .wc-block-components-main{
      width:auto !important;
      max-width:none !important;
      min-width:0 !important;
      padding:0 !important;
      margin:0 !important;
  }

  .shan-purchase--checkout
  .wc-block-components-sidebar-layout
  > .wc-block-components-sidebar{
      width:auto !important;
      max-width:none !important;
      min-width:0 !important;
      padding:0 !important;
      margin:0 !important;
  }

}

/* END HH DESKTOP CHECKOUT - TWO COLUMN GRID */


/* ==========================================================


/* ==========================================================


/* ==========================================================


/* ==========================================================


/* ==========================================================
   HH CHECKOUT - EXPRESS CONTACT POLISH 20260923
   Desktop >=1024px ONLY
   ========================================================== */

@media (min-width:1024px){

    /* -------------------------------------------------------
       EXPRESS CHECKOUT CONTAINER
       Keep Stripe buttons themselves completely untouched.
       ------------------------------------------------------- */

    .shan-purchase--checkout
    .wc-block-components-express-payment{
        margin:0 0 26px !important;
        padding:0 !important;
    }

    .shan-purchase--checkout
    .wc-block-components-express-payment__content{
        padding:16px 18px !important;

        border:1px solid rgba(36,32,29,.14) !important;
        border-radius:7px !important;

        background:rgba(255,250,241,.48) !important;
    }


    /* Express Checkout legend/title */

    .shan-purchase--checkout
    .wc-block-components-express-payment__title-container{
        margin:0 0 12px !important;
    }

    .shan-purchase--checkout
    .wc-block-components-express-payment__title{
        color:var(--shan-muted) !important;

        font-size:11px !important;
        font-weight:600 !important;

        letter-spacing:.055em !important;
        text-transform:uppercase !important;
    }


    /* -------------------------------------------------------
       "OR CONTINUE BELOW"
       ------------------------------------------------------- */

    .shan-purchase--checkout
    .wc-block-components-express-payment-continue-rule{
        display:flex !important;
        align-items:center !important;

        gap:12px !important;

        margin:18px 0 26px !important;

        color:var(--shan-muted) !important;

        font-size:10px !important;
        font-weight:600 !important;

        letter-spacing:.045em !important;
        text-transform:uppercase !important;
    }

    .shan-purchase--checkout
    .wc-block-components-express-payment-continue-rule::before,

    .shan-purchase--checkout
    .wc-block-components-express-payment-continue-rule::after{
        content:"";

        flex:1 1 auto;

        height:1px;

        background:rgba(36,32,29,.13);
    }


    /* -------------------------------------------------------
       CHECKOUT SECTION HEADINGS
       ------------------------------------------------------- */

    .shan-purchase--checkout
    .wc-block-components-checkout-step__heading{
        margin:0 0 14px !important;
    }

    .shan-purchase--checkout
    .wc-block-components-checkout-step__title{
        margin:0 !important;

        color:var(--shan-ink) !important;

        font-family:var(--shan-serif) !important;
        font-size:23px !important;
        font-weight:500 !important;
        line-height:1.15 !important;

        letter-spacing:-.01em !important;
    }


    /* -------------------------------------------------------
       CONTACT INFORMATION
       ------------------------------------------------------- */

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-contact-information-block{
        margin-bottom:26px !important;
        padding-bottom:26px !important;

        border-bottom:1px solid rgba(36,32,29,.12) !important;
    }


    /* Email input */

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-contact-information-block
    .wc-block-components-text-input input{
        min-height:50px !important;

        border:1px solid rgba(36,32,29,.22) !important;
        border-radius:6px !important;

        background:#fff !important;

        color:var(--shan-ink) !important;

        font-size:14px !important;

        box-shadow:none !important;
    }

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-contact-information-block
    .wc-block-components-text-input input:focus{
        border-color:var(--shan-burgundy) !important;

        box-shadow:
            0 0 0 1px var(--shan-burgundy) !important;

        outline:none !important;
    }


    /* Guest checkout helper */

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-contact-information-block
    .wc-block-components-checkout-step__description{
        margin-top:7px !important;

        color:var(--shan-muted) !important;

        font-size:12px !important;
        line-height:1.4 !important;
    }


    /* Create-account checkbox line */

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-contact-information-block
    .wc-block-components-checkbox{
        margin-top:12px !important;
    }

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-contact-information-block
    .wc-block-components-checkbox__label{
        color:var(--shan-ink) !important;

        font-size:12px !important;
        line-height:1.35 !important;
    }

}

/* END HH CHECKOUT - EXPRESS CONTACT POLISH 20260923 */


/* ==========================================================


/* ==========================================================


/* ==========================================================


/* ==========================================================
   HH DESKTOP CHECKOUT - CART MIRROR SUMMARY 20260923
   Approved Cart accounting presentation reused in Checkout.
   Desktop only. Compact/mobile untouched.
   ========================================================== */

@media (min-width:1024px){

    /*
     * Summary card
     */

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-block{
        overflow:hidden !important;

        border:1px solid rgba(36,32,29,.16) !important;
        border-radius:8px !important;

        background:var(--shan-cream) !important;
    }


    /*
     * Product area
     */

    .shan-purchase--checkout
    .wc-block-components-order-summary{
        padding:0 18px !important;
    }

    .shan-purchase--checkout
    .wc-block-components-order-summary
    .wc-block-components-order-summary-item{
        padding:15px 0 !important;
    }

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__image{
        width:76px !important;
    }

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__image img{
        border-radius:5px !important;
    }

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__description{
        padding-left:12px !important;
    }

    .shan-purchase--checkout
    .wc-block-components-product-name{
        margin:0 0 5px !important;

        color:var(--shan-ink) !important;

        font-family:var(--shan-serif) !important;
        font-size:14px !important;
        font-weight:500 !important;
        line-height:1.3 !important;
    }

    /*
     * Checkout summary does not need catalog metadata.
     */

    .shan-purchase--checkout
    .wc-block-components-order-summary
    .wc-block-components-product-metadata{
        display:none !important;
    }

    /*
     * Keep useful regular-price context when Woo provides it.
     * Current line total remains at right.
     */

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__description
    .wc-block-cart-item__prices{
        display:block !important;

        margin:0 !important;

        color:var(--shan-muted) !important;

        font-size:10.5px !important;
        line-height:1.25 !important;
    }

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__description

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__description
    .wc-block-cart-item__prices ins{
        display:none !important;
    }

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__description
    .wc-block-components-sale-badge{
        display:none !important;
    }

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__total-price{
        color:var(--shan-ink) !important;

        font-size:13px !important;
        font-weight:600 !important;
        line-height:1.25 !important;
    }


    /*
     * Accounting group
     *
     * Mirror approved Cart rhythm:
     * Subtotal
     * Shipping
     * Est. Tax
     * Add coupons
     * Estimated total
     */

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-block
    .wc-block-components-totals-wrapper{
        min-height:0 !important;

        margin:0 !important;
        padding:9px 18px !important;

        border-bottom:0 !important;
    }

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-block
    .wc-block-components-totals-item{
        min-height:0 !important;

        margin:0 !important;
        padding:0 !important;

        font-size:13px !important;
        line-height:1.35 !important;
    }

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-block
    .wc-block-components-totals-item__label{
        color:var(--shan-ink) !important;

        font-size:13px !important;
        font-weight:400 !important;
        line-height:1.35 !important;
    }

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-block
    .wc-block-components-totals-item__value{
        color:var(--shan-ink) !important;

        font-size:13px !important;
        font-weight:500 !important;
        line-height:1.35 !important;
    }


    /*
     * Shipping details match Cart hierarchy.
     */

    .shan-purchase--checkout
    .wc-block-components-totals-shipping{
        min-height:0 !important;

        margin:0 !important;
        padding:0 !important;
    }

    .shan-purchase--checkout
    .wc-block-components-totals-shipping__via{
        margin:4px 0 0 !important;

        color:var(--shan-muted) !important;

        font-size:10.5px !important;
        line-height:1.35 !important;
    }

    .shan-purchase--checkout .hh-checkout-pickup-hint{
        margin:2px 0 0 !important;

        color:var(--shan-muted) !important;

        font-size:10.5px !important;
        line-height:1.35 !important;
    }


    /*
     * Estimated tax
     */

    .shan-purchase--checkout
    .wc-block-components-totals-taxes{
        min-height:0 !important;

        margin:0 !important;
        padding:0 !important;
    }

    .shan-purchase--checkout
    .hh-checkout-tax-pending
    .wc-block-components-totals-item__value{
        color:var(--shan-muted) !important;
        font-weight:400 !important;
    }


    /*
     * Coupon is an action between Tax and Estimated total.
     */

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-coupon-form-block{
        margin:0 !important;
        padding:9px 18px !important;

        border-top:1px solid rgba(36,32,29,.13) !important;
        border-bottom:0 !important;
    }

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-coupon-form-block
    .wc-block-components-panel__button{
        min-height:0 !important;

        margin:0 !important;
        padding:0 !important;

        color:#625b56 !important;

        font-size:12px !important;
        font-weight:600 !important;
        line-height:1.35 !important;
    }

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-coupon-form-block
    .wc-block-components-panel__button:hover{
        color:var(--shan-burgundy) !important;
    }


    /*
     * Estimated total
     */

    .shan-purchase--checkout
    .wc-block-components-totals-footer-item{
        min-height:0 !important;

        margin:0 !important;
        padding:14px 18px !important;

        border-top:1px solid rgba(36,32,29,.13) !important;
        border-bottom:0 !important;
    }

    .shan-purchase--checkout
    .wc-block-components-totals-footer-item
    .wc-block-components-totals-item__label{
        font-family:var(--shan-serif) !important;
        font-size:19px !important;
        font-weight:500 !important;
        line-height:1.15 !important;
    }

    .shan-purchase--checkout
    .wc-block-components-totals-footer-item
    .wc-block-components-totals-item__value{
        color:var(--shan-burgundy) !important;

        font-family:var(--shan-serif) !important;
        font-size:19px !important;
        font-weight:600 !important;
        line-height:1.15 !important;
    }

}

/* END HH DESKTOP CHECKOUT - CART MIRROR SUMMARY 20260923 */
/* ==========================================================
   HH DESKTOP CHECKOUT - CART TOTALS EXACT VISUAL MATCH 20260923
   Desktop only
   ========================================================== */

@media (min-width:1024px){

    /*
     * ACCOUNTING RHYTHM
     */

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-totals-block
    > .wc-block-components-totals-wrapper{
        margin:0 !important;
        padding:9px 18px !important;
        border:0 !important;
    }

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-totals-block
    .wc-block-components-totals-item{
        min-height:0 !important;
        margin:0 !important;
        padding:0 !important;
    }

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-totals-block
    .wc-block-components-totals-item__label,
    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-totals-block
    .wc-block-components-totals-item__value{
        font-size:13px !important;
        line-height:1.35 !important;
    }


    /*
     * SHIPPING
     */

    .shan-purchase--checkout
    .wc-block-components-totals-shipping{
        padding:0 !important;
    }

    .shan-purchase--checkout
    .wc-block-components-totals-shipping
    .wc-block-components-totals-item__label{
        font-size:13px !important;
        font-weight:400 !important;
    }

    .shan-purchase--checkout
    .wc-block-components-totals-shipping__via{
        margin:5px 0 0 !important;

        color:var(--shan-muted) !important;

        font-size:12px !important;
        line-height:1.35 !important;
    }

    .shan-purchase--checkout
    .hh-checkout-pickup-hint{
        margin:2px 0 0 !important;

        color:var(--shan-muted) !important;

        font-size:12px !important;
        line-height:1.35 !important;
    }


    /*
     * TAX
     */

    .shan-purchase--checkout
    .hh-checkout-tax-pending{
        padding-top:9px !important;
        padding-bottom:9px !important;
    }

    .shan-purchase--checkout
    .hh-checkout-tax-pending
    .wc-block-components-totals-item__value{
        color:var(--shan-ink) !important;
        font-weight:500 !important;
    }


    /*
     * COUPON
     */

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-coupon-form-block{
        margin:9px 18px 0 !important;
        padding:13px 0 !important;

        border-top:1px solid rgba(36,32,29,.13) !important;
        border-bottom:1px solid rgba(36,32,29,.13) !important;
    }

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-coupon-form-block
    .wc-block-components-panel__button{
        width:100% !important;

        margin:0 !important;
        padding:0 !important;

        justify-content:space-between !important;
        text-align:left !important;

        color:var(--shan-ink) !important;

        font-size:13px !important;
        font-weight:400 !important;
        line-height:1.35 !important;
    }


    /*
     * ESTIMATED TOTAL
     */

    .shan-purchase--checkout
    .wc-block-components-totals-footer-item{
        margin:0 18px !important;
        padding:10px 0 18px !important;

        border:0 !important;
        border-bottom:1px solid rgba(36,32,29,.18) !important;
    }

    .shan-purchase--checkout
    .wc-block-components-totals-footer-item
    .wc-block-components-totals-item__label{
        color:var(--shan-ink) !important;

        font-family:var(--shan-serif) !important;
        font-size:19px !important;
        font-weight:400 !important;
        line-height:1.15 !important;
    }

    .shan-purchase--checkout
    .wc-block-components-totals-footer-item
    .wc-block-components-totals-item__value{
        color:var(--shan-ink) !important;

        font-family:inherit !important;
        font-size:19px !important;
        font-weight:600 !important;
        line-height:1.15 !important;
    }

}

/* END HH DESKTOP CHECKOUT - CART TOTALS EXACT VISUAL MATCH 20260923 */

/* =========================================================
   HH DESKTOP CHECKOUT - QUANTITY BADGE POSITION 20260923
   Match approved Compact/mobile positioning.
   Desktop only.
   ========================================================= */

@media (min-width:1024px){

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__image{
        position:relative !important;
    }

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__quantity{
        position:absolute !important;

        top:-8px !important;
        right:-8px !important;

        margin:0 !important;

        transform:none !important;
    }

}

/* END HH DESKTOP CHECKOUT - QUANTITY BADGE POSITION 20260923 */

/* HH DESKTOP CHECKOUT - QUANTITY BADGE FINAL ALIGNMENT 20260923 */
@media (min-width:1024px){

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__quantity{
        top:-7px !important;
        right:5px !important;
    }

}
/* END HH DESKTOP CHECKOUT - QUANTITY BADGE FINAL ALIGNMENT 20260923 */

/* HH DESKTOP CHECKOUT - QTY CENTER ON IMAGE 20260923 */
@media (min-width:1024px){

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__image{
        position:relative !important;
    }

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__quantity{
        position:absolute !important;

        top:-8px !important;
        left:50% !important;
        right:auto !important;

        margin:0 !important;

        transform:translateX(-50%) !important;
    }

}
/* END HH DESKTOP CHECKOUT - QTY CENTER ON IMAGE 20260923 */

/* HH DESKTOP CHECKOUT - SUMMARY IMAGE FILL 20260923 */
@media (min-width:1024px){

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__image{
        width:76px !important;
        height:76px !important;
        flex:0 0 76px !important;

        overflow:visible !important;
    }

    .shan-purchase--checkout
    .wc-block-components-order-summary-item__image img{
        display:block !important;

        width:100% !important;
        height:100% !important;
        max-width:none !important;

        object-fit:cover !important;
        object-position:center !important;

        border-radius:5px !important;
    }

}
/* END HH DESKTOP CHECKOUT - SUMMARY IMAGE FILL 20260923 */

/* =========================================================
   HH CHECKOUT - QUANTITY TEXT 20260923
   Desktop + Compact/mobile.
   Woo quantity shown as Qty: X under product information.
   ========================================================= */

.shan-purchase--checkout
.wc-block-components-order-summary-item__quantity.hh-checkout-qty-text{
    position:static !important;

    display:block !important;

    width:auto !important;
    height:auto !important;
    min-width:0 !important;

    margin:4px 0 0 !important;
    padding:0 !important;

    border:0 !important;
    border-radius:0 !important;

    background:transparent !important;
    box-shadow:none !important;

    transform:none !important;

    color:var(--shan-muted) !important;

    font-size:12px !important;
    font-weight:400 !important;
    line-height:1.35 !important;

    text-align:left !important;
}

.shan-purchase--checkout
.wc-block-components-order-summary-item__quantity.hh-checkout-qty-text::before{
    content:"Qty: ";
}

.shan-purchase--checkout
.wc-block-components-order-summary-item__quantity.hh-checkout-qty-text
.screen-reader-text{
    position:absolute !important;
}

/* END HH CHECKOUT - QUANTITY TEXT 20260923 */

/* HH CHECKOUT - QUANTITY NUMBER VISIBILITY FIX 20260923 */

.shan-purchase--checkout
.wc-block-components-order-summary-item__quantity.hh-checkout-qty-text
> span[aria-hidden="true"]{
    position:static !important;

    display:inline !important;
    visibility:visible !important;
    opacity:1 !important;

    width:auto !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    color:inherit !important;

    font:inherit !important;
    line-height:inherit !important;
}

/* END HH CHECKOUT - QUANTITY NUMBER VISIBILITY FIX 20260923 */

/* HH DESKTOP CHECKOUT - WAS PRICE SINGLE LINE 20260923 */
@media (min-width:1024px){

    .shan-purchase--checkout
    .wc-block-components-product-price{
        white-space:nowrap !important;
    }

}
/* END HH DESKTOP CHECKOUT - WAS PRICE SINGLE LINE 20260923 */

/* HH DESKTOP CHECKOUT - PRODUCT WAS SALE PRICE ROW 20260923 */
@media (min-width:1024px){

    .shan-purchase--checkout
    .wc-block-cart-item__prices
    .wc-block-components-product-price{
        display:inline-flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        gap:6px !important;

        width:auto !important;
        max-width:none !important;

        white-space:nowrap !important;
    }

    .shan-purchase--checkout
    .wc-block-components-product-price__regular,
    .shan-purchase--checkout
    .wc-block-components-product-price__value{
        display:inline !important;
        width:auto !important;
        margin:0 !important;
        white-space:nowrap !important;
    }

}
/* END HH DESKTOP CHECKOUT - PRODUCT WAS SALE PRICE ROW 20260923 */

/* HH CHECKOUT - WAS PRICE PRESENTATION 20260923 */
/* Desktop + Compact/mobile */

.shan-purchase--checkout
.wc-block-components-order-summary-item__regular-individual-price{
    text-decoration:none !important;
    color:var(--shan-muted) !important;
    opacity:1 !important;
}

/* END HH CHECKOUT - WAS PRICE PRESENTATION 20260923 */

/* HH CHECKOUT - UNIFIED WAS PRICE 20260923 */
/* Desktop + Compact/mobile */

/* Hide duplicate discounted price beneath product name */
.shan-purchase--checkout
.wc-block-cart-item__prices
.wc-block-components-product-price__value.is-discounted{
    display:none !important;
}

/* Show old price as plain muted text */
.shan-purchase--checkout
.wc-block-cart-item__prices
.wc-block-components-product-price__regular{
    display:inline !important;
    text-decoration:none !important;
    color:var(--shan-muted) !important;
    opacity:1 !important;
}

/* Add the Was label */
.shan-purchase--checkout
.wc-block-cart-item__prices
.wc-block-components-product-price__regular::before{
    content:"Was ";
}

/* END HH CHECKOUT - UNIFIED WAS PRICE 20260923 */

/*
 * Final approved desktop Checkout geometry.
 * Inner Woo sidebar layout only.
 */
@media (min-width:1024px){
    .shan-purchase--checkout
    > .shan-purchase__content
    > .shan-shell
    > .wp-block-woocommerce-checkout
    > .wc-block-components-sidebar-layout{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) 450px !important;
        gap:40px !important;
        width:100% !important;
        max-width:none !important;
        align-items:start !important;
    }
}

/* END HH CHECKOUT RECOVERY LAYER 20260923 */

/* =========================================================
   HH DESKTOP CHECKOUT - COUPON ALIGNMENT 20260924
   Approved Checkout coupon positioning/alignment.
   ========================================================= */
@media (min-width:1024px){

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-coupon-form-block{
        padding-left:0 !important;
        padding-right:0 !important;
        border-top:1px solid rgba(69,42,30,.15) !important;
    }

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-coupon-form-block
    .wc-block-components-totals-coupon{
        padding-left:0 !important;
        padding-right:0 !important;
    }

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-coupon-form-block
    .wc-block-components-panel__button{
        padding-left:18px !important;
        padding-right:18px !important;
        margin:0 !important;
    }

}

/* END HH DESKTOP CHECKOUT - COUPON ALIGNMENT 20260924 */

/* HH DESKTOP CHECKOUT - COUPON TOP DIVIDER FINAL 20260924 */
@media (min-width:1024px){
    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-totals-block
    .wp-block-woocommerce-checkout-order-summary-coupon-form-block{
        border-top:1px solid rgba(69,42,30,.15) !important;
    }
}
/* END HH DESKTOP CHECKOUT - COUPON TOP DIVIDER FINAL 20260924 */


/* HH DESKTOP CHECKOUT - COUPON INDENT FINAL 20260924 */
@media (min-width:1024px){
    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-coupon-form-block
    .wc-block-components-panel__button{
        padding-left:0 !important;
        padding-right:0 !important;
    }
}
/* END HH DESKTOP CHECKOUT - COUPON INDENT FINAL 20260924 */


/* HH DESKTOP CHECKOUT - TOTALS BOTTOM PADDING FIX 20260924 */
@media (min-width:1024px){
    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-totals-block{
        padding-bottom:0 !important;
    }
}
/* END HH DESKTOP CHECKOUT - TOTALS BOTTOM PADDING FIX 20260924 */


/* HH DESKTOP CHECKOUT - HIDE EMPTY DISCOUNT/FEE ROWS 20260924 */
@media (min-width:1024px){
    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-totals-block
    .wp-block-woocommerce-checkout-order-summary-discount-block:empty,

    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-totals-block
    .wp-block-woocommerce-checkout-order-summary-fee-block:empty{
        display:none !important;
    }
}
/* END HH DESKTOP CHECKOUT - HIDE EMPTY DISCOUNT/FEE ROWS 20260924 */


/* =========================================================

/* =========================================================
   HH DESKTOP CHECKOUT - ESTIMATED TOTAL SPACING FINAL 20260924
   Desktop only.
   Browser-proven against rendered WooCommerce Checkout DOM.
   ========================================================= */
@media (min-width:1024px){

    /*
     * Estimated Total is NOT inside the order-summary totals block.
     * Its own totals-wrapper is the direct parent of the footer item.
     * Give that wrapper equal vertical breathing room.
     */
    .shan-purchase--checkout
    .wc-block-components-checkout-order-summary__content
    > .wc-block-components-totals-wrapper:has(
        > .wc-block-components-totals-footer-item
    ){
        padding-top:24px !important;
        padding-bottom:24px !important;
    }

    /*
     * Woo renders an empty order-meta slot immediately after Estimated Total.
     * It creates an otherwise-unused 18px bottom gap.
     * Collapse ONLY when the order-meta container is empty.
     */
    .shan-purchase--checkout
    .wc-block-components-checkout-order-summary__content
    > .wc-block-components-totals-wrapper:has(
        > .wc-block-components-totals-footer-item
    )
    + .wc-block-components-totals-wrapper.slot-wrapper:has(
        > .wc-block-components-order-meta:empty
    ){
        display:none !important;
    }

}
/* END HH DESKTOP CHECKOUT - ESTIMATED TOTAL SPACING FINAL 20260924 */

/* HH DESKTOP CHECKOUT - ESTIMATED TOTAL INTERNAL BORDER FINAL 20260924 */
@media (min-width:1024px){
    .shan-purchase--checkout
    .wc-block-components-totals-footer-item{
        border-bottom:0 !important;
    }
}
/* END HH DESKTOP CHECKOUT - ESTIMATED TOTAL INTERNAL BORDER FINAL 20260924 */

/* =========================================================
   HH DESKTOP CHECKOUT - ORDER SUMMARY TYPOGRAPHY FINAL 20260924
   Desktop only.
   +1pt normal Order Summary typography.
   Accounting/action labels use weight 500.
   Estimated Total typography intentionally unchanged.
   ========================================================= */
@media (min-width:1024px){

    /* Main accounting rows: 13px + 1pt = 14.333px */
    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-totals-block
    .wc-block-components-totals-item,
    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-totals-block
    .wc-block-components-totals-item__label,
    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-totals-block
    .wc-block-components-totals-item__value{
        font-size:14.333px !important;
    }

    /* Subtotal / Discount / Shipping / Est. Tax labels */
    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-totals-block
    .wc-block-components-totals-item__label{
        font-weight:500 !important;
    }

    /* Secondary shipping information: 12px + 1pt = 13.333px */
    .shan-purchase--checkout
    .wc-block-components-totals-shipping__via,
    .shan-purchase--checkout
    .hh-checkout-pickup-hint{
        font-size:13.333px !important;
    }

    /* Add coupons: match accounting label size and weight */
    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-coupon-form-block
    .wc-block-components-panel__button,
    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-coupon-form-block
    .wc-block-components-panel__button *{
        font-size:14.333px !important;
        font-weight:500 !important;
    }

}
/* END HH DESKTOP CHECKOUT - ORDER SUMMARY TYPOGRAPHY FINAL 20260924 */

/* HH DESKTOP CHECKOUT - COUPON VERTICAL BREATHING ROOM FINAL 20260924 */
@media (min-width:1024px){
    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-totals-block
    .wp-block-woocommerce-checkout-order-summary-coupon-form-block{
        padding-top:17px !important;
        padding-bottom:17px !important;
    }
}
/* END HH DESKTOP CHECKOUT - COUPON VERTICAL BREATHING ROOM FINAL 20260924 */

/* HH DESKTOP CHECKOUT - APPLIED COUPON CHIP FINAL 20260924 */
@media (min-width:1024px){

    .shan-purchase--checkout
    .wc-block-components-totals-discount__coupon-list-item{
        padding:4px 8px !important;
        min-height:24px !important;
    }

    .shan-purchase--checkout
    .wc-block-components-totals-discount__coupon-list-item
    .wc-block-components-chip__text{
        font-size:13.333px !important;
        font-weight:500 !important;
    }

}
/* END HH DESKTOP CHECKOUT - APPLIED COUPON CHIP FINAL 20260924 */

/* =========================================================
   HH DESKTOP CHECKOUT - SMALL TEXT TYPOGRAPHY FINAL 20260924
   Desktop main Checkout only.
   Browser-approved small-text normalization.
   Order Summary intentionally excluded.
   ========================================================= */
@media (min-width:1024px){

    /*
     * 9pt -> 10pt
     * Create-account / small checkbox and legal-tier text.
     */
    .shan-purchase--checkout
    .wc-block-components-main
    .wc-block-components-checkbox__label,

    .shan-purchase--checkout
    .wc-block-components-main
    a{
        font-size:13.333px !important;
    }

    /*
     * Existing ~9.75pt main Checkout tier -> ~10.75pt.
     */
    .shan-purchase--checkout
    .wc-block-components-main
    .wc-block-checkout__guest-checkout-notice,

    .shan-purchase--checkout
    .wc-block-components-main
    .wc-block-checkout__shipping-method-option-title,

    .shan-purchase--checkout
    .wc-block-components-main
    .wc-block-components-address-form__address_2-toggle,

    .shan-purchase--checkout
    .wc-block-components-main
    .wc-block-components-radio-control__label,

    .shan-purchase--checkout
    .wc-block-components-main
    .wc-block-checkout__shipping-option--free{
        font-size:14.333px !important;
    }

}
/* END HH DESKTOP CHECKOUT - SMALL TEXT TYPOGRAPHY FINAL 20260924 */

/* HH DESKTOP CHECKOUT - PRODUCT NAME TYPOGRAPHY FINAL 20260924 */
@media (min-width:1024px){
    .shan-purchase--checkout
    .wp-block-woocommerce-checkout-order-summary-block
    .wc-block-components-product-name{
        font-size:16.667px !important;
    }
}
/* END HH DESKTOP CHECKOUT - PRODUCT NAME TYPOGRAPHY FINAL 20260924 */

/* HH DESKTOP CHECKOUT - ORDER SUMMARY CARD FINAL 20260924 */
@media (min-width:1024px){

    .shan-purchase--checkout
    .wc-block-checkout__sidebar.wp-block-woocommerce-checkout-totals-block{
        border:1px solid rgba(69,42,30,.16) !important;
        border-radius:14px !important;
        overflow:hidden !important;

        box-shadow:
            0 6px 24px rgba(76,17,27,.09),
            0 1px 4px rgba(69,42,30,.06) !important;
    }

    .shan-purchase--checkout
    .wc-block-checkout__sidebar.wp-block-woocommerce-checkout-totals-block
    > .wp-block-woocommerce-checkout-order-summary-block{
        border:0 !important;
        border-radius:0 !important;
    }

}
/* END HH DESKTOP CHECKOUT - ORDER SUMMARY CARD FINAL 20260924 */

/* ==========================================================
   HH DESKTOP ORDER RECEIVED - LEGAL WIDTH 20260924
   Reuse the established 900px HH legal/refund content width
   for the WooCommerce order confirmation page.
   Desktop only. Compact/mobile untouched.
   ========================================================== */
@media (min-width:1024px){

    .woocommerce-order-received
    .shan-purchase__content
    > .shan-shell{
        width:min(calc(100% - 64px), 900px) !important;
        max-width:900px !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

}
/* END HH DESKTOP ORDER RECEIVED - LEGAL WIDTH 20260924 */

/* ==========================================================
   HH DESKTOP ORDER RECEIVED - FINAL POLISH 20260924
   Desktop-only transactional presentation.
   Existing Compact/mobile Order Received rules untouched.
   ========================================================== */
@media (min-width:1024px){

    /* ---------- THANK-YOU MESSAGE ---------- */

    .woocommerce-order-received
    .woocommerce-thankyou-order-received{
        margin:0 0 20px !important;
        color:var(--shan-ink) !important;
        font-family:var(--shan-sans) !important;
        font-size:18px !important;
        font-weight:600 !important;
        line-height:1.5 !important;
    }


    /* ---------- ORDER OVERVIEW CARD ---------- */

    .woocommerce-order-received
    .woocommerce-order-overview{
        display:grid !important;
        grid-template-columns:
            minmax(100px,.8fr)
            minmax(150px,1.15fr)
            minmax(230px,1.75fr)
            minmax(100px,.8fr)
            minmax(150px,1.15fr) !important;

        width:100% !important;
        margin:0 0 46px !important;
        padding:0 !important;

        border:1px solid rgba(69,42,30,.14) !important;
        border-radius:10px !important;
        background:#fff !important;
        overflow:hidden !important;

        box-sizing:border-box !important;
        list-style:none !important;
    }

    .woocommerce-order-received
    .woocommerce-order-overview li{
        min-width:0 !important;
        margin:0 !important;
        padding:16px 18px !important;

        border:0 !important;
        border-right:1px solid rgba(69,42,30,.11) !important;

        color:var(--shan-muted) !important;
        font-family:var(--shan-sans) !important;
        font-size:11px !important;
        font-weight:700 !important;
        line-height:1.35 !important;
        letter-spacing:.045em !important;
        text-transform:uppercase !important;

        box-sizing:border-box !important;
    }

    .woocommerce-order-received
    .woocommerce-order-overview li:last-child{
        border-right:0 !important;
    }

    .woocommerce-order-received
    .woocommerce-order-overview li strong{
        display:block !important;
        margin-top:6px !important;

        color:var(--shan-ink) !important;
        font-size:14px !important;
        font-weight:700 !important;
        line-height:1.4 !important;
        letter-spacing:0 !important;
        text-transform:none !important;

        overflow-wrap:anywhere !important;
    }

    .woocommerce-order-received
    .woocommerce-order-overview__total strong{
        color:var(--shan-burgundy) !important;
        font-size:15px !important;
    }


    /* ---------- SECTION RHYTHM ---------- */

    .woocommerce-order-received
    .woocommerce-order-details{
        margin:0 0 40px !important;
    }

    .woocommerce-order-received
    .woocommerce-order-details__title,
    .woocommerce-order-received
    .woocommerce-customer-details > h2,
    .woocommerce-order-received
    .woocommerce-column__title{
        margin-top:0 !important;
        margin-bottom:18px !important;

        color:var(--shan-ink) !important;
        font-family:var(--shan-serif) !important;
        font-size:24px !important;
        font-weight:500 !important;
        line-height:1.2 !important;
    }


    /* ---------- ORDER DETAILS TABLE ---------- */

    .woocommerce-order-received
    .woocommerce-table--order-details{
        border:1px solid rgba(69,42,30,.14) !important;
        border-radius:10px !important;
        background:#fff !important;
        overflow:hidden !important;
    }

    .woocommerce-order-received
    .woocommerce-table--order-details thead th{
        padding:15px 16px !important;
    }

    .woocommerce-order-received
    .woocommerce-table--order-details tbody td{
        padding:18px 16px !important;
        line-height:1.55 !important;
    }

    .woocommerce-order-received
    .woocommerce-table--order-details tfoot th,
    .woocommerce-order-received
    .woocommerce-table--order-details tfoot td{
        padding:13px 16px !important;
        line-height:1.5 !important;
    }


    /* Tax is an accounting row, not the final emphasis. */
    .woocommerce-order-received
    .woocommerce-table--order-details tfoot tr:nth-last-child(3) th,
    .woocommerce-order-received
    .woocommerce-table--order-details tfoot tr:nth-last-child(3) td{
        border-top:1px solid rgba(69,42,30,.11) !important;
        background:#fff !important;
        color:var(--shan-ink) !important;
        font-size:14px !important;
        font-weight:600 !important;
    }


    /* Total gets the strongest hierarchy. */
    .woocommerce-order-received
    .woocommerce-table--order-details tfoot tr:nth-last-child(2) th,
    .woocommerce-order-received
    .woocommerce-table--order-details tfoot tr:nth-last-child(2) td{
        padding-top:16px !important;
        padding-bottom:16px !important;

        border-top:2px solid rgba(114,30,43,.20) !important;

        background:rgba(248,240,226,.55) !important;
        color:var(--shan-burgundy) !important;

        font-size:16px !important;
        font-weight:800 !important;
    }


    /* Payment method is supporting information. */
    .woocommerce-order-received
    .woocommerce-table--order-details tfoot tr:last-child th,
    .woocommerce-order-received
    .woocommerce-table--order-details tfoot tr:last-child td{
        background:#fff !important;
        color:var(--shan-ink) !important;
        font-size:13px !important;
        font-weight:500 !important;
    }


    /* Shipping / pickup instructions need comfortable reading. */
    .woocommerce-order-received
    .woocommerce-table--order-details tfoot td{
        line-height:1.55 !important;
    }


    /* ---------- CUSTOMER / ADDRESS SECTION ---------- */

    .woocommerce-order-received
    .woocommerce-customer-details{
        margin-top:0 !important;
        margin-bottom:0 !important;
    }

    .woocommerce-order-received
    .woocommerce-customer-details
    .woocommerce-columns{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:24px !important;
        width:100% !important;
    }

    .woocommerce-order-received
    .woocommerce-customer-details
    .woocommerce-column{
        float:none !important;
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
    }

    .woocommerce-order-received
    .woocommerce-customer-details address{
        min-height:100% !important;
        margin:0 !important;
        padding:22px 24px !important;

        border:1px solid rgba(69,42,30,.14) !important;
        border-radius:10px !important;

        background:#fff !important;
        color:var(--shan-ink) !important;

        font-family:var(--shan-sans) !important;
        font-size:14px !important;
        font-style:normal !important;
        line-height:1.65 !important;

        box-sizing:border-box !important;
    }

}
/* END HH DESKTOP ORDER RECEIVED - FINAL POLISH 20260924 */

/* ==========================================================
   HH DESKTOP ORDER OVERVIEW - 4 COLUMN FINAL 20260924
   Group Order Number + Date into one visual column.
   Desktop only.
   ========================================================== */
@media (min-width:1024px){

    .woocommerce-order-received
    .woocommerce-order-overview{
        grid-template-columns:
            minmax(190px,1.15fr)
            minmax(280px,1.7fr)
            minmax(120px,.75fr)
            minmax(180px,1.1fr) !important;
    }

    /* Order number */
    .woocommerce-order-received
    .woocommerce-order-overview__order{
        grid-column:1 !important;
        grid-row:1 !important;
        padding-bottom:7px !important;
        border-right:1px solid rgba(69,42,30,.11) !important;
    }

    /* Date sits directly below Order Number in same visual column. */
    .woocommerce-order-received
    .woocommerce-order-overview__date{
        grid-column:1 !important;
        grid-row:2 !important;
        padding-top:7px !important;
        border-right:1px solid rgba(69,42,30,.11) !important;
    }

    /* Email spans both internal grid rows. */
    .woocommerce-order-received
    .woocommerce-order-overview__email{
        grid-column:2 !important;
        grid-row:1 / span 2 !important;
    }

    /* Total spans both internal grid rows. */
    .woocommerce-order-received
    .woocommerce-order-overview__total{
        grid-column:3 !important;
        grid-row:1 / span 2 !important;
    }

    /* Payment stays in the fourth column. */
    .woocommerce-order-received
    .woocommerce-order-overview__payment-method{
        grid-column:4 !important;
        grid-row:1 / span 2 !important;
        border-right:0 !important;
    }

}
/* END HH DESKTOP ORDER OVERVIEW - 4 COLUMN FINAL 20260924 */

/* HH DESKTOP ORDER OVERVIEW KEY VALUES TYPOGRAPHY 20260924 */
@media (min-width:1024px){
    .woocommerce-order-received
    .woocommerce-order-overview__order strong,
    .woocommerce-order-received
    .woocommerce-order-overview__total strong{
        font-size:16.667px !important;
    }
}
/* END HH DESKTOP ORDER OVERVIEW KEY VALUES TYPOGRAPHY 20260924 */

/* HH DESKTOP ORDER OVERVIEW KEY VALUES TYPOGRAPHY FINAL 20260924 */
@media (min-width:1024px){

    .woocommerce-order-received
    .woocommerce-order-overview
    li.woocommerce-order-overview__order strong,

    .woocommerce-order-received
    .woocommerce-order-overview
    li.woocommerce-order-overview__total strong{
        font-size:16.667px !important;
    }

}
/* END HH DESKTOP ORDER OVERVIEW KEY VALUES TYPOGRAPHY FINAL 20260924 */

/* ==========================================================
   HH DESKTOP UTILITY ACCOUNT - GREETING + DROPDOWN 20260924
   Desktop only. Compact/mobile remains untouched.
   ========================================================== */
@media (min-width:1024px){

    /* Remove Favorites shortcut from desktop utility bar only. */
    .shan-utility-actions .shan-utility-favorites-link{
        display:none !important;
    }

    /* Logged-in desktop replaces profile icon with greeting. */
    .shan-utility-actions .shan-utility-account-compact{
        display:none !important;
    }

    .shan-utility-actions .shan-utility-account-menu{
        position:relative;
        order:2;
        display:flex;
        align-items:center;
        pointer-events:auto;
    }

    .shan-utility-account-desktop{
        position:relative;
        margin:0;
        padding:0;
    }

    .shan-utility-account-desktop > summary{
        display:flex;
        min-height:42px;
        align-items:center;
        justify-content:center;

        margin:0;
        padding:0 4px;

        color:var(--shan-paper);
        font-family:var(--shan-sans);
        font-size:13px;
        font-weight:600;
        line-height:1;
        white-space:nowrap;

        cursor:pointer;
        list-style:none;
        user-select:none;
    }

    .shan-utility-account-desktop > summary::-webkit-details-marker{
        display:none;
    }

    .shan-utility-account-desktop > summary::marker{
        display:none;
        content:"";
    }

    .shan-utility-account-desktop > summary:hover,
    .shan-utility-account-desktop > summary:focus-visible{
        color:var(--shan-light-gold);
    }

    .shan-utility-account-dropdown{
        position:absolute;
        z-index:1000;
        top:calc(100% + 8px);
        right:0;

        width:180px;
        padding:7px;

        border:1px solid rgba(69,42,30,.12);
        border-radius:10px;
        background:#fff;
        box-shadow:0 14px 34px rgba(36,32,29,.16);
    }

    .shan-utility-account-dropdown::before{
        content:"";
        position:absolute;
        right:18px;
        bottom:100%;

        border-right:6px solid transparent;
        border-bottom:6px solid #fff;
        border-left:6px solid transparent;
    }

    .shan-utility-account-dropdown a{
        display:flex;
        min-height:38px;
        align-items:center;

        padding:8px 11px;
        border-radius:6px;

        color:var(--shan-ink);
        font-family:var(--shan-sans);
        font-size:13px;
        font-weight:550;
        line-height:1.25;
        text-align:left;
        text-decoration:none;
    }

    .shan-utility-account-dropdown a:hover,
    .shan-utility-account-dropdown a:focus-visible{
        background:var(--shan-cream);
        color:var(--shan-burgundy);
    }

    .shan-utility-account-dropdown .shan-utility-account-logout{
        margin-top:4px;
        padding-top:10px;
        border-top:1px solid rgba(69,42,30,.10);
        color:var(--shan-burgundy);
    }

}

/* Explicit Compact/mobile protection. */
@media (width < 1024px){
    .shan-utility-account-desktop{
        display:none !important;
    }
}

/* END HH DESKTOP UTILITY ACCOUNT - GREETING + DROPDOWN 20260924 */

/* HH DESKTOP UTILITY ACCOUNT - TYPOGRAPHY FINISH 20260924 */
@media (min-width:1024px){

    .shan-utility-account-desktop > summary{
        text-transform:none !important;
        letter-spacing:normal !important;
    }

    .shan-utility-account-dropdown a{
        color:#24201d !important;
        text-transform:none !important;
        letter-spacing:normal !important;
    }

    .shan-utility-account-dropdown .shan-utility-account-logout{
        color:#721e2b !important;
    }

}
/* END HH DESKTOP UTILITY ACCOUNT - TYPOGRAPHY FINISH 20260924 */

/* HH DESKTOP UTILITY ACCOUNT - HOVER MENU FINAL 20260924 */
@media (min-width:1024px){

    .shan-utility-account-desktop > summary{
        font-size:14.333px !important;
    }

    .shan-utility-account-desktop:hover
    > .shan-utility-account-dropdown{
        display:block !important;
    }

}
/* END HH DESKTOP UTILITY ACCOUNT - HOVER MENU FINAL 20260924 */


/* =========================================================
   HH DESKTOP MY ACCOUNT - DASHBOARD POLISH FINAL 20260924
   Desktop only. Compact/mobile intentionally untouched.
   ========================================================= */

@media (min-width:1024px){

    /*
     * Preserve the established HH dashboard architecture.
     * 760px remains the intentional account working width.
     */
    body.woocommerce-account.logged-in
    .hh-account-dashboard{
        width:100%;
        max-width:760px;
        margin:0 auto;
    }


    /* -----------------------------------------
       Welcome / account identity
       ----------------------------------------- */

    body.woocommerce-account.logged-in
    .hh-account-welcome{
        margin-bottom:22px;
    }

    body.woocommerce-account.logged-in
    .hh-account-welcome h2{
        margin:0 0 5px !important;
        color:var(--shan-ink,#24201d);
        line-height:1.18;
    }

    body.woocommerce-account.logged-in
    .hh-account-welcome p{
        margin:5px 0 0 !important;
        line-height:1.5;
    }

    /*
     * The first supporting line under the greeting is account
     * metadata, so keep it visually subordinate.
     */
    body.woocommerce-account.logged-in
    .hh-account-welcome h2 + p{
        color:var(--shan-muted,#716861);
        font-size:13px;
    }


    /* -----------------------------------------
       Shared account card treatment
       ----------------------------------------- */

    body.woocommerce-account.logged-in
    .hh-account-card{
        margin-bottom:12px;
        border:1px solid rgba(69,42,30,.12);
        border-radius:13px;
        background:#fffaf1;
        box-shadow:0 5px 18px rgba(36,32,29,.035);
        transition:
            border-color .18s ease,
            box-shadow .18s ease,
            transform .18s ease;
    }

    body.woocommerce-account.logged-in
    .hh-account-card:hover{
        border-color:rgba(114,30,43,.22);
        box-shadow:0 9px 24px rgba(36,32,29,.065);
    }


    /* -----------------------------------------
       Orders + Addresses accordion headers
       ----------------------------------------- */

    body.woocommerce-account.logged-in
    .hh-account-accordion-toggle{
        transition:
            background-color .18s ease,
            color .18s ease;
    }

    body.woocommerce-account.logged-in
    .hh-account-accordion-toggle:hover{
        background:rgba(197,154,69,.07);
    }

    body.woocommerce-account.logged-in
    .hh-account-card-heading strong{
        font-weight:700;
    }

    body.woocommerce-account.logged-in
    .hh-account-card-heading small{
        color:var(--shan-muted,#716861);
    }


    /* Stronger but still quiet navigation chevron. */
    body.woocommerce-account.logged-in
    .hh-account-chevron{
        color:rgba(114,30,43,.68);
        opacity:1;
        transition:
            transform .18s ease,
            color .18s ease;
    }

    body.woocommerce-account.logged-in
    .hh-account-accordion-toggle:hover
    .hh-account-chevron,
    body.woocommerce-account.logged-in
    .hh-account-quicklink:hover
    .hh-account-chevron{
        color:var(--shan-burgundy,#721e2b);
    }


    /* -----------------------------------------
       Favorites + Account Details

       Existing markup intentionally groups these in one
       wrapper. Visually convert each quick link into its own
       peer card without changing Woo/PHP navigation behavior.
       ----------------------------------------- */

    body.woocommerce-account.logged-in
    .hh-account-card:has(> .hh-account-quicklink){
        overflow:visible;
        margin:0;
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
    }

    body.woocommerce-account.logged-in
    .hh-account-card:has(> .hh-account-quicklink):hover{
        border-color:transparent;
        box-shadow:none;
    }

    body.woocommerce-account.logged-in
    .hh-account-card > .hh-account-quicklink{
        min-height:70px;
        margin:0 0 12px;
        padding:17px 20px;
        border:1px solid rgba(69,42,30,.12);
        border-radius:13px;
        background:#fffaf1;
        box-shadow:0 5px 18px rgba(36,32,29,.035);
        color:var(--shan-ink,#24201d) !important;
        transition:
            border-color .18s ease,
            background-color .18s ease,
            box-shadow .18s ease,
            transform .18s ease;
    }

    body.woocommerce-account.logged-in
    .hh-account-card > .hh-account-quicklink + .hh-account-quicklink{
        border-top:1px solid rgba(69,42,30,.12);
    }

    body.woocommerce-account.logged-in
    .hh-account-card > .hh-account-quicklink:hover{
        border-color:rgba(114,30,43,.22);
        background:#fffdf8;
        box-shadow:0 9px 24px rgba(36,32,29,.065);
        transform:translateY(-1px);
    }

    body.woocommerce-account.logged-in
    .hh-account-quicklink strong{
        color:var(--shan-ink,#24201d);
        font-weight:700;
    }

    body.woocommerce-account.logged-in
    .hh-account-quicklink small{
        color:var(--shan-muted,#716861);
    }

    body.woocommerce-account.logged-in
    .hh-account-quicklink:hover
    .hh-account-chevron{
        transform:translateX(3px);
    }


    /* -----------------------------------------
       Sign out
       ----------------------------------------- */

    body.woocommerce-account.logged-in
    .hh-account-signout{
        margin:4px 0 0;
        padding:0;
    }

    body.woocommerce-account.logged-in
    .hh-account-signout a,
    body.woocommerce-account.logged-in
    a.hh-account-signout{
        display:inline-flex;
        min-height:40px;
        align-items:center;
        justify-content:center;
        padding:0 17px;
        border:1px solid rgba(114,30,43,.20);
        border-radius:7px;
        background:transparent;
        color:var(--shan-burgundy,#721e2b) !important;
        font-size:13px;
        font-weight:650;
        line-height:1;
        text-decoration:none !important;
        transition:
            background-color .18s ease,
            border-color .18s ease,
            color .18s ease;
    }

    body.woocommerce-account.logged-in
    .hh-account-signout a:hover,
    body.woocommerce-account.logged-in
    a.hh-account-signout:hover{
        border-color:var(--shan-burgundy,#721e2b);
        background:var(--shan-burgundy,#721e2b);
        color:#fff !important;
    }

}

/* END HH DESKTOP MY ACCOUNT - DASHBOARD POLISH FINAL 20260924 */


/* =========================================================
   HH MY ACCOUNT - SHARED BACK LINK 20260924
   ========================================================= */

.hh-account-back-wrap{
    width:100%;
    margin:0 0 18px;
}

.hh-account-back-link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:var(--shan-burgundy,#721e2b) !important;
    font-family:var(--shan-sans);
    font-size:13px;
    font-weight:650;
    line-height:1.25;
    text-decoration:none !important;
}

.hh-account-back-arrow{
    display:inline-block;
    font-size:17px;
    font-weight:400;
    line-height:1;
    transform:translateX(0);
    transition:transform .18s ease;
}

.hh-account-back-link:hover,
.hh-account-back-link:focus-visible{
    color:var(--shan-dark-red,#4c111b) !important;
    text-decoration:underline !important;
    text-underline-offset:3px;
}

.hh-account-back-link:hover .hh-account-back-arrow,
.hh-account-back-link:focus-visible .hh-account-back-arrow{
    transform:translateX(-3px);
}

/*
 * Desktop:
 * keep the link aligned naturally with the endpoint content.
 */
@media (min-width:1024px){
    .woocommerce-account
    .woocommerce-MyAccount-content
    > .hh-account-back-wrap{
        margin-bottom:18px;
    }
}

/* END HH MY ACCOUNT - SHARED BACK LINK 20260924 */


/* HH MY ACCOUNT - BACK LINK UNDERLINE FINISH 20260924 */

.hh-account-back-link:hover,
.hh-account-back-link:focus-visible{
    text-decoration:none !important;
}

.hh-account-back-link:hover > span:last-child,
.hh-account-back-link:focus-visible > span:last-child{
    text-decoration:underline;
    text-underline-offset:3px;
}

/* END HH MY ACCOUNT - BACK LINK UNDERLINE FINISH 20260924 */


/* =========================================================
   HH DESKTOP VIEW ORDER - FINAL POLISH 20260924

   Individual WooCommerce order detail page only.
   Desktop >=1024px.
   Compact/mobile intentionally untouched.
   ========================================================= */

@media (min-width:1024px){

    /* -----------------------------------------------------
       Overall endpoint rhythm
       ----------------------------------------------------- */

    body.woocommerce-view-order
    .woocommerce-MyAccount-content{
        line-height:1.5;
    }


    /* -----------------------------------------------------
       Order status / metadata message
       ----------------------------------------------------- */

    body.woocommerce-view-order
    .woocommerce-MyAccount-content
    > p:first-of-type{
        margin:0 0 22px !important;
        padding:14px 16px !important;
        border:1px solid rgba(69,42,30,.10);
        border-left:3px solid var(--shan-gold,#c59a45);
        border-radius:8px;
        background:rgba(248,240,226,.55);
        color:var(--shan-muted,#716861);
        font-size:13px;
        line-height:1.55;
    }

    body.woocommerce-view-order
    .woocommerce-MyAccount-content
    > p:first-of-type strong{
        color:var(--shan-ink,#24201d);
        font-weight:650;
    }


    /* -----------------------------------------------------
       Section headings
       ----------------------------------------------------- */

    body.woocommerce-view-order
    .woocommerce-order-details__title,
    body.woocommerce-view-order
    .woocommerce-column__title{
        margin-top:0;
        color:var(--shan-ink,#24201d);
    }

    body.woocommerce-view-order
    .woocommerce-order-details__title{
        margin-bottom:16px;
    }


    /* -----------------------------------------------------
       Order details table
       ----------------------------------------------------- */

    body.woocommerce-view-order
    table.woocommerce-table--order-details{
        overflow:hidden;
        border:1px solid rgba(69,42,30,.11) !important;
        border-collapse:separate !important;
        border-spacing:0 !important;
        border-radius:10px;
        background:#fff;
        box-shadow:0 5px 18px rgba(36,32,29,.025);
    }

    body.woocommerce-view-order
    .woocommerce-table--order-details thead th{
        padding:13px 15px !important;
        border-bottom:1px solid rgba(69,42,30,.10) !important;
        background:rgba(248,240,226,.58) !important;
        color:var(--shan-ink,#24201d);
        font-size:12px;
        font-weight:700;
        letter-spacing:.02em;
    }

    body.woocommerce-view-order
    .woocommerce-table--order-details tbody td{
        padding:15px !important;
        border-bottom:1px solid rgba(69,42,30,.08) !important;
        background:#fff !important;
        vertical-align:middle;
    }


    /* Product name remains the primary product information. */

    body.woocommerce-view-order
    .woocommerce-table--order-details
    .woocommerce-table__product-name a{
        color:var(--shan-burgundy,#721e2b) !important;
        font-weight:600;
        line-height:1.45;
        text-decoration:none;
    }

    body.woocommerce-view-order
    .woocommerce-table--order-details
    .woocommerce-table__product-name a:hover{
        text-decoration:underline;
        text-underline-offset:3px;
    }

    body.woocommerce-view-order
    .woocommerce-table--order-details
    .product-quantity{
        color:var(--shan-muted,#716861);
        font-size:12px;
        font-weight:500;
    }


    /* -----------------------------------------------------
       Accounting rows

       Remove the administrative-looking permanent cream
       label column. Keep normal rows quiet and reserve the
       strong HH treatment for final Total.
       ----------------------------------------------------- */

    body.woocommerce-view-order
    .woocommerce-table--order-details tfoot th,
    body.woocommerce-view-order
    .woocommerce-table--order-details tfoot td{
        padding:13px 15px !important;
        border-top:0 !important;
        border-bottom:1px solid rgba(69,42,30,.08) !important;
        background:#fff !important;
        color:var(--shan-ink,#24201d);
        vertical-align:middle;
    }

    body.woocommerce-view-order
    .woocommerce-table--order-details tfoot th{
        width:27%;
        font-size:12px;
        font-weight:650;
        letter-spacing:.01em;
    }

    body.woocommerce-view-order
    .woocommerce-table--order-details tfoot td{
        font-size:13px;
        font-weight:500;
    }


    /*
     * Final Total is the primary accounting result.
     * In Woo's standard View Order table, Total precedes
     * Payment Method, making it nth-last-child(2).
     */

    body.woocommerce-view-order
    .woocommerce-table--order-details
    tfoot tr:nth-last-child(2) th,

    body.woocommerce-view-order
    .woocommerce-table--order-details
    tfoot tr:nth-last-child(2) td{
        padding-top:15px !important;
        padding-bottom:15px !important;
        border-bottom:0 !important;
        background:var(--shan-cream,#f8f0e2) !important;
        color:var(--shan-burgundy,#721e2b) !important;
        font-weight:750 !important;
    }

    body.woocommerce-view-order
    .woocommerce-table--order-details
    tfoot tr:nth-last-child(2) td{
        font-size:15px;
    }


    /* Payment method returns to supporting hierarchy. */

    body.woocommerce-view-order
    .woocommerce-table--order-details
    tfoot tr:last-child th,

    body.woocommerce-view-order
    .woocommerce-table--order-details
    tfoot tr:last-child td{
        border-top:1px solid rgba(69,42,30,.08) !important;
        border-bottom:0 !important;
        background:#fff !important;
        color:var(--shan-muted,#716861) !important;
        font-weight:500 !important;
    }


    /* -----------------------------------------------------
       Shipping row readability
       ----------------------------------------------------- */

    body.woocommerce-view-order
    .woocommerce-table--order-details
    tfoot td{
        line-height:1.5;
    }

    body.woocommerce-view-order
    .woocommerce-table--order-details
    tfoot td strong{
        color:var(--shan-ink,#24201d);
        font-weight:650;
    }


    /* -----------------------------------------------------
       Customer / billing section
       ----------------------------------------------------- */

    body.woocommerce-view-order
    .woocommerce-customer-details{
        margin-top:28px;
    }

    body.woocommerce-view-order
    .woocommerce-customer-details
    .woocommerce-column__title{
        margin-bottom:14px;
    }

    body.woocommerce-view-order
    .woocommerce-customer-details address{
        padding:16px 18px !important;
        border:1px solid rgba(69,42,30,.11) !important;
        border-radius:9px !important;
        background:#fff !important;
        color:var(--shan-ink,#24201d);
        line-height:1.55;
        box-shadow:0 4px 16px rgba(36,32,29,.025);
    }

    body.woocommerce-view-order
    .woocommerce-customer-details
    address p{
        margin-top:8px;
        color:var(--shan-muted,#716861);
    }


    /* -----------------------------------------------------
       Outer content card rhythm
       ----------------------------------------------------- */

    body.woocommerce-view-order
    .woocommerce-MyAccount-content{
        padding-top:30px;
        padding-bottom:30px;
    }

}

/* END HH DESKTOP VIEW ORDER - FINAL POLISH 20260924 */


/* =========================================================
   HH DESKTOP MY ACCOUNT - ORDERS POLISH FINAL 20260924

   Orders endpoint only.
   Desktop >=1024px.
   Mobile/compact layout intentionally untouched.
   ========================================================= */

@media (min-width:1024px){

    /*
     * Orders table:
     * preserve existing HH outer card and page architecture.
     * Refine only the table itself.
     */

    .woocommerce-account
    .woocommerce-orders-table{
        border:1px solid rgba(69,42,30,.11) !important;
        border-collapse:separate !important;
        border-spacing:0 !important;
        border-radius:11px !important;
        overflow:hidden !important;
        background:#fff !important;
        box-shadow:0 5px 18px rgba(36,32,29,.025);
    }


    /* -----------------------------------------
       Table header
       ----------------------------------------- */

    .woocommerce-account
    .woocommerce-orders-table thead th{
        padding:13px 20px !important;
        border:0 !important;
        border-bottom:1px solid rgba(69,42,30,.10) !important;
        background:rgba(248,240,226,.58) !important;

        color:var(--shan-ink,#24201d) !important;
        font-size:12px !important;
        font-weight:700 !important;
        letter-spacing:.025em !important;
        line-height:1.3 !important;
    }


    /* -----------------------------------------
       Table body
       ----------------------------------------- */

    .woocommerce-account
    .woocommerce-orders-table tbody td{
        padding:18px 20px !important;
        border:0 !important;
        border-bottom:1px solid rgba(69,42,30,.075) !important;
        background:#fff !important;

        color:var(--shan-muted,#716861);
        font-size:14px;
        line-height:1.45;
        vertical-align:middle;
    }

    .woocommerce-account
    .woocommerce-orders-table tbody tr:last-child td{
        border-bottom:0 !important;
    }


    /* -----------------------------------------
       Order number
       ----------------------------------------- */

    .woocommerce-account
    .woocommerce-orders-table
    .woocommerce-orders-table__cell-order{
        background:rgba(248,240,226,.45) !important;
    }

    .woocommerce-account
    .woocommerce-orders-table
    .woocommerce-orders-table__cell-order a{
        color:var(--shan-burgundy,#721e2b) !important;
        font-weight:700 !important;
        text-decoration:none !important;
    }

    .woocommerce-account
    .woocommerce-orders-table
    .woocommerce-orders-table__cell-order a:hover{
        text-decoration:underline !important;
        text-underline-offset:3px;
    }


    /* -----------------------------------------
       Date / status
       ----------------------------------------- */

    .woocommerce-account
    .woocommerce-orders-table
    .woocommerce-orders-table__cell-order-date,

    .woocommerce-account
    .woocommerce-orders-table
    .woocommerce-orders-table__cell-order-status{
        color:var(--shan-muted,#716861) !important;
        font-weight:500;
    }


    /*
     * Quiet status emphasis.
     * No loud pill/badge: HH remains editorial/minimal.
     */
    .woocommerce-account
    .woocommerce-orders-table
    .woocommerce-orders-table__cell-order-status{
        color:#5f5752 !important;
    }


    /* -----------------------------------------
       Total
       ----------------------------------------- */

    .woocommerce-account
    .woocommerce-orders-table
    .woocommerce-orders-table__cell-order-total{
        color:var(--shan-ink,#24201d) !important;
        font-weight:600 !important;
    }

    .woocommerce-account
    .woocommerce-orders-table
    .woocommerce-orders-table__cell-order-total
    .woocommerce-Price-amount{
        font-weight:650;
    }


    /* -----------------------------------------
       View button
       ----------------------------------------- */

    .woocommerce-account
    .woocommerce-orders-table
    .woocommerce-orders-table__cell-order-actions
    .woocommerce-button{
        min-width:82px !important;
        min-height:44px !important;
        padding:0 18px !important;

        border:1px solid var(--shan-burgundy,#721e2b) !important;
        border-radius:7px !important;

        background:var(--shan-burgundy,#721e2b) !important;
        color:#fff !important;

        font-size:13px !important;
        font-weight:650 !important;
        line-height:1 !important;
        text-align:center;

        box-shadow:none !important;

        transition:
            background-color .18s ease,
            border-color .18s ease,
            transform .18s ease;
    }

    .woocommerce-account
    .woocommerce-orders-table
    .woocommerce-orders-table__cell-order-actions
    .woocommerce-button:hover{
        border-color:var(--shan-dark-red,#4c111b) !important;
        background:var(--shan-dark-red,#4c111b) !important;
        color:#fff !important;
        transform:translateY(-1px);
    }


    /* -----------------------------------------
       Back link rhythm
       ----------------------------------------- */

    .woocommerce-account
    .woocommerce-MyAccount-content
    > .hh-account-back-wrap{
        margin-top:0 !important;
        margin-bottom:16px !important;
    }


    /* -----------------------------------------
       Subtle row hover
       ----------------------------------------- */

    .woocommerce-account
    .woocommerce-orders-table tbody tr{
        transition:background-color .16s ease;
    }

    .woocommerce-account
    .woocommerce-orders-table tbody tr:hover td{
        background:#fffdf9 !important;
    }

    .woocommerce-account
    .woocommerce-orders-table tbody tr:hover
    .woocommerce-orders-table__cell-order{
        background:#fcf7ed !important;
    }

}

/* END HH DESKTOP MY ACCOUNT - ORDERS POLISH FINAL 20260924 */

/* =========================================================
   HH SIMPLE SHOP DROPDOWN CSS - 20260924
   ========================================================= */

@media (min-width:1024px) {

	.shan-nav--header .shan-nav__item--shop {
		position:relative;
	}

	.shan-nav--header .shan-nav__item--shop > .shan-nav__trigger {
		cursor:pointer;
	}

	.shan-nav--header .shan-nav__item--shop > .shan-nav__trigger::after {
		pointer-events:none;
	}

	.shan-nav--header .shan-shop-dropdown {
		position:absolute;
		top:100%;
		left:-18px;
		z-index:100;

		display:none;

		width:238px;
		padding-top:8px;
	}

	/*
	 * Hover opens the menu.
	 *
	 * Because the dropdown is physically inside the Shop item,
	 * the cursor can move slowly from Shop into the menu without
	 * the menu disappearing.
	 */
	.shan-nav--header .shan-nav__item--shop:hover > .shan-shop-dropdown,
	.shan-nav--header .shan-nav__item--shop:focus-within > .shan-shop-dropdown,
	.shan-nav--header .shan-shop-dropdown.is-open {
		display:block;
	}

	.shan-nav--header .shan-shop-dropdown__inner {
		padding:8px 0;

		border:1px solid var(--shan-line);
		border-radius:2px;

		background:var(--shan-paper);

		box-shadow:0 14px 34px rgba(36,32,29,.11);
	}

	.shan-nav--header .shan-shop-dropdown__inner a {
		display:flex;
		align-items:center;
		justify-content:space-between;

		min-height:40px;

		padding:9px 18px;

		color:var(--shan-ink);

		font-size:12px;
		font-weight:600;
		letter-spacing:.035em;
		line-height:1.3;

		text-decoration:none !important;
		text-transform:none;
	}

	.shan-nav--header .shan-shop-dropdown__inner a::after {
		display:none !important;
	}

	.shan-nav--header .shan-shop-dropdown__inner a:hover,
	.shan-nav--header .shan-shop-dropdown__inner a:focus-visible {
		background:var(--shan-cream);
		color:var(--shan-burgundy);

		text-decoration:none !important;
	}

	.shan-nav--header .shan-shop-dropdown__all {
		margin-bottom:5px;

		padding-bottom:11px !important;

		border-bottom:1px solid var(--shan-line);

		color:var(--shan-burgundy) !important;

		font-size:11px !important;
		font-weight:750 !important;
		letter-spacing:.09em !important;

		text-transform:uppercase !important;
	}

	.shan-nav--header .shan-shop-dropdown__all span:last-child {
		font-size:16px;
		line-height:1;

		transition:transform 160ms ease;
	}

	.shan-nav--header .shan-shop-dropdown__all:hover span:last-child,
	.shan-nav--header .shan-shop-dropdown__all:focus-visible span:last-child {
		transform:translateX(3px);
	}
}

/*
 * The existing mobile menu remains authoritative.
 */


/* END HH SIMPLE SHOP DROPDOWN CSS - 20260924 */


/* =========================================================
   HH SHOP DROPDOWN - REFERENCE POLISH 20260924
   Desktop only.
   Visual target: approved simple H&H dropdown mockup.
   ========================================================= */

@media (min-width:1024px){

    /*
     * Compact boutique-style panel.
     */
    .shan-nav--header .shan-shop-dropdown{
        left:-14px !important;
        width:270px !important;
        padding-top:7px !important;
    }

    .shan-nav--header .shan-shop-dropdown__inner{
        overflow:hidden !important;

        padding:8px 0 0 !important;

        border:1px solid rgba(69,42,30,.09) !important;
        border-radius:9px !important;

        background:#fffaf1 !important;

        box-shadow:
            0 14px 36px rgba(36,32,29,.10),
            0 3px 10px rgba(36,32,29,.04) !important;
    }


    /*
     * Category rows.
     */
    .shan-nav--header
    .shan-shop-dropdown__link{
        min-height:45px !important;

        padding:10px 20px 10px 22px !important;

        color:#24201d !important;

        font-family:var(--shan-sans) !important;
        font-size:16.5px !important;
        font-weight:400 !important;
        letter-spacing:0 !important;
        line-height:1.25 !important;

        text-transform:none !important;

        transition:
            color 150ms ease,
            background-color 150ms ease,
            padding-left 150ms ease !important;
    }

    .shan-nav--header
    .shan-shop-dropdown__link:hover,
    .shan-nav--header
    .shan-shop-dropdown__link:focus-visible{
        padding-left:25px !important;

        background:rgba(248,240,226,.72) !important;
        color:#721e2b !important;
    }


    /*
     * Thin navigation chevrons.
     */
    .shan-nav--header
    .shan-shop-dropdown__chevron{
        flex:0 0 auto;

        margin-left:18px;

        color:#24201d;

        font-family:Arial, sans-serif;
        font-size:23px;
        font-weight:300;
        line-height:1;

        transform:translateY(-1px);

        transition:
            color 150ms ease,
            transform 150ms ease;
    }

    .shan-nav--header
    .shan-shop-dropdown__link:hover
    .shan-shop-dropdown__chevron,
    .shan-nav--header
    .shan-shop-dropdown__link:focus-visible
    .shan-shop-dropdown__chevron{
        color:#721e2b;

        transform:
            translateX(2px)
            translateY(-1px);
    }


    /*
     * Bottom Shop All action.
     */
    .shan-nav--header
    .shan-shop-dropdown__all{
        min-height:57px !important;

        margin:7px 14px 0 !important;

        padding:14px 8px 15px !important;

        border-top:1px solid rgba(69,42,30,.10) !important;
        border-bottom:0 !important;

        color:#721e2b !important;

        font-family:var(--shan-sans) !important;
        font-size:16px !important;
        font-weight:500 !important;
        letter-spacing:0 !important;
        line-height:1.25 !important;

        text-transform:none !important;

        transition:
            color 150ms ease,
            padding-left 150ms ease !important;
    }

    .shan-nav--header
    .shan-shop-dropdown__all:hover,
    .shan-nav--header
    .shan-shop-dropdown__all:focus-visible{
        padding-left:11px !important;

        background:transparent !important;
        color:#4c111b !important;
    }

    .shan-nav--header
    .shan-shop-dropdown__all
    .shan-shop-dropdown__chevron{
        color:#721e2b !important;
    }

    .shan-nav--header
    .shan-shop-dropdown__all:hover
    .shan-shop-dropdown__chevron,
    .shan-nav--header
    .shan-shop-dropdown__all:focus-visible
    .shan-shop-dropdown__chevron{
        color:#4c111b !important;

        transform:
            translateX(3px)
            translateY(-1px);
    }

}

/* END HH SHOP DROPDOWN - REFERENCE POLISH 20260924 */


/* ==========================================================
   HH MY ACCOUNT - MOBILE CARD SEPARATION + WELCOME SPACING
   ========================================================== */
@media(max-width:560px){

  /* Give the greeting breathing room below the hero divider. */
  body.woocommerce-account.logged-in
  .hh-account-welcome{
    padding-top:18px;
  }

  /* Favorites / Account Details use the same independent-card
     treatment and spacing as Orders / Addresses. */
  body.woocommerce-account.logged-in
  .hh-account-quicklinks{
    margin-bottom:0;
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  body.woocommerce-account.logged-in
  .hh-account-quicklinks > .hh-account-quicklink{
    min-height:64px;
    margin:0 0 11px;
    padding:14px 16px;
    border:1px solid rgba(69,42,30,.12);
    border-radius:13px;
    background:#fffaf1;
    box-shadow:0 5px 18px rgba(36,32,29,.035);
  }

  body.woocommerce-account.logged-in
  .hh-account-quicklinks > .hh-account-quicklink + .hh-account-quicklink{
    border-top:1px solid rgba(69,42,30,.12);
  }

  /* No extra gap after the final Account Details card. */
  body.woocommerce-account.logged-in
  .hh-account-quicklinks > .hh-account-quicklink:last-child{
    margin-bottom:0;
  }

}

/* =========================================================

/* =========================================================
   HH MY ACCOUNT - MOBILE CONTENT TOP SPACING 20260924
   ========================================================= */
@media(max-width:560px){
    body.woocommerce-account.logged-in
    .shan-default-page > .shan-shell{
        padding-top:10px;
    }
}
/* END HH MY ACCOUNT - MOBILE CONTENT TOP SPACING 20260924 */

/* =========================================================
   HH DESKTOP SHOP - SORT CHEVRON SPACING 20260924
   ========================================================= */
@media (min-width:1024px){

    .shan-shop-reference .woocommerce-ordering{
        position:relative;
    }

    .shan-shop-reference .woocommerce-ordering select.orderby{
        -webkit-appearance:none !important;
        appearance:none !important;
        padding-right:38px !important;

        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23716861' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
        background-repeat:no-repeat !important;
        background-position:right 14px center !important;
        background-size:12px 8px !important;
    }
}
/* END HH DESKTOP SHOP - SORT CHEVRON SPACING 20260924 */


/* =========================================================
   HH OUR STORY - DESKTOP POLISH 20260924
   Desktop only. Mobile/tablet intentionally unchanged.
   ========================================================= */
@media (min-width:1024px){

    /* Stronger overall reading rhythm */
    .hh-story .hh-story-copy,
    .hh-story .hh-story-materials__copy > p{
        font-size:16px;
        line-height:1.7;
    }

    /* Intro: slightly tighter transition into craft story */
    .hh-story .hh-story-intro{
        padding-top:72px;
        padding-bottom:56px;
    }

    .hh-story .hh-story-intro__grid{
        align-items:start;
    }

    .hh-story .hh-story-intro h2{
        max-width:520px;
    }

    .hh-story .hh-story-copy{
        max-width:620px;
    }

    .hh-story .hh-story-copy p{
        margin-bottom:16px;
    }


    /* Human-touch feature: desktop editorial split */
    .hh-story .hh-story-feature{
        padding-top:24px;
        padding-bottom:78px;
    }

    .hh-story .hh-story-feature__grid{
        display:grid;
        grid-template-columns:minmax(0,1.38fr) minmax(360px,1fr);
        align-items:stretch;
        gap:0;
    }

    .hh-story .hh-story-feature__card{
        display:contents;
        max-width:none;
    }

    .hh-story .hh-story-visual--craft{
        min-height:500px;
        border-radius:18px 0 0 18px;
        overflow:hidden;
    }

    .hh-story .hh-story-visual--craft img{
        width:100%;
        height:100%;
        min-height:500px;
        object-fit:cover;
    }

    .hh-story .hh-story-feature__copy{
        display:flex;
        flex-direction:column;
        justify-content:center;
        max-width:none;
        padding:54px 52px;
        border-radius:0 18px 18px 0;
    }

    .hh-story .hh-story-feature__copy .shan-eyebrow{
        margin-bottom:16px;
    }

    .hh-story .hh-story-feature__copy h2{
        max-width:470px;
        margin:0 0 18px;
        font-size:46px;
        line-height:1.03;
        letter-spacing:-.025em;
    }

    .hh-story .hh-story-feature__copy p{
        max-width:470px;
        margin:0;
        font-size:16px;
        line-height:1.7;
    }


    /* Values: refined desktop editorial composition */
    .hh-story .hh-story-values{
        padding-top:58px;
        padding-bottom:62px;
    }

    .hh-story .hh-story-values__heading{
        max-width:650px;
        margin-bottom:30px;
    }

    .hh-story .hh-story-values__heading .shan-eyebrow{
        margin-bottom:12px;
    }

    .hh-story .hh-story-values__heading h2{
        max-width:600px;
        margin-bottom:0;
        font-size:46px;
        line-height:1.02;
        letter-spacing:-.025em;
    }

    .hh-story .hh-story-values__grid{
        gap:0;
        background:transparent;
    }

    .hh-story .hh-story-value{
        min-height:190px;
        padding:28px 32px 18px;
        border-left:1px solid rgba(255,255,255,.20);
        background:transparent;
    }

    .hh-story .hh-story-value:first-child{
        padding-left:0;
        border-left:0;
    }

    .hh-story .hh-story-value:last-child{
        padding-right:0;
    }

    .hh-story .hh-story-value span{
        margin-bottom:28px;
        font-size:16px;
        line-height:1;
    }

    .hh-story .hh-story-value h3{
        margin-bottom:10px;
        font-size:23px;
        line-height:1.15;
    }

    .hh-story .hh-story-value p{
        max-width:350px;
        margin:0;
        color:rgba(255,255,255,.82);
        font-size:15px;
        line-height:1.6;
    }


    /* Heritage/materials section:
       strengthen text/image balance */
    .hh-story .hh-story-materials{
        padding-top:76px;
        padding-bottom:76px;
    }

    .hh-story .hh-story-materials__grid{
        align-items:center;
    }

    .hh-story .hh-story-materials__copy{
        max-width:540px;
    }

    .hh-story .hh-story-materials__copy h2{
        max-width:500px;
        margin-bottom:18px;
    }

    .hh-story .hh-story-materials__copy > p{
        max-width:520px;
        margin-bottom:15px;
    }


    /* Closing CTA: preserve its spacious editorial finish */
    .hh-story .hh-story-closing{
        padding-top:70px;
        padding-bottom:76px;
    }

    .hh-story .hh-story-closing__inner{
        max-width:760px;
    }

    .hh-story .hh-story-closing__inner > p:not(.shan-eyebrow){
        max-width:620px;
        margin-left:auto;
        margin-right:auto;
        font-size:15px;
        line-height:1.65;
    }
}
/* END HH OUR STORY - DESKTOP POLISH 20260924 */

/* =========================================================
   HH CONTACT - DESKTOP SINGLE COLUMN 20260925
   Desktop only. Mobile/tablet intentionally unchanged.
   ========================================================= */
@media (min-width:1024px){

    /* Overall contact area */
    .hh-contact .hh-contact-main{
        padding-top:76px;
        padding-bottom:88px;
    }

    .hh-contact .hh-contact-grid{
        display:flex;
        flex-direction:column;
        width:min(100%, 820px);
        margin-left:auto;
        margin-right:auto;
        gap:0;
    }

    /* Form becomes the primary content */
    .hh-contact .hh-contact-form-wrap{
        order:1;
        width:100%;
        margin:0;
        padding:0;
        border:0;
        background:transparent;
        box-shadow:none;
    }

    .hh-contact .hh-contact-form-heading{
        margin-bottom:34px;
        text-align:center;
    }

    .hh-contact .hh-contact-form-heading .shan-eyebrow{
        margin-bottom:12px;
    }

    .hh-contact .hh-contact-form-heading h2{
        margin:0;
        font-size:48px;
        line-height:1.04;
        letter-spacing:-.025em;
    }

    /* Preserve useful two-column name/email row */
    .hh-contact .hh-contact-form{
        gap:22px;
    }

    .hh-contact .hh-contact-form__row{
        grid-template-columns:1fr 1fr;
        gap:20px;
    }

    .hh-contact .hh-contact-form input,
    .hh-contact .hh-contact-form select{
        height:54px;
    }

    .hh-contact .hh-contact-form textarea{
        min-height:170px;
    }

    .hh-contact .hh-contact-submit{
        min-height:54px;
        margin-top:2px;
    }

    /* Direct email becomes secondary contact strip */
    .hh-contact .hh-contact-direct{
        order:2;
        width:100%;
        margin-top:38px;
        padding-top:30px;
        border-top:1px solid rgba(113,104,97,.22);
        text-align:center;
    }

    .hh-contact .hh-contact-direct .shan-eyebrow{
        display:none;
    }

    .hh-contact .hh-contact-direct h2{
        margin:0 0 7px;
        font-size:27px;
        line-height:1.1;
    }

    .hh-contact .hh-contact-direct > p:not(.shan-eyebrow){
        margin:0 0 17px;
        font-size:15px;
        line-height:1.6;
    }

    /*
     * Keep the real email address clearly visible and clickable.
     * This reuses the existing template markup.
     */
    .hh-contact .hh-contact-direct__email{
        display:inline-grid;
        grid-template-columns:auto auto;
        grid-template-rows:auto auto;
        column-gap:18px;
        row-gap:3px;
        min-width:360px;
        padding:14px 18px;
        text-align:left;
        background:#f8f0e2;
    }

    .hh-contact .hh-contact-direct__email > span:first-child{
        grid-column:1;
        grid-row:1;
    }

    .hh-contact .hh-contact-direct__email strong{
        grid-column:1;
        grid-row:2;
        font-size:16px;
    }

    .hh-contact .hh-contact-direct__email > span:last-child{
        grid-column:2;
        grid-row:1 / span 2;
        align-self:center;
    }

    /* Success state follows the same centered composition */
    .hh-contact .hh-contact-success{
        max-width:680px;
        margin-left:auto;
        margin-right:auto;
    }
}
/* END HH CONTACT - DESKTOP SINGLE COLUMN 20260925 */

/* =========================================================
   HH CONTACT - MOBILE MATCH DESKTOP 20260925
   Same composition as approved desktop layout.
   ========================================================= */
@media (width < 1024px){

    .hh-contact .hh-contact-grid{
        display:flex !important;
        flex-direction:column !important;
        gap:0 !important;
    }

    /* Form first */
    .hh-contact .hh-contact-form-wrap{
        order:1;
        width:100%;
        margin:0 !important;
        padding:6px 12px 0 !important;
        border:0 !important;
        background:transparent !important;
        box-shadow:none !important;
    }

    .hh-contact .hh-contact-form-heading{
        margin-bottom:26px !important;
        text-align:center;
    }

    .hh-contact .hh-contact-form-heading .shan-eyebrow{
        margin-bottom:10px;
    }

    .hh-contact .hh-contact-form-heading h2{
        margin:0;
    }

    /* Keep fields mobile-friendly */
    .hh-contact .hh-contact-form__row{
        grid-template-columns:1fr !important;
    }

    /* Email section underneath form */
    .hh-contact .hh-contact-direct{
        order:2;
        width:100%;
        margin-top:34px;
        padding-top:28px;
        border-top:1px solid rgba(113,104,97,.22);
        text-align:center;
    }

    .hh-contact .hh-contact-direct .shan-eyebrow{
        display:none;
    }

    .hh-contact .hh-contact-direct h2{
        margin:0 0 7px;
        font-size:28px;
        line-height:1.1;
    }

    .hh-contact .hh-contact-direct > p:not(.shan-eyebrow){
        margin:0 0 16px;
        font-size:15px;
        line-height:1.6;
    }

    /* Visible + clickable actual email address */
    .hh-contact .hh-contact-direct__email{
        display:grid;
        grid-template-columns:1fr auto;
        width:100%;
        box-sizing:border-box;
        padding:16px;
        text-align:left;
    }

    .hh-contact .hh-contact-direct__email strong{
        font-size:15px;
        overflow-wrap:anywhere;
    }
}
/* END HH CONTACT - MOBILE MATCH DESKTOP 20260925 */

/* Homepage story sections — desktop contained width */
@media (min-width:1024px){
  .shan-more-than-bags,
  .shan-craft-banner{
    max-width:1440px;
    margin-left:auto;
    margin-right:auto;
  }

  .shan-more-than-bags > .shan-shell,
  .shan-craft-banner > .shan-shell{
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
  }
}

/* More Than Bags — approved desktop 50/50 layout */
@media (min-width:1024px){
  .shan-more-than-bags__grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
  }

  .shan-more-than-bags__image{
    grid-column:1;
    grid-row:1 / 3;
  }

  .shan-more-than-bags__story{
    grid-column:2;
    grid-row:1;
    border-right:0;
  }

  .shan-more-than-bags__values{
    grid-column:2;
    grid-row:2;
  }
}

/* More Than Bags — compact storytelling CTA */
@media (min-width:1024px){
  .shan-more-than-bags--cta{
    position:relative;
    max-width:1440px;
    min-height:400px;
    margin-left:auto;
    margin-right:auto;
    display:flex;
    align-items:center;
    background:#342a25;
    overflow:hidden;
  }

  .shan-more-than-bags--cta .shan-more-than-bags__cta{
    position:relative;
    z-index:1;
    width:min(620px, 50%);
    padding:56px 64px;
    color:#fffaf1;
  }

  .shan-more-than-bags--cta .shan-more-than-bags__eyebrow{
    margin:0 0 12px;
    font-family:var(--shan-serif);
    font-size:42px;
    line-height:1.05;
    color:#fffaf1;
  }

  .shan-more-than-bags--cta .shan-more-than-bags__cta h2{
    margin:0 0 18px;
    font-family:var(--shan-serif);
    font-size:27px;
    line-height:1.25;
    color:#e2c784;
  }

  .shan-more-than-bags--cta .shan-more-than-bags__copy{
    max-width:560px;
    margin:0 0 28px;
    font-size:17px;
    line-height:1.6;
    color:#fffaf1;
  }
}

/* More Than Bags CTA — artisan background */
@media (min-width:1024px){
  .shan-more-than-bags--cta{
    background-image:
      linear-gradient(
        90deg,
        rgba(30,22,18,.88) 0%,
        rgba(30,22,18,.74) 28%,
        rgba(30,22,18,.36) 52%,
        rgba(30,22,18,.08) 72%,
        rgba(30,22,18,0) 100%
      ),
      url("../images/more-than-bags-cta.png");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
  }

  .shan-more-than-bags--cta .shan-more-than-bags__cta{
    align-self:center;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
}

/* More Than Bags CTA — approved desktop content positioning */
@media (min-width:1024px){
  .shan-more-than-bags--cta .shan-more-than-bags__cta{
    width:50%;
    max-width:none;
    padding:56px 70px;
    box-sizing:border-box;
    align-self:stretch;
    justify-content:center;
  }
}

/* =========================================================
   HOMEPAGE COLLECTION SECTION
   Shared layout: Featured Pieces + New Arrivals + Sale
   ========================================================= */

.shan-collection-section{
  padding:42px 0 46px;
  background:#fff;
}

.shan-collection-section .shan-section-heading{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  width:100%;
  margin-bottom:18px;
  text-align:left;
}

.shan-collection-section .shan-section-heading .shan-eyebrow,
.shan-collection-section .shan-section-heading p:last-child{
  display:none;
}

.shan-collection-section .shan-section-heading h2{
  margin:0;
  font-family:var(--shan-serif);
  font-size:38px;
  font-weight:500;
  line-height:1;
  letter-spacing:-.02em;
}

.shan-collection-section .shan-section-heading > a{
  display:inline-flex;
  align-items:center;
  align-self:center;
  gap:8px;
  margin-top:0;
  margin-bottom:0;
  margin-left:auto;
  color:var(--shan-ink);
  font-family:var(--shan-sans);
  font-size:14px;
  font-weight:500;
  text-decoration:none;
}

.shan-collection-section .shan-product-tile-grid{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:18px !important;
}

@media(width < 1024px){

  .shan-collection-section{
    padding:27px 0 30px !important;
  }

  .shan-collection-section .shan-section-heading{
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    margin-bottom:16px !important;
  }

  .shan-collection-section .shan-section-heading h2{
    margin:0 !important;
    font-size:28px !important;
    line-height:1.05 !important;
  }

  .shan-collection-section .shan-section-heading > a{
    display:inline-flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    font-size:11px !important;
    font-weight:700 !important;
    line-height:1 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
    text-decoration:none !important;
  }

  .shan-collection-section .shan-product-tile-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    row-gap:28px !important;
    column-gap:12px !important;
  }
}

/* More Than Bags CTA — mobile horizontal spacing */
@media (width < 1024px){
  .shan-more-than-bags--cta .shan-more-than-bags__cta{
    padding-left:24px !important;
    padding-right:24px !important;
  }
}

/* More Than Bags CTA — shared typography */
.shan-more-than-bags--cta .shan-more-than-bags__eyebrow{
  font-family:var(--shan-serif) !important;
  font-size:42px !important;
  line-height:1.05 !important;
  color:#fffaf1 !important;
}

.shan-more-than-bags--cta .shan-more-than-bags__cta h2{
  font-family:var(--shan-serif) !important;
  font-size:27px !important;
  line-height:1.25 !important;
  color:#e2c784 !important;
}

.shan-more-than-bags--cta .shan-more-than-bags__copy{
  font-size:17px !important;
  line-height:1.6 !important;
  color:#fffaf1 !important;
}

/* More Than Bags CTA — mobile background */
@media (width < 1024px){
  .shan-more-than-bags--cta{
    background-image:
      linear-gradient(rgba(0,0,0,.50), rgba(0,0,0,.50)),
      url("../images/more-than-bags-cta.png") !important;
    background-size:cover !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
  }
}

/* ==========================================================
   HH DESKTOP PDP LIGHTBOX 20260925
   Desktop only. Does not alter PDP gallery layout.
   ========================================================== */
@media (min-width:1024px){

    html.hh-pdp-lightbox-open,
    body.hh-pdp-lightbox-open{
        overflow:hidden !important;
    }

    .shan-commerce--single
    .woocommerce-product-gallery__image img{
        cursor:zoom-in;
    }

    .hh-pdp-lightbox{
        position:fixed;
        inset:0;
        z-index:100000;
        display:none;
        align-items:center;
        justify-content:center;
        background:rgba(0,0,0,.92);
        isolation:isolate;
    }

    .hh-pdp-lightbox.is-open{
        display:flex;
    }

    .hh-pdp-lightbox__stage{
        position:absolute;
        inset:64px 90px;
        display:flex;
        align-items:center;
        justify-content:center;
        overflow:hidden;
    }

    .hh-pdp-lightbox__image{
        display:block;
        width:auto;
        height:auto;
        max-width:100%;
        max-height:100%;
        object-fit:contain;
        user-select:none;
        -webkit-user-drag:none;
        cursor:zoom-in;
        transform-origin:center center;
        will-change:transform;
    }

    .hh-pdp-lightbox__image.is-zoomed{
        cursor:grab;
    }

    .hh-pdp-lightbox__image.is-dragging{
        cursor:grabbing;
    }

    .hh-pdp-lightbox__close,
    .hh-pdp-lightbox__nav{
        position:absolute;
        z-index:2;
        border:0;
        padding:0;
        background:transparent;
        color:#fff;
        font-family:Arial,sans-serif;
        line-height:1;
        cursor:pointer;
    }

    .hh-pdp-lightbox__close{
        top:20px;
        right:26px;
        width:44px;
        height:44px;
        font-size:42px;
        font-weight:300;
    }

    .hh-pdp-lightbox__nav{
        top:50%;
        width:56px;
        height:72px;
        font-size:42px;
        transform:translateY(-50%);
    }

    .hh-pdp-lightbox__nav--prev{
        left:18px;
    }

    .hh-pdp-lightbox__nav--next{
        right:18px;
    }

    .hh-pdp-lightbox__counter{
        position:absolute;
        bottom:22px;
        left:50%;
        color:#fff;
        font-size:13px;
        font-weight:600;
        letter-spacing:.08em;
        transform:translateX(-50%);
    }

    .hh-pdp-lightbox__nav[hidden],
    .hh-pdp-lightbox__counter[hidden]{
        display:none !important;
    }
}
/* END HH DESKTOP PDP LIGHTBOX 20260925 */

/* HH DESKTOP PDP LIGHTBOX — APPROVED POLISH 20260925 */
@media (min-width:1024px){

    /* Fullscreen image is already open: normal pointer at 1x. */
    .hh-pdp-lightbox__image{
        cursor:default !important;
    }

    /* Grab affordance only when the image is actually zoomed. */
    .hh-pdp-lightbox__image.is-zoomed{
        cursor:grab !important;
    }

    .hh-pdp-lightbox__image.is-dragging{
        cursor:grabbing !important;
    }

    /* Keep close control clean when JS gives it keyboard focus. */
    .hh-pdp-lightbox__close,
    .hh-pdp-lightbox__close:focus,
    .hh-pdp-lightbox__close:focus-visible{
        border:0 !important;
        outline:0 !important;
        box-shadow:none !important;
        background:transparent !important;
    }

    /* H&H primary typography for image counter. */
    .hh-pdp-lightbox__counter{
        font-family:"DM Sans", sans-serif !important;
        font-size:15px !important;
        font-weight:500 !important;
        letter-spacing:.02em !important;
        line-height:1.4 !important;
    }
}
/* END HH DESKTOP PDP LIGHTBOX — APPROVED POLISH 20260925 */

/* ==========================================================
   HH PDP LIGHTBOX RESPONSIVE EXTENSION 20260925
   Mobile <768px
   Tablet/Compact 768px-1023px
   Desktop >=1024px
   ========================================================== */

@media (width < 1024px){

    html.hh-pdp-lightbox-open,
    body.hh-pdp-lightbox-open{
        overflow:hidden !important;
        overscroll-behavior:none;
    }

    .shan-commerce--single .woocommerce-product-gallery__image img{
        cursor:zoom-in;
    }

    .hh-pdp-lightbox{
        position:fixed;
        inset:0;
        z-index:100000;
        display:none;
        align-items:center;
        justify-content:center;
        background:rgba(0,0,0,.92);
        isolation:isolate;
    }

    .hh-pdp-lightbox.is-open{
        display:flex;
    }

    .hh-pdp-lightbox__stage{
        position:absolute;
        display:flex;
        align-items:center;
        justify-content:center;
        overflow:hidden;
    }

    .hh-pdp-lightbox__image{
        display:block;
        width:auto;
        height:auto;
        max-width:100%;
        max-height:100%;
        object-fit:contain;
        user-select:none;
        -webkit-user-select:none;
        -webkit-user-drag:none;
        transform-origin:center center;
        will-change:transform;
    }

    .hh-pdp-lightbox__close,
    .hh-pdp-lightbox__nav{
        position:absolute;
        z-index:2;
        border:0 !important;
        outline:0 !important;
        box-shadow:none !important;
        padding:0;
        background:transparent !important;
        color:#fff;
        font-family:Arial,sans-serif;
        line-height:1;
    }

    .hh-pdp-lightbox__close{
        top:20px;
        right:20px;
        width:44px;
        height:44px;
        font-size:42px;
        font-weight:300;
    }

    .hh-pdp-lightbox__nav{
        top:50%;
        width:48px;
        height:64px;
        font-size:36px;
        transform:translateY(-50%);
    }

    .hh-pdp-lightbox__nav--prev{
        left:4px;
    }

    .hh-pdp-lightbox__nav--next{
        right:4px;
    }

    .hh-pdp-lightbox__counter{
        position:absolute;
        bottom:22px;
        left:50%;
        color:#fff;
        font-family:"DM Sans",sans-serif !important;
        font-size:15px !important;
        font-weight:500 !important;
        letter-spacing:.02em !important;
        line-height:1.4 !important;
        transform:translateX(-50%);
    }

    .hh-pdp-lightbox__nav[hidden],
    .hh-pdp-lightbox__counter[hidden]{
        display:none !important;
    }
}

/* Tablet / Compact: 768px-1023px */
@media (min-width:768px) and (max-width:1023px){
    .hh-pdp-lightbox__stage{
        inset:64px 68px;
    }
}

/* Mobile: below 768px */
@media (width < 768px){
    .hh-pdp-lightbox__stage{
        inset:72px 16px 58px;
    }
}

/* END HH PDP LIGHTBOX RESPONSIVE EXTENSION 20260925 */

/* HH PDP LIGHTBOX TOUCH BEHAVIOR 20260926 */
@media (width < 1024px){

    .hh-pdp-lightbox__stage,
    .hh-pdp-lightbox__image{
        touch-action:none;
    }

    /* Tablet/mobile navigation is swipe-only. */
    .hh-pdp-lightbox__nav{
        display:none !important;
    }
}
/* END HH PDP LIGHTBOX TOUCH BEHAVIOR 20260926 */

/* HH PDP MOBILE LIGHTBOX EDGE-TO-EDGE 20260926 */
@media (width < 768px){
    .hh-pdp-lightbox__stage{
        inset:72px 0 58px !important;
    }
}
/* END HH PDP MOBILE LIGHTBOX EDGE-TO-EDGE 20260926 */

/* HH PDP DESKTOP BREADCRUMB 20260926 */
@media (min-width:1024px){
    body.single-product .shan-mobile-catalog-breadcrumb{
        display:block;
        width:100%;
        margin:0 0 15px;
        overflow:hidden;
    }
}
/* END HH PDP DESKTOP BREADCRUMB 20260926 */

/* HH PDP DESKTOP BREADCRUMB VISIBILITY 20260926 */
@media (min-width:1024px){
    .shan-commerce--single .woocommerce-breadcrumb{
        display:block !important;
    }
}
/* END HH PDP DESKTOP BREADCRUMB VISIBILITY 20260926 */

/* HH PDP product SKU */
.shan-pdp-sku{
    margin:20px 0 0;
    color:var(--shan-muted);
    font-size:13px;
    line-height:1.5;
}
.shan-pdp-sku strong{
    font-weight:600;
}

.shan-mobile-pdp-section__content .shan-pdp-sku{
    font-size:12px !important;
}

/* HH desktop navigation home icon */
@media (min-width:1024px){
    .shan-nav--header .shan-nav__item--home > a{
        display:flex;
        align-items:center;
        justify-content:center;
        padding-left:0;
        padding-right:0;
        color:var(--shan-burgundy);
    }
    .shan-nav--header .shan-nav__item--home svg{
        display:block;
        width:22px;
        height:22px;
        fill:none;
        stroke:currentColor;
        stroke-width:1.8;
        stroke-linecap:round;
        stroke-linejoin:round;
    }
}

/* =========================================================
   HH HEADER COMPACT BRIDGE 1024-1199
   Full desktop header begins at 1200px.
   Site-wide responsive breakpoints remain unchanged.
   ========================================================= */
@media (min-width:1024px) and (max-width:1199px){

    .shan-site-header{
        z-index:10002 !important;
        min-height:0 !important;
        padding:0 !important;
    }

    .shan-brand-row{
        position:relative !important;
        display:grid !important;
        width:100% !important;
        max-width:none !important;
        grid-template-columns:48px minmax(0,1fr) 48px !important;
        grid-template-rows:64px !important;
        min-height:64px !important;
        height:64px !important;
        padding:0 12px !important;
        margin:0 !important;
        align-items:center !important;
        column-gap:4px !important;
        overflow:visible !important;
    }

    .shan-brand-row > .shan-menu-toggle{
        position:static !important;
        display:block !important;
        grid-column:1 !important;
        grid-row:1 !important;
        justify-self:start !important;
        align-self:center !important;
        margin:0 !important;
        transform:none !important;
    }

    .shan-wordmark--header{
        position:static !important;
        grid-column:2 !important;
        grid-row:1 !important;
        display:block !important;
        width:156px !important;
        max-width:100% !important;
        height:auto !important;
        justify-self:center !important;
        align-self:center !important;
        margin:0 !important;
        padding:0 !important;
        transform:none !important;
    }

    .shan-wordmark--header img{
        position:static !important;
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        height:auto !important;
        max-height:none !important;
        margin:0 !important;
        padding:0 !important;
        object-fit:contain !important;
        object-position:center !important;
        transform:none !important;
    }

    .shan-header-actions{
        position:static !important;
        grid-column:3 !important;
        grid-row:1 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        justify-self:end !important;
        align-self:center !important;
        width:auto !important;
        height:auto !important;
        margin:0 !important;
        padding:0 !important;
        transform:none !important;
    }

    .shan-header-actions .shan-account-menu,
    .shan-header-actions > .shan-account-link{
        display:none !important;
    }

    .shan-nav.shan-nav--header{
        position:fixed !important;
        top:0 !important;
        bottom:auto !important;
        left:0 !important;
        right:auto !important;
        z-index:10001 !important;
        display:block !important;
        width:min(88vw,390px) !important;
        max-width:none !important;
        height:100vh !important;
        height:100dvh !important;
        max-height:none !important;
        padding:0 !important;
        border:0 !important;
        background:var(--shan-paper) !important;
        box-shadow:18px 0 48px rgba(36,32,29,.18) !important;
        overflow:hidden !important;
        visibility:hidden !important;
        opacity:0 !important;
        transform:translateX(-102%) !important;
        transition:transform .24s ease,opacity .18s ease,visibility 0s linear .24s !important;
    }

    .shan-nav.shan-nav--header.is-open{
        visibility:visible !important;
        opacity:1 !important;
        transform:translateX(0) !important;
        transition:transform .24s ease,opacity .18s ease !important;
    }

    .shan-nav.shan-nav--header > .shan-nav__list{
        display:none !important;
    }

    .shan-mobile-drawer{
        display:block !important;
        height:100% !important;
        overflow:hidden !important;
    }

    .shan-mobile-drawer__panel{
        height:100% !important;
        padding:20px 24px 28px !important;
        overflow-y:auto !important;
        overscroll-behavior:contain !important;
        background:var(--shan-paper) !important;
    }

    .shan-mobile-drawer__panel[hidden]{
        display:none !important;
    }

    .shan-mobile-drawer-overlay{
        position:fixed !important;
        inset:0 !important;
        z-index:10000 !important;
        display:block !important;
        background:rgba(36,32,29,.42) !important;
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
        transition:opacity .18s ease,visibility 0s linear .18s !important;
    }

    body.shan-mobile-drawer-open .shan-mobile-drawer-overlay{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        transition:opacity .18s ease !important;
    }

    html.shan-mobile-drawer-open,
    body.shan-mobile-drawer-open{
        overflow:hidden !important;
    }

    /* Full desktop-only navigation, including Home icon, stays hidden. */
    .shan-nav--header .shan-nav__item--home{
        display:none !important;
    }
}

/* END HH HEADER COMPACT BRIDGE 1024-1199 */

/* HH compact header hamburger parity 1024-1199 */
@media (min-width:1024px) and (max-width:1199px){
    .shan-brand-row > .shan-menu-toggle{
        display:flex !important;
        flex-direction:column !important;
        justify-content:center !important;
        align-items:flex-start !important;
        gap:5px !important;
        width:32px !important;
        height:32px !important;
        padding:0 !important;
        color:var(--shan-burgundy) !important;
    }

    .shan-brand-row > .shan-menu-toggle span:not(.screen-reader-text){
        display:flex !important;
        flex-direction:column !important;
        justify-content:center !important;
        align-items:flex-start !important;
        gap:5px !important;
        width:22px !important;
        height:2px !important;
        margin:0 !important;
        background:currentColor !important;
    }
}

/* HH Shop hero horizontal gutter - tablet and desktop */
@media (min-width:768px){
  .shan-shop-reference .shan-shop-hero__inner{
    width:min(calc(100% - 64px),var(--shan-shell));
    margin-inline:auto;
  }
}
/* END HH Shop hero horizontal gutter */

/* HH PDP - DESKTOP STOCK STATUS. */
  .shan-commerce--single .summary .stock,
  .shan-commerce--single .summary .stock.in-stock {
    display:inline-flex !important;
    align-items:center;
    gap:7px;
    margin:0 0 20px;
    padding:0;
    background:transparent;
    color:#366d46;
    font-size:13px !important;
    font-weight:650;
    letter-spacing:0;
    text-transform:none;
  }

  .shan-commerce--single .summary .stock.in-stock::before {
    width:7px;
    height:7px;
    flex:0 0 7px;
    border-radius:50%;
    background:#2a9d4f;
    content:"";
  }

  .shan-commerce--single .summary .stock.out-of-stock {
    color:#716861;
  }

  .shan-commerce--single .summary .stock.out-of-stock::before {
    width:7px;
    height:7px;
    display:inline-block;
    margin-right:7px;
    border-radius:50%;
    background:#b9b4b0;
    content:"";
  }

/* HH PDP quantity controls - clean desktop hover */
.shan-commerce--single .shan-qty-button:hover{
  background:transparent !important;
  box-shadow:none !important;
  color:var(--shan-burgundy) !important;
}

/* =========================================================
   HH PDP DESKTOP STOCK STATES
   1 = red, 2-3 = gold, 4+ = green, unavailable = gray
   ========================================================= */

  .shan-commerce--single .summary .stock.hh-stock-normal{
    color:#366d46;
  }

  .shan-commerce--single .summary .stock.hh-stock-normal::before{
    background:#2a9d4f;
  }

  .shan-commerce--single .summary .stock.hh-stock-low{
    color:#9a6b16;
  }

  .shan-commerce--single .summary .stock.hh-stock-low::before{
    background:#c59a45;
  }

  .shan-commerce--single .summary .stock.hh-stock-last{
    color:#a33a3a;
  }

  .shan-commerce--single .summary .stock.hh-stock-last::before{
    background:#c84a4a;
  }

  .shan-commerce--single .summary .stock.hh-stock-out{
    color:#716861;
  }

  .shan-commerce--single .summary .stock.hh-stock-out::before{
    background:#b9b4b0;
  }

  /* Clean quantity-button hover: no rectangular tint. */
  .shan-commerce--single .shan-qty-button:hover{
    background:transparent !important;
    box-shadow:none !important;
    color:var(--shan-burgundy) !important;
  }
/* END HH PDP DESKTOP STOCK STATES */

/* =========================================================
   HH SHIPPING & RETURNS DIALOG
   Unified responsive H&H modal for all viewports.
   ========================================================= */

.shan-policy-dialog{
  width:min(560px, calc(100% - 40px));
  max-width:560px;
  max-height:min(82vh, 720px);
  margin:auto;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(114,30,43,.10);
  border-radius:18px;
  background:var(--shan-paper);
  color:var(--shan-ink);
  box-shadow:
    0 24px 70px rgba(36,32,29,.22),
    0 3px 12px rgba(36,32,29,.08);
}

.shan-policy-dialog::backdrop{
  background:rgba(36,32,29,.48);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}

.shan-policy-dialog__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px 17px;
  border-bottom:1px solid rgba(113,104,97,.18);
  background:var(--shan-paper);
}

.shan-policy-dialog__header h2{
  margin:0 !important;
  color:var(--shan-ink);
  font-family:var(--shan-serif);
  font-size:22px !important;
  font-weight:600;
  line-height:1.2;
}

.shan-policy-dialog__close{
  display:grid;
  flex:0 0 38px;
  width:38px;
  height:38px;
  margin:0 !important;
  padding:0 !important;
  place-items:center;
  border:0 !important;
  border-radius:50% !important;
  background:rgba(114,30,43,.06) !important;
  box-shadow:none !important;
  color:var(--shan-burgundy) !important;
  font-size:27px !important;
  font-weight:400 !important;
  line-height:1 !important;
  cursor:pointer;
}

.shan-policy-dialog__close:hover,
.shan-policy-dialog__close:focus-visible{
  background:rgba(114,30,43,.11) !important;
  outline:none;
}

.shan-policy-dialog__content{
  max-height:calc(min(82vh, 720px) - 76px);
  padding:22px 24px 30px;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  color:var(--shan-muted);
  font-size:14px;
  line-height:1.7;
}

.shan-policy-dialog__content > h1:first-child{
  display:none;
}

.shan-policy-dialog__content h2{
  margin:26px 0 9px;
  color:var(--shan-burgundy);
  font-family:var(--shan-serif);
  font-size:20px;
  font-weight:600;
  line-height:1.25;
}

.shan-policy-dialog__content h2:first-child{
  margin-top:0;
}

.shan-policy-dialog__content h3{
  margin:20px 0 7px;
  color:var(--shan-ink);
  font-size:15px;
  font-weight:700;
  line-height:1.35;
}

.shan-policy-dialog__content p{
  margin:0 0 13px;
}

/* Mobile keeps the same design with tighter geometry. */
@media(width < 600px){
  .shan-policy-dialog{
    width:calc(100% - 28px);
    max-height:88vh;
    border-radius:16px;
  }

  .shan-policy-dialog__header{
    padding:17px 18px 15px;
  }

  .shan-policy-dialog__header h2{
    font-size:20px !important;
  }

  .shan-policy-dialog__close{
    background:transparent !important;
  }

  .shan-policy-dialog__content{
    max-height:calc(88vh - 71px);
    padding:20px 18px 28px;
    font-size:15px;
    line-height:1.65;
  }
}

/* END HH SHIPPING & RETURNS DIALOG */

/* ==========================================================
   HH MOBILE PDP - FIVE THUMBNAIL HORIZONTAL RAIL
   Variable galleries only. Simple four-image PDPs unchanged.
   ========================================================== */
@media (width < 1024px){

  .shan-commerce--single
  .flex-control-nav.flex-control-thumbs:has(> li:nth-child(5)){
    justify-content:flex-start !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
    padding-left:5px !important;
    padding-right:5px !important;
    box-sizing:border-box;
  }

  .shan-commerce--single
  .flex-control-nav.flex-control-thumbs:has(> li:nth-child(5))::-webkit-scrollbar{
    display:none;
  }

  .shan-commerce--single
  .flex-control-nav.flex-control-thumbs:has(> li:nth-child(5)) > li{
    flex:0 0 72px !important;
    width:72px !important;
    max-width:72px !important;
    scroll-snap-align:start;
  }
}
/* END HH MOBILE PDP - FIVE THUMBNAIL HORIZONTAL RAIL */

/* HH MOBILE PDP - let five-thumbnail rail own horizontal touch scrolling */
@media (width < 1024px){
  .shan-commerce--single
  .flex-control-nav.flex-control-thumbs:has(> li:nth-child(5)){
    touch-action:pan-x !important;
    overscroll-behavior-x:contain;
  }
}
/* END HH MOBILE PDP - thumbnail touch scrolling */

/* HH PDP VARIABLE PRICE: price is presented in the shared H&H top price row. */
.shan-commerce--single .variations_form .woocommerce-variation-price {
    display: none;
}
/* END HH PDP VARIABLE PRICE */

/* HH PDP VARIABLE STOCK: availability is presented in the shared top details area. */
.shan-commerce--single .variations_form .woocommerce-variation-availability {
    display: none;
}
/* END HH PDP VARIABLE STOCK */


/* HH PDP VARIABLE PURCHASE ROW: desktop/tablet use full Simple-style purchase width. */
@media (min-width:1024px) {
    .shan-commerce--single .variations_form .single_variation_wrap,
    .shan-commerce--single .variations_form .woocommerce-variation-add-to-cart {
        width:100%;
    }

    .shan-commerce--single .variations_form .woocommerce-variation-add-to-cart {
        display:flex;
        align-items:stretch;
        gap:10px;
    }

    .shan-commerce--single .variations_form .woocommerce-variation-add-to-cart .quantity {
        flex:0 0 auto;
    }

    .shan-commerce--single .variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button {
        flex:1 1 auto;
        min-width:0;
    }
}
/* END HH PDP VARIABLE PURCHASE ROW */

/* HH PDP VARIABLE PURCHASE ROW: purchase controls begin below Style on desktop/tablet. */
@media (min-width:1024px) {
    .shan-commerce--single form.variations_form.cart {
        display:block !important;
        width:100%;
    }

    .shan-commerce--single form.variations_form.cart table.variations {
        display:block;
        width:100%;
    }

    .shan-commerce--single form.variations_form.cart .single_variation_wrap {
        display:block;
        width:100%;
        clear:both;
    }

    .shan-commerce--single form.variations_form.cart .woocommerce-variation-add-to-cart {
        width:100%;
        margin-top:10px;
    }
}
/* END HH PDP VARIABLE PURCHASE ROW: NEW ROW */

/* HH PDP STYLE IMAGE SWATCHES */
.shan-commerce--single .shan-variation-choices--style {
    display:flex;
    align-items:flex-start;
    flex-wrap:wrap;
    gap:14px;
}

.shan-commerce--single .shan-variation-choices--style .shan-style-image-choice {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    width:70px;
    min-width:70px;
    min-height:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent !important;
    box-shadow:none;
    color:inherit !important;
    overflow:visible;
}

.shan-commerce--single .shan-style-image-canvas {
    display:flex;
    align-items:center;
    justify-content:center;
    width:64px;
    height:64px;
    box-sizing:border-box;
    overflow:hidden;
    border:1px solid rgba(36,32,29,.20);
    border-radius:50%;
    background:#F2F1EE;
    transition:border-color .18s ease, box-shadow .18s ease;
}

.shan-commerce--single .shan-style-swatch-image {
    display:block;
    width:100%;
    height:100%;
    margin:0;
    object-fit:contain;
    object-position:center;
    border-radius:50%;
}

.shan-commerce--single .shan-style-image-label {
    display:block;
    width:100%;
    color:#24201d !important;
    font-size:12px;
    line-height:1.25;
    text-align:center;
    white-space:normal;
}

.shan-commerce--single .shan-variation-choices--style .shan-style-image-choice:hover,
.shan-commerce--single .shan-variation-choices--style .shan-style-image-choice:focus,
.shan-commerce--single .shan-variation-choices--style .shan-style-image-choice.is-selected {
    background:transparent !important;
    border-color:transparent !important;
    color:inherit !important;
    box-shadow:none !important;
}

.shan-commerce--single .shan-style-image-choice:hover .shan-style-image-canvas,
.shan-commerce--single .shan-style-image-choice:focus-visible .shan-style-image-canvas {
    border-color:#721e2b;
}

.shan-commerce--single .shan-style-image-choice.is-selected .shan-style-image-canvas {
    border-color:#721e2b;
    box-shadow:0 0 0 2px #721e2b;
}

.shan-commerce--single .shan-style-image-choice.is-selected .shan-style-image-label {
    color:#721e2b !important;
    font-weight:600;
}

/* END HH PDP STYLE IMAGE SWATCHES */

/* HH PDP STYLE IMAGE SWATCHES */
.shan-commerce--single .shan-variation-choices--style {
    display:flex;
    align-items:flex-start;
    flex-wrap:wrap;
    gap:14px;
}

.shan-commerce--single .shan-variation-choices--style .shan-style-image-choice {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    width:70px;
    min-width:70px;
    min-height:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent !important;
    box-shadow:none;
    color:inherit !important;
    overflow:visible;
}

.shan-commerce--single .shan-style-image-canvas {
    display:flex;
    align-items:center;
    justify-content:center;
    width:64px;
    height:64px;
    box-sizing:border-box;
    overflow:hidden;
    border:1px solid rgba(36,32,29,.20);
    border-radius:50%;
    background:#F2F1EE;
    transition:border-color .18s ease, box-shadow .18s ease;
}

.shan-commerce--single .shan-style-swatch-image {
    display:block;
    width:100%;
    height:100%;
    margin:0;
    object-fit:contain;
    object-position:center;
    border-radius:50%;
}

.shan-commerce--single .shan-style-image-label {
    display:block;
    width:100%;
    color:#24201d !important;
    font-size:12px;
    line-height:1.25;
    text-align:center;
    white-space:normal;
}

.shan-commerce--single .shan-variation-choices--style .shan-style-image-choice:hover,
.shan-commerce--single .shan-variation-choices--style .shan-style-image-choice:focus,
.shan-commerce--single .shan-variation-choices--style .shan-style-image-choice.is-selected {
    background:transparent !important;
    border-color:transparent !important;
    color:inherit !important;
    box-shadow:none !important;
}

.shan-commerce--single .shan-style-image-choice:hover .shan-style-image-canvas,
.shan-commerce--single .shan-style-image-choice:focus-visible .shan-style-image-canvas {
    border-color:#721e2b;
}

.shan-commerce--single .shan-style-image-choice.is-selected .shan-style-image-canvas {
    border-color:#721e2b;
    box-shadow:0 0 0 2px #721e2b;
}

.shan-commerce--single .shan-style-image-choice.is-selected .shan-style-image-label {
    color:#721e2b !important;
    font-weight:600;
}

/* END HH PDP STYLE IMAGE SWATCHES */

/* HH PDP CFVSW ROUND STYLE IMAGE SWATCHES */
.shan-commerce--single .cfvsw-swatches-container[swatches-attr="attribute_pa_style"]{
  display:flex !important;
  align-items:flex-start !important;
  flex-wrap:wrap !important;
  gap:14px !important;
}

.shan-commerce--single .cfvsw-swatches-container[swatches-attr="attribute_pa_style"] .cfvsw-swatches-option{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:6px !important;

  width:70px !important;
  min-width:70px !important;
  height:auto !important;
  min-height:0 !important;

  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#24201d !important;
  box-shadow:none !important;
  overflow:visible !important;
}

.shan-commerce--single .shan-cfvsw-style-image{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:64px !important;
  height:64px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;

  border:1px solid rgba(36,32,29,.20) !important;
  border-radius:50% !important;
  background:#F2F1EE !important;

  transition:border-color .18s ease, box-shadow .18s ease;
}

.shan-commerce--single .shan-cfvsw-style-image img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;

  object-fit:contain !important;
  object-position:center !important;
  border-radius:50% !important;
}

.shan-commerce--single .cfvsw-swatches-container[swatches-attr="attribute_pa_style"] .cfvsw-swatch-inner{
  display:block !important;
  width:100% !important;

  color:#24201d !important;
  font-size:12px !important;
  font-weight:500 !important;
  line-height:1.25 !important;
  text-align:center !important;
  white-space:normal !important;
}

.shan-commerce--single .cfvsw-swatches-container[swatches-attr="attribute_pa_style"] .cfvsw-swatches-option.shan-selected{
  background:transparent !important;
  border:0 !important;
  color:#721e2b !important;
  box-shadow:none !important;
}

.shan-commerce--single .cfvsw-swatches-container[swatches-attr="attribute_pa_style"] .cfvsw-swatches-option.shan-selected .shan-cfvsw-style-image{
  border-color:#721e2b !important;
  box-shadow:0 0 0 2px #721e2b !important;
}

.shan-commerce--single .cfvsw-swatches-container[swatches-attr="attribute_pa_style"] .cfvsw-swatches-option.shan-selected .cfvsw-swatch-inner{
  color:#721e2b !important;
  font-weight:600 !important;
}

.shan-commerce--single .cfvsw-swatches-container[swatches-attr="attribute_pa_style"] .cfvsw-swatches-option:hover .shan-cfvsw-style-image,
.shan-commerce--single .cfvsw-swatches-container[swatches-attr="attribute_pa_style"] .cfvsw-swatches-option:focus-visible .shan-cfvsw-style-image{
  border-color:#721e2b !important;
}
/* END HH PDP CFVSW ROUND STYLE IMAGE SWATCHES */

/* HH PDP STYLE SWATCH FINAL POLISH */
.shan-commerce--single .shan-cfvsw-style-image img{
  object-fit:cover !important;
}

.shan-commerce--single .cfvsw-swatches-container[swatches-attr="attribute_pa_style"] .cfvsw-swatches-option.shan-selected .shan-cfvsw-style-image{
  border:2px solid #721e2b !important;
  box-shadow:none !important;
}
/* END HH PDP STYLE SWATCH FINAL POLISH */

/* HH PDP STYLE SWATCH BORDER POLISH */
.shan-commerce--single .shan-cfvsw-style-image img{
  object-fit:contain !important;
}

.shan-commerce--single .cfvsw-swatches-container[swatches-attr="attribute_pa_style"] .cfvsw-swatches-option.shan-selected .shan-cfvsw-style-image{
  border:2px solid #721e2b !important;
  box-shadow:none !important;
}
/* END HH PDP STYLE SWATCH BORDER POLISH */

/* HH PDP STYLE SWATCH IMAGE FILL */
.shan-commerce--single .shan-cfvsw-style-image img{
  object-fit:cover !important;
}
/* END HH PDP STYLE SWATCH IMAGE FILL */

/* HH MOBILE PDP — intentional sale price / shipping layout */
@media (max-width:560px){

  /* Sale price gets its own first row. */
  .shan-commerce--single .shan-single-price:has(.price ins){
    flex-wrap:wrap !important;
    row-gap:6px !important;
  }

  /* Shipping becomes a clean second row for sale products only. */
  .shan-commerce--single .shan-single-price:has(.price ins) .shan-shipping-note{
    flex:0 0 100% !important;
    width:100% !important;
    margin:0 !important;
    padding-left:0 !important;
    border-left:0 !important;
  }

}
/* END HH MOBILE PDP SALE PRICE LAYOUT */

/* =========================================================
   H&H PDP — STANDALONE CUSTOMER REVIEWS
   Editorial review presentation after related products.
   ========================================================= */

.shan-commerce--single .shan-pdp-reviews-section{
  position:relative;
  margin-top:88px;
  padding:76px 0 84px;
  border-top:1px solid var(--shan-line);
}

.shan-commerce--single .shan-pdp-reviews-section::before{
  content:"";
  position:absolute;
  top:-1px;
  left:50%;
  width:92px;
  height:3px;
  transform:translateX(-50%);
  background:var(--shan-burgundy);
}

.shan-commerce--single .shan-pdp-reviews-header{
  max-width:680px;
  margin:0 auto 48px;
  text-align:center;
}

.shan-commerce--single .shan-pdp-reviews-eyebrow{
  display:block;
  margin-bottom:11px;
  color:var(--shan-gold);
  font-size:11px;
  font-weight:800;
  letter-spacing:.2em;
  line-height:1;
  text-transform:uppercase;
}

.shan-commerce--single .shan-pdp-reviews-header h2{
  margin:0;
  color:var(--shan-ink);
  font-family:var(--shan-sans);
  font-size:clamp(32px,3.3vw,46px);
  font-weight:750;
  letter-spacing:-.035em;
  line-height:1.05;
}

.shan-commerce--single .shan-pdp-reviews-ornament{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:190px;
  margin:22px auto 20px;
}

.shan-commerce--single .shan-pdp-reviews-ornament span{
  width:68px;
  height:1px;
  background:var(--shan-line);
}

.shan-commerce--single .shan-pdp-reviews-ornament i{
  color:var(--shan-gold);
  font-size:8px;
  font-style:normal;
}

.shan-commerce--single .shan-pdp-reviews-summary{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.shan-commerce--single .shan-pdp-reviews-stars{
  margin-bottom:8px;
}

.shan-commerce--single .shan-pdp-reviews-stars .star-rating{
  float:none;
  width:5.4em;
  margin:0 auto;
  color:var(--shan-gold);
  font-size:20px;
  letter-spacing:2px;
}

.shan-commerce--single .shan-pdp-reviews-score{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:6px;
  color:var(--shan-ink);
}

.shan-commerce--single .shan-pdp-reviews-score strong{
  font-size:24px;
  font-weight:800;
  letter-spacing:-.03em;
}

.shan-commerce--single .shan-pdp-reviews-score span{
  color:var(--shan-muted);
  font-size:13px;
}

.shan-commerce--single .shan-pdp-reviews-summary p,
.shan-commerce--single .shan-pdp-reviews-intro{
  margin:3px 0 0;
  color:var(--shan-muted);
  font-size:12px;
  letter-spacing:.02em;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments > h2{
  display:none;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin:0;
  padding:0;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist li{
  position:relative;
  min-width:0;
  min-height:210px;
  margin:0;
  padding:30px 28px 27px;
  overflow:hidden;
  border:1px solid rgba(113,104,97,.20);
  border-radius:3px;
  background:rgba(255,250,241,.55);
  box-shadow:0 8px 28px rgba(36,32,29,.035);
}

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist li::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:42px;
  height:2px;
  background:var(--shan-gold);
}

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist li img.avatar{
  display:none;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist li .comment-text{
  display:flex;
  flex-direction:column;
  height:100%;
  margin:0;
  padding:0;
  border:0;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews .star-rating{
  order:-2;
  float:none;
  margin:0 0 22px;
  color:var(--shan-gold);
  font-size:15px;
  letter-spacing:1px;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews .description{
  order:-1;
  margin-bottom:26px;
  color:var(--shan-ink);
  font-size:15px;
  line-height:1.7;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews .description p{
  margin:0;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews .meta{
  margin-top:auto;
  padding-top:17px;
  border-top:1px solid rgba(113,104,97,.16);
  color:var(--shan-muted);
  font-size:11px;
  line-height:1.5;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews .woocommerce-review__author{
  color:var(--shan-ink);
  font-size:11px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews .woocommerce-review__dash{
  color:var(--shan-gold);
}

.shan-commerce--single .shan-pdp-reviews-native #reviews .woocommerce-review__published-date{
  color:var(--shan-muted);
}

.shan-commerce--single .shan-pdp-reviews-native #review_form_wrapper{
  margin-top:42px;
  padding-top:32px;
  border-top:1px solid var(--shan-line);
}

.shan-commerce--single .shan-pdp-reviews-native .woocommerce-noreviews,
.shan-commerce--single .shan-pdp-reviews-native .woocommerce-verification-required{
  margin:34px auto 0;
  color:var(--shan-muted);
  font-size:13px;
  text-align:center;
}

@media(width < 1024px){
  .shan-commerce--single .shan-pdp-reviews-section{
    margin-top:58px;
    padding:58px 0 64px;
  }

  .shan-commerce--single .shan-pdp-reviews-header{
    margin-bottom:34px;
  }

  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }
}

@media(width < 640px){
  .shan-commerce--single .shan-pdp-reviews-section{
    margin-top:44px;
    padding:48px 0 54px;
  }

  .shan-commerce--single .shan-pdp-reviews-section::before{
    width:64px;
  }

  .shan-commerce--single .shan-pdp-reviews-header{
    margin-bottom:28px;
  }

  .shan-commerce--single .shan-pdp-reviews-header h2{
    font-size:30px;
  }

  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist{
    grid-template-columns:1fr;
  }

  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist li{
    min-height:0;
    padding:24px 22px;
  }
}

/* END H&H PDP STANDALONE CUSTOMER REVIEWS */

/* =========================================================
   H&H PDP REVIEWS — GRID ALIGNMENT FIX
   Neutralize native Woo review list positioning so the
   H&H grid owns card placement and sizing.
   ========================================================= */

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments{
  width:100%;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch;
  width:100% !important;
  max-width:none !important;
  gap:22px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li.review,
.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li.comment{
  float:none !important;
  clear:none !important;
  display:block !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:235px;
  margin:0 !important;
  padding:32px 30px 28px !important;
  box-sizing:border-box !important;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li .comment_container{
  display:block !important;
  width:100% !important;
  height:100%;
  margin:0 !important;
  padding:0 !important;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li .comment-text{
  width:100% !important;
  height:100%;
  box-sizing:border-box;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews .description{
  font-size:15.5px;
  line-height:1.65;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews .meta{
  width:100%;
}

@media(width < 1024px){
  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(width < 640px){
  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist{
    grid-template-columns:1fr !important;
  }

  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li.review,
  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li.comment{
    min-height:0;
    padding:26px 23px !important;
  }
}

/* END H&H PDP REVIEWS GRID ALIGNMENT FIX */

/* =========================================================
   H&H PDP REVIEWS — GRID ALIGNMENT FIX
   Neutralize native Woo review list positioning so the
   H&H grid owns card placement and sizing.
   ========================================================= */

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments{
  width:100%;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch;
  width:100% !important;
  max-width:none !important;
  gap:22px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li.review,
.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li.comment{
  float:none !important;
  clear:none !important;
  display:block !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:235px;
  margin:0 !important;
  padding:32px 30px 28px !important;
  box-sizing:border-box !important;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li .comment_container{
  display:block !important;
  width:100% !important;
  height:100%;
  margin:0 !important;
  padding:0 !important;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li .comment-text{
  width:100% !important;
  height:100%;
  box-sizing:border-box;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews .description{
  font-size:15.5px;
  line-height:1.65;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews .meta{
  width:100%;
}

@media(width < 1024px){
  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(width < 640px){
  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist{
    grid-template-columns:1fr !important;
  }

  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li.review,
  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li.comment{
    min-height:0;
    padding:26px 23px !important;
  }
}

/* END H&H PDP REVIEWS GRID ALIGNMENT FIX */

/* H&H PDP reviews: remove WooCommerce clearfix pseudo-elements from review grid */
.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist::before,
.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist::after{
  content:none !important;
  display:none !important;
}

/* END H&H PDP REVIEW GRID CLEARFIX FIX */

/* =========================================================
   H&H PDP REVIEWS — FINAL EDITORIAL LAYOUT
   Full-width composition aligned with related products.
   ========================================================= */

.shan-commerce--single .shan-pdp-reviews-section{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-top:82px;
  padding-bottom:92px;
}

.shan-commerce--single .shan-pdp-reviews-native,
.shan-commerce--single .shan-pdp-reviews-native #reviews,
.shan-commerce--single .shan-pdp-reviews-native #comments{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.shan-commerce--single .shan-pdp-reviews-header{
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:52px;
}

.shan-commerce--single .shan-pdp-reviews-header h2{
  font-size:clamp(36px,3.4vw,48px);
  letter-spacing:-.04em;
}

.shan-commerce--single .shan-pdp-reviews-eyebrow{
  margin-bottom:13px;
  letter-spacing:.22em;
}

.shan-commerce--single .shan-pdp-reviews-ornament{
  margin-top:24px;
  margin-bottom:22px;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist{
  width:100% !important;
  max-width:none !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li.review,
.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li.comment{
  min-height:255px;
  padding:34px 32px 30px !important;
  border-color:rgba(113,104,97,.22);
  background:rgba(255,250,241,.68);
  box-shadow:0 10px 34px rgba(36,32,29,.04);
}

.shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li::before{
  width:48px;
  height:2px;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews .star-rating{
  margin-bottom:25px;
  font-size:16px;
  letter-spacing:1.2px;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews .description{
  margin-bottom:30px;
  color:var(--shan-ink);
  font-size:16px;
  line-height:1.72;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews .meta{
  padding-top:19px;
  font-size:11.5px;
}

.shan-commerce--single .shan-pdp-reviews-native #reviews .woocommerce-review__author{
  font-size:11.5px;
  letter-spacing:.08em;
}

.shan-commerce--single .shan-pdp-reviews-native .woocommerce-verification-required,
.shan-commerce--single .shan-pdp-reviews-native .woocommerce-noreviews{
  max-width:720px;
  margin:30px auto 0 !important;
  color:var(--shan-muted);
  font-size:12.5px;
  line-height:1.6;
  text-align:center;
}

/* Give the reviews a clear visual transition from related products. */
.shan-commerce--single .related + .shan-pdp-reviews-section{
  margin-top:82px !important;
}

/* Tablet */
@media(width < 1024px){
  .shan-commerce--single .shan-pdp-reviews-section{
    margin-top:60px !important;
    padding-top:62px;
    padding-bottom:70px;
  }

  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px !important;
  }

  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li.review,
  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li.comment{
    min-height:230px;
  }
}

/* Phone */
@media(width < 640px){
  .shan-commerce--single .shan-pdp-reviews-section{
    margin-top:48px !important;
    padding-top:52px;
    padding-bottom:58px;
  }

  .shan-commerce--single .shan-pdp-reviews-header{
    margin-bottom:34px;
  }

  .shan-commerce--single .shan-pdp-reviews-header h2{
    font-size:32px;
  }

  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li.review,
  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li.comment{
    min-height:0;
    padding:27px 24px 25px !important;
  }

  .shan-commerce--single .shan-pdp-reviews-native #reviews .description{
    font-size:15px;
  }
}

/* END H&H PDP REVIEWS FINAL EDITORIAL LAYOUT */

/* H&H PDP Reviews: span the complete two-column product grid */
.shan-commerce--single div.product > .shan-pdp-reviews-section{
  grid-column:1 / -1 !important;
  width:100% !important;
}

/* END H&H PDP REVIEWS FULL-WIDTH GRID SPAN */

/* H&H PDP Reviews — final proportion polish */
@media(width >= 1024px){
  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li.review,
  .shan-commerce--single .shan-pdp-reviews-native #reviews #comments ol.commentlist > li.comment{
    min-height:220px;
  }
}

.shan-commerce--single .shan-pdp-reviews-native .woocommerce-verification-required{
  margin-top:32px !important;
  color:#625a54;
  font-size:12.5px;
  line-height:1.55;
}

/* END H&H PDP REVIEWS FINAL PROPORTION POLISH */


/* HH UTILITY ACCOUNT DROPDOWN - keep utility dropdown above main header */
@media (min-width:1024px){
  .shan-utility-bar{
    z-index:10003 !important;
  }
}

/* HH 404 - centered layout without illustration */
.shan-404__grid{
    grid-template-columns:1fr;
    min-height:620px;
}
.shan-404__content{
    width:min(100%,720px);
    margin-inline:auto;
}

/* HH 404 - centered mobile actions */
@media(max-width:480px){
    .shan-404__actions{
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        margin-left:auto;
        margin-right:auto;
    }
    .shan-404__actions .shan-button{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:min(100%,280px);
        margin-left:auto;
        margin-right:auto;
    }
}


/* HH MOBILE CART — restore Cart totals heading hidden by Woo Blocks */
@media(width < 1024px){
    .shan-purchase--cart .wc-block-cart .wc-block-components-sidebar .wc-block-cart__totals-title{
        display:block !important;
    }
}

/* HH MOBILE CART SHEET — iOS Safari background scroll lock */
@media(width < 1024px){
  html.shan-cart-sheet-open,
  html.shan-cart-sheet-open body{
    overflow:hidden !important;
    overscroll-behavior:none;
  }

  html.shan-cart-sheet-open body{
    touch-action:none;
  }

  html.shan-cart-sheet-open .shan-mobile-cart-sheet__panel{
    touch-action:pan-y;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
}


/* HH COMPACT HEADER CART — unify phone + tablet geometry */
@media (width < 1024px){
    .shan-header-actions .shan-cart-link{
        justify-content:flex-end !important;
    }

    .shan-header-actions .shan-cart-link svg{
        width:22px !important;
        height:22px !important;
    }
}
/* END HH COMPACT HEADER CART — unify phone + tablet geometry */

/* =========================================================
   HH HOMEPAGE SHOP BY CATEGORY — TABLET 4 COLUMN
   Phone <=560px remains 2 columns.
   Tablet 561–1023px displays all four categories in one row.
   Desktop >=1024px remains unchanged.
   ========================================================= */
@media (min-width:561px) and (max-width:1023px){
  .shan-categories:not(.shan-categories-page) .shan-category-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}
/* END HH HOMEPAGE SHOP BY CATEGORY — TABLET 4 COLUMN */

/* =========================================================
   HH HOMEPAGE COLLECTIONS — TABLET 4 COLUMN
   Featured Pieces + New Arrivals + Sale
   Mobile <=560px remains 2 columns.
   Tablet 561–1023px displays 4 products per row.
   Desktop >=1024px remains 6 columns.
   ========================================================= */
@media (min-width:561px) and (max-width:1023px){
  .shan-collection-section .shan-product-tile-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}
/* END HH HOMEPAGE COLLECTIONS — TABLET 4 COLUMN */

/* =========================================================
   HH DESKTOP PRICE SLIDER - FINAL GEOMETRY
   ========================================================= */
@media (min-width:1024px) {

    .shan-price-range {
        position: relative !important;
        height: 24px !important;
    }

    .shan-price-range__track {
        position: absolute !important;
        top: 50% !important;
        height: 3px !important;
        transform: translateY(-50%) !important;
    }

    .shan-price-range input[type="range"] {
        position: absolute !important;
        top: 0 !important;
        height: 24px !important;
        margin: 0 !important;
        background: transparent !important;
    }

    .shan-price-range input[type="range"]::-webkit-slider-runnable-track {
        height: 3px !important;
        border: 0 !important;
        background: transparent !important;
    }

    .shan-price-range input[type="range"]::-webkit-slider-thumb {
        -webkit-appearance: none !important;
        appearance: none !important;
        width: 18px !important;
        height: 18px !important;
        margin-top: -7.5px !important;
        border: 2px solid var(--shan-burgundy) !important;
        border-radius: 50% !important;
        background: var(--shan-burgundy) !important;
        box-shadow: none !important;
    }

    .shan-price-range input[type="range"]::-moz-range-track {
        height: 3px !important;
        border: 0 !important;
        background: transparent !important;
    }

    .shan-price-range input[type="range"]::-moz-range-thumb {
        width: 18px !important;
        height: 18px !important;
        border: 2px solid var(--shan-burgundy) !important;
        border-radius: 50% !important;
        background: var(--shan-burgundy) !important;
        box-shadow: none !important;
    }
}
/* END HH DESKTOP PRICE SLIDER - FINAL GEOMETRY */

/* HH HOMEPAGE - hide More Than Bags on phones only (below 768px). */
@media (width < 768px) {
    body.home .shan-more-than-bags--cta {
        display: none !important;
    }
}
