/*
 * VIP Karaoke Lounge - Universal Front-End Styles
 * Version: 2026-09-07-2
 * Used by: index.html and book.php
 *
 * ALL non-calendar page CSS from both front-end pages lives here.
 * Page-specific rules are isolated using the class on <html>.
 */

/* ===== index.html extracted style block 1 ===== */

    html.vip-home-page{
      --bg: #0b0b0b;
      --bg-soft: #111111;
      --panel: rgba(255,255,255,0.05);
      --panel-strong: rgba(255,255,255,0.08);
      --line: rgba(255,255,255,0.12);
      --line-strong: rgba(255,255,255,0.18);
      --text: #f4f1ea;
      --muted: rgba(244,241,234,0.72);
      --gold: #d4af37;
      --gold-soft: #b9942f;
      --danger: #d94141;
      --shadow: 0 24px 80px rgba(0,0,0,0.42);
      --radius-xl: 28px;
      --radius-lg: 20px;
      --radius-md: 14px;
      --container: 1320px;
      --nav-h: 90px;
    }

    html.vip-home-page *{ box-sizing: border-box; }
    html.vip-home-page{ scroll-behavior: smooth; }
    html.vip-home-page body{
      margin: 0;
      background: var(--bg);
      color: var(--text);
      font-family: "Inter", Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      overflow-x: hidden;
    }

    html.vip-home-page a{ color: inherit; text-decoration: none; }
    html.vip-home-page img,
html.vip-home-page iframe{ display: block; max-width: 100%; }
    html.vip-home-page button,
html.vip-home-page input,
html.vip-home-page textarea{ font: inherit; }

    html.vip-home-page .site-shell{
      background:
        radial-gradient(circle at top left, rgba(212,175,55,0.14), transparent 32%),
        radial-gradient(circle at top right, rgba(255,255,255,0.05), transparent 24%),
        linear-gradient(180deg, #070707 0%, #0b0b0b 100%);
      min-height: 100vh;
    }

    html.vip-home-page .container{
      width: min(calc(100% - 32px), var(--container));
      margin: 0 auto;
    }

    html.vip-home-page .topbar{
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 1000;
      backdrop-filter: blur(18px);
      background: rgba(9,9,9,0.55);
      border-bottom: 1px solid rgba(255,255,255,0.08);
    }

    html.vip-home-page .topbar-inner{
      min-height: var(--nav-h);
      display: grid;
      grid-template-columns: auto minmax(280px, 1fr) auto;
      align-items: center;
      gap: 18px;
    }

    html.vip-home-page .header-contact{
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      flex-wrap: wrap;
      text-align: center;
      color: var(--gold);
      font-size: 12px;
      line-height: 1.35;
      letter-spacing: 0.05em;
    }

    html.vip-home-page .header-contact a{ color: var(--gold); }
    html.vip-home-page .header-contact span{ white-space: nowrap; }

    html.vip-home-page .brand{
      display: inline-flex;
      align-items: center;
      gap: 16px;
    }

    html.vip-home-page .brand-mark{
      width: 86px;
      height: 52px;
      background: url("../img/IMG_20250930_183110_269.jpg") center center / contain no-repeat;
      flex: 0 0 auto;
      filter: drop-shadow(0 10px 24px rgba(0,0,0,0.36));
    }

    html.vip-home-page .brand-copy{
      display: flex;
      flex-direction: column;
      gap: 2px;
    }

    html.vip-home-page .brand-kicker{
      font-size: 11px;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: var(--muted);
    }

    html.vip-home-page .brand-title{
      font-family: "Cormorant Garamond", serif;
      font-size: clamp(22px, 2vw, 30px);
      line-height: 1;
      font-weight: 600;
      letter-spacing: 0.02em;
    }

    html.vip-home-page .top-actions{
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    html.vip-home-page .social-link,
html.vip-home-page .ghost-link,
html.vip-home-page .solid-link{
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
      will-change: transform;
    }

    html.vip-home-page .social-link{
      width: 42px;
      height: 42px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,0.03);
      color: var(--text);
      font-size: 17px;
    }

    html.vip-home-page .ghost-link,
html.vip-home-page .solid-link{
      min-height: 48px;
      padding: 0 22px;
      font-size: 13px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      font-weight: 700;
    }

    html.vip-home-page .ghost-link{
      border: 1px solid var(--line);
      background: rgba(255,255,255,0.03);
      color: var(--text);
    }

    html.vip-home-page .solid-link{
      border: 1px solid rgba(212,175,55,0.4);
      background: linear-gradient(135deg, rgba(212,175,55,0.95), rgba(176,133,26,0.95));
      color: #111;
    }

    html.vip-home-page .social-link:hover,
html.vip-home-page .ghost-link:hover,
html.vip-home-page .solid-link:hover,
html.vip-home-page .hero-cta:hover,
html.vip-home-page .section-cta:hover,
html.vip-home-page .pricing-card a:hover,
html.vip-home-page .submit-btn:hover{
      transform: translateY(-1px);
    }

    html.vip-home-page .hero{
      position: relative;
      min-height: 100vh;
      display: flex;
      align-items: stretch;
      padding-top: var(--nav-h);
      isolation: isolate;
    }

    html.vip-home-page .hero-media,
html.vip-home-page .hero-media iframe,
html.vip-home-page .hero-media video{
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border: 0;
    }

    html.vip-home-page .hero-media{
      overflow: hidden;
      background: #000;
    }

    html.vip-home-page .hero-media::after{
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.20) 38%, rgba(0,0,0,0.72) 100%),
        radial-gradient(circle at center, transparent 0%, rgba(0,0,0,0.18) 60%, rgba(0,0,0,0.52) 100%);
      pointer-events: none;
    }

    html.vip-home-page .hero-media iframe,
html.vip-home-page .hero-media video{
      pointer-events: none;
      object-fit: cover;
      transform: scale(1.25);
      transform-origin: center center;
    }

    html.vip-home-page .hero-content{
      position: relative;
      z-index: 2;
      width: 100%;
      display: flex;
      align-items: stretch;
      padding: 0;
    }

    html.vip-home-page .hero-grid{
      position: relative;
      width: 100%;
      min-height: calc(100vh - var(--nav-h));
      display: block;
    }

    html.vip-home-page .hero-copy{
      position: absolute;
      inset: 0;
      width: 100%;
      min-height: calc(100vh - var(--nav-h));
      z-index: 3;
      pointer-events: none;
    }

    html.vip-home-page .hero-eyebrow{
      position: absolute;
      top: 10px;
      left: 10px;
      display: inline-flex;
      max-width: min(92vw, 520px);
      align-items: center;
      gap: 10px;
      padding: 8px 16px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: rgba(255,255,255,0.05);
      font-size: 10px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--gold);
      margin: 0;
      text-align: center;
      z-index: 3;
    }

    html.vip-home-page .hero-title{
      position: absolute;
      top: 54px;
      left: 50%;
      transform: translateX(-50%);
      margin: 0;
      width: min(92vw, 980px);
      font-family: "Cormorant Garamond", serif;
      font-weight: 600;
      font-size: clamp(42px, 6.2vw, 88px);
      line-height: 0.98;
      letter-spacing: -0.03em;
      text-align: center;
      color: var(--gold);
      text-wrap: balance;
    }

    html.vip-home-page .hero-text{
      margin: 18px auto 0;
      max-width: 640px;
      font-size: clamp(16px, 1.45vw, 20px);
      line-height: 1.7;
      color: var(--muted);
      text-align: center;
    }

    html.vip-home-page .hero-cta,
html.vip-home-page .section-cta,
html.vip-home-page .pricing-card a,
html.vip-home-page .submit-btn{
      border: 0;
      cursor: pointer;
      border-radius: 999px;
      min-height: 54px;
      padding: 0 28px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 13px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      font-weight: 700;
      transition: transform .18s ease, opacity .18s ease, border-color .18s ease, background .18s ease;
    }

    html.vip-home-page .hero-cta.primary,
html.vip-home-page .section-cta.primary,
html.vip-home-page .pricing-card a,
html.vip-home-page .submit-btn{
      background: linear-gradient(135deg, rgba(212,175,55,0.96), rgba(178,131,23,0.96));
      color: #121212;
      box-shadow: 0 14px 40px rgba(212,175,55,0.20);
    }

    html.vip-home-page .hero-cta.secondary,
html.vip-home-page .section-cta.secondary{
      background: rgba(255,255,255,0.04);
      color: var(--text);
      border: 1px solid var(--line-strong);
    }

    html.vip-home-page .hero-scroll-wrap{
      position: absolute;
      left: 50%;
      bottom: 56px;
      transform: translateX(-50%);
      z-index: 3;
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
      font-size: 11px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(244,241,234,0.78);
    }

    html.vip-home-page .hero-scroll,
html.vip-home-page .hero-view-rooms{
      border: 0;
      background: transparent;
      padding: 0;
      cursor: pointer;
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
      font-size: 11px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(244,241,234,0.78);
    }

    html.vip-home-page .hero-view-rooms{
      color: var(--gold);
      margin-bottom: 10px;
    }

    html.vip-home-page .hero-scroll-top{
      display: block;
      margin-bottom: 10px;
      color: var(--gold);
    }
    html.vip-home-page .hero-scroll-line{
      width: 1px;
      height: 58px;
      background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0.75), rgba(255,255,255,0));
      animation: scrollPulse 2s infinite ease-in-out;
    }

    @keyframes scrollPulse{
      0%, 100% { opacity: 0.35; transform: scaleY(0.8); }
      50% { opacity: 1; transform: scaleY(1); }
    }


    html.vip-home-page .reveal-shell{
      position: fixed;
      inset: 0;
      z-index: 1400;
      overflow-y: auto;
      overflow-x: hidden;
      background:
        radial-gradient(circle at top left, rgba(212,175,55,0.06), transparent 28%),
        linear-gradient(180deg, #081016 0%, #0b0f14 100%);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform: translateY(18px);
      transition: opacity .28s ease, transform .28s ease, visibility .28s ease;
    }

    html.vip-home-page .reveal-shell.is-visible{
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateY(0);
    }

    html.vip-home-page .reveal-bar{
      position: sticky;
      top: 0;
      z-index: 5;
      border-bottom: 1px solid rgba(255,255,255,0.08);
      background: rgba(5,10,14,0.92);
      backdrop-filter: blur(16px);
    }

    html.vip-home-page .reveal-bar-inner{
      min-height: 76px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
    }

    html.vip-home-page .reveal-back,
html.vip-home-page .reveal-title{
      font-size: 13px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: rgba(244,241,234,0.9);
    }

    html.vip-home-page .reveal-back{
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: transparent;
      border: 0;
      cursor: pointer;
      padding: 0;
    }

    html.vip-home-page .reveal-back .fa{
      font-size: 12px;
      opacity: .85;
    }

    html.vip-home-page .overlay-shell{
      padding: 10px 0 88px;
    }

    html.vip-home-page .overlay-heading{
      max-width: 860px;
      margin: 0 auto 44px;
      text-align: center;
    }

    html.vip-home-page .overlay-heading h2{
      margin: 0;
      font-size: clamp(42px, 5.5vw, 84px);
      font-weight: 300;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--gold);
    }

    html.vip-home-page .overlay-heading p{
      margin: 18px auto 0;
      max-width: 760px;
      color: var(--gold);
      font-size: 20px;
      line-height: 1.6;
    }

    html.vip-home-page body.overlay-open{
      overflow: hidden;
    }

    html.vip-home-page .page-section{
      position: relative;
      padding: 88px 0;
    }

    html.vip-home-page .page-section + .page-section{
      border-top: 1px solid rgba(255,255,255,0.05);
    }

    html.vip-home-page .overlay-first{ padding-top: 26px; }

    html.vip-home-page .section-heading{
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 24px;
      align-items: end;
      margin-bottom: 38px;
    }

    html.vip-home-page .section-kicker{
      display: inline-block;
      margin-bottom: 14px;
      font-size: 12px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(212,175,55,0.88);
    }

    html.vip-home-page .section-title{
      margin: 0;
      font-family: "Cormorant Garamond", serif;
      font-size: clamp(40px, 4.6vw, 68px);
      line-height: 0.96;
      font-weight: 600;
      letter-spacing: -0.03em;
    }

    html.vip-home-page .section-description{
      margin: 16px 0 0;
      max-width: 760px;
      color: var(--muted);
      line-height: 1.8;
      font-size: 16px;
    }

    html.vip-home-page .reveal-shell{
      display: none;
    }

    html.vip-home-page .reveal-shell.is-visible{
      display: block;
      animation: revealUp .5s ease forwards;
    }

    @keyframes revealUp{
      from { opacity: 0; transform: translateY(18px); }
      to { opacity: 1; transform: translateY(0); }
    }

    html.vip-home-page .pricing-grid{
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
    }

    html.vip-home-page .pricing-card{
      min-height: 100%;
      display: flex;
      flex-direction: column;
      gap: 18px;
      padding: 26px;
      border-radius: 26px;
      border: 1px solid var(--line);
      background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 100%);
      box-shadow: var(--shadow);
    }

    html.vip-home-page .pricing-card .tier{
      font-size: 12px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: rgba(244,241,234,0.62);
    }

    html.vip-home-page .pricing-card .rate{
      font-family: "Cormorant Garamond", serif;
      font-size: 54px;
      line-height: 1;
      font-weight: 600;
      color: var(--gold);
    }

    html.vip-home-page .pricing-card .rate small{
      font-family: "Inter", Arial, sans-serif;
      font-size: 14px;
      color: var(--muted);
      margin-left: 6px;
    }

    html.vip-home-page .pricing-card h3{
      margin: 0;
      font-size: 20px;
      line-height: 1.35;
      font-weight: 600;
    }

    html.vip-home-page .pricing-card ul{
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      gap: 10px;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.7;
    }

    html.vip-home-page .pricing-card li{
      position: relative;
      padding-left: 18px;
    }

    html.vip-home-page .pricing-card li::before{
      content: "";
      position: absolute;
      left: 0;
      top: 10px;
      width: 7px;
      height: 7px;
      border-radius: 999px;
      background: var(--gold);
    }

    html.vip-home-page .pricing-card .spacer{ flex: 1 1 auto; }

    html.vip-home-page .experience-grid{
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
      gap: 22px;
      align-items: start;
    }

    html.vip-home-page .experience-panel,
html.vip-home-page .form-panel,
html.vip-home-page .instagram-panel{
      border: 1px solid var(--line);
      border-radius: 28px;
      background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.025));
      box-shadow: var(--shadow);
    }

    html.vip-home-page .experience-panel{
      padding: 30px;
    }

    html.vip-home-page .experience-copy{
      display: grid;
      gap: 16px;
      color: var(--muted);
      line-height: 1.85;
      font-size: 15px;
    }

    html.vip-home-page .experience-copy p{ margin: 0; }

    html.vip-home-page .experience-video{
      margin-top: 26px;
      position: relative;
      padding-top: 56.25%;
      overflow: hidden;
      border-radius: 22px;
      border: 1px solid var(--line);
      background: #000;
      box-shadow: 0 18px 50px rgba(0,0,0,0.35);
    }

    html.vip-home-page .experience-video iframe{
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border: 0;
    }

    html.vip-home-page .form-panel{
      overflow: hidden;
    }

    html.vip-home-page .form-head{
      padding: 24px 28px;
      border-bottom: 1px solid var(--line);
      background: linear-gradient(135deg, rgba(212,175,55,0.14), rgba(255,255,255,0.02));
    }

    html.vip-home-page .form-head .section-kicker{ margin-bottom: 8px; }

    html.vip-home-page .form-head h3{
      margin: 0;
      font-family: "Cormorant Garamond", serif;
      font-size: 38px;
      line-height: 1;
      font-weight: 600;
    }

    html.vip-home-page .form-head p{
      margin: 12px 0 0;
      color: var(--muted);
      line-height: 1.7;
      font-size: 14px;
    }

    html.vip-home-page .patio-form{
      padding: 28px;
      display: grid;
      gap: 14px;
    }

    html.vip-home-page .field-grid{
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }

    html.vip-home-page .field-grid.single{ grid-template-columns: 1fr; }

    html.vip-home-page .patio-form input,
html.vip-home-page .patio-form textarea{
      width: 100%;
      border-radius: 16px;
      border: 1px solid rgba(255,255,255,0.12);
      background: rgba(255,255,255,0.05);
      color: var(--text);
      padding: 16px 18px;
      outline: none;
      transition: border-color .18s ease, background .18s ease;
    }

    html.vip-home-page .patio-form input::placeholder,
html.vip-home-page .patio-form textarea::placeholder{ color: rgba(244,241,234,0.46); }

    html.vip-home-page .patio-form input:focus,
html.vip-home-page .patio-form textarea:focus{
      border-color: rgba(212,175,55,0.55);
      background: rgba(255,255,255,0.07);
    }

    html.vip-home-page .patio-form textarea{
      min-height: 180px;
      resize: vertical;
    }

    html.vip-home-page .form-note{
      color: var(--gold);
      font-size: 12px;
      line-height: 1.6;
    }

    html.vip-home-page .gallery-shell{
      padding: 20px;
      border-radius: 30px;
      border: 1px solid var(--line);
      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015));
      box-shadow: var(--shadow);
    }

    html.vip-home-page .owl-theme .owl-nav.disabled + .owl-dots{
      margin-top: 18px;
    }

    html.vip-home-page .owl-theme .owl-dots .owl-dot span{
      width: 10px;
      height: 10px;
      margin: 4px;
      background: rgba(255,255,255,0.24);
      transition: transform .18s ease, background .18s ease;
    }

    html.vip-home-page .owl-theme .owl-dots .owl-dot.active span{
      background: var(--gold);
      transform: scale(1.2);
    }

    html.vip-home-page .room-card{
      position: relative;
      overflow: hidden;
      border-radius: 26px;
      min-height: 72vh;
      box-shadow: var(--shadow);
      background: #111;
    }

    html.vip-home-page .room-card img,
html.vip-home-page .room-card iframe{
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      border: 0;
    }

    html.vip-home-page .room-card::after{
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(0,0,0,0.12) 0%, rgba(0,0,0,0.64) 100%);
      pointer-events: none;
    }

    html.vip-home-page .room-overlay{
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 2;
      padding: 26px;
      display: grid;
      gap: 10px;
    }

    html.vip-home-page .room-badge{
      width: fit-content;
      padding: 8px 12px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,0.20);
      background: rgba(0,0,0,0.32);
      font-size: 11px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: rgba(244,241,234,0.82);
    }

    html.vip-home-page .room-overlay h3{
      margin: 0;
      font-family: "Cormorant Garamond", serif;
      font-size: clamp(34px, 4vw, 54px);
      line-height: 0.95;
      font-weight: 600;
    }

    html.vip-home-page .room-overlay p{
      margin: 0;
      max-width: 44ch;
      font-size: 15px;
      line-height: 1.7;
      color: rgba(244,241,234,0.86);
    }

    html.vip-home-page .room-book-btn{
      position: absolute;
      right: 10px;
      bottom: 10px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 46px;
      padding: 0 20px;
      border-radius: 999px;
      border: 1px solid rgba(212,175,55,0.40);
      background: linear-gradient(135deg, rgba(212,175,55,0.96), rgba(178,131,23,0.96));
      color: #111111;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      box-shadow: 0 14px 40px rgba(212,175,55,0.20);
      z-index: 3;
    }

    html.vip-home-page .room-book-btn:hover{
      transform: translateY(-1px);
    }

    html.vip-home-page .instagram-panel{
      overflow: hidden;
      padding: 20px;
    }

    html.vip-home-page .instagram-frame{
      border-radius: 22px;
      overflow: hidden;
      border: 1px solid var(--line);
      background: #070707;
    }

    html.vip-home-page .instagram-frame iframe{
      width: 100%;
      border: 0;
      overflow: hidden;
      display: block;
      min-height: 760px;
    }

    html.vip-home-page .site-footer{
      padding: 76px 0 28px;
      background: linear-gradient(180deg, rgba(255,255,255,0.015), rgba(255,255,255,0));
      border-top: 1px solid rgba(255,255,255,0.05);
    }

    html.vip-home-page .footer-grid{
      display: grid;
      grid-template-columns: 1.2fr 1fr 1fr;
      gap: 22px;
      margin-bottom: 34px;
    }

    html.vip-home-page .footer-card{
      padding: 28px;
      border-radius: 24px;
      border: 1px solid var(--line);
      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.018));
    }

    html.vip-home-page .footer-card h3{
      margin: 0 0 16px;
      font-family: "Cormorant Garamond", serif;
      font-size: 34px;
      line-height: 1;
      font-weight: 600;
      color: var(--gold);
    }

    html.vip-home-page .footer-card ul{
      color: var(--gold);
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      gap: 10px;
      color: var(--muted);
      line-height: 1.7;
      font-size: 14px;
    }

    html.vip-home-page .footer-card p{
      margin: 0;
      color: var(--muted);
      line-height: 1.8;
      font-size: 14px;
    }

    html.vip-home-page .footer-bottom{
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
      flex-wrap: wrap;
      padding-top: 18px;
      border-top: 1px solid rgba(255,255,255,0.06);
      color: var(--gold);
      font-size: 12px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    html.vip-home-page .footer-bottom a{ color: #ff2b2b; font-weight: 800; }

    html.vip-home-page #successModal{
      display: none;
      position: fixed;
      inset: 0;
      z-index: 1200;
      background: rgba(0,0,0,0.82);
      align-items: center;
      justify-content: center;
      padding: 20px;
    }

    html.vip-home-page #successModal .success-card{
      width: min(100%, 520px);
      padding: 34px;
      border-radius: 28px;
      border: 1px solid var(--line);
      background: #0f0f0f;
      text-align: center;
      box-shadow: var(--shadow);
    }

    html.vip-home-page #successModal .success-card h3{
      margin: 0 0 12px;
      font-family: "Cormorant Garamond", serif;
      font-size: 42px;
      line-height: 1;
      font-weight: 600;
      color: var(--gold);
    }

    html.vip-home-page #successModal .success-card p{
      margin: 0;
      color: var(--muted);
      line-height: 1.8;
    }

    @media (max-width: 1200px){
      html.vip-home-page .pricing-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
      html.vip-home-page .topbar-inner{ grid-template-columns: 1fr; justify-items: center; padding: 14px 0; }
      html.vip-home-page .top-actions{ justify-content: center; }
      html.vip-home-page .header-contact{ font-size: 11px; }
      html.vip-home-page .hero-grid,
html.vip-home-page .section-heading,
html.vip-home-page .experience-grid,
html.vip-home-page .footer-grid{
        grid-template-columns: 1fr;
      }
      html.vip-home-page .hero-meta{ justify-self: start; width: min(100%, 540px); }
    }

    @media (max-width: 767.98px){
      html.vip-home-page{ --nav-h: 164px; }
      html.vip-home-page .topbar-inner{
        min-height: var(--nav-h);
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 12px 0;
      }
      html.vip-home-page .brand{
        justify-content: center;
      }
      html.vip-home-page .brand-mark{ width: 70px; height: 44px; }
      html.vip-home-page .brand-kicker{ font-size: 10px; letter-spacing: 0.18em; }
      html.vip-home-page .brand-title{ font-size: 22px; }
      html.vip-home-page .top-actions{
        justify-content: center;
      }
      html.vip-home-page .social-link{ width: 40px; height: 40px; }
      html.vip-home-page .ghost-link,
html.vip-home-page .solid-link{ min-height: 44px; padding: 0 18px; }
      html.vip-home-page .header-contact{
        font-size: 10px;
        gap: 8px;
      }
      html.vip-home-page .hero{
        min-height: 100svh;
      }
      html.vip-home-page .hero-media iframe,
html.vip-home-page .hero-media video{ transform: scale(1.9); }
      html.vip-home-page .hero-content{ padding: 36px 0 96px; }
      html.vip-home-page .hero-title{ max-width: none; }
      html.vip-home-page .hero-text{ font-size: 15px; }
      html.vip-home-page .hero-actions{ gap: 12px; }
      html.vip-home-page .hero-cta,
html.vip-home-page .section-cta,
html.vip-home-page .pricing-card a,
html.vip-home-page .submit-btn{ width: 100%; }
      html.vip-home-page .hero-scroll-wrap{ bottom: 38px; }
      html.vip-home-page .page-section{ padding: 70px 0; }
      html.vip-home-page .section-description{ font-size: 15px; }
      html.vip-home-page .pricing-grid,
html.vip-home-page .field-grid{ grid-template-columns: 1fr; }
      html.vip-home-page .experience-panel,
html.vip-home-page .form-head,
html.vip-home-page .patio-form,
html.vip-home-page .instagram-panel,
html.vip-home-page .footer-card,
html.vip-home-page .pricing-card,
html.vip-home-page .gallery-shell,
html.vip-home-page .hero-meta{ padding-left: 20px; padding-right: 20px; }
      html.vip-home-page .room-card{ min-height: 62vh; }
      html.vip-home-page .room-overlay{ padding: 20px; }
      html.vip-home-page .instagram-frame iframe{ min-height: 660px; }
      html.vip-home-page .footer-bottom{ font-size: 11px; letter-spacing: 0.06em; }
    }
  

    /* ---------- SEO Experience Section ---------- */
    html.vip-home-page .seo-experience-section{
      background:
        radial-gradient(circle at top left, rgba(212,175,55,0.10), transparent 30%),
        linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0));
    }

    html.vip-home-page .seo-experience-grid{
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
      gap: 22px;
      align-items: stretch;
    }

    html.vip-home-page .seo-experience-card,
html.vip-home-page .seo-link-card{
      border: 1px solid var(--line);
      border-radius: 28px;
      background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.025));
      box-shadow: var(--shadow);
      padding: 30px;
    }

    html.vip-home-page .seo-experience-card h2,
html.vip-home-page .seo-link-card h3{
      margin: 0;
      font-family: "Cormorant Garamond", serif;
      color: var(--gold);
      font-weight: 600;
      line-height: 0.98;
    }

    html.vip-home-page .seo-experience-card h2{
      font-size: clamp(38px, 4.5vw, 66px);
      letter-spacing: -0.03em;
    }

    html.vip-home-page .seo-link-card h3{
      font-size: clamp(28px, 3vw, 42px);
    }

    html.vip-home-page .seo-experience-card p,
html.vip-home-page .seo-link-card p{
      color: var(--muted);
      line-height: 1.85;
      font-size: 15px;
      margin: 16px 0 0;
    }

    html.vip-home-page .seo-feature-grid{
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
      margin-top: 22px;
    }

    html.vip-home-page .seo-feature{
      border: 1px solid rgba(212,175,55,0.18);
      border-radius: 20px;
      padding: 18px;
      background: rgba(0,0,0,0.18);
    }

    html.vip-home-page .seo-feature strong{
      display: block;
      color: var(--gold);
      font-size: 14px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      margin-bottom: 8px;
    }

    html.vip-home-page .seo-feature span{
      display: block;
      color: var(--muted);
      line-height: 1.65;
      font-size: 14px;
    }

    html.vip-home-page .seo-link-list{
      display: grid;
      gap: 10px;
      margin-top: 20px;
    }

    html.vip-home-page .seo-link-list a{
      display: flex;
      justify-content: space-between;
      gap: 14px;
      align-items: center;
      min-height: 52px;
      padding: 0 18px;
      border-radius: 999px;
      background: rgba(255,255,255,0.045);
      border: 1px solid rgba(255,255,255,0.12);
      color: var(--text);
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      transition: transform .18s ease, border-color .18s ease, background .18s ease;
    }

    html.vip-home-page .seo-link-list a:hover{
      transform: translateY(-1px);
      border-color: rgba(212,175,55,0.45);
      background: rgba(212,175,55,0.08);
    }

    html.vip-home-page .seo-link-list a span{
      color: var(--gold);
      font-size: 16px;
    }

    html.vip-home-page .seo-page-main{
      padding-top: calc(var(--nav-h) + 70px);
    }

    html.vip-home-page .seo-page-hero{
      padding-bottom: 34px;
    }

    html.vip-home-page .seo-page-panel{
      border: 1px solid var(--line);
      border-radius: 28px;
      background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.025));
      box-shadow: var(--shadow);
      padding: 34px;
    }

    html.vip-home-page .seo-page-panel h1,
html.vip-home-page .seo-page-panel h2{
      font-family: "Cormorant Garamond", serif;
      color: var(--gold);
      line-height: 0.98;
      font-weight: 600;
      letter-spacing: -0.03em;
      margin: 0;
    }

    html.vip-home-page .seo-page-panel h1{
      font-size: clamp(42px, 5.4vw, 78px);
    }

    html.vip-home-page .seo-page-panel h2{
      font-size: clamp(32px, 3.8vw, 54px);
      margin-top: 32px;
    }

    html.vip-home-page .seo-page-panel p,
html.vip-home-page .seo-page-panel li{
      color: var(--muted);
      line-height: 1.85;
      font-size: 16px;
    }

    html.vip-home-page .seo-page-panel ul{
      margin: 18px 0 0;
      padding-left: 20px;
    }

    html.vip-home-page .seo-page-actions{
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 28px;
    }

    @media (max-width: 991.98px){
      html.vip-home-page .seo-experience-grid,
html.vip-home-page .seo-feature-grid{
        grid-template-columns: 1fr;
      }

      html.vip-home-page .seo-page-main{
        padding-top: calc(var(--nav-h) + 42px);
      }
    }

    @media (max-width: 767.98px){
      html.vip-home-page .seo-experience-card,
html.vip-home-page .seo-link-card,
html.vip-home-page .seo-page-panel{
        padding: 22px;
      }

      html.vip-home-page .seo-link-list a{
        border-radius: 18px;
        align-items: flex-start;
        padding: 16px;
      }

      html.vip-home-page .seo-page-actions .section-cta{
        width: 100%;
      }
    }

    /* ---------- Booking Modal ---------- */
    html.vip-home-page .booking-modal-backdrop{
      position: fixed;
      inset: 0;
      z-index: 5000;
      background: rgba(0,0,0,0.76);
      display: none;
      align-items: center;
      justify-content: center;
      padding: 18px;
    }
    html.vip-home-page .booking-modal-backdrop.is-open{ display:flex; }
    html.vip-home-page .booking-modal-dialog{
      position: relative;
      width: min(1280px, 100%);
      height: min(92vh, 980px);
      background: #050505;
      border: 1px solid rgba(212,175,55,0.45);
      border-radius: 18px;
      overflow: hidden;
      box-shadow: 0 24px 80px rgba(0,0,0,0.48);
    }
    html.vip-home-page .booking-modal-topbar{
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      z-index: 2;
      min-height: 58px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 14px;
      padding: 10px 16px;
      background: linear-gradient(180deg, rgba(0,0,0,0.86), rgba(0,0,0,0.64));
      border-bottom: 1px solid rgba(255,255,255,0.08);
      backdrop-filter: blur(10px);
    }
    html.vip-home-page .booking-modal-title{
      color: var(--gold);
      font-size: 13px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      font-weight: 700;
    }
    html.vip-home-page .booking-modal-close{
      border: 1px solid rgba(255,255,255,0.16);
      background: rgba(255,255,255,0.05);
      color: #fff;
      border-radius: 999px;
      min-height: 40px;
      padding: 0 16px;
      cursor: pointer;
      font-size: 12px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      font-weight: 700;
    }
    html.vip-home-page .booking-modal-close:hover{ transform: translateY(-1px); }
    html.vip-home-page .booking-modal-frame{
      position: absolute;
      inset: 58px 0 0 0;
      width: 100%;
      height: calc(100% - 58px);
      border: 0;
      background: #000;
    }
    html.vip-home-page body.booking-modal-open{ overflow: hidden; }

    @media (max-width: 767.98px){
      html.vip-home-page .booking-modal-backdrop{ padding: 8px; }
      html.vip-home-page .booking-modal-dialog{
        width: 100%;
        height: 94vh;
        border-radius: 14px;
      }
      html.vip-home-page .booking-modal-topbar{
        min-height: 54px;
        padding: 8px 12px;
      }
      html.vip-home-page .booking-modal-title{
        font-size: 11px;
        letter-spacing: 0.1em;
      }
      html.vip-home-page .booking-modal-close{
        min-height: 36px;
        padding: 0 12px;
        font-size: 11px;
      }
      html.vip-home-page .booking-modal-frame{
        inset: 54px 0 0 0;
        height: calc(100% - 54px);
      }
    }

  

    /* ---------- Manual Instagram Grid: lazy XHR + local image cache ---------- */
    html.vip-home-page .manual-ig-section .section-heading{
      align-items: center;
    }

    html.vip-home-page .manual-ig-section .section-heading > div{
      max-width: 780px;
    }

    html.vip-home-page .manual-ig-scroll{
      max-height: 456px;
      overflow-y: auto;
      overflow-x: hidden;
      padding: 20px;
      border-radius: 22px;
      border: 1px solid var(--line);
      background: #070707;
      scrollbar-width: thin;
      scrollbar-color: rgba(212,175,55,0.75) rgba(255,255,255,0.08);
    }

    html.vip-home-page .manual-ig-scroll::-webkit-scrollbar{
      width: 9px;
    }

    html.vip-home-page .manual-ig-scroll::-webkit-scrollbar-track{
      background: rgba(255,255,255,0.08);
      border-radius: 999px;
    }

    html.vip-home-page .manual-ig-scroll::-webkit-scrollbar-thumb{
      background: rgba(212,175,55,0.72);
      border-radius: 999px;
    }

    html.vip-home-page .manual-ig-grid{
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(200px, 200px));
      justify-content: center;
      gap: 16px;
    }

    html.vip-home-page .manual-ig-card{
      position: relative;
      width: 200px;
      height: 200px;
      border: 1px solid rgba(212,175,55,0.26);
      border-radius: 18px;
      overflow: hidden;
      background:
        radial-gradient(circle at center, rgba(212,175,55,0.16), transparent 42%),
        linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.015));
      cursor: pointer;
      box-shadow: 0 14px 36px rgba(0,0,0,0.34);
      transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
      padding: 0;
      display: block;
      color: var(--text);
    }

    html.vip-home-page .manual-ig-card:hover,
html.vip-home-page .manual-ig-card:focus-visible{
      transform: translateY(-2px);
      border-color: rgba(212,175,55,0.82);
      box-shadow: 0 18px 46px rgba(0,0,0,0.48);
      outline: none;
    }

    html.vip-home-page .manual-ig-card > img{
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center;
      display: block;
      background: #090909;
    }

    html.vip-home-page .manual-ig-card > img.is-fallback{
      width: 82px;
      height: 82px;
      object-fit: contain;
      position: absolute;
      left: 50%;
      top: 48%;
      transform: translate(-50%, -50%);
      opacity: 0.94;
      filter: drop-shadow(0 10px 22px rgba(0,0,0,0.54));
    }

    html.vip-home-page .manual-ig-card::after{
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(0,0,0,0) 46%, rgba(0,0,0,0.86) 100%);
      pointer-events: none;
    }

    html.vip-home-page .manual-ig-type{
      position: absolute;
      top: 10px;
      left: 10px;
      z-index: 2;
      padding: 6px 9px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,0.17);
      background: rgba(0,0,0,0.56);
      color: #ffffff;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    html.vip-home-page .manual-ig-title{
      position: absolute;
      left: 12px;
      right: 12px;
      bottom: 12px;
      z-index: 2;
      color: var(--gold);
      font-size: 12px;
      line-height: 1.25;
      font-weight: 800;
      text-align: left;
      text-shadow: 0 2px 12px rgba(0,0,0,0.88);
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    html.vip-home-page .manual-ig-empty{
      min-height: 220px;
      display: grid;
      place-items: center;
      text-align: center;
      color: var(--muted);
      border: 1px dashed rgba(212,175,55,0.24);
      border-radius: 18px;
      padding: 20px;
    }

    html.vip-home-page .manual-ig-modal{
      position: fixed;
      inset: 0;
      z-index: 5200;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 18px;
      background: rgba(0,0,0,0.86);
    }

    html.vip-home-page .manual-ig-modal.is-open{
      display: flex;
    }

    html.vip-home-page .manual-ig-dialog{
      width: min(980px, 100%);
      max-height: min(92vh, 860px);
      overflow: hidden;
      display: grid;
      grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.8fr);
      border: 1px solid rgba(212,175,55,0.30);
      border-radius: 26px;
      background: #0b0b0b;
      box-shadow: var(--shadow);
    }

    html.vip-home-page .manual-ig-preview{
      min-height: 420px;
      background:
        radial-gradient(circle at center, rgba(212,175,55,0.14), transparent 42%),
        #050505;
      display: grid;
      place-items: center;
      padding: 34px;
    }

    html.vip-home-page .manual-ig-preview img,
html.vip-home-page .manual-ig-preview video{
      width: 100%;
      height: 100%;
      max-height: 72vh;
      object-fit: contain;
      background: #000;
      filter: drop-shadow(0 18px 38px rgba(0,0,0,0.60));
    }

    html.vip-home-page .manual-ig-preview img.is-fallback,
html.vip-home-page .manual-ig-preview img[src$="IMG_20251001_005710_903.jpg"]{
      width: min(44%, 190px);
      height: auto;
      background: transparent;
    }

    html.vip-home-page .manual-ig-info{
      max-height: 92vh;
      overflow: auto;
      padding: 24px;
      border-left: 1px solid rgba(255,255,255,0.10);
    }

    html.vip-home-page .manual-ig-info-top{
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12px;
      margin-bottom: 14px;
    }

    html.vip-home-page .manual-ig-modal-title{
      margin: 0;
      font-family: "Cormorant Garamond", serif;
      color: var(--gold);
      font-size: clamp(28px, 3.2vw, 42px);
      line-height: 1;
      font-weight: 600;
    }

    html.vip-home-page .manual-ig-close{
      flex: 0 0 auto;
      width: 40px;
      height: 40px;
      border: 1px solid rgba(255,255,255,0.14);
      border-radius: 999px;
      background: rgba(255,255,255,0.06);
      color: #fff;
      font-size: 22px;
      cursor: pointer;
    }

    html.vip-home-page .manual-ig-meta{
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 14px 0 18px;
    }

    html.vip-home-page .manual-ig-pill{
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 999px;
      padding: 7px 10px;
      background: rgba(255,255,255,0.04);
      color: var(--muted);
      font-size: 12px;
    }

    html.vip-home-page .manual-ig-caption{
      white-space: pre-wrap;
      color: var(--text);
      font-size: 14px;
      line-height: 1.75;
      padding-top: 16px;
      margin-top: 12px;
      border-top: 1px solid rgba(255,255,255,0.10);
    }

    html.vip-home-page .manual-ig-actions{
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin: 18px 0;
    }

    html.vip-home-page .manual-ig-btn{
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 46px;
      padding: 0 18px;
      border-radius: 999px;
      border: 1px solid rgba(212,175,55,0.36);
      background: linear-gradient(135deg, rgba(212,175,55,0.96), rgba(178,131,23,0.96));
      color: #111;
      font-size: 12px;
      font-weight: 900;
      letter-spacing: 0.10em;
      text-transform: uppercase;
      cursor: pointer;
    }

    html.vip-home-page .manual-ig-btn.secondary{
      background: rgba(255,255,255,0.06);
      color: #fff;
      border-color: rgba(255,255,255,0.14);
    }

    html.vip-home-page .manual-ig-comments{
      display: grid;
      gap: 10px;
      margin-top: 16px;
      padding-top: 16px;
      border-top: 1px solid rgba(255,255,255,0.10);
    }

    html.vip-home-page .manual-ig-comment{
      border: 1px solid rgba(255,255,255,0.10);
      border-radius: 14px;
      background: rgba(255,255,255,0.035);
      padding: 12px;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.55;
    }

    html.vip-home-page .manual-ig-comment strong{
      color: var(--gold);
    }

    html.vip-home-page .manual-ig-embed-wrap{
      display: none;
      margin-top: 16px;
      padding-top: 16px;
      border-top: 1px solid rgba(255,255,255,0.10);
    }

    html.vip-home-page .manual-ig-embed-wrap.is-visible{
      display: block;
    }

    html.vip-home-page .manual-ig-embed-wrap blockquote{
      margin: 0 auto !important;
      max-width: 540px !important;
      min-width: 0 !important;
      width: 100% !important;
    }

    html.vip-home-page body.manual-ig-modal-open{
      overflow: hidden;
    }

    @media (max-width: 900px){
      html.vip-home-page .manual-ig-dialog{
        grid-template-columns: 1fr;
        overflow: auto;
      }

      html.vip-home-page .manual-ig-preview{
        min-height: 260px;
      }

      html.vip-home-page .manual-ig-info{
        max-height: none;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,0.10);
      }
    }

    @media (max-width: 520px){
      html.vip-home-page .manual-ig-scroll{
        max-height: calc((100vw - 58px) / 2);
        padding: 10px;
      }

      html.vip-home-page .manual-ig-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
      }

      html.vip-home-page .manual-ig-card{
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        border-radius: 14px;
      }

      html.vip-home-page .manual-ig-card > img.is-fallback{
        width: 64px;
        height: 64px;
      }

      html.vip-home-page .manual-ig-title{
        font-size: 11px;
        left: 10px;
        right: 10px;
        bottom: 10px;
      }

      html.vip-home-page .manual-ig-info{
        padding: 18px;
      }

      html.vip-home-page .manual-ig-actions .manual-ig-btn{
        width: 100%;
      }
    }


/* ===== index.html extracted style block 2 ===== */


    html.vip-home-page .booking-embed-scope :root{
      --bg:#000;
      --muted:#ccc;
      --gold:#DDBE5A;
      --card-border:#e0e0e0;
      --blue:#0078d4;
      --danger:#b32d2e;
      --panel-bg: rgba(0,0,0,.7);
    }

    html.vip-home-page .booking-embed-scope /* ---------- Base / Page ---------- */
    html,
html.vip-home-page .booking-embed-scope{height:100%}
    html.vip-home-page .booking-embed-scope{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,Helvetica,sans-serif;
      color:var(--muted);
      background:
        linear-gradient(rgba(0,0,0,.3), rgba(0,0,0,.3)),
        url("../img/o.jpg") center top/cover fixed no-repeat;
      display:flex;
      justify-content:center;
      padding:120px 20px 40px; /* leave space for fixed header */
      box-sizing:border-box;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
    }

    html.vip-home-page .booking-embed-scope /* ---------- Header ---------- */
    .site-header{
      position:fixed;
      top:0; left:0; right:0;
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:1rem;
      padding:.5rem 1rem;
      background:var(--bg);
      color:#fff;
      z-index:1200;
      outline:1px solid gold;
      box-sizing:border-box;
    }
    html.vip-home-page .booking-embed-scope .header-logo{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;              /* match logo image width dynamically */
  max-width: 100%;          /* prevent overflow on small screens */
  padding: 0;               /* remove any default padding */
  margin: 0;                /* keep tight alignment */
  flex-shrink: 0;           /* prevent shrinking if header uses flex */
}

html.vip-home-page .booking-embed-scope .header-logo img{
  display: block;           /* removes small bottom gap */
  height: auto;             /* keeps logo ratio */
  width: auto;              /* matches natural logo width */
  max-height: 60px;         /* keep header height consistent */
}
    html.vip-home-page .booking-embed-scope .header-left{flex:1; display:flex; flex-direction:column; justify-content:center}
    html.vip-home-page .booking-embed-scope .contact-line{display:flex; align-items:center; gap:8px; font-weight:600; color:gold}
    html.vip-home-page .booking-embed-scope .address{font-size:13px; line-height:1.2; margin-top:4px; color:gold}
    html.vip-home-page .booking-embed-scope .header-right{display:flex; align-items:center; gap:8px}
    html.vip-home-page .booking-embed-scope .social-icon .icon{width:20px;height:20px;color:gold}
    html.vip-home-page .booking-embed-scope .social-icon:hover .icon{color:#0078ff}

    html.vip-home-page .booking-embed-scope /* ---------- Main wrapper ---------- */
    .booking-wrapper{
      width:100%;
      max-width:1200px;
      display:flex;
      flex-direction:column; /* stacked by default (mobile-first) */
      gap:1.5rem;
      background:var(--panel-bg);
      padding:12px;
      border-radius:25px;
      border:1px solid gold;
      box-sizing:border-box;
    }

    html.vip-home-page .booking-embed-scope /* reservation help row (kept padding as stated) */
    #reservation-help-row{
      display:flex;
      align-items:center;
      gap:12px;
      padding:12px 16px;
      background:#000000;
      border:1px solid gold;
      border-radius:6px;
      color:var(--muted);
      flex-wrap:wrap;
      box-sizing:border-box;
    }
    html.vip-home-page .booking-embed-scope #reservation-help-row .msg{flex:1}
    html.vip-home-page .booking-embed-scope #chatIconWrapper{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#f5f5f5;border:1px solid #ddd;cursor:pointer;transition:transform .12s}
    html.vip-home-page .booking-embed-scope #chatIconWrapper:hover{transform:scale(1.04)}

    

    
    
    
    

    
    
    
    
    
    
    

    html.vip-home-page .booking-embed-scope /* booking info form area */
    .form-step{
      flex:1;
      min-width:260px;
      background:transparent;
      border-radius:6px;
      padding:12px;
      color:gold;
      box-sizing:border-box;
    }
    html.vip-home-page .booking-embed-scope .form-step input,
html.vip-home-page .booking-embed-scope .form-step select,
html.vip-home-page .booking-embed-scope .form-step textarea{
      width:100%;
      max-width:100%;
      padding:.5rem;
      margin-top:.25rem;
      border-radius:6px;
      border:1px solid #444;
      background:#2a2a2f;
      color:#eee;
      font-size:14px;
      box-sizing:border-box;
    }
    html.vip-home-page .booking-embed-scope label{display:block;margin-top:1rem;font-weight:600;color:var(--muted)}
    html.vip-home-page .booking-embed-scope .form-navigation{margin-top:12px;display:flex;gap:8px}

    html.vip-home-page .booking-embed-scope input[type="submit"],
html.vip-home-page .booking-embed-scope .btn,
html.vip-home-page .booking-embed-scope button{
      cursor:pointer;
      border-radius:6px;
      font-weight:600;
      border:0;
    }

    html.vip-home-page .booking-embed-scope input[type="submit"]{padding:.75rem 1.5rem;background:var(--blue);color:#fff}
    html.vip-home-page .booking-embed-scope input[type="submit"]:hover{background:#005fa3}

    html.vip-home-page .booking-embed-scope /* book image button preserved */
    /* BOOK NOW BUTTON Ã‚â€” normal state */
    #book_now{
      width: 200px;
      height: 50px;
      background: #000 url("../img/bgbook.jpg") center/cover no-repeat;
      border: 0;
      cursor: pointer;
      transition: opacity .2s ease;
    }
    
    html.vip-home-page .booking-embed-scope /* LOADING STATE */
    #book_now.loading{
      background: #000 url("../button_loading.gif") center center no-repeat !important;
      background-size: 40px 40px !important; /* keeps similar aspect ratio */
      cursor: not-allowed;
      opacity: 0.8;
    }

    html.vip-home-page .booking-embed-scope /* Step transitions (kept as you had) */
    .form-step{transition:all .4s ease}
    html.vip-home-page .booking-embed-scope .form-step.hidden-left{transform:translateX(-100%);opacity:0;display:none}
    html.vip-home-page .booking-embed-scope .form-step.hidden-right{transform:translateX(100%);opacity:0;display:none}
    html.vip-home-page .booking-embed-scope .form-step.active{display:block;transform:none;opacity:1}

    html.vip-home-page .booking-embed-scope /* Success & errors */
    #successMessage{
      display:none;
      margin-top:20px;
      color:#39d353;
      font-size:18px;
      background:rgba(0,0,0,.6);
      outline:1px solid gold;
      padding:22px 15px;
      border-radius:8px;
      min-height:180px;
      box-sizing:border-box;
      align-items:center;
      justify-content:center;
      text-align:center;
    }
    html.vip-home-page .booking-embed-scope #successMessage.is-visible{display:flex}
    html.vip-home-page .booking-embed-scope #successMessage .success-badge{
      position:relative;
      width:220px;
      min-height:120px;
      display:flex;
      align-items:center;
      justify-content:center;
      margin:0 auto;
    }
    html.vip-home-page .booking-embed-scope #successMessage img{
      width:92px;
      height:92px;
      display:block;
      margin:24px auto 0;
    }
    html.vip-home-page .booking-embed-scope #successMessage p{
      position:absolute;
      top:0;
      left:50%;
      transform:translateX(-50%);
      margin:0;
      width:max-content;
      max-width:100%;
      color:#39d353;
      font-size:18px;
      line-height:1.25;
      font-weight:500;
      text-align:center;
    }

    html.vip-home-page .booking-embed-scope #errorModal{display:none;position:fixed;z-index:1400;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,0.5)}
    html.vip-home-page .booking-embed-scope #errorModalContent{background:#fff;margin:10% auto;padding:20px;border-radius:8px;width:320px;text-align:center}

    html.vip-home-page .booking-embed-scope /* booking-wrapper alternative styles for larger screens
       Keep the padding you had by taking them into account */
    @media (min-width: 992px){
      .booking-wrapper{flex-direction:row;align-items:flex-start;justify-content:center;padding:12px 18px}
      .booking-embed-scope .calendar{flex:0 0 360px}
      .booking-embed-scope .form-step{max-width:540px}
    }

    html.vip-home-page .booking-embed-scope /* ---------- Chat / reservation modal ---------- */
    .modal-background{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1300}
    html.vip-home-page .booking-embed-scope .modal{background:#fff;margin:8% auto;padding:20px;border-radius:12px;max-width:720px;width:90%;position:relative;box-shadow:0 5px 15px rgba(0,0,0,.3)}
    html.vip-home-page .booking-embed-scope .close-btn{position:absolute;right:14px;top:10px;font-size:22px;cursor:pointer;color:#333}
    html.vip-home-page .booking-embed-scope .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
    html.vip-home-page .booking-embed-scope .modal-close{background:transparent;border:0;font-size:20px;cursor:pointer}

    html.vip-home-page .booking-embed-scope /* chat area */
    .chat-container{display:flex;gap:12px}
    html.vip-home-page .booking-embed-scope .chat-main{flex:1;display:flex;flex-direction:column;height:320px;border:1px solid var(--card-border);border-radius:6px;overflow:hidden;background:#fff}
    html.vip-home-page .booking-embed-scope .chat-messages{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:10px;background:#fafafa}
    html.vip-home-page .booking-embed-scope .msg-row{display:flex;flex-direction:column;max-width:75%}
    html.vip-home-page .booking-embed-scope .msg-bubble{padding:10px 14px;border-radius:12px;font-size:14px}
    html.vip-home-page .booking-embed-scope .msg-incoming{background:#fff;border:1px solid #e6e6e6;color:#333;align-self:flex-start}
    html.vip-home-page .booking-embed-scope .msg-outgoing{background:var(--blue);color:#fff;border:1px solid #0070c0;align-self:flex-end}
    html.vip-home-page .booking-embed-scope .chat-input-row{display:flex;gap:8px;padding:10px;border-top:1px solid #eee;background:#fff}
    html.vip-home-page .booking-embed-scope .chat-right{width:300px;min-width:220px}
    html.vip-home-page .booking-embed-scope .chat-summary{background:#fff;border:1px solid var(--card-border);border-radius:6px;padding:10px;font-size:14px}

    html.vip-home-page .booking-embed-scope /* ---------- Reviews / footer ---------- */
    #googleReviews{
     display: flex;
  align-items: center;
  justify-content: center; /* keeps content centered */
  gap: 12px;
  background: #000;
  border: 1px solid gold;
  border-radius: 8px;
  margin: 20px auto; /* centers and adds vertical space */
  width: calc(100% - 40px); /* ensures alignment with other padded sections */
  max-width: 1200px; /* matches main layout container width */
  box-sizing: border-box;
  min-height: 220px; /* allows natural vertical flexibility */
  overflow: hidden;
    }
    html.vip-home-page .booking-embed-scope #googleReviews iframe{width:100%;height:100%;border:0}

    html.vip-home-page .booking-embed-scope footer{
      margin-top:12px;
      background:var(--panel-bg);
      outline:1px solid gold;
      color:white;
      margin-bottom:5px;
      border-radius:10px;
      width:100%;
      text-align:right;
      box-sizing:border-box;
    }

    html.vip-home-page .booking-embed-scope /* small tweaks & accessibility */
    h1{
      margin-top:0;
      font-size:clamp(1.5rem,4vw + .5rem,2.5rem);
      line-height:1.1;
      color:var(--gold);
      font-weight:bold;
      background:rgba(0,0,0,.5);
      border-radius:5px;padding:5px;text-align:center;outline:1px solid gold;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }

    html.vip-home-page .booking-embed-scope h3{font-weight:bold;color:gold;margin:0 0 .5rem 0}
    html.vip-home-page .booking-embed-scope .error{color:var(--danger);font-size:.9rem}
    html.vip-home-page .booking-embed-scope .notify_email{display:flex;align-items:center;gap:8px;font-size:14px;color:#333}
    html.vip-home-page .booking-embed-scope .notify_email input[type="checkbox"]{width:16px;height:16px;margin:0}

    html.vip-home-page .booking-embed-scope /* Floating chat icon (keeps current chat affordance) */
    #chatIconWrapper{position:relative; z-index:1400}

    html.vip-home-page .booking-embed-scope /* Responsive adjustments */
    @media (max-width:900px){
      body{padding:100px 12px 30px}
      .booking-embed-scope .booking-wrapper{gap:12px;padding:10px}
      .booking-embed-scope .calendar{flex-basis:auto; width:100%}
      .booking-embed-scope .calendar-grid{gap:8px}
      .booking-embed-scope .form-step{padding:10px}
      .booking-embed-scope #googleReviews{height:200px}
      .booking-embed-scope .chat-right{display:none} /* hide right column on smaller screens inside modal */
    }

    @media (max-width:600px){
      html.vip-home-page body{padding:85px 10px 20px}
      
      
      html.vip-home-page .booking-embed-scope #book_now{width:170px;height:44px}
      html.vip-home-page .booking-embed-scope h1{font-size:1.1rem;white-space:normal}
    }


   html.vip-home-page .booking-embed-scope /* Mobile / Tablet layout adjustment */
@media (max-width: 1024px){
  .calendar {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100%;
    margin: 0 auto;
    border-radius: 0; /* optional: makes it flush with wrapper edges */
  }

  .booking-embed-scope /* If calendar and form share a flex container */
  .main-wrapper, .booking-embed-scope .content-flex, .booking-embed-scope .form-calendar-wrapper{
    flex-direction: column;
    align-items: stretch;
  }

  .booking-embed-scope /* Optional: give a little breathing room between stacked sections */
  .bookingForm, .booking-embed-scope .calendar{
    margin-bottom: 20px;
  }
}

html.vip-home-page .booking-embed-scope /* Inline checkbox label fix */
.inline-checkbox-label{
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  font-family: Arial, sans-serif;
  margin-top: 1rem;
  font-weight: 600;
  color: var(--muted);
}
html.vip-home-page .booking-embed-scope .inline-checkbox-label input[type="checkbox"]{
  margin: 0;
  transform: scale(1.1);
}
html.vip-home-page .booking-embed-scope .invalid-field{
  border: 2px solid red !important;
  border-radius: 6px;
}
html.vip-home-page .booking-embed-scope .field-error{
  border: 2px solid red !important;
  
  border-radius: 6px;
}

html.vip-home-page .booking-embed-scope /* ---------- Room Preview ---------- */
#roomPreviewSection{
  width:100%;
  box-sizing:border-box;
  padding: 10px 12px;
}

html.vip-home-page .booking-embed-scope .room-preview-card{
  width:100%;
  max-width:1200px;
  margin: 0 auto;
  background: rgba(0,0,0,.70);
  border: 1px solid gold;
  border-radius: 14px;
  padding: 12px;
  box-sizing:border-box;
}

html.vip-home-page .booking-embed-scope .room-preview-title{
  font-weight:700;
  color: var(--gold);
  margin-bottom: 10px;
  text-align:center;
}

html.vip-home-page .booking-embed-scope #roomPreviewImg{
  width:100%;
  height:auto;
  display:block;
  border-radius: 12px;
  border: 1px solid rgba(221,190,90,0.6);
  max-height: 420px;
  object-fit: cover;
}

html.vip-home-page .booking-embed-scope .room-preview-caption{
  margin-top:10px;
  font-size:14px;
  color: #ddd;
  text-align:center;
}

html.vip-home-page .booking-embed-scope /* Tablet */
@media (max-width: 1024px){
  #roomPreviewImg{
    max-height: 360px;
  }
}

html.vip-home-page .booking-embed-scope /* Mobile */
@media (max-width: 600px){
  #roomPreviewSection{
    padding: 8px 10px;
  }
  .booking-embed-scope .room-preview-card{
    padding: 10px;
    border-radius: 12px;
  }
  .booking-embed-scope #roomPreviewImg{
    max-height: 260px;
  }
}
  
html.vip-home-page .booking-embed-scope{
  margin:0;
  min-height:auto;
  background:
    linear-gradient(rgba(0,0,0,.3), rgba(0,0,0,.3));
  display:block;
  justify-content:initial;
  padding:24px 20px 28px;
  box-sizing:border-box;
}
html.vip-home-page .booking-modal-backdrop.has-inline-booking .booking-modal-dialog{
  width:min(1240px, calc(100vw - 32px));
  height:min(92vh, 1100px);
  max-width:1240px;
  padding:0;
  overflow:hidden;
  background:#050505;
  border:1px solid rgba(212,175,55,.35);
}
html.vip-home-page .booking-modal-backdrop.has-inline-booking .booking-modal-body{
  height:calc(92vh - 68px);
  overflow:auto;
  background:#050505;
}
html.vip-home-page .booking-modal-backdrop.has-inline-booking .booking-modal-topbar{
  position:sticky;
  top:0;
  z-index:5;
}


/* --- booking modal desktop side-by-side layout override --- */
html.vip-home-page .booking-modal-backdrop.has-inline-booking .booking-wrapper{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:24px !important;
  width:100% !important;
  max-width:1200px !important;
  margin:0 auto !important;
}



html.vip-home-page .booking-modal-backdrop.has-inline-booking .form-step{
  flex:1 1 0 !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
}

html.vip-home-page .booking-modal-backdrop.has-inline-booking .form-step.active{
  display:block !important;
}

html.vip-home-page .booking-modal-backdrop.has-inline-booking .form-step.hidden-left,
html.vip-home-page .booking-modal-backdrop.has-inline-booking .form-step.hidden-right{
  display:none !important;
}

html.vip-home-page .booking-modal-backdrop.has-inline-booking .booking-modal-body{
  padding:0 0 18px !important;
}

html.vip-home-page .booking-modal-backdrop.has-inline-booking .booking-embed-scope{
  padding:24px 20px 28px !important;
}

@media (max-width: 991.98px){
  html.vip-home-page .booking-modal-backdrop.has-inline-booking .booking-wrapper{
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:18px !important;
  }

  html.vip-home-page .booking-modal-backdrop.has-inline-booking .form-step{
    width:100% !important;
    max-width:640px !important;
    min-width:0 !important;
    margin:0 auto !important;
  }

  
}

        
/* ===== index.html extracted style block 3 ===== */

      html.vip-home-page #vipChatLauncher{position:fixed;right:18px;bottom:28px;z-index:99999;display:flex;align-items:center;gap:10px}
      html.vip-home-page #vipChatBtn{width:56px;height:56px;border-radius:999px;border:0;cursor:pointer;background:#00adb5;color:#fff;box-shadow:0 10px 22px rgba(0,0,0,0.25);display:grid;place-items:center}
      html.vip-home-page #vipChatBtn svg{width:26px;height:26px;display:block}
      html.vip-home-page #vipChatBtn:active{transform:translateY(1px)}
      html.vip-home-page #vipChatHint{background:#111;color:#fff;font-size:12px;padding:8px 10px;border-radius:999px;box-shadow:0 10px 22px rgba(0,0,0,0.18);opacity:0.95}

      html.vip-home-page #vipChatWindow{position:fixed;right:18px;bottom:86px;width:min(380px,calc(100vw - 36px));height:520px;max-height:calc(100vh - 140px);z-index:99999;display:none;flex-direction:column;border-radius:16px;overflow:hidden;box-shadow:0 16px 36px rgba(0,0,0,0.28);background:#fff}
      html.vip-home-page #vipChatHeader{background:#111;color:gold;display:flex;align-items:center;justify-content:space-between;padding:10px 12px}
      html.vip-home-page #vipChatHeader strong{font-size:14px;letter-spacing:0.2px}
      html.vip-home-page #vipChatClose{border:0;background:transparent;color:#fff;font-size:20px;cursor:pointer;line-height:1}

      html.vip-home-page #vipChatBody{flex:1;overflow:auto;padding:12px;background:#f6f7f8}
      html.vip-home-page .vipMsgRow{display:flex;margin:8px 0}
      html.vip-home-page .vipMsgRow.user{justify-content:flex-end}
      html.vip-home-page .vipMsgBubble{max-width:86%;padding:10px 12px;border-radius:14px;font-size:13px;line-height:1.35;white-space:pre-wrap;word-break:break-word}
      html.vip-home-page .vipMsgRow.bot .vipMsgBubble{background:#fff;border:1px solid #e6e6e6}
      html.vip-home-page .vipMsgRow.user .vipMsgBubble{background:#00adb5;color:#fff}

      html.vip-home-page #vipChatQuick{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid #eee}
      html.vip-home-page .vipQuickBtn{border:1px solid #ddd;background:#fff;border-radius:999px;padding:7px 10px;font-size:12px;cursor:pointer}
      html.vip-home-page .vipQuickBtn:hover{background:#f4f4f4}

      html.vip-home-page #vipChatInputBar{display:flex;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid #eee}
      html.vip-home-page #vipChatInput{flex:1;border:1px solid #ddd;border-radius:999px;padding:10px 12px;font-size:13px;outline:none;min-width:0}
      html.vip-home-page #vipChatSend{border:0;border-radius:999px;background:#00adb5;color:#fff;padding:10px 14px;font-size:13px;cursor:pointer}
      html.vip-home-page #vipChatSend:disabled{opacity:0.55;cursor:not-allowed}

      html.vip-home-page .vipBookCard{
        margin-top:8px;
        padding:10px;
        border:1px solid rgba(0,0,0,.06);
        border-radius:12px;
        background:#111;
        color:#fff;
        box-sizing:border-box;
        overflow:hidden;
      }
      html.vip-home-page .vipBookCard *{ box-sizing:border-box; }
      html.vip-home-page .vipBookHelperRow{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap: 10px;
        margin: 6px 0 10px;
        flex-wrap:wrap;
      }
      html.vip-home-page .vipBookHelperRow .note{
        font-size: 11px;
        color: rgba(255,255,255,.70);
        line-height: 1.35;
      }
      html.vip-home-page .vipBookLink{ display:inline-flex; align-items:center; justify-content:center; text-decoration:none; color:gold; font-size:12px; }

      html.vip-home-page .vipBookGrid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:8px; }
      @media (max-width:420px){
        html.vip-home-page .vipBookGrid{ grid-template-columns:1fr; }
      }

      html.vip-home-page .vipBookBtn{
        background:#0f0f10; color:#fff; border:1px solid rgba(255,255,255,.14);
        border-radius:12px; padding:9px 10px; cursor:pointer; font-size:12px; line-height:1.2;
        transition: transform .08s ease, background .2s ease, border-color .2s ease;
        max-width:100%;
        white-space:normal;
        word-break:break-word;
      }
      html.vip-home-page .vipBookBtn:hover{ transform: translateY(-1px); border-color: rgba(255,255,255,.28); }
      html.vip-home-page .vipBookPrimary{ background: rgba(255,187,0,.14); border-color: rgba(255,187,0,.35); }

      html.vip-home-page .vipBookRow{
        display:flex;
        gap:8px;
        align-items:stretch;
        flex-wrap:wrap;
        flex-direction:column;
      }
      html.vip-home-page .vipBookRow label{ font-size:11px; opacity:.9; }
      html.vip-home-page .vipBookRow select{
        width:100%;
        max-width:100%;
        background:#0f0f10; color:#fff; border:1px solid rgba(255,255,255,.14);
        border-radius:10px; padding:8px 10px; font-size:12px;
        min-width:0;
      }

      html.vip-home-page .vipMiniCal{
        margin-top: 8px;
        border:1px solid rgba(255,255,255,.10);
        border-radius: 12px;
        background: rgba(255,255,255,.05);
        overflow:hidden;
        width: max-content;
      }
      html.vip-home-page .vipMiniCalTop{
        display:flex;
        align-items:center;
        justify-content:space-between;
        padding: 8px 8px;
        border-bottom:1px solid rgba(255,255,255,.08);
      }
      html.vip-home-page .vipMiniCalTop .title{
        font-weight:900;
        font-size: 12px;
        color: rgba(255,255,255,.92);
        letter-spacing: .2px;
      }
      html.vip-home-page .vipMiniCalNav{
        width: 34px;
        height: 30px;
        border-radius: 10px;
        border: 1px solid rgba(255,255,255,.14);
        background: rgba(0,0,0,.25);
        color: rgba(255,255,255,.96);
        cursor:pointer;
        display:grid;
        place-items:center;
        font-size: 16px;
        line-height: 1;
      }
      html.vip-home-page .vipMiniCalNav:hover{ filter: brightness(1.06); }
      html.vip-home-page .vipMiniCalGrid{
        display:grid;
        grid-template-columns: repeat(7, 1fr);
        gap: 6px;
        padding: 10px;
      }
      html.vip-home-page .vipMiniCalDow{
        font-size: 10px;
        color: rgba(255,255,255,.68);
        text-align:center;
        padding: 2px 0 4px;
        letter-spacing: .2px;
      }
      html.vip-home-page .vipMiniCalDay{
        height: 34px;
        width: 34px;
        border-radius: 10px;
        border: 1px solid rgba(255,255,255,.10);
        background: rgba(0,0,0,.22);
        color: rgba(255,255,255,.92);
        cursor:pointer;
        font-size: 12px;
        display:grid;
        place-items:center;
        user-select:none;
        position: relative;
      }
      html.vip-home-page .vipMiniCalDay:hover{ filter: brightness(1.06); }
      html.vip-home-page .vipMiniCalDay:disabled{
        opacity:.35;
        cursor: not-allowed;
      }
      html.vip-home-page .vipMiniCalDay.selected{
        background: linear-gradient(135deg, rgba(212,175,55,.92), rgba(193,18,31,.70));
        border-color: rgba(255,255,255,.22);
        font-weight: 900;
      }

      html.vip-home-page .vipMiniCalCenter{ display:flex; justify-content:center; }
      html.vip-home-page .vipMiniCal{ transform: scale(0.725); transform-origin: top center; margin: 0 auto; }

      html.vip-home-page .vipMiniDot{
        width: 7px;
        height: 7px;
        border-radius: 999px;
        background: #58d68d;
        position: absolute;
        left: 50%;
        bottom: 4px;
        transform: translateX(-50%);
        pointer-events: none;
      }
    
/* ===== book.php extracted style block 1 ===== */

    html.vip-book-page{
      --bg: #0b0b0b;
      --line: rgba(255,255,255,0.12);
      --text: #f4f1ea;
      --muted: rgba(244,241,234,0.72);
      --gold: #d4af37;
      --container: 1320px;
      --nav-h: 90px;
      --card-border: #e0e0e0;
      --blue: #0078d4;
      --danger: #b32d2e;
      --panel-bg: rgba(0,0,0,.7);
    }

    html.vip-book-page *{ box-sizing: border-box; }
    html.vip-book-page{ scroll-behavior: smooth; }

    html.vip-book-page body{
      margin: 0;
      color: var(--text);
      font-family: "Inter", Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      min-height: 100vh;
      overflow-x: hidden;
      background:
        linear-gradient(rgba(0,0,0,.3), rgba(0,0,0,.3)),
        url("../img/o.jpg") center top / cover fixed no-repeat;
    }

    html.vip-book-page a{ color: inherit; text-decoration: none; }
    html.vip-book-page img,
html.vip-book-page iframe{ display: block; max-width: 100%; }
    html.vip-book-page button,
html.vip-book-page input,
html.vip-book-page textarea,
html.vip-book-page select{ font: inherit; }

    html.vip-book-page .container{
      width: min(calc(100% - 32px), var(--container));
      margin: 0 auto;
    }

    /* Header from index.html v2 - unchanged */
    html.vip-book-page .topbar{
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 1000;
      backdrop-filter: blur(18px);
      background: rgba(9,9,9,0.55);
      border-bottom: 1px solid rgba(255,255,255,0.08);
    }

    html.vip-book-page .topbar-inner{
      min-height: var(--nav-h);
      display: grid;
      grid-template-columns: auto minmax(280px, 1fr) auto;
      align-items: center;
      gap: 18px;
    }

    html.vip-book-page .header-contact{
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      flex-wrap: wrap;
      text-align: center;
      color: var(--gold);
      font-size: 12px;
      line-height: 1.35;
      letter-spacing: 0.05em;
    }

    html.vip-book-page .header-contact a{ color: var(--gold); }
    html.vip-book-page .header-contact span{ white-space: nowrap; }

    html.vip-book-page .brand{
      display: inline-flex;
      align-items: center;
      gap: 16px;
    }

    html.vip-book-page .brand-mark{
      width: 86px;
      height: 52px;
      background: url("../img/IMG_20250930_183110_269.jpg") center center / contain no-repeat;
      flex: 0 0 auto;
      filter: drop-shadow(0 10px 24px rgba(0,0,0,0.36));
    }

    html.vip-book-page .brand-copy{
      display: flex;
      flex-direction: column;
      gap: 2px;
    }

    html.vip-book-page .brand-kicker{
      font-size: 11px;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: var(--muted);
    }

    html.vip-book-page .brand-title{
      font-family: "Cormorant Garamond", serif;
      font-size: clamp(22px, 2vw, 30px);
      line-height: 1;
      font-weight: 600;
      letter-spacing: 0.02em;
    }

    html.vip-book-page .top-actions{
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    html.vip-book-page .social-link,
html.vip-book-page .ghost-link,
html.vip-book-page .solid-link{
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
      will-change: transform;
    }

    html.vip-book-page .social-link{
      width: 42px;
      height: 42px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,0.03);
      color: var(--text);
      font-size: 17px;
    }

    html.vip-book-page .ghost-link,
html.vip-book-page .solid-link{
      min-height: 48px;
      padding: 0 22px;
      font-size: 13px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      font-weight: 700;
    }

    html.vip-book-page .ghost-link{
      border: 1px solid var(--line);
      background: rgba(255,255,255,0.03);
      color: var(--text);
    }

    html.vip-book-page .solid-link{
      border: 1px solid rgba(212,175,55,0.4);
      background: linear-gradient(135deg, rgba(212,175,55,0.95), rgba(176,133,26,0.95));
      color: #111;
    }

    html.vip-book-page .social-link:hover,
html.vip-book-page .ghost-link:hover,
html.vip-book-page .solid-link:hover{
      transform: translateY(-1px);
    }

    /* Main booking page */
    html.vip-book-page .page-wrap{
      width: 100%;
      padding: 120px 20px 40px;
    }

    html.vip-book-page .booking-main{
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
    }

    html.vip-book-page .booking-wrapper{
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 1.5rem;
      background: var(--panel-bg);
      padding: 12px;
      border-radius: 25px;
      border: 1px solid var(--gold);
    }

    

    

    

    

    

    

    

    

    

    

    

    

    html.vip-book-page .form-step{
      flex: 1;
      min-width: 260px;
      background: transparent;
      border-radius: 6px;
      padding: 12px;
      color: var(--gold);
      transition: all .4s ease;
    }

    html.vip-book-page .form-step input,
html.vip-book-page .form-step select,
html.vip-book-page .form-step textarea{
      width: 100%;
      max-width: 100%;
      padding: .5rem;
      margin-top: .25rem;
      border-radius: 6px;
      border: 1px solid #444;
      background: #2a2a2f;
      color: #eee;
      font-size: 14px;
      box-sizing: border-box;
    }

    html.vip-book-page .form-step textarea{
      min-height: 120px;
      resize: vertical;
    }

    html.vip-book-page label{
      display: block;
      margin-top: 1rem;
      font-weight: 600;
      color: var(--muted);
    }

    html.vip-book-page .form-navigation{
      margin-top: 12px;
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }

    html.vip-book-page input[type="submit"],
html.vip-book-page .btn,
html.vip-book-page button{
      cursor: pointer;
      border-radius: 6px;
      font-weight: 600;
      border: 0;
    }

    html.vip-book-page .btn{
      padding: .75rem 1.25rem;
    }

    html.vip-book-page .btn-primary{
      background: var(--blue);
      color: #fff;
    }

    html.vip-book-page .btn-secondary{
      background: rgba(255,255,255,0.12);
      color: #fff;
      border: 1px solid rgba(255,255,255,0.14);
    }

    html.vip-book-page #book_now{
      width: 200px;
      height: 50px;
      background: #000 url("../img/bgbook.jpg") center / cover no-repeat;
      border: 0;
      cursor: pointer;
      transition: opacity .2s ease;
    }

    html.vip-book-page #book_now.loading{
      background: #000 url("../button_loading.gif") center center no-repeat !important;
      background-size: 40px 40px !important;
      cursor: not-allowed;
      opacity: 0.8;
    }

    html.vip-book-page .form-step.hidden-left{
      transform: translateX(-100%);
      opacity: 0;
      display: none;
    }

    html.vip-book-page .form-step.hidden-right{
      transform: translateX(100%);
      opacity: 0;
      display: none;
    }

    html.vip-book-page .form-step.active{
      display: block;
      transform: none;
      opacity: 1;
    }

    html.vip-book-page h1{
      margin-top: 0;
      font-size: clamp(1.5rem, 4vw + .5rem, 2.5rem);
      line-height: 1.1;
      color: var(--gold);
      font-weight: bold;
      background: rgba(0,0,0,.5);
      border-radius: 5px;
      padding: 5px;
      text-align: center;
      outline: 1px solid var(--gold);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    html.vip-book-page h3{
      font-weight: bold;
      color: var(--gold);
      margin: 0 0 .5rem 0;
    }

    html.vip-book-page .inline-checkbox-label{
      display: inline-flex !important;
      align-items: center;
      gap: 8px;
      margin-top: 1rem;
      font-weight: 600;
      color: var(--muted);
      line-height: 1.5;
      flex-wrap: wrap;
    }

    html.vip-book-page .inline-checkbox-label input[type="checkbox"]{
      margin: 0;
      transform: scale(1.1);
    }

    html.vip-book-page .notify_email{
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 14px;
      color: #fff;
    }

    html.vip-book-page .notify_email input[type="checkbox"]{
      width: 16px;
      height: 16px;
      margin: 0;
    }

    html.vip-book-page .invalid-field,
html.vip-book-page .field-error{
      border: 2px solid red !important;
      border-radius: 6px;
    }

    html.vip-book-page #roomPreviewSection{
      width: 100%;
      box-sizing: border-box;
      padding: 10px 12px;
    }

    html.vip-book-page .room-preview-card{
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
      background: rgba(0,0,0,.70);
      border: 1px solid var(--gold);
      border-radius: 14px;
      padding: 12px;
      box-sizing: border-box;
    }

    html.vip-book-page .room-preview-title{
      font-weight: 700;
      color: var(--gold);
      margin-bottom: 10px;
      text-align: center;
    }

    html.vip-book-page #roomPreviewImg{
      width: 100%;
      height: auto;
      display: block;
      border-radius: 12px;
      border: 1px solid rgba(221,190,90,0.6);
      max-height: 420px;
      object-fit: cover;
    }

    html.vip-book-page .room-preview-caption{
      margin-top: 10px;
      font-size: 14px;
      color: #ddd;
      text-align: center;
    }

    html.vip-book-page .site-footer{
      padding: 76px 0 28px;
      background: linear-gradient(180deg, rgba(0,0,0,0.4), rgba(0,0,0,0.4));
      border-top: 1px solid rgba(255,255,255,0.05);
      margin-top: 20px;
    }

    html.vip-book-page .footer-grid{
      display: grid;
      grid-template-columns: 1.2fr 1fr 1fr;
      gap: 22px;
      margin-bottom: 34px;
    }

    html.vip-book-page .footer-card{
      padding: 28px;
      border-radius: 24px;
      border: 1px solid var(--line);
      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.018));
    }

    html.vip-book-page .footer-card h3{
      margin: 0 0 16px;
      font-family: "Cormorant Garamond", serif;
      font-size: 34px;
      line-height: 1;
      font-weight: 600;
      color: var(--gold);
    }

    html.vip-book-page .footer-card ul{
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      gap: 10px;
      color: var(--muted);
      line-height: 1.7;
      font-size: 14px;
    }

    html.vip-book-page .footer-card p{
      margin: 0;
      color: var(--muted);
      line-height: 1.8;
      font-size: 14px;
    }

    html.vip-book-page .footer-bottom{
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
      flex-wrap: wrap;
      padding-top: 18px;
      border-top: 1px solid rgba(255,255,255,0.06);
      color: var(--gold);
      font-size: 12px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    html.vip-book-page .footer-bottom a{
      color: #ff2b2b;
      font-weight: 800;
    }

    html.vip-book-page #successMessage{
      display: none;
      min-height: 360px;
      margin-top: 20px;
      padding: 42px 20px;
      box-sizing: border-box;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      background: rgba(0,0,0,.72);
      border: 1px solid rgba(221,190,90,.55);
      border-radius: 16px;
    }

    html.vip-book-page #successMessage.is-visible{
      display: flex;
    }

    html.vip-book-page #successMessage .success-check{
      width: 104px;
      height: 104px;
      display: block;
      margin: 0 auto 18px;
      color: #25b85a;
    }

    html.vip-book-page #successMessage h2{
      margin: 0 0 10px;
      padding: 0;
      outline: 0;
      background: transparent;
      color: #25b85a;
      font-size: clamp(32px, 5vw, 48px);
      line-height: 1.12;
      white-space: normal;
      overflow: visible;
      text-overflow: clip;
    }

    html.vip-book-page #successMessage p{
      margin: 0;
      color: #fff;
      font-size: 17px;
      line-height: 1.45;
    }

    html.vip-book-page #errorModal{
      display: none;
      position: fixed;
      z-index: 1400;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background: rgba(0,0,0,0.5);
      padding: 20px;
    }

    html.vip-book-page #errorModalContent{
      background: #fff;
      margin: 10% auto;
      padding: 20px;
      border-radius: 8px;
      width: min(320px, 100%);
      text-align: center;
      color: #111;
      position: relative;
    }

    html.vip-book-page .close-btn{
      position: absolute;
      right: 14px;
      top: 10px;
      font-size: 22px;
      cursor: pointer;
      color: #333;
    }

    @media (min-width: 992px){
      html.vip-book-page .booking-wrapper{
        flex-direction: row;
        align-items: flex-start;
        justify-content: center;
        padding: 12px 18px;
      }

      

      html.vip-book-page .form-step{
        max-width: 540px;
      }
    }

    @media (max-width: 1200px){
      html.vip-book-page .topbar-inner{
        grid-template-columns: 1fr;
        justify-items: center;
        padding: 14px 0;
      }

      html.vip-book-page .top-actions{ justify-content: center; }
      html.vip-book-page .header-contact{ font-size: 11px; }
      html.vip-book-page .footer-grid{ grid-template-columns: 1fr; }
    }

    @media (max-width: 1024px){
      

      html.vip-book-page .bookingForm{
        margin-bottom: 20px;
      }

      html.vip-book-page #roomPreviewImg{
        max-height: 360px;
      }
    }

    @media (max-width: 900px){
      html.vip-book-page .page-wrap{ padding: 100px 12px 30px; }
      html.vip-book-page .booking-wrapper{ gap: 12px; padding: 10px; }
      
      
      html.vip-book-page .form-step{ padding: 10px; }
    }

    @media (max-width: 767.98px){
      html.vip-book-page{ --nav-h: 164px; }

      html.vip-book-page .topbar-inner{
        min-height: var(--nav-h);
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 12px 0;
      }

      html.vip-book-page .brand{ justify-content: center; }
      html.vip-book-page .brand-mark{ width: 70px; height: 44px; }
      html.vip-book-page .brand-kicker{ font-size: 10px; letter-spacing: 0.18em; }
      html.vip-book-page .brand-title{ font-size: 22px; }
      html.vip-book-page .top-actions{ justify-content: center; }
      html.vip-book-page .social-link{ width: 40px; height: 40px; }
      html.vip-book-page .ghost-link,
html.vip-book-page .solid-link{ min-height: 44px; padding: 0 18px; }
      html.vip-book-page .header-contact{ font-size: 10px; gap: 8px; }
      html.vip-book-page .footer-bottom{ font-size: 11px; letter-spacing: 0.06em; }
    }

    @media (max-width: 600px){
      html.vip-book-page .page-wrap{ padding: 85px 10px 20px; }
      
      
      html.vip-book-page #book_now{ width: 170px; height: 44px; }
      html.vip-book-page h1{ font-size: 1.1rem; white-space: normal; }
      html.vip-book-page #roomPreviewSection{ padding: 8px 10px; }
      html.vip-book-page .room-preview-card{ padding: 10px; border-radius: 12px; }
      html.vip-book-page #roomPreviewImg{ max-height: 260px; }
    }
  

/* ===== Shared utility/state styles formerly inline in HTML/JS ===== */
.vip-experience-title { font-size: clamp(38px, 4.2vw, 62px); }
.vip-gold-text { color: var(--gold); }
.vip-booking-gold-note { color: gold; }
.vip-required { color: red; }
.vip-recaptcha-wrap { margin-top: 10px; }
.vip-notify-text { color: #ffffff; }
.vip-note-textarea { width: 90% !important; }
.vip-field-invalid { border-color: rgba(217,65,65,0.95) !important; }
.vip-is-hidden { display: none !important; }
.vipMiniCalSpacer { width: 34px; height: 34px; }
.vipBookActions { margin-top: 10px; }
.vipBookStrongHeading { font-weight: 900; margin-bottom: 8px; }
.vipBookSummaryText { font-size: 12px; color: rgba(255,255,255,.74); white-space: pre-wrap; }
.vipBookEditList { font-size: 12px; color: rgba(255,255,255,.80); white-space: pre-wrap; }

html.vip-home-page #successModal.is-visible { display: flex; }
html.vip-home-page #vipChatWindow.is-open { display: flex; }
html.vip-home-page .booking-embed-scope #errorModal.is-visible,
html.vip-book-page #errorModal.is-visible { display: block; }
