/* LEV Real Estate: folha de estilos compartilhada.
   Base: primeiro modelo do site. Refinos: apple-design-system (CTAs em pílula, sem sombras,
   pesos 400/600/700, linhas finas no lugar de bordas, muito ar) e padrões de leitura F e Z.
   Marca: Fundação de Marca (paleta, Playfair Display Bold Italic, Inter). Rótulos usam Inter, por decisão do cliente. */
:root{
  --bg:#FAFAF8;
  --surface:#FFFFFF;
  --fg:#141414;
  --muted:#4A4A47;
  --sand:#ECEAE5;
  --line:#E0DDD6;
  --btn-bg:#141414;
  --btn-fg:#FAFAF8;
  --btn-hover:#3A3733;
  --band:#141414;
  --on-band:#FAFAF8;
  --band-muted:#CFCBC2;
  --band-line:#3A3733;
  --cal-fill:#ECEAE5;
  --cal-empty:#3A3733;
  --cal-fill-dim:#9C9993;
  --cal-empty-lit:#85827D;
  --display:'Playfair Display', 'Iowan Old Style', Georgia, serif;
  --label:var(--body);
  --body:'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --max:1180px;
  --gutter:clamp(20px,5vw,32px);
  --r-card:20px;
  --r-pill:999px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#141414; --surface:#1E1D1B; --fg:#FAFAF8; --muted:#B9B6AE; --sand:#1E1D1B; --line:#34322E;
    --btn-bg:#FAFAF8; --btn-fg:#141414; --btn-hover:#ECEAE5;
    --band:#ECEAE5; --on-band:#141414; --band-muted:#4A4A47; --band-line:#CFCBC2;
    --cal-fill:#141414; --cal-empty:#CFCBC2; --cal-fill-dim:#6A6864; --cal-empty-lit:#9B9892; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#141414; --surface:#1E1D1B; --fg:#FAFAF8; --muted:#B9B6AE; --sand:#1E1D1B; --line:#34322E;
  --btn-bg:#FAFAF8; --btn-fg:#141414; --btn-hover:#ECEAE5;
  --band:#ECEAE5; --on-band:#141414; --band-muted:#4A4A47; --band-line:#CFCBC2;
  --cal-fill:#141414; --cal-empty:#CFCBC2; --cal-fill-dim:#6A6864; --cal-empty-lit:#9B9892; color-scheme:dark;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; font-family:var(--body); font-weight:400; color:var(--fg); background:var(--bg);
  -webkit-font-smoothing:antialiased; font-size:17px; line-height:1.6;
}
img,svg{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:var(--max); margin:0 auto; padding-inline:var(--gutter);}
.skip{position:absolute; left:-9999px; top:8px; background:var(--btn-bg); color:var(--btn-fg); padding:10px 18px; border-radius:var(--r-pill); z-index:100; font-weight:600; text-decoration:none;}
.skip:focus{left:var(--gutter);}
:focus-visible{outline:2px solid var(--fg); outline-offset:3px; border-radius:6px;}

.eyebrow{
  font-family:var(--label); text-transform:uppercase; letter-spacing:.22em; font-size:12px;
  color:var(--muted); display:block;
}
.on-band .eyebrow, .eyebrow.on-dark{color:var(--band-muted);}
h1,h2,h3{
  font-family:var(--display); font-style:italic; font-weight:700; margin:0;
  line-height:1.06; letter-spacing:-.02em; text-wrap:balance;
}
h2{font-size:clamp(30px,3.6vw,44px);}
h3{font-size:22px; line-height:1.2;}
p{line-height:1.65; color:var(--muted); margin:0; text-wrap:pretty;}
b,strong{font-weight:600; color:var(--fg);}
.on-band p{color:var(--band-muted);}
.on-band b{color:var(--on-band);}

/* ---------- NAV ---------- */
header.site{
  position:sticky; top:env(safe-area-inset-top,0px); z-index:50;
  background:var(--bg); border-bottom:1px solid var(--line);
}
@supports (backdrop-filter:blur(6px)){
  header.site{background:color-mix(in srgb, var(--bg) 90%, transparent); backdrop-filter:blur(8px);}
}
nav.wrap{display:flex; align-items:center; justify-content:space-between; gap:16px 28px; min-height:76px; flex-wrap:wrap;}
.logo{display:flex; flex-direction:column; line-height:1; text-decoration:none;}
.logo .l1{font-family:var(--body); font-weight:700; letter-spacing:.12em; font-size:18px; color:var(--fg);}
.logo .l2{font-family:var(--label); letter-spacing:.28em; font-size:9px; color:var(--muted); margin-top:4px;}
.navlinks{display:flex; gap:8px; list-style:none; margin:0; padding:0;}
.navlinks a{
  font-size:14px; font-weight:600; text-decoration:none; color:var(--muted);
  padding:9px 16px; border-radius:var(--r-pill); display:block; white-space:nowrap;
}
.navlinks a:hover{background:var(--sand); color:var(--fg);}
.navlinks a[aria-current="page"]{background:var(--sand); color:var(--fg);}
@media (max-width:860px){
  .navlinks{order:3; flex-basis:100%; overflow-x:auto; scrollbar-width:none; padding-bottom:12px; margin-inline:calc(var(--gutter) * -1); padding-inline:var(--gutter);}
  .navlinks::-webkit-scrollbar{display:none;}
  nav.wrap{padding-top:12px;}
}

/* ---------- BOTÕES (pílula) ---------- */
.btn{
  font-family:var(--body); font-weight:600; font-size:15px; line-height:1;
  padding:15px 28px; border-radius:var(--r-pill); text-decoration:none;
  display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer;
  border:1px solid var(--btn-bg); transition:background .2s ease, color .2s ease, transform .15s ease;
}
.btn:active{transform:scale(.97);}
.btn-dark{background:var(--btn-bg); color:var(--btn-fg);}
.btn-dark:hover{background:var(--btn-hover); border-color:var(--btn-hover);}
.btn-outline{background:transparent; color:var(--fg); border-color:var(--fg);}
.btn-outline:hover{background:var(--fg); color:var(--bg);}
.btn-sm{padding:11px 20px; font-size:14px;}
.on-band .btn-dark{background:var(--on-band); color:var(--band); border-color:var(--on-band);}
.on-band .btn-dark:hover{background:var(--band-muted); border-color:var(--band-muted);}
.on-band .btn-outline{color:var(--on-band); border-color:var(--on-band);}
.on-band .btn-outline:hover{background:var(--on-band); color:var(--band);}
.textlink{font-weight:600; text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px;}

/* ---------- ESTRUTURA ---------- */
section{padding-block:clamp(64px,9vw,104px);}
section.tight{padding-block:clamp(48px,7vw,80px);}
.band-sand{background:var(--sand);}
.on-band{background:var(--band); color:var(--on-band);}
.section-head{max-width:660px; margin-bottom:clamp(36px,5vw,56px);}
.section-head h2{margin-top:14px;}
.section-head p{margin-top:16px;}

/* ---------- PÁGINAS INTERNAS (padrão F: linha longa, linha curta, âncoras à esquerda) ---------- */
.page-hero{padding-block:clamp(48px,7vw,80px) clamp(40px,6vw,64px); border-bottom:1px solid var(--line);}
.page-hero h1{font-size:clamp(36px,5.2vw,60px); max-width:20ch; margin-top:16px;}
.page-hero p{margin-top:20px; max-width:34rem; font-size:18px;}

/* ---------- HOME / LANDING (padrão Z) ---------- */
.hero{padding-block:clamp(48px,8vw,96px) clamp(48px,7vw,88px);}
.hero-grid{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(32px,6vw,72px); align-items:center;}
.hero h1{font-size:clamp(40px,6vw,68px); margin:18px 0 24px;}
.hero-sub{font-size:18px; max-width:30rem; margin-bottom:32px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:28px; align-items:center;}
.hero-note{font-size:14px;}
@media (max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr);}}

.calendar-card{background:var(--band); border-radius:var(--r-card); padding:26px 26px 22px;}
.calendar-card .cal-label{display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:16px;}
.calendar-card .t{font-family:var(--label); letter-spacing:.18em; font-size:11px; color:var(--band-muted); text-transform:uppercase;}
.calendar-card .m{font-family:var(--display); font-style:italic; font-weight:700; color:var(--on-band); font-size:18px;}
.cal-grid{display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px;}
.cal-grid span{aspect-ratio:1; border-radius:6px; background:var(--cal-empty); animation:calEmpty 3.6s ease-in-out infinite; animation-delay:calc(var(--i) * .05s);}
.cal-grid span.filled{background:var(--cal-fill); animation-name:calFill;}
@keyframes calFill{0%,100%{background:var(--cal-fill);} 50%{background:var(--cal-fill-dim);}}
@keyframes calEmpty{0%,100%{background:var(--cal-empty);} 50%{background:var(--cal-empty-lit);}}
@media (prefers-reduced-motion:reduce){.cal-grid span, .cal-grid span.filled{animation:none;} html{scroll-behavior:auto;} .btn:active{transform:none;}}
.cal-foot{display:flex; justify-content:space-between; gap:12px; margin-top:18px; font-size:13px; color:var(--band-muted);}
.cal-foot b{color:var(--on-band);}
.cal-note{font-size:12px; color:var(--band-muted); margin-top:10px;}

.stats{padding-block:clamp(40px,6vw,56px);}
.stats-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px;}
.stat .num{font-family:var(--display); font-style:italic; font-weight:700; font-size:clamp(32px,3.6vw,46px); line-height:1.1; color:var(--on-band);}
.stat .lbl{font-family:var(--label); letter-spacing:.14em; font-size:12px; text-transform:uppercase; color:var(--band-muted); margin-top:8px;}
@media (max-width:760px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:32px;}}

.teaser-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden;}
.teaser-card{background:var(--bg); padding:32px 26px; display:flex; flex-direction:column; gap:10px;}
.teaser-card .eyebrow{margin-bottom:4px;}
.teaser-card p{font-size:15px;}
.teaser-card a{font-size:14px; font-weight:600; text-decoration:none; margin-top:auto; padding-top:10px;}
.teaser-card a::after{content:" →";}
.teaser-card a:hover{text-decoration:underline; text-underline-offset:4px;}
@media (max-width:1000px){.teaser-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.teaser-grid{grid-template-columns:minmax(0,1fr);}}

.split{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(36px,6vw,72px); align-items:start;}
.split > div > p{margin-top:20px;}
.quote-block{border-left:1px solid var(--line); padding-left:28px;}
.quote-block q{font-family:var(--display); font-style:italic; font-weight:700; font-size:clamp(22px,2.4vw,28px); line-height:1.3; display:block; color:var(--fg); quotes:none;}
.quote-block cite{display:block; margin-top:16px; font-style:normal; font-size:14px; color:var(--muted);}
@media (max-width:860px){.split{grid-template-columns:minmax(0,1fr);}}

/* ---------- LINHAS EM F (âncora à esquerda, texto à direita) ---------- */
.f-rows{display:flex; flex-direction:column; list-style:none; margin:0; padding:0;}
.f-row{display:grid; grid-template-columns:minmax(0,17rem) minmax(0,1fr); gap:10px clamp(24px,5vw,64px); padding-block:32px; border-top:1px solid var(--line);}
.f-row:last-child{border-bottom:1px solid var(--line);}
.f-row .n{font-family:var(--display); font-style:italic; font-weight:700; font-size:28px; color:var(--muted); display:block; margin-bottom:6px; line-height:1;}
.f-row h3{font-family:var(--body); font-style:normal; font-weight:700; font-size:19px; letter-spacing:0; line-height:1.3;}
.f-row p{max-width:38rem; font-size:17px;}
@media (max-width:760px){.f-row{grid-template-columns:minmax(0,1fr);}}

.rhythm{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(24px,4vw,48px);}
.rhythm > div{border-top:1px solid var(--line); padding-top:20px; display:flex; flex-direction:column; gap:8px;}
.rhythm .when{font-family:var(--label); letter-spacing:.2em; text-transform:uppercase; font-size:12px; color:var(--muted);}
@media (max-width:760px){.rhythm{grid-template-columns:minmax(0,1fr);}}

.diff-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden;}
.diff-card{background:var(--bg); padding:34px 28px; display:flex; flex-direction:column; gap:10px;}
.band-sand .diff-card{background:var(--surface);}
.diff-card .eyebrow{margin-bottom:6px;}
.diff-card p{font-size:15.5px;}
@media (max-width:860px){.diff-grid{grid-template-columns:minmax(0,1fr);}}

.values{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 clamp(24px,5vw,64px);}
.values li{list-style:none; padding-block:18px; border-top:1px solid var(--line); font-size:16px; color:var(--muted);}
.values{margin:0; padding:0;}
@media (max-width:760px){.values{grid-template-columns:minmax(0,1fr);}}
.mv{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(28px,5vw,64px);}
.mv > div{border-top:1px solid var(--line); padding-top:22px; display:flex; flex-direction:column; gap:12px;}
.mv p{font-size:18px;}
@media (max-width:760px){.mv{grid-template-columns:minmax(0,1fr);}}

.progress{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(24px,5vw,64px); align-items:end;}
.progress .big{font-family:var(--display); font-style:italic; font-weight:700; font-size:clamp(44px,6vw,72px); line-height:1; color:var(--on-band);}
.progress .cap{font-family:var(--label); letter-spacing:.16em; text-transform:uppercase; font-size:12px; color:var(--band-muted); margin-top:10px;}
@media (max-width:640px){.progress{grid-template-columns:minmax(0,1fr);}}

/* ---------- FAQ ---------- */
.faq-list{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{list-style:none; cursor:pointer; padding:24px 0; display:flex; justify-content:space-between; align-items:center; gap:20px; font-weight:600; font-size:17px; color:var(--fg);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .plus{font-size:24px; font-weight:400; color:var(--muted); transition:transform .2s ease; flex:none; line-height:1;}
.faq-item[open] summary .plus{transform:rotate(45deg);}
.faq-item .a{padding:0 0 24px; max-width:42rem;}

/* ---------- CTA FINAL (fecha o Z: texto à esquerda, ação à direita) ---------- */
.cta-final .wrap{display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap;}
.cta-final .txt{flex:1 1 24rem; min-width:0;}
.cta-final h2{color:var(--on-band); font-size:clamp(30px,4vw,46px); margin-top:14px;}
.cta-final p{margin-top:16px; max-width:30rem;}

/* ---------- FORMULÁRIO ---------- */
.form-grid{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(36px,6vw,72px); align-items:start;}
@media (max-width:860px){.form-grid{grid-template-columns:minmax(0,1fr);}}
.contact-form{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 20px;}
.field{display:flex; flex-direction:column; gap:8px; min-width:0;}
.field.full{grid-column:1 / -1;}
@media (max-width:640px){.contact-form{grid-template-columns:minmax(0,1fr);}}
.field label{font-family:var(--label); letter-spacing:.14em; font-size:12px; text-transform:uppercase; color:var(--muted);}
.field input,.field select,.field textarea{
  font-family:var(--body); font-size:16px; padding:14px 16px; width:100%; min-width:0;
  border:1px solid var(--line); background:var(--surface); color:var(--fg); border-radius:14px;
}
.field textarea{resize:vertical; min-height:120px;}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--fg); outline-offset:1px; border-color:var(--fg);}
.field .err{font-size:13px; font-weight:600; color:var(--fg); min-height:1.2em;}
.fineprint{font-size:13px; color:var(--muted);}
.summary-box{border:1px solid var(--line); border-radius:var(--r-card); padding:28px; background:var(--surface); display:flex; flex-direction:column; gap:16px;}
.summary-box textarea{width:100%; min-height:0; overflow:hidden; display:block; font:400 15px/1.55 var(--body); color:var(--fg); background:var(--sand); border:0; border-radius:14px; padding:16px; resize:vertical;}
.row-btns{display:flex; gap:12px; flex-wrap:wrap; align-items:center;}

.contact-info-block{border-top:1px solid var(--line); margin-top:24px;}
.contact-info-block .row{display:flex; justify-content:space-between; gap:20px; padding:16px 0; border-bottom:1px solid var(--line); font-size:16px; flex-wrap:wrap;}
.contact-info-block .row span:first-child{color:var(--muted);}
.contact-info-block .row span:last-child{font-weight:600; color:var(--fg); overflow-wrap:anywhere;}

/* ---------- SIMULADOR (landing) ---------- */
.sim{border:1px solid var(--line); border-radius:var(--r-card); padding:28px; background:var(--surface);}
.sim h2{font-size:24px; margin-bottom:22px; letter-spacing:-.01em;}
.sim label{display:flex; justify-content:space-between; gap:12px; font-weight:600; font-size:15px; color:var(--fg); margin-bottom:10px;}
.sim input[type=range]{width:100%; margin:0 0 26px; accent-color:var(--fg);}
.sim-out{border-top:1px solid var(--line); padding-top:20px; display:flex; flex-direction:column; gap:6px;}
.sim-out .tag{font-family:var(--label); letter-spacing:.16em; text-transform:uppercase; font-size:12px; color:var(--muted);}
.sim-out strong{font-family:var(--display); font-style:italic; font-weight:700; font-size:clamp(38px,5vw,52px); line-height:1.05; letter-spacing:-.02em; font-variant-numeric:tabular-nums;}
.sim-out .note{font-size:13px;}

/* ---------- RODAPÉ ---------- */
footer.site{padding:clamp(48px,6vw,64px) 0 40px; border-top:1px solid var(--line);}
.foot-grid{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr); gap:40px; margin-bottom:48px;}
.foot-col h4{font-family:var(--label); letter-spacing:.16em; text-transform:uppercase; font-size:12px; color:var(--muted); margin:0 0 16px; font-weight:400;}
.foot-col a,.foot-col p{display:block; font-size:15px; margin:0 0 10px; text-decoration:none;}
.foot-col a{color:var(--fg);}
.foot-col a:hover{text-decoration:underline; text-underline-offset:4px;}
.foot-bottom{display:flex; justify-content:space-between; align-items:center; font-size:13px; color:var(--muted); flex-wrap:wrap; gap:12px;}
@media (max-width:760px){.foot-grid{grid-template-columns:minmax(0,1fr); gap:32px;}}

/* ---------- O QUE VOCÊ RECEBE (home) ---------- */
.give{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:clamp(24px,3vw,40px); row-gap:0;}
.give > div{border-top:1px solid var(--band-line); padding-top:22px; padding-bottom:28px; display:grid; grid-template-rows:subgrid; grid-row:span 2; row-gap:10px; align-content:start;}
.give h3{color:var(--on-band); font-size:22px; align-self:start;}
.give p{font-size:16px;}
@media (max-width:1000px){.give{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.give{grid-template-columns:minmax(0,1fr);}}
.give > div + div{}

/* ---------- VITRINE DE ANÚNCIOS (Reserve) ---------- */
.listing-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:24px;}
.listing{display:flex; flex-direction:column; text-decoration:none; color:var(--fg); border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden; background:var(--bg); transition:border-color .2s ease;}
.listing:hover{border-color:var(--fg);}
.listing .thumb{aspect-ratio:4/3; background:var(--sand); display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; gap:4px; padding:22px;}
.listing .unit{font-family:var(--display); font-style:italic; font-weight:700; font-size:clamp(48px,6vw,64px); line-height:1; letter-spacing:-.02em; color:var(--fg);}
.listing .bld{font-family:var(--label); letter-spacing:.2em; text-transform:uppercase; font-size:12px; color:var(--muted);}
.listing .info{padding:20px 22px 22px; display:flex; flex-direction:column; gap:6px;}
.listing .info h3{font-size:22px;}
.listing .info p{font-size:15px;}
.listing .go{margin-top:12px; font-weight:600; font-size:14px;}
.listing .go::after{content:" →";}
.listing:hover .go{text-decoration:underline; text-underline-offset:4px;}

/* Rótulos em Inter (mesma fonte do corpo e do menu) */
.eyebrow,.calendar-card .t,.stat .lbl,.field label,.foot-col h4,.sim-out .tag,.rhythm .when,.progress .cap,.listing .bld{font-weight:600; letter-spacing:.14em;}
.logo .l2{font-weight:600;}

/* ---------- CALENDÁRIO DE PREÇOS (páginas de reserva) ---------- */
.sr-only{position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); border:0;}
.listing .info .from{font-size:14px; font-weight:600; color:var(--fg); margin-top:6px;}
.cal-picker{border:1px solid var(--line); border-radius:var(--r-card); padding:clamp(16px,3vw,28px); background:var(--surface);}
.cal-nav{display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;}
.cal-nav button{width:44px; height:44px; border-radius:var(--r-pill); border:1px solid var(--line); background:var(--bg); color:var(--fg); font:600 18px/1 var(--body); cursor:pointer;}
.cal-nav button:hover:not(:disabled){border-color:var(--fg);}
.cal-nav button:disabled{opacity:.35; cursor:default;}
.cal-months{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(20px,4vw,48px);}
@media (max-width:759px){.cal-months{grid-template-columns:minmax(0,1fr);} .cal-month:nth-child(2){display:none;}}
.cal-title{font-family:var(--body); font-style:normal; font-weight:700; font-size:17px; letter-spacing:0; margin-bottom:10px;}
.cal-days{display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px;}
.cal-days .wd{font-size:12px; font-weight:600; color:var(--muted); text-align:center; padding-block:6px;}
.day{position:relative; min-height:54px; border:0; border-radius:12px; background:transparent; color:var(--fg); font:600 15px/1.1 var(--body); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; cursor:pointer; padding:4px 2px;}
.day .p{font-size:11px; font-weight:400; color:var(--muted); font-variant-numeric:tabular-nums;}
.day:hover:not(:disabled):not(.is-start):not(.is-end){background:var(--sand);}
.day:disabled{cursor:default;}
.day.past{opacity:.3;}
.day.off{opacity:.4;}
.day.off .n{text-decoration:line-through;}
.day.hot::after{content:""; position:absolute; top:7px; right:9px; width:6px; height:6px; border-radius:50%; background:var(--fg);}
.day.in-range{background:var(--sand); border-radius:0;}
.day.is-start,.day.is-end{background:var(--btn-bg); color:var(--btn-fg); border-radius:12px;}
.day.is-start .p,.day.is-end .p{color:var(--btn-fg); opacity:.8;}
.day.is-start.hot::after,.day.is-end.hot::after{background:var(--btn-fg);}
.cal-legend{display:flex; gap:8px 22px; flex-wrap:wrap; margin-top:18px; font-size:13px; color:var(--muted);}
.cal-legend i{display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--fg); margin-right:8px;}
.cal-sum{margin-top:18px; border-top:1px solid var(--line); padding-top:16px; font-size:15px; color:var(--muted); display:flex; flex-direction:column; gap:4px;}
.cal-sum strong{color:var(--fg); font-size:22px; font-variant-numeric:tabular-nums;}
