/* ELEMENT-O final responsive/contrast hardening. No intentional redesign. */
html,body{max-width:100%;overflow-x:clip}body{min-width:0}#page,.site,.site-content,#content,main,.site-main{max-width:100%;min-width:0}img,picture,video,canvas,svg,iframe{max-width:100%}img,video{height:auto}iframe{border:0}input,select,textarea,button{max-width:100%}button,a{overflow-wrap:normal}.shell,.content-shell,.wp-content-area,.woocommerce-shell{min-width:0;max-width:100%}.shell>*{min-width:0}
/* Never let long customer/content strings push the page wider than the viewport. */
.entry-content,.page-content,.woocommerce,.journal-content,.elemento-support-center,.elemento-contact-layout,.elemento-finder,.elemento-referral,.footer,.newsletter{overflow-wrap:break-word;word-break:normal}.entry-content pre,.entry-content code{max-width:100%;overflow:auto}.entry-content table,.woocommerce table.shop_table{max-width:100%}.entry-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.wp-block-table{max-width:100%;overflow-x:auto}
/* Grid/flex children are allowed to shrink instead of causing body-level horizontal scroll. */
.product-grid,.duo-grid,.editorial-grid,.finder-grid,.discovery-wrap,.collection-nav-grid,.house-codes-grid,.wardrobe-grid,.image-editorial-grid,.spectrum-grid,.gift-grid,.promise-grid,.moments-grid,.footer-grid,.newsletter-inner,.commerce-trust .shell,.woocommerce ul.products,.woocommerce-checkout .col2-set,.elemento-contact-layout,.elemento-support-layout,.elemento-account-cards,.journal-reading-layout-v15,.journal-v15-hero-grid,.journal-archive-hero-inner{min-width:0}.product-grid>*,.duo-grid>*,.editorial-grid>*,.finder-grid>*,.discovery-wrap>*,.collection-nav-grid>*,.house-codes-grid>*,.wardrobe-grid>*,.image-editorial-grid>*,.spectrum-grid>*,.gift-grid>*,.promise-grid>*,.moments-grid>*,.footer-grid>*,.newsletter-inner>*,.commerce-trust .shell>*,.woocommerce ul.products>*,.woocommerce-checkout .col2-set>*,.elemento-contact-layout>*,.elemento-support-layout>*,.journal-reading-layout-v15>*{min-width:0}
/* Off-canvas / floating UI must stay inside the viewport. */
.cart-drawer{width:min(440px,100vw)!important;max-width:100%!important}.search-panel,.mobile-nav,.overlay,.elemento-popup,.elemento-compare-modal{max-width:100vw}.chat-box{max-width:calc(100vw - 20px);max-height:calc(100dvh - 24px);overflow:auto}.elemento-popup-card{max-width:min(920px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}.elemento-compare-table{max-width:100%;overflow:auto}.nav-inner .sub-menu,.mega-menu{max-width:calc(100vw - 32px)}
/* Stable readable contrast for known dark sections. */
.footer,.newsletter,.commerce-trust,.brand-film,.house-codes,.element-promise,.notes-showcase,.el-page-callout,.elemento-entry-cta-v208{color:#f7f1e7}.footer h1,.footer h2,.footer h3,.footer h4,.newsletter h1,.newsletter h2,.newsletter h3,.brand-film h1,.brand-film h2,.brand-film h3,.house-codes h1,.house-codes h2,.house-codes h3,.element-promise h1,.element-promise h2,.element-promise h3,.notes-showcase h1,.notes-showcase h2,.notes-showcase h3,.el-page-callout h1,.el-page-callout h2,.el-page-callout h3,.elemento-entry-cta-v208 h1,.elemento-entry-cta-v208 h2,.elemento-entry-cta-v208 h3,.elemento-entry-cta-v208 h4{color:#fff}.footer p,.newsletter p,.brand-film p,.house-codes p,.element-promise p,.notes-showcase p{color:#bdb5a9}.elemento-contact-form input,.elemento-contact-form select,.elemento-contact-form textarea,.woocommerce input,.woocommerce select,.woocommerce textarea{color:#171511;background:#fff}
/* Mega-menu containment and hover bridge: prevent accidental disappearance while moving the pointer downward. */
.nav-inner>li.menu-item-has-children{position:relative}.nav-inner>li.menu-item-has-children:after{content:'';position:absolute;left:-12px;right:-12px;top:100%;height:14px}.nav-inner .sub-menu{z-index:120}.nav-inner>li:hover>.sub-menu,.nav-inner>li:focus-within>.sub-menu{pointer-events:auto}
/* WooCommerce safety. */
.woocommerce div.product,.woocommerce div.product .summary,.woocommerce div.product .woocommerce-product-gallery{min-width:0}.woocommerce div.product form.cart{max-width:100%}.woocommerce div.product form.cart .variations{max-width:100%}.woocommerce div.product form.cart .variations select{width:100%}.woocommerce .woocommerce-message,.woocommerce .woocommerce-error,.woocommerce .woocommerce-info{max-width:100%}.woocommerce-cart-form,.cart-collaterals,.woocommerce-checkout-review-order,.woocommerce-billing-fields,.woocommerce-shipping-fields{min-width:0}.woocommerce table.shop_table td,.woocommerce table.shop_table th{overflow-wrap:break-word}.woocommerce-MyAccount-content{min-width:0}
/* Journal: keep editorial posters visible without page overflow. */
.journal-feature,.journal-feature-media,.journal-v15-visual,.journal-v15-hero-grid,.journal-reading-main,.journal-toc-wrap-v15{min-width:0}.journal-feature-media img,.journal-v15-hero-image{max-width:100%}.journal-content img,.entry-content img{max-width:100%;height:auto}
/* Respect users who reduce motion and avoid animation-related layout jank. */
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media(max-width:1050px){.head-main{grid-template-columns:minmax(42px,1fr) auto minmax(126px,1fr)}.head-left,.head-actions{min-width:0}.brand{max-width:min(230px,40vw)}.brand img{max-width:100%}.head-actions{gap:0}.main-nav{display:none!important}}
@media(max-width:700px){html,body{overflow-x:clip}.shell{width:calc(100% - 24px)!important}.topbar{padding:0 10px;white-space:nowrap}.head-main{grid-template-columns:42px minmax(0,1fr) auto}.brand{justify-self:center;max-width:145px}.head-actions .icon-btn{width:38px;height:42px}.head-actions{justify-self:end}.header-help{display:none!important}.hero-copy h1{font-size:clamp(48px,15.5vw,62px)!important}.hero-copy p{max-width:100%!important}.hero-cta{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}.hero-cta .btn{width:100%;padding:0 12px}.woocommerce ul.products{min-width:0}.woocommerce ul.products li.product{min-width:0}.woocommerce ul.products li.product .woocommerce-loop-product__title{overflow-wrap:break-word}.woocommerce-account .woocommerce-MyAccount-navigation{max-width:100%;overflow:auto}.woocommerce-account .woocommerce-MyAccount-navigation ul{max-width:100%}.elemento-newsletter-form input{min-width:0!important}.elemento-popup-card{width:calc(100vw - 20px)!important}.el-popup-close{right:18px!important;top:18px!important}.footer-top-story,.footer-grid-v15{min-width:0}.payment-chips{max-width:100%}.payment-chips span{max-width:100%}.journal-v15-tools{max-width:100%}.pdp-sticky-buy{max-width:100vw}}
@media(max-width:430px){.head-actions .icon-btn{width:34px}.head-actions .wishlist-head{display:grid}.brand{max-width:118px}.hero-cta{grid-template-columns:1fr}.product-grid,.woocommerce ul.products{grid-template-columns:1fr 1fr!important}.p-media{height:auto!important;aspect-ratio:4/5}.footer-grid-v15{grid-template-columns:1fr!important}.footer-grid-v15>div{grid-column:auto!important}.footer-brand,.footer-care,.footer-grid-v15 .footer-payments{grid-column:1/-1!important}.elemento-contact-form,.support-fields{grid-template-columns:1fr!important}}


/* ELEMENT-O 2.1.1 — requested mobile-only fixes. Existing desktop/tablet design is intentionally untouched. */
@media (max-width:1000px){
  .head-left .mobile-menu-btn{
    display:flex!important;
    opacity:1!important;
    pointer-events:auto!important;
    width:40px!important;
    height:40px!important;
    padding:10px 9px!important;
    margin:0!important;
    border:1px solid rgba(184,138,53,.78)!important;
    background:#fffaf2!important;
    color:#15130f!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:6px!important;
    box-shadow:none!important;
    appearance:none!important;
    -webkit-appearance:none!important;
  }
  .head-left .mobile-menu-btn span{
    display:block!important;
    width:20px!important;
    height:1.5px!important;
    min-height:1.5px!important;
    margin:0!important;
    padding:0!important;
    background:#171511!important;
    border:0!important;
    opacity:1!important;
    transform:none!important;
  }
  .head-left .mobile-menu-btn:focus-visible{outline:2px solid #b88a35!important;outline-offset:2px!important}
}

@media (max-width:700px){
  /* Brand-story section: stack cleanly instead of squeezing the paragraph into a narrow column. */
  .editorial .editorial-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:24px!important;
    align-items:start!important;
  }
  .editorial .editorial-head,.editorial .editorial-text{width:100%!important;max-width:100%!important;min-width:0!important}
  .editorial .editorial-head{margin:0!important}
  .editorial .editorial-text{padding:0!important;margin:0!important}
  .editorial .editorial-head h2,.editorial h2{
    font-size:clamp(42px,13vw,56px)!important;
    line-height:.96!important;
    max-width:100%!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .editorial .editorial-text p{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 20px!important;
    font-size:14px!important;
    line-height:1.75!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }
  .editorial .line-link{font-size:10px!important;line-height:1.35!important;gap:10px!important}

  /* Footer navigation only: center menu headings and links on mobile. */
  .footer-grid-v15>div:not(.footer-brand):not(.footer-care):not(.footer-payments){text-align:center!important}
  .footer-grid-v15>div:not(.footer-brand):not(.footer-care):not(.footer-payments) h4{text-align:center!important}
  .footer-grid-v15>div:not(.footer-brand):not(.footer-care):not(.footer-payments)>a,
  .footer-grid-v15>div:not(.footer-brand):not(.footer-care):not(.footer-payments) nav a{
    text-align:center!important;
    justify-content:center!important;
  }
}

/* ELEMENT-O v2.0.2 — mobile footer centering only */
@media (max-width:700px){
  .footer-v15 .footer-brand{
    text-align:center!important;
  }
  .footer-v15 .footer-brand img{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .footer-v15 .footer-brand p,
  .footer-v15 .footer-social-title,
  .footer-v15 .footer-social-note{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .footer-v15 .footer-brand .socials{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    flex-wrap:wrap!important;
  }

  .footer-v15 .footer-care{
    text-align:center!important;
  }
  .footer-v15 .footer-care h4,
  .footer-v15 .footer-care p,
  .footer-v15 .footer-contact-row,
  .footer-v15 .footer-contact-row small,
  .footer-v15 .footer-contact-row b{
    text-align:center!important;
  }
  .footer-v15 .footer-contact-row{
    display:block!important;
    width:100%!important;
  }

  .footer-v15 .footer-payments{
    text-align:center!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .footer-v15 .footer-payments>div{
    width:100%!important;
  }
  .footer-v15 .footer-pay-label,
  .footer-v15 .footer-promise{
    text-align:center!important;
  }
  .footer-v15 .payment-chips{
    justify-content:center!important;
    align-items:center!important;
  }
  .footer-v15 .footer-promise{
    width:100%!important;
  }

  .footer-v15 .footer-bottom{
    text-align:center!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .footer-v15 .footer-bottom span{
    width:100%!important;
    text-align:center!important;
  }
}

/* ===== ELEMENT-O 2.0.3 — My Account pages only =====
   Scoped to body.woocommerce-account so no other storefront/page design is changed. */
body.woocommerce-account .wp-content-area{
  padding-top:56px;
}
body.woocommerce-account .content-shell{
  width:min(1320px,calc(100% - 56px))!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.woocommerce-account .entry-content{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  font-size:14px;
  line-height:1.7;
}
body.woocommerce-account .entry-content>.woocommerce,
body.woocommerce-account .entry-content .woocommerce{
  display:grid!important;
  grid-template-columns:280px minmax(0,1fr)!important;
  gap:42px!important;
  align-items:start!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation{
  grid-column:1!important;
  width:100%!important;
  max-width:280px!important;
  min-width:0!important;
  float:none!important;
  margin:0!important;
  padding:18px!important;
  background:#171613!important;
  box-sizing:border-box!important;
  position:sticky;
  top:118px;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  list-style:none!important;
  overflow:visible!important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:flex!important;
  align-items:center!important;
  min-height:44px!important;
  width:100%!important;
  padding:11px 14px!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid #302d28!important;
  color:#ded5c8!important;
  background:transparent!important;
  font:600 10px/1.25 var(--sans)!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  box-sizing:border-box!important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a{
  border-bottom:0!important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation li a:focus-visible{
  color:#f0cf82!important;
  background:#11110f!important;
}
body.woocommerce-account .woocommerce-MyAccount-content{
  grid-column:2!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  float:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
body.woocommerce-account .woocommerce-MyAccount-content>*:first-child{
  margin-top:0!important;
}
body.woocommerce-account .woocommerce-MyAccount-content a{
  overflow-wrap:normal;
}
body.woocommerce-account .woocommerce-MyAccount-content p,
body.woocommerce-account .woocommerce-MyAccount-content li,
body.woocommerce-account .woocommerce-MyAccount-content td,
body.woocommerce-account .woocommerce-MyAccount-content th{
  word-break:normal!important;
  overflow-wrap:break-word!important;
}

/* Dashboard */
body.woocommerce-account .elemento-account-welcome{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:34px!important;
  border:1px solid #ddd2c3!important;
  background:#f7f1e8!important;
  box-sizing:border-box!important;
}
body.woocommerce-account .elemento-account-welcome h2{
  margin:10px 0 12px!important;
  font-size:clamp(38px,4vw,56px)!important;
  line-height:1!important;
}
body.woocommerce-account .elemento-account-cards{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
}
body.woocommerce-account .elemento-account-cards a{
  min-width:0!important;
  padding:22px!important;
  background:#fff!important;
  text-decoration:none!important;
}

/* Woo notices / account confirmation */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message{
  width:100%!important;
  max-width:none!important;
  min-height:58px!important;
  margin:0 0 24px!important;
  padding:18px 20px 18px 48px!important;
  box-sizing:border-box!important;
  line-height:1.55!important;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button,
body.woocommerce-account .woocommerce-MyAccount-content .button{
  white-space:normal!important;
}

/* Orders */
body.woocommerce-account .woocommerce-MyAccount-orders,
body.woocommerce-account .woocommerce-orders-table{
  width:100%!important;
  table-layout:auto!important;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button{
  display:inline-flex!important;
  margin:3px!important;
  padding:10px 12px!important;
}

/* Addresses */
body.woocommerce-account .woocommerce-Addresses{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  margin:0!important;
}
body.woocommerce-account .woocommerce-Address{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  float:none!important;
  margin:0!important;
  padding:28px!important;
  border:1px solid #ddd2c3!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
body.woocommerce-account .woocommerce-Address-title{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:0 0 20px!important;
}
body.woocommerce-account .woocommerce-Address-title h2{
  float:none!important;
  width:auto!important;
  max-width:75%!important;
  margin:0!important;
  font:400 clamp(30px,3vw,42px)/1.05 var(--serif)!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
body.woocommerce-account .woocommerce-Address-title a{
  float:none!important;
  flex:0 0 auto!important;
  margin-top:5px!important;
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
body.woocommerce-account .woocommerce-Address address{
  margin:0!important;
  font-style:normal!important;
  line-height:1.75!important;
}

/* Account edit forms */
body.woocommerce-account .woocommerce-EditAccountForm,
body.woocommerce-account .woocommerce-address-fields,
body.woocommerce-account .woocommerce-address-fields__field-wrapper{
  width:100%!important;
  max-width:none!important;
}
body.woocommerce-account .woocommerce-EditAccountForm fieldset{
  margin:28px 0!important;
  padding:24px!important;
  border:1px solid #ddd2c3!important;
}
body.woocommerce-account .woocommerce-EditAccountForm legend{
  padding:0 8px!important;
  font:400 26px/1 var(--serif)!important;
}
body.woocommerce-account .woocommerce form .form-row{
  min-width:0!important;
}
body.woocommerce-account .woocommerce form .form-row-first,
body.woocommerce-account .woocommerce form .form-row-last{
  width:calc(50% - 8px)!important;
}

/* ELEMENT-O custom My Account endpoints */
body.woocommerce-account .woocommerce-MyAccount-content .elemento-referral,
body.woocommerce-account .woocommerce-MyAccount-content .elemento-track-wrap,
body.woocommerce-account .woocommerce-MyAccount-content .elemento-support-center,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce[class*="columns-"]{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.woocommerce-account .woocommerce-MyAccount-content .ref-hero{
  text-align:left!important;
  padding:12px 0 24px!important;
}
body.woocommerce-account .woocommerce-MyAccount-content .ref-code-card{
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.woocommerce-account .woocommerce-MyAccount-content ul.products{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
}

/* Tablet: keep everything readable, no narrow side columns. */
@media(max-width:1050px){
  body.woocommerce-account .content-shell{width:calc(100% - 32px)!important}
  body.woocommerce-account .entry-content>.woocommerce,
  body.woocommerce-account .entry-content .woocommerce{
    grid-template-columns:1fr!important;
    gap:26px!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation,
  body.woocommerce-account .woocommerce-MyAccount-content{
    grid-column:1!important;
    width:100%!important;
    max-width:none!important;
    position:static!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation{padding:12px!important}
  body.woocommerce-account .woocommerce-MyAccount-navigation ul{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:1px!important;
    background:#302d28!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation li a{
    min-height:48px!important;
    border:0!important;
    background:#171613!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Mobile */
@media(max-width:700px){
  body.woocommerce-account .wp-content-area{padding-top:32px!important}
  body.woocommerce-account .content-shell{width:calc(100% - 24px)!important}
  body.woocommerce-account .page-hero{margin-bottom:28px!important;padding-bottom:30px!important}
  body.woocommerce-account .page-hero h1{font-size:48px!important}
  body.woocommerce-account .woocommerce-MyAccount-navigation ul{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation li a{
    min-height:46px!important;
    padding:10px!important;
    font-size:9px!important;
  }
  body.woocommerce-account .elemento-account-welcome{padding:24px 18px!important}
  body.woocommerce-account .elemento-account-cards{grid-template-columns:1fr!important}
  body.woocommerce-account .woocommerce-Addresses{grid-template-columns:1fr!important}
  body.woocommerce-account .woocommerce-Address{padding:22px 18px!important}
  body.woocommerce-account .woocommerce-Address-title h2{max-width:70%!important;font-size:32px!important}
  body.woocommerce-account .woocommerce form .form-row-first,
  body.woocommerce-account .woocommerce form .form-row-last{width:100%!important;float:none!important}
  body.woocommerce-account .woocommerce-MyAccount-content ul.products{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content .ref-code-card{padding:20px!important}
  body.woocommerce-account .woocommerce-MyAccount-content .ref-code-card>div{display:grid!important;grid-template-columns:1fr!important}
  body.woocommerce-account .woocommerce-MyAccount-content .ref-code-card button{min-height:44px!important}
}

@media(max-width:430px){
  body.woocommerce-account .woocommerce-MyAccount-navigation ul{grid-template-columns:1fr!important}
  body.woocommerce-account .woocommerce-MyAccount-content ul.products{grid-template-columns:1fr!important}
}
