/* BestTimeToSleep */
:root{
  --bt-bg:#f7f2ea;--bt-card:#fffdf9;--bt-ink:#1e1b3a;--bt-muted:#625e7c;--bt-line:#e7dfd2;
  --bt-dusk:#2a2556;--bt-dusk2:#3d3577;--bt-lav:#b8a8f2;--bt-apri:#f29e5c;--bt-apri-d:#b4601f;
  --bt-good:#21795a;--bt-goodbg:#e2f3eb;--bt-chip:#efe9ff;--bt-warn:#9a4a12;--bt-warnbg:#fff1e3;
  --bt-r:18px;--bt-font:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--bt-serif:"Fraunces",Georgia,"Times New Roman",serif;
}
:root[data-theme="dark"]{
  --bt-bg:#141228;--bt-card:#1d1a38;--bt-ink:#eeeaff;--bt-muted:#a8a3c8;--bt-line:#322d5a;
  --bt-chip:#2b2652;--bt-goodbg:#143a2d;--bt-good:#72d6aa;--bt-apri-d:#f6b079;--bt-warn:#f6b079;--bt-warnbg:#3a2616;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bt-bg:#141228;--bt-card:#1d1a38;--bt-ink:#eeeaff;--bt-muted:#a8a3c8;--bt-line:#322d5a;
  --bt-chip:#2b2652;--bt-goodbg:#143a2d;--bt-good:#72d6aa;--bt-apri-d:#f6b079;--bt-warn:#f6b079;--bt-warnbg:#3a2616;
}}
body.bt-site{background:var(--bt-bg)!important;color:var(--bt-ink);font-family:var(--bt-font)}
body.bt-site #masthead,body.bt-site .site-footer,body.bt-site #colophon{display:none!important}
body.bt-site .site,body.bt-site #wrapper,body.bt-site .content-bg,body.bt-site .site-container,body.bt-site .entry.content-bg{background:transparent!important}
body.bt-site h1,body.bt-site h2,body.bt-site h3,body.bt-site h4{font-family:var(--bt-serif);color:var(--bt-ink);letter-spacing:-.01em}
body.bt-site a{color:inherit}
body.bt-site p,body.bt-site li,body.bt-site td{color:var(--bt-ink)}
.bt-wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.bt-narrow{max-width:860px}
.bt-skip{position:absolute;left:-9999px}.bt-skip:focus{left:8px;top:8px;z-index:99;background:#fff;padding:8px;border-radius:8px}

/* Front page: remove theme padding/width limits so our full-bleed hero works */
body.bt-site.home .content-container,body.bt-site.home .entry-content-wrap,body.bt-site.bt-virtual .content-container{padding:0!important;max-width:none!important}
body.bt-site.home .entry-content>*{max-width:none}
body.bt-site.home #primary,body.bt-site.home .content-area{margin:0!important}
body.bt-site.home .entry-content{margin:0}
body.bt-site.home .entry-header{display:none}

/* header */
.bt-hdr{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bt-bg) 90%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--bt-line)}
.admin-bar .bt-hdr{top:32px}@media(max-width:782px){.admin-bar .bt-hdr{top:0}}
.bt-hdr>.bt-wrap{display:flex;align-items:center;gap:12px;height:64px}
.bt-logo{display:flex;align-items:center;gap:10px;text-decoration:none!important;font-family:var(--bt-serif);font-weight:700;font-size:20px;color:var(--bt-ink)!important}
.bt-logo b{color:var(--bt-apri-d);font-weight:700}
.bt-nav{display:flex;gap:4px;margin-left:auto}
.bt-nav a{text-decoration:none;color:var(--bt-muted)!important;font-size:15px;padding:8px 10px;border-radius:10px}
.bt-nav a:hover{color:var(--bt-ink)!important;background:var(--bt-chip)}
.bt-iconbtn{border:1px solid var(--bt-line);background:var(--bt-card);color:var(--bt-ink);border-radius:99px;width:40px;height:40px;display:grid;place-items:center;cursor:pointer;padding:0}
.bt-iconbtn:hover{background:var(--bt-chip);color:var(--bt-ink)}
.bt-burger{display:none}
.bt-mnav{border-top:1px solid var(--bt-line);padding:8px 16px 16px;display:grid;gap:2px;background:var(--bt-bg)}
.bt-mnav[hidden]{display:none}
.bt-mnav a{padding:10px 8px;text-decoration:none;border-radius:10px}
.bt-mnav a:hover{background:var(--bt-chip)}
.bt-mlabel{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--bt-muted);padding:12px 8px 2px}
@media(max-width:860px){.bt-nav{display:none}.bt-burger{display:grid}[data-bt-theme]{margin-left:auto}}

/* hero */
.bt-hero{background:linear-gradient(180deg,#221e4a 0%,var(--bt-dusk2) 65%,#5a4a8a 100%);color:#fff;position:relative;overflow:hidden;margin-bottom:10px}
.bt-hero:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-70px;height:130px;background:var(--bt-bg);border-radius:50% 50% 0 0}
.bt-stars{position:absolute;inset:0;background-image:radial-gradient(1.6px 1.6px at 12% 20%,#fffa,transparent),radial-gradient(1px 1px at 30% 60%,#fff8,transparent),radial-gradient(1.6px 1.6px at 70% 15%,#fffb,transparent),radial-gradient(1px 1px at 85% 45%,#fff8,transparent),radial-gradient(1px 1px at 55% 35%,#fff7,transparent),radial-gradient(1.6px 1.6px at 92% 70%,#fff9,transparent),radial-gradient(1px 1px at 40% 8%,#fff8,transparent),radial-gradient(1.2px 1.2px at 78% 82%,#fff6,transparent)}
.bt-hero:before{content:"";position:absolute;right:6%;top:40px;width:120px;height:120px;border-radius:50%;box-shadow:-26px 14px 0 0 #f6c79a;opacity:.9;transform:rotate(-10deg)}
@media(max-width:900px){.bt-hero:before{display:none}}
.bt-hero>.bt-wrap{position:relative;z-index:1;padding:44px 16px 96px}
.bt-hero h1{color:#fff!important;font-size:clamp(30px,5vw,50px);line-height:1.08;margin:0 0 12px;max-width:680px}
.bt-hero .bt-lede{color:#ddd7fb!important;max-width:580px;margin:0 0 26px;font-size:17px}

/* band (tool/answer page top) */
.bt-band{background:linear-gradient(180deg,var(--bt-chip),var(--bt-bg));padding:22px 0 30px;border-bottom:1px solid var(--bt-line)}
.bt-band h1{font-size:clamp(28px,4.4vw,42px);line-height:1.12;margin:6px 0 10px}
.bt-lede{color:var(--bt-muted)!important;font-size:17px;max-width:700px}
.bt-answer{font-size:clamp(19px,2.6vw,24px);background:var(--bt-card);border:1px solid var(--bt-line);border-left:5px solid var(--bt-apri);border-radius:14px;padding:14px 18px;margin:8px 0 10px}
.bt-answer b{color:var(--bt-apri-d)}
.bt-crumbs{font-size:13.5px;color:var(--bt-muted)}
.bt-crumbs a{color:var(--bt-muted)!important}

/* calculator */
.bt-calc{background:var(--bt-card);color:var(--bt-ink);border-radius:22px;box-shadow:0 20px 50px #0000002e;padding:22px;max-width:780px;border:1px solid var(--bt-line)}
.bt-band .bt-calc{box-shadow:0 8px 24px #0000000f;margin-top:16px}
.bt-modes{display:grid;grid-template-columns:repeat(3,1fr);background:var(--bt-chip);border-radius:14px;padding:4px;gap:4px}
.bt-modes button{border:0;background:transparent;color:var(--bt-muted);padding:10px 6px;border-radius:11px;font:500 14px var(--bt-font);cursor:pointer;line-height:1.25}
.bt-modes button:hover{color:var(--bt-ink);background:transparent}
.bt-modes button.on{background:var(--bt-card);color:var(--bt-ink);box-shadow:0 2px 8px #0000001a;font-weight:700}
.bt-ask{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0 6px}
.bt-ask label{font-family:var(--bt-serif);font-size:22px;font-weight:600}
.bt-ask input[type=time]{font:700 26px var(--bt-font);padding:8px 12px;border:2px solid var(--bt-line);border-radius:12px;background:var(--bt-bg);color:var(--bt-ink);min-height:54px}
.bt-ask input[type=time]:focus{outline:none;border-color:var(--bt-lav)}
.bt-go,a.bt-go{background:var(--bt-apri);color:#2a1606!important;border:0;border-radius:12px;padding:14px 22px;font:700 16px var(--bt-font);cursor:pointer;text-decoration:none!important;display:inline-block}
.bt-go:hover{background:#f5ad73;color:#2a1606}
.bt-set{margin-top:10px;font-size:14px;color:var(--bt-muted)}
.bt-set summary{cursor:pointer;padding:4px 0}
.bt-setgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:10px}
.bt-setgrid label,.bt-row label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--bt-muted);font-weight:500}
.bt-calc select,.bt-card select,.bt-card input,.bt-form input,.bt-form select,.bt-form textarea{padding:9px 10px;border-radius:10px;border:1px solid var(--bt-line);background:var(--bt-bg);color:var(--bt-ink);font:15px var(--bt-font);min-height:42px}
@media(max-width:700px){.bt-setgrid{grid-template-columns:1fr 1fr}.bt-modes button{font-size:12.5px;padding:9px 4px}.bt-calc{padding:16px}}
.bt-res{margin-top:18px}
.bt-rhead{font-size:15px;color:var(--bt-muted)!important;margin:0 0 12px}
.bt-opts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:600px){.bt-opts{grid-template-columns:repeat(2,1fr)}}
.bt-opt{border:1.5px solid var(--bt-line);border-radius:16px;padding:16px 10px 12px;text-align:center;position:relative;background:var(--bt-card)}
.bt-opt .t{font:700 clamp(21px,3vw,26px) var(--bt-font);letter-spacing:-.02em}
.bt-opt .d{font-size:13px;color:var(--bt-muted)}
.bt-opt .mo{letter-spacing:2px;font-size:12px;margin-top:4px;color:var(--bt-lav)}
.bt-opt.best{border-color:var(--bt-good);background:var(--bt-goodbg)}
.bt-opt.best:before{content:"Best for you";position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--bt-good);color:#fff;font-size:11px;font-weight:700;padding:2px 9px;border-radius:99px;white-space:nowrap}
:root[data-theme="dark"] .bt-opt.best:before{color:#0d2a1f}
.bt-opt.short{opacity:.72}
.bt-note{font-size:13.5px;color:var(--bt-muted)!important;margin:12px 0 0}
.bt-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.bt-actions a,.bt-actions button{border:1px solid var(--bt-line);background:var(--bt-bg);color:var(--bt-ink)!important;border-radius:99px;padding:8px 14px;font:500 13.5px var(--bt-font);cursor:pointer;text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.bt-actions a:hover,.bt-actions button:hover{background:var(--bt-chip)}
.bt-tl{margin-top:16px;height:30px;border-radius:9px;overflow:hidden;display:flex;border:1px solid var(--bt-line)}
.bt-tl span{display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff;min-width:0;overflow:hidden}
.bt-tl .fa{background:#9c95bd}.bt-tl .cy{background:var(--bt-dusk2)}.bt-tl .cy:nth-child(even){background:#5a4a8a}
.bt-tlk{display:flex;justify-content:space-between;font-size:12px;color:var(--bt-muted);margin-top:4px}

/* cards for tools */
.bt-card{background:var(--bt-card);border:1px solid var(--bt-line);border-radius:20px;padding:20px;margin-top:16px;box-shadow:0 8px 24px #0000000d}
.bt-row{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-bottom:12px}
.bt-row label{flex:1 1 180px;min-width:0}
.bt-row select,.bt-row input{width:100%;max-width:100%}
.bt-btn{border:1px solid var(--bt-line);background:var(--bt-chip);color:var(--bt-ink);border-radius:10px;padding:10px 16px;font:600 14px var(--bt-font);cursor:pointer;min-height:42px}
.bt-btn:hover{background:var(--bt-lav);color:#1e1b3a}
.bt-small{font-size:14px;color:var(--bt-muted)!important;margin:0 0 8px}
.bt-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px}
.bt-day{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--bt-muted);text-align:center}
.bt-day input{text-align:center;padding:9px 4px!important;width:100%}
@media(max-width:600px){.bt-days{grid-template-columns:repeat(4,1fr)}}
.bt-big{display:flex;flex-wrap:wrap;gap:12px;margin:6px 0 10px}
.bt-stat{flex:1 1 150px;background:var(--bt-bg);border:1px solid var(--bt-line);border-radius:14px;padding:12px 14px}
.bt-stat b{display:block;font:700 26px var(--bt-font);letter-spacing:-.02em}
.bt-stat span{font-size:13px;color:var(--bt-muted)}
.bt-stat.hi{background:var(--bt-goodbg);border-color:var(--bt-good)}
.bt-stat.warn{background:var(--bt-warnbg);border-color:#e9b98d}
.bt-sched{list-style:none;padding:0;margin:8px 0;display:grid;gap:6px}
.bt-sched li{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--bt-bg);border:1px solid var(--bt-line)}
.bt-sched li b{font-variant-numeric:tabular-nums}
.bt-sched li.sl{background:var(--bt-chip)}
.bt-sched li.nap{background:var(--bt-goodbg)}
.bt-chart{width:100%;height:auto;display:block;margin:8px 0}
.bt-chart text{fill:var(--bt-muted);font:11px var(--bt-font)}
.bt-chart .grid{stroke:var(--bt-line)}
.bt-chart .area{fill:color-mix(in srgb,var(--bt-apri) 22%,transparent)}
.bt-chart .line{fill:none;stroke:var(--bt-apri-d);stroke-width:2.2}
.bt-chart .bed{stroke:var(--bt-dusk2);stroke-dasharray:4 3;stroke-width:1.5}
:root[data-theme="dark"] .bt-chart .bed{stroke:var(--bt-lav)}

/* sections */
.bt-sec{padding:30px 0 6px}
.bt-sec h2{font-size:clamp(24px,3vw,30px);margin:0 0 8px;line-height:1.2}
.bt-sec h3{font-size:20px;margin:22px 0 6px}
.bt-sub{color:var(--bt-muted)!important;margin:0 0 18px}
.bt-more a{font-weight:700;color:var(--bt-apri-d)!important;text-decoration:none}
.bt-article p,.bt-article li{font-size:17px;line-height:1.65}
.bt-article ul{padding-left:20px}
.bt-article a,.bt-how a,.bt-faq a,.bt-src a{color:var(--bt-apri-d)!important}
.bt-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:860px){.bt-tools{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.bt-tools{grid-template-columns:1fr}}
.bt-tool{background:var(--bt-card);border:1px solid var(--bt-line);border-radius:18px;padding:18px;text-decoration:none!important;display:flex;gap:14px;align-items:flex-start;transition:transform .15s,box-shadow .15s;color:var(--bt-ink)!important}
.bt-tool:hover{transform:translateY(-2px);box-shadow:0 10px 24px #00000014;border-color:var(--bt-lav)}
.bt-ico{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex:none;background:var(--c);color:#2a2556}
.bt-tool b{display:block;font-family:var(--bt-serif);font-size:18px;margin-bottom:2px}
.bt-tool small{display:block;font-size:14px;color:var(--bt-muted);line-height:1.45}
.bt-cols{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:start}
@media(max-width:860px){.bt-cols{grid-template-columns:1fr}}
.bt-how p{font-size:16.5px;line-height:1.65}
.bt-hyp{margin:0;background:var(--bt-card);border:1px solid var(--bt-line);border-radius:18px;padding:16px}
.bt-hyp svg{width:100%;height:auto}
.bt-hyp text{fill:var(--bt-muted);font:12px var(--bt-font)}
.bt-hyp .cyc{text-anchor:middle;font-size:11px}
.bt-hyp .ln{fill:none;stroke:var(--bt-dusk2);stroke-width:2.4;stroke-linejoin:round}
:root[data-theme="dark"] .bt-hyp .ln{stroke:var(--bt-lav)}
.bt-hyp .rem{fill:var(--bt-apri);opacity:.85}
.bt-hyp .sep{stroke:var(--bt-line);stroke-dasharray:3 3}
.bt-hyp figcaption{font-size:13px;color:var(--bt-muted);margin-top:8px;line-height:1.5}

/* tables */
.bt-tblw{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px;border:1px solid var(--bt-line);background:var(--bt-card)}
.bt-tbl{width:100%;border-collapse:collapse;margin:0!important;border:0!important}
.bt-tbl th,.bt-tbl td{padding:11px 14px;text-align:left;border:0!important;border-bottom:1px solid var(--bt-line)!important;font-size:15px;vertical-align:top}
.bt-tbl tr:last-child td{border-bottom:0!important}
.bt-tbl th{background:var(--bt-chip);font:700 12.5px var(--bt-font);text-transform:uppercase;letter-spacing:.04em;color:var(--bt-muted)}
.bt-tbl tr.hl td{background:var(--bt-goodbg)}
.bt-tbl a{font-weight:700;color:var(--bt-apri-d)!important}
.bt-barc{width:34%;vertical-align:middle!important}
.bt-bar{display:block;position:relative;height:9px;border-radius:99px;background:var(--bt-chip)}
.bt-bar i{position:absolute;top:0;bottom:0;border-radius:99px;background:linear-gradient(90deg,var(--bt-lav),var(--bt-apri))}
.bt-cap{font-size:13px!important;color:var(--bt-muted)!important;margin-top:8px}
@media(max-width:600px){.bt-age .bt-barc,.bt-age .bt-barh{display:none}.bt-tbl th,.bt-tbl td{padding:9px 10px;font-size:14px}}
.bt-quick{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.bt-quick a{background:var(--bt-card);border:1px solid var(--bt-line);border-radius:12px;padding:10px;text-align:center;text-decoration:none!important;font-size:13px;color:var(--bt-muted)!important;line-height:1.35}
.bt-quick a:hover{border-color:var(--bt-lav)}
.bt-quick b{display:block;font-size:17px;color:var(--bt-ink)}
.bt-quick span{display:block}
.bt-neigh{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}

/* faq, sources, disclaimer */
.bt-faq details{border:1px solid var(--bt-line);background:var(--bt-card);border-radius:14px;margin:0 0 8px;padding:0}
.bt-faq summary{cursor:pointer;padding:14px 16px;font-weight:700;font-size:16.5px;list-style:none;position:relative;padding-right:40px}
.bt-faq summary::-webkit-details-marker{display:none}
.bt-faq summary:after{content:"+";position:absolute;right:16px;top:10px;font-size:22px;color:var(--bt-muted)}
.bt-faq details[open] summary:after{content:"–"}
.bt-faq details div{padding:0 16px 14px;font-size:16px;line-height:1.6}
.bt-disc{font-size:13.5px!important;color:var(--bt-muted)!important;background:var(--bt-chip);border-radius:12px;padding:12px 14px;margin:24px 0 0}
.bt-src ul{padding-left:18px}.bt-src li{font-size:14px!important;color:var(--bt-muted)!important;margin-bottom:6px;line-height:1.5}

/* ads */
.bt-ad{margin:18px auto;text-align:center;min-height:100px}
.bt-ad>span{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--bt-muted);margin-bottom:4px}

/* forms */
.bt-form{max-width:620px}
.bt-form label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:15px}
.bt-form input,.bt-form select,.bt-form textarea{width:100%}
.bt-hp{position:absolute!important;left:-9999px!important}
.bt-alert{padding:12px 16px;border-radius:12px;font-weight:600}
.bt-alert.ok{background:var(--bt-goodbg);color:var(--bt-good)}
.bt-alert.bad{background:var(--bt-warnbg);color:var(--bt-warn)}

/* blog posts and normal pages */
body.bt-site .entry-content{font-size:17.5px;line-height:1.7}
body.bt-site .entry-content a{color:var(--bt-apri-d)}
body.bt-site .entry-content h2{font-size:clamp(24px,3vw,30px);margin-top:1.6em}
body.bt-site .entry-content h3{font-size:21px}
body.bt-site .entry-content table{width:100%;border-collapse:collapse;font-size:15.5px;display:block;overflow-x:auto}
body.bt-site .entry-content th{background:var(--bt-chip);text-align:left}
body.bt-site .entry-content th,body.bt-site .entry-content td{padding:10px 12px;border:1px solid var(--bt-line)}
body.bt-site .entry-content figure img{border-radius:14px}
body.bt-site .entry-content figcaption{font-size:13.5px;color:var(--bt-muted);text-align:left}
body.bt-site .single-content .entry-header .entry-title,body.bt-site .entry-title{font-family:var(--bt-serif)}
.bt-keyfacts{background:var(--bt-card);border:1px solid var(--bt-line);border-left:5px solid var(--bt-lav);border-radius:14px;padding:14px 20px;margin:18px 0}
.bt-keyfacts h2{font-size:18px!important;margin:0 0 6px!important;text-transform:uppercase;letter-spacing:.06em;font-family:var(--bt-font)!important;color:var(--bt-muted)!important}
.bt-keyfacts ul{margin:0;padding-left:18px}.bt-keyfacts li{margin:4px 0}
.bt-postcta{background:linear-gradient(135deg,var(--bt-dusk),#5a4a8a);color:#fff;border-radius:20px;padding:22px 24px;margin:34px 0 10px}
.bt-postcta h2{color:#fff!important;margin:0 0 6px!important;font-size:24px!important}
.bt-postcta p{color:#ddd7fb!important}
body.bt-site .entry.content-bg,body.bt-site .entry{box-shadow:none!important}
body.bt-site article.entry,body.bt-site .loop-entry{background:var(--bt-card)!important;border:1px solid var(--bt-line);border-radius:18px;overflow:hidden}
body.bt-site .single-entry{border:0!important;background:transparent!important}
body.bt-site .loop-entry .post-thumbnail-inner img{aspect-ratio:16/9;object-fit:cover}
body.bt-site .entry-meta,body.bt-site .entry-taxonomies a{color:var(--bt-muted)!important}
body.bt-site .entry-taxonomies a{background:var(--bt-chip)!important;border-radius:99px;padding:2px 10px}
body.bt-site .page-title,body.bt-site .archive-title{font-family:var(--bt-serif)}

/* footer */
.bt-ftr{background:#1d1940;color:#cfc8f3;padding:44px 0 22px;margin-top:40px}
.bt-ftr .bt-cols{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:24px}
@media(max-width:860px){.bt-ftr .bt-cols{grid-template-columns:1fr 1fr}.bt-fabout{grid-column:1/-1}}
.bt-ftr h4{color:#fff!important;margin:0 0 10px;font-size:16px}
.bt-ftr a{display:block;text-decoration:none;font-size:14px;padding:4px 0;color:#cfc8f3!important}
.bt-ftr a:hover{color:#fff!important}
.bt-ftr p{color:#b4add9!important;font-size:14px;line-height:1.55;max-width:330px}
.bt-logo-w,.bt-ftr .bt-logo{color:#fff!important;display:flex;font-size:19px;padding:0;margin-bottom:6px}
.bt-ftr .bt-logo b{color:var(--bt-apri)}
.bt-fbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px solid #ffffff1f;margin-top:26px;padding-top:16px;font-size:13px;color:#a69fd0}
.bt-fbar a{display:inline;font-size:13px;padding:0;text-decoration:underline}
/* Kadence page title area */
body.bt-site .entry-hero-container-inner,body.bt-site .entry-hero .entry-header{background:linear-gradient(180deg,var(--bt-chip),var(--bt-bg))!important}
body.bt-site .entry-hero h1{font-size:clamp(30px,4.6vw,44px)}
body.bt-site .content-wrap .entry-content-wrap{padding-top:0}
.bt-keyfacts p strong{text-transform:uppercase;letter-spacing:.06em;font-size:14px;color:var(--bt-muted)}
.bt-keyfacts>p{margin:0 0 4px}
/* blog cards: keep full 16:9 featured image */
body.bt-site .loop-entry .post-thumbnail{padding-bottom:56.25%!important}
body.bt-site .loop-entry .post-thumbnail-inner img{object-fit:cover;width:100%;height:100%}
body.bt-site .entry-content .wp-block-table{overflow-x:auto}
body.bt-site .entry-content .wp-block-table table{display:table;width:100%}
:root[data-theme="dark"]{color-scheme:dark}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark}}

/* ===== v1.1: two-column hero, animated scene, tool band, calculator polish ===== */
.bt-herogrid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);grid-template-areas:"txt art" "calc art";column-gap:40px;align-items:start}
.bt-herotxt{grid-area:txt}.bt-herocalc{grid-area:calc}.bt-heroart{grid-area:art;padding-top:150px}
.bt-hero>.bt-wrap{max-width:1200px}
.bt-hero .bt-calc{max-width:none}
.bt-hero:before{right:max(24px,calc((100vw - 1200px)/2 + 60px));top:34px;width:96px;height:96px;box-shadow:-22px 12px 0 0 #f6c79a}
@media(max-width:960px){.bt-herogrid{grid-template-columns:1fr;grid-template-areas:"txt" "calc" "art"}.bt-heroart{padding-top:26px;max-width:460px;margin:0 auto;width:100%}}
.bt-band .bt-calc{max-width:none}
.bt-scene{margin:0;filter:drop-shadow(0 18px 40px #0000004d)}
.bt-scene svg{width:100%;height:auto;display:block;border-radius:22px}
.bt-scene figcaption{color:#cfc8f3;font-size:13.5px;text-align:center;margin-top:10px}
/* scene timeline: 16s loop */
.bt-sc-walker{animation:btWalker 16s linear infinite}
.bt-sc-walk{animation:btBob .5s ease-in-out infinite alternate}
.bt-sc-lega,.bt-sc-legb{transform-box:fill-box;transform-origin:50% 0}
.bt-sc-lega{animation:btLegA .5s ease-in-out infinite alternate}
.bt-sc-legb{animation:btLegB .5s ease-in-out infinite alternate}
.bt-sc-arm{transform-box:fill-box;transform-origin:50% 0;animation:btLegB .5s ease-in-out infinite alternate}
.bt-sc-sleeper{opacity:0;animation:btSleeper 16s linear infinite}
.bt-sc-blanket{transform-box:fill-box;transform-origin:50% 100%;animation:btBreathe 3.2s ease-in-out infinite}
.bt-sc-sheet{animation:btSheet 16s linear infinite}
.bt-sc-glow{animation:btGlow 16s linear infinite}
.bt-sc-shade{animation:btShade 16s linear infinite}
.bt-sc-screen{animation:btScreen 16s linear infinite}
.bt-sc-night{opacity:0;pointer-events:none;animation:btNight 16s linear infinite}
.bt-sc-z text{opacity:0;transform-box:fill-box}
.bt-sc-z .z1{animation:btZ 16s linear infinite}
.bt-sc-z .z2{animation:btZ 16s linear infinite;animation-delay:.7s}
.bt-sc-z .z3{animation:btZ 16s linear infinite;animation-delay:1.4s}
.bt-sc-tail{transform-box:fill-box;transform-origin:100% 100%;animation:btWag .45s ease-in-out infinite alternate}
.bt-sc-dog .bt-sc-eye{animation:btEye 16s linear infinite}
@keyframes btWalker{0%{transform:translate(-40px,284px);opacity:1}24%{transform:translate(262px,284px);opacity:1}29%{transform:translate(272px,280px);opacity:0}99%{transform:translate(272px,280px);opacity:0}100%{transform:translate(-40px,284px);opacity:0}}
@keyframes btBob{from{transform:translateY(0)}to{transform:translateY(-2px)}}
@keyframes btLegA{from{transform:rotate(18deg)}to{transform:rotate(-18deg)}}
@keyframes btLegB{from{transform:rotate(-18deg)}to{transform:rotate(18deg)}}
@keyframes btSleeper{0%,26%{opacity:0}31%,95%{opacity:1}100%{opacity:0}}
@keyframes btSheet{0%,26%{opacity:1}30%,96%{opacity:0}100%{opacity:1}}
@keyframes btBreathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.06)}}
@keyframes btGlow{0%,44%{opacity:1}47%,96%{opacity:0}100%{opacity:1}}
@keyframes btShade{0%,44%{fill:#f6c79a}47%,96%{fill:#8b7a6a}100%{fill:#f6c79a}}
@keyframes btScreen{0%,48%{opacity:1}56%,96%{opacity:.18}100%{opacity:1}}
@keyframes btNight{0%,44%{opacity:0}48%,94%{opacity:.48}100%{opacity:0}}
@keyframes btZ{0%,54%{opacity:0;transform:translate(0,0)}60%{opacity:1}74%{opacity:0;transform:translate(10px,-22px)}75%,100%{opacity:0;transform:translate(0,0)}}
@keyframes btWag{from{transform:rotate(-14deg)}to{transform:rotate(12deg)}}
@keyframes btEye{0%,50%{opacity:1}55%,96%{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .bt-sc-walker,.bt-sc-walk,.bt-sc-lega,.bt-sc-legb,.bt-sc-arm,.bt-sc-blanket,.bt-sc-sheet,.bt-sc-glow,.bt-sc-shade,.bt-sc-screen,.bt-sc-night,.bt-sc-z text,.bt-sc-tail,.bt-sc-sleeper{animation:none!important}
  .bt-sc-walker,.bt-sc-sheet,.bt-sc-glow{opacity:0}.bt-sc-sleeper{opacity:1}.bt-sc-night{opacity:.48}.bt-sc-screen{opacity:.18}.bt-sc-z text{opacity:1}
}
/* tool band: make "More sleep calculators" stand out */
.bt-toolband{position:relative;margin:26px 0 10px;padding:46px 0 52px;background:linear-gradient(135deg,#2a2556 0%,#3d3577 55%,#5a4a8a 100%);color:#fff;overflow:hidden}
.bt-toolband:before{content:"";position:absolute;inset:0;background-image:radial-gradient(1.4px 1.4px at 10% 20%,#fff8,transparent),radial-gradient(1px 1px at 70% 30%,#fff7,transparent),radial-gradient(1.4px 1.4px at 88% 75%,#fff8,transparent),radial-gradient(1px 1px at 35% 85%,#fff6,transparent)}
.bt-toolband .bt-wrap{position:relative;text-align:center}
.bt-toolband h2{color:#fff!important;font-size:clamp(28px,3.6vw,38px);margin:6px 0 8px}
.bt-toolband .bt-sub{color:#ddd7fb!important;margin:0 auto 26px;max-width:560px}
.bt-kicker{display:inline-block;background:#f29e5c;color:#2a1606;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:99px}
.bt-toolband .bt-tools{text-align:left;gap:16px}
.bt-toolband .bt-tool{background:#fffdf9;border:0;box-shadow:0 10px 26px #00000033;padding:20px;color:#1e1b3a!important}
.bt-toolband .bt-tool b{color:#1e1b3a}.bt-toolband .bt-tool small{color:#5d5977}
.bt-toolband .bt-tool:hover{transform:translateY(-4px);box-shadow:0 16px 34px #0000004d}
.bt-try{display:block;margin-top:8px;font-style:normal;font-weight:700;font-size:14px;color:#b4601f}
.bt-tool:hover .bt-try span{display:inline-block;transform:translateX(3px)}
:root[data-theme="dark"] .bt-toolband .bt-tool{background:#26224a;color:#eeeaff!important}
:root[data-theme="dark"] .bt-toolband .bt-tool b{color:#eeeaff}:root[data-theme="dark"] .bt-toolband .bt-tool small{color:#b4aed6}:root[data-theme="dark"] .bt-try{color:#f6b079}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .bt-toolband .bt-tool{background:#26224a;color:#eeeaff!important}:root:not([data-theme="light"]) .bt-toolband .bt-tool b{color:#eeeaff}:root:not([data-theme="light"]) .bt-toolband .bt-tool small{color:#b4aed6}:root:not([data-theme="light"]) .bt-try{color:#f6b079}}
/* calculator polish */
.bt-ask input[type=time]{padding:4px 8px;min-height:50px;width:auto;max-width:190px;letter-spacing:-.01em}
.bt-ask input[type=time]::-webkit-datetime-edit{padding:0}
.bt-ask input[type=time]::-webkit-calendar-picker-indicator{margin-left:4px;cursor:pointer}
.bt-opt{padding:16px 6px 12px}
.bt-opt .t{font-size:clamp(22px,2.6vw,28px)}
.bt-res.bt-flash{animation:btFlash .7s ease}
@keyframes btFlash{0%{opacity:.25;transform:translateY(8px)}100%{opacity:1;transform:none}}
.bt-remind{margin-top:12px;background:var(--bt-chip);border-radius:14px;padding:12px 14px}
.bt-remind p{margin:0 0 10px;font-size:14px}
.bt-remind-btns{display:flex;flex-wrap:wrap;gap:8px}
.bt-remind-btns a{background:var(--bt-apri);color:#2a1606!important;text-decoration:none!important;font-weight:700;font-size:14px;padding:9px 14px;border-radius:10px}
.bt-remind-btns a:hover{background:#f5ad73}
/* keep homepage sections centred inside the theme's full-width content area */
body.bt-site .entry-content>.bt-wrap:not(.bt-narrow),body.bt-site .bt-main>.bt-wrap:not(.bt-narrow){max-width:1200px!important;margin-left:auto!important;margin-right:auto!important}
body.bt-site .entry-content>.bt-hero,body.bt-site .entry-content>.bt-toolband{max-width:none!important;margin-left:0;margin-right:0}
.bt-toolband{margin-top:0}
.bt-hero>.bt-wrap{padding-bottom:74px}
.bt-hero:after{height:90px;bottom:-50px}

/* ===== v1.2: background video behind calculator, on-page alarm ===== */
.bt-herovid{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center}
.bt-herovid video{width:100%;height:100%;object-fit:cover;display:block}
.bt-hero.has-media:before{display:none}
.bt-hero.has-media .bt-stars{background:linear-gradient(90deg,rgba(20,17,45,.88) 0%,rgba(20,17,45,.62) 42%,rgba(20,17,45,.08) 75%,rgba(20,17,45,0) 100%);z-index:0}
.bt-hero.has-media .bt-calc{background:color-mix(in srgb,var(--bt-card) 90%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.bt-hero.has-media>.bt-wrap{min-height:640px}
@media(max-width:960px){.bt-hero.has-media .bt-stars{background:linear-gradient(180deg,rgba(20,17,45,.55),rgba(20,17,45,.85))}}
@media (prefers-reduced-motion:reduce){.bt-herovid video{display:none}}
.bt-herogrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(min-width:961px){.bt-herogrid{grid-template-areas:"txt ." "calc ."}}
/* alarm */
.bt-alarm{margin-top:16px;border-radius:18px;padding:18px;background:linear-gradient(135deg,#2a2556,#4b3f86);color:#fff;text-align:center}
.bt-al-top{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;color:#ddd7fb}
.bt-al-dot{width:9px;height:9px;border-radius:50%;background:#7ee2b8;box-shadow:0 0 0 0 #7ee2b866;animation:btPulse 1.6s infinite}
@keyframes btPulse{0%{box-shadow:0 0 0 0 #7ee2b888}100%{box-shadow:0 0 0 10px #7ee2b800}}
.bt-al-count{font:700 clamp(40px,8vw,64px)/1.05 var(--bt-font);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:6px 0 2px;color:#fff}
.bt-al-sub{color:#cfc8f3;font-size:14px;margin-bottom:12px}
.bt-al-btns{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center}
.bt-al-btns button{border:1px solid #ffffff40;background:#ffffff1a;color:#fff;border-radius:99px;padding:9px 16px;font:600 14px var(--bt-font);cursor:pointer}
.bt-al-btns button:hover{background:#ffffff33}
.bt-al-btns .bt-al-primary{background:#f29e5c;color:#2a1606;border-color:#f29e5c}
.bt-al-keep{display:inline-flex;gap:6px;align-items:center;font-size:13.5px;color:#ddd7fb;cursor:pointer}
.bt-al-note{font-size:12.5px!important;color:#b9b2e0!important;margin:12px 0 0!important;line-height:1.5}
.bt-alarm.ringing{animation:btRing .8s ease-in-out infinite alternate;background:linear-gradient(135deg,#f29e5c,#e0843f);color:#2a1606}
.bt-alarm.ringing .bt-al-count,.bt-alarm.ringing .bt-al-sub,.bt-alarm.ringing .bt-al-top{color:#2a1606}
.bt-alarm.ringing .bt-al-btns button{background:#2a2556;color:#fff;border-color:#2a2556}
@keyframes btRing{from{box-shadow:0 0 0 0 #f29e5c88}to{box-shadow:0 0 0 14px #f29e5c00}}
.bt-alarm.ringing .bt-al-note,.bt-alarm.ringing .bt-al-keep{color:#3a1f08!important}
/* v1.3: reminder panel shown by default, editable alarm time */
.bt-remind{margin-top:14px;background:var(--bt-chip);border:1px solid var(--bt-line);border-radius:16px;padding:14px 16px}
.bt-panel-head{font-weight:700;font-size:15px;margin-bottom:10px}
.bt-remind-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}
.bt-remind-row label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--bt-muted);font-weight:500}
.bt-remind-row input,.bt-remind-row select{padding:8px 10px;border-radius:10px;border:1px solid var(--bt-line);background:var(--bt-card);color:var(--bt-ink);font:15px var(--bt-font);min-height:42px}
.bt-rm-txt{font-size:14px!important;margin:4px 0 10px!important}
.bt-al-edit{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#ddd7fb;margin-bottom:12px}
.bt-al-edit input{padding:7px 10px;border-radius:10px;border:1px solid #ffffff55;background:#ffffff1a;color:#fff;font:600 16px var(--bt-font);color-scheme:dark}
.bt-alarm.ringing .bt-al-edit{color:#2a1606}
