/* ec-pages-2026.css — páginas internas no design 2026 (sobre ec-home-2026.css).
   Gerado a partir de ec-visit-hub-2026.css + componentes das páginas internas. 20/10/2026. */
.visit-hero { position: relative; min-height: 720px; display: grid; align-items: end; overflow: hidden; background: var(--blue-deep); color: var(--white); }
.visit-hero-media, .visit-hero-shade { position: absolute; inset: 0; }
.visit-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 44%; }
.visit-hero-shade { background: linear-gradient(90deg, rgba(0,27,39,.95) 0%, rgba(0,32,46,.76) 52%, rgba(0,22,32,.26) 100%), linear-gradient(to top, rgba(0,30,42,.85), transparent 54%); }
.visit-hero-content { position: relative; z-index: 1; padding: 176px 0 76px; }
.visit-hero h1 { max-width: 920px; margin-bottom: 22px; }
.visit-hero-copy { max-width: 740px; margin-bottom: 30px; color: #fffdf8; font-size: clamp(1.12rem,2vw,1.4rem); }
.visit-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.visit-breadcrumbs { margin-bottom: 22px; font-size: .82rem; }
.visit-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; list-style: none; }
.visit-breadcrumbs li + li::before { content: "/"; margin-right: 8px; opacity: .7; }
.visit-breadcrumbs a { text-underline-offset: 4px; }
.decision-strip { background: var(--blue); color: var(--white); }
.decision-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.decision-grid > div { min-height: 132px; display: flex; flex-direction: column; justify-content: center; padding: 26px 28px; border-right: 1px solid rgba(255,255,255,.22); }
.decision-grid > div:first-child { border-left: 1px solid rgba(255,255,255,.22); }
.decision-grid strong { color: var(--yellow); font-family: "JetBrains Mono",ui-monospace,monospace; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.decision-grid span { margin-top: 6px; line-height: 1.35; }
.visit-section { padding: clamp(74px,8vw,124px) 0; }
.visit-section.is-sand { background: var(--sand); }
.visit-section.is-paper { background: var(--paper); }
.visit-section.is-dark { background: var(--blue-deep); color: var(--white); }
.visit-section.is-green { background: var(--green); color: var(--white); }
.visit-section h2 { color: var(--blue); }
.visit-section.is-dark h2, .visit-section.is-green h2 { color: var(--white); }
.direct-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(42px,8vw,110px); align-items: start; }
.direct-answer { font-size: 1.16rem; }
.direct-answer strong { color: var(--blue); }
.visit-section.is-dark .direct-answer strong { color: var(--yellow); }
.checklist { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; padding: 0; margin: 42px 0 0; list-style: none; counter-reset: visit-step; }
.checklist li { min-height: 260px; padding: 30px; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--white); box-shadow: 0 14px 38px rgba(0,56,77,.07); counter-increment: visit-step; }
.checklist li::before { content: counter(visit-step); display: grid; width: 48px; height: 48px; margin-bottom: 24px; place-items: center; border-radius: 50%; background: var(--yellow); color: var(--blue-deep); font-weight: 900; }
.checklist h3 { color: var(--blue); }
.choice-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; margin-top: 42px; }
.choice-card { display: flex; min-height: 330px; flex-direction: column; padding: 32px; border: 1px solid rgba(255,255,255,.28); border-radius: var(--radius); background: rgba(0,0,0,.13); }
.choice-card h3 { color: var(--white); }
.choice-card p { color: #fffdf8; }
.choice-card .card-time { color: var(--yellow); }
.choice-card a { margin-top: auto; color: var(--white); font-weight: 900; text-underline-offset: 5px; }
.route-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; margin-top: 42px; }
.route-card { padding: 30px; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--white); }
.route-card h3 { color: var(--blue); }
.route-card p:last-child { margin-bottom: 0; }
.route-card a { color: var(--blue); font-weight: 900; }
.truth-table { width: 100%; margin-top: 38px; border-collapse: collapse; background: var(--white); color: var(--ink); }
.truth-table caption { padding-bottom: 16px; color: inherit; font-weight: 900; text-align: left; }
.truth-table th, .truth-table td { padding: 18px 20px; border: 1px solid var(--rule); text-align: left; vertical-align: top; }
.truth-table th { width: 31%; background: #e8dfcf; color: var(--blue); }
.hub-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.hub-faq { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(42px,8vw,110px); }
.hub-faq details { border-top: 1px solid var(--rule); }
.hub-faq details:last-child { border-bottom: 1px solid var(--rule); }
.hub-faq summary { position: relative; padding: 24px 50px 24px 0; color: var(--blue); cursor: pointer; font-weight: 900; list-style: none; }
.hub-faq summary::-webkit-details-marker { display: none; }
.hub-faq summary::after { content: "+"; position: absolute; right: 4px; top: 14px; font-size: 1.7rem; }
.hub-faq details[open] summary::after { content: "−"; }
.hub-faq details p { padding: 0 50px 24px 0; color: var(--muted); }
.source-note { margin-top: 30px; padding: 22px 24px; border-left: 5px solid var(--yellow); background: rgba(255,255,255,.1); }
.source-note a { font-weight: 900; }
@media (max-width: 900px) {
  .decision-grid { grid-template-columns: repeat(2,1fr); }
  .direct-grid, .hub-faq { grid-template-columns: 1fr; }
  .checklist, .choice-grid { grid-template-columns: 1fr; }
  .checklist li, .choice-card { min-height: 0; }
}
@media (max-width: 620px) {
  .visit-hero { min-height: 760px; }
  .visit-hero-content { padding: 150px 0 58px; }
  .visit-hero-actions, .visit-hero-actions .button, .hub-actions, .hub-actions .button { width: 100%; }
  .decision-grid, .route-grid { grid-template-columns: 1fr; }
  .decision-grid > div { min-height: 96px; border-width: 0 1px 1px; }
  .truth-table, .truth-table tbody, .truth-table tr, .truth-table th, .truth-table td { display: block; width: 100%; }
  .truth-table tr { border: 1px solid var(--rule); }
  .truth-table th, .truth-table td { border: 0; }
  .truth-table td { padding-top: 8px; }
}

/* ---------- Páginas internas ---------- */
.visit-section.is-blue { background: var(--blue); color: var(--white); }
.visit-section.is-blue h2, .visit-section.is-blue h3 { color: var(--white); }
.visit-section.is-dark h3, .visit-section.is-green h3 { color: var(--white); }
.visit-section.is-blue .eyebrow, .visit-section.is-dark .eyebrow, .visit-section.is-green .eyebrow { color: var(--yellow); }
.page-hero-compact { min-height: 560px; }
.page-hero-compact .visit-hero-content { padding: 150px 0 60px; }
.visit-hero h1 { font-size: clamp(2.4rem, 5vw, 4.4rem); }
.visit-hero-copy a { color: var(--yellow); }

.section-intro { max-width: 760px; margin-bottom: 40px; }
.section-intro h2 { margin-bottom: 18px; }
.section-intro > p:last-child { color: var(--muted); font-size: 1.12rem; }
.is-dark .section-intro > p:last-child, .is-green .section-intro > p:last-child, .is-blue .section-intro > p:last-child { color: #e9f1f2; }

.prose { max-width: 760px; font-size: 1.08rem; }
.prose p, .prose ul, .prose ol { margin: 0 0 18px; }
.prose ul, .prose ol { padding-left: 1.3em; }
.prose li { margin-bottom: 8px; }
.prose h3 { margin: 34px 0 12px; color: var(--blue); font-size: clamp(1.3rem, 2vw, 1.7rem); }
.prose a { color: var(--blue); font-weight: 800; text-underline-offset: 4px; }
.prose strong { color: var(--blue); }
.is-dark .prose, .is-green .prose, .is-blue .prose { color: #fffdf8; }
.is-dark .prose a, .is-green .prose a, .is-blue .prose a, .is-dark .prose strong, .is-green .prose strong, .is-blue .prose strong, .is-dark .prose h3, .is-green .prose h3, .is-blue .prose h3 { color: var(--white); }
.split { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(36px, 7vw, 100px); align-items: start; }
.split > div:first-child h2 { margin-bottom: 0; }
.split .prose { max-width: none; }

.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 36px; }
.card-grid.two { grid-template-columns: repeat(2, 1fr); }
.card-grid.four { grid-template-columns: repeat(4, 1fr); }
.info-card { display: flex; flex-direction: column; padding: 30px; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--white); box-shadow: 0 14px 38px rgba(0,56,77,.07); }
.info-card h3 { margin-bottom: 12px; color: var(--blue); font-size: clamp(1.25rem, 1.8vw, 1.6rem); }
.info-card p { color: var(--muted); }
.info-card p:last-child, .info-card ul:last-child { margin-bottom: 0; }
.info-card ul { padding-left: 1.2em; color: var(--muted); }
.info-card a { margin-top: auto; color: var(--blue); font-weight: 900; text-underline-offset: 5px; }
.info-card .card-time { margin-bottom: 10px; }
.is-dark .info-card, .is-green .info-card, .is-blue .info-card { border-color: rgba(255,255,255,.28); background: rgba(0,0,0,.14); box-shadow: none; }
.is-dark .info-card h3, .is-green .info-card h3, .is-blue .info-card h3, .is-dark .info-card a, .is-green .info-card a, .is-blue .info-card a { color: var(--white); }
.is-dark .info-card p, .is-green .info-card p, .is-blue .info-card p, .is-dark .info-card ul, .is-green .info-card ul, .is-blue .info-card ul { color: #fffdf8; }
.is-dark .info-card .card-time, .is-green .info-card .card-time, .is-blue .info-card .card-time { color: var(--yellow); }

.feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 84px); align-items: center; }
.feature-grid.reverse > picture, .feature-grid.reverse > figure { order: 2; }
.feature-grid picture, .feature-grid figure { margin: 0; overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow); }
.feature-grid img { width: 100%; height: 100%; min-height: 380px; max-height: 560px; object-fit: cover; }
.feature-grid h2 { margin-bottom: 22px; }

.media-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 36px; }
.media-grid figure { margin: 0; }
.media-grid picture { display: block; overflow: hidden; border-radius: var(--radius); }
.media-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.media-grid figcaption { margin-top: 10px; color: var(--muted); font-size: .92rem; line-height: 1.45; }
.is-dark .media-grid figcaption, .is-green .media-grid figcaption, .is-blue .media-grid figcaption { color: #e9f1f2; }

.price-groups { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 36px; align-items: start; }
.price-group { padding: 28px; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--white); }
.price-group h3 { margin-bottom: 6px; color: var(--blue); font-size: 1.35rem; }
.price-group > p { margin-bottom: 12px; color: var(--muted); font-size: .95rem; }
.price-list { margin: 0; padding: 0; list-style: none; }
.price-list li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px dotted var(--rule); font-size: 1rem; line-height: 1.4; }
.price-list li:last-child { border-bottom: 0; }
.price-list b { flex: 0 0 auto; color: #5c3300; font-weight: 900; white-space: nowrap; }

.data-table { width: 100%; margin-top: 30px; border-collapse: collapse; background: var(--white); color: var(--ink); font-size: 1rem; }
.data-table caption { padding-bottom: 14px; font-weight: 900; text-align: left; }
.data-table th, .data-table td { padding: 14px 18px; border: 1px solid var(--rule); text-align: left; vertical-align: top; }
.data-table thead th { background: var(--blue); color: var(--white); }
.data-table tbody th { background: #e8dfcf; color: var(--blue); }
.table-scroll { overflow-x: auto; }

.note { margin-top: 28px; padding: 18px 22px; border-left: 5px solid var(--yellow); background: rgba(0,56,77,.05); color: var(--muted); font-size: .98rem; }
.note a { color: var(--blue); font-weight: 800; }
.is-dark .note, .is-green .note, .is-blue .note { background: rgba(255,255,255,.08); color: #fffdf8; }
.is-dark .note a, .is-green .note a, .is-blue .note a { color: var(--white); }
.pill-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.pill-row li { padding: 8px 16px; border: 1px solid var(--rule); border-radius: 999px; background: var(--white); color: var(--blue); font-weight: 800; font-size: .95rem; }
.map-embed { overflow: hidden; margin-top: 30px; border-radius: var(--radius); border: 1px solid var(--rule); }
.map-embed iframe { display: block; width: 100%; height: 420px; border: 0; }
.button-dark { background: var(--blue-deep); border-color: var(--blue-deep); color: var(--white); }
.button-dark:hover { background: var(--blue); border-color: var(--blue); color: var(--white); }
.is-sand .button-outline, .is-paper .button-outline { background: transparent; color: var(--blue); border-color: var(--blue); }
.is-sand .button-outline:hover, .is-paper .button-outline:hover { background: var(--blue); color: var(--white); }

/* Cardápio gerado por scripts/refresh_menu_highlights.py */
.menu-section { padding: clamp(64px, 7vw, 104px) 0; background: var(--paper); }
.menu-section:nth-of-type(even) { background: var(--sand); }
.menu-section .wrap, .ec-menu-complete .wrap { width: var(--shell); margin-inline: auto; }
.menu-section-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px 22px; margin-bottom: 34px; }
.menu-section-head h2 { margin: 0; color: var(--blue); }
.menu-section-head .tag { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: var(--yellow); color: var(--blue-deep); font-weight: 900; }
.menu-section-head .hours { color: #704000; font-family: "JetBrains Mono", ui-monospace, monospace; font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.menu-items { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.menu-item { display: grid; grid-template-columns: 1fr auto; gap: 6px 18px; padding: 24px 26px; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--white); }
.menu-item-name { grid-column: 1; margin: 0; color: var(--blue); font-size: 1.22rem; }
.menu-item-desc { grid-column: 1; margin: 0; color: var(--muted); font-size: .98rem; }
.menu-item-price { grid-column: 2; grid-row: 1 / span 2; align-self: start; color: #5c3300; font-size: 1.12rem; font-weight: 900; white-space: nowrap; }
.ec-menu-complete { padding: clamp(70px, 8vw, 120px) 0; background: var(--blue-deep); color: var(--white); }
.ec-menu-complete .kicker { margin-bottom: 16px; color: var(--yellow); font-family: "JetBrains Mono", ui-monospace, monospace; font-size: .74rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.ec-menu-complete h2 { color: var(--white); }
.ec-menu-complete .intro { max-width: 760px; color: #fffdf8; font-size: 1.1rem; }
.ec-menu-complete .ec-menu-note, .ec-menu-complete .ec-menu-source { max-width: 760px; color: #dce8eb; font-size: .95rem; }
.ec-menu-complete .btn { display: inline-flex; min-height: 52px; align-items: center; margin: 10px 0 36px; padding: 13px 24px; border-radius: 999px; background: var(--yellow); color: var(--blue-deep); font-weight: 900; text-decoration: none; }
.ec-menu-complete-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 30px; }
.ec-menu-complete-section { padding: 26px; border: 1px solid rgba(255,255,255,.24); border-radius: var(--radius); background: rgba(255,255,255,.06); }
.ec-menu-complete-section h3 { margin-bottom: 12px; color: var(--yellow); font-size: 1.25rem; }
.ec-complete-item { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px dotted rgba(255,255,255,.26); font-size: .98rem; line-height: 1.4; }
.ec-complete-item:last-child { border-bottom: 0; }
.ec-complete-price { flex: 0 0 auto; color: var(--yellow); font-weight: 900; white-space: nowrap; }

/* Data de atualização e links de crescimento dentro do novo layout */
.page-2026 .ec-updated { color: var(--muted); }
.page-2026 .ec-growth-links { width: var(--shell); max-width: 1180px; margin: 0 auto 64px; padding: 24px 28px; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--sand); font-family: inherit; }

@media (max-width: 1080px) {
  .card-grid.four { grid-template-columns: repeat(2, 1fr); }
  .price-groups, .ec-menu-complete-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .split, .feature-grid { grid-template-columns: 1fr; }
  .feature-grid.reverse > picture, .feature-grid.reverse > figure { order: 0; }
  .feature-grid img { min-height: 280px; }
  .card-grid, .card-grid.two, .media-grid { grid-template-columns: 1fr 1fr; }
  .menu-items { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .card-grid, .card-grid.two, .card-grid.four, .media-grid, .price-groups, .ec-menu-complete-grid { grid-template-columns: 1fr; }
  .page-hero-compact { min-height: 600px; }
  .menu-item { grid-template-columns: 1fr; }
  .menu-item-price { grid-column: 1; grid-row: auto; }
  .data-table { font-size: .95rem; }
  .map-embed iframe { height: 320px; }
}

/* Imagens com width/height no HTML: altura proporcional */
.page-2026 main img { height: auto; }
.page-2026 .visit-hero-media img { height: 100%; }
.page-2026 .feature-grid img { height: 100%; }
.direct-grid h2, .split h2, .hub-faq h2 { font-size: clamp(2rem, 3.4vw, 3.3rem); }
.page-2026 main [id] { scroll-margin-top: 96px; }

.visit-hero.no-media { min-height: 0; background: var(--blue-deep); }
.visit-hero.no-media .visit-hero-content { padding: 150px 0 64px; }
.legal-prose { max-width: 760px; }
.legal-prose h2 { margin: 2.2rem 0 .8rem; font-size: clamp(1.5rem, 2.4vw, 2rem); }
.legal-prose .meta { color: var(--muted, #4d5b61); }
.legal-prose .note { margin: 1.4rem 0; }
.info-card a, .prose a { overflow-wrap: anywhere; }
