/* ════════════════════════════════════════════════════════════════════
   DISEÑO TIENDA DAVE · clon de daveformacion.com/cursos-online
   Tokens + componentes para que el build "de gestión" adopte este look.
   Fuente display+texto: Inter. Paleta navy #0F2A47 + naranja #F26B1F.
   Código de referencia completo: ../muestra/index.html y ../muestra/curso-ejemplo.html
   ════════════════════════════════════════════════════════════════════ */
:root{
  --navy:#0F2A47;        /* titulares */
  --navy-text:#1B3354;   /* texto */
  --navy-deep:#08182B;   /* footer */
  --muted:#6B7E9A;
  --orange:#F26B1F;      /* acento / CTA */
  --orange-600:#E15A12;  /* hover */
  --peach:#FFF4ED;       /* fondo iconos naranja */
  --line:#E4E9F0;        /* bordes */
  --bg:#fff;--bg-soft:#F7F9FC;--wa:#25D366;
  --shadow:0 1px 3px rgba(15,42,71,.06),0 4px 12px rgba(15,42,71,.04);
  --shadow-hover:0 8px 22px rgba(15,42,71,.12),0 16px 40px rgba(15,42,71,.08);
  --ease:cubic-bezier(.22,.61,.36,1);--max:1216px;--font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--navy-text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}h1,h2,h3,h4{color:var(--navy);letter-spacing:-.02em;line-height:1.08}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:2px;border-radius:4px}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2rem)}
.star{width:34px;height:34px;flex:none}.star line{stroke:var(--navy);stroke-width:7;stroke-linecap:round}footer .star line{stroke:#fff}
/* HEADER (píldora minimal blanca sticky) */
.head{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.head .wrap{display:flex;align-items:center;gap:1.5rem;padding-block:.85rem}.brand{display:flex;align-items:center;gap:.6rem}
.brand .name{font-weight:800;font-size:.96rem;line-height:.98;color:var(--navy)}.brand .name small{display:block;font-weight:700}
.nav{display:flex;gap:.3rem;margin-left:auto;align-items:center}.nav a{padding:.5rem .8rem;font-weight:600;font-size:.86rem;color:var(--navy);border-radius:6px;transition:color .2s}
.nav a:hover{color:var(--orange)}
/* CTA del header — sin relleno, igual que el resto de enlaces (David 2026-06-10) */
.nav .cta{background:none;color:var(--navy);padding:.5rem .8rem;border-radius:6px;font-size:.86rem;font-weight:600;transition:color .2s}
.nav .cta:hover{color:var(--orange)}
/* THEME TOGGLE (header) — traducción vanilla del componente theme-toggle */
.tswitch{position:relative;width:58px;height:30px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;flex:none;padding:0;transition:background .3s,border-color .3s}
.tswitch .knob{position:absolute;top:2.5px;left:3px;width:23px;height:23px;border-radius:50%;background:#0F2A47;color:#fff;display:grid;place-items:center;transition:transform .3s var(--ease),background .3s}
.tswitch svg{width:14px;height:14px}
.tswitch .ic-moon{display:none}
html.dark .tswitch{background:#0E2238;border-color:rgba(148,170,197,.25)}
html.dark .tswitch .knob{transform:translateX(28px);background:#E8EEF6;color:#0E2238}
html.dark .tswitch .ic-sun{display:none}
html.dark .tswitch .ic-moon{display:block}.burger{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;flex-direction:column;gap:4px;align-items:center;justify-content:center}.burger span{width:18px;height:2px;background:var(--navy);border-radius:2px}
/* ═══ Botones píldora del header (Solicitar info + Login→Moodle) ═══ */
.nav .hbtn{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;font-size:.84rem;padding:.55rem 1.05rem;border-radius:999px;white-space:nowrap;transition:background .2s,transform .2s}
.nav .hbtn:hover{transform:translateY(-1px)}
.nav .hbtn--info{background:var(--orange);color:#fff}
.nav .hbtn--info:hover{background:var(--orange-600);color:#fff}
.nav .hbtn--login{background:#0F2A47;color:#fff}
.nav .hbtn--login:hover{background:var(--orange);color:#fff}
html.dark .nav .hbtn--login{background:#E8EEF6;color:#0E2238}
html.dark .nav .hbtn--login:hover{background:var(--orange);color:#fff}
.nav .hbtn--lang{background:var(--bg-soft);border:1px solid var(--line);color:var(--navy);cursor:default}
.nav .hbtn--lang:hover{transform:none}
html.dark .nav .hbtn--lang{background:#0E2238;color:var(--navy-text)}
@media(max-width:820px){.nav .hbtn--info{display:none}.nav .hbtn--lang{display:none}}
@media(max-width:680px){.nav .hbtn--login{padding:.5rem .7rem}}
/* ═══ SUBNAV de categorías (réplica euroinnova, con nuestras áreas) ═══ */
.subnav{background:var(--bg-soft);border-top:1px solid var(--line)}
.sn-in{display:flex;align-items:center;gap:.2rem}
@media(max-width:680px){.sn-in{overflow-x:auto;scrollbar-width:none}.sn-in::-webkit-scrollbar{display:none}}
.sn-link{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem .9rem;font-weight:600;font-size:.88rem;color:var(--navy);white-space:nowrap;transition:color .2s}
.sn-link:hover{color:var(--orange)}
.sn-badge{background:var(--orange);color:#fff;font-size:.64rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:.22rem .55rem;border-radius:999px}
.sn-cursos{position:relative}
.sn-drop{position:absolute;top:100%;left:.4rem;z-index:60;min-width:330px;max-height:70vh;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:0 0 12px 12px;box-shadow:var(--shadow-hover);padding:.5rem 0;visibility:hidden;opacity:0;translate:0 6px;transition:opacity .2s,translate .2s,visibility .2s}
.sn-cursos:hover .sn-drop,.sn-cursos:focus-within .sn-drop{visibility:visible;opacity:1;translate:0 0}
.sn-drop a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 1.1rem;font-size:.88rem;font-weight:500;color:var(--navy-text);transition:background .15s,color .15s}
.sn-drop a:hover{background:var(--bg-soft);color:var(--orange)}
.sn-drop a span{font-size:.74rem;color:var(--muted);font-weight:600}
.sn-pill{margin-left:auto;display:inline-flex;align-items:center;gap:.45rem;background:var(--navy);color:#fff;font-weight:700;font-size:.82rem;padding:.5rem 1rem;border-radius:999px;white-space:nowrap;transition:background .2s}
.sn-pill:hover{background:var(--orange)}
.sn-accent{height:3px;background:var(--orange)}
.sn-badge--uni{background:var(--navy)}
.card .media .ects{position:absolute;bottom:.6rem;right:.7rem;z-index:2;color:#fff;font-size:.72rem;font-weight:800;background:var(--orange);padding:.22rem .55rem;border-radius:6px}
.ucard .foot .btn{white-space:nowrap}
@media(max-width:680px){.sn-drop{display:none}.sn-pill{margin-left:.4rem}}
html.dark .subnav{background:#0C1F33;border-color:var(--line)}
html.dark .sn-drop{background:#0E2238}
html.dark .sn-drop a:hover{background:#0C1F33}
html.dark .sn-pill{background:#E8EEF6;color:#0E2238}
html.dark .sn-pill:hover{background:var(--orange);color:#fff}
/* BOTONES (naranja, radio 6px, MAYÚSCULAS — estilo "BUSCAR CURSOS") */
.btn{display:inline-flex;align-items:center;gap:.55rem;cursor:pointer;border:none;font-family:var(--font);font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;border-radius:6px;padding:.85rem 1.4rem;transition:background .22s,transform .22s,box-shadow .22s}
.btn--buy{background:linear-gradient(180deg,#F47B33,#F26B1F);color:#fff;box-shadow:0 6px 16px -6px rgba(242,107,31,.55)}.btn--buy:hover{background:linear-gradient(180deg,#EA6526,#E15A12);transform:translateY(-2px);box-shadow:0 12px 24px -8px rgba(242,107,31,.6)}
.btn--out{background:#fff;color:var(--navy);border:1.5px solid var(--line)}.btn--out:hover{border-color:var(--navy);transform:translateY(-2px)}.btn .ar{transition:transform .22s}.btn:hover .ar{transform:translateX(3px)}
/* HERO PORTADA */
.hero{position:relative;padding-block:clamp(2.4rem,5vw,4.2rem);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(55% 50% at 10% 6%,rgba(242,107,31,.07),transparent 60%),radial-gradient(50% 55% at 96% 16%,rgba(15,42,71,.06),transparent 60%)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.6rem,4vw,3.5rem);align-items:center}
.epill{display:inline-flex;align-items:center;gap:.5rem;background:var(--peach);color:var(--orange-600);border:1px solid #fcd9c2;font-weight:700;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;padding:.42rem .85rem;border-radius:999px;margin-bottom:1.1rem}
.epill .dot{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px rgba(242,107,31,.18)}
h1.big{font-weight:800;font-size:clamp(2.4rem,5.5vw,4.2rem);text-transform:uppercase;letter-spacing:-.025em}
.hero p.sub{margin-top:1.2rem;color:var(--muted);font-size:clamp(1rem,1.5vw,1.18rem);max-width:46ch}
.searchbar{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.5rem .5rem .5rem 1.1rem;margin-top:1.8rem;box-shadow:var(--shadow);max-width:560px;transition:box-shadow .2s,border-color .2s}
.searchbar:focus-within{border-color:var(--orange);box-shadow:0 0 0 4px rgba(242,107,31,.12),var(--shadow)}
.searchbar svg{color:var(--muted);flex:none}.searchbar input{border:none;outline:none;flex:1;font-family:var(--font);font-size:1rem;color:var(--navy);background:transparent;min-width:0}.searchbar input::placeholder{color:var(--muted)}
.feats{display:flex;flex-wrap:wrap;gap:1.6rem 2rem;margin-top:2rem}.feat{display:flex;gap:.7rem;align-items:flex-start;max-width:15rem}
.feat .fi{width:40px;height:40px;border-radius:10px;background:var(--peach);color:var(--orange);display:grid;place-items:center;flex:none;transition:transform .2s}
.feat:hover .fi{transform:translateY(-2px)}
.feat .ft{font-weight:700;font-size:.84rem;color:var(--navy);text-transform:uppercase;letter-spacing:.03em}.feat .fd{font-size:.85rem;color:var(--muted)}
/* TARJETA "ÚLTIMOS CURSOS AÑADIDOS" */
.latest{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:1.3rem}
.latest .lh{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}.badge-new{background:var(--orange);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .6rem;border-radius:6px}
.latest .lh .t{font-weight:800;font-size:.9rem;color:var(--navy);text-transform:uppercase}.latest .lh .see{margin-left:auto;color:var(--orange);font-weight:700;font-size:.72rem;text-transform:uppercase}
.lrow{display:flex;gap:.9rem;padding:.7rem 0;border-top:1px solid var(--line)}.lrow .thumb{position:relative;width:96px;height:62px;border-radius:8px;flex:none;overflow:hidden;background-color:#0c2138;background-image:linear-gradient(180deg,rgba(8,24,43,.2),rgba(8,24,43,.5)),var(--img,linear-gradient(135deg,#13314f,#0a1b2e));background-size:cover;background-position:center}
.lrow .thumb::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 100% at 80% 0,rgba(242,107,31,.3),transparent 55%)}
.lrow .thumb .h{position:absolute;left:6px;bottom:5px;z-index:1;color:#fff;font-size:.64rem;font-weight:700;background:rgba(8,24,43,.6);padding:.1rem .35rem;border-radius:4px}
.lrow .cat{color:var(--orange);font-size:.64rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.lrow h4{font-size:.92rem;font-weight:700;line-height:1.2;margin:.1rem 0 .15rem}.lrow .d{font-size:.76rem;color:var(--muted)}
/* SECCIONES */
.section{padding-block:clamp(2.4rem,5vw,3.6rem)}.section.soft{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sh{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.8rem}.sh h2{font-size:clamp(1.5rem,3.4vw,2.2rem);font-weight:800;text-transform:uppercase}.sh .see{color:var(--orange);font-weight:700;font-size:.84rem;text-transform:uppercase}
/* TARJETA DE CURSO (imagen arriba + categoría overlay + bookmark + horas) — pulida con patrones 21st.dev */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:box-shadow .3s var(--ease),transform .3s var(--ease),border-color .3s}
.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-5px);border-color:#f7c9ad}
.card .media{position:relative;aspect-ratio:16/10;overflow:hidden;background-color:#0c2138;background-image:linear-gradient(180deg,rgba(10,27,46,.18),rgba(8,24,43,.66)),var(--img,linear-gradient(135deg,#16385f,#0c2138));background-size:cover;background-position:center}
.card .media::before{content:"";position:absolute;top:0;left:-70%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-18deg);transition:left .65s var(--ease);z-index:1}
.card:hover .media::before{left:140%}
.card .media::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 100% at 82% 0,rgba(242,107,31,.32),transparent 52%);transition:background .35s}
.card:hover .media::after{background:radial-gradient(135% 120% at 78% -5%,rgba(242,107,31,.55),transparent 56%)}
.card .media .c{position:absolute;top:.7rem;left:.7rem;z-index:2;color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(8,24,43,.5);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.14);padding:.3rem .58rem;border-radius:6px;max-width:80%}
.card .media .bk{position:absolute;top:.6rem;right:.6rem;z-index:2;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.92);backdrop-filter:blur(4px);display:grid;place-items:center;color:var(--navy);box-shadow:var(--shadow);transition:.2s}
.card:hover .media .bk{background:var(--orange);color:#fff}
.card .media .h{position:absolute;bottom:.6rem;left:.7rem;z-index:2;color:#fff;font-size:.72rem;font-weight:700;background:rgba(8,24,43,.6);backdrop-filter:blur(4px);padding:.22rem .55rem;border-radius:6px}
.card .b{padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.card h4{font-size:1rem;font-weight:700;line-height:1.25;min-height:2.5em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .cert{display:inline-flex;align-items:center;gap:.32rem;font-size:.72rem;font-weight:600;color:var(--muted)}.card .cert b{color:var(--orange);font-weight:800}
.card .d{font-size:.82rem;color:var(--muted);flex:1}.card .foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:.7rem;margin-top:auto}
.card .foot .hh{font-size:.8rem;color:var(--muted);display:inline-flex;align-items:center;gap:.3rem}.card .foot .pr{font-weight:800;color:var(--navy);font-size:1.1rem;letter-spacing:-.01em;transition:color .2s}.card:hover .foot .pr{color:var(--orange)}
/* ═══ Beca + precio tachado + compartir (estructura euroinnova) ═══ */
.card .catline{color:var(--orange);font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.card .foot .prw{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.old{text-decoration:line-through;color:var(--muted);font-weight:600;font-size:.8rem}
.media .acts{position:absolute;top:.6rem;right:.6rem;z-index:2;display:flex;gap:.4rem}
.media .acts .share,.media .acts .bk{position:static;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.92);backdrop-filter:blur(4px);display:grid;place-items:center;color:var(--navy);box-shadow:var(--shadow);cursor:pointer;transition:.2s}
.media .acts .share:hover,.media .acts .bk:hover{background:var(--orange);color:#fff}
.media .sharebar{position:absolute;top:.6rem;right:.6rem;z-index:3;display:none;gap:.35rem}
.media.shopen .sharebar{display:flex}.media.shopen .acts{visibility:hidden}
.sbtn{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center;color:#6B7E9A;box-shadow:var(--shadow);cursor:pointer;font-size:.78rem;transition:.2s}
.sbtn:hover{color:#fff;background:var(--orange)}
.share-row{display:flex;align-items:center;gap:.45rem;margin-top:1.1rem}
.share-row .lbl{font-size:.8rem;color:var(--muted);font-weight:600;margin-right:.2rem}
.share-row .sbtn{background:var(--bg-soft);border:1px solid var(--line);box-shadow:none}
.share-row .sbtn:hover{background:var(--orange);border-color:var(--orange)}
html.dark .sbtn{background:#0E2238}
html.dark .share-row .sbtn{background:#0E2238;border-color:var(--line)}
/* IMÁGENES REALES POR ÁREA (Unsplash · licencia comercial libre) sobre overlay navy para legibilidad */
.card .media.a-sanidad-dietetica-y-nutricion{background:linear-gradient(180deg,rgba(10,27,46,.2),rgba(8,24,43,.68)),url(assets/areas/sanidad-dietetica-y-nutricion.jpg) center/cover}
.card .media.a-informatica-diseno-y-programacion{background:linear-gradient(180deg,rgba(10,27,46,.2),rgba(8,24,43,.68)),url(assets/areas/informatica-diseno-y-programacion.jpg) center/cover}
.card .media.a-formacion-profesional-y-oficios{background:linear-gradient(180deg,rgba(10,27,46,.2),rgba(8,24,43,.68)),url(assets/areas/formacion-profesional-y-oficios.jpg) center/cover}
.card .media.a-empresa-marketing-y-rrhh{background:linear-gradient(180deg,rgba(10,27,46,.2),rgba(8,24,43,.68)),url(assets/areas/empresa-marketing-y-rrhh.jpg) center/cover}
.card .media.a-agraria{background:linear-gradient(180deg,rgba(10,27,46,.2),rgba(8,24,43,.68)),url(assets/areas/agraria.jpg) center/cover}
.card .media.a-actividad-fisica-y-deporte{background:linear-gradient(180deg,rgba(10,27,46,.2),rgba(8,24,43,.68)),url(assets/areas/actividad-fisica-y-deporte.jpg) center/cover}
.card .media.a-energias-renovables-y-agua{background:linear-gradient(180deg,rgba(10,27,46,.2),rgba(8,24,43,.68)),url(assets/areas/energias-renovables-y-agua.jpg) center/cover}
.card .media.a-prl-calidad-y-medioambiente{background:linear-gradient(180deg,rgba(10,27,46,.2),rgba(8,24,43,.68)),url(assets/areas/prl-calidad-y-medioambiente.jpg) center/cover}
.card .media.a-certificados-de-profesionalidad{background:linear-gradient(180deg,rgba(10,27,46,.2),rgba(8,24,43,.68)),url(assets/areas/certificados-de-profesionalidad.jpg) center/cover}
.card .media.a-educacion-y-orientacion-laboral{background:linear-gradient(180deg,rgba(10,27,46,.2),rgba(8,24,43,.68)),url(assets/areas/educacion-y-orientacion-laboral.jpg) center/cover}
.card .media.a-fabricacion-mecanica{background:linear-gradient(180deg,rgba(10,27,46,.2),rgba(8,24,43,.68)),url(assets/areas/fabricacion-mecanica.jpg) center/cover}
.card .media.a-general{background:linear-gradient(180deg,rgba(10,27,46,.2),rgba(8,24,43,.68)),url(assets/areas/general.jpg) center/cover}
.card .media.a-idiomas{background:linear-gradient(180deg,rgba(10,27,46,.2),rgba(8,24,43,.68)),url(assets/areas/idiomas.jpg) center/cover}
.card .media.a-inmobiliaria-arquitectura-e-interiorismo{background:linear-gradient(180deg,rgba(10,27,46,.2),rgba(8,24,43,.68)),url(assets/areas/inmobiliaria-arquitectura-e-interiorismo.jpg) center/cover}
.card .media.a-seguridad-y-vigilancia{background:linear-gradient(180deg,rgba(10,27,46,.2),rgba(8,24,43,.68)),url(assets/areas/seguridad-y-vigilancia.jpg) center/cover}
.card .media.a-servicios-a-la-comunidad{background:linear-gradient(180deg,rgba(10,27,46,.2),rgba(8,24,43,.68)),url(assets/areas/servicios-a-la-comunidad.jpg) center/cover}
/* REJILLA DE ÁREAS */
.areas{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.area{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:130px;border-radius:14px;overflow:hidden;padding:1.1rem;color:#fff;background-color:#0c2138;background-image:linear-gradient(180deg,rgba(8,24,43,.38),rgba(8,24,43,.8)),var(--img,linear-gradient(135deg,#16385a,#0c2138));background-size:cover;background-position:center;border:1px solid var(--line);transition:transform .3s var(--ease),box-shadow .3s}
.area::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 100% at 85% 0,rgba(242,107,31,.32),transparent 55%);transition:background .3s}.area:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.area:hover::after{background:radial-gradient(130% 120% at 82% -5%,rgba(242,107,31,.5),transparent 58%)}.area span{position:relative;z-index:1}.area .an{font-weight:800;font-size:1rem;line-height:1.15}.area .ac{font-size:.78rem;color:rgba(255,255,255,.78);margin-top:.25rem}
/* imágenes reales en las tarjetas de área (overlay más fuerte: el texto va sobre la foto) */
.area.a-sanidad-dietetica-y-nutricion{background:linear-gradient(180deg,rgba(8,24,43,.42),rgba(8,24,43,.84)),url(assets/areas/sanidad-dietetica-y-nutricion.jpg) center/cover}
.area.a-informatica-diseno-y-programacion{background:linear-gradient(180deg,rgba(8,24,43,.42),rgba(8,24,43,.84)),url(assets/areas/informatica-diseno-y-programacion.jpg) center/cover}
.area.a-formacion-profesional-y-oficios{background:linear-gradient(180deg,rgba(8,24,43,.42),rgba(8,24,43,.84)),url(assets/areas/formacion-profesional-y-oficios.jpg) center/cover}
.area.a-empresa-marketing-y-rrhh{background:linear-gradient(180deg,rgba(8,24,43,.42),rgba(8,24,43,.84)),url(assets/areas/empresa-marketing-y-rrhh.jpg) center/cover}
.area.a-agraria{background:linear-gradient(180deg,rgba(8,24,43,.42),rgba(8,24,43,.84)),url(assets/areas/agraria.jpg) center/cover}
.area.a-actividad-fisica-y-deporte{background:linear-gradient(180deg,rgba(8,24,43,.42),rgba(8,24,43,.84)),url(assets/areas/actividad-fisica-y-deporte.jpg) center/cover}
.area.a-energias-renovables-y-agua{background:linear-gradient(180deg,rgba(8,24,43,.42),rgba(8,24,43,.84)),url(assets/areas/energias-renovables-y-agua.jpg) center/cover}
.area.a-prl-calidad-y-medioambiente{background:linear-gradient(180deg,rgba(8,24,43,.42),rgba(8,24,43,.84)),url(assets/areas/prl-calidad-y-medioambiente.jpg) center/cover}
.area.a-certificados-de-profesionalidad{background:linear-gradient(180deg,rgba(8,24,43,.42),rgba(8,24,43,.84)),url(assets/areas/certificados-de-profesionalidad.jpg) center/cover}
.area.a-educacion-y-orientacion-laboral{background:linear-gradient(180deg,rgba(8,24,43,.42),rgba(8,24,43,.84)),url(assets/areas/educacion-y-orientacion-laboral.jpg) center/cover}
.area.a-fabricacion-mecanica{background:linear-gradient(180deg,rgba(8,24,43,.42),rgba(8,24,43,.84)),url(assets/areas/fabricacion-mecanica.jpg) center/cover}
.area.a-general{background:linear-gradient(180deg,rgba(8,24,43,.42),rgba(8,24,43,.84)),url(assets/areas/general.jpg) center/cover}
.area.a-idiomas{background:linear-gradient(180deg,rgba(8,24,43,.42),rgba(8,24,43,.84)),url(assets/areas/idiomas.jpg) center/cover}
.area.a-inmobiliaria-arquitectura-e-interiorismo{background:linear-gradient(180deg,rgba(8,24,43,.42),rgba(8,24,43,.84)),url(assets/areas/inmobiliaria-arquitectura-e-interiorismo.jpg) center/cover}
.area.a-seguridad-y-vigilancia{background:linear-gradient(180deg,rgba(8,24,43,.42),rgba(8,24,43,.84)),url(assets/areas/seguridad-y-vigilancia.jpg) center/cover}
.area.a-servicios-a-la-comunidad{background:linear-gradient(180deg,rgba(8,24,43,.42),rgba(8,24,43,.84)),url(assets/areas/servicios-a-la-comunidad.jpg) center/cover}
/* miniaturas "últimos cursos añadidos" (thumb pequeño con la foto del área) */
.lrow .thumb.a-sanidad-dietetica-y-nutricion{background:linear-gradient(180deg,rgba(8,24,43,.25),rgba(8,24,43,.6)),url(assets/areas/sanidad-dietetica-y-nutricion.jpg) center/cover}
.lrow .thumb.a-informatica-diseno-y-programacion{background:linear-gradient(180deg,rgba(8,24,43,.25),rgba(8,24,43,.6)),url(assets/areas/informatica-diseno-y-programacion.jpg) center/cover}
.lrow .thumb.a-formacion-profesional-y-oficios{background:linear-gradient(180deg,rgba(8,24,43,.25),rgba(8,24,43,.6)),url(assets/areas/formacion-profesional-y-oficios.jpg) center/cover}
.lrow .thumb.a-empresa-marketing-y-rrhh{background:linear-gradient(180deg,rgba(8,24,43,.25),rgba(8,24,43,.6)),url(assets/areas/empresa-marketing-y-rrhh.jpg) center/cover}
.lrow .thumb.a-agraria{background:linear-gradient(180deg,rgba(8,24,43,.25),rgba(8,24,43,.6)),url(assets/areas/agraria.jpg) center/cover}
.lrow .thumb.a-actividad-fisica-y-deporte{background:linear-gradient(180deg,rgba(8,24,43,.25),rgba(8,24,43,.6)),url(assets/areas/actividad-fisica-y-deporte.jpg) center/cover}
.lrow .thumb.a-energias-renovables-y-agua{background:linear-gradient(180deg,rgba(8,24,43,.25),rgba(8,24,43,.6)),url(assets/areas/energias-renovables-y-agua.jpg) center/cover}
.lrow .thumb.a-prl-calidad-y-medioambiente{background:linear-gradient(180deg,rgba(8,24,43,.25),rgba(8,24,43,.6)),url(assets/areas/prl-calidad-y-medioambiente.jpg) center/cover}
.lrow .thumb.a-certificados-de-profesionalidad{background:linear-gradient(180deg,rgba(8,24,43,.25),rgba(8,24,43,.6)),url(assets/areas/certificados-de-profesionalidad.jpg) center/cover}
.lrow .thumb.a-educacion-y-orientacion-laboral{background:linear-gradient(180deg,rgba(8,24,43,.25),rgba(8,24,43,.6)),url(assets/areas/educacion-y-orientacion-laboral.jpg) center/cover}
.lrow .thumb.a-fabricacion-mecanica{background:linear-gradient(180deg,rgba(8,24,43,.25),rgba(8,24,43,.6)),url(assets/areas/fabricacion-mecanica.jpg) center/cover}
.lrow .thumb.a-general{background:linear-gradient(180deg,rgba(8,24,43,.25),rgba(8,24,43,.6)),url(assets/areas/general.jpg) center/cover}
.lrow .thumb.a-idiomas{background:linear-gradient(180deg,rgba(8,24,43,.25),rgba(8,24,43,.6)),url(assets/areas/idiomas.jpg) center/cover}
.lrow .thumb.a-inmobiliaria-arquitectura-e-interiorismo{background:linear-gradient(180deg,rgba(8,24,43,.25),rgba(8,24,43,.6)),url(assets/areas/inmobiliaria-arquitectura-e-interiorismo.jpg) center/cover}
.lrow .thumb.a-seguridad-y-vigilancia{background:linear-gradient(180deg,rgba(8,24,43,.25),rgba(8,24,43,.6)),url(assets/areas/seguridad-y-vigilancia.jpg) center/cover}
.lrow .thumb.a-servicios-a-la-comunidad{background:linear-gradient(180deg,rgba(8,24,43,.25),rgba(8,24,43,.6)),url(assets/areas/servicios-a-la-comunidad.jpg) center/cover}
/* BANDA EMPRESAS */
.band{background:#0F2A47;color:#fff;padding-block:3rem}.band .in{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.band h2{color:#fff;font-size:clamp(1.4rem,3vw,2rem);font-weight:800;text-transform:uppercase;max-width:22ch}.band p{color:rgba(255,255,255,.72);margin-top:.6rem;max-width:46ch}
/* FOOTER (azul oscuro, 4 columnas, cabeceras naranja) */
footer{background:var(--navy-deep);color:rgba(255,255,255,.82);padding-block:3.4rem 1.6rem}.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1.1fr;gap:2.2rem}
.fbrand .brand .name{color:#fff}.fbrand p{color:rgba(255,255,255,.6);font-size:.9rem;margin-top:1rem;max-width:34ch}
.social{display:flex;gap:.5rem;margin-top:1.2rem}.social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;color:#fff;transition:.2s}.social a:hover{background:var(--orange);border-color:var(--orange)}
footer h5{color:var(--orange);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:1rem}footer ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}footer ul a,footer .li{color:rgba(255,255,255,.8);font-size:.9rem}footer ul a:hover{color:#fff}
.fbot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem;color:rgba(255,255,255,.55)}.fbot .links{display:flex;gap:1.2rem}
.wa-float{position:fixed;right:20px;bottom:20px;z-index:80;display:inline-flex;align-items:center;gap:.5rem;background:var(--wa);color:#fff;font-weight:700;font-size:.9rem;padding:.7rem 1.1rem;border-radius:999px;box-shadow:0 10px 30px -8px rgba(37,211,102,.6)}
/* FICHA DE CURSO */
.crumbs{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;font-size:.84rem;color:var(--muted);padding-top:1.4rem}.crumbs a:hover{color:var(--orange)}.crumbs .sep{opacity:.5}
.kicker{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.1rem}.pill{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.34rem .7rem;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line);color:var(--navy)}
.pill--orange{background:var(--peach);border-color:#fcd9c2;color:var(--orange-600)}
.buy .price .prw{display:flex;flex-direction:column;line-height:1.12}
.buy .price .prw .old{font-size:.85rem}
h1.title{font-weight:800;font-size:clamp(1.7rem,4vw,2.8rem);max-width:20ch}.lead{margin-top:1rem;color:var(--muted);font-size:clamp(1rem,1.4vw,1.12rem);max-width:48ch}
.facts{display:flex;flex-wrap:wrap;gap:1.1rem 2rem;margin-top:1.6rem}.fact{display:flex;align-items:center;gap:.6rem}.fact .ic{width:36px;height:36px;border-radius:9px;background:var(--peach);color:var(--orange);display:grid;place-items:center;flex:none}.fact .k{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.fact .v{font-weight:700;color:var(--navy);font-size:.95rem}
.hero-cta{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-top:1.9rem}.price-tag{display:flex;align-items:baseline;gap:.4rem;margin-right:.4rem}.price-tag .n{font-weight:800;font-size:1.9rem;color:var(--navy)}.price-tag .iva{font-size:.78rem;color:var(--muted)}
.hero-media{position:relative;border-radius:14px;overflow:hidden;min-height:300px;box-shadow:var(--shadow);border:1px solid var(--line);background-color:#0c2138;background-image:linear-gradient(180deg,rgba(13,31,51,.4),rgba(8,24,43,.8)),var(--img,linear-gradient(135deg,#13314f,#0c2138));background-size:cover;background-position:center}
.hero-media::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 80% 0,rgba(242,107,31,.28),transparent 55%)}.hero-media .ov{position:absolute;inset:0;z-index:1;padding:1.3rem;display:flex;flex-direction:column;justify-content:space-between;color:#fff}
.cat-chip{align-self:flex-start;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.36rem .7rem;border-radius:6px}
.hours-badge{background:var(--orange);color:#fff;font-weight:700;font-size:.82rem;padding:.3rem .7rem;border-radius:6px}.hero-media h3{color:#fff;font-size:1.25rem;font-weight:800;max-width:18ch}
.body{padding-bottom:4rem}.body-grid{display:grid;grid-template-columns:1fr 350px;gap:clamp(1.6rem,4vw,3.2rem);align-items:start}
.sec-h{font-size:1.4rem;font-weight:800;margin:2.2rem 0 1rem}.sec-h:first-child{margin-top:0}.prose p{margin-bottom:1rem;color:#33455c}
.learn{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1.6rem;margin-top:.4rem;list-style:none}.learn li{display:flex;gap:.6rem;align-items:flex-start;color:#33455c;font-size:.97rem}
.learn .ck{flex:none;width:22px;height:22px;border-radius:6px;background:var(--peach);color:var(--orange);display:grid;place-items:center;font-size:.8rem;font-weight:800;margin-top:.05rem}
.mods{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:.4rem}.mod{border-bottom:1px solid var(--line)}.mod:last-child{border-bottom:0}
.mod summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:1rem;padding:1.05rem 1.2rem;font-weight:700;color:var(--navy)}.mod summary::-webkit-details-marker{display:none}
.mod .n{font-size:.82rem;color:var(--orange);font-weight:800;width:2rem;flex:none}.mod .plus{margin-left:auto;width:26px;height:26px;border-radius:6px;background:var(--bg-soft);display:grid;place-items:center;color:var(--navy);transition:.25s;flex:none;font-weight:700}.mod[open] .plus{background:var(--orange);color:#fff;transform:rotate(45deg)}.mod .mbody{padding:0 1.2rem 1.1rem 3.4rem;color:var(--muted);font-size:.95rem}
.buy{position:sticky;top:92px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.buy .top{padding:1.3rem 1.4rem;border-bottom:1px solid var(--line)}.buy .price{display:flex;align-items:baseline;gap:.4rem}.buy .price .n{font-weight:800;font-size:2.1rem;color:var(--navy)}.buy .price .iva{font-size:.78rem;color:var(--muted);margin-left:auto}
.buy .in{padding:1.2rem 1.4rem 1.5rem}.buy .row{display:flex;align-items:center;gap:.7rem;padding:.5rem 0;font-size:.92rem;color:#33455c;border-bottom:1px dashed var(--line)}.buy .row:last-of-type{border:0}.buy .row .ic{width:28px;height:28px;border-radius:7px;background:var(--peach);color:var(--orange);display:grid;place-items:center;flex:none;font-size:.85rem}
.buy .btn{margin-top:1rem}.buy .secure{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.9rem;font-size:.76rem;color:var(--muted)}.pays{display:flex;gap:.35rem;justify-content:center;margin-top:.6rem;flex-wrap:wrap}.pays span{font-size:.6rem;font-weight:700;border:1px solid var(--line);border-radius:5px;padding:.25rem .45rem;color:var(--muted)}
.rel{background:var(--bg-soft);border-top:1px solid var(--line);padding-block:3.4rem}.rel .rh{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.6rem}.rel h2{font-size:clamp(1.4rem,3vw,1.9rem);font-weight:800}.see{color:var(--orange);font-weight:700;font-size:.86rem;text-transform:uppercase}
/* CATÁLOGO: filtros + paginación */
.filters{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:1.6rem;align-items:center}
.filters select,.filters input{font-family:var(--font);font-size:.9rem;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem;outline:none}
.filters .count{margin-left:auto;color:var(--muted);font-size:.86rem}
.pager{display:flex;gap:.4rem;justify-content:center;margin-top:2.4rem;flex-wrap:wrap}.pager button{font-family:var(--font);font-weight:700;font-size:.85rem;border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:8px;padding:.5rem .8rem;cursor:pointer}.pager button.on{background:var(--orange);color:#fff;border-color:var(--orange)}.pager button:disabled{opacity:.4;cursor:default}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr}.hero-media{order:-1;min-height:240px}.body-grid{grid-template-columns:1fr}.buy{position:static;order:-1}.cards{grid-template-columns:1fr 1fr}.areas{grid-template-columns:1fr 1fr}.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.nav .links,.nav .cta{display:none}.burger{display:flex}.cards{grid-template-columns:1fr}.areas{grid-template-columns:1fr 1fr}.fgrid{grid-template-columns:1fr}.learn{grid-template-columns:1fr}.band .in{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}

/* logo real DAVE (PNG) */
.logo-img{height:36px;width:auto;display:block}
footer .logo-img{height:32px}
/* páginas de estado (éxito/cancelado/404) */
.estado{padding:80px 0;text-align:center}
.estado .glyph{width:80px;height:80px;border-radius:50%;display:grid;place-items:center;margin:0 auto 24px;font-size:36px;color:#fff}
.estado.ok .glyph{background:#16a34a}.estado.cancel .glyph{background:#dc2626}
.estado h1{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800}
.legal{max-width:760px}.legal h2{font-size:1.3rem;font-weight:800;margin:1.6rem 0 .6rem}.legal p{color:#33455c;margin-bottom:1rem}
/* ═══ FILTROS LATERALES (catálogo) ═══ */
.cat-layout{display:grid;grid-template-columns:280px 1fr;gap:clamp(1.4rem,3vw,2.2rem);align-items:start}
/* Con sidebar, 3 columnas -> tarjetas mas anchas */
.cat-layout .cards{grid-template-columns:repeat(3,1fr)}
@media(max-width:1200px){.cat-layout .cards{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.cat-layout .cards{grid-template-columns:1fr}}
.fside{position:sticky;top:92px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.2rem 1.4rem;box-shadow:var(--shadow);max-height:calc(100vh - 110px);overflow:auto}
.fsec{padding:1rem 0;border-top:1px solid var(--line)}.fsec:first-child{border-top:0;padding-top:0}
.fhead{display:flex;align-items:center;justify-content:space-between;font-weight:800;color:var(--navy);font-size:1rem;cursor:pointer;user-select:none}
.fhead .chev{color:var(--muted);font-size:.8rem;transition:transform .25s var(--ease)}
.fsec.closed .chev{transform:rotate(180deg)}.fsec.closed .fbody{display:none}
.fbody{margin-top:.85rem}
.fsearch{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:10px;padding:.55rem .8rem;transition:border-color .2s,box-shadow .2s}
.fsearch:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px rgba(242,107,31,.12)}
.fsearch input{border:0;outline:0;flex:1;font-family:var(--font);font-size:.95rem;color:var(--navy);min-width:0}.fsearch input::placeholder{color:var(--muted)}
.fsearch svg{color:var(--muted);flex:none}
.fcats{max-height:300px;overflow:auto;display:flex;flex-direction:column;gap:.1rem;padding-right:.3rem}
.fcats::-webkit-scrollbar{width:8px}.fcats::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}
.fcat{display:flex;align-items:center;gap:.6rem;padding:.42rem .35rem;border-radius:8px;cursor:pointer;font-size:.92rem;color:var(--navy-text);transition:background .15s}
.fcat:hover{background:var(--bg-soft)}
.fcat input{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1.5px solid #c8d2de;border-radius:5px;cursor:pointer;flex:none;display:grid;place-items:center;transition:.15s;background:#fff;margin:0}
.fcat input:checked{background:var(--orange);border-color:var(--orange)}
.fcat input:checked::after{content:"\2713";color:#fff;font-size:.68rem;font-weight:800}
.fcat .n{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fcat .ct{color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums}
.frange{width:100%;accent-color:var(--orange);margin:.5rem 0 .1rem;cursor:pointer}
.frange-lab{display:flex;justify-content:space-between;font-size:.85rem;color:var(--muted);font-weight:600}
.fchips{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.8rem}
.fchip{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.55rem .4rem;font-family:var(--font);font-size:.84rem;font-weight:600;color:var(--navy);cursor:pointer;text-align:center;transition:.15s}
.fchip:hover{border-color:var(--orange);color:var(--orange)}
.fchip.on{background:var(--peach);border-color:var(--orange);color:var(--orange-600)}
.fclear{width:100%;margin-top:1.2rem;background:#fff;border:1.5px solid var(--orange);color:var(--orange);font-family:var(--font);font-weight:800;letter-spacing:.05em;text-transform:uppercase;font-size:.82rem;border-radius:10px;padding:.85rem;cursor:pointer;transition:.2s}
.fclear:hover{background:var(--orange);color:#fff}
.ftoggle{display:none;margin-bottom:1rem}
@media(max-width:920px){.cat-layout{grid-template-columns:1fr}.fside{position:static;max-height:none}.ftoggle{display:inline-flex}.fside.hide{display:none}}
/* ═══ MOTION: aparición al hacer scroll ═══ */
html.js .rev{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
html.js .rev.in{opacity:1;transform:none}
html.js .rev-stag>*{opacity:0;transform:translateY(18px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
html.js .rev-stag.in>*{opacity:1;transform:none}
html.js .rev-stag.in>*:nth-child(4n+2){transition-delay:.07s}
html.js .rev-stag.in>*:nth-child(4n+3){transition-delay:.14s}
html.js .rev-stag.in>*:nth-child(4n){transition-delay:.21s}
@keyframes cardIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
html.js #cards .card{animation:cardIn .4s var(--ease) both}
@media(prefers-reduced-motion:reduce){html.js .rev,html.js .rev-stag>*{opacity:1!important;transform:none!important;transition:none!important}html.js #cards .card{animation:none!important}}
/* ═══ SLIDER (carrusel destacados) ═══ */
.slider{position:relative}
.slider .track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 4px 14px;scrollbar-width:none}
.slider .track::-webkit-scrollbar{display:none}
.slider .track>*{scroll-snap-align:start}
.snav{position:absolute;top:34%;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-hover);display:grid;place-items:center;cursor:pointer;color:var(--navy);font-size:1.2rem;z-index:5;transition:.2s;font-family:var(--font)}
.snav:hover{background:var(--orange);color:#fff;border-color:var(--orange)}
.snav.prev{left:-16px}.snav.next{right:-16px}
.snav:disabled{opacity:.3;pointer-events:none}
@media(max-width:920px){.slider .track{grid-auto-columns:62%}}
@media(max-width:680px){.slider .track{grid-auto-columns:84%}.snav.prev{left:2px}.snav.next{right:2px}}
/* ═══ MODAL solicitar info (formulario Clientify) ═══ */
.mod-bg{position:fixed;inset:0;background:rgba(8,24,43,.55);backdrop-filter:blur(3px);z-index:90;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .25s}
.mod-bg.open{visibility:visible;opacity:1;pointer-events:auto}
.imodal{position:fixed;inset:0;z-index:91;display:flex;align-items:center;justify-content:center;padding:14px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .25s}
.imodal.open{visibility:visible;opacity:1;pointer-events:auto}
.imodal iframe{width:100%!important;min-height:430px}
.imodal .box{background:#fff;border-radius:16px;max-width:640px;width:100%;max-height:92vh;overflow:auto;box-shadow:0 30px 80px -20px rgba(8,24,43,.5);position:relative;padding:1.5rem 1.6rem;animation:cardIn .3s var(--ease) both}
@media(max-width:680px){.imodal{padding:8px}.imodal .box{padding:1.1rem .9rem;border-radius:12px;max-height:96vh}.imodal h3{font-size:1.15rem}}
.imodal .x{position:absolute;top:.8rem;right:.8rem;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:1rem;cursor:pointer;display:grid;place-items:center;transition:.2s;z-index:2}
.imodal .x:hover{background:#0F2A47;color:#fff;border-color:#0F2A47}
.imodal h3{font-size:1.35rem;font-weight:800;margin-bottom:.25rem;padding-right:2.2rem}
.imodal .sub{color:var(--muted);font-size:.92rem;margin-bottom:1.1rem}
.imodal .clientify-form,.imodal form{max-width:100%!important}
/* ═══ «¿Por qué DAVE?» — 3 tarjetas planas en fila (estilo del sitio) ═══ */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.wcard{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:1.6rem 1.5rem;transition:box-shadow .25s,transform .25s}
.wcard:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}
.wcard .wico{width:44px;height:44px;border-radius:11px;background:var(--peach);color:var(--orange);display:grid;place-items:center;margin-bottom:1rem}
.wcard h3{font-size:1.12rem;font-weight:800;margin-bottom:.45rem}
.wcard p{font-size:.92rem;color:var(--muted);line-height:1.55}
@media(max-width:920px){.why{grid-template-columns:1fr}}
/* ═══ MODO OSCURO (toggle del header, persiste en localStorage) ═══ */
html.dark{--navy:#E8EEF6;--navy-text:#C2CFDF;--muted:#8FA3BA;--line:rgba(148,170,197,.18);--bg:#081626;--bg-soft:#0C1F33;--peach:rgba(242,107,31,.16);--shadow:0 1px 3px rgba(0,0,0,.45),0 6px 18px rgba(0,0,0,.35);--shadow-hover:0 12px 30px rgba(0,0,0,.55)}
html.dark body{background:var(--bg)}
html.dark .head{background:rgba(8,22,38,.92)}
html.dark .logo-img{filter:brightness(0) invert(1)}
html.dark .card,html.dark .latest,html.dark .fside,html.dark .buy,html.dark .imodal .box,html.dark .pager button,html.dark .snav,html.dark .fchip,html.dark .fclear,html.dark .btn--out,html.dark .searchbar,html.dark .fsearch,html.dark .fcat input,html.dark .mods,html.dark .burger{background:#0E2238}
html.dark .buy .top{background:#0C1F33}
html.dark .wcard{background:#0E2238}
html.dark .prose p,html.dark .learn li,html.dark .buy .row,html.dark .filters select,html.dark .filters input{color:var(--navy-text)}
html.dark .filters select,html.dark .filters input{background:#0E2238;border-color:var(--line)}
html.dark .epill{background:rgba(242,107,31,.14);border-color:rgba(242,107,31,.35)}
html.dark .pill{background:#0C1F33}
html.dark .chip{background:#0C1F33;border-color:var(--line)}

/* ===== CARRITO ===== */
.nav .hbtn--cart{position:relative;background:#fff;border:1.5px solid #E4E9F0;color:#0F2A47;cursor:pointer}
.nav .hbtn--cart:hover{border-color:var(--orange);color:var(--orange)}
.cbadge{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;border-radius:999px;background:var(--orange);color:#fff;font-size:.68rem;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 2px 6px rgba(242,107,31,.45)}
.cbadge[hidden]{display:none}
.cdrawer{position:fixed;top:0;right:0;height:100dvh;width:min(420px,94vw);background:#fff;z-index:95;box-shadow:-12px 0 40px rgba(15,42,71,.18);transform:translateX(105%);transition:transform .28s cubic-bezier(.32,.72,0,1);display:flex;flex-direction:column}
.cdrawer.open{transform:translateX(0)}
.cdrawer .chead{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.3rem;border-bottom:1px solid #E4E9F0}
.cdrawer .chead h3{margin:0;font-size:1.05rem;color:#0F2A47}
.cdrawer .chead .x{background:none;border:0;font-size:1.1rem;cursor:pointer;color:#6B7E9A;padding:.3rem .5rem}
.cdrawer .citems{flex:1;overflow-y:auto;padding:.6rem 1.3rem}
.citem{display:flex;gap:.8rem;align-items:flex-start;padding:.85rem 0;border-bottom:1px solid #EEF2F7}
.citem .ci-b{flex:1;min-width:0}
.citem h4{margin:0 0 .2rem;font-size:.86rem;line-height:1.35;color:#1B3354}
.citem .ci-m{font-size:.76rem;color:#6B7E9A}
.citem .ci-p{font-weight:800;color:#0F2A47;font-size:.9rem;white-space:nowrap}
.citem .crm{background:none;border:0;color:#9AA9BD;cursor:pointer;font-size:.95rem;padding:.15rem .35rem;line-height:1}
.citem .crm:hover{color:#D43F3F}
.cempty{text-align:center;color:#6B7E9A;padding:2.6rem 1rem;font-size:.9rem}
.cdrawer .cfoot{padding:1rem 1.3rem 1.2rem;border-top:1px solid #E4E9F0;background:#F7F9FC}
.cdrawer .ctotal{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem;font-size:.95rem;color:#1B3354}
.cdrawer .ctotal strong{font-size:1.25rem;color:#0F2A47}
.cdrawer .csec{margin:.6rem 0 0;font-size:.72rem;color:#6B7E9A;text-align:center}
html.dark .cdrawer{background:#0E2238}
html.dark .cdrawer .chead,html.dark .cdrawer .cfoot{border-color:var(--line)}
html.dark .cdrawer .cfoot{background:#0C1F33}
html.dark .citem{border-color:rgba(255,255,255,.06)}
html.dark .citem h4,html.dark .cdrawer .ctotal,html.dark .cdrawer .ctotal strong,html.dark .cdrawer .chead h3{color:var(--navy-text)}
html.dark .nav .hbtn--cart{background:#0E2238;border-color:var(--line);color:var(--navy-text)}
@media(max-width:680px){.nav .hbtn--cart{padding:.5rem .6rem}}

/* ===== CHECKOUT (matrícula) ===== */
.ck-steps{display:flex;align-items:center;gap:.5rem;margin:1.6rem 0 1.8rem;font-size:.82rem;flex-wrap:wrap}
.ck-steps .st{display:flex;align-items:center;gap:.45rem;color:#9AA9BD;font-weight:600}
.ck-steps .st .n{width:22px;height:22px;border-radius:999px;background:#EEF2F7;color:#6B7E9A;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800}
.ck-steps .st.on{color:#0F2A47}
.ck-steps .st.on .n{background:var(--orange);color:#fff}
.ck-steps .sep{color:#C9D4E2}
.ck-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:start;margin-bottom:3rem}
@media(max-width:880px){.ck-grid{grid-template-columns:1fr}}
.ck-form{background:#fff;border:1px solid #E4E9F0;border-radius:14px;padding:1.6rem;box-shadow:0 1px 3px rgba(15,42,71,.06),0 4px 12px rgba(15,42,71,.04)}
.ck-form h2{margin:0 0 1.1rem;font-size:1.05rem;color:#0F2A47}
.ck-form .frow{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:.8rem}
@media(max-width:560px){.ck-form .frow{grid-template-columns:1fr}}
.ck-form .f1{display:grid;grid-template-columns:1fr;gap:.8rem;margin-bottom:.8rem}
.ck-form input[type=text],.ck-form input[type=email],.ck-form input[type=tel]{width:100%;padding:.72rem .9rem;border:1.5px solid #E4E9F0;border-radius:8px;font:inherit;font-size:.88rem;color:#1B3354;background:#fff}
.ck-form input:focus{outline:none;border-color:var(--orange)}
.ck-form .hint{font-size:.74rem;color:#6B7E9A;margin:.2rem 0 1rem}
.ck-form .chk{display:flex;gap:.55rem;align-items:flex-start;font-size:.8rem;color:#1B3354;margin:.9rem 0}
.ck-form .chk input{margin-top:.2rem;accent-color:var(--orange)}
.ck-form .err{display:none;background:#FDECEC;border:1px solid #F5C2C2;color:#B42318;border-radius:8px;padding:.7rem .9rem;font-size:.8rem;margin-bottom:.9rem}
.ck-form .err.show{display:block}
.ck-sum{background:#fff;border:1px solid #E4E9F0;border-radius:14px;padding:1.4rem;box-shadow:0 1px 3px rgba(15,42,71,.06),0 4px 12px rgba(15,42,71,.04);position:sticky;top:84px}
.ck-sum h3{margin:0 0 1rem;font-size:.98rem;color:#0F2A47}
.ck-item{display:flex;justify-content:space-between;gap:.8rem;padding:.55rem 0;border-bottom:1px solid #EEF2F7;font-size:.84rem;color:#1B3354}
.ck-item .nm{flex:1}
.ck-item .pv{font-weight:700;white-space:nowrap}
.ck-aviso{background:#F2FBF5;border:1px solid #CDEBD8;border-radius:9px;padding:.7rem .9rem;font-size:.76rem;color:#1B5E33;margin:.9rem 0;display:flex;flex-direction:column;gap:.35rem}
.ck-aviso span::before{content:"✓ ";color:#2E9E5B;font-weight:800}
.ck-promo{display:flex;gap:.5rem;margin:.9rem 0}
.ck-promo input{flex:1;padding:.62rem .8rem;border:1.5px solid #E4E9F0;border-radius:8px;font:inherit;font-size:.84rem}
.ck-promo button{padding:.62rem 1rem;border:0;border-radius:8px;background:#0F2A47;color:#fff;font-weight:700;font-size:.8rem;cursor:pointer}
.ck-promo button:hover{background:var(--orange)}
.ck-dto{display:flex;justify-content:space-between;font-size:.82rem;color:#2E9E5B;font-weight:600;padding:.3rem 0}
.ck-dto .neg{white-space:nowrap}
.ck-tot{display:flex;justify-content:space-between;align-items:center;border-top:2px solid #E4E9F0;margin-top:.7rem;padding-top:.9rem;color:#0F2A47}
.ck-tot strong{font-size:1.45rem}
.ck-trust{display:flex;gap:.9rem;flex-wrap:wrap;justify-content:center;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #EEF2F7;font-size:.7rem;color:#6B7E9A;font-weight:700;letter-spacing:.4px}
.ck-trust span{border:1px solid #E4E9F0;border-radius:6px;padding:.3rem .55rem;background:#F7F9FC}
html.dark .ck-form,html.dark .ck-sum{background:#0E2238;border-color:var(--line)}
html.dark .ck-form h2,html.dark .ck-sum h3,html.dark .ck-tot,html.dark .ck-steps .st.on{color:var(--navy-text)}
html.dark .ck-item,html.dark .ck-form .chk{color:var(--navy-text)}
html.dark .ck-form input,html.dark .ck-promo input{background:#0C1F33;border-color:var(--line);color:var(--navy-text)}
html.dark .ck-trust span{background:#0C1F33;border-color:var(--line)}
.ck-opt{display:flex;gap:.8rem;align-items:flex-start;border:1.5px solid #E4E9F0;border-radius:10px;padding:.9rem 1rem;margin-bottom:.7rem;cursor:pointer;transition:border-color .15s,background .15s}
.ck-opt:hover{border-color:var(--orange)}
.ck-opt:has(input:checked){border-color:var(--orange);background:#FFF7F2}
.ck-opt input{margin-top:.25rem;accent-color:var(--orange)}
.ck-opt strong{display:block;font-size:.88rem;color:#0F2A47}
.ck-opt .d{display:block;font-size:.76rem;color:#6B7E9A;margin-top:.15rem}
.ck-met{display:flex;align-items:center;gap:.7rem;padding:.65rem .2rem;border-bottom:1px solid #EEF2F7;font-size:.85rem;color:#1B3354;font-weight:600}
.ck-met .ic{font-size:1rem}
.ck-met .tag{margin-left:auto;font-size:.7rem;color:#6B7E9A;font-weight:600;background:#F7F9FC;border:1px solid #E4E9F0;border-radius:6px;padding:.2rem .5rem}
html.dark .ck-opt{border-color:var(--line)}
html.dark .ck-opt:has(input:checked){background:rgba(242,107,31,.1)}
html.dark .ck-opt strong,html.dark .ck-met{color:var(--navy-text)}
html.dark .ck-met{border-color:rgba(255,255,255,.06)}
html.dark .ck-met .tag{background:#0C1F33;border-color:var(--line)}
