/* Tapline demo: consumer tap page templates (Elegant / Clinical / Bold), mirrors "Tapline Tap Page Templates" design file */
.tp{--bg:#F6F1EA;--ink:#2A1A1F;--mu:#7A6A6E;--card:#FFFDF9;--bd:#E6DCCF;--ac:#6B1E2E;--acInk:#fff;--hero:#EDE3D6;--hf:"Cormorant Garamond",Georgia,serif;--hw:600;--ht:none;--hls:-.01em;
  position:relative;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;min-height:100%;-webkit-font-smoothing:antialiased}
.tp *{box-sizing:border-box;margin:0;padding:0}
.tp.t-clinical{--bg:#FFFFFF;--ink:#0B0D12;--mu:#5B6170;--card:#F7F8FA;--bd:#E5E7EB;--ac:#1D4ED8;--acInk:#fff;--hero:#EEF2F7;--hf:Inter,system-ui,sans-serif;--hw:600;--hls:-.02em}
.tp.t-bold{--bg:#0B0B0C;--ink:#F5F5F5;--mu:#A1A1AA;--card:#17171A;--bd:#2A2A2E;--ac:#FACC15;--acInk:#0B0B0C;--hero:#141416;--hf:Inter,system-ui,sans-serif;--hw:800;--ht:uppercase;--hls:-.03em}
.tp h1,.tp h2,.tp h3{font-family:var(--hf);font-weight:var(--hw);text-transform:var(--ht);letter-spacing:var(--hls);line-height:1.1}
.tp .tp-top{height:44px;display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--ink);border-bottom:1px solid var(--bd)}
.tp.t-elegant .tp-top{font-family:var(--hf);font-size:14px;letter-spacing:.28em}
.tp .tp-hero{height:280px;background:var(--hero);display:flex;align-items:flex-end;justify-content:center;overflow:hidden;position:relative}
.tp .tp-hero img{height:92%;width:auto;display:block;position:relative;z-index:1}
.tp .tp-hero.wide img{height:100%;width:100%;object-fit:cover}
.tp .tp-hero .rip{position:absolute;border-radius:999px;border:1px solid var(--ac);opacity:.18;left:50%;top:50%;transform:translate(-50%,-50%)}
.tp .tp-head{padding:20px 20px 6px}
.tp .tp-head .br{font-size:12px;color:var(--mu);margin-bottom:6px}
.tp .tp-head h1{font-size:30px}
.tp.t-bold .tp-head h1{font-size:32px;line-height:.98}
.tp .tp-head .sub{font-size:13px;color:var(--mu);margin-top:6px}
.tp .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.tp .chip{font-size:11.5px;font-weight:500;padding:4px 10px;border-radius:999px;background:var(--card);border:1px solid var(--bd);color:var(--ink)}
.tp.t-bold .chip{background:var(--ac);color:var(--acInk);border-color:var(--ac);font-weight:700}
.tp .stars{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:12.5px;color:var(--mu)}
.tp .stars b{color:var(--ink);font-weight:600}
.tp .st{color:#F59E0B;letter-spacing:1px}
.tp .tabs{display:flex;gap:8px;padding:14px 20px 4px;overflow-x:auto;scrollbar-width:none}
.tp .tabs::-webkit-scrollbar{display:none}
.tp .tabs a{flex:none;font-size:12px;font-weight:500;padding:7px 12px;border-radius:999px;border:1px solid var(--bd);color:var(--ink);text-decoration:none;cursor:pointer;background:transparent}
.tp .sec{padding:18px 20px}
.tp .sec h2{font-size:22px;margin-bottom:12px}
.tp.t-bold .sec h2{font-size:22px}
.tp .card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:16px}
.tp .offer{background:var(--ac);color:var(--acInk);border:none}
.tp.t-elegant .offer,.tp.t-clinical .offer{background:var(--card);color:var(--ink);border:1px solid var(--bd)}
.tp .offer h3{font-size:20px;margin-bottom:4px}
.tp .offer p{font-size:12.5px;opacity:.85}
.tp .offer form{display:flex;gap:6px;margin-top:12px}
.tp .offer input{flex:1;min-width:0;height:42px;border-radius:10px;border:1px solid var(--bd);padding:0 12px;font:inherit;font-size:13px;background:#fff;color:#0B0D12}
.tp.t-bold .offer input{border-color:rgba(0,0,0,.2)}
.tp .btn{height:42px;padding:0 14px;border-radius:10px;border:none;font:inherit;font-size:13px;font-weight:600;cursor:pointer;background:var(--ac);color:var(--acInk);white-space:nowrap}
.tp.t-bold .offer .btn{background:#0B0B0C;color:#FACC15}
.tp .btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--bd)}
.tp .facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tp .fact{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:12px}
.tp .fact span{display:block;font-size:11px;color:var(--mu)}
.tp .fact b{display:block;font-size:13px;font-weight:600;margin-top:2px}
.tp .steps{list-style:none;display:flex;flex-direction:column;gap:10px}
.tp .steps li{display:flex;gap:12px;align-items:flex-start;font-size:13.5px}
.tp .steps li i{flex:none;width:24px;height:24px;border-radius:999px;background:var(--ac);color:var(--acInk);font-style:normal;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.tp .tl{border-left:2px solid var(--bd);padding-left:14px;display:flex;flex-direction:column;gap:14px}
.tp .tl div b{display:block;font-family:var(--hf);font-size:17px;font-weight:var(--hw);color:var(--ac)}
.tp.t-elegant .tl div b{color:var(--ink)}
.tp .tl div span{font-size:13px;color:var(--mu)}
.tp .rev{display:flex;flex-direction:column;gap:8px}
.tp .rev .card p{font-size:13px}
.tp .rev .card small{display:block;font-size:11.5px;color:var(--mu);margin-top:6px}
.tp .rate{display:flex;gap:4px;margin-top:10px}
.tp .rate button{background:none;border:none;font-size:24px;line-height:1;color:var(--bd);cursor:pointer;padding:0}
.tp .rate button.on{color:#F59E0B}
.tp .reg{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tp .reg p{font-size:12.5px;color:var(--mu)}
.tp .tp-foot{padding:24px 20px 96px;text-align:center;font-size:11.5px;color:var(--mu)}
.tp .tp-foot .bn{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);font-weight:600;margin-bottom:6px}
.tp .tp-foot a{color:var(--mu)}
.tp .bar{position:sticky;bottom:0;left:0;right:0;padding:10px 14px 14px;background:linear-gradient(to top,var(--bg) 70%,transparent);display:flex;gap:8px;align-items:center;z-index:5}
.tp .bar .btn{flex:1;height:48px;border-radius:999px;font-size:14px}
.tp .bar .pr{font-size:13px;font-weight:600;padding:0 6px;font-variant-numeric:tabular-nums}
.tp .toast{position:sticky;bottom:76px;margin:0 14px;background:#0B0D12;color:#fff;font-size:12.5px;border-radius:10px;padding:10px 12px;box-shadow:0 12px 40px rgba(11,13,18,.3);z-index:6;opacity:0;transform:translateY(8px);transition:.2s ease-out;pointer-events:none}
.tp .toast.on{opacity:1;transform:none}
.tp .thanks{font-size:13px;font-weight:600;margin-top:12px}
.tp .hide{display:none!important}
.tp .skel{background:linear-gradient(90deg,var(--card) 25%,var(--bd) 50%,var(--card) 75%);background-size:200% 100%;animation:tpsk 1.2s infinite;border-radius:8px}
@keyframes tpsk{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.tp .skel{animation:none}.tp .toast{transition:none}}
