/*
Theme Name: Boutique Tchin
Theme URI: https://woo.tchin.tech
Author: Wintg
Author URI: https://tchin.tech
Description: La boutique de démonstration de Tchin pour WooCommerce, au design de Tchin : encre, crème, orange, Slabo 27px.
Requires at least: 6.6
Requires PHP: 7.4
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: tchin-boutique
*/

/* Tout en rem : la même allure sur chaque écran. */
:root { --encre: #161616; --creme: #FDF6EC; --lin: #F4EDE4; --sable: #EADFD0; --orange: #E17A21; --brun: #6E5846; --rayon: 1.5rem; }
body { -webkit-font-smoothing: antialiased; }
.tb-haut, .tb-haut *, .tb-principal, .tb-principal *, .tb-bas, .tb-bas *, .tb-principal *::before, .tb-principal *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
.tb-principal { margin-top: 0 !important; padding-bottom: 4rem; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* ------------------------------------------------------------------ l'en-tête */
.tb-haut { position: sticky; top: 0; z-index: 100; background: rgba(253, 246, 236, .94); backdrop-filter: blur(.75rem); -webkit-backdrop-filter: blur(.75rem); border-bottom: .0625rem solid rgba(22, 22, 22, .06); }
.admin-bar .tb-haut { top: 2rem; }
.tb-bandeau { background: var(--encre); color: rgba(253, 246, 236, .78); }
.tb-bandeau p { max-width: 84rem; margin: 0 auto; padding: .55rem 1.25rem; font-size: .8rem; text-align: center; }
.tb-bandeau a { color: #FDBA74; text-decoration: none; white-space: nowrap; }
.tb-bandeau a:hover { color: #FFFFFF; }
.tb-bandeau__pastille { display: inline-block; margin-right: .5rem; padding: .1rem .6rem; border-radius: 100rem; background: rgba(225, 122, 33, .22); color: #FDBA74; }
.tb-entete { max-width: 84rem; margin: 0 auto !important; padding: .85rem 1.25rem; gap: 1.5rem; }
.tb-marque { display: inline-flex; align-items: center; gap: .6rem; color: var(--encre); text-decoration: none; font-size: 1.25rem; white-space: nowrap; }
.tb-marque img { width: 2.25rem; height: auto; }
.tb-marque b { font-weight: 400; color: var(--orange); }
.tb-menu { font-size: .95rem; }
.tb-menu .wp-block-navigation-item__content { padding: .4rem .2rem; color: var(--encre); text-decoration: none; }
.tb-menu .wp-block-navigation-item__content:hover { color: var(--orange); }
.tb-menu .wp-block-navigation__container { gap: 1.6rem; }
.tb-entete__actions { gap: .4rem; }
.tb-entete__actions .wc-block-mini-cart__button, .tb-entete__actions .wc-block-customer-account a { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; padding: 0; border-radius: 50%; color: var(--encre); background: transparent; }
.tb-entete__actions .wc-block-mini-cart__button:hover, .tb-entete__actions .wc-block-customer-account a:hover { background: var(--lin); }
.tb-entete__actions .wc-block-mini-cart__badge { background: var(--orange) !important; color: var(--encre) !important; border: 0; }

/* ------------------------------------------------------------------ les boutons et petits éléments */
.tb-boutons { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.tb-bouton { display: inline-flex; align-items: center; justify-content: center; min-height: 3.1rem; padding: .8rem 1.7rem; border-radius: 100rem; font-size: 1rem; line-height: 1; text-decoration: none; transition: background-color .15s, color .15s, transform .15s; }
.tb-bouton:active { transform: scale(.98); }
.tb-bouton--orange { background: var(--orange); color: var(--encre); }
.tb-bouton--orange:hover { background: #F08A2E; color: var(--encre); }
.tb-bouton--contour { box-shadow: inset 0 0 0 .0625rem rgba(253, 246, 236, .35); color: var(--creme); }
.tb-bouton--contour:hover { background: rgba(253, 246, 236, .08); color: #FFFFFF; }
.tb-sur { margin: 0; color: #FDBA74; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; }
.tb-lien { color: var(--brun); text-decoration: none; font-size: .95rem; white-space: nowrap; }
.tb-lien:hover { color: var(--orange); }
.tb-reseaux { display: inline-flex; align-items: center; margin-top: 2rem; }
.tb-reseaux img { width: 2rem; height: 2rem; margin-left: -.45rem; border: .15rem solid var(--creme); border-radius: 50%; object-fit: cover; background: #FFFFFF; }
.tb-reseaux img:first-child { margin-left: 0; }
.tb-reseaux--sombre img { border-color: var(--encre); }

/* ------------------------------------------------------------------ la tête de l'accueil */
.tb-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 2rem; align-items: center; max-width: 84rem; margin: 1.25rem auto 0; padding: 4.5rem 4rem; overflow: hidden; border-radius: 2.25rem; background: var(--encre); color: var(--creme); isolation: isolate; }
.tb-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: url('assets/images/motif.svg') 0 0 / 34% auto repeat; opacity: .045; }
.tb-hero h1 { margin: 1.1rem 0 0; color: var(--creme); font-size: clamp(2.6rem, 5.4vw, 4.9rem); line-height: 1.02; }
.tb-hero__chapeau { max-width: 32rem; margin: 1.4rem 0 0; color: rgba(253, 246, 236, .66); font-size: 1.1rem; }
.tb-hero__vitrine { position: relative; height: 30rem; }
.tb-hero__carte { position: absolute; display: block; width: 52%; overflow: hidden; border-radius: 1.5rem; background: var(--lin); color: var(--encre); text-decoration: none; box-shadow: 0 1.5rem 3rem -1.75rem rgba(0, 0, 0, .7); transition: transform .25s; }
.tb-hero__carte:hover { transform: translateY(-.35rem); }
.tb-hero__carte img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.tb-hero__carte span { position: absolute; left: .75rem; right: .75rem; bottom: .75rem; display: flex; justify-content: space-between; gap: .5rem; padding: .55rem .85rem; border-radius: 100rem; background: rgba(255, 255, 255, .92); font-size: .82rem; }
.tb-hero__carte b { font-weight: 400; color: var(--brun); white-space: nowrap; }
.tb-hero__carte--1 { top: 0; left: 4%; transform: rotate(-4deg); }
.tb-hero__carte--2 { top: 10%; right: 0; width: 46%; transform: rotate(5deg); }
.tb-hero__carte--3 { bottom: 0; left: 26%; width: 44%; transform: rotate(-1deg); }
.tb-hero__carte--1:hover { transform: rotate(-4deg) translateY(-.35rem); }
.tb-hero__carte--2:hover { transform: rotate(5deg) translateY(-.35rem); }
.tb-hero__carte--3:hover { transform: rotate(-1deg) translateY(-.35rem); }
.tb-hero__recu { position: absolute; right: 2%; bottom: 8%; z-index: 2; display: grid; justify-items: center; gap: .2rem; width: 12.5rem; padding: 1.1rem 1rem; border-radius: 1.25rem; background: #FFFFFF; color: var(--encre); text-align: center; box-shadow: 0 1.5rem 3rem -1.5rem rgba(0, 0, 0, .75); }
.tb-hero__coche { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: #16A34A; color: #FFFFFF; font-size: 1.2rem; box-shadow: 0 0 0 .35rem #DCFCE7; }
.tb-hero__recu p { margin: .55rem 0 0; font-size: .95rem; }
.tb-hero__recu b { font-weight: 400; font-size: 1.35rem; }
.tb-hero__recu em { color: var(--orange); font-size: .75rem; font-style: normal; }
.tb-hero__recu small { display: flex; align-items: center; gap: .3rem; margin-top: .35rem; color: rgba(22, 22, 22, .45); font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; }
.tb-hero__recu small img { width: 3.2rem; }

/* ------------------------------------------------------------------ les sections */
.tb-section { max-width: 84rem; margin: 4.5rem auto 0 !important; padding: 0 1.25rem; }
.tb-section--serre { margin-bottom: 0 !important; }
.tb-section--serre + .tb-section { margin-top: 1.5rem !important; }
.tb-section__tete { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.tb-section__tete h2 { margin: 0; }

.tb-rayons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.tb-rayon { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 42%; align-items: center; min-height: 13rem; padding: 1.75rem; overflow: hidden; border-radius: var(--rayon); background: var(--lin); color: var(--encre); text-decoration: none; transition: background-color .2s; }
.tb-rayon:hover { background: var(--sable); color: var(--encre); }
.tb-rayon__texte { position: relative; z-index: 1; display: grid; gap: .45rem; }
.tb-rayon__texte b { font-weight: 400; font-size: 1.5rem; }
.tb-rayon__texte span { color: var(--brun); font-size: .9rem; }
.tb-rayon__texte i { margin-top: .5rem; font-style: normal; font-size: .9rem; }
.tb-rayon img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 1.1rem; transition: transform .3s; }
.tb-rayon:hover img { transform: scale(1.04) rotate(-2deg); }

/* Les produits (les grilles de WooCommerce : accueil, boutique, rayons, produits liés) */
.woocommerce ul.products, .tb-produits ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.75rem 1.25rem; margin: 0 !important; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { position: relative; display: flex; flex-direction: column; width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; text-align: left; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; color: var(--encre); text-decoration: none; }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 1; margin: 0 0 .9rem !important; object-fit: cover; border-radius: var(--rayon); background: var(--lin); transition: transform .3s; }
.woocommerce ul.products li.product:hover a img { transform: translateY(-.25rem); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 !important; padding: 0 !important; font-size: 1.05rem !important; font-weight: 400; }
.woocommerce ul.products li.product .price { display: block; margin: .25rem 0 0 !important; color: var(--brun) !important; font-size: .95rem !important; }
.woocommerce ul.products li.product .price del { opacity: .55; margin-right: .35rem; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--encre); }
.woocommerce ul.products li.product .button { align-self: flex-start; margin-top: .85rem !important; padding: .6rem 1.2rem !important; border-radius: 100rem !important; background: var(--encre) !important; color: var(--creme) !important; font-size: .85rem !important; font-weight: 400 !important; line-height: 1.2 !important; }
.woocommerce ul.products li.product .button:hover { background: #000 !important; }
.woocommerce ul.products li.product .added_to_cart { margin-top: .5rem; color: var(--brun); font-size: .85rem; }
.woocommerce span.onsale { top: .75rem !important; left: .75rem !important; right: auto !important; min-width: 0 !important; min-height: 0 !important; margin: 0 !important; padding: .3rem .75rem !important; border-radius: 100rem !important; background: var(--orange) !important; color: var(--encre) !important; font-size: .78rem !important; font-weight: 400 !important; line-height: 1.2 !important; }

/* Comment on paie */
.tb-etapes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.tb-etapes li { display: grid; align-content: start; gap: .55rem; margin: 0; padding: 1.75rem; border: .0625rem solid var(--sable); border-radius: var(--rayon); background: #FFFFFF; }
.tb-etapes__n { color: var(--orange); font-size: .9rem; letter-spacing: .1em; }
.tb-etapes b { font-weight: 400; font-size: 1.3rem; }
.tb-etapes li > span:last-child { color: var(--brun); font-size: .95rem; }
.tb-astuce { margin-top: 1.25rem; padding: 1.1rem 1.5rem; border-radius: 1.25rem; background: #FEF3C7; color: #78350F; }
.tb-astuce p { margin: 0; font-size: .95rem; }
.tb-astuce b { font-weight: 400; color: #451A03; }

/* Pour les marchands */
.tb-marchands { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2.5rem; max-width: 84rem; margin: 4.5rem auto 0; padding: 3.5rem 4rem; border-radius: 2.25rem; background: var(--encre); color: var(--creme); }
.tb-marchands h2 { margin: .9rem 0 0; color: var(--creme); }
.tb-marchands__texte > p:not(.tb-sur) { margin: 1.1rem 0 0; color: rgba(253, 246, 236, .66); font-size: 1.05rem; }
.tb-marchands__points { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.tb-marchands__points li { display: grid; gap: .2rem; margin: 0; padding: 1.1rem 1.25rem; border-radius: 1.25rem; background: rgba(253, 246, 236, .06); }
.tb-marchands__points b { font-weight: 400; font-size: 1.05rem; }
.tb-marchands__points span { color: rgba(253, 246, 236, .6); font-size: .9rem; }

/* ------------------------------------------------------------------ le pied de page */
.tb-bas { margin-top: 0; }
.tb-pied { max-width: 84rem; margin: 2rem auto 1.25rem; padding: 3rem 3rem 1.5rem; border-radius: 2.25rem; background: var(--encre); color: rgba(253, 246, 236, .7); }
.tb-pied__haut { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 2fr); gap: 2.5rem; }
.tb-pied__marque > img { width: 7.5rem; }
.tb-pied__marque p { max-width: 22rem; margin: 1rem 0 0; font-size: .9rem; }
.tb-pied__marque .tb-reseaux { margin-top: 1.25rem; }
.tb-pied__colonnes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.tb-pied__colonnes div { display: grid; align-content: start; gap: .55rem; }
.tb-pied__titre { margin: 0 0 .25rem; color: var(--creme); font-size: .95rem; }
.tb-pied a { color: rgba(253, 246, 236, .7); text-decoration: none; font-size: .9rem; }
.tb-pied a:hover { color: #FDBA74; }
.tb-pied__bas { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-top: 2.5rem; padding-top: 1.25rem; border-top: .0625rem solid rgba(253, 246, 236, .1); font-size: .8rem; }
.tb-pied__securise { display: inline-flex; align-items: center; gap: .5rem; letter-spacing: .1em; text-transform: uppercase; font-size: .7rem; }
.tb-pied__securise img { width: 4.5rem; }

/* ------------------------------------------------------------------ les pages (panier, caisse, compte) */
.tb-page { padding-top: 2.5rem; }
.tb-page__titre { margin: 0 0 1.5rem; }
.tb-page .wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { border-radius: 100rem !important; background: var(--encre) !important; color: var(--creme) !important; }
.wc-block-components-checkout-place-order-button:hover, .wc-block-cart__submit-button:hover { background: #000 !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select__select, .wc-block-components-textarea { border-radius: .9rem !important; border-color: #E5D9CA !important; background: #FFFFFF !important; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-radius: 1rem !important; }
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted { background: #FFFFFF; }
.wc-block-components-sidebar .wc-block-components-panel, .wp-block-woocommerce-checkout-order-summary-block { border-radius: var(--rayon) !important; border-color: var(--sable) !important; background: #FFFFFF; }
.wc-block-components-product-name { color: var(--encre) !important; }

/* ------------------------------------------------------------------ la boutique et les rayons (catalogue) */
.tb-catalogue, .tb-fiche { max-width: 84rem; margin-left: auto !important; margin-right: auto !important; padding: 0 1.25rem 4rem !important; }
.tb-catalogue .woocommerce-breadcrumb, .tb-fiche .woocommerce-breadcrumb, .tb-catalogue .woocommerce-products-header { padding-left: 0 !important; padding-right: 0 !important; }
.wcfm_catalog_enquiry_button_wrapper { display: none !important; } /* la question au vendeur de WCFM : pas dans la démonstration */
.tb-catalogue .woocommerce, .tb-fiche .woocommerce { max-width: 84rem; margin: 0 auto; padding: 0 1.25rem; }
.tb-catalogue .woocommerce-breadcrumb, .tb-fiche .woocommerce-breadcrumb { max-width: 84rem; margin: 2rem auto .5rem !important; padding: 0 1.25rem; color: var(--brun) !important; font-size: .85rem !important; }
.tb-catalogue .woocommerce-breadcrumb a, .tb-fiche .woocommerce-breadcrumb a { color: var(--brun) !important; text-decoration: none; }
.tb-catalogue .woocommerce-products-header { max-width: 84rem; margin: 0 auto; padding: 1.75rem 1.25rem 0; }
.tb-catalogue .woocommerce-products-header__title { margin: 0; font-size: clamp(2.2rem, 4.5vw, 3.6rem); }
.tb-catalogue .term-description { max-width: 40rem; color: var(--brun); }
.tb-catalogue .woocommerce-result-count { margin: 1.75rem 0 1.5rem !important; color: var(--brun); font-size: .9rem; }
.tb-catalogue .woocommerce-ordering { margin: 1.25rem 0 1.5rem !important; }
.tb-catalogue .woocommerce-ordering select { padding: .55rem 2.2rem .55rem 1rem; border: .0625rem solid #E5D9CA; border-radius: 100rem; background-color: #FFFFFF; font: inherit; font-size: .9rem; }
.tb-catalogue .woocommerce-pagination ul { display: inline-flex; gap: .4rem; border: 0 !important; }
.tb-catalogue .woocommerce-pagination ul li { border: 0 !important; }
.tb-catalogue .woocommerce-pagination a, .tb-catalogue .woocommerce-pagination span { display: grid; place-items: center; min-width: 2.5rem; height: 2.5rem; border-radius: 100rem; background: var(--lin); }
.tb-catalogue .woocommerce-pagination span.current { background: var(--encre) !important; color: var(--creme) !important; }

/* ------------------------------------------------------------------ la fiche d'un produit */
.tb-fiche div.product { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 2.5rem 3.5rem; margin-top: 1rem; }
.tb-fiche div.product .woocommerce-product-gallery, .tb-fiche div.product .summary { float: none !important; width: auto !important; margin: 0 !important; }
.tb-fiche div.product .woocommerce-product-gallery__wrapper img { border-radius: 2rem; background: var(--lin); }
.tb-fiche div.product .woocommerce-product-gallery .flex-control-thumbs { display: flex; gap: .6rem; margin-top: .75rem; }
.tb-fiche div.product .woocommerce-product-gallery .flex-control-thumbs li { width: 5rem !important; }
.tb-fiche div.product .woocommerce-product-gallery .flex-control-thumbs img { border-radius: 1rem; }
.tb-fiche div.product .woocommerce-product-gallery__trigger { top: 1rem !important; right: 1rem !important; border-radius: 50%; background: #FFFFFF; }
.tb-fiche div.product .summary { align-self: start; }
.tb-fiche div.product .product_title { margin: 0; font-size: clamp(2.2rem, 4vw, 3.4rem); }
.tb-fiche div.product p.price { margin: .75rem 0 0 !important; color: var(--encre) !important; font-size: 1.6rem !important; }
.tb-fiche div.product p.price del { color: var(--brun); font-size: 1.1rem; opacity: .6; }
.tb-fiche div.product p.price ins { text-decoration: none; }
.tb-fiche div.product .woocommerce-product-details__short-description { margin-top: 1rem; color: var(--brun); font-size: 1.05rem; }
.tb-fiche div.product form.cart { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.75rem 0 0 !important; }
.tb-fiche div.product form.cart .quantity input { width: 5rem; height: 3.1rem; border: .0625rem solid #E5D9CA; border-radius: 100rem; background: #FFFFFF; font: inherit; text-align: center; }
.tb-fiche div.product form.cart .single_add_to_cart_button { flex: 1; min-height: 3.1rem; padding: .85rem 1.75rem !important; border-radius: 100rem !important; background: var(--encre) !important; color: var(--creme) !important; font-size: 1rem !important; font-weight: 400 !important; }
.tb-fiche div.product form.cart .single_add_to_cart_button:hover { background: #000 !important; }
.tb-fiche div.product .product_meta { margin-top: 1.5rem; color: var(--brun); font-size: .85rem; }
.tb-fiche div.product .product_meta a { color: var(--brun); }
.tb-encart { margin-top: 1.5rem; padding: 1.1rem 1.25rem; border-radius: 1.25rem; background: #FFFFFF; border: .0625rem solid var(--sable); }
.tb-encart__titre { margin: 0 !important; font-size: 1rem; }
.tb-encart__texte { margin: .3rem 0 0 !important; color: var(--brun); font-size: .88rem; }
.tb-encart .tb-reseaux { margin-top: .85rem; }
.tb-fiche div.product .woocommerce-tabs { grid-column: 1 / -1; padding: 0 !important; }
.tb-fiche div.product .woocommerce-tabs ul.tabs { display: flex; gap: .5rem; margin: 0 0 1rem !important; padding: 0 !important; }
.tb-fiche div.product .woocommerce-tabs ul.tabs::before, .tb-fiche div.product .woocommerce-tabs ul.tabs li::before, .tb-fiche div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.tb-fiche div.product .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 100rem !important; background: var(--lin) !important; }
.tb-fiche div.product .woocommerce-tabs ul.tabs li a { padding: .55rem 1.2rem !important; color: var(--encre) !important; font-weight: 400 !important; }
.tb-fiche div.product .woocommerce-tabs ul.tabs li.active { background: var(--encre) !important; }
.tb-fiche div.product .woocommerce-tabs ul.tabs li.active a { color: var(--creme) !important; }
.tb-fiche div.product .woocommerce-tabs .panel { max-width: 48rem; color: var(--brun); }
.tb-fiche div.product .woocommerce-tabs .panel h2 { display: none; }
.tb-fiche div.product .related { grid-column: 1 / -1; margin-top: 2rem; }
.tb-fiche div.product .related > h2 { margin: 0 0 1.5rem; }

/* Les messages de WooCommerce (ajouté au panier…) */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { border: 0 !important; border-radius: 1.25rem !important; background: #FFFFFF !important; color: var(--encre) !important; box-shadow: inset 0 0 0 .0625rem var(--sable); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--orange) !important; }
.woocommerce-message .button { border-radius: 100rem !important; background: var(--encre) !important; color: var(--creme) !important; font-weight: 400 !important; }

/* ------------------------------------------------------------------ téléphone et tablette */
@media (max-width: 1100px) {
	.woocommerce ul.products, .tb-produits ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.tb-hero { padding: 3.5rem 2.5rem; }
	.tb-marchands { padding: 3rem 2.5rem; }
}
@media (max-width: 900px) {
	.tb-hero { grid-template-columns: minmax(0, 1fr); border-radius: 1.75rem; }
	.tb-hero__vitrine { height: 24rem; }
	.tb-rayons, .tb-etapes { grid-template-columns: minmax(0, 1fr); }
	.tb-marchands { grid-template-columns: minmax(0, 1fr); border-radius: 1.75rem; }
	.tb-fiche div.product { grid-template-columns: minmax(0, 1fr); }
	.tb-fiche div.product .summary { position: static; }
	.tb-pied__haut { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
	.tb-bandeau p { font-size: .72rem; }
	.tb-bandeau a { display: block; margin-top: .15rem; }
	.tb-entete { padding: .7rem 1rem; gap: .75rem; }
	.tb-marque { font-size: 1.1rem; }
	.tb-hero { margin: .75rem .75rem 0; padding: 2.5rem 1.4rem 1.5rem; }
	.tb-hero__vitrine { height: 19rem; }
	.tb-hero__recu { width: 10.5rem; padding: .85rem .75rem; }
	.tb-section { margin-top: 3rem !important; padding: 0 1rem; }
	.woocommerce ul.products, .tb-produits ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem .85rem; }
	.tb-rayon { min-height: 10rem; padding: 1.25rem; }
	.tb-marchands { margin: 3rem .75rem 0; padding: 2.25rem 1.4rem; }
	.tb-pied { margin: 2rem .75rem .75rem; padding: 2.25rem 1.4rem 1.25rem; border-radius: 1.75rem; }
	.tb-pied__colonnes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.admin-bar .tb-haut { top: 0; }
}

/* La page « Carte cadeau » : le bouton Tchin hors de la caisse */
.tb-cadeau__intro { max-width: 40rem; margin: 0 auto 1.5rem !important; color: var(--brun, #6E5846); font-size: 1.05rem; text-align: center; }
.tb-page .tchin-bouton { max-width: 30rem; }
.tb-cadeau__note { max-width: 40rem; margin: 1.5rem auto 0 !important; color: var(--brun, #6E5846); font-size: .9rem; text-align: center; }
.tb-cadeau__note code { padding: .1rem .4rem; border-radius: .4rem; background: #F4EDE4; font-size: .8rem; overflow-wrap: anywhere; }
