/* ============================================================
   Quinta da Mata - rustico elegante sec. XVII - design proprio gerado
   ============================================================ */
:root { --cor1: #a26a42; --cor2: #6b705c; --cor3: #2f2a24; }

body { font-family: 'Lato', sans-serif; color: #514a40; background: #faf7f1; font-size: 1.02rem; }
h1, h2, h3, h4, h5 { font-family: 'Cormorant Garamond', serif; font-weight: 600; color: #2f2a24; text-transform: none; }
a { color: var(--cor1); }
a:hover { color: var(--cor2); text-decoration: none; }

.barra-topo { background: var(--cor3); color: #cfc8ba; font-size: .82rem; padding: .4rem 0; }
.barra-topo .link-topo { color: #fff; }
.barra-topo .link-topo:hover { color: var(--cor1); }
.barra-topo .text-muted { color: #8f8778 !important; }

.cabecalho { background: #faf7f1 !important; border-bottom: 1px solid #e6ddcd; }
.logo-site { max-height: 76px; }
.email-topo { color: #514a40; font-weight: 600; }
.icone-redondo { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background: #f1ebdf; color: var(--cor1); margin-right:.5rem; }
a.icone-redondo:hover { background: var(--cor1); color:#fff; }

.menu-principal { background: var(--cor1); padding: 0; }
.menu-principal .nav-link { color: #f1ebdf !important; font-family: 'Cormorant Garamond', serif; font-weight:600; font-size:.88rem; letter-spacing:2.5px; padding:.8rem 1.15rem !important; border-radius:0; margin:0 .1rem; }
.menu-principal .nav-item.active .nav-link, .menu-principal .nav-link:hover { background: rgba(0,0,0,.22); color:#fff !important; }
.menu-principal .nav-item.active, .menu-principal .nav-link:hover { background: transparent; }
.menu-principal .dropdown-menu { border:0; background: var(--cor3); margin-top:0; border-radius:.25rem; }
.menu-principal .dropdown-item { color:#eee; font-size:.85rem; padding:.6rem 1.4rem; }
.menu-principal .dropdown-item:hover { background: var(--cor1); color:#fff; }
.destaque-sos, .destaque-reserva, .destaque-loja { background: var(--cor2) !important; border-radius:0 !important; }

.galeria-hero .carousel-item { height: 500px; background-size: cover; background-position: center; background-color: var(--cor3); }
.galeria-hero .mascara { position:absolute; inset:0; background: linear-gradient(180deg, rgba(30,25,18,.25), rgba(30,25,18,.6)); }
.galeria-hero .carousel-caption { bottom: auto; top: 50%; transform: translateY(-50%); left: 10%; right: 10%; text-align: center; max-width: none; }
.galeria-hero .carousel-caption h2 { font-size: 2.8rem; color:#fff; text-shadow: 0 2px 12px rgba(0,0,0,.5); }
.galeria-hero .carousel-caption p { color:#f4f0e8; text-shadow: 0 1px 6px rgba(0,0,0,.5); }
.galeria-hero .btn { border-radius:0; font-family:'Cormorant Garamond', serif; font-weight:600; padding:.7rem 2.2rem; }
.faixa-cor { height: 2px; background: var(--cor2); }
@media (max-width:767px){ .galeria-hero .carousel-item{height:330px;} .galeria-hero .carousel-caption h2{font-size:1.6rem;} }

.faixa-cta { background: #f1ebdf; color: #4a4136; padding: 1.5rem 0; font-weight: 600; }
.faixa-cta .btn-cta { background: var(--cor2); color:#fff; border-radius:0; font-weight:700; padding:.65rem 1.9rem; }
.faixa-cta .btn-cta:hover { background: var(--cor1); color:#fff; }

.cartao-servico { border:0; border-radius:.25rem; color:#fff; text-align:center; padding:2rem 1.2rem; height:100%; transition: transform .2s ease, box-shadow .2s ease; }
.cartao-servico:hover { transform: translateY(-6px); box-shadow: 0 16px 30px rgba(0,0,0,.22); }
.cartao-servico h3 { font-size:1.1rem; color:#fff; }
.cartao-servico p { font-size:.85rem; min-height:48px; color:rgba(255,255,255,.85); }
.cartao-servico .btn { background:rgba(255,255,255,.2); border:0; color:#fff; border-radius:0; font-weight:700; font-size:.8rem; padding:.4rem 1.4rem; }
.cartao-servico .btn:hover { background:#fff; color: var(--cor3); }
.cartao-servico .icone-servico { font-size:2rem; margin-bottom:.6rem; display:block; color:#e3c087; }
.fundo-a { background: var(--cor1); }
.fundo-b { background: var(--cor2); }
.fundo-c { background: #8a6f52; }

.cartao-produto { border:1px solid #e6ddcd; border-radius:.25rem; overflow:hidden; background:#fff; height:100%; transition: box-shadow .25s ease; }
.cartao-produto:hover { box-shadow: 0 14px 30px rgba(0,0,0,.16); }
.cartao-produto img { width:100%; height:230px; object-fit:contain; background:#fff; padding:12px; }
.cartao-produto .nome { display:block; background: var(--cor3); color:#fff; font-family:'Cormorant Garamond', serif; font-size:.92rem; padding:.55rem .9rem; }
.cartao-produto .preco { display:block; color:var(--cor1); font-weight:700; padding:.35rem .9rem .7rem; font-size:1.05rem; }

.titulo-seccao { position:relative; margin-bottom:2.2rem; }
.titulo-seccao:after { content:""; display:block; width:64px; height:2px; border-radius:3px; background: var(--cor1); margin-top:.6rem; }
.titulo-seccao.centrado { text-align:center; }
.titulo-seccao.centrado:after { margin-left:auto; margin-right:auto; }

.foto-galeria { display:block; border-radius:.25rem; overflow:hidden; border:1px solid #e6ddcd; background:#fff; margin-bottom:24px;  }
.foto-galeria img { width:100%; height:225px; object-fit:cover; transition:transform .3s ease; }
.foto-galeria:hover img { transform: scale(1.06); }
.foto-galeria .legenda { display:block; padding:.55rem .9rem; font-size:.85rem; font-weight:700; color:#2f2a24; background:#f1ebdf; }
.filtros-galeria .btn { font-size:.8rem; font-weight:700; margin:0 .25rem .5rem 0; border:2px solid var(--cor1); color:var(--cor1); border-radius:0; background:transparent; }
.filtros-galeria .btn.activo, .filtros-galeria .btn:hover { background:var(--cor1); color:#fff; }
.galeria-instalacoes { background: #f1ebdf; }
.galeria-instalacoes .item-foto img { height:200px; object-fit:cover; border-radius:.25rem; }

.bloco-citacao { background: linear-gradient(135deg, var(--cor1), var(--cor2)); color:#fff; border-radius:.25rem; padding:2.4rem; height:100%; }
.bloco-citacao h3 { color:#e3c087; font-size:1.2rem; }
.bloco-citacao p { font-size:.98rem; margin-bottom:0; }

.faixa-pagina { background: var(--cor2); color:#fff; padding:2.6rem 0 2.2rem; position:relative; background-size:cover; background-position:center 30%; }
.faixa-pagina.com-foto:before { content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(0,0,0,.62), rgba(0,0,0,.22)); }
.faixa-pagina .container { position:relative; z-index:2; }
.faixa-pagina h1 { font-size:2rem; margin:0; color:#fff; text-shadow:0 1px 6px rgba(0,0,0,.35); }
.faixa-pagina .caminho { font-size:.78rem; opacity:.95; letter-spacing:1px; }
.faixa-pagina .caminho a { color:#e3c087; text-decoration:none; }

.bloco-icone { border:1px solid #e6ddcd; border-top:3px solid var(--cor1); border-radius:.25rem; background:#fff; padding:1.8rem 2rem; margin-bottom:2rem;  }
.bloco-icone h3 { font-size:1.2rem; }
.bloco-icone .icone { width:56px; height:56px; border-radius:50%; background:#f1ebdf; color:var(--cor1); display:inline-flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:.8rem; }

.tabela-documentos thead th { background:var(--cor1); color:#fff; border:0; font-size:.9rem; }
.tabela-documentos tbody tr:nth-child(odd) { background:#f1ebdf; }
.tabela-documentos td { font-size:.92rem; vertical-align:middle; }
.filtros-anos .btn { display:block; width:100%; margin-bottom:.5rem; background:var(--cor2); color:#fff; border-radius:0; font-weight:700; }
.filtros-anos .btn.activo, .filtros-anos .btn:hover { background:var(--cor1); color:#fff; }

.cartao-contacto { border:1px solid #e6ddcd; border-radius:.25rem; padding:1.6rem; height:100%; background:#fff;  }
.cartao-contacto h4 { font-size:1rem; }
.cartao-contacto ul { list-style:none; padding:0; margin:0; font-size:.9rem; }
.cartao-contacto li { margin-bottom:.55rem; }
.cartao-contacto i { color:var(--cor1); width:20px; }
.mapa-contactos iframe { width:100%; height:340px; border:0; }
.btn { border-radius:0; }
.form-control { border-radius:0; }
.form-control:focus { border-color:var(--cor1); box-shadow:none; }

.faixa-nome { border-bottom: 3px solid var(--cor1); }
.etiqueta-nome { display:inline-block; background:var(--cor1); color:#fff; font-family:'Cormorant Garamond', serif; padding:.45rem 1.6rem; margin-left:4%; border-radius:.25rem .25rem 0 0; }
.rodape { background: var(--cor3); color:#b6ad9c; font-size:.88rem; }
.titulo-rodape { color:#e3c087; font-size:1.05rem; margin-bottom:1.1rem; }
.lista-rodape { list-style:none; margin:0; padding:0; }
.lista-rodape li { margin-bottom:.5rem; }
.lista-rodape a { color:#b6ad9c; }
.lista-rodape a:hover { color:#e3c087; }
.lista-contactos i { color:var(--cor1); width:18px; }
.icones-sociais a { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.12); color:#fff; margin-right:.4rem; }
.icones-sociais a:hover { background:var(--cor1); }
.linha-copyright { border-top:1px solid rgba(255,255,255,.12); font-size:.8rem; }
.logo-rodape { max-height:40px; background:#fff; border-radius:.3rem; padding:2px 6px; }

.galeria-hero .carousel-caption h2{font-size:3.2rem;letter-spacing:2px;}
.galeria-hero .btn{background:transparent !important;border:1px solid #fff;text-transform:uppercase;letter-spacing:2px;font-size:.8rem;}
.galeria-hero .btn:hover{background:#fff !important;color:#2f2a24 !important;}
.menu-principal .nav-link{font-family:'Lato',sans-serif;font-size:.8rem;text-transform:uppercase;}
.titulo-seccao{letter-spacing:1px;}
.destaque-reserva{background:var(--cor1) !important;}

/* faixa com fotografia: mais alta e imersiva */
.faixa-pagina.com-foto { padding: 4.6rem 0 4.2rem; background-position: center 40%; }
.faixa-pagina.com-foto h1 { font-size: 2.4rem; }
