/* MOOV Demo — vitrine : aperçu rapide, favoris, variations WooCommerce. */

/* Aperçu rapide -------------------------------------------------------- */
.qv-modal{position:fixed;inset:0;z-index:90;display:none;place-items:center;padding:1rem;
  background:rgba(1,32,42,.45)}
.qv-modal[data-open="1"]{display:grid}
.qv-modal__panel{background:var(--card);border-radius:var(--r-lg);max-width:900px;width:100%;
  max-height:90vh;overflow:auto;position:relative;box-shadow:var(--shadow-lg)}
.qv-modal__close{position:absolute;top:.7rem;right:.7rem;z-index:2;width:38px;height:38px;border-radius:var(--pill);
  border:1px solid var(--line-2);background:var(--card);cursor:pointer;font-size:1.2rem;line-height:1}
.qv{display:grid;grid-template-columns:1fr 1fr}
@media (max-width:720px){.qv{grid-template-columns:1fr}}
.qv__media{background:var(--bg-2);aspect-ratio:1}
.qv__media img{width:100%;height:100%;object-fit:cover}
.qv__body{padding:clamp(1.25rem,3vw,2rem)}
.qv__body h2{font-size:clamp(1.4rem,2.6vw,1.9rem)}

/* Variations WooCommerce ---------------------------------------------- */
.variations{width:100%;border-collapse:collapse;margin-bottom:1rem}
.variations th,.variations td{padding:.35rem 0;text-align:left;vertical-align:middle}
.variations th{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink);width:110px;padding-right:1rem}
.variations select{width:100%;max-width:280px}
.reset_variations{font-size:.75rem;color:var(--muted);text-decoration:underline;text-underline-offset:3px;margin-left:.6rem}
.woocommerce-variation-price{margin-bottom:.75rem;font-family:var(--ff-mono);font-size:1.3rem}
.woocommerce-variation-availability{font-size:.82rem;margin-bottom:.75rem}
form.cart{display:grid;gap:.5rem;margin-bottom:.5rem}
form.cart .quantity{display:inline-flex;align-items:center;border:1px solid var(--line);
  border-radius:var(--pill);overflow:hidden;background:var(--card)}
form.cart .quantity input{width:70px;height:48px;border:0;text-align:center;font-family:var(--ff-mono);background:transparent}
form.cart .single_add_to_cart_button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:48px;padding:.85rem 1.6rem;border:1px solid transparent;border-radius:var(--pill);
  background:var(--ink);color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;flex:1}
form.cart .single_add_to_cart_button:hover{background:var(--ink-3)}
form.cart .single_add_to_cart_button.disabled{opacity:.45;cursor:not-allowed}
form.cart>.quantity+.single_add_to_cart_button,
form.cart .woocommerce-variation-add-to-cart{display:flex;gap:.5rem;align-items:stretch}
.stock.out-of-stock{color:var(--err)}
.stock.in-stock{color:var(--ok)}

/* Favoris / comparateur : on neutralise les styles des extensions ------ */
.yith-wcwl-add-to-wishlist,.woocommerce .compare.button{margin:0!important}
.card-p__acts .yith-wcwl-add-to-wishlist{display:contents}

/* Grille d'avis --------------------------------------------------------- */
#reviews{display:grid;gap:2rem;grid-template-columns:minmax(0,1fr) minmax(0,360px)}
@media (max-width:900px){#reviews{grid-template-columns:1fr}}
#reviews .commentlist{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem}
#reviews .comment_container{display:grid;grid-template-columns:44px 1fr;gap:.85rem;
  background:var(--card);border:1px solid var(--line-2);border-radius:var(--r);padding:1rem}
#reviews .comment_container img{width:44px;height:44px;border-radius:var(--pill)}
#reviews .meta{font-size:.78rem;color:var(--muted);margin-bottom:.35rem}
#reviews .description p{margin:0;font-size:.9rem}
#review_form_wrapper{background:var(--bg-2);border-radius:var(--r);padding:1.25rem}
.comment-form-rating .stars a{color:var(--gold-2)}

/* Modules beauté optionnels -------------------------------------------- */
.moov-module{background:var(--bg-2);border-radius:var(--r);padding:1.15rem 1.35rem;margin-bottom:1.25rem}
.moov-module h3{font-size:1.15rem;margin-bottom:.35rem}
.moov-module p{font-size:.85rem;color:var(--muted);margin:0}
.shade-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}
.shade-grid button{width:44px;height:44px;border-radius:var(--pill);border:1px solid var(--line);cursor:pointer}
.shade-grid button[aria-pressed=true]{box-shadow:0 0 0 2px var(--card),0 0 0 3px var(--ink)}

/* ==========================================================================
   Bouton « favoris » de YITH, rhabillé aux couleurs du thème
   ========================================================================== */
:root{
  --icon-heart:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1.1L12 21.2l7.8-7.7 1-1.1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E");
  --icon-heart-full:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1.1L12 21.2l7.8-7.7 1-1.1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E");
}
.card-p__acts .yith-add-to-wishlist-button-block{display:contents}
.card-p__acts .yith-wcwl-add-to-wishlist-button{
  width:36px;height:36px;display:grid;place-items:center;padding:0;
  background:rgba(255,255,255,.94);border:1px solid var(--line-2);border-radius:var(--pill);
  color:var(--ink);cursor:pointer;text-decoration:none}
.card-p__acts .yith-wcwl-add-to-wishlist-button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.card-p__acts .yith-wcwl-add-to-wishlist-button::before{
  content:"";width:17px;height:17px;background:currentColor;
  -webkit-mask:var(--icon-heart) center/contain no-repeat;mask:var(--icon-heart) center/contain no-repeat}
.card-p__acts .yith-wcwl-add-to-wishlist-button--added::before,
.card-p__acts .yith-wcwl-add-to-wishlist-button.exists::before{
  -webkit-mask-image:var(--icon-heart-full);mask-image:var(--icon-heart-full)}
.yith-wcwl-add-to-wishlist-button__label{position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);white-space:nowrap}
.card-p__acts .yith-wcwl-add-to-wishlist-button__label{clip:rect(1px,1px,1px,1px)}

/* Sur la fiche produit, le même bouton prend la forme d'une pilule */
.pdp__info .yith-wcwl-add-to-wishlist-button{
  display:inline-flex;align-items:center;gap:.5rem;min-height:38px;padding:.5rem 1.05rem;
  border:1px solid var(--line);border-radius:var(--pill);background:transparent;color:var(--ink);
  font-size:.8rem;cursor:pointer;text-decoration:none}
.pdp__info .yith-wcwl-add-to-wishlist-button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
/* Sur la fiche, l'extension pose déjà son icône : on n'en ajoute pas une seconde. */
.pdp__info .yith-wcwl-add-to-wishlist-button svg,
.pdp__info .yith-wcwl-add-to-wishlist-button i{width:17px;height:17px;flex:0 0 17px}
.pdp__info .yith-wcwl-add-to-wishlist-button__label{position:static!important;width:auto;height:auto;clip:auto;overflow:visible}
.pdp__info .yith-add-to-wishlist-button-block{display:inline-block}

/* ==========================================================================
   Avis : on reprend la main sur les flottants de WooCommerce
   ========================================================================== */
.woocommerce #reviews #comments ol.commentlist{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.woocommerce #reviews #comments ol.commentlist li{margin:0;padding:0;border:0;background:transparent}
.woocommerce #reviews #comments ol.commentlist li .comment_container{
  display:block;background:var(--card);border:1px solid var(--line-2);border-radius:var(--r);padding:1.1rem 1.25rem}
.woocommerce #reviews #comments ol.commentlist li img.avatar{display:none}
.woocommerce #reviews #comments ol.commentlist li .comment-text{
  margin:0;padding:0;border:0;border-radius:0;width:auto;float:none}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta{
  font-size:.78rem;color:var(--muted);margin:.35rem 0 .5rem;display:flex;flex-wrap:wrap;gap:.4rem;align-items:baseline}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta strong{color:var(--ink);font-weight:600}
.woocommerce #reviews #comments ol.commentlist li .comment-text .description p{margin:0;font-size:.92rem}
.woocommerce #reviews #comments ol.commentlist li .comment-text .star-rating{display:none}
.woocommerce #reviews h2,.woocommerce #reviews h3{font-family:var(--ff-display);font-weight:400}
.woocommerce #reviews #review_form_wrapper{background:var(--bg-2);border-radius:var(--r);padding:1.35rem;position:sticky;top:calc(var(--bar-h) + 88px)}
@media (max-width:900px){.woocommerce #reviews #review_form_wrapper{position:static}}
.woocommerce #reviews #respond{margin:0}
.woocommerce #reviews p.comment-form-cookies-consent{font-size:.78rem;color:var(--muted);display:flex;gap:.5rem;align-items:flex-start}
.woocommerce #review_form #respond p.stars a{color:var(--gold-2)}

/* ==========================================================================
   Modules beauté
   ========================================================================== */
.moov-shade .acc-body{padding-bottom:1.25rem}
.moov-shade__q{margin:1rem 0 .5rem;font-size:.8rem}
.moov-shade__out{margin-top:1rem;font-size:.9rem;color:var(--ink)}
.moov-shade summary .tag{margin-left:.5rem}

.moov-diag{max-width:640px}
.moov-diag__step h2{font-size:clamp(1.4rem,3vw,2rem);margin-bottom:1.25rem}
.moov-diag__step .opt-pills button{min-height:48px}
.moov-diag__result{padding-top:1rem}
.moov-diag__items{display:grid;gap:.75rem;margin:1rem 0}
.moov-diag__item{display:grid;grid-template-columns:64px 1fr;gap:.85rem;align-items:center;
  background:var(--card);border:1px solid var(--line-2);border-radius:var(--r);padding:.7rem}
.moov-diag__item img{width:64px;height:64px;object-fit:cover;border-radius:var(--r);background:var(--bg-2)}
.moov-diag__item .mini-line__t{display:block}

.moov-abo{display:grid;gap:.45rem;margin:.5rem 0 1rem;padding:.9rem 1.05rem;background:var(--bg-2);border-radius:var(--r)}
.moov-abo label{display:flex;align-items:center;gap:.55rem;font-size:.85rem;cursor:pointer}
.moov-abo input{accent-color:var(--ink)}
.moov-abo__note{margin:.35rem 0 0;font-size:.75rem;color:var(--muted)}

.moov-rdv__out{margin-top:.85rem;font-size:.85rem;color:var(--ok)}

/* Lien vers un article du journal, proposé en fin de réponse de l'assistant. */
.assist-link{display:block;margin:.4rem 1.1rem .2rem;padding:.55rem .8rem;
  border:1px solid var(--mv-border-soft);
  font-size:var(--mv-text-sm);color:var(--mv-text);
  text-decoration:underline;text-underline-offset:3px}
.assist-link:hover{background:var(--mv-bg-alt)}
