/* ============================================================
   Compatibilité WordPress / WooCommerce
   (chargée APRÈS style.css pour adapter le markup dynamique WP
    au design conçu pour le site statique)
   ============================================================ */

/* --- Menu principal : neutraliser la structure <ul><li> de wp_nav_menu --- */
.nav-links > ul,
.nav-links .nav-menu{
  display:flex; align-items:center; gap:.3rem;
  list-style:none; margin:0; padding:0; flex-wrap:wrap;
}
.nav-links li{ list-style:none; margin:0; padding:0; position:relative; }
.nav-links li::marker{ content:""; }
/* le style des liens (.nav-links a) du thème s'applique déjà aux <a> du menu */

/* --- Logo : taille généreuse + fond transparent --- */
.site-header .brand img,
.site-header .custom-logo{
  width:96px !important; height:96px !important; object-fit:contain;
  background:transparent !important; mix-blend-mode:multiply;
}
.site-header .custom-logo-link{ display:inline-flex; line-height:0; margin:0; }
.site-header img{ max-height:96px; width:auto; }

/* --- Sécurité anti-débordement d'images --- */
img{ max-width:100%; height:auto; }
.hero-art{ max-width:100%; }
.hero-art .hero-medallion{ max-width:120px; }
.hero-photo img{ width:100%; }

/* --- En-tête desktop : hauteur adaptée au plus grand logo --- */
.site-header .nav{ height:auto; min-height:96px; flex-wrap:wrap; padding:.3rem 0; }
.nav-links{ flex-wrap:wrap; }
.site-header{ position:relative; }

/* --- Menu mobile : sans burger, tout centré sous le logo --- */
@media(max-width:680px){
  .burger{ display:none !important; }

  .site-header .nav{
    flex-direction:column;
    align-items:center;
    gap:.5rem;
    padding:.75rem 0 .9rem;
    min-height:unset;
  }
  .site-header .brand{
    width:100%;
    justify-content:center;
  }
  /* Annuler le menu déroulant du thème */
  .nav-links{
    position:static !important;
    transform:none !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    flex-wrap:wrap !important;
    background:transparent !important;
    padding:0 !important;
    border:none !important;
    box-shadow:none !important;
    max-height:none !important;
    overflow:visible !important;
    gap:.2rem !important;
  }
  /* Nav links + panier sur la même ligne centrée */
  .nav-links, .nav-tools{
    order:2;
  }
  .nav-links > ul,
  .nav-links .nav-menu{
    justify-content:center;
    flex-wrap:wrap;
  }
  .nav-tools{
    display:flex;
    align-items:center;
  }
}

/* --- Logo Agriculture Biologique officiel --- */
/* Footer : petit label discret */
img.ab-bio-logo{ height:36px !important; width:auto !important; background:#fff; padding:3px; border-radius:6px; display:inline-block; }
.footer-bio{ align-items:center; }
/* Fiche produit : 3× la taille footer = ~108px, standalone hors badge */
img.ab-bio-fiche{ height:108px !important; width:auto !important; border-radius:8px; display:block; }

/* --- Pages éditables (block editor) : confort de lecture + blocs larges --- */
.page-body{ max-width:900px; margin-inline:auto; }
.page-body > *{ margin-block:1rem; }
.page-body h2{ font-family:var(--font-display); font-size:clamp(1.6rem,3vw,2.2rem); margin-top:2rem; }
.page-body h3{ font-family:var(--font-display); font-size:1.25rem; margin-top:1.5rem; color:var(--teal-deep); }
.page-body p{ line-height:1.75; }
.page-body img{ max-width:100%; height:auto; border-radius:14px; }
.page-body ul, .page-body ol{ padding-left:1.3rem; line-height:1.8; }
.page-body a{ color:var(--teal); text-decoration:underline; }
/* blocs alignés larges / pleine largeur */
.page-body .alignwide{ width:min(1100px,92vw); max-width:none; margin-inline:auto; }
.page-body .alignfull{ width:auto; max-width:none; }
.page-body .aligncenter{ text-align:center; }
/* les shortcodes dynamiques occupent toute la largeur de lecture */
.page-body .plant-grid, .page-body .gammes, .page-body .info-grid{ max-width:none; }

/* --- WooCommerce : conteneur cohérent + masquer le prix vide --- */
.woocommerce .price, .woocommerce-page .price{ display:none; }
.woocommerce ul.products, .woocommerce-page ul.products{ margin:0; padding:0; }

/* --- Fiche produit : groupe quantité + bouton réservation --- */
.fiche-qty-group{
  display:flex; align-items:stretch; gap:.6rem; flex-wrap:wrap;
}
.fiche-qty{
  width:5.5rem; min-width:5rem;
  padding:.6rem .8rem;
  border:1.5px solid var(--ink-faint,#c5beb4);
  border-radius:12px;
  font-size:1rem; font-family:inherit;
  background:var(--bg,#f5f1ea); color:var(--ink,#1a1a14);
  text-align:center;
  appearance:textfield; -moz-appearance:textfield;
  line-height:1;
}
.fiche-qty::-webkit-inner-spin-button,
.fiche-qty::-webkit-outer-spin-button{ opacity:1; }
.fiche-qty:focus{ outline:2px solid var(--teal,#3e7b5a); border-color:var(--teal,#3e7b5a); }

/* --- Badge compteur panier (nav) --- */
.nav-resa{ position:relative; }
.resa-badge{
  position:absolute; top:-5px; right:-6px;
  min-width:18px; height:18px; padding:0 4px;
  background:var(--teal,#3e7b5a); color:#fff;
  border-radius:9px; font-size:.68rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  line-height:1; pointer-events:none;
  transition:opacity .2s;
}
.resa-badge.empty{ opacity:0; }

/* --- Indicateur de scroll (page d'accueil) --- */
.scroll-hint{
  position:fixed; bottom:1.8rem; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:3px;
  opacity:0; transition:opacity .5s; pointer-events:none; z-index:90;
}
.scroll-hint.visible{ opacity:.55; }
.scroll-hint i{
  display:block; width:11px; height:11px;
  border-right:2px solid var(--ink,#1a1a14);
  border-bottom:2px solid var(--ink,#1a1a14);
  transform:rotate(45deg);
  animation:scroll-chev .9s ease infinite;
}
.scroll-hint i:nth-child(2){ animation-delay:.18s; opacity:.6; }
.scroll-hint i:nth-child(3){ animation-delay:.36s; opacity:.3; }
@keyframes scroll-chev{
  0%,100%{ transform:rotate(45deg) translate(0,0); }
  50%    { transform:rotate(45deg) translate(3px,3px); }
}

/* --- Page Contact + Visiter côte à côte --- */
.contact-visiter-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
  align-items:start;
}
@media(max-width:860px){
  .contact-visiter-grid{ grid-template-columns:1fr; }
}

/* --- Page mes réservations --- */
.resa-list{ display:flex; flex-direction:column; gap:.75rem; margin-bottom:1.5rem; }
.resa-row{
  display:flex; align-items:center; gap:1rem;
  padding:.9rem 1rem; border-radius:14px;
  background:var(--surface,#eee9df); border:1px solid var(--border,#d8d0c4);
}
.resa-thumb{ width:52px; height:52px; flex-shrink:0; border-radius:8px; overflow:hidden; }
.resa-thumb img{ width:100%; height:100%; object-fit:cover; }
.resa-noimg{ display:flex; align-items:center; justify-content:center; width:52px; height:52px; font-size:1.6rem; background:var(--border,#d8d0c4); border-radius:8px; }
.resa-name{ flex:1; font-weight:600; }
.resa-name a{ color:inherit; text-decoration:none; }
.resa-name a:hover{ color:var(--teal,#3e7b5a); }
.resa-qty{ display:flex; align-items:center; gap:.4rem; }
.resa-dec,.resa-inc{ width:28px; height:28px; border-radius:6px; border:1px solid var(--border,#d8d0c4); background:var(--bg,#f5f1ea); cursor:pointer; font-size:1rem; line-height:1; }
.resa-del{ background:none; border:none; cursor:pointer; color:var(--ink-faint,#999); font-size:1rem; margin-left:.4rem; }
.resa-del:hover{ color:var(--terracotta,#b84f3a); }
