/* ===== RESET & TOKENS ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Inter', sans-serif;background:#fdfaf5;color:#2c2c2c;line-height:1.6;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}

:root{
  --primary:#8b1c31; 
  --primary-dark:#5a1220;
  --accent:#c9922a; 
  --bg-light:#fdfaf5;
  --bg-section:#f4eee2;
  --text-dark:#2c2c2c;
  --text-muted:#666666;
  --white:#ffffff;
  --green:#218d10;
  --wa:#25D366;
  --border:rgba(201,146,42,0.15);
}

/* ===== UTILS ===== */
.container{max-width:1200px;margin:0 auto;padding:0 40px}
.text-center{text-align:center}
.red{color:var(--primary)}
.section-title{font-size:clamp(1.8rem, 4vw, 2.5rem);font-weight:800;color:var(--text-dark);letter-spacing:-1px;margin-bottom:1rem;line-height:1.2}
.section-sub{color:var(--text-muted);font-size:1.1rem;margin-bottom:3rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 32px;border-radius:8px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease;border:none;white-space:nowrap}
.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:#1a710d;transform:translateY(-3px);box-shadow:0 10px 25px rgba(33,141,16,0.25)}
.btn-gold{background:var(--accent);color:#fff}.btn-gold:hover{background:#b08025;transform:translateY(-3px)}
.btn-full{width:100%}

/* ===== TOP BANNER ===== */
.top-banner{background:var(--primary);color:#fff;padding:12px 20px;font-size:0.9rem;font-weight:600;text-align:center;letter-spacing:1px}

/* ===== HERO ===== */
.hero{position:relative;min-height:90vh;display:flex;align-items:center;overflow:hidden;background:#000;padding:80px 0}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;opacity:0.75}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 60%, transparent 100%);z-index:1}
/* Container alinhado com o restante do site */
.hero-inner{position:relative;z-index:2;width:100%}
.hero-left{max-width:650px;text-align:left}
.hero-tag{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:3px;font-size:0.9rem;margin-bottom:1.5rem;display:block}
.hero-title{font-size:clamp(3rem, 8vw, 5.5rem);font-weight:900;line-height:1;color:#fff;margin-bottom:1.5rem;letter-spacing:-2px}
.hero-body{font-size:1.15rem;color:rgba(255,255,255,0.85);margin-bottom:2.5rem;max-width:550px}
.hero-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:2.5rem}
.hero-meta span{background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);padding:10px 20px;border-radius:50px;font-size:0.9rem;color:#fff;font-weight:600;border:1px solid rgba(255,255,255,0.2)}
.hero-meta i{color:var(--accent);margin-right:8px}

/* ===== AVISO ===== */
.aviso-section{padding:80px 0;background:var(--bg-light)}
.aviso-card{background:var(--white);border:1px solid var(--border);padding:50px;border-radius:24px;box-shadow:0 15px 40px rgba(0,0,0,0.04);display:flex;gap:40px;align-items:center}
.aviso-text{flex:1}
.aviso-text h2{font-size:2rem;font-weight:800;margin-bottom:1.5rem}
.aviso-atencao{background:rgba(139,28,49,0.05);border-left:4px solid var(--primary);padding:20px;border-radius:8px;margin:20px 0;color:var(--text-dark)}

/* ===== FORMULÁRIO INLINE ===== */
.formulario-completo-container{animation: slideDown 0.4s ease}
.form-row{display:flex;gap:20px}
.form-row .form-group{flex:1}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:0.95rem;font-weight:700;margin-bottom:8px;color:var(--text-dark)}
.form-group input, .form-group select, .form-group textarea{width:100%;padding:14px;border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:1rem;transition:border-color 0.3s;background:#fff}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{outline:none;border-color:var(--accent)}
@keyframes slideDown{from{opacity:0; transform:translateY(-20px)}to{opacity:1; transform:translateY(0)}}

/* ===== DEDICADO ===== */
.dedicado-section{padding:80px 0;background:var(--bg-section)}
.dedicado-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.dedicado-card{background:var(--white);padding:35px 25px;border-radius:20px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,0.03);transition:0.3s}
.dedicado-card:hover{transform:translateY(-8px);box-shadow:0 15px 40px rgba(0,0,0,0.08)}
.dedicado-card i{font-size:2.5rem;color:var(--primary);margin-bottom:20px;display:block}
.dedicado-card h4{font-size:1.05rem;font-weight:700;line-height:1.4}

/* ===== O QUE OFERECE ===== */
.oferece-section{padding:80px 0;background:var(--white)}
.oferece-flex{display:flex;gap:50px;align-items:center}
.oferece-img{flex:1}
.oferece-img img{width:100%;height:auto;border-radius:24px;box-shadow:0 20px 40px rgba(0,0,0,0.1);object-fit:cover;max-height:550px}
.oferece-text{flex:1.2}
.offer-item{margin-bottom:25px;display:flex;gap:15px;align-items:flex-start}
.offer-item i{color:var(--green);font-size:1.5rem;margin-top:2px;flex-shrink:0}
.offer-item h4{font-size:1.15rem;font-weight:700;margin-bottom:5px;color:var(--text-dark)}
.offer-item p{color:var(--text-muted);font-size:0.95rem;line-height:1.6}

/* ===== EXPERIÊNCIAS (MODERN CARDS) ===== */
.experiences-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:40px 0 0}
.exp-card{background:var(--white);border-radius:24px;overflow:hidden;border:1px solid var(--border);transition:0.3s}
.exp-card:hover{box-shadow:0 20px 50px rgba(0,0,0,0.08)}
.exp-img{height:220px;background-size:cover;background-position:center}
.exp-content{padding:30px 25px}
.exp-content h3{font-size:1.5rem;font-weight:800;margin-bottom:1rem;color:var(--text-dark)}
.exp-list{list-style:none;margin-bottom:2rem}
.exp-list li{padding:10px 0;font-size:0.9rem;display:flex;align-items:center;gap:10px;border-bottom:1px solid #f4eee2}
.exp-list li:last-child{border-bottom:none}
.exp-list li i{flex-shrink:0}
.exp-list li.no{color:#a0a0a0}
.exp-price{font-size:2.2rem;font-weight:900;color:var(--text-dark);margin-bottom:1.5rem;text-align:center;line-height:1.1}
.exp-price span{font-size:0.95rem;color:var(--text-muted);font-weight:500}

/* ===== INSTITUCIONAL (SLIDER) ===== */
.about-section{padding:80px 0;background:var(--white)}
.about-flex{display:flex;gap:50px;align-items:center}
.about-content{flex:1}
.about-slider{flex:1.2;position:relative;border-radius:24px;overflow:hidden;height:450px}
.slider-container{display:flex;height:100%;transition:transform 0.5s ease}
.slide{min-width:100%;height:100%;background-size:cover;background-position:center}

/* ===== FAQ ===== */
.faq-section{padding:80px 0;background:var(--bg-section)}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.faq-item{background:var(--white);border-radius:15px;padding:25px;margin-bottom:15px;border:1px solid transparent;transition:0.3s}
.faq-item.active{border-color:var(--accent)}
.faq-item h4{font-weight:800;display:flex;justify-content:space-between;cursor:pointer;color:var(--text-dark);transition:color 0.2s}
.faq-item:hover h4{color:var(--primary)}
.faq-item h4 i{color:var(--accent);transition:transform 0.3s;flex-shrink:0}
.faq-item.active h4 i{transform:rotate(180deg)}
.faq-content{display:none;padding-top:15px;margin-top:15px;border-top:1px solid #eee;color:var(--text-muted);font-size:0.95rem}
.faq-item.active .faq-content{display:block;animation:fadeIn 0.3s ease}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

/* ===== FOOTER ===== */
.footer{background:var(--text-dark);color:#fff;padding:60px 0 30px}
.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-bottom:40px}
.footer h5{font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:1.5rem;color:var(--accent)}
.footer a{color:rgba(255,255,255,0.7);transition:0.2s}.footer a:hover{color:var(--accent)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:30px;text-align:center;font-size:0.85rem;color:rgba(255,255,255,0.5)}

/* ===== FLOATING BUTTONS (WHATSAPP & TOP) ===== */
.floating-buttons{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:9999}
.float-btn{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;box-shadow:0 5px 15px rgba(0,0,0,0.2);transition:0.3s;border:none;cursor:pointer}
.float-btn:hover{transform:scale(1.1)}
.float-wa{background:var(--wa)}
.float-top{background:var(--primary);opacity:0;visibility:hidden;font-size:1.2rem}
.float-top.show{opacity:1;visibility:visible}


/* ===== RESPONSIVE TABLET & MOBILE ===== */
@media(max-width:1024px){
  .container{padding:0 30px}
  .aviso-card{padding:40px 30px;gap:30px}
  .dedicado-grid{grid-template-columns:repeat(2,1fr)}
  .experiences-grid{grid-template-columns:repeat(2,1fr)}
  .oferece-flex{flex-direction:column}
  .oferece-img img{max-height:400px}
  .about-flex{flex-direction:column}
  .about-slider{height:350px;width:100%}
}

@media(max-width:768px){
  .hero{height:auto; min-height:auto; padding:60px 0 !important}
  .hero-title{font-size:3rem; margin-bottom:1rem}
  .hero-body{font-size:1rem; margin-bottom:1.5rem}
  .hero-tag{margin-bottom:1rem}
  .hero-meta{flex-direction:column;gap:8px;align-items:flex-start; margin-bottom:1.5rem}
  .aviso-card{flex-direction:column-reverse;text-align:center}
  .aviso-icon{width:80px;height:80px;font-size:2rem;margin:0 auto}
  .aviso-text h2{font-size:1.6rem}
  .form-decision div{justify-content:center}
  .form-row{flex-direction:column;gap:0}
  
  .experiences-grid{grid-template-columns:1fr;max-width:450px;margin:0 auto}
  .faq-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  
  section{padding:50px 0 !important} /* Diminui paddings generais no mobile */
}

@media(max-width:480px){
  .container{padding:0 20px}
  .top-banner{font-size:0.8rem;padding:10px;letter-spacing:0}
  .hero{padding:40px 0 !important}
  .hero-title{font-size:2.5rem; margin-bottom:0.8rem}
  .hero-body{font-size:0.95rem; margin-bottom:1.2rem}
  .hero-tag{margin-bottom:0.8rem}
  .hero-meta{gap:6px; margin-bottom:1.2rem}
  .hero-meta span{padding:8px 15px; font-size:0.85rem}
  .dedicado-grid{grid-template-columns:1fr}
  .hero-btns .btn{width:100%;font-size:0.9rem}
  .oferece-img img{max-height:280px}
  .about-slider{height:250px}
}
