/*
 * Golden Correctifs : feuille de style.
 * Chaque bloc ne s'applique que si l'extension a posé sa classe sur <body>
 * (une classe par interrupteur allumé). Sans la classe, la règle ne fait rien.
 */

/* ------------------------------------------------------------------
 * GCBD_FIX_PANIER_CSS : page /panier/
 * Cause : goldencbd/style.css ligne 55, « a { color: #000 } », sur un fond sombre.
 * Les boutons et la croix de suppression gardent leurs couleurs.
 * ------------------------------------------------------------------ */
body.gcbd-fix-panier.woocommerce-cart main .woocommerce a:not(.button):not(.remove):not(.checkout-button) {
	color: #fff;
}

body.gcbd-fix-panier.woocommerce-cart main .woocommerce a:not(.button):not(.remove):not(.checkout-button):hover {
	color: #ffd101;
}

body.gcbd-fix-panier.woocommerce-cart main .woocommerce a.shipping-calculator-button {
	text-decoration: underline;
}

/* Sur téléphone, WooCommerce pose le libellé de chaque case en flottant (« Quantité : »).
 * Une case sans contenu visible (quantité cachée de la ligne « Livraison offerte ») n'a
 * alors aucune hauteur, et son libellé déborde sur la case suivante. On ferme le flottant. */
@media (max-width: 768px) {
	body.gcbd-fix-panier.woocommerce-cart table.shop_table_responsive tr td::after {
		content: "";
		display: block;
		clear: both;
	}
}

/* ------------------------------------------------------------------
 * GCBD_FIX_POPUP_MENU : pop-up d'inscription
 * La pop-up reste en attente, invisible, tant que le menu ou la recherche est ouvert.
 * Elle apparaît à leur fermeture. Classes posées par goldencbd/assets/js/app.js.
 * ------------------------------------------------------------------ */
body.gcbd-fix-popup.openBurger .gcbd-popup-overlay,
body.gcbd-fix-popup.searchOpen .gcbd-popup-overlay {
	display: none !important;
}

/* ------------------------------------------------------------------
 * GCBD_FIX_CATEGORIE_REPLI : texte de présentation des catégories
 * Le texte est limité en hauteur dès l'affichage, sans attendre les scripts.
 * La limite tombe dès que le thème a fait son propre repli (bloc .descriptionCat-extra)
 * ou que le visiteur a touché « Voir plus » (classe .gcbd-fix-ouvert).
 * Un navigateur qui ne connaît pas :has() ignore la règle : il garde l'affichage actuel.
 * ------------------------------------------------------------------ */
body.gcbd-fix-repli.tax-product_cat .description-container > .descriptionCat:first-child:not(.gcbd-fix-ouvert):not(:has(.descriptionCat-extra)) {
	max-height: 260px;
	overflow: hidden;
}

@media (max-width: 768px) {
	body.gcbd-fix-repli.tax-product_cat .description-container > .descriptionCat:first-child:not(.gcbd-fix-ouvert):not(:has(.descriptionCat-extra)) {
		max-height: 230px;
	}
}

body.gcbd-fix-repli .gcbd-fix-voir-plus {
	display: block;
	margin: 10px 5%;
	padding: 8px 20px;
	border: none;
	border-radius: 5px;
	background: #ffd100;
	color: #000;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

/* ------------------------------------------------------------------
 * GCBD_FIX_CODE_PROMO_COMMANDE : page de commande FunnelKit
 * Cause : goldencbd/style.css lignes 2891 à 2893 masquent toute ligne
 * « .woocommerce-form-coupon-toggle ». Quand le champ code promo de FunnelKit est
 * réglé sur « repliable », cette ligne est le seul élément visible : le champ disparaît.
 * ------------------------------------------------------------------ */
body.gcbd-fix-code-promo .wfacp_woocommerce_form_coupon .woocommerce-form-coupon-toggle {
	display: block !important;
}

/* ------------------------------------------------------------------
 * GCBD_FIX_BARRE_FICHE : barre « Ajouter au panier » collée en bas des fiches (téléphone)
 * Cause : goldenpixel/responsive.css lignes 137 à 146 (« white-space: nowrap » sur le bouton),
 * style.css ligne 1285 (« padding: 0 26px » des boutons) et ligne 68 (« .content { padding: 0 25px } »).
 * Le bouton ne peut ni rétrécir ni passer à la ligne : depuis que Golden Prix Code écrit
 * le prix barré dans le bouton (« 167.80€ 83.90€ »), il dépasse de l'écran et le prix final est coupé.
 * Ici : marges réduites, le bouton prend la place restante, et s'il manque encore de la place
 * le prix passe sous « Ajouter au panier » au lieu de sortir de l'écran.
 * ------------------------------------------------------------------ */
@media (max-width: 768px) {
	body.gcbd-fix-barre .ctaFlottant-desktop.ctaFlottant .content {
		padding-left: 10px;
		padding-right: 10px;
	}
	body.gcbd-fix-barre .ctaFlottant-desktop.ctaFlottant .right-side {
		flex: 1 1 auto;
		min-width: 0;
	}
	body.gcbd-fix-barre .ctaFlottant-desktop.ctaFlottant .price-cart-btn {
		min-width: 0;
	}
	body.gcbd-fix-barre .ctaFlottant-desktop.ctaFlottant .price-cart-btn a.button {
		box-sizing: border-box;
		max-width: 100%;
		min-width: 0;
		padding-left: 8px;
		padding-right: 8px;
		flex-wrap: wrap;
		white-space: normal;
		line-height: 1.3;
		text-align: center;
	}
	body.gcbd-fix-barre .ctaFlottant-desktop.ctaFlottant .price-cart-btn a.button > * {
		white-space: nowrap;
	}
	body.gcbd-fix-barre .ctaFlottant-desktop.ctaFlottant .gcbd-pc-btn__ancien {
		margin: 0 4px 0 4px;
	}
}

/* ------------------------------------------------------------------
 * GCBD_FIX_BARRE_APPARITION : la barre n'apparaît que lorsque le bouton principal
 * de la fiche est sorti de l'écran par le haut, et disparaît quand il est visible.
 * La classe est posée par correctifs.js (barreSelonBouton) ; sans script, la barre reste affichée.
 * ------------------------------------------------------------------ */
body.gcbd-fix-barre-apparition .ctaFlottant-desktop.ctaFlottant {
	transition: transform .2s ease, visibility 0s linear 0s;
}
body.gcbd-fix-barre-apparition .ctaFlottant-desktop.ctaFlottant.gcbd-fix-barre-cachee {
	transform: translateY(110%);
	visibility: hidden;
	pointer-events: none;
	transition: transform .2s ease, visibility 0s linear .2s;
}
