/**
 * VST43° — Pages de service (lot 3) : panier latéral (D-33), page panier ; commande, compte et wishlist suivront.
 * Portée : .vst-srv. Règles reprises des maquettes (maquettes/_commun/commun.css et formulaires.css), préfixées.
 * Couleurs : variables globales Divi 5 (gcid-vst-*) avec repli. Spécificité : « :is(.vst-srv, #vst-x#vst-y) » vaut deux
 * identifiants (l'argument fictif n'existe pas dans la page), pour passer devant les règles globales de Divi 5 sans !important
 * (même méthode que vst-categorie.css).
 */
:is(.vst-srv, #vst-x#vst-y) {
  --vst-rouge: var(--gcid-vst-rouge, #E21F20);
  --vst-rouge-fonce: var(--gcid-vst-rouge-fonce, #C41A1B);
  --vst-corail: var(--gcid-de2da1d0-439d-46e9-990a-e1a6d8120582, #E75736);
  --vst-voile: var(--gcid-vst-voile, #FBE6DF);
  --vst-texte: var(--gcid-vst-texte, #575758);
  --vst-encre: var(--gcid-vst-encre, #232324);
  --vst-fond: var(--gcid-vst-fond, #FFF8F4);
  --vst-blanc: var(--gcid-vst-blanc, #FFFDFC);
  --vst-ligne: var(--gcid-vst-ligne, #E9DED7);
  --vst-epuise: var(--gcid-vst-epuise, #B3AEAB);
  --vst-photo: var(--gcid-vst-photo, #F4F2F1);
  --vst-corail-texte: var(--gcid-vst-corail-texte, #B5361C);
  --vst-ligne-ui: var(--gcid-vst-ligne-ui, #9C7763);
  --vst-erreur: var(--gcid-vst-erreur, #9F1C1C);
  --font-titre: "Work Sans", "Helvetica Neue", Arial, sans-serif;
  --font-corps: "Open Sans", "Helvetica Neue", Arial, sans-serif;
  --gouttiere: 20px;
  --rayon: var(--gvid-vst-rayon, 4px);
  color: var(--vst-texte); font: 300 16px/1.6 var(--font-corps);
}
:is(.vst-srv, #vst-x#vst-y) * { box-sizing: border-box; }
:is(.vst-srv, #vst-x#vst-y) img { max-width: 100%; display: block; }
:is(.vst-srv, #vst-x#vst-y) :is(button, select, input) { font: inherit; color: inherit; }
:is(.vst-srv, #vst-x#vst-y) button { cursor: pointer; }
:is(.vst-srv, #vst-x#vst-y) a { color: var(--vst-encre); text-underline-offset: 3px; }
:is(.vst-srv, #vst-x#vst-y) :focus-visible { outline: 2px solid var(--vst-encre); outline-offset: 2px; }
:is(.vst-srv, #vst-x#vst-y) .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:is(.vst-srv, #vst-x#vst-y) [hidden] { display: none !important; }
:is(.vst-srv, #vst-x#vst-y) :is(h1, h2, h3) { padding: 0; }
:is(.vst-srv, #vst-x#vst-y) h1 { margin: 0; font: 600 24px/1.15 var(--font-titre); color: var(--vst-encre); text-transform: uppercase; letter-spacing: .05em; text-wrap: balance; }
:is(.vst-srv, #vst-x#vst-y) ul { list-style: none; margin: 0; padding: 0; }

/* ——— Boutons ——— */
:is(.vst-srv, #vst-x#vst-y) .btn { display: inline-flex; align-items: center; justify-content: center; height: 50px; border: 0; background: var(--vst-rouge); color: #fff; border-radius: var(--rayon); font: 600 12px/1 var(--font-titre); text-transform: uppercase; letter-spacing: .14em; padding: 0 20px; text-decoration: none; }
:is(.vst-srv, #vst-x#vst-y) .btn:hover { background: var(--vst-rouge-fonce); color: #fff; }
:is(.vst-srv, #vst-x#vst-y) .btn-plein { width: 100%; height: 52px; }
:is(.vst-srv, #vst-x#vst-y) .btn-contour { display: inline-flex; align-items: center; justify-content: center; height: 48px; padding: 0 20px; border: 1px solid var(--vst-encre); border-radius: var(--rayon); background: transparent; font: 600 12px/1 var(--font-titre); text-transform: uppercase; letter-spacing: .14em; color: var(--vst-encre); text-decoration: none; }
:is(.vst-srv, #vst-x#vst-y) .btn-contour:hover { background: var(--vst-encre); color: var(--vst-blanc); }

/* ——— Tête de page ——— */
:is(.vst-srv, #vst-x#vst-y) .service-tete { padding: 20px 0 8px; display: grid; gap: 6px; }
:is(.vst-srv, #vst-x#vst-y) .service-tete p { margin: 0; font-size: 14px; padding: 0; }

/* ——— Page panier ——— */
.vst-panier-page #main-content, .vst-panier-page .et_pb_post_content { background: var(--gcid-vst-fond, #FFF8F4); }
:is(.vst-srv, #vst-x#vst-y).vst-panier { max-width: 1440px; margin: 0 auto; padding: 0 var(--gouttiere) 8px; }
:is(.vst-srv, #vst-x#vst-y) .valider-haut { display: grid; gap: 10px; margin: 4px 0 16px; }
:is(.vst-srv, #vst-x#vst-y) .valider-haut > span { display: flex; justify-content: space-between; font-size: 14px; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .valider-haut b { font: 600 16px/1.2 var(--font-corps); font-variant-numeric: tabular-nums; }
:is(.vst-srv, #vst-x#vst-y) .panier-grille { display: grid; gap: 8px; }
:is(.vst-srv, #vst-x#vst-y) :is(.franco, .pl-franco) { padding: 14px 16px; background: var(--vst-voile); border-radius: var(--rayon); font-size: 14px; line-height: 1.45; color: var(--vst-encre); display: grid; gap: 10px; }
:is(.vst-srv, #vst-x#vst-y) .jauge-f { height: 3px; background: rgba(35,35,36,.12); position: relative; border-radius: 2px; }
:is(.vst-srv, #vst-x#vst-y) .jauge-f i { position: absolute; inset: 0 auto 0 0; background: var(--vst-encre); border-radius: 2px; }
:is(.vst-srv, #vst-x#vst-y) :is(.franco, .pl-franco) small { font-size: 13px; color: var(--vst-texte); }
:is(.vst-srv, #vst-x#vst-y) .lignes { margin-top: 12px; }
:is(.vst-srv, #vst-x#vst-y) .ligne { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--vst-ligne); }
:is(.vst-srv, #vst-x#vst-y) .lignes .ligne:first-child { padding-top: 4px; }
:is(.vst-srv, #vst-x#vst-y) .ligne-img { width: 88px; height: auto; aspect-ratio: 2 / 3; object-fit: cover; background: var(--vst-photo); }
:is(.vst-srv, #vst-x#vst-y) .ligne-corps { display: grid; gap: 4px; align-content: start; min-width: 0; }
:is(.vst-srv, #vst-x#vst-y) .ligne-haut { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
:is(.vst-srv, #vst-x#vst-y) .ligne .nom { font: 600 12px/1.3 var(--font-titre); text-transform: uppercase; letter-spacing: .06em; color: var(--vst-encre); text-decoration: none; }
:is(.vst-srv, #vst-x#vst-y) .ligne .px { font: 400 14px/1.3 var(--font-corps); color: var(--vst-encre); font-variant-numeric: tabular-nums; white-space: nowrap; }
:is(.vst-srv, #vst-x#vst-y) .ligne .attr { font-size: 13px; line-height: 1.4; }
:is(.vst-srv, #vst-x#vst-y) .ligne .attr dl { margin: 4px 0 0; }
:is(.vst-srv, #vst-x#vst-y) :is(.stock, .pl-stock) { font-size: 13px; color: var(--vst-encre); display: flex; align-items: center; gap: 6px; }
:is(.vst-srv, #vst-x#vst-y) :is(.stock, .pl-stock)::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--vst-corail); }
:is(.vst-srv, #vst-x#vst-y) .ligne-bas { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
:is(.vst-srv, #vst-x#vst-y) .quantite { display: inline-grid; grid-template-columns: 40px 32px 40px; height: 40px; border: 1px solid var(--vst-ligne-ui); border-radius: var(--rayon); background: var(--vst-blanc); align-items: center; }
:is(.vst-srv, #vst-x#vst-y) .quantite button { height: 38px; border: 0; background: none; padding: 0; font: 400 18px/1 var(--font-corps); color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .quantite button:disabled { color: var(--vst-epuise); cursor: default; }
:is(.vst-srv, #vst-x#vst-y) .quantite input { width: 32px; height: 38px; border: 0; background: none; padding: 0; text-align: center; font: 400 14px/1 var(--font-corps); color: var(--vst-encre); -moz-appearance: textfield; appearance: textfield; }
:is(.vst-srv, #vst-x#vst-y) .quantite input::-webkit-inner-spin-button, :is(.vst-srv, #vst-x#vst-y) .quantite input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
:is(.vst-srv, #vst-x#vst-y) .product-remove a { display: inline-block; padding: 10px 0; font: 400 13px/1 var(--font-corps); color: var(--vst-encre); text-decoration: underline; }

/* Récapitulatif */
:is(.vst-srv, #vst-x#vst-y) .recap { display: grid; gap: 16px; align-content: start; }
:is(.vst-srv, #vst-x#vst-y) .recap-carte { background: var(--vst-blanc); border: 1px solid var(--vst-ligne); border-radius: var(--rayon); padding: 18px 16px; display: grid; gap: 14px; }
:is(.vst-srv, #vst-x#vst-y) .recap-carte > h2 { margin: 0; font: 600 13px/1.2 var(--font-titre); color: var(--vst-encre); text-transform: uppercase; letter-spacing: .14em; }
:is(.vst-srv, #vst-x#vst-y) .totaux { margin: 0; display: grid; gap: 8px; font-size: 14px; }
:is(.vst-srv, #vst-x#vst-y) .totaux div { display: flex; justify-content: space-between; gap: 12px; }
:is(.vst-srv, #vst-x#vst-y) .totaux dt { color: var(--vst-texte); font-weight: 300; }
:is(.vst-srv, #vst-x#vst-y) .totaux dd { margin: 0; color: var(--vst-encre); font-variant-numeric: tabular-nums; text-align: right; }
:is(.vst-srv, #vst-x#vst-y) .totaux .remise dd { font-weight: 600; }
:is(.vst-srv, #vst-x#vst-y) .totaux .remise a { font-size: 13px; margin-left: 6px; }
:is(.vst-srv, #vst-x#vst-y) .totaux .total { padding-top: 12px; margin-top: 4px; border-top: 1px solid var(--vst-ligne); align-items: baseline; }
:is(.vst-srv, #vst-x#vst-y) .totaux .total dt { font: 600 13px/1.2 var(--font-titre); text-transform: uppercase; letter-spacing: .12em; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .totaux .total dd { font: 600 20px/1.2 var(--font-corps); }
:is(.vst-srv, #vst-x#vst-y) .totaux .tva { display: block; font: 400 13px/1.4 var(--font-corps); color: var(--vst-texte); text-align: right; }
:is(.vst-srv, #vst-x#vst-y) .liv-estim { display: grid; gap: 6px; font-size: 13px; }
:is(.vst-srv, #vst-x#vst-y) .liv-estim li { display: flex; justify-content: space-between; gap: 12px; }
:is(.vst-srv, #vst-x#vst-y) .liv-estim b { font-weight: 600; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .liv-estim small { display: block; font-size: 12px; line-height: 1.4; color: var(--vst-texte); }
:is(.vst-srv, #vst-x#vst-y) .vst-express:empty { display: none; }
:is(.vst-srv, #vst-x#vst-y) .code summary { list-style: none; cursor: pointer; font-size: 13px; color: var(--vst-encre); text-decoration: underline; text-underline-offset: 3px; min-height: 44px; display: flex; align-items: center; }
:is(.vst-srv, #vst-x#vst-y) .code summary::-webkit-details-marker { display: none; }
:is(.vst-srv, #vst-x#vst-y) .ligne-code { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding-bottom: 6px; }
:is(.vst-srv, #vst-x#vst-y) .ligne-code input { height: 44px; border: 1px solid var(--vst-ligne-ui); border-radius: var(--rayon); background: var(--vst-blanc); padding: 0 12px; font: 400 16px/1 var(--font-corps); color: var(--vst-encre); min-width: 0; }
:is(.vst-srv, #vst-x#vst-y) .ligne-code input:focus { outline: 2px solid var(--vst-encre); outline-offset: 0; }
:is(.vst-srv, #vst-x#vst-y) .ligne-code button { height: 44px; padding: 0 16px; border: 1px solid var(--vst-encre); border-radius: var(--rayon); background: transparent; font: 600 12px/1 var(--font-titre); text-transform: uppercase; letter-spacing: .12em; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .coupon-error-notice { grid-column: 1 / -1; margin: 0; font-size: 13px; font-weight: 600; color: var(--vst-erreur); }
:is(.vst-srv, #vst-x#vst-y) .reassure { display: grid; gap: 10px; font-size: 13px; line-height: 1.45; }
:is(.vst-srv, #vst-x#vst-y) .reassure li { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; }
:is(.vst-srv, #vst-x#vst-y) .reassure svg { width: 18px; height: 18px; stroke: var(--vst-encre); fill: none; stroke-width: 1.4; margin-top: 1px; }
:is(.vst-srv, #vst-x#vst-y) .reassure b { font-weight: 600; color: var(--vst-encre); }

/* Complétez la tenue */
:is(.vst-srv, #vst-x#vst-y).tenue { max-width: 1440px; margin: 40px auto 0; padding: 24px var(--gouttiere) 0; border-top: 1px solid var(--vst-ligne); }
:is(.vst-srv, #vst-x#vst-y) .bloc-tete h2 { margin: 0 0 16px; font: 600 13px/1.2 var(--font-titre); color: var(--vst-encre); text-transform: uppercase; letter-spacing: .14em; }
:is(.vst-srv, #vst-x#vst-y) .rangee { display: grid; grid-auto-flow: column; grid-auto-columns: 46%; gap: 3px; overflow-x: auto; margin: 0 calc(-1 * var(--gouttiere)); padding: 0 var(--gouttiere); scrollbar-width: none; }
:is(.vst-srv, #vst-x#vst-y) .rangee::-webkit-scrollbar { display: none; }
:is(.vst-srv, #vst-x#vst-y) .carte-mini a { display: grid; gap: 6px; text-decoration: none; }
:is(.vst-srv, #vst-x#vst-y) .carte-mini .visuel { display: block; aspect-ratio: 2 / 3; overflow: hidden; background: var(--vst-photo); }
:is(.vst-srv, #vst-x#vst-y) .carte-mini img { width: 100%; height: 100%; object-fit: cover; }
:is(.vst-srv, #vst-x#vst-y) .carte-mini .nom { padding: 4px 12px 0; font: 600 12px/1.3 var(--font-titre); text-transform: uppercase; letter-spacing: .06em; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .carte-mini .px { padding: 0 12px; font: 400 13px/1 var(--font-corps); color: var(--vst-encre); }

/* Panier vide */
:is(.vst-srv, #vst-x#vst-y) .vide-carte { margin: 16px 0 0; padding: 32px 20px; background: var(--vst-blanc); border: 1px solid var(--vst-ligne); border-radius: var(--rayon); display: grid; justify-items: start; gap: 16px; font-size: 15px; }
:is(.vst-srv, #vst-x#vst-y) .vide-carte p { margin: 0; padding: 0; }

/* Avis WooCommerce sur la page panier (ajout, retrait, code promo) */
.vst-panier-page .woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) { max-width: 1400px; margin: 16px auto 0; padding: 12px 16px; border: 1px solid var(--gcid-vst-ligne, #E9DED7); border-radius: 4px; background: var(--gcid-vst-blanc, #FFFDFC); color: var(--gcid-vst-encre, #232324); font: 400 14px/1.45 "Open Sans", Arial, sans-serif; list-style: none; }
.vst-panier-page .woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { display: none; }
.vst-panier-page .woocommerce-notices-wrapper .woocommerce-error { border-color: var(--gcid-vst-erreur, #9F1C1C); color: var(--gcid-vst-erreur, #9F1C1C); }
.vst-panier-page .woocommerce-notices-wrapper a { color: inherit; text-decoration: underline; font-weight: 600; background: none; padding: 0; float: none; }

/* ——— Panier latéral (D-33) : bas d'écran sur mobile, latéral 440 px sur desktop ——— */
:is(.vst-srv, #vst-x#vst-y).vst-pl { border: 0; padding: 0; margin: auto 0 0; width: 100%; max-width: 100%; max-height: 92vh; background: var(--vst-blanc); border-radius: 12px 12px 0 0; z-index: 100000; }
:is(.vst-srv, #vst-x#vst-y).vst-pl::backdrop { background: rgba(35,35,36,.45); }
:is(.vst-srv, #vst-x#vst-y) .pl-int { display: grid; grid-template-rows: auto 1fr auto; max-height: 92vh; }
:is(.vst-srv, #vst-x#vst-y) .pl-tete { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 8px 8px var(--gouttiere); border-bottom: 1px solid var(--vst-ligne); }
:is(.vst-srv, #vst-x#vst-y) .pl-tete h2 { margin: 0; font: 600 13px/1.2 var(--font-titre); text-transform: uppercase; letter-spacing: .14em; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .pl-fermer { width: 44px; height: 44px; border: 0; background: none; font-size: 26px; line-height: 1; color: var(--vst-encre); padding: 0; }
:is(.vst-srv, #vst-x#vst-y) .pl-corps { overflow-y: auto; padding: 0 var(--gouttiere); overscroll-behavior: contain; min-height: 120px; }
:is(.vst-srv, #vst-x#vst-y) .pl-corps[aria-busy="true"] { opacity: .5; }
:is(.vst-srv, #vst-x#vst-y) .pl-franco { margin: 16px 0 4px; font-size: 13px; gap: 8px; padding: 12px 14px; }
:is(.vst-srv, #vst-x#vst-y) .pl-ligne { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--vst-ligne); }
:is(.vst-srv, #vst-x#vst-y) .pl-img { width: 64px; height: 96px; object-fit: cover; background: var(--vst-photo); }
:is(.vst-srv, #vst-x#vst-y) .pl-info { display: grid; gap: 3px; align-content: start; min-width: 0; }
:is(.vst-srv, #vst-x#vst-y) .pl-haut { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
:is(.vst-srv, #vst-x#vst-y) .pl-nom { font: 600 12px/1.3 var(--font-titre); text-transform: uppercase; letter-spacing: .06em; color: var(--vst-encre); text-decoration: none; }
:is(.vst-srv, #vst-x#vst-y) .pl-px { font: 400 14px/1.3 var(--font-corps); color: var(--vst-encre); font-variant-numeric: tabular-nums; white-space: nowrap; }
:is(.vst-srv, #vst-x#vst-y) .pl-attr { font-size: 13px; line-height: 1.4; }
:is(.vst-srv, #vst-x#vst-y) .pl-bas { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 6px; }
:is(.vst-srv, #vst-x#vst-y) .pl-qte { display: inline-grid; grid-template-columns: 36px 28px 36px; height: 36px; align-items: center; border: 1px solid var(--vst-ligne-ui); border-radius: var(--rayon); background: var(--vst-blanc); }
:is(.vst-srv, #vst-x#vst-y) .pl-qte button { height: 34px; border: 0; background: none; padding: 0; font: 400 17px/1 var(--font-corps); color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .pl-qte button:disabled { color: var(--vst-epuise); cursor: default; }
:is(.vst-srv, #vst-x#vst-y) .pl-qte span { text-align: center; font-size: 14px; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .pl-lien { border: 0; background: none; padding: 10px 0; font: 400 13px/1 var(--font-corps); color: var(--vst-encre); text-decoration: underline; text-underline-offset: 3px; }
:is(.vst-srv, #vst-x#vst-y) .pl-sugg { padding-top: 20px; }
:is(.vst-srv, #vst-x#vst-y) .pl-sugg h3 { margin: 0; font: 600 12px/1.2 var(--font-titre); text-transform: uppercase; letter-spacing: .12em; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .pl-sugg .pl-ligne { border-bottom: 0; padding-bottom: 4px; }
:is(.vst-srv, #vst-x#vst-y) .pl-pied { display: grid; gap: 10px; padding: 12px var(--gouttiere) calc(12px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--vst-ligne); }
:is(.vst-srv, #vst-x#vst-y) .pl-total { display: flex; justify-content: space-between; align-items: baseline; font: 600 12px/1.2 var(--font-titre); text-transform: uppercase; letter-spacing: .12em; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .pl-total b { font: 600 18px/1 var(--font-corps); letter-spacing: 0; font-variant-numeric: tabular-nums; }
:is(.vst-srv, #vst-x#vst-y) .pl-mention { margin: 0; padding: 0; font-size: 13px; }
:is(.vst-srv, #vst-x#vst-y) .pl-valider { width: 100%; height: 52px; }
:is(.vst-srv, #vst-x#vst-y) .pl-voir { justify-self: center; font-size: 13px; padding: 8px; }
:is(.vst-srv, #vst-x#vst-y) .pl-vide { padding: 32px 0; display: grid; justify-items: start; gap: 16px; font-size: 14px; }
:is(.vst-srv, #vst-x#vst-y) .pl-vide p { margin: 0; padding: 0; }
body:has(.vst-pl[open]) { overflow: hidden; }

/* ——— Desktop ——— */
@media (min-width: 960px) {
  :is(.vst-srv, #vst-x#vst-y) { --gouttiere: 40px; }
  :is(.vst-srv, #vst-x#vst-y) h1 { font-size: 34px; }
  :is(.vst-srv, #vst-x#vst-y) .service-tete { padding-top: 32px; }
  :is(.vst-srv, #vst-x#vst-y) .valider-haut { display: none; }
  :is(.vst-srv, #vst-x#vst-y) .panier-grille { grid-template-columns: minmax(0, 1fr) 400px; gap: 64px; align-items: start; }
  :is(.vst-srv, #vst-x#vst-y) .recap { position: sticky; top: 100px; }
  :is(.vst-srv, #vst-x#vst-y) .ligne { grid-template-columns: 120px minmax(0, 1fr); gap: 20px; }
  :is(.vst-srv, #vst-x#vst-y) .ligne-img { width: 120px; }
  :is(.vst-srv, #vst-x#vst-y) .rangee { grid-auto-flow: row; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; }
  :is(.vst-srv, #vst-x#vst-y) .carte-mini :is(.nom, .px) { padding-left: 0; padding-right: 0; }
  :is(.vst-srv, #vst-x#vst-y).vst-pl { margin: 0 0 0 auto; height: 100vh; max-height: 100vh; width: 440px; border-radius: 0; }
  :is(.vst-srv, #vst-x#vst-y) .pl-int { max-height: 100vh; height: 100%; }
}

/* ——— Formulaires (maquettes/_commun/formulaires.css) ——— */
:is(.vst-srv, #vst-x#vst-y) .champs { display: grid; gap: 14px; }
:is(.vst-srv, #vst-x#vst-y) .duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
:is(.vst-srv, #vst-x#vst-y) .champ { display: grid; gap: 6px; }
:is(.vst-srv, #vst-x#vst-y) :is(.champ, .champs-wc .form-row) label { font: 400 13px/1.3 var(--font-corps); color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) :is(.champ, .champs-wc .form-row) :is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], select, textarea) { width: 100%; height: 48px; border: 1px solid var(--vst-ligne-ui); border-radius: var(--rayon); background: var(--vst-blanc); padding: 0 14px; font: 400 16px/1.2 var(--font-corps); color: var(--vst-encre); box-shadow: none; }
:is(.vst-srv, #vst-x#vst-y) :is(.champ, .champs-wc .form-row) :is(input, select):focus { outline: 2px solid var(--vst-encre); outline-offset: 0; border-color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .champs-wc .form-row { display: grid; gap: 6px; margin: 0; padding: 0; width: 100%; float: none; }
:is(.vst-srv, #vst-x#vst-y) .champs-wc .form-row .required { color: var(--vst-texte); text-decoration: none; border: 0; }
:is(.vst-srv, #vst-x#vst-y) .champs-wc .optional { color: var(--vst-texte); }
:is(.vst-srv, #vst-x#vst-y) .champs-wc .woocommerce-input-wrapper { display: block; }
:is(.vst-srv, #vst-x#vst-y) .champs-wc .select2-container .select2-selection--single { height: 48px; border: 1px solid var(--vst-ligne-ui); border-radius: var(--rayon); background: var(--vst-blanc); }
:is(.vst-srv, #vst-x#vst-y) .champs-wc .select2-container .select2-selection__rendered { line-height: 46px; padding-left: 14px; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .champs-wc .select2-container .select2-selection__arrow { height: 46px; }
:is(.vst-srv, #vst-x#vst-y) .mdp { position: relative; }
:is(.vst-srv, #vst-x#vst-y) .mdp input { padding-right: 90px; }
:is(.vst-srv, #vst-x#vst-y) .mdp button { position: absolute; right: 2px; top: 2px; height: 44px; padding: 0 12px; border: 0; background: none; font: 400 13px/1 var(--font-corps); text-decoration: underline; text-underline-offset: 3px; color: var(--vst-encre); }
/* Cases et boutons radio : intérieur toujours blanc (doc 08 §2) */
:is(.vst-srv, #vst-x#vst-y) .case-lib { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; font-size: 14px; line-height: 1.45; color: var(--vst-encre); min-height: 44px; padding-top: 10px; cursor: pointer; }
:is(.vst-srv, #vst-x#vst-y) .case-lib small { display: block; font-size: 13px; color: var(--vst-texte); }
:is(.vst-srv, #vst-x#vst-y) :is(.case-lib, .champs-wc) input:is([type="checkbox"], [type="radio"]) { -webkit-appearance: none; appearance: none; flex: none; width: 20px; height: 20px; margin: 0; border: 1.5px solid var(--vst-texte); background: var(--vst-blanc); display: grid; place-items: center; cursor: pointer; }
:is(.vst-srv, #vst-x#vst-y) :is(.case-lib, .champs-wc) input[type="checkbox"] { border-radius: 3px; }
:is(.vst-srv, #vst-x#vst-y) :is(.case-lib, .champs-wc) input[type="checkbox"]::after { content: ""; width: 10px; height: 5px; border-left: 2px solid var(--vst-encre); border-bottom: 2px solid var(--vst-encre); transform: rotate(-45deg) translate(1px, -1px); opacity: 0; }
:is(.vst-srv, #vst-x#vst-y) :is(.case-lib, .champs-wc) input[type="radio"] { border-radius: 50%; }
:is(.vst-srv, #vst-x#vst-y) :is(.case-lib, .champs-wc) input[type="radio"]::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--vst-encre); transform: scale(0); }
:is(.vst-srv, #vst-x#vst-y) :is(.case-lib, .champs-wc) input:checked { border-color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) :is(.case-lib, .champs-wc) input[type="checkbox"]:checked::after { opacity: 1; }
:is(.vst-srv, #vst-x#vst-y) :is(.case-lib, .champs-wc) input[type="radio"]:checked::after { transform: scale(1); }
:is(.vst-srv, #vst-x#vst-y) .petit { font-size: 13px; line-height: 1.5; margin: 0; padding: 0; }
:is(.vst-srv, #vst-x#vst-y) .surtitre { font: 600 12px/1.3 var(--font-titre); color: var(--vst-corail-texte); letter-spacing: .14em; text-transform: uppercase; }
:is(.vst-srv, #vst-x#vst-y) .retour-lien { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 13px; color: var(--vst-encre); text-decoration: none; justify-self: start; }
:is(.vst-srv, #vst-x#vst-y) .retour-lien::before { content: ""; width: 7px; height: 7px; border-left: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
:is(.vst-srv, #vst-x#vst-y) .bloc { padding: 24px 0; border-top: 1px solid var(--vst-ligne); }
:is(.vst-srv, #vst-x#vst-y) .bloc-tete { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 14px; }
:is(.vst-srv, #vst-x#vst-y) .bloc-tete h2 { margin: 0; }

/* ——— Compte ——— */
.vst-compte-page #main-content, .vst-compte-page .et_pb_post_content { background: var(--gcid-vst-fond, #FFF8F4); }
:is(.vst-srv, #vst-x#vst-y).vst-compte { max-width: 1440px; margin: 0 auto; padding: 0 var(--gouttiere) 40px; }
:is(.vst-srv, #vst-x#vst-y) .nav-compte { display: none; }
:is(.vst-srv, #vst-x#vst-y) .nav-compte a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; border-bottom: 1px solid var(--vst-ligne); font: 500 13px/1.2 var(--font-titre); color: var(--vst-encre); text-transform: uppercase; letter-spacing: .1em; text-decoration: none; }
:is(.vst-srv, #vst-x#vst-y) .nav-compte a small { font: 400 13px/1 var(--font-corps); color: var(--vst-texte); text-transform: none; letter-spacing: 0; }
:is(.vst-srv, #vst-x#vst-y) .nav-compte a[aria-current="page"] { font-weight: 600; box-shadow: inset 3px 0 0 var(--vst-encre); padding-left: 14px; }
:is(.vst-srv, #vst-x#vst-y) .raccourcis-compte { border-top: 1px solid var(--vst-ligne); }
:is(.vst-srv, #vst-x#vst-y) .raccourcis-compte a { width: 100%; display: grid; grid-template-columns: 24px 1fr auto; gap: 14px; align-items: center; min-height: 64px; border-bottom: 1px solid var(--vst-ligne); text-decoration: none; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .raccourcis-compte svg { width: 22px; height: 22px; stroke: var(--vst-encre); fill: none; stroke-width: 1.4; }
:is(.vst-srv, #vst-x#vst-y) .raccourcis-compte b { display: block; font: 600 13px/1.2 var(--font-titre); text-transform: uppercase; letter-spacing: .1em; }
:is(.vst-srv, #vst-x#vst-y) .raccourcis-compte span span { display: block; font-size: 13px; color: var(--vst-texte); margin-top: 3px; }
:is(.vst-srv, #vst-x#vst-y) .raccourcis-compte a::after { content: ""; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-top: 1.5px solid currentColor; transform: rotate(45deg); margin-right: 4px; }
:is(.vst-srv, #vst-x#vst-y) .cmd-carte { border: 1px solid var(--vst-ligne); border-radius: var(--rayon); background: var(--vst-blanc); padding: 16px; display: grid; gap: 12px; }
:is(.vst-srv, #vst-x#vst-y) .cmd-tete { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
:is(.vst-srv, #vst-x#vst-y) .cmd-tete :is(h2, h3) { margin: 0; font: 600 13px/1.2 var(--font-titre); text-transform: uppercase; letter-spacing: .1em; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .cmd-meta { font-size: 13px; color: var(--vst-texte); }
:is(.vst-srv, #vst-x#vst-y) .vignettes { display: flex; gap: 6px; }
:is(.vst-srv, #vst-x#vst-y) .vignettes img, :is(.vst-srv, #vst-x#vst-y) .vignette-vide { width: 48px; height: 72px; object-fit: cover; background: var(--vst-photo); display: block; }
:is(.vst-srv, #vst-x#vst-y) .cmd-actions { display: flex; gap: 8px 18px; flex-wrap: wrap; align-items: center; }
:is(.vst-srv, #vst-x#vst-y) .cmd-actions a:not(.btn-contour) { font-size: 13px; color: var(--vst-encre); text-underline-offset: 3px; padding: 8px 0; text-decoration: underline; }
:is(.vst-srv, #vst-x#vst-y) .cmd-actions .btn-contour { height: 44px; padding: 0 16px; }
:is(.vst-srv, #vst-x#vst-y) .liste-cmd { display: grid; gap: 12px; }
:is(.vst-srv, #vst-x#vst-y) .pagination-cmd { display: flex; gap: 12px; margin-top: 16px; }
:is(.vst-srv, #vst-x#vst-y) .etapes-suivi { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
:is(.vst-srv, #vst-x#vst-y) .etapes-suivi li { display: grid; gap: 8px; font-size: 13px; line-height: 1.3; color: var(--vst-texte); }
:is(.vst-srv, #vst-x#vst-y) .etapes-suivi li::before { content: ""; height: 3px; background: var(--vst-ligne); border-radius: 2px; }
:is(.vst-srv, #vst-x#vst-y) .etapes-suivi li[data-fait] { color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .etapes-suivi li[data-fait]::before { background: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .etapes-suivi li[aria-current="step"] { font-weight: 600; }
:is(.vst-srv, #vst-x#vst-y) .statut { display: inline-flex; align-items: center; gap: 6px; font: 600 12px/1 var(--font-titre); text-transform: uppercase; letter-spacing: .1em; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .statut::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .statut.en-cours::before { background: var(--vst-corail); }
:is(.vst-srv, #vst-x#vst-y) .statut.livre::before { background: #4F7D5C; }
:is(.vst-srv, #vst-x#vst-y) .statut.arret::before { background: var(--vst-epuise); }
:is(.vst-srv, #vst-x#vst-y) .carte-info { border: 1px solid var(--vst-ligne); border-radius: var(--rayon); background: var(--vst-blanc); padding: 16px; display: grid; gap: 10px; font-size: 14px; line-height: 1.5; }
:is(.vst-srv, #vst-x#vst-y) .carte-info address { font-style: normal; }
:is(.vst-srv, #vst-x#vst-y) .carte-info h2 { margin: 0; font: 600 12px/1.2 var(--font-titre); color: var(--vst-encre); text-transform: uppercase; letter-spacing: .12em; }
:is(.vst-srv, #vst-x#vst-y) .carte-info.a-ajouter { border-style: dashed; }
:is(.vst-srv, #vst-x#vst-y) .edition-adresse summary { list-style: none; cursor: pointer; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; color: var(--vst-encre); min-height: 32px; display: flex; align-items: center; }
:is(.vst-srv, #vst-x#vst-y) .edition-adresse summary::-webkit-details-marker { display: none; }
:is(.vst-srv, #vst-x#vst-y) .edition-adresse[open] summary { margin-bottom: 12px; }
:is(.vst-srv, #vst-x#vst-y) .colonnes { display: grid; gap: 12px; }
:is(.vst-srv, #vst-x#vst-y) .ligne.mini { grid-template-columns: 56px minmax(0, 1fr); gap: 12px; padding: 12px 0; }
:is(.vst-srv, #vst-x#vst-y) .ligne.mini .ligne-img { width: 56px; }
:is(.vst-srv, #vst-x#vst-y) .ligne.mini .ligne-corps { position: relative; }
:is(.vst-srv, #vst-x#vst-y) .ligne.mini .qte { position: absolute; left: -68px; top: -8px; min-width: 22px; height: 22px; border-radius: 11px; background: var(--vst-encre); color: var(--vst-blanc); font: 600 13px/22px var(--font-corps); text-align: center; padding: 0 6px; }
:is(.vst-srv, #vst-x#vst-y) .compte-contenu .totaux { margin-top: 14px; }
:is(.vst-srv, #vst-x#vst-y) .segments { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--vst-ligne); margin-bottom: 20px; }
:is(.vst-srv, #vst-x#vst-y) .segments button { height: 48px; border: 0; border-bottom: 2px solid transparent; background: none; padding: 0; font: 600 12px/1 var(--font-titre); text-transform: uppercase; letter-spacing: .12em; color: var(--vst-texte); }
:is(.vst-srv, #vst-x#vst-y) .segments button[aria-selected="true"] { color: var(--vst-encre); border-bottom-color: var(--vst-encre); }
.vst-js :is(.vst-srv, #vst-x#vst-y) [role="tabpanel"][data-cache] { display: none; }
html:not(.vst-js) :is(.vst-srv, #vst-x#vst-y) .segments { display: none; }
:is(.vst-srv, #vst-x#vst-y) .ligne-options { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
:is(.vst-srv, #vst-x#vst-y) .ligne-options .case-lib { padding-top: 0; align-items: center; }
:is(.vst-srv, #vst-x#vst-y) .connexion-grille { display: grid; gap: 32px; }
:is(.vst-srv, #vst-x#vst-y) .suivi-sans-compte .champs { gap: 12px; }
:is(.vst-srv, #vst-x#vst-y) .suivi-sans-compte { align-self: start; }
:is(.vst-srv, #vst-x#vst-y) .suivi-sans-compte .btn-contour { justify-self: stretch; width: 100%; }
:is(.vst-srv, #vst-x#vst-y).vst-suivi .service-tete, :is(.vst-srv, #vst-x#vst-y).vst-suivi .suivi-sans-compte { max-width: 440px; margin-left: auto; margin-right: auto; }
:is(.vst-srv, #vst-x#vst-y) .mention-compte { margin: 0; }
/* Connexion : deux blocs (J'ai déjà un compte / Je crée mon compte), encadré de retour depuis la commande */
:is(.vst-srv, #vst-x#vst-y) .bloc-cx { display: grid; gap: 16px; align-content: start; min-width: 0; }
:is(.vst-srv, #vst-x#vst-y) .bloc-cx h2 { margin: 0; font: 600 14px/1.2 var(--font-titre); color: var(--vst-encre); text-transform: uppercase; letter-spacing: .12em; }
:is(.vst-srv, #vst-x#vst-y) .avantages-cx { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 14px; line-height: 1.5; color: var(--vst-texte); }
:is(.vst-srv, #vst-x#vst-y) .avantages-cx li { position: relative; padding-left: 22px; }
:is(.vst-srv, #vst-x#vst-y) .avantages-cx li::before { content: ""; position: absolute; left: 2px; top: .45em; width: 10px; height: 5px; border-left: 1.5px solid var(--vst-encre); border-bottom: 1.5px solid var(--vst-encre); transform: rotate(-45deg); }
:is(.vst-srv, #vst-x#vst-y) .retour-commande { margin: 0 0 24px; font-size: 14px; font-weight: 600; color: var(--vst-texte); background: var(--vst-fond); border-left: 4px solid var(--vst-ligne-ui); }
:is(.vst-srv, #vst-x#vst-y) .suivi-resultat { display: grid; gap: 10px; }
:is(.vst-srv, #vst-x#vst-y) .emails-form .btn, :is(.vst-srv, #vst-x#vst-y) .edit-account > .btn { justify-self: start; margin-top: 8px; }
:is(.vst-srv, #vst-x#vst-y) .intro-emails { margin: -4px 0 8px; }
:is(.vst-srv, #vst-x#vst-y) .compte-extensions:empty { display: none; }
/* Avis WooCommerce dans le compte */
:is(.vst-compte-page, #vst-x#vst-y) :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) { --etat: var(--vst-ligne-ui); margin: 16px 0 0; padding: 12px 16px; border: 1px solid var(--vst-ligne) !important; border-left: 4px solid var(--etat) !important; border-radius: 4px; background: var(--vst-fond) !important; color: var(--vst-texte) !important; font: 400 14px/1.5 var(--font-corps) !important; list-style: none; } /* !important : Divi impose ses couleurs de bouton aux notices WooCommerce */
:is(.vst-compte-page, #vst-x#vst-y) :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { display: none; }
:is(.vst-compte-page, #vst-x#vst-y) .woocommerce-message { --etat: var(--gcid-vst-succes, #2F6B3A); }
:is(.vst-compte-page, #vst-x#vst-y) .woocommerce-error { --etat: var(--vst-erreur); padding-left: 16px; }
:is(.vst-compte-page, #vst-x#vst-y) .woocommerce-error li { margin: 0; padding: 0; list-style: none; }
:is(.vst-compte-page, #vst-x#vst-y) .woocommerce-error li + li { margin-top: 4px; }
:is(.vst-compte-page, #vst-x#vst-y) :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a { color: var(--vst-encre); text-decoration: underline; text-underline-offset: 3px; font-weight: 600; background: none; padding: 0; float: none; }
/* Champs obligatoires et erreurs sous le champ */
:is(.vst-srv, #vst-x#vst-y) .req { color: var(--vst-texte); }
:is(.vst-srv, #vst-x#vst-y) .legende-req { margin: 0 0 4px; color: var(--vst-texte); }
:is(.vst-srv, #vst-x#vst-y) .erreur-champ { margin: 0; font: 400 13px/1.4 var(--font-corps); color: var(--vst-erreur); }
:is(.vst-srv, #vst-x#vst-y) :is(input, select, textarea)[aria-invalid="true"] { border-color: var(--vst-erreur); box-shadow: inset 3px 0 0 var(--vst-erreur); }
@media (min-width: 960px) {
  :is(.vst-srv, #vst-x#vst-y) .compte-grille { display: grid; grid-template-columns: 260px minmax(0, 760px); gap: 80px; align-items: start; }
  :is(.vst-srv, #vst-x#vst-y) .nav-compte { display: block; position: sticky; top: 100px; padding-top: 32px; }
  :is(.vst-srv, #vst-x#vst-y) .retour-lien.mobile { display: none; }
  :is(.vst-srv, #vst-x#vst-y) .raccourcis-compte { display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; }
  :is(.vst-srv, #vst-x#vst-y) .colonnes { grid-template-columns: 1fr 1fr; gap: 16px; }

}
/* Formulaires natifs WooCommerce (connexion, création, suivi) : pas de cadre ni de marge (feuille woocommerce.css) */
:is(.vst-srv, #vst-x#vst-y) form:is(.login, .register, .track_order, .checkout_coupon, .lost_reset_password) { border: 0; padding: 0; margin: 0; border-radius: 0; }
/* Compte : la feuille woocommerce.css fixe le menu à 30 % et le contenu à 68 % (flottants) ; la grille décide ici */
:is(.vst-srv, #vst-x#vst-y) :is(.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content) { float: none; width: auto; }

/* ——— Wishlist maison (maquettes/wishlist/src.html) ——— */
.vst-wl-page #main-content, .vst-wl-page .et_pb_post_content { background: var(--gcid-vst-fond, #FFF8F4); }
:is(.vst-srv, #vst-x#vst-y).vst-wl { max-width: 1440px; margin: 0 auto; padding: 0 var(--gouttiere) 40px; }
:is(.vst-srv, #vst-x#vst-y).vst-wl[aria-busy="true"] { opacity: .6; }
:is(.vst-srv, #vst-x#vst-y) .ariane { padding: 10px 0 0; font: 400 13px/1.3 var(--font-corps); }
:is(.vst-srv, #vst-x#vst-y) .ariane a { text-decoration: none; }
:is(.vst-srv, #vst-x#vst-y) .wl-tete { padding: 10px 0 0; display: grid; gap: 8px; }
:is(.vst-srv, #vst-x#vst-y) .wl-tete p { margin: 0; padding: 0; font-size: 14px; }
:is(.vst-srv, #vst-x#vst-y) .avis { display: grid; grid-template-columns: 20px 1fr; gap: 10px; padding: 12px 14px; border-radius: var(--rayon); font-size: 14px; line-height: 1.45; color: var(--vst-encre); background: var(--vst-blanc); border: 1px solid var(--vst-ligne); }
:is(.vst-srv, #vst-x#vst-y) .avis svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.5; margin-top: 1px; }
:is(.vst-srv, #vst-x#vst-y) .avis.info { background: var(--vst-voile); border-color: transparent; }
:is(.vst-srv, #vst-x#vst-y) .avis .lien { padding: 0; font-size: 14px; }
:is(.vst-srv, #vst-x#vst-y) .bandeau-invite a { font-weight: 600; }
:is(.vst-srv, #vst-x#vst-y) .bandeau-invite { margin: 20px 0 4px; }
:is(.vst-srv, #vst-x#vst-y) .lien { color: var(--vst-encre); text-decoration: underline; text-underline-offset: 3px; font-size: 13px; background: none; border: 0; padding: 8px 0; white-space: nowrap; cursor: pointer; }
:is(.vst-srv, #vst-x#vst-y) .cartes-listes { margin: 24px 0 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
:is(.vst-srv, #vst-x#vst-y) .liste-carte > a { display: grid; gap: 6px; text-decoration: none; color: inherit; }
:is(.vst-srv, #vst-x#vst-y) .mosaique { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 3px; aspect-ratio: 4 / 3; max-width: 100%; overflow: hidden; background: var(--vst-photo); }
:is(.vst-srv, #vst-x#vst-y) .mosaique img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
:is(.vst-srv, #vst-x#vst-y) .mosaique > :first-child { grid-row: 1 / span 2; }
:is(.vst-srv, #vst-x#vst-y) .mosaique .reste { display: grid; place-items: center; background: var(--vst-blanc); font: 400 14px/1 var(--font-corps); color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .liste-nom { margin-top: 8px; font: 600 13px/1.3 var(--font-titre); text-transform: uppercase; letter-spacing: .1em; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .liste-meta { font-size: 13px; line-height: 1.45; }
:is(.vst-srv, #vst-x#vst-y) .creer-liste { width: 100%; aspect-ratio: 4 / 3; max-width: 100%; display: grid; place-content: center; justify-items: center; gap: 10px; border: 1px dashed var(--vst-ligne-ui); border-radius: var(--rayon); background: transparent; color: var(--vst-encre); font-size: 14px; }
:is(.vst-srv, #vst-x#vst-y) .creer-liste b { font: 600 12px/1.2 var(--font-titre); text-transform: uppercase; letter-spacing: .12em; }
:is(.vst-srv, #vst-x#vst-y) .creer-liste i { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--vst-encre); display: grid; place-items: center; font: 300 24px/1 var(--font-corps); font-style: normal; }
:is(.vst-srv, #vst-x#vst-y) .ajout-liste { margin-top: 20px; display: grid; gap: 8px; }
:is(.vst-srv, #vst-x#vst-y) .ajout-liste .btn:disabled { opacity: .45; cursor: default; }
:is(.vst-srv, #vst-x#vst-y) .resultat { margin-top: 16px; }
:is(.vst-srv, #vst-x#vst-y) .resultat:empty { display: none; }
:is(.vst-srv, #vst-x#vst-y) .outils-liste { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; margin-top: 16px; padding: 10px 0; border-top: 1px solid var(--vst-ligne); border-bottom: 1px solid var(--vst-ligne); font-size: 13px; }
:is(.vst-srv, #vst-x#vst-y) .outils-liste .alerte-etat { margin-left: auto; }
:is(.vst-srv, #vst-x#vst-y) .grille-wl { margin: 20px calc(-1 * var(--gouttiere)) 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 3px; }
:is(.vst-srv, #vst-x#vst-y) .envie { position: relative; display: grid; align-content: start; gap: 4px; min-width: 0; }
:is(.vst-srv, #vst-x#vst-y) .envie .visuel { position: relative; aspect-ratio: 2 / 3; background: var(--vst-photo); overflow: hidden; }
:is(.vst-srv, #vst-x#vst-y) .envie .visuel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
:is(.vst-srv, #vst-x#vst-y) .envie .badge { position: absolute; top: 10px; left: 10px; z-index: 2; background: var(--vst-rouge); color: #fff; font: 600 13px/1 var(--font-titre); letter-spacing: .06em; padding: 5px 7px; border-radius: 2px; }
:is(.vst-srv, #vst-x#vst-y) .envie .texte { padding: 8px 12px 0; display: grid; gap: 4px; }
:is(.vst-srv, #vst-x#vst-y) .envie .nom { font: 600 12px/1.3 var(--font-titre); text-transform: uppercase; letter-spacing: .06em; color: var(--vst-encre); text-decoration: none; }
:is(.vst-srv, #vst-x#vst-y) .envie .attr { font-size: 13px; line-height: 1.35; }
:is(.vst-srv, #vst-x#vst-y) .envie .px { font: 400 13px/1.2 var(--font-corps); color: var(--vst-encre); font-variant-numeric: tabular-nums; }
:is(.vst-srv, #vst-x#vst-y) .envie .px ins { text-decoration: none; color: var(--vst-rouge-fonce); font-weight: 600; background: none; }
:is(.vst-srv, #vst-x#vst-y) .envie .px del { margin-left: 6px; color: var(--vst-texte); }
:is(.vst-srv, #vst-x#vst-y) .signal { font-size: 13px; line-height: 1.35; color: var(--vst-encre); display: flex; gap: 6px; align-items: baseline; }
:is(.vst-srv, #vst-x#vst-y) .signal::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--vst-corail); transform: translateY(-1px); }
:is(.vst-srv, #vst-x#vst-y) .signal.baisse::before { background: var(--vst-rouge-fonce); }
:is(.vst-srv, #vst-x#vst-y) .signal.epuise::before { background: var(--vst-epuise); }
:is(.vst-srv, #vst-x#vst-y) .envie .agir { padding: 8px 12px 0; display: grid; gap: 2px; }
:is(.vst-srv, #vst-x#vst-y) .envie .agir .btn-contour { height: 44px; padding: 0 8px; width: 100%; font-size: 12px; letter-spacing: .1em; }
:is(.vst-srv, #vst-x#vst-y) .envie .agir .lien { justify-self: start; padding: 10px 0; }
:is(.vst-srv, #vst-x#vst-y) .envie .petit-case { min-height: 44px; padding-top: 6px; font-size: 13px; }
:is(.vst-srv, #vst-x#vst-y) .retirer { position: absolute; top: 4px; right: 4px; z-index: 2; width: 44px; height: 44px; display: grid; place-items: center; border: 0; background: none; padding: 0; }
:is(.vst-srv, #vst-x#vst-y) .retirer span { width: 28px; height: 28px; border-radius: 50%; background: rgba(255,253,252,.92); display: grid; place-items: center; font-size: 18px; line-height: 1; color: var(--vst-encre); box-shadow: 0 1px 3px rgba(35,35,36,.12); }
:is(.vst-srv, #vst-x#vst-y) .vide-liste { margin: 20px 0 0; font-size: 14px; }
:is(.vst-srv, #vst-x#vst-y) .vide-wl { margin-top: 24px; padding: 32px 20px; border: 1px solid var(--vst-ligne); border-radius: var(--rayon); background: var(--vst-blanc); display: grid; justify-items: start; gap: 12px; }
:is(.vst-srv, #vst-x#vst-y) .vide-wl svg { width: 28px; height: 28px; stroke: var(--vst-encre); fill: none; stroke-width: 1.4; }
:is(.vst-srv, #vst-x#vst-y) .vide-wl h2 { margin: 0; font: 600 13px/1.2 var(--font-titre); text-transform: uppercase; letter-spacing: .14em; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .vide-wl p { margin: 0; padding: 0; font-size: 14px; line-height: 1.6; max-width: 52ch; }
:is(.vst-srv, #vst-x#vst-y) .vide-wl ul { padding: 0 0 0 18px; list-style: disc; font-size: 14px; line-height: 1.7; }
:is(.vst-srv, #vst-x#vst-y) .tenue-wl { margin-top: 40px; }
:is(.vst-srv, #vst-x#vst-y) .choix-listes { display: grid; gap: 8px; padding: 16px 0; }
:is(.vst-srv, #vst-x#vst-y) .choix-listes .btn-contour { width: 100%; }
@media (min-width: 960px) {
  :is(.vst-srv, #vst-x#vst-y) .cartes-listes { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 24px; margin-top: 32px; }
  :is(.vst-srv, #vst-x#vst-y) .ajout-liste { grid-template-columns: auto 1fr; align-items: center; gap: 20px; }
  :is(.vst-srv, #vst-x#vst-y) .ajout-liste .btn { width: auto; padding: 0 32px; }
  :is(.vst-srv, #vst-x#vst-y) .grille-wl { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px 16px; margin: 32px 0 0; }
  :is(.vst-srv, #vst-x#vst-y) .envie :is(.texte, .agir) { padding-left: 0; padding-right: 0; }
  :is(.vst-srv, #vst-x#vst-y) .vide-wl { padding: 48px; }
  :is(.vst-srv, #vst-x#vst-y) .ariane { padding-top: 20px; }
}

/* ——— Commande et confirmation (maquettes/tunnel/src.html, états « Commande » et « Confirmation ») ——— */
.vst-commande-page #main-content, .vst-commande-page .et_pb_post_content { background: var(--gcid-vst-fond, #FFF8F4); }
:is(.vst-srv, #vst-x#vst-y).vst-commande { max-width: 1440px; margin: 0 auto; padding: 0 var(--gouttiere) 48px; }
:is(.vst-srv, #vst-x#vst-y) .recap-mobile { margin: 0 calc(-1 * var(--gouttiere)); background: var(--vst-blanc); border-bottom: 1px solid var(--vst-ligne); }
:is(.vst-srv, #vst-x#vst-y) .recap-mobile > summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 52px; padding: 0 var(--gouttiere); cursor: pointer; font-size: 14px; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .recap-mobile > summary::-webkit-details-marker { display: none; }
:is(.vst-srv, #vst-x#vst-y) .recap-mobile > summary > span:first-child { display: inline-flex; align-items: center; gap: 8px; text-decoration: underline; text-underline-offset: 3px; }
:is(.vst-srv, #vst-x#vst-y) .recap-mobile > summary > span:first-child::after { content: ""; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); }
:is(.vst-srv, #vst-x#vst-y) .recap-mobile[open] > summary > span:first-child::after { transform: rotate(-135deg); }
:is(.vst-srv, #vst-x#vst-y) .recap-mobile > summary b { font: 600 16px/1 var(--font-corps); font-variant-numeric: tabular-nums; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .recap-mobile .recap-int { padding: 0 var(--gouttiere) 16px; }
:is(.vst-srv, #vst-x#vst-y) .recap-mobile .totaux { margin-top: 12px; }
:is(.vst-srv, #vst-x#vst-y) .cadre-tunnel { display: grid; }
:is(.vst-srv, #vst-x#vst-y) .tete-etape { padding: 24px 0; display: grid; gap: 14px; }
:is(.vst-srv, #vst-x#vst-y) .etapes-tunnel { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 8px; font-size: 13px; line-height: 1.3; color: var(--vst-texte); }
:is(.vst-srv, #vst-x#vst-y) .etapes-tunnel li { display: inline-flex; align-items: center; gap: 8px; }
:is(.vst-srv, #vst-x#vst-y) .etapes-tunnel li + li::before { content: ""; width: 5px; height: 5px; border-right: 1.3px solid var(--vst-ligne-ui); border-top: 1.3px solid var(--vst-ligne-ui); transform: rotate(45deg); }
:is(.vst-srv, #vst-x#vst-y) .etapes-tunnel :is([data-fait], a) { color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .etapes-tunnel [aria-current="step"] { color: var(--vst-encre); font-weight: 600; }
:is(.vst-srv, #vst-x#vst-y) .commande-grille { display: grid; gap: 8px; }
:is(.vst-srv, #vst-x#vst-y) .commande-grille .recap { display: none; }
:is(.vst-srv, #vst-x#vst-y) .connexion-ligne { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px 16px; margin-bottom: 8px; background: var(--vst-voile); border-radius: var(--rayon); font-size: 14px; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .cadre-tunnel .bloc { padding: 32px 0; }
:is(.vst-srv, #vst-x#vst-y) .cadre-tunnel :is(.bloc-premier, .colonne-conf > .bloc:first-of-type) { border-top: 0; }
:is(.vst-srv, #vst-x#vst-y) .cadre-tunnel .bloc-tete { margin-bottom: 20px; }
:is(.vst-srv, #vst-x#vst-y) .bloc-tete h2 { font: 600 13px/1.2 var(--font-titre); color: var(--vst-encre); text-transform: uppercase; letter-spacing: .14em; }
:is(.vst-srv, #vst-x#vst-y) .bloc-tete .num { color: var(--vst-corail-texte); margin-right: 6px; }
:is(.vst-srv, #vst-x#vst-y) .cadre-tunnel .champs { gap: 20px; }
:is(.vst-srv, #vst-x#vst-y) .cadre-tunnel .champs-wc .form-row { gap: 8px; }
:is(.vst-srv, #vst-x#vst-y) .champs-wc .form-row .description { display: block; margin: 0; padding: 0; background: none; color: var(--vst-texte); font-size: 13px; line-height: 1.4; position: static; box-shadow: none; }
:is(.vst-srv, #vst-x#vst-y) .champs-wc .form-row .description::before { display: none; }
:is(.vst-srv, #vst-x#vst-y) .champs-wc .form-row textarea { height: 96px; padding-top: 12px; }
:is(.vst-srv, #vst-x#vst-y) .champs-wc .form-row.woocommerce-invalid :is(input, select) { border-color: var(--vst-erreur); }
:is(.vst-srv, #vst-x#vst-y) .champs-wc .form-row.woocommerce-invalid label { color: var(--vst-erreur); }
/* Prénom / nom, code postal / ville côte à côte (grille à deux colonnes, le reste sur toute la largeur) */
:is(.vst-srv, #vst-x#vst-y) .grille-adresse { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 12px; }
:is(.vst-srv, #vst-x#vst-y) .grille-adresse > * { grid-column: 1 / -1; }
:is(.vst-srv, #vst-x#vst-y) .grille-adresse > :is(.vst-duo-1, .vst-cp) { grid-column: 1; }
:is(.vst-srv, #vst-x#vst-y) .grille-adresse > :is(.vst-duo-2, .vst-ville) { grid-column: 2; }
@media (max-width: 359px) { :is(.vst-srv, #vst-x#vst-y) .grille-adresse > :is(.vst-duo-1, .vst-duo-2, .vst-cp, .vst-ville) { grid-column: 1 / -1; } }
/* Champs repliés : visibles sans JavaScript, repliés derrière « Ajouter … » avec */
:is(.vst-srv, #vst-x#vst-y) .ajout-champ { display: none; justify-self: start; border: 0; background: none; padding: 6px 0; min-height: 44px; font: 400 13px/1.3 var(--font-corps); color: var(--vst-encre); text-decoration: underline; text-underline-offset: 3px; }
:is(.vst-srv, #vst-x#vst-y) .ajout-champ::before { content: "+ "; }
:is(.vst-srv, #vst-x#vst-y).vst-cmd-js .ajout-champ:not([hidden]) { display: inline-block; }
:is(.vst-srv, #vst-x#vst-y).vst-cmd-js .vst-replie:not(.vst-ouvert) { display: none; }
:is(.vst-srv, #vst-x#vst-y) .bloc-suite { margin-top: 20px; display: grid; gap: 20px; }
:is(.vst-srv, #vst-x#vst-y) .bloc-suite:empty, :is(.vst-srv, #vst-x#vst-y) .woocommerce-additional-fields:not(:has(.form-row)) { display: none; }
:is(.vst-srv, #vst-x#vst-y) .case-lib-p { margin: 0; padding: 0; }
:is(.vst-srv, #vst-x#vst-y) .woocommerce-account-fields { display: grid; gap: 14px; }
/* Cartes de choix (livraison, paiement) */
:is(.vst-srv, #vst-x#vst-y) .options { display: grid; gap: 12px; margin: 0; padding: 0; border: 0; background: none; }
:is(.vst-srv, #vst-x#vst-y) .options > li { margin: 0; padding: 0; list-style: none; }
:is(.vst-srv, #vst-x#vst-y) .option { position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 4px 12px; align-items: start; padding: 16px; border: 1px solid var(--vst-ligne-ui); border-radius: var(--rayon); background: var(--vst-blanc); }
:is(.vst-srv, #vst-x#vst-y) .option:has(> input:checked) { border: 1.5px solid var(--vst-encre); padding: 15.5px; }
:is(.vst-srv, #vst-x#vst-y) .option > input { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; margin: 1px 0 0; border: 1.5px solid var(--vst-texte); border-radius: 50%; background: var(--vst-blanc); display: grid; place-items: center; cursor: pointer; }
:is(.vst-srv, #vst-x#vst-y) .option > input::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--vst-encre); transform: scale(0); transition: transform .12s; }
:is(.vst-srv, #vst-x#vst-y) .option > input:checked { border-color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .option > input:checked::after { transform: scale(1); }
:is(.vst-srv, #vst-x#vst-y) .option > label { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; margin: 0; padding: 0; cursor: pointer; font-size: 14px; line-height: 1.35; color: var(--vst-encre); }
/* La zone cliquable couvre toute la carte (le label s'étend sous la pastille) */
:is(.vst-srv, #vst-x#vst-y) .option > label::before { content: ""; position: absolute; inset: 0; }
:is(.vst-srv, #vst-x#vst-y) .option b { font: 600 14px/1.35 var(--font-corps); color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .option .prix-opt { font: 400 14px/1.35 var(--font-corps); font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
:is(.vst-srv, #vst-x#vst-y) .option .prix-opt.offert { font-weight: 600; }
:is(.vst-srv, #vst-x#vst-y) .option .detail { grid-column: 1 / -1; font-size: 13px; line-height: 1.45; color: var(--vst-texte); }
:is(.vst-srv, #vst-x#vst-y) .option :is(.sous, .payment_box) { position: relative; z-index: 1; grid-column: 2 / -1; margin: 8px 0 0; padding: 0; background: none; font-size: 13px; line-height: 1.45; color: var(--vst-texte); }
:is(.vst-srv, #vst-x#vst-y) .option .payment_box::before { display: none; }
:is(.vst-srv, #vst-x#vst-y) .option .payment_box p { margin: 0; padding: 0; }
:is(.vst-srv, #vst-x#vst-y) .option .sous :is(a, button) { color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .option .logos { display: inline-flex; gap: 4px; vertical-align: middle; }
:is(.vst-srv, #vst-x#vst-y) .option .logos img { display: inline-block; height: 22px; width: auto; max-height: 22px; margin: 0; float: none; }
:is(.vst-srv, #vst-x#vst-y) .vst-cmd-livraison > .petit { padding: 14px 16px; background: var(--vst-blanc); border: 1px solid var(--vst-ligne); border-radius: var(--rayon); }
/* Paiement : la feuille woocommerce.css pose un fond gris, des marges et une bordure sur #payment */
:is(.vst-srv, #vst-x#vst-y) #payment { background: none; border-radius: 0; }
:is(.vst-srv, #vst-x#vst-y) #payment ul.payment_methods { padding: 0; border: 0; }
:is(.vst-srv, #vst-x#vst-y) #payment ul.payment_methods::before, :is(.vst-srv, #vst-x#vst-y) #payment ul.payment_methods::after { display: none; }
:is(.vst-srv, #vst-x#vst-y) #payment .place-order { display: grid; gap: 14px; margin: 0; padding: 28px 0 0; float: none; }
:is(.vst-srv, #vst-x#vst-y) #payment #place_order { float: none; width: 100%; height: 52px; margin: 0; padding: 0 20px; font: 600 14px/1 var(--font-titre); text-transform: uppercase; letter-spacing: .12em; }
:is(.vst-srv, #vst-x#vst-y) #payment #place_order:disabled { opacity: .6; cursor: progress; }
:is(.vst-srv, #vst-x#vst-y) .woocommerce-terms-and-conditions-wrapper { font-size: 13px; line-height: 1.5; }
:is(.vst-srv, #vst-x#vst-y) .woocommerce-terms-and-conditions-wrapper p { margin: 0; padding: 0; }
:is(.vst-srv, #vst-x#vst-y) .woocommerce-terms-and-conditions-wrapper .form-row { margin: 10px 0 0; padding: 0; }
:is(.vst-srv, #vst-x#vst-y) .woocommerce-terms-and-conditions-wrapper label.checkbox { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; font-size: 14px; color: var(--vst-encre); cursor: pointer; }
:is(.vst-srv, #vst-x#vst-y) .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; margin: 1px 0 0; border: 1.5px solid var(--vst-texte); border-radius: 3px; background: var(--vst-blanc); display: grid; place-items: center; }
:is(.vst-srv, #vst-x#vst-y) .woocommerce-terms-and-conditions-wrapper input[type="checkbox"]::after { content: ""; width: 10px; height: 5px; border-left: 2px solid var(--vst-encre); border-bottom: 2px solid var(--vst-encre); transform: rotate(-45deg) translate(1px, -1px); opacity: 0; }
:is(.vst-srv, #vst-x#vst-y) .woocommerce-terms-and-conditions-wrapper input[type="checkbox"]:checked { border-color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .woocommerce-terms-and-conditions-wrapper input[type="checkbox"]:checked::after { opacity: 1; }
:is(.vst-srv, #vst-x#vst-y) .mention-paiement { margin-top: 14px; }
:is(.vst-srv, #vst-x#vst-y) #vst-code-message.erreur { color: var(--vst-erreur); font-weight: 600; }
:is(.vst-srv, #vst-x#vst-y) .ligne.mini { grid-template-columns: 56px minmax(0, 1fr); gap: 12px; padding: 12px 0; }
:is(.vst-srv, #vst-x#vst-y) .ligne.mini .ligne-img { width: 56px; }
:is(.vst-srv, #vst-x#vst-y) .ligne.mini .ligne-corps { position: relative; }
:is(.vst-srv, #vst-x#vst-y) .ligne.mini .qte { position: absolute; left: -68px; top: -8px; min-width: 22px; height: 22px; border-radius: 11px; background: var(--vst-encre); color: var(--vst-blanc); font: 600 13px/22px var(--font-corps); text-align: center; padding: 0 6px; }
/* Confirmation */
:is(.vst-srv, #vst-x#vst-y) .avis { display: grid; grid-template-columns: 20px 1fr; gap: 10px; padding: 12px 14px; margin-bottom: 8px; border-radius: var(--rayon); font-size: 14px; line-height: 1.45; color: var(--vst-encre); background: var(--vst-blanc); border: 1px solid var(--vst-ligne); }
:is(.vst-srv, #vst-x#vst-y) .avis svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.5; margin-top: 1px; }
:is(.vst-srv, #vst-x#vst-y) .avis.info { background: var(--vst-voile); border-color: transparent; }
:is(.vst-srv, #vst-x#vst-y) .avis.erreur { grid-template-columns: 1fr; border-color: var(--vst-erreur); color: var(--vst-erreur); }
:is(.vst-srv, #vst-x#vst-y) .suite-cmd { margin: 0; padding: 0; display: grid; counter-reset: s; }
:is(.vst-srv, #vst-x#vst-y) .suite-cmd li { display: grid; grid-template-columns: 28px 1fr; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--vst-ligne); font-size: 14px; line-height: 1.5; counter-increment: s; list-style: none; }
:is(.vst-srv, #vst-x#vst-y) .suite-cmd li::before { content: counter(s); width: 24px; height: 24px; border-radius: 50%; background: var(--vst-encre); color: var(--vst-blanc); font: 600 12px/24px var(--font-corps); text-align: center; }
:is(.vst-srv, #vst-x#vst-y) .suite-cmd li:last-child { border-bottom: 0; padding-bottom: 0; }
:is(.vst-srv, #vst-x#vst-y) .suite-cmd b { display: block; color: var(--vst-encre); font-weight: 600; }
:is(.vst-srv, #vst-x#vst-y) .boutons-conf { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
:is(.vst-srv, #vst-x#vst-y) .lien-simple { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
/* Commande v2 : avis et erreurs (19.10). La liste brute de WooCommerce est remplacée par un résumé dans #vst-avis (vst-service.js) */
:is(.vst-srv, #vst-x#vst-y) .vst-avis-zone { display: grid; gap: 8px; margin-bottom: 8px; scroll-margin-top: 96px; outline: 0; }
:is(.vst-srv, #vst-x#vst-y) .vst-avis-zone:empty { display: none; }
:is(.vst-srv, #vst-x#vst-y) .vst-avis-zone:focus-visible { outline: 2px solid var(--vst-encre); outline-offset: 2px; }
:is(.vst-srv, #vst-x#vst-y) .vst-avis-zone .avis { margin: 0; grid-template-columns: 20px 1fr; }
:is(.vst-srv, #vst-x#vst-y) .vst-avis-zone .avis p { margin: 0; padding: 0; font-size: 14px; line-height: 1.45; color: inherit; }
:is(.vst-srv, #vst-x#vst-y) .vst-avis-zone .avis a { color: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
:is(.vst-srv, #vst-x#vst-y) .vst-avis-zone .avis.ok svg { stroke-width: 2; }
:is(.vst-srv, #vst-x#vst-y) :is(.champs-wc, .woocommerce-terms-and-conditions-wrapper) .checkout-inline-error-message { margin: 0; padding: 0; font-size: 13px; font-weight: 600; line-height: 1.4; color: var(--vst-erreur); }
:is(.vst-srv, #vst-x#vst-y) .woocommerce-terms-and-conditions-wrapper .checkout-inline-error-message { flex-basis: 100%; margin-top: 8px; }
:is(.vst-srv, #vst-x#vst-y) .champs-wc .form-row.woocommerce-invalid .select2-container .select2-selection--single { border-color: var(--vst-erreur); }
:is(.vst-srv, #vst-x#vst-y) .woocommerce-terms-and-conditions-wrapper .form-row.woocommerce-invalid input[type="checkbox"] { border-color: var(--vst-erreur); }
:is(.vst-srv, #vst-x#vst-y) .woocommerce-terms-and-conditions-wrapper .form-row.woocommerce-invalid label { color: var(--vst-erreur); }
/* « Déjà client ? » replié sur place (formulaire de connexion natif, #vst-connexion) */
:is(.vst-srv, #vst-x#vst-y) details.connexion-ligne { display: block; padding: 0; }
:is(.vst-srv, #vst-x#vst-y) details.connexion-ligne summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 48px; padding: 0 16px; cursor: pointer; list-style: none; }
:is(.vst-srv, #vst-x#vst-y) details.connexion-ligne summary::-webkit-details-marker { display: none; }
:is(.vst-srv, #vst-x#vst-y) details.connexion-ligne .lien-cx { text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
:is(.vst-srv, #vst-x#vst-y) details.connexion-ligne[open] .lien-cx { text-decoration: none; }
:is(.vst-srv, #vst-x#vst-y) .connexion-form { display: grid; gap: 16px; padding: 4px 16px 16px; }
:is(.vst-srv, #vst-x#vst-y) .connexion-form .champ-cx { display: grid; gap: 8px; margin: 0; padding: 0; }
:is(.vst-srv, #vst-x#vst-y) .connexion-form label { font-size: 14px; font-weight: 600; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .connexion-form input { width: 100%; height: 48px; padding: 0 14px; border: 1px solid var(--vst-ligne-ui); border-radius: var(--rayon); background: var(--vst-blanc); font-size: 16px; color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .connexion-form .actions-cx { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin: 0; padding: 0; }
:is(.vst-srv, #vst-x#vst-y) .connexion-form .actions-cx button { height: 44px; padding: 0 20px; border: 1px solid var(--vst-encre); border-radius: var(--rayon); background: var(--vst-encre); color: var(--vst-blanc); font: 600 12px/1 var(--font-titre); text-transform: uppercase; letter-spacing: .12em; cursor: pointer; }
:is(.vst-srv, #vst-x#vst-y) .connexion-form .actions-cx a { font-size: 13px; color: var(--vst-encre); text-decoration: underline; text-underline-offset: 3px; }
:is(.vst-srv, #vst-x#vst-y) .connexion-form .petit { margin: 0; }
@media (min-width: 960px) {
  :is(.vst-srv, #vst-x#vst-y) .recap-mobile { display: none; }
  :is(.vst-srv, #vst-x#vst-y) .cadre-tunnel { max-width: 1076px; margin: 0 auto; width: 100%; }
  :is(.vst-srv, #vst-x#vst-y) .tete-etape { padding: 40px 0 32px; }
  :is(.vst-srv, #vst-x#vst-y) .commande-grille { grid-template-columns: minmax(0, 1fr) 380px; gap: 96px; align-items: start; }
  :is(.vst-srv, #vst-x#vst-y) .commande-grille .recap { display: grid; position: sticky; top: 100px; }
  :is(.vst-srv, #vst-x#vst-y) .cadre-tunnel .bloc { padding: 40px 0; }
  :is(.vst-srv, #vst-x#vst-y) .cadre-tunnel .bloc-premier { padding-top: 32px; }
  :is(.vst-srv, #vst-x#vst-y) .ligne.mini { grid-template-columns: 56px minmax(0, 1fr); gap: 12px; }
  :is(.vst-srv, #vst-x#vst-y) .ligne.mini .ligne-img { width: 56px; }
}

/* Connexion : une colonne, deux onglets (la version « deux colonnes » est abandonnée) */
:is(.vst-srv, #vst-x#vst-y).vst-connexion :is(.service-tete, .retour-commande, .connexion-colonne) { max-width: 480px; margin-left: auto; margin-right: auto; }
:is(.vst-srv, #vst-x#vst-y) .connexion-colonne { display: grid; gap: 20px; }
:is(.vst-srv, #vst-x#vst-y) .connexion-colonne .segments { margin: 0; border: 1px solid var(--vst-ligne); border-radius: var(--rayon); background: var(--vst-fond); overflow: hidden; }
:is(.vst-srv, #vst-x#vst-y) .connexion-colonne .segments button { height: 52px; font-size: 13px; color: var(--vst-texte); border-bottom-width: 3px; cursor: pointer; }
:is(.vst-srv, #vst-x#vst-y) .connexion-colonne .segments button[aria-selected="true"] { background: var(--vst-blanc); color: var(--vst-encre); border-bottom-color: var(--vst-encre); }
:is(.vst-srv, #vst-x#vst-y) .connexion-colonne .segments button:focus-visible { outline: 2px solid var(--vst-encre); outline-offset: -4px; }
.vst-js :is(.vst-srv, #vst-x#vst-y) .connexion-colonne .titre-pan { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:is(.vst-srv, #vst-x#vst-y) .connexion-colonne .bloc-cx + .bloc-cx { margin-top: 24px; }
.vst-js :is(.vst-srv, #vst-x#vst-y) .connexion-colonne .bloc-cx + .bloc-cx { margin-top: 0; }
:is(.vst-srv, #vst-x#vst-y) .bascule { margin: 0; font-size: 14px; color: var(--vst-texte); }
:is(.vst-srv, #vst-x#vst-y) .bascule a { color: var(--vst-encre); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
