/* Tema BDEL — componentes del diseño original de bestdealeverlucifuge.com.
   Las utilidades (text-navy, bg-gold/10, grid…) salen de tailwind.css, que se
   compila con scripts/compilar-css.sh; aquí solo va lo que Tailwind no da. */

html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.bdel{font-family:var(--fuente-texto);margin:0;color:var(--color-texto);background:#fff;display:flex;flex-direction:column;min-height:100vh}
body.bdel > main{flex:1;min-width:0;overflow-x:clip;padding-top:var(--alto-cabecera)}
.font-heading{font-family:var(--fuente-titulos)}
.font-body{font-family:var(--fuente-texto)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.salta-al-contenido{position:absolute;left:-9999px;top:0;background:#fff;color:var(--navy);padding:10px 16px;z-index:200;border-radius:8px}
.salta-al-contenido:focus{left:8px;top:8px}

/* ===== Barra superior ===== */
.navbar{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.nav-link{font-size:.875rem;font-weight:500;transition:color .2s;cursor:pointer;white-space:nowrap;text-decoration:none;color:var(--navy)}
.nav-link:hover,.nav-link.active{color:#9a7a26}
.nav-idioma{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.nav-idioma svg{display:block;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.nav-dropdown{position:relative}
.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:4px}
.nav-dropdown-toggle i{font-size:1rem;transition:transform .15s ease}
.nav-dropdown-menu{position:absolute;top:100%;left:0;min-width:260px;background:#fff;border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.12);padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility .15s;z-index:200}
.nav-dropdown-menu a{display:block;padding:10px 12px;border-radius:7px;text-decoration:none;font-size:.95rem;color:var(--navy)}
.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus-visible,.nav-dropdown-menu a.active{background:rgba(201,168,76,.1);color:#7a5f17}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-dropdown:hover .nav-dropdown-toggle i,.nav-dropdown:focus-within .nav-dropdown-toggle i,.nav-dropdown.open .nav-dropdown-toggle i{transform:rotate(180deg)}
/* Un hueco entre el enlace y el submenú haría que se cierre al bajar el ratón */
.nav-dropdown-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}

/* ===== Menú del teléfono ===== */
.mobile-nav{background:var(--navy-deep);display:flex;flex-direction:column;max-height:calc(100vh - 70px);max-height:calc(100dvh - 70px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:8px}
.mobile-nav[hidden]{display:none}
.mobile-nav a{text-decoration:none}
.mobile-nav .m-link{display:flex;align-items:center;gap:10px;padding:15px 20px;border-bottom:1px solid rgba(255,255,255,.1);color:#fff}
.mobile-nav .m-link.active,.mobile-nav .m-row > a.active{color:var(--gold);font-weight:600;background:rgba(201,168,76,.1)}
.mobile-nav .m-row{display:flex;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.1)}
.mobile-nav .m-row > a{flex:1;display:block;padding:15px 20px;color:#fff}
.mobile-nav .m-toggle{background:none;border:none;border-left:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.75);padding:0 18px;cursor:pointer;font-size:1.2rem;line-height:1}
.mobile-nav .m-toggle i{display:inline-block;transition:transform .2s ease}
.mobile-nav .m-toggle[aria-expanded="true"] i{transform:rotate(180deg)}
.mobile-nav .m-toggle[aria-expanded="true"]{color:var(--gold)}
.mobile-nav .m-panel{display:none;background:rgba(0,0,0,.18)}
.mobile-nav .m-panel.open{display:block}
.mobile-nav .m-sublink{display:block;padding:12px 20px 12px 36px;border-bottom:1px solid rgba(255,255,255,.1);font-size:.95rem;color:rgba(255,255,255,.85)}
.mobile-nav .m-sublink.active{color:var(--gold)}
.mobile-nav .m-idioma{font-weight:600}
.mobile-nav .m-idioma svg{border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.mobile-nav .m-cta{margin:15px;display:block;padding:12px}
.mobile-nav::-webkit-scrollbar{width:4px}
.mobile-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:4px}
body.menu-abierto{overflow:hidden}

/* ===== Encabezados de sección ===== */
.hero-section{position:relative;overflow:hidden;min-height:calc(100vh - var(--alto-cabecera));display:flex;align-items:center}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(6,13,31,.92) 0%,rgba(6,13,31,.80) 35%,rgba(6,13,31,.30) 60%,rgba(6,13,31,.05) 80%,rgba(6,13,31,0) 100%),linear-gradient(to bottom,rgba(6,13,31,.35) 0%,rgba(6,13,31,0) 35%,rgba(6,13,31,.45) 100%)}
.page-hero{position:relative;overflow:hidden;padding:5rem 0}
.page-hero .hero-overlay{background:linear-gradient(to bottom,rgba(6,13,31,.6),rgba(6,13,31,.95))}

/* ===== Animación de entrada =====
   Solo se esconde si el JavaScript está activo (clase js en <html>): sin JS,
   o si el script falla, el contenido se ve igual. */
/* Solo se ocultan los bloques que empiezan fuera de la pantalla: lo que se ve al
   cargar (el hero) se pinta de inmediato, para que Google mida el LCP. */
.js .fade-in.por-aparecer{opacity:0;transform:translateY(2rem);transition:opacity .7s,transform .7s}
.js .fade-in.por-aparecer.visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){.js .fade-in.por-aparecer{opacity:1;transform:none;transition:none}}

/* ===== Tarjetas ===== */
.service-card{background:#fff;border-radius:1rem;padding:2rem;border:1px solid #e5e7eb;transition:all .3s}
.service-card:hover{transform:translateY(-.25rem);box-shadow:0 4px 6px -1px rgba(0,0,0,.1);border-color:rgba(201,168,76,.3)}
.portfolio-card{position:relative;border-radius:1rem;overflow:hidden;cursor:pointer}
.portfolio-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.portfolio-card:hover img{transform:scale(1.05)}
.portfolio-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(30,20,8,.92) 0%,rgba(30,20,8,.75) 40%,rgba(30,20,8,.15) 70%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem}
.stat-item{text-align:center}
.stat-value{font-family:var(--fuente-titulos);font-weight:700;color:var(--gold)}
.timeline{position:relative;padding-left:2rem}
.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:rgba(201,168,76,.3)}
.timeline-item{position:relative;margin-bottom:2.5rem;padding-left:1.5rem}
.timeline-item::before{content:'';position:absolute;left:-2.35rem;top:.25rem;width:12px;height:12px;border-radius:50%;background:var(--gold);border:3px solid var(--navy-deep)}
.value-card{text-align:center;padding:2rem 1.5rem;border:1px solid rgba(255,255,255,.1);border-radius:1rem;transition:all .3s}
.value-card:hover{border-color:rgba(201,168,76,.3);background:rgba(201,168,76,.05)}
.process-step{position:relative;padding:2rem;border:1px solid rgba(201,168,76,.2);border-radius:1rem;background:rgba(201,168,76,.05)}
.step-number{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--gold);color:var(--navy);font-family:var(--fuente-titulos);font-weight:700;font-size:1rem;margin-bottom:1rem}
.team-card{text-align:center}
.team-card img{width:8rem;height:8rem;border-radius:50%;object-fit:cover;margin:0 auto 1rem;border:3px solid rgba(201,168,76,.3)}
.pricing-card{border-radius:1.5rem;padding:2.5rem;border:1px solid #e5e7eb;background:#fff;transition:all .3s}
.pricing-card.featured{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);position:relative}
.pricing-badge{position:absolute;top:-.875rem;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--navy);font-family:var(--fuente-titulos);font-weight:600;font-size:.75rem;padding:.25rem 1rem;border-radius:9999px;white-space:nowrap}
.faq-item{border-bottom:1px solid #e5e7eb}
.faq-question{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0;cursor:pointer;font-family:var(--fuente-titulos);font-weight:600;color:var(--navy)}
.faq-question i{transition:transform .3s;color:var(--gold)}
.faq-item.open .faq-question i{transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s,padding .3s}
.faq-item.open .faq-answer{max-height:600px;padding-bottom:1.25rem}
details summary::-webkit-details-marker{display:none}
.badge-row{display:flex;gap:1rem;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;border:1px solid rgba(201,168,76,.3);color:var(--gold)}

/* ===== Formularios ===== */
.form-input{width:100%;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:.5rem;font-family:var(--fuente-texto);font-size:.875rem;transition:border-color .2s;outline:none;box-sizing:border-box;background:#fff;color:#111827}
.form-input:focus{border-color:var(--gold)}

/* ===== Botones ===== */
.btn-gold,.btn-navy,.btn-outline{display:inline-block;font-family:var(--fuente-titulos);font-weight:600;padding:.75rem 2rem;border-radius:9999px;text-decoration:none;transition:all .2s;cursor:pointer;font-size:.875rem;line-height:1.4}
.btn-gold{background:var(--gold);color:var(--navy);border:none}
.btn-gold:hover{background:var(--gold-light)}
.btn-gold:disabled{opacity:.7;cursor:wait}
.btn-navy{background:var(--navy);color:var(--gold);border:none}
.btn-navy:hover{background:var(--navy-deep)}
.btn-outline{border:2px solid var(--gold);color:var(--gold);background:transparent;padding:.625rem 1.75rem}
.btn-outline:hover{background:var(--gold);color:var(--navy)}

/* ===== Espaciado ===== */
.section{padding:5rem 0}
.container{max-width:80rem;margin:0 auto;padding:0 1rem;width:100%}
@media (min-width:768px){.container{padding:0 2rem}}

/* ===== Testimonios ([testimoniales]) con el aire del diseño original ===== */
.bdel .testimoniales-tarjetas{display:flex;gap:1.5rem;width:100%;max-width:100%;min-width:0;box-sizing:border-box;contain:inline-size;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:.25rem 0 1rem;scroll-padding-inline:0;margin:26px 0 0}
.bdel .testimoniales-tarjetas::-webkit-scrollbar{display:none}
.bdel .testimoniales-tarjetas>.testimonial{flex:0 0 85%;scroll-snap-align:start}
@media (min-width:768px){.bdel .testimoniales-tarjetas>.testimonial{flex-basis:calc((100% - 1.5rem)/2)}}
@media (min-width:1024px){.bdel .testimoniales-tarjetas>.testimonial{flex-basis:calc((100% - 3rem)/3)}}
.bdel .testi-controles{display:flex;justify-content:center;align-items:center;gap:.75rem;margin-top:.5rem}
.bdel .testi-controles[hidden]{display:none}
.bdel .testi-flecha{width:44px;height:44px;border-radius:50%;border:1px solid rgba(201,168,76,.5);background:var(--navy-deep);color:var(--gold);display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;cursor:pointer;transition:background .2s,color .2s,opacity .2s}
.bdel .testi-flecha:hover:not(:disabled){background:var(--gold);color:var(--navy-deep)}
.bdel .testi-flecha:disabled{opacity:.35;cursor:default}
.bdel .testi-puntos{display:flex;gap:.4rem}
.bdel .testi-punto{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:rgba(201,168,76,.35);cursor:pointer}
.bdel .testi-punto[aria-current="true"]{background:var(--gold);width:22px;border-radius:4px}
.bdel .testimoniales .testimonial{margin:0;background:var(--navy-deep);color:rgba(255,255,255,.85);border-radius:1rem;padding:2rem;display:flex;flex-direction:column;gap:1rem}
.bdel .testimoniales .testimonial img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid rgba(201,168,76,.3)}
.bdel .testimoniales .testi-estrellas{color:var(--gold);letter-spacing:2px}
.bdel .testimoniales blockquote{margin:0;font-style:italic;line-height:1.7}
.bdel .testimoniales figcaption strong{display:block;color:#fff;font-family:var(--fuente-titulos)}
.bdel .testimoniales figcaption span{color:var(--gold);font-size:.8rem}

/* ===== Contenido escrito en el editor (plantilla «completa» y artículos) ===== */
.contenido,.blog-texto{font-size:1.0625rem;line-height:1.75;color:#374151}
.contenido h2,.blog-texto h2{font-family:var(--fuente-titulos);color:var(--navy);font-weight:700;font-size:clamp(1.5rem,3vw,1.9rem);line-height:1.3;margin:2.25rem 0 .9rem}
.contenido h3,.blog-texto h3{font-family:var(--fuente-titulos);color:var(--navy);font-weight:600;font-size:1.3rem;margin:1.75rem 0 .6rem}
.contenido p,.blog-texto p{margin:0 0 1.1rem}
.contenido ul,.contenido ol,.blog-texto ul,.blog-texto ol{margin:0 0 1.1rem;padding-left:1.5rem}
.contenido ul,.blog-texto ul{list-style:disc}
.contenido ol,.blog-texto ol{list-style:decimal}
.contenido li,.blog-texto li{margin:.3rem 0}
.contenido a,.blog-texto a{color:var(--color-enlace);text-decoration:underline;text-underline-offset:2px}
.contenido img,.blog-texto img{border-radius:var(--radio);max-width:100%;height:auto}
.contenido blockquote,.blog-texto blockquote{margin:0 0 1.25rem;padding:.9rem 1.25rem;border-left:4px solid var(--gold);background:var(--color-fondo-suave);border-radius:0 8px 8px 0}
.contenido table,.blog-texto table{width:100%;border-collapse:collapse;margin:0 0 1.25rem;font-size:.95rem}
.contenido th,.contenido td,.blog-texto th,.blog-texto td{border:1px solid var(--color-borde);padding:.6rem .75rem;text-align:left}
.contenido th,.blog-texto th{background:var(--color-fondo-suave)}
.disposicion{display:grid;gap:2.25rem;align-items:start}
.disposicion.izquierda{grid-template-columns:300px 1fr}
.disposicion.derecha{grid-template-columns:1fr 300px}
.disposicion.ambas{grid-template-columns:260px 1fr 260px}
@media (max-width:900px){.disposicion.izquierda,.disposicion.derecha,.disposicion.ambas{grid-template-columns:1fr}}
.widget{background:var(--color-fondo-suave);border:1px solid var(--color-borde);border-radius:var(--radio);padding:1.25rem;margin-bottom:1.25rem}

/* ===== Crédito de la agencia y botón para subir ===== */
.credito-agencia{margin:0}
.credito-agencia a{font-weight:700;color:inherit;text-decoration:none}
.credito-agencia a:hover{color:var(--gold);text-decoration:underline}
.scroll-top{position:fixed;bottom:2rem;right:1.5rem;z-index:100;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--gold);color:var(--navy);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.2);font-size:1.25rem}
.scroll-top[hidden]{display:none}

/* ===== Carrusel de casos (páginas de servicio) ===== */
.bdel-cases-viewport{position:relative}
.bdel-cases-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.bdel-cases-track::-webkit-scrollbar{display:none}
.bdel-case{flex:0 0 100%;min-width:100%;scroll-snap-align:start;scroll-snap-stop:always}

/* ===== Blog del sistema con la tipografía del tema ===== */
.bdel .blog-encabezado h1,.bdel .blog-articulo h1,.bdel .blog-tarjeta h2,.bdel .blog-tarjeta h3{font-family:var(--fuente-titulos);color:var(--navy)}
