:root{
  --verde-escuro:#242426; --verde-oliva:#6E6E73; --dourado:#A8202E; --dourado-claro:#D9736A;
  --areia:#F2F1EF; --terracota:#7A1F2B; --texto:#1C1C1E; --branco:#FFFFFF; --erro:#B23A2E;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Work Sans',Arial,sans-serif; color:var(--texto); background:var(--areia); line-height:1.6;}
h1,h2,h3,.serif{font-family:'Fraunces','Georgia',serif;}
a{color:inherit; text-decoration:none;}
img,svg{display:block; max-width:100%;}
.wrap{max-width:1080px; margin:0 auto; padding:0 28px;}
button{font-family:inherit; cursor:pointer;}
:focus-visible{outline:2px solid var(--dourado); outline-offset:2px;}

/* ---------- PUBLIC SITE ---------- */
header{position:sticky; top:0; z-index:50; background:rgba(21,46,39,.96); backdrop-filter:blur(6px);}
nav.wrap{display:flex; align-items:center; justify-content:space-between; padding:16px 28px;}
.brand{display:flex; align-items:center; gap:10px; color:var(--branco); font-family:'Fraunces',serif; font-weight:600; font-size:1.1rem;}
.brand svg{width:28px; height:28px;}
.nav-links{display:flex; gap:24px; font-size:.9rem; color:var(--dourado-claro);}
.nav-links a:hover{color:var(--branco);}
.nav-cta{background:var(--dourado); color:var(--verde-escuro); font-weight:600; padding:9px 16px; border-radius:2px; font-size:.88rem; border:0;}
@media(max-width:860px){.nav-links{display:none;}}

.hero{background:var(--verde-escuro); color:var(--branco); padding:64px 0;}
.hero h1{font-size:clamp(2rem,5vw,3.2rem); font-weight:500; line-height:1.1; max-width:15ch;}
.hero p{margin-top:18px; max-width:44ch; color:#D8DFD9;}
.btn-primary{background:var(--dourado); color:var(--verde-escuro); font-weight:600; padding:13px 24px; border-radius:2px; display:inline-block; border:0; font-size:.95rem;}
.btn-ghost{border:1px solid rgba(251,248,241,.4); color:var(--branco); padding:12px 22px; border-radius:2px; background:none; font-size:.95rem;}
.cta-row{display:flex; gap:14px; margin-top:26px; flex-wrap:wrap;}

section{padding:64px 0;}
.section-head{max-width:52ch; margin-bottom:34px;}
.section-head .tag{color:var(--terracota); font-weight:600; font-size:.9rem; margin-bottom:8px;}
.section-head h2{font-size:clamp(1.5rem,3vw,2.1rem); font-weight:500;}
.dark{background:var(--verde-escuro); color:var(--branco);}
.dark .tag{color:var(--dourado-claro);}

.quartos-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:26px;}
.quarto-card{background:var(--branco); border:1px solid rgba(36,28,19,.12); padding:24px;}
.quarto-card h3{font-size:1.15rem; margin-bottom:4px;}
.quarto-preco{font-family:'Fraunces',serif; font-size:1.2rem; color:var(--terracota); margin-bottom:10px;}
.quarto-preco span{font-family:'Work Sans',sans-serif; font-size:.75rem; color:#6b6250; font-weight:400;}
.quarto-pagar{display:block; text-align:center; margin-top:14px; padding:10px 18px; font-size:.88rem;}
.quarto-card{position:relative;}
.quarto-foto{width:100%; height:150px; object-fit:cover; margin:-24px -24px 16px; width:calc(100% + 48px);}
.quarto-icone{height:150px; margin:-24px -24px 16px; width:calc(100% + 48px); background:var(--areia); display:flex; align-items:center; justify-content:center;}
.quarto-icone svg{width:64px; height:64px;}
.quarto-status{position:absolute; top:12px; right:12px; font-size:.72rem; font-weight:600; padding:4px 10px; border-radius:2px; z-index:2;}
.status-ok{background:#E3F0E5; color:#1F5C33;}
.status-off{background:#F5E1DC; color:var(--erro);}
.quarto-video-link{display:inline-block; margin-top:10px; font-size:.85rem; color:var(--verde-oliva); text-decoration:underline;}
.quarto-indisponivel-msg{margin-top:14px; font-size:.85rem; color:#6b6250; font-style:italic;}
.quarto-card p{font-size:.92rem; color:#4a4335; margin-bottom:12px;}
.tag-row{display:flex; gap:8px; flex-wrap:wrap;}
.tag-row span{font-size:.75rem; color:var(--verde-oliva); border:1px solid var(--verde-oliva); padding:3px 8px; border-radius:2px;}

.gallery-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px;}
.gallery-item{position:relative; aspect-ratio:4/3; overflow:hidden; background:#0e211b;}
.gallery-item img,.gallery-item iframe{width:100%; height:100%; object-fit:cover; border:0;}
.gallery-cap{position:absolute; bottom:0; left:0; right:0; background:linear-gradient(transparent,rgba(0,0,0,.7)); color:#fff; font-size:.78rem; padding:16px 10px 8px;}

.pay-box{background:var(--branco); border:1px solid rgba(36,28,19,.14); padding:32px; max-width:460px;}
.pay-box h3{margin-bottom:14px; font-size:1.15rem;}
.pix-row{display:flex; align-items:center; gap:10px; background:var(--areia); border:1px dashed var(--verde-oliva); padding:10px 12px; margin:14px 0; font-size:.88rem; word-break:break-all;}
.pix-row button{background:var(--verde-oliva); color:#fff; border:0; padding:6px 10px; font-size:.78rem; border-radius:2px; flex-shrink:0;}

.depo-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:26px;}
.depo{border-top:2px solid var(--dourado); padding-top:16px;}
.depo p{font-style:italic; font-family:'Fraunces',serif; margin-bottom:10px;}
.depo b{font-size:.82rem; color:var(--dourado-claro);}

footer{background:var(--verde-escuro); color:#B7C1BA; padding:40px 0; font-size:.85rem;}
.footer-row{display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; align-items:center;}
.admin-link{opacity:.6; font-size:.78rem; border-bottom:1px dotted #B7C1BA;}
.admin-link:hover{opacity:1;}

.wa-float{position:fixed; bottom:20px; right:20px; z-index:60; background:var(--dourado); color:var(--verde-escuro); width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 16px rgba(0,0,0,.35);}
.wa-float svg{width:24px; height:24px;}

/* ---------- ADMIN ---------- */
#login-gate{min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--verde-escuro); padding:20px;}
.login-box{background:var(--branco); padding:36px 32px; width:100%; max-width:360px; text-align:center;}
.login-box h2{font-family:'Fraunces',serif; margin-bottom:6px;}
.login-box p{font-size:.85rem; color:#6b6250; margin-bottom:20px;}
.login-box input{width:100%; padding:11px 12px; border:1px solid rgba(36,28,19,.2); margin-bottom:12px; border-radius:2px; font-size:.95rem;}
.login-box button{width:100%; background:var(--dourado); color:var(--verde-escuro); border:0; padding:12px; font-weight:600; border-radius:2px;}
.login-err{color:var(--erro); font-size:.82rem; margin-top:10px; min-height:1em;}

.admin-topbar{background:var(--verde-escuro); color:var(--branco); padding:14px 22px; display:flex; justify-content:space-between; align-items:center; position:sticky; top:0; z-index:50;}
.admin-topbar a.logout{border:1px solid rgba(251,248,241,.35); color:var(--branco); padding:7px 14px; border-radius:2px; font-size:.82rem;}
.admin-quicknav{background:#0F241E; padding:10px 22px; display:flex; gap:18px; flex-wrap:wrap; font-size:.85rem;}
.admin-quicknav a{color:#C7D0C9;}
.admin-quicknav a:hover{color:var(--dourado-claro);}
.admin-main{max-width:760px; margin:0 auto; padding:32px 22px 80px;}
.admin-section{background:#fff; border:1px solid rgba(36,28,19,.1); padding:26px; margin-bottom:26px;}
.admin-section h2{font-family:'Fraunces',serif; font-size:1.3rem; margin-bottom:6px;}
.admin-section .sub{color:#6b6250; font-size:.85rem; margin-bottom:20px;}
.field{margin-bottom:16px;}
.field label{display:block; font-size:.85rem; font-weight:600; margin-bottom:6px; color:var(--verde-escuro);}
.field input[type=text],.field input[type=url],.field input[type=password],.field input[type=file],.field textarea{
  width:100%; padding:10px 12px; border:1px solid rgba(36,28,19,.2); background:#fff; font-family:inherit; font-size:.92rem; border-radius:2px;
}
.field textarea{min-height:90px; resize:vertical;}
.field .hint{font-size:.78rem; color:#6b6250; margin-top:4px;}
.btn-save{background:var(--dourado); color:var(--verde-escuro); border:0; padding:11px 20px; font-weight:600; border-radius:2px; font-size:.9rem;}
.btn-add{background:var(--verde-escuro); color:#fff; border:0; padding:10px 18px; font-size:.88rem; border-radius:2px;}
.btn-remove{background:none; border:1px solid var(--erro); color:var(--erro); padding:6px 10px; font-size:.78rem; border-radius:2px;}

.item-card{background:var(--areia); border:1px solid rgba(36,28,19,.1); padding:14px; margin-bottom:10px; display:flex; gap:14px; align-items:center;}
.item-card .thumb{width:60px; height:60px; object-fit:cover; border-radius:2px; flex-shrink:0;}
.item-card .thumb-placeholder{width:60px; height:60px; background:var(--verde-escuro); color:var(--dourado); display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0; border-radius:2px;}
.item-card .meta{flex:1; font-size:.88rem;}
.item-card .meta b{display:block; font-size:.94rem;}
.add-box{border-top:1px dashed rgba(36,28,19,.2); padding-top:18px; margin-top:6px;}
.add-box h4{font-size:.9rem; margin-bottom:12px; color:var(--verde-escuro);}

.alert{padding:12px 16px; margin-bottom:20px; font-size:.9rem; border-radius:2px;}
.alert-ok{background:#E3F0E5; color:#1F5C33; border:1px solid #9FCFA9;}
.alert-err{background:#F5E1DC; color:var(--erro); border:1px solid #E3A99A;}
.quarto-edit-box{background:#fff; border:1px solid rgba(36,28,19,.12); padding:18px; margin-bottom:16px;}
