:root{
  --forest:#2f3a29; --forest2:#2c3e2d; --green:#4a6741; --sage:#8fa888;
  --sand:#d4c4a0; --gold:#99815d; --mid:#485342; --paper:#f8f6f2; --ink:#2c3e2d;
  --erro:#8a2b22;
  --sans:"Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Arial;
  --serif:"Bodoni Moda",Georgia,serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
html,body{max-width:100%}
body{overflow-x:clip}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.55;font-weight:400;-webkit-tap-highlight-color:transparent}
img{max-width:100%;height:auto;display:block}
a{color:var(--green);text-decoration:none}
svg{max-width:100%}

/* wordmark didone (igual ao Korus) */
.logo-stencil{font-family:var(--serif);font-size:2.1rem;font-weight:600;letter-spacing:.05em;text-transform:lowercase;text-shadow:0 1px 2px rgba(0,0,0,.1)}

/* ===== Header ===== */
.header{background:var(--forest);position:sticky;top:0;z-index:50}
.header-in{max-width:1280px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;position:relative}
.burger{width:40px;height:40px;border:0;background:none;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;border-radius:8px}
.burger:hover{background:rgba(255,255,255,.1)}
.burger span{width:24px;height:2px;background:#fff;border-radius:2px}
.brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;line-height:1}
.brand b{color:var(--sand)}
.lang{position:relative}
/* entrada do cliente, no cabeçalho e à vista.
   No celular sai daqui e fica dentro do menu, que é onde há espaço. */
.hdr-right{display:flex;align-items:center;gap:10px}
.hdr-acc{display:inline-flex;align-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);
  color:#fff;font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:.02em;
  padding:9px 15px;border-radius:8px;line-height:1;white-space:nowrap}
.hdr-acc:hover{background:rgba(255,255,255,.2);color:#fff}
.lang-cur{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);color:#fff;font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:.04em;padding:9px 13px;border-radius:8px;cursor:pointer;line-height:1}
.lang-cur:hover{background:rgba(255,255,255,.2)}
.lang-menu{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:10px;box-shadow:0 16px 40px -18px rgba(0,0,0,.5);overflow:hidden;display:none;min-width:170px;z-index:60}
.lang-menu.open{display:block}
.lang-menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:13px 16px;font-family:var(--sans);font-size:15px;color:var(--ink);cursor:pointer}
.lang-menu button:hover{background:#f3efe7}
.lang-menu button.on{color:var(--green);font-weight:600}
.menu{position:absolute;left:24px;top:60px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:10px;box-shadow:0 16px 40px -18px rgba(0,0,0,.5);min-width:240px;overflow:hidden;display:none;z-index:60}
.menu.open{display:block}
.menu a{display:block;padding:13px 18px;color:var(--ink);font-weight:300;font-size:14px}
.menu a:hover{background:#f3efe7}

/* ===== Hero ===== */
.hero{position:relative;min-height:72vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.hero .hero-bg{position:absolute;inset:0;z-index:0;background:#243019 center/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.34);z-index:1}
.hero-c{position:relative;z-index:2;color:#fff;width:100%;max-width:880px;padding:60px 20px}
.hero h1{font-family:var(--sans);font-weight:300;font-size:clamp(1.8rem,5vw,2.9rem);line-height:1.4;letter-spacing:.01em;margin:0 0 30px}
.hero h1 .ac{color:var(--sand)}
.trust{display:inline-flex;align-items:center;gap:10px;margin-top:20px;padding:10px 20px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);border-radius:50px;color:#fff;font-size:.85rem;text-decoration:none;flex-wrap:wrap;justify-content:center;max-width:100%}
.trust:hover{background:rgba(255,255,255,.24)}
.trust .stars{color:#f0c14b;letter-spacing:1px}
.trust .trust-txt b{font-weight:600}
.trust svg{opacity:.85}
#reviews{scroll-margin-top:80px}

/* ===== Search bar (pill completa) ===== */
.searchbar{position:relative;max-width:960px;margin:0 auto 30px}
.pill{display:grid;grid-template-columns:1.7fr 1.2fr 1.1fr auto;align-items:stretch;background:rgba(255,255,255,.98);border:2px solid rgba(212,196,160,.45);border-radius:50px;box-shadow:0 25px 50px -12px rgba(0,0,0,.3)}
.seg{display:flex;flex-direction:column;justify-content:center;padding:11px 18px;border-right:1px solid #eee4d0;min-width:0;text-align:left}
.seg .lbl{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:2px}
.seg input,.seg .gbtn{border:0;background:transparent;outline:none;font-family:var(--sans);font-size:.9rem;color:var(--ink);padding:2px 0;width:100%;min-width:0}
.seg input::placeholder{color:#9a9685}
.seg input[type=date]{font-size:.82rem}
.seg.dest{position:relative;padding-left:46px}
.seg.dest .pin{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--green)}
.gbtn{cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}
.pill .go{border:0;background:var(--green);color:#fff;font-family:var(--sans);font-size:1rem;font-weight:400;padding:0 26px;border-radius:50px;cursor:pointer;white-space:nowrap;margin:5px}
.pill .go:hover{background:#3d5636}
.datebtn{border:0;background:transparent;cursor:pointer;text-align:left;font-family:var(--sans);font-size:.9rem;color:var(--ink);padding:2px 0;width:100%}
#datelabel.ph{color:#9a9685}
.cal-pop{position:fixed;z-index:1000;background:#fff;border:1px solid #e6dcc6;border-radius:16px;box-shadow:0 18px 40px -18px rgba(0,0,0,.5);padding:14px;width:330px;display:none}
.cal-pop.sheet{left:50%;top:50%;transform:translate(-50%,-50%);width:min(360px,92vw);max-height:86vh;overflow:auto}
.cal-pop.open{display:block}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cal-nav{width:32px;height:32px;border:1px solid var(--sand);background:#fff;border-radius:8px;cursor:pointer;color:var(--green);font-size:18px;line-height:1}
.cal-nav:hover{background:#f3efe7}
.cal-title{font-weight:600;color:var(--forest2);text-transform:capitalize;font-size:.95rem}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cal-wd span{text-align:center;font-size:11px;color:#9a8f78;text-transform:uppercase;letter-spacing:.04em;padding:4px 0}
.cal-days{margin-top:2px}
.cal-empty{height:38px}
.cal-day{height:38px;border:0;background:transparent;border-radius:9px;cursor:pointer;color:var(--ink);font-family:var(--sans);font-size:.85rem}
.cal-day:hover:not(.off){background:#efe7d6}
.cal-day.off{color:#cdc6b6;cursor:default}
.cal-day.today{box-shadow:inset 0 0 0 1px var(--sand)}
.cal-day.inrange{background:#e7e3d3}
.cal-day.start,.cal-day.end{background:var(--green);color:#fff}
.cal-foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px;border-top:1px solid #efe7d6;padding-top:10px}
.cal-clear{border:0;background:transparent;color:var(--green);cursor:pointer;font-size:.85rem;font-family:var(--sans)}
.cal-n{font-size:.85rem;color:#8a8779}
.guest-pop{position:fixed;z-index:1000;background:#fff;border:1px solid #e6dcc6;border-radius:14px;box-shadow:0 18px 40px -18px rgba(0,0,0,.5);padding:12px 14px;width:280px;display:none}
.guest-pop.sheet{left:50%;top:50%;transform:translate(-50%,-50%);width:min(340px,92vw)}
.guest-pop.open{display:block}
.grow{display:flex;align-items:center;justify-content:space-between;padding:8px 0}
.grow .gn{font-size:14px;color:var(--ink)}
.step{display:flex;align-items:center;gap:12px}
.step button{width:30px;height:30px;border-radius:50%;border:1px solid var(--sand);background:#fff;color:var(--green);font-size:17px;cursor:pointer;line-height:1}
.step span{min-width:16px;text-align:center}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:6px}
.chip{padding:12px 28px;border-radius:50px;font-weight:300;font-size:.95rem;cursor:pointer;border:0;font-family:var(--sans);text-decoration:none}
.chip.all{background:var(--sage);color:#fff}
.chip.type{background:rgba(255,255,255,.95);color:var(--green);border:1px solid rgba(212,196,160,.4);box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}

/* ===== O que oferecemos ===== */
.offer{background:var(--forest2);padding:80px 24px}
.offer-in{max-width:1280px;margin:0 auto}
.offer h2{text-align:center;color:#fff;font-weight:900;font-size:clamp(1.5rem,4vw,1.8rem);margin:0 0 56px;letter-spacing:-.01em}
.cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin-bottom:64px}
.oc{min-height:270px;border-radius:24px;padding:38px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:20px}
.oc .ic{width:78px;height:78px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center}
.oc .ic svg{width:38px;height:38px}
.oc h3{font-weight:400;font-size:1rem;margin:0}
.oc p{font-weight:300;font-size:.88rem;line-height:1.5;margin:0;max-width:280px}
/* Seleção curada e Expertise local: cinza #a8b3ad com texto #222E1B.
   Texto branco dava contraste 2,16, abaixo do mínimo de 4,5; assim dá 6,59. */
.oc.sage{background:#a8b3ad;color:#222E1B}
.oc.sage .ic{background:rgba(34,46,27,.16)}
.oc.sand{background:var(--sand);color:var(--forest2)}
.blocks2{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:30px}
.blk{position:relative;border-radius:24px;overflow:hidden;min-height:400px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.blk .blk-bg{position:absolute;inset:0;z-index:0;background:var(--sage) center/cover no-repeat}
.blk::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(0,0,0,.6),transparent)}
.blk .cap{position:absolute;left:32px;right:32px;bottom:30px;z-index:2;color:#fff}
.blk .cap h3{font-weight:400;font-size:1.7rem;margin:0 0 6px}
.blk .cap p{font-weight:300;margin:0}

/* ===== Reviews (Airbnb via Elfsight) ===== */
.reviews{background:var(--gold);padding:74px 24px}
.reviews-in{max-width:1180px;margin:0 auto;text-align:center}
.reviews .eyebrow{color:#3a2f1c}
.reviews h2.title{font-family:var(--serif);font-weight:600;color:#2a2310;font-size:clamp(1.5rem,4vw,1.9rem);margin:6px 0 26px}
.reviews .widget{min-height:120px}

/* ===== Instagram ===== */
.insta{background:var(--gold);padding:90px 24px;text-align:center}
.insta h2{font-weight:400;color:#2a2a2a;font-size:clamp(1.4rem,4vw,1.75rem);margin:0 0 22px;line-height:1.3}
.insta h2 b{font-weight:500;color:var(--sand)}
.insta p{font-weight:300;color:#3a3a3a;font-size:.9rem;margin:0 0 30px}
.insta a{display:inline-block;padding:16px 40px;background:#fff;color:#2a2a2a;border-radius:50px;font-weight:400;font-size:.85rem;letter-spacing:.05em;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}

/* ===== Fale conosco ===== */
.talk{background:var(--mid);padding:90px 24px;text-align:center}
.talk h2{font-weight:400;color:#fff;font-size:clamp(1.4rem,4vw,1.75rem);margin:0 0 22px}
.talk .div{width:80px;height:3px;background:var(--sand);margin:0 auto 30px;border-radius:2px}
.talk p{font-weight:300;color:rgba(255,255,255,.85);font-size:.92rem;line-height:1.7;max-width:600px;margin:0 auto 38px}
.talk .btn{padding:18px 46px;background:var(--green);color:#fff;border:0;border-radius:50px;font-size:1.05rem;font-weight:400;cursor:pointer;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}

/* ===== Footer ===== */
.footer{background:var(--forest);color:#cdd3c4;padding:46px 24px 26px}
/* Duas colunas na Onne (marca, moradas), três na Korus (mais os selos).
   Em vez de grelha com número fixo de colunas, que deixaria um espaço vazio
   na marca que tem menos, usa-se uma fila: cada bloco ocupa o que precisa. */
.footer-in{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;gap:40px;align-items:flex-start;flex-wrap:wrap;padding-bottom:28px}
.footer .fbrand{font-size:1.375rem;color:#fff}
.footer .fbrand b{color:var(--sand)}
.footer .addr{font-size:12.5px;color:#c3c9ba;margin-top:6px}
.footer .seals{text-align:right;font-size:10.5px;letter-spacing:.08em;color:#aeb5a3;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.footer .foot-addr{text-align:right;font-size:12.5px;line-height:1.7;color:#c3c9ba}
/* Espaço entre moradas. São três blocos seguidos e sem isto lêem-se como
   um só bloco de texto. */
.foot-addr-bloco + .foot-addr-bloco{margin-top:14px}
/* Selos das redes -- Embark, Forbes, Virtuoso -- e o registo de turismo.
   Só aparecem na marca que os tem; a coluna nem existe na outra. */
.foot-selos{text-align:center;font-size:11px;color:#c3c9ba;letter-spacing:.06em;text-transform:uppercase}
.foot-selo-tit{margin-bottom:8px}
.foot-selo-fila{display:flex;gap:22px;align-items:center;justify-content:center;margin-bottom:16px}

/* Os selos são escuros sobre fundo transparente. Aqui o fundo é verde
   escuro: o filtro torna-os brancos para se lerem. */
.foot-selo{width:auto;opacity:.9;filter:brightness(0) invert(1)}

/* Altura própria para cada um.
   As três imagens têm margens diferentes à volta do desenho: o da Embark
   ocupa 87% da altura do ficheiro, o da Forbes 46%, o da Virtuoso 71%. Com
   a mesma altura para todas, o da Forbes sairia com metade do tamanho dos
   outros -- foi o que se viu.
   Estes números põem os três desenhos com cerca de 30px de altura.
   Se alguma imagem for trocada por outra com margens diferentes, o número
   dela tem de ser refeito. */
.foot-selo[data-selo="img_logo_embark"]{height:44px}   /* 34 + 30% */
.foot-selo[data-selo="img_logo_forbes"]{height:65px}
.foot-selo[data-selo="img_logo_virtuoso"]{height:42px}

.foot-cadastur{font-size:11px;color:#c3c9ba;letter-spacing:.04em}
.footer .seal-lbl{display:block;margin-bottom:4px}
.footer .seal{display:inline-flex;align-items:center;background:#fff;border-radius:8px;padding:6px 10px;margin-left:8px}
.footer .seal img{height:26px;width:auto;max-width:120px;display:block;object-fit:contain}
.footer .copy{max-width:1280px;margin:24px auto 0;border-top:1px solid rgba(255,255,255,.12);padding-top:16px;text-align:center;font-size:11.5px;color:#9aa28f}

/* ===== Featured ===== */
.section{max-width:1280px;margin:0 auto;padding:70px 24px 70px}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600}
.section h2.title{font-family:var(--serif);font-weight:600;color:var(--forest2);font-size:clamp(1.5rem,4vw,1.9rem);margin:6px 0 26px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:24px}
.prop{display:block;background:#fff;border:1px solid #ece3d1;border-radius:18px;overflow:hidden;color:inherit;transition:transform .15s,box-shadow .15s}
.prop:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(0,0,0,.45)}
.prop .ph{aspect-ratio:16/10;background:linear-gradient(135deg,#cdbfa3,#8fa888);position:relative}
.prop .ph > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.prop .ph .cat{position:absolute;left:12px;top:12px;background:rgba(44,62,45,.82);color:#fff;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:50px}
.prop .ph .rc-badge{position:absolute;right:12px;bottom:12px;top:auto;left:auto;z-index:2;cursor:pointer}
.prop .b{padding:15px 17px 18px}
.prop .pn{font-weight:600;font-size:1.05rem;color:var(--forest2)}
.prop .pl{color:#8a8779;font-size:13px;margin-top:3px;font-weight:300}
.prop .st{color:var(--gold);font-size:13px;margin-top:8px}
.skeleton{height:250px;border-radius:18px;background:linear-gradient(90deg,#eee4d0,#f6f0e3,#eee4d0);background-size:200% 100%;animation:sk 1.2s ease-in-out infinite}
@keyframes sk{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ===== Backoffice ===== */
.container{max-width:1120px;margin:0 auto;padding:28px 24px}
.title{font-family:var(--serif);font-weight:600;color:var(--forest2)}
.muted{color:#8a8779;font-size:14px}
.btn{cursor:pointer;border:0;border-radius:50px;padding:11px 20px;font-family:var(--sans);font-weight:500;font-size:14px;background:var(--green);color:#fff;text-decoration:none;display:inline-block}
.btn:hover{background:#3d5636}
.btn.outline{background:transparent;border:1px solid var(--green);color:var(--green)}
.btn.sm{padding:7px 13px;font-size:12px}
.btn.danger{background:transparent;border:1px solid var(--erro);color:var(--erro)}
.card{background:#fff;border:1px solid #e7ddc9;border-radius:14px;padding:18px;margin-bottom:16px}
label{display:block;font-size:12px;color:#6b6b6b;margin:10px 0 4px;text-transform:uppercase;letter-spacing:.06em}
input,select,textarea{width:100%;padding:11px 13px;border:1px solid #d9ceb6;border-radius:10px;font:inherit;font-family:var(--sans);background:#fff}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.flash{background:#f6efdd;border:1px solid var(--gold);border-radius:12px;padding:11px 14px;margin:10px 0}
.err{color:var(--erro)}
.center{min-height:60vh;display:flex;align-items:center;justify-content:center}
.inline{display:flex;gap:8px;align-items:end}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8a8a8a;border-bottom:1px solid #e7ddc9;padding:9px}
td{border-bottom:1px solid #efe7d6;padding:9px;vertical-align:middle}

/* ===== Mobile ===== */
@media (max-width:820px){
  .brand,.logo-stencil{font-size:1.5rem}
  /* o cabeçalho não tem espaço: a entrada do cliente passa para dentro do menu */
  .hdr-acc{display:none!important}
  .lang-cur{font-size:14px;padding:9px 12px}
  .lang-menu button{font-size:16px;padding:14px 16px}
  .trust{font-size:.9rem;padding:11px 18px;margin-top:16px;gap:8px}
  .hero{min-height:0;padding-bottom:8px}
  .hero-c{padding:48px 18px}
  .hero h1{font-size:1.7rem;margin-bottom:22px}
  .pill{grid-template-columns:1fr;border-radius:20px;padding:6px}
  .seg{border-right:0;border-bottom:1px solid #eee4d0;padding:11px 16px}
  .seg.dest{padding-left:44px}
  .seg.dest .pin{top:34px}
  body.cal-open::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:999}
  .pill .go{width:auto;margin:8px 6px 4px;padding:14px}
  .guest-pop{left:6px;right:6px;width:auto}
  .chips{gap:10px}
  .chip{padding:11px 20px;font-size:.9rem}
  .offer,.insta,.talk{padding:56px 18px}
  .cards3{gap:16px;margin-bottom:40px}
  .blocks2{gap:16px}
  .blk{min-height:300px}
  .footer-in{flex-direction:column;align-items:flex-start;gap:18px}
  .foot-selos{text-align:left}
  .foot-selo-fila{justify-content:flex-start}
  .footer .seals{text-align:left;align-items:flex-start}
  .footer .foot-addr{text-align:left}
  .footer .seal{margin-left:0;margin-right:8px}
  .section{padding:48px 18px 48px}
  .grid{grid-template-columns:1fr;gap:16px}
  .container{padding:20px 16px}
  .row,.row3{grid-template-columns:1fr}
  input,select,textarea{font-size:16px}
  table,thead,tbody,tr,th,td{display:block}
  thead{display:none}
  tr{border:1px solid #e7ddc9;border-radius:12px;padding:8px;margin-bottom:10px;background:#fff}
  td{border:none;border-bottom:1px solid #f1ead9;display:flex;justify-content:space-between;gap:10px;align-items:center}
  td:last-child{border-bottom:none}
}

/* ===== Autocomplete de destino (Home + Resultados) ===== */
.seg.dest{position:relative}
.dest-pop{position:absolute;top:100%;left:0;margin-top:10px;width:340px;max-width:86vw;background:#fff;border:1px solid rgba(74,103,65,.15);border-radius:14px;box-shadow:0 20px 40px -12px rgba(0,0,0,.28);padding:8px;display:none;z-index:60;max-height:360px;overflow-y:auto}
.dest-pop.open{display:block}
.dest-opt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 12px;border:none;background:none;border-radius:10px;cursor:pointer;font-family:var(--sans);font-size:.9rem;color:#2c3e2d}
.dest-opt:hover{background:#f2efe8}
.dest-opt svg{color:#99815d;flex-shrink:0}
@media(max-width:820px){ .dest-pop{max-height:300px} }

/* ===== Selo Airbnb (substitui Elfsight) ===== */
.abb{display:inline-block;text-decoration:none;color:inherit}
.abb-lg .abb-card{position:relative;width:150px;padding:10px 12px 8px;background:#fff;border:1px solid #ececec;border-radius:14px;box-shadow:0 6px 18px -10px rgba(0,0,0,.25);text-align:center}
.abb-lg .abb-arc{display:block;margin:0 auto -46px}
.abb-lg .abb-inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px}
.abb-lg .abb-num{font-size:1.5rem;font-weight:800;color:#222;line-height:1}
.abb-lg .abb-belo{margin-top:1px}
.abb-lg .abb-tag{display:inline-block;margin-top:6px;padding:3px 10px;background:#f5f5f5;border-radius:8px;font-size:.72rem;font-weight:700;color:#222}
.abb-lg:hover .abb-card{box-shadow:0 10px 24px -10px rgba(0,0,0,.35)}
.abb-sm{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;background:#fff;border:1px solid #ececec;border-radius:50px;box-shadow:0 3px 10px -6px rgba(0,0,0,.3)}
.abb-sm .abb-num{font-size:.74rem;font-weight:800;color:#222}
.abb-sm .abb-belo{display:inline-flex}
.abb-sm:hover{border-color:#ddd}
@media(max-width:820px){
  .abb-lg .abb-card{width:132px}
  .abb-lg .abb-num{font-size:1.3rem}
}
.rc-badge{position:absolute;right:10px;bottom:10px;z-index:2;cursor:pointer}
.abb-logo{display:block;object-fit:contain}
.abb-sm .abb-logo{width:12px;height:12px}
.abb-lg .abb-logo{width:26px;height:26px;margin-top:1px}

/* ===== Páginas legais ===== */
.legal{max-width:820px}
.legal-back{color:#8a8779;font-size:14px;text-decoration:none}
.legal-back:hover{color:var(--forest2)}
.legal h1.title{font-size:clamp(1.6rem,4vw,2.2rem);margin:6px 0 4px}
.legal-body{margin-top:22px;color:#3a3a34;line-height:1.7;font-size:.95rem}
.legal-body h2{font-family:var(--serif);color:var(--forest2);font-size:1.15rem;margin:26px 0 8px}
.legal-body p{margin:0 0 12px}
.legal-body ul{margin:0 0 14px 18px;padding:0}
.legal-body li{margin:4px 0}
.legal-contact{margin-top:30px;padding-top:18px;border-top:1px solid #ece3d1;color:#6b7c6d;font-size:.9rem}
.legal-contact a{color:var(--green)}
.footer-legal{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;margin:14px 0 6px;font-size:.8rem}
.footer-legal a{color:#c9c3b4;text-decoration:none;letter-spacing:.02em}
.footer-legal a:hover{color:#fff}
