
/* ===== BASE SWPANEL (no editar: forzado por el generador) ===== */
*,*::before,*::after{box-sizing:border-box;}
:not(.visible){opacity:1 !important;transform:none !important;}
html,body{opacity:1 !important;transform:none !important;}
.swp-header.is-hidden{transform:translateY(-100%) !important;}
.swp-header.scrolled:not(.is-hidden),.swp-header.hide:not(.is-hidden),.swp-header.nav-up:not(.is-hidden),.swp-header.header--hidden:not(.is-hidden),.swp-header.is-hide:not(.is-hidden){transform:none !important;}
.nav-drawer{transform:translateX(100%) !important;}
.nav-open .nav-drawer{transform:translateX(0) !important;}
.gal-nav{transform:translateY(-50%) !important;}
.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg) !important;}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg) !important;}
img{max-width:100%;height:auto;}
body>header,body>.header,body>.site-header,body>.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px clamp(16px,4vw,56px);}
body>header nav>ul,body>.header nav>ul{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(14px,1.6vw,30px);list-style:none;margin:0;padding:0;}
.swp-header{position:fixed !important;top:0;left:0;right:0;z-index:1000;width:100%;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:24px;padding:12px clamp(16px,4vw,56px);transition:transform .35s ease,background-color .35s ease,box-shadow .35s ease;}
.swp-header>.container,.swp-header>.wrapper,.swp-header>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:24px;flex:1 1 auto;width:100%;}
.swp-header.is-solid{background:var(--color-surface,#fff) !important;box-shadow:0 6px 24px rgba(0,0,0,.10);}
.swp-header:not(.is-solid){background:linear-gradient(to bottom,rgba(8,11,18,.62),rgba(8,11,18,.10)) !important;}
.swp-header:not(.is-solid) a,.swp-header:not(.is-solid) .logo,.swp-header:not(.is-solid) nav a{color:#fff !important;text-shadow:0 1px 8px rgba(0,0,0,.75);}
.swp-header nav>ul,.swp-header nav{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(14px,1.6vw,30px);list-style:none;margin:0;padding:0;}
.swp-header nav a{white-space:nowrap;font-size:.95rem;letter-spacing:.01em;text-decoration:none;}
.logo img,.site-logo img,.swp-header .logo svg,.swp-header .logo img,.swp-header .brand img{height:42px;width:auto;display:block;}
.swp-header:not(.is-solid) .logo img,.swp-header:not(.is-solid) .site-logo img{filter:brightness(0) invert(1) drop-shadow(0 1px 5px rgba(0,0,0,.6));}
.swp-header .hamburger,.swp-header .menu-toggle,.swp-header .mobile-toggle,.swp-header .nav-burger,.swp-header .burger,.swp-header .menu-btn,.swp-header .menu-icon,.swp-header .mobile-menu,.swp-header .mobile-nav,.swp-header .offcanvas{display:none !important;}
.nav-toggle{display:none;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer;flex:0 0 auto;color:var(--color-text,#15171c);}
.swp-header:not(.is-solid) .nav-toggle{color:#fff;}
.nav-toggle span{display:block;width:24px;height:2px;background:currentColor;border-radius:2px;transition:.3s;}
.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.is-open span:nth-child(2){opacity:0;}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav-drawer{position:fixed;top:0;right:0;bottom:0;height:100%;width:min(86vw,340px);background:var(--color-surface,#fff);box-shadow:-8px 0 30px rgba(0,0,0,.22);z-index:3000;padding:18px 20px 22px;overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateX(100%);transition:transform .3s ease;visibility:hidden;}
.nav-open .nav-drawer{transform:translateX(0);visibility:visible;}
.nav-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(125,125,125,.18);}
.nav-drawer-logo img,.nav-drawer-logo svg{height:38px;width:auto;display:block;filter:none !important;}
.nav-close{background:transparent;border:0;font-size:34px;line-height:1;cursor:pointer;color:var(--color-text,#15171c);width:44px;height:44px;flex:0 0 auto;}
.nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:2900;opacity:0;visibility:hidden;transition:opacity .3s ease;}
.nav-open .nav-overlay{opacity:1;visibility:visible;}
.nav-open{overflow:hidden;}
.nav-drawer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;}
.nav-drawer a{display:block;padding:13px 10px;color:var(--color-text,#15171c) !important;text-shadow:none !important;border-bottom:1px solid rgba(125,125,125,.15);text-decoration:none;font-weight:600;}
@media (max-width:980px){.swp-header nav>ul,.swp-header>nav,.swp-header .nav,.swp-header .nav-links,.swp-header .menu{display:none !important;}.nav-toggle{display:flex !important;}}
@media (min-width:981px){.nav-toggle{display:none !important;}}
@media (min-width:981px){.nav-drawer,.nav-overlay{display:none !important;}}
.lang-switch{display:inline-flex;gap:6px;align-items:center;}
.lang-switch .lang-link{padding:4px 8px;border-radius:6px;font-size:.8rem;font-weight:600;text-decoration:none;opacity:.75;}
.lang-switch .lang-link.active{opacity:1;border:1px solid currentColor;}
footer .lang-switch{margin-top:14px;justify-content:center;}
.icon,img.icon,svg.icon{width:48px;height:48px;object-fit:contain;color:var(--color-accent,#1f9cf5);flex:0 0 auto;}
svg.icon{stroke:var(--color-accent,#1f9cf5);}
.gallery-track,.gallery-grid,.gallery-items,.testimonials-track{display:flex !important;flex-wrap:nowrap !important;overflow-x:auto;gap:16px;scroll-snap-type:none;grid-template-columns:none !important;scrollbar-width:none;-ms-overflow-style:none;}
.gallery-track::-webkit-scrollbar,.gallery-grid::-webkit-scrollbar,.gallery-items::-webkit-scrollbar,.testimonials-track::-webkit-scrollbar{display:none;}
.gallery-track>*,.gallery-grid>*,.gallery-items>*{flex:0 0 clamp(240px,38%,340px) !important;}
.testimonials-track>*{flex:0 0 clamp(280px,40%,380px) !important;}
.carousel-wrap{position:relative;padding-bottom:8px;}
.swp-carousel{display:flex !important;flex-wrap:nowrap !important;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;grid-template-columns:none !important;margin:0;}
.swp-carousel::-webkit-scrollbar{display:none;height:0;width:0;}
.swp-carousel>*{flex:0 0 clamp(260px,38%,360px) !important;scroll-snap-align:center;width:auto !important;}
.swp-carousel>.testimonial-card,.swp-carousel>.testimonial{flex:0 0 clamp(280px,40%,380px) !important;min-height:250px;display:flex;flex-direction:column;justify-content:center;}
.gallery img,.gallery-item img,.gallery-item figure,.gallery-track img,.gallery-track figure,.swp-carousel figure{aspect-ratio:4/3;width:100%;height:100%;object-fit:cover;border-radius:14px;display:block;margin:0;}
.gal-nav{position:absolute;top:46%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.22);display:flex;align-items:center;justify-content:center;color:var(--color-text,#222);transition:.2s;}
.gal-nav:hover{background:var(--color-accent,#1f9cf5);color:#fff;}
.gal-nav svg{width:22px;height:22px;}
.gal-prev{left:8px;}.gal-next{right:8px;}
.carousel-dots{display:flex;justify-content:center;gap:9px;margin-top:18px;}
.carousel-dots .cdot{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(120,130,145,.35);cursor:pointer;transition:.25s;}
.carousel-dots .cdot.active{background:var(--color-accent,#1f9cf5);transform:scale(1.25);}
.testimonial-avatar,.testimonial img,.testimonials img{width:64px;height:64px;border-radius:50%;object-fit:cover;}
.about img,.about-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;}
.hero,#hero,.hero-section,.banner,.masthead{background-image:url("assets/hero.jpg") !important;background-size:cover !important;background-position:center !important;background-repeat:no-repeat !important;}
.hero,#hero,.hero-section{position:relative;min-height:clamp(440px,72vh,760px);display:flex;align-items:center;}
.hero::after,#hero::after,.hero-section::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.30),rgba(0,0,0,.55));z-index:0;pointer-events:none;}
.hero>*,#hero>*,.hero-section>*,.hero .hero-content,.hero-content{position:relative;z-index:1;}
.hero h1,.hero h2,.hero p,#hero h1,#hero p,.hero-content h1,.hero-content p{color:#fff !important;text-shadow:0 2px 14px rgba(0,0,0,.55);}
details.faq-item,.faq-item{border:1px solid var(--color-border,#e5e9f2);border-radius:12px;margin-bottom:12px;background:var(--color-surface,#fff);}
details.faq-item{overflow:hidden;}details.faq-item[open]{overflow:visible;}
details.faq-item>summary,.faq-item>summary,.faq-item .faq-q,.faq-item .faq-question,.faq-item .question{list-style:none;cursor:pointer;padding:16px 20px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:12px;}
details.faq-item>summary::-webkit-details-marker{display:none;}
details.faq-item>summary::after,.faq-item>summary::after,.faq-item .faq-q::after,.faq-item .faq-question::after,.faq-item .question::after{content:'+';font-size:1.5rem;line-height:1;transition:transform .3s ease;flex:0 0 auto;}
details.faq-item[open]>summary::after,.faq-item.open .faq-q::after,.faq-item.open .faq-question::after,.faq-item.open .question::after{transform:rotate(45deg);}
details.faq-item>*:not(summary),.faq-item .faq-a,.faq-item .faq-answer,.faq-item .answer,.faq-item .respuesta{padding:0 20px 18px;line-height:1.6;}
details.faq-item[open]>*:not(summary){max-height:none !important;}
.faq-grid,.faq-list,.faqs,.accordion{display:block !important;max-width:820px;margin-left:auto;margin-right:auto;grid-template-columns:1fr !important;}
.cookie-banner,.cookie-consent,.cookie-notice,.cookie-popup,.cookies-banner,#cookieConsent:not(#cookie-banner){display:none !important;}
main section>h2,main section>.section-title,section>.section-header{margin-bottom:1.6rem;}
main section>h2+p,main section>.section-subtitle{margin-bottom:2.2rem;}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;width:100%;}
.form-grid>*{min-width:0;}
.form-grid .full,.form-grid .form-full{grid-column:1 / -1;}
form label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;}
form input,form textarea,form select{width:100%;max-width:100%;padding:12px 14px;border:1px solid var(--color-border,#d8dee9);border-radius:10px;font:inherit;background:var(--color-surface,#fff);color:var(--color-text,#253246);}
form textarea{min-height:130px;resize:vertical;}
form input:focus,form textarea:focus,form select:focus{outline:none;border-color:var(--color-accent,#1f9cf5);box-shadow:0 0 0 3px rgba(31,156,245,.18);}
form button,form [type=submit]{cursor:pointer;border:0;border-radius:10px;padding:13px 28px;font-weight:700;background:var(--color-accent,#1f9cf5);color:#fff;transition:.2s;}
form button:hover,form [type=submit]:hover{filter:brightness(1.07);transform:translateY(-1px);}
@media (max-width:640px){.form-grid{grid-template-columns:1fr;}}
.map-container,.map,.mapa{width:100%;}
iframe[src*="maps"],iframe[src*="google.com/maps"]{width:100% !important;height:clamp(280px,38vw,420px) !important;border:0 !important;border-radius:16px;display:block;box-shadow:0 10px 30px rgba(0,0,0,.08);}
.contact-grid .map-container,.contact .map-container{grid-column:1 / -1;}
.contact-content,.contact-grid,.contact-wrapper,.contact-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:30px;align-items:start;}
.contact-content>*,.contact-grid>*,.contact-wrapper>*{min-width:0;}
.contact-form,.contact-form-container,.contact form{width:100%;}
.contact-form .form-grid,.contact form .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
@media (max-width:820px){.contact-content,.contact-grid,.contact-wrapper,.contact-inner{grid-template-columns:1fr;}}
footer,.footer,.site-footer,.main-footer,.page-footer,.footer-section,.footer-wrapper,[class*="footer"]{background:#11151c !important;}
footer,.footer,.site-footer,.main-footer,.page-footer{color:#c5cdda !important;padding:42px clamp(16px,4vw,56px) 20px !important;border:0 !important;}
footer a,.footer a,.site-footer a,.page-footer a,[class*="footer"] a{color:#c5cdda !important;text-decoration:none;}footer a:hover,.footer a:hover{color:#fff !important;}
footer h1,footer h2,footer h3,footer h4,footer h5,footer .footer-title,.footer h1,.footer h2,.footer h3,.footer h4,.footer h5,[class*="footer"] h2,[class*="footer"] h3,[class*="footer"] h4{color:#fff !important;margin:0 0 12px;font-size:1rem;}
footer p,footer li,footer span,.footer p,.footer li,.footer span,[class*="footer"] p,[class*="footer"] li,[class*="footer"] span{color:#c5cdda !important;}
footer ul,.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
footer .footer-grid,footer .footer-cols,footer .footer-inner,footer .footer-top,footer>.container,footer>.wrapper,footer>div:first-child{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:26px 40px;align-items:start;max-width:1200px;margin:0 auto;}
.social,.socials,.rrss{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
footer .social{margin-top:16px;}
.social-icon,.social a,.socials a,.rrss a{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12) !important;color:#fff !important;transition:.25s;}
.social-icon:hover,.social a:hover,.socials a:hover,.rrss a:hover{background:var(--color-accent,#1f9cf5) !important;transform:translateY(-2px);}
.social-icon svg,.social a svg,.socials a svg,.rrss a svg,.social-icon img,.social a img{width:19px;height:19px;fill:currentColor;}
footer .copyright,footer .footer-bottom,footer .footer-copyright,.footer .copyright{order:999;width:100%;grid-column:1 / -1;text-align:center;margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);font-size:.8rem;color:#9aa6b6 !important;}
.site-credits{order:1000;grid-column:1 / -1;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14);font-size:.78rem;opacity:.85;text-align:center;}
.site-credits a{text-decoration:underline;color:#c5cdda !important;}
@media (max-width:768px){
  footer,.footer,.site-footer,.page-footer{padding:32px 18px 18px !important;text-align:center;}
  footer .footer-grid,footer .footer-cols,footer .footer-inner,footer .footer-top,footer>.container,footer>.wrapper,footer>div:first-child{grid-template-columns:1fr 1fr;gap:18px 16px;}
  footer .footer-column,.footer-column{text-align:center;}
  footer h2,footer h3,footer h4,footer .footer-title{font-size:.92rem;margin-bottom:8px;}
  footer ul,.footer ul{gap:5px;}
  footer li,footer a,.footer li,.footer a{font-size:.82rem;}
  footer .social,.social,.socials,.rrss{justify-content:center;}
}
@media (max-width:460px){
  footer .footer-grid,footer .footer-cols,footer .footer-inner,footer .footer-top,footer>.container,footer>.wrapper,footer>div:first-child{grid-template-columns:1fr;gap:16px;}
}
#cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:2000;display:none;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;padding:16px 20px;background:rgba(17,19,24,.97);color:#f4f6fb;font-size:.9rem;box-shadow:0 -6px 24px rgba(0,0,0,.3);}
#cookie-banner.is-visible{display:flex;}
#cookie-banner a{color:#9fd0ff;text-decoration:underline;}
#cookie-banner .cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}
#cookie-banner button{cursor:pointer;border:0;border-radius:8px;padding:9px 16px;font-weight:600;}
#cookie-banner .cookie-accept{background:var(--color-accent,#2c7);color:#fff;}
#cookie-banner .cookie-reject{background:transparent;color:#f4f6fb;border:1px solid rgba(255,255,255,.4);}
body.cookie-lock::after{content:'';position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1900;}
.wa-float{position:fixed;right:20px;bottom:20px;z-index:1500;width:56px;height:56px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.25);}
.wa-float svg,.wa-float img{width:30px;height:30px;}
.legal-page{padding-top:120px;padding-bottom:64px;}
.legal-page .container{max-width:820px;margin:0 auto;padding:0 20px;line-height:1.7;}
.legal-page,.legal-page p,.legal-page li,.legal-page h1,.legal-page h2,.legal-page h3{color:var(--color-text,#253246);}
.legal-page a{color:var(--color-accent,#1f9cf5) !important;text-decoration:underline;}
.legal-page h1{margin-bottom:24px;}
.legal-page table{width:100%;border-collapse:collapse;margin:16px 0;}
.legal-page th,.legal-page td{border:1px solid rgba(125,125,125,.3);padding:8px 10px;text-align:left;}
.image-credits{list-style:disc;margin:16px 0 0;padding-left:22px;}
.image-credits li{color:var(--color-text,#253246) !important;margin-bottom:7px;}
.image-credits a{color:var(--color-accent,#1f9cf5) !important;text-decoration:underline;font-weight:600;}
@media (prefers-reduced-motion:reduce){header,.gallery{transition:none;scroll-behavior:auto;}}
