/* Karofi kiosk look, copied from devcrm.happinno.com/tv/kiosk (hanh-trinh.css v25):
   Roboto · bg #F2F8FC · ink #0A1A2B · muted #66798D · blue #0A6FC2 · green #12A079 / #0B6B50 */
html{font-size:clamp(14px,1.25vw,20px)}
*{box-sizing:border-box}
body{margin:0;background:#F2F8FC;color:#0A1A2B;font-family:Roboto,"Segoe UI",system-ui,-apple-system,Arial,sans-serif}
a{color:inherit}
.app{min-height:100vh;display:flex}
.col{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh}

/* header */
.top{display:flex;align-items:center;gap:1.6rem;padding:1.2rem 2.6rem .6rem}
.brand{display:flex;align-items:center;gap:.7rem}
.brand__logo{height:1.9rem;width:auto}
.brand__ten{font-size:.85rem;color:#66798D;font-weight:500}
.pg{flex:0 1 32rem;display:flex;flex-direction:column;gap:.45rem}
.pg__m b{font-size:.92rem;font-weight:700}
.track{height:.55rem;background:#DBE8F2;border-radius:1rem;overflow:hidden}
.track i{display:block;height:100%;border-radius:1rem;background:linear-gradient(90deg,#2BC4F0,#0A6FC2)}
.top__sp{flex:1}
.top-btn{height:2.6rem;padding:0 .9rem;border:1.33px solid #DFE8F0;border-radius:.85rem;background:#fff;font:inherit;font-size:.92rem;font-weight:600;color:#3C4F63;text-decoration:none;display:inline-flex;align-items:center}

/* page */
.stage{flex:1;padding:1.4rem 2.6rem 1.4rem}
.qhead{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;margin-bottom:1.3rem}
.eyebrow{display:inline-flex;align-items:center;font-size:.9rem;font-weight:700;color:#0A6FC2;background:#fff;border:1.33px solid #D3E6F5;border-radius:999px;padding:.3rem .8rem}
.q{margin:0;font-size:2.35rem;font-weight:700;line-height:1.2;letter-spacing:-.02em}
.sub{margin:0;font-size:1.05rem;color:#3C4F63}
.card{background:#fff;border-radius:1.3rem;padding:1rem 1.1rem;box-shadow:0 1px 2px rgba(4,29,54,.06),0 15px 40px rgba(4,29,54,.08)}
.h2{margin:0 0 .6rem;font-size:1.05rem;font-weight:700}
.note{margin:.9rem 0 0;font-size:.88rem;color:#66798D}
.center{text-align:center}

/* bottom bar */
.actions{padding:0 2.6rem 1.4rem}
.actions__in{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}
.actions__hint{flex:1;font-size:.9rem;color:#66798D}
.btn{height:3.6rem;padding:0 1.6rem;border-radius:1.1rem;font:inherit;font-size:1.1rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn--ghost{border:1.33px solid #DFE8F0;background:#fff;color:#0A1A2B}
.btn--pri{border:0;color:#fff;background:linear-gradient(#1484DC,#0864B0);box-shadow:0 10px 24px rgba(8,100,176,.28),inset 0 1px 0 rgba(255,255,255,.25)}
.btn--pri[disabled],.btn--pri.is-off{background:#E4ECF3;color:#8C9EB0;box-shadow:none;cursor:default;pointer-events:none}

/* option cards (their .pays / .pay) */
.pays{display:grid;gap:1rem}
.pay{position:relative;background:#fff;border:2.67px solid transparent;border-radius:1.6rem;padding:1.3rem 1.3rem 1.2rem;box-shadow:0 1px 2px rgba(4,29,54,.06),0 15px 40px rgba(4,29,54,.08);font:inherit;color:inherit;text-align:left;text-decoration:none;display:flex;flex-direction:column;gap:.35rem;cursor:pointer}
.pay[aria-pressed="true"]{border-color:#0A6FC2;box-shadow:0 0 0 4px rgba(10,111,194,.12),0 15px 40px rgba(4,29,54,.08)}
.pay__t{font-size:1.2rem;font-weight:700}
.pay__t em{color:#12A079;font-style:normal}
.pay small{font-size:.88rem;color:#66798D}
.pay__amt{font-size:1.8rem;font-weight:700;margin-top:.3rem}
.pay__amt span{font-size:.9rem;color:#66798D;font-weight:600}
.pay__off{align-self:flex-start;background:#E4F6EF;color:#0B6B50;border-radius:.6rem;padding:.2rem .55rem;font-size:.85rem;font-weight:700}
.pay__off--blue{background:#E6F2FA;color:#0A6FC2}
.pay__ck{position:absolute;top:1.2rem;right:1.2rem;width:2.1rem;height:2.1rem;border:1.33px solid #C9D8E4;border-radius:50%;background:#fff}
.pay[aria-pressed="true"] .pay__ck{border-color:#0A6FC2;background:radial-gradient(circle,#0A6FC2 0 42%,#fff 46%)}
.pay__go{margin-top:auto;padding-top:.4rem;font-size:.95rem;font-weight:700;color:#0A6FC2}

/* model list */
.lead{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.3rem}
.lead .qhead{margin-bottom:0;max-width:44rem}
.gal{flex:0 0 auto;background:#FFEDE3;border-radius:1.1rem;padding:.75rem 1.1rem;display:flex;flex-direction:column;gap:.1rem}
.gal small{font-size:.85rem;font-weight:600;color:#9A3412}
.gal b{font-size:1.6rem;color:#C2410C}
.gal span{font-size:.8rem;color:#9A3412}
.models{grid-template-columns:repeat(5,minmax(0,1fr))}
.model{padding:.8rem .8rem 1rem;border-radius:1.4rem}
.model__im{position:relative;height:9.5rem;display:flex;align-items:center;justify-content:center;background:#EEF5FB;border-radius:1rem;margin-bottom:.4rem}
.model__im img{max-height:8.5rem;max-width:88%;object-fit:contain}
.model .pay__t{font-size:1.05rem}
.model .pay__amt{font-size:1.7rem;margin-top:.1rem}
.water{font-size:.85rem;font-weight:700;color:#0B6B50}
.badge{position:absolute;top:.55rem;left:.55rem;background:#12A079;color:#fff;font-size:.78rem;font-weight:700;border-radius:999px;padding:.25rem .65rem}

/* model detail: their side panel + right column */
.side{flex:0 0 26rem;display:flex;flex-direction:column;gap:1rem;padding:1.2rem 1.2rem 1.3rem;color:#fff;background:radial-gradient(55% 45% at 50% 42%,rgba(80,200,255,.45),rgba(80,200,255,0) 70%),linear-gradient(175deg,#041D36,#0A3A6C 70%,#0B5FAB)}
.show__badge{align-self:flex-start;background:#12A079;color:#fff;font-size:.98rem;font-weight:700;border-radius:999px;padding:.45rem 1rem}
.show__stage{flex:1;display:flex;align-items:center;justify-content:center;min-height:18rem}
.show__img{max-height:30rem;max-width:80%;object-fit:contain}
.show__alts>span{display:block;font-size:.85rem;color:rgba(255,255,255,.8);margin-bottom:.5rem}
.alts{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.alt{display:flex;align-items:center;gap:.55rem;background:rgba(255,255,255,.1);border:1.33px solid rgba(255,255,255,.2);border-radius:1rem;padding:.45rem .6rem .45rem .45rem;color:#fff;text-decoration:none}
.alt__im{flex:0 0 2.4rem;height:2.4rem;border-radius:.6rem;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center}
.alt__im img{max-height:2.1rem;max-width:2.1rem;object-fit:contain}
.alt b{display:block;font-size:.85rem}
.alt small{font-size:.75rem;color:rgba(255,255,255,.8)}
.show__all{align-self:center;color:#BFE0F6;font-size:.85rem;text-decoration:underline}
.specs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}
.spec{background:#fff;border-radius:1.1rem;padding:.7rem .8rem;box-shadow:0 1px 2px rgba(4,29,54,.05);display:flex;flex-direction:column;gap:.1rem}
.spec b{font-size:.95rem;font-weight:700}
.spec small{font-size:.78rem;color:#66798D}
.pricing{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem}
.pricing__now small{display:block;font-size:.85rem;color:#66798D}
.pricing__now b{font-size:2.3rem;font-weight:700}
.pricing__now b span{font-size:1rem;color:#66798D;font-weight:600}
.pricing__mo{background:#fff;border-radius:1.1rem;padding:.6rem .95rem;text-align:right}
.pricing__mo b{display:block;font-size:1.25rem;font-weight:700;color:#0B6B50}
.pricing__mo small{font-size:.82rem;color:#66798D}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ticks{margin:0;padding:0 0 0 1.1rem;font-size:.92rem;line-height:1.55;color:#3C4F63}
.wq{display:grid;grid-template-columns:auto 1fr;gap:.45rem .9rem;font-size:.92rem;align-items:baseline}
.wq span{color:#66798D}
.wq .ro{color:#3C4F63}
.wq .alk{font-weight:700;color:#0B6B50}
.fine{margin:.7rem 0 0;font-size:.78rem;color:#66798D}

/* not ready / next step cards (their .cta) */
.notready{margin-top:1.4rem}
.notready__h{display:flex;align-items:baseline;gap:.8rem;margin-bottom:.7rem}
.notready__h h2{margin:0;font-size:1.1rem;font-weight:700}
.notready__h span{font-size:.88rem;color:#66798D}
.cta{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cta a{display:flex;flex-direction:column;gap:.2rem;background:#fff;border:2.67px solid transparent;border-radius:1.3rem;padding:1rem 1.2rem;box-shadow:0 1px 2px rgba(4,29,54,.06),0 15px 40px rgba(4,29,54,.08);text-decoration:none;color:inherit}
.cta__t{font-size:1.05rem;font-weight:700}
.cta small{font-size:.85rem;color:#66798D}

/* forms */
.form{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem;max-width:52rem}
.field{display:flex;flex-direction:column;gap:.35rem}
.field label{font-size:.9rem;font-weight:600;color:#3C4F63}
.field input{height:3.2rem;border:1.33px solid #DFE8F0;border-radius:.9rem;padding:0 .9rem;font:inherit;font-size:1rem;background:#fff;color:#0A1A2B}
.consent{grid-column:1/-1;display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;color:#3C4F63}
.consent input{width:1.2rem;height:1.2rem;margin-top:.1rem}
.done{display:none;margin-top:1rem;background:#E4F6EF;color:#0B6B50;border-radius:.9rem;padding:.7rem 1rem;font-weight:700;max-width:52rem}

@media (max-width:900px){
  html{font-size:15px}
  .app{flex-direction:column}
  .side{flex:none}
  .show__stage{min-height:12rem}
  .show__img{max-height:14rem}
  .top{flex-wrap:wrap;padding:1rem 1.1rem .6rem}
  .pg{flex:1 1 100%;order:3}
  .stage{padding:1rem 1.1rem}
  .actions{padding:0 1.1rem 1.1rem}
  .lead{flex-direction:column;align-items:stretch}
  .models{grid-template-columns:repeat(2,minmax(0,1fr))}
  .specs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .duo,.cta,.form{grid-template-columns:1fr}
  .pays{grid-template-columns:1fr !important}
  .q{font-size:1.8rem}
  .btn{flex:1 1 auto}
}
