:root{--green:#1B5E20;--green-light:#66BB6A;--brown:#6D4C41;--beige:#F5F5DC;--white:#FFFFFF}
*{box-sizing:border-box}
body{margin:0;font-family:Montserrat,system-ui;background:var(--beige);color:#2b2b2b}
.container{max-width:1100px;margin:0 auto;padding:0 16px}
.header{position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:20}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 8px}
.logo{display:flex;align-items:center;text-decoration:none;color:var(--green);font-weight:600;font-size:18px}
.logo img{height:36px}
.nav{display:flex;gap:16px;align-items:center}
.nav a{color:#333;text-decoration:none;padding:10px 12px;border-radius:10px;transition:background .2s, transform .2s}
.nav a:hover{background:var(--beige);transform:translateY(-1px)}
.nav-toggle{display:none;background:none;border:none;font-size:22px;color:#333;padding:8px;border-radius:8px}
.nav-toggle:hover{background:#f2f2f2}
.socials a{color:var(--green);margin-left:10px;font-size:18px}
.hero{background:#e7f2e8;background-size:cover;background-position:center}
.hero-inner{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:64px 0}
.hero h1{color:#1B5E20;font-size:32px;margin:0}
.btn{display:inline-block;padding:12px 16px;border-radius:12px;text-decoration:none;transition:transform .15s, box-shadow .15s}
.btn.primary{background:var(--green);color:#fff;box-shadow:0 6px 14px rgba(27,94,32,.18)}
.btn.primary:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(27,94,32,.26)}
.btn.outline{border:2px solid var(--green);color:var(--green);background:transparent}
.btn.outline:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(27,94,32,.12)}
section{padding:40px 0}
h2{color:var(--green);margin:0 0 20px}
.grid{display:grid;gap:16px}
.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:#fff;border:1px solid #eee;border-radius:14px;padding:16px;transition:transform .2s, box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.12)}
.card .icon{color:var(--green-light);font-size:24px;margin-bottom:8px}
.gallery{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.gallery-item{position:relative;overflow:hidden;border-radius:12px;background:#fff;border:1px solid #eee}
.gallery-item img{width:100%;height:180px;object-fit:cover;display:block}
.gallery-item figcaption{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.55);color:#fff;padding:8px;font-size:14px}
.about p{background:#fff;border:1px solid #eee;border-radius:12px;padding:16px}
.stars{color:#f4b400;margin-bottom:8px}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-form textarea{grid-column:1/-1;min-height:120px}
.contact-form input,.contact-form textarea{padding:12px;border:1px solid #ddd;border-radius:10px;font-size:14px;background:#fff}
.contact-form button{grid-column:1/-1}
.form-grid{grid-template-columns:1fr 1fr;gap:16px}
.alert{padding:10px;border-radius:10px;margin-bottom:12px}
.alert.success{background:#e7f5e7;color:#1B5E20;border:1px solid #cde5cd}
.alert.error{background:#fdecee;color:#b00020;border:1px solid #f5c2c7}
.footer{background:#fff;border-top:1px solid #eee}
.footer-inner{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding:20px 0;align-items:center}
.footer .left{display:flex;flex-direction:column;gap:6px;color:#333}
.footer .right{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.footer .right a{color:#333;text-decoration:none;padding:6px 8px;border-radius:8px;transition:background .2s}
.footer .right a:visited{color:#333}
.footer .right a:hover{background:#f7f7f7}
.copy{font-size:12px;color:#666;padding-bottom:20px;text-align:center}
.whatsapp-float{position:fixed;right:16px;bottom:16px;width:52px;height:52px;border-radius:26px;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;box-shadow:0 10px 20px rgba(0,0,0,.15)}
@media(max-width:768px){
 .nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;flex-direction:column;padding:8px;border-bottom:1px solid #eee}
 .nav.show{display:flex}
 .nav-toggle{display:block}
 .hero-inner{padding:40px 0}
 .hero h1{font-size:26px}
 .footer-inner{grid-template-columns:1fr}
 .footer .right{justify-content:flex-start}
 .form-grid{grid-template-columns:1fr}
}

/* Links – cor fixa da marca, sem roxo de visitado */
a{color:var(--green);text-decoration:none}
a:visited{color:var(--green)}
a:hover{opacity:.9}
.nav a:visited{color:#333}
.card a{color:var(--green);font-weight:600}
.card a:visited{color:var(--green)}
.card a:hover{text-decoration:underline}

/* Campos de formulário modernos (admin e público) */
input, textarea, select{
 border:1px solid #d0d5dd;
 border-radius:12px;
 background:#fff;
 padding:12px;
 font-size:14px;
 box-shadow:0 1px 0 rgba(0,0,0,.03);
 transition:border-color .2s, box-shadow .2s, background .2s;
}
input:focus, textarea:focus, select:focus{
 outline:none;
 border-color:var(--green);
 box-shadow:0 0 0 3px rgba(27,94,32,.18);
}
input::placeholder, textarea::placeholder{color:#9aa0a6}
input[type="checkbox"]{accent-color:var(--green)}
input[type="file"]::file-selector-button{
 background:var(--green);
 color:#fff;
 border:none;
 padding:8px 12px;
 border-radius:10px;
 margin-right:10px;
 cursor:pointer;
}
input[type="file"]::file-selector-button:hover{opacity:.92}
.btn:focus{outline:none;box-shadow:0 0 0 3px rgba(27,94,32,.18)}
