html{scroll-padding-top:90px}

.pc-site-header,.pc-site-footer{margin:0!important}
.pc-site-header *,.pc-site-footer *{box-sizing:border-box}

.pc-site-header{
  position:sticky;
  top:0;
  z-index:9999;
  width:100%;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid rgba(32,34,36,.09);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.pc-header-inner{
  width:calc(100% - 48px);
  max-width:1460px;
  height:76px;
  margin:0 auto;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
}
.pc-brand{
  width:210px;
  flex:0 0 210px;
  display:flex;
  align-items:center;
  text-decoration:none;
}
.pc-brand-logo{
  display:block;
  width:auto;
  height:44px;
  max-width:205px;
  object-fit:contain;
}
.pc-logo-fallback{
  font-size:18px;
  font-weight:800;
  color:#202224;
}
.pc-main-nav{
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;
}
.pc-main-nav a{
  position:relative;
  color:#55595d;
  font-size:13px;
  line-height:1;
  font-weight:700;
  letter-spacing:.02em;
  text-transform:uppercase;
  text-decoration:none;
  transition:color .18s ease;
}
.pc-main-nav a:after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-10px;
  height:2px;
  background:#f15a34;
  transition:right .2s ease;
}
.pc-main-nav a:hover{color:#202224}
.pc-main-nav a:hover:after{right:0}
.pc-header-cta{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 20px;
  border-radius:999px;
  background:#202224;
  color:#fff!important;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  transition:transform .18s ease,background .18s ease;
}
.pc-header-cta:hover{
  background:#111315;
  transform:translateY(-1px);
}
.pc-menu-toggle{
  display:none;
  width:44px;
  height:44px;
  margin:0;
  padding:10px;
  border:1px solid #e2e4df;
  border-radius:999px;
  background:#fff;
  cursor:pointer;
}
.pc-menu-toggle span{
  display:block;
  width:18px;
  height:2px;
  margin:4px auto;
  background:#202224;
  border-radius:99px;
  transition:transform .18s ease,opacity .18s ease;
}

.pc-site-footer{
  background:#202224;
  color:#fff;
}
.pc-footer-inner{
  width:calc(100% - 48px);
  max-width:1460px;
  margin:0 auto;
  padding:78px 0 28px;
}
.pc-footer-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:54px;
}
.pc-footer-brand{
  width:34%;
  max-width:440px;
  flex:0 1 440px;
}
.pc-footer-logo-link{
  display:inline-flex;
  margin-bottom:24px;
}
.pc-footer-logo{
  display:block;
  width:auto;
  height:50px;
  max-width:235px;
  object-fit:contain;
}
.pc-footer-brand p{
  max-width:390px;
  margin:0;
  color:#b8bdc1;
  font-size:16px;
  line-height:1.65;
}
.pc-footer-col{
  min-width:145px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}
.pc-footer-col h3{
  margin:0 0 10px;
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.pc-footer-col a{
  color:#c8cccf;
  font-size:14px;
  line-height:1.45;
  text-decoration:none;
  transition:color .18s ease,transform .18s ease;
}
.pc-footer-col a:hover{
  color:#fff;
  transform:translateX(2px);
}
.pc-footer-bottom{
  margin-top:62px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
}
.pc-footer-bottom p{
  margin:0;
  color:#90969b;
  font-size:12px;
  line-height:1.55;
}
.pc-footer-note{
  max-width:760px;
  text-align:right;
}

@media (max-width:1100px){
  .pc-header-inner{
    height:72px;
    gap:14px;
  }
  .pc-brand{
    width:auto;
    flex:1 1 auto;
  }
  .pc-menu-toggle{
    display:block;
    flex:0 0 auto;
  }
  .pc-main-nav{
    display:none;
    position:absolute;
    top:72px;
    left:24px;
    right:24px;
    padding:18px;
    border:1px solid #e2e4df;
    border-radius:20px;
    background:#fff;
    box-shadow:0 24px 50px rgba(32,34,36,.12);
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .pc-site-header.is-open .pc-main-nav{
    display:flex;
  }
  .pc-main-nav a{
    padding:15px 10px;
    border-bottom:1px solid #e2e4df;
  }
  .pc-main-nav a:last-child{
    border-bottom:0;
  }
  .pc-main-nav a:after{
    display:none;
  }
  .pc-site-header.is-open .pc-menu-toggle span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
  }
  .pc-site-header.is-open .pc-menu-toggle span:nth-child(2){
    opacity:0;
  }
  .pc-site-header.is-open .pc-menu-toggle span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
  }
  .pc-footer-top{
    flex-wrap:wrap;
  }
  .pc-footer-brand{
    width:100%;
    max-width:none;
    flex:0 0 100%;
  }
  .pc-footer-col{
    flex:1 1 28%;
  }
}

@media (max-width:720px){
  html{scroll-padding-top:78px}
  .pc-header-inner{
    width:calc(100% - 28px);
    height:68px;
  }
  .pc-brand-logo{
    height:38px;
    max-width:175px;
  }
  .pc-header-cta{
    display:none;
  }
  .pc-main-nav{
    top:68px;
    left:14px;
    right:14px;
  }
  .pc-footer-inner{
    width:calc(100% - 36px);
    padding:58px 0 24px;
  }
  .pc-footer-top{
    gap:38px 24px;
  }
  .pc-footer-col{
    flex:1 1 42%;
  }
  .pc-footer-logo{
    height:45px;
    max-width:210px;
  }
  .pc-footer-bottom{
    margin-top:46px;
    flex-direction:column;
    gap:10px;
  }
  .pc-footer-note{
    max-width:none;
    text-align:left;
  }
}

@media (max-width:480px){
  .pc-footer-col{
    flex:0 0 100%;
  }
}


/* =========================================================
   v2.3 · Refuerzo frente a estilos globales de Divi
   ========================================================= */

.pc-site-footer,
.pc-site-footer .pc-footer-inner,
.pc-site-footer .pc-footer-top,
.pc-site-footer .pc-footer-bottom{
  background:#202224 !important;
}

.pc-site-footer .pc-footer-col h3{
  color:#ffffff !important;
}

.pc-site-footer .pc-footer-col a,
.pc-site-footer .pc-footer-col a:link,
.pc-site-footer .pc-footer-col a:visited{
  color:#c8cccf !important;
}

.pc-site-footer .pc-footer-col a:hover,
.pc-site-footer .pc-footer-col a:focus{
  color:#ffffff !important;
}

.pc-site-footer .pc-footer-brand p{
  color:#b8bdc1 !important;
}

.pc-site-footer .pc-footer-bottom p{
  color:#90969b !important;
}

.pc-site-footer .pc-footer-logo-link{
  background:transparent !important;
}

/* Si el logo principal es transparente, evita cualquier fondo heredado */
.pc-site-footer img.pc-footer-logo,
.pc-site-header img.pc-brand-logo{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

/* Evita márgenes inesperados del módulo de texto/código */
.et_pb_module .pc-site-header,
.et_pb_module .pc-site-footer{
  margin:0 !important;
}

/* Asegura que el footer ocupe todo el ancho visible */
.pc-site-footer{
  width:100% !important;
  max-width:none !important;
}


/* =========================================================
   v2.8 · Logos más visibles
   ========================================================= */

/* Header: más presencia sin hacer más alta la cabecera */
.pc-site-header .pc-brand{
  width:270px;
  flex:0 0 270px;
}

.pc-site-header .pc-brand-logo{
  width:auto !important;
  height:70px !important;
  max-width:280px !important;
  object-fit:contain;
}

/* Footer: logo claro, más grande y legible sobre antracita */
.pc-site-footer .pc-footer-logo-link{
  margin-bottom:22px;
}

.pc-site-footer .pc-footer-logo{
  width:auto !important;
  height:78px !important;
  max-width:330px !important;
  object-fit:contain;
  opacity:1 !important;
  filter:none !important;
}

/* Refuerzo frente a estilos de enlaces de Divi */
.pc-site-footer .pc-footer-col a,
.pc-site-footer .pc-footer-col a:link,
.pc-site-footer .pc-footer-col a:visited{
  color:#c8cccf !important;
  opacity:1 !important;
}

.pc-site-footer .pc-footer-col a:hover,
.pc-site-footer .pc-footer-col a:focus{
  color:#ffffff !important;
}

/* Responsive */
@media (max-width:1100px){
  .pc-site-header .pc-brand{
    width:auto;
    flex:1 1 auto;
  }
}

@media (max-width:720px){
  .pc-site-header .pc-brand-logo{
    height:60px !important;
    max-width:250px !important;
  }

  .pc-site-footer .pc-footer-logo{
    height:70px !important;
    max-width:290px !important;
  }
}

/* v2.5: seis enlaces de navegacion en escritorio */
.pc-main-nav a{white-space:nowrap}
@media (min-width:1101px){.pc-main-nav{gap:18px}}

/* v2.5: menu desplegable en pantallas intermedias */
@media (min-width:1101px) and (max-width:1200px){
  .pc-header-inner{
    height:72px;
    gap:14px;
  }
  .pc-brand{
    width:auto;
    flex:1 1 auto;
  }
  .pc-menu-toggle{
    display:block;
    flex:0 0 auto;
  }
  .pc-main-nav{
    display:none;
    position:absolute;
    top:72px;
    left:24px;
    right:24px;
    padding:18px;
    border:1px solid #e2e4df;
    border-radius:20px;
    background:#fff;
    box-shadow:0 24px 50px rgba(32,34,36,.12);
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .pc-site-header.is-open .pc-main-nav{
    display:flex;
  }
  .pc-main-nav a{
    padding:15px 10px;
    border-bottom:1px solid #e2e4df;
  }
  .pc-main-nav a:last-child{
    border-bottom:0;
  }
  .pc-main-nav a:after{
    display:none;
  }
  .pc-site-header.is-open .pc-menu-toggle span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
  }
  .pc-site-header.is-open .pc-menu-toggle span:nth-child(2){
    opacity:0;
  }
  .pc-site-header.is-open .pc-menu-toggle span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
  }
  .pc-site-header .pc-brand{width:auto;flex:1 1 auto}
}
