/*
Theme Name: Montagudet
Theme URI: https://www.montagudet.be
Author: Gîte de Montagudet
Description: Thème personnalisé pour le Gîte de Montagudet — style rustique & chaleureux
Version: 1.0
Requires at least: 6.0
Requires PHP: 8.0
License: Proprietary
Text Domain: montagudet
*/

/* ═══════════════════════════════════════════════════════════
   Variables
═══════════════════════════════════════════════════════════ */
:root {
  --color-stone:      #c8a97e;
  --color-stone-dark: #8b6b47;
  --color-terra:      #a0522d;
  --color-terra-light:#d4845a;
  --color-cream:      #fdf6ed;
  --color-cream-dark: #f0e6d3;
  --color-warm-bg:    #f5ebe0;
  --color-dark:       #2c1f12;
  --color-dark-bg:    #1a120b;
  --color-text:       #3d2b1a;
  --color-text-muted: #7a6352;
  --color-white:      #ffffff;
  --color-divider:    #e8d8c4;

  --font-display: 'Playfair Display', Georgia, serif;
  --font-body:    'Lato', 'Segoe UI', system-ui, sans-serif;

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;

  --shadow-sm: 0 2px 8px rgba(44,31,18,.08);
  --shadow-md: 0 4px 20px rgba(44,31,18,.12);
  --shadow-lg: 0 8px 40px rgba(44,31,18,.18);

  --nav-height: 68px;
  --transition: 0.25s ease;
}

/* ── Reset & base ─────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: var(--font-body);
  color: var(--color-text);
  background: var(--color-cream);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

img { display: block; max-width: 100%; height: 100%; object-fit: cover; }
a   { color: inherit; text-decoration: none; }

/* ── Navigation ───────────────────────────────────────── */
#site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: rgba(26,18,11,.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(200,169,126,.2);
  transition: background var(--transition), box-shadow var(--transition);
}

#site-header.scrolled {
  background: rgba(26,18,11,.98);
  box-shadow: 0 2px 20px rgba(0,0,0,.3);
}

.nav-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  height: var(--nav-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.nav-logo { display:flex; flex-direction:column; line-height:1.2; }
.nav-logo .logo-main  { font-family:var(--font-display); font-size:20px; font-weight:600; color:var(--color-stone); letter-spacing:.02em; }
.nav-logo .logo-sub   { font-size:10px; font-weight:300; color:rgba(200,169,126,.6); letter-spacing:.12em; text-transform:uppercase; }

.nav-links { display:flex; align-items:center; gap:6px; list-style:none; }
.nav-links a { font-size:13px; font-weight:400; color:rgba(255,255,255,.8); letter-spacing:.04em; padding:8px 14px; border-radius:var(--radius-sm); transition:color var(--transition),background var(--transition); }
.nav-links a:hover { color:var(--color-stone); background:rgba(200,169,126,.1); }
.nav-links a.nav-cta { background:var(--color-terra); color:var(--color-white); font-weight:700; padding:8px 18px; }
.nav-links a.nav-cta:hover { background:var(--color-terra-light); color:var(--color-white); }

.nav-toggle { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; }
.nav-toggle span { display:block; width:24px; height:2px; background:var(--color-stone); border-radius:2px; transition:transform var(--transition),opacity var(--transition); }

/* ── Buttons ──────────────────────────────────────────── */
.btn {
  display:inline-block; font-family:var(--font-body); font-size:14px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; padding:13px 28px;
  border-radius:var(--radius-sm); cursor:pointer; border:2px solid transparent;
  transition:all var(--transition); text-align:center;
}
.btn-primary { background:var(--color-terra); color:var(--color-white); border-color:var(--color-terra); }
.btn-primary:hover { background:var(--color-terra-light); border-color:var(--color-terra-light); transform:translateY(-2px); box-shadow:0 4px 16px rgba(160,82,45,.35); }
.btn-secondary { background:transparent; color:var(--color-white); border-color:rgba(255,255,255,.55); }
.btn-secondary:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.9); }
.btn-outline { background:transparent; color:var(--color-terra); border-color:var(--color-terra); }
.btn-outline:hover { background:var(--color-terra); color:var(--color-white); }

/* ── Layout ───────────────────────────────────────────── */
.container        { max-width:1160px; margin:0 auto; padding:0 24px; }
.container-narrow { max-width:860px;  margin:0 auto; padding:0 24px; }
.section          { padding:88px 0; }
.section-light    { background:var(--color-cream); }
.section-warm     { background:var(--color-warm-bg); }
.section-dark     { background:var(--color-dark-bg); }

/* ── Section headers ──────────────────────────────────── */
.section-header, .section-header-light { text-align:center; margin-bottom:56px; }
.section-eyebrow { font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--color-terra); margin-bottom:10px; }
.section-eyebrow-light { color:var(--color-stone); }
.section-header h2, .section-header-light h2 { font-family:var(--font-display); font-size:38px; font-weight:700; color:var(--color-dark); line-height:1.2; margin-bottom:16px; }
.text-light      { color:var(--color-cream) !important; }
.text-light-muted{ color:rgba(253,246,237,.55) !important; }
.section-intro { font-size:17px; color:var(--color-text-muted); max-width:580px; margin:0 auto; line-height:1.75; }
.section-intro a { color:var(--color-terra); text-decoration:underline; text-underline-offset:3px; }

/* ── Hero ─────────────────────────────────────────────── */
.hero {
  position:relative; min-height:100vh;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  background:linear-gradient(160deg,#2c1a0e 0%,#5c3a20 40%,#8b6040 100%);
  background-size:cover; background-position:center;
}
.hero-overlay { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(20,12,5,.55) 0%,rgba(20,12,5,.35) 50%,rgba(20,12,5,.7) 100%); }
.hero-content { position:relative; z-index:2; text-align:center; padding:0 24px; max-width:780px; }
.hero-eyebrow  { font-size:11px; font-weight:700; letter-spacing:.3em; text-transform:uppercase; color:var(--color-stone); margin-bottom:18px; }
.hero-content h1 { font-family:var(--font-display); font-size:clamp(36px,7vw,68px); font-weight:700; color:var(--color-white); line-height:1.15; margin-bottom:22px; text-shadow:0 2px 24px rgba(0,0,0,.4); }
.hero-content h1 em { color:var(--color-stone); font-style:italic; }
.hero-description  { font-size:18px; color:rgba(255,255,255,.82); max-width:520px; margin:0 auto 36px; line-height:1.7; }
.hero-actions { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.hero-scroll-hint { position:absolute; bottom:32px; left:50%; transform:translateX(-50%); z-index:2; display:flex; flex-direction:column; align-items:center; gap:8px; color:rgba(255,255,255,.5); font-size:10px; letter-spacing:.2em; text-transform:uppercase; animation:float 2.5s ease-in-out infinite; }
.scroll-arrow { width:20px; height:20px; border-right:2px solid rgba(255,255,255,.5); border-bottom:2px solid rgba(255,255,255,.5); transform:rotate(45deg); margin-top:-6px; }
@keyframes float { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(6px)} }

/* ── Feature cards ────────────────────────────────────── */
.features-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:24px; margin-bottom:56px; }
.feature-card { background:var(--color-white); border:1px solid var(--color-divider); border-radius:var(--radius-md); padding:28px 24px; text-align:center; box-shadow:var(--shadow-sm); transition:transform var(--transition),box-shadow var(--transition); }
.feature-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.feature-icon  { font-size:32px; margin-bottom:14px; }
.feature-card h3 { font-family:var(--font-display); font-size:17px; font-weight:600; color:var(--color-dark); margin-bottom:10px; }
.feature-card p  { font-size:14px; color:var(--color-text-muted); line-height:1.65; }

/* ── Gallery ──────────────────────────────────────────── */
.gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:260px 260px; gap:12px; border-radius:var(--radius-lg); overflow:hidden; margin-bottom:12px; }
.gallery-item { overflow:hidden; background:var(--color-cream-dark); }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.gallery-item:hover img { transform:scale(1.04); }
.gallery-main { grid-column:1/3; grid-row:1/3; }
.gallery-hint { font-size:12px; color:var(--color-text-muted); text-align:center; margin-bottom:48px; font-style:italic; }
.gallery-section-title { font-family:var(--font-display); font-size:15px; font-weight:600; color:var(--color-terra); text-transform:uppercase; letter-spacing:.18em; margin:40px 0 14px; padding-bottom:8px; border-bottom:1px solid var(--color-divider); }
.gallery-section-title:first-of-type { margin-top:0; }
.gallery-grid-3 { grid-template-columns:repeat(3,1fr); grid-template-rows:240px 240px; margin-bottom:0; }

/* Galerie dynamique (nombre de photos variable) */
.gallery-auto { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:12px; border-radius:var(--radius-lg); overflow:hidden; margin-bottom:12px; }
.gallery-auto .gallery-item { height:220px; }
.gallery-admin-notice { font-size:12px; color:var(--color-text-muted); background:#fef3c7; border:1px solid #fde68a; border-radius:6px; padding:10px 14px; margin-bottom:10px; }
.gallery-admin-notice a { color:#92400e; font-weight:600; }

/* ── Specs ────────────────────────────────────────────── */
.specs-block { background:var(--color-white); border:1px solid var(--color-divider); border-radius:var(--radius-md); padding:32px; box-shadow:var(--shadow-sm); }
.specs-block h3 { font-family:var(--font-display); font-size:20px; color:var(--color-dark); margin-bottom:24px; padding-bottom:12px; border-bottom:1px solid var(--color-divider); }
.specs-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; }
.spec-item  { display:flex; flex-direction:column; gap:4px; }
.spec-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color:var(--color-terra); }
.spec-value { font-size:15px; color:var(--color-text); }

/* ── Région ───────────────────────────────────────────── */
.places-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; margin-bottom:56px; }
.place-card  { background:var(--color-white); border:1px solid var(--color-divider); border-radius:var(--radius-md); padding:24px; box-shadow:var(--shadow-sm); transition:transform var(--transition),box-shadow var(--transition); }
.place-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.place-distance { display:inline-block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--color-white); background:var(--color-terra); border-radius:20px; padding:3px 10px; margin-bottom:10px; }
.place-card h3 { font-family:var(--font-display); font-size:17px; font-weight:600; color:var(--color-dark); margin-bottom:8px; }
.place-card p  { font-size:13px; color:var(--color-text-muted); line-height:1.6; }
.map-block h3 { font-family:var(--font-display); font-size:22px; color:var(--color-dark); margin-bottom:20px; }
.map-embed { border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-md); border:1px solid var(--color-divider); }
.region-text-block { background:var(--color-white); border:1px solid var(--color-divider); border-radius:var(--radius-md); padding:32px 36px; margin-bottom:36px; box-shadow:var(--shadow-sm); }
.region-text-block h3 { font-family:var(--font-display); font-size:22px; color:var(--color-dark); margin-bottom:16px; padding-bottom:10px; border-bottom:1px solid var(--color-divider); }
.region-text-block p  { font-size:14px; color:var(--color-text-muted); line-height:1.8; margin-bottom:12px; }
.region-text-block p:last-child { margin-bottom:0; }
.maison-intro { max-width:780px; margin:0 auto 48px; text-align:center; }
.maison-intro p { font-size:16px; color:var(--color-text-muted); line-height:1.85; font-style:italic; }

/* ── Calendrier ───────────────────────────────────────── */
#fc-calendar { padding:4px; }
#fc-calendar {
  --fc-border-color:               var(--color-divider);
  --fc-button-bg-color:            transparent;
  --fc-button-border-color:        var(--color-divider);
  --fc-button-hover-bg-color:      var(--color-cream);
  --fc-button-hover-border-color:  var(--color-stone);
  --fc-button-active-bg-color:     var(--color-cream);
  --fc-button-active-border-color: var(--color-stone);
  --fc-today-bg-color:             rgba(160,82,45,.07);
  --fc-neutral-bg-color:           var(--color-cream);
  --fc-page-bg-color:              var(--color-white);
  --fc-event-bg-color:             var(--color-terra);
  --fc-event-border-color:         var(--color-terra);
  --fc-event-text-color:           #ffffff;
}
#fc-calendar .fc-toolbar-title { font-family:var(--font-display); font-size:20px; font-weight:600; color:var(--color-dark); text-transform:capitalize; }
#fc-calendar .fc-button { font-family:var(--font-body); font-size:12px; font-weight:600; padding:6px 12px; border-radius:6px; text-transform:uppercase; letter-spacing:.05em; color:var(--color-text-muted); box-shadow:none!important; outline:none!important; transition:background .15s,color .15s,border-color .15s; }
#fc-calendar .fc-button:hover { color:var(--color-terra); border-color:var(--color-terra)!important; }
#fc-calendar .fc-today-button { color:var(--color-terra); border-color:var(--color-terra)!important; font-weight:700; }
#fc-calendar .fc-today-button:hover { background:rgba(160,82,45,.08)!important; }
#fc-calendar .fc-today-button:disabled { opacity:.4; cursor:default; }
#fc-calendar .fc-button:focus { box-shadow:none!important; }
#fc-calendar .fc-col-header-cell-cushion { font-family:var(--font-body); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--color-text-muted); text-decoration:none; padding:10px 0; }
#fc-calendar .fc-daygrid-day-number { font-family:var(--font-body); font-size:13px; color:var(--color-text); text-decoration:none; padding:6px 10px; }
#fc-calendar .fc-daygrid-day-number:hover { color:var(--color-terra); }
#fc-calendar .fc-day-today .fc-daygrid-day-number { background:var(--color-terra); color:#fff; border-radius:50%; width:26px; height:26px; display:flex; align-items:center; justify-content:center; margin:4px; padding:0; }
#fc-calendar .fc-event { border-radius:4px; padding:2px 6px; font-family:var(--font-body); border:none; cursor:default; }
#fc-calendar .fc-event:hover { opacity:.9; }
.fc-event-title-custom { font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.libre-badge { position:absolute; bottom:3px; right:5px; font-family:var(--font-body); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#166534; pointer-events:none; }
#fc-calendar .fc-daygrid-day-frame { position:relative; min-height:80px; }
#fc-loading-notice { display:none; text-align:center; padding:20px; font-size:13px; color:var(--color-text-muted); font-style:italic; }

.calendar-legend  { display:flex; gap:24px; justify-content:center; margin-bottom:24px; flex-wrap:wrap; }
.legend-item      { font-size:13px; color:var(--color-text-muted); display:flex; align-items:center; gap:6px; }
.legend-booked    { color:#dc2626; }
.legend-free      { color:#166534; }
.calendar-wrapper { background:var(--color-white); border:1px solid var(--color-divider); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); margin-bottom:48px; }

/* ── Tarifs ───────────────────────────────────────────── */
.tarifs-block h3 { font-family:var(--font-display); font-size:22px; color:var(--color-dark); margin-bottom:20px; }
.tarifs-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; margin-bottom:16px; }
.tarif-card  { background:var(--color-white); border:1px solid var(--color-divider); border-radius:var(--radius-md); padding:24px; text-align:center; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:8px; }
.tarif-card.tarif-highlight { background:var(--color-terra); border-color:var(--color-terra); color:var(--color-white); box-shadow:var(--shadow-md); }
.tarif-period { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color:var(--color-text-muted); }
.tarif-highlight .tarif-period { color:rgba(255,255,255,.75); }
.tarif-price  { font-family:var(--font-display); font-size:22px; font-weight:700; color:var(--color-dark); }
.tarif-highlight .tarif-price { color:var(--color-white); }
.tarif-unit   { font-size:12px; color:var(--color-text-muted); font-weight:400; }
.tarif-highlight .tarif-unit { color:rgba(255,255,255,.7); }
.tarif-note   { font-size:12px; color:var(--color-text-muted); font-style:italic; }
.tarif-note a { color:var(--color-terra); text-decoration:underline; text-underline-offset:3px; }

/* ── Vidéos ───────────────────────────────────────────── */
.videos-grid  { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:28px; margin-bottom:24px; }
.video-wrapper{ border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-lg); background:#111; }
.video-wrapper iframe { display:block; width:100%; aspect-ratio:16/9; border:0; }
.video-caption{ font-size:13px; color:rgba(253,246,237,.65); text-align:center; padding:12px; font-style:italic; }

/* ── Avis ─────────────────────────────────────────────── */
.avis-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px; }
.avis-card { background:#fff; border:1px solid var(--color-divider); border-radius:12px; padding:28px 24px; display:flex; flex-direction:column; gap:16px; box-shadow:0 2px 12px rgba(0,0,0,.06); transition:box-shadow .2s; }
.avis-card:hover { box-shadow:0 6px 24px rgba(0,0,0,.1); }
.avis-stars { color:#d97706; font-size:18px; letter-spacing:2px; }
.avis-texte { font-family:var(--font-body); font-size:14px; line-height:1.7; color:var(--color-text); font-style:italic; flex:1; margin:0; }
.avis-auteur{ display:flex; align-items:center; gap:12px; padding-top:16px; border-top:1px solid var(--color-divider); }
.avis-avatar{ width:48px; height:48px; border-radius:50%; overflow:hidden; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.avis-avatar span { font-family:var(--font-display); font-size:20px; font-weight:700; color:#fff; }
.avis-avatar img  { width:100%; height:100%; object-fit:cover; }
.avis-identite { display:flex; flex-direction:column; gap:2px; }
.avis-identite strong { font-family:var(--font-body); font-size:14px; font-weight:700; color:var(--color-dark); }
.avis-identite span   { font-family:var(--font-body); font-size:12px; color:var(--color-text-muted); }
.google-avis-embed { margin-top:48px; }

/* ── Contact ──────────────────────────────────────────── */
.contact-block { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px; margin-bottom:40px; }
.contact-card  { background:var(--color-white); border:1px solid var(--color-divider); border-radius:var(--radius-md); padding:32px 24px; text-align:center; box-shadow:var(--shadow-sm); }
.contact-icon  { font-size:36px; margin-bottom:14px; }
.contact-card h3 { font-family:var(--font-display); font-size:19px; font-weight:600; color:var(--color-dark); margin-bottom:10px; }
.contact-card p  { font-size:14px; color:var(--color-text-muted); line-height:1.6; margin-bottom:18px; }
.contact-email-address { font-size:14px; font-weight:700; color:var(--color-terra); margin-bottom:16px!important; word-break:break-all; }
.contact-email-address a { color:var(--color-terra); text-decoration:underline; text-underline-offset:3px; }
.contact-email-address a:hover { color:var(--color-terra-light); }
.contact-btn   { display:inline-block; margin-bottom:12px; }
.contact-note  { font-size:11px; color:var(--color-text-muted); font-style:italic; margin:0!important; }
.social-links  { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }
.social-link   { display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:700; color:var(--color-terra); padding:10px 20px; border:2px solid var(--color-terra); border-radius:var(--radius-sm); transition:all var(--transition); }
.social-link:hover { background:var(--color-terra); color:var(--color-white); }

/* ── Footer ───────────────────────────────────────────── */
.site-footer { background:var(--color-dark-bg); color:rgba(253,246,237,.65); padding:48px 24px 32px; text-align:center; border-top:1px solid rgba(200,169,126,.15); }
.footer-container { max-width:900px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:24px; }
.footer-logo { display:flex; flex-direction:column; align-items:center; gap:4px; }
.footer-logo .logo-main { font-family:var(--font-display); font-size:22px; font-weight:600; color:var(--color-stone); }
.footer-logo .logo-sub  { font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:rgba(200,169,126,.5); }
.footer-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 20px; }
.footer-nav a { font-size:13px; color:rgba(253,246,237,.55); transition:color var(--transition); }
.footer-nav a:hover { color:var(--color-stone); }
.footer-copy { font-size:12px; color:rgba(253,246,237,.3); }

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 768px) {
  .nav-toggle { display:flex; }
  .nav-links { display:none; position:fixed; top:var(--nav-height); left:0; right:0; background:rgba(26,18,11,.98); flex-direction:column; align-items:stretch; padding:16px; gap:4px; border-bottom:1px solid rgba(200,169,126,.15); }
  .nav-links.open { display:flex; }
  .nav-links a { padding:12px 16px; font-size:15px; }

  .gallery-grid, .gallery-grid-3 { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .gallery-main { grid-column:1/3; grid-row:auto; height:200px; }
  .gallery-item { height:140px; }

  .hero-content h1 { font-size:34px; }
  .section-header h2, .section-header-light h2 { font-size:28px; }
  .section { padding:56px 0; }
  .features-grid { grid-template-columns:1fr 1fr; }
  .places-grid, .contact-block { grid-template-columns:1fr; }
  .contact-card .btn { width:100%; }
  .tarifs-grid { grid-template-columns:1fr; }
  .specs-grid  { grid-template-columns:1fr 1fr; }
  .avis-grid   { grid-template-columns:1fr; gap:16px; }
}

@media (max-width: 480px) {
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .btn { width:100%; text-align:center; }
  .gallery-grid, .gallery-grid-3 { grid-template-columns:1fr; }
  .gallery-main { grid-column:1; height:220px; }
  .gallery-item { height:200px; }
  .features-grid { grid-template-columns:1fr; }
  .specs-grid    { grid-template-columns:1fr; }
  .section-header h2, .section-header-light h2 { font-size:24px; }
  .videos-grid   { grid-template-columns:1fr; }
  .places-grid   { grid-template-columns:1fr; }
}

/* ── WordPress admin bar ──────────────────────────────── */
.admin-bar #site-header { top:32px; }
@media (max-width: 782px) { .admin-bar #site-header { top:46px; } }
