/* Children's pages only. Preserve section layouts; give information a calmer hierarchy. */
.children-page {
  --ink:#182230; --ink-2:#344054; --muted:#526070; --faint:#667085;
  --paper-2:#f6f8fa; --line:#e4e8ed; --line-2:#cbd3dd;
  line-height:1.75;
}
.children-page ::selection { background:#dbe5ef; color:#182230; }
.children-page :focus-visible { outline:3px solid #426384; outline-offset:4px; }
.children-page .h2 { line-height:1.35; letter-spacing:-.035em; }
.children-page .h2 em { color:inherit; }
.children-page .sub { line-height:1.85; }
.children-page .kicker { color:#526070; letter-spacing:.04em; font-weight:700; }
.children-page .kicker::before, .children-page .kicker::after { background:#aab6c4; height:2px; }
.children-page .now-body, .children-page .why-body, .children-page .curri-body,
.children-page .care-body, .children-page .faq-a { font-size:16px; line-height:1.85; }
.children-page .nav-brand img { filter:none; }
.children-page .nav-cta { background:#fff; color:#182230 !important; border:1px solid #d4dce5; }
.children-page .nav-cta:hover { background:#edf1f5; }
.children-page .hero-title { line-height:1.24; }
.children-page .hero-title em { color:#fff; }
.children-page .hero-veil { background:linear-gradient(180deg,#0e172470 0%,#0e172480 35%,#0e1724ed 100%); }
.children-page .hero-sub { font-size:17px; line-height:1.8; opacity:1; }
.children-page .strip-num strong, .children-page .hl-free {
  background:none; color:var(--ink); -webkit-text-fill-color:currentColor; filter:none;
}
.children-page .hl-free::after { display:none; }
.children-page .strip-label { font-size:14px; }
.children-page .strip-in .strip-num { animation:none; }
.children-page .curri-no, .children-page .modal-check { background:#e8edf3; color:#263548; }
.children-page .care { background:#f1f4f7; color:var(--ink); }
.children-page .care::before, .children-page .care::after { display:none; }
.children-page .care-head .h2, .children-page .care-title, .children-page .care-title em { color:var(--ink); }
.children-page .care-card { background:#fff; border-color:#dce2e9; box-shadow:none; backdrop-filter:none; }
.children-page .care-quote, .children-page .care-body, .children-page .care-foot { color:var(--muted); }
.children-page .care-chip { background:#edf1f5; color:#344054; border:1px solid #dce2e9; }
.children-page .care-foot a { color:#263548; border-color:#aab6c4; }
.children-page .coach-card { background:#26313f; }
.children-page .coach-card::after { display:none; }
.children-page .coach-desc, .children-page .coach-list span { color:#e0e5eb; }
.children-page .section-cta { background:#f1f4f7; }
.children-page .cta-badge { box-shadow:none; border-color:#d4dce5; font-size:14px; }
.children-page .cta-badge--timer { background:#263548; color:#fff; border-color:#263548; }
.children-page .cta-badge--timer b { font-size:17px; }
.children-page .live-dot { animation:none; box-shadow:none; }
.children-page .uniform-value { color:#526070; font-size:18px; margin-top:10px; }
.children-page .uniform-offer, .children-page .uniform-offer strong { color:#344054; }
.children-page .btn-primary { background:#263548; color:#fff; box-shadow:none; border-radius:12px; }
.children-page .btn-primary:hover { background:#172332; }
.children-page .cal-avail { background:#f1f4f7; border-color:#c3ceda; }
.children-page .cal-sel { background:#263548 !important; border-color:#263548 !important; box-shadow:0 0 0 2px #b6c5d6; }
.children-page .cal-sel .cal-num, .children-page .cal-sel .cal-time { color:#fff !important; }
.children-page .field input { font-size:16px; }
.children-page .contact-actions { --contact-ink:#344054; --contact-line:#cbd3dd; }
.children-page .contact-actions .contact-button--sms, .children-page .sms-dialog .contact-button--sms {
  background:#263548; color:#fff; border-color:#263548; box-shadow:none;
}
.children-page .contact-actions .contact-button--sms:hover { background:#172332; box-shadow:none; }
.children-page .contact-actions .contact-button--kakao { background:#fff; color:#344054; border-color:#cbd3dd; }
.children-page .contact-actions .contact-button--reserve { background:#fff; color:#263548; border-color:#8999aa; box-shadow:none; }
.children-page .contact-actions .contact-button:hover { border-color:#526b85; box-shadow:none; }
.children-page .hero-cta .contact-actions { --contact-surface:#ffffff18; --contact-ink:#fff; --contact-line:#ffffff80; }
.children-page .hero-cta .contact-button--sms { background:#fff; color:#182230; border-color:#fff; }
.children-page .hero-cta .contact-button--sms:hover { background:#e9eff5; }
.children-page .hero-cta .contact-button--reserve { background:#263548; color:#fff; border-color:#9caec1; }
.children-page .hero-cta .contact-button--reserve:hover { background:#344860; }
.children-page .contact-help { font-size:13px; opacity:1; }
.children-page .sms-dialog { background:#fff; color:#182230; border-color:#d4dce5; }
.children-page .sms-dialog-kicker { color:#526070; }
.children-page .sms-dialog textarea { background:#f6f8fa; border-color:#d4dce5; color:#344054; }
.children-page .sms-dialog p { color:#526070; }
.children-page .sms-dialog-close { background:#edf1f5; }
.children-page .contact-menu-panel { border-color:#d4dce5; }

/* Banner: the benefit, eligibility and deadline remain separate readable lines. */
.children-page .promo-bar {
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  gap:16px 28px; min-height:104px; padding:20px 32px;
  background:#eaf0f6; color:#182230; border-bottom:1px solid #c6d2df;
  text-align:left; line-height:1.5;
}
.children-page .promo-bar-tag { background:#fff; color:#344860; border:1px solid #c6d2df; padding:6px 10px; border-radius:6px; font-size:12px; }
.children-page .promo-bar-msg { display:flex; flex-direction:column; gap:3px; font-size:13px; color:#46576b; }
.children-page .promo-bar-msg strong { color:#182230; font-size:21px; letter-spacing:-.025em; }
.children-page .promo-bar-clock { display:flex; flex-direction:column; align-items:flex-start; gap:2px; padding:0 0 0 24px; border-left:1px solid #b8c7d7; border-radius:0; background:none; color:#46576b; font-size:12px; }
.children-page .promo-bar-clock b { color:#182230; font-size:23px; letter-spacing:.02em; }
.children-page .promo-bar-go { display:block; font-size:13px; font-weight:700; }
.event-offer { display:grid; gap:4px; padding:16px 18px; background:#f1f5f9; color:#263548; border:1px solid #c6d2df; border-radius:12px; font-size:13px; line-height:1.65; text-align:left; }
.event-offer > strong { font-size:17px; letter-spacing:-.025em; }
.event-offer-condition { color:#46576b; }
.event-offer-clock { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:#46576b; }
.event-offer-clock b { color:#182230; font-size:19px; font-variant-numeric:tabular-nums; letter-spacing:.025em; }
.children-page .hero-offer { max-width:420px; margin:24px 0 0; background:#fff; color:#182230; border:0; }
.children-page .hero-offer span { font-size:13px; opacity:1; color:#46576b; }
.children-page .hero-offer strong { font-weight:800; }
.children-page .hero-cta { margin-top:12px; }
.offer--compact { margin-bottom:12px; padding:12px; }
.offer--compact > strong { font-size:15px; }
.offer--compact .event-offer-clock b { font-size:17px; }
.children-page.has-contact-dock { --dock-h:265px; }
.dock .event-offer { gap:0; padding:0 0 8px; margin-bottom:8px; border:0; border-bottom:1px solid #dce2e9; border-radius:0; background:none; }
.dock .event-offer > strong { font-size:14px; }
.dock .event-offer-condition { font-size:11px; }
.dock .event-offer-clock { font-size:12px; }
.dock .event-offer-clock b { font-size:16px; }
.children-page .promo-modal-strip { background:#edf2f7; color:#182230; border:1px solid #c6d2df; }
.children-page .promo-modal-tag, .children-page .promo-modal-clock, .children-page .promo-modal-clock b { color:#344860; }

/* Native dialog supplies focus containment, inert background and Escape handling. */
html.event-modal-open { overflow:hidden; }
.event-dialog { width:min(480px,calc(100vw - 32px)); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); padding:0; overflow-y:auto; overscroll-behavior:contain; border:1px solid #d4dce5; border-radius:22px; color:#182230; background:#fff; box-shadow:0 24px 100px #0e17244d; font-family:var(--font-body); }
.event-dialog:not([open]) { display:none; }
.event-dialog::backdrop { background:#0e1724b0; backdrop-filter:blur(5px); }
.event-dialog-body { padding:36px 32px 24px; }
.event-close { position:absolute; top:12px; right:12px; width:36px; height:36px; border:0; border-radius:50%; background:#f1f4f7; color:#526070; font-family:inherit; font-size:25px; line-height:1; cursor:pointer; }
.event-eyebrow { display:inline-block; font-size:11px; font-weight:700; color:#526070; letter-spacing:.015em; padding-right:28px; }
.event-intro { margin:24px 0 8px; color:#667085; font-size:14px; line-height:1.6; }
.event-dialog h2 { margin:0 0 24px; font-size:30px; letter-spacing:-.045em; line-height:1.42; }
.event-dialog h2 > span, .event-dialog h2 > strong { display:block; font-weight:800; }
.event-dialog h2:focus { outline:none; }
.event-gift { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:20px 22px; border-radius:14px; background:#f6f7f8; border:1px solid #e4e7eb; }
.event-gift-label { display:block; font-size:12px; font-weight:600; color:#526070; }
.event-gift-value { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px; margin:4px 0 0; line-height:1.3; }
.event-gift-value > strong { color:#182230; font-size:32px; font-weight:800; letter-spacing:-.04em; white-space:nowrap; font-variant-numeric:tabular-nums; }
.event-gift-value strong span { font-size:20px; font-weight:700; margin-left:2px; }
.event-gift-value > span { font-size:13px; color:#667085; }
.event-gift-icon { width:54px; height:54px; flex-shrink:0; color:#7a8795; }
.event-dialog #eventDescription { font-size:14px; line-height:1.75; color:#526070; margin:16px 0 24px; }
.event-dialog #eventDescription strong { color:#344054; font-weight:600; }
.event-countdown { padding:0; color:#526070; }
.event-countdown-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 10px; margin-bottom:12px; font-size:12px; }
.event-countdown-heading > span:first-child { color:#344054; font-weight:700; }
.event-countdown-heading > span:last-child { font-size:11px; }
.event-flip-clock { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.flip-group { min-width:0; text-align:center; }
.flip-card { --flip-height:76px; position:relative; display:block; height:var(--flip-height); border-radius:9px; background:linear-gradient(#26313e 0 50%,#303c4a 50% 100%); color:#fff; box-shadow:0 3px 0 #17212d,0 5px 10px #18223012; perspective:350px; font:600 36px/var(--flip-height) "SFMono-Regular",Consolas,"Liberation Mono",monospace; font-variant-numeric:tabular-nums; letter-spacing:.025em; }
.flip-current { display:block; }
.flip-card::after { content:""; position:absolute; z-index:3; top:50%; left:0; right:0; height:1px; background:#101923; box-shadow:0 1px 0 #ffffff12; pointer-events:none; }
.flip-card::before { content:""; position:absolute; z-index:4; top:calc(50% - 3px); left:0; right:0; height:6px; border-left:3px solid #a3aab2; border-right:3px solid #a3aab2; pointer-events:none; }
.flip-old, .flip-next { position:absolute; left:0; right:0; height:50%; overflow:hidden; display:none; backface-visibility:hidden; }
.flip-old { top:0; border-radius:9px 9px 0 0; background:#26313e; transform-origin:center bottom; }
.flip-next { bottom:0; border-radius:0 0 9px 9px; background:#303c4a; transform-origin:center top; }
.flip-old > span, .flip-next > span { display:block; height:var(--flip-height); line-height:var(--flip-height); }
.flip-next > span { transform:translateY(-50%); }
.is-flipping .flip-old { display:block; z-index:2; animation:eventFlipTop .28s ease-in forwards; }
.is-flipping .flip-next { display:block; z-index:2; animation:eventFlipBottom .32s .28s ease-out both; }
.flip-label { display:block; margin-top:12px; font-size:11px; font-weight:600; color:#667085; }
@keyframes eventFlipTop { from { transform:rotateX(0deg); } to { transform:rotateX(-90deg); } }
@keyframes eventFlipBottom { from { transform:rotateX(90deg); } to { transform:rotateX(0deg); } }
.event-always { color:#667085; font-size:11px; line-height:1.7; margin:20px 0 16px; }
.event-action { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:56px; padding:15px 20px; border:1px solid #e5aa28; border-radius:12px; background:#fbb72c; color:#231c0e; font-size:16px; font-weight:800; box-shadow:0 2px 0 #d99b1c; transition:background .15s,box-shadow .15s; }
.event-action:hover { background:#ffc64e; box-shadow:0 3px 0 #d99b1c; }
.event-action:active { background:#efaa20; box-shadow:none; }
.event-dismiss { width:100%; min-height:48px; border:0; border-top:1px solid #e4e8ed; background:#fafbfc; color:#667085; font:500 13px var(--font-body); cursor:pointer; }

/* Keep the children's assistant consistent without altering adult assets. */
.children-page .bolt-chat { --bc-yellow:#e2e8f0; --bc-ink:#263548; --bc-muted:#526070; }
.children-page .bc-launcher { background:#fff; border-color:#cbd3dd; }
.children-page .bc-nudge, .children-page .bc-panel, .children-page .bc-booking { background:#f8fafc; border-color:#cbd3dd; }
.children-page .bc-scroll { background:#f8fafc; }
.children-page .bc-welcome h3 span, .children-page .bc-nudge-open b { color:#344860; }
.children-page .bc-suggestions button:hover { background:#edf2f7; border-color:#b8c7d7; }
.children-page .bc-booking-bar { background:#edf2f7; border-color:#cbd3dd; }
.children-page .bc-booking-bar button, .children-page .bc-booking-bar span { color:#46576b; }
.children-page .bc-booking-submit, .children-page .bc-booking-cta { background:#263548; color:#fff; border-color:#263548; }
.children-page .bc-input-wrap:focus-within { border-color:#526b85; box-shadow:0 0 0 3px #e2e8f0; }
.children-page .bolt-chat :focus-visible { outline-color:#426384; }
@media (max-width:640px) {
  .children-page .promo-bar { min-height:184px; padding:20px; gap:10px 14px; justify-content:flex-start; }
  .children-page .promo-bar-tag { order:0; font-size:11px; padding:4px 8px; }
  .children-page .promo-bar-msg { order:1; flex-basis:100%; align-items:flex-start; gap:2px; font-size:12px; }
  .children-page .promo-bar-msg strong { font-size:20px; }
  .children-page .promo-bar-clock { order:2; flex-direction:row; align-items:center; flex-wrap:wrap; gap:4px 10px; padding:0; border:0; font-size:12px; }
  .children-page .promo-bar-clock b { font-size:21px; }
  .children-page .promo-bar-go { order:3; font-size:11px; margin-left:auto; }
  .children-page .hero { padding-top:112px; padding-bottom:52px; }
  .children-page .hero-title { font-size:clamp(30px,8vw,40px); }
  .children-page .hero-sub { font-size:15px; }
  .children-page .hero-offer { margin-top:20px; }
  .children-page .kicker { margin-bottom:12px; }
  .children-page .section { padding-top:60px; padding-bottom:60px; }
  .children-page .cta-badge { font-size:12px; }
  .event-dialog-body { padding:28px 22px 22px; }
  .event-intro { margin-top:22px; font-size:13px; }
  .event-dialog h2 { font-size:clamp(21px,6.5vw,28px); margin-bottom:20px; }
  .event-gift { padding:16px; }
  .event-gift-value > strong { font-size:28px; }
  .event-gift-value strong span { font-size:18px; }
  .event-gift-icon { width:44px; height:44px; }
  .event-dialog #eventDescription { font-size:13px; margin-bottom:22px; }
  .event-flip-clock { gap:8px; }
  .flip-card { --flip-height:64px; font-size:30px; border-radius:7px; }
  .event-action { font-size:15px; }
}
@media (max-width:350px) {
  .event-dialog-body { padding-left:18px; padding-right:18px; }
  .event-gift { gap:8px; padding:14px; }
  .event-gift-value { gap:4px; }
  .event-gift-value > strong { font-size:25px; }
  .event-gift-value > span { font-size:12px; }
  .event-gift-icon { width:34px; height:34px; }
  .flip-card { --flip-height:58px; font-size:27px; }
  .event-action { padding-left:14px; padding-right:14px; }
}
@media (prefers-reduced-motion:reduce) {
  .is-flipping .flip-old, .is-flipping .flip-next { display:none; }
  .children-page *, .children-page *::before, .children-page *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
}
