/*
Theme Name: Beauty Lucious (Astra Child)
Theme URI: https://beautylucious.com
Description: Thème enfant Astra pour Beauty Lucious
Author: DIGICOM-IT
Author URI: https://digicom-it.fr
Template: astra
Version: 2.0.0
Text Domain: astra-child
*/

/* ===== Beauty Lucious – charte noir / rouge / or ===== */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Great+Vibes&display=swap');
:root {
	--bl-noir: #0B0B0B;
	--bl-noir-2: #140C0C;
	--bl-or: #C9A14A;
	--bl-or-clair: #E3C77E;
	--bl-rouge: #A30D14;
	--bl-rouge-vif: #C4161F;
	--bl-texte: #E6DFD3;
	--bl-script: 'Great Vibes', cursive;
	--bl-titre: 'Cinzel', serif;
	--bl-degrade-or: linear-gradient(180deg, #F1D98E 0%, #C9A14A 45%, #8E6A22 100%);
}
body { background: var(--bl-noir); color: var(--bl-texte); }

/* Titres façon logo : Cinzel, pas d'italique, dégradé or */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title, .uael-infocard-title, .hfe-infocard-title,
.elementor-image-box-title, .elementor-icon-box-title,
.woocommerce-loop-product__title, .product_title, .entry-title {
	font-family: var(--bl-titre) !important;
	font-style: normal !important;
}
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title,
.uael-infocard-title, .hfe-infocard-title {
	background: var(--bl-degrade-or); -webkit-background-clip: text; background-clip: text; color: transparent !important;
}
.elementor-image-box-description, .elementor-icon-box-description { font-family: 'Montserrat', sans-serif !important; font-style: normal !important; }

/* Accroches manuscrites (classe bl-script), rouge rubis comme « Révèle la baddie » */
.bl-script .elementor-heading-title {
	font-family: var(--bl-script) !important; text-transform: none !important; letter-spacing: 0 !important;
	background: none !important; color: var(--bl-rouge-vif) !important; -webkit-text-fill-color: var(--bl-rouge-vif);
	font-size: clamp(34px, 4.5vw, 58px) !important; font-weight: 400 !important; text-shadow: 0 2px 12px rgba(0,0,0,.6);
}

/* ===== En-tête : menu gauche / logo complet / menu droite ===== */
.ast-primary-header-bar,
.ast-mobile-header-wrap .ast-primary-header-bar { background: var(--bl-noir); border-bottom: 1px solid rgba(201,161,74,.4); }
.ast-primary-header-bar .main-header-menu > .menu-item > .menu-link {
	color: #fff; font-family: var(--bl-titre); letter-spacing: .12em; text-transform: uppercase; font-size: 14px; font-weight: 500;
}
.ast-primary-header-bar .main-header-menu > .menu-item > .menu-link:hover,
.ast-primary-header-bar .main-header-menu > .current-menu-item > .menu-link { color: var(--bl-or); }
.ast-builder-grid-row-has-sides .site-header-primary-section-left-center { justify-content: flex-end; padding-right: 80px; }
.ast-builder-grid-row-has-sides .site-header-primary-section-right-center { justify-content: flex-start; padding-left: 80px; }
.ast-primary-header-bar .ast-header-search .astra-search-icon,
.ast-primary-header-bar .ast-site-header-cart .ast-cart-menu-wrap,
.ast-primary-header-bar .ast-site-header-cart i.astra-icon,
.ast-primary-header-bar .menu-toggle { color: var(--bl-or); }
.ast-primary-header-bar .ast-mobile-svg, .ast-primary-header-bar .ast-search-menu-icon svg, .ast-primary-header-bar .ast-site-header-cart svg { fill: var(--bl-or); }
.site-header .custom-logo-link img { filter: none !important; }

/* Menu mobile */
.ast-mobile-popup-drawer .ast-mobile-popup-inner { background: var(--bl-noir); }
.ast-mobile-popup-drawer .menu-link { color: #fff !important; font-family: var(--bl-titre); letter-spacing: .08em; }
.ast-mobile-popup-drawer .current-menu-item > .menu-link, .ast-mobile-popup-drawer .menu-link:hover { color: var(--bl-or) !important; }

/* ===== Boutons ===== */
.elementor-button, .woocommerce a.button, .woocommerce button.button, .woocommerce .button, .srfm-submit-button, .ast-button {
	font-family: var(--bl-titre) !important; letter-spacing: .12em; transition: all .25s ease;
}
.woocommerce a.button, .woocommerce button.button, .woocommerce .button, .srfm-submit-button {
	background: transparent !important; color: var(--bl-or) !important; border: 1px solid var(--bl-or) !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .button:hover, .srfm-submit-button:hover,
.woocommerce button.single_add_to_cart_button {
	background: var(--bl-rouge) !important; border-color: var(--bl-rouge) !important; color: #fff !important;
}
.woocommerce button.single_add_to_cart_button:hover { background: var(--bl-rouge-vif) !important; }

/* ===== Boutique ===== */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title { color: var(--bl-or) !important; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price,
.woocommerce-variation-price .price { color: var(--bl-or-clair) !important; }
.woocommerce ul.products li.product .ast-woo-product-category { color: #b9ad97; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap { border: 1px solid rgba(201,161,74,.25); }
.cfvsw-swatches-option { background: transparent !important; color: var(--bl-texte) !important; border-color: rgba(201,161,74,.5) !important; }
.cfvsw-swatches-option.cfvsw-selected-swatch { border-color: var(--bl-rouge-vif) !important; box-shadow: 0 0 0 1px var(--bl-rouge-vif) !important; color: #fff !important; }
.woocommerce span.onsale { background: var(--bl-rouge); color: #fff; }
.woocommerce-tabs, .woocommerce-tabs .panel, .woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--bl-texte); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--bl-or); }
.woocommerce .quantity .qty, .woocommerce .quantity .minus, .woocommerce .quantity .plus { background: var(--bl-noir-2); color: #fff; border-color: rgba(201,161,74,.4); }
.woocommerce-breadcrumb, .woocommerce-breadcrumb a, .product_meta, .product_meta a { color: #b9ad97 !important; }

/* Formulaires sur fond noir */
input[type=text], input[type=email], input[type=tel], input[type=number], input[type=search], input[type=password], textarea, select,
.srfm-input-common, .srfm-input-textarea, .srfm-input-phone { background: var(--bl-noir-2) !important; color: #fff !important; border-color: rgba(201,161,74,.4) !important; }
.srfm-block-label, .srfm-block-label * { color: var(--bl-texte) !important; }

/* Panier flottant (Modern Cart) aux couleurs de la marque */
.moderncart-floating-cart-button, .moderncart-floating-cart-button-wrapper button { background: var(--bl-rouge) !important; border: 1px solid var(--bl-or) !important; }
.moderncart-floating-cart-count, .moderncart-floating-cart-button .moderncart-cart-count { background: var(--bl-or) !important; color: var(--bl-noir) !important; }

/* Liens */
.entry-content a:not(.elementor-button):not(.button) { color: var(--bl-or); }
.entry-content a:not(.elementor-button):not(.button):hover { color: var(--bl-rouge-vif); }

/* ===== Pied de page ===== */
.site-footer, .site-primary-footer-wrap { background: var(--bl-noir) !important; color: #d8d2c6; border-top: 1px solid rgba(201,161,74,.4); }
.site-below-footer-wrap { background: var(--bl-rouge) !important; }
.site-footer .widget-title, .site-footer h2 { color: var(--bl-or) !important; font-family: var(--bl-titre) !important; letter-spacing: .1em; text-transform: uppercase; font-size: 15px; }
.site-footer a { color: #d8d2c6 !important; }
.site-footer a:hover { color: var(--bl-or) !important; }
.site-below-footer-wrap .ast-footer-copyright, .site-below-footer-wrap a { color: #fff !important; }

/* Paragraphes d introduction posés en titre dans le template */
.bl-intro .elementor-heading-title { font-family: "Montserrat", sans-serif !important; font-size: 18px !important; line-height: 1.7 !important; font-weight: 400 !important; background: none !important; color: var(--bl-texte) !important; -webkit-text-fill-color: var(--bl-texte); letter-spacing: 0 !important; }

/* Titre doré (dégradé) sur les blocs image + texte marqués bl-titre-or */
.bl-titre-or .elementor-image-box-title { background: var(--bl-degrade-or); -webkit-background-clip: text; background-clip: text; color: transparent !important; -webkit-text-fill-color: transparent; }

/* Titres d en-tête de page : centrés, sur une ligne */
.bl-hero-titre, .bl-hero-titre .elementor-heading-title { text-align: center !important; width: 100%; }
.bl-hero-titre .elementor-heading-title { white-space: nowrap; font-size: clamp(26px, 5.2vw, 72px) !important; }

/* ===== Calendrier de rendez-vous (Booking Calendar) ===== */
.wpbc_wizard__border_container { background: var(--bl-noir-2) !important; border: 1px solid rgba(201,161,74,.35) !important; border-radius: 4px !important; box-shadow: none !important; }
.wpbc_container_booking_form, .wpbc_container_booking_form l, .wpbc_container_booking_form label, .wpbc_container_booking_form .wpbc_calendar_wraper { color: var(--bl-texte) !important; }
.wpbc_container_booking_form l, .wpbc_container_booking_form label { font-family: var(--bl-titre); letter-spacing: .06em; }
.wpbc_container .datepick-inline { background: transparent !important; border-color: rgba(201,161,74,.3) !important; }
.wpbc_container .datepick-inline .datepick-title, .wpbc_container .datepick-inline .datepick-month-header, .wpbc_container .datepick-inline th { color: var(--bl-or) !important; background: transparent !important; }
.wpbc_container .datepick-inline .datepick-days-cell.date_available a,
.wpbc_container .datepick-inline .datepick-days-cell.date_available span { color: #fff !important; }
.wpbc_container .datepick-inline a.datepick-cmd { color: var(--bl-or) !important; }
.wpbc_times_selector > div, .wpbc_container [class*="times_selector"] > div { background: transparent !important; color: var(--bl-texte) !important; border: 1px solid rgba(201,161,74,.5) !important; }
.wpbc_container .wpbc_time_selected, .wpbc_times_selector > div:hover { background: var(--bl-rouge) !important; color: #fff !important; border-color: var(--bl-rouge) !important; }
.wpbc_steps_for_timeline_step_active, .wpbc_steps_for_timeline_step_completed { background: var(--bl-or) !important; border-color: var(--bl-or) !important; }
.wpbc_steps_for_timeline_line, .wpbc_steps_for_timeline_step { border-color: rgba(201,161,74,.4) !important; }
.wpbc_container .wpbc_button_light, .wpbc_container .btn, .wpbc_container input[type=button], .wpbc_container button {
	background: transparent !important; color: var(--bl-or) !important; border: 1px solid var(--bl-or) !important; font-family: var(--bl-titre) !important; letter-spacing: .1em; border-radius: 0 !important; box-shadow: none !important; }
.wpbc_container .wpbc_button_light:hover, .wpbc_container .btn:hover, .wpbc_container button:hover { background: var(--bl-rouge) !important; border-color: var(--bl-rouge) !important; color: #fff !important; }
.wpbc_container .block_hints, .wpbc_container .wpdev_hint_with_text { color: #b9ad97 !important; }
.wpbc_container table.datepick.wpbc_calendar, .wpbc_container .datepick-inline table, .wpbc_container .datepick-inline td { background: transparent !important; }
.wpbc_container .wpbc-cell-box { background: transparent !important; }
.wpbc_container .datepick-inline .datepick-days-cell.datepick-unselectable a,
.wpbc_container .datepick-inline .datepick-days-cell.datepick-unselectable span { color: rgba(230,223,211,.3) !important; }
.wpbc_container .datepick-inline .datepick-month-header, .wpbc_container .datepick-inline .datepick-month-header *,
.wpbc_container .datepick-inline .datepick-title, .wpbc_container .datepick-inline .datepick-month-year { color: var(--bl-or) !important; background: transparent !important; font-family: var(--bl-titre); }
/* Bandeau boutique sous l en-tête transparent */
.woocommerce-shop .ast-archive-entry-banner, .tax-product_cat .ast-archive-entry-banner { padding-top: 260px !important; padding-bottom: 120px !important; }

/* Titre d en-tête : le dégradé doit couvrir tout le texte (bloc à la largeur du texte) */
.bl-hero-titre { display: flex; justify-content: center; }
.bl-hero-titre .elementor-heading-title { display: inline-block !important; width: auto !important; max-width: none; padding: 0 .1em; font-size: clamp(26px, 5vw, 64px) !important; }

/* Calendrier allégé : pas de cercles ni de cadres blancs */
.wpbc_container .datepick-inline .wpbc-cell-box { border: none !important; box-shadow: none !important; border-radius: 50% !important; transition: background .2s ease; }
.wpbc_container .datepick-inline th { border: none !important; background: transparent !important; color: var(--bl-or) !important; font-size: 11px !important; letter-spacing: .08em; padding-bottom: 8px !important; }
.wpbc_container .datepick-inline .datepick-header, .wpbc_container .datepick-inline .datepick-header span { color: var(--bl-or) !important; font-family: var(--bl-titre) !important; font-size: 16px !important; letter-spacing: .06em; text-transform: capitalize; }
.wpbc_container .datepick-inline td.date_available .wpbc-cell-box a { color: #fff !important; font-weight: 500; }
.wpbc_container .datepick-inline td.date_available:hover .wpbc-cell-box { background: rgba(201,161,74,.2) !important; }
.wpbc_container .datepick-inline td.datepick-current-day .wpbc-cell-box,
.wpbc_container .datepick-inline td.datepick-days-cell-over .wpbc-cell-box { background: var(--bl-rouge) !important; }
.wpbc_container .datepick-inline td.datepick-current-day .wpbc-cell-box a { color: #fff !important; background: none !important; }
.wpbc_container .datepick-inline td.datepick-current-day a, .wpbc_container .datepick-inline td.datepick-days-cell-over a { background: none !important; }
/* Étapes : pastilles et trait en or discret */
.wpbc_steps_for_timeline_step { background: transparent !important; border: 1px solid rgba(201,161,74,.6) !important; box-shadow: none !important; }
.wpbc_steps_for_timeline_step_active { background: var(--bl-or) !important; }
.wpbc_steps_for_timeline_container, .wpbc_steps_for_timeline { background: transparent !important; }
.wpbc_steps_for_timeline_step_line { background: rgba(201,161,74,.35) !important; border-color: rgba(201,161,74,.35) !important; height: 1px !important; }
/* Adresse mail longue : pas de coupure au milieu */
.elementor-image-box-description a[href^="mailto"] { white-space: nowrap; font-size: .92em; }
.wpbc_container hr, .wpbc_container .wpbc_wizard_step_buttons, .wpbc_container [class*="separator"] { border-color: rgba(201,161,74,.25) !important; }

/* Survol et sélection d une date : rond rouge, jamais de rectangle */
.wpbc_container .datepick-inline td a { background: none !important; border-radius: 50% !important; }
.wpbc_container .datepick-inline td.date_available:hover .wpbc-cell-box,
.wpbc_container .datepick-inline td.datepick-days-cell-over .wpbc-cell-box,
.wpbc_container .datepick-inline td.datepick-current-day .wpbc-cell-box { background: var(--bl-rouge) !important; border-radius: 50% !important; }
.wpbc_container .datepick-inline td.date_available:hover a,
.wpbc_container .datepick-inline td.datepick-days-cell-over a { color: #fff !important; }
