/* Logo con monograma y selector de idioma (compartido por todas las páginas) */
.logo{display:inline-flex;align-items:center;gap:.7rem;white-space:nowrap;}
.logo .logo-mark{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;flex:none;
  background:var(--ink);color:var(--gold);font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.05rem;letter-spacing:.04em;
  box-shadow:inset 0 0 0 2px var(--ink),inset 0 0 0 3px var(--gold);}
.logo .logo-text{color:var(--ink);}

nav{gap:1.2rem;}
.nav-links{margin-left:auto;}
.lang-switch{display:flex;flex:none;border:1px solid var(--line);}
.lang-switch button{font:600 .75rem/1 'Montserrat',Arial,sans-serif;letter-spacing:.08em;min-width:44px;min-height:36px;padding:0 .6rem;
  border:0;background:transparent;color:var(--ink-soft);cursor:pointer;}
.lang-switch button[aria-pressed="true"]{background:var(--ink);color:#fff;}
.lang-switch button:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px;}

@media (max-width:768px){
  nav{gap:.6rem;}
  .logo{gap:.55rem;font-size:1.05rem;letter-spacing:.1em;}
  .logo .logo-mark{width:2rem;height:2rem;font-size:.95rem;}
  .lang-switch{margin-left:auto;}
  .lang-switch button{min-height:40px;min-width:40px;padding:0 .4rem;}
}
@media (max-width:360px){
  .logo .logo-text{font-size:.9rem;letter-spacing:.06em;}
}
@media (min-width:769px) and (max-width:1180px){
  .logo .logo-mark{width:1.9rem;height:1.9rem;font-size:.9rem;}
}
/* Tablets pequeñas: solo el monograma para que el menú quepa en una línea */
@media (min-width:769px) and (max-width:960px){
  .logo .logo-text{display:none;}
}

/* Ubicación con mapa */
.visit{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.visit-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:3.5rem;align-items:center;}
.visit-info .eyebrow{display:block;margin-bottom:1rem;}
.visit-info h2{font-size:clamp(2rem,4.2vw,3.4rem);}
.visit-info .rule{margin:1.4rem 0 1.8rem;}
.visit-addr{font-size:1.05rem;line-height:1.7;color:var(--ink);font-weight:500;}
.visit-note{font-size:.9rem;color:var(--ink-soft);margin:.6rem 0 2rem;}
.visit-ctas{display:flex;gap:.8rem;flex-wrap:wrap;}
.visit-map{border:1px solid var(--line);box-shadow:0 18px 44px rgba(20,17,13,0.08);background:#fff;}
.visit-map iframe{display:block;width:100%;height:380px;border:0;}
a.foot-addr{text-decoration:none;}
a.foot-addr:hover{color:var(--gold-deep);text-decoration:underline;}
@media (max-width:768px){
  .visit{padding:4.5rem 1.2rem;}
  .visit-grid{grid-template-columns:1fr;gap:2.2rem;}
  .visit-map iframe{height:300px;}
  .visit-ctas .btn{flex:1;text-align:center;padding:1rem 1.2rem;}
}

/* Reseñas de Google en vivo */
.rev-live .who a{color:inherit;text-decoration:none;}
.rev-live .who a:hover{text-decoration:underline;}
.rev-links{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:2.4rem;}

/* Graduadas: galería de fotos reales + video de clase */
.grads-intro{max-width:600px;margin:1.6rem auto 0;color:var(--ink-soft);font-size:.95rem;line-height:1.85;}
.grads-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.grad{margin:0;position:relative;overflow:hidden;border-radius:8px;background:var(--paper-2);aspect-ratio:3/4;}
.grad img,.grad video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s;}
.grad:hover img{transform:scale(1.04);}
.grad-video{grid-row:span 2;aspect-ratio:auto;}
.grad figcaption{position:absolute;left:.9rem;bottom:.9rem;background:rgba(255,255,255,.94);color:var(--gold-deep);
  font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:.4rem .75rem;border-radius:4px;}
.grads-hint{display:none;}
.grads-cta{text-align:center;margin-top:2.6rem;}
@media (max-width:768px){
  /* En el celular: carrusel horizontal que se desliza con el dedo */
  .grads-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.8rem;margin:0 -1.2rem;padding:0 1.2rem .4rem;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .grads-grid::-webkit-scrollbar{display:none;}
  .grad,.grad-video{flex:0 0 74%;aspect-ratio:3/4;scroll-snap-align:center;}
  .grads-hint{display:block;text-align:center;font-size:.75rem;color:var(--gray);margin-top:.9rem;letter-spacing:.06em;}
}

/* Menú móvil cerrado: sin sombra, para que no se asome una franja gris en el borde derecho */
@media (max-width:768px){
  .nav-links{box-shadow:none;visibility:hidden;transition:transform .35s,visibility 0s linear .35s;}
  #navtog:checked ~ .nav-links{box-shadow:-20px 0 60px rgba(20,17,13,.12);visibility:visible;transition:transform .35s;}
}

/* Bloque final unido (primer paso + ubicación) y franja enlazada */
.visit-info .visit-note{margin:0 0 1.6rem;line-height:1.85;}
.visit-info .visit-small{font-size:.85rem;color:var(--gray);margin:.3rem 0 2rem;}
a.trust-link{text-decoration:none;color:inherit;display:block;transition:background .2s;}
a.trust-link:hover{background:rgba(201,168,76,.08);}
@media (max-width:768px){ .visit-ctas .btn{flex:1 1 100%;} }

/* Portada unida: foto de Lorena con marco + título, historia y botones */
.intro{background:var(--paper-2);padding:9rem 2rem 5.5rem;border-bottom:1px solid var(--line);}
.intro .inst-text .eyebrow{margin-bottom:1rem;}
.intro .inst-text h1{font-size:clamp(2.4rem,4.4vw,4rem);margin-bottom:1.2rem;color:var(--ink);}
.intro .intro-who{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1rem;}
.intro .hero-ctas{margin-top:2.2rem;}
@media (max-width:768px){
  .intro{padding:6.4rem 1.2rem 3.4rem;}
  .intro .inst-photo img{max-height:none;aspect-ratio:4/5;}
  .intro .inst-text h1{font-size:clamp(2.1rem,8.2vw,3.2rem);}
  .intro .hero-ctas .btn{flex:1 1 auto;text-align:center;padding:1rem 1.2rem;}
}
.intro .inst-photo img{height:auto;aspect-ratio:4/5;object-position:center 12%;}
@media (max-width:768px){
  /* Foto más baja en el celular para que el título se vea al abrir la página */
  .intro .inst-photo img{aspect-ratio:auto;height:44vh;min-height:260px;object-position:center 18%;}
  .intro .inst-grid{gap:1.8rem;}
}

/* Ventajas: franja oscura con íconos dorados (reemplaza la tabla de datos) */
.perks{background:var(--ink);color:#fff;}
.perks-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;padding:2.2rem 2rem;}
.perk{display:flex;align-items:center;gap:1rem;color:inherit;text-decoration:none;padding:.4rem 0;}
.perk-ic{flex:none;width:3rem;height:3rem;border-radius:50%;border:1px solid rgba(201,168,76,.55);display:flex;align-items:center;justify-content:center;color:var(--gold);transition:background .25s,color .25s;}
.perk-ic svg{width:1.4rem;height:1.4rem;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}
.perk-tx{display:flex;flex-direction:column;gap:.2rem;line-height:1.3;}
.perk-tx strong{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.25rem;letter-spacing:.01em;color:#fff;}
.perk-tx span{font-size:.8rem;color:rgba(255,255,255,.72);}
a.perk:hover .perk-ic{background:var(--gold);color:var(--ink);}
@media (max-width:900px){
  .perks-in{grid-template-columns:repeat(2,1fr);gap:1.4rem 1rem;padding:2rem 1.2rem;}
}
@media (max-width:380px){
  .perk{gap:.7rem;}
  .perk-ic{width:2.6rem;height:2.6rem;}
  .perk-tx strong{font-size:1.1rem;}
}
@media (max-width:600px){
  .perks-in{gap:1.8rem .8rem;padding:2.2rem 1rem;}
  .perk{flex-direction:column;text-align:center;gap:.7rem;padding:0;}
  .perk-ic{width:2.8rem;height:2.8rem;}
  .perk-tx{align-items:center;}
  .perk-tx strong{font-size:1.15rem;}
  .perk-tx span{font-size:.78rem;}
}

/* Mapa con etiqueta Suite 205 y botones Google / Apple Maps */
.visit-map{position:relative;}
.map-suite{position:absolute;top:.75rem;right:.75rem;display:inline-flex;align-items:center;gap:.4rem;background:var(--ink);color:#fff;
  font-size:.8rem;font-weight:600;letter-spacing:.06em;padding:.55rem .85rem;border-radius:4px;box-shadow:0 6px 18px rgba(20,17,13,.25);pointer-events:none;}
.map-suite svg{width:1rem;height:1rem;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.map-btns{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem;}
.map-btns .btn{text-align:center;padding:1rem .8rem;}

/* Logo real: letras IL doradas */
img.logo-mark{display:block;width:2.4rem;height:2.4rem;flex:none;object-fit:cover;background:#000;border-radius:3px;box-shadow:0 2px 8px rgba(20,17,13,.18);}
@media (max-width:768px){ img.logo-mark{width:2.2rem;height:2.2rem;} }
@media (min-width:769px) and (max-width:1180px){ img.logo-mark{width:2.1rem;height:2.1rem;} }

/* Logo IL dorado sobre fondo blanco (sin cuadro negro) */
img.logo-mark{background:transparent;box-shadow:none;border-radius:0;object-fit:contain;width:2.6rem;height:2.6rem;}
@media (max-width:768px){ img.logo-mark{width:2.4rem;height:2.4rem;} }
@media (min-width:769px) and (max-width:1180px){ img.logo-mark{width:2.3rem;height:2.3rem;} }
.logo img.logo-mark{background:transparent;box-shadow:none;border-radius:0;}

/* Ventajas en claro: fondo blanco, títulos negros, íconos dorados */
.perks{background:#fff;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.perk-ic{border:1.5px solid var(--gold);color:var(--gold-deep);}
.perk-ic svg{stroke-width:1.5;}
.perk-tx strong{color:var(--ink);}
.perk-tx span{color:var(--gray);}
a.perk:hover .perk-ic{background:var(--gold);color:#fff;}

/* Teléfono: botón para llamar y número en el pie de página */
.foot-phone{font-size:.8rem;letter-spacing:.08em;color:var(--ink);text-decoration:none;font-weight:600;}
.foot-phone:hover{color:var(--gold-deep);text-decoration:underline;}
.visit-ctas{display:grid;grid-template-columns:1fr;max-width:380px;}
.visit-ctas .btn{text-align:center;}
@media (max-width:768px){ .visit-ctas{max-width:none;} }

/* Horario */
.hours{background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);padding:1rem 1.2rem;margin:0 0 1.6rem;max-width:380px;}
.hours-head{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.55rem;}
.hours-title{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);}
.hours-now{font-size:.72rem;font-weight:600;padding:.25rem .6rem;border-radius:999px;}
.hours-now.is-open{background:#e7f4ea;color:#1e6b34;}
.hours-now.is-closed{background:#f6e9e7;color:#8a2f22;}
.hours-row{display:flex;justify-content:space-between;gap:1rem;font-size:.9rem;color:var(--ink);padding:.25rem 0;}
.hours-row span:last-child{font-variant-numeric:tabular-nums;color:var(--ink-soft);}
.foot-hours{font-size:.75rem;color:var(--ink-soft);letter-spacing:.04em;}
@media (max-width:768px){ .hours{max-width:none;} }

/* Aviso legal: capacitación, no licencia */
.legal-note{max-width:820px;margin:0 auto 2.6rem;background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);padding:1rem 1.2rem;font-size:.88rem;line-height:1.7;color:var(--ink-soft);}
.legal-note strong{color:var(--ink);}
.legal-note a,.faq .ans a{color:var(--gold-deep);}
.foot-legal{max-width:560px;font-size:.75rem;line-height:1.6;color:var(--gray);}
.legal-note{text-align:left;}

/* ===== Oferta Black Friday (páginas de curso) ===== */
body.bf-over .bf-on{display:none !important;}
body:not(.bf-over) .bf-off{display:none !important;}
.bf-hero{background:var(--paper-2);padding:8.5rem 2rem 4.5rem;border-bottom:1px solid var(--line);}
.bf-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:3.5rem;align-items:center;}
.bf-photo{position:relative;}
.bf-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;box-shadow:0 18px 44px rgba(20,17,13,.12);}
.bf-badge{position:absolute;top:1rem;left:1rem;background:var(--ink);color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:.6rem 1rem;}
.bf-info .eyebrow{display:block;margin-bottom:1rem;}
.bf-info h1{font-size:clamp(2.6rem,5vw,4.2rem);margin-bottom:1rem;color:var(--ink);}
.bf-format{font-size:1rem;line-height:1.8;color:var(--ink-soft);margin-bottom:1.4rem;}
.bf-format strong{color:var(--ink);font-weight:600;}
.bf-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem 1rem;margin-bottom:1.4rem;}
.bf-old{font-size:1.4rem;color:var(--gray);text-decoration:line-through;}
.bf-new{font-family:var(--font-reading,Arial);font-size:3rem;font-weight:700;color:var(--ink);line-height:1;}
.bf-save{background:var(--gold);color:var(--ink);font-size:.8rem;font-weight:700;letter-spacing:.06em;padding:.4rem .7rem;border-radius:3px;}
.bf-count{margin-bottom:1.6rem;}
.bf-count-label{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.6rem;}
.bf-boxes{display:grid;grid-template-columns:repeat(4,minmax(0,4.6rem));gap:.6rem;}
.bf-boxes div{background:#fff;border:1.5px solid var(--gold);text-align:center;padding:.65rem .3rem .55rem;}
.bf-boxes b{display:block;font-size:1.8rem;font-weight:700;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;}
.bf-boxes span{display:block;font-size:.72rem;color:var(--gray);margin-top:.3rem;text-transform:uppercase;letter-spacing:.08em;}
.bf-ended{background:#fff;border-left:3px solid var(--gold);padding:1rem 1.2rem;margin-bottom:1.6rem;color:var(--ink-soft);line-height:1.7;}
.bf-ended strong{color:var(--ink);}
.bf-ctas{display:grid;gap:.8rem;max-width:380px;}
.bf-ctas .btn{text-align:center;}
.bf-center{margin:0 auto;}
.bf-terms{font-size:.8rem;color:var(--gray);margin-top:1rem;line-height:1.6;}
.bf-details .bf-intro{max-width:680px;margin:1.6rem auto 0;color:var(--ink-soft);font-size:.95rem;line-height:1.85;}
.bf-format-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2.6rem;}
.bf-fc{background:var(--paper-2);border:1px solid var(--line);border-top:2px solid var(--gold);padding:1.2rem 1.3rem;display:flex;flex-direction:column;gap:.3rem;}
.bf-fc strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.35rem;font-weight:600;color:var(--ink);}
.bf-fc span{font-size:.88rem;color:var(--ink-soft);}
.bf-cols{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;margin-bottom:2.6rem;}
.bf-col h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.5rem;font-weight:600;margin:0 0 .8rem;}
.bf-col h3+ul+h3{margin-top:1.6rem;}
.bf-list{list-style:none;padding:0;margin:0;}
.bf-list li{font-size:.92rem;color:var(--ink-soft);padding:.45rem 0 .45rem 1.3rem;position:relative;border-bottom:1px solid var(--line);line-height:1.55;}
.bf-list li::before{content:"";position:absolute;left:0;top:.95em;width:6px;height:6px;background:var(--gold);transform:rotate(45deg);}
.bf-checks li{padding-left:0;}
.bf-checks li::before{display:none;}
.bf-bottom{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;}
.bf-bottom .bf-price{justify-content:center;margin:0;}
.bf-bottom .bf-ctas{width:100%;}
.bf-all{font-size:.85rem;color:var(--gold-deep);}
/* Etiqueta de oferta en la tarjeta de /cursos */
.bf-chip{display:inline-block;margin:-.3rem 0 1rem;background:var(--ink);color:#fff !important;text-decoration:none;font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:.5rem .8rem;border-radius:3px;}
.bf-chip:hover{background:var(--gold-deep);}
@media (max-width:860px){
  .bf-hero{padding:6.4rem 1.2rem 3.4rem;}
  .bf-grid{grid-template-columns:1fr;gap:2rem;}
  .bf-photo img{aspect-ratio:auto;height:44vh;min-height:260px;}
  .bf-boxes{grid-template-columns:repeat(4,1fr);}
  .bf-ctas{max-width:none;}
  .bf-format-cards,.bf-cols{grid-template-columns:1fr;}
}
.bf-day{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);margin:1.4rem 0 .3rem;}
.bf-col h3+.bf-day{margin-top:.4rem;}

/* ===== Manicura Rusa Pro: inicio flexible, video, reseñas, preguntas y barra fija ===== */
.bf-flex{background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);padding:1rem 1.2rem;margin:0 0 1.6rem;max-width:520px;}
.bf-flex-items{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin-bottom:.5rem;}
.bf-flex-items span{font-weight:700;font-size:.95rem;color:var(--ink);}
.bf-flex p{font-size:.88rem;line-height:1.7;color:var(--ink-soft);margin:0;}
.bf-flex-center{margin:0 auto 2rem;max-width:720px;text-align:center;}
.bf-flex-center .bf-flex-items{justify-content:center;}
.bf-format-cards{grid-template-columns:repeat(4,1fr);}
.bf-video-sec{background:var(--ink);padding:3rem 2rem;}
.bf-video{width:min(100%,calc(80vh * 9 / 16));max-width:440px;aspect-ratio:9/16;margin:0 auto;background:#000;overflow:hidden;}
.bf-video video{display:block;width:100%;height:100%;object-fit:cover;}
.bf-reviews{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.bf-rev-grid{grid-template-columns:repeat(3,1fr);}
.bf-rev-more{text-align:center;margin-top:2.2rem;}
.bf-faq .faq .ans a{color:var(--gold-deep);font-weight:600;}
.bf-sticky{display:none;}
@media (max-width:1000px){ .bf-format-cards{grid-template-columns:repeat(2,1fr);} .bf-rev-grid{grid-template-columns:1fr;} }
@media (max-width:860px){ .bf-format-cards{grid-template-columns:1fr;} }
@media (max-width:768px){
  .bf-video-sec{padding:0;}
  .bf-video{width:100%;max-width:none;max-height:80vh;}
  .bf-flex{max-width:none;}
  .bf-sticky{display:flex;align-items:center;justify-content:space-between;gap:.8rem;position:fixed;left:0;right:0;bottom:0;z-index:190;
    background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(20,17,13,.12);padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom));}
  .bf-sticky-txt{font-weight:700;font-size:.95rem;color:var(--ink);white-space:nowrap;}
  .bf-sticky-btn{background:#15803d;color:#fff !important;text-decoration:none;font-weight:700;font-size:.85rem;padding:.8rem 1rem;border-radius:6px;white-space:nowrap;}
  body:has(.bf-sticky){padding-bottom:calc(76px + env(safe-area-inset-bottom));}
}
.bf section[id]{scroll-margin-top:84px;}
.bf-video-ph{display:block;width:100%;height:100%;object-fit:cover;}

/* Manicura Rusa Pro: línea de 20 horas + kit, y bloque de 20 horas */
.bf-highlight{display:inline-block;background:var(--gold);color:var(--ink);font-weight:700;font-size:.95rem;line-height:1.5;padding:.5rem .9rem;margin:0 0 1.1rem;border-radius:3px;}
.bf-hours{max-width:720px;margin:-1rem auto 2rem;text-align:center;font-size:.95rem;line-height:1.7;color:var(--ink-soft);background:#fff;border:1px solid var(--line);padding:.9rem 1.2rem;}
.bf-hours strong{color:var(--ink);}
