/* Hopstock W14 (HOP-550 à HOP-569), 21/10/2026 : panier, page de commande, mon compte.
   Chargé seulement sur le panier, la commande et Mon compte (hopstock-w14-panier-commande.php).
   Couleurs du site : vert foncé #2c4241, bordure #e4e0d8, fond clair #f0ede6. */

.hs-w14-vh { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ---------- Panier : quantité avec « − » et « + » (HOP-550) ---------- */
.woocommerce-cart-form .quantity.hs-w14-qte { display: inline-flex; align-items: center; gap: 6px; flex-wrap: nowrap; }
.woocommerce-cart-form .quantity.hs-w14-qte input.qty { width: 64px !important; min-width: 0; height: 44px; min-height: 44px; margin: 0; padding: 0 4px; text-align: center; font-size: 17px; box-sizing: border-box; -moz-appearance: textfield; }
.woocommerce-cart-form .quantity.hs-w14-qte input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form .quantity.hs-w14-qte input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce-cart-form .quantity.hs-w14-qte .hs-qty-btn { flex: 0 0 44px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 44px; height: 44px; margin: 0; padding: 0; border: 1px solid #e4e0d8; border-radius: 8px; background: #fff; color: #2c4241; font-size: 22px; font-weight: 400; line-height: 1; cursor: pointer; }
.woocommerce-cart-form .quantity.hs-w14-qte .hs-qty-btn:hover,
.woocommerce-cart-form .quantity.hs-w14-qte .hs-qty-btn:focus-visible { background: #f0ede6; }
.woocommerce-cart-form .quantity.hs-w14-qte .hs-qty-btn:focus-visible { outline: 2px solid #2c4241; outline-offset: 2px; }
.woocommerce-cart-form .quantity.hs-w14-qte .hs-qty-btn[aria-disabled="true"] { opacity: 0.4; cursor: default; }

/* ---------- Panier : voile limité à la ligne modifiée, totaux pâlis, rien de masqué (HOP-551) ---------- */
.woocommerce-cart-form .cart_item > td { transition: opacity 0.15s ease; }
.woocommerce-cart-form .cart_item.hs-w14-maj > td { opacity: 0.55; }
.woocommerce-cart-form .cart_item.hs-w14-maj > td.product-quantity { opacity: 1; }
.woocommerce-cart-form .cart_item.hs-w14-maj > td.product-subtotal::after { content: ""; display: inline-block; width: 14px; height: 14px; margin-left: 8px; vertical-align: -2px; border: 2px solid #2c4241; border-right-color: transparent; border-radius: 50%; animation: hs-w14-tourne 0.7s linear infinite; }
@keyframes hs-w14-tourne { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .woocommerce-cart-form .cart_item.hs-w14-maj > td.product-subtotal::after { animation: none; border-right-color: #2c4241; opacity: 0.5; } }
.cart_totals table { transition: opacity 0.15s ease; }
.cart_totals.hs-w14-pale table, .cart_totals.processing table { opacity: 0.5; }
.cart_totals.hs-w14-pale .checkout-button { opacity: 0.6; pointer-events: none; }
/* mise à jour standard (suppression d'une ligne, code promo) : pas de voile blanc sur tout le panier */
body.woocommerce-cart .woocommerce-cart-form .blockUI.blockOverlay,
body.woocommerce-cart .cart_totals .blockUI.blockOverlay { background: transparent !important; opacity: 1 !important; }

/* ---------- Panier mobile : bloc « Total panier » pleine largeur, bouton sur une ligne, 52 px (HOP-553) ---------- */
@media (max-width: 767px) {
	body.woocommerce-cart .elementor-widget-jet-cart-totals,
	body.woocommerce-cart .elementor-widget-jet-cart-cross-sells { width: 100% !important; max-width: 100% !important; --container-widget-width: 100% !important; --container-widget-flex-grow: 0; }
	body.woocommerce-cart .elementor-widget-jet-cart-totals .cart_totals { width: 100% !important; float: none !important; }
	/* suggestions sous le total (« Your hops need a tutor! ») : une carte par ligne au lieu de 3 colonnes de 118 px */
	body.woocommerce-cart .elementor-widget-jet-cart-cross-sells .jet-woo-builder-products--columns > li { flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important; }
	body.woocommerce-cart .cart_totals h2 { font-size: 26px; line-height: 1.2; margin: 0 0 12px; text-align: left; }
	body.woocommerce-cart .cart_totals table.shop_table { width: 100% !important; }
	body.woocommerce-cart .cart_totals .wc-proceed-to-checkout { padding: 0; margin: 16px 0 0; }
	body.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button { display: flex !important; align-items: center; justify-content: center; box-sizing: border-box; width: 100% !important; min-height: 52px; margin: 0 0 12px; padding: 0 16px !important; white-space: nowrap; font-size: 18px; line-height: 1.2; }
}

/* ---------- Commande : champs de 44 px (HOP-556), téléphone et e-mail pleine largeur en mobile (HOP-557) ---------- */
body.woocommerce-checkout form.checkout .form-row input.input-text,
body.woocommerce-checkout form.checkout .form-row select,
body.woocommerce-checkout .woocommerce-form-coupon input.input-text,
body.woocommerce-checkout .woocommerce-form-login input.input-text { min-height: 44px; box-sizing: border-box; }
body.woocommerce-checkout form.checkout .form-row .select2-container .select2-selection--single { min-height: 44px; }
body.woocommerce-checkout form.checkout .form-row .select2-container .select2-selection--single .select2-selection__rendered { line-height: 42px; }
/* Complément d'adresse (HOP-557) : la ligne reste sous l'adresse, sans libellé visible comme avant ; le libellé
   « Complément d'adresse (facultatif) » reste lu par les lecteurs d'écran, le texte d'aide le montre dans le champ. */
body.woocommerce-checkout form.checkout #billing_address_2_field > label { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body.woocommerce-checkout form.checkout #billing_address_2_field > label .optional { margin-left: 0.3em; }
@media (max-width: 767px) {
	body.woocommerce-checkout form.checkout #billing_phone_field,
	body.woocommerce-checkout form.checkout #billing_email_field,
	body.woocommerce-checkout form.checkout #shipping_phone_field { float: none !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
	body.woocommerce-checkout form.checkout input[type="tel"],
	body.woocommerce-checkout form.checkout input[type="email"] { font-size: 16px; }
}

/* ---------- Mon compte : un seul titre, onglets pleine largeur en mobile (HOP-560, HOP-561) ---------- */
/* Bandeau « MON COMPTE » / « MY ACCOUNT » du gabarit de connexion (5546 FR, 35290 EN) : le titre de page suffit. */
body.woocommerce-account .elementor-element-2b3b39c .elementor-element-ac39e68 { display: none !important; }
body.woocommerce-account .elementor-element-2b3b39c { display: none !important; }
@media (max-width: 767px) {
	body.woocommerce-account .elementor-element-d40c502 { width: 100% !important; max-width: 100% !important; --container-widget-width: 100% !important; }
	body.woocommerce-account .elementor-element-d40c502 .jet-tabs { display: flex !important; flex-direction: column !important; box-sizing: border-box; padding: 0 13px; }
	/* la largeur de 295 px de la colonne d'onglets (réglage du widget) devenait une hauteur en colonne : flex 0 0 295px */
	body.woocommerce-account .elementor-element-d40c502 .jet-tabs__control-wrapper { flex: 0 0 auto !important; display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: stretch; gap: 8px; width: 100% !important; max-width: 100% !important; height: auto !important; min-height: 0 !important; margin: 0 0 16px !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; }
	body.woocommerce-account .elementor-element-d40c502 .jet-tabs__control { flex: 1 1 50%; display: flex !important; align-items: center; justify-content: center; min-height: 52px; margin: 0 !important; padding: 8px 6px !important; box-sizing: border-box; border: 2px solid #2c4241 !important; border-radius: 8px; background: #fff !important; text-align: center; }
	body.woocommerce-account .elementor-element-d40c502 .jet-tabs__control .jet-tabs__control-inner { justify-content: center; padding: 0 !important; }
	body.woocommerce-account .elementor-element-d40c502 .jet-tabs__control .jet-tabs__label-text,
	body.woocommerce-account .elementor-element-d40c502 .jet-tabs__control .jet-tabs__label-icon,
	body.woocommerce-account .elementor-element-d40c502 .jet-tabs__control .jet-tabs__label-icon svg { color: #2c4241 !important; fill: #2c4241 !important; font-size: 16px !important; font-weight: 700; line-height: 1.2; white-space: normal; }
	body.woocommerce-account .elementor-element-d40c502 .jet-tabs__control.active-tab { background: #2c4241 !important; }
	body.woocommerce-account .elementor-element-d40c502 .jet-tabs__control.active-tab .jet-tabs__label-text,
	body.woocommerce-account .elementor-element-d40c502 .jet-tabs__control.active-tab .jet-tabs__label-icon,
	body.woocommerce-account .elementor-element-d40c502 .jet-tabs__control.active-tab .jet-tabs__label-icon svg { color: #fff !important; fill: #fff !important; }
	body.woocommerce-account .elementor-element-d40c502 .jet-tabs__control:focus-visible { outline: 2px solid #2c4241; outline-offset: 2px; }
	body.woocommerce-account .elementor-element-d40c502 .jet-tabs__content-wrapper { width: 100% !important; padding: 0 !important; border: 0 !important; }
}
