/* ===== ProAnvil — custom styles (complements Tailwind) ===== */

:root {
  --accent:#ff8718; --accent2:#ffb454;
  --bg:#0a0b0e; --panel:#15181f; --line:#272d39;
}

html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.font-display{font-family:'Oswald','Inter',sans-serif;letter-spacing:.3px}

/* gradient text */
.text-gradient{background:linear-gradient(135deg,#fff 30%,var(--accent2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* glass card */
.glass{background:rgba(21,24,31,.7);backdrop-filter:blur(12px);border:1px solid var(--line)}

/* animated grid background */
.grid-bg{background-image:linear-gradient(rgba(255,135,24,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,135,24,.04) 1px,transparent 1px);background-size:48px 48px;animation:gridmove 30s linear infinite}
@keyframes gridmove{to{background-position:48px 48px}}

/* glow pulse */
.glow{box-shadow:0 0 60px -10px rgba(255,135,24,.35)}
.glow-hover{transition:box-shadow .3s,transform .3s}
.glow-hover:hover{box-shadow:0 0 50px -8px rgba(255,135,24,.4);transform:translateY(-4px)}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}

/* gradient button */
.btn-accent{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;transition:transform .18s,box-shadow .18s;box-shadow:0 8px 24px -6px rgba(255,135,24,.4)}
.btn-accent:hover{transform:translateY(-2px);box-shadow:0 12px 32px -6px rgba(255,135,24,.55)}
.btn-accent:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
.btn-ghost{background:rgba(255,255,255,.05);border:1px solid var(--line);transition:background .18s,border-color .18s}
.btn-ghost:hover{background:rgba(255,255,255,.09);border-color:#3a4350}

/* nav active */
.nav-link{position:relative;color:#9aa3b2;transition:color .2s}
.nav-link:hover,.nav-link.active{color:#fff}
.nav-link::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--accent);border-radius:2px;transition:width .25s ease}
.nav-link:hover::after,.nav-link.active::after{width:100%}

/* ===== booking widget ===== */
.bk-opt{background:var(--panel);border:2px solid var(--line);border-radius:14px;padding:18px;cursor:pointer;transition:all .2s;text-align:left;width:100%}
.bk-opt:hover{border-color:#3a4350;transform:translateY(-2px)}
.bk-opt.sel{border-color:var(--accent);background:rgba(255,135,24,.08);box-shadow:0 0 24px -6px rgba(255,135,24,.3)}
.bk-slot{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:600;transition:all .15s}
.bk-slot:hover{border-color:var(--accent);color:var(--accent2)}
.bk-slot.sel{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent;color:#fff}
.bk-field input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:#fff;outline:none;transition:border-color .2s}
.bk-field input:focus{border-color:var(--accent)}
.bk-dot{width:10px;height:10px;border-radius:50%;background:var(--line);transition:background .3s}
.bk-dot.on{background:var(--accent)}

/* price table */
.pricetable th{color:#9aa3b2;font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;text-align:left;padding:10px 24px}
.pricetable th:last-child{text-align:right}
.pricetable td{padding:12px 24px;border-top:1px solid var(--line)}
.pricetable td:last-child{text-align:right;font-weight:600;color:var(--accent2)}

/* logo white */
.logo-white{filter:invert(1) brightness(1.8) contrast(.9)}

/* mobile menu */
#mobileMenu{transform:translateX(100%);transition:transform .3s cubic-bezier(.16,1,.3,1)}
#mobileMenu.open{transform:none}

/* marquee */
.marquee{display:flex;gap:60px;animation:marquee 25s linear infinite;white-space:nowrap}
@keyframes marquee{to{transform:translateX(-50%)}}

/* hero float */
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.float-anim{animation:float 5s ease-in-out infinite}

/* date picker icon — visible on dark bg */
input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.6;cursor:pointer;transition:opacity .2s}
input[type="date"]::-webkit-calendar-picker-indicator:hover{opacity:1}

/* section transitions — gradient divider lines */
section{position:relative}
body>section~section::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(480px,70%);height:1px;background:linear-gradient(90deg,transparent,rgba(255,135,24,.25),transparent);pointer-events:none;z-index:1}
