/*
 * Lona Commerce — vitrine et tunnel de commande.
 *
 * Tout passe par les variables --lc-* (voir Frontend\Assets) : la palette et les
 * typographies de Lona Chocolat se changent sans toucher à ce fichier. Les
 * widgets Elementor surchargent ces mêmes règles depuis leurs réglages.
 */

/* ------------------------------------------------------------------ Base */
.lc-shop,.lc-single,.lc-checkout,.lc-cart,.lc-confirmation,.lc-pay{color:var(--lc-ink);font-family:var(--lc-font-body);}
.lc-shop *,.lc-single *{box-sizing:border-box;}
.lc-empty{color:var(--lc-muted);padding:28px 0;font-style:italic;}
.lc-muted{color:var(--lc-muted);}
.lc-hint{color:var(--lc-muted);font-size:13px;margin:8px 0 0;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.lc-shop :focus-visible,.lc-single :focus-visible,.lc-checkout :focus-visible{outline:2px solid var(--lc-accent);outline-offset:2px;}

/* --------------------------------------------------------------- Boutons */
.lc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1.5px solid var(--lc-accent);cursor:pointer;font-family:inherit;font-weight:600;font-size:15px;letter-spacing:.02em;line-height:1.2;padding:12px 22px;border-radius:var(--lc-radius-sm);background:var(--lc-accent);color:#fff;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s,transform .12s;}
.lc-btn:hover,.lc-btn:focus-visible{background:var(--lc-accent-hover);border-color:var(--lc-accent-hover);color:#fff;}
.lc-btn:active{transform:translateY(1px);}
.lc-btn[disabled],.lc-btn.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none;}
.lc-btn--small{padding:8px 14px;font-size:14px;}
.lc-btn--lg{padding:15px 32px;font-size:16px;}
.lc-btn--block{width:100%;}
.lc-btn--outline,.lc-btn--ghost{background:transparent;color:var(--lc-accent);}
.lc-btn--outline:hover,.lc-btn--ghost:hover{background:var(--lc-accent);color:#fff;}
.lc-btn.is-busy{opacity:.7;cursor:progress;}
.lc-btn.is-done{background:var(--lc-ok);border-color:var(--lc-ok);}

/* ------------------------------------------------------------------ Prix */
.lc-price{font-weight:600;font-size:17px;color:var(--lc-ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
.lc-price--sale ins{text-decoration:none;color:var(--lc-sale);}
.lc-price--sale del{color:var(--lc-muted);font-weight:400;font-size:.85em;margin-right:4px;}

/* ------------------------------------------------------------ Listes */
.lc-listing{--lc-gap:28px;}
.lc-products{display:grid;grid-template-columns:repeat(var(--lc-cols,3),minmax(0,1fr));gap:var(--lc-gap);}
/* Grille de repli pour les shortcodes. Un widget Elementor règle ses colonnes par
   écran (classe lc-cols-managed) : ces règles ne doivent pas les écraser. */
@media (max-width:1024px){.lc-layout-grid .lc-products:not(.lc-cols-managed){grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));}}
@media (max-width:600px){.lc-listing{--lc-gap:16px;}.lc-layout-grid .lc-products:not(.lc-cols-managed){grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:360px){.lc-layout-grid .lc-products:not(.lc-cols-managed){grid-template-columns:1fr;}}

/* Liste : photo à gauche, texte à droite. */
.lc-layout-list{--lc-gap:18px;}
.lc-layout-list .lc-products{grid-template-columns:1fr;}
.lc-layout-list .lc-product{flex-direction:row;align-items:stretch;}
.lc-layout-list .lc-product__media{flex:0 0 clamp(120px,28%,220px);}
.lc-layout-list .lc-product__body{padding:18px 22px;}
@media (max-width:480px){.lc-layout-list .lc-product__media{flex-basis:108px;}.lc-layout-list .lc-product__body{padding:12px 14px;}}

/* Carrousel : défilement natif, aimanté, sans bibliothèque. */
.lc-layout-carousel{position:relative;}
.lc-layout-carousel .lc-products{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--lc-cols,3) - 1) * var(--lc-gap)) / var(--lc-cols,3));overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0;padding-bottom:6px;scrollbar-width:thin;scrollbar-color:var(--lc-line) transparent;}
.lc-layout-carousel .lc-product{scroll-snap-align:start;}
@media (max-width:1024px){.lc-layout-carousel .lc-products:not(.lc-cols-managed){grid-auto-columns:42%;}}
@media (max-width:600px){.lc-layout-carousel .lc-products:not(.lc-cols-managed){grid-auto-columns:72%;}}
.lc-carousel-nav{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;}
.lc-carousel-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--lc-line);background:var(--lc-paper);color:var(--lc-ink);font-size:18px;cursor:pointer;transition:border-color .2s,background-color .2s,color .2s;}
.lc-carousel-btn:hover{border-color:var(--lc-accent);background:var(--lc-accent);color:#fff;}
.lc-carousel-btn[disabled]{opacity:.35;cursor:default;}

.lc-more{display:flex;justify-content:center;margin-top:36px;}
.lc-pagination{margin-top:36px;display:flex;justify-content:center;}
.lc-pagination .page-numbers{display:inline-flex;min-width:40px;height:40px;align-items:center;justify-content:center;margin:0 3px;border:1px solid var(--lc-line);border-radius:var(--lc-radius-sm);color:var(--lc-ink);text-decoration:none;}
.lc-pagination .page-numbers.current{background:var(--lc-ink);border-color:var(--lc-ink);color:var(--lc-cream);}

/* ----------------------------------------------------------- Carte produit */
.lc-product{position:relative;display:flex;flex-direction:column;background:var(--lc-paper);border:1px solid var(--lc-line);border-radius:var(--lc-radius);overflow:hidden;transition:box-shadow .3s ease,transform .3s ease,border-color .3s ease;}
/* Les effets de survol passent par des variables : un widget les règle sans
   écraser la règle « mouvement réduit » plus bas. */
.lc-product:hover{border-color:color-mix(in srgb,var(--lc-caramel) 45%,var(--lc-line));box-shadow:0 22px 40px -28px rgba(36,23,19,.45);transform:var(--lc-lift,translateY(-2px));}
.lc-product__media{position:relative;display:block;aspect-ratio:var(--lc-ratio,1/1);background:var(--lc-cream);overflow:hidden;}
.lc-product__img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1);}
.lc-product:hover .lc-product__img{transform:var(--lc-zoom,scale(1.04));}
.lc-product__placeholder,.lc-cat__placeholder{display:block;width:100%;height:100%;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--lc-caramel) 18%,transparent) 0 18%,transparent 19%),linear-gradient(160deg,var(--lc-cream),color-mix(in srgb,var(--lc-cream) 70%,var(--lc-line)));}
.lc-product__body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px;flex:1;}
.lc-product__eyebrow{margin:0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--lc-accent);}
.lc-product__title{margin:0;font-family:var(--lc-font-display);font-weight:500;font-size:clamp(17px,1.35vw,21px);line-height:1.25;}
.lc-product__title a{color:var(--lc-ink);text-decoration:none;background-image:linear-gradient(var(--lc-caramel),var(--lc-caramel));background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .3s;}
.lc-product__title a:hover{background-size:100% 1px;}
/* Les thèmes soulignent souvent les liens du contenu (Astra le fait) : on reprend
   la main par la spécificité, sans !important, pour rester surchargeable. */
.lc-shop .lc-product .lc-product__title a,
.lc-shop .lc-cats a.lc-cat{text-decoration:none;}
/* Tous les boutons en lien, où qu'ils soient (panier, mini-panier, « Voir plus »…) : 0,3,1. */
a.lc-btn.lc-btn.lc-btn{text-decoration:none;}
/* Liens de texte du panier et de la commande : couleur de la marque, pas le bleu du thème. */
.lc-cart.lc-cart a:not(.lc-btn),
.lc-checkout.lc-checkout a:not(.lc-btn),
.lc-confirmation.lc-confirmation a:not(.lc-btn){color:var(--lc-accent);text-decoration-color:color-mix(in srgb,var(--lc-accent) 45%,transparent);text-underline-offset:3px;}
.lc-cart.lc-cart a:not(.lc-btn):hover,
.lc-checkout.lc-checkout a:not(.lc-btn):hover,
.lc-confirmation.lc-confirmation a:not(.lc-btn):hover{color:var(--lc-cocoa);text-decoration-color:currentColor;}
/* Les noms des créations du panier restent à l'encre (même spécificité, déclarés après). */
.lc-cart.lc-cart .lc-cart-name a{color:var(--lc-ink);}
.lc-cart.lc-cart .lc-cart-name a:hover{color:var(--lc-accent);}
/* Toute la carte est cliquable, sans dupliquer le lien pour les lecteurs d'écran. */
.lc-product__title a::after{content:"";position:absolute;inset:0;z-index:1;}
.lc-product__desc{margin:0;color:var(--lc-muted);font-size:14px;line-height:1.5;}
.lc-product__foot{margin-top:auto;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.lc-product__foot .lc-btn{position:relative;z-index:2;}
.lc-product__feedback{margin:0;font-size:13px;color:var(--lc-ok);min-height:0;}
.lc-product__feedback:empty{display:none;}
.lc-product.is-out .lc-product__img{filter:grayscale(.35);opacity:.8;}
@media (max-width:600px){.lc-product__body{padding:12px 12px 14px;}.lc-product__desc{display:none;}.lc-product__foot .lc-btn{width:100%;}}

/* ----------------------------------------------------------------- Badges */
.lc-badges{position:absolute;top:12px;left:12px;right:12px;z-index:2;display:flex;flex-wrap:wrap;gap:6px;pointer-events:none;}
.lc-badge{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1;padding:6px 10px;border-radius:999px;background:var(--lc-paper);color:var(--lc-ink);box-shadow:0 2px 8px -4px rgba(36,23,19,.35);}
.lc-badge--new{background:var(--lc-gold);color:var(--lc-ink);}
.lc-badge--sale{background:var(--lc-sale);color:#fff;}
.lc-badge--out{background:var(--lc-ink);color:var(--lc-cream);margin-left:auto;}
.lc-badge--low{background:var(--lc-paper);color:var(--lc-warn);margin-left:auto;}

/* ---------------------------------------------------------------- Barre */
.lc-toolbar{display:flex;flex-direction:column;gap:14px;margin:0 0 28px;padding:0 0 20px;border-bottom:1px solid var(--lc-line);}
.lc-toolbar__count{margin:0;font-family:var(--lc-font-display);font-size:19px;color:var(--lc-ink);}
.lc-toolbar__fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;}
.lc-toolbar__field{display:flex;flex-direction:column;gap:4px;margin:0;border:0;padding:0;min-width:0;}
.lc-toolbar__label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--lc-muted);padding:0;}
.lc-toolbar input[type=search],.lc-toolbar input[type=number],.lc-toolbar select{height:42px;padding:0 12px;border:1px solid var(--lc-line);border-radius:var(--lc-radius-sm);background:var(--lc-paper);color:var(--lc-ink);font:inherit;font-size:15px;}
.lc-toolbar input:focus,.lc-toolbar select:focus{outline:none;border-color:var(--lc-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--lc-accent) 18%,transparent);}
.lc-toolbar__field--search{flex:1 1 220px;}
.lc-toolbar__field--search input{width:100%;}
.lc-toolbar__price{flex-direction:row;align-items:center;gap:6px;flex-wrap:wrap;}
.lc-toolbar__price legend{width:100%;margin-bottom:4px;}
.lc-toolbar__price input{width:78px;}
.lc-toolbar__unit{color:var(--lc-muted);}
.lc-toolbar__check{display:inline-flex;align-items:center;gap:8px;height:42px;font-size:15px;cursor:pointer;}
.lc-toolbar__check input{width:18px;height:18px;accent-color:var(--lc-accent);}
.lc-toolbar__actions{display:flex;align-items:center;gap:14px;}
.lc-toolbar__actions .lc-btn{height:42px;}
.lc-toolbar__reset{color:var(--lc-muted);font-size:14px;}
.lc-toolbar__reset:hover{color:var(--lc-accent);}
.lc-listing.is-loading .lc-products{opacity:.55;transition:opacity .2s;}

/* Widget « Filtres » : en ligne au-dessus d'une liste, ou empilé dans une colonne. */
.lc-filters .lc-toolbar{margin:0;}
.lc-filters--stacked .lc-toolbar{border-bottom:0;padding:0;}
.lc-filters--stacked .lc-toolbar__fields{flex-direction:column;align-items:stretch;}
.lc-filters--stacked .lc-toolbar__field--search{flex:0 0 auto;}
.lc-filters--stacked .lc-toolbar__field select{width:100%;}

/* -------------------------------------------------------------- Recherche */
.lc-search{display:flex;gap:8px;align-items:stretch;margin:0;}
/* 16 px : en dessous, iOS agrandit la page à la saisie. */
.lc-search__input{flex:1 1 auto;min-width:0;height:46px;padding:0 14px;border:1px solid var(--lc-line);border-radius:var(--lc-radius-sm);background:var(--lc-paper);color:var(--lc-ink);font:inherit;font-size:16px;}
.lc-search__input:focus{outline:none;border-color:var(--lc-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--lc-accent) 18%,transparent);}
.lc-search .lc-btn{flex:0 0 auto;}

/* ------------------------------------------------------------ Catégories */
.lc-categories{margin:0 0 40px;}
.lc-cats{display:grid;grid-template-columns:repeat(var(--lc-cols,3),minmax(0,1fr));gap:24px;}
@media (max-width:1024px){.lc-cats:not(.lc-cols-managed){grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));}}
@media (max-width:600px){.lc-cats{gap:14px;}.lc-cats:not(.lc-cols-managed){grid-template-columns:repeat(2,minmax(0,1fr));}}
.lc-cat{position:relative;display:flex;flex-direction:column;text-decoration:none;color:var(--lc-ink);border-radius:var(--lc-radius);overflow:hidden;background:var(--lc-cream);isolation:isolate;}
.lc-cat__media{display:block;aspect-ratio:var(--lc-ratio,1/1);overflow:hidden;}
.lc-cat__img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);}
.lc-cat:hover .lc-cat__img{transform:var(--lc-zoom,scale(1.05));}
.lc-cat__body{display:flex;flex-direction:column;gap:2px;padding:14px 16px 16px;}
.lc-cat__name{margin:0;font-family:var(--lc-font-display);font-weight:500;font-size:clamp(18px,1.5vw,22px);line-height:1.2;color:var(--lc-ink);}
.lc-cat__count{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--lc-accent);}
.lc-cat__desc{font-size:14px;color:var(--lc-muted);margin-top:4px;}
/* Catégories en texte (réglage « Photos des catégories » désactivé). */
.lc-cats--text .lc-cat{background:var(--lc-paper);border:1px solid var(--lc-line);transition:border-color .2s,box-shadow .2s;}
.lc-cats--text .lc-cat:hover{border-color:var(--lc-caramel);box-shadow:0 14px 30px -24px rgba(36,23,19,.45);}
.lc-cats--text .lc-cat__body{padding:20px 22px;gap:4px;}

/* ---------------------------------------------------------- Fiche produit */
.lc-single{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);margin:0 0 32px;}
@media (max-width:820px){.lc-single{grid-template-columns:1fr;gap:24px;}}
.lc-main-image{border-radius:var(--lc-radius);overflow:hidden;background:var(--lc-cream);}
.lc-main-image img{display:block;width:100%;height:auto;}
.lc-gallery{--lc-thumb-size:72px;--lc-thumb-gap:10px;}
.lc-thumbs{display:flex;gap:var(--lc-thumb-gap);margin-top:12px;flex-wrap:wrap;}
/* Vignettes à gauche ; repassent dessous sur mobile. */
.lc-gallery--left{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--lc-thumb-gap);align-items:start;}
.lc-gallery--left .lc-main-image{order:2;}
.lc-gallery--left .lc-thumbs{order:1;flex-direction:column;flex-wrap:nowrap;margin-top:0;}
@media (max-width:600px){.lc-gallery--left{display:block;}.lc-gallery--left .lc-thumbs{flex-direction:row;flex-wrap:wrap;margin-top:12px;}}
.lc-thumb-btn{padding:0;border:1.5px solid var(--lc-line);border-radius:var(--lc-radius-sm);background:var(--lc-cream);cursor:pointer;overflow:hidden;line-height:0;transition:border-color .2s;}
.lc-thumb-btn img{display:block;width:var(--lc-thumb-size);height:var(--lc-thumb-size);object-fit:cover;}
.lc-thumb-btn:hover,.lc-thumb-btn.is-active{border-color:var(--lc-accent);}
.lc-single-lead{font-family:var(--lc-font-display);font-size:clamp(18px,1.6vw,21px);line-height:1.5;color:var(--lc-cocoa);margin:0 0 16px;}
.lc-price-box{margin:0 0 20px;}
.lc-price-box .lc-price{font-size:clamp(24px,2.2vw,30px);}
.lc-variations-choice{border:0;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:10px;}
.lc-variations-choice legend{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--lc-muted);margin-bottom:10px;width:100%;padding:0;}
.lc-variation-option{position:relative;display:inline-flex;flex-direction:column;gap:2px;border:1.5px solid var(--lc-line);border-radius:var(--lc-radius-sm);padding:10px 16px;cursor:pointer;background:var(--lc-paper);transition:border-color .15s,background-color .15s;}
.lc-variation-option:has(input:checked){border-color:var(--lc-accent);background:color-mix(in srgb,var(--lc-accent) 7%,var(--lc-paper));}
.lc-variation-option:has(input:focus-visible){outline:2px solid var(--lc-accent);outline-offset:2px;}
.lc-variation-option.is-out{opacity:.45;cursor:not-allowed;}
.lc-variation-option input{position:absolute;opacity:0;width:0;height:0;}
.lc-variation-label{font-weight:600;}
.lc-variation-price{color:var(--lc-muted);font-size:14px;}
.lc-buy-row{display:flex;gap:12px;align-items:stretch;margin:6px 0 14px;}
.lc-qty input{width:74px;height:100%;min-height:48px;padding:0 10px;border:1.5px solid var(--lc-line);border-radius:var(--lc-radius-sm);font-size:16px;text-align:center;color:var(--lc-ink);}
.lc-add-to-cart{flex:1;min-height:48px;}
.lc-availability{font-size:14px;font-weight:600;margin:0 0 6px;}
.lc-availability--in{color:var(--lc-ok);}
.lc-availability--low{color:var(--lc-warn);}
.lc-availability--out{color:var(--lc-sale);}
.lc-sku{color:var(--lc-muted);font-size:13px;margin:0 0 8px;}
.lc-feedback{font-size:14px;margin:4px 0 0;min-height:1em;}
.lc-feedback.is-info{color:var(--lc-ok);}
.lc-single-desc{margin-top:26px;padding-top:22px;border-top:1px solid var(--lc-line);line-height:1.75;}
.lc-availability--choose{color:var(--lc-muted);font-weight:500;}
.lc-sku[hidden],.lc-meta__row[hidden]{display:none;}

/* Informations : référence, catégories, poids. */
.lc-product-meta{list-style:none;margin:14px 0 0;padding:0;font-size:14px;}
.lc-meta__row{padding:3px 0;}
.lc-meta__label{color:var(--lc-muted);}
.lc-meta__label::after{content:" :";}
.lc-meta__value a{color:var(--lc-accent);}
.lc-meta-layout-inline .lc-product-meta{display:flex;flex-wrap:wrap;gap:4px 22px;}

/* ----------------------------------------------------- Pages boutique */
.lc-page{padding-block:clamp(20px,3vw,40px) clamp(32px,5vw,64px);}
.lc-page-header{margin:0 0 clamp(20px,3vw,32px);}
.lc-page-title,.lc-product-title{margin:0 0 8px;font-family:var(--lc-font-display);font-weight:500;font-size:clamp(28px,3.4vw,44px);line-height:1.15;color:var(--lc-ink);}
.lc-page-count{margin:0;color:var(--lc-muted);font-size:14px;letter-spacing:.04em;}
.lc-archive-description{max-width:72ch;color:var(--lc-cocoa);line-height:1.7;}
.lc-archive-description p:last-child{margin-bottom:0;}
.lc-archive-image{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;border-radius:var(--lc-radius);margin:0 0 18px;}
.lc-section-title{margin:0 0 18px;font-family:var(--lc-font-display);font-weight:500;font-size:clamp(22px,2.4vw,30px);color:var(--lc-ink);}
.lc-related{margin-top:clamp(36px,5vw,64px);padding-top:clamp(24px,3vw,36px);border-top:1px solid var(--lc-line);}
.lc-page .lc-categories{margin-bottom:clamp(24px,3vw,40px);}

/* Fil d'Ariane. */
.lc-breadcrumb{margin:0 0 18px;font-size:14px;color:var(--lc-muted);}
.lc-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;row-gap:4px;margin:0;padding:0;list-style:none;}
.lc-breadcrumb__item{display:inline-flex;align-items:center;}
.lc-breadcrumb a{color:var(--lc-muted);text-decoration:none;}
.lc-breadcrumb a:hover,.lc-breadcrumb a:focus-visible{color:var(--lc-accent);text-decoration:underline;}
.lc-breadcrumb [aria-current]{color:var(--lc-ink);}
.lc-breadcrumb__sep{margin:0 8px;color:var(--lc-caramel);}

/* Dans un modèle Elementor, l'espacement entre briques est celui du conteneur
   (20 px par défaut) : les marges propres à la fiche intégrée s'y ajoutaient. */
.elementor-widget-lc_breadcrumb .lc-breadcrumb,
.elementor-widget-lc_product_title .lc-product-title,
.elementor-widget-lc_archive_title .lc-page-title,
.elementor-widget-lc_product_short_description .lc-single-lead,
.elementor-widget-lc_product_price .lc-price-box,
.elementor-widget-lc_product_stock .lc-availability,
.elementor-widget-lc_product_meta .lc-product-meta,
.elementor-widget-lc_product_add_to_cart .lc-buy-row,
.elementor-widget-lc_archive_description .lc-archive-description > :last-child{margin-top:0;margin-bottom:0;}
.elementor-widget-lc_archive_title .lc-page-count{margin-top:6px;}
.elementor-widget-lc_product_add_to_cart .lc-feedback{margin-top:10px;min-height:0;}
.elementor-widget-lc_product_add_to_cart .lc-feedback:empty{display:none;}

/* Visible seulement dans l'éditeur Elementor. */
.lc-builder-note{margin:0;padding:12px 14px;border:1px dashed var(--lc-line);border-radius:var(--lc-radius-sm);color:var(--lc-muted);font-size:13px;font-style:italic;}

/* ------------------------------------------------------------ Mini-panier */
.lc-minicart{position:relative;display:inline-block;}
.lc-minicart-toggle{background:none;border:0;cursor:pointer;position:relative;color:var(--lc-ink);padding:10px;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;}
.lc-minicart-count{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--lc-accent);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;}
.lc-minicart-count.is-empty{background:var(--lc-line);color:var(--lc-muted);}
.lc-minicart-panel{position:absolute;right:0;top:100%;margin-top:10px;width:320px;max-width:86vw;background:var(--lc-paper);border:1px solid var(--lc-line);border-radius:var(--lc-radius);box-shadow:0 22px 44px -22px rgba(36,23,19,.45);padding:14px;z-index:9999;}
.lc-mini-empty{color:var(--lc-muted);margin:6px 0;text-align:center;}
.lc-mini-list{list-style:none;margin:0;padding:0;max-height:280px;overflow:auto;}
.lc-mini-item{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--lc-line);}
.lc-mini-item img{border-radius:var(--lc-radius-sm);}
.lc-mini-name{font-size:14px;font-weight:600;}
.lc-mini-qty{font-size:13px;color:var(--lc-muted);white-space:nowrap;}
.lc-minicart-foot{margin-top:12px;display:flex;flex-direction:column;gap:10px;}
.lc-minicart-total{display:flex;justify-content:space-between;font-size:15px;}

/* ------------------------------------------------------------ Page panier */
.lc-cart-table{width:100%;border-collapse:collapse;margin-bottom:22px;}
.lc-cart-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--lc-muted);border-bottom:1px solid var(--lc-line);padding:8px;}
.lc-cart-table td{padding:12px 8px;border-bottom:1px solid var(--lc-line);vertical-align:middle;}
.lc-cart-thumb img{border-radius:var(--lc-radius-sm);}
.lc-cart-noimg{display:block;width:64px;height:64px;border-radius:var(--lc-radius-sm);background:var(--lc-cream);}
/* Astra souligne les liens et étire les champs à toute la cellule (334 px mesurés) :
   on reprend la main par la spécificité, sans !important. */
.lc-cart table.lc-cart-table .lc-cart-name a{text-decoration:none;}
.lc-cart table.lc-cart-table .lc-cart-name a:hover{color:var(--lc-accent);}
.lc-cart table.lc-cart-table input.lc-cart-qty{width:72px;max-width:100%;}
/* Astra encadre tableaux et boutons : filets verticaux et cadre autour du « × ». */
.lc-cart table.lc-cart-table,.lc-cart table.lc-cart-table th,.lc-cart table.lc-cart-table td{border-top:0;border-left:0;border-right:0;}
.lc-cart table.lc-cart-table button.lc-cart-remove{background:none;border:0;box-shadow:none;padding:0 8px;color:var(--lc-sale);}
.lc-cart table.lc-cart-table button.lc-cart-remove:hover,.lc-cart table.lc-cart-table button.lc-cart-remove:focus-visible{color:var(--lc-ink);}
.lc-cart-name a{color:var(--lc-ink);text-decoration:none;font-weight:600;}
.lc-cart-variant{display:block;color:var(--lc-muted);font-size:13px;}
.lc-cart-qty{width:64px;padding:8px;border:1.5px solid var(--lc-line);border-radius:var(--lc-radius-sm);text-align:center;}
.lc-cart-remove{border:0;background:none;color:var(--lc-sale);font-size:20px;cursor:pointer;line-height:1;}
.lc-cart-summary{display:flex;flex-direction:column;align-items:flex-end;gap:12px;}
.lc-cart-totals{min-width:260px;}
/* Code promo (panier) et remise (panier, récapitulatif de commande). */
.lc-coupon{display:flex;flex-direction:column;gap:8px;width:min(100%,420px);margin:0 0 6px;padding:16px 18px;border:1px dashed color-mix(in srgb,var(--lc-caramel) 60%,transparent);border-radius:var(--lc-radius-sm);background:var(--lc-paper);}
.lc-coupon label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lc-muted);}
.lc-coupon__row{display:flex;flex-wrap:wrap;gap:8px;}
.lc-cart.lc-cart .lc-coupon input[type=text]{flex:1 1 160px;min-width:0;height:46px;padding:0 14px;border:1.5px solid var(--lc-line);border-radius:var(--lc-radius-sm);background:#fff;color:var(--lc-ink);font:inherit;font-size:16px;letter-spacing:.06em;text-transform:uppercase;}
.lc-cart.lc-cart .lc-coupon input[type=text]::placeholder{text-transform:none;letter-spacing:0;}
.lc-cart.lc-cart .lc-coupon input[type=text]:focus{outline:none;border-color:var(--lc-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--lc-accent) 18%,transparent);}
.lc-cart.lc-cart .lc-coupon .lc-btn{width:auto;min-height:46px;}
.lc-coupon__message{margin:0;font-size:14px;color:var(--lc-accent);}
.lc-coupon__message:empty{display:none;}
.lc-coupon__message.is-error{color:var(--lc-sale);}
.lc-cart.lc-cart .lc-coupon__remove{align-self:flex-start;min-height:44px;padding:0;border:0;background:none;box-shadow:none;color:var(--lc-muted);font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.lc-cart.lc-cart .lc-coupon__remove:hover{background:none;color:var(--lc-ink);}
.lc-row--discount strong,.lc-summary-line--discount span:last-child{color:var(--lc-accent);}
/* Annulation d'une commande depuis la relance de paiement. */
.lc-cancel-order .lc-card{max-width:640px;margin-inline:auto;}
.lc-cancel-order table.lc-cancel-summary{width:100%;margin:18px 0;border:0;border-collapse:collapse;}
.lc-cancel-order .lc-cancel-summary th,.lc-cancel-order .lc-cancel-summary td{padding:9px 0;border:0;border-bottom:1px solid var(--lc-line);background:none;text-align:left;font-weight:400;}
.lc-cancel-order .lc-cancel-summary td{text-align:right;font-weight:600;}
.lc-cancel-form{margin:20px 0 0;}
.lc-cancel-change{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:22px 0 0;padding-top:18px;border-top:1px solid var(--lc-line);}
.lc-coupon-tag{display:inline-block;padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--lc-caramel) 16%,transparent);color:var(--lc-ink);font-size:12px;font-weight:600;letter-spacing:.05em;vertical-align:1px;}
.lc-cart-totals .lc-row{display:flex;justify-content:space-between;padding:6px 0;}
.lc-cart-totals .lc-row--total{border-top:1px solid var(--lc-line);font-size:18px;padding-top:10px;}
.lc-cart-note{color:var(--lc-muted);font-size:13px;margin:6px 0 0;}
/* Mobile : le tableau à 6 colonnes mesurait 393 px et forçait le téléphone à
   dézoomer la page. Chaque article devient une ligne en grille : photo, nom et
   retrait ; prix unitaire et quantité ; total. */
@media (max-width:640px){
	.lc-cart-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
	.lc-cart-table,.lc-cart-table tbody{display:block;width:100%;}
	.lc-cart table.lc-cart-table tr{display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"thumb name remove" "thumb price qty" "thumb total total";column-gap:12px;row-gap:6px;align-items:center;padding:14px 0;border-bottom:1px solid var(--lc-line);}
	.lc-cart table.lc-cart-table td{display:block;padding:0;border:0;}
	.lc-cart-table td:nth-child(1){grid-area:thumb;align-self:start;}
	.lc-cart-table td:nth-child(2){grid-area:name;}
	.lc-cart-table td:nth-child(3){grid-area:price;color:var(--lc-muted);font-size:14px;}
	.lc-cart-table td:nth-child(4){grid-area:qty;justify-self:end;}
	.lc-cart-table td:nth-child(5){grid-area:total;justify-self:end;font-weight:600;}
	.lc-cart-table td:nth-child(6){grid-area:remove;justify-self:end;}
	.lc-cart-remove{min-width:44px;min-height:44px;}
	.lc-cart-summary{align-items:stretch;}
	.lc-cart-totals{min-width:0;}
	.lc-cart-summary .lc-btn{width:100%;}
}
/* Mobile : cibles tactiles d'au moins 44 px et petits textes à 12 px. */
@media (max-width:600px){
	.lc-btn--small{min-height:44px;}
	.lc-badge,.lc-product__eyebrow,.lc-toolbar__label{font-size:12px;}
}

/* --------------------------------------------------------------- Checkout */
.lc-checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start;}
@media (max-width:880px){.lc-checkout-grid{grid-template-columns:1fr;}}
.lc-checkout .lc-card{background:var(--lc-paper);border:1px solid var(--lc-line);border-radius:var(--lc-radius);padding:22px;margin:0 0 18px;}
.lc-checkout h2{font-family:var(--lc-font-display);font-weight:500;font-size:21px;margin:0 0 16px;}
.lc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:560px){.lc-form-row{grid-template-columns:1fr;}}
.lc-field{display:flex;flex-direction:column;gap:5px;margin:0 0 14px;}
.lc-field>span{font-weight:600;font-size:14px;}
.lc-field input,.lc-field select,.lc-field textarea{padding:12px 13px;border:1.5px solid var(--lc-line);border-radius:var(--lc-radius-sm);font-size:16px;font-family:inherit;color:var(--lc-ink);background:var(--lc-paper);}
/* Astra fixe la hauteur des champs à 40 px : avec 12 px de marge intérieure, le texte
   d'une liste déroulante était rogné (« France » coupé). Hauteur et interligne explicites. */
.lc-field.lc-field input:not([type=checkbox]):not([type=radio]),
.lc-field.lc-field select{height:48px;min-height:48px;line-height:1.3;}
.lc-field.lc-field select{padding-top:0;padding-bottom:0;}
.lc-field input:focus,.lc-field select:focus,.lc-field textarea:focus{outline:none;border-color:var(--lc-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--lc-accent) 18%,transparent);}
.lc-field--sm{max-width:160px;}
.lc-field-error{color:var(--lc-sale);font-size:13px;margin-top:3px;display:block;}
.lc-notice{border-radius:var(--lc-radius-sm);padding:12px 16px;margin:0 0 16px;font-weight:500;}
.lc-notice--error{background:color-mix(in srgb,var(--lc-sale) 8%,var(--lc-paper));border:1px solid color-mix(in srgb,var(--lc-sale) 40%,transparent);color:var(--lc-sale);}
.lc-notice--warning{background:color-mix(in srgb,var(--lc-warn) 9%,var(--lc-paper));border:1px solid color-mix(in srgb,var(--lc-warn) 40%,transparent);color:var(--lc-warn);}
.lc-notice--ok{background:color-mix(in srgb,var(--lc-ok) 9%,var(--lc-paper));border:1px solid color-mix(in srgb,var(--lc-ok) 40%,transparent);color:var(--lc-ok);}
.lc-radio{position:relative;display:grid;grid-template-columns:auto 1fr auto;column-gap:10px;row-gap:2px;align-items:baseline;border:1.5px solid var(--lc-line);border-radius:var(--lc-radius-sm);padding:13px 15px;margin:0 0 10px;cursor:pointer;transition:border-color .15s,background-color .15s;}
.lc-radio:has(input:checked){border-color:var(--lc-accent);background:color-mix(in srgb,var(--lc-accent) 6%,var(--lc-paper));}
.lc-radio input{accent-color:var(--lc-accent);grid-row:1;}
.lc-radio span{font-weight:600;}
.lc-radio .lc-rate-cost{font-variant-numeric:tabular-nums;white-space:nowrap;}
.lc-radio em,.lc-radio .lc-rate-note{grid-column:2 / -1;color:var(--lc-muted);font-size:13px;font-style:normal;}
.lc-radio .lc-rate-note{white-space:normal;}
.lc-radio.is-disabled{opacity:.5;cursor:not-allowed;}
[data-lc-shipping-choices].is-loading{opacity:.55;transition:opacity .2s;}
.lc-order-summary{position:sticky;top:24px;}
.lc-summary-list{list-style:none;margin:0 0 14px;padding:0;}
.lc-summary-list li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--lc-line);font-size:14px;}
.lc-summary-name{color:var(--lc-ink);}
.lc-summary-line{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:15px;}
.lc-summary-total{display:flex;justify-content:space-between;font-size:19px;font-weight:700;padding:10px 0 6px;border-top:1px solid var(--lc-line);margin-top:4px;}
.lc-terms{display:flex;gap:9px;align-items:flex-start;font-size:14px;color:var(--lc-muted);margin:14px 0;}
.lc-checkout-login{margin:0 0 18px;padding:12px 16px;border:1px dashed color-mix(in srgb,var(--lc-gold) 65%,transparent);border-radius:var(--lc-radius);background:color-mix(in srgb,var(--lc-gold) 9%,var(--lc-paper));font-size:15px;}
.lc-checkout .lc-checkout-login a{color:var(--lc-accent);font-weight:600;}

/* ----------------------------------------------------------- Confirmation */
.lc-confirmation-head{text-align:center;padding:10px 0 24px;}
.lc-check{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--lc-ok);color:#fff;font-size:26px;margin-bottom:10px;}
.lc-check--wait{background:var(--lc-warn);}
.lc-check--bad{background:var(--lc-sale);}
.lc-check--neutral{background:var(--lc-muted);}
.lc-confirmation-status{display:inline-block;background:color-mix(in srgb,var(--lc-ok) 12%,var(--lc-paper));color:var(--lc-ok);font-weight:600;padding:4px 12px;border-radius:999px;font-size:13px;}
.lc-confirmation .lc-card{border:1px solid var(--lc-line);border-radius:var(--lc-radius);padding:18px 20px;margin:0 0 16px;background:var(--lc-paper);}
.lc-confirmation h3{font-family:var(--lc-font-display);font-weight:500;}
.lc-confirmation-table{width:100%;border-collapse:collapse;}
.lc-confirmation-table td{padding:8px 0;border-bottom:1px solid var(--lc-line);}
.lc-confirmation-table .lc-right{text-align:right;}
.lc-confirmation-table .lc-total-row td{border-bottom:0;font-size:17px;padding-top:12px;}
.lc-bank-details{list-style:none;padding:0;margin:8px 0 0;line-height:1.9;}
.lc-address{line-height:1.7;}

/* ------------------------------------------------------ Paiement et états */
.lc-pay{max-width:560px;margin:0 auto;}
.lc-pay .lc-card{border:1px solid var(--lc-line);border-radius:var(--lc-radius);padding:22px;background:var(--lc-paper);}
.lc-pay-summary{margin:0 0 16px;font-size:16px;}
.lc-pay-trust{color:var(--lc-muted);font-size:13px;margin:14px 0 0;text-align:center;}
#lc-payment-element{margin:0 0 16px;}
#lc-payment-error:empty{display:none;}
#lc-payment-error{margin:0 0 12px;}
.lc-pay-again{text-align:center;}
.lc-status{display:inline-block;font-size:13px;font-weight:600;padding:4px 12px;border-radius:999px;background:var(--lc-cream);color:var(--lc-muted);}
.lc-status--ok{background:color-mix(in srgb,var(--lc-ok) 13%,var(--lc-paper));color:var(--lc-ok);}
.lc-status--wait{background:color-mix(in srgb,var(--lc-warn) 13%,var(--lc-paper));color:var(--lc-warn);}
.lc-status--bad{background:color-mix(in srgb,var(--lc-sale) 11%,var(--lc-paper));color:var(--lc-sale);}
.lc-documents .lc-doc-links{list-style:none;margin:0;padding:0;}
.lc-documents .lc-doc-links li{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;padding:6px 0;}
.lc-documents .lc-doc-download{font-size:13px;color:var(--lc-muted);}

/* ----------------------------------------------------- Mouvement réduit */
@media (prefers-reduced-motion:reduce){
	.lc-product,.lc-product__img,.lc-cat__img,.lc-btn,.lc-product__title a{transition:none;}
	.lc-product:hover,.lc-product:hover .lc-product__img,.lc-cat:hover .lc-cat__img{transform:none;}
	.lc-layout-carousel .lc-products{scroll-behavior:auto;}
}
