/* holiday call time finder */
.ct-hero{padding:28px 0 20px}
.ct-hero .wrap{display:grid;gap:28px}
.ct-hero h1{font-size:clamp(2.25rem,8vw,3.75rem);max-width:17ch;margin:18px 0 16px}
.ct-hero .cta-row{margin-top:24px}
.ct-moment{margin:0;padding:18px;border-radius:28px;max-width:30rem;list-style:none}
.ct-moment h2{font-size:.875rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:0 0 12px}
.ct-moment ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ct-moment li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding:6px 14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid var(--line)}
.ct-moment li b{font-size:1.0625rem;letter-spacing:-.01em}
.ct-moment li span{font-weight:800;font-size:1.25rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ct-moment li em{font-style:normal;font-size:.875rem;color:var(--peach);font-weight:700;margin-left:8px}
.ct-moment p{font-size:.9375rem;color:var(--muted);margin:12px 0 0}

.ct-planner{padding:12px 0 24px;scroll-margin-top:12px}
.ct-panel{border-radius:28px;padding:20px 16px}
.ct-panel>h2{font-size:clamp(1.5rem,5vw,2rem);margin-bottom:6px}
.ct-panel>p.ct-lead{color:var(--muted)}
.ct-step{margin:26px 0 0;padding:0;border:0;min-width:0}
.ct-step>legend,.ct-step>h3{display:block;float:none;width:100%;padding:0;margin:0 0 12px;font-size:1.1875rem;font-weight:800;letter-spacing:-.01em;line-height:1.2}
.ct-step>legend b,.ct-step>h3 b{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-right:10px;border-radius:50%;background:var(--grad);color:#fff;font-size:.9375rem;vertical-align:1px}
.ct-panel .lbl{display:block;font-weight:700;font-size:1rem;margin:0 0 6px}
.ct-panel .hint{font-size:.9375rem;color:var(--muted);margin:8px 0 0}
.ct-panel select.field{appearance:auto;padding-right:10px}
.ct-panel .field{min-width:0}
.ct-panel input[type=time].field{padding:0 12px}
.ct-row2{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
.ct-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ct-chip,.ct-pre{min-height:44px;min-width:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--ink);font-weight:700;font-size:.9375rem;cursor:pointer;transition:background .2s,border-color .2s}
.ct-chip:hover,.ct-pre:hover{background:rgba(139,123,255,.2)}
.ct-chip[aria-pressed="true"]{background:linear-gradient(135deg,rgba(91,79,240,.55),rgba(217,96,154,.4));border-color:rgba(200,190,255,.7)}
.ct-chip:focus-visible,.ct-pre:focus-visible{outline:3px solid var(--violet);outline-offset:2px}
.ct-len{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ct-len label{position:relative;min-width:0}
.ct-len input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.ct-len span{display:flex;align-items:center;justify-content:center;min-height:52px;padding:4px 6px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.05);font-weight:800;text-align:center;line-height:1.15;flex-direction:column;transition:background .2s,border-color .2s}
.ct-len small{display:block;font-weight:600;font-size:.75rem;color:var(--muted)}
.ct-len input:hover+span{background:rgba(139,123,255,.18)}
.ct-len input:checked+span{background:linear-gradient(135deg,rgba(91,79,240,.55),rgba(217,96,154,.4));border-color:rgba(200,190,255,.7);box-shadow:0 0 18px -4px rgba(139,92,246,.7)}
.ct-len input:focus-visible+span{outline:3px solid var(--violet);outline-offset:3px}

.ct-people{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.ct-person{padding:14px;border-radius:22px;border:1px solid var(--line);background:rgba(8,12,30,.35)}
.ct-ph{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.ct-ph h3{font-size:1rem;letter-spacing:0;color:#c9c0ff}
.ct-rm{min-height:44px;min-width:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font-weight:700;font-size:.9375rem;cursor:pointer}
.ct-rm:hover{background:rgba(245,143,180,.16);color:var(--ink)}
.ct-rm:focus-visible{outline:3px solid var(--violet);outline-offset:2px}
.ct-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ct-f{min-width:0}
.ct-f-name,.ct-f-city{grid-column:1/-1}
.ct-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.ct-tools .btn{min-height:48px;padding:0 20px}
.ct-note{margin:0;color:var(--muted);font-size:.9375rem}
.ct-block-row{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ct-go{display:grid;gap:12px;margin-top:28px}
.ct-go .btn{width:100%;min-height:56px}
.ct-errors{margin:22px 0 0;padding:16px 18px;border-radius:20px;border:1px solid rgba(245,143,180,.6);background:rgba(245,143,180,.1)}
.ct-err-h{font-weight:800;margin:0 0 6px;color:var(--rose)}
.ct-errors ul{margin:0;padding-left:1.2em}
.ct-errors a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px;font-weight:600}

/* results */
.ct-results{padding:8px 0 32px;scroll-margin-top:12px}
.ct-empty{padding:26px 20px;border-radius:28px;text-align:left}
.ct-empty h2{font-size:clamp(1.375rem,4.5vw,1.75rem);margin-bottom:8px}
.ct-empty p{color:var(--muted);margin:0;max-width:40em}
.ct-ghostbar{display:grid;gap:8px;margin-top:18px}
.ct-ghostbar i{display:block;height:22px;border-radius:999px;background:rgba(255,255,255,.07);position:relative;overflow:hidden}
.ct-ghostbar i::after{content:"";position:absolute;top:0;bottom:0;border-radius:999px;background:rgba(63,224,192,.28)}
.ct-ghostbar i:nth-child(1)::after{left:30%;width:42%}
.ct-ghostbar i:nth-child(2)::after{left:55%;width:40%}
.ct-ghostbar i:nth-child(3)::after{left:10%;width:48%}
.ct-out{padding:22px 16px;border-radius:28px;outline:none}
.ct-head h2{font-size:clamp(1.5rem,5vw,2.25rem);letter-spacing:-.03em}
.ct-kick{margin:0 0 8px;font-size:.875rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#c4baff}
.ct-sub{color:var(--muted);margin:10px 0 0;max-width:46em}
.ct-ranks{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.ct-rank{border-radius:22px;border:1px solid var(--line);background:rgba(8,12,30,.35);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.ct-rank.on{border-color:rgba(200,190,255,.75);box-shadow:0 0 28px -8px rgba(139,123,255,.7);background:rgba(60,50,150,.28)}
.ct-rank-btn{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;align-items:center;width:100%;min-height:64px;padding:12px 14px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.ct-rank-btn:focus-visible{outline:3px solid var(--violet);outline-offset:-3px;border-radius:22px}
.ct-n{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);font-weight:800}
.ct-rank.on .ct-n{background:var(--grad)}
.ct-main{display:flex;flex-direction:column;min-width:0}
.ct-main b{font-size:1.375rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ct-main span{font-size:.9375rem;color:var(--muted)}
.ct-room{grid-column:2;justify-self:start;font-size:.8125rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;border-radius:999px;background:rgba(63,224,192,.16);color:var(--mint)}
.ct-times{list-style:none;margin:0;padding:0 14px 12px}
.ct-times li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:baseline;padding:8px 0;border-top:1px solid rgba(180,190,255,.12)}
.ct-who{font-weight:700;min-width:0;overflow-wrap:anywhere}
.ct-clock{font-weight:800;font-size:1.125rem;font-variant-numeric:tabular-nums;text-align:right}
.ct-date{grid-column:1;font-size:.9375rem;color:var(--muted)}
.ct-tag{grid-column:2;justify-self:end;font-size:.8125rem;font-weight:800;padding:2px 10px;border-radius:999px;background:rgba(255,185,137,.18);color:var(--peach)}
.ct-tag.prev{background:rgba(106,183,255,.18);color:var(--sky)}
.ct-tag.miss{background:rgba(245,143,180,.2);color:var(--rose)}
.ct-near{margin-top:20px;padding:18px;border-radius:22px;border:1px solid rgba(245,143,180,.45);background:rgba(245,143,180,.08)}
.ct-near h3{font-size:1.25rem;margin-bottom:8px}
.ct-near p{margin:0 0 10px}
.ct-near .ct-times{padding:0;margin:8px 0 12px}
.ct-tip{color:var(--muted);font-size:.9375rem}
.ct-block{margin-top:30px}
.ct-block>h3{font-size:1.25rem;margin-bottom:12px}

/* 24-hour strips drawn in CSS */
.ct-strip-cap{color:var(--muted);font-size:.9375rem;margin:0 0 14px}
.ct-strips{display:grid;gap:4px}
.ct-strip{padding:10px 0 12px;border-top:1px solid rgba(180,190,255,.12)}
.ct-strip:first-of-type{border-top:0}
.ct-sh{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;margin-bottom:8px}
.ct-sh b{overflow-wrap:anywhere}
.ct-sh span{font-size:.875rem;color:var(--muted)}
.ct-bar{position:relative;height:34px;border-radius:12px;background-color:rgba(255,255,255,.07);background-image:linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px);background-size:16.6667% 100%;overflow:hidden;border:1px solid rgba(180,190,255,.16)}
.ct-bar i{position:absolute;top:0;bottom:0;display:block}
.ct-seg{background:linear-gradient(180deg,rgba(63,224,192,.72),rgba(20,184,166,.55))}
.ct-ov{background:repeating-linear-gradient(135deg,rgba(139,123,255,.55) 0 6px,rgba(139,123,255,.28) 6px 12px);border-left:2px solid #a99bff;border-right:2px solid #a99bff;mix-blend-mode:normal}
.ct-call{background:linear-gradient(180deg,#f58fb4,#d9609a);border-radius:6px;box-shadow:0 0 0 2px #0B1020,0 0 12px rgba(245,143,180,.8);top:4px!important;bottom:4px!important;min-width:6px}
.ct-ticks{position:relative;height:1.3em;margin-top:5px;font-size:.8125rem;color:var(--dim);font-variant-numeric:tabular-nums}
.ct-ticks span{position:absolute;top:0}
.ct-strip-txt{margin:4px 0 0;font-size:.875rem;color:var(--muted)}
.ct-key{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin:14px 0 0;padding:0;font-size:.875rem;color:var(--muted)}
.ct-key li{display:flex;align-items:center;gap:8px}
.ct-key i{display:block;width:22px;height:12px;border-radius:4px}
.k-seg{background:linear-gradient(180deg,rgba(63,224,192,.72),rgba(20,184,166,.55))}
.k-ov{background:repeating-linear-gradient(135deg,rgba(139,123,255,.55) 0 4px,rgba(139,123,255,.28) 4px 8px);border:1px solid #a99bff}
.k-call{background:#f58fb4}

.ct-ta{display:block;width:100%;min-height:9.5rem;padding:14px 16px;line-height:1.5;resize:vertical;font-family:inherit}
.ct-actions{display:grid;gap:10px;margin-top:14px}
.ct-actions .btn{width:100%;min-height:52px}
.ct-msg{min-height:1.6em;margin:12px 0 0;font-weight:600;color:var(--mint)}
.ct-paper{border:0;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ct-paper legend{font-weight:700;font-size:.9375rem;color:var(--muted);padding:0;margin:0 0 8px;width:100%}
.ct-paper label{position:relative}
.ct-paper input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.ct-paper span{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:88px;padding:0 18px;border-radius:999px;border:1px solid var(--line);font-weight:700;color:var(--muted);background:rgba(8,12,30,.5)}
.ct-paper input:checked+span{color:var(--ink);border-color:var(--violet);background:rgba(139,123,255,.25)}
.ct-paper input:focus-visible+span{outline:3px solid var(--violet);outline-offset:2px}

/* info */
.ct-info{padding:8px 0 56px}
.ct-info .prose{max-width:60rem}
.ct-info .prose h2:first-child{margin-top:0}
.ct-tiles{display:grid;gap:12px;margin:0 0 1.4em;padding:0!important;list-style:none}
.ct-tiles li{margin:0;padding:16px 18px!important;border-radius:20px;background:var(--glass);border:1px solid var(--line)}
.ct-tiles li strong{display:block;margin-bottom:4px;font-size:1.0625rem}
.ct-faq{margin:0 0 1.4em}
.ct-faq details{border-radius:18px;border:1px solid var(--line);background:var(--glass);margin-bottom:10px}
.ct-faq summary{display:flex;align-items:center;min-height:52px;padding:8px 18px;cursor:pointer;font-weight:700;list-style:none}
.ct-faq summary::-webkit-details-marker{display:none}
.ct-faq summary::after{content:"+";margin-left:auto;padding-left:12px;font-size:1.5rem;color:var(--violet);font-weight:400}
.ct-faq details[open] summary::after{content:"\2212"}
.ct-faq summary:focus-visible{outline:3px solid var(--violet);outline-offset:2px}
.ct-faq details p{padding:0 18px 4px;margin:0 0 14px;font-size:1.0625rem}
.ct-more{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0!important;margin:14px 0 0}
.ct-more li{margin:0;padding:0!important}
.ct-more a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;background:rgba(139,123,255,.16);color:#d4ccff!important;font-weight:600;text-decoration:none!important}
.ct-more a:hover{background:rgba(139,123,255,.3)}
.ct-sheet{display:none}
.ct-nojs{padding:14px 18px;border-radius:18px;border:1px solid var(--line);margin-top:18px}
.js .ct-nojs{display:none}

@media (min-width:720px){
  .ct-panel{padding:32px}
  .ct-row2{grid-template-columns:minmax(0,15rem) minmax(0,1fr);align-items:start}
  .ct-f-name,.ct-f-city{grid-column:auto}
  .ct-block-row{grid-template-columns:11rem 11rem;align-items:end}
  .ct-go{grid-template-columns:auto auto;justify-content:start}
  .ct-go .btn{width:auto;min-width:16rem}
  .ct-go .btn.ghost{min-width:0}
  .ct-out{padding:32px}
  .ct-actions{grid-template-columns:auto auto auto;justify-content:start}
  .ct-actions .btn{width:auto;min-width:11rem}
  .ct-rank-btn{grid-template-columns:auto minmax(0,1fr) auto}
  .ct-room{grid-column:3;justify-self:end}
  .ct-times li{grid-template-columns:minmax(0,1.2fr) 5rem minmax(0,1fr) auto;gap:12px}
  .ct-date{grid-column:auto}
  .ct-tag{grid-column:auto}
  .ct-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1100px){
  .ct-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 9.5rem 9.5rem}
}
@media (min-width:960px){
  .ct-hero .wrap{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:48px}
  .ct-moment{justify-self:end}
}
@media (max-width:420px){
  .ct-len span{font-size:.9375rem}
  .ct-main b{font-size:1.25rem}
}
@media (prefers-reduced-motion:reduce){.ct-chip,.ct-pre,.ct-len span,.ct-rank{transition:none}}

/* printable sheet: paper white, A4 or Letter by the @page rule set from the script */
@media print{
  html,body{background:#fff!important;color:#16161d!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body{padding:0!important}
  .site-head,.site-foot,.sticky-cta,.consent,.skip,.ct-screen,.ct-out>*{display:none!important}
  .ct-results,.ct-out{display:block!important;padding:0!important;margin:0!important;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
  .ct-out[hidden]{display:none!important}
  .ct-out>.ct-sheet{display:block!important}
  .ct-sheet{color:#16161d;font-family:var(--font);font-size:10.5pt;line-height:1.4}
  .ct-sheet *{color:#16161d!important;background:none;box-shadow:none!important}
  .sh-kick{font-size:8.5pt;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#4b4f6b!important;margin:0 0 4px}
  .ct-sheet h2{font-size:22pt;margin:0 0 4px;letter-spacing:-.02em}
  .sh-meta{margin:0 0 12px;color:#4b4f6b!important;font-weight:600}
  .sh-table{width:100%;border-collapse:collapse;margin:0 0 14px;font-size:9.5pt}
  .sh-table th{background:#2d2a5a!important;color:#fff!important;text-align:left;padding:6px 8px;font-size:8.5pt;letter-spacing:.04em;text-transform:uppercase}
  .sh-table td{padding:6px 8px;border-bottom:1px solid #b9bdd3;vertical-align:top}
  .sh-table tr.sel td{background:#e9e6ff!important;font-weight:700}
  .ct-sheet .ct-strips{display:block;margin:0 0 14px;break-inside:avoid}
  .ct-sheet .ct-strip-cap,.ct-sheet .ct-strip-txt{color:#4b4f6b!important;font-size:8.5pt}
  .ct-sheet .ct-strip{padding:5px 0 6px;border-top:1px solid #d6d9e6;break-inside:avoid}
  .ct-sheet .ct-sh span,.ct-sheet .ct-ticks{color:#4b4f6b!important;font-size:8pt}
  .ct-sheet .ct-bar{height:16px;background-color:#eceef6!important;background-image:linear-gradient(90deg,#9aa0c0 1px,transparent 1px)!important;border:1px solid #9aa0c0}
  .ct-sheet .ct-ticks{height:1.4em}
  .ct-sheet .ct-seg{background:#3fb89f!important}
  .ct-sheet .ct-ov{background:repeating-linear-gradient(135deg,#8b7bff 0 4px,#c9c0ff 4px 8px)!important;border-color:#5b4ff0}
  .ct-sheet .ct-call{background:#d9609a!important;box-shadow:0 0 0 1.5px #fff!important}
  .ct-sheet .ct-key{display:none}
  .sh-msg{white-space:pre-wrap;font-family:inherit;border:1.5px solid #2d2a5a;border-radius:8px;padding:10px 12px;margin:0 0 12px;font-size:10pt}
  .sh-foot{font-size:8pt;color:#4b4f6b!important;margin:0}
}
