/* My Teacher Pablo · capa de acabado «estilo Apple» sobre store.css
   Tipografía del sistema (SF en Apple, Inter en el resto), mucho aire, vidrio esmerilado, esquinas grandes,
   sombras suaves, botones tipo píldora y un solo color de acción (azul marino) con el dorado como detalle. */
:root{
  --bg:#f5f5f7; --surface:#fff; --surface-2:#f5f5f7; --line:#e5e5ea; --ink:#1d1d1f; --muted:#6e6e73;
  --brand:#0a2540; --brand-2:#1e3a5f; --brand-soft:#eef2f8;
  --accent:#f5b400; --accent-2:#e0a200; --accent-soft:#fff6d9;
  --r:20px; --r-lg:28px;
  --shadow:0 1px 2px rgba(0,0,0,.04),0 8px 28px rgba(0,0,0,.07);
  --shadow-lg:0 30px 70px rgba(0,0,0,.18);
  --head:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Helvetica Neue",Arial,sans-serif;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Helvetica Neue",Arial,sans-serif;
}
html{scroll-padding-top:80px}
body{background:var(--bg);color:var(--ink);font:400 17px/1.55 var(--sans);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--head);letter-spacing:-.028em;font-weight:600}
:focus-visible{outline:3px solid rgba(10,37,64,.35);outline-offset:3px;border-radius:8px}

/* Botones: píldoras */
.btn{border-radius:999px;font-weight:500;font-size:.98rem;padding:11px 24px;min-height:44px;letter-spacing:-.01em;transition:background .2s,transform .15s,box-shadow .2s,opacity .2s}
.btn-primary,.btn-dark{background:var(--brand);color:#fff}
.btn-primary:hover,.btn-dark:hover{background:var(--brand-2)}
.btn-ghost{border:1.5px solid rgba(10,37,64,.28);color:var(--brand);background:transparent}
.btn-ghost:hover{background:rgba(10,37,64,.06)}
.btn-paypal{background:#ffc439;color:#111}
.btn-lg{padding:15px 32px;font-size:1.05rem}
.btn-sm{padding:8px 18px;min-height:38px;font-size:.9rem}

/* Encabezado de vidrio */
.site-header{background:rgba(255,255,255,.72);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);border-bottom:1px solid rgba(0,0,0,.07)}
.bar{min-height:60px}
.brand img{height:32px}
.nav a{font-size:.88rem;font-weight:500;color:var(--ink);padding:8px 14px;border-radius:999px;opacity:.82}
.nav a:hover{background:rgba(0,0,0,.05);opacity:1}
.cart-btn{width:40px;height:40px;border-radius:50%;background:var(--ink)}
.cart-count{background:var(--accent);top:-5px;right:-5px;min-width:20px;height:20px;line-height:20px;font-size:.72rem}
.burger{border-radius:50%;width:40px;height:40px;border-color:rgba(0,0,0,.2)}
.soc{border-radius:50%;background:rgba(0,0,0,.06);color:var(--ink);width:36px;height:36px}
.soc:hover{background:var(--ink);color:#fff;transform:none}
.nav .nav-social .soc{color:var(--ink)}

/* Portada */
.hero{background:linear-gradient(180deg,#fff 0%,var(--bg) 100%)}
#hero[data-divider] .hero{border-bottom:0}
.hero-grid{padding:clamp(40px,7vw,96px) 0 clamp(40px,6vw,80px);gap:clamp(28px,5vw,72px)}
.hero-text .eyebrow{color:#8a6400;letter-spacing:.12em}
.hero-text h1{font-size:clamp(2.5rem,5.6vw,4.6rem);font-weight:700;letter-spacing:-.04em;line-height:1.03;color:var(--ink)}
.hero-text p.sub{font-size:clamp(1.1rem,1.7vw,1.35rem);color:var(--muted);line-height:1.45;max-width:30ch}
.hero-card{border:0;border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}
.info-chips{padding:0 0 4px;margin-top:8px}
.info-chip{background:#fff;border:0;box-shadow:0 1px 3px rgba(0,0,0,.06);font-weight:500;font-size:.84rem;color:var(--ink)}

/* Secciones: más aire, titulares centrados donde son rejillas */
section{padding:clamp(64px,9vw,128px) 0}
section.hero{padding:0}
#productos{padding-top:clamp(56px,8vw,104px)}
.sec-head{text-align:center;margin-bottom:34px}
.sec-head .lead{margin-inline:auto}
.sec-head h2,.section-title{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:700;letter-spacing:-.035em;color:var(--ink)}
.eyebrow{color:#8a6400;font-weight:600;letter-spacing:.12em;font-size:.74rem}
.lead{font-size:1.2rem;color:var(--muted);line-height:1.5}
#clases .wrap,#filosofia .wrap,#opiniones .wrap,#galeria .wrap{text-align:center}
#clases .lead,#filosofia .lead,#opiniones .lead,#galeria .lead{margin-inline:auto}
.band{background:#fff;border:0}
.story-copy p{color:#424245;font-size:1.12rem;line-height:1.6}
.pic,.split img.pic,.pic-photo{border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}
.checks li::before{background:var(--brand);color:#fff}
.benefit{border:0;border-radius:var(--r);box-shadow:var(--shadow);text-align:left;padding:30px}
.band .benefit{background:var(--bg);box-shadow:none}
.benefit .num{background:var(--brand-soft);color:var(--brand);border-radius:50%;width:36px;height:36px}
.benefit h3{font-size:1.2rem;color:var(--ink)}
.quote{border-radius:var(--r-lg);background:linear-gradient(160deg,#10304f,#0a2540);text-align:left}
.quote::before{color:rgba(245,180,0,.9)}
.faq details{background:var(--bg);border:0;border-radius:18px}
.band .faq details{background:var(--bg)}
.faq summary{font-family:var(--head);font-weight:600;font-size:1.05rem;color:var(--ink)}
.faq details p{color:#424245}
.gallery{gap:14px}
.gal-item{border-radius:20px;box-shadow:var(--shadow)}

/* Catálogo */
.search input{border:0;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);border-radius:999px;padding:13px 22px;font-size:1rem}
.search input:focus{outline:none;box-shadow:inset 0 0 0 2px rgba(10,37,64,.5)}
.search{display:flex;justify-content:center}
.search input{max-width:460px}
.filters{display:grid;gap:12px;justify-items:center;margin-bottom:8px}
.catbar{display:flex!important;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 6px;overflow:visible}
.catcard{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:8px;width:auto!important;min-height:0!important;padding:7px 18px 7px 8px!important;border:0;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08);text-align:left;color:var(--ink)}
.catcard:hover{transform:none;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.catcard .ci{width:32px!important;height:32px!important;font-size:1.05rem!important;background:var(--bg);border:0;box-shadow:none}
.ct{flex-direction:row!important;align-items:baseline!important;gap:8px!important}
.catcard strong{font:600 .9rem var(--sans);color:var(--ink);white-space:nowrap}
.catcard small{display:inline!important;font-size:.78rem;color:var(--muted)}
.catcard[aria-pressed="true"]{background:var(--ink)}
.catcard[aria-pressed="true"] strong{color:#fff}
.catcard[aria-pressed="true"] small{color:rgba(255,255,255,.65)}
.catcard[aria-pressed="true"] .ci{background:rgba(255,255,255,.16)}
.subbar{justify-content:center;margin:0 0 18px}
.subchip{border:0;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08);color:var(--ink);font-weight:500;font-size:.88rem}
.subchip[aria-pressed="true"]{background:var(--ink);color:#fff}
.cat-block{margin-top:44px}
.cat-head{justify-content:center;text-align:left;margin-bottom:22px}
.cat-ico{background:#fff;border:0;box-shadow:var(--shadow);width:54px;height:54px;font-size:1.5rem}
.cat-head h3{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;letter-spacing:-.03em}
.sub-head{border-bottom:1px solid var(--line);font-size:1.1rem;color:var(--ink)}
.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.card{border:0;border-radius:24px;box-shadow:0 2px 14px rgba(0,0,0,.06);background:#fff}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(0,0,0,.12)}
.card-img{background:var(--bg)}
.card-body{padding:20px 22px 22px;gap:7px}
.pres{color:var(--muted);font-weight:500;letter-spacing:.06em;font-size:.72rem}
.card h4{font:600 1.22rem/1.2 var(--head);letter-spacing:-.025em}
.card-title{color:var(--ink)}
.desc{color:var(--muted);font-size:.95rem}
.link-more{color:var(--brand-2);font-weight:500;text-decoration:none}
.link-more:hover{text-decoration:underline}
.price{font:600 1.2rem var(--head);color:var(--ink);letter-spacing:-.02em}
.add-btn{background:var(--brand);color:#fff;border-radius:999px;font-weight:500;height:40px;padding:0 22px;font-size:.92rem}
.add-btn:hover{background:var(--brand-2)}
.in-cart{border:0;background:#e7f6ec;color:#17713f;border-radius:999px;height:40px;font-weight:600}
.stepper{border:0;background:var(--bg);border-radius:999px}
.stepper.mini{background:var(--ink)}
.ribbon{background:rgba(255,255,255,.92);color:var(--ink);box-shadow:0 1px 6px rgba(0,0,0,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ribbon.r-oferta{background:#d64a3a;color:#fff}
.empty{border:0;background:#fff;border-radius:var(--r);box-shadow:var(--shadow)}

/* Carrito (panel flotante) y diálogos */
.overlay,.modal,.popup-bg,.lb{background:rgba(0,0,0,.38);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.drawer{background:rgba(250,250,252,.92);-webkit-backdrop-filter:saturate(180%) blur(28px);backdrop-filter:saturate(180%) blur(28px)}
@media (min-width:641px){.drawer{top:12px;right:12px;bottom:12px;width:min(460px,calc(100% - 24px));border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.28);overflow:hidden}}
.drawer-head{background:transparent;border-bottom:1px solid rgba(0,0,0,.07)}
.drawer-head h2{font-size:1.25rem;font-weight:700;color:var(--ink)}
.icon-btn{border:0;background:rgba(0,0,0,.06);border-radius:50%;color:var(--ink)}
.line{border:0;border-radius:18px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.line .sub{color:var(--ink)}
.totals{border:0;border-radius:18px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.totals .grand{color:var(--ink);font-family:var(--head)}
.sticky{background:rgba(250,250,252,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid rgba(0,0,0,.07);box-shadow:none}
.sticky .btn-primary{animation:none;box-shadow:none}
.sticky .btn-primary::after{display:none}
.field input,.field select,.field textarea,.coupon-row input{border:1px solid #d2d2d7;border-radius:14px;background:#fff;padding:13px 16px;font-size:1rem;transition:border-color .15s,box-shadow .15s}
.field input:focus,.field textarea:focus,.coupon-row input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(10,37,64,.12)}
.field label{color:var(--ink);font-weight:500}
.coupon-on{border-radius:14px;background:var(--accent-soft);border:0}
.notice{background:var(--accent-soft);border:0;border-radius:14px;color:#5b4300}
.warn{border-radius:14px}
.delivery{border:0;border-radius:18px;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.done-ico{background:#1f9d57}
.modal-card{border-radius:var(--r-lg);box-shadow:0 40px 100px rgba(0,0,0,.3);background:#fff}
.lb-card,.popup-card{border-radius:var(--r-lg);box-shadow:0 40px 100px rgba(0,0,0,.35)}
.lb-close,.popup-x{background:rgba(0,0,0,.08);color:var(--ink);border:0;backdrop-filter:blur(8px)}
.lb-close:hover,.popup-x:hover{background:var(--ink);color:#fff}
.pd .lb-close{background:rgba(0,0,0,.08);color:var(--ink)}
.pd-main,.pd-sched-img{border-radius:20px}
.pd-price{font-family:var(--head);color:var(--ink)}
.pd-sum{background:var(--bg);border:0;border-radius:16px;color:var(--ink)}
.toast{background:rgba(29,29,31,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:16px;font-weight:500}
.cartbar-btn{background:rgba(29,29,31,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:999px}
.cb-count{border-radius:50%;background:var(--accent)}

/* Agenda (calendario) */
.sch-label{color:var(--ink);font-weight:600}
.sch-h{border:0;background:var(--bg);color:var(--ink);font-weight:500}
.sch-h[aria-pressed="true"]{background:var(--ink);color:#fff}
.sch-nav{background:var(--bg);color:var(--ink)}
.sch-day.has{background:var(--brand-soft);color:var(--brand)}
.sch-day[aria-pressed="true"]{background:var(--ink);color:#fff}
.sch-day.today{box-shadow:inset 0 0 0 1.5px var(--ink)}
.sch-slot{border:1px solid #d2d2d7;border-radius:12px;color:var(--ink);font-weight:500}
.sch-slot:hover{border-color:var(--ink);background:#fff}
.sch-slot[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.pk-confirm{border:0;border-radius:18px;box-shadow:var(--shadow)}
.sch-head{font-family:var(--head)}

/* Pie de página claro */
.site-footer{background:var(--bg);color:var(--muted);border-top:1px solid var(--line);padding:56px 0 34px;font-size:.88rem}
.foot img.flogo{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.08);width:170px}
.foot h4{color:var(--ink);letter-spacing:.06em;font-weight:600}
.foot a{color:var(--muted)}
.foot a:hover{color:var(--ink);text-decoration:none}
.foot-social .soc{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.foot-social .soc:hover{background:var(--ink);color:#fff}
.legal{border-top:1px solid var(--line)}
.credit a{color:var(--ink);text-shadow:none;animation:none;font-weight:600;background:linear-gradient(transparent 62%,rgba(245,180,0,.45) 0)}

@media (max-width:860px){
  .nav{background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:0 0 22px 22px;box-shadow:0 20px 40px rgba(0,0,0,.12);border:0}
  .hero-grid{padding-top:20px}
  .sec-head{margin-bottom:22px}
}
@media (max-width:640px){
  body{font-size:16px}
  .card{border-radius:20px}
  .card-body{padding:14px 16px}
  .catbar{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;margin-inline:-16px;padding:2px 16px 6px;scrollbar-width:none}
  .catbar::-webkit-scrollbar{display:none}
  .catcard{flex:0 0 auto}
  .drawer{border-radius:28px 28px 0 0}
  .modal-card{border-radius:28px 28px 0 0}
}

/* catálogo corto: una sola fila de productos */
.grid-flat{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));max-width:1100px;margin:6px auto 0}
.search[hidden],.filters[hidden]{display:none}
#productos .sec-head{margin-bottom:36px}

/* pago rápido */
.express{display:grid;gap:8px}
.express .or{text-align:center;color:var(--muted);font-size:.8rem;margin:0;display:flex;align-items:center;gap:10px}
.express .or::before,.express .or::after{content:"";flex:1;height:1px;background:rgba(0,0,0,.12)}
.express-btn{min-height:44px}

/* Pie de página completo */
.site-footer{padding:0}
.foot-cta{background:linear-gradient(135deg,#0a2540,#16406b 60%,#0a2540);color:#fff;position:relative;overflow:hidden}
.foot-cta::before{content:"";position:absolute;width:520px;height:520px;right:-120px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(245,180,0,.35),transparent 65%)}
.foot-cta{padding:clamp(52px,7vw,96px) 0}
.foot-cta-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding:0}
.foot-cta h2{font-size:clamp(1.7rem,3.6vw,2.6rem);font-weight:700;letter-spacing:-.035em;color:#fff;max-width:20ch}
.foot-cta p{color:rgba(255,255,255,.78);font-size:1.08rem;margin-top:10px;max-width:46ch}
.foot-cta-btns{display:flex;gap:12px;flex-wrap:wrap}
.btn-light{background:#fff;color:var(--brand)}.btn-light:hover{background:#f0f4fa}
.btn-ghost-light{border:1.5px solid rgba(255,255,255,.5);color:#fff;background:transparent}.btn-ghost-light:hover{background:rgba(255,255,255,.12)}
.foot{grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:36px;padding-top:56px}
.foot-brand p{max-width:34ch;color:var(--muted)}
.foot-note{margin-top:8px;font-size:.84rem}
.foot-brand .foot-social{margin-top:16px}
.foot-link{all:unset;cursor:pointer;color:var(--muted)}
.foot-link:hover{color:var(--ink)}
.foot-link:focus-visible{outline:3px solid rgba(10,37,64,.35);outline-offset:3px;border-radius:4px}
.foot-muted{color:var(--muted);max-width:26ch;font-size:.88rem}
.foot-trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:40px;padding:18px 22px;background:#fff;border-radius:18px;box-shadow:0 1px 4px rgba(0,0,0,.06);font-size:.84rem;color:var(--ink);font-weight:500}
.legal{padding-bottom:calc(30px + env(safe-area-inset-bottom));align-items:center}
.top-link{font-weight:500;color:var(--ink)}
@media (max-width:860px){.foot{grid-template-columns:1fr 1fr;gap:28px;padding-top:40px}.foot-brand{grid-column:1/-1}.foot-cta-btns{width:100%}.foot-cta-btns .btn{flex:1 1 100%}}
@media (max-width:640px){.legal{gap:10px}.foot-trust{flex-direction:column;gap:8px}}

/* Selector de horas con precio y total que se suma al instante */
.sch-hours{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px}
.sch-h{display:grid;gap:1px;justify-items:center;padding:10px 12px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px #d2d2d7;border:0;transition:box-shadow .2s,background .2s,transform .2s}
.sch-h b{font:600 .95rem var(--sans);color:var(--ink)}
.sch-h small{font-size:.76rem;color:var(--muted)}
.sch-h[aria-pressed="true"]{background:var(--ink);box-shadow:none}
.sch-h[aria-pressed="true"] b{color:#fff}.sch-h[aria-pressed="true"] small{color:rgba(255,255,255,.7)}
.pd-sum{display:grid;gap:4px}
.sum-line{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-weight:500;color:var(--ink)}
.sum-total{font:700 1.5rem var(--head);letter-spacing:-.03em;color:var(--ink);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.sum-when{font-size:.9rem;color:var(--ink)}.sum-when.muted{color:var(--muted)}

.pd-more>summary{cursor:pointer;font:600 1rem var(--head);list-style:none;display:flex;justify-content:space-between;align-items:center;padding:6px 0;color:var(--ink)}
.pd-more>summary::-webkit-details-marker{display:none}
.pd-more>summary::after{content:"+";font-size:1.4rem;color:var(--muted)}
.pd-more[open]>summary::after{content:"–"}
.pd-more .pd-desc{margin-top:8px}

/* Píldoras de confianza: unidas al banner */
.hero .info-chips{justify-content:center;flex-wrap:wrap;overflow:visible;padding:0 0 clamp(36px,5vw,64px);margin-top:calc(-1 * clamp(8px,2vw,28px))}
.hero .info-chip{background:rgba(255,255,255,.72);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 6px 20px rgba(0,0,0,.07)}
.hero::after{bottom:auto;top:30%;opacity:.4}
#infostrip:empty{display:none}
@media (max-width:860px){.hero .info-chips{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;margin-inline:-16px;padding-inline:16px;scrollbar-width:none}.hero .info-chips::-webkit-scrollbar{display:none}}

@media (max-width:860px){.hero .info-chips{scroll-padding-inline:16px}}

/* Crédito de Greentic en azul, limpio */
.credit a,.legal .credit a,.login-wrap .credit a{color:#0071e3!important;background:none!important;text-shadow:none!important;animation:none!important;padding:0;font-weight:600;text-decoration:none;border-radius:0}
.credit a:hover{color:#0058b0!important;text-decoration:underline}

/* Iconos en los botones de producto */
.add-btn,.in-cart{display:inline-flex;align-items:center;gap:8px}
.bi{display:inline-grid;place-items:center;line-height:0}
.bi svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.btn .bi svg{width:20px;height:20px}

/* Pasos claros del selector: 1 horas · 2 día · 3 hora */
.sch{gap:14px}
.sch-block{background:var(--bg);border-radius:20px;padding:16px;display:grid;gap:12px}
.pd-sched .sch-block{background:var(--bg)}
.sch-step{display:flex;gap:12px;align-items:flex-start}
.sch-n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 .82rem var(--sans);margin-top:1px}
.sch-step b{display:block;font:700 1.05rem var(--head);letter-spacing:-.02em;color:var(--ink);line-height:1.25}
.sch-step small{display:block;color:var(--muted);font-size:.85rem;line-height:1.35;margin-top:2px}
.sch-date{font:600 .95rem var(--sans);color:var(--ink);margin:0}
.sch-hours .sch-h{background:#fff}
.sch-hours .sch-h[aria-pressed="true"]{background:var(--ink)}
.sch-tz{margin-top:-4px}

.sch-block .sch-day.has{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12);color:var(--ink)}
.sch-block .sch-day.has:hover{box-shadow:0 2px 8px rgba(0,0,0,.2)}
.sch-block .sch-day[aria-pressed="true"]{background:var(--ink);color:#fff;box-shadow:none}
.sch-block .sch-slot{background:#fff}
.sch-block .sch-slot[aria-pressed="true"]{background:var(--ink)}

/* Crédito de Greentic: enlace azul dentro de una burbuja */
.credit a:not(.guide-link),.legal .credit a:not(.guide-link),.login-wrap .credit a:not(.guide-link){display:inline-block;background:rgba(0,113,227,.1)!important;padding:7px 16px!important;border-radius:999px!important;color:#0071e3!important;font-weight:600;transition:background .2s,transform .2s}
.credit a:not(.guide-link):hover{background:rgba(0,113,227,.18)!important;text-decoration:none!important;transform:translateY(-1px)}

/* Fichas de producto: descripción rica */
.pd-facts{display:flex;flex-wrap:wrap;gap:8px}
.pd-fact{display:inline-flex;align-items:center;gap:7px;padding:7px 13px 7px 9px;border-radius:999px;background:var(--bg);font:500 .82rem var(--sans);color:var(--ink)}
.ci2,.fi{display:inline-grid;place-items:center;line-height:0;flex:none}
.ci2 svg{width:17px;height:17px;fill:none;stroke:var(--brand-2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pd-desc.rich{display:grid;gap:14px;max-height:none;overflow:visible;padding-right:0}
.pd-lead{font:600 1.18rem/1.35 var(--head);letter-spacing:-.02em;color:var(--ink);white-space:normal}
.feat-title{font:700 .78rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:-4px;white-space:normal}
.feat-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.feat-list li{display:flex;gap:12px;align-items:center;background:var(--bg);border-radius:16px;padding:11px 14px;font-size:.95rem;color:var(--ink);line-height:1.35}
.fi{width:34px;height:34px;border-radius:11px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.fi svg{width:19px;height:19px;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pd-callout{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#eef2f8,#fff6d9);color:var(--ink);font-size:.95rem;line-height:1.45;white-space:normal}
.pd-callout .ci2{margin-top:2px}.pd-callout .ci2 svg{stroke:#8a6400}

/* Ficha: un solo desplazamiento (el de la propia hoja) */
.modal-card{overflow-y:auto;overscroll-behavior:contain}
.pd .pd-desc,.pd .pd-info,.pd .pd-media{max-height:none!important;overflow:visible!important}
@media (min-width:861px){.pd-sched .pd-info{position:sticky;top:0;align-self:start}.pd-sched .pd-media{align-self:start}}
.pd-more>summary{padding:10px 14px;background:var(--bg);border-radius:14px}
.pd-more[open]>summary{margin-bottom:6px}

/* Píldoras alineadas a la izquierda, con el texto de la portada */
.hero .info-chips{justify-content:flex-start!important}

/* Burbuja del crédito: plana, sin luz ni brillo */
.credit a:not(.guide-link),.credit a:not(.guide-link):hover,.credit a:not(.guide-link):focus{box-shadow:none!important;text-shadow:none!important;animation:none!important;filter:none!important}
.credit::before,.credit::after,.credit a::before,.credit a::after{display:none!important}

/* Barras de desplazamiento finas y discretas (estilo Apple) */
*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.28) transparent}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(0,0,0,.26);border-radius:10px;border:3px solid transparent;background-clip:content-box}
::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.45);background-clip:content-box;border:3px solid transparent}
.modal-card,.drawer-body,.dlg-card{scrollbar-gutter:auto}
@media (max-width:860px){.modal-card::-webkit-scrollbar,.drawer-body::-webkit-scrollbar,.dlg-card::-webkit-scrollbar{display:none}.modal-card,.drawer-body,.dlg-card{scrollbar-width:none}}
/* Hoja de producto: margen interior cómodo y sin desbordes laterales */
.modal-card{overflow-x:hidden}
.pd{min-width:0}.pd>*{min-width:0}
@media (min-width:861px){.modal-card{padding:30px 30px 26px}.pd .lb-close{top:-8px;right:-8px}}

/* Alertas bonitas (estilo iOS) */
.modal-card.is-alert{max-width:400px;padding:30px 24px 22px;text-align:center;border-radius:28px;align-self:center}
.alert{display:grid;gap:8px;justify-items:center}
.alert-ico{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#e8f0fb;margin-bottom:8px}
.alert-ico.danger{background:#fdeceb}
.alert-ico svg{width:30px;height:30px;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.alert-ico.danger svg{stroke:#d92d20}
.alert h2{font:700 1.35rem var(--head);letter-spacing:-.03em;color:var(--ink)}
.alert p{color:var(--muted);font-size:1rem;max-width:30ch;line-height:1.45}
.alert-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:18px}
.alert-actions .btn{width:100%}
.btn-danger-fill{background:#d92d20;color:#fff}.btn-danger-fill:hover{background:#b42318}
@media (max-width:860px){.modal-card.is-alert{border-radius:28px;margin:0 14px calc(14px + env(safe-area-inset-bottom));width:auto;max-width:none;align-self:end;animation:sheetup .3s cubic-bezier(.32,.72,0,1)}.modal-card.is-alert::before{display:none}.alert-actions{grid-template-columns:1fr;gap:8px}.alert-actions .btn:first-child{order:2}}

/* Página de políticas */
.pol-wrap{max-width:780px;padding:clamp(34px,6vw,72px) 0;display:grid;gap:18px}
.pol-wrap h1{font-size:clamp(2.2rem,5vw,3.2rem);font-weight:700;letter-spacing:-.04em}
.pol-toc{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}
.pol-toc a{padding:8px 16px;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08);text-decoration:none;font-weight:500;font-size:.9rem;color:var(--ink)}
.pol-toc a:hover{background:var(--ink);color:#fff}
.pol{background:#fff;border-radius:24px;padding:clamp(22px,4vw,36px);box-shadow:0 2px 14px rgba(0,0,0,.06);display:grid;gap:12px;scroll-margin-top:84px}
.pol h2{font-size:1.5rem;font-weight:700;letter-spacing:-.03em}
.pol h3{font-size:1.02rem;font-weight:600;margin-top:6px;color:var(--ink)}
.pol p{color:#424245}

.consent{display:grid;gap:4px}
.consent-row{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--muted);line-height:1.4;cursor:pointer}
.consent-row input{width:20px;height:20px;margin-top:1px;accent-color:var(--brand);flex:none}
.consent-row a{color:var(--brand-2);text-decoration:underline;text-underline-offset:2px}
.fine.center{text-align:center}
.foot{grid-template-columns:1.4fr 1fr 1fr 1.1fr 1fr}
@media (max-width:860px){.foot{grid-template-columns:1fr 1fr}}

#servicios .wrap{text-align:center}#servicios .lead{margin-inline:auto}

/* Logo del pie: solo el nombre, limpio, sin tarjeta blanca */
.foot img.flogo{background:none!important;box-shadow:none!important;padding:0!important;border-radius:0!important;width:200px;height:auto;margin-bottom:16px}
.foot-brand p{font-size:.95rem}
