/*
Theme Name: Le Puits du Trésor — Child
Theme URI: https://lepuitsdutresor.com
Description: Thème enfant de Hello Elementor pour Le Puits du Trésor (restaurant 1★ Michelin, Lastours). Contient le CPT Menu, les champs ACF, le Schema.org automatique et les réglages WooCommerce.
Author: Philippe
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-puits-child
*/

/* Les styles principaux sont gérés dans Elementor.
   N'ajouter ici que les correctifs CSS globaux non gérables dans Elementor. */

/* --------------------------------------------------------------
   Réconciliation Elementor ↔ maquette (pages « CSS + classes »)
   Les containers Elementor passent en flex-direction:column par
   défaut ; on rétablit le sens « ligne » là où la maquette
   l'attend (rangées horizontales : boutons, carrousel, ligne info).
   -------------------------------------------------------------- */
.lpdt .hero,
.lpdt .pagehead,
.lpdt .cta-row,
.lpdt .carousel,
.lpdt .info-line,
.lpdt .socials{flex-direction:row}

/* Bandeau de tête raccourci (pages légales) */
.lpdt .pagehead.pagehead-court{height:42vh;min-height:300px}

/* Bandeau de tête plein écran sur la page « Le chef » (#87) */
.page-id-87 .lpdt .pagehead{height:100vh}

/* Voiles éclaircis — accueil (hero) et pages intérieures (pagehead).
   Hero : était 0.30→0.55. Pagehead : était 0.60→0.30.
   On garde un léger dégradé en bas des pageheads pour la lisibilité des titres. */
.lpdt .hero::after{background:linear-gradient(to bottom,rgba(0,0,0,.06),rgba(0,0,0,.22)) !important}

/* Scrollcue « Découvrir » : le widget Elementor qui l'enveloppe est en
   position:relative → le scrollcue s'ancrerait sur lui. On le rend static
   pour qu'il s'ancre au hero (centré en bas). */
.lpdt .hero .elementor-widget:has(.scrollcue){position:static}
.lpdt .pagehead::after{background:linear-gradient(to top,rgba(0,0,0,.34),rgba(0,0,0,.10)) !important}

/* Galerie Elementor « Justifiée » : Elementor lui donne sa hauteur via un
   padding-bottom en %, mais le reset .lpdt *{padding:0} l'écrase (galerie
   invisible). On rétablit la hauteur via aspect-ratio (même variable qu'Elementor,
   non affectée par le reset). */
.lpdt .e-gallery-justified{aspect-ratio:calc(1 / var(--container-aspect-ratio));height:auto}

/* Wrapper .lpdt d'un shortcode imbriqué dans une page (.lpdt dans .lpdt) :
   ne pas réimposer le fond blanc, laisser transparaître le fond de section. */
.lpdt .lpdt{background:transparent}

/* Menus WordPress (wp_nav_menu) rendus en <ul><li> : pas de puces */
.lpdt header.topbar ul.left,
.lpdt ul.foot-menu{list-style:none}
.lpdt header.topbar ul.left li,
.lpdt ul.foot-menu li{margin:0;padding:0}

/* --------------------------------------------------------------
   Titre : les widgets Titre Elementor rendent un <h?> interne qui
   reçoit la police globale du kit (Georgia). On force Cinzel là où
   la maquette l'attend (logo/titre hero).
   -------------------------------------------------------------- */
.lpdt .hero-title,
.lpdt .hero-title .elementor-heading-title,
.lpdt .brand{font-family:'Cinzel',Georgia,serif}

/* --------------------------------------------------------------
   Police UI : Lato remplace Arial. Les boutons Elementor ont leur
   police posée en réglage natif ; on l'écrase globalement en Lato
   (sélecteur plus spécifique que la règle par-élément d'Elementor).
   -------------------------------------------------------------- */
.lpdt .elementor-widget-button .elementor-button{font-family:'Lato',Arial,sans-serif !important}

/* --------------------------------------------------------------
   Confort d'édition : les éléments à animation d'apparition
   (.reveal) démarrent en opacity:0 et n'apparaissent qu'au scroll.
   Dans l'éditeur Elementor, on les force visibles pour pouvoir les
   éditer. L'animation reste active sur le site en ligne.
   -------------------------------------------------------------- */
body.elementor-editor-active .lpdt .reveal,
body.elementor-editor-active .lpdt .img-rv:not(.visible){opacity:1 !important;transform:none !important;clip-path:none !important}
body.elementor-editor-active .lpdt .img-rv:not(.visible) > *{transform:none !important}

/* --------------------------------------------------------------
   Formulaire Elementor Pro habillé à la charte maquette (.cform).
   -------------------------------------------------------------- */
.lpdt .elementor-form .elementor-field-label{
	font-family:'Lato',Arial,sans-serif;font-size:11px;letter-spacing:.14em;
	text-transform:uppercase;color:var(--or);margin-bottom:.4rem}
.lpdt .elementor-form .elementor-field-textual{
	border:1px solid var(--gris);background:#fff;border-radius:0;
	font-family:Georgia,serif;font-size:1rem;color:var(--texte);padding:.8rem}
.lpdt .elementor-form button.elementor-button{
	background:transparent !important;border:1px solid var(--texte) !important;color:var(--texte) !important;
	font-family:'Lato',Arial,sans-serif !important;font-size:12px;letter-spacing:.15em;
	text-transform:uppercase;padding:.85rem 1.7rem;border-radius:0;transition:.3s}
.lpdt .elementor-form button.elementor-button:hover{
	background:var(--or) !important;border-color:var(--or) !important;color:#fff !important}

/* --------------------------------------------------------------
   Formulaire de réservation (Five Star Restaurant Reservations)
   habillé à la charte maquette.
   -------------------------------------------------------------- */
.lpdt .rtb-booking-form fieldset{border:0;padding:0;margin:0}
.lpdt .rtb-booking-form legend{
	font-family:'Cinzel',Georgia,serif;font-size:1.5rem;color:var(--texte);
	margin-bottom:1.2rem;padding:0;border:0}
.lpdt .rtb-booking-form label{
	display:block;font-family:'Lato',Arial,sans-serif;font-size:11px;letter-spacing:.14em;
	text-transform:uppercase;color:var(--or);margin:1.1rem 0 .4rem}
.lpdt .rtb-booking-form input[type=text],
.lpdt .rtb-booking-form input[type=email],
.lpdt .rtb-booking-form input[type=tel],
.lpdt .rtb-booking-form input[type=number],
.lpdt .rtb-booking-form select,
.lpdt .rtb-booking-form textarea{
	width:100%;max-width:100%;padding:.8rem;border:1px solid var(--gris);background:#fff;
	font-family:Georgia,serif;font-size:1rem;color:var(--texte);border-radius:0;box-shadow:none}
.lpdt .rtb-booking-form textarea{min-height:120px;resize:vertical}
.lpdt .rtb-booking-form input[type=submit],
.lpdt .rtb-booking-form button[type=submit]{
	background:transparent;border:1px solid var(--texte);color:var(--texte);
	font-family:'Lato',Arial,sans-serif;font-size:12px;letter-spacing:.15em;text-transform:uppercase;
	padding:.85rem 1.7rem;border-radius:0;cursor:pointer;margin-top:1.4rem;transition:.3s}
.lpdt .rtb-booking-form input[type=submit]:hover,
.lpdt .rtb-booking-form button[type=submit]:hover{background:var(--or);border-color:var(--or);color:#fff}
.lpdt .rtb-booking-form .rtb-error,
.lpdt .rtb-booking-form .rtb-message{font-family:'Lato',Arial,sans-serif}
