/* ========== SKIP LINK ========== */
.skip-link{position:absolute;top:-100px;left:0;background:var(--accent);color:#fff;padding:.75rem 1.5rem;border-radius:0 0 10px 0;text-decoration:none;font-weight:700;z-index:10000;transition:top .2s}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{top:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ========== RESET & TOKENS ========== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#0a0e1a;
  --bg-2:#111726;
  --bg-3:#1a2238;
  --surface:rgba(30,58,95,.15);
  --surface-hover:rgba(30,58,95,.25);
  --border:rgba(30,58,95,.25);
  --border-bright:rgba(42,82,152,.40);
  --text:#f0f1f5;
  --text-2:#a0a8be;
  --text-3:#a8b0c4;
  --accent:#2a5298;
  --accent-light:#6ba3e0;
  --accent-dark:#1e3a5f;
  --accent-2:#1e3a5f;
  --green:#22c55e;
  --red:#ef4444;
  --gradient:linear-gradient(135deg,#1e3a5f 0%,#2a5298 100%);
  --gradient-subtle:linear-gradient(135deg,rgba(30,58,95,.20),rgba(42,82,152,.15));
  --radius:16px;
  --radius-sm:10px;
  --radius-lg:24px;
  --max:1200px;
  --font:-apple-system,BlinkMacSystemFont,'Inter',sans-serif;
  --mono:'SF Mono','Fira Code',monospace;
  --transition:all .3s cubic-bezier(.4,0,.2,1);
}

html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* ========== AMBIENT BACKGROUND ========== */
.ambient{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.ambient::before,.ambient::after{content:'';position:absolute;border-radius:50%;filter:blur(120px);opacity:.12;animation:float 20s ease-in-out infinite}
.ambient::before{width:600px;height:600px;background:var(--accent-dark);top:-200px;left:-100px}
.ambient::after{width:500px;height:500px;background:var(--accent);bottom:-100px;right:-100px;animation-delay:-10s}
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.95)}}

/* ========== NAV ========== */
.nav{position:sticky;top:0;z-index:100;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:rgba(10,14,26,.7);border-bottom:1px solid var(--border)}
.nav-inner{max-width:var(--max);margin:0 auto;padding:.875rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:#fff;font-size:1.75rem;font-weight:800;letter-spacing:-.02em}
.brand-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center}
.brand-icon img{width:40px;height:40px}
.brand-text{color:#fff}
.nav-links{display:flex;align-items:center;gap:.25rem;list-style:none}
.nav-links a{padding:.5rem .875rem;color:#d0d8e8;text-decoration:none;font-size:.875rem;font-weight:600;border-radius:8px;transition:var(--transition)}
.nav-links a:hover{color:var(--text);background:var(--surface)}
.nav-mobile-only{display:none}
.nav-cta{display:flex;align-items:center;gap:.75rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;border-radius:10px;text-decoration:none;transition:var(--transition);border:none;cursor:pointer;font-family:inherit}
.btn-ghost{color:var(--text-2);background:none}
.btn-ghost:hover{color:var(--text);background:var(--surface)}
.btn-primary{background:var(--gradient);color:#fff;box-shadow:0 4px 20px rgba(30,58,95,.25)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 28px rgba(30,58,95,.35)}
.btn-lg{padding:.875rem 2rem;font-size:1rem;border-radius:12px}
.nav-toggle{display:none;background:none;border:none;color:var(--text);font-size:1.5rem;cursor:pointer}

/* ========== HERO ========== */
.hero{position:relative;z-index:1;padding:4rem 2rem 2rem;max-width:var(--max);margin:0 auto}
.hero-bg{position:absolute;top:0;left:0;right:0;height:600px;z-index:0;background:url('/hero-bg-1200w.webp') center center/cover no-repeat;pointer-events:none}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,14,26,.7) 0%,rgba(10,14,26,.85) 50%,var(--bg) 100%)}
.hero-inner{position:relative;z-index:1;max-width:var(--max);margin:0 auto;padding:4rem 2rem 2rem}
.hero-row{position:relative;display:flex;align-items:stretch;gap:2rem;margin-bottom:1.5rem}
.hero-text-card{position:relative;z-index:2;flex:0 0 63%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;backdrop-filter:blur(10px)}
.hero-image-card{position:absolute;top:0;right:0;bottom:0;width:37%;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-lg);z-index:1}
.hero-image-card img{height:115%;width:161%;object-fit:cover;object-position:right center;max-width:none}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .875rem;background:var(--surface-hover);border:1px solid var(--border);border-radius:100px;font-size:.75rem;font-weight:600;color:var(--text-2);margin-bottom:1.25rem}
.hero-badge .dot{width:8px;height:8px;background:#22c55e;border-radius:50%;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(34,197,94,.4)}50%{opacity:.8;box-shadow:0 0 0 8px rgba(34,197,94,0)}}
.hero-text-card h1{font-size:3rem;font-weight:900;line-height:1.1;letter-spacing:-.03em;margin-bottom:1rem}
.hero-text-card h1 .grad{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}
.hero-text-card .sub{font-size:1.125rem;color:var(--text-2);line-height:1.6;margin-bottom:1.5rem}
.hero-text-card .rfp-tab{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--accent-light);font-size:.8125rem;font-weight:600;padding:.5rem 1rem .625rem;background:var(--surface-hover);border:1px solid var(--border);border-radius:0 0 10px 10px;border-top:none;margin-bottom:0}
.hero-text-card .rfp-tab:hover{background:var(--surface)}

/* Rotating hero slides — hotelhuddle.com hub only */
.hero-rotating .hero-image-card{position:absolute;top:0;right:0;bottom:0;width:37%;overflow:hidden;z-index:1}
.hero-rotate-slides{position:relative;width:100%;min-height:280px}
.hero-rotate-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease-in-out;pointer-events:none;display:flex;flex-direction:column;justify-content:center}
.hero-rotate-slide.active{position:relative;opacity:1;pointer-events:auto;z-index:2}
.hero-rotating .hero-rotate-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center right;opacity:0;transition:opacity .8s ease-in-out}
.hero-rotate-img.active{opacity:1;z-index:2}
@media(max-width:900px){.hero-rotate-slides{min-height:220px}}

/* ========== SEARCH FORM ========== */
.search-form{width:100%;margin:0 auto;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:0 20px 60px rgba(0,0,0,.3);position:relative}
.search-form::before{content:'';position:absolute;inset:-1px;border-radius:var(--radius-lg);padding:1px;background:var(--gradient);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.3;pointer-events:none}
.search-row{display:flex;gap:.75rem;align-items:flex-end}
.search-field{flex:1;min-width:150px;display:flex;flex-direction:column;gap:.375rem;text-align:left}
.search-field label{font-size:.75rem;font-weight:600;color:#a8b0c4;text-transform:uppercase;letter-spacing:.05em}
.search-field input,.search-field select{padding:.75rem 1rem;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.9375rem;font-family:inherit;outline:none;transition:var(--transition)}
.search-field input:focus,.search-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(30,58,95,.12)}
.search-field input::placeholder{color:#a8b0c4}
.search-submit{padding:.75rem 1.75rem;background:var(--gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:700;font-size:.9375rem;cursor:pointer;transition:var(--transition);font-family:inherit;white-space:nowrap;box-shadow:0 4px 20px rgba(30,58,95,.25)}
.search-submit:hover{transform:translateY(-1px);box-shadow:0 6px 28px rgba(30,58,95,.35)}
.search-hint{margin-top:.75rem;font-size:.75rem;color:#a8b0c4;text-align:center}

.harper-tab:hover{background:var(--surface);color:var(--accent-light);text-decoration:none}
.room-selector{display:flex;flex-direction:column;gap:.25rem}
.room-selector label{font-size:.75rem;font-weight:600;color:#a8b0c4;text-transform:uppercase;letter-spacing:.05em}
.room-selector-control{display:flex;align-items:center;gap:0}
.room-btn{display:flex;align-items:center;justify-content:center;width:32px;height:38px;background:var(--bg-3);border:1px solid var(--border);color:var(--text);cursor:pointer;transition:var(--transition)}
.room-btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}
.room-btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.room-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.room-select{width:44px;height:38px;text-align:center;border:1px solid var(--border);border-radius:0;background:var(--bg-3);color:var(--text);font-size:.875rem;font-weight:700;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}
.room-select:focus{border-color:var(--accent)}

/* ========== TRUST BAR ========== */
.trust-bar{display:flex;justify-content:center;gap:3rem;margin:2.5rem 0;flex-wrap:wrap}
.trust-stat{text-align:center}
.trust-stat .num{font-size:2rem;font-weight:900;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
.trust-stat .label{font-size:.8125rem;color:#a8b0c4;margin-top:.25rem}

/* ========== SECTION GENERIC ========== */
section{position:relative;z-index:1;padding-top:5rem;padding-bottom:5rem;padding-left:max(2rem,calc(50% - 600px));padding-right:max(2rem,calc(50% - 600px))}
.section-label{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:.75rem;font-weight:600;color:var(--accent-light);margin-bottom:1rem}
.section-title{font-size:2.5rem;font-weight:900;letter-spacing:-.03em;margin-bottom:.75rem;line-height:1.1}
.section-title .grad{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.section-sub{font-size:1.0625rem;color:var(--text-2);max-width:560px;margin-bottom:3rem;line-height:1.6}

/* ========== HOW IT WORKS ========== */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;transition:var(--transition);position:relative;overflow:hidden}
.step::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient);opacity:0;transition:var(--transition)}
.step:hover{border-color:var(--border-bright);transform:translateY(-4px);background:var(--surface-hover)}
.step:hover::before{opacity:1}
.step-num{width:40px;height:40px;background:var(--gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:900;color:#fff;margin-bottom:1.25rem}
.step h3{font-size:1.125rem;font-weight:700;margin-bottom:.5rem}
.step p{font-size:.875rem;color:var(--text-2);line-height:1.6}

/* ========== STATS GRID ========== */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:3rem 0}
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;text-align:center;transition:var(--transition)}
.stat-card:hover{border-color:var(--border-bright);transform:translateY(-2px)}
.stat-card .icon{font-size:1.75rem;margin-bottom:.5rem}
.stat-card .val{font-size:1.75rem;font-weight:900;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1}
.stat-card .desc{font-size:.8125rem;color:#a8b0c4;margin-top:.25rem}

/* ========== COMPARISON ========== */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.compare-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.compare-card-header{padding:1rem 1.5rem;font-weight:700;font-size:.9375rem;display:flex;align-items:center;gap:.5rem}
.compare-card.bad .compare-card-header{background:rgba(239,68,68,.08);color:#fca5a5}
.compare-card.good .compare-card-header{background:rgba(34,197,94,.08);color:#86efac}
.compare-list{list-style:none;padding:1rem 1.5rem 1.5rem}
.compare-list li{padding:.625rem 0;font-size:.875rem;color:var(--text-2);display:flex;align-items:flex-start;gap:.625rem;border-bottom:1px solid var(--border)}
.compare-list li:last-child{border-bottom:none}
.compare-list .icon{flex-shrink:0;width:18px;height:18px;margin-top:1px}
.compare-card.bad .icon{color:#ef4444}
.compare-card.good .icon{color:#22c55e}

/* ========== DESTINATIONS ========== */
.dest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.dest-card{position:relative;aspect-ratio:3/2;border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:var(--transition);text-decoration:none}
.dest-card:hover{transform:translateY(-4px) scale(1.02)}
.dest-card img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}
.dest-card:hover img{transform:scale(1.08)}
.dest-card::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,14,26,.95) 0%,rgba(10,14,26,.5) 50%,transparent 100%)}
.dest-card-content{position:absolute;bottom:0;left:0;right:0;padding:1rem;z-index:1}
.dest-card-name{font-size:1.0625rem;font-weight:700;color:#fff}
.dest-card-state{font-size:.75rem;color:#a8b0c4}
.dest-card-count{font-size:.75rem;font-weight:600;color:var(--accent);margin-top:.25rem}

/* ========== FAQ ========== */
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}
.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;transition:var(--transition)}
.faq-item:hover{border-color:var(--border-bright)}
.faq-q{padding:1.125rem 1.5rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:600;font-size:.9375rem;color:var(--text);background:none;border:none;width:100%;text-align:left;font-family:inherit;gap:1rem}
.faq-q .chev{width:20px;height:20px;color:#a8b0c4;flex-shrink:0;transition:transform .2s}
.faq-item.open .faq-q .chev{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;color:var(--text-2);font-size:.875rem;line-height:1.7}
.faq-item.open .faq-a{max-height:300px}
.faq-a-inner{padding:0 1.5rem 1.25rem}

/* ========== CTA ========== */
.cta-section{text-align:center;padding-top:2rem;padding-bottom:2rem;padding-left:max(2rem,calc(50% - 600px));padding-right:max(2rem,calc(50% - 600px));position:relative;z-index:1}
.cta-box{max-width:600px;margin:0 auto;background:var(--gradient-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);padding:3rem 2rem;position:relative;overflow:hidden}
.cta-box::before{content:'';position:absolute;inset:-1px;border-radius:var(--radius-lg);padding:1px;background:var(--gradient);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.4;pointer-events:none}
.cta-box h2{font-size:2rem;font-weight:900;letter-spacing:-.02em;margin-bottom:.75rem}
.cta-box p{color:var(--text-2);margin-bottom:1.5rem;font-size:1rem}

/* ========== FOOTER ========== */
.footer{border-top:1px solid var(--border);padding:3rem 2rem 2rem;position:relative;z-index:1;max-width:var(--max);margin:0 auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2rem}
.footer-brand{font-size:1.25rem;font-weight:800;margin-bottom:.5rem}
.footer-brand .grad{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.footer-tag{font-size:.875rem;color:#a8b0c4;margin-bottom:1rem}
.footer-col h4{font-size:.75rem;font-weight:700;color:#a8b0c4;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:.5rem}
.footer-col a{font-size:.875rem;color:var(--text-2);text-decoration:none;transition:var(--transition)}
.footer-col a:hover{color:var(--text)}
.footer-bottom{border-top:1px solid var(--border);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:#a8b0c4;flex-wrap:wrap;gap:1rem}

/* ========== RESPONSIVE ========== */
@media(max-width:900px){
  .hero h1{font-size:2.25rem}
  .hero .sub{font-size:1rem}
  .hero-row{flex-direction:column}
  .hero-text-card{flex:1 1 100%;width:100%;padding:1.5rem}
  .hero-image-card{display:none}
  .search-form{width:100%}
  .search-row{flex-direction:column;gap:1rem}
  .search-field{width:100%;flex:1 1 100% !important;min-width:0 !important}
  
  .search-submit{width:100%}
  .room-row-mobile{flex-direction:row !important;gap:.75rem;width:100%}
  .room-row-mobile .search-field{flex:1 1 calc(50% - .375rem) !important;width:calc(50% - .375rem) !important;min-width:0 !important}
  .room-btn{width:36px;height:44px}
  .room-select{width:48px;height:44px;font-size:1rem}
  .steps{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .compare{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .nav-links{display:none}
  .nav-links[data-nav-open="true"]{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--bg-2);padding:1rem;border-bottom:1px solid var(--border);gap:.25rem;z-index:100}
  .nav-links[data-nav-open="true"] a{padding:.75rem 1rem;font-size:.9375rem;border-radius:8px}
  .nav-toggle{display:block}
  .nav-cta .btn-ghost{display:none}
  .nav-cta .btn-primary{display:none}
  .nav-mobile-only{display:list-item}
  
  .section-title{font-size:2rem}
  .hero-text-card .rfp-tab{width:90%;margin:0 auto}
}
@media(max-width:640px){
  input, select, textarea, .form-input, .search-field input, .search-field select { font-size: 16px !important; }
  .hero{padding:2rem 1rem 1rem}
  .hero-text-card{padding:1.25rem}
  .hero-text-card h1{font-size:1.875rem}
  section{padding-top:3rem;padding-bottom:3rem;padding-left:1rem;padding-right:1rem}
  .trust-bar{gap:1.5rem}
  .trust-stat .num{font-size:1.5rem}
  .stats-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .section-title{font-size:1.75rem}
  .nav-inner{padding:.75rem 1rem}
  .brand{font-size:1.5rem}
  .brand-icon img{width:32px;height:32px}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  #cookie-banner{left:.5rem !important;transform:none !important;width:calc(100% - 1rem) !important;max-width:none !important}
}
@media(max-width:900px){.harper-tab{display:none !important}}

#hero-form-bmt{background:var(--bg-2) !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;padding:1.5rem !important;box-shadow:0 20px 60px rgba(0,0,0,.3) !important}
.bmt-dest-row{display:flex !important;gap:1rem !important;align-items:flex-start !important;padding:1rem 0 !important;border-bottom:1px solid var(--border) !important}
.bmt-dest-number{background:var(--accent) !important;color:#fff !important;width:28px !important;height:28px !important;border-radius:50% !important;display:flex !important;align-items:center !important;justify-content:center !important;font-weight:700 !important;font-size:.8125rem !important;flex-shrink:0 !important;margin-top:.5rem !important}
.bmt-dest-fields{display:flex !important;flex:1 !important;gap:.75rem !important;flex-wrap:wrap !important}
.bmt-dest-field{flex:1 !important;min-width:120px !important;position:relative !important}
.bmt-city-dropdown{position:absolute !important;top:100% !important;left:0 !important;right:0 !important;z-index:100 !important}
.bmt-city-autocomplete,.bmt-date-input{background:var(--bg-3) !important;color:var(--text) !important;border:1px solid var(--border) !important;border-radius:var(--radius-sm) !important;padding:.75rem 1rem !important;font-size:.875rem !important;width:100% !important;height:44px !important;box-sizing:border-box !important}
.bmt-city-autocomplete::placeholder,.bmt-date-input::placeholder{color:var(--text-3) !important}
.bmt-city-autocomplete:focus,.bmt-date-input:focus{outline:none !important;border-color:var(--accent-light) !important}
.bmt-dest-rooms{flex:0 0 auto !important}
.bmt-room-selectors-row{display:flex !important;gap:.75rem !important}
.bmt-room-selector{display:flex !important;flex-direction:row !important;align-items:center !important;gap:0 !important;height:44px !important}
.bmt-room-selector-label{font-size:.75rem !important;font-weight:600 !important;color:#a8b0c4 !important;text-transform:uppercase !important;letter-spacing:.05em !important;background:var(--bg-3) !important;border:1px solid var(--border) !important;border-right:none !important;padding:0 .75rem !important;height:44px !important;display:flex !important;align-items:center !important;white-space:nowrap !important;border-radius:var(--radius-sm) 0 0 var(--radius-sm) !important}
.bmt-room-selector-control{display:flex !important;align-items:center !important;gap:0 !important}
.bmt-room-btn{background:var(--bg-3) !important;color:var(--text) !important;border:1px solid var(--border) !important;width:36px !important;height:44px !important;display:flex !important;align-items:center !important;justify-content:center !important;cursor:pointer !important;transition:none !important;-webkit-tap-highlight-color:transparent !important;touch-action:manipulation !important;border-radius:0 !important}
.bmt-room-btn:hover{background:var(--surface-hover) !important}
.bmt-room-btn:active,.bmt-room-btn:focus{transform:none !important;outline:none !important}
.bmt-room-btn svg{pointer-events:none !important}
.bmt-room-select{background:var(--bg-3) !important;color:var(--text) !important;border:1px solid var(--border) !important;border-left:none !important;border-right:none !important;padding:.5rem !important;height:44px !important;font-size:.875rem !important;cursor:pointer !important;text-align:center !important;text-align-last:center !important;appearance:none !important;-webkit-appearance:none !important;-moz-appearance:none !important;width:60px !important}
.bmt-room-select option{background:var(--bg-3) !important;color:var(--text) !important}
.bmt-actions{display:flex !important;gap:.75rem !important;margin-top:1rem !important}
.bmt-add-dest-btn{background:var(--surface) !important;color:var(--accent-light) !important;border:1px solid var(--border) !important;border-radius:var(--radius-sm) !important;padding:.75rem 1.5rem !important;font-size:.875rem !important;font-weight:600 !important;cursor:pointer !important;flex:1 !important;text-align:center !important}
.bmt-dest-remove{background:none !important;border:none !important;color:var(--text-3) !important;font-size:1.5rem !important;cursor:pointer !important;width:28px !important;height:28px !important;display:flex !important;align-items:center !important;justify-content:center !important;flex-shrink:0 !important;margin-top:.5rem !important;border-radius:50% !important}
.bmt-dest-remove:hover{color:var(--text) !important;background:var(--surface-hover) !important}
.bmt-dest-placeholder{width:28px !important;height:28px !important;flex-shrink:0 !important;margin-top:.5rem !important;visibility:hidden !important}
#hero-form-bmt button[type="submit"],#hero-form-bmt .bmt-search-btn{background:var(--gradient) !important;color:#fff !important;border:none !important;border-radius:var(--radius-sm) !important;padding:.75rem 2rem !important;font-size:.875rem !important;font-weight:700 !important;cursor:pointer !important;flex:1 !important;height:44px !important}
@media(max-width:900px){.bmt-dest-row{flex-direction:column !important}.bmt-dest-fields{flex-direction:column !important;width:100% !important}.bmt-dest-city,.bmt-dest-dates{width:100% !important}.bmt-dest-rooms{width:100% !important}.bmt-room-selectors-row{width:100% !important;justify-content:space-between !important}.bmt-actions{flex-direction:column !important}}


/* FAQ + Hotel Partners side-by-side on desktop */
.faq-partners-row{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:4rem 2rem}
.faq-partners-row #faq{padding:0;margin-right:3%}
.faq-partners-row #hotel-partners{padding:2rem 0 0 2rem;border-left:1px solid var(--border)}
@media(max-width:900px){
  .faq-partners-row{grid-template-columns:1fr;padding:3rem 1rem}
  .faq-partners-row #hotel-partners{padding:2rem 0 0 0;border-left:none;border-top:1px solid var(--border)}
}

#hero-form-container .harper-tab{display:none !important}
#hero-form-container-nyp .harper-tab{display:none !important}
.hero-tab-start{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:4px !important;padding:6px 16px !important;background:var(--bg-2) !important;color:var(--accent-light) !important;font-size:.8125rem !important;font-weight:700 !important;border-radius:10px 10px 0 0 !important;border:1px solid var(--border) !important;border-bottom:none !important;text-decoration:none !important;line-height:1.4 !important;box-shadow:0 -2px 10px rgba(30,58,95,.10) !important;margin:0 !important}
@media(max-width:900px){.harper-tab{display:none !important}}

.footer-brands{grid-column:1/-1;margin-top:1rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.footer-brands h4{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:1rem}
.brand-cards-row{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}
.footer-brand-card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.875rem;display:flex;flex-direction:column;gap:.375rem;text-decoration:none;transition:var(--transition)}
.footer-brand-card:hover{border-color:var(--border-bright);background:var(--bg-3)}
.footer-brand-logo{display:flex;align-items:center;gap:.5rem}
.footer-brand-logo img{width:28px;height:28px}
.footer-brand-logo span{font-size:.8125rem;font-weight:700;color:var(--text)}
.footer-brand-desc{font-size:.6875rem;color:var(--text-3)}
@media(max-width:900px){.brand-cards-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.brand-cards-row{grid-template-columns:1fr}}

/* Ensure all interactive elements meet 24px minimum tap target */
.footer-col a, .footer-brand-card, .nav-links a, .btn, .faq-q, .dest-card, .article-card a, .step a, .sidebar a, .read-more, .back a, .back-home a, .breadcrumb a, .pagination a, .pagination span{min-height:24px;display:inline-flex;align-items:center}
.footer-col li{padding:.25rem 0}
.footer-col a{padding:.25rem 0;min-height:24px}

/* Fix tap targets for footer legal links */
.footer-bottom a{min-height:24px;padding:.25rem 0;display:inline-flex;align-items:center}
.footer-bottom span{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.cookie-buttons a,.cookie-content a{min-height:24px;padding:.25rem 0;display:inline-flex;align-items:center}

</style>
<style>



.hero-form-tabs-wrapper{display:flex !important;justify-content:space-between !important;align-items:flex-end !important;gap:1rem !important;padding:0 1.5rem !important;position:relative !important;z-index:3 !important;margin:0 0 -1px 0 !important}
.harper-tab{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:4px !important;padding:6px 16px !important;background:var(--bg-2) !important;color:var(--accent-light) !important;font-size:.8125rem !important;font-weight:700 !important;border-radius:10px 10px 0 0 !important;border:1px solid var(--border) !important;border-bottom:none !important;text-decoration:none !important;line-height:1.4 !important;box-shadow:0 -2px 10px rgba(30,58,95,.10) !important;margin:0 24px 0 0 !important}
#hero-form-container{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:0 20px 60px rgba(0,0,0,.3);position:relative;width:100%;margin:0 auto}
.hero-form{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:nowrap;width:100%}
.hero-form-field{display:flex;flex-direction:column}
.hero-field-location{flex:1.8}.hero-field-dates{flex:1.4}.hero-field-rooms{flex:0 0 auto}.hero-field-submit{flex:0 0 auto}.hero-field-adults{display:none}
.hero-field-label,.room-selector-label{color:#a8b0c4;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem;display:flex;align-items:center;gap:.25rem}
.date-lead-hint{font-weight:400;text-transform:none;opacity:.8}
.date-info-btn{background:var(--surface);color:#a8b0c4;border:1px solid var(--border);border-radius:50%;width:16px;height:16px;font-size:.625rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin-left:.25rem}
.date-info-tooltip{background:var(--bg-3);color:var(--text-2);border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem;font-size:.75rem;display:none;position:absolute;max-width:250px;z-index:10}
.date-info-tooltip.open{display:block}
.autocomplete-wrapper{position:relative}
.form-input{background:var(--bg-3);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.9375rem;width:100%;outline:none;font-family:inherit;transition:var(--transition)}
.form-input::placeholder{color:#a8b0c4}
.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(30,58,95,.12)}
.form-input-error{border-color:var(--red) !important}
.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-2);border:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:0 10px 30px rgba(0,0,0,.4);z-index:20;display:none;max-height:300px;overflow-y:auto}
.autocomplete-dropdown.visible{display:block}
.autocomplete-item{padding:.625rem 1rem;cursor:pointer;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.autocomplete-item:last-child{border-bottom:none}
.autocomplete-item:hover,.autocomplete-item.active{background:var(--surface)}
.autocomplete-item .city-name{color:var(--text);font-weight:500}
.autocomplete-item .city-state{color:#a8b0c4;font-size:.8125rem}
.sot-notice{display:none;align-items:flex-start;gap:.5rem;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:.625rem .875rem;border-radius:var(--radius-sm);margin-top:.5rem}
.sot-notice strong{color:#fca5a5}.sot-notice p{color:#fca5a5;font-size:.75rem;margin:0}
.sot-icon{width:20px;height:20px;flex-shrink:0;color:var(--red)}
.date-range-picker{position:relative}
.drp-input-wrapper{position:relative;display:flex;align-items:center}
.drp-icon{width:18px;height:18px;color:#a8b0c4;position:absolute;left:.75rem;pointer-events:none}
.drp-input{background:var(--bg-3) !important;border:1px solid var(--border) !important;color:var(--text) !important;border-radius:var(--radius-sm) !important;padding:.75rem 1rem .75rem 2.5rem !important;font-size:.9375rem !important;width:100% !important;outline:none !important;font-family:inherit !important}
.drp-input::placeholder{color:#a8b0c4 !important}
.drp-input:focus{border-color:var(--accent) !important;box-shadow:0 0 0 3px rgba(30,58,95,.12) !important}
.drp-input.active{border-color:var(--accent) !important}
.room-selector-control{display:flex;align-items:center}
.room-btn{display:flex;align-items:center;justify-content:center;width:32px;height:38px;background:var(--bg-3);border:1px solid var(--border);color:var(--text);cursor:pointer;transition:var(--transition);flex-shrink:0}
.room-btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}
.room-btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.room-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.room-select{width:50px;height:38px;text-align:center;border:1px solid var(--border);border-radius:0;background:var(--bg-3);color:var(--text);font-size:.875rem;font-weight:700;-webkit-appearance:none;appearance:none;cursor:pointer;outline:none}
.room-select:focus{border-color:var(--accent)}
.hero-submit-btn{background:var(--gradient);color:#fff;border:none;border-radius:var(--radius-sm);padding:.75rem 1.75rem;font-weight:700;font-size:.9375rem;cursor:pointer;font-family:inherit;white-space:nowrap;box-shadow:0 4px 20px rgba(30,58,95,.25);transition:var(--transition)}
.hero-submit-btn:hover{transform:translateY(-1px);box-shadow:0 6px 28px rgba(30,58,95,.35)}
.btn-loading{opacity:.85;cursor:wait}

.harper-tab:hover{text-decoration:none;opacity:.9}
.flatpickr-calendar{background:var(--bg-2) !important;border:1px solid var(--border) !important;box-shadow:0 10px 40px rgba(0,0,0,.5) !important;color:var(--text) !important}
.flatpickr-day{color:var(--text) !important;background:transparent !important}
.flatpickr-day:hover{background:var(--surface) !important}
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange{background:var(--accent) !important;border-color:var(--accent) !important;color:#fff !important}
.flatpickr-day.inRange{background:var(--surface) !important;box-shadow:-5px 0 0 var(--surface),5px 0 0 var(--surface) !important}
.flatpickr-month,.flatpickr-prev-month,.flatpickr-next-month{color:var(--text) !important;fill:var(--text) !important}
.flatpickr-weekday{color:#a8b0c4 !important}
.flatpickr-day.disabled{color:#a8b0c4 !important;opacity:.3 !important}
.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay{color:#a8b0c4 !important;opacity:.4 !important}
@media(max-width:900px){.harper-tab{display:none !important}}

/* Mobile form responsive - override CDN JS inline styles */
@media(max-width:900px){
  #hero-form-container{padding:1rem !important;max-width:100% !important}
  form.hero-form{flex-direction:column !important;flex-wrap:wrap !important;gap:.75rem !important;width:100% !important;max-width:100% !important}
  .hero-form-field{width:100% !important;max-width:100% !important;flex:1 1 100% !important}
  .hero-field-location,.hero-field-dates,.hero-field-adults,.hero-field-submit{width:100% !important;max-width:100% !important;flex:1 1 100% !important}
  .hero-field-rooms{width:48% !important;flex:0 0 48% !important}
  .hero-field-submit{width:100% !important}
  .hero-submit-btn{width:100% !important}
  .drp-input{width:100% !important;max-width:100% !important}
  #city-search{width:100% !important;max-width:100% !important}
  select{width:100% !important}
}
@media(max-width:640px){
  .hero-field-rooms{width:100% !important;flex:1 1 100% !important}
}

/* Fix room selector buttons - prevent zoom on double-tap */
.room-btn{transition:none !important;-webkit-tap-highlight-color:transparent !important;touch-action:manipulation !important;outline:none !important}
.room-btn:active,.room-btn:focus{transform:none !important;scale:1 !important;outline:none !important}
.room-btn svg{pointer-events:none !important}
/* Center select numbers */
.room-select{text-align:center !important;text-align-last:center !important;-moz-text-align-last:center !important;appearance:none !important;-webkit-appearance:none !important;-moz-appearance:none !important;cursor:pointer}
select.room-select option{text-align:center}

#hero-form-bmt{background:var(--bg-2) !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;padding:1.5rem !important;box-shadow:0 20px 60px rgba(0,0,0,.3) !important}
.bmt-dest-row{display:flex !important;gap:1rem !important;align-items:flex-start !important;padding:1rem 0 !important;border-bottom:1px solid var(--border) !important}
.bmt-dest-number{background:var(--accent) !important;color:#fff !important;width:28px !important;height:28px !important;border-radius:50% !important;display:flex !important;align-items:center !important;justify-content:center !important;font-weight:700 !important;font-size:.8125rem !important;flex-shrink:0 !important;margin-top:.5rem !important}
.bmt-dest-fields{display:flex !important;flex:1 !important;gap:.75rem !important;flex-wrap:wrap !important}
.bmt-dest-field{flex:1 !important;min-width:120px !important;position:relative !important}
.bmt-city-dropdown{position:absolute !important;top:100% !important;left:0 !important;right:0 !important;z-index:100 !important}
.bmt-city-autocomplete,.bmt-date-input{background:var(--bg-3) !important;color:var(--text) !important;border:1px solid var(--border) !important;border-radius:var(--radius-sm) !important;padding:.75rem 1rem !important;font-size:.875rem !important;width:100% !important;height:44px !important;box-sizing:border-box !important}
.bmt-city-autocomplete::placeholder,.bmt-date-input::placeholder{color:var(--text-3) !important}
.bmt-city-autocomplete:focus,.bmt-date-input:focus{outline:none !important;border-color:var(--accent-light) !important}
.bmt-dest-rooms{flex:0 0 auto !important}
.bmt-room-selectors-row{display:flex !important;gap:.75rem !important}
.bmt-room-selector{display:flex !important;flex-direction:row !important;align-items:center !important;gap:0 !important;height:44px !important}
.bmt-room-selector-label{font-size:.75rem !important;font-weight:600 !important;color:#a8b0c4 !important;text-transform:uppercase !important;letter-spacing:.05em !important;background:var(--bg-3) !important;border:1px solid var(--border) !important;border-right:none !important;padding:0 .75rem !important;height:44px !important;display:flex !important;align-items:center !important;white-space:nowrap !important;border-radius:var(--radius-sm) 0 0 var(--radius-sm) !important}
.bmt-room-selector-control{display:flex !important;align-items:center !important;gap:0 !important}
.bmt-room-btn{background:var(--bg-3) !important;color:var(--text) !important;border:1px solid var(--border) !important;width:36px !important;height:44px !important;display:flex !important;align-items:center !important;justify-content:center !important;cursor:pointer !important;transition:none !important;-webkit-tap-highlight-color:transparent !important;touch-action:manipulation !important;border-radius:0 !important}
.bmt-room-btn:hover{background:var(--surface-hover) !important}
.bmt-room-btn:active,.bmt-room-btn:focus{transform:none !important;outline:none !important}
.bmt-room-btn svg{pointer-events:none !important}
.bmt-room-select{background:var(--bg-3) !important;color:var(--text) !important;border:1px solid var(--border) !important;border-left:none !important;border-right:none !important;padding:.5rem !important;height:44px !important;font-size:.875rem !important;cursor:pointer !important;text-align:center !important;text-align-last:center !important;appearance:none !important;-webkit-appearance:none !important;-moz-appearance:none !important;width:60px !important}
.bmt-room-select option{background:var(--bg-3) !important;color:var(--text) !important}
.bmt-actions{display:flex !important;gap:.75rem !important;margin-top:1rem !important}
.bmt-add-dest-btn{background:var(--surface) !important;color:var(--accent-light) !important;border:1px solid var(--border) !important;border-radius:var(--radius-sm) !important;padding:.75rem 1.5rem !important;font-size:.875rem !important;font-weight:600 !important;cursor:pointer !important;flex:1 !important;text-align:center !important}
.bmt-dest-remove{background:none !important;border:none !important;color:var(--text-3) !important;font-size:1.5rem !important;cursor:pointer !important;width:28px !important;height:28px !important;display:flex !important;align-items:center !important;justify-content:center !important;flex-shrink:0 !important;margin-top:.5rem !important;border-radius:50% !important}
.bmt-dest-remove:hover{color:var(--text) !important;background:var(--surface-hover) !important}
.bmt-dest-placeholder{width:28px !important;height:28px !important;flex-shrink:0 !important;margin-top:.5rem !important;visibility:hidden !important}
#hero-form-bmt button[type="submit"],#hero-form-bmt .bmt-search-btn{background:var(--gradient) !important;color:#fff !important;border:none !important;border-radius:var(--radius-sm) !important;padding:.75rem 2rem !important;font-size:.875rem !important;font-weight:700 !important;cursor:pointer !important;flex:1 !important;height:44px !important}
@media(max-width:900px){.bmt-dest-row{flex-direction:column !important}.bmt-dest-fields{flex-direction:column !important;width:100% !important}.bmt-dest-city,.bmt-dest-dates{width:100% !important}.bmt-dest-rooms{width:100% !important}.bmt-room-selectors-row{width:100% !important;justify-content:space-between !important}.bmt-actions{flex-direction:column !important}}


/* FAQ + Hotel Partners side-by-side on desktop */
.faq-partners-row{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:4rem 2rem}
.faq-partners-row #faq{padding:0;margin-right:3%}
.faq-partners-row #hotel-partners{padding:2rem 0 0 2rem;border-left:1px solid var(--border)}
@media(max-width:900px){
  .faq-partners-row{grid-template-columns:1fr;padding:3rem 1rem}
  .faq-partners-row #hotel-partners{padding:2rem 0 0 0;border-left:none;border-top:1px solid var(--border)}
}

#hero-form-container .harper-tab{display:none !important}
#hero-form-container-nyp .harper-tab{display:none !important}
.hero-tab-start{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:4px !important;padding:6px 16px !important;background:var(--bg-2) !important;color:var(--accent-light) !important;font-size:.8125rem !important;font-weight:700 !important;border-radius:10px 10px 0 0 !important;border:1px solid var(--border) !important;border-bottom:none !important;text-decoration:none !important;line-height:1.4 !important;box-shadow:0 -2px 10px rgba(30,58,95,.10) !important;margin:0 !important}
@media(max-width:900px){.harper-tab{display:none !important}}

.footer-brands{grid-column:1/-1;margin-top:1rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.footer-brands h4{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:1rem}
.brand-cards-row{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}
.footer-brand-card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.875rem;display:flex;flex-direction:column;gap:.375rem;text-decoration:none;transition:var(--transition)}
.footer-brand-card:hover{border-color:var(--border-bright);background:var(--bg-3)}
.footer-brand-logo{display:flex;align-items:center;gap:.5rem}
.footer-brand-logo img{width:28px;height:28px}
.footer-brand-logo span{font-size:.8125rem;font-weight:700;color:var(--text)}
.footer-brand-desc{font-size:.6875rem;color:var(--text-3)}
@media(max-width:900px){.brand-cards-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.brand-cards-row{grid-template-columns:1fr}}

/* Ensure all interactive elements meet 24px minimum tap target */
.footer-col a, .footer-brand-card, .nav-links a, .btn, .faq-q, .dest-card, .article-card a, .step a, .sidebar a, .read-more, .back a, .back-home a, .breadcrumb a, .pagination a, .pagination span{min-height:24px;display:inline-flex;align-items:center}
.footer-col li{padding:.25rem 0}
.footer-col a{padding:.25rem 0;min-height:24px}

/* Fix tap targets for footer legal links */
.footer-bottom a{min-height:24px;padding:.25rem 0;display:inline-flex;align-items:center}
.footer-bottom span{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.cookie-buttons a,.cookie-content a{min-height:24px;padding:.25rem 0;display:inline-flex;align-items:center}

