/* =========================================================
   Toile & Coton — thème enfant de Hummingbird
   Charte : Écru #F3EDE3 · Indigo #2E4057 · Terracotta #BF6B4F · Olive #6B705C · Encre #1B1B19
   Titres : Fraunces · Textes : Inter
   ========================================================= */

@font-face{font-family:"Fraunces";font-style:normal;font-weight:100 900;font-display:swap;
  src:url("../fonts/fraunces-latin-wght-normal.woff2") format("woff2");}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:100 900;font-display:swap;
  src:url("../fonts/fraunces-latin-wght-italic.woff2") format("woff2");}

:root{
  --tc-ecru:#F3EDE3; --tc-ecru-2:#EAE2D4; --tc-paper:#FAF7F1;
  --tc-indigo:#2E4057; --tc-indigo-d:#22313F;
  --tc-terra:#BF6B4F; --tc-terra-d:#A4553A;   /* -d : version texte, contraste AA sur écru */
  --tc-olive:#6B705C; --tc-encre:#1B1B19;
  --tc-display:"Fraunces",Georgia,"Times New Roman",serif;
  --tc-line:rgba(27,27,25,.14);

  --bs-body-bg:#F3EDE3; --bs-body-bg-rgb:243,237,227;
  --bs-body-color:#1B1B19; --bs-body-color-rgb:27,27,25;
  --bs-emphasis-color:#1B1B19; --bs-emphasis-color-rgb:27,27,25;
  --bs-heading-color:#1B1B19;
  --bs-secondary-color:rgba(27,27,25,.72); --bs-secondary-color-rgb:27,27,25;
  --bs-secondary-bg:#EAE2D4; --bs-secondary-bg-rgb:234,226,212;
  --bs-tertiary-bg:#EAE2D4; --bs-tertiary-bg-rgb:234,226,212;
  --bs-primary:#2E4057; --bs-primary-rgb:46,64,87;
  --bs-primary-bg-subtle:#DCE2E9; --bs-primary-border-subtle:#AEBBCA; --bs-primary-text-emphasis:#1D2938;
  --bs-link-color:#A4553A; --bs-link-color-rgb:164,85,58;
  --bs-link-hover-color:#2E4057; --bs-link-hover-color-rgb:46,64,87;
  --bs-border-color:rgba(27,27,25,.14);
  --bs-border-radius:.25rem; --bs-border-radius-lg:.4rem; --bs-border-radius-sm:.2rem;
  --bs-focus-ring-color:rgba(191,107,79,.35);
}

/* ---------- Base ---------- */
body{background:var(--tc-ecru);color:var(--tc-encre);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11";}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--tc-display);font-weight:500;letter-spacing:-.012em;color:var(--tc-encre);}
h1,.h1{font-weight:450;letter-spacing:-.02em;}
a{text-underline-offset:.18em;}
::selection{background:var(--tc-terra);color:#fff;}
.tc-eyebrow{font:600 .72rem/1 "Inter",sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--tc-terra-d);margin:0 0 1.1rem;}

/* ---------- Boutons ---------- */
.btn{border-radius:.2rem;font-weight:600;letter-spacing:.02em;}
.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#2E4057;--bs-btn-border-color:#2E4057;
  --bs-btn-hover-color:#fff;--bs-btn-hover-bg:#A4553A;--bs-btn-hover-border-color:#A4553A;
  --bs-btn-focus-shadow-rgb:191,107,79;--bs-btn-active-color:#fff;--bs-btn-active-bg:#8F4631;--bs-btn-active-border-color:#8F4631;
  --bs-btn-disabled-bg:#2E4057;--bs-btn-disabled-border-color:#2E4057;}
.btn-outline-primary{--bs-btn-color:#2E4057;--bs-btn-border-color:#2E4057;
  --bs-btn-hover-color:#fff;--bs-btn-hover-bg:#2E4057;--bs-btn-hover-border-color:#2E4057;
  --bs-btn-active-bg:#22313F;--bs-btn-active-border-color:#22313F;--bs-btn-focus-shadow-rgb:46,64,87;}
.btn-link{--bs-btn-color:#A4553A;--bs-btn-hover-color:#2E4057;--bs-btn-focus-shadow-rgb:191,107,79;}
.form-control:focus,.form-select:focus,.form-check-input:focus{border-color:#BF6B4F;box-shadow:0 0 0 .22rem rgba(191,107,79,.25);}
.form-check-input:checked,.form-check-input[type=checkbox]:indeterminate{background-color:#2E4057;border-color:#2E4057;}
.form-control,.form-select{background-color:var(--tc-paper);border-color:var(--tc-line);}
.dropdown-menu{--bs-dropdown-link-active-bg:#2E4057;--bs-dropdown-bg:var(--tc-paper);}
.list-group{--bs-list-group-active-bg:#2E4057;--bs-list-group-active-border-color:#2E4057;}
.nav-pills{--bs-nav-pills-link-active-bg:#2E4057;}
.progress,.progress-stacked{--bs-progress-bar-bg:#2E4057;}
.page-item.active .page-link{background:#2E4057;border-color:#2E4057;}
.tc-link{color:var(--tc-encre);font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--tc-terra);padding-bottom:.15rem;}
.tc-link:hover{color:var(--tc-terra-d);}

/* ---------- En-tête ---------- */
.header{background:var(--tc-ecru);}
.header-top{background:var(--tc-indigo);color:var(--tc-ecru);font-size:.8rem;letter-spacing:.02em;}
.header-top a,.header-top .header-block,.header-top .header-block *,.header-top .ps-contactinfo *{color:var(--tc-ecru);}
.header-top a:hover{color:#fff;text-decoration:underline;}
.header-bottom{background:var(--tc-ecru);border-bottom:1px solid var(--tc-line);}
.header-bottom__logo img,.header-bottom__h1 img{height:46px;width:auto;max-width:none;}
.header-bottom__h1{line-height:0;}
@media (max-width:767.98px){.header-bottom__logo img,.header-bottom__h1 img{height:34px;}}
.ps-mainmenu__desktop a{font-weight:500;letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;color:var(--tc-encre);text-decoration:none;}
.ps-mainmenu__desktop ul{flex-wrap:nowrap;}
.ps-mainmenu__desktop a{white-space:nowrap;}
@media (min-width:1200px) and (max-width:1399.98px){.ps-mainmenu__desktop a{font-size:.74rem;letter-spacing:.03em;}}
.ps-mainmenu__desktop a:hover{color:var(--tc-terra-d);}
.ps-searchbar input,.ps-searchbar .form-control{background:var(--tc-paper);}

/* ---------- Accueil : hero ---------- */
.page-content--home{padding-top:0;}
.tc-hero{padding:clamp(2rem,5vw,4.5rem) 0 clamp(2rem,4vw,3.5rem);}
.tc-hero__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(1.5rem,5vw,4.5rem);align-items:center;}
.tc-hero__title{font-size:clamp(2.4rem,5.4vw,4.4rem);line-height:1.02;font-weight:450;letter-spacing:-.025em;margin:0 0 1.4rem;}
.tc-hero__title em{font-style:italic;color:var(--tc-terra);font-weight:400;}
.tc-hero__lead{font-size:1.08rem;line-height:1.65;max-width:34rem;color:rgba(27,27,25,.8);margin-bottom:2rem;}
.tc-hero__actions{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;}
.tc-hero__media{position:relative;}
.tc-hero__media img{width:100%;height:auto;display:block;border-radius:.35rem;box-shadow:0 30px 60px -30px rgba(27,27,25,.45);}
.tc-hero__tag{position:absolute;left:-1.2rem;bottom:1.6rem;background:var(--tc-paper);color:var(--tc-encre);font:500 1.1rem/1 var(--tc-display);padding:.8rem 1rem;border-radius:.2rem;box-shadow:0 10px 24px -12px rgba(27,27,25,.4);}
@media (max-width:991.98px){.tc-hero__grid{grid-template-columns:1fr}.tc-hero__tag{left:.8rem}}

/* ---------- Accueil : piliers ---------- */
.tc-pillars{background:var(--tc-indigo);color:var(--tc-ecru);padding:clamp(2rem,4vw,3.2rem) 0;}
.tc-pillars__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 3rem;}
.tc-pillars__list li{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;align-items:start;}
.tc-pillars__list svg{grid-row:span 2;color:var(--tc-terra);margin-top:.15rem;}
.tc-pillars__list h3{font-size:1.2rem;color:var(--tc-ecru);margin:0 0 .35rem;}
.tc-pillars__list p{margin:0;font-size:.92rem;line-height:1.55;color:rgba(243,237,227,.78);}
@media (max-width:767.98px){.tc-pillars__list{grid-template-columns:1fr}}

/* ---------- Accueil : histoire ---------- */
.tc-story{padding:clamp(2.5rem,6vw,5.5rem) 0;}
.tc-story__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(1.5rem,5vw,4.5rem);align-items:center;}
.tc-story__media img{width:100%;height:auto;display:block;border-radius:.35rem;}
.tc-story__text h2{font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.1;margin-bottom:1.2rem;}
.tc-story__text p:not(.tc-eyebrow){line-height:1.7;color:rgba(27,27,25,.8);margin-bottom:1.8rem;max-width:32rem;}
@media (max-width:991.98px){.tc-story__grid{grid-template-columns:1fr}}

/* ---------- Titres de sections modules (nouveautés, sélection…) ---------- */
.page-content--home section h2,.featured-products h2,.ps-featuredproducts__title{font-family:var(--tc-display);}

/* ---------- Pied de page ---------- */
.footer__before{background:var(--tc-indigo);color:var(--tc-ecru);--bs-secondary-color:rgba(243,237,227,.82);--bs-body-color:#F3EDE3;}
.footer__before .ps-emailsubscription{--bs-tertiary-bg-rgb:46,64,87;color:var(--tc-ecru);}
.footer__before h2,.footer__before h3,.footer__before .h3,.footer__before p,.footer__before label,.footer__before small{color:var(--tc-ecru);}
.footer__before a{color:var(--tc-ecru);text-decoration:underline;}
.footer__before .btn-primary{--bs-btn-bg:#BF6B4F;--bs-btn-border-color:#BF6B4F;--bs-btn-hover-bg:#A4553A;--bs-btn-hover-border-color:#A4553A;--bs-btn-color:#1B1B19;--bs-btn-hover-color:#fff;}
.footer__main{background:var(--tc-encre);color:rgba(243,237,227,.82);border-top:0;}
.footer__main .container::before{content:"";display:block;width:230px;height:62px;margin:0 0 2.2rem;
  background:url("../img/logo-wordmark-light.png") left center/contain no-repeat;}
.footer__main .footer-block__title,.footer__main h2,.footer__main h3,.footer__main h4{font-family:var(--tc-display);font-weight:500;font-size:1.1rem;color:var(--tc-ecru);}
.footer__main a{color:rgba(243,237,227,.85);text-decoration:none;}
.footer__main a:hover{color:#E3987F;text-decoration:underline;}
.footer__main address,.footer__main .ps-contactinfo__infos{color:rgba(243,237,227,.82);}
.copyright{border-top:1px solid rgba(243,237,227,.14);color:rgba(243,237,227,.7);font-size:.85rem;display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;justify-content:space-between;align-items:center;padding-top:1.4rem;}
.copyright a{color:rgba(243,237,227,.85)!important;text-decoration:none;margin-left:1.2rem;}
.copyright a:first-child{margin-left:0;}
.copyright a:hover{color:#E3987F!important;text-decoration:underline;}

/* ---------- Fiches produits & listings (ajusté après contrôle visuel) ---------- */
.product-miniature img,.product-miniature picture img{mix-blend-mode:multiply;}
.price,.product-miniature__price,.current-price{font-weight:600;color:var(--tc-encre);}
.regular-price{color:rgba(27,27,25,.55);}
.badge.bg-primary,.product-flag{background:var(--tc-terra)!important;color:#fff;}
.breadcrumb a{color:rgba(27,27,25,.7);text-decoration:none;}

/* ---------- Accessibilité ---------- */
:focus-visible{outline:2px solid var(--tc-terra);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important;}}

/* ---------- Pages légales / FAQ ---------- */
.tc-todo{background:rgba(191,107,79,.2);color:#8F4631;padding:0 .25em;border-radius:.2rem;font-weight:600;}
.tc-legal-note{border-left:3px solid var(--tc-terra);background:var(--tc-paper);padding:.9rem 1.1rem;margin:0 0 1.6rem;font-size:.92rem;border-radius:0 .25rem .25rem 0;}
.page-cms .page-content,.cms-content,.page-content--cms{max-width:56rem;}
.page-content h2{font-size:1.35rem;margin:2.2rem 0 .7rem;}
.page-content h3{font-size:1.08rem;margin:1.4rem 0 .5rem;}
.page-content ul,.page-content ol{padding-left:1.3rem;}
.page-content li{margin-bottom:.4rem;}
.tc-table{width:100%;border-collapse:collapse;margin:1rem 0 1.4rem;font-size:.94rem;background:var(--tc-paper);}
.tc-table th,.tc-table td{border:1px solid var(--tc-line);padding:.6rem .8rem;text-align:left;vertical-align:top;}
.tc-table thead th{background:var(--tc-ecru-2);font-family:var(--tc-display);font-weight:500;}
.tc-faq{border-bottom:1px solid var(--tc-line);}
.tc-faq__q{cursor:pointer;margin:0!important;padding:1rem 2rem 1rem 0;font-family:var(--tc-display);font-size:1.08rem!important;font-weight:500;position:relative;}
.tc-faq__q::after{content:"+";position:absolute;right:.2rem;top:.55rem;font-size:1.5rem;line-height:1;color:var(--tc-terra);transition:transform .2s;}
.tc-faq.is-open .tc-faq__q::after{transform:rotate(45deg);}
.js .tc-faq__a{display:none;}
.js .tc-faq.is-open .tc-faq__a{display:block;}
.tc-faq__a p{margin:0 0 1rem;color:rgba(27,27,25,.82);line-height:1.65;}

/* ---------- Etoiles des avis (terracotta) ---------- */
.star-content .star-on,.grade-stars .star-on{background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath fill=%22%23BF6B4F%22 d=%22M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z%22/%3E%3C/svg%3E") center/contain no-repeat;}
.star-content .star-off,.grade-stars .star-off{background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath fill=%22none%22 stroke=%22%23BF6B4F%22 stroke-opacity=%22.5%22 stroke-width=%221.6%22 stroke-linejoin=%22round%22 d=%22M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z%22/%3E%3C/svg%3E") center/contain no-repeat;}

/* ---------- Cartes produits : survol ---------- */
.product-miniature__image-container{overflow:hidden;border-radius:.35rem;}
.product-miniature__image{transition:transform .7s cubic-bezier(.2,.7,.2,1);}
.product-miniature:hover .product-miniature__image{transform:scale(1.045);}
.product-miniature__inner{transition:transform .3s ease;}
.product-miniature:hover .product-miniature__inner{transform:translateY(-3px);}
.product-miniature__title a{color:var(--tc-encre);text-decoration:none;}
.product-miniature__title a:hover{color:var(--tc-terra-d);text-decoration:underline;text-underline-offset:.2em;}

/* ---------- Apparition progressive ---------- */
.js .tc-reveal{opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);}
.js .tc-reveal.is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.js .tc-reveal{opacity:1;transform:none;transition:none;}}

/* ---------- Accueil : avis clients ---------- */
.tc-reviews{padding:clamp(2.5rem,6vw,5rem) 0;background:var(--tc-ecru-2);}
.tc-reviews__head{text-align:center;margin-bottom:2.2rem;}
.tc-reviews__head h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:0 0 .6rem;}
.tc-reviews__score{margin:0;color:rgba(27,27,25,.75);font-size:.95rem;}
.tc-reviews__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;}
.tc-review{background:var(--tc-paper);padding:1.6rem;border-radius:.4rem;margin:0;box-shadow:0 18px 40px -28px rgba(27,27,25,.5);display:flex;flex-direction:column;}
.tc-stars{color:var(--tc-terra);letter-spacing:.14em;font-size:1.05rem;}
.tc-review blockquote{margin:.9rem 0 1.1rem;font-family:var(--tc-display);font-size:1.08rem;line-height:1.5;flex:1;}
.tc-review figcaption{font-size:.85rem;color:rgba(27,27,25,.72);}
.tc-review figcaption a{color:var(--tc-encre);text-decoration:underline;text-decoration-color:var(--tc-terra);text-underline-offset:.2em;}
@media (max-width:991.98px){.tc-reviews__grid{grid-template-columns:1fr;}}

/* ---------- Mobile : l arbre des categories est deja dans le menu burger ---------- */
@media (max-width:767.98px){.ps-categorytree.category-tree{display:none;}}
