/* Guia Firenze — "quaderno di bottega": papel de caderno de ateliê, tinta sépia,
   cotto das cúpulas, ouro dos fundos de Giotto, verde do mármore de Prato. */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fontes/cormorant-garamond-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fontes/cormorant-garamond-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fontes/cormorant-garamond-latin-500-italic.woff2) format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fontes/instrument-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fontes/instrument-sans-latin-600-normal.woff2) format('woff2')}

:root{
  --font-ui:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-serif:'Cormorant Garamond',Garamond,Georgia,serif;

  --bg:oklch(0.955 0.018 80);          /* carta */
  --surface:oklch(0.985 0.01 85);
  --panel:oklch(0.93 0.022 80);
  --line:oklch(0.85 0.03 75);
  --line-soft:oklch(0.9 0.022 78);

  --ink:oklch(0.26 0.035 50);          /* sépia */
  --ink-2:oklch(0.42 0.035 50);
  --ink-3:oklch(0.52 0.03 55);

  --cotto:oklch(0.53 0.14 38);
  --cotto-hi:oklch(0.6 0.15 40);
  --on-cotto:oklch(0.985 0.01 85);
  --oro:oklch(0.74 0.12 82);
  --oro-2:oklch(0.6 0.11 70);
  --prato:oklch(0.43 0.06 165);        /* verde do mármore */
  --prato-bg:oklch(0.94 0.03 165);
  --chiuso:oklch(0.5 0.12 28);
  --chiuso-bg:oklch(0.95 0.025 28);
  --dubbio:oklch(0.5 0.08 75);
  --dubbio-bg:oklch(0.95 0.035 85);

  --r:10px;
  --ease:cubic-bezier(.22,1,.36,1);
  --shadow:0 1px 2px oklch(0.3 0.04 50 / .08);
  --shadow-pop:0 18px 40px -18px oklch(0.3 0.05 50 / .45);
  --tab-h:64px;
}
:root[data-theme="dark"]{
  --bg:oklch(0.2 0.018 50);
  --surface:oklch(0.245 0.02 50);
  --panel:oklch(0.27 0.022 50);
  --line:oklch(0.36 0.025 55);
  --line-soft:oklch(0.31 0.02 55);
  --ink:oklch(0.94 0.015 80);
  --ink-2:oklch(0.8 0.02 75);
  --ink-3:oklch(0.68 0.02 70);
  --cotto:oklch(0.68 0.14 40);
  --cotto-hi:oklch(0.74 0.13 42);
  --on-cotto:oklch(0.18 0.02 50);
  --oro:oklch(0.78 0.11 82);
  --oro-2:oklch(0.66 0.1 72);
  --prato:oklch(0.76 0.08 165);
  --prato-bg:oklch(0.3 0.04 165);
  --chiuso:oklch(0.74 0.12 28);
  --chiuso-bg:oklch(0.3 0.05 28);
  --dubbio:oklch(0.8 0.08 80);
  --dubbio-bg:oklch(0.3 0.04 80);
  --shadow:0 1px 2px oklch(0 0 0 / .3);
  --shadow-pop:0 18px 40px -18px oklch(0 0 0 / .7);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.5 var(--font-ui);padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom));min-height:100dvh}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
img{max-width:100%;display:block}
.serif{font-family:var(--font-serif)}

/* ── barra superior ── */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:color-mix(in oklch,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
.top.sobre-capa{position:absolute;left:0;right:0;background:transparent;border-bottom:0;backdrop-filter:none;color:oklch(0.98 0.01 85)}
.top.sobre-capa h1{opacity:0}
.top-esq{display:flex;align-items:center;gap:6px;min-width:0}
.top h1{margin:0;font:600 22px/1.1 var(--font-serif);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top .sub{font-size:12px;color:var(--ink-3)}
.top-dir{display:flex;gap:4px}
.top button{width:38px;height:38px;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;cursor:pointer}
.top button[hidden]{display:none}
.top.sobre-capa button{background:oklch(0.2 0.03 50 / .35);backdrop-filter:blur(6px)}
/* idioma: bandeiras EUA / Brasil. Ativa nítida com anel dourado; a outra esmaecida. */
.idioma{display:flex;align-items:center}
.top .idioma button{width:36px;border-radius:8px}
.top.sobre-capa .idioma button{background:transparent;backdrop-filter:none}
.idioma svg{width:22px;height:15px;border-radius:2.5px;box-shadow:0 0 0 1px oklch(0 0 0 / .18);opacity:.42;filter:saturate(.55);transition:opacity .15s,filter .15s}
.idioma button[aria-pressed="true"] svg{opacity:1;filter:none;box-shadow:0 0 0 1.5px var(--oro)}
.idioma button:focus-visible{outline:2px solid var(--oro);outline-offset:-2px}
#voltar{font-size:28px;line-height:1;margin-left:-8px}
.offline{background:var(--dubbio-bg);color:var(--dubbio);font-size:13px;text-align:center;padding:6px 16px}

/* ── tabs ── */
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line)}
.tabs[hidden]{display:none}
.tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;font-size:11px;color:var(--ink-3);position:relative}
.tabs svg{width:22px;height:22px}
.tabs a.active{color:var(--cotto)}
.tabs a.active::before{content:"";position:absolute;top:0;left:30%;right:30%;height:2px;background:var(--oro);border-radius:0 0 2px 2px}

.wrap{max-width:720px;margin:0 auto;padding:16px}
.stack>*+*{margin-top:18px}

/* ── capa do Início ── */
.capa{position:relative;margin:0 0 84px}
.capa-arte{position:relative;height:clamp(220px,52vw,340px);overflow:hidden;background:var(--panel)}
.capa-arte img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:saturate(.92) sepia(.12);animation:respira 24s ease-in-out infinite alternate}
.capa-arte::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,oklch(0.2 0.03 50 / .45) 0%,transparent 35%,transparent 55%,var(--bg) 100%)}
@keyframes respira{from{transform:scale(1.02)}to{transform:scale(1.1) translate(-2%,1%)}}
.credito-capa{position:absolute;right:10px;bottom:56px;z-index:1;font-size:10px;color:oklch(0.98 0.01 85 / .85);text-decoration:none;text-shadow:0 1px 2px oklch(0 0 0 / .6)}
.tondo{position:absolute;left:50%;bottom:-70px;transform:translateX(-50%);width:156px;height:156px;border-radius:50%;padding:7px;
  background:conic-gradient(from 20deg,var(--oro),var(--oro-2),oklch(0.86 0.09 88),var(--oro-2),var(--oro),oklch(0.86 0.09 88),var(--oro));
  box-shadow:var(--shadow-pop),inset 0 0 0 1px oklch(0.5 0.08 70 / .5);animation:surge .9s var(--ease) both .15s}
.tondo::before{content:"";position:absolute;inset:4px;border-radius:50%;border:1.5px dotted oklch(0.45 0.08 60 / .55)}
.tondo img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid var(--cotto)}
@keyframes surge{from{opacity:0;transform:translateX(-50%) translateY(14px) scale(.94)}to{opacity:1;transform:translateX(-50%)}}
.dedica{text-align:center;margin-top:-6px;animation:surge-t .8s var(--ease) both .35s}
.dedica h2{margin:0;font:500 italic 34px/1.05 var(--font-serif);letter-spacing:.01em}
.dedica .linha{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:6px;font:600 11px/1 var(--font-ui);letter-spacing:.22em;text-transform:uppercase;color:var(--cotto)}
.dedica .linha::before,.dedica .linha::after{content:"";width:28px;height:1px;background:var(--oro-2)}
@keyframes surge-t{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.info-dia{display:flex;justify-content:center;gap:14px;margin-top:10px;font-size:13px;color:var(--ink-3)}
.info-dia b{color:var(--ink-2);font-weight:600;font-variant-numeric:tabular-nums}

/* ── títulos de seção ── */
.sec-t{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 10px}
.sec-t h2{margin:0;font:600 24px/1.1 var(--font-serif)}
.sec-t a,.sec-t span{font-size:13px;color:var(--ink-3);text-decoration:none;white-space:nowrap}
.sec-t a{color:var(--cotto)}

/* ── cartões e listas ── */
.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r);box-shadow:var(--shadow)}
.lista>a{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;border-top:1px solid var(--line-soft)}
.lista>a:first-child{border-top:0}
.lista>a:active{background:var(--panel)}
.mini{position:relative;width:56px;height:56px;border-radius:8px;overflow:hidden;background:var(--panel)}
.mini img{width:100%;height:100%;object-fit:cover}
.mini .sem{display:grid;place-items:center;width:100%;height:100%;font:600 20px var(--font-serif);color:var(--ink-3)}
.visitado .mini::after{content:"";position:absolute;inset:0;background:oklch(0.3 0.04 165 / .45) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/22px no-repeat}
.lista .n{min-width:0}
.lista .n b{display:block;font:600 18px/1.15 var(--font-serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lista .n small{display:block;color:var(--ink-3);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vazio{padding:18px 16px;color:var(--ink-3);font-size:14px}

.pill{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap;background:var(--panel);color:var(--ink-2)}
.pill.sim{background:var(--prato-bg);color:var(--prato)}
.pill.nao{background:var(--chiuso-bg);color:var(--chiuso)}
.pill.verificar{background:var(--dubbio-bg);color:var(--dubbio)}
.pill.oro{background:color-mix(in oklch,var(--oro) 22%,var(--surface));color:var(--oro-2)}

/* progresso */
.progresso{padding:14px 16px}
.progresso .num{font:600 30px/1 var(--font-serif);font-variant-numeric:tabular-nums}
.progresso .num small{font:400 14px var(--font-ui);color:var(--ink-3);margin-left:6px}
.barra{height:6px;border-radius:3px;background:var(--panel);margin-top:10px;overflow:hidden}
.barra i{display:block;height:100%;background:linear-gradient(90deg,var(--cotto),var(--oro));border-radius:3px}
.progresso .grupos{display:flex;gap:16px;margin-top:10px;font-size:12.5px;color:var(--ink-3)}
.progresso .grupos b{color:var(--ink-2);font-variant-numeric:tabular-nums}

/* destaque (fim de semana / gelato) */
.destaque{display:grid;grid-template-columns:110px 1fr;overflow:hidden;text-decoration:none}
.destaque .img{background:var(--panel);min-height:120px}
.destaque .img img{width:100%;height:100%;object-fit:cover}
.destaque .txt{padding:12px 14px}
.eyebrow{font:600 10.5px/1 var(--font-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--cotto)}
.destaque b{display:block;font:600 22px/1.1 var(--font-serif);margin-top:6px}
.destaque p{margin:6px 0 0;font-size:13.5px;color:var(--ink-2)}

/* ── filtros (barra acima da lista) ── */
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.seg{display:flex;background:var(--panel);border-radius:999px;padding:3px;overflow-x:auto;scrollbar-width:none;max-width:100%}
.seg button{border:0;background:transparent;padding:6px 13px;border-radius:999px;font-size:13px;color:var(--ink-2);cursor:pointer;white-space:nowrap}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--cotto);font-weight:600;box-shadow:var(--shadow)}
.campo{flex:1 1 150px;min-width:0;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
select.campo{flex:0 1 auto;appearance:none;padding-right:28px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 10px center/14px no-repeat}
.contagem{font-size:12.5px;color:var(--ink-3);margin:0 2px 8px}

/* ── fins de semana ── */
.viagens{display:grid;gap:14px}
.viagem{display:block;text-decoration:none;overflow:hidden}
.viagem .img{aspect-ratio:16/9;background:var(--panel);position:relative}
.viagem .img img{width:100%;height:100%;object-fit:cover}
.viagem .img .pill{position:absolute;left:10px;bottom:10px;background:oklch(0.2 0.03 50 / .7);color:oklch(0.98 0.01 85);backdrop-filter:blur(4px)}
.viagem .txt{padding:12px 14px 14px}
.viagem h3{margin:0;font:600 26px/1.05 var(--font-serif)}
.viagem p{margin:6px 0 0;color:var(--ink-2);font-size:14px}

/* ── ficha ── */
.ficha .foto{margin:-16px -16px 0;position:relative}
.ficha .foto img{width:100%;max-height:62vh;object-fit:cover}
figcaption{font-size:11px;color:var(--ink-3);padding:6px 16px 0}
figcaption a{text-decoration:none}
.ficha h2.nome{margin:14px 0 2px;font:600 34px/1.05 var(--font-serif)}
.ficha .onde{color:var(--ink-3);font-size:13.5px}
.meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.texto{font:500 19px/1.5 var(--font-serif);color:var(--ink)}
.texto p{margin:0 0 .7em}
.dicas{list-style:none;margin:0;padding:0}
.dicas li{position:relative;padding:10px 14px 10px 36px;border-top:1px solid var(--line-soft);font-size:14.5px}
.dicas li:first-child{border-top:0}
.dicas li::before{content:"✦";position:absolute;left:14px;top:10px;color:var(--oro-2);font-size:13px}
.obras{display:grid;gap:14px}
.obra{margin:0;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden}
.obra img{width:100%;background:var(--panel)}
.obra .leg{padding:10px 14px 0;font:500 italic 18px/1.2 var(--font-serif)}
.obra .leg small{display:block;font:400 normal 12.5px var(--font-ui);color:var(--ink-3);margin-top:2px}
.obra figcaption{padding:4px 14px 10px}
.acoes{display:flex;gap:8px}
.btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 16px;border-radius:999px;border:0;background:var(--cotto);color:var(--on-cotto);font-weight:600;text-decoration:none;cursor:pointer}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn:disabled{opacity:.6}
details.sec>summary{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;list-style:none}
details.sec>summary::-webkit-details-marker{display:none}
details.sec>summary h3{margin:0;font:600 19px var(--font-serif)}
details.sec>summary span{font-size:13px;color:var(--ink-3)}
.kv{display:grid;grid-template-columns:64px 1fr;gap:6px 12px;padding:0 16px 14px;font-size:14px}
.kv .hoje{color:var(--cotto);font-weight:600}
.kv.um{grid-template-columns:1fr}
.num{font-variant-numeric:tabular-nums}
.fonte{font-size:12px;color:var(--ink-3)}
.fonte a{color:var(--ink-3)}
.lbl{font-size:12px;font-weight:600;color:var(--ink-3)}
textarea.nota{width:100%;min-height:90px;margin-top:6px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);resize:vertical}
.notas{padding:12px 16px 14px}
.nota-de{margin-top:12px}
.nota-de p{margin:2px 0 0;white-space:pre-wrap}

/* ── mapa ── */
.mapa-box{position:fixed;left:0;right:0;top:calc(58px + env(safe-area-inset-top));bottom:calc(var(--tab-h) + env(safe-area-inset-bottom))}
#mapa{width:100%;height:100%;background:var(--panel)}
.mapa-filtros{position:absolute;top:10px;left:10px;right:10px;z-index:2}
.mapa-filtros .seg{background:var(--surface);box-shadow:var(--shadow-pop);width:max-content}
.mapa-leg{position:absolute;left:10px;bottom:12px;z-index:2;display:flex;flex-wrap:wrap;gap:10px;padding:7px 11px;border-radius:999px;background:var(--surface);box-shadow:var(--shadow-pop);font-size:12px}
.mapa-leg i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}

/* ── login ── */
.login{min-height:calc(100dvh - 60px);display:grid;align-content:center;gap:22px;padding:24px 16px 40px;max-width:420px;margin:0 auto}
.login .brasao{text-align:center}
.login .brasao .arte{width:100%;height:150px;border-radius:var(--r);background:url(/assets/capa/catena.webp) 50% 30%/cover;filter:sepia(.15);box-shadow:var(--shadow-pop)}
.login h2{margin:16px 0 0;font:500 italic 40px/1 var(--font-serif)}
.login .linha{margin-top:8px;font:600 11px/1 var(--font-ui);letter-spacing:.22em;text-transform:uppercase;color:var(--cotto)}
.form{padding:18px;display:grid;gap:8px}
.form input{height:46px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
.form .btn{margin-top:8px}
.erro{color:var(--chiuso);font-size:13.5px;min-height:1em}
.campo-senha{position:relative;display:flex}
.campo-senha input{flex:1;padding-right:48px}
.ver-senha{position:absolute;right:2px;top:1px;width:44px;height:44px;border:0;background:transparent;color:var(--ink-3);display:grid;place-items:center;cursor:pointer;border-radius:10px}
.ver-senha[aria-pressed="true"]{color:var(--cotto)}
.ajuda{font-size:12.5px;color:var(--ink-3);margin-top:-2px}


/* ── diário ── */
.btn.nova{width:100%;height:50px;font-size:16px;box-shadow:var(--shadow-pop)}
.mes-t{display:flex;align-items:center;gap:12px;margin:26px 0 12px;font:500 italic 22px/1 var(--font-serif);color:var(--ink-2);text-transform:capitalize}
.mes-t::before,.mes-t::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--oro-2),transparent)}
.mes .pagina+.pagina{margin-top:14px}
.pagina{display:block;text-decoration:none;overflow:hidden;animation:surge-t .6s var(--ease) both}
.pg-txt{padding:12px 16px 14px}
.pg-data{font:600 10.5px/1 var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--cotto)}
.pagina h4{margin:6px 0 0;font:600 25px/1.1 var(--font-serif)}
.pagina p{margin:6px 0 0;font:500 17px/1.45 var(--font-serif);color:var(--ink-2)}
.pg-pe{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.pg-pe:empty{display:none}
.pg-recados{font-size:12.5px;color:var(--ink-3)}
.pill.priv{background:var(--panel);color:var(--ink-2)}
.pill.priv svg{margin-left:-2px}
.pill.autor{background:color-mix(in oklch,var(--prato) 14%,var(--surface));color:var(--prato)}
.pagina.privada{border-style:dashed}
.mosaico{display:grid;gap:2px;background:var(--line-soft)}
.mosaico.n1{grid-template-columns:1fr}
.mosaico.n2{grid-template-columns:1fr 1fr}
.mosaico.n3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}
.mosaico.n3 span:first-child{grid-row:span 2}
.mosaico span{position:relative;display:block;aspect-ratio:4/3;background:var(--panel);overflow:hidden}
.mosaico.n1 span{aspect-ratio:16/10}
.mosaico.n3 span{aspect-ratio:auto;min-height:90px}
.mosaico img{width:100%;height:100%;object-fit:cover}
.mosaico b{position:absolute;inset:0;display:grid;place-items:center;background:oklch(0.2 0.03 50 / .5);color:#fff;font:600 24px var(--font-serif)}
.pagina-branca{padding:36px 20px;text-align:center;border:1.5px dashed var(--line);border-radius:var(--r);font:500 italic 20px/1.3 var(--font-serif);color:var(--ink-3)}
.pagina-branca p{margin:0}

.folha header .pg-data{margin-top:4px}
.folha .nome{margin:6px 0 8px;font:600 34px/1.05 var(--font-serif)}
.galeria{display:grid;gap:6px;margin:0 -16px}
.galeria img{width:100%;height:auto}
.recados{padding:14px 16px}
.recados h3{margin:0 0 4px;font:600 21px var(--font-serif)}
.recado{position:relative;padding:10px 28px 10px 0;border-top:1px solid var(--line-soft)}
.recado:first-of-type{border-top:0}
.recado p{margin:2px 0 0;white-space:pre-wrap}
.apagar-recado{position:absolute;right:0;top:8px;border:0;background:transparent;color:var(--ink-3);font-size:20px;cursor:pointer}
.novo-recado{display:grid;gap:8px;margin-top:10px}
.novo-recado textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);resize:vertical}

.escrever label{display:grid;gap:4px}
.escrever .campo{width:100%;border-radius:10px;height:44px}
.escrever .campo.titulo{font:600 22px var(--font-serif);height:50px}
.escrever .texto-pg{height:auto;min-height:220px;padding:12px;font:500 18px/1.5 var(--font-serif);resize:vertical}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fotos-edit{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin-top:4px}
.ft{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--panel)}
.ft img{width:100%;height:100%;object-fit:cover}
.ft button{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:0;background:oklch(0.2 0.03 50 / .7);color:#fff;font-size:16px;line-height:1;cursor:pointer}
.ft.add{display:grid;place-items:center;border:1.5px dashed var(--line);background:transparent;cursor:pointer;font:500 34px var(--font-serif);color:var(--cotto)}
.btn.perigo{color:var(--chiuso);border-color:color-mix(in oklch,var(--chiuso) 40%,transparent);width:100%}

@media (min-width:720px){
  .galeria{margin:0}
  .destaque{grid-template-columns:180px 1fr}
  .viagens{grid-template-columns:1fr 1fr}
  .ficha .foto{margin:0;border-radius:var(--r);overflow:hidden}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}
