/* TattooClub — site-wide fixes (audit 2026-10-03). Loaded last. */

/* ---------- Quiz « Pour toi » / « Sélectionnés pour toi »: empty state spans the whole row ---------- */
.tc-qr__grid:has(> .tc-qr-cta:only-child) { display: block !important; overflow: visible !important; }
.tc-qr-cta { display: flex; align-items: center; justify-content: space-between; gap: 14px 24px; flex-wrap: wrap; width: 100%; padding: 18px 22px; border-radius: 16px; background: #fff; border: 1.5px dashed #B7E41C; box-sizing: border-box; }
.tc-qr-cta__txt { margin: 0 !important; font-size: 15px; line-height: 1.45; color: #68645E; max-width: 60ch; }
.tc-qr-cta__txt strong { color: #111111; }
@media (max-width: 767px) {
	.tc-qr-cta { padding: 16px; }
	.tc-qr-cta .tc-qr-btn { width: 100%; }
}

/* ---------- Checkout: stepper (no list numbers, labels visible), on-brand titles, login pill ---------- */
.tc-checkout-stepnav ol, .tc-checkout-stepnav li { list-style: none !important; }
.tc-checkout-stepnav li::marker { content: '' !important; }
.tc-checkout-stepnav .tc-step-label { display: block !important; font-family: 'Space Grotesk', sans-serif; }
#tc-checkout-root .tc-step-h, .tc-checkout-form h2.tc-step-h { font-family: 'Archivo Black', 'Arial Black', sans-serif !important; font-weight: 400 !important; color: #111111 !important; letter-spacing: 0 !important; }
.tc-checkout-form .tc-step-subh { font-family: 'Space Grotesk', sans-serif !important; color: #111111 !important; }
.tc-guest-toggle[hidden] { display: none !important; }
.tc-guest-toggle .tc-guest-pill { display: flex; align-items: center; justify-content: center; }
.tc-guest-toggle .tc-login-pill { text-decoration: none !important; color: #111111 !important; }
.tc-guest-toggle .tc-login-pill:hover { border-color: #111111; }
@media (max-width: 767px) {
	.tc-checkout-stepnav ol { max-width: 340px !important; }
	.tc-checkout-stepnav .tc-step-label { font-size: 11px; }
}

/* ---------- Breadcrumb (theme / WooCommerce): brand colours, « › » separator ---------- */
.woocommerce-breadcrumb { font: 500 13px/1.4 'Space Grotesk', sans-serif !important; color: #68645E !important; }
.woocommerce-breadcrumb a { color: #68645E !important; text-decoration: none !important; }
.woocommerce-breadcrumb a:hover, .woocommerce-breadcrumb a:focus-visible { color: #111111 !important; text-decoration: underline !important; text-underline-offset: 3px; }
.woocommerce-breadcrumb .nv-breadcrumb-delimiter { font-size: 0 !important; margin: 0 8px !important; }
.woocommerce-breadcrumb .nv-breadcrumb-delimiter::before { content: '›'; font-size: 15px; line-height: 1; color: #68645E; }

/* ---------- PDP: gallery controls only when there is more than one image ---------- */
#tc-pdp-root:not(:has(.tc-pdp-gallery__thumb + .tc-pdp-gallery__thumb)) :is(#tc-pdp-prev, #tc-pdp-next) { display: none !important; }
#tc-pdp-thumbs:not(:has(.tc-pdp-gallery__thumb + .tc-pdp-gallery__thumb)) { display: none !important; }
body:not(:has(#tc-pdp-thumbs .tc-pdp-gallery__thumb + .tc-pdp-gallery__thumb)) :is(#tc-pdp-zoom-prev, #tc-pdp-zoom-next) { display: none !important; }

/* ---------- PDP: the 4 product benefits as a compact 2×2 grid on mobile ---------- */
@media (max-width: 767px) {
	.elementor .elementor-element.elementor-element-pdpftrow1 { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px !important; }
	.elementor .elementor-element.elementor-element-pdpftrow1 > .e-con { width: auto !important; max-width: none !important; padding-top: 0 !important; padding-bottom: 0 !important; min-height: 0 !important; flex-wrap: nowrap !important; gap: 8px !important; justify-content: flex-start !important; }
	.elementor .elementor-element.elementor-element-pdpftrow1 > .e-con > .elementor-widget-text-editor { flex: 1 1 auto !important; min-width: 0; }
}

/* ---------- « Vu récemment »: hidden while there is nothing to show ---------- */
.tc-rv-section.tc-rv-state-empty { display: none !important; }

/* ---------- Checkout: coupon line + form in the brand style (was the theme's blue box) ---------- */
#solace-checkout-coupon .woocommerce-info { margin: 0 0 18px !important; padding: 14px 16px !important; border: 1.5px dashed #B7E41C !important; border-radius: 14px !important; background: #fff !important; color: #111111 !important; font: 500 14px/1.45 'Space Grotesk', sans-serif !important; text-align: left !important; box-shadow: none !important; }
#solace-checkout-coupon .woocommerce-info::before, #solace-checkout-coupon .woocommerce-info::after { display: none !important; }
#solace-checkout-coupon .woocommerce-info a.showcoupon { display: inline !important; margin: 0 0 0 4px !important; padding: 0 !important; border: 0 !important; background: none !important; color: #111111 !important; font: 700 14px/1.45 'Space Grotesk', sans-serif !important; text-decoration: underline !important; text-underline-offset: 3px; box-shadow: none !important; }
#solace-checkout-coupon .checkout_coupon { margin: -6px 0 18px !important; padding: 0 !important; border: 0 !important; }
#solace-checkout-coupon .checkout_coupon[style*="block"], #solace-checkout-coupon .checkout_coupon:not([style*="none"]) { display: flex !important; gap: 8px; align-items: stretch; }
#solace-checkout-coupon .checkout_coupon .form-row { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; }
#solace-checkout-coupon .checkout_coupon .form-row-first { flex: 1 1 auto; }
#solace-checkout-coupon .checkout_coupon .clear { display: none; }
#solace-checkout-coupon .checkout_coupon input.input-text { width: 100% !important; height: 48px !important; padding: 0 16px !important; border: 1.5px solid #E8E4DC !important; border-radius: 12px !important; background: #fff !important; font: 500 15px/1 'Space Grotesk', sans-serif !important; }
#solace-checkout-coupon .checkout_coupon button.button { height: 48px !important; padding: 0 18px !important; border: 0 !important; border-radius: 12px !important; background: #111111 !important; color: #fff !important; font: 700 14px/1 'Space Grotesk', sans-serif !important; white-space: nowrap; }
#solace-checkout-coupon .checkout_coupon button.button:hover { background: #B7E41C !important; color: #111111 !important; }
#solace-checkout-coupon .woocommerce-info { display: block !important; }
.tc-checkout-form .form-row.validate-required > label .required { display: inline !important; color: #B42318; }
.tc-shipping-list .tc-shipping-option { list-style: none !important; }
.tc-shipping-list .tc-shipping-option::marker { content: '' !important; }
#billing_address_1_field.validate-required label .required, #billing_city_field.validate-required label .required, #shipping_address_1_field.validate-required label .required, #shipping_city_field.validate-required label .required { display: inline !important; }

/* ---------- Theme (Solace) palette → brand: every default button/link/text the theme still styles (account, cart, checkout…) ---------- */
html:root {
	--sol-color-base-font: #4A4640; --sol-color-heading: #111111; --sol-color-border: #E8E4DC;
	--sol-color-link-button-initial: #111111; --sol-color-link-button-hover: #4F7A00;
	--sol-color-button-initial: #111111; --sol-color-button-hover: #B7E41C;
	--sol-color-page-title-text: #F9F5EF; --sol-color-selection-initial: #B7E41C; --sol-color-selection-high: #111111;
	--sol-account-button-color-hover: #111111; --sol-cart-button-color-hover: #111111; --sol-checkout-button-color-hover: #111111;
}

/* ====================================================================== */
/* CHARTE 2026-10-10 — alignement sur la charte TattooClub                 */
/* Boutons d'action : arrondi 8 px. Les pilules restent réservées aux     */
/* filtres, étiquettes et puces (chips, onglets, « Aperçu »).            */
/* ====================================================================== */
.tc-h-btn .elementor-button, .tc-hbtn,
.tc-qz-btn .elementor-button, .tc-qr-btn,
.tc-ct-btn .elementor-button, a.tc-ct-btn,
.solaceform-form-button,
.tc-ab-ig .elementor-button,
.tc-pdp-addtocart, .tc-pdp-mobile-bar__cta, .tc-pdp-variation-btn,
.tc-pdp-notify__form button, .tc-pdp-notify__btn,
.tc-pdp-write-review-btn, .tc-pdp-more-reviews-btn, .tc-pdp-review-submit,
.tc-review-submit-btn, .tc-review-cta-btn,
a.tcp-pdp-link, .tcp-btn,
.tc-ba .tcb-btn, .tc-car .tcr-btn, .tcg-btn, .tcd-btn, .tc-club-btn,
.tc-cs-page .tc-cs-form__btn, .tc-bis__btn, .tc-rv-row__add, .tc-ref-btn,
.tc-wls-btn, .tc-wls-actions .tc-wls-btn,
.tc-lsheet .tc-lsheet__add, .tc-lsheet .tc-lsheet__btn, .tc-look .tc-look__listbtn,
.tc-qv .tc-qv__add, .tc-qv .tc-qv__btn, .tc-net-state .tc-net-btn, .tc-net-dialog .tc-net-btn,
.tc-faq-cta, .tc-faq-search__btn, .tc-faq-helpful__btn,
.tc-shop-btn, #shp-filter-apply-btn .elementor-button, .tc-shop-bar__filters,
.tcj-filterbtn, .tc-pl-filterbtn, #srch-mobile-filter-btn, #srch-empty-cta, #srch-filter-panel-foot button,
.tccp-clear, #tc-cart-drawer .tc-promo-cart-field button, #tc-cart-page .tc-promo-cart-field button,
.tc-btn-primary, .tc-btn-ghost, .woocommerce-form-coupon button, #solace-checkout-coupon .checkout_coupon button.button,
body.woocommerce-account .woocommerce .tc-acc-btn,
body.woocommerce-account .woocommerce .woocommerce-info .button,
body.woocommerce-account .woocommerce .woocommerce-message .button { border-radius: 8px !important; }

/* Texte lime sur fond clair : vert foncé de la charte (#4F7A00), lisible */
#tc-pdp-category { color: #4F7A00 !important; }
.tc-club-step__num .elementor-heading-title { color: #4F7A00 !important; }
h1 .tc-ct-hl { color: #4F7A00 !important; }
.tc-car .tcr-values__hand p { color: #4F7A00 !important; }

/* Titres : Archivo Black en majuscules */
.tcmc-title .elementor-heading-title,
.tc-rv-section h2.elementor-heading-title,
.tc-wl-fav-head .elementor-heading-title,
.tc-qz-h1 .elementor-heading-title,
.tc-wls-state__t,
.tc-gift__title .elementor-heading-title,
.elementor-element-lkcmh2 .elementor-heading-title,
.elementor-element-tcdlinksh .elementor-heading-title,
.tc-occ-strip .tc-occ-strip__t { font-family: 'Archivo Black', 'Space Grotesk', sans-serif !important; font-weight: 400 !important; text-transform: uppercase !important; }

/* Polices : aucun bouton en Arial, pas de monospace */
.tc-pdp-qty__btn, .tc-recs__arrow { font-family: 'Space Grotesk', system-ui, sans-serif !important; }
.tc-cc__name { font-family: 'Space Grotesk', system-ui, sans-serif !important; font-weight: 600; }
/* CHARTE 2026-10-10 (suite) — règles plus spécifiques des modules */
.tc-ct-form .solaceform-form-button { border-radius: 8px !important; }
#tc-cart-drawer .tcmc-title .elementor-heading-title,
#tc-gift .tc-gift__title .elementor-heading-title { text-transform: uppercase !important; }
.elementor-element-srchlandeyeb p { color: #4F7A00 !important; }

/* ====================================================================== */
/* CONFORT MOBILE 2026-10-10                                              */
/* Zones de clic d'au moins 44 x 44 px sans changer le visuel : la zone    */
/* est agrandie par un pseudo-élément transparent.                        */
/* ====================================================================== */
.tc-hdr-left a.elementor-icon, .tc-hdr-actions a.elementor-icon, .tc-hdr-action a.elementor-icon,
.elementor-element-tcmnavcl a.elementor-icon,
.tc-ftr-brand a.elementor-social-icon, .tc-ftr-sheet-close, .tc-ftr-sheet-back,
.elementor-element-tcfnlcl button, .elementor-element-tcfnlcl a { position: relative; }
.tc-hdr-left a.elementor-icon::after, .tc-hdr-actions a.elementor-icon::after, .tc-hdr-action a.elementor-icon::after,
.tc-ftr-brand a.elementor-social-icon::after, .tc-ftr-sheet-close::after, .tc-ftr-sheet-back::after,
.elementor-element-tcfnlcl button::after, .elementor-element-tcfnlcl a::after { content: ""; position: absolute; inset: -3px; }
/* Menu mobile : bouton fermer (22 px) et tuiles Compte / Favoris / Panier entièrement cliquables */
.elementor-element-tcmnavcl a.elementor-icon::after { content: ""; position: absolute; inset: -12px; }
.tc-mnav-tile { position: relative; min-height: 56px; }
.elementor-element-tcmntacl, .elementor-element-tcmntwll, .elementor-element-tcmntctl,
.elementor-element-tcmntacl .elementor-widget-container, .elementor-element-tcmntwll .elementor-widget-container, .elementor-element-tcmntctl .elementor-widget-container,
.elementor-element-tcmntacl a, .elementor-element-tcmntwll a, .elementor-element-tcmntctl a { position: static !important; }
.elementor-element-tcmntacl a::after, .elementor-element-tcmntwll a::after, .elementor-element-tcmntctl a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
/* Pastilles de compteur (favoris, panier) : 10 px -> 11 px */
.elementor-element-tcwlbadge1 .elementor-button-text, .elementor-element-ad86c52 .elementor-button-text,
.elementor-element-tcmntwlc .elementor-button-text, .elementor-element-tcmntctc .elementor-button-text { font-size: 11px !important; }
@media (max-width: 767px) {
	/* Bouton WhatsApp un peu plus compact (48 px, toujours au-dessus de 44) */
	.tc-wa .tc-wa__fab { width: 48px !important; height: 48px !important; }
	.tc-wa .tc-wa__fab svg { width: 24px; height: 24px; }
	/* Il s'efface pendant le défilement vers le bas et revient dès l'arrêt */
	.tc-wa.tc-wa--away:not(.is-open) { transform: translateY(calc(100% + 24px)); opacity: 0; pointer-events: none; }
	.tc-wa { transition: bottom .25s ease, opacity .2s, visibility .2s, transform .25s ease; }
}
@media (prefers-reduced-motion: reduce) { .tc-wa.tc-wa--away:not(.is-open) { transform: none; } }
/* TOAST PANIER MOBILE 2026-10-10 : panier ouvert, la notification passe en haut pour ne plus cacher le total et le bouton Commander. */
@media (max-width: 767px) {
	.tc-toast-region.is-drawer-open { top: calc(12px + env(safe-area-inset-top, 0px) + var(--wp-admin--admin-bar--height, 0px)); bottom: auto; }
}
