/* ========================================================================== */
/* HÉCATE V7.1.6 — COMPLETE TEXT READABILITY AUDIT                           */
/* Public storefront + categories + Box + personalisation + cart + checkout. */
/* Visual/readability only. No backend, D1, Raven Bridge or security change. */
/* ========================================================================== */

:root{
  --h716-text:#211921;
  --h716-muted:rgba(33,25,33,.74);
  --h716-muted-strong:rgba(33,25,33,.82);
  --h716-on-dark:#f8f2eb;
  --h716-on-dark-muted:rgba(248,242,235,.82);
  --h716-on-dark-soft:rgba(248,242,235,.72);
}

/* Global reading comfort */
body{font-size:14px!important;line-height:1.55!important;text-rendering:optimizeLegibility!important;-webkit-font-smoothing:antialiased!important}
p,li{line-height:1.65}
input,select,textarea,button{font-family:Inter,system-ui,sans-serif}
input::placeholder,textarea::placeholder{opacity:1!important;color:rgba(33,25,33,.58)!important}

/* Announcement + header */
.announcement,.category-announcement{
  font-size:10px!important;line-height:1.35!important;letter-spacing:.13em!important;
  color:rgba(248,242,235,.90)!important
}
.announcement i,.category-announcement i{font-size:10px!important}
.site-header .brand strong,.top .brand strong{font-size:14px!important;line-height:1.15!important;color:#fff!important}
.site-header .brand small,.top .brand small{
  display:block!important;font-size:9px!important;line-height:1.35!important;letter-spacing:.12em!important;
  color:rgba(248,242,235,.78)!important;opacity:1!important
}
.desktop-nav,.top .category-home-nav,.top .nav{font-size:12px!important}
.desktop-nav a,.top .category-home-nav a,.top .nav a{
  font-size:12px!important;color:rgba(248,242,235,.86)!important
}
.header-actions a,.icon-btn,.bag-btn,.category-cart-btn{
  font-size:11px!important;color:rgba(248,242,235,.88)!important
}
.bag-btn span,.category-cart-btn span{font-size:9px!important}
.admin-access-btn,.header-actions .admin{opacity:.82!important}

/* Reusable micro labels */
.eyebrow{font-size:10px!important;line-height:1.4!important;letter-spacing:.15em!important;opacity:1!important}
.badge,.type-filter{font-size:9px!important;line-height:1.25!important}
.primary-btn,.secondary-btn,.text-link,.quick-add,.product-add,.box-primary,.box-secondary,.box-submit{
  font-size:11px!important;line-height:1.35!important
}

/* Homepage hero */
body.home-page .hero-copy>p{
  font-size:14px!important;line-height:1.8!important;color:rgba(248,242,235,.84)!important
}
body.home-page .hero .eyebrow{color:#dbc4e4!important}
body.home-page .hero .text-link{color:rgba(248,242,235,.90)!important}
body.home-page .hero-proof{opacity:1!important}
body.home-page .hero-proof span,.hero-proof span{
  font-size:10.5px!important;line-height:1.4!important;color:rgba(248,242,235,.84)!important
}
body.home-page .hero-card small{font-size:10px!important;color:rgba(255,255,255,.76)!important;opacity:1!important}
body.home-page .hero-card span{font-size:12px!important}
.incantation-strip div{font-size:10px!important;line-height:1.4!important;opacity:1!important}

/* Product cards + collections */
.filter{font-size:11px!important}
.product-meta p,body[data-type] .product-meta p{
  font-size:12px!important;line-height:1.55!important;color:rgba(33,25,33,.72)!important;opacity:1!important
}
.product-meta strong,body[data-type] .product-meta strong{font-size:13px!important;line-height:1.3!important}
body[data-type] .product-add{font-size:10.5px!important}
.collection-folder-copy p{font-size:12px!important;line-height:1.6!important;color:rgba(33,25,33,.72)!important}
.empty,.empty-cart{font-size:12px!important;line-height:1.6!important;opacity:.78!important}

/* Category pages */
body[data-type] .hero-copy p,.custom-page .hero-copy p{
  font-size:14px!important;line-height:1.75!important;color:rgba(248,242,235,.84)!important
}
body[data-type] .hero-label,.custom-page .hero-label{font-size:10.5px!important}
body[data-type] .hero-label span,.custom-page .hero-label span{color:rgba(255,255,255,.78)!important}
.category-switch a{font-size:11px!important;line-height:1.3!important;color:rgba(33,25,33,.80)!important}
.category-switch a.active{color:#fff!important}

/* Trust / reassurance */
.features span,.v7-trust-strip span{
  font-size:11px!important;line-height:1.55!important;color:rgba(33,25,33,.72)!important;opacity:1!important
}
.v7-trust-strip strong{font-size:12px!important}

/* Homepage secondary editorial sections */
.mystery-box-home-copy p,.mystery-box-home-copy li{
  font-size:13px!important;line-height:1.7!important;color:rgba(248,242,235,.82)!important
}
.mystery-home-price span{font-size:10px!important;opacity:.78!important}
.custom-order-copy>p,.category-banner-copy p,.bookmark-feature-copy p,.story-copy p,.rd-copy p,.home-selection-copy{
  font-size:13px!important;line-height:1.75!important;color:rgba(33,25,33,.74)!important;opacity:1!important
}
.faq summary{font-size:13px!important;line-height:1.45!important}
.faq details p{font-size:13px!important;line-height:1.7!important;color:rgba(33,25,33,.72)!important}

/* Personalisation / direct-message UI */
.custom-overlay-copy span,.custom-price span,.custom-examples>span{font-size:10.5px!important;opacity:.78!important}
.custom-price small{font-size:11px!important;opacity:.72!important}
.custom-examples button{font-size:10.5px!important}
.dm-header strong{font-size:13px!important}
.dm-header small{font-size:10.5px!important;opacity:.78!important}
.dm-raven{font-size:10px!important}
.bubble{font-size:12px!important;line-height:1.65!important}
.dm-form input[type="text"],.dm-form textarea{font-size:14px!important;line-height:1.55!important}
.reference-field,.copy-request{font-size:11.5px!important}
.reference-field small{font-size:10.5px!important;opacity:.72!important}
.reference-field input{font-size:12px!important}
.dm-note{font-size:10.5px!important;line-height:1.55!important;opacity:.72!important}
.prepared-message p{font-size:12px!important;line-height:1.6!important}
.prepared-actions button,.prepared-actions a{font-size:10.5px!important}

/* Dedicated Box Mystère page */
.box-month{font-size:10px!important;line-height:1.3!important;color:#e4cbea!important}
.box-hero-copy>p{font-size:14px!important;line-height:1.75!important;color:rgba(248,242,235,.84)!important}
.box-price-row span,.box-availability{font-size:10px!important;line-height:1.45!important;color:rgba(248,242,235,.78)!important;opacity:1!important}
.box-edition-stamp span{font-size:9.5px!important;line-height:1.3!important}
.box-section-head p,.box-reservation-copy p{
  font-size:13px!important;line-height:1.75!important;color:rgba(33,25,33,.72)!important;opacity:1!important
}
.box-content-grid article>span{font-size:10px!important;opacity:.72!important}
.box-content-grid p{font-size:12px!important;line-height:1.65!important;opacity:1!important;color:rgba(33,25,33,.72)!important}
.box-how-steps p{font-size:12px!important;line-height:1.65!important;color:rgba(248,242,235,.78)!important}
.reservation-summary span{font-size:11.5px!important}
.box-reservation-copy small{font-size:10.5px!important;line-height:1.55!important;opacity:.72!important}
.box-form label{font-size:10.5px!important;line-height:1.35!important;color:rgba(33,25,33,.78)!important}
.box-form-status{font-size:11px!important;line-height:1.5!important}

/* Cart drawer */
.cart-line{font-size:12px!important;line-height:1.5!important}
.cart-line-main>span{font-size:11px!important;opacity:.78!important}
.cart-qty b{font-size:11px!important}
.cart-footer small{font-size:10.5px!important;line-height:1.45!important;opacity:.72!important}
.cart-checkout-link{font-size:11.5px!important}

/* Newsletter — includes and supersedes V7.1.3 visibility fix */
.newsletter .eyebrow,.newsletter p{color:rgba(248,242,235,.84)!important}
.newsletter p{font-size:13px!important;line-height:1.65!important}
.newsletter form{
  display:flex!important;align-items:stretch!important;max-width:660px!important;min-height:58px!important;
  margin:34px auto 0!important;padding:5px!important;border:1px solid rgba(255,255,255,.32)!important;
  border-radius:18px!important;background:rgba(255,255,255,.12)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.06)!important;overflow:hidden!important
}
.newsletter input[type="email"]{
  flex:1 1 auto!important;min-width:0!important;min-height:48px!important;padding:0 18px!important;border:0!important;
  border-radius:13px 0 0 13px!important;background:rgba(255,255,255,.075)!important;color:#fff!important;
  font-size:15px!important;font-weight:500!important;letter-spacing:.01em!important;outline:none!important;box-shadow:none!important
}
.newsletter input[type="email"]::placeholder{color:rgba(255,255,255,.76)!important;opacity:1!important}
.newsletter input[type="email"]:focus{background:rgba(255,255,255,.13)!important;box-shadow:inset 0 0 0 1px rgba(199,160,214,.62)!important}
.newsletter button[type="submit"]{
  flex:0 0 auto!important;min-height:48px!important;padding:0 22px!important;border:0!important;border-radius:0 13px 13px 0!important;
  background:#f2e9df!important;color:#1a111c!important;font-size:12px!important;font-weight:750!important;letter-spacing:.01em!important
}
.newsletter button[type="submit"]:hover{background:#fff8f0!important}
.newsletter button[type="submit"]:focus-visible,.newsletter input[type="email"]:focus-visible{outline:2px solid #c9a4d7!important;outline-offset:2px!important}

/* Footer */
footer p,.signature-footer p{
  font-size:11px!important;line-height:1.65!important;color:rgba(248,242,235,.72)!important;opacity:1!important
}
footer .footer-links,footer .footer-links a,.signature-footer a{
  font-size:11px!important;line-height:1.45!important;color:rgba(248,242,235,.78)!important
}
footer .footer-brand small{font-size:9.5px!important;color:rgba(255,255,255,.72)!important;opacity:1!important}
footer .footer-bottom,.signature-footer .sf-bottom{
  font-size:10.5px!important;line-height:1.5!important;color:rgba(248,242,235,.64)!important
}
.signature-footer .sf-bottom span:last-child{font-size:10.5px!important;color:rgba(248,242,235,.80)!important}

/* Checkout */
body[data-cart-drawer="off"] .demo-banner{font-size:10px!important;line-height:1.4!important}
.checkout-brand strong{font-size:13px!important}.checkout-brand small{font-size:9px!important;opacity:1!important;color:rgba(33,25,33,.70)!important}
.secure-mark b{font-size:11px!important}.secure-mark small{font-size:9.5px!important;opacity:1!important;color:rgba(33,25,33,.68)!important}
.checkout-heading p{font-size:13px!important;line-height:1.75!important;color:rgba(33,25,33,.72)!important}
body[data-cart-drawer="off"] label{font-size:10.5px!important;line-height:1.35!important;color:rgba(33,25,33,.80)!important}
body[data-cart-drawer="off"] label small{font-size:10px!important;opacity:.72!important;color:rgba(33,25,33,.70)!important}
.delivery-placeholder b{font-size:11.5px!important}.delivery-placeholder small{font-size:10px!important;opacity:.72!important}
.payment-choice-title b{font-size:12px!important}.payment-choice-title small{font-size:9.5px!important}
.payment-lock,.payment-warning{font-size:10.5px!important;line-height:1.5!important;opacity:.78!important}
.consent{font-size:11px!important;line-height:1.55!important}
.checkout-footnote{font-size:10.5px!important;line-height:1.5!important;opacity:.72!important}
.order-panel-head a{font-size:10.5px!important;opacity:.80!important}
.checkout-item small{font-size:10.5px!important;opacity:.75!important}.checkout-item>span{font-size:11px!important}
.checkout-empty{font-size:12px!important;opacity:.72!important}.order-totals>div{font-size:12px!important}
.trust-grid span{font-size:10.5px!important}.trust-grid small{font-size:9.5px!important;opacity:.72!important}
.rd-credit{font-size:10px!important;opacity:.72!important}
.success-dialog p{font-size:13px!important;line-height:1.65!important;opacity:.80!important}.fake-reference{font-size:11px!important}.success-dialog>a{font-size:11px!important}

/* Mobile: preserve readability rather than shrinking microcopy */
@media(max-width:760px){
  body{font-size:14px!important}
  .announcement,.category-announcement{font-size:9px!important;line-height:1.35!important;letter-spacing:.10em!important}
  .site-header .brand strong,.top .brand strong{font-size:11.5px!important}
  .site-header .brand small,.top .brand small{font-size:8px!important;line-height:1.3!important;letter-spacing:.09em!important}
  .bag-btn,.category-cart-btn{font-size:10.5px!important}
  body.home-page .hero-copy>p,body[data-type] .hero-copy p,.custom-page .hero-copy p,.box-hero-copy>p{font-size:13px!important}
  body[data-type] .product-meta p{font-size:12px!important}
  body[data-type] .product-meta strong{font-size:13px!important}
  body[data-type] .product-add{font-size:10.5px!important}
  .category-switch a{font-size:10.5px!important}
  .category-mobile-nav b,.mobile-bottom-nav b{font-size:9px!important;line-height:1.2!important}
  .category-mobile-nav .mobile-cart-entry i,.mobile-bottom-nav i{font-size:9px!important}
  .newsletter form{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:7px!important;border-radius:18px!important}
  .newsletter input[type="email"],.newsletter button[type="submit"]{width:100%!important;border-radius:12px!important}
  .newsletter input[type="email"]{background:rgba(255,255,255,.10)!important}
  .signature-footer p,.signature-footer a{font-size:11px!important}
  .signature-footer .sf-bottom,.signature-footer .sf-bottom span:last-child{font-size:10px!important}
  body[data-cart-drawer="off"] .demo-banner{font-size:9px!important}
  .checkout-brand strong{font-size:11px!important}.checkout-brand small{font-size:8px!important}
  .secure-mark b{font-size:10px!important}.secure-mark small{font-size:9px!important}
}


/* V7.1.7 — correctif contraste section Atelier / Story */
.story{
  color:#171118!important;
  background:rgba(252,249,245,.82)!important;
}
.story .eyebrow{
  color:rgba(58,38,63,.72)!important;
  opacity:1!important;
}
.story-copy h2{
  color:#221828!important;
  text-shadow:none!important;
}
.story-copy>p{
  color:rgba(33,25,33,.82)!important;
}
.story .features{
  border-top:1px solid rgba(23,17,24,.10)!important;
}
.story .features div{
  color:#2a1f2d!important;
}
.story .features b{
  color:#b48ac2!important;
}
.story .features span{
  color:rgba(33,25,33,.82)!important;
}
.story .image-sigil{
  background:rgba(23,17,24,.18)!important;
  border-color:rgba(255,255,255,.42)!important;
}
@media(max-width:900px){
  .story-copy h2{font-size:44px!important;line-height:.98!important}
}
@media(max-width:620px){
  .story-copy h2{font-size:38px!important;line-height:1.02!important}
  .story .features span{font-size:12px!important;line-height:1.5!important}
}
