/* Fiche produit premium (refonte 2026-10) — voir fiche-produit.php.
   Chargée APRÈS woocommerce.css du thème, sur la fiche seulement.
   Jetons de base.css uniquement : aucune couleur ni police hors charte. */

/* ── Grille : la photo prend la place, l'achat reste à portée ─────────── */
.single-product div.product{grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:clamp(40px,5vw,80px)}
/* WooCommerce pose sur .summary une largeur de 48 % et un flottant : c'est ce
   qui réduisait la colonne d'achat à 180 px dans sa cellule. */
/* Pas de colonne collante : son conteneur est toute la fiche, elle glissait
   donc par-dessus la bande « trois étapes » ; et plus haute que l'écran, son
   bas devenait inaccessible. */
.woocommerce.single-product div.product div.summary{float:none;width:auto;margin:0}

/* ── Média ────────────────────────────────────────────────────────────── */
.single-product .gl-single-media{position:relative}
.single-product .gl-single-media__frame{aspect-ratio:auto;height:clamp(460px,58vw,720px);max-width:none;border:0;border-radius:28px;background:linear-gradient(180deg,#F3F2EE 0%,var(--lgray) 100%)}
.single-product div.product .gl-single-media__img{padding:clamp(28px,4vw,56px)}

.gl-fiche-tuiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 0}
.gl-fiche-tuiles div{background:#F3F2EE;border-radius:18px;padding:20px 22px;min-width:0}
.gl-fiche-tuiles dt{font-family:var(--head);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-ink)}
.gl-fiche-tuiles dd{margin:6px 0 0;font-family:var(--serif);font-size:clamp(22px,2.2vw,30px);line-height:1.05;color:var(--navy);overflow-wrap:anywhere}

/* ── Colonne d'achat ──────────────────────────────────────────────────── */
.gl-fiche-surtitre{font-family:var(--head);font-size:12px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 12px}
.single-product div.product .product_title{font-size:clamp(36px,4.2vw,58px);line-height:1.02}
.single-product div.product .summary .price{font-family:var(--serif);font-weight:500;font-size:clamp(32px,3vw,42px);line-height:1;margin:22px 0 0;padding-top:22px;border-top:1px solid var(--line)}
.single-product div.product .summary .price .gl-price-unit{font-family:var(--body);font-size:14px;font-weight:400;color:var(--tgray)}
.single-product div.product .summary .price .gl-price-box{display:block;font-family:var(--body);font-size:14px;font-weight:400;color:var(--navy);margin-top:10px}
/* Le montant prenait le vert olive par défaut de WooCommerce (#958e09). */
.single-product div.product .summary .price,.single-product div.product .summary .price .amount{color:var(--navy)}
/* La ligne matière/contenance (masquée quand les tuiles existent) portait
   l'espace sous le prix : le bouton collait au montant de la boîte. */
.single-product div.product .summary .price{margin-bottom:26px}
.single-product .gl-single-meta{margin:14px 0 22px}
.single-product div.product .woocommerce-product-details__short-description{border-top:0;padding-top:0;margin-bottom:24px}

/* Personnaliser : pleine largeur de la colonne. */
.single-product .gl-single-custom__btn{max-width:none;min-height:60px;font-size:15px;box-shadow:0 18px 42px rgba(200,169,106,.28)}

/* Quantité par boîte : libellé, puis − champ + sur une ligne, puis le bouton. */
.single-product div.product form.cart{flex-wrap:wrap;gap:12px;margin-top:18px}
.gl-qte-libelle{flex:1 0 100%;font-family:var(--head);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--navy)}
.single-product div.product form.cart .quantity{display:flex;align-items:center;gap:6px;padding:5px;background:#fff;border:1px solid var(--line);border-radius:var(--r-btn);margin:0}
.single-product .quantity input.qty{border:0;width:64px;padding:10px 0;-moz-appearance:textfield}
.single-product .quantity input.qty::-webkit-inner-spin-button,.single-product .quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.gl-qte-btn{width:44px;height:44px;border:0;border-radius:10px;background:#F3F2EE;color:var(--navy);font-size:20px;line-height:1;cursor:pointer;transition:background .25s var(--ease)}
.gl-qte-btn:hover{background:var(--lgray)}
.gl-qte-btn:focus-visible{outline:2px solid var(--gold-ink);outline-offset:2px}
.single-product div.product form.cart .single_add_to_cart_button{flex:1 1 180px;min-height:56px}

/* Engagements : une carte 2 × 2 au lieu d'une longue liste. */
.single-product .gl-assur{grid-template-columns:1fr;gap:16px;margin-top:26px;padding:20px;border:1px solid var(--line);border-radius:var(--r-card);background:#fff}

/* ── Bande « trois étapes » : pleine largeur, fond nuit ───────────────── */
.single-product div.product>.gl-fiche-etapes,
.single-product div.product>.gl-fiche-verre{grid-column:1 / -1}
.gl-fiche-etapes{margin:90px calc(50% - 50vw) 0;background:var(--lux);color:var(--off)}
.gl-fiche-etapes__in{max-width:1240px;margin:0 auto;padding:clamp(56px,7vw,96px) clamp(20px,4vw,32px)}
.gl-fiche-etapes__kick{font-family:var(--head);font-size:12px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--champ);margin:0 0 14px}
.gl-fiche-etapes h2{font-family:var(--serif);font-weight:500;font-size:clamp(32px,4vw,48px);line-height:1.05;color:var(--off);margin:0 0 clamp(32px,4vw,56px)}
.gl-fiche-etapes ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gl-fiche-etapes li{border-top:1px solid rgba(230,212,163,.35);padding-top:24px;display:flex;flex-direction:column;gap:10px}
.gl-fiche-etapes__num{font-family:var(--serif);font-size:40px;line-height:1;color:var(--gold)}
.gl-fiche-etapes strong{font-family:var(--head);font-size:17px;font-weight:600}
.gl-fiche-etapes li>span:last-child{font-size:15px;line-height:1.6;color:rgba(250,250,248,.72)}

/* ── Le verre : description + fiche technique ─────────────────────────── */
.gl-fiche-verre{display:flex;flex-wrap:wrap;gap:clamp(40px,5vw,64px);padding:clamp(56px,7vw,96px) 0 0}
.gl-fiche-verre__texte{flex:999 1 480px;min-width:0}
.gl-fiche-verre__kick{font-family:var(--head);font-size:12px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 14px}
.gl-fiche-verre h2{font-family:var(--serif);font-weight:500;font-size:clamp(32px,3.6vw,44px);line-height:1.08;margin:0 0 18px}
.gl-fiche-verre__desc{font-size:17px;line-height:1.75;color:var(--tgray)}
.gl-fiche-verre__desc p{margin:0 0 12px}
.gl-fiche-verre__occasions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.gl-fiche-verre__occasions a{padding:10px 18px;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center;border:1px solid var(--line);background:#fff;border-radius:999px;color:var(--navy);font-family:var(--head);font-size:13px;font-weight:600;transition:border-color .3s var(--ease)}
.gl-fiche-verre__occasions a:hover{border-color:var(--gold)}
.gl-fiche-verre__specs{flex:1 1 340px;min-width:0;margin:0;border-top:1px solid var(--navy)}
.gl-fiche-verre__specs div{display:flex;justify-content:space-between;gap:16px;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}
.gl-fiche-verre__specs dt{color:var(--tgray)}
.gl-fiche-verre__specs dd{margin:0;font-weight:500;color:var(--navy);text-align:right}

/* Produits liés : sans filet de séparation (la section précédente en sert). */
.single-product .related.products{border-top:0;margin-top:clamp(56px,7vw,96px)}

/* ── Barre d'achat collante : mobile seulement ────────────────────────── */
.gl-fiche-barre{display:none}

/* Tablette et en dessous : une seule colonne, l'achat suit la photo. */
@media (max-width:1000px){
	.single-product div.product{grid-template-columns:1fr}
	.gl-fiche-etapes ol{grid-template-columns:1fr;gap:22px}
}

@media (max-width:720px){
	.single-product .gl-single-media__frame{height:clamp(380px,118vw,480px);border-radius:24px;max-width:none}
	.gl-fiche-tuiles{gap:8px}
	.gl-fiche-tuiles div{padding:14px 12px;border-radius:14px}
	.gl-fiche-tuiles dt{font-size:9px;letter-spacing:.18em}
	.single-product .gl-assur{grid-template-columns:1fr;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:20px 0 0}
	.gl-fiche-etapes{margin-top:56px}
	.gl-fiche-barre{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:900;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:rgba(250,250,248,.94);border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(17,24,39,.06);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
	.gl-fiche-barre__prix{display:flex;flex-direction:column;line-height:1.15}
	.gl-fiche-barre__prix strong{font-family:var(--serif);font-weight:500;font-size:22px;color:var(--navy)}
	.gl-fiche-barre__prix span{font-size:11px;color:var(--tgray)}
	.gl-fiche-barre__cta{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:var(--r-btn);background:linear-gradient(120deg,#C8A96A,#E6D4A3);color:var(--lux);font-family:var(--head);font-weight:700;font-size:15px}
	/* Le pied de page ne doit pas finir sous la barre. */
	body.single-product{padding-bottom:84px}
}

@media (prefers-reduced-motion:reduce){
	.gl-qte-btn,.gl-fiche-verre__occasions a{transition:none}
}

/* Retouches après vérification à l'écran. */
/* La ligne « matière · contenance · boîte » répète les tuiles : on la retire
   quand les tuiles sont là (sinon elle reste la seule information). */
.single-product div.product:has(.gl-fiche-tuiles) .gl-single-meta{display:none}
/* wc_price() pose sa propre taille sur le montant : il suit celle de la barre. */
.gl-fiche-barre__prix strong .woocommerce-Price-amount,.gl-fiche-barre__prix strong bdi,.gl-fiche-barre__prix strong .woocommerce-Price-currencySymbol{font-size:inherit;font-weight:inherit;color:inherit}
@media (max-width:720px){
	.gl-fiche-tuiles dd{font-size:17px;overflow-wrap:normal;word-break:keep-all;hyphens:none}
	.gl-fiche-tuiles div{padding:13px 10px}
	.gl-fiche-tuiles dt{letter-spacing:.06em;overflow-wrap:anywhere}
}

/* ── Retouches au pixel (2026-10-27) ──────────────────────────────────── */
/* Rythme vertical régulier dans la colonne d'achat : 24 px entre blocs. */
.single-product div.product .summary .price{margin-bottom:24px}
.single-product .gl-single-custom{margin-bottom:24px}
.single-product div.product form.cart{margin:0 0 24px}
.single-product .gl-jauge-note{margin:0 0 24px}
.single-product .gl-assur{margin-top:0}
/* « Ajouter sans gravure » s'aligne sur le bord droit de la colonne. */
.single-product div.product form.cart .single_add_to_cart_button{flex:1 1 150px;margin:0}
/* Encadré jauge : carte arrondie comme les autres, sans filet gauche épais. */
.single-product .gl-jauge-note{padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}
/* Téléphone : quantité et « Ajouter sans gravure » tiennent sur une ligne,
   libellé sans retour à la ligne. */
@media (max-width:480px){
	.single-product .quantity input.qty{width:44px}
	.gl-qte-btn{width:42px;height:42px}
	.single-product div.product form.cart .single_add_to_cart_button{flex:1 1 120px;padding-left:12px;padding-right:12px;white-space:nowrap;font-size:14px}
}
/* Après la bande sombre, « Les autres verres » n'a plus ~250 px de vide au-dessus. */
.single-product .related.products{margin-top:clamp(56px,6vw,80px);padding-top:0}

/* Prix dégressif par boîtes (Glassora_Prix) : sous le prix, sobre. */
.gl-paliers{margin:4px 0 22px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-card)}
.gl-paliers__titre{margin:0 0 8px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink)}
.gl-paliers ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.gl-paliers li{display:flex;justify-content:space-between;gap:16px;font-size:14px}
.gl-paliers li span{color:var(--muted)}
.gl-paliers__note{margin:8px 0 0;font-size:12px;color:var(--muted)}
