/* =========================================================
   PARA-CHOQUE CULTURAL — Sistema visual v1.1
   Design System — Bebas Neue + Open Sans
   Paleta inspirada nas cores da Índia
   ========================================================= */

/* ---------- Tokens — Design System v1.1 ---------- */
:root{
  /* ── Cores da marca ── */
  --amarelo:      #E6A817;   /* Mostarda — CTAs e destaques */
  --rosa:         #B84A2A;   /* Terracota — assinatura, CTA principal */
  --acafrao:      #D4724A;   /* Caramelo — badges, ícones, urgência */
  --ink:          #1B2E4A;   /* Azul Marinho — navbar, footer, títulos estruturais */
  --verde-med:    #4A7C59;   /* Musgo — links, tags, confirmado, WhatsApp */
  --ink-soft:     #6B2D0E;   /* Marrom — texto corrido, subtítulos */

  /* ── Fundos (nem branco, nem bege) ── */
  --paper:        #EDE0CC;   /* Bege — fundo principal do site */
  --paper-2:      #F5EDE0;   /* Areia Clara — cards e seções alternadas */
  --mint:         #E9EDE3;   /* Névoa Musgo — blog, editorial, conteúdo */

  /* ── Bordas por contexto de fundo ── */
  --paper-3:      #d9cbb5;   /* Borda-1: sobre Bege */
  --borda-2:      #cfc0a8;   /* Borda-2: sobre Areia Clara */
  --borda-mint:   #d3dac9;   /* Borda-3: sobre Névoa Musgo */

  /* ── Tons escuros ── */
  --night:        #1B2E4A;   /* Azul Marinho (alias para fundo escuro) */
  --night-2:      #14223A;   /* Azul Noite mais escuro */
  --on-night:     #EDE0CC;   /* Bege claro sobre fundo escuro */
  --on-night-soft:#9DB2D1;   /* Azul claro sobre fundo escuro (meta, subtítulos) */

  /* ── Misc ── */
  --ink-faint:    #9A8B76;   /* Cinza areia — meta, labels, captions */
  --rosa-d:       #9A3B20;   /* Terracota escuro (hover) */

  /* ── Aliases de compatibilidade ── */
  --terracotta:   var(--rosa);
  --terracotta-d: var(--rosa-d);
  --saffron:      var(--amarelo);
  --gold:         var(--amarelo);
  --indigo:       var(--verde-med);
  --paper-faint:  var(--on-night-soft);
  --on-night-faint: var(--on-night-soft);

  /* ── Tipografia — Design System oficial ── */
  --font-display: "Bebas Neue", "Arial Narrow", sans-serif; /* Títulos, destaques, CTAs de impacto */
  --font-body:    "Open Sans", system-ui, -apple-system, sans-serif; /* Textos corridos, parágrafos, legendas */

  /* Aliases legados (mantidos para retrocompatibilidade) */
  --serif: var(--font-display);
  --sans:  var(--font-body);

  /* ── Escala tipográfica ── */
  --text-micro:   11px;
  --text-small:   13px;
  --text-base:    15px;
  --text-lead:    clamp(17px, 1.5vw, 20px);
  --text-h4:      clamp(18px, 1.6vw, 22px);
  --text-h3:      clamp(20px, 2vw, 26px);
  --text-h2:      clamp(28px, 3.5vw, 40px);
  --text-h1:      clamp(36px, 5vw, 64px);
  --text-display: clamp(48px, 6.5vw, 80px);

  /* ── Métricas de layout ── */
  --maxw:   1320px;
  --gutter: clamp(20px, 5vw, 64px);
  --radius: 14px;   /* 14px conforme cards do DS */
  --radius-sm: 8px; /* botões e badges */
  --radius-pill: 99px;

  /* ── Sombras ── */
  --shadow-1: 0 1px 2px rgba(27,46,74,.05), 0 10px 34px rgba(27,46,74,.08);
  --shadow-2: 0 30px 80px -30px rgba(20,34,58,.5);

  /* ── Gradiente de identidade ── */
  --gradient-brand: linear-gradient(90deg, var(--ink) 0%, var(--rosa) 45%, var(--amarelo) 100%);
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  font-family: var(--font-body);
  color:var(--ink-soft);
  background:var(--paper);
  line-height:1.6;
  font-size:clamp(15px,1.05vw,17px);
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
ul{ list-style:none; }

/* ---------- Tipografia utilitária ---------- */
/* Eyebrow — label superior em maiúsculas (Open Sans 600) */
.eyebrow{
  font-family: var(--font-body);
  font-size:clamp(11px,.78vw,12.5px);
  font-weight:600;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--rosa);
}
.eyebrow--light{ color:var(--amarelo); }
.eyebrow--muted{ color:var(--ink-faint); }

/* Headings — Bebas Neue (peso 400 único) */
/* Bebas Neue só tem peso 400 — sem negrito sintético */
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:400; line-height:.9; letter-spacing:.012em; color:var(--ink); }
h4{ }

/* Escala display (heroes) */
.display{
  font-family: var(--font-display);
  font-weight:400;
  font-size:clamp(50px,8.2vw,128px);
  line-height:.86;
  letter-spacing:.012em;
  text-wrap:balance;
}
.h-xl{ font-size:var(--text-h1);    font-weight:400; line-height:.9;  letter-spacing:.012em; text-wrap:balance; }
.h-lg{ font-size:var(--text-h2);    font-weight:400; line-height:.92; letter-spacing:.012em; text-wrap:balance; }
.h-md{ font-size:var(--text-h3);    font-weight:400; line-height:.96; letter-spacing:.012em; }
.h-sm{ font-size:var(--text-h4);    font-weight:400; line-height:1.02; letter-spacing:.012em; }

/* Cores de heading em contextos escuros */
.hero h1,.hero h2,.hero h3{ color:var(--paper); }
.ctaband h1,.ctaband h2{ color:var(--paper); }
.bg-ink h1,.bg-ink h2,.bg-ink h3,.bg-ink h4{ color:var(--on-night); }
.site-footer .display{ color:var(--on-night); }
.bg-ink .lead{ color:var(--on-night); }

.lead{
  font-family: var(--font-body);
  font-weight:400;
  font-size:clamp(18px,1.7vw,24px);
  line-height:1.6;
  color:var(--ink-soft);
  text-wrap:pretty;
}
.italic{ font-style:italic; }
.muted{ color:var(--ink-soft); }
.faint{ color:var(--ink-faint); }
p.body{ max-width:62ch; text-wrap:pretty; color:var(--ink-soft); }

/* ---------- Layout ---------- */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
.wrap-wide{ width:100%; max-width:1640px; margin-inline:auto; padding-inline:var(--gutter); }
section{ position:relative; }
.section{ padding-block:clamp(72px,11vh,150px); }
.section-sm{ padding-block:clamp(48px,7vh,90px); }
.bg-paper2{ background:var(--paper-2); }
.bg-ink{ background:var(--night); color:var(--on-night); }
.bg-ink .muted{ color:var(--on-night-faint); }
.bg-ink .eyebrow{ color:var(--saffron); }
.hairline{ height:1px; background:var(--paper-3); border:0; }
.bg-ink .hairline{ background:rgba(237,224,204,.14); }

/* ---------- Botões — Design System completo ---------- */
/* Base */
.btn{
  display:inline-flex; align-items:center; gap:.5em;
  font-family:var(--font-body); font-weight:500;
  font-size:var(--text-small); letter-spacing:0em;
  padding:10px 22px; border-radius:var(--radius-sm);
  border:none; cursor:pointer; text-decoration:none;
  transition:transform .3s cubic-bezier(.2,.7,.2,1), background .25s, color .25s, border-color .25s, box-shadow .25s;
  white-space:nowrap; line-height:1;
}
.btn:hover{ transform:translateY(-2px); box-shadow:var(--shadow-1); }

/* Primário — Rosa Rajput + Amarelo (CTA principal: reservar, ver roteiros) */
.btn--solid,
.btn--primary{ background:var(--rosa); color:var(--amarelo); }
.btn--solid:hover,
.btn--primary:hover{ background:var(--rosa-d); }

/* Secundário — Verde Kerala + Amarelo (ação principal alternativa) */
.btn--secondary{ background:var(--ink); color:var(--amarelo); }
.btn--secondary:hover{ background:var(--night-2); }

/* Terciário — Amarelo + Verde Kerala (destaque invertido, promoções) */
.btn--tertiary,
.btn--light{ background:var(--amarelo); color:var(--ink); }
.btn--tertiary:hover,
.btn--light:hover{ background:#F2BC3D; }

/* Ghost — fundo Rosa Templo + borda+texto Rosa Rajput (ação secundária em fundo claro) */
.btn--ghost{ background:var(--paper); color:var(--rosa); border:1.5px solid var(--rosa); }
.btn--ghost:hover{ background:var(--rosa); color:var(--amarelo); }

/* Ghost sobre fundo escuro */
.bg-ink .btn--ghost{ background:transparent; border-color:rgba(237,224,204,.4); color:var(--on-night); }
.bg-ink .btn--ghost:hover{ background:var(--amarelo); color:var(--ink); border-color:var(--amarelo); }

/* Urgência — Açafrão + Rosa Templo (vagas limitadas, inscrição) */
.btn--hot,
.btn--urgencia{ background:var(--acafrao); color:var(--paper); }
.btn--hot:hover,
.btn--urgencia:hover{ background:#9A3B20; }

/* Outline — borda+texto Verde Kerala, fundo transparente (ação discreta) */
.btn--outline{ background:transparent; color:var(--ink); border:1.5px solid var(--ink); }
.btn--outline:hover{ background:var(--ink); color:var(--amarelo); }

/* WhatsApp — Verde Esmeralda */
.btn--wa{ background:var(--verde-med); color:var(--on-night); }
.btn--wa:hover{ background:#3C674A; }

/* Link sublinhado */
.link-underline{
  position:relative; display:inline-flex; align-items:center; gap:.5em;
  font-weight:600; font-size:var(--text-small); letter-spacing:.05em; text-transform:uppercase;
  padding-bottom:4px;
}
.link-underline::after{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:100%;
  background:currentColor; transform:scaleX(.34); transform-origin:left;
  transition:transform .4s cubic-bezier(.2,.7,.2,1); opacity:.6;
}
.link-underline:hover::after{ transform:scaleX(1); opacity:1; }
.arrow{ transition:transform .35s cubic-bezier(.2,.7,.2,1); }
.link-underline:hover .arrow,.btn:hover .arrow{ transform:translateX(4px); }

/* ---------- Placeholders cinematográficos (campos de cor duotone) ---------- */
.ph{
  position:relative; overflow:hidden; background:var(--b,#7a3f2a);
  --a:#e7c785; --b:#b5602a; --c:#3a2640; --sky:#f3d9a3;
}
.ph::before{ /* atmosfera fotográfica: luz alta + horizonte + sombra */
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(80% 55% at 74% 14%, var(--sky) 0%, transparent 60%),
    radial-gradient(140% 80% at 30% 4%, color-mix(in oklab, var(--a) 80%, #fff) 0%, transparent 52%),
    radial-gradient(120% 130% at 14% 104%, color-mix(in oklab, var(--c) 88%, #000) 0%, transparent 64%),
    linear-gradient(168deg, var(--a) 2%, var(--b) 50%, var(--c) 100%);
  background-blend-mode:screen, normal, multiply, normal;
}
.ph::after{ /* grão de filme sutil */
  content:""; position:absolute; inset:0; opacity:.07; mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.ph__cap{
  position:absolute; left:0; bottom:0; z-index:3; padding:16px 18px;
  display:flex; align-items:center; gap:9px;
  font-family:var(--sans); font-size:11px; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.92);
  text-shadow:0 1px 14px rgba(0,0,0,.5);
}
.ph__cap::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--saffron); box-shadow:0 0 0 3px rgba(0,0,0,.15); }
.ph__tag{
  position:absolute; right:14px; top:14px; z-index:3;
  font-family:var(--sans); font-size:9.5px; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color:rgba(255,255,255,.78); background:rgba(0,0,0,.22); backdrop-filter:blur(3px);
  padding:5px 9px; border-radius:999px; border:1px solid rgba(255,255,255,.18);
}
.ph__grad-b::after{} /* placeholder hook */
.ph .ph__veil{ position:absolute; inset:0; z-index:2; background:linear-gradient(to top, rgba(8,6,4,.5), transparent 42%); }

/* Cenas — paletas evocativas (--sky = luz alta, --a meio claro, --b meio, --c sombra) */
.scene-desert  { --sky:#ffe4ad; --a:#eeb866; --b:#c66a2c; --c:#5a2f3f; }
.scene-blue    { --sky:#cfe6ee; --a:#7db4cf; --b:#356f93; --c:#142b40; }
.scene-palace  { --sky:#fbe9b8; --a:#edc878; --b:#bd7a2c; --c:#6a2733; }
.scene-temple  { --sky:#ffd9a0; --a:#e3a657; --b:#a8401f; --c:#2c1b2e; }
.scene-holi    { --sky:#ffd28a; --a:#ec9c3c; --b:#cf3f6e; --c:#3a3f9a; }
.scene-market  { --sky:#ffe09a; --a:#e3bb4f; --b:#b2402a; --c:#2f3a2c; }
.scene-night   { --sky:#e7c98a; --a:#b88a4c; --b:#6a3f3f; --c:#0d1426; }
.scene-portrait{ --sky:#f2d3a6; --a:#dcae74; --b:#8a4327; --c:#27191c; }
.scene-nature  { --sky:#e8e29a; --a:#bcae5f; --b:#4f7a4a; --c:#16302f; }
.scene-water   { --sky:#d6ece8; --a:#9ec9c6; --b:#3f8089; --c:#163141; }

/* Imagem real (quando substituir o placeholder) */
.ph > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; }
.ph > img.pos-top{ object-position:50% 18%; }
.ph > img.pos-bottom{ object-position:50% 78%; }

/* ---------- Reveal no scroll ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity 1.1s cubic-bezier(.2,.7,.2,1), transform 1.1s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.08s; }
.reveal[data-d="2"]{ transition-delay:.16s; }
.reveal[data-d="3"]{ transition-delay:.24s; }
.reveal[data-d="4"]{ transition-delay:.32s; }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1 !important; transform:none !important; }
  html{ scroll-behavior:auto; }
}

/* =========================================================
   HEADER
   ========================================================= */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:90;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px var(--gutter);
  transition:background .5s, padding .5s, box-shadow .5s, color .5s;
  color:var(--paper);
}
.site-header.solid{
  background:rgba(237,224,204,.92); backdrop-filter:blur(12px) saturate(1.1);
  color:var(--ink); padding-block:13px; box-shadow:0 1px 0 var(--paper-3);
}
.brand{ display:flex; align-items:center; gap:13px; line-height:1; }
.brand__logo{ width:66px; height:66px; flex:none; border-radius:50%; transition:width .5s, height .5s; }
.site-header.solid .brand__logo{ width:54px; height:54px; }
.nav{ display:flex; align-items:center; gap:34px; }
.nav a{ font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; position:relative; padding-block:4px; }
.nav a::after{ content:""; position:absolute; left:0; bottom:-1px; height:1px; width:100%; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .4s cubic-bezier(.2,.7,.2,1); }
.nav a:hover::after,.nav a.active::after{ transform:scaleX(1); }
.header-cta{ display:flex; align-items:center; gap:14px; }
.menu-toggle{ display:none; width:42px; height:42px; align-items:center; justify-content:center; }
.menu-toggle span{ position:relative; width:22px; height:1.5px; background:currentColor; transition:.3s; }
.menu-toggle span::before,.menu-toggle span::after{ content:""; position:absolute; left:0; width:22px; height:1.5px; background:currentColor; transition:.3s; }
.menu-toggle span::before{ top:-6px; } .menu-toggle span::after{ top:6px; }
body.menu-open .menu-toggle span{ background:transparent; }
body.menu-open .menu-toggle span::before{ top:0; transform:rotate(45deg); }
body.menu-open .menu-toggle span::after{ top:0; transform:rotate(-45deg); }

/* ---------- Mobile nav drawer ---------- */
.mobile-nav{
  position:fixed; inset:0; z-index:80; background:var(--night); color:var(--on-night);
  display:flex; flex-direction:column; justify-content:center; gap:8px;
  padding:var(--gutter); transform:translateY(-100%); transition:transform .6s cubic-bezier(.7,0,.2,1);
  visibility:hidden;
}
body.menu-open .mobile-nav{ transform:none; visibility:visible; }
.mobile-nav a{ font-family:var(--serif); font-size:clamp(34px,9vw,58px); line-height:1.18; }
.mobile-nav a span{ font-family:var(--sans); font-size:13px; font-weight:600; letter-spacing:.2em; color:var(--saffron); margin-right:14px; vertical-align:middle; }
.mobile-nav .mn-foot{ margin-top:38px; display:flex; gap:22px; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--on-night-faint); }

/* =========================================================
   HERO
   ========================================================= */
.hero{ position:relative; min-height:100svh; display:flex; align-items:flex-end; color:var(--paper); overflow:hidden; }
.hero__media{ position:absolute; inset:0; z-index:0; }
.hero__media .ph{ position:absolute; inset:-6% -2%; height:auto; }
.hero__media .ph::before{ animation:kenburns 24s ease-in-out infinite alternate; }
.hero__media .ph > img{ animation:kenburns 26s ease-in-out infinite alternate; }
@keyframes kenburns{ from{ transform:scale(1.04) translate(0,0);} to{ transform:scale(1.16) translate(-1.5%,-2%);} }
.hero__veil{ position:absolute; inset:0; z-index:1; background:
  linear-gradient(to top, rgba(20,34,58,.82) 0%, rgba(20,34,58,.14) 46%, rgba(20,34,58,.40) 100%); }
.hero__inner{ position:relative; z-index:3; width:100%; padding-bottom:clamp(56px,9vh,104px); padding-top:120px; }
.hero__eyebrow{ color:var(--saffron); margin-bottom:22px; }
.hero h1{ max-width:16ch; line-height:.92; }
.hero__sub{ margin-top:40px; max-width:46ch; font-size:clamp(16px,1.4vw,19px); color:rgba(237,224,204,.86); }
.hero__actions{ margin-top:38px; display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.hero__meta{ position:absolute; right:var(--gutter); bottom:clamp(56px,9vh,104px); z-index:3; text-align:right; display:none; }
.scrollcue{ position:absolute; left:var(--gutter); bottom:30px; z-index:3; display:flex; align-items:center; gap:12px; font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:rgba(237,224,204,.7); }
.scrollcue i{ display:block; width:1px; height:40px; background:linear-gradient(rgba(237,224,204,.7),transparent); animation:cue 2.2s ease-in-out infinite; transform-origin:top; }
@keyframes cue{ 0%,100%{ transform:scaleY(.4); opacity:.5;} 50%{ transform:scaleY(1); opacity:1;} }

/* =========================================================
   STAT / METAS
   ========================================================= */
.stats{ display:flex; flex-wrap:wrap; gap:clamp(28px,5vw,72px); }
.stat b{ display:block; font-family:var(--serif); font-size:clamp(38px,4.4vw,60px); font-weight:400; line-height:1; color:var(--terracotta); }
.bg-ink .stat b{ color:var(--saffron); }
.stat span{ display:block; margin-top:10px; font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); }
.bg-ink .stat span{ color:var(--on-night-faint); }

/* =========================================================
   CARDS DE ROTEIRO
   ========================================================= */
.routes-grid{ display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(22px,2.4vw,36px); }
.rcard{ position:relative; display:flex; flex-direction:column; }
.rcard__media{ position:relative; overflow:hidden; border-radius:var(--radius); }
.rcard__media .ph{ aspect-ratio:4/5; transition:transform 1.1s cubic-bezier(.2,.7,.2,1); }
.rcard:hover .rcard__media .ph{ transform:scale(1.05); }
.rcard__media .ph::before{ transition:transform 1.1s cubic-bezier(.2,.7,.2,1); }
.rcard__badge{ position:absolute; top:14px; left:14px; z-index:4; font-size:10px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:#fff; background:rgba(20,16,12,.42); border:1px solid rgba(255,255,255,.26); backdrop-filter:blur(4px); padding:6px 11px; border-radius:999px; }
.rcard__body{ padding-top:20px; }
.rcard__route{ font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-faint); }
.rcard h3{ margin-top:9px; font-size:clamp(23px,2vw,30px); }
.rcard__excerpt{ margin-top:10px; color:var(--ink-soft); font-size:15px; max-width:42ch; }
.rcard__facts{ margin-top:16px; display:flex; flex-wrap:wrap; gap:18px; font-size:12.5px; letter-spacing:.04em; color:var(--ink-faint); }
.rcard__facts b{ color:var(--ink); font-weight:600; }
.rcard__cta{ margin-top:18px; }
.rcard__link-overlay{ position:absolute; inset:0; z-index:5; }

/* Card grande horizontal (destaque) */
.rcard--feature{ grid-column:span 12; display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(24px,3vw,56px); align-items:center; }
.rcard--feature .rcard__media .ph{ aspect-ratio:16/11; }
@media (max-width:820px){ .rcard--feature{ grid-template-columns:1fr; } }

/* Cards com capa real (imagem panorâmica) */
.rcard__img{ width:100%; aspect-ratio:1573/804; object-fit:cover; display:block; transition:transform 1.2s cubic-bezier(.2,.7,.2,1); }
.rcard--cover:hover .rcard__img{ transform:scale(1.045); }
.rcard--cover .rcard__media{ display:block; }
.rcard__foot{ margin-top:15px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.rcard__tag{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--rosa); font-weight:700; }
.rcard__tag em{ font-style:normal; color:var(--ink-faint); }
.rcard__badge--hot{ background:var(--acafrao); border-color:transparent; color:#fff; }
.rcard__badge--exc{ background:var(--amarelo); border-color:transparent; color:var(--ink); }
/* feature com capa real */
.rcard--feature.rcard--cover{ display:block; }
.rcard--feature.rcard--cover .rcard__img{ aspect-ratio:1573/804; }
.rcard--feature.rcard--cover .rcard__excerpt{ font-size:clamp(16px,1.5vw,20px); max-width:60ch; margin-top:18px; }

/* =========================================================
   EDITORIAL / blocos culturais
   ========================================================= */
.editorial{ display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(22px,2.4vw,40px); }
.ed-card{ position:relative; }
.ed-card .ph{ aspect-ratio:3/4; border-radius:var(--radius); overflow:hidden; }
.ed-card__kicker{ margin-top:16px; }
.ed-card h3{ margin-top:8px; font-size:clamp(22px,1.9vw,28px); }
.ed-card p{ margin-top:9px; color:var(--ink-soft); font-size:14.5px; max-width:38ch; }

/* Split editorial (texto + imagem) */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,80px); align-items:center; }
.split--reverse .split__media{ order:-1; }
.split__media .ph{ aspect-ratio:4/5; border-radius:var(--radius); }
@media (max-width:840px){ .split{ grid-template-columns:1fr; } .split--reverse .split__media{ order:0; } }

/* =========================================================
   DEPOIMENTOS
   ========================================================= */
.quote{ max-width:24ch; }
.quote__mark{ font-family:var(--serif); font-size:120px; line-height:.6; color:var(--terracotta); opacity:.5; }
.bg-ink .quote__mark{ color:var(--saffron); }
.quote blockquote{ font-family:var(--sans); font-weight:400; font-size:clamp(22px,2.6vw,38px); line-height:1.32; max-width:20ch; text-wrap:balance; color:var(--on-night); }
.quote figcaption{ margin-top:24px; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); }
.bg-ink .quote figcaption{ color:var(--on-night-faint); }

/* =========================================================
   PRÓXIMAS JORNADAS (lista/agenda)
   ========================================================= */
.journeys{ border-top:1px solid var(--paper-3); }
.bg-ink .journeys{ border-color:rgba(237,224,204,.16); }
.journey{
  display:grid; grid-template-columns:auto 1.4fr 1fr auto; gap:28px; align-items:center;
  padding:26px 0; border-bottom:1px solid var(--paper-3);
  transition:padding-left .45s cubic-bezier(.2,.7,.2,1);
}
.bg-ink .journey{ border-color:rgba(237,224,204,.16); }
.journey:hover{ padding-left:14px; }
.journey__date{ font-family:var(--serif); font-size:clamp(22px,2.2vw,30px); white-space:nowrap; }
.journey__date small{ display:block; font-family:var(--sans); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-faint); margin-top:2px; }
.bg-ink .journey__date small{ color:var(--on-night-faint); }
.journey__name{ font-family:var(--serif); font-size:clamp(20px,1.8vw,26px); }
.journey__route{ font-size:13px; color:var(--ink-faint); letter-spacing:.02em; }
.bg-ink .journey__route{ color:var(--on-night-faint); }
.journey__status{ font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--terracotta); white-space:nowrap; }
.bg-ink .journey__status{ color:var(--saffron); }
@media (max-width:760px){ .journey{ grid-template-columns:1fr; gap:8px; align-items:start; } .journey__status{ margin-top:4px; } }

/* =========================================================
   FILTROS (página roteiros)
   ========================================================= */
.filters{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 8px; }
.filters__group{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.filters__label{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-faint); margin-right:6px; }
.chip{
  font-size:13px; font-weight:500; letter-spacing:.02em;
  padding:9px 17px; border-radius:999px; border:1px solid var(--paper-3);
  color:var(--ink-soft); transition:.3s; background:transparent;
}
.chip:hover{ border-color:var(--ink); color:var(--ink); }
.chip.active{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.filters__count{ margin-left:auto; font-size:12.5px; letter-spacing:.04em; color:var(--ink-faint); }

/* =========================================================
   PÁGINA DE ROTEIRO INDIVIDUAL
   ========================================================= */
.subnav{
  position:sticky; top:0; z-index:60; background:rgba(237,224,204,.92);
  backdrop-filter:blur(12px); border-bottom:1px solid var(--paper-3);
}
.subnav__inner{ display:flex; align-items:center; gap:6px; overflow-x:auto; scrollbar-width:none; padding-block:14px; }
.subnav__inner::-webkit-scrollbar{ display:none; }
.subnav a{ font-size:12.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding:8px 15px; border-radius:999px; color:var(--ink-faint); white-space:nowrap; transition:.3s; }
.subnav a:hover{ color:var(--ink); }
.subnav a.active{ background:var(--ink); color:var(--paper); }
.subnav__cta{ margin-left:auto; }

.factstrip{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--paper-3); border-block:1px solid var(--paper-3); }
.factstrip .fact{ background:var(--paper); padding:26px var(--gutter); }
.factstrip .fact:first-child{ padding-left:0; }
.fact small{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-faint); }
.fact b{ display:block; margin-top:8px; font-family:var(--serif); font-size:clamp(20px,1.9vw,27px); font-weight:400; }
@media (max-width:760px){ .factstrip{ grid-template-columns:repeat(2,1fr); } .factstrip .fact{ padding:20px; } .factstrip .fact:first-child{ padding-left:20px; } }

/* Galeria imersiva */
.gallery{ display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(10px,1.2vw,18px); }
.gallery .ph{ border-radius:var(--radius); }
.g-tall{ grid-column:span 5; } .g-tall .ph{ aspect-ratio:3/4; }
.g-wide{ grid-column:span 7; } .g-wide .ph{ aspect-ratio:4/3; }
.g-half{ grid-column:span 6; } .g-half .ph{ aspect-ratio:4/3; }
.g-third{ grid-column:span 4; } .g-third .ph{ aspect-ratio:1/1; }
@media (max-width:760px){ .g-tall,.g-wide,.g-half,.g-third{ grid-column:span 12; } }

/* Itinerário dia-a-dia */
.itinerary{ border-top:1px solid var(--paper-3); }
.day{ border-bottom:1px solid var(--paper-3); }
.day__head{ display:grid; grid-template-columns:auto 1fr auto; gap:22px; align-items:center; padding:24px 0; text-align:left; width:100%; }
.day__no{ font-family:var(--serif); font-size:clamp(26px,3vw,40px); color:var(--terracotta); line-height:1; min-width:64px; }
.day__title{ font-family:var(--serif); font-size:clamp(20px,1.9vw,26px); }
.day__city{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); margin-top:4px; }
.day__toggle{ width:34px; height:34px; border-radius:50%; border:1px solid var(--paper-3); display:grid; place-items:center; transition:.4s; }
.day__toggle::before,.day__toggle::after{ content:""; position:absolute; width:13px; height:1.5px; background:var(--ink); transition:.4s; }
.day__toggle::after{ transform:rotate(90deg); }
.day.open .day__toggle{ background:var(--ink); }
.day.open .day__toggle::before,.day.open .day__toggle::after{ background:var(--paper); }
.day.open .day__toggle::after{ transform:rotate(0); }
.day__body{ max-height:0; overflow:hidden; transition:max-height .6s cubic-bezier(.4,0,.2,1); }
.day__body-inner{ padding:0 0 28px 86px; max-width:64ch; color:var(--ink-soft); }
@media (max-width:600px){ .day__body-inner{ padding-left:0; } }

/* Pílulas de experiência */
.exp-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,28px); }
.exp{ padding:28px; border:1px solid var(--paper-3); border-radius:var(--radius); background:var(--paper); transition:.4s; }
.bg-ink .exp{ background:var(--night-2); border-color:rgba(237,224,204,.14); }
.exp:hover{ transform:translateY(-4px); box-shadow:var(--shadow-1); }
.exp__no{ font-family:var(--serif); font-size:15px; color:var(--terracotta); }
.bg-ink .exp__no{ color:var(--saffron); }
.exp h4{ margin-top:14px; font-size:21px; }
.exp p{ margin-top:8px; font-size:14px; color:var(--ink-soft); }
.bg-ink .exp p{ color:var(--on-night-faint); }
@media (max-width:820px){ .exp-grid{ grid-template-columns:1fr; } }

/* FAQ */
.faq{ border-top:1px solid var(--paper-3); max-width:880px; }
.qa{ border-bottom:1px solid var(--paper-3); }
.qa__q{ display:flex; justify-content:space-between; align-items:center; gap:20px; width:100%; text-align:left; padding:24px 0; font-family:var(--serif); font-size:clamp(19px,1.7vw,25px); }
.qa__icon{ flex:none; width:26px; height:26px; position:relative; }
.qa__icon::before,.qa__icon::after{ content:""; position:absolute; top:50%; left:0; width:26px; height:1.5px; background:var(--ink); transition:.4s; }
.qa__icon::after{ transform:rotate(90deg); }
.qa.open .qa__icon::after{ transform:rotate(0); opacity:0; }
.qa__a{ max-height:0; overflow:hidden; transition:max-height .55s cubic-bezier(.4,0,.2,1); }
.qa__a-inner{ padding:0 0 26px; max-width:64ch; color:var(--ink-soft); }

/* CTA fixo WhatsApp (mobile) */
.wa-float{ position:fixed; right:18px; bottom:18px; z-index:70; display:flex; align-items:center; gap:10px;
  background:#1f7a4d; color:#fff; padding:14px 20px; border-radius:999px; box-shadow:var(--shadow-2);
  font-weight:600; font-size:14px; letter-spacing:.02em; transform:translateY(120%); transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.wa-float.show{ transform:none; }

/* =========================================================
   FAIXA CTA
   ========================================================= */
.ctaband{ position:relative; overflow:hidden; color:var(--paper); }
.ctaband .ph{ position:absolute; inset:0; }
.ctaband__veil{ position:absolute; inset:0; background:linear-gradient(120deg, rgba(20,34,58,.86), rgba(20,34,58,.5)); }
.ctaband__inner{ position:relative; z-index:2; text-align:center; padding-block:clamp(72px,12vh,150px); }

/* =========================================================
   NEWSLETTER + INSTAGRAM
   ========================================================= */
.news{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,80px); align-items:center; }
@media (max-width:780px){ .news{ grid-template-columns:1fr; } }
.field{ display:flex; gap:10px; margin-top:24px; max-width:440px; flex-wrap:wrap; }
.field input{ flex:1; min-width:200px; background:transparent; border:1px solid var(--paper-3); border-radius:999px; padding:14px 20px; font-family:var(--sans); font-size:15px; color:var(--ink); }
.field input:focus{ outline:none; border-color:var(--ink); }
.bg-ink .field input{ border-color:rgba(237,224,204,.3); color:var(--on-night); }
.insta-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.insta-grid .ph{ aspect-ratio:1/1; border-radius:var(--radius); }
.insta-grid .ph .ph__cap{ font-size:9px; padding:10px; }

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{ background:var(--night); color:var(--on-night); padding-block:clamp(64px,9vh,110px) 40px; }
.footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; }
.footer-top h4{ font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--on-night-faint); margin-bottom:18px; }
.footer-top a{ display:block; padding:6px 0; color:var(--on-night); opacity:.85; font-size:14.5px; transition:.3s; }
.footer-top a:hover{ opacity:1; color:var(--saffron); }
.footer-brand .display{ font-size:clamp(40px,5vw,72px); }
.footer-brand p{ margin-top:14px; color:var(--on-night-faint); max-width:34ch; font-size:14.5px; }
.footer-bottom{ margin-top:60px; padding-top:26px; border-top:1px solid rgba(237,224,204,.16); display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; font-size:12px; letter-spacing:.06em; color:var(--on-night-faint); }
@media (max-width:820px){ .footer-top{ grid-template-columns:1fr 1fr; } .footer-brand{ grid-column:1/-1; } }

/* =========================================================
   GRID SPANS util
   ========================================================= */
.col-3{ grid-column:span 3; } .col-4{ grid-column:span 4; } .col-5{ grid-column:span 5; }
.col-6{ grid-column:span 6; } .col-7{ grid-column:span 7; } .col-8{ grid-column:span 8; }
.col-12{ grid-column:span 12; }
@media (max-width:900px){
  .col-3{ grid-column:span 6; } .col-4{ grid-column:span 6; } .col-5,.col-7{ grid-column:span 12; }
  .col-6,.col-8{ grid-column:span 12; }
}
@media (max-width:560px){ .col-3,.col-4{ grid-column:span 12; } }

/* spacing helpers */
.mt-1{ margin-top:14px; } .mt-2{ margin-top:24px; } .mt-3{ margin-top:38px; } .mt-4{ margin-top:56px; }
.mb-1{ margin-bottom:14px; } .mb-2{ margin-bottom:24px; } .mb-3{ margin-bottom:40px; } .mb-4{ margin-bottom:64px; }
.center{ text-align:center; } .mx-auto{ margin-inline:auto; }
.section-head{ max-width:680px; }
.section-head.center{ margin-inline:auto; }
.flex-between{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; }

/* Header responsive */
@media (max-width:920px){
  .nav{ display:none; }
  .header-cta .btn--ghost{ display:none; }
  .menu-toggle{ display:flex; }
}

/* =========================================================
   ELEMENTOS VISUAIS EDITORIAIS (inspiração: revista de viagem)
   ========================================================= */

/* ---- Marquee (texto correndo) ---- */
.marquee{ overflow:hidden; padding:20px 0; background:var(--ink); color:var(--paper); border-block:1px solid var(--ink); }
.marquee--amarelo{ background:var(--amarelo); color:var(--ink); border-color:var(--amarelo); }
.marquee--rosa{ background:var(--rosa); color:var(--amarelo); border-color:var(--rosa); }
.marquee__track{ display:inline-flex; align-items:center; white-space:nowrap; will-change:transform; animation:marquee 34s linear infinite; }
.marquee__track > span{ font-family:var(--serif); font-weight:400; font-size:clamp(26px,3.6vw,52px); line-height:1; letter-spacing:.03em; display:inline-flex; align-items:center; }
.marquee__track > span::after{ content:"✦"; font-size:.46em; margin:0 .7em; opacity:.7; color:currentColor; }
.marquee--amarelo .marquee__track > span::after,.marquee .marquee__track > span::after{ color:var(--amarelo); }
.marquee--amarelo .marquee__track > span::after{ color:var(--rosa); }
.marquee:hover .marquee__track{ animation-play-state:paused; }
@keyframes marquee{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
@media (prefers-reduced-motion:reduce){ .marquee__track{ animation:none; } }

/* ---- Selo circular giratório ---- */
.seal{ position:relative; width:clamp(116px,13vw,162px); aspect-ratio:1; flex:none; }
.seal__svg{ width:100%; height:100%; animation:spin 24s linear infinite; }
.seal__svg text{ font-family:var(--sans); font-weight:700; font-size:8.4px; letter-spacing:.16em; text-transform:uppercase; fill:var(--ink); }
.seal__mid{ position:absolute; inset:0; display:grid; place-items:center; font-size:clamp(20px,2.4vw,30px); color:var(--rosa); }
.seal--ink .seal__svg text{ fill:var(--paper); }
.seal--ink .seal__mid{ color:var(--amarelo); }
.seal--float{ position:absolute; z-index:6; right:-8px; top:-44px; }
.seal--hero{ position:absolute; right:var(--gutter); bottom:38px; z-index:4; }
@media (max-width:640px){ .seal--hero{ display:none; } }
@keyframes spin{ to{ transform:rotate(360deg);} }
@media (prefers-reduced-motion:reduce){ .seal__svg{ animation:none; } }

/* ---- Faixa-filme horizontal (momentos) ---- */
.filmstrip{ display:flex; gap:clamp(12px,1.4vw,20px); overflow-x:auto; padding-bottom:14px; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--paper-3) transparent; cursor:grab; }
.filmstrip.dragging{ cursor:grabbing; scroll-snap-type:none; }
.filmstrip::-webkit-scrollbar{ height:6px; }
.filmstrip::-webkit-scrollbar-thumb{ background:var(--paper-3); border-radius:99px; }
.filmstrip figure{ flex:none; width:clamp(232px,28vw,348px); scroll-snap-align:start; }
.filmstrip .ph{ aspect-ratio:4/5; border-radius:var(--radius); }
.filmstrip figcaption{ margin-top:12px; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-faint); }
.filmstrip figcaption b{ color:var(--ink); font-weight:400; font-family:var(--serif); font-size:17px; letter-spacing:.02em; display:block; }
.filmstrip img{ pointer-events:none; }

/* ---- Divisor decorativo ---- */
.flourish{ display:flex; align-items:center; justify-content:center; gap:18px; color:var(--rosa); }
.flourish::before,.flourish::after{ content:""; height:1px; width:min(140px,20vw); background:currentColor; opacity:.35; }
.flourish span{ font-family:var(--serif); font-size:clamp(18px,1.6vw,24px); letter-spacing:.28em; white-space:nowrap; }
.bg-ink .flourish{ color:var(--amarelo); }

/* índice numérico no eyebrow */
.eyebrow .ix{ color:var(--ink-faint); margin-right:.6em; font-variant-numeric:tabular-nums; }
.bg-ink .eyebrow .ix{ color:var(--on-night-faint); }

/* =============================================================
   BLOCK STYLES — Estilos dos blocos nativos Gutenberg
   Mapeiam as classes wp-block-* e is-style-pcc-* geradas pelo editor
   ============================================================= */

/* ── Layout wrapper nativo ── */
.wp-site-blocks { padding: 0; }
.entry-content > * { margin-block: 0; }

/* ── Cover: Hero ── */
.wp-block-cover.is-style-pcc-hero {
    min-height: 100svh;
    align-items: flex-end;
}
.wp-block-cover.is-style-pcc-hero .wp-block-cover__inner-container {
    max-width: 1320px;
    margin-inline: auto;
    padding-inline: clamp(20px, 5vw, 64px);
    padding-bottom: clamp(56px, 9vh, 104px);
    padding-top: 120px;
    width: 100%;
}
/* Ken Burns na imagem de fundo do hero */

/* Ken Burns na imagem de fundo do hero — rule closed correctly */
.wp-block-cover.is-style-pcc-hero .wp-block-cover__image-background,
.wp-block-cover.is-style-pcc-hero .wp-block-cover__video-background {
    animation: kenburns 26s ease-in-out infinite alternate;
}

/* =============================================================
   CONTAINER SYSTEM — Mobile first, v16
   
   ROOT CAUSE FIX: wp:group sem layout:constrained nunca gera
   __inner-container. Logo a regra antiga (.wp-block-group > __inner-container)
   nunca aplicava. Solução: padding nos próprios grupos + PC classes.
   ============================================================= */

/* ── Utilitários globais ────────────────────────────────────── */
.pc-container,
.pc-wrap,
.pc-section-inner {
    width: min(100% - 40px, 1320px);
    margin-inline: auto;
}
.pc-narrow {
    width: min(100% - 40px, 860px);
    margin-inline: auto;
}
.pc-section {
    padding-block: clamp(48px, 8vw, 112px);
}

/* ── Seções Gutenberg — padding lateral direto no grupo ─────── */
/* Abordagem: padding-inline no próprio .wp-block-group porque     */
/* __inner-container só existe com layout:constrained             */
.wp-block-group.is-style-pcc-section,
.wp-block-group.is-style-pcc-section-warm,
.wp-block-group.is-style-pcc-section-dark {
    padding-inline: clamp(20px, 5vw, 64px);
    padding-block: clamp(72px, 11vh, 150px);
}

/* Limitar largura do conteúdo dentro das seções */
.wp-block-group.is-style-pcc-section > *,
.wp-block-group.is-style-pcc-section-warm > *,
.wp-block-group.is-style-pcc-section-dark > * {
    max-width: 1320px;
    margin-inline: auto;
}

/* Exceção: elementos full/wide saem do max-width */
.wp-block-group.is-style-pcc-section > .alignfull,
.wp-block-group.is-style-pcc-section-warm > .alignfull,
.wp-block-group.is-style-pcc-section-dark > .alignfull {
    max-width: none;
    width: calc(100% + 2 * clamp(20px, 5vw, 64px));
    margin-inline: calc(-1 * clamp(20px, 5vw, 64px));
}
.wp-block-group.is-style-pcc-section > .alignwide,
.wp-block-group.is-style-pcc-section-warm > .alignwide,
.wp-block-group.is-style-pcc-section-dark > .alignwide {
    max-width: min(100%, 1320px);
    width: 100%;
    margin-inline: auto;
}

/* Seção escura: cor */
.wp-block-group.is-style-pcc-section-dark {
    background: var(--night);
    color: var(--on-night);
}
.wp-block-group.is-style-pcc-section-dark .wp-block-heading { color: var(--on-night); }
.wp-block-group.is-style-pcc-section-dark p:not([class*="has-"]) { color: var(--on-night-faint); }

/* Seção areia */
.wp-block-group.is-style-pcc-section-warm { background: var(--paper-2); }

/* Seção bege */
.wp-block-group.is-style-pcc-section { background: var(--paper); }

/* ── Cover inner container ──────────────────────────────────── */
.wp-block-cover__inner-container {
    width: min(100% - 40px, 1320px);
    margin-inline: auto;
    padding-block: clamp(72px, 11vh, 140px);
}
.wp-block-cover.is-style-pcc-cta .wp-block-cover__inner-container {
    padding-block: clamp(56px, 9vh, 120px);
    text-align: center;
}

/* ── .pc-entry — wrapper no single-jornada.php e page.php ───── */
/* O template PHP envolve the_content() nesta div. Ela garante    */
/* que blocos sem seção também tenham respiro lateral.             */
.pc-entry {
    /* sem padding — filhos diretos recebem via regras abaixo */
}

/* Blocos diretos dentro do pc-entry recebem padding lateral */
.pc-entry > .wp-block-group:not(.alignfull):not(.alignwide),
.pc-entry > .wp-block-columns,
.pc-entry > .wp-block-heading,
.pc-entry > .wp-block-paragraph,
.pc-entry > .wp-block-image,
.pc-entry > .wp-block-gallery,
.pc-entry > .wp-block-buttons,
.pc-entry > .wp-block-quote {
    padding-inline: clamp(20px, 5vw, 64px);
    max-width: none; /* padding já garante respiro */
}

/* alignfull escapa do container — vai borda a borda */
.pc-entry > .alignfull,
.pc-entry > .wp-block-cover.alignfull {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    padding-inline: 0;
}

/* alignwide fica contido mas largo */
.pc-entry > .alignwide {
    width: min(100% - 40px, 1320px);
    margin-inline: auto;
}

/* ── Blocos que já têm is-style-pcc-section* não precisam de     */
/*    padding extra do pc-entry (o estilo já aplica)              */
.pc-entry > .wp-block-group.is-style-pcc-section,
.pc-entry > .wp-block-group.is-style-pcc-section-warm,
.pc-entry > .wp-block-group.is-style-pcc-section-dark {
    padding-inline: clamp(20px, 5vw, 64px); /* mantém o da seção */
}

/* ── Limpeza do WP padrão ───────────────────────────────────── */
.wp-site-blocks { padding-inline: 0 !important; padding-block: 0 !important; }
.entry-content { padding: 0; }
.entry-content > * { margin-block: 0; }

/* ── Mobile first ───────────────────────────────────────────── */
@media (max-width: 767px) {
    .pc-container, .pc-wrap, .pc-section-inner, .pc-narrow {
        width: calc(100% - 32px);
    }
    .wp-block-group.is-style-pcc-section,
    .wp-block-group.is-style-pcc-section-warm,
    .wp-block-group.is-style-pcc-section-dark {
        padding-inline: 16px;
    }
    .wp-block-group.is-style-pcc-section > *,
    .wp-block-group.is-style-pcc-section-warm > *,
    .wp-block-group.is-style-pcc-section-dark > * {
        max-width: 100%;
    }
    .wp-block-group.is-style-pcc-section > .alignfull,
    .wp-block-group.is-style-pcc-section-warm > .alignfull,
    .wp-block-group.is-style-pcc-section-dark > .alignfull {
        width: calc(100% + 32px);
        margin-inline: -16px;
    }
    .wp-block-cover__inner-container {
        width: calc(100% - 32px);
        padding-block: clamp(56px, 9vh, 100px);
    }
    .pc-entry > .wp-block-group:not(.alignfull):not(.alignwide),
    .pc-entry > .wp-block-columns,
    .pc-entry > .wp-block-heading,
    .pc-entry > .wp-block-paragraph {
        padding-inline: 16px;
    }
}

/* =============================================================
   PRESET-BASED BLOCK CLASSES — v12/v13/v14
   Usadas via className nos blocos. Zero inline style.
   ============================================================= */

/* Eyebrow labels */
.pc-eyebrow {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .32em;
    text-transform: uppercase;
    color: var(--rosa);
    margin-bottom: 14px !important;
    display: block;
}
.pc-eyebrow--light { color: var(--amarelo); }
.pc-eyebrow--muted { color: var(--ink-faint); }

/* Headings */
.pc-hero-heading {
    line-height: .86 !important;
    letter-spacing: .012em !important;
    max-width: 18ch;
}
.pc-section-heading {
    line-height: .9 !important;
    letter-spacing: .012em !important;
}

/* Métricas */
.pc-metrics.wp-block-columns {
    margin-top: clamp(48px, 7vh, 100px) !important;
    gap: clamp(20px, 3vw, 56px) !important;
}
.pc-metric-number {
    font-family: var(--font-display) !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    margin-bottom: 0 !important;
    color: var(--rosa) !important;
}
.pc-metric-label {
    font-size: 12px !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: var(--ink-faint) !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}

/* Cards */
.pc-card {
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s;
}
.pc-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 48px rgba(27,46,74,.14);
}
.pc-card > .wp-block-image { flex-shrink: 0; margin: 0 !important; }
.pc-card .wp-block-image img,
.pc-card figure img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block;
    border-radius: 0 !important;
    transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
.pc-card--feature .wp-block-image img { aspect-ratio: 16/7; }
.pc-card:hover .wp-block-image img { transform: scale(1.04); }
.pc-card__body { padding: clamp(18px, 2vw, 28px); flex: 1; }
.pc-card__body .wp-block-heading { margin-bottom: 8px !important; }
.pc-card__body .wp-block-buttons { margin-top: 16px; }

/* Agenda rows */
.pc-agenda-list { margin-block: clamp(28px, 4vh, 48px); }
.pc-agenda-row {
    display: grid;
    grid-template-columns: 110px 1fr 2fr auto;
    gap: 22px 28px;
    align-items: center;
    padding-block: 20px;
    border-bottom: 1px solid rgba(237,224,204,.12);
    transition: padding-left .3s;
}
.pc-agenda-row:last-child { border-bottom: none; }
.pc-agenda-row:hover { padding-left: 12px; }
@media (max-width: 680px) { .pc-agenda-row { grid-template-columns: 1fr 1fr; gap: 8px; padding-block: 16px; } }
.pc-agenda-date { font-family: var(--font-display); font-size: clamp(20px, 2vw, 28px); color: var(--on-night); }
.pc-agenda-date small { display: block; font-family: var(--font-body); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: rgba(237,224,204,.54); }
.pc-agenda-name { font-family: var(--font-display); font-size: clamp(18px, 1.7vw, 24px); color: var(--on-night); }
.pc-agenda-route { font-size: 13px; color: rgba(237,224,204,.54); }
.pc-agenda-status { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--amarelo); white-space: nowrap; }

/* Split */
.pc-split.wp-block-columns { align-items: center !important; gap: clamp(28px, 4vw, 80px) !important; }
@media (max-width: 840px) { .pc-split.wp-block-columns { flex-direction: column; } }

/* Query grid */
.pc-query-grid .wp-block-post-template {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
@media (max-width: 740px) { .pc-query-grid .wp-block-post-template { grid-template-columns: 1fr; } }

/* Jornada factstrip */
.pc-jornada-visao .wp-block-columns { gap: 0 !important; }
.pc-jornada-visao .wp-block-column {
    padding-right: clamp(16px, 2vw, 28px);
    border-right: 1px solid var(--paper-3);
}
.pc-jornada-visao .wp-block-column:last-child { border-right: none; }
@media (max-width: 740px) {
    .pc-jornada-visao .wp-block-column { border-right: none; border-bottom: 1px solid var(--paper-3); padding: 0 0 16px; }
    .pc-jornada-visao .wp-block-column:last-child { border-bottom: none; }
}

/* Itinerary / FAQ days */
.pc-itinerary-day { border-bottom: 1px solid var(--paper-3); padding-bottom: 24px; margin-bottom: 24px; }
.pc-itinerary-day:last-child { border-bottom: none; margin-bottom: 0; }
.pc-itinerary-day .wp-block-heading { margin-bottom: 8px !important; }

/* Newsletter form */
.pc-newsletter-form { display: flex; gap: 10px; max-width: 440px; flex-wrap: wrap; margin-top: 28px; }
.pc-newsletter-form input[type=email] {
    flex: 1; min-width: 180px; background: transparent;
    border: 1px solid var(--paper-3); border-radius: 999px;
    padding: 13px 20px; font-family: var(--font-body); font-size: 15px; color: var(--ink); outline: none;
    transition: border-color .3s;
}
.pc-newsletter-form input:focus { border-color: var(--ink); }
.pc-newsletter-form button {
    background: var(--rosa); color: var(--amarelo);
    font-family: var(--font-body); font-weight: 600; font-size: 13.5px;
    padding: 13px 24px; border-radius: 8px; border: none; cursor: pointer;
    transition: background .3s; white-space: nowrap;
}
.pc-newsletter-form button:hover { background: #9A3B20; }

/* Gallery squares */
.pc-gallery-grid .wp-block-image img { aspect-ratio: 1/1; object-fit: cover; border-radius: 10px; }

/* =============================================================
   BOTÕES — classes estáveis mapeadas em is-style-pcc-*
   ============================================================= */
.wp-block-button__link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px;
    font-family: var(--font-body) !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    border-radius: 8px !important;
    padding: 14px 28px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    border: 2px solid transparent !important;
    transition: background .3s, color .3s, border-color .3s, transform .3s !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
}
.wp-block-button__link:hover { transform: translateY(-2px); }

.is-style-pcc-solid .wp-block-button__link {
    background: var(--rosa) !important;
    color: var(--amarelo) !important;
    border-color: var(--rosa) !important;
}
.is-style-pcc-solid .wp-block-button__link:hover { background: #9A3B20 !important; border-color: #9A3B20 !important; }

.is-style-pcc-ghost .wp-block-button__link {
    background: transparent !important;
    color: var(--ink) !important;
    border-color: rgba(27,46,74,.32) !important;
}
.is-style-pcc-ghost .wp-block-button__link:hover { border-color: var(--ink) !important; background: rgba(27,46,74,.06) !important; }

/* Ghost sobre fundo escuro / covers */
.wp-block-cover .is-style-pcc-ghost .wp-block-button__link,
.is-style-pcc-section-dark .is-style-pcc-ghost .wp-block-button__link {
    color: var(--on-night) !important;
    border-color: rgba(237,224,204,.38) !important;
}
.wp-block-cover .is-style-pcc-ghost .wp-block-button__link:hover,
.is-style-pcc-section-dark .is-style-pcc-ghost .wp-block-button__link:hover {
    background: rgba(237,224,204,.1) !important;
    border-color: var(--on-night) !important;
}

.is-style-pcc-whatsapp .wp-block-button__link {
    background: var(--verde-med, #4A7C59) !important;
    color: #fff !important;
    border-color: var(--verde-med, #4A7C59) !important;
}
.is-style-pcc-whatsapp .wp-block-button__link:hover { background: #3B6347 !important; border-color: #3B6347 !important; }

.is-style-pcc-amarelo .wp-block-button__link {
    background: var(--amarelo) !important;
    color: var(--ink) !important;
    border-color: var(--amarelo) !important;
}
.is-style-pcc-amarelo .wp-block-button__link:hover { background: #C99010 !important; border-color: #C99010 !important; }

/* =============================================================
   ANIMAÇÕES — estrutura protegida no tema
   ============================================================= */

/* Scroll reveal */
.pc-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
}
.pc-reveal.is-visible { opacity: 1; transform: translateY(0); }
.pc-reveal--delay-1 { transition-delay: .1s; }
.pc-reveal--delay-2 { transition-delay: .22s; }
.pc-reveal--delay-3 { transition-delay: .34s; }

/* Gallery filmstrip drag */
.pc-gallery-motion {
    cursor: grab;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    display: flex;
    gap: 16px;
    padding-bottom: 8px;
}
.pc-gallery-motion::-webkit-scrollbar { display: none; }
.pc-gallery-motion:active { cursor: grabbing; }
.pc-gallery-motion figure {
    flex: 0 0 auto;
    width: clamp(240px, 28vw, 380px);
    margin: 0;
}
.pc-gallery-motion figure img {
    height: clamp(300px, 36vw, 480px);
    width: 100%;
    object-fit: cover;
    border-radius: 10px;
    pointer-events: none;
    display: block;
}
.pc-section-galeria { overflow: hidden; }
.pc-section-galeria .pc-gallery-motion {
    margin-inline: calc(var(--gutter) * -1);
    padding-inline: var(--gutter);
}

/* Por que conosco */
.pc-porque-grid.wp-block-columns { gap: clamp(14px, 2vw, 24px) !important; margin-top: clamp(28px, 4vh, 48px) !important; }
.pc-porque-item {
    background: var(--paper-2);
    border-radius: 12px;
    padding: clamp(20px, 2vw, 28px);
    border-left: 3px solid var(--rosa);
    transition: transform .4s, box-shadow .4s;
}
.pc-porque-item:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(27,46,74,.1); }
.pc-porque-item .wp-block-heading { margin-bottom: 8px !important; }

/* Separador decorativo */
.is-style-pcc-flourish {
    border: none;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--rosa), transparent);
    opacity: .4;
    margin-block: clamp(24px, 4vh, 48px) !important;
}

/* Tipografia: Bebas Neue obrigatório nos headings */
.wp-block-heading,
.display,
.pc-metric-number {
    font-family: var(--font-display) !important;
    font-weight: 400 !important;
}
p, li, blockquote, td, th { font-family: var(--font-body); }

/* Depoimento */
.wp-block-quote.is-style-pcc-depoimento {
    border: none !important;
    padding: 0 !important;
}
.wp-block-quote.is-style-pcc-depoimento p {
    font-family: var(--font-display) !important;
    font-size: clamp(26px, 3vw, 44px) !important;
    line-height: 1.18 !important;
    color: var(--on-night);
    max-width: 22ch;
}
.wp-block-quote.is-style-pcc-depoimento cite {
    display: block;
    margin-top: 24px;
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-style: normal;
    color: rgba(237,224,204,.54);
}

/* Cover inner alignment */
.wp-block-cover__inner-container > .wp-block-heading,
.wp-block-cover__inner-container > .wp-block-paragraph {
    max-width: 100%;
}

/* =============================================================
   RESPONSIVE — Mobile first breakpoints
   ============================================================= */
@media (max-width: 1024px) {
    .pc-agenda-row { grid-template-columns: 100px 1fr 1fr; }
    .pc-agenda-route { display: none; }
}
@media (max-width: 760px) {
    .pc-agenda-row { grid-template-columns: 1fr 1fr; gap: 6px 12px; padding-block: 14px; }
    .pc-agenda-date { font-size: 18px; }
    .pc-agenda-name { font-size: 16px; }
    .wp-block-columns.pc-split { flex-direction: column !important; }
    .wp-block-columns.pc-split .wp-block-column { flex-basis: 100% !important; width: 100%; }
    .pc-query-grid .wp-block-post-template { grid-template-columns: 1fr !important; }
    .pc-porque-grid.wp-block-columns { flex-direction: column; }
}
@media (max-width: 480px) {
    .wp-block-cover__inner-container { padding-inline: clamp(16px, 4vw, 32px); }
    .pc-agenda-row { grid-template-columns: 1fr; }
    .pc-agenda-status { text-align: left; }
}


/* =============================================================
   v17 — FIDELIDADE VISUAL COMPLETA
   CSS mapeado sobre as classes reais geradas pelos blocos WP.
   ============================================================= */

/* ── Utilitários semânticos (aliases para o sistema de blocos) ── */
.pc-kicker,
.pc-eyebrow,
.is-style-pcc-eyebrow {
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: 700;
    letter-spacing: .32em;
    text-transform: uppercase;
    color: var(--rosa);
    display: block;
    margin-bottom: 14px;
}
.pc-section-title { font-family: var(--font-display); font-weight: 400; line-height: .9; letter-spacing: .012em; }
.pc-section-copy  { font-family: var(--font-body); color: var(--ink-soft); line-height: 1.62; }

/* ── Grid utilitário ────────────────────────────────────────── */
.pc-grid {
    display: grid;
    gap: clamp(16px, 2.5vw, 32px);
}
.pc-grid--2 { grid-template-columns: repeat(2, 1fr); }
.pc-grid--3 { grid-template-columns: repeat(3, 1fr); }
.pc-grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px) { .pc-grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) {
    .pc-grid--2, .pc-grid--3, .pc-grid--4 { grid-template-columns: 1fr; }
}

/* ── Cards ──────────────────────────────────────────────────── */
/* pc-card já existe — complementar com media-card e image-frame */
.pc-media-card {
    border-radius: var(--radius, 12px);
    overflow: hidden;
    background: var(--paper-2);
    transition: transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s;
}
.pc-media-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 56px rgba(27,46,74,.16);
}
.pc-media-card__img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    display: block;
    transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
.pc-media-card:hover .pc-media-card__img { transform: scale(1.05); }
.pc-media-card__body { padding: clamp(16px, 2vw, 24px); }

.pc-image-frame {
    position: relative;
    border-radius: var(--radius, 12px);
    overflow: hidden;
}
.pc-image-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.pc-image-frame--4-5  { aspect-ratio: 4/5; }
.pc-image-frame--16-9 { aspect-ratio: 16/9; }
.pc-image-frame--3-4  { aspect-ratio: 3/4; }
.pc-image-frame--sq   { aspect-ratio: 1/1; }

/* ── Imagens cinematográficas (is-style-pcc-cinematic) ─────── */
.wp-block-image.is-style-pcc-cinematic {
    border-radius: 12px;
    overflow: hidden;
}
.wp-block-image.is-style-pcc-cinematic img {
    border-radius: 12px;
    aspect-ratio: 4/5;
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
.wp-block-image.is-style-pcc-cinematic:hover img { transform: scale(1.04); }

/* ── Galeria filmstrip (horizontal scroll) ──────────────────── */
.wp-block-gallery.is-style-pcc-filmstrip {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    gap: clamp(12px, 1.4vw, 20px);
    scrollbar-width: thin;
    scrollbar-color: var(--paper-3) transparent;
    cursor: grab;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
}
.wp-block-gallery.is-style-pcc-filmstrip:active { cursor: grabbing; }
.wp-block-gallery.is-style-pcc-filmstrip::-webkit-scrollbar { height: 4px; }
.wp-block-gallery.is-style-pcc-filmstrip::-webkit-scrollbar-thumb { background: var(--paper-3); border-radius: 2px; }
.wp-block-gallery.is-style-pcc-filmstrip .wp-block-image {
    flex: 0 0 auto !important;
    width: clamp(240px, 26vw, 360px) !important;
    margin: 0 !important;
}
.wp-block-gallery.is-style-pcc-filmstrip .wp-block-image img {
    aspect-ratio: 4/5;
    object-fit: cover;
    border-radius: 10px;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

/* ── Botões — classes utilitárias adicionais ────────────────── */
.pc-btn { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-body); font-size: 13.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; border-radius: 8px; padding: 14px 28px; cursor: pointer; border: 2px solid transparent; text-decoration: none; transition: background .3s, color .3s, border-color .3s, transform .3s; white-space: nowrap; line-height: 1; }
.pc-btn:hover { transform: translateY(-2px); }
.pc-btn-primary   { background: var(--rosa);     color: var(--amarelo);  border-color: var(--rosa); }
.pc-btn-primary:hover   { background: var(--rosa-d); border-color: var(--rosa-d); }
.pc-btn-secondary { background: var(--amarelo);  color: var(--ink);      border-color: var(--amarelo); }
.pc-btn-secondary:hover { background: #C99010;  border-color: #C99010; }
.pc-btn-outline   { background: transparent;     color: var(--ink);      border-color: rgba(27,46,74,.3); }
.pc-btn-outline:hover   { background: var(--ink); color: var(--amarelo); border-color: var(--ink); }
.pc-btn-whatsapp  { background: var(--verde-med); color: #fff;           border-color: var(--verde-med); }
.pc-btn-whatsapp:hover  { background: #3B6347;  border-color: #3B6347; }

/* ── Quote / Depoimento ─────────────────────────────────────── */
.wp-block-quote.is-style-pcc-depoimento {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.wp-block-quote.is-style-pcc-depoimento p {
    font-family: var(--font-display) !important;
    font-size: clamp(26px, 3.2vw, 48px) !important;
    font-weight: 400 !important;
    line-height: 1.14 !important;
    color: var(--on-night);
    max-width: 22ch;
}
.wp-block-quote.is-style-pcc-depoimento cite {
    display: block;
    margin-top: 28px;
    font-size: 12px;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-style: normal;
    color: var(--on-night-soft);
}

/* ── Splits (pc-split columns) ──────────────────────────────── */
.pc-split.wp-block-columns {
    gap: clamp(32px, 5vw, 88px) !important;
    align-items: center !important;
}
@media (max-width: 767px) {
    .pc-split.wp-block-columns { flex-direction: column !important; gap: 32px !important; }
    .pc-split.wp-block-columns .wp-block-column { flex-basis: 100% !important; }
}

/* ── Por que conosco — cards numerados ──────────────────────── */
.pc-porque-grid.wp-block-columns { gap: clamp(12px, 2vw, 24px) !important; margin-top: clamp(32px, 4vh, 52px) !important; }
.pc-porque-item {
    background: var(--paper-2);
    border-radius: 12px;
    padding: clamp(20px, 2.2vw, 32px);
    border-left: 3px solid var(--rosa);
    height: 100%;
    transition: transform .4s, box-shadow .4s;
}
.pc-porque-item:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(27,46,74,.1); }

/* ── Query grid (página /jornadas/) ─────────────────────────── */
.pc-query-grid.wp-block-query { width: 100%; }
.pc-query-grid .wp-block-post-template {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(20px, 2.5vw, 32px);
    list-style: none;
    margin: 0; padding: 0;
}
@media (max-width: 640px) { .pc-query-grid .wp-block-post-template { grid-template-columns: 1fr; } }

.pc-query-grid .wp-block-group.pc-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 14px;
    overflow: hidden;
    transition: transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s;
}
.pc-query-grid .wp-block-group.pc-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 56px rgba(27,46,74,.16);
}

/* Featured image em cards */
.pc-card .wp-block-post-featured-image img,
.pc-query-grid .pc-card .wp-block-post-featured-image img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block;
    transition: transform .7s cubic-bezier(.2,.7,.2,1);
    border-radius: 0 !important;
}
.pc-query-grid .pc-card:hover .wp-block-post-featured-image img { transform: scale(1.04); }

/* Títulos no card */
.pc-card .wp-block-post-title a,
.pc-card .wp-block-heading { color: var(--ink) !important; text-decoration: none; }
.pc-card .wp-block-post-title { margin-bottom: 10px !important; }
.pc-card .wp-block-post-excerpt { color: var(--ink-soft) !important; font-size: 14px !important; margin-bottom: 14px !important; }
.pc-card .wp-block-read-more { color: var(--rosa) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .06em; text-transform: uppercase; text-decoration: none !important; transition: letter-spacing .3s; }
.pc-card .wp-block-read-more:hover { letter-spacing: .12em; }

/* ── Heading hierarquia por presetes ────────────────────────── */
/* Garante Bebas Neue em todos os headings com preset de fontSize */
.wp-block-heading.has-display-font-size { font-size: clamp(48px, 8.2vw, 128px) !important; line-height: .86 !important; }
.wp-block-heading.has-h-xl-font-size    { font-size: clamp(40px, 5.6vw, 86px)  !important; line-height: .9  !important; }
.wp-block-heading.has-h-lg-font-size    { font-size: clamp(32px, 4vw, 58px)    !important; line-height: .92 !important; }
.wp-block-heading.has-h-md-font-size    { font-size: clamp(28px, 3vw, 44px)    !important; line-height: .96 !important; }
.wp-block-heading.has-h-sm-font-size    { font-size: clamp(22px, 2.2vw, 30px)  !important; line-height: 1.1 !important; }

/* ── Cores de preset ─────────────────────────────────────────── */
.has-rosa-color          { color: var(--rosa)      !important; }
.has-ink-color           { color: var(--ink)       !important; }
.has-ink-soft-color      { color: var(--ink-soft)  !important; }
.has-ink-faint-color     { color: var(--ink-faint) !important; }
.has-amarelo-color       { color: var(--amarelo)   !important; }
.has-on-night-color      { color: var(--on-night)  !important; }
.has-verde-med-color     { color: var(--verde-med) !important; }
.has-paper-background-color   { background-color: var(--paper)   !important; }
.has-paper-2-background-color { background-color: var(--paper-2) !important; }
.has-night-background-color   { background-color: var(--night)   !important; }

/* ── Fontes preset ───────────────────────────────────────────── */
.has-lead-font-size   { font-size: var(--text-lead)  !important; }
.has-base-font-size   { font-size: var(--text-base)  !important; }
.has-small-font-size  { font-size: var(--text-small) !important; }
.has-micro-font-size  { font-size: var(--text-micro) !important; }

/* ── Separadores ─────────────────────────────────────────────── */
.wp-block-separator.is-style-pcc-flourish {
    border: none !important;
    height: 1.5px !important;
    background: linear-gradient(90deg, transparent, var(--rosa), transparent) !important;
    opacity: .38;
    margin-block: clamp(24px, 4vh, 48px) !important;
}

/* ── Badge / pcc-badge ───────────────────────────────────────── */
.is-style-pcc-badge {
    display: inline-block;
    background: var(--paper-3);
    color: var(--ink-soft);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 4px;
    margin-bottom: 12px;
}

/* ── wp:columns responsivo global ───────────────────────────── */
@media (max-width: 767px) {
    .wp-block-columns:not(.pc-split):not(.pc-metrics):not(.pc-porque-grid) {
        flex-direction: column !important;
    }
    .wp-block-columns:not(.pc-split) .wp-block-column {
        flex-basis: 100% !important;
        width: 100% !important;
    }
    .wp-block-columns.pc-metrics { flex-wrap: wrap !important; }
    .wp-block-columns.pc-metrics .wp-block-column { flex-basis: 48% !important; }
}

/* ── Galeria grid na newsletter ─────────────────────────────── */
.pc-gallery-grid.wp-block-gallery .wp-block-image img {
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 10px;
    width: 100%;
    display: block;
}

/* Marquee: uses original rules from main CSS */

/* ── CTA cover — centralização ──────────────────────────────── */
.wp-block-cover.is-style-pcc-cta .wp-block-cover__inner-container {
    text-align: center;
    padding-block: clamp(64px, 10vh, 130px);
}
.wp-block-cover.is-style-pcc-cta .wp-block-heading,
.wp-block-cover.is-style-pcc-cta p { text-align: center; }

/* ── Agenda — dark section ───────────────────────────────────── */
.pc-agenda-list {
    margin-block: clamp(32px, 5vh, 56px);
    border-top: 1px solid rgba(237,224,204,.14);
}
.pc-agenda-row {
    display: grid;
    grid-template-columns: 120px 1fr 2fr auto;
    gap: 20px 32px;
    align-items: center;
    padding-block: 22px;
    border-bottom: 1px solid rgba(237,224,204,.12);
    transition: padding-left .3s cubic-bezier(.2,.7,.2,1);
}
.pc-agenda-row:hover { padding-left: 14px; }
@media (max-width: 900px) { .pc-agenda-row { grid-template-columns: 100px 1fr auto; } .pc-agenda-route { display: none; } }
@media (max-width: 640px) { .pc-agenda-row { grid-template-columns: 1fr; gap: 4px 0; padding-block: 16px; } .pc-agenda-row:hover { padding-left: 0; } }

/* ── Global: zero margin-block collision ────────────────────── */
.wp-block-group > *:first-child { margin-top: 0 !important; }
.wp-block-group > *:last-child  { margin-bottom: 0 !important; }
.pc-card__body > *:last-child   { margin-bottom: 0 !important; }


/* =============================================================
   v18 — FIDELIDADE VISUAL FINAL + SISTEMA DE CONTAINER
   ============================================================= */

/* ── CONTAINER SYSTEM (substitui regras conflitantes) ───────── */
/* Usar min() + subtração é a forma mais robusta: sem JS, sem
   necessidade de padding extra, funciona em todos browsers */
.pc-container,
.pc-wrap,
.pc-section-inner {
    width: min(100% - 32px, 1320px);
    margin-inline: auto;
}
@media (min-width: 768px) {
    .pc-container, .pc-wrap, .pc-section-inner {
        width: min(100% - 80px, 1320px);
    }
}
.pc-narrow {
    width: min(100% - 32px, 860px);
    margin-inline: auto;
}
.pc-text-narrow { max-width: 860px; }

.pc-section { padding-block: clamp(56px, 8vw, 120px); }

.pc-stack > * + * { margin-top: clamp(16px, 2vw, 28px); }
.pc-stack--sm > * + * { margin-top: clamp(10px, 1.2vw, 18px); }

/* ── HERO — fidelidade com HTML aprovado ─────────────────────── */
/* Hero: conteúdo na parte inferior, título enorme */
.wp-block-cover.is-style-pcc-hero {
    min-height: 100svh !important;
    display: flex;
    align-items: flex-end;
}
.wp-block-cover.is-style-pcc-hero .wp-block-cover__inner-container {
    width: min(100% - 32px, 1320px) !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
    padding-top: clamp(80px, 14vh, 160px) !important;
    padding-bottom: clamp(48px, 9vh, 104px) !important;
}
@media (min-width: 768px) {
    .wp-block-cover.is-style-pcc-hero .wp-block-cover__inner-container {
        width: min(100% - 80px, 1320px) !important;
    }
}

/* Títulos do hero: escala máxima do HTML aprovado */
.wp-block-cover.is-style-pcc-hero .has-display-font-size {
    font-size: clamp(64px, 11vw, 160px) !important;
    line-height: .86 !important;
    letter-spacing: .01em !important;
    max-width: 14ch;
}

/* ── JORNADA INDIVIDUAL — classes específicas ────────────────── */
.pc-jornada-hero .wp-block-cover__inner-container {
    padding-bottom: clamp(56px, 10vh, 120px) !important;
}
.pc-jornada-hero .has-display-font-size {
    font-size: clamp(56px, 10vw, 160px) !important;
    line-height: .88 !important;
    max-width: 16ch;
}
@media (max-width: 767px) {
    .pc-jornada-hero .has-display-font-size {
        font-size: clamp(48px, 16vw, 96px) !important;
    }
    .wp-block-cover.is-style-pcc-hero .has-display-font-size {
        font-size: clamp(48px, 16vw, 96px) !important;
    }
}

/* pc-jornada-overview: visão geral factstrip */
.pc-jornada-overview .wp-block-columns { gap: 0 !important; }
.pc-jornada-overview .wp-block-column {
    border-right: 1px solid var(--paper-3);
    padding-right: clamp(14px, 2vw, 28px);
    padding-block: clamp(20px, 3vh, 36px);
}
.pc-jornada-overview .wp-block-column:last-child { border-right: none; }
@media (max-width: 767px) {
    .pc-jornada-overview .wp-block-column {
        border-right: none;
        border-bottom: 1px solid var(--paper-3);
        padding-right: 0;
    }
    .pc-jornada-overview .wp-block-column:last-child { border-bottom: none; }
}

.pc-jornada-section { padding-block: clamp(48px, 7vh, 96px); }
.pc-jornada-copy { max-width: 68ch; line-height: 1.68; color: var(--ink-soft); }

/* ── SEÇÕES GUTENBERG — padding direto (sem __inner-container) ── */
/* Corrige o problema raiz: grupos sem layout:constrained       */
.wp-block-group.is-style-pcc-section,
.wp-block-group.is-style-pcc-section-warm,
.wp-block-group.is-style-pcc-section-dark {
    padding-inline: clamp(16px, 4vw, 0px); /* zero em desktop — inner rule toma conta */
    padding-block: clamp(56px, 8vw, 120px);
}
/* Filhos diretos com largura máxima */
.wp-block-group.is-style-pcc-section > *:not(.alignfull):not(.alignwide),
.wp-block-group.is-style-pcc-section-warm > *:not(.alignfull):not(.alignwide),
.wp-block-group.is-style-pcc-section-dark > *:not(.alignfull):not(.alignwide) {
    max-width: 1320px;
    margin-inline: auto;
    width: 100%;
    padding-inline: clamp(16px, 4vw, 64px);
    box-sizing: border-box;
}
/* Sem padding duplo para grupos aninhados */
.wp-block-group.is-style-pcc-section > .wp-block-group,
.wp-block-group.is-style-pcc-section-warm > .wp-block-group,
.wp-block-group.is-style-pcc-section-dark > .wp-block-group {
    padding-inline: 0;
}
/* Cover inner container: mesmo sistema */
.wp-block-cover__inner-container {
    width: min(100% - 32px, 1320px) !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
    padding-block: clamp(64px, 10vh, 130px);
}
@media (min-width: 768px) {
    .wp-block-cover__inner-container {
        width: min(100% - 80px, 1320px) !important;
    }
    .wp-block-group.is-style-pcc-section > *:not(.alignfull):not(.alignwide),
    .wp-block-group.is-style-pcc-section-warm > *:not(.alignfull):not(.alignwide),
    .wp-block-group.is-style-pcc-section-dark > *:not(.alignfull):not(.alignwide) {
        padding-inline: clamp(32px, 5vw, 64px);
    }
}
/* AlignFull dentro de seção: sai para borda */
.wp-block-group.is-style-pcc-section > .alignfull,
.wp-block-group.is-style-pcc-section-warm > .alignfull,
.wp-block-group.is-style-pcc-section-dark > .alignfull {
    padding-inline: 0 !important;
    max-width: none !important;
    width: 100% !important;
    margin-inline: 0 !important;
}

/* ── pc-entry escape hatches ─────────────────────────────────── */
.pc-entry > .alignfull,
.pc-entry > .wp-block-cover.alignfull {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
}
/* Seções com is-style já têm padding próprio */
.pc-entry > .wp-block-group.is-style-pcc-section,
.pc-entry > .wp-block-group.is-style-pcc-section-warm,
.pc-entry > .wp-block-group.is-style-pcc-section-dark {
    padding-inline: 0; /* seção controla o próprio padding */
}
/* Blocos soltos sem seção: recebem padding do pc-entry */
.pc-entry > .wp-block-heading,
.pc-entry > .wp-block-paragraph,
.pc-entry > .wp-block-columns:not(.pc-metrics),
.pc-entry > .wp-block-image,
.pc-entry > .wp-block-buttons,
.pc-entry > .wp-block-gallery {
    max-width: 1320px;
    margin-inline: auto;
    padding-inline: clamp(16px, 4vw, 64px);
    width: 100%;
    box-sizing: border-box;
}

/* ── MARQUEE — fidelidade com HTML aprovado ──────────────────── */
/* Usa as regras originais do Design System (linha ~609 do CSS)  */
/* Apenas reforça o tamanho de fonte e a velocidade correta      */
.marquee { overflow: hidden; }
.marquee__track > span {
    font-size: clamp(28px, 3.8vw, 56px) !important;
    letter-spacing: .02em !important;
}

/* ── BOTÕES — sistema completo e consistente ─────────────────── */
.wp-block-button__link {
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    border-radius: 8px !important;
    padding: 14px 28px !important;
    border: 2px solid transparent !important;
    text-decoration: none !important;
    transition: background .28s, color .28s, border-color .28s, transform .28s !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}
.wp-block-button__link:hover { transform: translateY(-2px) !important; }

/* Primário — Terracota */
.is-style-pcc-solid .wp-block-button__link {
    background: var(--rosa) !important;
    color: var(--amarelo) !important;
    border-color: var(--rosa) !important;
}
.is-style-pcc-solid .wp-block-button__link:hover { background: var(--rosa-d) !important; border-color: var(--rosa-d) !important; }

/* Ghost padrão (fundo claro) */
.is-style-pcc-ghost .wp-block-button__link {
    background: transparent !important;
    color: var(--ink) !important;
    border-color: rgba(27,46,74,.28) !important;
}
.is-style-pcc-ghost .wp-block-button__link:hover {
    background: rgba(27,46,74,.07) !important;
    border-color: var(--ink) !important;
}
/* Ghost em covers escuros */
.wp-block-cover .is-style-pcc-ghost .wp-block-button__link,
.wp-block-group.is-style-pcc-section-dark .is-style-pcc-ghost .wp-block-button__link {
    color: var(--on-night) !important;
    border-color: rgba(237,224,204,.35) !important;
}
.wp-block-cover .is-style-pcc-ghost .wp-block-button__link:hover,
.wp-block-group.is-style-pcc-section-dark .is-style-pcc-ghost .wp-block-button__link:hover {
    background: rgba(237,224,204,.1) !important;
    border-color: rgba(237,224,204,.7) !important;
}
/* WhatsApp */
.is-style-pcc-whatsapp .wp-block-button__link {
    background: var(--verde-med) !important;
    color: #fff !important;
    border-color: var(--verde-med) !important;
}
.is-style-pcc-whatsapp .wp-block-button__link:hover { background: #3B6347 !important; border-color: #3B6347 !important; }
/* Mostarda */
.is-style-pcc-amarelo .wp-block-button__link {
    background: var(--amarelo) !important;
    color: var(--ink) !important;
    border-color: var(--amarelo) !important;
}
.is-style-pcc-amarelo .wp-block-button__link:hover { background: #C99010 !important; border-color: #C99010 !important; }

/* Grupos de botões: gap */
.wp-block-buttons { gap: 14px !important; flex-wrap: wrap; }

/* ── TIPOGRAFIA — garantia de fontes ─────────────────────────── */
h1, h2, h3, h4, h5, h6,
.wp-block-heading {
    font-family: var(--font-display) !important;
    font-weight: 400 !important;
}
p, li, blockquote p, td, th, input, select, textarea {
    font-family: var(--font-body);
}
/* Headings por preset — escala real do HTML aprovado */
.wp-block-heading.has-display-font-size { font-size: clamp(56px, 9vw, 140px)  !important; line-height: .86 !important; }
.wp-block-heading.has-h-xl-font-size    { font-size: clamp(40px, 5.6vw, 86px) !important; line-height: .9  !important; }
.wp-block-heading.has-h-lg-font-size    { font-size: clamp(30px, 3.8vw, 56px) !important; line-height: .94 !important; }
.wp-block-heading.has-h-md-font-size    { font-size: clamp(26px, 2.8vw, 42px) !important; line-height: .96 !important; }
.wp-block-heading.has-h-sm-font-size    { font-size: clamp(20px, 2vw, 28px)   !important; line-height: 1.1  !important; }

/* Lead text */
.wp-block-paragraph.has-lead-font-size { font-size: clamp(17px, 1.5vw, 21px) !important; line-height: 1.58 !important; }

/* ── IMAGENS CINEMATOGRÁFICAS ────────────────────────────────── */
.wp-block-image.is-style-pcc-cinematic {
    border-radius: 12px;
    overflow: hidden;
    display: block;
}
.wp-block-image.is-style-pcc-cinematic img {
    border-radius: 12px !important;
    aspect-ratio: 4/5;
    object-fit: cover;
    width: 100%;
    display: block;
    transition: transform .8s cubic-bezier(.2,.7,.2,1);
}
.wp-block-image.is-style-pcc-cinematic:hover img { transform: scale(1.04); }

/* Imagem normal com arredondamento suave */
.wp-block-image img { border-radius: 8px; }
.wp-block-image.is-style-pcc-cinematic img { border-radius: 12px !important; }

/* Galeria filmstrip */
.wp-block-gallery.is-style-pcc-filmstrip {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    gap: 16px;
    scrollbar-width: thin;
    scrollbar-color: var(--paper-3) transparent;
    cursor: grab;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}
.wp-block-gallery.is-style-pcc-filmstrip:active { cursor: grabbing; }
.wp-block-gallery.is-style-pcc-filmstrip .wp-block-image {
    flex: 0 0 auto !important;
    width: clamp(240px, 28vw, 380px) !important;
    scroll-snap-align: start;
    margin: 0 !important;
}
.wp-block-gallery.is-style-pcc-filmstrip .wp-block-image img {
    aspect-ratio: 4/5 !important;
    object-fit: cover !important;
    border-radius: 10px !important;
    width: 100% !important;
    pointer-events: none;
}

/* ── CARDS — visual do HTML aprovado ─────────────────────────── */
.pc-card {
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--paper-2);
    transition: transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s;
}
.pc-card:hover { transform: translateY(-6px); box-shadow: 0 24px 60px rgba(27,46,74,.16); }
.pc-card > .wp-block-image { flex-shrink: 0; margin: 0 !important; }
.pc-card .wp-block-image img,
.pc-card .wp-block-post-featured-image img {
    width: 100% !important;
    aspect-ratio: 16/9 !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    display: block !important;
    transition: transform .8s cubic-bezier(.2,.7,.2,1) !important;
}
.pc-card--feature .wp-block-image img { aspect-ratio: 16/7 !important; }
.pc-card:hover .wp-block-image img { transform: scale(1.04) !important; }
.pc-card__body { padding: clamp(16px, 2vw, 28px); flex: 1; display: flex; flex-direction: column; }
.pc-card__body > *:last-child { margin-top: auto !important; padding-top: 16px; }
.pc-card .wp-block-heading { margin-bottom: 10px !important; line-height: 1 !important; }
.pc-card .wp-block-paragraph { margin-bottom: 12px !important; }

/* ── QUERY GRID ──────────────────────────────────────────────── */
.pc-query-grid .wp-block-post-template {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 2.5vw, 32px);
}
@media (max-width: 600px) { .pc-query-grid .wp-block-post-template { grid-template-columns: 1fr; } }
.pc-query-grid .wp-block-group.pc-card { height: 100%; }
.pc-query-grid .pc-card .wp-block-post-title a { color: var(--ink) !important; text-decoration: none; }
.pc-query-grid .pc-card .wp-block-read-more { color: var(--rosa) !important; font-weight: 700 !important; font-size: 13px !important; letter-spacing: .06em; text-transform: uppercase; text-decoration: none !important; }

/* ── DEPOIMENTO — fidelidade visual ──────────────────────────── */
.wp-block-quote.is-style-pcc-depoimento {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.wp-block-quote.is-style-pcc-depoimento p {
    font-family: var(--font-display) !important;
    font-size: clamp(28px, 3.5vw, 52px) !important;
    font-weight: 400 !important;
    line-height: 1.12 !important;
    color: var(--on-night);
    max-width: 20ch;
}
.wp-block-quote.is-style-pcc-depoimento cite {
    display: block !important;
    margin-top: 28px !important;
    font-size: 12px !important;
    letter-spacing: .2em !important;
    text-transform: uppercase !important;
    font-style: normal !important;
    color: rgba(237,224,204,.5);
}

/* ── SPLIT COLUMNS ───────────────────────────────────────────── */
.pc-split.wp-block-columns {
    align-items: center !important;
    gap: clamp(32px, 5vw, 80px) !important;
}
@media (max-width: 767px) {
    .pc-split.wp-block-columns { flex-direction: column !important; gap: 28px !important; }
    .pc-split .wp-block-column { flex-basis: 100% !important; }
}

/* ── MÉTRICAS ─────────────────────────────────────────────────── */
.pc-metrics.wp-block-columns {
    gap: clamp(14px, 3vw, 48px) !important;
    margin-top: clamp(40px, 6vh, 72px) !important;
}
.pc-metric-number {
    font-family: var(--font-display) !important;
    font-weight: 400 !important;
    font-size: clamp(44px, 5vw, 72px) !important;
    line-height: 1 !important;
    color: var(--rosa) !important;
    margin-bottom: 6px !important;
}
.pc-metric-label {
    font-size: 11.5px !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    color: var(--ink-faint) !important;
    margin-top: 6px !important;
}
@media (max-width: 767px) {
    .pc-metrics.wp-block-columns { flex-wrap: wrap !important; }
    .pc-metrics .wp-block-column { flex-basis: 48% !important; min-width: 120px; }
}

/* ── MOBILE GLOBAL ───────────────────────────────────────────── */
@media (max-width: 767px) {
    .wp-block-columns:not(.pc-metrics):not(.pc-split):not(.pc-porque-grid) {
        flex-direction: column !important;
    }
    .wp-block-columns:not(.pc-metrics):not(.pc-split) .wp-block-column {
        flex-basis: 100% !important;
    }
    .wp-block-cover__inner-container {
        padding-inline: clamp(16px, 4vw, 32px) !important;
    }
    .wp-block-group.is-style-pcc-section > *:not(.alignfull),
    .wp-block-group.is-style-pcc-section-warm > *:not(.alignfull),
    .wp-block-group.is-style-pcc-section-dark > *:not(.alignfull) {
        padding-inline: 16px;
    }
    .pc-entry > .wp-block-heading,
    .pc-entry > .wp-block-paragraph,
    .pc-entry > .wp-block-columns,
    .pc-entry > .wp-block-buttons {
        padding-inline: 16px;
    }
}


/* =============================================================
   CORREÇÃO 2 — Agenda em blocos nativos
   wp:columns.pc-agenda-row substitui o wp:html fixo.
   ============================================================= */
.pc-agenda-row.wp-block-columns {
    border-bottom: 1px solid rgba(237,224,204,.12);
    padding-block: clamp(16px, 2.5vh, 24px);
    margin-bottom: 0 !important;
    transition: padding-left .3s cubic-bezier(.2,.7,.2,1);
}
.pc-agenda-row.wp-block-columns:hover { padding-left: 14px; }
/* Remove bottom border on last visible row */
.pc-agenda-row.wp-block-columns:last-of-type { border-bottom: none; }

.pc-agenda-date.wp-block-heading {
    font-family: var(--font-display) !important;
    font-size: clamp(20px, 2.2vw, 28px) !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    color: var(--on-night) !important;
    margin: 0 !important;
}
.pc-agenda-name.wp-block-paragraph {
    font-family: var(--font-display) !important;
    font-size: clamp(18px, 1.9vw, 24px) !important;
    line-height: 1.1 !important;
    color: var(--on-night) !important;
    margin: 0 !important;
}
.pc-agenda-route.wp-block-paragraph {
    font-size: 13px !important;
    color: rgba(237,224,204,.5) !important;
    margin: 0 !important;
}
.pc-agenda-status.wp-block-paragraph {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    white-space: nowrap;
    margin: 0 !important;
}

@media (max-width: 900px) {
    /* Hide route column on tablet */
    .pc-agenda-row.wp-block-columns .wp-block-column:nth-child(3) { display: none; }
}
@media (max-width: 560px) {
    .pc-agenda-row.wp-block-columns { display: block !important; padding-left: 0 !important; }
    .pc-agenda-row.wp-block-columns .wp-block-column { display: block !important; flex-basis: 100% !important; width: 100% !important; margin-bottom: 4px; }
    .pc-agenda-row.wp-block-columns .wp-block-column:nth-child(3) { display: block !important; }
    .pc-agenda-date.wp-block-heading { font-size: 18px !important; }
}


/* =============================================================
   v23 — CARD FOOTER COM METADADOS ORGANIZADOS
   ============================================================= */
.pc-destaque-footer {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--paper-3, #d9cbb5);
    margin-bottom: 12px;
}
.pc-destaque-meta-item {
    font-family: var(--font-body, 'Open Sans', sans-serif);
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ink-faint, #9A8B76);
    line-height: 1.4;
}

/* =============================================================
   v24 — BADGE SOBREPOSTO NA IMAGEM (AJ1)
   Aplica em .pc-destaque-badge dentro de .pc-destaque-img-wrap
   e também em cards da página de Roteiros (.pc-card)
   ============================================================= */

/* Garantir position:relative no wrapper (já está no inline style do shortcode,
   mas adicionar aqui para cobertura em ambos os contextos) */
.pc-destaque-img-wrap { position: relative; }
.pc-card .wp-block-post-featured-image { position: relative; overflow: hidden; }

/* Badge: overlay absoluto no canto superior esquerdo */
.pc-destaque-img-wrap .pc-destaque-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    /* reset display from old inline-block margin */
    margin-bottom: 0;
}

/* AJ3 — Descrição do card na página de Roteiros */
.pc-card-desc {
    font-size: 14px;
    line-height: 1.5;
    color: var(--ink-soft);
    margin: 0 0 8px;
}

/* AJ4 — Metadados em linha única "15 DIAS • 24 FEV – 10 MAR" */
.pc-destaque-footer {
    display: flex;
    align-items: center;
    gap: 0;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--paper-3, #d9cbb5);
    margin-bottom: 10px;
}
/* Single-line: override the column layout from v23 */
.pc-destaque-footer .pc-destaque-meta-item {
    font-family: var(--font-body, 'Open Sans', sans-serif);
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ink-faint, #9A8B76);
    line-height: 1.4;
}

/* Consistent card footer in roteiros page query loop */
.pc-card .pc-destaque-footer {
    margin-top: 8px;
}

/* pc-card__body spacing with shortcode content */
.pc-card__body .pc-card-desc + .pc-destaque-footer { margin-top: 8px; }

