/*
Theme Name: Gilda Blog
Description: Theme du blog des sites Restaurant Gilda. Reprend la palette et la typographie du site principal.
Author: Gilda
Version: 1.0
*/

:root{
  --brun:#6b4423;
  --brun-clair:#8B5A3C;
  --or:#D4A574;
  --creme:#F5E6D3;
  --noir:#1a1a1a;
  --gris:#5b5b5b;
  --bord:#e8ddd0;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:Raleway,ui-sans-serif,system-ui,sans-serif;
  color:var(--noir);
  background:#fff;
  line-height:1.7;
  font-size:17px;
}
img{max-width:100%;height:auto}
a{color:var(--brun);text-decoration:none}
a:hover{text-decoration:underline}

/* ---- en-tete ---- */
.gd-header{
  position:sticky;top:0;z-index:50;
  background:#fff;border-bottom:1px solid var(--bord);
}
.gd-header-in{
  max-width:1200px;margin:0 auto;padding:14px 20px;
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
}
.gd-logo{display:flex;align-items:center;gap:12px;font-weight:700;font-size:22px;color:var(--brun);letter-spacing:.04em}
.gd-logo img{width:46px;height:46px;border-radius:50%}
.gd-nav{display:flex;gap:20px;flex-wrap:wrap;margin-left:auto}
.gd-nav a{color:var(--noir);font-weight:500;font-size:15px;padding:4px 0}
.gd-nav a:hover{color:var(--brun);text-decoration:none;border-bottom:2px solid var(--or)}
.gd-nav a.actif{color:var(--brun);border-bottom:2px solid var(--or)}
.gd-tel{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:700;color:var(--noir);white-space:nowrap
}

/* ---- banniere ---- */
.gd-hero{
  background:linear-gradient(135deg,var(--brun) 0%,var(--brun-clair) 100%);
  color:#fff;padding:64px 20px;text-align:center;
}
.gd-hero h1{margin:0 0 12px;font-size:44px;line-height:1.15;font-weight:800}
.gd-hero p{margin:0;opacity:.92;font-size:19px}

/* ---- corps ---- */
.gd-wrap{max-width:900px;margin:0 auto;padding:48px 20px}
.gd-wrap.large{max-width:1200px}

.gd-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
.gd-carte{
  border:1px solid var(--bord);border-radius:14px;overflow:hidden;
  background:#fff;display:flex;flex-direction:column;
  transition:box-shadow .2s ease,transform .2s ease;
}
.gd-carte:hover{box-shadow:0 10px 28px rgba(107,68,35,.13);transform:translateY(-2px)}
.gd-carte-img{aspect-ratio:16/10;background:var(--creme);overflow:hidden}
.gd-carte-img img{width:100%;height:100%;object-fit:cover;display:block}
.gd-carte-txt{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.gd-carte-txt h2{margin:0;font-size:20px;line-height:1.3}
.gd-carte-txt h2 a{color:var(--noir)}
.gd-carte-txt h2 a:hover{color:var(--brun);text-decoration:none}
.gd-meta{font-size:13px;color:var(--gris);text-transform:uppercase;letter-spacing:.06em}
.gd-extrait{margin:0;color:var(--gris);font-size:15px}
.gd-lire{margin-top:auto;font-weight:700;color:var(--brun)}

/* ---- article ---- */
.gd-article h1{font-size:38px;line-height:1.2;margin:0 0 12px}
.gd-article .gd-meta{margin-bottom:28px;display:block}
.gd-article h2{font-size:27px;margin:40px 0 14px;color:var(--brun)}
.gd-article h3{font-size:21px;margin:30px 0 10px;color:var(--brun-clair)}
.gd-article p{margin:0 0 18px}
.gd-article ul,.gd-article ol{margin:0 0 18px;padding-left:24px}
.gd-article li{margin-bottom:8px}
.gd-article img{border-radius:12px;margin:24px 0}
.gd-article blockquote{
  margin:28px 0;padding:18px 24px;background:var(--creme);
  border-left:4px solid var(--or);border-radius:0 10px 10px 0;font-style:italic;
}
.gd-article table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15px}
.gd-article th,.gd-article td{border:1px solid var(--bord);padding:10px 12px;text-align:left}
.gd-article th{background:var(--creme);font-weight:700}
.gd-article figcaption{font-size:14px;color:var(--gris);text-align:center;margin-top:-14px}

/* ---- encart reservation ---- */
.gd-cta{
  margin:48px 0 0;padding:32px;border-radius:16px;
  background:var(--creme);border:1px solid var(--bord);text-align:center;
}
.gd-cta h3{margin:0 0 10px;font-size:23px;color:var(--brun)}
.gd-cta p{margin:0 0 20px;color:var(--gris)}
.gd-boutons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.gd-btn{
  display:inline-block;padding:13px 26px;border-radius:9px;font-weight:700;
  background:var(--brun);color:#fff;border:2px solid var(--brun);
}
.gd-btn:hover{background:var(--brun-clair);border-color:var(--brun-clair);text-decoration:none}
.gd-btn.creux{background:transparent;color:var(--brun)}
.gd-btn.creux:hover{background:var(--brun);color:#fff}

/* ---- pagination ---- */
.gd-pagination{margin-top:44px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.gd-pagination .page-numbers{
  padding:9px 15px;border:1px solid var(--bord);border-radius:8px;color:var(--noir)
}
.gd-pagination .page-numbers.current{background:var(--brun);color:#fff;border-color:var(--brun)}
.gd-pagination a.page-numbers:hover{background:var(--creme);text-decoration:none}

/* ---- pied ---- */
.gd-footer{background:var(--noir);color:#cfc6ba;margin-top:72px;padding:44px 20px}
.gd-footer-in{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}
.gd-footer h4{color:#fff;margin:0 0 12px;font-size:16px;letter-spacing:.05em;text-transform:uppercase}
.gd-footer a{color:#cfc6ba}
.gd-footer a:hover{color:var(--or)}
.gd-footer ul{list-style:none;margin:0;padding:0}
.gd-footer li{margin-bottom:7px}
.gd-copy{max-width:1200px;margin:32px auto 0;padding-top:20px;border-top:1px solid #333;font-size:14px;text-align:center}

.gd-vide{text-align:center;color:var(--gris);padding:60px 0}

@media (max-width:760px){
  .gd-hero h1{font-size:32px}
  .gd-article h1{font-size:29px}
  .gd-nav{width:100%;margin-left:0;gap:14px}
  .gd-tel{display:none}
}

/* ---- CTA court insere en cours de lecture ---- */
.gd-cta-court{
  margin:32px 0;padding:20px 24px;border-radius:12px;
  background:var(--creme);border-left:4px solid var(--or);
}
.gd-cta-court p{margin:0 0 14px;color:var(--brun)}
.gd-cta-court .gd-boutons{justify-content:flex-start}

/* ---- encart complet de fin d article ---- */
.gd-infos{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:26px;margin-top:30px;text-align:left;
}
.gd-info h4{
  margin:0 0 10px;font-size:15px;text-transform:uppercase;
  letter-spacing:.06em;color:var(--brun)
}
.gd-info p{margin:0 0 10px;font-size:15px;color:var(--gris)}
.gd-liens{display:flex;flex-direction:column;gap:6px}
.gd-liens a{color:var(--brun);font-weight:600;font-size:15px}
.gd-horaires{width:100%;border-collapse:collapse;font-size:15px}
.gd-horaires th{
  text-align:left;font-weight:600;color:var(--noir);
  padding:4px 10px 4px 0;white-space:nowrap
}
.gd-horaires td{color:var(--gris);padding:4px 0}

/* ---- barre d appel fixe (mobile) ---- */
.gd-barre{display:none}
@media (max-width:760px){
  .gd-barre{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:80;
    box-shadow:0 -3px 14px rgba(0,0,0,.16);
  }
  .gd-barre a{
    flex:1;padding:15px 8px;text-align:center;font-weight:700;
    font-size:15px;text-decoration:none;
  }
  .gd-barre-tel{background:var(--brun);color:#fff}
  .gd-barre-iti{background:var(--or);color:var(--noir)}
  body{padding-bottom:56px}
}

/* Liens automatiques dans le corps : visibles sans etre criards. */
.gd-article p a,.gd-article li a,.gd-article td a{
  color:var(--brun);text-decoration:underline;
  text-decoration-color:var(--or);text-underline-offset:3px;
  text-decoration-thickness:2px;font-weight:600;
}
.gd-article p a:hover,.gd-article li a:hover{background:var(--creme)}

/* FAQ en accordeon */
.gd-article details{
  border:1px solid var(--bord);border-radius:10px;
  padding:14px 18px;margin-bottom:10px;background:#fff;
}
.gd-article details[open]{background:var(--creme)}
.gd-article summary{font-weight:700;cursor:pointer;color:var(--brun)}
.gd-article details p{margin:12px 0 0}

/* ---- en-tete : logo, telephone, WhatsApp ---- */
.gd-logo{gap:10px}
.gd-logo img{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none}
.gd-contact{display:flex;align-items:center;gap:12px;margin-left:auto}
.gd-tel{display:inline-flex;align-items:center;gap:8px}
.gd-tel svg{width:20px;height:20px;flex:none}
.gd-wa-pill{
  display:inline-flex;align-items:center;gap:8px;
  background:#25D366;color:#0b3d1f;font-weight:700;font-size:15px;
  padding:9px 16px;border-radius:999px;white-space:nowrap;
}
.gd-wa-pill:hover{background:#1fbb59;text-decoration:none}
.gd-wa-pill svg{width:19px;height:19px;flex:none}
.gd-nav{margin-left:0}

/* ---- bulle WhatsApp flottante ---- */
.gd-wa-bulle{
  position:fixed;right:22px;bottom:22px;z-index:70;
  width:58px;height:58px;border-radius:50%;background:#25D366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,.22);color:#fff;
}
.gd-wa-bulle:hover{background:#1fbb59}
.gd-wa-bulle svg{width:31px;height:31px}

@media (max-width:760px){
  .gd-contact{width:100%;margin-left:0;justify-content:flex-start}
  .gd-tel{display:inline-flex}
  /* la bulle remonte pour ne pas recouvrir la barre d appel fixe */
  .gd-wa-bulle{bottom:70px;width:52px;height:52px}
  .gd-wa-bulle svg{width:27px;height:27px}
}

/* ---- maillage : articles lies ---- */
.gd-lies{margin:52px 0 0}
.gd-lies h2{font-size:23px;color:var(--brun);margin:0 0 20px}
.gd-lies-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px}
.gd-lie{
  display:flex;flex-direction:column;gap:10px;
  border:1px solid var(--bord);border-radius:12px;overflow:hidden;background:#fff;
  transition:box-shadow .2s ease,transform .2s ease;
}
.gd-lie:hover{box-shadow:0 8px 22px rgba(107,68,35,.13);transform:translateY(-2px);text-decoration:none}
.gd-lie-img{display:block;aspect-ratio:16/10;background:var(--creme);overflow:hidden}
.gd-lie-img img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0}
.gd-lie-txt{
  padding:0 14px 16px;font-weight:700;font-size:15px;line-height:1.35;color:var(--noir);
}
.gd-lie:hover .gd-lie-txt{color:var(--brun)}

/* ---- photo reelle inseree dans le corps ---- */
.gd-photo{margin:32px 0}
.gd-photo img{border-radius:12px;margin:0;display:block;width:100%;height:auto}
.gd-photo figcaption{
  font-size:14px;color:var(--gris);text-align:center;margin-top:10px;font-style:italic;
}
