/* ============================================================
   La Caféothèque — Fiche produit (single product WooCommerce)
   Cafés ET produits formation. Cohérent avec le redesign :
   crème, Onest, or, cartes arrondies. Scopé sous .single-product.
   Onglet « Avis » retiré + « Informations complémentaires »
   fusionnées dans la Description (voir functions.php).
   ============================================================ */

/* On CONSERVE la mise en page WooCommerce d'origine (galerie | résumé côte à côte,
   équilibrée) : pas de grille, pas de carte blanche, pas de titre masqué. On
   n'applique QUE l'habillage (couleurs, typo, arrondis, boutons, onglets). */

/* ── Galerie : coins arrondis ── */
.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery img{border-radius:14px;}
.single-product .woocommerce-product-gallery__trigger{top:16px;right:16px;}

/* ── Résumé : typographie du redesign (structure inchangée) ── */
.single-product div.product .summary{font-family:'Onest',sans-serif;color:#2c3235;}
.single-product div.product .summary .product_title{font-size:clamp(26px,3vw,36px);font-weight:400;color:#42240c;letter-spacing:1px;margin:0 0 16px;}
.single-product .summary .price{font-size:26px;color:#482b13;font-weight:500;margin:0 0 22px;line-height:1.2;}
.single-product .summary .price del{color:#9a7862;font-weight:400;margin-right:8px;}
.single-product .summary .price ins{text-decoration:none;}
/* Texte lecteur d'écran « Plage de prix… » : masqué visuellement */
.single-product .screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
.single-product .woocommerce-product-details__short-description{font-size:16px;color:#2c3235;line-height:1.75;margin:0 0 20px;}
.single-product .woocommerce-product-details__short-description p{margin:0 0 12px;}
.single-product .woocommerce-product-details__short-description p:last-child{margin-bottom:0;}

/* ── Variations (sélecteurs Poids / Mouture, swatches) ── */
/* Rythme vertical : 8px entre un intitulé et SES pastilles, 16px entre deux
   attributs. Sans le padding sur td, le second intitulé se colle aux pastilles
   du premier (1px mesuré) et les deux groupes se lisent comme un seul. */
.single-product .variations{margin:0 0 16px;}
.single-product .variations th,
.single-product .variations .label label{font-size:14px;letter-spacing:1.5px;text-transform:uppercase;color:#2c3235;font-weight:500;padding:0 0 8px;}
.single-product .variations td{padding:0 0 16px;}
.single-product .variations tr:last-child td{padding-bottom:0;}
.single-product .variable-items-wrapper{gap:10px;}
.single-product .variable-item:not(.radio-variable-item){border-radius:8px!important;box-shadow:0 0 0 1px rgba(154,120,98,.4)!important;background:#fff!important;transition:box-shadow .2s,background .2s;}
.single-product .variable-item.selected,
.single-product .variable-item:hover{box-shadow:0 0 0 2px #dfa63e!important;}
.single-product .variable-item .variable-item-span{font-size:14px!important;color:#2c3235!important;padding:8px 16px!important;}
.single-product .variable-item.selected .variable-item-span{color:#42240c!important;font-weight:500;}
.single-product .reset_variations{display:inline-block;margin-top:10px;font-size:14px;color:#9a7862;}
.single-product .woocommerce-variation-availability{margin-top:14px;}
.single-product .woocommerce-variation-add-to-cart{margin-top:16px;}

/* ── Quantité + Ajouter au panier ── */
.single-product .quantity input.qty{height:46px;width:64px;border:1px solid rgba(154,120,98,.4);border-radius:10px;background:#fff;font-family:'Onest',sans-serif;font-size:14px;color:#2c3235;text-align:center;}
.single-product form.cart{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 24px;}
/* Le flex ci-dessus aligne quantité + bouton sur les produits SIMPLES. Sur un produit
   à variations le formulaire n'a qu'un seul enfant : la règle n'y sert à rien et ajoute
   14px parasites en haut et en bas, visibles dès que la colonne se resserre (1024px et
   mobile). À GARDER APRÈS form.cart : même spécificité, c'est l'ordre qui tranche. */
.single-product form.variations_form{display:block;}
.single-product .single_add_to_cart_button,
.single-product .single_add_to_cart_button.button{background:#ffd17c!important;color:#42240c!important;border:0!important;border-radius:30px!important;padding:15px 34px!important;font-family:'Onest',sans-serif!important;font-size:14px!important;letter-spacing:2px!important;font-weight:500!important;text-transform:uppercase;box-shadow:none!important;min-height:46px;transition:background .2s;}
.single-product .single_add_to_cart_button:hover{background:#dfa63e!important;}

/* ── Méta (UGS / Catégories) ── */
.single-product .product_meta{font-size:14px;color:#9a7862;line-height:1.8;border-top:1px solid rgba(44,50,53,.08);padding-top:20px;margin-top:4px;}
.single-product .product_meta a{color:#482b13;}
.single-product .product_meta a:hover{color:#42240c;}

/* UGS + catégories déplacés dans l'onglet Description. */
.single-product .cafeo-prod-meta{display:flex;flex-wrap:wrap;gap:6px 28px;font-size:14px;color:#9a7862;line-height:1.9;margin:26px 0 0;padding-top:18px;border-top:1px solid rgba(44,50,53,.1);}
.single-product .cafeo-prod-meta__item strong{color:#482b13;font-weight:500;}
.single-product .cafeo-prod-meta a{color:#482b13;text-decoration:underline;text-decoration-color:#ffd17c;text-underline-offset:3px;}
.single-product .cafeo-prod-meta a:hover{text-decoration-color:#482b13;}

/* ── Onglets (Description seule après fusion) ── */
.single-product .woocommerce-tabs{margin-top:64px;clear:both;}
.single-product .woocommerce-tabs ul.tabs{list-style:none;margin:0 0 28px;padding:0 0 0 0;border-bottom:1px solid rgba(44,50,53,.12);display:flex;gap:8px;}
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after{display:none;}
.single-product .woocommerce-tabs ul.tabs li{background:none!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;box-shadow:none!important;}
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after{display:none;}
.single-product .woocommerce-tabs ul.tabs li a{display:block;padding:12px 4px;font-family:'Onest',sans-serif;font-size:16px;font-weight:500;letter-spacing:.5px;color:#9a7862!important;text-transform:none;border-bottom:2px solid transparent!important;margin-bottom:-1px;transition:color .2s,border-color .2s;}
.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover{color:#42240c!important;border-bottom-color:#ffd17c!important;}
.single-product .woocommerce-tabs .panel{margin:0;padding:0;}
.single-product .woocommerce-tabs .panel > h2:first-child{font-size:26px;font-weight:400;color:#42240c;letter-spacing:1px;margin:0 0 20px;}

/* Contenu description */
.single-product .cafeo-prod-desc{font-size:17px;line-height:1.85;color:#2c3235;max-width:760px;}
.single-product .cafeo-prod-desc p{margin:0 0 18px;}
.single-product .cafeo-prod-desc ul{margin:0 0 18px;padding-left:22px;}
.single-product .cafeo-prod-desc li{margin-bottom:8px;line-height:1.7;}
.single-product .cafeo-prod-desc li::marker{color:#dfa63e;}
.single-product .cafeo-prod-desc strong{color:#482b13;}
.single-product .cafeo-prod-desc img{border-radius:10px;}

/* Tableau des caractéristiques (ex « Informations complémentaires ») */
.single-product .cafeo-prod-attrs{margin-top:36px;max-width:760px;}
.single-product .cafeo-prod-attrs .cafeo-attr-title{font-size:20px;font-weight:500;color:#482b13;letter-spacing:.5px;margin:0 0 16px;}
.single-product table.shop_attributes{width:100%;border-collapse:collapse;font-size:15px;}
.single-product table.shop_attributes th,
.single-product table.shop_attributes td{text-align:left;padding:12px 16px;border-bottom:1px solid rgba(44,50,53,.08);vertical-align:top;line-height:1.6;}
.single-product table.shop_attributes th{width:220px;font-weight:500;color:#482b13;background:rgba(255,209,124,.14);}
.single-product table.shop_attributes td{color:#2c3235;}
.single-product table.shop_attributes p{margin:0;}

/* ── Produits associés / upsells ── */
.single-product .related.products,
.single-product .upsells.products{margin-top:72px;clear:both;}
.single-product .related.products > h2,
.single-product .upsells.products > h2{font-size:26px;font-weight:400;color:#42240c;letter-spacing:1px;margin:0 0 32px;}

/* Cartes des produits similaires (loop WooCommerce) — cohérentes avec la boutique. */
.single-product .related.products ul.products,
.single-product .upsells.products ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:0;padding:0;list-style:none;}
.single-product .related.products ul.products::before,
.single-product .related.products ul.products::after,
.single-product .upsells.products ul.products::before,
.single-product .upsells.products ul.products::after{content:none;display:none;}
.single-product .related.products li.product,
.single-product .upsells.products li.product{width:auto!important;margin:0!important;padding:0!important;float:none!important;background:#fff;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;text-align:left;transition:box-shadow .2s;}
.single-product .related.products li.product:hover,
.single-product .upsells.products li.product:hover{box-shadow:0 8px 32px rgba(44,50,53,.12);}
.single-product .related.products li.product > a,
.single-product .upsells.products li.product > a:not(.button){display:flex;flex-direction:column;color:inherit;}
.single-product .related.products li.product img,
.single-product .upsells.products li.product img{margin:0!important;border-radius:0;width:100%;height:230px;object-fit:cover;object-position:30% top;}
.single-product .related.products li.product .woocommerce-loop-product__title,
.single-product .upsells.products li.product .woocommerce-loop-product__title{font-size:18px;font-weight:400;color:#2c3235;padding:18px 22px 0!important;margin:0;}
.single-product .related.products li.product .price,
.single-product .upsells.products li.product .price{display:block;font-size:15px!important;color:#482b13!important;font-weight:500;padding:8px 22px 0;margin:0;}
.single-product .related.products li.product .price del,
.single-product .upsells.products li.product .price del{color:#9a7862;font-weight:400;}
.single-product .related.products li.product .price ins,
.single-product .upsells.products li.product .price ins{text-decoration:none;}
.single-product .related.products li.product .button,
.single-product .upsells.products li.product .button{display:inline-block;align-self:flex-start;margin:16px 22px 24px!important;background:#ffd17c!important;color:#42240c!important;border:0!important;border-radius:20px!important;padding:11px 24px!important;font-family:'Onest',sans-serif!important;font-size:14px!important;letter-spacing:1.5px!important;font-weight:400!important;text-transform:uppercase;width:fit-content;box-shadow:none!important;transition:background .2s;}
.single-product .related.products li.product .button:hover,
.single-product .upsells.products li.product .button:hover{background:#dfa63e!important;}
.single-product .related.products li.product .added_to_cart,
.single-product .upsells.products li.product .added_to_cart{display:none;}
@media(max-width:1080px){
	.single-product .related.products ul.products,
	.single-product .upsells.products ul.products{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:680px){
	.single-product .related.products ul.products,
	.single-product .upsells.products ul.products{grid-template-columns:1fr;}
}

/* ── Responsive ── */
@media(max-width:1080px){
	.single-product .page-text{padding:48px 48px 72px;}
	.single-product div.product{grid-template-columns:1fr;gap:36px;}
}
@media(max-width:680px){
	.single-product .page-text{padding:36px 24px 56px;}
	.single-product div.product .summary{padding:28px 24px;}
	.single-product table.shop_attributes th{width:130px;}
}
