/* Refúgio Alvorada — identidade visual v5 baseada na logo:
   creme de fundo, verde das folhagens principal, lavanda nos detalhes,
   dourado suave em destaques, textos em cinza-escuro.
   As variáveis podem ser ajustadas no painel (Tema) sem editar o CSS. */
:root{
  --creme:#f7f2e7; --creme-claro:#fdfaf3; --areia:#ece5d3;
  --verde:#6d7f52; --verde-esc:#49563a; --verde-claro:#e7ecdd;
  --lavanda:#9c86c4; --lavanda-claro:#f0ecf7; --dourado:#c9a04e; --dourado-claro:#f7edda;
  --tinta:#3d4045; --tinta-fraca:#6f7377; --branco:#fffdf8;
  --ok:#3f6d4d; --erro:#9c4a3c; --aviso:#8a6d1f;
  --terracota:#a35d3c; --terracota-esc:#7e462c; /* legado (compatibilidade admin) */
  --raio:16px; --sombra:0 2px 10px rgba(61,64,69,.09);
  --fonte:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",sans-serif;
  --fonte-titulo:Georgia,"Palatino Linotype","Book Antiqua",serif;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--fonte);color:var(--tinta);background:var(--creme);line-height:1.55}
img{max-width:100%;display:block}
a{color:var(--verde-esc)}
h1,h2,h3,.marca strong{font-family:var(--fonte-titulo);letter-spacing:.2px}

/* Topo — v6: barra COMPACTA. Logo à esquerda, navegação ao lado no
   computador; no celular, logo pequena e menu recolhível em dropdown
   SUSPENSO (não aumenta a barra). Ao rolar, só a barra compacta fica
   fixa. Limites: barra ~100 px desktop / ~80 px celular; logo 64 px
   desktop / 48 px celular, proporção preservada (object-fit: contain),
   para a logo padrão OU qualquer imagem enviada pelo painel. */
.topo{position:sticky;top:0;z-index:50;display:flex;align-items:center;
  justify-content:space-between;gap:12px;flex-wrap:nowrap;
  padding:8px 16px;background:var(--branco);box-shadow:var(--sombra);
  max-height:100px;min-height:56px}
.marca{display:flex;align-items:center;gap:10px;color:var(--verde-esc);text-decoration:none;min-width:0}
.logo{height:64px;width:auto;max-width:min(220px,38vw);object-fit:contain;flex:none}
.logo-pequena{height:34px;margin-bottom:6px}
.logo-grande{width:min(240px,70vw);height:auto;margin:0 auto}
.marca-txt{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.marca-txt strong{font-size:1.1rem;color:var(--verde-esc);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.marca-txt em{font-size:.75rem;color:var(--tinta-fraca);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu{display:flex;align-items:center;gap:2px;flex-wrap:nowrap;min-width:0}
.menu a{text-decoration:none;color:var(--tinta);padding:7px 8px;border-radius:10px;
  font-size:.85rem;white-space:nowrap}
.menu a:hover{background:var(--verde-claro)}
.menu a.ativo{background:var(--verde);color:#fff}
.navtg,.navbtn{display:none}
.admin-lateral .logo{height:44px;max-width:180px}
@media(max-width:1179px){
  .topo{max-height:80px;padding:6px 12px}
  .marca .logo{height:48px;max-width:52vw}
  .marca-txt{display:none}
  .navbtn{display:flex;flex-direction:column;gap:4px;background:var(--verde-claro);
    border:0;border-radius:10px;padding:10px;cursor:pointer;flex:none}
  .navbtn span{display:block;width:22px;height:2px;background:var(--verde-esc);border-radius:2px}
  .menu{display:none}
  .navtg:checked ~ .menu{display:flex;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:2px;background:var(--branco);
    box-shadow:var(--sombra);padding:8px 12px 12px;max-height:70vh;overflow-y:auto}
  .menu a{padding:12px 14px;font-size:1rem;border-radius:12px;white-space:normal}
}
@media(min-width:1180px) and (max-width:1365px){
  .marca-txt{display:none}
}

/* Botões */
.btn{display:inline-block;padding:11px 18px;border-radius:999px;border:0;font-weight:700;
  text-decoration:none;cursor:pointer;font-size:.95rem;text-align:center}
.btn-prim{background:var(--verde);color:#fff}
.btn-prim:hover{background:var(--verde-esc)}
.btn-sec{background:var(--lavanda);color:#fff}
.btn-sec:hover{background:#8271a8}
.btn-mini{padding:7px 12px;font-size:.85rem}
.btn-sm{padding:7px 13px;font-size:.85rem}

/* Hero */
.hero{background:linear-gradient(160deg,var(--verde) 0%,var(--verde-esc) 75%);
  color:#fff;padding:56px 20px;text-align:center}
.hero-mini{padding:34px 20px 26px}
.hero h1{font-size:clamp(1.6rem,4.5vw,2.4rem);margin:0 0 10px}
.hero .sub{font-size:1.08rem;opacity:.94;max-width:640px;margin:0 auto 20px}
/* v7: SEM fundo — a PNG transparente não deve ganhar retângulo */
.hero-marca{max-width:340px;margin:0 auto 6px}
.slogan-hero{font-style:italic;color:var(--dourado-claro);letter-spacing:.5px;margin:4px 0 16px}
.hero-acoes{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* Blocos */
main{min-height:60vh}
.bloco{max-width:960px;margin:26px auto;padding:0 18px}
.bloco h2{color:var(--verde-esc);border-bottom:2px solid var(--areia);padding-bottom:6px}
.destaque{background:var(--creme-claro);border:1px solid var(--areia);border-radius:var(--raio);
  padding:18px;box-shadow:var(--sombra)}
.texto-longo{white-space:pre-line;font-size:1.02rem}
.nota{font-size:.85rem;color:var(--tinta-fraca)}
.lista-marcada{padding-left:20px}
.lista-marcada li{margin:6px 0}
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.galeria figure{margin:0;background:var(--branco);border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra)}
.galeria figcaption{padding:8px 10px;font-size:.85rem;color:var(--tinta-fraca)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.card{background:var(--branco);border-radius:var(--raio);box-shadow:var(--sombra);padding:16px}
.card h3{margin:8px 0 6px;color:var(--verde-esc)}
.card .detalhe{color:var(--tinta-fraca);font-size:.9rem}
.card-foto{border-radius:12px;aspect-ratio:4/3;object-fit:cover}
.card-lugar{display:flex;flex-direction:column;gap:4px}
.badges{margin:2px 0}
.badge{display:inline-block;padding:3px 12px;border-radius:999px;font-weight:700;font-size:.8rem}
.badge-verde{background:var(--verde-claro);color:var(--verde-esc)}
.badge-lavanda{background:var(--lavanda-claro);color:#5d4a86}
.fonte{font-size:.78rem;color:var(--tinta-fraca);font-style:italic;margin-top:6px}
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{background:var(--branco);border:1px solid var(--areia);border-radius:999px;padding:8px 14px;font-size:.92rem}
.chips li a{text-decoration:none}
.contato-lista{list-style:none;padding:0}
.contato-lista li{padding:6px 0}

/* Guia da casa */
.guia-bloco{background:var(--branco);border-left:5px solid var(--verde);border-radius:var(--raio);
  box-shadow:var(--sombra);padding:16px 18px;margin:14px 0}
.guia-bloco.sensivel{border-left-color:var(--lavanda)}
.guia-bloco h2{border:0;padding:0;margin:0 0 8px;font-size:1.15rem}
.guia-corpo{white-space:pre-line}

/* Mercadinho */
.cabecalho-secao{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.aviso-caixa{background:var(--dourado-claro);border:1px solid #e2c98f;border-radius:var(--raio);padding:12px 16px;margin:14px 0;font-size:.95rem}
.aviso-ok{background:var(--verde-claro);border-color:#bcd3b5}
.aviso-pend{background:#f6e5e1;border-color:#dcb6ac}
.grade-produtos{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:16px}
.produto-card{background:var(--branco);border-radius:var(--raio);box-shadow:var(--sombra);overflow:hidden;display:flex;flex-direction:column}
.produto-foto{background:var(--areia);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:var(--tinta-fraca)}
.produto-foto img{width:100%;height:100%;object-fit:cover}
.produto-info{padding:12px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.produto-info h3{margin:0;font-size:1.05rem}
.produto-desc{font-size:.88rem;color:var(--tinta-fraca);margin:0}
.produto-unidade{font-size:.85rem;color:var(--verde-esc);font-weight:600;margin:0}
.produto-preco{margin:0;font-size:1.15rem;font-weight:800;color:var(--verde-esc)}
.produto-acoes{display:flex;align-items:center;gap:8px;margin-top:auto}
.qtd-input{width:64px;padding:8px;border:1px solid #d8cbb8;border-radius:10px;font-size:1rem}
.vazio{color:var(--tinta-fraca);padding:14px;text-align:center;background:var(--branco);border-radius:var(--raio)}
.nota-privacidade{font-size:.82rem;color:var(--tinta-fraca);background:var(--areia);border-radius:12px;padding:10px 12px}

/* Carrinho / formulários */
.carrinho-box{background:var(--branco);border-radius:var(--raio);box-shadow:var(--sombra);padding:14px}
.carrinho-linha{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px dashed var(--areia);flex-wrap:wrap}
.carrinho-total{font-size:1.2rem;font-weight:800;text-align:right;padding-top:10px}
.acoes-fim{display:flex;gap:10px;margin:16px 0;flex-wrap:wrap}
.form-box{background:var(--branco);border-radius:var(--raio);box-shadow:var(--sombra);padding:16px;margin-top:14px;display:flex;flex-direction:column;gap:10px}
.form-box h2{margin:0;font-size:1.1rem}
.form-box .nota{font-weight:400}
label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.92rem}
input,select,textarea{padding:10px;border:1px solid #d8cbb8;border-radius:10px;font-size:1rem;font-family:inherit;background:#fff}
.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form-hospede{display:flex;flex-direction:column;gap:10px;max-width:420px}
@media(max-width:640px){.form-2col{grid-template-columns:1fr}}
.status{padding:3px 12px;border-radius:999px;font-weight:700;font-size:.9rem}
.status-confirmado{background:var(--verde-claro);color:var(--ok)}
.status-pendente{background:var(--dourado-claro);color:var(--aviso)}
.status-cancelado,.status-expirado,.status-estornado{background:#f6e5e1;color:var(--erro)}

/* Tabelas */
.tabela{width:100%;border-collapse:collapse;background:var(--branco);border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra);font-size:.92rem}
.tabela th,.tabela td{padding:9px 10px;text-align:left;border-bottom:1px solid var(--areia)}
.tabela thead th{background:var(--areia);color:var(--tinta)}
.tabela tfoot th{background:var(--dourado-claro)}
.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:640px){.tabela{font-size:.85rem}}

/* Rodapé */
.rodape{background:var(--verde-esc);color:#eef0e8;padding:30px 18px;margin-top:40px}
.rodape a{color:#f0dcb0}
.rodape-interno{max-width:1120px;margin:0 auto}
.rodape-marca{display:flex;align-items:center;gap:12px}
.rodape-marca strong{font-family:var(--fonte-titulo);font-size:1.15rem}
.rodape .logo-pequena{height:56px;margin:0}
.rodape-links{margin-top:10px;font-size:.9rem}
.rodape-admin{opacity:.6;font-size:.85rem}
.rodape .slogan{font-style:italic;color:#f0dcb0;margin:4px 0}

/* Mensagens flash */
.flash{max-width:960px;margin:14px auto 0;padding:12px 16px;border-radius:12px;font-size:.95rem}
.flash.ok{background:var(--verde-claro);color:var(--ok)}
.flash.erro{background:#f6e5e1;color:var(--erro)}
.flash.aviso{background:var(--dourado-claro);color:var(--aviso)}

/* ---------- Admin ---------- */
.admin-corpo{display:flex;min-height:100vh}
.admin-lateral{width:230px;background:var(--verde-esc);color:#dfe7dc;padding:18px 14px;flex-shrink:0}
.admin-lateral .marca{color:#f0dcb0;display:block;margin-bottom:14px}
.admin-lateral nav{display:flex;flex-direction:column;gap:2px}
.admin-lateral nav a{color:#dfe7dc;text-decoration:none;padding:9px 10px;border-radius:10px;font-size:.92rem}
.admin-lateral nav a:hover,.admin-lateral nav a.ativo{background:rgba(255,255,255,.14)}
.admin-principal{flex:1;padding:22px;max-width:1000px}
.admin-topo{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
@media(max-width:760px){
  .admin-corpo{flex-direction:column}
  .admin-lateral{width:100%}
  .admin-lateral nav{flex-direction:row;flex-wrap:wrap}
}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.stat{background:var(--branco);border-radius:var(--raio);box-shadow:var(--sombra);padding:14px}
.stat b{font-size:1.5rem;color:var(--verde-esc)}
.stat span{display:block;font-size:.85rem;color:var(--tinta-fraca)}
.pend-box{background:var(--dourado-claro);border:1px solid #e2c98f;border-radius:var(--raio);padding:12px 16px;margin:12px 0}
.pend-box ul{margin:6px 0 0;padding-left:20px}
.login-box{max-width:420px;margin:60px auto;background:var(--branco);border-radius:var(--raio);box-shadow:var(--sombra);padding:24px;display:flex;flex-direction:column;gap:12px}
.mini-foto{width:56px;height:56px;object-fit:cover;border-radius:10px}
.grade-form{display:grid;gap:12px;margin:12px 0}
.div-linha{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tag-ativo{color:var(--ok);font-weight:700}
.tag-inativo{color:var(--tinta-fraca);font-weight:700}
.tag-custo-pendente{background:var(--dourado-claro);color:var(--aviso);border-radius:8px;padding:2px 8px;font-size:.8rem}
.qr-box{text-align:center;background:var(--branco);border-radius:var(--raio);box-shadow:var(--sombra);padding:20px}
.qr-box img{margin:0 auto;max-width:320px}
.qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.identidade-box{background:var(--branco);border-radius:var(--raio);box-shadow:var(--sombra);padding:18px;margin:14px 0;display:flex;flex-direction:column;gap:12px}
.cores-preview{display:flex;gap:10px;flex-wrap:wrap}
.cores-preview .swatch{width:74px;border-radius:12px;padding:8px 6px;text-align:center;font-size:.72rem;color:var(--tinta);border:1px solid var(--areia)}
input[type=color]{padding:2px;width:56px;height:40px;border-radius:10px}


/* ---------- v7: página inicial, destaque, marcador sem foto ---------- */
.foto-principal{margin:0}
.foto-principal img{border-radius:var(--raio);box-shadow:var(--sombra)}
.foto-principal figcaption{font-size:.85rem;color:var(--tinta-fraca);margin-top:6px}
.card-atalho{text-decoration:none;color:var(--tinta);transition:box-shadow .15s,transform .15s}
.card-atalho h3{margin:.1rem 0}
.card-atalho:hover{box-shadow:0 6px 18px rgba(61,64,69,.16);transform:translateY(-2px)}
.produto-foto-vazio{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  min-height:120px;background:repeating-linear-gradient(45deg,var(--areia),var(--areia) 12px,var(--creme) 12px,var(--creme) 24px);
  border-radius:var(--raio)}
.produto-foto-vazio .pf-icone{width:36px;height:26px;border:2px solid var(--tinta-fraca);border-radius:6px;opacity:.45}
.produto-foto-vazio .pf-texto{font-size:.72rem;color:var(--tinta-fraca)}
.check-linha{display:flex;gap:8px;align-items:center}
