/* =========================================================
   RAMPA Sistemas Administrativos — ajustes sobre el template
   Colores de marca: rojo #C30825 · rojo oscuro #8E0B20 · carbón #222126
   ========================================================= */

:root{
	--rampa-rojo:#C30825;
	--rampa-rojo-oscuro:#8E0B20;
	--rampa-carbon:#222126;
}

/* Logotipos */
.main-header .header-upper .logo-box .logo img{ height:60px; width:auto; max-width:none; }
.main-header .header-upper .logo-box{ padding:30px 0 28px; }
.sticky-header .logo img{ height:44px; width:auto; }
.mobile-menu .nav-logo img{ height:40px; width:auto; max-width:none; }
.main-footer .logo-widget .logo img{ height:48px; width:auto; max-width:100%; }
.sidebar-info-contents .content-inner .logo img{ height:48px; width:auto; }

/* Barra de navegación en carbón de marca */
.main-header .header-lower .nav-outer{ background-color:var(--rampa-carbon); }
.main-header .header-top{ background-color:#161519; }

/* Los correos no deben capitalizarse */
.main-header .info-box li{ text-transform:none; }

/* Campo de teléfono con el mismo estilo que los demás */
.default-form .form-group input[type="tel"]{
	position:relative; display:block; width:100%;
	line-height:24px; padding:15px 25px; color:#ffffff; height:60px;
	font-size:14px; background:none; font-weight:400; border-radius:2px;
	border:1px solid rgba(255,255,255,0.10);
	transition:all 300ms ease;
}
.default-form .form-group input[type="tel"]:focus{ border-color:var(--rampa-rojo); }
.default-form .form-group input[type="tel"]::placeholder{ color:#ffffff; }
.default-form .aviso-privacidad{ color:#ffffff; font-size:14px; }
.default-form .aviso-privacidad input{ width:auto; height:auto; display:inline-block; margin-right:6px; vertical-align:middle; }
.default-form .aviso-privacidad a{ color:#ffffff; text-decoration:underline; }

/* Cifras: valores pendientes */
.fact-counter .count-outer .count-text{ white-space:nowrap; }

/* Pilares "¿Por qué RAMPA?" */
.testimonial-section .client-thumb-outer .thumb-item .thumb-box img{ border-radius:50%; }

/* Pie de página */
.main-footer .footer-widget .footer-nav.lista-soluciones{ float:none; }
.main-footer .footer-widget .footer-nav.lista-soluciones li{ display:block; margin:0 0 10px; padding:0; }
.main-footer .footer-widget .footer-nav.lista-soluciones li:before{ display:none; }
.main-footer .footer-widget .footer-nav.lista-soluciones li a{ color:#bdbdbd; }
.main-footer .footer-widget .footer-nav.lista-soluciones li a:hover{ color:#ffffff; }

/* Preloader con el isotipo de RAMPA */
.preloader{ background-image:url(../images/logo-icon.png); background-size:72px; animation:rampaPulso 1.2s ease-in-out infinite; }
@keyframes rampaPulso{ 0%,100%{ background-size:64px; } 50%{ background-size:80px; } }

/* Desplazamiento suave a las anclas del menú */
html{ scroll-behavior:smooth; }
section[id]{ scroll-margin-top:90px; }

@media only screen and (max-width: 767px){
	.main-header .header-upper .logo-box .logo img{ height:44px; }
}

/* Contraste: el rojo oscuro no se lee sobre fondos negros */
.testimonial-section .client-thumb-outer .thumb-item .author-info .designation{ color:#ff6b7f; }

/* En móviles el fondo fijo (parallax) no se dibuja bien */
@media only screen and (max-width: 1023px){
	.counter-section, .contact-section, .main-footer{ background-attachment:scroll !important; }
}

/* Formularios sobre fondo claro (style-two) */
.default-form.style-two .form-group input[type="tel"]{ color:#000000; border-color:rgba(0,0,0,0.12); }
.default-form.style-two .form-group input[type="tel"]::placeholder{ color:#000000; }
.default-form.style-two .aviso-privacidad,
.default-form.style-two .aviso-privacidad a{ color:#222126; }
.default-form label.error{ color:var(--rampa-rojo); font-size:13px; margin-top:6px; display:block; }
.default-form .aviso-privacidad label.error{ display:block; }

/* Anclas de servicios: compensar encabezado fijo */
.service-block-three[id]{ scroll-margin-top:110px; }
.aviso-privacidad > label{ display:flex; flex-wrap:wrap; align-items:center; gap:0 6px; }
.aviso-privacidad > label input{ margin-right:0 !important; }
.aviso-privacidad > label label.error{ order:3; width:100%; margin-top:4px; }

/* Celular: encabezado más compacto (los datos de contacto ya están en el menú lateral y en el pie) */
@media only screen and (max-width: 767px){
	.main-header .header-upper .upper-right{ display:none; }
	.main-header .header-upper .logo-box{ float:none; text-align:center; padding:18px 0; }
	.main-header .options-box .grid-box{ display:none; }
}

/* ---------- Páginas de texto legal (aviso de privacidad) ---------- */
.legal-section{ position:relative; padding:90px 0 80px; }
.legal-content{ position:relative; max-width:860px; margin:0 auto; color:#555555; font-size:16px; line-height:1.9em; }
.legal-content .legal-intro{ font-size:17px; color:#222126; border-left:4px solid var(--rampa-rojo); background:#f7f7f8; padding:20px 25px; margin-bottom:45px; }
.legal-content h3{ position:relative; color:#222126; font-size:21px; font-weight:700; line-height:1.4em; margin:45px 0 16px; padding-top:22px; border-top:1px solid #e8e8ea; }
.legal-content h3:first-of-type{ border-top:0; padding-top:0; margin-top:0; }
.legal-content p{ margin-bottom:16px; }
.legal-content strong{ color:#222126; font-weight:600; }
.legal-content .legal-list{ margin:0 0 20px; padding:0; }
.legal-content .legal-list li{ position:relative; padding-left:26px; margin-bottom:11px; }
.legal-content .legal-list li:before{
	position:absolute; content:''; left:2px; top:12px;
	width:8px; height:8px; background:var(--rampa-rojo); border-radius:50%;
}
.legal-content .legal-date{ margin-top:45px; padding-top:22px; border-top:1px solid #e8e8ea; font-size:15px; color:#777777; }

@media only screen and (max-width: 767px){
	.legal-section{ padding:55px 0 50px; }
	.legal-content{ font-size:15px; }
	.legal-content h3{ font-size:19px; }
}

/* ---------- Formularios: envío por PHP ---------- */

/* Campo trampa antispam: invisible para las personas, visible para los robots.
   No se usa display:none porque algunos robots lo detectan. */
.campo-trampa{
	position:absolute !important; left:-9999px !important; top:auto !important;
	width:1px !important; height:1px !important; overflow:hidden !important;
}

/* Aviso del resultado del envío */
.aviso-envio{
	position:relative; margin:0 0 25px; padding:16px 22px;
	border-radius:3px; font-size:15px; line-height:1.6em; border-left:4px solid;
}
.aviso-envio.exito{ background:#eaf7ee; border-color:#2e7d32; color:#1b5e20; }
.aviso-envio.fallo{ background:#fdecee; border-color:var(--rampa-rojo); color:#8E0B20; }

/* ---------- Página de confirmación ---------- */
.gracias-box{ position:relative; max-width:720px; margin:0 auto; text-align:center; }
.gracias-icono{
	width:96px; height:96px; line-height:96px; margin:0 auto 30px;
	border-radius:50%; background:var(--rampa-rojo); color:#ffffff; font-size:42px;
}
.gracias-box h2{ color:#222126; font-size:34px; font-weight:700; margin-bottom:20px; }
.gracias-box p{ color:#555555; font-size:17px; line-height:1.9em; margin-bottom:14px; }
.gracias-box strong{ color:#222126; }
.gracias-botones{ margin-top:35px; }
.gracias-botones .theme-btn{ margin:0 8px 12px; }

@media only screen and (max-width: 767px){
	.gracias-box h2{ font-size:26px; }
	.gracias-box p{ font-size:15px; }
}

/* Nota del aviso de privacidad bajo el boletín del pie de página */
.newsletter-widget .nota-boletin{ margin-top:14px; font-size:13px; line-height:1.6em; color:#9a9a9e; }
.newsletter-widget .nota-boletin a{ color:#c9c9cd; text-decoration:underline; }
.newsletter-widget .nota-boletin a:hover{ color:#ffffff; }
