/* Ajustes por cima do CSS real (Tailwind) do site para reproducao fiel */
:root{ --nico-red:#E30613; --nico-red-dark:#c10510; --nico-green:#203E40; }
body{ font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji"; background:#fff; }

/* Barra de navegacao vermelha */
.nico-nav{ background:var(--nico-red); }
.nico-nav a{ color:#fff; }
.nico-nav a:hover{ opacity:.85; }
.nico-nav svg{ width:20px; height:20px; }

/* Cartao de ingresso com borda serrilhada (formato de tíquete) */
.nico-ticket{ position:relative; background:#fff; border-radius:14px 14px 0 0;
  -webkit-mask: radial-gradient(circle 9px at 11px 100%, #0000 96%, #000 100%) 0 0 / 22px 100% repeat-x;
          mask: radial-gradient(circle 9px at 11px 100%, #0000 96%, #000 100%) 0 0 / 22px 100% repeat-x; }

/* Badge de categoria da atracao (círculo sobreposto no topo) */
.nico-cat-badge{ width:52px; height:52px; border-radius:9999px; background:#fff;
  box-shadow:0 4px 10px rgba(0,0,0,.12); display:flex; align-items:center; justify-content:center;
  position:absolute; top:-26px; left:50%; transform:translateX(-50%); z-index:2; padding:8px; }
.nico-cat-badge img{ width:100%; height:100%; object-fit:contain; }

/* Rodapé verde */
.nico-footer{ background:var(--nico-green); color:#fff; }
.nico-footer a{ color:#fff; }

/* Carrossel do hero */
.nico-hero{ position:relative; overflow:hidden; background:#f3d38a; }
.nico-hero .slide{ display:none; }
.nico-hero .slide.active{ display:block; }
.nico-hero img{ width:100%; display:block; }
.nico-hero .arrow{ position:absolute; top:50%; transform:translateY(-50%); width:46px; height:46px; border-radius:9999px;
  background:rgba(255,255,255,.85); border:0; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:3; box-shadow:0 2px 8px rgba(0,0,0,.15); }
.nico-hero .arrow.prev{ left:16px; } .nico-hero .arrow.next{ right:16px; }
.nico-hero .dots{ position:absolute; bottom:14px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:3; }
.nico-hero .dots button{ width:10px; height:10px; border-radius:9999px; border:0; background:rgba(255,255,255,.6); cursor:pointer; }
.nico-hero .dots button.active{ background:#fff; }

/* Seção de passaportes: fundo gradiente amarelo->laranja */
.nico-pass-section{ background:linear-gradient(135deg,#F6C64B 0%, #EF8A3C 100%); }

/* Slider de atrações */
.nico-rides{ display:grid; grid-auto-flow:column; grid-auto-columns:minmax(240px,1fr); gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; padding:34px 4px 20px; }
.nico-rides.wrap{ grid-auto-flow:row; grid-template-columns:repeat(4,1fr); overflow:visible; }
.nico-rides > *{ scroll-snap-align:start; }
@media(max-width:1024px){ .nico-rides.wrap{ grid-template-columns:repeat(3,1fr);} }
@media(max-width:760px){ .nico-rides.wrap{ grid-template-columns:repeat(2,1fr);} .nico-mobile-hide{display:none;} }

/* util */
.nico-scroll-hide::-webkit-scrollbar{ height:8px; } .nico-scroll-hide::-webkit-scrollbar-thumb{ background:#0002; border-radius:8px; }
#nico-toast{ position:fixed; left:50%; bottom:26px; transform:translateX(-50%) translateY(20px); background:#111; color:#fff; padding:12px 22px; border-radius:9999px; font-weight:600; font-size:14px; box-shadow:0 10px 30px rgba(0,0,0,.25); z-index:9999; opacity:0; transition:.25s; pointer-events:none; }

/* WhatsApp flutuante */
.wa-float{position:fixed;right:20px;bottom:20px;width:60px;height:60px;border-radius:9999px;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.28);z-index:9998;transition:transform .15s}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:34px;height:34px;fill:#fff}

/* Balãozinho de boas-vindas do Nicolino, ancorado no botão flutuante */
.wa-bubble{ position:fixed; right:20px; bottom:94px; z-index:9997; width:320px; max-width:calc(100vw - 40px);
  background:#fff; border-radius:18px; box-shadow:0 12px 32px rgba(0,0,0,.20);
  opacity:0; transform:translateY(12px) scale(.94); pointer-events:none;
  transition:opacity .3s ease, transform .3s cubic-bezier(.34,1.5,.64,1); }
.wa-bubble.show{ opacity:1; transform:none; pointer-events:auto; }
/* rabicho apontando para o botão */
.wa-bubble::after{ content:""; position:absolute; right:24px; bottom:-7px; width:16px; height:16px;
  background:#fff; border-radius:0 0 4px 0; transform:rotate(45deg); }
.wa-bubble-link{ position:relative; z-index:1; display:flex; gap:12px; align-items:flex-start;
  padding:14px 30px 15px 14px; text-decoration:none; color:inherit; }
.wa-bubble-link img{ width:46px; height:46px; flex:0 0 46px; border-radius:9999px; display:block; }
.wa-bubble-link b{ display:block; font-size:15px; font-weight:800; color:#1f2937; line-height:1.25; }
.wa-bubble-msg{ display:block; font-size:14px; color:#6b7280; line-height:1.4; margin-top:3px; }
.wa-bubble-x{ position:absolute; top:7px; right:7px; z-index:2; width:26px; height:26px; padding:0; border:0;
  background:transparent; color:#9ca3af; border-radius:9999px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .15s, color .15s; }
.wa-bubble-x:hover{ background:#f3f4f6; color:#4b5563; }
@media(max-width:380px){ .wa-bubble-link b{ font-size:14px; } .wa-bubble-msg{ font-size:13px; } }
@media(prefers-reduced-motion:reduce){ .wa-bubble{ transform:none; transition:opacity .2s ease; } }
.wa-band{background:linear-gradient(90deg,#128C7E,#25D366)}

/* Alinhar botões dos cartões de ingresso na mesma altura */
.nico-ticket{display:flex;flex-direction:column;height:100%}
.nico-ticket .nico-desc{flex:1 1 auto}
