/* viaje.com.py — token overrides on top of the engine's base.css (docs/site-spec-viaje.md §1). */

:root {
  --color-bg: #FAF7F2;
  --color-surface: #FFFFFF;
  --color-text: #1E2420;
  --color-muted: #5B655F;
  --color-primary: #0F5C4A;
  --color-primary-dark: #0A4436;
  --color-primary-contrast: #FFFFFF;
  --color-accent: #A64C1D;
  --color-border: #E6E0D6;
  --radius: 14px;
  --font-display: Georgia, 'Times New Roman', serif;
  --font-body: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

body { font-family: var(--font-body); }
h1, h2, h3, .brand__text, .page__title, .feature__title, .section__title {
  font-family: var(--font-display);
}

.site-header { background: var(--color-bg); }
.hero { background: linear-gradient(180deg, #F2ECE1, var(--color-bg)); }

/* Editorial home: content first, a single destination row and a practical route. */
:root { --container: 1240px; --radius: 16px; }
.is-editorial h2 { font-size:clamp(1.8rem,3.4vw,3rem); letter-spacing:-.025em; }
.is-editorial .section { padding-block:clamp(3rem,6vw,6rem); }
.is-editorial .hero { display:grid; padding:0; background:#eee8db; color:var(--color-text); }
.is-editorial .hero__media { position:relative; min-height:260px; }
.is-editorial .hero__media picture { display:block; height:100%; }
.is-editorial .hero__media::after { background:linear-gradient(0deg,rgba(10,30,20,.42),transparent 40%); pointer-events:none; }
.is-editorial .hero__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero__caption { position:absolute; inset:auto 1.25rem .75rem; z-index:1; margin:0; color:#fff; font-size:.75rem; }
.is-editorial .hero__inner { width:auto; max-width:none; margin:0; padding:2rem 1rem 2.5rem; }
.is-editorial .hero__title { font-size:clamp(2.5rem,4.8vw,4.5rem); line-height:1.04; letter-spacing:-.035em; max-width:12ch; }
.is-editorial .hero__kicker { color:var(--color-primary-dark); font-size:.72rem; margin-bottom:1.25rem; }
.is-editorial .hero__text { max-width:38ch; font-size:1.1rem; margin-top:1.25rem; color:var(--color-muted); }
.is-editorial .hero__ctas { margin-bottom:0; }
.is-editorial .hero .btn--ghost { color:var(--color-primary-dark); border-color:var(--color-primary-dark); }
.section-heading { margin-bottom:2rem; display:grid; gap:.5rem; align-items:end; }
.section-heading h2 { margin:0; max-width:15ch; }
.section-heading > p { color:var(--color-muted); max-width:46ch; margin:0; }
.eyebrow { text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; font-weight:700; color:var(--color-primary-dark); margin-bottom:.5rem; }
.is-editorial .card { background:#fff; box-shadow:0 8px 30px rgba(29,45,32,.04); }
.is-editorial .card__title { font-size:1.5rem; }
.is-editorial .card__text { font-size:.95rem; }
.is-editorial .card__body { padding:1.4rem; }
.is-editorial .card__media { aspect-ratio:4/3; }
.is-editorial .card__media picture { display:block; height:100%; }
.is-editorial .card__img { transition:transform .3s ease; }
.is-editorial .card:hover .card__img { transform:scale(1.025); }
.is-editorial .section__more { margin-top:1.5rem; }
.home-planning { padding-block:clamp(3rem,6vw,5rem); background:#173c31; color:#fff; }
.home-planning .section-heading > p { color:#d0dfd4; }
.planning-steps { list-style:none; padding:0; margin:2.5rem 0; display:grid; gap:2rem; counter-reset:planning; }
.planning-steps li { counter-increment:planning; border-top:1px solid #527465; padding-top:1rem; }
.planning-steps li::before { content:'0' counter(planning); display:block; font-family:var(--font-display); font-size:2.25rem; color:#edbf88; margin-bottom:1rem; }
.planning-steps h3 { font-size:1.4rem; }
.planning-steps p { color:#d0dfd4; max-width:35ch; margin:0; }
.service-list { display:grid; }
.service-list > a { display:grid; grid-template-columns:1fr auto; gap:.5rem 1rem; padding:1.5rem 0; border-bottom:1px solid var(--color-border); color:inherit; text-decoration:none; }
.service-list > a:first-child { border-top:1px solid var(--color-border); }
.service-list h3 { font-size:1.5rem; margin:0; }
.service-list p { grid-column:1; max-width:60ch; color:var(--color-muted); margin:0; }
.service-list .icon { grid-column:2; grid-row:1/3; align-self:center; width:28px; height:28px; }
.service-list > a:hover h3 { text-decoration:underline; color:var(--color-primary-dark); }
.home-intro { border-left:3px solid var(--color-accent); padding-left:1.25rem; }
.home-intro .prose { max-width:70ch; font-size:1.1rem; }
.is-editorial .cta-band { background:#eae1d1; color:var(--color-text); padding-block:clamp(3rem,6vw,5rem); }
.is-editorial .cta-band h2 { max-width:18ch; margin-inline:auto; }
.is-editorial .cta-band .btn--ghost { color:var(--color-primary-dark); }
.is-editorial .site-footer { margin-top:0; }
@media (min-width:640px) {
 .is-editorial .hero__media { min-height:360px; }
 .is-editorial .hero__inner { padding:3rem max(1rem,calc((100vw - 1240px)/2)); }
 .planning-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .home-journal .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:1024px) {
 .is-editorial .hero { grid-template-columns:1fr 1fr; min-height:660px; }
 .is-editorial .hero__media { grid-column:2; grid-row:1; margin:1.5rem 1.5rem 1.5rem 0; border-radius:120px 16px 16px 16px; }
 .is-editorial .hero__inner { grid-column:1; grid-row:1; align-self:center; padding:4rem 2.5rem 4rem max(2rem,calc((100vw - 1240px)/2)); }
 .section-heading { grid-template-columns:1fr 1fr; gap:3rem; }
 .home-destinations .card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .service-list > a { grid-template-columns:1fr 1.4fr auto; align-items:center; gap:2rem; }
 .service-list p { grid-column:2; }
 .service-list .icon { grid-column:3; grid-row:1; }
 .is-editorial .home-services { display:grid; grid-template-columns:.8fr 1.8fr; gap:4rem; }
 .home-services .section-heading { display:block; }
 .home-services .section-heading > p { margin-top:1.5rem; }
 .home-services .service-list > a { grid-template-columns:1fr auto; }
 .home-services .service-list p { grid-column:1; }
 .home-services .service-list .icon { grid-column:2; grid-row:1/3; }
}
@media (prefers-reduced-motion:reduce) { .is-editorial .card:hover .card__img { transform:none; } }
