/* Estilo da landing page de festa adulto, vindo do arquivo original. */
* { margin: 0; padding: 0; box-sizing: border-box; }
    :root{
      --primary:#D4AF37; --primary-dark:#b8941f; --primary-light:#e8c75a;
      --background:#141821; --foreground:#f5f5f5;
      --card:#1e2330; --card-hover:#252b3a;
      --border:#3a4150; --border-hover:#4a5160;
      --input:#252b38; --muted:#a8b0c0;
      --whatsapp:#25D366; --whatsapp-dark:#128C7E;
      --glow-gold:rgba(212,175,55,.08);
    }
    html { scroll-behavior: smooth; }
    body {
      font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
      color:var(--foreground); line-height:1.6;
      background:
        radial-gradient(ellipse at top, var(--glow-gold), transparent 50%),
        radial-gradient(ellipse at bottom, var(--glow-gold), transparent 50%),
        var(--background);
      background-attachment: fixed;
    }

    header { position:fixed; top:0; left:0; right:0; z-index:1000; background:rgba(0,0,0,.92); backdrop-filter:blur(10px); border-bottom:1px solid rgba(212,175,55,.2); }
    .header-container { max-width:1280px; margin:0 auto; padding:1rem 2rem; display:flex; justify-content:space-between; align-items:center; }
    .logo { display:flex; align-items:center; gap:.75rem; }
    .logo-img{ height:40px !important; max-height:40px !important; width:auto !important; display:block; object-fit:contain; }

    nav { display:flex; gap:2rem; }
    nav a { color:var(--foreground); text-decoration:none; transition:color .3s; font-size:.95rem; }
    nav a:hover { color:var(--primary); }

    .social-links { display:flex; gap:1rem; }
    .social-links a { color:var(--foreground); transition:color .3s; }
    .social-links a:hover { color:var(--primary); }

    /* HERO */
    .hero{ position:relative; min-height:100vh; display:flex; align-items:center; justify-content:center; overflow:hidden; padding-top:80px; }
    .hero-bg{ position:absolute; inset:0; }
    .hero-bg::before{
      content:""; position:absolute; inset:0;
      background-image:var(--hero-bg, none); background-position:center; background-size:cover; background-repeat:no-repeat;
      opacity:.45;
    }
    .hero-overlay{ position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,.5), rgba(0,0,0,.3), rgba(0,0,0,.9)); }
    .hero-content{ position:relative; z-index:10; text-align:center; padding:2rem; max-width:900px; }
    .hero-tagline{ display:inline-block; padding:.5rem 1.25rem; background:rgba(212,175,55,.15); border:1px solid rgba(212,175,55,.4); border-radius:2rem; color:var(--primary); font-size:.85rem; letter-spacing:.05em; margin-bottom:1.5rem; }
    .hero h1{ font-size:clamp(2rem,5.5vw,3.75rem); font-weight:300; margin-bottom:1rem; line-height:1.2; }
    .hero h1 strong{ color:var(--primary); font-weight:600; }
    .hero h2{ font-size:clamp(1rem,2vw,1.25rem); color:var(--foreground); margin-bottom:2rem; font-weight:300; opacity:.9; }
    .hero-bullets{ display:flex; flex-wrap:wrap; justify-content:center; gap:1rem 2rem; margin:2rem auto; max-width:700px; }
    .hero-bullet{ display:flex; align-items:center; gap:.5rem; font-size:.95rem; }
    .hero-bullet svg{ color:var(--primary); flex-shrink:0; }
    .hero-cta-row{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-top:2rem; }
    .hero-social-proof{ margin-top:2rem; font-size:.9rem; color:var(--muted); }
    .hero-social-proof strong{ color:var(--primary); }

    /* Botões */
    .btn{ display:inline-flex; align-items:center; gap:.5rem; padding:1rem 2rem; background:var(--primary); color:#000; text-decoration:none; border-radius:.5rem; font-weight:600; font-size:1rem; transition:all .3s; box-shadow:0 10px 30px rgba(212,175,55,.3); border:none; cursor:pointer; font-family:inherit; }
    .btn:hover{ background:var(--primary-dark); transform:translateY(-2px); box-shadow:0 15px 40px rgba(212,175,55,.4); }
    .btn-whatsapp{ background:var(--whatsapp); color:#fff; box-shadow:0 10px 30px rgba(37,211,102,.3); }
    .btn-whatsapp:hover{ background:var(--whatsapp-dark); box-shadow:0 15px 40px rgba(37,211,102,.4); }
    .btn-outline{ background:transparent; color:var(--primary); border:2px solid var(--primary); box-shadow:none; }
    .btn-outline:hover{ background:var(--primary); color:#000; }

    .container{ max-width:1280px; margin:0 auto; padding:0 2rem; }
    section{ padding:5rem 0; }
    .section-title{ font-size:clamp(2rem,4vw,2.75rem); text-align:center; margin-bottom:.75rem; font-weight:300; }
    .section-title strong{ color:var(--primary); font-weight:600; }
    .section-subtitle{ text-align:center; color:var(--muted); margin-bottom:3rem; font-size:1.05rem; }

    /* Diferenciais (nova seção) */
    .diferenciais{ background:var(--card); }
    .diferenciais-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:2rem; }
    .diferencial{
      text-align:center; padding:2rem 1.5rem;
      background: linear-gradient(145deg, var(--card), var(--background));
      border:1px solid var(--border); border-radius:.75rem;
      transition:all .3s; position:relative; overflow:hidden;
    }
    .diferencial::before {
      content: '';
      position: absolute;
      top: 0; left: -100%;
      width: 100%; height: 2px;
      background: linear-gradient(90deg, transparent, var(--primary), transparent);
      transition: left .6s;
    }
    .diferencial:hover::before { left: 100%; }
    .diferencial:hover{
      background: linear-gradient(145deg, var(--card-hover), var(--card));
      border-color:var(--primary);
      transform:translateY(-4px);
      box-shadow: 0 10px 40px rgba(212,175,55,.15);
    }
    .diferencial-icon{ width:60px; height:60px; margin:0 auto 1rem; background:rgba(212,175,55,.1); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--primary); }
    .diferencial h3{ font-size:1.15rem; margin-bottom:.5rem; color:var(--primary); }
    .diferencial p{ font-size:.95rem; color:var(--muted); }

    /* Galeria */
    .gallery-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:1.5rem; }
    .gallery-item{
      position:relative; height:320px; overflow:hidden;
      border-radius:.5rem; cursor:pointer;
      border:1px solid var(--border);
      transition: border-color .3s, transform .3s, box-shadow .3s;
    }
    .gallery-item img{ width:100%; height:100%; object-fit:cover; transition:transform .4s; }
    .gallery-item:hover{
      border-color:var(--primary);
      transform:translateY(-4px);
      box-shadow: 0 15px 40px rgba(0,0,0,.4);
    }
    .gallery-item:hover img{ transform:scale(1.08); }
    .gallery-caption{ position:absolute; bottom:0; left:0; right:0; padding:1rem; background:linear-gradient(to top, rgba(0,0,0,.9), transparent); color:#fff; font-size:.9rem; opacity:0; transition:opacity .3s; }
    .gallery-item:hover .gallery-caption{ opacity:1; }
    .gallery-caption strong{ color:var(--primary); display:block; margin-bottom:.25rem; }

    /* Serviços (texto + foto) */
    .service-grid{ display:grid; grid-template-columns:1fr; gap:3rem; align-items:center; }
    @media (min-width:1024px){ .service-grid{ grid-template-columns:1fr 1fr; } }
    .service-image{ height:420px; overflow:hidden; border-radius:.75rem; box-shadow:0 20px 60px rgba(0,0,0,.4); }
    .service-image img{ width:100%; height:100%; object-fit:cover; }
    .service-content h3{ font-size:2.25rem; color:var(--primary); margin-bottom:1.5rem; font-weight:600; line-height:1.2; }
    .service-content p{ margin-bottom:1.25rem; line-height:1.8; color:#d4d4d4; }
    .service-content ul{ list-style:none; margin:1.5rem 0; }
    .service-content ul li{ padding:.5rem 0; padding-left:1.75rem; position:relative; color:#d4d4d4; }
    .service-content ul li::before{ content:"✓"; position:absolute; left:0; color:var(--primary); font-weight:700; }

    /* Depoimentos */
    .testimonials{ background:var(--card); }
    .testimonials-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:2rem; }
    .testimonial{
      padding:2rem;
      background: linear-gradient(145deg, var(--card-hover), var(--card));
      border:1px solid var(--border);
      border-left: 3px solid var(--primary);
      border-radius:.75rem;
      transition: transform .3s, box-shadow .3s;
    }
    .testimonial:hover {
      transform: translateY(-4px);
      box-shadow: 0 15px 40px rgba(0,0,0,.3);
    }
    .testimonial-stars{ color:var(--primary); margin-bottom:1rem; font-size:1.1rem; }
    .testimonial-text{ font-style:italic; line-height:1.7; margin-bottom:1.5rem; color:#d4d4d4; }
    .testimonial-author{ font-weight:600; color:var(--primary); }
    .testimonial-author span{ display:block; font-weight:400; color:var(--muted); font-size:.9rem; }

    /* Formulário */
    .form-section{ background:linear-gradient(135deg, var(--background), var(--card)); }
    .form-grid{ display:grid; grid-template-columns:1fr; gap:3rem; max-width:1200px; margin:0 auto; align-items:center; }
    @media (min-width:1024px){ .form-grid{ grid-template-columns:1fr 1.2fr; } }
    .form-info h3{ font-size:2rem; color:var(--primary); margin-bottom:1rem; }
    .form-info p{ color:#d4d4d4; line-height:1.8; margin-bottom:1.5rem; }
    .form-info-item{ display:flex; gap:1rem; margin-bottom:1.5rem; align-items:flex-start; }
    .form-info-item svg{ color:var(--primary); flex-shrink:0; margin-top:.25rem; }
    .form-info-item strong{ display:block; color:var(--foreground); margin-bottom:.25rem; }
    .form-info-item span{ color:var(--muted); font-size:.95rem; }

    .form-card{
      background: linear-gradient(145deg, var(--card), var(--background));
      padding:2.5rem; border-radius:.75rem; border:1px solid var(--border);
      box-shadow: 0 20px 60px rgba(0,0,0,.3), 0 0 0 1px rgba(212,175,55,.05);
    }
    .form-card h4{ font-size:1.5rem; color:var(--primary); margin-bottom:1.5rem; text-align:center; }
    form{ display:flex; flex-direction:column; gap:1rem; }
    .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
    @media (max-width:600px){ .form-row{ grid-template-columns:1fr; } }
    input, select, textarea{
      width:100%; padding:.9rem;
      background:var(--input); border:1px solid var(--border); border-radius:.5rem;
      color:var(--foreground); font-size:1rem; font-family:inherit;
      transition: border-color .3s, box-shadow .3s, background .3s;
    }
    input:focus, select:focus, textarea:focus{
      outline:none;
      border-color:var(--primary);
      box-shadow: 0 0 0 3px rgba(212,175,55,.15);
      background: var(--card-hover);
    }
    label{ font-size:.85rem; color:var(--muted); margin-bottom:-.5rem; }
    textarea{ resize:vertical; min-height:80px; }

    /* Mapa */
    .map-container{ max-width:1000px; margin:0 auto; }
    .map-wrapper{ position:relative; width:100%; padding-bottom:56.25%; background:var(--card); border-radius:.75rem; overflow:hidden; border:1px solid var(--border); }
    .map-wrapper iframe{ position:absolute; top:0; left:0; width:100%; height:100%; border:0; }
    .map-info{ display:flex; flex-wrap:wrap; gap:2rem; justify-content:center; margin-top:2rem; }
    .map-info-item{ display:flex; align-items:center; gap:.75rem; color:#d4d4d4; }
    .map-info-item svg{ color:var(--primary); flex-shrink:0; }

    /* Footer */
    footer{ background:#000; border-top:1px solid var(--border); padding:3rem 0 2rem; }
    .footer-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:2rem; margin-bottom:2rem; }
    footer h3, footer h4{ color:var(--primary); margin-bottom:1rem; }
    footer p, footer a{ color:var(--muted); text-decoration:none; display:flex; align-items:center; gap:.5rem; margin-bottom:.5rem; }
    footer a:hover{ color:var(--primary); }
    .footer-bottom{ border-top:1px solid var(--border); padding-top:2rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
    .footer-bottom p{ font-size:.85rem; }

    /* WhatsApp flutuante (sem pulse infinito) */
    .whatsapp-button{
      position:fixed; bottom:1.5rem; right:1.5rem; z-index:1000;
      width:60px; height:60px; background:var(--whatsapp); border-radius:50%;
      display:flex; align-items:center; justify-content:center;
      text-decoration:none; box-shadow:0 4px 20px rgba(37,211,102,.4);
      transition:transform .3s, box-shadow .3s;
      animation:pulse-once 2s ease-out 1;
    }
    .whatsapp-button:hover{ transform:scale(1.1); box-shadow:0 6px 30px rgba(37,211,102,.6); }
    @keyframes pulse-once{
      0%{ transform:scale(.5); opacity:0; }
      60%{ transform:scale(1.1); opacity:1; }
      100%{ transform:scale(1); opacity:1; }
    }
    .whatsapp-tooltip{
      position:fixed; bottom:1.75rem; right:5.5rem; z-index:1000;
      background:#fff; color:#000; padding:.6rem 1rem; border-radius:.5rem;
      font-size:.85rem; font-weight:500; box-shadow:0 4px 12px rgba(0,0,0,.3);
      opacity:0; transform:translateX(10px); transition:all .3s;
      pointer-events:none; white-space:nowrap;
    }
    .whatsapp-tooltip::after{
      content:""; position:absolute; right:-6px; top:50%; transform:translateY(-50%);
      border-style:solid; border-width:6px 0 6px 6px; border-color:transparent transparent transparent #fff;
    }
    .whatsapp-button:hover + .whatsapp-tooltip,
    .whatsapp-tooltip.show{ opacity:1; transform:translateX(0); }

    /* Toast de sucesso (substituto do alert) */
    .toast{
      position:fixed; bottom:2rem; left:50%; transform:translateX(-50%) translateY(100px);
      background:var(--whatsapp); color:#fff; padding:1rem 1.5rem; border-radius:.5rem;
      box-shadow:0 10px 40px rgba(37,211,102,.4); z-index:3000;
      opacity:0; transition:all .4s; max-width:90%;
      display:flex; align-items:center; gap:.75rem; font-weight:500;
    }
    .toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }

    @media (max-width:768px){
      nav{ display:none; }
      .hero{ padding-top:100px; min-height:auto; padding-bottom:3rem; }
      .hero h1{ font-size:2rem; }
      .hero h2{ font-size:1rem; }
      .hero-cta-row{ flex-direction:column; align-items:center; }
      .hero-cta-row .btn{ width:100%; max-width:320px; justify-content:center; }
      .section-title{ font-size:1.75rem; }
      .service-content h3{ font-size:1.75rem; }
      section{ padding:3.5rem 0; }
      .form-card{ padding:1.5rem; }
      .whatsapp-tooltip{ display:none; }
    }

    /* ========== MODAIS LEGAIS (Privacidade / Termos) ========== */
    .legal-modal{
      position:fixed; inset:0; z-index:2000;
      display:none; align-items:flex-start; justify-content:center;
      background:rgba(0,0,0,.75); backdrop-filter:blur(6px);
      padding:2rem 1rem; overflow-y:auto;
    }
    .legal-modal:target{ display:flex; }
    .legal-modal-content{
      background:var(--card);
      border:1px solid var(--border);
      border-radius:1rem;
      max-width:820px; width:100%;
      margin:auto;
      padding:2.5rem 2.5rem 3rem;
      box-shadow:0 25px 80px rgba(0,0,0,.6);
      position:relative;
      animation:legalFadeIn .3s ease;
    }
    @keyframes legalFadeIn{
      from{ opacity:0; transform:translateY(20px); }
      to{ opacity:1; transform:translateY(0); }
    }
    .legal-modal-content h1{
      color:var(--primary); font-size:clamp(1.5rem,3vw,2rem);
      font-weight:600; margin-bottom:.4rem; line-height:1.25;
    }
    .legal-updated{ color:var(--muted); font-size:.85rem; margin-bottom:1.75rem; }
    .legal-modal-content h2{
      color:var(--primary-light); font-size:1.15rem; font-weight:600;
      margin:1.75rem 0 .6rem;
    }
    .legal-modal-content p,
    .legal-modal-content li{
      color:var(--foreground); font-size:.95rem; line-height:1.7;
      margin-bottom:.65rem;
    }
    .legal-modal-content ul{ padding-left:1.4rem; margin-bottom:.65rem; }
    .legal-modal-content li{ margin-bottom:.35rem; }
    .legal-modal-content a{ color:var(--primary); text-decoration:underline; }
    .legal-modal-content strong{ color:var(--foreground); }
    .legal-close{
      position:absolute; top:1.1rem; right:1.25rem;
      width:38px; height:38px; border-radius:50%;
      display:flex; align-items:center; justify-content:center;
      background:var(--input); color:var(--foreground);
      text-decoration:none; font-size:1.4rem; line-height:1;
      border:1px solid var(--border); transition:all .25s;
    }
    .legal-close:hover{ background:var(--primary); color:#000; transform:rotate(90deg); }
    .legal-footer-links{ display:flex; gap:1rem; flex-wrap:wrap; }
    .legal-footer-links a{ font-size:.85rem; }
    @media (max-width:600px){
      .legal-modal-content{ padding:2rem 1.4rem 2.5rem; }
    }
