/* Capa para las páginas interiores: lleva el diseño de la portada a las clases antiguas */
:root {
  --negro: #041a1b;
  --negro2: #0a2527;
  --negro3: #0f2f31;
  --verde: #39d5c7;
  --verde-suave: #6be5da;
  --blanco: #f3f5f2;
  --gris: #c3d0cf;
  --gris2: #5d6f70;
  --font-titulo: 'Manrope', system-ui, sans-serif;
}

html { scroll-padding-top: 110px; }
body { padding-top: 100px; background: var(--tinta); font-weight: 400; -webkit-font-smoothing: antialiased; }
#contenido { display: block; }

/* La cabecera y el pie nuevos no heredan lo antiguo */
.nav-links a { padding: 8px 0; border: 0; color: var(--papel); font-family: var(--cuerpo); }
.nav-links a:hover, .nav-links a.active { border: 0; color: var(--papel); }
.pie { padding: 0; background: none; }

/* Títulos */
h1, h2, h3, h4, h5, .section-title { font-family: var(--cuerpo); font-weight: 400; letter-spacing: -.03em; }
h1 { font-weight: 400 !important; line-height: 1.02 !important; letter-spacing: -.045em !important; font-size: clamp(40px, 6.4vw, 88px) !important; text-wrap: balance; }
h1 em { color: var(--acento); font-style: normal; }
.section-title { font-size: clamp(32px, 4.4vw, 60px); font-weight: 400 !important; line-height: 1.05; }
h3, h4 { font-weight: 500; letter-spacing: -.02em; }
.tag { color: var(--acento); font: 500 12px/1.4 var(--mono); letter-spacing: .16em; }
.section-light { background: var(--papel); color: var(--tinta); }
.section-light .tag { color: var(--acento-texto); }
.section-light .section-sub { color: var(--gris-claro); }

/* Botones */
.btn-primary, .btn-outline, .oferta-btn, .acc-card-btn, .c-btn, .woocommerce a.button, .woocommerce button.button { min-height: 44px; border-radius: 8px; font-family: var(--mono) !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: .12em; text-transform: uppercase; box-shadow: none !important; transform: none !important; }
.btn-primary:hover { background: var(--verde-suave); }
.btn-outline { border-width: .8px; border-color: rgba(243, 245, 242, .5); color: var(--papel); }
.btn-outline:hover { background: var(--papel); color: var(--tinta); }
.section-light .btn-outline { border-color: var(--tinta); color: var(--tinta); }
.section-light .btn-outline:hover { background: var(--tinta); color: var(--papel); }

/* Tarjetas: líneas finas en vez de sombras y esquinas muy redondas */
.service-card, .porq-card, .acc-card, .oferta-card, .resena-card, .paso-card, .contacto-card,
.rep-dispositivo-card, .rep-garantia-card, .rep-tabla-wrap { border: .8px solid var(--linea-claro) !important; border-radius: 12px !important; background: transparent; box-shadow: none !important; transform: none !important; }
.section-dark .service-card, .section-dark .porq-card, .section-dark .acc-card, .section-dark .oferta-card, .section-dark .resena-card, .section-dark .paso-card, .section-dark .rep-garantia-card, .contacto-card { border-color: var(--linea-oscuro) !important; background: var(--tinta-2); }
.marca-badge, .averia-chip { border: .8px solid currentColor; border-radius: 4px; background: none; box-shadow: none; }

/* Formularios */
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea { min-height: 44px; border-radius: 8px; font-family: var(--cuerpo); }

@media (max-width: 960px) {
  body { padding-top: 92px; padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
}

/* Fondos claros: el turquesa de la marca no se lee sobre ellos, se usa su versión oscura */
:root { --cyan: var(--verde); }
.section-light, .section-light [style*="#fff"], .cp-info, .cp-form { --verde: #0a6f69; --cyan: #0a6f69; --verde-dim: rgba(10, 111, 105, .1); }
.section-dark { background: var(--tinta); }
.section-light .btn-primary, .section-light .btn-primary:hover { background: var(--acento); color: var(--tinta); }
.section-light [style*="background:var(--negro)"] .btn-outline { border-color: rgba(243, 245, 242, .5); color: var(--papel); }
.section-light [style*="background:var(--negro)"] .btn-outline:hover { background: var(--papel); color: var(--tinta); }
.section-light [style*="background:var(--negro)"] { --verde: #39d5c7; }

/* Grises antiguos escritos a mano */
.section-dark [style*="color:#666"], .section-dark [style*="color:#555"] { color: var(--gris) !important; }
.section-light [style*="color:#999"], .section-light [style*="color:#aaa"], .section-light [style*="color:#bbb"] { color: var(--gris-claro) !important; }
.resena-lugar, .cp-info-label { color: var(--gris-claro); }
.section-dark .resena-lugar { color: var(--gris); }

/* WhatsApp: texto oscuro para que se lea sobre el verde */
.cp-quick-wa, a[style*="#25D366"], a[style*="#25d366"] { color: var(--tinta) !important; }

/* Ajustes finales de contraste */
.section-light [style*="background:var(--negro)"] { --gris: #c3d0cf; }
.section-light [style*="background:var(--negro)"] p { color: var(--gris) !important; }
span[style*="line-through"] { color: var(--gris-claro) !important; }
.rep-form-field label { color: inherit; opacity: .85; }
.section-header:has(.section-title[style*="var(--negro)"]) .tag { color: var(--acento-texto); }

/* Páginas de texto: legales y similares */
.page-content { max-width: 72ch; color: var(--gris); font-size: 17px; line-height: 1.65; }
.page-content h2 { margin: 48px 0 14px; color: var(--papel); font-size: clamp(24px, 3vw, 34px); line-height: 1.15; }
.page-content p, .page-content ul { margin-bottom: 16px; }
.page-content ul { padding-left: 20px; list-style: disc; }
.page-content li { margin-bottom: 8px; }
.page-content strong { color: var(--papel); font-weight: 600; }
.page-content code { font: 400 13px var(--mono); overflow-wrap: anywhere; }
.page-content table { display: block; overflow-x: auto; margin-bottom: 16px; border-collapse: collapse; font-size: 15px; }
.page-content th, .page-content td { padding: 12px 14px; border: .8px solid var(--linea-oscuro); text-align: left; vertical-align: top; }
.page-content th { color: var(--papel); font-weight: 500; }
main.section.container { width: 100%; max-width: var(--ancho); padding-inline: var(--lateral); }
