/*
Theme Name:  Fully's Lake
Theme URI:   https://fullyslake.fr
Author:      Agence Web
Description: Thème WordPress pixel-perfect pour le domaine de pêche Fully's Lake. Inclut : Accueil, Le lac, Les postes, Règlement, Contact, Réservation.
Version:     1.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
License:     GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fullys-lake
Tags:        custom-menu, custom-logo, full-width-template, theme-options
*/

/* ============================================================
   WordPress navigation compatibility
   ============================================================ */

/* WP génère des <li> — on remet à plat */
.nav .menu { display:flex; align-items:center; gap:34px; list-style:none; }
.nav .menu li { position:relative; }

/* Item actif (current-menu-item injecté par WP) */
.nav .menu .current-menu-item > a,
.nav .menu .current-menu-ancestor > a { color:#fff; font-weight:600; }
.nav .menu .current-menu-item > a::after,
.nav .menu .current-menu-ancestor > a::after {
  content:"";
  position:absolute; left:0; right:0; bottom:-2px;
  height:2px; background:var(--gold); border-radius:2px;
}
.site-header.scrolled .nav .menu .current-menu-item > a,
.site-header.scrolled .nav .menu .current-menu-ancestor > a { color:var(--lake-700); }
.site-header.scrolled .nav .menu .current-menu-item > a::after,
.site-header.scrolled .nav .menu .current-menu-ancestor > a::after { background:var(--gold); }

/* Alignements icônes SVG inline */
.svg-icon { display:inline-flex; align-items:center; justify-content:center; line-height:0; }
.svg-icon svg { width:1em; height:1em; display:block; }
i[class*="fa-"] { font-style:normal; }


/* ============================================================
   Zone de contenu éditable — the_content() (WordPress / Elementor)
   Rendue par fullys_render_editable_content(). N'apparaît que si
   la page possède du contenu (sinon le design reste intact).
   ============================================================ */
.page-free-content { padding:64px 0; background:#fff; }
.page-free-content > .wrap { max-width:860px; margin-inline:auto; padding-inline:24px; }
.page-free-content .rich { font-size:18px; line-height:1.7; color:var(--gray-600, #475569); }
.page-free-content .rich > :first-child { margin-top:0; }
.page-free-content .rich > :last-child { margin-bottom:0; }
.page-free-content h2 { font-size:30px; line-height:1.2; margin:1.4em 0 .5em; }
.page-free-content h3 { font-size:23px; line-height:1.25; margin:1.3em 0 .4em; }
.page-free-content img { max-width:100%; height:auto; border-radius:12px; }
.page-free-content a { color:var(--lake-700, #0c4a6e); text-decoration:underline; }
/* Laisser respirer les blocs Elementor pleine largeur insérés ici. */
.page-free-content .elementor { width:100%; }


/* ============================================================
   Classes du cœur WordPress (the_content, légendes, galeries…)
   ============================================================ */
.alignleft   { float:left;  margin:.4em 1.5em 1em 0; }
.alignright  { float:right; margin:.4em 0 1em 1.5em; }
.aligncenter { display:block; margin-left:auto; margin-right:auto; }
.alignwide   { max-width:1100px; margin-left:auto; margin-right:auto; }
.alignfull   { max-width:none; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); width:100vw; }
.wp-caption  { max-width:100%; }
.wp-caption img { display:block; }
.wp-caption-text, .gallery-caption, figcaption { font-size:14px; color:#64748b; text-align:center; margin-top:.5em; }
.wp-block-image figcaption { margin-bottom:0; }
.sticky, .bypostauthor { display:block; }
.gallery { display:grid; grid-template-columns:repeat(var(--cols, 3), 1fr); gap:12px; }
.gallery-columns-2 { --cols:2; } .gallery-columns-4 { --cols:4; }
.gallery img { width:100%; height:auto; border-radius:8px; }

/* Accessibilité — texte réservé aux lecteurs d'écran */
.screen-reader-text {
  border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%);
  height:1px; width:1px; margin:-1px; padding:0; overflow:hidden;
  position:absolute !important; word-wrap:normal !important;
}
.screen-reader-text:focus {
  background:#fff; clip:auto; clip-path:none; color:#0c4a6e;
  display:block; height:auto; width:auto; left:6px; top:6px;
  padding:12px 18px; z-index:100000; border-radius:6px;
  box-shadow:0 0 2px 2px rgba(0,0,0,.2); text-decoration:none;
}


/* ============================================================
   Formulaire de contact — honeypot anti-spam + notices
   ============================================================ */
.hp-field { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.form-notice {
  display:flex; align-items:center; gap:10px;
  padding:14px 18px; border-radius:10px; margin-bottom:20px;
  font-size:15px; line-height:1.4;
}
.form-notice .svg-icon { flex:0 0 auto; font-size:18px; }
.form-notice.ok  { background:#ecfdf5; color:#047857; border:1px solid #a7f3d0; }
.form-notice.err { background:#fef2f2; color:#b91c1c; border:1px solid #fecaca; }
