/* =========================================================
   Acarreos Makena — pulido de diseño (capa sobre estilos.css)
   Mantiene la identidad original (Anton, amarillo, azul) y mejora
   orden, ritmo, jerarquía, sombras y detalles. No cambia ningún texto.
   Para quitarla: borrar el <link> de premium.css en index.html.
   ========================================================= */
:root {
  --radio: 14px;
  --sombra: 0 1px 2px rgba(6, 26, 68, .06), 0 14px 34px -18px rgba(6, 26, 68, .28);
  --sombra-alta: 0 2px 4px rgba(6, 26, 68, .08), 0 34px 70px -28px rgba(6, 26, 68, .5);
}

/* ---------- Ritmo y espacio ---------- */
body { line-height: 1.7; }
.seccion { padding-block: clamp(80px, 10vw, 132px); }
.seccion__cabeza { margin-bottom: clamp(48px, 7vw, 84px); }
.seccion__cabeza h2, .flota__texto h2, .cotizar__texto h2 { letter-spacing: .012em; }
.seccion__intro { max-width: 620px; margin-inline: auto; line-height: 1.8; }
.sobretitulo { letter-spacing: .28em; font-size: .74rem; }
.sobretitulo::before { height: 2px; width: 32px; }
.seccion--clara { background: linear-gradient(180deg, #f6f9fe, #eef3fb); }
.seccion--oscura { background: linear-gradient(180deg, var(--azul-900), var(--azul-950)); }

/* ---------- Botones ---------- */
.boton { border-radius: 12px; font-weight: 800; letter-spacing: .01em;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .12), 0 12px 24px -14px rgba(0, 0, 0, .5);
  transition: transform .25s var(--curva), box-shadow .25s, filter .25s; }
.boton:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(0, 0, 0, .14), 0 20px 34px -14px rgba(0, 0, 0, .55); }
.boton:active { transform: translateY(0); }

/* ---------- Cabecera ---------- */
.cabecera { backdrop-filter: blur(16px) saturate(1.2); -webkit-backdrop-filter: blur(16px) saturate(1.2); }

/* ---------- Portada: más profundidad y mejor lectura ---------- */
.portada::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(900px 520px at 78% 38%, rgba(59, 130, 246, .22), transparent 70%),
    linear-gradient(180deg, rgba(4, 18, 47, 0) 60%, rgba(4, 18, 47, .55) 100%);
}
.portada__grid, .carretera { position: relative; z-index: 1; }
.portada__titulo { text-shadow: 0 6px 40px rgba(0, 0, 0, .35); }
.portada__sub { line-height: 1.75; }
.etiqueta { backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.escena__foto { box-shadow: 0 50px 100px -40px rgba(0, 0, 0, .85), 0 0 0 1px rgba(255, 255, 255, .08); }
.portada__garantias { padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .12); }

/* Cinta amarilla: recta y más fina (menos "pegatina") */
.cinta { transform: none; margin: 0; padding: 14px 0; box-shadow: 0 20px 40px -24px rgba(6, 26, 68, .5); }
.cinta__pista { font-size: clamp(1.05rem, 1.8vw, 1.3rem); letter-spacing: .06em; gap: 36px; }

/* ---------- Tarjetas ---------- */
.servicio { border-radius: var(--radio); border: 1px solid var(--linea); box-shadow: var(--sombra);
  transition: transform .4s var(--curva), box-shadow .4s var(--curva), border-color .3s; overflow: hidden; }
.servicio:hover { transform: translateY(-8px); box-shadow: var(--sombra-alta); border-color: rgba(255, 194, 26, .8); }
.servicio img { transition: transform .8s var(--curva); }
.servicio:hover img { transform: scale(1.06); }
.pilar, .paso { border-radius: var(--radio); }
.pilar { transition: transform .4s var(--curva), border-color .3s, background .3s; }
.pilar:hover { transform: translateY(-6px); border-color: rgba(255, 194, 26, .6); }

/* ---------- Preguntas ---------- */
details { transition: box-shadow .3s, border-color .3s; }
details:hover { border-color: rgba(19, 81, 196, .35); box-shadow: var(--sombra); }

/* ---------- Pie ---------- */
.pie { background: linear-gradient(180deg, var(--azul-900), var(--azul-950)); }

/* ---------- Accesibilidad de movimiento ---------- */
@media (prefers-reduced-motion: reduce) { * { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

/* ---------- Celular ---------- */
@media (max-width: 760px) {
  .sello { right: 10px; top: -14px; width: 78px; height: 78px; }
  .escena::before { display: none; }
  .seccion { padding-block: 64px; }
  .seccion__cabeza { margin-bottom: 40px; }
  .portada__garantias { padding-top: 16px; }
  .cinta { padding: 11px 0; }
}

/* ---------- Transiciones suaves ---------- */
.rotador__palabra { transition: transform .3s var(--curva), opacity .3s; }
.menu a, .pie a, .barra-movil a, .wa-flotante, .provincias li, .chip, [class*="filtro"], [class*="pestana"] {
  transition: color .25s ease, background-color .25s ease, border-color .25s ease, transform .3s var(--curva), box-shadow .3s ease, opacity .25s ease;
}
input, textarea, select { transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease; }
input:focus, textarea:focus, select:focus { outline: none; border-color: var(--azul-600); box-shadow: 0 0 0 4px rgba(19, 81, 196, .15); }
img { transition: opacity .6s ease; }
.galeria a, .galeria button, [class*="miniatura"] { transition: transform .5s var(--curva), box-shadow .5s var(--curva); }
.galeria a:hover, .galeria button:hover { transform: translateY(-4px); box-shadow: var(--sombra-alta); }
.flota__opcion, [class*="flota"] button { transition: transform .35s var(--curva), box-shadow .35s var(--curva), border-color .3s, background .3s; }
