#lovable-badge,
a[href*="lovable.dev"],
aside:has(a[href*="lovable.dev"]) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* FAQ Section Styles & Cleanup */
.ez-faq summary {
  list-style: none !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 24px 0 !important;
  cursor: pointer !important;
  user-select: none !important;
}

.ez-faq summary::-webkit-details-marker {
  display: none !important;
}

.ez-faq summary::marker {
  content: "" !important;
  display: none !important;
}

.ez-faq summary::before {
  content: none !important;
  display: none !important;
}

.faq-icon {
  position: relative;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  color: #a3e635; /* Electric Lime */
}

.faq-icon::before,
.faq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 1.5px;
  background: currentColor;
  transform: translate(-50%, -50%);
  transition: transform 180ms ease;
}

.faq-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

details[open] .faq-icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

/* Hero Media Frame & Video */
.ezer-hero-product-video {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
  background: #030503;
}

@media (max-width: 768px) {
  .ezer-hero-product-video {
    object-fit: contain;
  }
}

/* Global Typography & Cleanup Overrides */
.ez-h1, .h-hero {
  width: min(100%, 1100px) !important;
  max-width: 1100px !important;
  margin-inline: auto !important;
  padding-inline: 24px !important;
  font-size: clamp(42px, 4.8vw, 68px) !important;
  line-height: 0.98 !important;
  text-wrap: balance !important;
  overflow-wrap: normal !important;
  text-align: center !important;
}

.ez-hero-reservation-status {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  color: #a3e635;
  text-transform: uppercase;
  margin-top: 12px;
  opacity: 0.8;
}

/* Base styles and Typography System */
:root {
  --ez-lime: #a3e635;
  --font-display: "Inter Tight", "Inter", Arial, sans-serif;
  --font-body: "Inter", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
}

h1,
h2,
h3,
.ezer-display {
  font-family: var(--font-display);
}

body,
button,
input,
textarea,
select {
  font-family: var(--font-body);
}

.ezer-mono,
.technical-label,
.eyebrow,
.production-label,
.ez-hero-reservation-status {
  font-family: var(--font-mono) !important;
}

/* Floating Reservation CTA */
.ezer-floating-reserve {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 50;
  min-width: 210px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  border: 0;
  border-radius: 12px;
  background: #c7ff00; /* Electric lime as specified in CTA CSS section */
  color: #050704;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.38);
  transition:
    opacity 180ms ease,
    transform 180ms ease,
    visibility 180ms ease;
  visibility: hidden;
  opacity: 0;
  transform: translateY(10px);
}

.ezer-floating-reserve.visible {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.ezer-floating-reserve[hidden] {
  display: none !important;
}

@media (max-width: 767px) {
  .ezer-floating-reserve {
    left: 12px;
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom));
    width: auto;
    min-width: 0;
    height: 56px;
  }
}
/* ── Price transparency ───────────────────────────── */
.ez-hero-price-line{
  font-family: var(--font-mono, "IBM Plex Mono", monospace);
  font-size: clamp(12px, 1.35vw, 14px);
  letter-spacing: .06em;
  color: #d7ff5c;
  max-width: 760px;
  margin-left: auto; margin-right: auto;
}
.ez-microcopy-fine{
  max-width: 760px;
  margin: 8px auto 0;
  font-size: 12px;
  line-height: 1.5;
  color: rgba(244,245,239,.55);
  text-align: center;
}

.ezer-price-transparency{
  background: #060806;
  padding: clamp(64px, 9vw, 120px) 0;
  border-top: 1px solid rgba(255,255,255,.06);
  position: relative;
  overflow: hidden;
}
.ezer-price-transparency::before{
  content:""; position:absolute; inset:auto 0 auto 50%;
  top:-10%; width:min(900px,90%); height:420px; transform:translateX(-50%);
  background: radial-gradient(circle, rgba(163,230,53,.10), transparent 70%);
  pointer-events:none;
}
.ezer-price-head{ position:relative; text-align:center; max-width:760px; margin:0 auto; }
.ezer-price-eyebrow{
  font-family: var(--font-mono, "IBM Plex Mono", monospace);
  font-size:11px; letter-spacing:.22em; color:#a3e635; margin-bottom:16px;
}
.ezer-price-amount{
  font-family: var(--font-display, "Inter Tight", sans-serif);
  font-weight:800; font-size: clamp(56px, 10vw, 104px);
  line-height:1; color:#f4f5ef; margin:24px 0 10px;
}
.ezer-price-desc{
  font-family: var(--font-mono, "IBM Plex Mono", monospace);
  font-size:12px; letter-spacing:.12em; text-transform:uppercase;
  color: rgba(244,245,239,.55); margin-bottom:24px;
}
.ezer-price-transparency-line{ color:#f4f5ef; font-size:16px; line-height:1.55; margin-bottom:8px; }
.ezer-price-balance-line{ color:#a3e635; font-size:15px; font-weight:600; margin-bottom:10px; }
.ezer-price-confirm-line{ color:rgba(244,245,239,.62); font-size:14px; line-height:1.6; }
.ezer-price-limit{
  display:inline-block; margin-top:22px; padding:8px 14px;
  border:1px solid rgba(163,230,53,.32); border-radius:999px;
  font-family: var(--font-mono, "IBM Plex Mono", monospace);
  font-size:11px; letter-spacing:.16em; color:#a3e635;
}
.ezer-price-equation{
  position:relative; display:flex; flex-wrap:wrap; justify-content:center; gap:14px 28px;
  margin:44px auto 0; max-width:900px;
  font-family: var(--font-mono, "IBM Plex Mono", monospace);
  font-size:13px; letter-spacing:.12em; color:rgba(244,245,239,.6);
}
.ezer-eq-item strong{ font-size:20px; color:#f4f5ef; }
.ezer-eq-lime{ color:#a3e635 !important; }
.ezer-eq-white{ color:#f4f5ef !important; }
.ezer-price-cards{
  position:relative; display:grid; gap:20px; margin:52px auto 0; max-width:1080px;
  grid-template-columns: repeat(3, 1fr);
}
.ezer-price-card{
  background:#0b0d0b; border:1px solid rgba(255,255,255,.08);
  border-radius:18px; padding:26px 24px;
}
.ezer-price-card-label{
  font-family: var(--font-mono, "IBM Plex Mono", monospace);
  font-size:11px; letter-spacing:.18em; color:#a3e635; margin-bottom:18px;
}
.ezer-price-list{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.ezer-price-list li{
  position:relative; padding-left:18px; font-size:14px; line-height:1.5;
  color: rgba(244,245,239,.82);
}
.ezer-price-list li::before{
  content:""; position:absolute; left:0; top:8px; width:6px; height:6px;
  border-radius:2px; background:#a3e635;
}
.ezer-price-list-muted li{ color: rgba(244,245,239,.55); }
.ezer-price-list-muted li::before{ background: rgba(255,255,255,.28); }
.ezer-price-closing{
  position:relative; text-align:center; margin:34px auto 0; max-width:640px;
  font-size:14px; color: rgba(244,245,239,.6);
}
@media (max-width: 860px){
  .ezer-price-cards{ grid-template-columns:1fr; }
  .ezer-price-equation{ flex-direction:column; align-items:center; text-align:center; gap:10px; }
}

/* ── #full-price animated reveal ───────────────────────────── */
.ez-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ezer-price-reveal{margin:32px auto 8px;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:200px;justify-content:flex-end}
.ezer-price-label{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.ezer-price-label-new{color:rgba(210,255,60,.85)}
.ezer-price-old{display:flex;flex-direction:column;align-items:center;gap:8px;transition:opacity .3s ease}
.ezer-price-old-value{transform-origin:center bottom;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.ezer-price-old-value{position:relative;font-size:clamp(44px,8vw,88px);font-weight:600;line-height:1;color:#f4f1ea;display:inline-block}
.ezer-price-strike{position:absolute;left:-4%;top:50%;height:3px;width:108%;background:rgba(255,255,255,.75);transform:scaleX(0);transform-origin:left center;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.ezer-price-new{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:8px;opacity:0;transform:translateY(14px);transition:opacity .22s ease-out,transform .22s ease-out}
[data-price-reveal].is-settled .ezer-price-new{opacity:1;transform:none}
.ezer-price-amount{position:relative;font-size:clamp(56px,11vw,120px);font-weight:700;line-height:1;color:#fff;letter-spacing:-.02em}
.ezer-price-underline{position:absolute;left:0;bottom:-10px;height:2px;width:100%;background:#d2ff3c;transform:scaleX(0);transform-origin:left center;transition:transform .5s cubic-bezier(.22,1,.36,1)}
[data-price-reveal].is-struck .ezer-price-strike{transform:scaleX(1)}
[data-price-reveal].is-struck .ezer-price-old{opacity:.42}
[data-price-reveal].is-struck .ezer-price-old-value{transform:translateY(-22px) scale(.42)}
[data-price-reveal].is-settled .ezer-price-underline{transform:scaleX(1)}
[data-price-reveal].is-settled .ezer-price-amount{text-shadow:0 0 34px rgba(210,255,60,.22)}
.ezer-price-cta-wrap{margin-top:44px;display:flex;flex-direction:column;align-items:center;gap:14px}
.ezer-price-cta-note{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);text-align:center}
.ezer-price-confirm-line{max-width:760px;margin:22px auto 0;text-align:center;color:rgba(255,255,255,.6);font-size:14px;line-height:1.6}
@media (prefers-reduced-motion: reduce){
  .ezer-price-old,.ezer-price-strike,.ezer-price-underline,.ezer-price-new{transition:none}
}
