/* SGAR – estilos base (réplica estática de sgarsl.net) */

/* ---------- Fuentes (autoalojadas, licencia OFL) ---------- */
@font-face{font-family:Raleway;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/raleway-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/raleway-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Raleway;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/raleway-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Raleway;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/raleway-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Raleway;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/raleway-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Raleway;font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fonts/raleway-latin-500-italic.woff2) format("woff2")}
@font-face{font-family:Raleway;font-style:italic;font-weight:700;font-display:swap;src:url(/assets/fonts/raleway-latin-700-italic.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/open-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/open-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/open-sans-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Share Tech";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/share-tech-latin-400-normal.woff2) format("woff2")}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box;border-width:0}
input{border-width:2px}
textarea,select{border-width:1px}
button{border-width:2px}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;font-family:Raleway,Helvetica,Arial,Lucida,sans-serif;font-size:14px;font-weight:500;line-height:1.7em;color:#353535;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
img{max-width:100%;height:auto;border:0}
/* los encabezados heredan; las cotas exactas (tamaños, márgenes, colores) vienen de los estilos de cada página */
h1,h2,h3,h4,h5,h6{color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}
#main-footer h4{margin:0}
#main-footer p{margin:0}
strong{font-weight:700}
button,input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;margin:0}
input,textarea{-webkit-appearance:none;appearance:none;border-radius:0;outline:0}
input[type=checkbox]{-webkit-appearance:auto;appearance:auto}
button{cursor:pointer}
input::placeholder,textarea::placeholder{color:inherit;opacity:1}
iframe{border:0}

/* ---------- Contenedor de página ---------- */
#page-container{padding-top:80px;overflow-x:hidden;position:relative}
.container{width:80%;max-width:1080px;margin:0 auto;position:relative}
.container::after{content:"";display:block;clear:both}

/* ---------- Cabecera ---------- */
#main-header{position:fixed;top:0;left:0;right:0;z-index:99999;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.1);line-height:23px;font-weight:500;transition:background-color .4s,color .4s,transform .4s,opacity .4s ease-in-out}
#main-header .container{height:80px}
.logo_container{position:absolute;inset:0;width:100%;height:100%}
.logo_helper{display:inline-block;height:100%;vertical-align:middle;width:0}
#logo{display:inline-block;max-height:54%;width:auto;vertical-align:middle;transition:all .4s ease-in-out}
#et-top-navigation{float:right;font-weight:600;padding-top:33px;position:relative;z-index:100}
#top-menu{list-style:none;margin:0;padding:0;line-height:0}
#top-menu>li{display:inline-block;position:relative;padding-right:22px;line-height:14px;font-size:14px}
#top-menu>li:last-child{padding-right:0}
#top-menu a{display:block;position:relative;color:rgba(0,0,0,.6);font-weight:600;transition:opacity .4s ease-in-out,background-color .4s ease-in-out}
#top-menu>li>a{padding-bottom:33px}
#top-menu>li>a:hover{opacity:.7}
#top-menu>li.current>a{color:#ff0000}
#top-menu>li.has-sub>a{padding-right:20px}
#top-menu>li.has-sub>a::after{content:"";position:absolute;right:0;top:1px;width:12px;height:12px;background:currentColor;-webkit-mask:var(--ico-caret) center/12px 12px no-repeat;mask:var(--ico-caret) center/12px 12px no-repeat}
#top-menu .sub-menu{position:absolute;top:47px;left:0;z-index:9999;width:240px;margin:0;padding:20px 0;list-style:none;background:#fff;border-top:3px solid #000;box-shadow:0 2px 5px rgba(0,0,0,.1);opacity:0;visibility:hidden;transition:all .2s ease-in-out;text-align:left}
#top-menu li:hover>.sub-menu,#top-menu li:focus-within>.sub-menu{opacity:1;visibility:visible}
#top-menu .sub-menu li{display:block;padding:0 20px;line-height:28px;font-size:14px}
#top-menu .sub-menu a{width:200px;padding:6px 20px;line-height:1.7em}
#top-menu .sub-menu a:hover{background:rgba(0,0,0,.03);opacity:.7}

/* menú móvil */
#et_mobile_nav_menu{display:none;float:right}
.mobile_nav{position:relative}
.mobile_nav .select_page{display:none}
.mobile_menu_bar{display:block;position:relative;line-height:0;padding-bottom:24px;background:none;border:0;padding-left:0;padding-right:0;cursor:pointer}
.mobile_menu_bar span{display:block;width:32px;height:32px;background:#000;-webkit-mask:var(--ico-menu) center/28px 28px no-repeat;mask:var(--ico-menu) center/28px 28px no-repeat}
.mobile_nav.opened .mobile_menu_bar span{-webkit-mask-image:var(--ico-close);mask-image:var(--ico-close)}
#mobile_menu{display:none;position:absolute;left:0;width:100%;z-index:9998;list-style:none;margin:0;padding:5%;background:#fff;border-top:3px solid #000;box-shadow:0 2px 5px rgba(0,0,0,.1);text-align:left}
.mobile_nav.opened #mobile_menu{display:block}
#mobile_menu li{list-style:none}
#mobile_menu a{display:block;padding:10px 5%;color:#666;font-weight:600;border-bottom:1px solid rgba(0,0,0,.03);transition:opacity .4s,background-color .4s}
#mobile_menu a:hover{background:rgba(0,0,0,.03);opacity:.7}
#mobile_menu li.has-sub>a{background:rgba(0,0,0,.03);font-weight:700}
#mobile_menu li.current>a{color:#ff0000}
#mobile_menu .sub-menu{list-style:none;margin:0;padding-left:10px}
#mobile_menu .sub-menu li{padding-left:5%}

@media (max-width:980px){
  #main-header{position:absolute}
  #logo{max-width:50%}
  #et-top-navigation{float:right;position:static;padding-top:24px}
  #top-menu-nav{display:none}
  #et_mobile_nav_menu{display:block}
  #main-header .container{position:relative}
  .mobile_nav{position:static}
  #mobile_menu{top:80px;left:0;width:100%}
}

/* ---------- Pie ---------- */
#main-footer{background:#606060}
#footer-widgets{padding:6% 0 0}
.footer-widget{float:left;width:20.875%;margin:0 5.5% 5.5% 0;color:#fff;font-size:13px}
.footer-widget:last-child{margin-right:0}
.footer-widget .fwidget{margin-bottom:5.5%}
.footer-widget .fwidget:last-child{margin-bottom:0}
.footer-widget h4{color:#d1d1d1;font-size:17px;line-height:1em;padding-bottom:10px;font-weight:500}
.footer-widget p{padding-bottom:13px}
.footer-widget p:last-child{padding-bottom:0}
.footer-widget .spacer{height:37px}
.footer-widget a{color:#fff}
.footer-widget .iso{float:left;margin-right:15px;width:128px}
.footer-widget .w400{font-weight:400}
#footer-bottom{background:rgba(0,0,0,.32);padding:15px 0 5px}
#footer-info{float:left;color:#a8a8a8;font-size:13px;padding-bottom:10px;text-align:left}
@media (max-width:980px){
  #footer-widgets{padding:8% 0}
  .footer-widget{width:46.25%;margin:0 7.5% 7.5% 0}
  .footer-widget:nth-child(2n){margin-right:0}
  .footer-widget:nth-last-child(-n+2){margin-bottom:0}
  .footer-widget h4{font-size:18px}
  #footer-info{float:none;text-align:center}
}
@media (max-width:767px){
  #footer-widgets{padding:10% 0}
  .footer-widget{width:100%;margin:0 0 9.5% 0}
  .footer-widget:nth-last-child(-n+2){margin-bottom:9.5%}
  .footer-widget:last-child{margin-bottom:0}
}

/* ---------- Iconos (SVG en máscara, sustituyen a la fuente de iconos) ---------- */
:root{
  --ico-caret:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 8l7 8 7-8' fill='none' stroke='%23000' stroke-width='3'/%3E%3C/svg%3E");
  --ico-menu:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6h18M3 12h18M3 18h18' stroke='%23000' stroke-width='2.4'/%3E%3C/svg%3E");
  --ico-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5l14 14M19 5L5 19' stroke='%23000' stroke-width='2.4'/%3E%3C/svg%3E");
  --ico-plus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4v16M4 12h16' stroke='%23000' stroke-width='2.5'/%3E%3C/svg%3E");
  --ico-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16' stroke='%23000' stroke-width='2.5'/%3E%3C/svg%3E");
  --ico-chev-right:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 5l7 7-7 7' fill='none' stroke='%23000' stroke-width='2.6'/%3E%3C/svg%3E");
  --ico-chev-left:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 5l-7 7 7 7' fill='none' stroke='%23000' stroke-width='2.6'/%3E%3C/svg%3E");
  --ico-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z' fill='%23000'/%3E%3C/svg%3E");
  --ico-clock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M12 6.5V12l4 2.5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
  --ico-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.2 15.2 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.6a1 1 0 0 1-.25 1z' fill='%23000'/%3E%3C/svg%3E");
}
.ico{display:inline-block;width:28px;height:28px;background:currentColor;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.ico[data-ico=pin]{-webkit-mask-image:var(--ico-pin);mask-image:var(--ico-pin)}
.ico[data-ico=clock]{-webkit-mask-image:var(--ico-clock);mask-image:var(--ico-clock)}
.ico[data-ico=phone]{-webkit-mask-image:var(--ico-phone);mask-image:var(--ico-phone)}

/* ---------- Módulos ---------- */
.m-text{overflow-wrap:break-word}
.btn{transition:all .2s;font-family:inherit}
.m-header .z11,.m-header img{max-width:100%}

/* toggles */
.m-toggle .tg-t{position:relative;cursor:pointer;user-select:none}
.m-toggle .tg-t::before{content:"";position:absolute;right:0;top:50%;margin-top:-8px;width:16px;height:16px;background:var(--tg-ico,#ccc);-webkit-mask:var(--ico-plus) center/16px 16px no-repeat;mask:var(--ico-plus) center/16px 16px no-repeat}
.m-toggle.open .tg-t::before{-webkit-mask-image:var(--ico-minus);mask-image:var(--ico-minus)}
.m-toggle .tg-c{display:none;padding-top:20px;position:relative}
.m-toggle.open .tg-c{display:block}

/* contadores circulares */
.m-circle .cc{position:relative}
.m-circle .cc svg.ring{position:absolute;top:0;left:0;width:225px;height:225px;max-width:100%;z-index:1}
.m-circle .cc .pv{display:inline}

/* carrusel de logos */
.logos h2.lc-title{color:#222;font-size:24px;line-height:32px;margin:0 0 30px;padding-bottom:10px}
.lc{position:relative;overflow:hidden;padding-top:46px;z-index:1}
.lc-track{display:flex;align-items:center;position:relative;z-index:1;transition:transform .6s ease}
.lc-item{flex:0 0 auto;width:calc((100% - 32px)/5);margin-right:8px;position:relative}
.lc-item img{display:block;max-width:100%;height:auto}
.lc-btn{position:absolute;top:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#f0f0f0;color:#afafaf;border:0;padding:0;z-index:22;transition:all .3s}
.lc-btn:hover{background:#16a08b;color:#fff}
.lc-btn i{display:block;width:16px;height:16px;background:currentColor;-webkit-mask:center/16px 16px no-repeat;mask:center/16px 16px no-repeat}
.lc-next{right:0}.lc-next i{-webkit-mask-image:var(--ico-chev-right);mask-image:var(--ico-chev-right)}
.lc-prev{right:36px}.lc-prev i{-webkit-mask-image:var(--ico-chev-left);mask-image:var(--ico-chev-left)}
@media (max-width:980px){.lc-item{width:calc((100% - 16px)/3)}}
@media (max-width:767px){.lc-item{width:calc((100% - 8px)/2)}}
/* compatibilidad con los iconos del carrusel de "Nuestra empresa" */
[data-ico=chev-right],[data-ico=chev-left]{display:block;width:16px!important;height:16px!important;background:currentColor;-webkit-mask:center/16px 16px no-repeat;mask:center/16px 16px no-repeat}
[data-ico=chev-right]{-webkit-mask-image:var(--ico-chev-right);mask-image:var(--ico-chev-right)}
[data-ico=chev-left]{-webkit-mask-image:var(--ico-chev-left);mask-image:var(--ico-chev-left)}

/* parallax */
.plx-wrap{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.plx{position:absolute;left:0;right:0;top:0;height:100%;will-change:transform}
.js .plx{height:140%;top:-20%}

/* animaciones de entrada */
.js .anim{opacity:0}
.js .anim.in{animation-fill-mode:both;animation-timing-function:ease-in-out}
@keyframes sg-fade{from{opacity:0}to{opacity:1}}
@keyframes sg-slide-left{from{opacity:0;transform:translate3d(var(--a-off,-10%),0,0)}to{opacity:1;transform:none}}
@keyframes sg-fold{from{opacity:0;transform:perspective(2000px) rotateY(var(--a-rot,-45deg))}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.js .anim{opacity:1!important;animation:none!important}}

/* formularios */
.cf-msgbox{clear:both;padding-left:21px;font-size:14px}
.cf-msgbox:empty{display:none}
.cf-msgbox p{padding:0 0 10px}
.cf-msgbox.ok{color:inherit}
.inp.err{border-color:#e02b20!important;box-shadow:inset 0 0 0 1px #e02b20}
.cf-check input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px}
.cf-check label i{position:relative}
.cf-check input:checked+label i::after{content:"";position:absolute;left:3px;top:3px;width:10px;height:10px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12l5 5L20 6' fill='none' stroke='%23000' stroke-width='3.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12l5 5L20 6' fill='none' stroke='%23000' stroke-width='3.5'/%3E%3C/svg%3E") center/contain no-repeat}
.cf-check label i{width:18px}
.cf-check.err label i{border-color:#e02b20!important}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cf-submit[disabled]{opacity:.6;cursor:wait}

/* ---------- Aviso de cookies ---------- */
#cookie-notice{position:fixed;left:0;right:0;bottom:0;z-index:100000;min-width:100%;background:rgba(76,76,76,1);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Arial,Roboto,"Helvetica Neue",sans-serif;font-size:13px;font-weight:400;line-height:20px;text-align:center;opacity:0;transition:opacity .5s}
#cookie-notice.visible{opacity:1}
#cookie-notice[hidden]{display:none}
.cookie-notice-container{padding:15px 30px;text-align:center;width:100%}
.cn-buttons-container{display:inline-block}
.cn-button{display:inline-block;margin:0 0 0 10px;padding:8.5px 10px;border:0;border-radius:32px;background:#00a99d;color:#fff;font:inherit;font-size:13px;line-height:13px;letter-spacing:.25px;cursor:pointer;transition:filter .2s}
.cn-button:hover{filter:brightness(1.1)}
.cn-close-icon{position:absolute;right:15px;top:50%;margin-top:-10px;width:20px;height:20px;padding:5px;border:0;background:none;opacity:.5;cursor:pointer}
.cn-close-icon::before,.cn-close-icon::after{content:"";position:absolute;left:9px;top:3px;width:2px;height:14px;background:#fff}
.cn-close-icon::before{transform:rotate(45deg)}
.cn-close-icon::after{transform:rotate(-45deg)}
.cn-close-icon:hover{opacity:1}
@media (max-width:900px){.cookie-notice-container{padding:15px 30px}.cn-buttons-container{display:block;margin-top:8px}.cn-button{margin:0 5px 5px}}

/* accesibilidad */
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
