/* ============================================================
   Fundo da Grota — festa-gaucha.css
   ============================================================ */

/* HERO */
.fg-hero{position:relative;min-height:78vh;display:flex;align-items:center;justify-content:center;padding:160px 40px 100px;background-color:#0A0807;background-image:url('/assets/images/festa-gaucha.jpg');background-size:cover;background-position:center;background-repeat:no-repeat;text-align:center;overflow:hidden;}
.fg-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,rgba(122,21,21,.55) 0%,transparent 60%),radial-gradient(circle at 78% 30%,rgba(193,162,101,.22) 0%,transparent 50%);}
.fg-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(8,7,6,.55) 0%,rgba(10,8,7,.68) 50%,rgba(10,8,7,.92) 100%);}
.fg-hero-inner{position:relative;z-index:2;max-width:820px;}
.fg-hero .pill{display:inline-flex;align-items:center;gap:10px;background:rgba(0,88,80,.22);border:.5px solid rgba(193,162,101,.45);padding:8px 22px;font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ouro);margin-bottom:24px;}
.fg-hero h1{font-family:'Hurson',sans-serif;font-size:clamp(42px,5.8vw,80px);line-height:1.02;color:var(--creme2);margin:0 0 24px;}
.fg-hero h1 em{font-style:italic;font-family:'Cormorant Garamond',serif;color:var(--ouro);}
.fg-hero .lead{font-size:18.5px;line-height:1.78;color:rgba(224,213,195,.78);max-width:640px;margin:0 auto 32px;}

/* IMERSÃO */
.fg-imersao{padding:90px 40px;background-color:var(--dark2);background-image:var(--tx-sepia);background-size:380px;background-blend-mode:overlay;}
.imer-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:center;}
.imer-img{aspect-ratio:4/5;background:#1a1714;border:1px solid rgba(193,162,101,.18);display:flex;align-items:center;justify-content:center;color:rgba(193,162,101,.32);font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;}
.imer-text h2{font-family:'Hurson',sans-serif;font-size:clamp(34px,4.4vw,56px);line-height:1.06;color:var(--creme2);margin-bottom:22px;}
.imer-text h2 em{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--ouro);}
.imer-text p{font-size:17px;line-height:1.86;color:rgba(224,213,195,.72);margin-bottom:18px;}
.imer-text p strong{color:var(--creme2);font-weight:400;}

/* ELEMENTOS DA FESTA */
.fg-elementos{padding:90px 40px;background-color:#120F0C;background-image:var(--tx-brown);background-size:280px;background-blend-mode:overlay;}
.elem-head{text-align:center;max-width:680px;margin:0 auto 56px;}
.elem-head h2{font-family:'Hurson',sans-serif;font-size:clamp(34px,4.2vw,54px);line-height:1.07;color:var(--creme2);margin-bottom:14px;}
.elem-head h2 em{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--ouro);}
.elem-head p{font-size:16px;line-height:1.78;color:rgba(224,213,195,.6);}
.elem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;max-width:1160px;margin:0 auto;}
.elem-card{background:rgba(20,18,15,.85);padding:34px 28px;border-top:2px solid transparent;transition:border-color .3s,background .3s;}
.elem-card:hover{border-color:var(--ouro);background:rgba(28,25,21,.95);}
.elem-card h3{font-family:'Hurson',sans-serif;font-size:22px;color:var(--creme2);margin-bottom:10px;}
.elem-card h3 em{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--ouro);font-size:.85em;display:block;margin-top:2px;}
.elem-card p{font-size:14px;line-height:1.78;color:rgba(224,213,195,.62);}

/* COMO FUNCIONA A NOITE */
.fg-roteiro{padding:90px 40px;background-color:var(--dark);background-image:var(--tx-brown);background-size:280px;background-blend-mode:overlay;}
.fg-roteiro-head{text-align:center;max-width:680px;margin:0 auto 56px;}
.fg-roteiro-head h2{font-family:'Hurson',sans-serif;font-size:clamp(32px,4vw,52px);line-height:1.08;color:var(--creme2);margin-bottom:14px;}
.fg-roteiro-head h2 em{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--ouro);}
.fg-roteiro-head p{font-size:16px;line-height:1.78;color:rgba(224,213,195,.6);}
.fg-timeline{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:2px;}
.fg-step{background:rgba(20,18,15,.85);padding:28px 30px;display:grid;grid-template-columns:100px 1fr;gap:22px;align-items:flex-start;border-left:2px solid transparent;transition:border-color .3s;}
.fg-step:hover{border-color:var(--ouro);}
.fg-step .fg-time{font-family:'Hurson',sans-serif;font-size:24px;color:var(--ouro);line-height:1;}
.fg-step .fg-time em{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;display:block;margin-top:4px;color:rgba(193,162,101,.55);}
.fg-step h3{font-family:'Hurson',sans-serif;font-size:19px;color:var(--creme2);margin-bottom:6px;}
.fg-step p{font-size:14.5px;line-height:1.76;color:rgba(224,213,195,.6);}

/* CTA */
.fg-cta{padding:100px 40px;background-color:var(--verde);background-image:var(--tx-brown);background-size:280px;background-blend-mode:overlay;text-align:center;position:relative;overflow:hidden;}
.fg-cta::before{content:'TRADIÇÃO';position:absolute;font-family:'Hurson',sans-serif;font-size:200px;color:rgba(0,0,0,.1);top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none;letter-spacing:-.04em;}
.fg-cta-inner{position:relative;z-index:2;max-width:680px;margin:0 auto;}
.fg-cta h2{font-family:'Hurson',sans-serif;font-size:clamp(34px,4.4vw,52px);color:#fff;line-height:1.1;margin-bottom:16px;}
.fg-cta h2 em{font-family:'Cormorant Garamond',serif;font-style:italic;color:rgba(255,255,255,.78);}
.fg-cta p{font-size:16.5px;line-height:1.76;color:rgba(255,255,255,.78);margin-bottom:30px;}
.fg-cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

@media(max-width:880px){
  .fg-hero{padding:120px 20px 70px;min-height:auto;}
  .imer-grid{grid-template-columns:1fr;gap:36px;}
  .elem-grid{grid-template-columns:1fr;}
  .fg-imersao,.fg-elementos,.fg-cta,.fg-roteiro{padding:64px 20px;}
  .fg-step{grid-template-columns:1fr;gap:10px;padding:22px 20px;}
}
