/* Dias Perfeitos em NY · casca comum: navegação, busca e ficha do lugar */
:root{--barra:66px;--safe:env(safe-area-inset-bottom,0px)}

/* topo */
.placa .wrap{gap:10px}
.placa .marca{display:flex;align-items:center;gap:9px;min-height:44px}
.placa .marca .selo-m{width:28px;height:28px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--preto);font:800 12px var(--sign)}
.nav-top{display:flex;gap:2px;margin-left:auto;align-items:center}
.nav-top a{font:600 14px var(--sign);text-decoration:none;padding:0 11px;min-height:40px;display:flex;align-items:center;border-radius:4px;color:var(--branco2);white-space:nowrap}
.nav-top a:hover{color:#fff;background:var(--preto3)}
.nav-top a.on{background:#fff;color:var(--preto)}
.bt-busca{display:flex;align-items:center;gap:8px;margin-left:8px;font:600 14px var(--sign);color:var(--branco2);background:var(--preto2);border:1px solid var(--fio-esc);border-radius:999px;min-height:40px;padding:0 14px 0 12px;cursor:pointer;white-space:nowrap}
.bt-busca:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.bt-busca .ico{width:17px;height:17px}
.bt-busca kbd{font:600 12px var(--sign);color:var(--branco3);margin-left:2px}

/* sub-barra dos dias */
.subnav{position:sticky;top:58px;z-index:55;background:var(--preto);border-top:1px solid var(--preto3)}
.subnav .wrap{display:flex;gap:8px;align-items:center;overflow-x:auto;scrollbar-width:none;padding-top:8px;padding-bottom:8px}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav .lbl{font:600 13px var(--sign);color:var(--branco3);margin-right:2px;white-space:nowrap}
.subnav a.ch{flex:0 0 auto;display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--branco2);font:600 14px var(--sign);min-height:40px;padding:0 13px 0 8px;border-radius:999px;border:1px solid var(--fio-esc);white-space:nowrap}
.subnav a.ch .bul{width:26px;height:26px;font-size:13px}
.subnav a.ch.on{background:#fff;color:var(--preto);border-color:#fff}
.subnav .sep{width:1px;height:22px;background:var(--fio-esc);flex:0 0 auto;margin:0 4px}

/* barra inferior (celular) */
.tabbar{display:none}
@media (max-width:900px){
  .placa{position:relative}
  .placa .nav-top,.bt-busca kbd,.bt-busca span{display:none}
  .bt-busca{margin-left:auto;width:44px;height:44px;padding:0;justify-content:center;border-radius:50%}
  .subnav{top:0}
  .subnav a.ch{min-height:44px}
  body{padding-bottom:calc(var(--barra) + var(--safe))}
  .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:900;height:calc(var(--barra) + var(--safe));padding-bottom:var(--safe);background:var(--preto);border-top:1px solid var(--preto3)}
  .tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--branco3);text-decoration:none;font:600 12px var(--sign);background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .tabbar .ico{width:24px;height:24px}
  .tabbar .on{color:#fff}
  .tabbar .busca-c .bola{width:50px;height:50px;border-radius:50%;background:#fff;color:var(--preto);display:grid;place-items:center;margin-top:-20px;border:4px solid var(--preto)}
  .tabbar .busca-c .bola .ico{width:22px;height:22px}
}

/* camadas: fundo, ficha, busca, mais */
.veu{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .25s}
.veu.on{opacity:1;pointer-events:auto}
.folha{position:fixed;z-index:1001;background:var(--preto);color:#fff;box-shadow:0 -8px 30px rgba(0,0,0,.35);display:flex;flex-direction:column;
  left:0;right:0;bottom:0;max-height:92vh;max-height:92dvh;border-radius:14px 14px 0 0;transform:translateY(105%);transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.folha.on{transform:none}
.folha .pega{flex:0 0 auto;padding:10px 0 8px;display:grid;place-items:center;cursor:grab;touch-action:none}
.folha .pega i{width:42px;height:5px;border-radius:3px;background:rgba(255,255,255,.3)}
.folha .rolo{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(20px + var(--safe))}
.folha .fechar{position:absolute;right:12px;top:12px;z-index:3;width:44px;height:44px;border-radius:50%;border:0;background:var(--preto);color:#fff;display:grid;place-items:center;cursor:pointer}
.folha .fechar .ico{width:20px;height:20px}
@media (min-width:901px){
  .folha{left:auto;top:0;bottom:0;right:0;width:460px;max-height:none;border-radius:0;transform:translateX(105%);box-shadow:-8px 0 30px rgba(0,0,0,.35)}
  .folha .pega{display:none}
  .folha.on{transform:none}
}

/* ficha do lugar */
.fx-foto{position:relative;aspect-ratio:16/10;background:var(--preto2);overflow:hidden}
.fx-foto img{width:100%;height:100%;object-fit:cover;display:block}
.fx-foto .vazio{position:absolute;inset:0;display:grid;place-items:center;color:var(--branco3)}
.fx-foto .vazio .ico{width:64px;height:64px}
.fx-foto .cred{position:absolute;left:10px;bottom:10px;z-index:2;font:500 11px var(--sign);color:#fff;background:rgba(0,0,0,.66);padding:3px 7px;border-radius:3px;text-decoration:none;max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fx-cab{position:relative;padding:22px 22px 0}
.fx-cab::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:#fff}
.fx-chips{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 12px}
.fx-chip{display:inline-flex;align-items:center;gap:6px;font:600 13px var(--sign);min-height:32px;padding:0 11px;border-radius:999px;background:var(--preto3);color:#fff;text-decoration:none}
.fx-chip .ico{width:15px;height:15px}
a.fx-chip{min-height:36px;border:1px solid var(--fio-esc);background:transparent}
.fx-cab h2{font:700 30px/1.08 var(--sign);letter-spacing:-.015em;margin:0 0 4px;color:#fff}
.fx-rot{display:flex;gap:10px;align-items:flex-start;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:var(--raio);padding:11px 13px;font:600 15px/1.4 var(--sign);margin:14px 22px 0}
.fx-rot .ico{width:18px;height:18px;flex:0 0 auto;margin-top:1px}
.fx-txt{padding:14px 22px 0;font-size:16px;line-height:1.55;color:#E4E4E4}
.fx-txt .dica{margin-top:10px;color:#fff;font-weight:600;font-size:15px}
.fx-txt ul{margin:10px 0 0 18px;font-size:15px}
.fx-txt .aviso-f{margin-top:10px;color:#FFB4A6;font-size:15px}
.fx-acoes{padding:18px 22px 4px}
.fx-acoes a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:var(--raio);text-decoration:none;font:700 16px var(--sign)}
.fx-acoes .pri{background:#fff;color:var(--preto)}
.fx-acoes .ico{width:19px;height:19px}
.fx-linhas{margin:12px 22px 0;border-top:1px solid var(--fio-esc)}
.fx-l{display:flex;gap:14px;align-items:flex-start;padding:13px 0;min-height:56px;border-bottom:1px solid var(--fio-esc);text-decoration:none;color:inherit}
a.fx-l:active{background:rgba(255,255,255,.05)}
.fx-l>.ico{width:20px;height:20px;flex:0 0 auto;color:var(--branco3);margin-top:2px}
.fx-l b{display:block;font:600 13px var(--sign);color:var(--branco3);margin-bottom:1px}
.fx-l span{font-size:15.5px;word-break:break-word}
.fx-l small{display:block;font-size:13px;color:var(--branco3);margin-top:2px}
.fx-l .seta{margin-left:auto;align-self:center;color:var(--branco3)}

/* campo de busca: botão de limpar desenhado */
input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;cursor:pointer;
  background:#111 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center no-repeat}

/* busca */
.busca-f .topo-b{display:flex;gap:8px;align-items:center;padding:6px 16px 12px}
.busca-f input{flex:1;min-width:0;font:500 17px var(--sign);padding:13px 12px 13px 42px;border-radius:var(--raio);border:1px solid rgba(255,255,255,.22);background:var(--preto2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23a3a3a3' stroke-width='2' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") 14px 50% no-repeat;color:#fff;outline:none}
.busca-f input::placeholder{color:var(--branco3)}
.busca-f input:focus{border-color:#fff}
.busca-f input[type=search]::-webkit-search-cancel-button{background-color:#555}
.busca-f .cancelar{background:none;border:0;color:#fff;font:600 15px var(--sign);cursor:pointer;min-height:44px;padding:0 6px}
.busca-f .grupo{font:600 13px var(--sign);color:var(--branco3);padding:16px 18px 8px}
.res{display:flex;gap:12px;align-items:center;padding:8px 18px;min-height:64px;cursor:pointer;text-decoration:none;color:inherit}
.res:hover,.res.sel{background:var(--preto2)}
.res .mini-f{width:48px;height:48px;border-radius:var(--raio);overflow:hidden;flex:0 0 auto;background:var(--preto3);display:grid;place-items:center;color:var(--branco2)}
.res .mini-f img{width:100%;height:100%;object-fit:cover}
.res .mini-f .ico{width:22px;height:22px}
.res b{display:block;font:600 16px/1.25 var(--sign)}
.res small{display:block;font-size:13.5px;color:var(--branco3)}
.res .hr{margin-left:auto;font:600 13px var(--sign);font-variant-numeric:tabular-nums;color:var(--branco2);white-space:nowrap}
.busca-f .nada{padding:30px 18px;color:var(--branco2);text-align:center}
@media (min-width:901px){
  .folha.busca-f{left:50%;right:auto;top:10vh;bottom:auto;width:640px;max-height:76vh;border-radius:10px;transform:translate(-50%,-12px);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}
  .folha.busca-f.on{transform:translate(-50%,0);opacity:1;pointer-events:auto}
  .busca-f .topo-b{padding-top:16px}
}
/* busca vazia: os 7 dias como bolinhas */
.dias-b{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:2px 16px 8px}
.dias-b a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 0;min-height:44px;color:var(--branco2);text-decoration:none;font:600 12px var(--sign);border-radius:var(--raio)}
.dias-b a:hover{background:var(--preto2);color:#fff}
.dias-b a span{width:40px;height:40px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font:700 18px var(--sign);flex:none}
.dias-b a:nth-child(2) span{color:#111}

/* mais */
.mais-f .grade-m{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px 16px 10px}
.mais-f .grade-m a{display:flex;align-items:center;gap:10px;padding:0 14px;min-height:52px;border-radius:var(--raio);background:var(--preto2);color:#fff;text-decoration:none;font:600 15px var(--sign)}
.mais-f .grade-m a .ico{width:20px;height:20px;color:var(--branco2)}
.mais-f h3{font:600 13px var(--sign);color:var(--branco3);padding:12px 18px 8px}

/* gatilhos clicáveis em qualquer página */
[data-lugar]{cursor:pointer}
a.lk-l,span.lk-l{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);text-underline-offset:3px;text-decoration-thickness:1.5px;cursor:pointer}
a.lk-l:hover,span.lk-l:hover{text-decoration-color:currentColor}
.thumb{position:relative;overflow:hidden;background:#E2E2DE}
.thumb img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .4s}
.thumb img.ok{opacity:1}
.thumb .ti{position:absolute;inset:0;display:grid;place-items:center;color:#8C8C88}
.thumb .ti .ico{width:36%;height:36%;max-width:56px;max-height:56px}
.escuro .thumb{background:var(--preto3)}
.escuro .thumb .ti{color:#6E6E6E}
body.travado{overflow:hidden}
@media (prefers-reduced-motion:reduce){.folha,.veu{transition:none}}

/* listas de cards no celular viram faixa deslizante */
@media (max-width:900px){
  .opcoes.carrossel{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:84%;overflow-x:auto;scroll-snap-type:x mandatory;margin-left:-20px;margin-right:-20px;padding:2px 20px 12px;scrollbar-width:none;scroll-padding:0 20px}
  .opcoes.carrossel::-webkit-scrollbar{display:none}
  .opcoes.carrossel>*{scroll-snap-align:start}
}
@media (max-width:520px){.opcoes.carrossel{margin-left:-16px;margin-right:-16px;padding:2px 16px 12px;scroll-padding:0 16px}}
.dica-carrossel{display:none;font:600 13px var(--sign);color:var(--tinta2);margin-top:8px}
.escuro .dica-carrossel{color:var(--branco3)}
@media (max-width:900px){.dica-carrossel{display:block}}
