/*
Theme Name: Handsole Fresh
Version: 1.3.87
Description: Fresh authority-first Handsole WooCommerce theme.
*/
html{margin-top:0!important} body.admin-bar .ann-bar{top:32px!important} body.admin-bar .handsole-global-nav, body.admin-bar nav.site-nav, body.admin-bar nav.cart-nav, body.admin-bar nav.checkout-nav{top:66px!important}
@media(max-width:782px){body.admin-bar .ann-bar{top:46px!important} body.admin-bar .handsole-global-nav,body.admin-bar nav.site-nav,body.admin-bar nav.cart-nav,body.admin-bar nav.checkout-nav{top:80px!important}}


/* v1.1.1 — canonical footer authority on every route */
.footer-top{background:#140E06!important;border-top:1px solid rgba(0,0,0,.2)!important;padding:clamp(56px,7vw,88px) clamp(28px,5.5vw,88px) clamp(40px,5vw,64px)!important;}
.footer-top-grid{display:grid!important;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr!important;gap:clamp(28px,3.5vw,52px)!important;}
.ft-brand{display:flex!important;flex-direction:column!important;}
.ft-logo{font-family:'Jost',sans-serif!important;font-size:.72rem!important;font-weight:600!important;letter-spacing:.26em!important;color:#C8922A!important;text-transform:uppercase!important;text-decoration:none!important;margin-bottom:14px!important;}
.ft-tagline{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:.98rem!important;color:rgba(237,229,212,.7)!important;line-height:1.7!important;max-width:220px!important;margin-bottom:24px!important;}
.ft-social{display:flex!important;gap:16px!important;margin-top:auto!important;}
.ft-social a{display:flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;border-radius:6px!important;border:1px solid rgba(237,229,212,.12)!important;color:rgba(237,229,212,.45)!important;text-decoration:none!important;}
.ft-nl-inline{margin-top:24px!important;}
.ft-nl-label,.ft-col-title{font-family:'Jost',sans-serif!important;font-size:.52rem!important;font-weight:600!important;letter-spacing:.22em!important;text-transform:uppercase!important;color:rgba(237,229,212,.9)!important;margin-bottom:18px!important;padding-bottom:10px!important;border-bottom:1px solid rgba(255,255,255,.14)!important;}
.ft-nl-tagline{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:.9rem!important;color:rgba(237,229,212,.58)!important;line-height:1.55!important;margin-bottom:12px!important;max-width:260px!important;}
.ft-nl-form{display:flex!important;max-width:300px!important;}
.ft-nl-input{min-width:0!important;flex:1!important;background:transparent!important;border:1px solid rgba(237,229,212,.18)!important;border-right:0!important;color:#EDE5D4!important;padding:9px 10px!important;font:400 .52rem 'Jost',sans-serif!important;}
.ft-nl-btn{background:#C8922A!important;color:#140E06!important;border:1px solid #C8922A!important;padding:9px 12px!important;font:600 .48rem 'Jost',sans-serif!important;letter-spacing:.1em!important;text-transform:uppercase!important;}
.ft-links{display:flex!important;flex-direction:column!important;gap:10px!important;}
.ft-links a{font-family:'Jost',sans-serif!important;font-size:.58rem!important;font-weight:400!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:rgba(237,229,212,.68)!important;text-decoration:none!important;}
.footer-trust{background:#110C06!important;border-top:1px solid rgba(0,0,0,.2)!important;border-bottom:1px solid rgba(0,0,0,.2)!important;padding:20px clamp(28px,5.5vw,88px)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:16px!important;}
.ft-trust-items{display:flex!important;align-items:center!important;gap:clamp(16px,2.5vw,36px)!important;flex-wrap:wrap!important;}
.ft-trust-item{display:flex!important;align-items:center!important;gap:8px!important;}
.ft-trust-ico{font-size:.75rem!important;color:#C8922A!important;}
.ft-trust-txt{font-family:'Jost',sans-serif!important;font-size:.5rem!important;font-weight:400!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:rgba(237,229,212,.6)!important;}
.ft-pay{display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:wrap!important;}
.ft-pay-lbl{font-family:'Jost',sans-serif!important;font-size:.46rem!important;font-weight:500!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:rgba(237,229,212,.45)!important;margin-right:4px!important;}
.pay-svg{height:24px!important;width:auto!important;border-radius:3px!important;opacity:.7!important;vertical-align:middle!important;}
.footer-bot{background:#0D0905!important;padding:18px clamp(28px,5.5vw,88px)!important;display:flex!important;justify-content:space-between!important;align-items:center!important;flex-wrap:wrap!important;gap:12px!important;}
.fb-copy{font-family:'Jost',sans-serif!important;font-size:.5rem!important;letter-spacing:.08em!important;color:rgba(237,229,212,.45)!important;}
.fb-legal{display:flex!important;gap:20px!important;flex-wrap:wrap!important;}
.fb-legal a{font-family:'Jost',sans-serif!important;font-size:.5rem!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:rgba(237,229,212,.45)!important;text-decoration:none!important;}
@media(max-width:900px){.footer-top-grid{grid-template-columns:1fr 1fr 1fr 1fr!important}.ft-brand{grid-column:1/-1!important;flex-direction:row!important;gap:40px!important;align-items:flex-start!important}}
@media(max-width:640px){.footer-top-grid{grid-template-columns:1fr 1fr!important}.ft-brand{flex-direction:column!important;gap:16px!important}}
@media(max-width:400px){.footer-top-grid{grid-template-columns:1fr!important}}

/* Active desktop navigation is assigned at runtime by the theme. */
.handsole-global-nav .nv a.on,.handsole-global-nav .nv-dropdown-trigger.on{font-weight:600!important;border-bottom-color:#C8922A!important;color:#C8922A!important;}

/* v1.2.0 global shell runtime corrections */
.admin-bar .ann-bar{top:32px!important}.admin-bar .handsole-global-nav{top:66px!important}
@media(max-width:782px){.admin-bar .ann-bar{top:46px!important}.admin-bar .handsole-global-nav{top:80px!important}}
.handsole-media-placeholder{display:block;width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,#f6f5f2,#ede5d4);border:1px solid #e0d0a8}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}

/* v1.2.2: preserve source sticky behavior without creating an overflow scrolling ancestor */
html,body{overflow-x:clip!important;}
@supports not (overflow:clip){html{overflow-x:hidden!important;}body{overflow-x:visible!important;}}


/* v1.2.6 — hardened canonical newsletter/footer rendering */
.footer-top .ft-brand{min-width:0!important;align-self:start!important;}
.footer-top .ft-nl-inline{width:100%!important;max-width:320px!important;margin-top:22px!important;padding-top:18px!important;border-top:1px solid rgba(237,229,212,.12)!important;}
.footer-top .ft-nl-label{margin:0 0 10px!important;padding:0 0 10px!important;line-height:1.2!important;}
.footer-top .ft-nl-tagline{display:block!important;margin:0 0 12px!important;max-width:300px!important;line-height:1.55!important;}
.footer-top form.ft-nl-form{display:flex!important;align-items:stretch!important;width:100%!important;max-width:320px!important;margin:0!important;padding:0!important;gap:0!important;border:0!important;background:transparent!important;}
.footer-top form.ft-nl-form input.ft-nl-input{appearance:none!important;-webkit-appearance:none!important;display:block!important;box-sizing:border-box!important;width:auto!important;min-width:0!important;height:38px!important;flex:1 1 auto!important;margin:0!important;padding:0 12px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(237,229,212,.22)!important;border-right:0!important;border-radius:3px 0 0 3px!important;color:#EDE5D4!important;box-shadow:none!important;outline:none!important;font-family:'Jost',sans-serif!important;font-size:.52rem!important;font-weight:400!important;line-height:38px!important;letter-spacing:.05em!important;}
.footer-top form.ft-nl-form input.ft-nl-input::placeholder{color:rgba(237,229,212,.42)!important;opacity:1!important;}
.footer-top form.ft-nl-form input.ft-nl-input:focus{border-color:#C8922A!important;background:rgba(255,255,255,.08)!important;}
.footer-top form.ft-nl-form button.ft-nl-btn{appearance:none!important;-webkit-appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;height:38px!important;flex:0 0 auto!important;margin:0!important;padding:0 14px!important;border:1px solid #C8922A!important;border-radius:0 3px 3px 0!important;background:#C8922A!important;color:#140E06!important;box-shadow:none!important;font-family:'Jost',sans-serif!important;font-size:.48rem!important;font-weight:600!important;line-height:1!important;letter-spacing:.1em!important;text-transform:uppercase!important;cursor:pointer!important;}
.footer-top .ft-nl-status{margin-top:9px!important;max-width:320px!important;font-family:'Jost',sans-serif!important;font-size:.48rem!important;line-height:1.45!important;letter-spacing:.04em!important;color:rgba(237,229,212,.72)!important;}
.footer-top .ft-nl-status.is-success{color:#9CCB8D!important;}.footer-top .ft-nl-status.is-error{color:#E2A18F!important;}
.footer-top .ft-nl-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
@media(max-width:900px){.footer-top .ft-brand{grid-column:1/-1!important;display:grid!important;grid-template-columns:minmax(220px,1fr) minmax(260px,320px)!important;column-gap:40px!important;row-gap:16px!important;}.footer-top .ft-logo,.footer-top .ft-tagline,.footer-top .ft-social{grid-column:1!important}.footer-top .ft-nl-inline{grid-column:2!important;grid-row:1/5!important;margin-top:0!important;}}
@media(max-width:640px){.footer-top .ft-brand{display:flex!important;flex-direction:column!important;}.footer-top .ft-nl-inline{max-width:100%!important;margin-top:16px!important;}.footer-top form.ft-nl-form{max-width:100%!important;}}

/* v1.2.7 — footer newsletter contrast/accessibility hardening */
.footer-top .ft-nl-form-label{display:block!important;margin:0 0 6px!important;font-family:'Jost',sans-serif!important;font-size:.48rem!important;font-weight:500!important;letter-spacing:.08em!important;color:rgba(237,229,212,.68)!important;}
.footer-top form.ft-nl-form input.ft-nl-input{color:rgba(255,255,255,.90)!important;}
.footer-top form.ft-nl-form input.ft-nl-input::placeholder{color:rgba(255,255,255,.48)!important;opacity:1!important;}


/* v1.2.8 — legal-page canonical URL + footer newsletter heading contrast */
footer.footer-top .footer-top-grid .ft-brand .ft-nl-inline .ft-nl-label{
  color:#EDE5D4!important;
  -webkit-text-fill-color:#EDE5D4!important;
  opacity:1!important;
  visibility:visible!important;
}


/* v1.2.9 — canonical mobile navigation repair */
@media (max-width:1024px){
  body.nav-locked{overflow:hidden!important;touch-action:none!important;}
  .nav-scrim{position:fixed!important;inset:0!important;background:rgba(20,14,6,.48)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;z-index:198!important;transition:opacity .22s ease,visibility .22s ease!important;}
  .nav-scrim.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}

  body .nav-drawer{
    position:fixed!important;top:0!important;right:0!important;left:auto!important;
    width:min(86vw,340px)!important;max-width:340px!important;height:100dvh!important;
    padding:0 22px 24px!important;background:#fff!important;color:#22190D!important;
    z-index:200!important;box-shadow:-12px 0 34px rgba(20,14,6,.18)!important;
    overflow-y:auto!important;overscroll-behavior:contain!important;
    transform:translateX(105%)!important;transition:transform .28s cubic-bezier(.4,0,.2,1)!important;
  }
  body .nav-drawer.open{right:0!important;transform:translateX(0)!important;}
  body.admin-bar .nav-drawer{top:46px!important;height:calc(100dvh - 46px)!important;}

  body .nav-drawer-top{
    position:sticky!important;top:0!important;z-index:3!important;
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    min-height:76px!important;margin:0!important;padding:0!important;
    background:#fff!important;border-bottom:1px solid #E0D0A8!important;
  }
  body .nav-drawer-top .nl{
    font-family:'Jost',sans-serif!important;font-size:15px!important;font-weight:600!important;
    line-height:1!important;letter-spacing:.24em!important;text-transform:uppercase!important;color:#C8922A!important;
  }
  body .nav-drawer .nv-burger-close{
    appearance:none!important;-webkit-appearance:none!important;display:flex!important;position:relative!important;
    width:44px!important;height:44px!important;min-width:44px!important;margin:0!important;padding:0!important;
    align-items:center!important;justify-content:center!important;background:transparent!important;
    border:1px solid #E0D0A8!important;border-radius:3px!important;box-shadow:none!important;
  }
  body .nav-drawer .nv-burger-close span{position:absolute!important;width:18px!important;height:1.5px!important;background:#140E06!important;}
  body .nav-drawer .nv-burger-close span:first-child{transform:rotate(45deg)!important;}
  body .nav-drawer .nv-burger-close span:nth-child(2){transform:rotate(-45deg)!important;}

  body .nav-drawer-links{display:flex!important;flex-direction:column!important;gap:0!important;padding:12px 0 10px!important;}
  body .nav-drawer-links > a,
  body .nav-drawer-shop > .nav-drawer-shop-toggle{
    appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;
    width:100%!important;min-height:48px!important;margin:0!important;padding:0!important;
    display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
    background:transparent!important;border:0!important;border-bottom:1px solid rgba(224,208,168,.72)!important;border-radius:0!important;
    box-shadow:none!important;text-align:left!important;text-decoration:none!important;
    font-family:'Jost',sans-serif!important;font-size:12.5px!important;font-weight:500!important;
    line-height:1.25!important;letter-spacing:.105em!important;text-transform:uppercase!important;color:#22190D!important;
  }
  body .nav-drawer-links > a.on{color:#C8922A!important;font-weight:600!important;}
  body .nav-drawer-shop-toggle .nv-caret{margin-left:auto!important;transition:transform .2s ease!important;}
  body .nav-drawer-shop.open > .nav-drawer-shop-toggle .nv-caret{transform:rotate(180deg)!important;}

  body .nav-drawer-shop-sub{display:none!important;flex-direction:column!important;padding:5px 0 9px 14px!important;border-bottom:1px solid rgba(224,208,168,.72)!important;}
  body .nav-drawer-shop.open > .nav-drawer-shop-sub{display:flex!important;}
  body .nav-drawer-shop-sub a{
    display:flex!important;align-items:center!important;width:100%!important;min-height:38px!important;
    margin:0!important;padding:8px 0!important;border:0!important;background:transparent!important;
    font-family:'Jost',sans-serif!important;font-size:10.8px!important;font-weight:400!important;
    line-height:1.35!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#5C5347!important;text-decoration:none!important;
    white-space:normal!important;
  }
  body .nav-drawer-shop-sub a:hover,body .nav-drawer-shop-sub a:focus-visible{color:#C8922A!important;}

  body .nav-drawer-foot{
    margin:8px 0 0!important;padding:16px 0 0!important;display:flex!important;flex-direction:column!important;gap:14px!important;
  }
  body .nav-drawer-foot > .nv-icon-fit{
    display:flex!important;width:100%!important;min-height:42px!important;align-items:center!important;justify-content:center!important;
    padding:0 14px!important;border:1px solid #C8922A!important;border-radius:3px!important;background:#fff!important;
    font-family:'Jost',sans-serif!important;font-size:10px!important;font-weight:600!important;letter-spacing:.12em!important;
    text-transform:uppercase!important;color:#22190D!important;text-decoration:none!important;
  }
  body .nav-drawer-icons{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:0!important;border-top:1px solid #E0D0A8!important;}
  body .nav-drawer-icons a{
    display:flex!important;align-items:center!important;justify-content:center!important;min-height:46px!important;padding:0 6px!important;
    border-right:1px solid #E0D0A8!important;text-decoration:none!important;
    font-family:'Jost',sans-serif!important;font-size:9.5px!important;font-weight:500!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#5C5347!important;
  }
  body .nav-drawer-icons a:last-child{border-right:0!important;}
}
@media (max-width:420px){
  body .nav-drawer{width:min(90vw,340px)!important;padding-left:20px!important;padding-right:20px!important;}
}


/* v1.2.10 — dedicated mobile footer: compact, stacked newsletter + accessible accordions */
@media (max-width:640px){
  footer.footer-top{
    padding:34px 20px 28px!important;
  }
  footer.footer-top .footer-top-grid{
    display:block!important;
  }
  footer.footer-top .ft-brand{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    margin:0 0 24px!important;
  }
  footer.footer-top .ft-logo{
    margin:0 0 8px!important;
    font-size:.68rem!important;
  }
  footer.footer-top .ft-tagline{
    max-width:310px!important;
    margin:0 0 16px!important;
    font-size:.92rem!important;
    line-height:1.55!important;
  }
  footer.footer-top .ft-social{
    margin:0 0 22px!important;
    gap:10px!important;
  }
  footer.footer-top .ft-social a{
    width:36px!important;height:36px!important;border-radius:5px!important;
  }
  footer.footer-top .ft-nl-inline{
    max-width:none!important;
    margin:0!important;
    padding:18px 0 22px!important;
    border-top:1px solid rgba(237,229,212,.14)!important;
    border-bottom:1px solid rgba(237,229,212,.14)!important;
  }
  footer.footer-top .ft-nl-label{
    margin:0 0 10px!important;
    padding:0!important;
    border:0!important;
    font-size:.56rem!important;
  }
  footer.footer-top .ft-nl-tagline{
    max-width:330px!important;
    margin:0 0 14px!important;
    font-size:.93rem!important;
    line-height:1.5!important;
  }
  footer.footer-top .ft-nl-form-label{
    margin:0 0 7px!important;
    font-size:.5rem!important;
  }
  footer.footer-top form.ft-nl-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    max-width:none!important;
  }
  footer.footer-top form.ft-nl-form input.ft-nl-input{
    width:100%!important;
    height:46px!important;
    padding:0 14px!important;
    border:1px solid rgba(237,229,212,.26)!important;
    border-radius:3px!important;
    line-height:46px!important;
    font-size:.56rem!important;
  }
  footer.footer-top form.ft-nl-form button.ft-nl-btn{
    width:100%!important;
    height:46px!important;
    border-radius:3px!important;
    font-size:.54rem!important;
    letter-spacing:.14em!important;
  }
  footer.footer-top .ft-nl-status{
    max-width:none!important;
    margin-top:8px!important;
    font-size:.5rem!important;
  }

  /* Every footer link group becomes a disclosure on mobile only. */
  footer.footer-top .footer-top-grid > div:not(.ft-brand){
    display:block!important;
    margin:0!important;
    padding:0!important;
    border-bottom:1px solid rgba(237,229,212,.14)!important;
  }
  footer.footer-top .footer-top-grid > div:not(.ft-brand) > .ft-col-title{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:52px!important;
    margin:0!important;
    padding:0 30px 0 0!important;
    border:0!important;
    color:rgba(237,229,212,.92)!important;
    -webkit-text-fill-color:rgba(237,229,212,.92)!important;
    font-size:.56rem!important;
    line-height:1.2!important;
    cursor:pointer!important;
    user-select:none!important;
  }
  footer.footer-top .footer-top-grid > div:not(.ft-brand) > .ft-col-title::after{
    content:'+'!important;
    position:absolute!important;
    right:2px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    color:#C8922A!important;
    -webkit-text-fill-color:#C8922A!important;
    font-family:'Jost',sans-serif!important;
    font-size:1rem!important;
    font-weight:300!important;
    letter-spacing:0!important;
  }
  footer.footer-top .footer-top-grid > div:not(.ft-brand).is-open > .ft-col-title::after{
    content:'–'!important;
  }
  footer.footer-top .footer-top-grid > div:not(.ft-brand) > .ft-links{
    display:none!important;
    gap:0!important;
    padding:0 0 14px!important;
  }
  footer.footer-top .footer-top-grid > div:not(.ft-brand).is-open > .ft-links{
    display:flex!important;
  }
  footer.footer-top .footer-top-grid > div:not(.ft-brand) > .ft-links a{
    display:flex!important;
    align-items:center!important;
    min-height:39px!important;
    padding:7px 0!important;
    font-size:.55rem!important;
    line-height:1.35!important;
    letter-spacing:.075em!important;
  }

  .footer-trust{
    padding:18px 20px!important;
    gap:16px!important;
  }
  .ft-trust-items{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    gap:12px 16px!important;
  }
  .ft-trust-item{align-items:flex-start!important;gap:7px!important;}
  .ft-trust-txt{font-size:.45rem!important;line-height:1.45!important;}
  .ft-pay{width:100%!important;justify-content:flex-start!important;gap:6px!important;}
  .pay-svg{height:22px!important;}
  .footer-bot{
    padding:18px 20px 22px!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:12px!important;
  }
  .fb-legal{gap:12px 16px!important;}
  .fb-copy,.fb-legal a{font-size:.45rem!important;line-height:1.5!important;}
}
@media (max-width:380px){
  .ft-trust-items{grid-template-columns:1fr!important;}
}


/* v1.3.2 — native filter/sticky + responsive footer hardening */
html,body{overflow-x:clip!important;}
body.woocommerce-shop .breadcrumb,
body.tax-product_cat .breadcrumb{position:sticky!important;top:92px!important;z-index:103!important;isolation:isolate!important;}
body.woocommerce-shop .filter-bar{position:sticky!important;top:134px!important;z-index:102!important;isolation:isolate!important;}
body.tax-product_cat .col-tax-bar{position:sticky!important;top:134px!important;z-index:102!important;isolation:isolate!important;}
body.tax-product_cat .filter-bar{position:sticky!important;top:184px!important;z-index:101!important;isolation:isolate!important;}
body.admin-bar.woocommerce-shop .breadcrumb,
body.admin-bar.tax-product_cat .breadcrumb{top:124px!important;}
body.admin-bar.woocommerce-shop .filter-bar{top:166px!important;}
body.admin-bar.tax-product_cat .col-tax-bar{top:166px!important;}
body.admin-bar.tax-product_cat .filter-bar{top:216px!important;}
@media(max-width:782px){
 body.admin-bar.woocommerce-shop .breadcrumb,body.admin-bar.tax-product_cat .breadcrumb{top:138px!important;}
 body.admin-bar.woocommerce-shop .filter-bar{top:180px!important;}
 body.admin-bar.tax-product_cat .col-tax-bar{top:180px!important;}
 body.admin-bar.tax-product_cat .filter-bar{top:230px!important;}
}
/* Keep the catalog controls as one stable strip; the left controls scroll instead of wrapping. */
body.woocommerce-shop .filter-bar,body.tax-product_cat .filter-bar{
 display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;
 min-height:52px!important;height:52px!important;padding-top:0!important;padding-bottom:0!important;overflow:visible!important;
 box-shadow:0 1px 0 rgba(224,208,168,.45)!important;
}
body.woocommerce-shop .filter-left,body.tax-product_cat .filter-left{
 display:flex!important;flex-wrap:nowrap!important;align-items:center!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;
 -webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;
}
body.woocommerce-shop .filter-left::-webkit-scrollbar,body.tax-product_cat .filter-left::-webkit-scrollbar{display:none!important;}
body.woocommerce-shop .sort-select,body.tax-product_cat .sort-select{flex:0 0 auto!important;max-width:180px!important;}
@media(max-width:768px){
 body.woocommerce-shop .filter-bar,body.tax-product_cat .filter-bar{padding-left:14px!important;padding-right:14px!important;gap:10px!important;}
 body.woocommerce-shop .filter-btn,body.tax-product_cat .filter-btn{padding:6px 10px!important;}
 body.woocommerce-shop .sort-select,body.tax-product_cat .sort-select{max-width:132px!important;padding-left:8px!important;padding-right:8px!important;}
 /* Source markup no longer uses onclick; hide lower-priority quick filters explicitly on mobile. */
 body.woocommerce-shop .filter-btn[data-filter="limited"],body.tax-product_cat .filter-btn[data-filter="limited"],
 body.woocommerce-shop .filter-btn[data-filter="wide"],body.tax-product_cat .filter-btn[data-filter="wide"],
 body.woocommerce-shop .filter-btn[data-filter="high-instep"],body.tax-product_cat .filter-btn[data-filter="high-instep"],
 body.woocommerce-shop .filter-btn[data-filter="formal"],body.tax-product_cat .filter-btn[data-filter="formal"],
 body.woocommerce-shop .filter-btn[data-filter="casual"],body.tax-product_cat .filter-btn[data-filter="casual"]{display:none!important;}
}
/* Tablet/mobile footer: do not let the newsletter span grid rows or stretch its parent. */
@media(max-width:900px){
 footer.footer-top .ft-brand{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important;grid-column:1/-1!important;}
 footer.footer-top .ft-nl-inline{display:block!important;position:static!important;grid-column:auto!important;grid-row:auto!important;align-self:flex-start!important;width:100%!important;max-width:340px!important;margin:18px 0 0!important;padding:18px 0 0!important;min-height:0!important;height:auto!important;}
 footer.footer-top form.ft-nl-form{min-height:0!important;height:auto!important;align-items:stretch!important;}
 footer.footer-top .ft-social{margin-top:0!important;}
}
@media(max-width:640px){
 footer.footer-top .ft-nl-inline{max-width:none!important;margin-top:0!important;padding:18px 0 22px!important;}
 footer.footer-top form.ft-nl-form{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
}


/* v1.3.6 — approved PDP selectors are the visible WooCommerce controls. Native variation selects stay in the DOM for Woo variation resolution but are visually hidden. */
.handsole-native-cart form.variations_form table.variations{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;}
.handsole-native-cart form.variations_form .reset_variations{display:none!important;}

/* v1.3.9 dedicated PDP media slots */
.handsole-story-media{display:flex;flex-direction:column}.handsole-story-placeholder{width:100%;aspect-ratio:4/3;border:1px solid var(--border);border-radius:4px;background:rgba(255,255,255,.35)}

/* v1.3.10 — dedicated lower-PDP media; never product-gallery fallbacks */
.pdp-section-inner.one-col{display:block;max-width:none;width:100%}
.pdp-section-inner.one-col>div{width:100%;max-width:none}
.craft-strip.craft-count-1{grid-template-columns:1fr}
.craft-strip.craft-count-2{grid-template-columns:1fr 1fr}
.craft-strip.craft-count-3{grid-template-columns:2fr 1fr 1fr}


/* v1.3.13 — PDP cross-sell surface + checkout alignment */
body.single-product .pdp-cross-sell-section{background:#fff!important;}
body.single-product .pdp-cross-sell-section .pdp-section-inner{background:transparent!important;}


/* v1.3.14 — cart thumbnails show the full product photo, never crop */
.woocommerce-cart td.product-thumbnail a{background:#fff!important;}
.woocommerce-cart td.product-thumbnail img,
.woocommerce-cart-form td.product-thumbnail img{object-fit:contain!important;object-position:center!important;background:#fff!important;padding:3px!important;box-sizing:border-box!important;}


/* v1.3.15 — Commerce product imagery must show the complete product.
   Editorial, category, hero and craft/process imagery intentionally retain cover. */
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img,
.woocommerce-order-details .product-image img,
.handsole-product-image-contain img{
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}


/* v1.3.16 — Shop-by-Collection strip aligns with the catalog content gutters */
.collection-section{box-sizing:border-box;}


/* v1.3.17 — archive navigation stacking + product-card image integrity */
/* Desktop Shop dropdown must always paint above sticky breadcrumb/taxonomy/filter bars. */
.handsole-global-nav{
  z-index:500!important;
  overflow:visible!important;
}
.handsole-global-nav .nv,
.handsole-global-nav .nv-dropdown{
  overflow:visible!important;
}
.handsole-global-nav .nv-dropdown-menu{
  z-index:520!important;
}
/* Announcement remains visually above the page but below an open navigation menu. */
.ann-bar{z-index:490!important;}

/* Product cards are commerce imagery: preserve the complete shoe and use a landscape frame.
   Height !important is deliberate: WooCommerce's later-loaded global img rule sets height:auto. */
body.woocommerce-shop .pcard-img,
body.tax-product_cat .pcard-img{
  aspect-ratio:4/3!important;
  background:#fff!important;
  overflow:hidden!important;
}
body.woocommerce-shop .pcard-img img,
body.tax-product_cat .pcard-img img,
body.woocommerce-shop article.product .pcard-img img,
body.tax-product_cat article.product .pcard-img img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
  transform:none!important;
}
/* Empty catalog columns should remain the page surface, not a large gold/border-colored slab. */
body.woocommerce-shop .col-grid,
body.tax-product_cat .col-grid{
  background:transparent!important;
  border-color:transparent!important;
}
body.woocommerce-shop .pcard,
body.tax-product_cat .pcard{
  border:1px solid var(--border)!important;
}


/* v1.3.19 — restore v1.3.17 catalog behavior + mobile regression hardening */
/* IMPORTANT: Shop/category sticky controls remain the original in-page quick filters.
   Collection discovery cards may navigate to collections; the sticky filter bar does not. */
body.woocommerce-shop .edu-blk,
body.woocommerce-shop .seo-blk,
body.tax-product_cat .edu-blk,
body.tax-product_cat .seo-blk,
body.tax-product_tag .seo-blk{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  clear:both!important;
  background:var(--cream)!important;
}
/* Reviewed product-tag landing pages should focus on the tagged collection rather
   than repeating the full Shop discovery modules above the products. */
body.tax-product_tag .style-section,
body.tax-product_tag .collection-section,
body.tax-product_tag .edu-blk{display:none!important;}

/* Filter drawer must fit narrow phones and browser UI safely. */
.filter-drawer{
  width:min(360px,100vw)!important;
  max-width:100vw!important;
  height:100dvh!important;
  max-height:100dvh!important;
}

/* Product gallery thumbnails: on phones keep useful thumbnail size and swipe horizontally
   instead of compressing every image/video into tiny squares. */
@media(max-width:768px){
  body.single-product .pdp-thumbs{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    scroll-snap-type:x proximity!important;
  }
  body.single-product .pdp-thumbs::-webkit-scrollbar{display:none!important;}
  body.single-product .pdp-thumb{
    flex:0 0 clamp(82px,23vw,112px)!important;
    min-width:82px!important;
    scroll-snap-align:start!important;
  }
  body.woocommerce-shop .edu-inner,
  body.tax-product_cat .edu-inner,
  body.woocommerce-shop .seo-inner,
  body.tax-product_cat .seo-inner{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  /* Browse row stays swipeable and the original sticky filter row keeps Filters + In Stock + Sort usable. */
  body.tax-product_cat .col-tax-bar{
    overscroll-behavior-inline:contain!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
}
@media(max-width:420px){
  .filter-drawer .fd-header,
  .filter-drawer .fd-body,
  .filter-drawer .fd-footer{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  body.woocommerce-shop .sort-select,
  body.tax-product_cat .sort-select{
    max-width:118px!important;
  }
}

/* v1.3.20 — tighten Shop by Collection vertical rhythm */


/* v1.3.23 — Contact email wrapping is intentional at every viewport.
   Long email addresses are not left to browser word-breaking inside flex layouts. */
body.page-template-page-contact .chip > div:last-child,
body.page-template-page-contact .chip > div:not(.chip-icon){min-width:0!important;}
body.page-template-page-contact .chip-value{line-height:1.16!important;}
body.page-template-page-contact .contact-email-link{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  max-width:100%!important;
  color:rgba(237,229,212,.88)!important;
  font-family:'Cormorant Garamond',Georgia,serif!important;
  font-size:clamp(1.12rem,1.45vw,1.28rem)!important;
  font-weight:500!important;
  line-height:1.05!important;
  letter-spacing:.01em!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-decoration:none!important;
}
body.page-template-page-contact .contact-email-link > span{
  display:block!important;
  white-space:nowrap!important;
}
@media(max-width:640px){
  body.page-template-page-contact .contact-email-link{font-size:1.2rem!important;line-height:1.06!important;}
}


/* v1.3.23 — account/post-purchase mobile hardening */
@media (max-width: 768px){
  .woocommerce-account .woocommerce-MyAccount,
  .woocommerce-account .account-wrap{display:block!important;}
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .account-sidebar{
    display:block!important; width:100%!important; max-width:100%!important;
    position:static!important; margin:0 0 18px!important; padding:0!important;
    background:transparent!important; border:0!important; overflow:visible!important;
  }
  .woocommerce-account .handsole-account-greeting,
  .woocommerce-account .account-greeting{padding:12px 16px!important;border:1px solid var(--border,#E0D0A8)!important;border-bottom:0!important;}
  .woocommerce-account .woocommerce-MyAccount-navigation ul,
  .woocommerce-account .account-nav{
    display:flex!important; flex-direction:row!important; gap:8px!important; width:100%!important;
    overflow-x:auto!important; overflow-y:hidden!important; -webkit-overflow-scrolling:touch;
    scrollbar-width:none; padding:10px 0!important; border-top:1px solid var(--border,#E0D0A8)!important;
    border-bottom:1px solid var(--border,#E0D0A8)!important;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar,
  .woocommerce-account .account-nav::-webkit-scrollbar{display:none;}
  .woocommerce-account .woocommerce-MyAccount-navigation li{display:block!important;flex:0 0 auto!important;border:0!important;margin:0!important;}
  .woocommerce-account .woocommerce-MyAccount-navigation a,
  .woocommerce-account .account-nav a{display:flex!important;flex:0 0 auto!important;white-space:nowrap!important;min-height:44px!important;align-items:center!important;padding:10px 14px!important;border:1px solid var(--border,#E0D0A8)!important;border-radius:3px!important;}
  .woocommerce-account .account-nav-divider{display:none!important;}
  .woocommerce-account .woocommerce-MyAccount-content,
  .woocommerce-account .account-main{width:100%!important;min-width:0!important;}
  .woocommerce-order-received .conf-progress{overflow-x:auto!important;justify-content:flex-start!important;padding-left:16px!important;padding-right:16px!important;}
  .woocommerce-order-received .cp-step{flex:0 0 auto!important;padding:0 12px!important;}
  .woocommerce-order-received .conf-inner{padding-left:18px!important;padding-right:18px!important;}
  .woocommerce-order-received .woocommerce-order-overview{grid-template-columns:1fr!important;}
  .woocommerce-order-received .woocommerce-order-overview li{min-width:0!important;overflow-wrap:anywhere!important;}
  .woocommerce-order-received .woocommerce-table--order-details,
  .woocommerce-order-received .shop_table{width:100%!important;table-layout:fixed!important;}
  .woocommerce-order-received .woocommerce-table--order-details td,
  .woocommerce-order-received .woocommerce-table--order-details th{overflow-wrap:anywhere!important;}
}
@media (max-width: 430px){
  .woocommerce-order-received .conf-h1{font-size:clamp(1.7rem,9vw,2.1rem)!important;}
  .woocommerce-order-received .conf-subhead{font-size:1rem!important;line-height:1.55!important;}
  .woocommerce-order-received .conf-order-num{max-width:100%!important;white-space:normal!important;text-align:center!important;}
}

/* v1.3.23 — newsletter form: label is its own line; input + action share line two. */
footer.footer-top form.ft-nl-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto auto!important;
  column-gap:0!important;
  row-gap:7px!important;
  width:100%!important;
  max-width:360px!important;
  align-items:stretch!important;
}
footer.footer-top .ft-nl-form-label{
  grid-column:1 / -1!important;
  grid-row:1!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-size:.62rem!important;
  line-height:1.25!important;
  letter-spacing:.09em!important;
  color:rgba(237,229,212,.82)!important;
}
footer.footer-top form.ft-nl-form input.ft-nl-input{
  grid-column:1!important;
  grid-row:2!important;
  width:100%!important;
  min-width:0!important;
  height:48px!important;
  padding:0 16px!important;
  line-height:48px!important;
  font-size:.68rem!important;
}
footer.footer-top form.ft-nl-form button.ft-nl-btn{
  grid-column:2!important;
  grid-row:2!important;
  height:48px!important;
  padding:0 20px!important;
  font-size:.56rem!important;
  white-space:nowrap!important;
}
footer.footer-top form.ft-nl-form .ft-nl-hp{position:absolute!important;left:-9999px!important;}
@media(max-width:420px){
  footer.footer-top form.ft-nl-form{max-width:100%!important;grid-template-columns:minmax(0,1fr) auto!important;}
  footer.footer-top form.ft-nl-form input.ft-nl-input{font-size:.64rem!important;padding:0 12px!important;}
  footer.footer-top form.ft-nl-form button.ft-nl-btn{padding:0 14px!important;font-size:.52rem!important;}
}


/* v1.3.23 transaction hardening */
.handsole-checkout-config{margin:0 0 18px;padding:14px 16px;border:1px solid #E0D0A8;background:#F6F0E4;border-radius:4px;color:#3A2210}
.handsole-checkout-config-title{font-family:Jost,sans-serif;font-size:.52rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#B8831F;margin-bottom:8px}
.handsole-checkout-config-row{display:flex;justify-content:space-between;gap:14px;padding:6px 0;border-bottom:1px solid rgba(224,208,168,.65);font-size:.92rem;line-height:1.45}
.handsole-checkout-config-row:last-of-type{border-bottom:0}
.handsole-checkout-config-row strong{font-weight:600;color:#140E06;min-width:0}
.handsole-checkout-config-row span{text-align:right;overflow-wrap:anywhere}
.handsole-checkout-config p{margin:9px 0 0;font-size:.82rem;line-height:1.45;color:#5C5347}
@media(max-width:640px){
  .handsole-checkout-config-row{display:block}
  .handsole-checkout-config-row span{display:block;text-align:left;margin-top:2px}
  .woocommerce-order-overview,.woocommerce-order-details,.woocommerce-customer-details{max-width:100%;overflow-wrap:anywhere}
  .woocommerce-order-overview li{min-width:0!important}
  .woocommerce-MyAccount-content table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}


/* v1.3.25 — archive/category empty-state + footer-overlap hardening. */
.hs-empty-collection{background:#fff;border-bottom:1px solid #E0D0A8;padding:clamp(34px,5vw,64px) clamp(28px,5.5vw,88px);position:relative;z-index:1;}
.hs-empty-collection-inner{max-width:760px;margin:0 auto;text-align:center;}
.hs-empty-eyebrow{font-family:'Jost',sans-serif;font-size:.54rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#C8922A;margin-bottom:12px;}
.hs-empty-title{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.65rem,3vw,2.45rem);font-weight:400;line-height:1.2;color:#140E06;margin:0 0 14px;}
.hs-empty-title em{font-style:italic;color:#C8922A;}
.hs-empty-copy{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.65;color:#5C5347;max-width:650px;margin:0 auto 22px;}
.hs-empty-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
.hs-empty-action{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 18px;border:1px solid #140E06;border-radius:3px;background:#140E06;color:#fff!important;text-decoration:none!important;font:600 .54rem/1 'Jost',sans-serif;letter-spacing:.12em;text-transform:uppercase;}
.hs-empty-action.secondary{background:transparent;color:#8A5E10!important;border-color:#E0D0A8;}
.hs-empty-action:hover,.hs-empty-action:focus-visible{background:#C8922A;color:#140E06!important;border-color:#C8922A;}
.tax-product_cat.hs-empty-archive .filter-bar,.tax-product_cat.hs-empty-archive .col-tax-bar,.tax-product_cat.hs-empty-archive .active-filters{display:none!important;}
.tax-product_cat.hs-empty-archive .edu-blk{margin-top:0!important;}
.tax-product_cat.hs-empty-archive .pg-confidence{padding-top:18px!important;padding-bottom:18px!important;}
@media(max-width:600px){
 .hs-empty-collection{padding:30px 16px;}
 .hs-empty-actions{display:grid;grid-template-columns:1fr;max-width:320px;margin:0 auto;}
 .hs-empty-action{width:100%;min-height:44px;}
}

/* v1.3.27 — final category Browse architecture: Oxford/Derby browse Upper Pattern; Loafer/Backless/Monk/Boot browse Design Type. */


/* v1.3.28 — mobile + regression QA hardening */
/* Empty main shoe categories still need their structural Browse rail; only inventory-dependent controls disappear. */
body.tax-product_cat.hs-empty-archive.hs-has-browse .col-tax-bar{display:flex!important;}
body.tax-product_cat.hs-empty-archive .filter-bar,
body.tax-product_cat.hs-empty-archive .active-filters{display:none!important;}

/* Mobile commerce controls meet practical touch-target sizing without changing desktop density. */
@media(max-width:768px){
  .nv-icon,.nv-burger{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;}
  body.tax-product_cat .col-design-tab{min-height:44px!important;height:44px!important;padding:8px 16px!important;}
  body.woocommerce-shop .filter-btn,body.tax-product_cat .filter-btn,
  body.woocommerce-shop .sort-select,body.tax-product_cat .sort-select{min-height:44px!important;}
  body.single-product .size-btn{min-height:44px!important;padding:10px 6px!important;font-size:.62rem!important;}
  body.single-product .width-pill{min-height:44px!important;padding:10px 16px!important;font-size:.62rem!important;}
  body.single-product .color-swatch-wrap{min-width:54px!important;min-height:54px!important;padding:5px 3px!important;}
  body.single-product .color-swatch{width:32px!important;height:32px!important;}
  body.single-product .sticky-add{min-height:48px!important;}
}

/* Narrow phones: preserve two-column product browsing but prevent card text/controls from forcing horizontal overflow. */
@media(max-width:420px){
  body.woocommerce-shop .col-grid,body.tax-product_cat .col-grid{gap:10px!important;}
  body.woocommerce-shop .pcard,body.tax-product_cat .pcard{min-width:0!important;}
  body.woocommerce-shop .pcard-body,body.tax-product_cat .pcard-body{min-width:0!important;padding-left:10px!important;padding-right:10px!important;}
  body.woocommerce-shop .pcard-title,body.tax-product_cat .pcard-title{overflow-wrap:anywhere!important;}
  body.single-product .size-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}

/* Sticky purchase assistance should never cover the site footer. */
body.single-product .sticky-bar{padding-bottom:max(10px,env(safe-area-inset-bottom))!important;}

/* Safer mobile viewport treatment for full-height drawers. */
.nav-drawer,.filter-drawer{max-height:100dvh!important;}

/* v1.3.28 — logged-in WordPress preview must reserve admin-bar space in normal flow.
   The theme intentionally disables WP's html margin so the reservation belongs on body. */
body.admin-bar{padding-top:32px!important;}
@media(max-width:782px){body.admin-bar{padding-top:46px!important;}}
@media(min-width:783px) and (max-width:1024px){
  body.admin-bar .nav-drawer{top:32px!important;height:calc(100dvh - 32px)!important;}
}
@media(max-width:768px){
  .filter-drawer .fd-section-title,.filter-drawer .fd-opt,.filter-drawer .fd-pill{min-height:44px!important;}
  .filter-drawer .fd-pill{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:8px 12px!important;}
  .filter-drawer .fd-footer{padding-bottom:max(16px,env(safe-area-inset-bottom))!important;}
  body .nav-drawer{padding-bottom:max(24px,env(safe-area-inset-bottom))!important;}
}


/* v1.3.28 — keyboard skip navigation across all full-page shells. */
.skip-link{position:fixed!important;left:16px!important;top:-80px!important;z-index:10000!important;padding:10px 14px!important;background:#140E06!important;color:#fff!important;border:2px solid #C8922A!important;border-radius:3px!important;font:600 12px/1.2 Jost,sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase!important;text-decoration:none!important;}
.skip-link:focus{top:max(10px,env(safe-area-inset-top))!important;outline:3px solid #fff!important;outline-offset:2px!important;}


/* v1.3.35 — product/evaluation media must never be cropped.
   Editorial lifestyle/process imagery can still use cover inside its own page template. */
.pcard-img img,
.woocommerce ul.products li.product img,
.woocommerce-cart td.product-thumbnail img,
.woocommerce-cart-form td.product-thumbnail img,
.woocommerce-checkout-review-order img,
.wc-block-components-order-summary-item__image img,
.wc-block-cart-item__image img,
.woocommerce-order-details img,
.woocommerce-MyAccount-content .order-thumb,
.woocommerce-MyAccount-content .view-order-thumb,
.woocommerce-MyAccount-content img.product-thumbnail,
.handsole-journal-product-image{
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
  box-sizing:border-box!important;
}


/* v1.3.56 — explicit media roles.
   Commerce/evaluation imagery above stays CONTAIN so the whole shoe remains visible.
   Hero/editorial frames and category merchandising cards are COVER, but they are
   scoped by component instead of a site-wide img rule. Category cards additionally
   respect their taxonomy-owned focal point via --hs-card-focus. */
body.home .hero-r > img,
body.woocommerce-shop .shop-header > img,
body.tax-product_cat .shop-header > img,
body.woocommerce-shop .style-cell > img,
body.tax-product_cat .style-cell > img,
body.home .cat-cell > img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  background:transparent!important;
}
body.home .hero-r > img,
body.woocommerce-shop .shop-header > img,
body.tax-product_cat .shop-header > img{object-position:center!important;}
body.woocommerce-shop .style-cell > img,
body.tax-product_cat .style-cell > img,
body.home .cat-cell > img{object-position:var(--hs-card-focus,50% 50%)!important;}
body.woocommerce-shop .style-cell > .handsole-media-placeholder,
body.tax-product_cat .style-cell > .handsole-media-placeholder,
body.home .cat-cell > .handsole-media-placeholder{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  aspect-ratio:auto!important;border:0!important;background:linear-gradient(145deg,#F6F2E9 0%,#E7DDC9 58%,#D7C39B 100%)!important;
}
body.home .hero-r,
body.woocommerce-shop .shop-header,
body.tax-product_cat .shop-header,
body.woocommerce-shop .style-cell,
body.tax-product_cat .style-cell,
body.home .cat-cell{position:relative!important;overflow:hidden!important;}
body.home .hero-r.is-media-fallback,
body.woocommerce-shop .shop-header.is-media-fallback,
body.tax-product_cat .shop-header.is-media-fallback{
  background:linear-gradient(135deg,#EDE5D4 0%,#D9C7A5 48%,#B8831F 100%)!important;
}


/* v1.3.37 — recovery: announcement ticker must remain one physical line.
   Flex items may not shrink/wrap even when the viewport is narrow; overflow is
   handled by the existing horizontal ticker animation. */
.ann-track{
  flex-wrap:nowrap!important;
  width:max-content!important;
  min-width:max-content!important;
  white-space:nowrap!important;
}
.ann-item{
  flex:0 0 auto!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.ann-item em{white-space:nowrap!important;}

/* v1.3.37 — restore approved editorial image behavior from authority layouts.
   Journal/Home article cards and Journal article heroes are editorial frames,
   so they use cover. Product/evaluation imagery continues to use contain above. */
body.home .bcard-img img,
body.page-template-page-journal .hs-post-featured-img img,
body.page-template-page-journal .hs-post-card-img img,
body.page-template-page-journal .hs-post-row-img,
body.page-template-page-journal .sidebar-pop-img,
body.single-post .post-hero img,
body.single-post .post-related-img img,
body.category .hs-post-featured-img img,
body.category .hs-post-card-img img,
body.category .hs-post-row-img,
body.category .sidebar-pop-img,
body.tag .hs-post-featured-img img,
body.tag .hs-post-card-img img,
body.tag .hs-post-row-img,
body.tag .sidebar-pop-img,
body.tax-journal_series .hs-post-featured-img img,
body.tax-journal_series .hs-post-card-img img,
body.tax-journal_series .hs-post-row-img,
body.tax-journal_series .sidebar-pop-img{
  object-fit:cover!important;
  object-position:center!important;
  background:transparent!important;
}
body.home .bcard:hover .bcard-img img,
body.page-template-page-journal .hs-post-featured:hover .hs-post-featured-img img,
body.page-template-page-journal .hs-post-card:hover .hs-post-card-img img,
body.single-post .post-related-card:hover .post-related-img img{
  transform:scale(1.04)!important;
}

/* v1.3.41 — shared anti-spam honeypot for Contact. */
.handsole-form-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;}
\n\n/* v1.3.43 — editorial thumbnail + content-page rhythm recovery.\n   Product/evaluation imagery keeps the contain policy above. These rules only\n   affect Journal editorial thumbnails and the locked content-page vertical rhythm. */\nbody.page-template-page-journal .hs-post-row{grid-template-columns:104px 1fr auto!important;gap:16px!important}\nbody.page-template-page-journal .hs-post-row-img,\nbody.category .hs-post-row-img,body.tag .hs-post-row-img,body.tax-journal_series .hs-post-row-img{\n  width:104px!important;height:64px!important;object-fit:cover!important;object-position:center!important;background:var(--card)!important;\n}\nbody.page-template-page-journal .sidebar-pop-item,\nbody.category .sidebar-pop-item,body.tag .sidebar-pop-item,body.tax-journal_series .sidebar-pop-item{grid-template-columns:68px 1fr!important}\nbody.page-template-page-journal .sidebar-pop-img,\nbody.category .sidebar-pop-img,body.tag .sidebar-pop-img,body.tax-journal_series .sidebar-pop-img{\n  width:68px!important;height:48px!important;object-fit:cover!important;object-position:center!important;background:var(--card)!important;\n}\nbody.handsole-journal-article .sidebar-rel-item{grid-template-columns:68px 1fr!important}\nbody.handsole-journal-article .sidebar-rel-img{\n  width:68px!important;height:48px!important;object-fit:cover!important;object-position:center!important;background:var(--card)!important;\n}\n\n@media(min-width:901px){\n  /* Keep the approved grids, type and section order; only reduce oversized empty\n     vertical reserves that became conspicuous once real media was populated. */\n  body.handsole-about-page .hero,\n  body.handsole-craft-page .hero,\n  body.handsole-sizing-page .hero,\n  body.handsole-last-guide-page .hero,\n  body.handsole-contact-page .hero-contact{min-height:clamp(680px,82vh,820px)!important}\n\n  body.handsole-about-page .split,\n  body.handsole-about-page .craft-inner,\n  body.handsole-about-page .closing-blk{min-height:0!important}\n  body.handsole-about-page .simg{min-height:380px!important}\n  body.handsole-about-page .closing-r{min-height:360px!important}\n  body.handsole-about-page .wide-text,\n  body.handsole-about-page .quote-blk,\n  body.handsole-about-page .cta-blk{padding-top:clamp(52px,6vw,76px)!important;padding-bottom:clamp(52px,6vw,76px)!important}\n  body.handsole-about-page .craft-left,body.handsole-about-page .craft-right,\n  body.handsole-about-page .pleft,body.handsole-about-page .pright,\n  body.handsole-about-page .closing-l{padding-top:clamp(48px,5.5vw,72px)!important;padding-bottom:clamp(48px,5.5vw,72px)!important}\n\n  body.handsole-craft-page .srow{min-height:0!important}\n  body.handsole-craft-page .srow-img{min-height:360px!important}\n  body.handsole-craft-page .wide-text,body.handsole-craft-page .quote-blk,body.handsole-craft-page .cta-blk{padding-top:clamp(52px,6vw,76px)!important;padding-bottom:clamp(52px,6vw,76px)!important}\n  body.handsole-craft-page .srow-body{padding-top:clamp(44px,5vw,68px)!important;padding-bottom:clamp(44px,5vw,68px)!important}\n\n  body.handsole-sizing-page .lrow,body.handsole-last-guide-page .lrow{min-height:0!important}\n  body.handsole-sizing-page .lrow-img,body.handsole-last-guide-page .lrow-img{min-height:360px!important}\n  body.handsole-sizing-page .wide-text,body.handsole-last-guide-page .wide-text{padding-top:clamp(48px,5.5vw,72px)!important;padding-bottom:clamp(48px,5.5vw,72px)!important}\n  body.handsole-sizing-page .lrow-body,body.handsole-last-guide-page .lrow-body{padding-top:clamp(44px,5vw,68px)!important;padding-bottom:clamp(44px,5vw,68px)!important}\n\n  body.custom-page .hero{min-height:clamp(680px,80vh,820px)!important}\n  body.custom-page .hero-copy{padding-top:clamp(52px,6vw,82px)!important;padding-bottom:clamp(52px,6vw,82px)!important}\n  body.custom-page .statement,body.custom-page .paths,body.custom-page .choose,\n  body.custom-page .how,body.custom-page .start,body.custom-page .standards,body.custom-page .faq{\n    padding-top:clamp(52px,6vw,82px)!important;padding-bottom:clamp(52px,6vw,82px)!important\n  }\n  body.custom-page .fit-media{min-height:440px!important}\n  body.custom-page .fit-copy{padding-top:clamp(48px,5.5vw,74px)!important;padding-bottom:clamp(48px,5.5vw,74px)!important}\n\n  body.handsole-contact-page .hero-l,body.handsole-contact-page .hero-r{padding-top:clamp(52px,6vw,82px)!important;padding-bottom:clamp(52px,6vw,82px)!important}\n  body.handsole-contact-page .next-inner,body.handsole-contact-page .types-inner,\n  body.handsole-contact-page .guarantee-inner,body.handsole-contact-page .faq-teaser-inner{\n    padding-top:clamp(48px,5.5vw,74px)!important;padding-bottom:clamp(48px,5.5vw,74px)!important\n  }\n}\n\n@media(max-width:700px){\n  body.page-template-page-journal .hs-post-row{grid-template-columns:82px 1fr!important}\n  body.page-template-page-journal .hs-post-row-img{width:82px!important;height:58px!important}\n}\n
/* v1.3.44 — locked 4-image hero carousel for managed authority pages.
   The existing hero frame owns all geometry; this only changes media inside it. */
.hero-r>.hs-hero-carousel,.hero-media>.hs-hero-carousel{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  min-width:0!important;min-height:0!important;overflow:hidden!important;
  background:inherit!important;
}
.hs-hero-carousel-track{position:absolute;inset:0;overflow:hidden}
.hs-hero-slide{
  position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;
  transform:translate3d(1.25%,0,0) scale(1.012);
  transition:opacity .8s ease,visibility .8s ease,transform 1.1s cubic-bezier(.22,.61,.36,1);
}
.hs-hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translate3d(0,0,0) scale(1)}
.hs-hero-slide img,.hs-hero-carousel-image{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  max-width:none!important;object-fit:cover!important;display:block!important;
}
.hs-hero-carousel-ui{
  position:absolute;right:20px;bottom:18px;z-index:20;display:flex;align-items:center;gap:8px;
  padding:6px 7px;border:1px solid rgba(255,255,255,.34);background:rgba(20,14,6,.56);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.hs-hero-arrow{
  appearance:none;-webkit-appearance:none;width:30px;height:30px;display:grid;place-items:center;
  margin:0;padding:0;border:0;background:transparent;color:#fff;cursor:pointer;font:400 15px/1 Georgia,serif;
}
.hs-hero-arrow:hover,.hs-hero-arrow:focus-visible{background:rgba(255,255,255,.12)}
.hs-hero-dots{display:flex;align-items:center;gap:6px;padding:0 2px}
.hs-hero-dot{
  appearance:none;-webkit-appearance:none;width:18px;height:18px;padding:0;margin:0;border:0;background:transparent;
  position:relative;cursor:pointer;
}
.hs-hero-dot::after{content:"";position:absolute;left:5px;top:8px;width:8px;height:2px;background:rgba(255,255,255,.48);transition:width .25s ease,left .25s ease,background .25s ease}
.hs-hero-dot.is-active::after{left:2px;width:14px;background:#c8922a}
.hs-hero-arrow:focus-visible,.hs-hero-dot:focus-visible{outline:2px solid #fff;outline-offset:2px}
/* Preserve the existing hero gradient above images without blocking carousel controls. */
.hero-r::after,.hero-media::after{pointer-events:none!important;z-index:5!important}
/* Keep carousel UI above existing hero gradients; do not interfere with badges/copy. */
.hero-r>.hs-hero-carousel~*{position:relative;z-index:3}
.hero-media>.hero-badge{z-index:30!important}
@media(max-width:700px){
  .hs-hero-carousel-ui{right:14px;bottom:14px;padding:4px 5px;gap:5px}
  .hs-hero-arrow{width:28px;height:28px}
}
@media(prefers-reduced-motion:reduce){
  .hs-hero-slide{transition:none!important;transform:none!important}
  .hs-hero-dot::after{transition:none!important}
}


/* v1.3.49 — catalog filter/sticky recovery.
   Sticky controls are useful only while the user is inside the catalog zone.
   The wrapper gives CSS sticky a real lower boundary, so breadcrumb/browse/filter
   controls release before About/SEO/footer content instead of following the user
   through the entire page. */
body.woocommerce-shop .hs-catalog-zone,
body.tax-product_cat .hs-catalog-zone{position:relative!important;overflow:visible!important;isolation:isolate!important;}

/* The fixed stack is announcement (34) + main nav (58) = 92px.
   Breadcrumb = 42px. Category browse, when present, = 50px. */
body.woocommerce-shop .breadcrumb,
body.tax-product_cat .breadcrumb{position:sticky!important;top:92px!important;z-index:103!important;}
body.woocommerce-shop .filter-bar,
body.tax-product_cat .filter-bar{position:sticky!important;top:134px!important;z-index:102!important;}
body.tax-product_cat .col-tax-bar{position:sticky!important;top:134px!important;z-index:102!important;}
body.tax-product_cat.hs-has-browse .filter-bar{top:184px!important;z-index:101!important;}

/* WordPress logged-in admin bar: 32px desktop, 46px narrow screens. */
body.admin-bar.woocommerce-shop .breadcrumb,
body.admin-bar.tax-product_cat .breadcrumb{top:124px!important;}
body.admin-bar.woocommerce-shop .filter-bar,
body.admin-bar.tax-product_cat .filter-bar{top:166px!important;}
body.admin-bar.tax-product_cat .col-tax-bar{top:166px!important;}
body.admin-bar.tax-product_cat.hs-has-browse .filter-bar{top:216px!important;}
@media(max-width:782px){
  body.admin-bar.woocommerce-shop .breadcrumb,
  body.admin-bar.tax-product_cat .breadcrumb{top:138px!important;}
  body.admin-bar.woocommerce-shop .filter-bar,
  body.admin-bar.tax-product_cat .filter-bar{top:180px!important;}
  body.admin-bar.tax-product_cat .col-tax-bar{top:180px!important;}
  body.admin-bar.tax-product_cat.hs-has-browse .filter-bar{top:230px!important;}
}

/* A special availability collection already *is* the availability filter.
   Keep the active context visible but do not offer contradictory availability
   checkboxes inside the drawer. All style/design/fit/occasion/material filters
   remain available. */
body.term-in-stock .filter-btn[data-filter="in-stock"],
body.term-limited-edition .filter-btn[data-filter="limited"]{
  border-color:var(--gold)!important;background:rgba(200,146,42,.13)!important;color:var(--ink)!important;
}
body.term-in-stock [data-filter-section="availability"],
body.term-limited-edition [data-filter-section="availability"]{display:none!important;}
body.term-in-stock .sort-select option[value="ready"]{display:none;}
body.term-limited-edition .sort-select option[value="limited"]{display:none;}

/* v1.3.57 — responsive image-role system for managed inner pages and archive banners. */
.hs-managed-media.hs-managed-media-cover{
  object-fit:cover!important;
  object-position:var(--hs-media-focus,50% 50%)!important;
}
.hs-managed-media.hs-managed-media-contain{
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
body.woocommerce-shop .shop-header > img,
body.tax-product_cat .shop-header > img{
  object-position:var(--hs-banner-focus,50% 35%)!important;
}
@media(max-width:700px){
  .hs-managed-media.hs-managed-media-cover{
    object-position:var(--hs-media-focus-mobile,var(--hs-media-focus,50% 50%))!important;
  }
  body.woocommerce-shop .shop-header > img,
  body.tax-product_cat .shop-header > img{
    object-position:var(--hs-banner-focus-mobile,var(--hs-banner-focus,50% 35%))!important;
  }
  /* Category cards keep the same 3:4 frame on phone, so the approved card crop
     does not jump merely because the grid becomes two columns. */
  body.home .cat-cell,
  body.woocommerce-shop .style-cell,
  body.tax-product_cat .style-cell{aspect-ratio:3/4!important;}
}
@media(max-width:960px){
  .hs-managed-media.hs-managed-media-cover{
    object-position:var(--hs-media-focus-mobile,var(--hs-media-focus,50% 50%))!important;
  }
}


/* v1.3.59 — mobile hero experience: photography opens the page.
   Desktop composition is untouched. On phone/tablet layouts where the approved
   split hero collapses to one column, the banner media is presented first and
   the copy follows. This is deliberately scoped to the six managed split-hero
   experiences; Shop/category banners already open as integrated image heroes. */
@media(max-width:960px){
  body.handsole-home .hero,
  body.handsole-about-page .hero,
  body.handsole-craft-page .hero,
  body.handsole-sizing-page .hero,
  body.handsole-last-guide-page .hero,
  body.custom-page .hero{
    grid-template-columns:1fr!important;
    min-height:auto!important;
  }

  body.handsole-home .hero-r,
  body.handsole-about-page .hero-r,
  body.handsole-craft-page .hero-r,
  body.handsole-sizing-page .hero-r,
  body.handsole-last-guide-page .hero-r,
  body.custom-page .hero-media{
    order:-1!important;
    width:100%!important;
    min-height:0!important;
    height:clamp(320px,72vw,440px)!important;
    border-bottom:1px solid var(--border)!important;
  }

  /* The desktop side-to-side blend has no job once media and copy are stacked.
     Removing it keeps the opening photograph clear and preserves the focal crop. */
  body.handsole-home .hero-r::after,
  body.handsole-about-page .hero-r::after,
  body.handsole-craft-page .hero-r::after,
  body.handsole-sizing-page .hero-r::after,
  body.handsole-last-guide-page .hero-r::after,
  body.custom-page .hero-media::after{
    display:none!important;
  }

  body.handsole-home .hero-l,
  body.handsole-about-page .hero-l,
  body.handsole-craft-page .hero-l,
  body.handsole-sizing-page .hero-l,
  body.handsole-last-guide-page .hero-l,
  body.custom-page .hero-copy{
    order:0!important;
  }
}

@media(max-width:600px){
  /* Keep the copy intentional after the image without changing approved type. */
  body.handsole-home .hero-l,
  body.handsole-about-page .hero-l,
  body.handsole-craft-page .hero-l,
  body.handsole-sizing-page .hero-l,
  body.handsole-last-guide-page .hero-l{
    padding:44px 24px 54px!important;
  }
  body.custom-page .hero-copy{
    padding:44px 24px 54px!important;
  }
}


/* v1.3.61 — keyboard focus and truth-first footer microcopy. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:2px solid #C8922A !important;
  outline-offset:3px !important;
}
.ft-pay-note{
  font-family:var(--fu,Arial,sans-serif);
  font-size:.48rem;
  font-weight:400;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.58);
}
@media(max-width:720px){.ft-pay-note{font-size:.45rem;line-height:1.5;}}

/* v1.3.62 — optional cross-fade media sequences for locked image/text sections.
   The original section frame remains the geometry authority; media movement is
   contained inside it so copy, section height and alternating layouts never jump. */
.hs-media-sequence{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  min-width:0!important;min-height:0!important;overflow:hidden!important;background:inherit!important;
}
.hs-media-sequence-track{position:absolute;inset:0;overflow:hidden}
.hs-media-sequence-slide{
  position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity var(--hs-seq-fade,.25s) ease,visibility var(--hs-seq-fade,.25s) ease;
}
.hs-media-sequence-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
.hs-media-sequence-slide img,.hs-media-sequence-image{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  max-width:none!important;display:block!important;transform:none!important;transition:none!important;
}
.hs-media-sequence-cover .hs-media-sequence-image{object-fit:cover!important}
.hs-media-sequence-contain{background:#fff!important}
.hs-media-sequence-contain .hs-media-sequence-image{object-fit:contain!important;background:#fff!important}
.hs-media-sequence-ui{
  position:absolute;right:16px;bottom:16px;z-index:12;display:flex;align-items:center;gap:7px;
  padding:5px 7px;border:1px solid rgba(255,255,255,.34);background:rgba(20,14,6,.62);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;
}
.hs-media-sequence-arrow{
  appearance:none;-webkit-appearance:none;width:28px;height:28px;display:grid;place-items:center;
  padding:0;margin:0;border:0;background:transparent;color:#fff;cursor:pointer;font:400 15px/1 Georgia,serif;
}
.hs-media-sequence-arrow:hover,.hs-media-sequence-arrow:focus-visible{background:rgba(255,255,255,.12)}
.hs-media-sequence-arrow:focus-visible,.hs-media-sequence:focus-visible{outline:2px solid #fff;outline-offset:-3px}
.hs-media-sequence-count{
  min-width:48px;text-align:center;font-family:'Jost',sans-serif;font-size:.5rem;font-weight:500;
  letter-spacing:.13em;color:rgba(255,255,255,.9);font-variant-numeric:tabular-nums;
}
/* Keep the About image caption readable beside sequence controls. */
body.handsole-about-page .simg>.simg-cap{z-index:14}
@media(max-width:700px){
  .hs-media-sequence-ui{right:12px;bottom:12px;padding:4px 5px;gap:4px}
  .hs-media-sequence-arrow{width:27px;height:27px}
  .hs-media-sequence-count{min-width:42px;font-size:.47rem}
}
@media(prefers-reduced-motion:reduce){
  .hs-media-sequence-slide{transition:none!important}
}
.hs-media-sequence-toggle{
  appearance:none;-webkit-appearance:none;width:27px;height:28px;display:grid;place-items:center;
  padding:0;margin:0 0 0 1px;border:0;border-left:1px solid rgba(255,255,255,.2);
  background:transparent;color:rgba(255,255,255,.9);cursor:pointer;font:500 11px/1 'Jost',sans-serif;
}
.hs-media-sequence-toggle:hover,.hs-media-sequence-toggle:focus-visible{background:rgba(255,255,255,.12)}
.hs-media-sequence-toggle:focus-visible{outline:2px solid #fff;outline-offset:-2px}
@media(prefers-reduced-motion:reduce){.hs-media-sequence-toggle{display:none!important}}


/* v1.3.75 — consistent next-step actions on inner-page authority heroes. */
.hs-hero-actions{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin-top:30px!important;
}
.hs-hero-cta-primary,
.hs-hero-cta-secondary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:0 26px!important;
  border-radius:4px!important;
  font-family:'Jost',sans-serif!important;
  font-size:.62rem!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  transition:transform .22s ease,background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease!important;
}
.hs-hero-cta-primary{
  background:#140E06!important;
  border:1px solid #140E06!important;
  color:#fff!important;
}
.hs-hero-cta-primary:hover,
.hs-hero-cta-primary:focus-visible{
  background:#C8922A!important;
  border-color:#C8922A!important;
  color:#140E06!important;
  transform:translateY(-1px)!important;
  box-shadow:0 8px 22px rgba(20,14,6,.12)!important;
}
.hs-hero-cta-secondary{
  background:transparent!important;
  border:1px solid #E0D0A8!important;
  color:#5C5347!important;
}
.hs-hero-cta-secondary:hover,
.hs-hero-cta-secondary:focus-visible{
  border-color:#C8922A!important;
  color:#B8831F!important;
  transform:translateY(-1px)!important;
}
.faq-hero .hs-hero-actions{justify-content:center!important;margin-top:0!important;margin-bottom:28px!important;}
.policy-hero .hs-hero-actions{margin-top:26px!important;}
@media(max-width:640px){
  .hs-hero-actions{gap:10px!important;margin-top:26px!important;}
  .hs-hero-cta-primary,.hs-hero-cta-secondary{width:100%!important;min-height:44px!important;padding:0 18px!important;}
  .faq-hero .hs-hero-actions{max-width:560px!important;margin-left:auto!important;margin-right:auto!important;}
}


/* v1.3.80 — universal US sizing now runs through 15, including 13.5 and 14.5.
 * Product Story without dedicated story media uses the full PDP content width. */
body.single-product .pdp-section-inner.one-col .section-p{max-width:none;width:100%;}


/* v1.3.81 — PDP media + responsive dependency hardening.
 * The same contract is repeated after wp_head() in single-product.php so late plugin CSS
 * cannot shrink gallery thumbnails or reintroduce desktop constraints on phone/tablet. */
body.single-product .pdp-above,
body.single-product .pdp-media,
body.single-product .pdp-hero-img,
body.single-product .pdp-decision,
body.single-product .pdp-section,
body.single-product .pdp-section-inner,
body.single-product .pdp-section-inner > *,
body.single-product .mat-grid,
body.single-product .reviews-grid,
body.single-product .pdp-faq-grid,
body.single-product .xsell-grid,
body.single-product .craft-strip{min-width:0!important;max-width:100%;box-sizing:border-box!important;}
body.single-product .pdp-section-inner{width:100%!important;max-width:none!important;}
body.single-product .pdp-section-inner.two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;}
body.single-product .pdp-section-inner.three-col{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
body.single-product .section-p,
body.single-product .section-h2,
body.single-product .mat-value,
body.single-product .mat-note,
body.single-product .faq-a-inner{overflow-wrap:anywhere;word-break:normal;}
body.single-product .pdp-hero-img > #mainImg{
  display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  margin:0!important;padding:0!important;object-fit:contain!important;object-position:center!important;background:#fff!important;
}
body.single-product .pdp-thumbs{
  display:flex!important;width:100%!important;max-width:100%!important;min-width:0!important;flex:0 0 auto!important;
  align-items:stretch!important;background:#fff!important;border-top:1px solid var(--border)!important;
}
body.single-product button.pdp-thumb{
  appearance:none!important;-webkit-appearance:none!important;position:relative!important;display:block!important;
  flex:1 1 0!important;min-width:0!important;min-height:0!important;aspect-ratio:1/1!important;
  margin:0!important;padding:0!important;border:0!important;border-right:1px solid var(--border)!important;
  border-radius:0!important;box-shadow:none!important;background:#fff!important;overflow:hidden!important;
  line-height:0!important;text-align:center!important;cursor:pointer!important;
}
body.single-product button.pdp-thumb:last-child{border-right:0!important;}
body.single-product button.pdp-thumb > img{
  position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;margin:0!important;padding:4px!important;box-sizing:border-box!important;
  object-fit:contain!important;object-position:center!important;background:#fff!important;
}
body.single-product .pdp-thumb-play{z-index:2!important;}
body.single-product .pdp-story-section .pdp-section-inner{display:block!important;width:100%!important;max-width:none!important;}
body.single-product .pdp-story-section .section-p{width:100%!important;max-width:none!important;}
body.single-product .pdp-story-section .handsole-story-media{width:100%!important;max-width:none!important;margin-top:28px!important;}
body.single-product .pdp-story-section .handsole-story-media img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;}
@media(max-width:1024px){
  body.single-product .pdp-above{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;min-height:0!important;}
  body.single-product .pdp-media{
    position:relative!important;top:auto!important;width:100%!important;height:auto!important;max-height:none!important;min-height:0!important;
    overflow:visible!important;border-right:0!important;border-bottom:1px solid var(--border)!important;
  }
  body.single-product .pdp-hero-img{flex:0 0 auto!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:4/3!important;overflow:hidden!important;}
  body.single-product .pdp-decision{width:100%!important;max-width:none!important;overflow:visible!important;}
  body.single-product .pdp-section-inner.two-col,
  body.single-product .pdp-section-inner.three-col{grid-template-columns:minmax(0,1fr)!important;}
  body.single-product .reviews-grid,
  body.single-product .helpers-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;}
  body.single-product .xsell-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;}
}
@media(max-width:768px){
  body.single-product .pdp-section-inner{padding:40px 18px!important;}
  body.single-product .pdp-decision{padding:28px 18px!important;}
  body.single-product .pdp-thumbs{
    overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;
    scroll-snap-type:x proximity!important;overscroll-behavior-inline:contain!important;
  }
  body.single-product .pdp-thumbs::-webkit-scrollbar{display:none!important;}
  body.single-product button.pdp-thumb{flex:0 0 clamp(84px,24vw,112px)!important;min-width:84px!important;scroll-snap-align:start!important;}
  body.single-product .size-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  body.single-product .mat-grid,
  body.single-product .reviews-grid,
  body.single-product .helpers-grid,
  body.single-product .pdp-faq-grid,
  body.single-product .xsell-grid{grid-template-columns:minmax(0,1fr)!important;}
  body.single-product .craft-strip{display:grid!important;grid-template-columns:minmax(0,1fr)!important;height:auto!important;}
  body.single-product .craft-cell{width:100%!important;aspect-ratio:4/3!important;border-right:0!important;border-bottom:1px solid var(--border)!important;}
  body.single-product .construction-strip{display:flex!important;flex-direction:column!important;}
  body.single-product .con-step{width:100%!important;border-right:0!important;border-bottom:1px solid var(--border)!important;}
  body.single-product .pdp-price-row{align-items:flex-start!important;flex-wrap:wrap!important;}
  body.single-product .pdp-micro-trust{gap:10px 16px!important;}
}
@media(max-width:480px){
  body.single-product .pdp-section-inner{padding:34px 16px!important;}
  body.single-product .pdp-decision{padding:24px 16px!important;}
  body.single-product .size-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;}
  body.single-product .pdp-name{font-size:clamp(1.75rem,9vw,2.25rem)!important;}
  body.single-product .section-h2{font-size:clamp(1.55rem,8vw,2rem)!important;}
  body.single-product .breadcrumb{padding-left:14px!important;padding-right:14px!important;overflow-x:auto!important;white-space:nowrap!important;}
}

/* v1.3.83 — accessible old-gold for text on light surfaces; keep the brighter Handsole gold for fills, borders and dark-surface accents. */
body .handsole-global-nav .nl,
body .htag,
body .tag,
body .sh-stag,
body .shortcuts-stag,
body .sc-label,
body .sc-arrow,
body .pcard-meta,
body .pcard-design,
body .pcard-price,
body .search-eyebrow,
body .section-kicker,
body .eyebrow,
body .hero-answer-label,
body .sidebar-shop-eyebrow,
body .content-type,
body .inv-r .inv-tag,
body .seo-intro a,
body .p a{color:#8A5E10!important;}

body .hero h1 em,
body .sh h2 em,
body .shortcuts-h2 em,
body .sc-title em,
body .wide-text p em,
body .section-title em,
body h2.sec em{color:#8A5E10!important;}

/* v1.3.83 — accessible gold for text on light surfaces. Decorative gold backgrounds/borders stay unchanged. */
.handsole-global-nav .nl,
.handsole-global-nav .nv a.on,
.handsole-global-nav .nv-dropdown-trigger.on{color:#76500C!important;}
body.handsole-home .hero-l .htag,
body.handsole-home .hero-l h1 em,
body.handsole-home .sh-stag,
body.handsole-home .sh h2 em,
body.handsole-home .cat-sep-label,
body.handsole-home .inv-r .inv-tag,
body.handsole-home .inv-r .inv-h2 em,
body.handsole-home .pcard-price{color:#76500C!important;}

/* v1.3.84 — finish WCAG contrast hardening without changing Handsole's dark-surface gold. */
body .nav-drawer-top .nl,
body .nav-drawer-links > a.on{color:#76500C!important;}

body.single-product .pb-mto,
body.single-product .pdp-field-label a,
body.single-product .size-note a,
body.single-product .fit-conf-title,
body.single-product .fit-conf-link,
body.single-product .section-tag,
body.single-product .avail-step-n,
body.single-product .helper-link,
body.single-product .faq-a-inner a,
body.single-product .pdp-tax-link,
body.single-product #colorName,
body.single-product .rview-fit-tag{color:#76500C!important;}

body.single-product .pdp-name em,
body.single-product .pdp-price,
body.single-product .section-h2 em,
body.single-product .last-diagram-name,
body.single-product .review-score,
body.single-product .xs-price,
body.single-product .sticky-price{color:#8A5E10!important;}

footer.footer-top .ft-pay-lbl,
footer.footer-top .fb-copy,
footer.footer-top .fb-legal a{color:rgba(237,229,212,.62)!important;}
footer.footer-top form.ft-nl-form input.ft-nl-input::placeholder{color:rgba(237,229,212,.60)!important;opacity:1!important;}

/* Home review/image-overlay microcopy was the last light-text edge case in Lighthouse. */
body.handsole-home .tcard-meta{color:#C8922A!important;}
body.handsole-home .tcard-product,
body.handsole-home .tcard-product a{color:rgba(200,186,162,.68)!important;}
body.handsole-home .cat-count{color:rgba(242,232,216,.78)!important;}

/* v1.3.88 — heading emphasis system: gold may remain, italic is reserved for intentional signature accents only. */
body[class] h1 em:not(.hs-signature-em),
body[class] h2 em:not(.hs-signature-em),
body[class] h3 em:not(.hs-signature-em){font-style:normal!important;}
body[class] .hs-signature-em{font-style:italic!important;}
