/* ==========================================================================
   AITANA TOUR · PATROCINADORES (rediseño 2027)
   Comunes: base-v4.css · Formulario: contacto.css (clases .ct-*)
   ========================================================================== */

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ---------- Cabecera: el título es una frase larga ---------- */
.pt-cab__titulo { font-size: clamp(34px, 8.4vw, 72px) !important; line-height: .92 !important; }
@media (min-width: 1024px) { .pt-cab__titulo { font-size: clamp(48px, 4.6vw, 76px) !important; } }
.pt-cab__titulo .text-primary { color: var(--ai-rojo) !important; }

/* Títulos de sección en forma de frase: algo más contenidos */
.pt .pt-h { font-size: clamp(26px, 3.8vw, 48px) !important; line-height: 1 !important; }

.pt-lead {
    max-width: 1000px;
    font-family: var(--ai-f-display) !important;
    font-weight: 700;
    font-size: clamp(22px, 2.6vw, 32px);
    line-height: 1.18;
    text-transform: uppercase;
}
.pt-sub-h {
    font-family: var(--ai-f-display) !important;
    font-weight: 800 !important;
    font-size: clamp(26px, 2.8vw, 36px) !important;
    line-height: 1 !important;
    text-transform: uppercase;
}

/* ---------- 01 · Cinta de logos ---------- */
.pt-cinta {
    overflow: hidden;
    border-top: 1px solid var(--ai-gris-linea);
    border-bottom: 1px solid var(--ai-gris-linea);
    margin: 8px 0 clamp(40px, 5vw, 64px);
}
.pt-cinta__pista { display: flex; width: max-content; animation: pt-cinta 40s linear infinite; }
.pt-cinta:hover .pt-cinta__pista { animation-play-state: paused; }
@keyframes pt-cinta { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
    .pt-cinta__pista { animation: none; flex-wrap: wrap; width: auto; justify-content: center; }
    .pt-cinta__logo[aria-hidden="true"] { display: none; }
}
.pt-cinta__logo {
    flex: 0 0 auto;
    width: clamp(120px, 14vw, 180px);
    height: clamp(80px, 9vw, 110px);
    padding: 18px 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid var(--ai-gris-linea);
}
.pt-cinta__logo img { max-width: 100%; max-height: 100%; object-fit: contain; filter: grayscale(1); opacity: .85; transition: filter .25s ease, opacity .25s ease; }
.pt-cinta__logo:hover img { filter: none; opacity: 1; }

.pt-prueba { display: grid; gap: 24px; margin-bottom: clamp(32px, 4vw, 48px); }
@media (min-width: 900px) { .pt-prueba { grid-template-columns: 1fr 1fr 1.2fr; gap: 40px; } }
.pt-prueba__cifra { border-top: 3px solid var(--ai-negro); padding-top: 18px; display: flex; flex-direction: column; gap: 8px; }
.pt-prueba__t { font-family: var(--ai-f-display) !important; font-weight: 700; font-size: clamp(20px, 2vw, 24px); line-height: 1.15; text-transform: uppercase; }
.pt-cita { margin: 0; background: var(--ai-rojo); color: var(--ai-blanco); padding: clamp(24px, 3vw, 36px); display: flex; flex-direction: column; justify-content: space-between; gap: 18px; }
.pt-cita blockquote {
    margin: 0;
    font-family: var(--ai-f-display) !important;
    font-weight: 700;
    font-size: clamp(22px, 2.2vw, 28px);
    line-height: 1.15;
    text-transform: uppercase;
}
.pt-cita figcaption { font-family: var(--ai-f-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }

/* ---------- Galerías de fotos ---------- */
.pt-galeria { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
@media (min-width: 900px) { .pt-galeria { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pt-galeria--3 { grid-template-columns: 1fr; }
@media (min-width: 640px) { .pt-galeria--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pt-galeria li { background: #1c1c1c; aspect-ratio: 4 / 3; overflow: hidden; }
.pt-galeria--alta li { aspect-ratio: 3 / 4; }
.pt-galeria img { width: 100%; height: 100%; object-fit: cover; display: block; }
#historia .pt-galeria { margin: clamp(32px, 4vw, 48px) 0; }

/* ---------- 02 · Oportunidad (negro) ---------- */
.pt-perfil { display: grid; gap: 0 32px; border-top: 1px solid var(--ai-gris-oscuro); margin-bottom: clamp(32px, 4vw, 48px); }
@media (min-width: 900px) { .pt-perfil { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pt-perfil li { padding: 24px 0; border-bottom: 1px solid var(--ai-gris-oscuro); display: flex; flex-direction: column; gap: 10px; }
.pt-perfil__n { font-family: var(--ai-f-display); font-weight: 800; font-size: 40px; line-height: 1; color: var(--ai-rojo); }
.pt-perfil__t { font-family: var(--ai-f-display) !important; font-weight: 800 !important; font-size: clamp(24px, 2.4vw, 30px) !important; line-height: 1.05 !important; text-transform: uppercase; }
.pt-banda { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; margin-top: clamp(32px, 4vw, 48px); }

/* ---------- 03 · Filosofía ---------- */
.pt-filosofia { display: grid; gap: 32px; align-items: start; }
@media (min-width: 960px) { .pt-filosofia { grid-template-columns: 5fr 7fr; gap: 56px; } }
.pt-principios__t { font-family: var(--ai-f-display) !important; font-weight: 800 !important; font-size: clamp(22px, 2.2vw, 28px) !important; line-height: 1.05 !important; text-transform: uppercase; margin-bottom: 6px !important; }

/* ---------- 04 · Paquetes ---------- */
.pt-paquetes { display: grid; gap: 1px; background: var(--ai-gris-linea); border: 1px solid var(--ai-gris-linea); }
@media (min-width: 640px) { .pt-paquetes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) {
    .pt-paquetes { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .pt-paq { grid-column: span 2; }
    .pt-paq:nth-child(4), .pt-paq:nth-child(5) { grid-column: span 3; }
}
.pt-paq { background: var(--ai-blanco); padding: clamp(24px, 2.6vw, 32px); display: flex; flex-direction: column; gap: 12px; }
@media (min-width: 640px) and (max-width: 1023px) { .pt-paq--premium { grid-column: 1 / -1; } }
.pt-paq__cab { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.pt-paq__n { font-family: var(--ai-f-display); font-weight: 800; font-size: 40px; line-height: 1; color: var(--ai-rojo); }
.pt-paq__t { font-family: var(--ai-f-display) !important; font-weight: 800 !important; font-size: clamp(26px, 2.6vw, 34px) !important; line-height: 1 !important; text-transform: uppercase; }
.pt-paq__texto { font-size: 16px; line-height: 1.6; color: var(--ai-gris-texto); }
.pt-paq--premium { background: var(--ai-negro); color: var(--ai-blanco); }
.pt-paq--premium .pt-paq__texto { color: #d6d6d6; }
.pt-paq--premium .ai-etiqueta { background: var(--ai-rojo); border-color: var(--ai-rojo); color: var(--ai-blanco); }

/* ---------- 05 · Compromiso ---------- */
.pt-compromiso__item { border-top: 3px solid var(--ai-negro); padding-top: 20px; display: flex; flex-direction: column; gap: 12px; }

/* ---------- 08 · Formulario ---------- */
.pt-form { display: grid; gap: 32px; align-items: start; }
@media (min-width: 960px) { .pt-form { grid-template-columns: 4fr 7fr; gap: 56px; } }
.pt-form .ct-form { background: var(--ai-blanco); padding: clamp(24px, 3vw, 40px); border: 1px solid var(--ai-negro); }
.pt-form .ct-check { font-size: 14px; }
.pt-form .ct-enviar { white-space: normal; text-align: center; }

/* ---------- Respaldados por ---------- */
.pt-respaldo { padding: clamp(48px, 6vw, 72px) 0; }
.pt-inst { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--ai-gris-linea); border: 1px solid var(--ai-gris-linea); }
@media (min-width: 640px) { .pt-inst { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .pt-inst { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.pt-inst li { background: var(--ai-blanco); display: flex; align-items: center; justify-content: center; padding: 20px; height: 120px; }
.pt-inst img { max-width: 100%; max-height: 80px; object-fit: contain; filter: grayscale(1); transition: filter .25s ease; }
.pt-inst li:hover img { filter: none; }

/* Texto largo de la historia: tipografía de lectura, no display */
.pt-historia { max-width: 900px; font-size: clamp(19px, 1.9vw, 23px); line-height: 1.55; color: #2a2a2a; font-weight: 500; }
