/*
Theme Name: Clevr Skin
Description: Thème de la boutique Clevr Skin (soin du visage en trois gestes), tiré de la maquette du 11/11/2026. Branché sur WooCommerce : fiches produit, panier, livraison.
Version: 1.6.1
Author: Clevr Skin
Text Domain: clevr-skin
Requires at least: 6.1
Requires PHP: 7.4
*/

/* ---------- Pages WordPress (légales, aide) ---------- */
.page-wp{padding-block:clamp(2.5rem,2rem + 3vw,5rem)}
.page-wp h1{font-family:var(--f-titre);font-weight:800;letter-spacing:-.02em;font-size:clamp(2rem,1.5rem + 2vw,3.2rem);line-height:1.08;margin:0 0 1.5rem}
.page-wp .contenu-wp{max-width:72ch;line-height:1.65}
.page-wp .contenu-wp > * + *{margin-top:1em}
.page-wp .contenu-wp h2{font-family:var(--f-titre);font-weight:800;font-size:clamp(1.35rem,1.1rem + .8vw,1.75rem);letter-spacing:-.01em;line-height:1.2;margin-top:2.2em}
.page-wp .contenu-wp h3{font-family:var(--f-titre);font-weight:700;font-size:1.15rem;margin-top:1.6em}
.page-wp .contenu-wp a:not(.wc-block-components-button):not(.button):not(.wp-block-button__link){color:var(--outremer)}
.page-wp .contenu-wp ul,.page-wp .contenu-wp ol{padding-left:1.25em}
.page-wp .contenu-wp li + li{margin-top:.35em}
.page-wp .contenu-wp blockquote{margin-inline:0;padding:1rem 1.25rem;background:var(--blanc);border-radius:var(--r-m);border-left:4px solid var(--outremer)}
.page-wp .contenu-wp table{width:100%;border-collapse:collapse;font-size:var(--t-s);background:var(--blanc);border-radius:var(--r-m);overflow:hidden}
.page-wp .contenu-wp th,.page-wp .contenu-wp td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--ligne,#E3E4EE);vertical-align:top}
.page-wp .contenu-wp th{background:var(--brume-2,#ECECF4);font-weight:700}
.page-wp .contenu-wp .chapo{font-size:var(--t-l,1.2rem);color:var(--gris)}
.page-wp .contenu-wp .avertissement{padding:1rem 1.25rem;border:1.5px dashed var(--gris);border-radius:var(--r-m);font-size:var(--t-s);color:var(--gris);background:rgba(255,255,255,.6)}
.page-wp .table-wrap{overflow-x:auto}

/* Panier et commande (blocs WooCommerce) : pleine largeur */
.woocommerce-cart .page-wp .contenu-wp,.woocommerce-checkout .page-wp .contenu-wp,.woocommerce-account .page-wp .contenu-wp{max-width:none}

/* ---------- Boutons WooCommerce aux couleurs de la marque ---------- */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce button.button.alt,.woocommerce a.button.alt,.wc-block-components-button:not(.is-link),.wp-block-button__link{
  background:var(--outremer);color:#fff;border-radius:999px;font-family:var(--f-texte);font-weight:700;padding:.85em 1.6em;border:0;min-height:52px;line-height:1.2}
.woocommerce .button:hover,.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover,.wc-block-components-button:not(.is-link):hover{background:var(--outremer-fonce,#2233C4);color:#fff}
.woocommerce button.button:disabled,.woocommerce button.button.alt.disabled{background:var(--gris)}
.woocommerce span.onsale{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--outremer);background:var(--blanc);border-radius:var(--r-m);font-size:var(--t-s)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--outremer)}
.woocommerce-message .button{min-height:40px;padding:.5em 1.2em}

/* ---------- Boutique (liste des produits) ---------- */
.woocommerce ul.products li.product{background:var(--blanc);border-radius:var(--r-l);padding:0 0 1.25rem;overflow:hidden;box-shadow:var(--ombre-1);text-align:left}
.woocommerce ul.products li.product a img{margin:0 0 1rem;aspect-ratio:4/4.3;object-fit:cover}
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .price{padding-inline:1.25rem}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--f-titre);font-weight:800;font-size:1.3rem}
.woocommerce ul.products li.product .price{color:var(--encre);font-family:var(--f-titre);font-weight:800;font-size:1.2rem}
.woocommerce ul.products li.product .button{margin-left:1.25rem;min-height:44px;padding:.55rem 1.2rem}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{display:none}

/* ---------- Fiche produit ---------- */
.single-product .page-wp{padding-top:clamp(1.5rem,1rem + 2vw,3rem)}
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,1rem + 4vw,4.5rem);align-items:start}
.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none;width:auto;margin:0}
.woocommerce div.product div.images{position:sticky;top:96px}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,.woocommerce div.product div.images img{border-radius:var(--r-l)}
.woocommerce div.product div.images .flex-control-thumbs{display:flex;gap:.6rem;margin-top:.75rem}
.woocommerce div.product div.images .flex-control-thumbs li{width:76px;float:none}
.woocommerce div.product div.images .flex-control-thumbs li img{border-radius:var(--r-s,10px);opacity:.6;border:2px solid transparent}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,.woocommerce div.product div.images .flex-control-thumbs li img:hover{opacity:1;border-color:var(--outremer)}
.woocommerce div.product .woocommerce-product-gallery__trigger{top:1rem;right:1rem}
.woocommerce div.product div.summary{display:flex;flex-direction:column;gap:1rem;padding-top:.5rem}
.badge-geste{align-self:flex-start;display:inline-flex;align-items:center;gap:.55rem;padding:.45rem .85rem;border-radius:var(--r-pill);background:var(--blanc);box-shadow:var(--ombre-1);font-size:var(--t-xs);font-weight:700}
.woocommerce div.product .product_title{font-family:var(--f-titre);font-weight:800;letter-spacing:-.025em;font-size:clamp(2.4rem,1.6rem + 3vw,4rem);line-height:1;margin:0}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--encre);font-family:var(--f-titre);font-weight:800;font-size:2rem;margin:0}
.woocommerce div.product .woocommerce-product-details__short-description{font-size:var(--t-l,1.2rem);color:var(--encre)}
.woocommerce div.product .woocommerce-product-details__short-description p{margin:0}
.woocommerce div.product .woocommerce-product-details__short-description p + p{color:var(--gris);font-size:var(--t-m);margin-top:.35rem}
.woocommerce div.product form.cart{display:flex;gap:.75rem;align-items:stretch;margin:.5rem 0 0}
.woocommerce div.product form.cart div.quantity{float:none;margin:0}
.woocommerce .quantity .qty{width:4.5rem;height:100%;min-height:52px;border:2px solid var(--encre);border-radius:var(--r-pill);font:inherit;font-weight:700;text-align:center;background:var(--blanc)}
.woocommerce div.product form.cart .button{float:none;flex:1;font-size:var(--t-m)}
.infos-achat{list-style:none;margin:.5rem 0 0;padding:0;border-top:1px solid var(--ligne,#E3E4EE)}
.infos-achat li{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--ligne,#E3E4EE);font-size:var(--t-s)}
.infos-achat li span{text-align:right;color:var(--gris)}
.infos-achat a{color:var(--outremer)}
.fiche-details,.fiche-routine{grid-column:1/-1}
.fiche-details{background:var(--blanc);border-radius:var(--r-xl,28px);padding:clamp(1.5rem,1rem + 3vw,3.5rem)}
.contenu-fiche{columns:2 340px;column-gap:clamp(2rem,4vw,4rem)}
.contenu-fiche h3{break-after:avoid;font-family:var(--f-titre);font-weight:800;font-size:1.2rem;margin:0 0 .4rem;display:flex;align-items:center;gap:.6rem}
.contenu-fiche h3::before{content:"";width:.7em;height:.7em;border-radius:50%;background:var(--outremer);flex:none}
.geste-1 .contenu-fiche h3::before{background:var(--lagon)}
.geste-2 .contenu-fiche h3::before{background:var(--ciel)}
.geste-3 .contenu-fiche h3::before{background:var(--violet)}
.contenu-fiche p{margin:0 0 1.5rem;break-inside:avoid-column}
.contenu-fiche h3 + p{margin-top:0}
.contenu-fiche .inci{font-size:var(--t-s);line-height:1.55;margin-bottom:.5rem}
.contenu-fiche .inci-notes{font-size:var(--t-xs);color:var(--gris);margin-bottom:.6rem}
.fiche-routine h2{font-family:var(--f-titre);font-weight:800;letter-spacing:-.02em;font-size:clamp(1.8rem,1.3rem + 2vw,2.6rem);margin:0 0 1.25rem}
.mini-gestes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.mini-geste{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.2rem;border-radius:var(--r-l);text-decoration:none;color:var(--encre);border:2px solid transparent;transition:transform .3s var(--ease),border-color .3s}
.mini-geste:hover{transform:translateY(-3px)}
.mini-geste.g1{background:var(--lagon-clair)}
.mini-geste.g2{background:var(--ciel-clair)}
.mini-geste.g3{background:var(--violet-clair)}
.mini-geste.actif{border-color:var(--encre)}
.mini-geste .num{font-family:var(--f-titre);font-weight:800;font-size:2.6rem;line-height:1}
.mini-geste .txt{display:flex;flex-direction:column;font-size:var(--t-s)}
.mini-geste .txt strong{font-family:var(--f-titre);font-size:1.1rem}
.routine-ligne{margin-top:1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-radius:var(--r-l);background:var(--encre);color:var(--blanc)}
.routine-ligne p{margin:0}
.routine-ligne .btn{--bg:var(--blanc);--fg:var(--outremer)}
.routine-ligne .btn:hover{--bg:var(--outremer);--fg:var(--blanc)}

@media (max-width:900px){
  .woocommerce div.product{grid-template-columns:minmax(0,1fr)}
  .woocommerce div.product div.images,.woocommerce div.product div.images.woocommerce-product-gallery{position:relative;top:auto}
  .mini-gestes{grid-template-columns:minmax(0,1fr)}
}

/* ---------- Accueil : photos produit dans les cartes ---------- */
.carte-produit .media.photo{background:#ECECEE;align-items:stretch}
.carte-produit .media.photo::after{display:none}
.carte-produit .media.photo img{width:100%;height:100%;object-fit:cover;object-position:center 60%;margin:0;filter:none}
.carte-produit:hover .media.photo img{transform:scale(1.03)}
.carte-produit .media.photo .badge{z-index:2}
.btn-ajout[aria-busy="true"]{opacity:.7;cursor:progress}

/* Toast : lien vers le panier */
.toast a{color:var(--lagon);text-decoration:underline;text-underline-offset:3px;margin-left:.25rem}

/* Barre d'administration WordPress (visible seulement connecté) */
.admin-bar .entete{top:32px}
@media (max-width:782px){.admin-bar .entete{top:46px}}

.geste-autre{margin-top:1rem;color:var(--gris)}.geste-autre a{color:var(--outremer);font-weight:700}

/* v1.4.0 : rétractation, encadré légal, tableaux, avis */
.retractation{margin:1.5rem 0}
.retract-form{display:grid;gap:1rem;max-width:560px;padding:1.5rem;border-radius:var(--r-l);background:var(--blanc);box-shadow:var(--ombre-1)}
.retract-form h2{margin:0}
.retract-form .champ{display:grid;gap:.35rem;margin:0}
.retract-form label{font-weight:700;font-size:var(--t-s)}
.retract-form input,.retract-form textarea{font:inherit;padding:.8rem 1rem;border:2px solid #D7D8E3;border-radius:var(--r-s);background:var(--blanc);color:var(--encre)}
.retract-form input:focus,.retract-form textarea:focus{outline:3px solid var(--outremer);outline-offset:1px;border-color:var(--outremer)}
.retract-form .mention{font-size:var(--t-xs);color:var(--gris);margin:0}
.retract-recap{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1rem;margin:0}
.retract-recap dt{font-weight:700}.retract-recap dd{margin:0}
.retract-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.retract-erreur{padding:.8rem 1rem;border-radius:var(--r-s);background:#FFF0F0;color:#8A1C1C;font-weight:700}
.retract-ok{padding:1.5rem;border-radius:var(--r-l);background:var(--lagon-clair,#E8F7F5)}
.retract-ok pre{white-space:pre-wrap;font:inherit;font-size:var(--t-s);background:var(--blanc);padding:1rem;border-radius:var(--r-s)}
.encadre-legal{border:2px solid var(--encre);border-radius:var(--r-m);padding:1.25rem 1.5rem;margin:1rem 0;font-size:var(--t-s)}
.encadre-legal p{margin:.5rem 0}
.contenu-wp table{width:100%;border-collapse:collapse;font-size:var(--t-s);margin:1rem 0;display:block;overflow-x:auto}
.contenu-wp th,.contenu-wp td{border:1px solid #D7D8E3;padding:.6rem .75rem;text-align:left;vertical-align:top}
.contenu-wp th{background:var(--brume)}
.avis-vide{padding:1.5rem;border-radius:var(--r-l);background:var(--blanc);box-shadow:var(--ombre-1);max-width:760px}
.avis-vide p{margin:0;color:var(--gris)}
@media (max-width:520px){.retract-recap{grid-template-columns:1fr}.retract-recap dd{margin-bottom:.5rem}}
.contenu-wp .retract-form h2,.contenu-wp .retract-ok h2{margin:0 0 .25rem;font-size:clamp(1.4rem,1.2rem + .8vw,1.8rem)}
.retract-recap{grid-template-columns:minmax(0,14rem) 1fr}
