/* SESELINE visual refresh 2026 – estilos adicionales, sin cambios de contenido ni estructura. */
:root {
  --ssl-deep:#103649;
  --ssl-navy:#164a60;
  --ssl-primary:#146c83;
  --ssl-primary-hover:#0f556b;
  --ssl-accent:#20aaa7;
  --ssl-accent-pale:#e5f7f5;
  --ssl-ink:#183344;
  --ssl-muted:#5c7080;
  --ssl-soft:#f2f9fa;
  --ssl-outline:#dcebea;
  --ssl-shadow:0 16px 40px rgba(17,66,81,.12);
  --ssl-font:'Manrope','Segoe UI',Arial,sans-serif;
}

/* Tipografía: diferenciación con ALG sin cambiar la jerarquía ni el contenido. */
body, button, input, select, textarea,
.welcome-section .text, .ssl-bilingual, .ssl-content,
.footer-widget, .main-footer .text, .main-footer a,
.contact-page-section, .contact-form, .ssl-contact-notice,
.ssl-facebook-box, .ssl-facebook-box * {font-family:var(--ssl-font)!important;}
body {color:var(--ssl-ink);font-weight:500;}
body :is(h1,h2,h3,h4,h5,h6),
body .sec-title h2, body .sec-title .title, body .subtitulo,
body .counter-title, body .theme-btn, body .main-menu a,
body .main-footer h2, body .ssl-hero-title,
body .ssl-contact-notice strong {
 font-family:var(--ssl-font)!important;
 letter-spacing:-.025em;
}
body :is(h1,h2,h3) {font-weight:800;}
.welcome-section .text, .ssl-bilingual p, .ssl-content p,
.mision-section p, .obj-ul li {line-height:1.8;letter-spacing:-.008em;}
.welcome-section .text, .ssl-bilingual p {font-weight:500!important;}
.welcome-section .sec-title h2, .sec-title h2, .mision-section h2 {
 color:var(--ssl-deep)!important;
}
/* Encabezado: azul petróleo, con acento turquesa sobre marca blanca. */
.main-header .header-upper{background-color:var(--ssl-deep)!important;}
.main-header .header-upper .logo-box .logo a{
 border:1px solid rgba(32,170,167,.26);box-shadow:0 10px 30px rgba(0,0,0,.1);
}
.main-header .header-upper .info-box a,
.main-header .header-upper .info-box a span{color:#fff!important;}
.main-menu .navigation > li > a{
 font-weight:700!important;letter-spacing:.005em!important;
 transition:color .18s ease,opacity .18s ease;
}
.main-menu .navigation > li > a:hover,
.main-menu .navigation > li.current > a{color:var(--ssl-accent)!important;}
.main-menu .navigation > li > ul,
.main-menu .navigation > li > ul > li > ul {border-top:3px solid var(--ssl-accent)!important;}
.main-header .header-lower{border-bottom:2px solid rgba(32,170,167,.38);}
/* Botones: cambiar el azul eléctrico antiguo por la nueva paleta. */
.theme-btn.btn-style-three,
.btn-style-three,
.ssl-facebook-button,
.ssl-track-cta a {
 background:var(--ssl-primary)!important;
 border-color:var(--ssl-primary)!important;
 color:#fff!important;
 box-shadow:0 8px 20px rgba(20,108,131,.18);
 transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,border-color .22s ease!important;
}
.theme-btn.btn-style-one,.btn-style-one{
 border-color:var(--ssl-accent)!important;
 color:var(--ssl-deep)!important;
 transition:transform .22s ease,box-shadow .22s ease!important;
}
.theme-btn.btn-style-three:hover, .btn-style-three:hover,
.ssl-facebook-button:hover, .ssl-track-cta a:hover {
 background:var(--ssl-primary-hover)!important;
 border-color:var(--ssl-primary-hover)!important;
 box-shadow:0 13px 28px rgba(20,108,131,.27);
 transform:translateY(-3px);
}
.theme-btn.btn-style-one:hover, .btn-style-one:hover{
 transform:translateY(-3px);box-shadow:0 10px 25px rgba(24,79,88,.16);
}
.ssl-hero-title.theme-btn.btn-style-three,
.main-slider .content .ssl-hero-title.theme-btn.btn-style-three {
 background:linear-gradient(105deg,var(--ssl-deep),var(--ssl-primary))!important;
 border-color:rgba(255,255,255,.15)!important;
 color:#fff!important;
 text-shadow:0 2px 3px rgba(0,0,0,.24)!important;
 box-shadow:0 14px 35px rgba(7,47,63,.28);
}
/* Secciones y componentes existentes: nueva ambientación sin recolocar bloques. */
.welcome-section{background:linear-gradient(180deg,#fff 0%,#f9fdfd 100%);}
.welcome-section .image-column .inner-column:before {border-color:rgba(32,170,167,.38)!important;}
.welcome-section .image-column img {border-radius:7px;box-shadow:var(--ssl-shadow);}
.welcome-section .counter-box {border-top:2px solid var(--ssl-outline);}
.welcome-section .counter-box .counter-title{color:var(--ssl-muted)!important;font-weight:700!important;}
.welcome-section .counter-box .count-text {color:var(--ssl-deep)!important;font-weight:800;}
.mision-section{background:linear-gradient(135deg,#f7fcfc 0%,#eff8f8 100%)!important;}
.mision-section .subtitulo,
.mision-section h2, .mision-section .obj-ul li::marker {color:var(--ssl-primary)!important;}
.project-section{background:linear-gradient(160deg,#e9f6f6 0%,#f5fbfb 85%)!important;}
.project-section .project-block .inner-box {
 transition:transform .28s ease,box-shadow .28s ease!important;
}
.project-section .project-block .inner-box:hover {
 transform:translateY(-6px);box-shadow:var(--ssl-shadow);
}
.project-section .project-block img {transition:transform .5s ease!important;}
.project-section .project-block .inner-box:hover img{transform:scale(1.04);}
.service-single :is(.lower-content,.inner-box),
.ssl-offices,.ssl-contact-notice {border-color:var(--ssl-outline)!important;}
.ssl-offices h3{color:var(--ssl-primary)!important;}
.ssl-contact-notice {background:var(--ssl-accent-pale)!important;border-left-color:var(--ssl-accent)!important;}
.ssl-contact-notice a {color:var(--ssl-primary)!important;}
.contact-page-section input:focus,.contact-page-section textarea:focus,
.contact-form input:focus,.contact-form textarea:focus{
 border-color:var(--ssl-accent)!important;box-shadow:0 0 0 3px rgba(32,170,167,.12);
}
/* Footer: más nítido, mantiene su composición e información. */
.main-footer{background-color:#0b2c39!important;}
.main-footer .footer-widget h2{color:#f5ffff!important;}
.main-footer .footer-widget.logo-widget .logo a{border-color:rgba(32,170,167,.55)!important;}
.main-footer .footer-widget .text,.main-footer .list-style-one,
.main-footer .list-style-one li,.main-footer .footer-widget a{
 color:#e5f2f4!important;
}
.main-footer .footer-widget a:hover{color:#7de2d7!important;}
.main-footer .footer-bottom {border-top:1px solid rgba(153,222,219,.2);}
.ssl-facebook-box{border-color:#c9e6e5!important;box-shadow:0 10px 32px rgba(0,0,0,.22)!important;}
.ssl-facebook-head{background:var(--ssl-primary)!important;}
.ssl-facebook-body h3{color:var(--ssl-deep)!important;}
.ssl-facebook-body p{color:#364d5b!important;}
/* Mantener contraste visible también con inglés activado. */
body.ssl-english .sec-title h2,
body.ssl-english .mision-section h2,
body.ssl-english .service-single h2{color:var(--ssl-deep)!important;}
body.ssl-english .ssl-bilingual p,
body.ssl-english .obj-ul li {color:var(--ssl-ink)!important;}
.ssl-language-switch{border-color:#b9d7dc!important;box-shadow:0 8px 22px rgba(16,54,73,.17)!important;}
.ssl-language-switch button[aria-pressed=true]{background:var(--ssl-primary)!important;}
.ssl-language-switch button:hover:not([aria-pressed=true]){background:#e3f6f3!important;}
/* Diferenciación sutil al hacer scroll; elementos siempre visibles sin JS. */
@media (prefers-reduced-motion:no-preference){
 .ssl-motion-ready .ssl-reveal:not(.ssl-visible){
   opacity:0;transform:translate3d(0,24px,0);
 }
 .ssl-motion-ready .ssl-reveal{
   transition:opacity .65s ease,transform .65s cubic-bezier(.2,.75,.23,1);
   transition-delay:var(--ssl-stagger,0ms);
 }
 .ssl-motion-ready .ssl-reveal.ssl-visible{opacity:1;transform:translate3d(0,0,0);}
 .ssl-motion-ready .ssl-reveal.ssl-visible:hover{transition-delay:0ms;}
}
@media (prefers-reduced-motion:reduce){
 .ssl-reveal{opacity:1!important;transform:none!important;transition:none!important;}
 .theme-btn,.project-block .inner-box,.project-block img{transition:none!important;}
}
@media(max-width:991px){
 .main-header .header-upper{background-color:var(--ssl-deep)!important;}
 .welcome-section .image-column img{max-width:100%;height:auto;}
}
@media(max-width:767px){
 .ssl-language-switch{background:#fff!important;}
 .project-section .project-block .inner-box:hover{transform:none;}
 .ssl-hero-title.theme-btn.btn-style-three{letter-spacing:0!important;}
}

/* Control de legibilidad de Misión / Visión: columnas iguales, sin desbordamiento. */
.mis-vis-cont{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3.5vw,54px);}
.mis-vis-cont .mision,.mis-vis-cont .vision{min-width:0;}
.mis-vis-cont .conteiner-centrar{display:block!important;min-width:0;max-width:100%;}
.mis-vis-cont .conteiner-centrar .subtitulo{text-align:center;margin-left:auto;margin-right:auto;}
.mis-vis-cont .conteiner-centrar .ssl-bilingual,
.mis-vis-cont .conteiner-centrar .ssl-bilingual p{display:block;max-width:100%;white-space:normal;overflow-wrap:break-word;}
/* La máscara 'shine' heredada atenúa la tipografía: se elimina para máxima lectura. */
.mision-section .subtitulo{animation:none!important;-webkit-mask-image:none!important;mask-image:none!important;}
/* No sustituir fuentes de iconos por Manrope en el pie de página. */
.ssl-facebook-box .fa{font-family:FontAwesome!important;}
@media(max-width:767px){.mis-vis-cont{grid-template-columns:minmax(0,1fr);gap:24px;}}

/* Pulido responsive: el selector no debe cubrir el logotipo de SESELINE. */
@media(max-width:600px){
 .ssl-language-switch{top:124px!important;right:10px!important;}
 .main-footer .links-widget .column {width:100%;max-width:100%;}
 .main-footer .links-widget .list li,
 .main-footer .links-widget .list li a{overflow-wrap:normal;word-break:normal;}
}
