@import url('https://fonts.googleapis.com/css2?family=Sora:wght@300;400;600;700;800&family=Roboto:wght@300;400;500;700&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Sora', 'Roboto', sans-serif; background: #0a0a0a; color: #fff; overflow-x: hidden; min-height: 100vh; margin: 0; }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; height: auto; display: block; }

:root {
  --gold: #DAA520;
  --gold-light: #E1BD91;
  --orange: #F68140;
  --gray-text: #AAB0C5;
  --gray-line: rgba(170,176,197,0.2);
  --card-bg: rgba(15,15,15,0.85);
  --card-border: rgba(170,176,197,0.15);
  --section-bg: #111111;
  --radius: 12px;
  --radius-lg: 18px;
  --transition: 0.35s cubic-bezier(.25,.8,.25,1);
  --hero-h: auto; /* Alterado de 100vh para auto para remover o espaço gigante */
}

.hero { position: relative; width: 100%; min-height: var(--hero-h); display: flex; align-items: stretch; overflow: hidden; }

/* ==========================================
   AJUSTE DA LOGO
   Altere o valor de 'width' aqui para aumentar ou diminuir o tamanho da logo no topo
   ========================================== */
.hero__logo img { width: 400px; max-width: 100%; height: auto; margin: 0 auto; }

.hero__video-wrap { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.hero__video-wrap::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to right, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.45) 55%, rgba(0,0,0,0.2) 100%); }
.hero__video-wrap video { width: 100%; height: 100%; object-fit: cover; }

.hero__inner { position: relative; z-index: 2; width: 100%; max-width: 1280px; margin: 0 auto; padding: 40px 40px 10px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 24px; }
.hero__left { display: flex; flex-direction: column; gap: 24px; align-items: center; }
.hero__photo { display: block; width: 80%; max-width: 280px; margin: 0 auto; border-radius: var(--radius-lg); overflow: hidden; animation: floatY 5s ease-in-out infinite; }
.hero__photo img { width: 100%; border-radius: var(--radius-lg); }

.hero__nav { display: flex; flex-direction: column; gap: 6px; align-items: center; }
.hero__nav-item { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-size: 1.25rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #fff !important; cursor: pointer; position: relative; width: fit-content; transition: color var(--transition); }
.hero__nav-item:hover { color: #fff; }

.wave-text { perspective: 400px; }
.wave-text .char { display: inline-block; position: relative; transform-style: preserve-3d; transition: transform 0.4s cubic-bezier(.25,.8,.25,1); }
.wave-text:hover .char { transform: rotateX(180deg); transition-delay: calc(var(--i, 0) * 0.04s); }
.wave-text .char .front, .wave-text .char .back { display: inline-block; backface-visibility: hidden; }
.wave-text .char .back { position: absolute; left: 0; top: 0; transform: rotateX(180deg); color: var(--gold); }

.hero__socials { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.hero__social-icon { width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12); display: flex; align-items: center; justify-content: center; transition: background var(--transition), transform var(--transition); }
.hero__social-icon:hover { background: rgba(255,255,255,0.18); transform: translateY(-3px) scale(1.08); }
.hero__social-icon svg { width: 20px; height: 20px; }

.hero__logo-bar { display: flex; align-items: center; gap: 0; justify-content: center; }
.hero__logo-bar img { height: 58px; }

.hero__subtitle { font-size: 0.95rem; color: var(--gray-text); font-weight: 400; max-width: 380px; line-height: 1.6; text-align: center; }

@keyframes floatY { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }

.main-content { position: relative; z-index: 2; background: #111; }
.section { max-width: 1280px; margin: 0 auto; padding: 40px 40px; display: flex; flex-direction: column; align-items: center; }
.section-label { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-size: 0.78rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--gray-text); margin-bottom: 24px; text-align: center; }
.section-label svg { flex-shrink: 0; }

.products-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; width: 100%; justify-content: center; }
.product-card { position: relative; background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--radius-lg); overflow: hidden; cursor: pointer; transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition); backdrop-filter: blur(12px); width: 100%; }
.product-card:hover { transform: translateY(-6px) scale(1.01); box-shadow: 0 24px 60px rgba(0,0,0,0.55); border-color: rgba(255,255,255,0.25); }
.product-card__img { width: 100%; overflow: hidden; aspect-ratio: 16/9; }
.product-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.55s cubic-bezier(.25,.8,.25,1); }
.product-card:hover .product-card__img img { transform: scale(1.06); }
.product-card__body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 10px; text-align: left; }
.product-card__title { font-size: 1rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #fff; line-height: 1.3; }
.product-card__desc { font-size: 0.82rem; color: var(--gray-text); line-height: 1.55; }
.product-card__arrow { position: absolute; top: 16px; right: 16px; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.4); border-radius: 50%; opacity: 0; transform: translate(4px, -4px); transition: opacity var(--transition), transform var(--transition); }
.product-card:hover .product-card__arrow { opacity: 1; transform: translate(0, 0); }
.courses-label { margin-top: 10px; }

/* Adicionado para grids com 1 item (garante centralização absoluta no PC) */
.products-grid--single, .conheca-grid--single { 
  display: flex !important; 
  justify-content: center !important; 
  align-items: center;
  width: 100% !important; 
  margin: 0 auto !important;
}
.products-grid--single .product-card, .conheca-grid--single .conheca-card { 
  width: 100%; 
  max-width: 400px; 
  margin: 0 auto; 
}

.section-divider { width: calc(100% - 80px); height: 1px; background: var(--gray-line); margin: 0 auto; }

.contacts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; width: 100%; justify-content: center; }
.contact-card { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--radius-lg); overflow: hidden; transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition); }
.contact-card:hover { transform: translateY(-5px); box-shadow: 0 20px 50px rgba(0,0,0,0.5); border-color: rgba(255,255,255,0.22); }
.contact-card__img { width: 100%; aspect-ratio: 3/2; overflow: hidden; }
.contact-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.contact-card:hover .contact-card__img img { transform: scale(1.05); }
.contact-card__body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 6px; text-align: left; }
.contact-card__title { font-size: 0.9rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.contact-card__desc { font-size: 0.78rem; color: var(--gray-text); line-height: 1.5; }

.btn-whatsapp { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 18px; margin-top: 10px; background: #1a1a1a; border: 1px solid rgba(255,255,255,0.12); border-radius: 8px; font-size: 0.78rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #fff; cursor: pointer; transition: background var(--transition), transform var(--transition), box-shadow var(--transition); position: relative; overflow: hidden; }
.btn-whatsapp::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,0.06), transparent); opacity: 0; transition: opacity var(--transition); }
.btn-whatsapp:hover { background: #222; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.4); }
.btn-whatsapp:hover::before { opacity: 1; }
.btn-whatsapp .wa-icon { color: #25D366; font-size: 15px; }
.btn-whatsapp .arrow-icon { margin-left: auto; opacity: 0.6; }

.contact-card--nophoto .contact-card__body { padding: 28px 24px; }
.contact-card--nophoto .contact-card__title { font-size: 1rem; }

.coupons-grid { display: flex; flex-direction: column; gap: 20px; width: 100%; align-items: center; }
.coupon-row { display: flex; flex-wrap: wrap; gap: 20px; width: 100%; justify-content: center; }
.coupon-card { flex: 1; min-width: 240px; max-width: 400px; border-radius: var(--radius-lg); overflow: hidden; cursor: pointer; transition: transform var(--transition), box-shadow var(--transition); position: relative; }
.coupon-card:hover { transform: translateY(-5px) scale(1.01); box-shadow: 0 20px 50px rgba(0,0,0,0.5); }
.coupon-card img { width: 100%; display: block; transition: transform 0.5s ease; }
.coupon-card:hover img { transform: scale(1.04); }

.conheca-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; width: 100%; max-width: 800px; }
.conheca-card { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--radius-lg); padding: 24px; display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; cursor: pointer; transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition); }
.conheca-card:hover { transform: translateY(-5px); box-shadow: 0 18px 45px rgba(0,0,0,0.45); border-color: rgba(255,255,255,0.2); }
.conheca-card img { width: 120px; height: 120px; object-fit: cover; border-radius: 50%; }
.conheca-card h3 { font-size: 0.95rem; font-weight: 700; text-transform: none; letter-spacing: .02em; }
.conheca-card p { font-size: 0.8rem; color: var(--gray-text); line-height: 1.5; }

.btn-instagram { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 9px 18px; background: #1a1a1a; border: 1px solid rgba(255,255,255,0.12); border-radius: 8px; font-size: 0.76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; cursor: pointer; transition: background var(--transition), transform var(--transition); }
.btn-instagram:hover { background: #222; transform: translateY(-2px); }

.mobile-socials { display: none; justify-content: center; gap: 12px; padding: 0 40px 40px; flex-wrap: wrap; }
.mobile-socials .hero__social-icon { width: 48px; height: 48px; }

.scroll-top { position: fixed; right: 20px; bottom: 20px; z-index: 999; width: 48px; height: 48px; border-radius: 50%; background: #5636d1; display: flex; align-items: center; justify-content: center; cursor: pointer; opacity: 0; transform: translateY(20px); transition: opacity 0.3s, transform 0.3s, background 0.3s; border: none; }
.scroll-top.visible { opacity: 1; transform: translateY(0); }
.scroll-top:hover { background: #e2498a; }
.scroll-top svg { width: 20px; height: 20px; }

[data-anim] { opacity: 0; transform: translateY(32px); transition: opacity 0.6s cubic-bezier(.25,.8,.25,1), transform 0.6s cubic-bezier(.25,.8,.25,1); }
[data-anim].visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1024px) {
  .hero__inner { padding: 48px 32px 10px; }
  .products-grid { grid-template-columns: repeat(2, 1fr); }
  .contacts-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
  .hero__inner { padding: 24px 20px 10px; gap: 16px; }
  .hero__logo img { width: 280px; }
  .hero__photo { display: block; width: 80%; max-width: 280px; margin: 0 auto; border-radius: var(--radius-lg); overflow: hidden; animation: floatY 5s ease-in-out infinite; }
  .hero__photo img { width: 100%; border-radius: var(--radius-lg); }
  .hero__nav-item { font-size: 1rem; }
  .section { padding: 24px 20px; }
  .section-divider { margin: 0 20px; width: calc(100% - 40px); }
  .products-grid { grid-template-columns: 1fr; }
  .contacts-grid { grid-template-columns: 1fr; }
  .conheca-grid { grid-template-columns: 1fr; }
  .coupon-row { flex-direction: column; align-items: center; }
  .coupon-card { min-width: unset; width: 100%; }
  .mobile-socials { display: flex; }
  .hero__logo-bar { display: none; }
}

.rodape { background: #0d1312; padding: 56px 0 40px; border-top: 0.5px solid rgba(199, 155, 116, 0.12); width: 100%; margin: 0; box-sizing: border-box; overflow: hidden; display: flex; justify-content: center; }
.rodape .container { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 28px; text-align: center; max-width: 760px; margin: 0 auto; padding: 0 24px; width: 100%; }
.rodape__copy { font-family: sans-serif; font-size: 12px; font-weight: 300; color: rgba(249, 236, 204, 0.4); letter-spacing: 0.04em; margin: 0; }
