/* Just Holidays shared mobile-first dark UI */
:root{
  --bg:#050606; --panel:#101313; --panel2:#151a1a; --text:#fff; --muted:#a8b3b3;
  --line:rgba(255,255,255,.1); --teal:#1fd6d2; --orange:#ff8a3d; --danger:#ff5c5c;
  --shadow:0 24px 80px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(circle at top right,rgba(31,214,210,.16),transparent 32%),linear-gradient(180deg,#070909 0%,#020303 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
a{color:inherit;text-decoration:none} button,input,select,textarea{font:inherit}
.auth_page,.app_page,.customer_page,.public_page{min-height:100vh;padding:18px 14px 94px}
.auth_page{display:flex;align-items:center;justify-content:center}.auth_shell,.app_shell,.customer_shell,.public_shell{width:100%;max-width:520px;margin:0 auto}.auth_shell{max-width:440px}
.logo_bar,.top_bar{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px}.logo_mark{display:inline-flex;align-items:center;gap:10px}.logo_just{background:var(--teal);color:#041010;font-weight:950;letter-spacing:-.08em;padding:8px 14px;border-radius:16px;font-size:24px}.logo_holidays{color:#fff;font-weight:900;letter-spacing:.12em;font-size:14px}
.auth_card,.page_card,.hero_card,.status_card,.action_card,.stat_card,.listing_card,.lead_card,.bucket_card,.suggestion_card,.detail_block,.detail_title_card,.empty_state{background:#101313;border:1px solid var(--line);border-radius:24px}
.auth_card,.page_card{padding:24px;box-shadow:var(--shadow)}.auth_card h1,.top_bar h1{margin:0;font-size:34px;line-height:1;letter-spacing:-.06em}.auth_card p,.top_bar p,.hero_card p,.status_card p,.empty_state p{margin:8px 0 0;color:var(--muted);line-height:1.42}
.kicker{color:var(--teal);font-size:12px;font-weight:950;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}
.form_group{margin-bottom:14px}.form_group label{display:block;color:#dce4e4;font-size:13px;font-weight:800;margin-bottom:8px}.form_group input,.form_group select,.form_group textarea,.search_card input,.search_card select,.enquiry_form input,.enquiry_form textarea{width:100%;border:1px solid var(--line);background:#090b0b;color:#fff;border-radius:16px;padding:14px;outline:none}.form_group textarea,.enquiry_form textarea{min-height:120px;resize:vertical}.form_row{display:grid;grid-template-columns:1fr;gap:0}
.role_grid{display:grid;gap:10px;margin:14px 0}.role_card{border:1px solid var(--line);background:#0b0e0e;border-radius:18px;padding:14px;cursor:pointer}.role_card input{display:none}.role_card strong{display:block}.role_card span{display:block;margin-top:5px;color:var(--muted);font-size:13px}.role_card:has(input:checked){border-color:var(--teal);background:rgba(31,214,210,.1)}
.primary_btn,.secondary_btn,.danger_btn{border:0;border-radius:18px;padding:14px;font-weight:950;cursor:pointer;text-align:center;display:inline-flex;justify-content:center;align-items:center}.primary_btn{background:var(--teal);color:#041010}.secondary_btn{background:#171d1d;border:1px solid var(--line);color:#fff}.danger_btn{background:rgba(255,92,92,.12);border:1px solid rgba(255,92,92,.35);color:#ffb5b5;width:100%}
.notice,.form_notice{display:none;margin-top:14px;padding:12px 14px;border-radius:16px;background:#0b0e0e;border:1px solid var(--line);color:var(--muted);font-size:14px}.notice.show,.form_notice.show{display:block}.notice.error,.form_notice.error{border-color:rgba(255,92,92,.45);color:#ffb5b5}.notice.success,.form_notice.success{border-color:rgba(31,214,210,.55);color:#b8fffd}
.icon_btn{width:46px;height:46px;border-radius:16px;border:1px solid var(--line);background:#101313;color:#fff;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}.hero_card,.status_card{padding:20px;margin-bottom:16px;background:linear-gradient(135deg,rgba(31,214,210,.18),rgba(255,255,255,.03)),#101313;border-color:rgba(31,214,210,.25)}.hero_card h2,.status_card h2{margin:0 0 8px;font-size:28px;line-height:1;letter-spacing:-.05em}
.stats_grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.stat_card{padding:16px}.stat_card strong{display:block;font-size:32px;line-height:1;letter-spacing:-.05em}.stat_card span{display:block;margin-top:8px;color:var(--muted);font-size:13px}
.action_grid,.card_list,.lead_list,.listing_list,.stay_feed{display:grid;gap:12px}.action_card{padding:18px;display:flex;justify-content:space-between;align-items:center;gap:14px}.action_card strong,.bucket_card strong,.lead_card h2,.suggestion_card strong{display:block;font-size:18px;margin:0 0 5px}.action_card span,.bucket_card span,.suggestion_card span,.lead_card p{color:var(--muted);font-size:13px;line-height:1.35}.chev{color:var(--teal);font-size:24px;font-weight:900}
.small_pill,.pill,.tag,.status_pill{display:inline-flex;padding:7px 10px;background:rgba(31,214,210,.1);color:#bafffd;border:1px solid rgba(31,214,210,.25);border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.status_pill{margin-bottom:12px}
.empty_state{padding:24px;text-align:center;border-style:dashed}.empty_state h2{margin:0 0 8px}
.bottom_nav{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);width:calc(100% - 28px);max-width:520px;background:rgba(10,13,13,.92);border:1px solid var(--line);border-radius:24px;display:grid;grid-template-columns:repeat(4,1fr);padding:8px;backdrop-filter:blur(18px);box-shadow:0 20px 60px rgba(0,0,0,.55);z-index:20}.bottom_nav a{text-align:center;padding:10px 4px;color:var(--muted);font-size:11px;font-weight:850;border-radius:16px}.bottom_nav a.active{background:rgba(31,214,210,.13);color:var(--teal)}
@media(min-width:760px){.app_shell,.customer_shell,.public_shell{max-width:900px}.stats_grid{grid-template-columns:repeat(4,1fr)}.action_grid,.card_list,.lead_list,.listing_list{grid-template-columns:repeat(2,1fr)}.form_row{grid-template-columns:1fr 1fr;gap:12px}.bottom_nav{max-width:620px}}

/* Modern immersive hero matching first design - mobile first, dark + teal */
.hero {
  background: linear-gradient(180deg, rgba(0,0,0,.2), rgba(5,6,6,.85)), 
              linear-gradient(135deg, rgba(31,214,210,.1), transparent 55%),
              url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1200&q=80");
  background-size: cover;
  background-position: center 30%;
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 32px 20px 36px;
  min-height: 420px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  box-shadow: var(--shadow);
  overflow: hidden;
  position: relative;
  margin-bottom: 24px;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(31,214,210,.08), transparent 60%);
  z-index: 0;
}
.hero > * { position: relative; z-index: 1; }
.hero .kicker { color: var(--teal); font-size: 11px; font-weight: 900; letter-spacing: .22em; text-transform: uppercase; margin-bottom: 4px; }
.hero h1 { margin: 0; font-size: 36px; line-height: .88; letter-spacing: -.1em; font-weight: 900; }
.hero p { margin: 8px 0 16px; color: #d8e2e2; line-height: 1.38; font-size: 15px; max-width: 340px; }

@media (min-width: 640px) {
  .hero { min-height: 460px; padding: 40px 28px 44px; margin-bottom: 32px; }
  .hero h1 { font-size: 48px; }
}
.search_card{margin-top:14px;background:rgba(16,19,19,.92);border:1px solid var(--line);border-radius:26px;padding:14px;display:grid;gap:10px;backdrop-filter:blur(18px)}.chip_row{display:flex;gap:10px;overflow-x:auto;padding:18px 0 4px;scrollbar-width:none}.chip_row::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;border:1px solid var(--line);background:#101313;color:#dce4e4;border-radius:999px;padding:11px 14px;font-size:13px;font-weight:900;cursor:pointer}.chip.active{background:rgba(31,214,210,.13);color:var(--teal);border-color:rgba(31,214,210,.42)}
.section_head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:24px 0 14px}.section_head h2{margin:0;font-size:28px;line-height:1;letter-spacing:-.06em}.section_head p{margin:8px 0 0;color:var(--muted);font-size:14px}.view_all{color:var(--teal);font-weight:950;font-size:13px;white-space:nowrap}
.stay_card{background:#101313;border:1px solid var(--line);border-radius:30px;overflow:hidden}.stay_image,.listing_image{height:250px;background:linear-gradient(135deg,rgba(31,214,210,.16),rgba(255,255,255,.04)),#151a1a;position:relative;display:grid;place-items:center;color:var(--muted);font-weight:950}.stay_image img,.listing_image img{width:100%;height:100%;object-fit:cover;display:block}.save_btn{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:16px;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.42);color:#fff;backdrop-filter:blur(12px);display:grid;place-items:center;cursor:pointer;font-size:18px}.price_badge{position:absolute;left:14px;bottom:14px;background:rgba(0,0,0,.64);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:999px;padding:10px 13px;backdrop-filter:blur(12px);font-weight:950}.price_badge span{color:#cbd5d5;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.stay_body,.listing_body{padding:17px}.tag_row,.meta_row,.bucket_meta,.listing_meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.stay_body h3,.listing_body h2{margin:0 0 8px;font-size:23px;line-height:1.08;letter-spacing:-.04em}.stay_body p,.listing_body p{margin:0;color:var(--muted);line-height:1.42;font-size:14px}.stay_specs{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0;color:#dce4e4;font-size:13px;font-weight:800}.stay_actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.detail_hero{margin:-18px -14px 0;height:430px;background:#101313;position:relative}.detail_hero img{width:100%;height:100%;object-fit:cover}.detail_hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(5,6,6,.98))}.detail_back{position:absolute;top:18px;left:14px;z-index:2;width:46px;height:46px;border-radius:16px;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.42);display:grid;place-items:center;font-size:24px}.detail_content{position:relative;margin-top:-120px;z-index:2}.detail_title_card,.detail_block{padding:18px;margin-top:16px}.detail_title_card h1{margin:0 0 10px;font-size:38px;line-height:.95;letter-spacing:-.07em}.contact_sheet{position:sticky;bottom:88px;margin-top:16px;background:rgba(10,13,13,.92);border:1px solid var(--line);border-radius:26px;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px;backdrop-filter:blur(18px)}
@media(min-width:760px){.hero{min-height:420px}.hero h1{font-size:72px;max-width:650px}.search_card{grid-template-columns:2fr 1fr}.stay_feed{grid-template-columns:repeat(3,1fr)}.stay_image{height:220px}.detail_content{max-width:760px;margin-left:auto;margin-right:auto}}

/* Escape selector cards - immersive like first design, mobile first stacked */
.escape_grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
.escape_card {
  background: #101313;
  border: 1px solid var(--line);
  transition: all .2s cubic-bezier(0.4, 0, 0.2, 1);
}
.escape_card:hover { transform: translateY(-2px); border-color: var(--teal); box-shadow: 0 10px 30px -15px rgba(31,214,210,.3); }
.escape_card:active { transform: scale(0.985); }
.escape_card .text-3xl { filter: grayscale(0.1); }

.sub .chip { font-size: 12px; padding: 8px 12px; }

@media (min-width: 640px) {
  .escape_grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
}

/* Glass for dark theme, matching first design */
.glass {
  background: rgba(16,19,19,0.92);
  backdrop-filter: blur(12px);
}

.property-card {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.property-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
}
