/* Identidad de Su Piscina. Componentes con prefijo propio. */
.supiscina-site{--sp-navy:#021d5f;--sp-blue:#06689d;--sp-sky:#74c3ee;--sp-pale:#eef7fc;--sp-ink:#354661;--sp-line:#dce7ef;--sp-radius:12px;--sp-width:1160px}
.sp-site-header,.sp-site-footer,.sp-contact-form{font-family:Arial,Helvetica,sans-serif;color:var(--sp-navy);line-height:1.6}
.sp-site-header *,.sp-site-footer *,.sp-contact-form *{box-sizing:border-box}
.sp-shell{width:min(var(--sp-width),calc(100% - 48px));margin-inline:auto}
.sp-site-header{background:#fff;border-bottom:1px solid var(--sp-line)}
.sp-header-row{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:22px}
.sp-brand{display:inline-block;flex-shrink:0;line-height:0}
.sp-brand-image{width:220px;height:auto;display:block}
.sp-primary-nav{display:flex;align-items:center;gap:25px}
.sp-menu,.sp-footer-menu,.sp-footer-contacts{list-style:none;margin:0;padding:0}
.sp-menu{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.sp-menu a,.sp-site-footer a{color:var(--sp-navy);text-decoration:none}
.sp-menu a{font-size:14px;font-weight:700;display:inline-block;padding-block:8px}
.sp-menu a:hover,.sp-site-footer a:hover{color:var(--sp-blue);text-decoration:underline;text-underline-offset:4px}
.sp-site-header a:focus-visible,.sp-site-header button:focus-visible,.sp-site-footer a:focus-visible,.sp-contact-form :focus-visible{outline:3px solid var(--sp-blue);outline-offset:4px}
.sp-site-header .sp-button,.sp-contact-form .sp-button{display:inline-flex;justify-content:center;align-items:center;gap:12px;background:var(--sp-navy);border:1px solid var(--sp-navy);border-radius:8px;color:#fff;padding:13px 20px;font-size:14px;font-weight:700;text-decoration:none;line-height:1.5;cursor:pointer;min-height:48px}
.sp-site-header .sp-button:hover,.sp-contact-form .sp-button:hover{background:var(--sp-blue);border-color:var(--sp-blue);color:#fff}
.sp-site-header .sp-menu-toggle{display:none;background:#fff;color:var(--sp-navy);border:1px solid var(--sp-line);padding:10px 14px;border-radius:8px;font-size:14px;min-height:44px;cursor:pointer}
.sp-site-footer{background:var(--sp-pale);padding:48px 0 22px;border-top:1px solid var(--sp-line)}
.sp-footer-grid{display:flex;flex-wrap:wrap;gap:45px;justify-content:space-between}
.sp-footer-grid>div:first-child{flex:1 1 300px;max-width:470px}
.sp-site-footer h2{font-family:inherit;font-size:18px;font-weight:700;margin:0 0 12px;color:var(--sp-navy)}
.sp-site-footer p{font-size:15px;margin:20px 0 0;color:var(--sp-ink)}
.sp-footer-contacts li,.sp-footer-menu li{margin:0 0 8px;font-size:14px;overflow-wrap:anywhere}
.sp-footer-bottom{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid #cbdde9;padding-top:20px;margin-top:35px;font-size:12px;color:var(--sp-ink)}
/* Solo las dos plantillas del proyecto (y la LP detectada) usan ancho completo. */
body.sp-layout-fullwidth{background:#fff}
body.sp-layout-fullwidth .site.grid-container{width:100%;max-width:none;margin:0;padding:0}
body.sp-layout-fullwidth .site-content{display:block;padding:0}
body.sp-layout-fullwidth .content-area{width:100%;float:none;margin:0;padding:0}
body.sp-layout-fullwidth .site-main{margin:0;padding:0}
body.sp-layout-fullwidth .inside-article{margin:0;padding:0;background:transparent}
body.sp-layout-fullwidth .entry-content{margin:0}
body.sp-layout-fullwidth .sp-page-content{width:100%;margin:0}
body.sp-layout-standalone .site-footer:empty{display:none}
/* Utilidades para las secciones del one page final. */
.sp-section{padding-block:72px;scroll-margin-top:24px}
.sp-section--soft{background:var(--sp-pale)}
.sp-section-title{font-family:Arial,Helvetica,sans-serif;color:var(--sp-navy);font-size:clamp(28px,4vw,44px);line-height:1.12;font-weight:700}
/* Formulario: los estilos son pequeños; el JS solo carga al usar el shortcode. */
.sp-contact-form{position:relative;max-width:800px;margin:24px auto;padding:30px;background:#fff;border:1px solid var(--sp-line);border-radius:var(--sp-radius)}
.sp-contact-form .sp-form-intro{margin:0 0 24px;color:var(--sp-ink);font-size:15px}
.sp-form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}
.sp-contact-form label{display:block;font-weight:700;font-size:14px;margin:0 0 7px}
.sp-contact-form input:not([type=checkbox]),.sp-contact-form select,.sp-contact-form textarea{width:100%;min-height:48px;margin:0 0 20px;padding:12px;border:1px solid #aebfce;border-radius:6px;background:#fff;color:#20324c;font:inherit;font-size:16px;box-shadow:none}
.sp-contact-form textarea{resize:vertical}
.sp-contact-form .sp-form-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;font-weight:400;margin:0 0 24px}
.sp-form-consent input{width:18px;height:18px;flex-shrink:0;margin-top:3px;accent-color:var(--sp-blue)}
.sp-form-consent a{color:var(--sp-blue);text-decoration:underline}
.sp-contact-form .sp-form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.sp-contact-form .sp-form-status{margin:18px 0 0;font-size:14px;color:var(--sp-navy)}
.sp-contact-form .sp-form-status:empty{margin:0}
.sp-contact-form .sp-form-status.is-error{color:#a12020}
.sp-contact-form .sp-button:disabled{opacity:.65;cursor:wait}
@media(max-width:1000px){.sp-brand-image{width:190px}.sp-primary-nav{gap:16px}.sp-menu{gap:15px}.sp-header-row{gap:20px}}
@media(max-width:768px){
 .sp-shell{width:calc(100% - 40px)}
 .sp-header-row{flex-wrap:wrap;padding-block:18px}
 .sp-primary-nav{width:100%;flex-direction:column;align-items:stretch;gap:18px}
 .sp-menu{flex-direction:column;align-items:stretch;gap:4px}
 .sp-menu a{display:block;padding:10px 0}
 .sp-menu-ready .sp-menu-toggle:not([hidden]){display:inline-flex;gap:10px}
 .sp-menu-ready:not(.sp-menu-open) .sp-primary-nav{display:none}
 .sp-footer-grid{gap:28px;flex-direction:column}
 .sp-site-footer{padding-top:35px}.sp-footer-bottom{gap:12px}
 .sp-section{padding-block:44px}
 .sp-contact-form{padding:22px;margin-block:20px}.sp-form-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.supiscina-site{scroll-behavior:auto}}
