/* Satempresas V2: ajustes sobre Nicepage. Se conservan hojas, imágenes y componentes existentes. */
html { scroll-behavior:smooth; }
body { overflow-wrap:break-word; }
*,*::before,*::after { box-sizing:border-box; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid #ef9d24;outline-offset:4px; }
img { max-width:100%; }
.sat-v2-hero > .u-sheet { display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;min-height:0!important;padding:56px 0!important; }
.sat-v2-hero > .u-sheet::before,.sat-v2-hero > .u-sheet::after { display:none!important; }
.sat-v2-hero .sat-v2-hero-copy { width:100%!important;min-width:0;min-height:0!important;height:auto!important;margin:0!important;align-self:center; }
.sat-v2-hero .sat-v2-hero-copy > .u-container-layout { display:flex!important;flex-direction:column;align-items:center;justify-content:center;padding:28px!important;min-height:0!important;height:auto!important;text-align:center!important; }
.sat-v2-hero .sat-v2-hero-title { margin:0!important;width:100%!important;text-align:center!important;line-height:1.12!important;overflow-wrap:anywhere; }
.sat-v2-hero .u-subtitle { font-size:1.35rem!important;line-height:1.5!important;font-weight:400!important;margin:24px 0 0!important;width:100%!important;text-align:center!important; }
.sat-v2-hero .u-btn { position:static!important;transform:none!important;float:none!important;margin:28px auto 0!important;max-width:100%;white-space:normal!important;height:auto!important;text-align:center!important;flex-shrink:0; }
.sat-v2-hero .sat-v2-hero-image { width:100%!important;max-width:570px!important;height:auto!important;max-height:none!important;object-fit:contain;margin:0 auto!important;align-self:center; }
.sat-v2-home-hero > .u-sheet { position:relative; }
.sat-v2-home-hero > .u-sheet > .u-shape { position:absolute!important;inset:5% 0 auto auto;max-width:50%;pointer-events:none; }
.sat-v2-home-hero .sat-v2-hero-copy,.sat-v2-home-hero .sat-v2-hero-image { position:relative;z-index:1; }
.sat-v2-content > .u-sheet { min-height:0!important;padding:48px 0!important; }
.sat-v2-content .u-rich-text { width:100%!important;margin:0!important; }
.sat-v2-content p,.sat-v2-deep p,.sat-v2-faq p { line-height:1.7; }
.sat-v2-content h2,.sat-v2-deep h2,.sat-v2-faq h2 { overflow-wrap:break-word; }
.v2-primary-section-title,.sat-v2-deep h2,.sat-v2-faq h2 { font-size:2.5rem!important;line-height:1.15!important;font-weight:700!important; }
.sat-v2-wrap { width:100%;max-width:1140px;margin:0 auto; }
.sat-v2-faq,.sat-v2-deep { background:#fff!important;color:#111;padding:52px 24px!important; }
.sat-v2-faq h2 { margin:0 0 28px!important; }
.sat-v2-faq-box { display:block!important;margin:0!important;padding:0!important; }
.sat-v2-faq-box h3 { background:#fff!important;border-radius:0!important;margin:24px 0 8px!important;padding:0!important;font-size:1.22rem!important;line-height:1.4!important; }
.sat-v2-faq-box h3:first-child { margin-top:0!important; }
.sat-v2-faq-box p,.sat-v2-faq-box h3+p { background:#fff!important;border-radius:0!important;margin:0 0 20px!important;padding:0 0 20px!important;border-bottom:1px solid #e6e8eb; }
.sat-v2-deep .sat-v2-links { padding:24px!important;margin:32px 0 0!important;background:#f2f2f2!important;color:#111;border:0!important;border-radius:12px!important;text-align:center!important; }
.sat-v2-deep .sat-v2-links h3 { margin:0 0 16px!important;font-size:1.25rem!important; }
.sat-v2-links ul { display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;list-style:none;padding:0;margin:0; }
.sat-v2-links li { min-width:0;max-width:100%; }
.sat-v2-links a { color:#245c94;text-decoration:underline!important;text-underline-offset:3px; }
.sat-v2-content p a,.sat-v2-deep p a,.sat-v2-blog-content p a { text-decoration:underline;text-underline-offset:3px; }
.sat-v2-final-cta > .u-sheet { display:flex!important;flex-direction:column;align-items:center;gap:24px;min-height:0!important;padding:56px 0!important;text-align:center!important; }
.sat-v2-final-cta > .u-sheet::before,.sat-v2-final-cta > .u-sheet::after { display:none!important; }
.sat-v2-final-cta h2,.sat-v2-final-cta p,.sat-v2-final-cta .u-btn { width:auto!important;max-width:100%;margin:0 auto!important;text-align:center!important; }
.sat-v2-final-cta .u-btn { position:static!important;white-space:normal!important;height:auto!important; }
.sat-v2-legal-links { display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px;padding:0 20px 24px; }
.sat-v2-legal-links a { color:#fff;text-decoration:underline; }
.sat-v2-blog-content { overflow-wrap:anywhere; }
.sat-v2-blog-content h1 { line-height:1.15; }
.sat-v2-blog-content .u-post-content { line-height:1.7; }
.sat-v2-contact .u-form { max-width:100%;height:auto!important; }
.sat-v2-contact input,.sat-v2-contact textarea { max-width:100%; }
@media(max-width:1199px) { .sat-v2-hero > .u-sheet { gap:24px;padding:44px 0!important; } .sat-v2-hero .sat-v2-hero-copy > .u-container-layout { padding:20px!important; } }
@media(max-width:991px) { .sat-v2-hero > .u-sheet { grid-template-columns:minmax(0,1fr);gap:32px; } .sat-v2-hero .sat-v2-hero-copy { grid-row:1; } .sat-v2-hero .sat-v2-hero-image { grid-row:2;max-width:520px!important; } }
@media(max-width:767px) { .sat-v2-hero .u-subtitle { font-size:1.12rem!important;line-height:1.45!important; } .v2-primary-section-title,.sat-v2-deep h2,.sat-v2-faq h2 { font-size:2rem!important;line-height:1.18!important; } .sat-v2-content > .u-sheet { padding:36px 0!important; } .sat-v2-faq,.sat-v2-deep { padding:36px 20px!important; } .sat-v2-final-cta > .u-sheet { padding:40px 0!important; } .sat-v2-deep .sat-v2-links { padding:20px!important; } }
@media(max-width:575px) { .sat-v2-hero > .u-sheet,.sat-v2-content > .u-sheet,.sat-v2-final-cta > .u-sheet { width:calc(100% - 32px)!important; } .sat-v2-hero .sat-v2-hero-copy > .u-container-layout { padding:12px 0!important; } .sat-v2-hero .u-btn { padding-left:20px!important;padding-right:20px!important; } .sat-v2-hero .sat-v2-hero-image { max-width:380px!important; } .sat-v2-home-hero > .u-sheet > .u-shape { max-width:100%; } .sat-v2-links ul { flex-direction:column; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
/* Contacto: quitar offsets de la composición original, manteniendo tarjetas y formulario. */
.sat-v2-contact { position:relative;display:flex!important;flex-direction:column;align-items:center;gap:36px;padding:52px 24px!important;min-height:0!important; }
.sat-v2-contact > .u-shape { position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;z-index:0; }
.sat-v2-contact > .u-list,.sat-v2-contact > .u-layout-wrap,.sat-v2-contact > h1 { position:relative;z-index:1;width:100%!important;max-width:1140px!important;min-height:0!important;height:auto!important;margin:0!important; }
.sat-v2-contact .u-repeater { display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important; }
.sat-v2-contact .u-list-item { width:auto!important;min-height:0!important; }
.sat-v2-contact .u-layout-cell { min-height:0!important; }
.sat-v2-contact .u-list-item .u-container-layout { padding:24px 16px!important; }
.sat-v2-contact .u-layout-cell .u-container-layout { padding:28px!important; }
.sat-v2-contact .u-form { width:100%!important;margin:24px 0 0!important; }
.sat-v2-contact h2,.sat-v2-contact .u-layout-cell p { margin:0 0 20px!important; }
.sat-v2-contact .u-list-item h3 { font-size:1.1rem!important;line-height:1.3;margin:20px 0 12px!important; }
.sat-v2-contact .u-list-item p { margin:0!important;overflow-wrap:anywhere; }
.sat-v2-contact .u-list-item p a { color:inherit;text-decoration:underline; }
.sat-v2-contact > .u-custom-html { display:none; }
@media(max-width:991px) { .sat-v2-contact .u-repeater { grid-template-columns:repeat(2,minmax(0,1fr))!important; } }
@media(max-width:575px) { .sat-v2-contact { padding:36px 16px!important; } .sat-v2-contact .u-repeater { grid-template-columns:minmax(0,1fr)!important; } .sat-v2-contact .u-layout-cell .u-container-layout { padding:20px 0!important; } }
/* Lectura de artículos: altura determinada por el contenido, sin alineación justificada. */
.sat-v2-blog-content .u-post-content { text-align:left!important;max-width:100%;height:auto!important; }
.sat-v2-blog-content > .u-container-layout { min-height:0!important;height:auto!important; }
.sat-v2-blog-content h2 { font-size:2rem;line-height:1.2; }

/* V2 visual fix: centrar el rótulo WhatsApp en las tarjetas de contacto de Inicio y Contacto. */
.sat-v2-contact .u-list-item-3 .u-text-5 { width:100%!important; text-align:center!important; margin:20px auto 12px!important; }


/* SATEMPRESAS V2 - COOKIE BANNER COMPACTO */
#gdpr-1.sat-cookie-banner {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 10000 !important;
  background: #2d2d2d !important;
  color: #fff !important;
  box-shadow: 0 -3px 18px rgba(0,0,0,.18) !important;
  padding: 0 !important;
  min-height: 0 !important;
  text-align: left !important;
}
#gdpr-1.sat-cookie-banner:not(.show) { display: none !important; }
#gdpr-1.sat-cookie-banner.show { display: block !important; }
#gdpr-1 .sat-cookie-inner {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
  padding: 17px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
#gdpr-1 .sat-cookie-copy { flex: 1 1 auto; min-width: 0; }
#gdpr-1 .sat-cookie-title {
  display: block;
  margin: 0 0 4px;
  font-size: 1.05rem;
  line-height: 1.25;
  font-weight: 700;
  color: #fff;
}
#gdpr-1 .sat-cookie-copy p {
  margin: 0 !important;
  font-size: .93rem !important;
  line-height: 1.45 !important;
  color: #f2f2f2 !important;
}
#gdpr-1 .sat-cookie-copy a {
  color: #fff !important;
  text-decoration: underline !important;
  font-weight: 600;
}
#gdpr-1 .sat-cookie-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
}
#gdpr-1 .sat-cookie-btn {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 106px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 9px 18px !important;
  border-radius: 6px !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
#gdpr-1 .sat-cookie-accept {
  background: #478ac9 !important;
  border: 2px solid #478ac9 !important;
  color: #fff !important;
}
#gdpr-1 .sat-cookie-reject {
  background: transparent !important;
  border: 2px solid #fff !important;
  color: #fff !important;
}
#gdpr-1 .sat-cookie-accept:hover,
#gdpr-1 .sat-cookie-reject:hover { opacity: .9; }
@media (max-width: 767px) {
  #gdpr-1 .sat-cookie-inner {
    width: min(100% - 28px, 620px);
    padding: 14px 0 15px;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  #gdpr-1 .sat-cookie-title { font-size: 1rem; }
  #gdpr-1 .sat-cookie-copy p { font-size: .86rem !important; line-height: 1.4 !important; }
  #gdpr-1 .sat-cookie-actions { width: 100%; gap: 8px; }
  #gdpr-1 .sat-cookie-btn { flex: 1 1 50%; min-width: 0 !important; min-height: 40px !important; padding: 8px 12px !important; }
}
