/* Continue-booking nudge — structural CSS with design tokens.
   THE TOKEN BLOCK IS THE ONLY PART YOU EDIT PER SITE. Derive every value
   from the target site's own CSS (see SKILL.md STEP 2); the structure below
   is proven and stays as-is. Scoped to .booking-nudge — no :root pollution. */

.booking-nudge {
  /* ---- design tokens: fill from the target site ---- */
  --cbn-surface: #ffffff;            /* --surface, same white as the Rooms & Guests popover */
  --cbn-border: rgba(0, 60, 50, .14);/* --line */
  --cbn-ink: #003c32;                /* --ink, 12.41:1 on surface */
  --cbn-muted: #4d6f69;              /* --ink-soft as a solid colour, 5.54:1 on surface */
  --cbn-accent: #003c32;             /* property name: garud gold is only 1.9:1 on white, so text stays forest */
  --cbn-accent-2: #e6b45a;           /* garud gold, for the 3px top strip only */
  --cbn-cta-bg: #e6b45a;             /* garud gold, same as every Book Now */
  --cbn-cta-ink: #003c32;            /* 6.52:1 on gold */
  --cbn-cta-hover: #d39e3f;          /* the sitewide Book Now hover, 5.16:1 */
  --cbn-font-display: var(--serif, 'Cormorant Garamond', Garamond, serif);
  --cbn-font-body: var(--sans, 'Mulish', 'Helvetica Neue', Arial, sans-serif);
  --cbn-radius: 0;                   /* the site's cards and modals are square */
  --cbn-cta-radius: 0;               /* .btn is square */
  --cbn-cta-transform: uppercase;    /* .btn: Cinzel 13px .12em, applied to .bn-cta by style.css */
  --cbn-cta-tracking: .12em;
  --cbn-ease: cubic-bezier(.4, 0, .2, 1); /* --ease */
  /* ---- end tokens ---- */

  overflow: hidden;
  background: var(--cbn-surface);
  border: 1px solid var(--cbn-border);
  border-radius: var(--cbn-radius);
  box-shadow: 0 20px 60px -16px rgba(0, 0, 0, .25), 0 2px 8px rgba(0, 0, 0, .06);
  display: none;
  opacity: 0;
  position: fixed;
  right: 24px;
  top: 212px; /* clears the 194px header; above the homepage booking bar */
  transform: translateY(-20px);
  transition: transform .45s var(--cbn-ease), opacity .45s var(--cbn-ease);
  width: min(380px, calc(100vw - 48px));
  z-index: 2900; /* above page chrome, below any cookie-consent overlay */
}
.booking-nudge.show { display: block; }
.booking-nudge.in { opacity: 1; transform: translateY(0); }

.bn-accent { background: linear-gradient(90deg, var(--cbn-accent), var(--cbn-accent-2)); height: 3px; left: 0; position: absolute; right: 0; top: 0; }

.bn-header { align-items: flex-start; display: flex; gap: 12px; justify-content: space-between; padding: 20px 24px 0; }
.bn-name { color: var(--cbn-ink); font-family: var(--cbn-font-display); font-size: 22px; font-weight: 400; letter-spacing: .01em; line-height: 1.25; }
.bn-close { align-items: center; background: transparent; border: 1px solid var(--cbn-border); border-radius: 50%; color: var(--cbn-muted); cursor: pointer; display: flex; flex-shrink: 0; height: 32px; justify-content: center; transition: all .3s var(--cbn-ease); width: 32px; }
.bn-close:hover { background: var(--cbn-ink); border-color: var(--cbn-ink); color: #fff; transform: rotate(90deg); }
.bn-close svg { height: 12px; width: 12px; }

.bn-body { padding: 12px 24px 20px; }
.bn-subtitle { color: var(--cbn-muted); font-family: var(--cbn-font-body); font-size: 14px; font-weight: 300; line-height: 1.6; margin-bottom: 4px; }
.bn-property { color: var(--cbn-accent); font-family: var(--cbn-font-display); font-size: 18px; font-weight: 400; letter-spacing: .01em; }
.bn-meta { color: var(--cbn-muted); font-family: var(--cbn-font-body); font-size: 13px; font-weight: 300; line-height: 1.5; margin-top: 8px; }
.bn-meta:empty { display: none; }
.bn-price { color: var(--cbn-muted); display: none; font-family: var(--cbn-font-body); font-size: 12px; font-weight: 300; line-height: 1.5; margin-top: 8px; }
.bn-price.loaded { display: block; }
.bn-price .price-msg { color: var(--cbn-accent); font-family: var(--cbn-font-display); font-size: 20px; font-weight: 500; }
.bn-price .general-msg { color: var(--cbn-muted); font-size: 12px; }

.bn-actions { align-items: center; display: flex; gap: 12px; padding: 0 24px 20px; }
.bn-cta { align-items: center; background: var(--cbn-cta-bg); border: 1px solid var(--cbn-cta-bg); border-radius: var(--cbn-cta-radius); color: var(--cbn-cta-ink); display: inline-flex; font-family: var(--cbn-font-body); font-size: 12px; font-weight: 400; gap: 8px; letter-spacing: var(--cbn-cta-tracking); padding: 12px 28px; text-decoration: none; text-transform: var(--cbn-cta-transform); transition: all .35s var(--cbn-ease); }
.bn-cta:hover { background: var(--cbn-cta-hover); border-color: var(--cbn-cta-hover); }
.bn-cta:after { background: currentColor; content: ""; height: 1px; transition: width .3s var(--cbn-ease); width: 14px; }
.bn-cta:hover:after { width: 20px; }

@media (max-width: 600px) {
  .booking-nudge { border-radius: 0; left: auto; right: 12px; top: 170px; width: calc(100vw - 24px); }
  .bn-header { padding: 16px 18px 0; }
  .bn-body { padding: 10px 18px 16px; }
  .bn-actions { padding: 0 18px 16px; }
  .bn-name { font-size: 19px; }
  .bn-property { font-size: 16px; }
}

/* HOLD: the engine reports minimum_baserate 500000 INR for property 12800, which
   would print "Rooms starting from 500,000 INR/Night". Hidden until that rate is
   corrected in the Simplotel CMS; delete this one rule to bring the line back. */
.booking-nudge .bn-price { display: none !important; }
