/*
 * GR11 Viajes — Home template rules, copied literally from source/01-home/base.css (v3).
 * The global part of the same file (tokens, reset, buttons, header, trip card, footer) is in approved/global.css.
 */

/* Hero */
.hero{position:relative;min-height:96vh;display:flex;align-items:center;overflow:hidden;color:var(--color-white);background:var(--color-navy)}
.hero__media{position:absolute;inset:0;overflow:hidden}
.hero__media img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 0}
.hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,24,40,.12) 0%,rgba(9,24,40,.3) 42%,rgba(9,24,40,.72) 100%),linear-gradient(180deg,rgba(9,24,40,.5) 0%,rgba(9,24,40,0) 22%)}
.hero__content{position:relative;z-index:2;display:flex;justify-content:flex-end;padding-top:150px;padding-bottom:var(--space-5xl)}
.hero__text{max-width:660px}
.hero__title{font-family:var(--font-display);font-weight:400;font-style:italic;text-transform:uppercase;font-size:var(--fs-h1);line-height:.92;letter-spacing:.01em;color:var(--color-white);margin-bottom:var(--space-lg);text-shadow:0 2px 24px rgba(0,0,0,.25)}
.hero__lead{font-size:var(--fs-lead);line-height:1.6;max-width:580px;color:rgba(255,255,255,.94);margin-bottom:var(--space-xl)}
.hero__lead strong{font-weight:600;color:var(--color-white)}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-md)}

/* Viajes en moto */
.trips{position:relative;background:var(--color-cream);padding:var(--space-4xl) 0 calc(var(--space-section) + var(--curve-h))}
.section-head{display:grid;grid-template-columns:1fr 440px;align-items:end;gap:var(--space-2xl);margin-bottom:var(--space-3xl)}
.section-head__intro{color:var(--color-muted);font-size:var(--fs-body)}
.section-head--center{display:block;text-align:center;max-width:820px;margin-left:auto;margin-right:auto}
.section-head--center .eyebrow{justify-content:center}
.trips__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl)}
.section-foot{display:flex;justify-content:center;margin-top:var(--space-3xl)}

/* Otras formas de viajar */
.lines{position:relative;background:var(--color-terracotta);color:var(--color-white);padding:var(--space-3xl) 0 calc(var(--space-section) + var(--space-xl))}
.lines .section-head{margin-bottom:var(--space-3xl)}
.lines__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl)}
.line-card{position:relative;display:flex;align-items:flex-end;height:500px;border-radius:var(--radius-line);overflow:hidden;color:var(--color-white);text-decoration:none;background:var(--color-navy)}
.line-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.line-card__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,20,30,0) 30%,rgba(12,20,30,.85) 100%)}
.line-card__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;padding:var(--space-xl)}
.line-card__kicker{font-weight:600;font-size:var(--fs-eyebrow);letter-spacing:.16em;text-transform:uppercase;color:var(--color-terracotta-soft);margin-bottom:var(--space-xs)}
.line-card__title{font-family:var(--font-display);font-style:italic;text-transform:uppercase;font-size:var(--fs-h3-lg);line-height:.95;margin-bottom:var(--space-sm)}
.line-card__text{font-size:var(--fs-small);line-height:1.55;color:rgba(255,255,255,.92);margin-bottom:var(--space-lg)}
.line-card__link{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:46px;padding:0 var(--space-lg);border-radius:var(--radius-pill);background:var(--color-white);color:var(--color-ink);font-family:var(--font-display);font-style:italic;font-size:19px;letter-spacing:.05em;text-transform:uppercase}

/* Calendario */
.calendar{position:relative;overflow:hidden;color:var(--color-white);padding:calc(var(--space-section) + var(--curve-h)) 0 calc(var(--space-section) + var(--curve-h))}
.calendar__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 60%}
.calendar__veil{position:absolute;inset:0;background:var(--color-veil-blue)}
.calendar__inner{position:relative;z-index:2;display:grid;grid-template-columns:5fr 7fr;grid-template-areas:"head list" "cta list";column-gap:var(--space-4xl);row-gap:var(--space-xl);align-items:center}
.calendar__head{grid-area:head;align-self:end}
.calendar__head .h2{margin-bottom:var(--space-md)}
.calendar__text{font-size:var(--fs-lead);color:rgba(255,255,255,.92);max-width:400px}
.calendar__cta{grid-area:cta;align-self:start}
.calendar__list{grid-area:list;display:grid;gap:var(--space-sm)}
.cal-row{display:grid;grid-template-columns:72px 1fr 44px;align-items:center;gap:var(--space-lg);padding:var(--space-sm) var(--space-lg) var(--space-sm) var(--space-sm);background:var(--color-white);border-radius:20px;color:var(--color-ink);text-decoration:none;box-shadow:var(--shadow-row)}
.cal-row__date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:72px;height:72px;border-radius:var(--radius-md);background:var(--color-cream)}
.cal-row__month{font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-terracotta);line-height:1}
.cal-row__day{font-family:var(--font-display);font-size:36px;line-height:1;color:var(--color-brand-deep);margin-top:4px}
.cal-row__info{display:flex;flex-direction:column;gap:2px}
.cal-row__name{font-family:var(--font-display);font-style:italic;text-transform:uppercase;font-size:28px;line-height:1;letter-spacing:.01em}
.cal-row__range{font-size:var(--fs-small);color:var(--color-muted)}
.cal-row__arrow{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--color-brand);color:var(--color-white)}

/* Quiénes somos */
.about{background:var(--color-cream);padding:var(--space-4xl) 0 calc(var(--space-section) + var(--space-xl))}
.about__inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4xl);align-items:center}
.about__media{position:relative}
.about__img{width:100%;aspect-ratio:5/2;object-fit:cover;object-position:50% 62%;border-radius:var(--radius-about)}
.about__seal{position:absolute;right:-28px;bottom:-44px;width:120px;height:120px;transform:rotate(8deg);filter:drop-shadow(0 10px 22px rgba(0,0,0,.25))}
.about__text .h2{margin-bottom:var(--space-lg)}
.about__text p{margin-bottom:var(--space-md);max-width:520px}
.about__text .btn{margin-top:var(--space-md)}

/* Galería */
.gallery{position:relative;background:var(--color-sand);padding:calc(var(--space-section) + var(--space-md)) 0 calc(var(--space-section) + var(--curve-h))}
.gallery__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-xl);margin-bottom:var(--space-2xl)}
.gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gallery__item{aspect-ratio:3/2;border-radius:20px;overflow:hidden;background:var(--color-line)}
.gallery__item img{width:100%;height:100%;object-fit:cover}

/* Tablet */
@media (min-width:768px) and (max-width:1100px){
  .trips__grid,.lines__grid{grid-template-columns:repeat(2,1fr)}
  .section-head{grid-template-columns:1fr}
  .about__inner{gap:var(--space-2xl)}
}
