/* Festa Certa — layout novo, moderno e profissional (pedido do Doutor, 05/11/2026).
   Carregado depois do public.css e do natal.css. Só aparência: ids/classes usados pelo public.js (carrinho,
   calendário, busca, filtros) continuam os mesmos. Cores do site: azul #0757b7, marinho #073d83, rosa #f51f66,
   amarelo #ffb800. Sem degradê: blocos de cor sólida e cortes diagonais. */

:root { --v2-r: 26px; --v2-sombra: 0 18px 48px rgba(7,61,131,.12); --v2-sombra-s: 0 8px 22px rgba(7,61,131,.08); }
body.fc-body { background: #f7f9fd; }
h1, h2, h3 { font-family: "Fredoka", "Nunito", sans-serif; }

/* ---------- cabeçalho flutuante ---------- */
.fc-header { background: rgba(255,255,255,.92); box-shadow: 0 6px 24px rgba(7,61,131,.07); }
.fc-header-inner { height: 80px; }
.fc-nav a { position: relative; padding: 8px 4px; font-size: 15px; color: var(--blue-dark); }
.fc-nav a:after { content: ""; position: absolute; left: 50%; right: 50%; bottom: 0; height: 3px; border-radius: 3px;
  background: var(--pink); transition: .2s; }
.fc-nav a:hover:after { left: 0; right: 0; }
.fc-btn { border-radius: 14px; }
.fc-btn-pink { background: var(--pink); box-shadow: 0 6px 0 #c4114f; }
.fc-btn-pink:hover { box-shadow: 0 8px 0 #c4114f; }
.fc-btn-whatsapp { box-shadow: 0 6px 0 #11802b; }
.fc-btn-outline { border: 2px solid var(--line); background: #fff; color: var(--blue-dark); }
.fc-cart { border-radius: 14px; background: #fff; }

/* ---------- topo novo ---------- */
.v2-hero { position: relative; overflow: hidden; background: #fff; padding: 54px 0 70px; }
.v2-hero:before { content: ""; position: absolute; right: -12%; top: -30%; width: 62%; height: 160%; background: var(--blue);
  transform: rotate(12deg); border-radius: 80px; }
.v2-hero:after { content: ""; position: absolute; right: -18%; top: -20%; width: 40%; height: 140%; background: var(--pink);
  transform: rotate(12deg); border-radius: 80px; }
.v2-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.05fr 1fr; gap: 46px; align-items: center; }
.v2-pill { display: inline-flex; gap: 8px; align-items: center; background: #fff1f5; color: var(--pink); font-weight: 900;
  border-radius: 999px; padding: 8px 16px; font-size: 14px; }
.v2-hero h1 { font-size: clamp(38px, 5vw, 66px); line-height: 1.02; color: var(--blue-dark); margin: 18px 0 16px; }
.v2-hero h1 .pink { color: var(--pink); }
.v2-hero h1 .sub { display: block; color: var(--blue); }
.v2-hero p.lead { font-size: 18px; color: #4b5d78; font-weight: 700; max-width: 560px; margin: 0 0 22px; }
.v2-acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 22px; }
.v2-acoes .fc-btn { font-size: 17px; padding: 16px 26px; }
.v2-confianca { display: flex; flex-wrap: wrap; gap: 18px; color: var(--blue-dark); font-weight: 800; font-size: 14px; }
.v2-confianca span:before { content: "✓"; display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%;
  background: #e7f7ec; color: #18a83b; font-weight: 900; margin-right: 7px; font-size: 13px; }
.v2-visual { position: relative; }
.v2-visual img { width: 100%; aspect-ratio: 4/3.2; object-fit: cover; border-radius: 34px; border: 10px solid #fff;
  box-shadow: 0 30px 70px rgba(7,61,131,.35); transform: rotate(-2deg); }
.v2-flutua { position: absolute; background: #fff; border-radius: 20px; padding: 14px 18px; box-shadow: var(--v2-sombra);
  font-weight: 900; color: var(--blue-dark); display: flex; gap: 12px; align-items: center; animation: v2-boia 5s ease-in-out infinite; }
.v2-flutua small { display: block; font-weight: 700; color: var(--muted); font-size: 12px; }
.v2-flutua b { color: var(--pink); font-family: "Fredoka"; font-size: 22px; }
.v2-flutua .ic { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; font-size: 22px; background: #fff4d6; }
.v2-flutua.preco { left: -26px; bottom: 34px; }
.v2-flutua.datas { right: -10px; top: 22px; animation-delay: -2.5s; }
.v2-flutua.datas .ic { background: #e8f1ff; }
@keyframes v2-boia { 50% { transform: translateY(-8px); } }

/* faixa de vantagens */
.v2-faixa { background: var(--blue-dark); color: #fff; }
.v2-faixa .fc-container { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding: 20px 0; }
.v2-faixa div { display: flex; gap: 12px; align-items: center; font-weight: 900; }
.v2-faixa div span { font-size: 26px; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: rgba(255,255,255,.1); }
.v2-faixa small { display: block; font-weight: 700; opacity: .75; font-size: 12px; }

/* ---------- títulos de seção ---------- */
.fc-section-title span { color: var(--pink); letter-spacing: .12em; font-weight: 900; }
.fc-section-title h2 { font-size: clamp(28px, 3.2vw, 42px); color: var(--blue-dark); }

/* ---------- busca e filtros ---------- */
.fc-finder { padding-top: 46px; }
.fc-search { border-radius: 18px; box-shadow: var(--v2-sombra-s); border: 2px solid transparent; background: #fff; }
.fc-search:focus-within { border-color: var(--blue); }
.fc-filter { border-radius: 999px; border: 2px solid var(--line); background: #fff; font-weight: 900; color: var(--blue-dark); }

/* ---------- vitrine ---------- */
.fc-product-grid { gap: 22px; }
.fc-product-card { border-radius: var(--v2-r); border: 0; border-top: 0 !important; box-shadow: var(--v2-sombra-s); }
.fc-product-card:hover { transform: translateY(-6px); box-shadow: var(--v2-sombra); }
.fc-product-photo { position: relative; background: #f1f5fb; }
.fc-product-photo img { transition: transform .35s; }
.fc-product-card:hover .fc-product-photo img { transform: scale(1.04); }
.fc-featured { background: var(--yellow) !important; color: var(--blue-dark) !important; border-radius: 999px !important; font-weight: 900; }
.fc-category { background: #eaf2ff; color: var(--blue); border-radius: 999px; font-weight: 900; }
.fc-product-body h3 { font-size: 21px; color: var(--blue-dark); }
.fc-price { background: #fff1f5; border-radius: 16px; padding: 10px 14px; }
.fc-price small { color: var(--pink); font-weight: 900; }
.fc-price strong { color: var(--pink); font-family: "Fredoka"; font-size: 30px; }
.fc-btn-cart-add { background: var(--blue) !important; color: #fff !important; border: 0 !important; box-shadow: 0 6px 0 var(--blue-dark); }

/* ---------- vantagens e como funciona ---------- */
.fc-benefit-grid > div { background: #fff; padding: 22px; }
.fc-step-grid article { position: relative; background: #fff; border: 0; border-radius: var(--v2-r); box-shadow: var(--v2-sombra-s); padding: 26px 22px; }
.fc-step-grid article b { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; font-family: "Fredoka";
  font-size: 26px; background: var(--pink); color: #fff; transform: rotate(-6deg); }
.fc-step-grid article:nth-child(even) b { background: var(--blue); }

/* ---------- chamada final e rodapé ---------- */
.fc-pink-cta { background: var(--pink); position: relative; overflow: hidden; }
.fc-pink-cta:after { content: ""; position: absolute; right: -8%; top: -60%; width: 38%; height: 220%; background: var(--blue); transform: rotate(18deg); }
.fc-pink-cta-inner { position: relative; z-index: 1; }
.fc-footer { background: #062e63; }
.fc-footer strong { font-family: "Fredoka"; font-size: 18px; color: #ffd36b; }

/* ---------- página do produto, carrinho, contato (só acabamento) ---------- */
.fc-body main .fc-container > h1 { color: var(--blue-dark); }
.calendar-panel, .fc-cart-page, .fc-product-detail, .fc-reserve-card { border-radius: var(--v2-r) !important; }

@media (max-width: 899px) {
  .fc-header-inner { height: 66px; }
  .v2-hero { padding: 26px 0 40px; }
  .v2-hero:before { right: -40%; top: 48%; width: 140%; height: 70%; transform: rotate(-8deg); }
  .v2-hero:after { right: -50%; top: 70%; width: 120%; height: 60%; transform: rotate(-8deg); }
  .v2-hero-grid { grid-template-columns: 1fr; gap: 26px; text-align: center; }
  .v2-acoes, .v2-confianca, .fc-hero-regioes { justify-content: center; }
  .v2-hero p.lead { margin-left: auto; margin-right: auto; font-size: 16px; }
  .v2-acoes .fc-btn { flex: 1 1 100%; }
  .v2-flutua.preco { left: 6px; bottom: -14px; }
  .v2-flutua.datas { right: 6px; top: -12px; }
  .v2-flutua { padding: 10px 12px; font-size: 13px; }
  .v2-flutua b { font-size: 18px; }
  .v2-faixa .fc-container { grid-template-columns: 1fr 1fr; gap: 14px; }
  .v2-faixa div { font-size: 13px; }
}
.v2-faixa p { margin: 0; }
.v2-hero > .fc-container { position: relative; z-index: 2; }

/* celular: as formas diagonais ficam só atrás da foto (05/11: atrapalhavam a leitura dos bairros) */
@media (max-width: 899px) {
  .v2-hero:before, .v2-hero:after { display: none; }
  .v2-visual { margin: 10px 4px 10px; }
  .v2-visual:before { content: ""; position: absolute; inset: 8% -30px -18px -30px; background: linear-gradient(115deg, var(--blue) 0 55%, var(--pink) 55% 100%);
    border-radius: 34px; transform: rotate(-3deg); }
  .v2-visual img { position: relative; }
  .v2-flutua { z-index: 2; }
}
