
:root{ --vermelho:#c62828; --amarelo:#fdd835; --vermelho-esc:#8e0000; }
body{ font-family:'Segoe UI',system-ui,sans-serif; }
.hero{ background:linear-gradient(135deg,#c62828 0%,#fdd835 100%); color:#fff; padding:80px 0; border-radius:0 0 30px 30px; position:relative; overflow:hidden;}
.hero h1{ font-weight:800; text-shadow:2px 2px 4px rgba(0,0,0,.3); }
.wave{ position:absolute; bottom:0; left:0; width:100%; height:60px; background:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 60%22><path fill=%22%23ffffff%22 d=%22M0,30 Q360,60 720,30 T1440,30 V60 H0 Z%22/></svg>') no-repeat; background-size:cover; animation:wave 6s ease-in-out infinite alternate; }
@keyframes wave{ from{transform:translateX(-10px);} to{transform:translateX(10px);} }
.card-feature{ border:none; border-radius:16px; transition:transform .3s; box-shadow:0 4px 12px rgba(0,0,0,.08); }
.card-feature:hover{ transform:translateY(-6px); }
.poltrona{ width:54px; height:54px; border:2px solid #ccc; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:.7rem; font-weight:700; cursor:pointer; background:#f8f9fa; transition:.2s; }
.poltrona:hover:not(.ocupada){ border-color:var(--vermelho); transform:scale(1.05); }
.poltrona.ocupada{ background:#9e9e9e; color:#fff; cursor:not-allowed; }
.poltrona.selecionada{ background:var(--vermelho); color:#fff; border-color:var(--vermelho-esc); }
.poltrona-row{ display:flex; gap:6px; justify-content:center; margin-bottom:6px; }
.poltrona-gap{ width:30px; }
.cal-day{ aspect-ratio:1; display:flex; align-items:center; justify-content:center; border:1px solid #eee; font-weight:600; border-radius:6px; cursor:pointer; }
.cal-day.subida{ background:#2e7d32; color:#fff; }
.cal-day.descida{ background:#c62828; color:#fff; }
.cal-day.indisp{ background:#f0f0f0; color:#aaa; cursor:not-allowed; }
.cal-day.selected{ outline:3px solid #fdd835; }
[data-bs-theme=dark] .poltrona{ background:#333; border-color:#555; color:#eee; }
[data-bs-theme=dark] .cal-day{ background:#2a2a2a; border-color:#444; color:#ddd; }
.boat-anim{ animation:boat 4s ease-in-out infinite; }
@keyframes boat{ 0%,100%{transform:translateY(0) rotate(-1deg);} 50%{transform:translateY(-8px) rotate(1deg);} }
