/* ============================================================
   01 - E. MIRANDA / BASE, ACCESIBILIDAD, ESTABILIDAD RESPONSIVA
============================================================ */
:root { --em-header-height: 78px; --em-accent: #e74b50; }
html { scroll-padding-top: calc(var(--em-header-height) + 20px) !important; }
*, *::before, *::after { box-sizing: border-box; }
body { min-width: 0; }
.main-with-fixed-header { padding-top: var(--em-header-height) !important; padding-bottom: 0 !important; }
#servicios, #nosotros, #flamenco, #faq, #contacto { scroll-margin-top: calc(var(--em-header-height) + 18px); }
:where(a,button,input,textarea):focus-visible { outline: 2px solid #ff787a; outline-offset: 4px; }
:where(img) { max-width: 100%; }
/* ============================================================
   02 - HEADER RESPONSIVO / UNA FILA EN TODAS LAS PANTALLAS
============================================================ */
.fixed-premium-header { z-index: 10000; }
.emiranda-navbar { padding: 0 !important; height: var(--em-header-height); display: block; background: linear-gradient(100deg,#08090b 0%,#1c080b 55%,#09080b 100%); }
.emiranda-nav-shell { height: 100%; width: min(100% - 48px, 1460px); margin: auto; display: flex; align-items: center; gap: clamp(14px, 1.6vw, 27px); }
.emiranda-brand { color:#fff; text-decoration:none; display:inline-flex; align-items:center; gap:11px; flex:0 0 auto; min-width:0; }
.emiranda-brand:hover { color: #fff; }
.emiranda-brand-logo { width:68px; height:44px; object-fit:contain; border-radius:6px; padding:3px; border:1px solid rgba(241,72,78,.55); }
.emiranda-brand-name { font-size:clamp(.8rem,1.12vw,1.03rem); white-space:nowrap; font-weight:700; letter-spacing:.11em; }
.emiranda-brand-name span { color:#ff6569; }
.emiranda-desktop-links { flex:1; display:flex; justify-content:center; align-items:center; gap:clamp(10px,1.5vw,27px); min-width:0; }
.emiranda-desktop-links a { color:#d7ced0; font-size:clamp(.7rem,.86vw,.82rem); text-decoration:none; white-space:nowrap; font-weight:500; letter-spacing:.09em; transition:color .2s ease; }
.emiranda-desktop-links a:hover, .emiranda-desktop-links a:focus-visible { color:#ff7a7c; }
.emiranda-header-actions { flex:0 0 auto; display:flex; align-items:center; gap:16px; }
.emiranda-socials, .emiranda-language { display:flex; align-items:center; gap:10px; }
.emiranda-socials a { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; border:1px solid #574044; color:#ff6469; font-size:1.02rem; text-decoration:none; background:rgba(255,255,255,.045); transition:background .2s,color .2s; }
.emiranda-socials a:hover { background:#e3474f; color:white; }
.emiranda-language { font-size:.81rem; font-weight:750; gap:5px; padding:7px 8px; border-radius:9px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.13); }
.emiranda-language a { color:#a99fa1; text-decoration:none; padding:2px 4px; }
.emiranda-language a.selected { color:white; }
.emiranda-language span { color:#675e63; }
.emiranda-menu-toggle { display:none; min-width:38px; min-height:40px; color:#ff6a71; border:1px solid rgba(255,255,255,.16) !important; border-radius:9px; background:rgba(255,255,255,.04) !important; padding:4px; }
.emiranda-menu-toggle .bi { font-size:1.6rem; line-height:1; }
/* ============================================================
   03 - MENÚ LATERAL / TABLET Y MÓVIL / UNA FILA
============================================================ */
#mobileMenuOverlay { z-index:10001; top:var(--em-header-height); }
.mobile-sidebar-premium { z-index:10002; top:var(--em-header-height); height:calc(100dvh - var(--em-header-height)); width:min(340px, 89vw); left:0; transform:translateX(-105%); transition:transform .25s ease; padding:25px 23px; overflow-y:auto; overscroll-behavior:contain; }
.mobile-sidebar-premium.open { left:0; transform:translateX(0); }
.emiranda-sidebar-top { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,.14); margin-bottom:20px; color:white; letter-spacing:.08em; font-size:.85rem; }
.emiranda-sidebar-top button { color:#f06a72; border:0; background:none; font-size:1.3rem; padding:5px; }
.mobile-sidebar-premium .sidebar-links { gap:0; }
.mobile-sidebar-premium .link-item { display:block; padding:13px 3px; font-size:.83rem; letter-spacing:.11em; border-bottom:1px solid rgba(255,255,255,.08); }
.emiranda-sidebar-social { display:flex; gap:22px; margin-top:27px; }
.emiranda-sidebar-social a { color:#ff777a; font-size:1.4rem; }
.emiranda-menu-open { overflow:hidden; }
@media (max-width:1360px) {
  .emiranda-desktop-links { display:none; }
  .emiranda-menu-toggle { display:grid; place-items:center; }
  .emiranda-header-actions { margin-left:auto; }
}
@media (max-width:600px) {
  :root { --em-header-height:68px; }
  .emiranda-nav-shell { width:calc(100% - 28px); gap:8px; }
  .emiranda-brand { gap:7px; }
  .emiranda-brand-logo { width:50px; height:37px; }
  .emiranda-brand-name { font-size:clamp(.63rem,2.62vw,.82rem); letter-spacing:.055em; }
  .emiranda-socials { display:none; }
  .emiranda-header-actions { gap:8px; }
  .emiranda-language { padding:6px 5px; font-size:.73rem; }
  .emiranda-menu-toggle { min-width:35px; min-height:35px; }
}
@media (max-width:355px) {
  .emiranda-brand-logo { width:40px; height:33px; }
  .emiranda-brand-name { font-size:.58rem; letter-spacing:.025em; }
}
/* ============================================================
   04 - BOTONES FLOTANTES / WHATSAPP + GOOGLE MAPS
============================================================ */
.emiranda-floating-actions { position:fixed; z-index:9900; right:clamp(12px,2.6vw,28px); bottom:clamp(16px,3.5vh,32px); display:grid; gap:11px; pointer-events:none; }
.emiranda-float { pointer-events:auto; display:flex; justify-content:center; align-items:center; gap:9px; padding:12px 17px; border-radius:999px; color:white !important; font-size:.9rem; font-weight:700; text-decoration:none; box-shadow:0 8px 24px rgba(0,0,0,.37); transition:transform .2s ease,filter .2s ease; }
.emiranda-float .bi { font-size:1.2rem; }
.emiranda-float:hover { transform:translateY(-3px); filter:brightness(1.12); }
.emiranda-float-map { background:#181c24; border:1px solid #777a85; }
.emiranda-float-whatsapp { background:#167d4e; border:1px solid #68c995; }
@media (max-width:600px) {
  .emiranda-floating-actions { bottom:max(14px,env(safe-area-inset-bottom)); gap:9px; }
  .emiranda-float { width:49px; height:49px; padding:0; border-radius:50%; }
  .emiranda-float .bi { font-size:1.28rem; }
  .emiranda-float span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
}
/* ============================================================
   05 - HERO / PARTÍCULAS MÁS VISIBLES SIN CARGAR JAVASCRIPT
============================================================ */
.hero-cinematic { min-height: min(870px, 95svh); background:#090204; }
.hero-particles { background-image:radial-gradient(circle,rgba(241,72,82,.65) 1.7px,transparent 2.5px),radial-gradient(circle,rgba(255,132,140,.38) 1.2px,transparent 2.4px),radial-gradient(circle,rgba(235,61,76,.3) 1px,transparent 2px); background-size:87px 112px,157px 174px,239px 201px; opacity:.82; animation:emirandaDust 27s linear infinite; will-change:background-position; }
@keyframes emirandaDust { to { background-position:140px 510px,-110px 625px,270px 460px; } }
.hero-overlay { background:radial-gradient(circle at 84% 24%,rgba(170,0,22,.23),transparent 57%),linear-gradient(90deg,rgba(0,0,0,.93),rgba(0,0,0,.52)); }
/* ============================================================
   06 - SEPARACIÓN ENTRE SECCIONES / PROFUNDIDAD Y COLOR
============================================================ */
.section-services { background:radial-gradient(ellipse at 8% 0%,rgba(108,25,35,.18),transparent 55%),linear-gradient(180deg,#111216,#18191c) !important; }
.section-coleccion { background:linear-gradient(140deg,#0b1017,#151b26 55%,#0b1017) !important; }
.section-nosotros-dark { background-color:#0d0c0e; }
.section-faq-premium { background:linear-gradient(160deg,#151011,#0b0c0f) !important; }
.section-contacto-premium { background:linear-gradient(125deg,#100b0c,#201315 60%,#0c0a0b) !important; }
.section-services,.section-coleccion,.section-nosotros-dark,.section-faq-premium,.section-contacto-premium { border-top:1px solid rgba(255,255,255,.075); }
/* ============================================================
   07 - FLAMENCO / GALERÍA EDITORIAL RESPONSIVA SIN FOTOS LARGAS
============================================================ */
.flamenco-page { padding-top:clamp(36px,5vw,70px); }
.flamenco-gallery-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:clamp(10px,1.5vw,18px); }
.flamenco-gallery-grid .flamenco-gallery-item { margin:0; min-height:0; height:auto; aspect-ratio:4 / 5; }
.flamenco-gallery-grid .flamenco-gallery-item:nth-child(1) { grid-column:span 7; aspect-ratio:7 / 4.35; }
.flamenco-gallery-grid .flamenco-gallery-item:nth-child(2) { grid-column:span 5; aspect-ratio:5 / 4.35; }
.flamenco-gallery-grid .flamenco-gallery-item:nth-child(n+3) { grid-column:span 3; aspect-ratio:4 / 4.6; }
.flamenco-gallery-grid .flamenco-gallery-item img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 38%; }
.flamenco-gallery-grid .flamenco-gallery-item:nth-child(2) img { object-position:center 20%; }
.flamenco-gallery-grid .flamenco-gallery-caption { left:12px; right:12px; bottom:12px; }
.flamenco-gallery-grid .flamenco-gallery-caption span { font-size:clamp(.7rem,1vw,.83rem); padding:6px 11px; }
@media (max-width:1000px) {
  .flamenco-hero { grid-template-columns:1fr; padding:clamp(22px,4vw,34px); }
  .flamenco-copy { text-align:center; }
  .flamenco-text { margin-inline:auto; }
  .flamenco-highlights { justify-content:center; }
  .flamenco-logo-card { max-width:390px; }
  .flamenco-gallery-grid .flamenco-gallery-item:nth-child(n) { grid-column:span 6; aspect-ratio:4 / 3.7; }
}
@media (max-width:600px) {
  .flamenco-page { padding:30px 12px 42px; }
  .flamenco-hero,.flamenco-gallery-section { padding:19px 15px; border-radius:22px; }
  .flamenco-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .flamenco-gallery-grid .flamenco-gallery-item:nth-child(n) { grid-column:span 1; aspect-ratio:4 / 5; border-radius:13px; }
  .flamenco-gallery-grid .flamenco-gallery-caption { left:8px; right:8px; bottom:9px; }
  .flamenco-gallery-grid .flamenco-gallery-caption span { display:inline-block; font-size:clamp(.6rem,2.6vw,.79rem); line-height:1.2; border-radius:10px; padding:5px 7px; }
  .flamenco-gallery-grid .flamenco-gallery-item::after { inset:7px; border-radius:9px; }
  .flamenco-title { font-size:clamp(2.2rem,10vw,3.7rem); }
  .flamenco-logo-card { max-width:310px; padding:14px; }
  .flamenco-logo-wrap { padding:14px; }
  .flamenco-highlight { font-size:.78rem; padding:8px 11px; }
}
/* ============================================================
   08 - ANIMACIONES SENSIBLES / RENDIMIENTO Y ACCESIBILIDAD
============================================================ */
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  .hero-particles { animation:none !important; }
  .emiranda-float,.emiranda-navbar,.mobile-sidebar-premium { transition:none !important; }
}

/* ============================================================
   09 - SEPARADORES DE SECCIÓN / JERARQUÍA VISUAL EDITORIAL
============================================================ */
.section-block.section-full { margin-block:0; border-radius:0; }
.section-block.section-full .container { position:relative; }
.section-galeria-ultra { background: radial-gradient(ellipse at 70% 0%,rgba(81,65,44,.16),transparent 60%),#101014 !important; border-top:1px solid rgba(232,199,135,.14); }
.section-nosotros-dark::before { background-image:url('/img/nosotros.webp'); }
.section-contacto-premium::before { background-image:radial-gradient(circle,rgba(235,198,147,.12) .7px,transparent 1.6px); background-size:42px 42px; opacity:.34; }
.separator-premium { margin:0; }
.section-coleccion,.section-faq-premium,.section-services { position:relative; isolation:isolate; }
.section-coleccion::after,.section-services::after {
  content:''; position:absolute; pointer-events:none; height:1px; left:clamp(20px,9vw,160px); right:clamp(20px,9vw,160px); bottom:0;
  background:linear-gradient(90deg,transparent,rgba(237,201,150,.30),transparent);
}
/* ============================================================
   10 - PÁGINAS INTERIORES / SERVICIOS, NOSOTROS Y CONTACTO
============================================================ */
.page-detail-pad { width:min(100% - 36px,1140px); margin-inline:auto; padding-block:clamp(48px,7vw,90px) clamp(70px,8vw,108px); }
.page-detail-pad .section-heading { font-size:clamp(1.8rem,3.5vw,2.7rem); letter-spacing:.04em; }
.page-detail-pad .card-premium { height:100%; padding:clamp(20px,3vw,32px); }
.page-detail-pad .card-premium p { overflow-wrap:anywhere; }
.page-detail-pad .form-label { color:#e0d9dc; }
.page-detail-pad .text-muted { color:#c1bfc5 !important; }
.page-detail-pad .btn-premium { min-height:46px; }
.page-detail-pad :where(a) { overflow-wrap:anywhere; }
.legal-page-section { padding-top:clamp(45px,6vw,78px) !important; }
@media (max-width:767px) {
  .page-detail-pad { width:calc(100% - 26px); padding-block:32px 60px; }
  .section-block.section-full { padding-inline:0; }
  .hero-cinematic { min-height:auto; padding:clamp(65px,9vw,110px) 0 80px; }
  .hero-title { font-size:clamp(2rem,8vw,3rem); letter-spacing:.045em; line-height:1.18; }
  .hero-description { font-size:.99rem; }
  .form-premium-dark { padding:24px 19px; }
  .form-premium-dark::after { display:none; }
}
@media (max-width:420px) {
  .emiranda-brand-name { max-width:140px; white-space:normal; line-height:1.12; }
  .emiranda-brand-name span { white-space:nowrap; }
}

/* ============================================================
   11 / HERO PRINCIPAL - CTA DE SERVICIO A DOMICILIO (ES / EN)
   Solo modifica el nuevo botón. Conserva Flamenco y el hero.
============================================================ */
.hero-buttons .btn-hero-home {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 12px 19px; border-radius: 7px;
  border: 1px solid rgba(241, 110, 118, .74);
  background: linear-gradient(115deg, rgba(125, 22, 36, .85), rgba(58, 16, 23, .87));
  color: #fff; font-weight: 700; text-align: center; line-height: 1.35;
  box-shadow: 0 9px 25px rgba(179, 26, 44, .18);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.hero-buttons .btn-hero-home i:first-child { color: #ffd7d6; font-size: 1.15rem; }
.hero-buttons .btn-hero-home i:last-child { font-size: .85rem; }
.hero-buttons .btn-hero-home:hover, .hero-buttons .btn-hero-home:focus-visible {
  background: linear-gradient(115deg, #d33343, #9e1d2e); color: #fff;
  border-color: #ff8c93; box-shadow: 0 14px 30px rgba(212, 36, 54, .30); transform: translateY(-2px);
}
@media (max-width: 400px) {
  .hero-buttons .btn-hero-home { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-buttons .btn-hero-home { transition: none; }
}
