/* ==========================================================================
   Brennholz Pro — charte premium
   Couleurs : palette choisie dans Société › Identité visuelle (variables --bhp-*).
   Cette couche s'applique aux sections installées par le thème (classes bhp-*)
   et garantit le rendu même si le kit Elementor garde ses couleurs par défaut.
   ========================================================================== */

/* ---------- Typographie des sections Elementor du thème ---------- */
.bhp-el-page .elementor-heading-title,
.bhp-el-page .elementor-icon-box-title,
.elementor-location-header .elementor-heading-title,
.elementor-location-footer .elementor-heading-title {
	font-family: var(--bhp-font-head) !important;
	letter-spacing: -0.01em;
}
.bhp-el-page .elementor-heading-title,
.bhp-el-page .elementor-icon-box-title,
.bhp-el-page .elementor-icon-box-title a { color: var(--bhp-ink) !important; }
.bhp-el-page .elementor-widget-text-editor,
.bhp-el-page .elementor-icon-box-description,
.bhp-el-page .elementor-icon-list-text {
	font-family: var(--bhp-font-body) !important;
	color: var(--bhp-muted) !important;
}
.bhp-el-page .elementor-icon-box-title { font-weight: 700 !important; font-size: 1.15rem !important; line-height: 1.3 !important; }

/* Pictogrammes : vert forêt sur pastille beige. */
.bhp-el-page .elementor-icon-box-icon .elementor-icon,
.bhp-el-page .elementor-icon-box-icon .elementor-icon i,
.bhp-el-page .elementor-icon-box-icon .elementor-icon svg {
	color: var(--bhp-forest) !important; fill: var(--bhp-forest) !important;
}
.bhp-el-page .elementor-icon-box-icon .elementor-icon {
	background: var(--bhp-birch) !important; border-radius: 10px !important; padding: 14px !important;
}

/* Filet « cerne » : vert et beige, sans ambre. */
.bhp-ring-rule { background: linear-gradient(90deg, var(--bhp-resin) 0 10px, transparent 10px 16px, var(--bhp-wood) 16px) !important; }

/* ---------- Boutons ---------- */
.bhp-eb .elementor-button {
	font-family: var(--bhp-font-head) !important; font-weight: 600 !important; font-size: 1rem !important;
	padding: 15px 28px !important; border-radius: 6px !important; border: 1.5px solid var(--bhp-forest) !important;
	background: var(--bhp-forest) !important; color: #FFFFFF !important; fill: #FFFFFF !important;
	box-shadow: none !important; text-decoration: none !important; transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
}
.bhp-eb .elementor-button:hover,
.bhp-eb .elementor-button:focus-visible { background: var(--bhp-green) !important; border-color: var(--bhp-green) !important; color: #FFFFFF !important; transform: translateY(-1px); }
.bhp-eb--ghost .elementor-button { background: transparent !important; color: var(--bhp-forest) !important; }
.bhp-eb--ghost .elementor-button:hover { background: var(--bhp-forest) !important; border-color: var(--bhp-forest) !important; color: #FFFFFF !important; }
.bhp-eb--link .elementor-button { background: transparent !important; border-color: transparent !important; color: var(--bhp-forest) !important; padding: 4px 0 !important; text-decoration: underline; text-underline-offset: 0.25em; }
.bhp-eb--link .elementor-button:hover { background: transparent !important; border-color: transparent !important; color: var(--bhp-green) !important; transform: none; }

/* ---------- Hero ---------- */
.bhp-hero { background-color: var(--bhp-forest) !important; }
.bhp-hero.e-con::before,
.bhp-hero > .elementor-background-overlay {
	background: linear-gradient(90deg, rgba(var(--bhp-overlay-rgb), 0.95) 0%, rgba(var(--bhp-overlay-rgb), 0.86) 45%, rgba(var(--bhp-overlay-rgb), 0.5) 100%) !important;
	opacity: 1 !important;
}
.bhp-hero .elementor-heading-title { color: #FFFFFF !important; font-weight: 800 !important; }
.bhp-hero .bhp-hero-lead,
.bhp-hero .bhp-hero-lead p,
.bhp-hero .elementor-widget-text-editor { color: rgba(255, 255, 255, 0.85) !important; font-family: var(--bhp-font-body) !important; font-size: 1.2rem !important; line-height: 1.6 !important; }
.bhp-hero .elementor-icon-list-text { color: rgba(255, 255, 255, 0.85) !important; }
.bhp-hero .elementor-icon-list-icon i,
.bhp-hero .elementor-icon-list-icon svg { color: var(--bhp-birch) !important; fill: var(--bhp-birch) !important; }
/* Bouton principal : vert forêt ; secondaire : contour blanc. Survol : beige, texte vert. */
.bhp-hero .bhp-eb--light .elementor-button { background: var(--bhp-forest) !important; border-color: rgba(255, 255, 255, 0.45) !important; color: #FFFFFF !important; }
.bhp-hero .bhp-eb--outline-light .elementor-button { background: transparent !important; border-color: #FFFFFF !important; color: #FFFFFF !important; }
.bhp-hero .bhp-eb .elementor-button:hover,
.bhp-hero .bhp-eb .elementor-button:focus-visible { background: var(--bhp-birch) !important; border-color: var(--bhp-birch) !important; color: var(--bhp-forest) !important; }

/* ---------- Sections sombres (appel à l'action) ---------- */
.bhp-sec-dark { background-color: var(--bhp-forest) !important; }
.bhp-sec-dark .elementor-heading-title { color: #FFFFFF !important; }
.bhp-sec-dark .elementor-widget-text-editor,
.bhp-sec-dark .elementor-widget-text-editor p { color: rgba(255, 255, 255, 0.85) !important; }
.bhp-sec-dark .bhp-eb--light .elementor-button { background: #FFFFFF !important; border-color: #FFFFFF !important; color: var(--bhp-forest) !important; }
.bhp-sec-dark .bhp-eb--outline-light .elementor-button { background: transparent !important; border-color: #FFFFFF !important; color: #FFFFFF !important; }
.bhp-sec-dark .bhp-eb .elementor-button:hover { background: var(--bhp-birch) !important; border-color: var(--bhp-birch) !important; color: var(--bhp-forest) !important; }

/* ---------- « Votre commande en 4 étapes » : fond blanc, numéros vert forêt ---------- */
.bhp-sec-dark:has(.bhp-steps) { background-color: #FFFFFF !important; border-top: 1px solid var(--bhp-line); border-bottom: 1px solid var(--bhp-line); }
.bhp-sec-dark:has(.bhp-steps) .elementor-heading-title { color: var(--bhp-ink) !important; }
.bhp-steps .bhp-step {
	background: #FFFFFF !important; border: 1px solid var(--bhp-line) !important; border-top: 3px solid var(--bhp-forest) !important;
	border-radius: 10px !important; padding: 26px 24px !important;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.bhp-steps .bhp-step:hover { box-shadow: 0 14px 30px -18px rgba(var(--bhp-shadow-rgb), 0.35); transform: translateY(-3px); }
.bhp-steps .bhp-step .elementor-heading-title { color: var(--bhp-ink) !important; font-size: 1.15rem !important; }
.bhp-steps .bhp-step .elementor-widget-text-editor,
.bhp-steps .bhp-step .elementor-widget-text-editor p { color: var(--bhp-muted) !important; }
.bhp-steps .bhp-step__num {
	display: inline-grid !important; place-items: center; width: 46px !important; height: 46px !important;
	border-radius: 50% !important; border: 0 !important; background: var(--bhp-forest) !important; color: #FFFFFF !important;
	font-family: var(--bhp-font-head); font-weight: 700; font-size: 1.1rem;
}
.bhp-sec-dark:has(.bhp-steps) .bhp-ring-rule { background: linear-gradient(90deg, var(--bhp-resin) 0 10px, transparent 10px 16px, var(--bhp-wood) 16px) !important; }

/* ---------- Cartes « guide express » ---------- */
.bhp-guidecard {
	background: var(--bhp-birch) !important; border: 1px solid var(--bhp-line) !important; border-left: 3px solid var(--bhp-forest) !important;
	border-radius: 10px !important; padding: 22px 24px !important;
}

/* ---------- Cartes de catégories : élévation, zoom, flèche animée ---------- */
.bhp-catcard__link {
	transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
	will-change: transform;
}
.bhp-catcard__img { transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1); }
.bhp-catcard__more .bhp-icon { transition: transform 0.25s ease; }
.bhp-catcard__link:hover,
.bhp-catcard__link:focus-visible {
	transform: translateY(-6px);
	box-shadow: 0 22px 44px -24px rgba(var(--bhp-shadow-rgb), 0.45), 0 2px 6px rgba(var(--bhp-shadow-rgb), 0.06) !important;
	border-color: var(--bhp-wood) !important;
}
.bhp-catcard__link:hover .bhp-catcard__img,
.bhp-catcard__link:focus-visible .bhp-catcard__img { transform: scale(1.05); }
.bhp-catcard__link:hover .bhp-catcard__more .bhp-icon { transform: translateX(5px); }
.bhp-catcard__more { color: var(--bhp-forest) !important; font-weight: 600; }
@media (prefers-reduced-motion: reduce) {
	.bhp-catcard__link, .bhp-catcard__img, .bhp-catcard__more .bhp-icon, .bhp-steps .bhp-step { transition: none !important; transform: none !important; }
}

/* ---------- Badges : style sobre (Google Merchant) ---------- */
.bhp-badge {
	background: #FFFFFF !important; border: 1px solid var(--bhp-line) !important; color: var(--bhp-ink) !important;
	font-weight: 500 !important; font-size: 0.8rem !important; padding: 0.25rem 0.6rem !important; border-radius: 999px !important;
}
.bhp-badge::before { background: var(--bhp-forest) !important; }
.bhp-badge--stock::before { background: #2F7A4B !important; }
.bhp-badge--out { color: var(--bhp-alert) !important; }
.bhp-badge--out::before { background: var(--bhp-alert) !important; }

/* Ligne de confiance discrète (fiche produit). */
.bhp-merchant {
	display: flex; flex-wrap: wrap; gap: 0.4rem 1.1rem; margin: 0.35rem 0 1.1rem; padding: 0; list-style: none;
	font-size: 0.9rem; color: var(--bhp-muted);
}
.bhp-merchant li { display: inline-flex; align-items: center; gap: 0.35rem; }
.bhp-merchant .bhp-icon { width: 16px; height: 16px; color: var(--bhp-forest); }

/* ---------- Footer ---------- */
.bhp-footer__trust { border-top: 1px solid rgba(255, 255, 255, 0.12); }
.bhp-trustline {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 2rem; margin: 0 auto; padding: 1.1rem 16px; list-style: none;
	color: rgba(255, 255, 255, 0.85); font-size: 0.92rem;
}
.bhp-trustline li { display: inline-flex; align-items: center; gap: 0.45rem; }
.bhp-trustline .bhp-icon { width: 18px; height: 18px; color: var(--bhp-wood); }
.bhp-payments__item { display: inline-flex !important; align-items: center; gap: 0.4rem; min-height: 34px; padding: 0 0.75rem !important; border-radius: 6px !important; }
.bhp-payments__item .bhp-icon { width: 18px; height: 18px; color: var(--bhp-forest); }

/* ---------- Checkout : livraison sur devis ---------- */
.bhp-noship { margin: 0; font-size: 0.95rem; }
.bhp-noship a { font-weight: 600; }

/* ---------- Liens sur fond sombre (footer, bandeau du haut, sections sombres) ----------
   Le kit Elementor impose une couleur de lien vert forêt à toute la page
   (.elementor-kit-… a) : sur fond vert foncé, elle devenait invisible. */
body .bhp-footer a,
body .bhp-footer .bhp-footer__list a,
body .bhp-footer .menu a,
body .elementor-location-footer a,
body .bhp-site-footer a,
body .bhp-topbar a,
body .bhp-el-topbar a,
body .bhp-sec-dark:not(:has(.bhp-steps)) .elementor-widget-text-editor a,
body .bhp-hero .elementor-widget-text-editor a {
	color: #FFFFFF !important;
	text-decoration: none;
}
body .bhp-footer .bhp-footer__list a,
body .elementor-location-footer .bhp-flinks a { color: rgba(255, 255, 255, 0.86) !important; }
body .bhp-footer a:hover,
body .bhp-footer a:focus-visible,
body .elementor-location-footer a:hover,
body .bhp-site-footer a:hover,
body .bhp-topbar a:hover,
body .bhp-el-topbar a:hover {
	color: var(--bhp-wood) !important;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
body .bhp-footer .bhp-payments__item,
body .bhp-footer .bhp-payments__item span { color: var(--bhp-ink) !important; }

/* ---------- Boutons-liens : couleur de texte garantie ----------
   Même cause que le footer : la couleur de lien du kit Elementor (vert forêt)
   s'appliquait au texte des boutons <a>, invisible sur fond vert. */
body a.bhp-btn--primary, body a.bhp-btn--buy,
body .woocommerce a.button.alt, body a.button.alt, body a.checkout-button,
body .bhp-btn--primary, body .bhp-btn--buy {
	color: #FFFFFF !important;
}
body a.bhp-btn--primary:hover, body a.bhp-btn--buy:hover,
body .woocommerce a.button.alt:hover, body a.checkout-button:hover {
	color: #FFFFFF !important; background: var(--bhp-green) !important;
}
body a.bhp-btn--secondary { color: var(--bhp-forest) !important; }
body a.bhp-btn--ghost { color: var(--bhp-ink) !important; }
body a.bhp-btn--light { color: var(--bhp-forest-dark) !important; }
body a.bhp-btn--outline-light { color: #FFFFFF !important; }
body .bhp-calc a.bhp-btn--primary { color: var(--bhp-forest-dark) !important; background: #FFFFFF !important; }
body .bhp-calc a.bhp-btn--ghost { color: #FFFFFF !important; }

/* Lien d'édition visible par l'administrateur uniquement. */
.bhp-admin-edit { margin: 0.9rem 0 0; font-size: 0.85rem; }
.bhp-admin-edit a { display: inline-block; padding: 0.3rem 0.65rem; border: 1px dashed currentColor; border-radius: 6px; text-decoration: none; opacity: 0.8; }
.bhp-admin-edit a:hover { opacity: 1; }
body .bhp-footer .bhp-admin-edit a { color: var(--bhp-wood) !important; }
