/* ===== Fuentes alojadas en el servidor ===== */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/playfair-display-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/playfair-display-latin-700-normal.woff2) format("woff2")}

/* ===== Diseño original (versión Astro) ===== */
:root{--primary: #E07B39;--primary-dark: #c66a2e;--primary-light: #f5a66a;--neutral-50: #fafafa;--neutral-100: #f4f4f5;--neutral-200: #e4e4e7;--neutral-300: #d4d4d8;--neutral-400: #a1a1aa;--neutral-500: #71717a;--neutral-600: #52525b;--neutral-700: #3f3f46;--neutral-800: #27272a;--neutral-900: #18181b;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow: 0 4px 6px -1px rgba(0,0,0,.1);--shadow-lg: 0 10px 25px -5px rgba(0,0,0,.1);--transition: .3s ease}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,sans-serif;color:var(--neutral-800);line-height:1.6;background:#fff}
h1,h2,h3,h4{font-family:Playfair Display,serif;line-height:1.2}
a{text-decoration:none;color:inherit;transition:var(--transition)}
img{max-width:100%;height:auto}
ul{list-style:none}
.container{max-width:1200px;margin:0 auto;padding:0 1rem}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;border:2px solid transparent;transition:var(--transition)}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark)}
.btn-outline{background:transparent;border-color:var(--neutral-300);color:var(--neutral-700)}
.btn-outline:hover{border-color:var(--primary);color:var(--primary)}
.btn-lg{padding:1rem 2rem;font-size:1rem}
.section-badge{display:inline-block;background:var(--primary);color:#fff;padding:.35rem 1rem;border-radius:50px;font-size:.8rem;font-weight:600;margin-bottom:1rem}
.section-header{text-align:center;margin-bottom:2.5rem}
.section-header h2{font-size:2rem;margin-bottom:.5rem}
.section-header p{color:var(--neutral-600)}
.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fffffff2;backdrop-filter:blur(10px);border-bottom:1px solid var(--neutral-100)}
.header-content{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;max-width:1200px;margin:0 auto}
.logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.2rem}
.logo img{border-radius:8px}
.logo span{color:var(--primary)}
.nav{display:none;gap:2rem}
.nav a{color:var(--neutral-600);font-weight:500}
.nav a:hover{color:var(--primary)}
.header-cta{display:none}
.mobile-menu-btn{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:5px}
.mobile-menu-btn span{width:24px;height:2px;background:var(--neutral-800)}
.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:1rem;border-bottom:1px solid var(--neutral-200);flex-direction:column;gap:1rem}
.mobile-menu.active{display:flex}
@media(min-width:768px){.nav{display:flex}
.header-cta{display:inline-flex}
.mobile-menu-btn{display:none}
}
.hero{padding:8rem 1rem 4rem;background:linear-gradient(135deg,var(--neutral-900) 0%,var(--neutral-800) 100%);color:#fff;min-height:90vh;display:flex;align-items:center}
.hero-content{display:grid;gap:2rem;align-items:center}
@media(min-width:1024px){.hero-content{grid-template-columns:1.2fr .8fr}
}
.hero-badge{display:inline-block;background:#e07b3933;color:var(--primary-light);padding:.5rem 1rem;border-radius:50px;font-size:.85rem;margin-bottom:1rem}
.hero-subtitle{color:var(--primary-light);font-size:1.1rem;margin-bottom:.5rem}
.hero h1{font-size:2.5rem;margin-bottom:1rem}
@media(min-width:768px){.hero h1{font-size:3.5rem}
}
.hero-description{color:var(--neutral-300);font-size:1.1rem;margin-bottom:2rem;max-width:540px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}
.hero-stats{display:flex;gap:2rem}
.hero-stat-value{font-size:2rem;font-weight:700;color:var(--primary)}
.hero-stat-label{font-size:.85rem;color:var(--neutral-400)}
.hero-visual{display:none}
@media(min-width:1024px){.hero-visual{display:block}
}
.hero-card{background:#fff;color:var(--neutral-800);padding:1.5rem;border-radius:16px;max-width:280px;margin-left:auto}
.hero-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}
.hero-card-icon{width:40px;height:40px;background:#10b981;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}
.hero-card-rating{font-weight:700;font-size:1.25rem}
.hero-card-reviews{font-size:.8rem;color:var(--neutral-500)}
.hero-stars{color:#f59e0b;font-size:1.25rem}
.about{padding:4rem 1rem}
.about-grid{display:grid;gap:2rem;align-items:center}
@media(min-width:1024px){.about-grid{grid-template-columns:1fr 1fr}
}
.about-image{position:relative}
.about-image img{border-radius:16px;width:100%}
.about-badge{position:absolute;bottom:1rem;right:1rem;background:var(--primary);color:#fff;padding:.75rem 1.25rem;border-radius:8px;font-weight:700}
.about-content h2{font-size:2rem;margin-bottom:1rem}
.about-content p{color:var(--neutral-600);margin-bottom:1rem}
.about-features{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}
.about-feature{display:flex;align-items:center;gap:.75rem}
.about-feature-icon{width:32px;height:32px;background:var(--neutral-100);border-radius:8px;display:flex;align-items:center;justify-content:center}
.services{padding:4rem 1rem;background:var(--neutral-50)}
.services-grid{display:grid;gap:1.5rem}
@media(min-width:640px){.services-grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){.services-grid{grid-template-columns:repeat(4,1fr)}
}
.gallery{padding:4rem 1rem}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:768px){.gallery-grid{grid-template-columns:repeat(4,1fr)}
}
.gallery-item{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-item-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);padding:1rem;color:#fff;font-weight:500}
.testimonials{padding:4rem 1rem;background:var(--neutral-50)}
.testimonials-grid{display:grid;gap:1.5rem}
@media(min-width:768px){.testimonials-grid{grid-template-columns:repeat(3,1fr)}
}
.testimonial-card{background:#fff;padding:1.5rem;border-radius:12px;border:1px solid var(--neutral-200)}
.testimonial-stars{color:#f59e0b;margin-bottom:1rem}
.testimonial-text{color:var(--neutral-600);margin-bottom:1rem;font-style:italic}
.testimonial-author{display:flex;align-items:center;gap:.75rem}
.testimonial-avatar{width:40px;height:40px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}
.testimonial-name{font-weight:600}
.testimonial-location{font-size:.8rem;color:var(--neutral-500)}
.faq{padding:4rem 1rem}
.faq-grid{max-width:800px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--neutral-200)}
.faq-question{width:100%;padding:1.25rem 0;display:flex;justify-content:space-between;align-items:center;background:none;border:none;cursor:pointer;font-size:1rem;font-weight:600;text-align:left}
.faq-question svg{width:20px;height:20px;transition:transform .3s}
.faq-item.active .faq-question svg{transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s;color:var(--neutral-600)}
.faq-item.active .faq-answer{max-height:200px;padding-bottom:1.25rem}
.contact{padding:4rem 1rem;background:var(--neutral-900);color:#fff}
.contact-wrapper{display:grid;gap:2rem}
@media(min-width:1024px){.contact-wrapper{grid-template-columns:1fr 1fr}
}
.contact-info h2{font-size:2rem;margin-bottom:1rem}
.contact-info p{color:var(--neutral-400);margin-bottom:2rem}
.contact-details{display:flex;flex-direction:column;gap:1rem}
.contact-item{display:flex;align-items:center;gap:1rem}
.contact-item-icon{font-size:1.25rem}
.contact-item-label{font-size:.8rem;color:var(--neutral-500)}
.contact-item-value a{color:#fff}
.contact-form-wrapper{background:#fff;padding:2rem;border-radius:16px}
.form-row{display:grid;gap:1rem}
@media(min-width:480px){.form-row{grid-template-columns:1fr 1fr}
}
.form-group{margin-bottom:1rem}
.form-label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--neutral-700);font-size:.9rem}
.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--neutral-300);border-radius:8px;font-size:1rem;transition:var(--transition)}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary)}
.footer{background:var(--neutral-950, #0f0f0f);color:var(--neutral-400);padding:3rem 1rem 1.5rem}
.footer-content{display:grid;gap:2rem;margin-bottom:2rem}
@media(min-width:768px){.footer-content{grid-template-columns:2fr 1fr 1fr 1fr}
}
.footer-brand p{margin-top:1rem;font-size:.9rem}
.footer-links h4{color:#fff;margin-bottom:1rem;font-size:1rem}
.footer-links li{margin-bottom:.5rem}
.footer-links a:hover{color:var(--primary)}
.footer-bottom{border-top:1px solid var(--neutral-800);padding-top:1.5rem;text-align:center;font-size:.85rem}
.whatsapp-btn{position:fixed;bottom:1.5rem;right:1.5rem;z-index:999;width:60px;height:60px;background:#25d366;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #25d36666;transition:transform .3s}
.whatsapp-btn:hover{transform:scale(1.1)}


.service-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--neutral-100);transition:var(--transition)}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.service-image{height:150px;overflow:hidden}
.service-image img{width:100%;height:100%;object-fit:cover}
.service-content{padding:1rem}
.service-content h3{font-size:1rem;margin-bottom:.25rem;font-family:Playfair Display,serif}
.service-content p{font-size:.85rem;color:var(--neutral-600)}
.blog{padding:4rem 1rem;background:var(--neutral-50)}
.blog-grid{display:grid;gap:1.5rem}
@media(min-width:640px){.blog-grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){.blog-grid{grid-template-columns:repeat(3,1fr)}
}
.blog-card{background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--neutral-100);transition:var(--transition)}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.blog-card-image{display:block;aspect-ratio:16/10;position:relative;overflow:hidden}
.blog-card-image img{width:100%;height:100%;object-fit:cover}
.blog-card-placeholder{width:100%;height:100%;background:var(--neutral-200)}
.blog-card-category{position:absolute;top:.75rem;left:.75rem;background:var(--primary);color:#fff;padding:.2rem .6rem;border-radius:50px;font-size:.7rem;font-weight:600}
.blog-card-content{padding:1rem}
.blog-card-date{font-size:.75rem;color:var(--neutral-500)}
.blog-card-title{font-size:.95rem;margin:.4rem 0;font-family:Playfair Display,serif}
.blog-card-title a{color:var(--neutral-900)}
.blog-card-title a:hover{color:var(--primary)}
.blog-card-excerpt{font-size:.8rem;color:var(--neutral-600);margin-bottom:.75rem}
.blog-card-link{color:var(--primary);font-size:.85rem;font-weight:600}
.blog-cta{text-align:center;margin-top:2rem}
.zones{padding:4rem 1rem;background:var(--neutral-900)}
.zones .section-header h2{color:#fff}
.zones-content{display:grid;gap:2rem}
@media(min-width:1024px){.zones-content{grid-template-columns:1fr 1fr}
}
.zones-map{background:#fff;border-radius:16px;padding:1rem}
.mallorca-map{width:100%}
.map-label{font-size:11px;font-weight:600;fill:#333}
.map-label-sm{font-size:9px;fill:#666}
.pulse{animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.5}
}
.zones-list{display:grid;gap:.5rem}
.zone-item{display:flex;gap:.75rem;padding:.75rem;background:#ffffff0d;border:1px solid #444;border-radius:8px}
.zone-item:hover{background:#e07b391a;border-color:var(--primary)}
.zone-main{background:#e07b3926;border-color:var(--primary)}
.zone-icon{font-size:1.1rem}
.zone-name{color:#fff;font-weight:600;font-size:.9rem;display:block}
.zone-desc{color:#999;font-size:.75rem}
.captcha-container{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;padding:1rem;text-align:center}
.captcha-image-wrapper{position:relative;width:280px;height:150px;margin:0 auto 1rem;border-radius:8px;overflow:hidden;background:#ddd}
.captcha-image-wrapper canvas{position:absolute;top:0;left:0}
#captchaPiece{pointer-events:none;z-index:2}
.captcha-slider-container{margin-bottom:.75rem}
.captcha-slider{width:280px;height:40px;-webkit-appearance:none;background:#e0e0e0;border-radius:20px;outline:none;cursor:pointer}
.captcha-slider::-webkit-slider-thumb{-webkit-appearance:none;width:50px;height:36px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:18px;cursor:grab;box-shadow:0 2px 6px #0000004d}
.captcha-slider::-webkit-slider-thumb:active{cursor:grabbing}
.captcha-hint{font-size:.85rem;color:#666;margin:.5rem 0 0}
.captcha-refresh{background:none;border:1px solid #ccc;padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.8rem;color:#666;transition:all .2s}
.captcha-refresh:hover{border-color:var(--primary);color:var(--primary)}
.captcha-success{background:#d4edda;color:#155724;padding:1rem;border-radius:8px;font-weight:600}
.captcha-error{background:#f8d7da;color:#721c24;padding:.75rem;border-radius:8px;font-size:.9rem;margin-top:.5rem}
.submit-btn{width:100%;transition:all .3s}
.submit-btn:disabled{background:#ccc;cursor:not-allowed}
.submit-btn:not(:disabled){background:var(--primary)}



/* ===== Añadidos del tema de WordPress ===== */
html{scroll-padding-top:84px}
[hidden]{display:none!important}
.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--primary);color:#fff;padding:.5rem 1rem;border-radius:0 0 8px 0}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--primary-light);outline-offset:2px}
.admin-bar .header{top:32px}
@media(max-width:782px){.admin-bar .header{top:46px}}
.logo{color:var(--neutral-900)}
.mobile-menu a{padding:.25rem 0;font-weight:500}

/* Hero */
.btn-outline-light{background:transparent;border-color:#fff;color:#fff}
.btn-outline-light:hover{background:#fff;color:var(--neutral-900)}
a.hero-card{display:block}
a.hero-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.hero-card-phone{display:inline-block;margin-top:.75rem;font-weight:700;color:var(--primary);font-size:1.15rem}
.hero-stats{flex-wrap:wrap}

/* Servicios */
@media(min-width:1024px){.services-grid{grid-template-columns:repeat(3,1fr)}}
.service-card{display:block;color:inherit}
.service-image{height:190px}
.service-content h3{font-size:1.1rem}
.service-link{display:inline-block;margin-top:.5rem;color:var(--primary);font-weight:600;font-size:.85rem}

/* Secciones de detalle */
.detail{padding:4.5rem 1rem}
.detail-alt{background:var(--neutral-50)}
.detail-grid{display:grid;gap:2.5rem;align-items:center}
@media(min-width:1024px){.detail-grid{grid-template-columns:1fr 1fr}.detail-grid.reverse .detail-image{order:2}}
.detail-image img{width:100%;border-radius:16px;box-shadow:var(--shadow-lg)}
.detail-content h2{font-size:2rem;margin-bottom:1rem}
.detail-content p{color:var(--neutral-600);margin-bottom:1rem}
.checklist{margin:1.25rem 0 1.75rem;display:grid;gap:.5rem}
.checklist li{position:relative;padding-left:1.75rem;color:var(--neutral-700)}
.checklist li:before{content:"✓";position:absolute;left:0;top:0;width:1.25rem;height:1.25rem;border-radius:50%;background:#e07b3926;color:var(--primary-dark);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:.2rem}

/* Proceso */
.process{padding:4rem 1rem;background:var(--neutral-900);color:#fff}
.process .section-header h2{color:#fff}
.process-grid{display:grid;gap:1.25rem;list-style:none;counter-reset:none}
@media(min-width:640px){.process-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.process-grid{grid-template-columns:repeat(4,1fr)}}
.process-step{background:#ffffff0d;border:1px solid #444;border-radius:12px;padding:1.5rem}
.process-num{display:inline-flex;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--primary);color:#fff;font-weight:700;align-items:center;justify-content:center;margin-bottom:.75rem}
.process-step h3{font-size:1.1rem;margin-bottom:.35rem}
.process-step p{color:var(--neutral-400);font-size:.9rem}

/* Galería */
.gallery-item{margin:0}
.gallery-item-overlay{font-size:.9rem}

/* FAQ */
.faq-h{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}
.faq-question{color:var(--neutral-900);font-family:Inter,system-ui,sans-serif;gap:1rem}
.faq-question svg{flex-shrink:0}
.faq-item.active .faq-answer{max-height:600px}

/* Contacto y formulario */
.contact-item-value{color:#fff}
.contact-form-wrapper{color:var(--neutral-800)}
.form-check{display:flex;gap:.6rem;align-items:flex-start;font-size:.85rem;color:var(--neutral-600)}
.form-check input{margin-top:.25rem;width:1.1rem;height:1.1rem;flex-shrink:0;accent-color:var(--primary)}
.form-check a{color:var(--primary);text-decoration:underline}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.notice{padding:1rem;border-radius:8px;margin-bottom:1.25rem;font-weight:500}
.notice-ok{background:#d4edda;color:#155724}
.notice-error{background:#f8d7da;color:#721c24}
.captcha-image-wrapper{max-width:100%}
@media(max-width:360px){.captcha-slider{width:100%}}

/* Pie */
.footer .logo{color:#fff}
.footer-title{color:#fff;margin-bottom:1rem;font-size:1rem;font-family:Playfair Display,serif;font-weight:700}
.footer-bottom a{color:var(--neutral-400);text-decoration:underline;margin-left:.5rem}
.footer-bottom a:hover{color:var(--primary)}

/* Páginas interiores y 404 */
.page-hero{padding:8rem 1rem 3rem;background:linear-gradient(135deg,var(--neutral-900) 0%,var(--neutral-800) 100%);color:#fff}
.page-hero h1{font-size:2.25rem}
.page-content{padding:3rem 1rem 4rem}
.container-narrow{max-width:820px}
.entry h2,.entry h3{margin:1.75rem 0 .75rem}
.entry p,.entry ul,.entry ol{margin-bottom:1rem;color:var(--neutral-700)}
.entry ul{list-style:disc;padding-left:1.25rem}
.entry ol{padding-left:1.25rem}
.entry a{color:var(--primary);text-decoration:underline}
.error-404{padding:10rem 1rem 6rem;text-align:center}
.error-code{font-family:Playfair Display,serif;font-size:7rem;line-height:1;color:var(--primary);font-weight:700}
.error-404 h1{font-size:2.25rem;margin-bottom:1rem}
.error-404 p{color:var(--neutral-600)}
.error-ctas{justify-content:center;margin-top:2rem}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Formulario en móvil: que nada se salga de la pantalla */
.contact-wrapper{grid-template-columns:minmax(0,1fr)}
@media(min-width:1024px){.contact-wrapper{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.captcha-image-wrapper{width:100%;max-width:280px;height:auto;aspect-ratio:280/150}
.captcha-image-wrapper canvas{width:100%;height:100%}
.captcha-slider{width:100%;max-width:280px}
@media(max-width:600px){.contact-form-wrapper{padding:1.25rem}.captcha-container{padding:.75rem}.contact{padding-left:.5rem;padding-right:.5rem}}
.zones .section-header p{color:var(--neutral-400)}
.error-404 .error-code{color:var(--primary);margin-bottom:.5rem}
