/* Identidade "Mata e Âmbar": fundo claro de pemba, verde de mata profundo, âmbar da vela.
   Layout: cabeçalho, hero com busca + "Gira hoje", lista de casas, cadastro, rodapé. Tema único claro, por escolha. */
:root{
  --bg:#FAF9F4; --soft:#EEF0E6; --surface:#FFFFFF;
  --ink:#1B2219; --muted:#4A5249; --line:#E3E4DA; --line2:#D3D5C8;
  --deep:#1E3A2A; --brand:#2B5A3E; --accent:#D99A2B; --eyebrow:#7E5A12;
  --glow:#F1C46A; --on-deep:#F6F3EC; --on-deep-muted:#C3D3C6;
  --ok:#2F7D4F; --ok-bg:#E6F2EA; --danger:#B3261E;
  --display:"Gloock", Georgia, "Times New Roman", serif;
  --body:"Figtree", "Segoe UI", system-ui, sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--brand)}
a:hover{color:var(--deep)}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;opacity:0}

/* Cabeçalho */
.top{border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px);background:var(--bg)}
.top .wrap{padding-block:16px;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink)}
.brand span{font-family:var(--display);font-size:24px;line-height:1}
.nav{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:center;font-weight:500;font-size:15px}
.nav a{color:var(--muted);text-decoration:none}
.nav a:hover{color:var(--deep)}
.nav a.cta{background:var(--brand);color:#fff;padding:11px 18px;border-radius:999px;font-weight:600}
.nav a.cta:hover{background:var(--deep);color:#fff}

/* Hero */
.hero{padding-block:64px 48px;display:flex;flex-wrap:wrap;gap:40px;align-items:center}
.hero-main{flex:999 1 500px;min-width:0;display:flex;flex-direction:column;gap:18px}
.eyebrow{margin:0;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--eyebrow)}
h1{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(40px,6.4vw,64px);line-height:1.02;letter-spacing:-.01em;color:var(--deep);text-wrap:balance}
.lede{margin:0;font-size:19px;color:var(--muted);max-width:34em}
.search{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:0 10px 30px rgba(27,34,25,.07)}
.search input{width:auto;flex:1 1 220px;min-width:0;border:0;font:inherit;font-size:17px;padding:12px 14px;color:var(--ink);background:transparent}
.search input:focus{outline:none}
.search:focus-within{border-color:var(--brand)}
.search select{width:auto;flex:0 0 auto;font:inherit;font-size:16px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--bg);color:var(--ink)}
.btn{font:inherit;font-weight:700;font-size:16px;border:0;border-radius:10px;padding:12px 22px;cursor:pointer;text-decoration:none;display:inline-block}
.btn-accent{background:var(--accent);color:var(--ink)}
.btn-accent:hover{background:#C98A1E}
.btn-brand,.primary{background:var(--brand);color:#fff}
.btn-brand:hover,.primary:hover{background:var(--deep)}

.today{flex:1 1 320px;min-width:0;background:var(--deep);color:var(--on-deep);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:16px}
.today-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.today h2{margin:0;font-family:var(--display);font-weight:400;font-size:28px;color:var(--on-deep)}
.today-day{font-size:14px;color:var(--on-deep-muted)}
.today ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.today li{display:flex;gap:14px;align-items:center;padding:12px 0;border-top:1px solid rgba(255,255,255,.12)}
.today .h{font-weight:700;font-size:17px;color:var(--glow);min-width:56px;font-variant-numeric:tabular-nums}
.today .n{font-weight:600;display:block}
.today .l{font-size:14px;color:var(--on-deep-muted)}
.today .none{color:var(--on-deep-muted);font-size:15px;border-top:1px solid rgba(255,255,255,.12);padding-top:14px}
.today a{color:var(--glow);font-weight:600;text-decoration:none}

.beads{display:block;width:100%;height:18px}

/* Lista */
.list-sec{padding-block:44px 64px;display:flex;flex-direction:column;gap:22px}
.list-head{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:end}
h2{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(28px,4vw,36px);color:var(--deep);text-wrap:balance}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip-btn{font:inherit;font-size:14px;font-weight:600;padding:9px 14px;border-radius:999px;border:1px solid var(--line2);background:var(--surface);color:var(--muted);cursor:pointer}
.chip-btn[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.count{color:var(--muted);font-size:15px;font-variant-numeric:tabular-nums}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:10px;min-width:0}
.card-top{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.tag{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--eyebrow)}
.pill-open{font-size:12px;font-weight:600;color:var(--ok);background:var(--ok-bg);padding:4px 10px;border-radius:999px}
.card h3{margin:0;font-family:var(--display);font-weight:400;font-size:24px;line-height:1.15;color:var(--deep);overflow-wrap:anywhere}
.meta{margin:0;font-size:15px;color:var(--muted);overflow-wrap:anywhere}
.days{display:flex;gap:6px;flex-wrap:wrap;padding-top:2px}
.day{font-size:12px;font-weight:600;width:38px;text-align:center;padding:5px 0;border-radius:8px;background:var(--soft);color:var(--muted)}
.day.on{background:var(--deep);color:#fff;font-weight:700}
.desc{margin:2px 0 0;overflow-wrap:anywhere}
.contact{font-size:15px;overflow-wrap:anywhere;display:flex;flex-wrap:wrap;gap:4px 14px}
.empty{border:1px dashed var(--line2);border-radius:18px;padding:32px 20px;color:var(--muted);text-align:center;grid-column:1/-1}

/* Cadastro */
.join{background:var(--soft);border-top:1px solid var(--line)}
.join .wrap{padding-block:56px;display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}
.join-intro{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:14px}
.join-intro p{margin:0;color:var(--muted);max-width:30em}
.join-intro ol{margin:0;padding-left:20px;color:var(--muted);display:flex;flex-direction:column;gap:6px}
.form-card{flex:999 1 480px;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:26px}
form{display:grid;gap:14px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row.city{grid-template-columns:1fr 96px}
@media (max-width:520px){.row{grid-template-columns:1fr}.row.city{grid-template-columns:1fr 96px}}
.field{display:grid;gap:5px;min-width:0}
.field>span{font-size:14px;font-weight:600}
.field small{color:var(--muted);font-weight:400}
fieldset.bare{border:0;padding:0;margin:0}
input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line2);border-radius:10px;padding:10px 12px;width:100%}
input::placeholder,textarea::placeholder{color:#7A8178}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible,.daychip:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.daypick{display:flex;flex-wrap:wrap;gap:6px}
.daychip{position:relative}
.daychip input{position:absolute;opacity:0;inset:0;cursor:pointer;width:100%}
.daychip span{display:block;font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;border:1px solid var(--line2);color:var(--muted);background:var(--surface)}
.daychip input:checked+span{background:var(--deep);border-color:var(--deep);color:#fff}
label.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted)}
label.check input{width:auto;flex:0 0 auto;margin-top:4px}
.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
button{font:inherit;font-weight:600;border-radius:10px;padding:11px 18px;cursor:pointer;border:1px solid var(--line2);background:transparent;color:var(--ink)}
button.btn{border:0}
.danger{color:var(--danger)}
button:disabled{opacity:.55;cursor:not-allowed}
.msg{font-size:14px;color:var(--muted);min-height:1.2em;margin:0}
.msg.err{color:var(--danger)}
.msg.ok{color:var(--ok);font-weight:600}
.req{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}
.req summary{cursor:pointer;font-weight:600;color:var(--brand);margin-bottom:14px}

/* Rodapé */
.foot{background:var(--deep);color:var(--on-deep-muted);font-size:14px;padding-bottom:env(safe-area-inset-bottom,0px)}
.foot .wrap{padding-block:28px;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;align-items:center}
.foot strong{font-family:var(--display);font-weight:400;font-size:20px;color:var(--on-deep)}

/* Moderação (admin) */
.admin-head .wrap{padding-block:28px 22px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:end;justify-content:space-between}
.admin-head h1{font-size:40px}
.list{display:grid;gap:12px}
.list .card h3{font-size:21px}
.status{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border-radius:999px}
.status.pendente{background:#FBF0D9;color:var(--eyebrow)}
.status.aprovado{background:var(--ok-bg);color:var(--ok)}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
