/* /kids-studio/ sales page (v10.343) — mobile-first */
.kss{ color:#1B2A4A; }
.kss *{ box-sizing:border-box; }
.kss-wrap{ max-width:1120px; margin:0 auto; padding:0 16px; }
.kss-hero{ background:linear-gradient(135deg,#0E2F35,#123E46 50%,#2A1B4A); color:#fff; padding:48px 0 44px; }
.kss-kicker{ margin:0; font-size:12.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#BDE9EC; }
.kss-hero h1{ margin:8px 0 8px; font-size:clamp(44px,9vw,84px); line-height:1; color:var(--tn-rose,#F0006B) !important; -webkit-text-fill-color:var(--tn-rose,#F0006B) !important; text-shadow:0 2px 14px rgba(0,0,0,.45); } /* brand deep hot pink */
.kss-sub{ margin:0 0 20px; font-size:clamp(18px,2.6vw,24px); line-height:1.4; max-width:36ch; color:#F3EEFE; }
.kss-ctas{ display:flex; flex-wrap:wrap; gap:12px; }
.kss-btn{ display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:14px 26px; border-radius:100px; font-weight:800; font-size:16px;
  text-decoration:none; background:linear-gradient(135deg,#D6005E,#A8004A); color:#fff !important; box-shadow:0 10px 26px rgba(214,0,94,.3); }
.kss-ghost{ background:transparent; border:2px solid #5DE3DC; color:#5DE3DC !important; box-shadow:none; }
.kss-proof{ margin:18px 0 0; font-size:14.5px; color:#DDEFF0; }
.kss-sec{ padding:40px 16px; }
.kss-sec.kss-wrap{ padding-left:16px; padding-right:16px; }
.kss-sec h2,.kss-final h2{ margin:0 0 16px; font-size:clamp(24px,4vw,34px); line-height:1.2; }
.kss-grid{ display:grid; grid-template-columns:1fr; gap:14px; }
@media(min-width:600px){ .kss-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1000px){ .kss-grid{ grid-template-columns:repeat(3,1fr); } }
.kss-card{ display:flex; flex-direction:column; gap:6px; background:#fff; border:1px solid rgba(27,42,74,.12); border-radius:18px; padding:18px; text-decoration:none; color:#1B2A4A;
  transition:transform .15s, box-shadow .15s; }
.kss-card:hover{ transform:translateY(-2px); box-shadow:0 14px 32px rgba(22,11,46,.08); }
.kss-card span{ font-size:30px; } .kss-card h3{ margin:0; font-size:19px; } .kss-card p{ margin:0; font-size:14.5px; line-height:1.55; color:#4A4560; }
.kss-how{ background:#EAF8F8; }
.kss-steps{ margin:0; padding-left:22px; display:grid; gap:10px; font-size:16px; line-height:1.5; }
@media(min-width:900px){ .kss-steps{ grid-template-columns:repeat(4,1fr); } }
.kss-plans{ display:grid; grid-template-columns:1fr; gap:16px; max-width:760px; }
@media(min-width:640px){ .kss-plans{ grid-template-columns:1fr 1fr; } }
.kss-plan{ position:relative; background:#fff; border:1.5px solid rgba(27,42,74,.14); border-radius:20px; padding:22px; }
.kss-plan h3{ margin:0 0 6px; font-size:20px; } .kss-plan p{ margin:4px 0; font-size:15px; }
.kss-best{ border-color:#00838F; box-shadow:0 12px 30px rgba(0,131,143,.16); }
.kss-badge{ display:inline-block; margin:0 0 8px !important; background:#00838F; color:#fff; font-size:12.5px !important; font-weight:800; padding:4px 12px; border-radius:100px; }
.kss-price{ font-size:36px !important; font-weight:900; color:#1B2A4A; } .kss-price small{ font-size:15px; font-weight:600; color:#5E5873; }
.kss-soon{ margin:16px 0; padding:12px 16px; border-radius:12px; background:#FFF8E1; border:1px solid #F5D98B; color:#4A3A08; font-size:14.5px; max-width:760px; }
.kss-share-row{ display:flex; flex-wrap:wrap; gap:10px; }
.kss-sh{ display:inline-flex; align-items:center; min-height:46px; padding:10px 18px; border-radius:12px; border:1.5px solid rgba(27,42,74,.18); background:#fff;
  color:#1B2A4A; font-weight:700; font-size:15px; text-decoration:none; cursor:pointer; }
.kss-copied{ min-height:1em; font-size:14px; color:#0B6B33; }
.kss-faq{ background:#fff; border:1px solid rgba(27,42,74,.12); border-radius:14px; padding:12px 16px; margin:8px 0; max-width:860px; }
.kss-faq summary{ cursor:pointer; font-weight:700; min-height:28px; } .kss-faq p{ margin:8px 0 0; line-height:1.6; color:#4A4560; }
.kss-final{ background:linear-gradient(135deg,#2A1B4A,#123E46); color:#fff; padding:44px 0; text-align:center; }
.kss-final h2{ color:#fff !important; -webkit-text-fill-color:#fff !important; }
.kss-final .kss-ctas{ justify-content:center; }
[data-theme="dark"] .kss{ color:#ECE8F7; }
[data-theme="dark"] .kss-card,[data-theme="dark"] .kss-plan,[data-theme="dark"] .kss-faq,[data-theme="dark"] .kss-sh{ background:#1C1830; color:#ECE8F7; border-color:rgba(255,255,255,.14); }
[data-theme="dark"] .kss-card p,[data-theme="dark"] .kss-faq p,[data-theme="dark"] .kss-price small{ color:#C9C1E0; }
[data-theme="dark"] .kss-price{ color:#fff; } [data-theme="dark"] .kss-how{ background:#10262A; }
[data-theme="dark"] .kss-soon{ background:#2B2410; border-color:#6B5A20; color:#F6EBCB; } [data-theme="dark"] .kss-copied{ color:#7FE0A6; }
/* contrast fixes (audit): badge, and ghost buttons used on LIGHT sections */
.kss-badge{ background:#006C76 !important; color:#FFFFFF !important; }
.kss-sec .kss-ghost{ color:#006C76 !important; border-color:#006C76; }
[data-theme="dark"] .kss-sec .kss-ghost{ color:#5DE3DC !important; border-color:#5DE3DC; }

/* ===== v10.379 Kids Pass page ===== */
.kss-compare-sec{ background:#FFF4F9; }
.kss-table-wrap{ overflow-x:auto; max-width:860px; }
.kss-table{ width:100%; border-collapse:separate; border-spacing:0; background:#fff; border:1px solid rgba(27,42,74,.12); border-radius:16px; overflow:hidden; font-size:15px; }
.kss-table th,.kss-table td{ padding:12px 14px; text-align:left; border-bottom:1px solid rgba(27,42,74,.08); vertical-align:top; }
.kss-table tbody tr:last-child th,.kss-table tbody tr:last-child td{ border-bottom:0; }
.kss-table thead th{ font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:#5E5873; background:#FAF7FD; }
.kss-table td{ font-weight:700; color:#1B2A4A; white-space:nowrap; }
.kss-table .kss-th-pass,.kss-table td:last-child{ color:#D6005E; }
.kss-table tbody th{ font-weight:600; }
.kss-plans-3{ max-width:none; }
@media(min-width:900px){ .kss-plans-3{ grid-template-columns:repeat(3,1fr); } }
.kss-plan{ display:flex; flex-direction:column; gap:4px; }
.kss-plan .kss-btn{ margin-top:auto; width:100%; min-height:48px; font-size:15px; border:0; cursor:pointer; }
.kss-plan .kss-btn[disabled]{ opacity:.55; cursor:not-allowed; }
.kss-plan > p:last-of-type{ margin-bottom:12px !important; }
.kss-best{ border-color:#D6005E !important; box-shadow:0 14px 34px rgba(214,0,94,.16) !important; }
.kss-best .kss-badge{ background:#D6005E !important; }
.kss-founding{ border-color:#F2C230; background:linear-gradient(180deg,#FFFBEA,#fff 60%); }
.kss-badge-gold{ background:#C026D3 !important; }
.kss-school{ background:#F2FAFB; }
.kss-ghost-dark{ background:#fff !important; color:#D6005E !important; border:2px solid #D6005E !important; box-shadow:none; }
.kss-note{ margin:0 0 14px; padding:12px 16px; border-radius:12px; background:#FFF3F8; border:1px solid #F7B5D2; color:#5A0F33; font-size:15px; max-width:860px; }
.kss-note-ok{ background:#EAF8F0; border-color:#9ED9B6; color:#0E4D2A; }
.kss-bonus{ margin:0 0 16px; padding:12px 16px; border-radius:12px; background:linear-gradient(90deg,#FFF1C2,#FFE3F0); color:#5B21B6; font-weight:700; font-size:15px; max-width:860px; }
.kss-small{ margin:14px 0 0; font-size:13.5px; color:#5E5873; }
.kss-cert{ margin:26px 0 0; max-width:620px; }
.kss-cert img{ width:100%; height:auto; border-radius:16px; box-shadow:0 14px 34px rgba(22,11,46,.14); }
.kss-cert figcaption{ margin-top:8px; font-size:14px; color:#5E5873; }
.kss-gift-form{ display:grid; gap:8px; margin-top:10px; }
.kss-gift-form label{ display:grid; gap:4px; font-size:13.5px; font-weight:600; }
.kss-gift-form input{ min-height:42px; padding:8px 12px; border-radius:10px; border:1.5px solid rgba(27,42,74,.2); font-size:15px; }
.kss-mine{ background:#fff; }
.kss-ref{ display:flex; flex-wrap:wrap; gap:10px; max-width:860px; }
.kss-ref-in{ flex:1 1 280px; min-height:46px; padding:8px 12px; border-radius:12px; border:1.5px solid rgba(27,42,74,.2); font-size:14.5px; }
.kss-codes{ padding-left:18px; line-height:1.9; } .kss-codes code{ font-weight:800; letter-spacing:.04em; }
.kss-codes a{ margin-left:8px; color:#D6005E; font-weight:700; }
.kss-final-sub{ margin:-6px 0 18px; font-size:17px; color:#F3EEFE; }
.kss-kicker{ color:#FFC2DD !important; }
[data-theme="dark"] .kss-compare-sec{ background:#1A1426; }
[data-theme="dark"] .kss-table{ background:#1C1830; border-color:rgba(255,255,255,.14); }
[data-theme="dark"] .kss-table thead th{ background:#241E38; color:#C9C1E0; }
[data-theme="dark"] .kss-table th,[data-theme="dark"] .kss-table td{ color:#ECE8F7; border-color:rgba(255,255,255,.08); }
[data-theme="dark"] .kss-table .kss-th-pass,[data-theme="dark"] .kss-table td:last-child{ color:#FF6FB4; }
[data-theme="dark"] .kss-founding{ background:#1E1530; border-color:#7C3AED; }
[data-theme="dark"] .kss-school{ background:#122426; }
[data-theme="dark"] .kss-ghost-dark{ background:transparent !important; color:#FF6FB4 !important; border-color:#FF6FB4 !important; }
[data-theme="dark"] .kss-note{ background:#2A1220; border-color:#6B2347; color:#FFD7EA; }
[data-theme="dark"] .kss-note-ok{ background:#10291C; border-color:#2F6B47; color:#C8F2D8; }
[data-theme="dark"] .kss-bonus{ background:linear-gradient(90deg,#2E1A47,#3A1328); color:#FFE9B0; }
[data-theme="dark"] .kss-small,[data-theme="dark"] .kss-cert figcaption{ color:#C9C1E0; }
[data-theme="dark"] .kss-mine{ background:transparent; }
[data-theme="dark"] .kss-ref-in,[data-theme="dark"] .kss-gift-form input{ background:#1C1830; color:#ECE8F7; border-color:rgba(255,255,255,.2); }
[data-theme="dark"] .kss-codes a{ color:#FF6FB4; }
/* v10.379: step numbers sat on top of the previous column's text */
.kss-steps{ list-style-position:inside; padding-left:0; gap:14px 22px; }
.kss-steps li{ padding:12px 14px; background:rgba(255,255,255,.6); border-radius:14px; }
[data-theme="dark"] .kss-steps li{ background:rgba(255,255,255,.06); }
/* v10.381 — "Kids Studio" title in the mobile menu's dark-mode Sign Up colour */
.kss-hero h1{ color:#45E0D0 !important; -webkit-text-fill-color:#45E0D0 !important; }

/* v10.426 — the Free vs Kids Pass table fits a phone: three columns that wrap
   instead of a table wider than the screen with the Kids Pass column cut off. */
@media (max-width:600px){
  .kss-table{ table-layout:fixed; font-size:13.5px; }
  .kss-table th,.kss-table td{ padding:10px 8px; white-space:normal; overflow-wrap:break-word; }
  .kss-table thead th:first-child,.kss-table tbody th{ width:38%; }
  .kss-table thead th{ font-size:12px; letter-spacing:.03em; }
}
