/* Travel Pass v5 — refinamiento visual home, FAQ y contacto */
:root{
  --tp-v5-shadow:0 20px 54px rgba(10,32,72,.12);
  --tp-v5-shadow-soft:0 12px 34px rgba(12,34,71,.08);
}

/* Hero: usar mejor las fotos nuevas */
.tp-hero-slide:first-child .tp-home-hero-media img{object-position:center 36%}
.tp-hero-slide:nth-child(2) .tp-home-hero-media img{object-position:center 35%}
.tp-hero-slide:nth-child(3) .tp-home-hero-media img{object-position:center 52%}

/* Bloque "por qué viajar" + "mi gira" */
.tp-home-migira{background:linear-gradient(180deg,#f7faff 0%,#ffffff 100%)}
.tp-migira-grid{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:22px;align-items:stretch}
.tp-why-band,
.tp-migira-card{min-height:560px;box-shadow:var(--tp-v5-shadow);overflow:hidden;position:relative}
.tp-why-band{display:flex;flex-direction:column;justify-content:space-between;padding:28px 28px 0;background:linear-gradient(140deg,#0d2b59 0%,#12346a 56%,#0a254c 100%);border:1px solid rgba(255,255,255,.05)}
.tp-why-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.tp-why-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.tp-why-item{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:flex-start;padding:24px 22px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.tp-why-item .dashicons{display:grid;place-items:center;width:62px;height:62px;border-radius:18px;background:linear-gradient(135deg,#1bb9ff,#7b2be2);color:#fff;font-size:30px;box-shadow:0 10px 22px rgba(10,38,84,.34)}
.tp-why-item strong{font-size:1rem;letter-spacing:.02em}
.tp-why-item small{font-size:.88rem;line-height:1.6;color:#dce7f7;margin-top:7px}
.tp-why-scenery{margin-top:24px;min-height:118px;position:relative;border-radius:22px 22px 0 0;background:
 linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.02) 100%),
 radial-gradient(circle at 15% 15%,rgba(60,182,255,.28),transparent 35%),
 linear-gradient(180deg,rgba(16,50,102,.35) 0%,rgba(12,29,61,.6) 100%);
}
.tp-why-scenery:before{content:"";position:absolute;left:-3%;right:-3%;bottom:-1px;height:92px;background:
  radial-gradient(90% 130% at 20% 100%,#2d6fdc 0 28%,transparent 29%),
  radial-gradient(84% 120% at 52% 100%,#124ba9 0 29%,transparent 30%),
  radial-gradient(100% 150% at 82% 100%,#0d3373 0 30%,transparent 31%),
  linear-gradient(180deg,#113367,#0b234a);
  border-radius:28px 28px 0 0;
}
.tp-why-scenery-line{position:absolute;left:34px;right:34px;bottom:60px;height:2px;border-top:2px dashed rgba(255,255,255,.4);transform:skewX(-15deg)}
.tp-why-pin,.tp-why-plane{position:absolute;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(8px)}
.tp-why-pin{left:16px;bottom:56px}
.tp-why-plane{right:18px;bottom:52px}

.tp-migira-card{background:linear-gradient(150deg,#071f46 0%,#0a2d65 58%,#0a2349 100%);padding:34px 32px;grid-template-columns:minmax(0,1fr) 245px;gap:24px;border-left:0}
.tp-migira-card:before{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(123,43,226,.34),transparent 65%)}
.tp-migira-copy{position:relative;z-index:2;padding-right:4px}
.tp-migira-card h2{max-width:420px;margin:12px 0 14px;font-size:clamp(2.3rem,3vw,3.6rem);line-height:.98;letter-spacing:-.045em}
.tp-migira-card p{max-width:450px;color:#d9e7f7;font-size:1rem;line-height:1.75}
.tp-migira-card ul{display:grid;gap:9px;margin:18px 0 26px}
.tp-migira-card li{font-size:1rem;line-height:1.55;padding-left:20px;color:#edf5ff}
.tp-migira-card li:before{font-size:1rem;top:0}
.tp-migira-card .tp-btn{min-width:245px;justify-content:center}
.tp-phone-card{height:372px;width:220px;justify-self:end;border-width:6px;border-radius:34px;padding:26px 18px 20px;transform:rotate(6deg);box-shadow:0 24px 50px rgba(0,0,0,.34);align-self:center}
.tp-phone-card:before{content:"";position:absolute;inset:12px;border-radius:24px;background:linear-gradient(180deg,#ffffff,#f4f7fd);z-index:-1}
.tp-phone-top{top:10px;width:60px;height:6px}
.tp-phone-logo img{width:48px;height:48px;margin:10px 0 18px}
.tp-phone-card>small{font-size:.62rem;letter-spacing:.1em}
.tp-phone-card>strong{font-size:1.1rem;margin:6px 0 3px}
.tp-phone-card>span{font-size:.63rem}
.tp-phone-bullets{display:grid;gap:10px;margin-top:20px}
.tp-phone-bullets i{display:block;height:11px;border-radius:999px;background:#edf1f8}
.tp-phone-bullets i:nth-child(2){width:86%}
.tp-phone-bullets i:nth-child(3){width:70%}
.tp-phone-line{margin-top:14px;height:8px}
.tp-phone-line.short{margin-top:9px}
.tp-phone-card button{left:18px;right:18px;bottom:18px;padding:12px;font-size:.7rem;border-radius:11px}

/* FAQ más grande y uniforme */
.tp-faq-preview{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.tp-faq-preview-grid{grid-template-columns:minmax(290px,.76fr) minmax(0,1.24fr);gap:34px;align-items:start}
.tp-faq-intro{position:sticky;top:112px;max-width:430px;padding-right:10px}
.tp-faq-intro h2{font-size:clamp(2.6rem,3.6vw,4rem);line-height:1.02;letter-spacing:-.05em;margin:12px 0 16px}
.tp-faq-intro p{font-size:1rem;line-height:1.8;color:#61728b;margin-bottom:24px}
.tp-faq-list{border-top:0;display:grid;gap:14px}
.tp-faq-item{border:1px solid #e3eaf4;border-radius:22px;background:#fff;box-shadow:var(--tp-v5-shadow-soft);overflow:hidden}
.tp-faq-question{padding:24px 26px!important;align-items:center}
.tp-faq-question>span{gap:18px!important;font-size:1.12rem!important;line-height:1.42}
.tp-faq-question b{min-width:32px!important;font-size:.9rem!important;color:var(--tp-purple)!important}
.tp-faq-question i{width:44px!important;height:44px!important;font-size:1.3rem!important;background:#f9fbff!important;border-color:#dce4f0!important}
.tp-faq-item.is-open .tp-faq-question i{background:linear-gradient(135deg,#f1eaff,#e7f4ff)!important}
.tp-faq-answer p{padding:0 26px 26px 76px!important;font-size:1rem!important;line-height:1.85!important;color:#5b6b82!important}
.tp-faq-page-grid{grid-template-columns:minmax(290px,.8fr) minmax(0,1.2fr);gap:34px}
.tp-faq-sidebar{border-radius:24px;padding:34px;background:linear-gradient(145deg,#f6fbff,#fbf7ff);box-shadow:var(--tp-v5-shadow-soft)}
.tp-faq-sidebar h2{font-size:2.2rem;line-height:1.08;letter-spacing:-.04em}
.tp-faq-sidebar p{font-size:.96rem;line-height:1.8}

/* Contacto home */
.tp-home-contact{background:linear-gradient(135deg,#081f46 0%,#0a2b61 55%,#081e43 100%);color:#fff;position:relative;overflow:hidden}
.tp-home-contact:before{content:"";position:absolute;left:-120px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(123,43,226,.24),transparent 66%)}
.tp-home-contact:after{content:"";position:absolute;right:-100px;bottom:-90px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(27,185,255,.18),transparent 68%)}
.tp-home-contact-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);gap:26px;align-items:start}
.tp-home-contact-info{padding:18px 6px 18px 0}
.tp-home-contact-info h2{color:#fff;font-size:clamp(2.35rem,3.3vw,3.6rem);line-height:1;letter-spacing:-.05em;margin:10px 0 16px;max-width:470px}
.tp-home-contact-info p{max-width:470px;font-size:1rem;line-height:1.8;color:#d4e1f2}
.tp-home-contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:28px}
.tp-home-contact-card{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:center;padding:18px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.tp-home-contact-card-wide{grid-column:1/-1}
.tp-home-contact-card .dashicons{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#10d67d,#00b27a);color:#fff;font-size:26px}
.tp-home-contact-card:nth-child(2) .dashicons{background:linear-gradient(135deg,#2c84ff,#42b8ff)}
.tp-home-contact-card:nth-child(3) .dashicons{background:linear-gradient(135deg,#7b2be2,#a03eff)}
.tp-home-contact-card:nth-child(4) .dashicons{background:linear-gradient(135deg,#3563ff,#0bc6f9)}
.tp-home-contact-card:nth-child(5) .dashicons{background:linear-gradient(135deg,#05b3ff,#36d7da)}
.tp-home-contact-card strong{display:block;font-size:.96rem;color:#fff}
.tp-home-contact-card small{display:block;font-size:.82rem;color:#dbe8f8;line-height:1.55}
.tp-home-contact-form{border-radius:26px;background:#fff;border:1px solid #e2eaf5;padding:30px;box-shadow:var(--tp-v5-shadow)}
.tp-home-contact-form h3{font-size:2rem;line-height:1.08;letter-spacing:-.04em;margin:8px 0 8px;color:var(--tp-navy)}
.tp-home-contact-form .tp-form{margin-top:18px}
.tp-home-contact-form .tp-form-notice{margin-top:0}
.tp-home-contact-form .tp-field>span{font-size:.74rem}
.tp-home-contact-form .tp-field input,
.tp-home-contact-form .tp-field select,
.tp-home-contact-form .tp-field textarea{border-radius:12px;min-height:54px;padding:14px 15px}
.tp-home-contact-form .tp-btn-wide{width:100%;justify-content:center}
.tp-home-contact-form .tp-form-privacy{font-size:.72rem;margin-top:12px}

/* Contact page coherente */
.tp-contact-page-section{background:linear-gradient(180deg,#f9fbff,#ffffff)}
.tp-contact-grid-enhanced{grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);gap:26px;align-items:start}
.tp-contact-details{border-radius:28px;padding:34px;background:linear-gradient(135deg,#081f46 0%,#0a2b61 58%,#081e43 100%);box-shadow:var(--tp-v5-shadow);position:relative;overflow:hidden}
.tp-contact-details:before{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(123,43,226,.26),transparent 66%)}
.tp-contact-details>*{position:relative;z-index:1}
.tp-contact-details h2{color:#fff;font-size:clamp(2.1rem,3vw,3rem);line-height:1;letter-spacing:-.05em;margin:10px 0 14px;max-width:380px}
.tp-contact-details>p{font-size:1rem;line-height:1.78;color:#d4e1f2;margin:0 0 26px}
.tp-contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tp-contact-detail{display:grid;grid-template-columns:54px 1fr;align-items:center;gap:14px;padding:17px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.12)}
.tp-contact-detail-wide{grid-column:1/-1}
.tp-contact-detail>.dashicons{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#10d67d,#00b27a);color:#fff;font-size:24px}
.tp-contact-detail:nth-child(2)>.dashicons{background:linear-gradient(135deg,#2c84ff,#42b8ff)}
.tp-contact-detail:nth-child(3)>.dashicons{background:linear-gradient(135deg,#7b2be2,#a03eff)}
.tp-contact-detail:nth-child(4)>.dashicons{background:linear-gradient(135deg,#3563ff,#0bc6f9)}
.tp-contact-detail:nth-child(5)>.dashicons{background:linear-gradient(135deg,#05b3ff,#36d7da)}
.tp-contact-detail small{font-size:.68rem;letter-spacing:.09em;color:#a9c0dd}
.tp-contact-detail strong{font-size:.95rem;line-height:1.4;color:#fff}
.tp-contact-detail strong a{color:#fff}
.tp-contact-detail em{display:block;margin-top:5px;font-style:normal;font-size:.78rem;color:#d8e6f7}
.tp-corporate-mails{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
.tp-corporate-mails h3{font-size:1rem;margin:0 0 10px}
.tp-corporate-mails a{font-size:.85rem;color:#d8e6f7;padding:4px 0}
.tp-contact-form-card{border-radius:28px;padding:34px;box-shadow:var(--tp-v5-shadow)}
.tp-contact-form-card h2{font-size:clamp(2rem,2.7vw,2.8rem);line-height:1.02;letter-spacing:-.045em;margin:8px 0 10px}
.tp-contact-form-card>p{font-size:.96rem;line-height:1.8;color:#5f6f86;margin:0 0 12px}
.tp-contact-form-card .tp-form{margin-top:18px}
.tp-contact-form-card .tp-field>span{font-size:.74rem}
.tp-contact-form-card .tp-field input,
.tp-contact-form-card .tp-field select,
.tp-contact-form-card .tp-field textarea{min-height:54px;border-radius:12px;padding:14px 15px}
.tp-contact-form-card .tp-btn-wide{width:100%;justify-content:center}
.tp-contact-form-card .tp-form-privacy{font-size:.72rem}

/* Ajustes generales de lectura */
.tp-cta-band h2{line-height:1.05}
.tp-section-heading p{font-size:.96rem;line-height:1.75}

@media(max-width:1180px){
  .tp-migira-grid{grid-template-columns:1fr}
  .tp-why-band,.tp-migira-card{min-height:auto}
  .tp-contact-grid-enhanced,.tp-home-contact-grid,.tp-faq-preview-grid,.tp-faq-page-grid{grid-template-columns:1fr}
  .tp-faq-intro{position:static;max-width:none;padding-right:0}
}

@media(max-width:820px){
  .tp-why-grid{grid-template-columns:1fr}
  .tp-migira-card{grid-template-columns:1fr;gap:18px;padding:28px 22px}
  .tp-phone-card{justify-self:center;transform:rotate(4deg)}
  .tp-home-contact-cards,.tp-contact-cards{grid-template-columns:1fr}
  .tp-home-contact-card-wide,.tp-contact-detail-wide{grid-column:auto}
}

@media(max-width:680px){
  .tp-why-band{padding:22px 18px 0}
  .tp-why-item{grid-template-columns:56px 1fr;padding:18px 16px;border-radius:16px}
  .tp-why-item .dashicons{width:52px;height:52px;border-radius:14px;font-size:24px}
  .tp-why-item strong{font-size:.92rem}
  .tp-why-item small{font-size:.82rem}
  .tp-why-scenery{min-height:92px}
  .tp-why-scenery:before{height:76px}
  .tp-migira-card h2,.tp-home-contact-info h2,.tp-contact-details h2,.tp-faq-intro h2,.tp-contact-form-card h2{font-size:clamp(2rem,9vw,2.6rem)}
  .tp-migira-card p,.tp-migira-card li,.tp-home-contact-info p,.tp-contact-details>p,.tp-contact-form-card>p,.tp-faq-intro p,.tp-faq-answer p{font-size:.94rem!important}
  .tp-phone-card{height:330px;width:205px}
  .tp-faq-question{padding:20px 18px!important}
  .tp-faq-question>span{font-size:.98rem!important;gap:12px!important}
  .tp-faq-answer p{padding:0 18px 20px 58px!important;line-height:1.72!important}
  .tp-faq-question i{width:38px!important;height:38px!important;font-size:1.15rem!important}
  .tp-home-contact-form,.tp-contact-form-card,.tp-contact-details{padding:22px}
}
