.yab-wrap{
  --yab-navy:#102e46;
  --yab-navy-2:#173f5d;
  --yab-cyan:#078eaa;
  --yab-cyan-dark:#05758e;
  --yab-sky:#edf9fc;
  --yab-line:#dce8ee;
  --yab-text:#183243;
  --yab-muted:#6d7f89;
  --yab-soft:#f7fafb;
  --yab-radius:24px;
  max-width:1220px;
  margin:36px auto;
  font-family:inherit;
  color:var(--yab-text);
}
.yab-wrap *{box-sizing:border-box}
.yab-hero{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:34px 38px 30px;
  border-radius:30px 30px 0 0;
  background:linear-gradient(135deg,var(--yab-navy) 0%,var(--yab-navy-2) 68%,#0b6f87 100%);
  color:#fff;
}
.yab-hero:after{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  left:-80px;
  top:-125px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
}
.yab-hero-copy{position:relative;z-index:1;max-width:780px}
.yab-kicker{
  display:inline-flex;
  padding:7px 13px;
  margin-bottom:13px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:rgba(255,255,255,.1);
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em;
}
.yab-hero h2{margin:0 0 8px;color:#fff;font-size:clamp(27px,3vw,43px);line-height:1.08;font-weight:900}
.yab-hero p{margin:0;color:rgba(255,255,255,.82);font-size:16px;line-height:1.75}
.yab-demo-badge{
  position:relative;
  z-index:1;
  flex:none;
  padding:9px 14px;
  border-radius:999px;
  background:#fff;
  color:var(--yab-cyan-dark);
  font-size:12px;
  font-weight:900;
  box-shadow:0 10px 25px rgba(0,0,0,.1);
}
.yab-form{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
  padding:28px;
  border:1px solid var(--yab-line);
  border-top:0;
  border-radius:0 0 var(--yab-radius) var(--yab-radius);
  background:#fff;
  box-shadow:0 20px 55px rgba(21,55,77,.08);
}
.yab-field{min-width:0}
.yab-field label{display:block;margin:0 0 8px;font-size:14px;font-weight:800;color:#29485c}
.yab-field label small{display:block;margin-top:2px;font-size:11px;font-weight:500;color:#8a9aa4}
.yab-field input{
  width:100%;
  min-height:52px;
  margin:0;
  padding:0 14px;
  border:1px solid #d5e1e6;
  border-radius:14px;
  background:#fbfdfe;
  color:#17374b;
  font:inherit;
  font-weight:700;
  box-shadow:none;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.yab-field input:focus{outline:0;border-color:var(--yab-cyan);background:#fff;box-shadow:0 0 0 4px rgba(7,142,170,.1)}
.yab-input-wrap{position:relative}
.yab-input-wrap .yab-icon{display:none}
.yab-stepper-look input{text-align:center;font-size:18px}
.yab-advanced{
  grid-column:1/-1;
  border-top:1px dashed var(--yab-line);
  padding-top:14px;
}
.yab-advanced summary{
  display:inline-flex;
  align-items:center;
  gap:7px;
  cursor:pointer;
  color:var(--yab-cyan-dark);
  font-size:13px;
  font-weight:800;
  list-style:none;
}
.yab-advanced summary::-webkit-details-marker{display:none}
.yab-advanced summary:before{content:"+";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--yab-sky)}
.yab-advanced[open] summary:before{content:"–"}
.yab-advanced-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;padding:16px;border-radius:16px;background:var(--yab-soft)}
.yab-submit{grid-column:1/-1;display:flex;justify-content:flex-end}
.yab-submit button,.yab-book-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:54px;
  border:0;
  border-radius:14px;
  padding:0 26px;
  background:linear-gradient(135deg,var(--yab-cyan),var(--yab-cyan-dark));
  color:#fff;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 12px 24px rgba(7,142,170,.22);
  transition:transform .2s,box-shadow .2s,filter .2s;
}
.yab-submit button{min-width:240px}
.yab-submit button:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(7,142,170,.28);filter:saturate(1.08)}
.yab-results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:38px 4px 18px}
.yab-eyebrow{display:block;margin-bottom:4px;color:var(--yab-cyan-dark);font-size:12px;font-weight:900}
.yab-results-head h3{margin:0;color:var(--yab-navy);font-size:28px;font-weight:900}
.yab-count{flex:none;padding:8px 12px;border-radius:999px;background:var(--yab-sky);color:var(--yab-cyan-dark);font-size:12px;font-weight:900}
.yab-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.yab-card{
  overflow:hidden;
  display:grid;
  grid-template-columns:42% 58%;
  min-height:300px;
  border:1px solid var(--yab-line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 38px rgba(28,59,77,.08);
  transition:transform .22s,box-shadow .22s;
}
.yab-card:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(28,59,77,.12)}
.yab-card-media{position:relative;min-height:100%;background:#d8edf2}
.yab-card-media img{display:block;width:100%;height:100%;min-height:300px;object-fit:cover}
.yab-placeholder{
  display:flex;
  align-items:flex-end;
  width:100%;
  height:100%;
  min-height:300px;
  padding:22px;
  background:linear-gradient(145deg,#bfe9ef 0%,#5db8c7 52%,#173f5d 100%);
}
.yab-placeholder:before{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:50%;
  right:-52px;
  top:-36px;
}
.yab-placeholder span{position:relative;z-index:1;color:#fff;font-size:13px;font-weight:900;letter-spacing:.08em}
.yab-availability{position:absolute;top:15px;right:15px;padding:7px 10px;border-radius:999px;background:rgba(16,46,70,.9);color:#fff;font-size:11px;font-weight:800;backdrop-filter:blur(8px)}
.yab-card-body{display:flex;flex-direction:column;padding:24px}
.yab-card-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--yab-cyan-dark);font-size:12px;font-weight:800}
.yab-card h3{margin:0 0 7px;color:var(--yab-navy);font-size:24px;line-height:1.2;font-weight:900}
.yab-room-line{margin:0;color:var(--yab-muted);font-size:14px}
.yab-price-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:24px}
.yab-price-row small{display:block;margin-bottom:2px;color:#82929c;font-size:11px}
.yab-price{color:var(--yab-navy);font-size:34px;line-height:1;font-weight:950;letter-spacing:-.02em}
.yab-price span{font-size:19px;margin-left:3px}
.yab-net-price{padding:7px 9px;border-radius:10px;background:#f3f6f8;color:#7d8b93;font-size:10px;font-weight:700}
.yab-note{margin-top:12px;padding:9px 11px;border-radius:10px;background:#fff8e9;color:#8f6e25;font-size:11px;font-weight:700}
.yab-book-button{width:100%;margin-top:15px;min-height:48px;border-radius:12px}
.yab-book-button[disabled]{opacity:.72;cursor:not-allowed;box-shadow:none}
.yab-error,.yab-empty{grid-column:1/-1;padding:18px 20px;border:1px solid var(--yab-line);border-radius:16px;background:#fff}
.yab-error{border-right:4px solid #c73f45;background:#fff7f7;color:#7d2a2e}
.yab-demo-note{margin:16px 4px 0;text-align:center;color:#8b9aa3;font-size:11px;line-height:1.6}

@media(max-width:1050px){
  .yab-form{grid-template-columns:repeat(3,minmax(0,1fr))}
  .yab-results{grid-template-columns:1fr}
}
@media(max-width:760px){
  .yab-wrap{margin:20px auto}
  .yab-hero{align-items:flex-start;padding:26px 20px 24px;border-radius:24px 24px 0 0}
  .yab-demo-badge{font-size:10px;padding:7px 10px}
  .yab-form{grid-template-columns:1fr 1fr;padding:20px 16px;gap:14px;border-radius:0 0 20px 20px}
  .yab-advanced-grid{grid-template-columns:1fr}
  .yab-submit button{width:100%;min-width:0}
  .yab-card{grid-template-columns:1fr;min-height:0}
  .yab-card-media img,.yab-placeholder{min-height:220px;height:220px}
  .yab-card-body{padding:20px}
}
@media(max-width:520px){
  .yab-hero{display:block}
  .yab-demo-badge{display:inline-flex;margin-top:14px}
  .yab-hero h2{font-size:29px}
  .yab-hero p{font-size:14px}
  .yab-form{grid-template-columns:1fr}
  .yab-field-date{grid-column:auto}
  .yab-results-head{align-items:flex-start;margin-top:30px}
  .yab-results-head h3{font-size:23px}
  .yab-count{margin-top:2px}
  .yab-card-topline{align-items:flex-start;flex-direction:column;gap:3px}
  .yab-price-row{align-items:flex-start;flex-direction:column}
  .yab-net-price{display:none}
}

/* =========================================================
   v0.3.0 — Compact site search bar + dedicated results page
   ========================================================= */
.yab-searchbar-shell{width:100%;max-width:1320px;margin:0 auto;font-family:inherit;direction:rtl}
.yab-searchbar{display:grid;grid-template-columns:1.1fr 1.15fr 1.15fr .72fr .72fr auto;align-items:stretch;background:#fff;border:1px solid rgba(17,24,39,.10);border-radius:18px;box-shadow:0 14px 40px rgba(15,23,42,.08);overflow:hidden;min-height:82px}
.yab-sb-field{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:14px 18px;border-left:1px solid rgba(17,24,39,.08);margin:0;min-width:0;background:#fff}
.yab-sb-field>span:first-child{font-size:12px;font-weight:700;color:#777;line-height:1.2}
.yab-sb-static{font-size:16px;font-weight:800;color:#20242a;line-height:1.4}
.yab-sb-field input{width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;font-family:inherit!important;font-size:15px!important;font-weight:700!important;color:#20242a!important;line-height:1.45!important}
.yab-sb-field input[type=number]{appearance:textfield;-moz-appearance:textfield}
.yab-sb-field input[type=number]::-webkit-inner-spin-button,.yab-sb-field input[type=number]::-webkit-outer-spin-button{opacity:1}
.yab-sb-submit{border:0!important;border-radius:0!important;margin:0!important;padding:0 27px!important;min-width:142px!important;background:#078aa7!important;color:#fff!important;font-family:inherit!important;font-size:16px!important;font-weight:800!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;cursor:pointer!important;transition:.2s ease!important}
.yab-sb-submit:hover{background:#067991!important;color:#fff!important;transform:none!important}
.yab-results-page{font-family:inherit;direction:rtl;max-width:1320px;margin:0 auto;padding:18px 0 40px}
.yab-results-waiting{border:1px solid #e8e8e8;border-radius:20px;padding:34px;background:#fff;text-align:center}
.yab-results-waiting h2{margin:0 0 8px;font-size:28px;color:#232323}
.yab-results-waiting p{margin:0;color:#777}
.yab-results-summary{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:4px 0 22px}
.yab-results-summary h2{margin:4px 0 5px;font-size:30px;line-height:1.2;color:#232323}
.yab-results-summary p{margin:0;color:#777;font-size:15px}
.yab-demo-banner{margin:0 0 18px;padding:10px 14px;border:1px solid #f1df9b;background:#fff9dd;border-radius:12px;color:#6a5612;font-size:13px;font-weight:700}
@media (max-width:980px){
  .yab-searchbar{grid-template-columns:1fr 1fr 1fr;min-height:auto;border-radius:16px}
  .yab-sb-field{min-height:72px;border-bottom:1px solid rgba(17,24,39,.08)}
  .yab-sb-submit{min-height:72px!important;grid-column:auto}
}
@media (max-width:640px){
  .yab-searchbar{grid-template-columns:1fr 1fr;border-radius:14px}
  .yab-sb-destination{grid-column:1 / -1;min-height:64px}
  .yab-sb-field{padding:12px 14px;min-height:68px}
  .yab-sb-small{min-height:62px}
  .yab-sb-submit{grid-column:1 / -1;min-height:58px!important;width:100%!important}
  .yab-results-page{padding-top:10px}
  .yab-results-summary{align-items:flex-start;flex-direction:column}
  .yab-results-summary h2{font-size:24px}
}


/* =========================================================
   v0.3.2 — Yaroni premium glass search bar
   Designed to sit INSIDE the hero via Elementor absolute positioning.
   ========================================================= */
.yab-searchbar-shell{
  width:min(1180px,calc(100% - 32px));
  max-width:1180px;
  margin:0 auto;
  position:relative;
  z-index:50;
  direction:rtl;
  font-family:inherit;
}
.yab-searchbar{
  display:grid;
  grid-template-columns:1.05fr 1.15fr 1.15fr .72fr .72fr 150px;
  align-items:stretch;
  min-height:68px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.26);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(15,37,52,.82),rgba(10,29,42,.72));
  box-shadow:0 14px 34px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter:blur(16px) saturate(1.18);
  -webkit-backdrop-filter:blur(16px) saturate(1.18);
}
.yab-sb-field{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:3px;
  min-width:0;
  min-height:68px;
  margin:0;
  padding:10px 16px;
  background:transparent;
  border-left:1px solid rgba(255,255,255,.14);
  transition:background .2s ease;
}
.yab-sb-field:hover{background:rgba(255,255,255,.05)}
.yab-sb-field>span:first-child{
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:11px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:.01em;
}
.yab-sb-static{
  color:#fff!important;
  font-size:15px;
  line-height:1.25;
  font-weight:800;
  text-shadow:0 1px 2px rgba(0,0,0,.22);
}
.yab-sb-field input{
  width:100%!important;
  height:25px!important;
  min-height:25px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:14px!important;
  line-height:25px!important;
  font-weight:800!important;
  text-shadow:0 1px 2px rgba(0,0,0,.22);
}
.yab-sb-field input:focus{outline:0!important;box-shadow:none!important}
.yab-sb-field input[type=number]{appearance:textfield;-moz-appearance:textfield}
.yab-sb-field input[type=number]::-webkit-inner-spin-button,
.yab-sb-field input[type=number]::-webkit-outer-spin-button{opacity:.72;filter:invert(1)}
.yab-sb-field input[type=date]::-webkit-calendar-picker-indicator{
  filter:invert(1);
  opacity:.82;
  cursor:pointer;
}
.yab-sb-submit{
  min-width:150px!important;
  min-height:68px!important;
  margin:0!important;
  padding:0 22px!important;
  border:0!important;
  border-radius:0!important;
  background:linear-gradient(135deg,#0aa0bd,#087f99)!important;
  color:#fff!important;
  box-shadow:inset 1px 0 0 rgba(255,255,255,.14)!important;
  font-family:inherit!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:900!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  cursor:pointer!important;
  transition:filter .2s ease,background .2s ease!important;
}
.yab-sb-submit:hover{
  background:linear-gradient(135deg,#0badcb,#0787a2)!important;
  color:#fff!important;
  filter:brightness(1.05);
  transform:none!important;
}

@media (max-width:980px){
  .yab-searchbar-shell{width:min(94%,760px)}
  .yab-searchbar{grid-template-columns:1fr 1fr 1fr;border-radius:16px;min-height:auto}
  .yab-sb-field{min-height:62px;padding:9px 13px;border-bottom:1px solid rgba(255,255,255,.12)}
  .yab-sb-submit{min-height:62px!important;grid-column:auto}
}
@media (max-width:640px){
  .yab-searchbar-shell{width:calc(100% - 22px)}
  .yab-searchbar{grid-template-columns:1fr 1fr;border-radius:15px}
  .yab-sb-destination{grid-column:1/-1;min-height:56px}
  .yab-sb-field{min-height:58px;padding:8px 12px}
  .yab-sb-small{min-height:54px}
  .yab-sb-submit{grid-column:1/-1;min-height:54px!important;width:100%!important}
}


/* =========================================================
   v0.3.3 — slimmer hero bar + infants + rooms
   ========================================================= */
.yab-searchbar{
  grid-template-columns:1.02fr 1.08fr 1.08fr .62fr .62fr .62fr .62fr 132px;
  min-height:54px;
  border-radius:16px;
}
.yab-sb-field{
  min-height:54px;
  padding:6px 12px;
  gap:2px;
}
.yab-sb-field>span:first-child{font-size:10px}
.yab-sb-static{font-size:14px}
.yab-sb-field input{
  height:22px!important;
  min-height:22px!important;
  font-size:13px!important;
  line-height:22px!important;
}
.yab-sb-submit{
  min-width:132px!important;
  min-height:54px!important;
  padding:0 16px!important;
  font-size:14px!important;
}
@media (max-width:1180px) and (min-width:981px){
  .yab-searchbar-shell{width:min(97%,1180px)}
  .yab-searchbar{grid-template-columns:1fr 1.05fr 1.05fr .58fr .58fr .58fr .58fr 118px}
  .yab-sb-field{padding:6px 9px}
  .yab-sb-submit{min-width:118px!important;padding:0 10px!important}
}
@media (max-width:980px){
  .yab-searchbar{grid-template-columns:1fr 1fr 1fr 1fr;min-height:auto}
  .yab-sb-field{min-height:52px;padding:6px 10px}
  .yab-sb-submit{min-height:52px!important;min-width:0!important}
}
@media (max-width:640px){
  .yab-searchbar{grid-template-columns:1fr 1fr}
  .yab-sb-destination{grid-column:1/-1;min-height:50px}
  .yab-sb-field{min-height:50px;padding:6px 10px}
  .yab-sb-small{min-height:48px}
  .yab-sb-submit{grid-column:1/-1;min-height:48px!important;width:100%!important}
}


/* =========================================================
   v0.3.5 — MOBILE: single-row search bar only
   Desktop remains identical to v0.3.3.
   All mobile controls stay on one horizontal row.
   ========================================================= */
@media (max-width:640px){
  .yab-searchbar-shell{
    width:calc(100% - 12px);
    max-width:none;
    margin-left:auto;
    margin-right:auto;
  }
  .yab-searchbar{
    display:grid!important;
    grid-template-columns:45px 65px 65px repeat(4,34px) 56px!important;
    width:100%!important;
    min-height:46px!important;
    border-radius:12px!important;
    overflow:hidden!important;
    align-items:stretch!important;
  }
  .yab-sb-field,
  .yab-sb-destination,
  .yab-sb-small{
    grid-column:auto!important;
    min-width:0!important;
    min-height:46px!important;
    height:46px!important;
    padding:4px 3px!important;
    gap:1px!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
    overflow:hidden!important;
  }
  .yab-sb-field>span:first-child,
  .yab-sb-destination>span:first-child,
  .yab-sb-small>span:first-child{
    font-size:7px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .yab-sb-destination .yab-sb-static{
    font-size:10px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
  }
  .yab-sb-field input[type=date]{
    width:100%!important;
    min-width:0!important;
    height:20px!important;
    min-height:20px!important;
    padding:0!important;
    margin:0!important;
    font-size:9px!important;
    line-height:20px!important;
    text-align:center!important;
  }
  .yab-sb-field input[type=date]::-webkit-calendar-picker-indicator{
    width:11px!important;
    height:11px!important;
    padding:0!important;
    margin:0!important;
  }
  .yab-sb-small input{
    width:100%!important;
    min-width:0!important;
    height:20px!important;
    min-height:20px!important;
    padding:0!important;
    margin:0!important;
    font-size:11px!important;
    line-height:20px!important;
    text-align:center!important;
  }
  .yab-sb-submit{
    grid-column:auto!important;
    width:56px!important;
    min-width:56px!important;
    height:46px!important;
    min-height:46px!important;
    padding:0 3px!important;
    border-radius:0!important;
    font-size:10px!important;
    line-height:1!important;
    gap:2px!important;
  }
  .yab-sb-submit span:last-child{font-size:10px!important}
}

@media (max-width:390px){
  .yab-searchbar-shell{width:calc(100% - 8px)}
  .yab-searchbar{
    grid-template-columns:42px 61px 61px repeat(4,32px) 53px!important;
  }
  .yab-sb-submit{width:53px!important;min-width:53px!important;font-size:9px!important}
  .yab-sb-field>span:first-child,
  .yab-sb-destination>span:first-child,
  .yab-sb-small>span:first-child{font-size:6.5px!important}
  .yab-sb-destination .yab-sb-static{font-size:9px!important}
  .yab-sb-field input[type=date]{font-size:8px!important}
  .yab-sb-small input{font-size:10px!important}
}


/* =========================================================
   v0.3.6 — desktop-only height refinement
   Adds a little more vertical presence on desktop only.
   Mobile/tablet layouts remain unchanged.
   ========================================================= */
@media (min-width:981px){
  .yab-searchbar{
    min-height:64px;
  }
  .yab-sb-field{
    min-height:64px;
    padding-top:11px;
    padding-bottom:11px;
  }
  .yab-sb-submit{
    min-height:64px!important;
  }
}

/* =========================================================
   v0.4.0 — booking + payment flow
   ========================================================= */
.yab-book-button{display:flex!important;align-items:center;justify-content:space-between;text-decoration:none!important;color:#fff!important;background:#0d83bd;border-radius:12px;padding:13px 16px;margin-top:14px;font-weight:800;transition:.2s ease}.yab-book-button:hover{transform:translateY(-1px);filter:brightness(1.05)}
.yab-booking-page,.yab-payment-return{max-width:1180px;margin:40px auto;padding:0 18px;font-family:inherit}.yab-booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.yab-booking-main,.yab-order-summary,.yab-payment-return>div{background:#fff;border:1px solid #e7edf1;border-radius:20px;box-shadow:0 14px 40px rgba(20,45,65,.08);padding:26px}.yab-booking-main h2{margin:5px 0 22px}.yab-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.yab-form-grid label,.yab-traveller{font-size:13px;font-weight:700;color:#263746}.yab-form-grid input,.yab-form-grid textarea,.yab-traveller input,.yab-traveller select{width:100%;margin-top:6px;border:1px solid #d8e1e7;border-radius:10px;padding:11px 12px;background:#fff;box-sizing:border-box}.yab-full{grid-column:1/-1}.yab-travellers{display:grid;gap:12px;margin:14px 0 20px}.yab-traveller{display:grid;grid-template-columns:100px 1fr 1fr 110px 150px;gap:10px;align-items:center;padding:12px;border:1px solid #e8edf1;border-radius:12px;background:#f9fbfc}.yab-traveller input,.yab-traveller select{margin:0}.yab-primary-button{border:0;border-radius:12px;padding:14px 22px;background:#0d83bd;color:#fff;font-weight:800;cursor:pointer}.yab-order-summary{position:sticky;top:100px}.yab-summary-price{font-size:34px;font-weight:900;margin:18px 0;color:#0d83bd}.yab-success{text-align:center;max-width:720px;margin:auto}.yab-success-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#e9f8ef;color:#1b9a53;font-size:32px;font-weight:900;margin:0 auto 16px}
@media(max-width:800px){.yab-booking-grid{grid-template-columns:1fr}.yab-order-summary{position:static;order:-1}.yab-form-grid{grid-template-columns:1fr}.yab-full{grid-column:auto}.yab-traveller{grid-template-columns:1fr 1fr}.yab-traveller strong{grid-column:1/-1}.yab-booking-page,.yab-payment-return{margin:20px auto;padding:0 10px}.yab-booking-main,.yab-order-summary,.yab-payment-return>div{padding:18px;border-radius:16px}}

/* =========================================================
   v0.4.2 — 2Dream-inspired clean/light search bar
   Visual refinement only. No API / booking logic changes.
   ========================================================= */
@media (min-width:641px){
  .yab-searchbar-shell{
    width:min(1180px,calc(100% - 40px));
    max-width:1180px;
    margin:0 auto;
    padding:18px 0 20px;
  }
  .yab-searchbar{
    display:grid!important;
    grid-template-columns:1.25fr 1fr 1fr .62fr .62fr .62fr .62fr 116px!important;
    align-items:end!important;
    min-height:96px!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .yab-sb-field,
  .yab-sb-destination,
  .yab-sb-small{
    min-height:74px!important;
    height:auto!important;
    margin:0!important;
    padding:10px 12px 12px!important;
    gap:8px!important;
    justify-content:flex-end!important;
    align-items:stretch!important;
    text-align:right!important;
    background:#fff!important;
    border:0!important;
    border-left:0!important;
    position:relative!important;
    overflow:visible!important;
  }
  .yab-sb-field:after,
  .yab-sb-destination:after,
  .yab-sb-small:after{
    content:"";
    position:absolute;
    right:12px;
    left:12px;
    bottom:4px;
    height:1px;
    background:#9b9b9b;
  }
  .yab-sb-field:hover,
  .yab-sb-destination:hover,
  .yab-sb-small:hover{
    background:#fff!important;
  }
  .yab-sb-field>span:first-child,
  .yab-sb-destination>span:first-child,
  .yab-sb-small>span:first-child{
    color:#4d4d4d!important;
    font-size:14px!important;
    line-height:1.2!important;
    font-weight:700!important;
    text-shadow:none!important;
    white-space:nowrap!important;
  }
  .yab-sb-static{
    color:#8a8a8a!important;
    font-size:15px!important;
    line-height:1.2!important;
    font-weight:500!important;
    text-shadow:none!important;
  }
  .yab-sb-field input{
    width:100%!important;
    height:30px!important;
    min-height:30px!important;
    margin:0!important;
    padding:0 0 2px!important;
    border:0!important;
    border-radius:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#858585!important;
    font-family:inherit!important;
    font-size:15px!important;
    line-height:28px!important;
    font-weight:500!important;
    text-align:right!important;
    text-shadow:none!important;
  }
  .yab-sb-small input{
    text-align:center!important;
    color:#5c5c5c!important;
    font-weight:600!important;
  }
  .yab-sb-field input[type=date]::-webkit-calendar-picker-indicator{
    filter:none!important;
    opacity:.55!important;
  }
  .yab-sb-field input[type=number]::-webkit-inner-spin-button,
  .yab-sb-field input[type=number]::-webkit-outer-spin-button{
    opacity:.45!important;
    filter:none!important;
  }
  .yab-sb-submit{
    align-self:end!important;
    width:116px!important;
    min-width:116px!important;
    height:42px!important;
    min-height:42px!important;
    margin:0 0 4px!important;
    padding:0 15px!important;
    border:0!important;
    border-radius:0!important;
    background:#111!important;
    color:#fff!important;
    box-shadow:none!important;
    font-family:inherit!important;
    font-size:15px!important;
    line-height:1!important;
    font-weight:800!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    cursor:pointer!important;
    transition:background .18s ease!important;
  }
  .yab-sb-submit:hover{
    background:#2a2a2a!important;
    color:#fff!important;
    transform:none!important;
    filter:none!important;
    box-shadow:none!important;
  }
}

/* Tablet: preserve the same light visual language, allow wrapping cleanly. */
@media (max-width:980px) and (min-width:641px){
  .yab-searchbar-shell{width:calc(100% - 30px);padding:14px 0 18px}
  .yab-searchbar{
    grid-template-columns:1.2fr 1fr 1fr 1fr!important;
    row-gap:10px!important;
    min-height:auto!important;
  }
  .yab-sb-field,
  .yab-sb-destination,
  .yab-sb-small{min-height:66px!important;padding:8px 10px 10px!important}
  .yab-sb-submit{width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important;margin:0!important}
}

/* Mobile remains a single row, but switches from dark glass to light/clean. */
@media (max-width:640px){
  .yab-searchbar{
    background:#fff!important;
    border:1px solid rgba(17,24,39,.10)!important;
    box-shadow:0 8px 24px rgba(15,23,42,.08)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .yab-sb-field,
  .yab-sb-destination,
  .yab-sb-small{
    background:#fff!important;
    border-left:1px solid rgba(17,24,39,.08)!important;
    color:#222!important;
  }
  .yab-sb-field>span:first-child,
  .yab-sb-destination>span:first-child,
  .yab-sb-small>span:first-child{
    color:#777!important;
    text-shadow:none!important;
  }
  .yab-sb-destination .yab-sb-static,
  .yab-sb-field input,
  .yab-sb-small input{
    color:#20242a!important;
    text-shadow:none!important;
  }
  .yab-sb-field input[type=date]::-webkit-calendar-picker-indicator{filter:none!important;opacity:.55!important}
  .yab-sb-field input[type=number]::-webkit-inner-spin-button,
  .yab-sb-field input[type=number]::-webkit-outer-spin-button{filter:none!important;opacity:.45!important}
  .yab-sb-submit{background:#111!important;color:#fff!important;box-shadow:none!important}
  .yab-sb-submit:hover{background:#2a2a2a!important}
}

/* =========================================================
   v0.4.3 — full-width, taller 2Dream-style desktop search strip
   Visual only. Keeps all API / booking logic unchanged.
   ========================================================= */
@media (min-width:981px){
  .yab-searchbar-shell{
    width:100vw!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding:28px max(28px,calc((100vw - 1280px)/2)) 32px!important;
    box-sizing:border-box!important;
    background:#fff!important;
    box-shadow:0 16px 34px rgba(15,23,42,.10)!important;
  }

  .yab-searchbar{
    width:100%!important;
    max-width:1280px!important;
    margin:0 auto!important;
    grid-template-columns:1.35fr 1.08fr 1.08fr .68fr .68fr .68fr .68fr 132px!important;
    min-height:124px!important;
    align-items:end!important;
    background:#fff!important;
  }

  .yab-sb-field,
  .yab-sb-destination,
  .yab-sb-small{
    min-height:96px!important;
    padding:18px 18px 16px!important;
    gap:10px!important;
  }

  .yab-sb-field:after,
  .yab-sb-destination:after,
  .yab-sb-small:after{
    right:18px!important;
    left:18px!important;
    bottom:7px!important;
    height:1px!important;
    background:#8f8f8f!important;
  }

  .yab-sb-field>span:first-child,
  .yab-sb-destination>span:first-child,
  .yab-sb-small>span:first-child{
    font-size:16px!important;
    font-weight:800!important;
  }

  .yab-sb-static{
    font-size:17px!important;
    font-weight:500!important;
  }

  .yab-sb-field input{
    height:36px!important;
    min-height:36px!important;
    font-size:17px!important;
    line-height:34px!important;
  }

  .yab-sb-small input{
    font-size:17px!important;
    font-weight:700!important;
  }

  .yab-sb-submit{
    width:132px!important;
    min-width:132px!important;
    height:54px!important;
    min-height:54px!important;
    margin:0 0 7px!important;
    padding:0 18px!important;
    font-size:17px!important;
    font-weight:900!important;
  }
}


/* =========================================================
   v0.4.4 — 2Dream-style mobile search panel
   Mobile visual/layout only. Desktop/API/booking remain untouched.
   ========================================================= */
@media (max-width:640px){
  .yab-searchbar-shell{
    width:100vw!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding:14px 8px 22px!important;
    box-sizing:border-box!important;
    background:#f1f1f1!important;
  }

  .yab-searchbar{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:12px 14px 14px!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:0!important;
    min-height:0!important;
    overflow:visible!important;
    background:#fff!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:0 12px 26px rgba(0,0,0,.14)!important;
  }

  .yab-sb-field,
  .yab-sb-destination,
  .yab-sb-small{
    min-width:0!important;
    min-height:88px!important;
    margin:0!important;
    padding:12px 10px 10px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:center!important;
    gap:8px!important;
    background:#fff!important;
    border:0!important;
    border-left:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    position:relative!important;
    text-align:right!important;
  }

  .yab-sb-field:after,
  .yab-sb-destination:after,
  .yab-sb-small:after{
    content:""!important;
    position:absolute!important;
    right:8px!important;
    left:8px!important;
    bottom:3px!important;
    height:1px!important;
    background:#767676!important;
  }

  .yab-sb-destination{
    grid-column:1 / -1!important;
    min-height:118px!important;
    padding:20px 18px 16px!important;
  }
  .yab-searchbar > .yab-sb-field:nth-of-type(2),
  .yab-searchbar > .yab-sb-field:nth-of-type(3){
    grid-column:span 2!important;
    min-height:112px!important;
  }
  .yab-sb-small{grid-column:span 1!important;min-height:112px!important;}

  .yab-sb-field>span:first-child,
  .yab-sb-destination>span:first-child,
  .yab-sb-small>span:first-child{
    display:block!important;
    margin:0!important;
    color:#4a4a4a!important;
    font-size:22px!important;
    line-height:1.15!important;
    font-weight:800!important;
    text-align:right!important;
    text-shadow:none!important;
  }
  .yab-sb-small>span:first-child{text-align:center!important;font-size:19px!important;}

  .yab-sb-static,
  .yab-sb-field input,
  .yab-sb-small input{
    width:100%!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    color:#666!important;
    font-family:inherit!important;
    font-size:20px!important;
    line-height:42px!important;
    font-weight:400!important;
    box-shadow:none!important;
    text-shadow:none!important;
  }
  .yab-sb-static{text-align:right!important;display:block!important;}
  .yab-sb-small input{text-align:center!important;font-size:21px!important;font-weight:500!important;}

  .yab-sb-submit{
    grid-column:1 / -1!important;
    width:100%!important;
    min-width:0!important;
    height:64px!important;
    min-height:64px!important;
    margin:14px 0 0!important;
    padding:0 20px!important;
    border:0!important;
    border-radius:0!important;
    background:#050505!important;
    color:#fff!important;
    box-shadow:none!important;
    font-size:22px!important;
    line-height:1!important;
    font-weight:800!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
  }
  .yab-sb-submit:hover{background:#050505!important;color:#fff!important;transform:none!important;}

  .yab-sb-field input[type=date]::-webkit-calendar-picker-indicator{opacity:.55!important;filter:none!important;}
  .yab-sb-field input[type=number]::-webkit-inner-spin-button,
  .yab-sb-field input[type=number]::-webkit-outer-spin-button{opacity:.35!important;}
}

/* =========================================================
   v0.4.5 — mobile refinement
   Slightly slimmer mobile panel + pure white surrounding background.
   ========================================================= */
@media (max-width:640px){
  .yab-searchbar-shell{
    padding:8px 0 12px!important;
    background:#fff!important;
  }

  .yab-searchbar{
    padding:8px 12px 10px!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  .yab-sb-field,
  .yab-sb-destination,
  .yab-sb-small{
    min-height:80px!important;
    padding:9px 9px 8px!important;
    gap:6px!important;
  }

  .yab-sb-destination{
    min-height:102px!important;
    padding:14px 16px 12px!important;
  }

  .yab-searchbar > .yab-sb-field:nth-of-type(2),
  .yab-searchbar > .yab-sb-field:nth-of-type(3){
    min-height:98px!important;
  }

  .yab-sb-small{
    min-height:98px!important;
  }

  .yab-sb-field>span:first-child,
  .yab-sb-destination>span:first-child,
  .yab-sb-small>span:first-child{
    font-size:20px!important;
  }

  .yab-sb-small>span:first-child{
    font-size:18px!important;
  }

  .yab-sb-static,
  .yab-sb-field input,
  .yab-sb-small input{
    height:38px!important;
    min-height:38px!important;
    font-size:18px!important;
    line-height:38px!important;
  }

  .yab-sb-small input{
    font-size:19px!important;
  }

  .yab-sb-submit{
    height:56px!important;
    min-height:56px!important;
    margin:10px 0 0!important;
    font-size:20px!important;
  }
}

/* =========================================================
   v0.4.6 — mobile destination height + quantity controls
   Mobile only: destination matches the other rows; quantity
   fields get visible +/- controls while preserving numeric input.
   ========================================================= */
.yab-qty-control{display:contents}
.yab-qty-btn{display:none}

@media (max-width:640px){
  .yab-sb-destination{
    min-height:98px!important;
    padding:9px 9px 8px!important;
    gap:6px!important;
  }

  .yab-qty-control{
    width:100%!important;
    height:38px!important;
    min-height:38px!important;
    display:grid!important;
    grid-template-columns:26px minmax(0,1fr) 26px!important;
    align-items:center!important;
    gap:2px!important;
    direction:ltr!important;
  }

  .yab-qty-control input[type=number]{
    width:100%!important;
    min-width:0!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    text-align:center!important;
    appearance:auto!important;
    -moz-appearance:auto!important;
  }

  .yab-qty-control input[type=number]::-webkit-inner-spin-button,
  .yab-qty-control input[type=number]::-webkit-outer-spin-button{
    -webkit-appearance:auto!important;
    opacity:1!important;
    margin:0!important;
  }

  .yab-qty-btn{
    display:flex!important;
    width:26px!important;
    height:26px!important;
    min-width:26px!important;
    min-height:26px!important;
    padding:0!important;
    margin:0!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid #d4d4d4!important;
    border-radius:4px!important;
    background:#fff!important;
    color:#333!important;
    font:700 18px/1 Arial,sans-serif!important;
    box-shadow:none!important;
    cursor:pointer!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  .yab-qty-btn:active{background:#f2f2f2!important}
}

/* =========================================================
   v0.4.7 — refined 2Dream-inspired search typography/layout
   Visual-only refinement. Keeps API / booking logic unchanged.
   ========================================================= */
.yab-searchbar-shell,
.yab-searchbar,
.yab-searchbar input,
.yab-searchbar button{
  font-family:Arial,"Helvetica Neue",sans-serif!important;
}

/* Desktop: full-width white strip, lighter typography and cleaner rhythm. */
@media (min-width:981px){
  .yab-searchbar-shell{
    padding:24px max(28px,calc((100vw - 1280px)/2)) 27px!important;
    background:#fff!important;
    box-shadow:0 14px 28px rgba(0,0,0,.08)!important;
  }
  .yab-searchbar{
    min-height:108px!important;
    grid-template-columns:1.35fr 1.08fr 1.08fr .68fr .68fr .68fr .68fr 126px!important;
    align-items:end!important;
    background:#fff!important;
  }
  .yab-sb-field,
  .yab-sb-destination,
  .yab-sb-small{
    min-height:82px!important;
    padding:12px 16px 13px!important;
    gap:6px!important;
  }
  .yab-sb-field:after,
  .yab-sb-destination:after,
  .yab-sb-small:after{
    right:16px!important;
    left:16px!important;
    bottom:5px!important;
    height:1px!important;
    background:#999!important;
  }
  .yab-sb-field>span:first-child,
  .yab-sb-destination>span:first-child,
  .yab-sb-small>span:first-child{
    color:#4b4b4b!important;
    font-size:15px!important;
    line-height:1.15!important;
    font-weight:700!important;
    letter-spacing:0!important;
  }
  .yab-sb-static,
  .yab-sb-field input,
  .yab-sb-small input{
    color:#858585!important;
    font-size:16px!important;
    line-height:30px!important;
    font-weight:400!important;
  }
  .yab-sb-small input{color:#555!important;font-weight:500!important;}
  .yab-sb-submit{
    width:126px!important;
    min-width:126px!important;
    height:48px!important;
    min-height:48px!important;
    margin:0 0 5px!important;
    padding:0 18px!important;
    background:#050505!important;
    color:#fff!important;
    border-radius:0!important;
    box-shadow:none!important;
    font-size:15px!important;
    font-weight:700!important;
    letter-spacing:0!important;
  }
  .yab-sb-submit span:last-child{display:none!important;}
}

/* Mobile: same hierarchy as reference — light, airy, precise. */
@media (max-width:640px){
  .yab-searchbar-shell{
    width:100vw!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding:10px 8px 14px!important;
    background:#fff!important;
    box-shadow:0 10px 24px rgba(0,0,0,.07)!important;
  }
  .yab-searchbar{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:100%!important;
    margin:0!important;
    padding:8px 12px 10px!important;
    gap:0!important;
    background:#fff!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .yab-sb-field,
  .yab-sb-destination,
  .yab-sb-small,
  .yab-searchbar > .yab-sb-field:nth-of-type(2),
  .yab-searchbar > .yab-sb-field:nth-of-type(3){
    min-height:82px!important;
    height:82px!important;
    padding:10px 10px 9px!important;
    gap:5px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:center!important;
    background:#fff!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .yab-sb-destination{grid-column:1/-1!important;}
  .yab-searchbar > .yab-sb-field:nth-of-type(2),
  .yab-searchbar > .yab-sb-field:nth-of-type(3){grid-column:span 2!important;}
  .yab-sb-small{grid-column:span 1!important;}

  .yab-sb-field:after,
  .yab-sb-destination:after,
  .yab-sb-small:after{
    right:8px!important;
    left:8px!important;
    bottom:2px!important;
    height:1px!important;
    background:#8d8d8d!important;
  }
  .yab-sb-field>span:first-child,
  .yab-sb-destination>span:first-child,
  .yab-sb-small>span:first-child{
    margin:0!important;
    color:#4b4b4b!important;
    font-size:17px!important;
    line-height:1.15!important;
    font-weight:700!important;
    letter-spacing:0!important;
    text-shadow:none!important;
    text-align:right!important;
  }
  .yab-sb-small>span:first-child{
    font-size:15px!important;
    text-align:center!important;
  }
  .yab-sb-static,
  .yab-sb-field input{
    width:100%!important;
    height:30px!important;
    min-height:30px!important;
    margin:0!important;
    padding:0!important;
    color:#858585!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    font-size:16px!important;
    line-height:30px!important;
    font-weight:400!important;
    text-shadow:none!important;
    text-align:right!important;
  }
  .yab-sb-small input{
    color:#555!important;
    font-size:16px!important;
    font-weight:500!important;
    text-align:center!important;
  }
  .yab-sb-field input[type=date]::-webkit-calendar-picker-indicator{
    opacity:.45!important;
    width:15px!important;
    height:15px!important;
    filter:none!important;
  }

  /* Quantity selector: visible but delicate, not boxy. */
  .yab-qty-control{
    width:100%!important;
    height:30px!important;
    min-height:30px!important;
    display:grid!important;
    grid-template-columns:24px minmax(0,1fr) 24px!important;
    align-items:center!important;
    gap:1px!important;
    direction:ltr!important;
  }
  .yab-qty-control input[type=number]{
    height:30px!important;
    min-height:30px!important;
    line-height:30px!important;
    padding:0!important;
    margin:0!important;
    text-align:center!important;
    appearance:textfield!important;
    -moz-appearance:textfield!important;
  }
  .yab-qty-control input[type=number]::-webkit-inner-spin-button,
  .yab-qty-control input[type=number]::-webkit-outer-spin-button{
    -webkit-appearance:none!important;
    appearance:none!important;
    margin:0!important;
    opacity:0!important;
  }
  .yab-qty-btn{
    display:flex!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    min-height:24px!important;
    padding:0!important;
    margin:0!important;
    align-items:center!important;
    justify-content:center!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#7a7a7a!important;
    font:400 18px/1 Arial,sans-serif!important;
    box-shadow:none!important;
  }
  .yab-qty-btn:active{background:#f5f5f5!important;color:#222!important;}

  .yab-sb-submit{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    height:52px!important;
    min-height:52px!important;
    margin:10px 0 0!important;
    padding:0 18px!important;
    border:0!important;
    border-radius:0!important;
    background:#050505!important;
    color:#fff!important;
    box-shadow:none!important;
    font-size:17px!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .yab-sb-submit span:last-child{display:none!important;}
  .yab-sb-submit:hover{background:#050505!important;color:#fff!important;}
}


/* =========================================================
   v0.4.8 — exact field hierarchy / 2Dream-inspired refinement
   Fields: destination, from, to, board basis, adults, children, infants.
   ========================================================= */
.yab-searchbar input,
.yab-searchbar select,
.yab-searchbar button{font-family:Arial,"Helvetica Neue",sans-serif!important;}

/* shared text-field styling */
.yab-destination-text,
.yab-sb-base select{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#858585!important;
  font-weight:400!important;
}
.yab-destination-text::placeholder{color:#9a9a9a!important;opacity:1!important;}
.yab-sb-base select{appearance:auto!important;-webkit-appearance:auto!important;}

@media (min-width:981px){
  .yab-searchbar{
    grid-template-columns:1.42fr 1.08fr 1.08fr 1.02fr .68fr .68fr .68fr 126px!important;
  }
  .yab-destination-text,.yab-sb-base select{
    height:30px!important;min-height:30px!important;line-height:30px!important;font-size:16px!important;
  }
}

@media (max-width:640px){
  .yab-searchbar{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    padding:8px 12px 10px!important;
  }
  .yab-sb-destination{grid-column:1/-1!important;}
  .yab-sb-date{grid-column:span 3!important;}
  .yab-sb-base{grid-column:1/-1!important;}
  .yab-sb-small{grid-column:span 2!important;}

  .yab-sb-destination,
  .yab-sb-date,
  .yab-sb-base,
  .yab-sb-small{
    min-height:74px!important;
    height:74px!important;
    padding:8px 10px 8px!important;
    justify-content:center!important;
  }
  .yab-sb-field>span:first-child,
  .yab-sb-destination>span:first-child,
  .yab-sb-base>span:first-child,
  .yab-sb-small>span:first-child{
    color:#4a4a4a!important;
    font-weight:700!important;
    letter-spacing:0!important;
  }
  .yab-sb-destination>span:first-child,
  .yab-sb-base>span:first-child{font-size:17px!important;text-align:right!important;}
  .yab-sb-date>span:first-child{font-size:17px!important;text-align:right!important;}
  .yab-sb-small>span:first-child{font-size:15px!important;text-align:center!important;}

  .yab-destination-text,
  .yab-sb-base select,
  .yab-sb-date input{
    width:100%!important;
    height:28px!important;
    min-height:28px!important;
    line-height:28px!important;
    font-size:16px!important;
    color:#8a8a8a!important;
    text-align:right!important;
  }
  .yab-sb-base select{direction:rtl!important;}
  .yab-qty-control{height:28px!important;min-height:28px!important;grid-template-columns:22px minmax(0,1fr) 22px!important;}
  .yab-qty-control input[type=number]{height:28px!important;min-height:28px!important;line-height:28px!important;}
  .yab-qty-btn{width:22px!important;height:22px!important;min-width:22px!important;font-size:16px!important;}
  .yab-sb-submit{
    grid-column:1/-1!important;
    height:48px!important;
    min-height:48px!important;
    margin-top:8px!important;
    background:#050505!important;
    color:#fff!important;
    border-radius:0!important;
    font-size:17px!important;
    font-weight:700!important;
  }
  .yab-sb-submit span:last-child{display:none!important;}
}


/* =========================================================
   v0.4.9 — mobile hierarchy + age ranges
   Full row: destination
   Full row: from/to pair
   Full row: board basis
   Full row: adults / children / infants, with age ranges
   ========================================================= */
.yab-sb-person-label{display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;}
.yab-sb-person-label small{display:block!important;font-size:11px!important;line-height:1.1!important;font-weight:400!important;color:#7e7e7e!important;letter-spacing:0!important;}

@media (max-width:640px){
  .yab-searchbar{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
  }
  /* one complete row */
  .yab-sb-destination{grid-column:1/-1!important;}
  /* together they occupy one complete row */
  .yab-sb-date{grid-column:span 3!important;}
  /* one complete row */
  .yab-sb-base{grid-column:1/-1!important;}
  /* together they occupy one complete row */
  .yab-sb-small{grid-column:span 2!important;}

  .yab-sb-destination,
  .yab-sb-date,
  .yab-sb-base{
    min-height:68px!important;
    height:68px!important;
  }
  .yab-sb-small{
    min-height:82px!important;
    height:82px!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
  }
  .yab-sb-person-label{
    font-size:15px!important;
    font-weight:700!important;
    line-height:1.08!important;
    margin-bottom:3px!important;
  }
  .yab-sb-person-label small{
    font-size:11px!important;
    color:#777!important;
    margin-top:1px!important;
  }
  .yab-qty-control{
    margin-top:1px!important;
  }
}

@media (min-width:641px){
  .yab-sb-person-label small{font-size:10px!important;color:#777!important;margin-top:1px!important;}
}


/* =========================================================
   v0.5.0 — mobile date row breathing room
   Fixes the cramped mobile date row / picker trigger sizing.
   ========================================================= */
@media (max-width:640px){
  .yab-sb-destination,
  .yab-sb-base{
    min-height:72px!important;
    height:72px!important;
    padding:10px 12px 8px!important;
  }

  .yab-sb-date{
    grid-column:span 3!important;
    min-height:88px!important;
    height:88px!important;
    padding:10px 14px 10px!important;
    gap:7px!important;
    justify-content:center!important;
  }

  .yab-sb-date:after{
    right:14px!important;
    left:14px!important;
    bottom:4px!important;
  }

  .yab-sb-date > span:first-child{
    font-size:18px!important;
    line-height:1.15!important;
    font-weight:700!important;
    text-align:right!important;
    color:#4a4a4a!important;
  }

  .yab-sb-date input,
  .yab-sb-base select,
  .yab-destination-text{
    width:100%!important;
    height:36px!important;
    min-height:36px!important;
    line-height:36px!important;
    font-size:17px!important;
  }

  .yab-sb-date input[type=date]{
    padding:0 0 2px!important;
    text-align:right!important;
  }

  .yab-sb-date input[type=date]::-webkit-date-and-time-value{
    text-align:right!important;
  }

  .yab-sb-date input[type=date]::-webkit-calendar-picker-indicator{
    width:18px!important;
    height:18px!important;
    opacity:.72!important;
    margin-inline-start:6px!important;
  }

  .yab-sb-small{
    min-height:84px!important;
    height:84px!important;
  }

  .yab-sb-submit{
    margin-top:10px!important;
  }
}


/* =========================================================
   v0.5.1 — exact mobile date split + populated selectors
   Date row is one complete row split 50/50 with ~2px gap.
   ========================================================= */
.yab-destination-text{
  appearance:auto!important;
  -webkit-appearance:auto!important;
}

@media (max-width:640px){
  .yab-searchbar{
    column-gap:0!important;
    row-gap:0!important;
  }

  /* Date row: two exact halves, almost touching. */
  .yab-sb-date{
    grid-column:span 3!important;
    min-height:86px!important;
    height:86px!important;
    padding:10px 12px 10px!important;
    margin:0!important;
    gap:6px!important;
  }
  .yab-sb-date:nth-of-type(2){
    margin-left:1px!important;
  }
  .yab-sb-date:nth-of-type(3){
    margin-right:1px!important;
  }
  .yab-sb-date:after{
    right:0!important;
    left:0!important;
    bottom:3px!important;
    height:1px!important;
    background:#6f6f6f!important;
  }
  .yab-sb-date > span:first-child{
    margin:0!important;
    font-size:18px!important;
    line-height:1.15!important;
    font-weight:700!important;
    text-align:right!important;
  }
  .yab-sb-date input[type=date]{
    width:100%!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    margin:0!important;
    font-size:17px!important;
    line-height:38px!important;
    text-align:right!important;
  }
  .yab-sb-date input[type=date]::-webkit-date-and-time-value{
    text-align:right!important;
  }
  .yab-sb-date input[type=date]::-webkit-calendar-picker-indicator{
    width:19px!important;
    height:19px!important;
    opacity:.72!important;
    margin:0!important;
  }

  /* Full-width dropdown rows. */
  .yab-sb-destination,
  .yab-sb-base{
    grid-column:1/-1!important;
    min-height:76px!important;
    height:76px!important;
    padding:10px 12px 8px!important;
  }
  .yab-sb-destination:after,
  .yab-sb-base:after{
    right:0!important;
    left:0!important;
  }
  .yab-destination-text,
  .yab-sb-base select{
    width:100%!important;
    height:36px!important;
    min-height:36px!important;
    line-height:36px!important;
    font-size:17px!important;
    color:#777!important;
    direction:rtl!important;
    text-align:right!important;
  }
}


/* =========================================================
   v0.5.2 — mobile date row exactly like the visual reference
   Two equal halves, nearly seamless center gap, no calendar icon.
   The lower line shows the words "מתאריך" / "עד תאריך" until selected.
   ========================================================= */
.yab-date-placeholder{display:none;}

@media (max-width:640px){
  .yab-searchbar{
    column-gap:0!important;
    row-gap:0!important;
  }

  .yab-sb-date{
    grid-column:span 3!important;
    position:relative!important;
    min-height:86px!important;
    height:86px!important;
    padding:10px 14px 10px!important;
    gap:5px!important;
    overflow:hidden!important;
  }

  /* Right half (from) and left half (to) touch almost completely. */
  .yab-sb-date-from{padding-left:7px!important;}
  .yab-sb-date-to{padding-right:7px!important;}

  .yab-sb-date:after{
    right:10px!important;
    left:10px!important;
    bottom:4px!important;
    height:1px!important;
    background:#777!important;
  }
  .yab-sb-date-from:after{left:1px!important;}
  .yab-sb-date-to:after{right:1px!important;}

  .yab-sb-date > span:first-child{
    display:block!important;
    margin:0!important;
    color:#4a4a4a!important;
    font-size:18px!important;
    line-height:1.15!important;
    font-weight:700!important;
    text-align:right!important;
  }

  .yab-date-placeholder{
    display:block!important;
    width:100%!important;
    height:34px!important;
    line-height:34px!important;
    color:#999!important;
    font-size:17px!important;
    font-weight:400!important;
    text-align:right!important;
    pointer-events:none!important;
  }

  .yab-sb-date input[type=date]{
    position:absolute!important;
    right:10px!important;
    left:10px!important;
    bottom:5px!important;
    width:calc(100% - 20px)!important;
    height:36px!important;
    min-height:36px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:transparent!important;
    caret-color:transparent!important;
    font-size:17px!important;
    line-height:36px!important;
    text-align:right!important;
    z-index:2!important;
  }

  /* No calendar drawing/icon on mobile — the whole lower line is clickable. */
  .yab-sb-date input[type=date]::-webkit-calendar-picker-indicator{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    opacity:0!important;
    cursor:pointer!important;
  }

  .yab-sb-date input[type=date]::-webkit-date-and-time-value{
    text-align:right!important;
  }

  /* After selection, show the actual date and hide the helper word. */
  .yab-sb-date.has-value .yab-date-placeholder{visibility:hidden!important;}
  .yab-sb-date.has-value input[type=date]{
    color:#777!important;
    caret-color:auto!important;
  }
}

/* =========================================================
   v0.5.3 — precise mobile date row, slim panel
   Keep the overall search panel at the slimmer v0.4.9 proportions.
   Date row = one full row, two exact halves, ~2px seam only.
   Each underline runs edge-to-edge within its half.
   ========================================================= */
@media (max-width:640px){
  /* Restore the slim proportions from before the date-row experiments. */
  .yab-searchbar-shell{
    padding:10px 8px 14px!important;
    background:#fff!important;
  }
  .yab-searchbar{
    padding:8px 12px 10px!important;
    gap:0!important;
    column-gap:0!important;
    row-gap:0!important;
    background:#fff!important;
  }

  .yab-sb-destination,
  .yab-sb-base{
    min-height:68px!important;
    height:68px!important;
    padding:8px 10px 8px!important;
  }

  /* One complete date row split exactly in half. */
  .yab-sb-date{
    grid-column:span 3!important;
    min-height:68px!important;
    height:68px!important;
    margin:0!important;
    padding:8px 10px 7px!important;
    gap:2px!important;
    overflow:hidden!important;
    position:relative!important;
  }
  /* ~2px visual seam in the center, less than 1 mm. */
  .yab-sb-date-from{margin-left:1px!important;}
  .yab-sb-date-to{margin-right:1px!important;}

  /* Underlines close the entire half: outer edge -> center, center -> outer edge. */
  .yab-sb-date:after{
    content:""!important;
    position:absolute!important;
    right:0!important;
    left:0!important;
    bottom:2px!important;
    height:1px!important;
    background:#8d8d8d!important;
  }

  .yab-sb-date > span:first-child{
    margin:0!important;
    font-size:17px!important;
    line-height:1.15!important;
    font-weight:700!important;
    text-align:right!important;
    color:#4b4b4b!important;
  }

  .yab-date-placeholder{
    display:block!important;
    width:100%!important;
    height:28px!important;
    line-height:28px!important;
    margin:0!important;
    color:#8a8a8a!important;
    font-size:16px!important;
    font-weight:400!important;
    text-align:right!important;
    pointer-events:none!important;
  }

  /* The whole lower date area is clickable, with no calendar icon. */
  .yab-sb-date input[type=date]{
    position:absolute!important;
    right:10px!important;
    left:10px!important;
    bottom:3px!important;
    width:calc(100% - 20px)!important;
    height:30px!important;
    min-height:30px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:transparent!important;
    caret-color:transparent!important;
    font-size:16px!important;
    line-height:30px!important;
    text-align:right!important;
    z-index:2!important;
  }
  .yab-sb-date input[type=date]::-webkit-calendar-picker-indicator{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    opacity:0!important;
    cursor:pointer!important;
  }
  .yab-sb-date input[type=date]::-webkit-date-and-time-value{
    text-align:right!important;
  }
  .yab-sb-date.has-value .yab-date-placeholder{visibility:hidden!important;}
  .yab-sb-date.has-value input[type=date]{
    color:#777!important;
    caret-color:auto!important;
  }

  /* Keep the people row as it was before — do not fatten the booking area. */
  .yab-sb-small{
    min-height:82px!important;
    height:82px!important;
    padding:7px 10px!important;
  }
  .yab-qty-control{
    height:28px!important;
    min-height:28px!important;
  }
  .yab-sb-submit{
    height:48px!important;
    min-height:48px!important;
    margin-top:8px!important;
  }
}


/* =========================================================
   v0.5.4 — MOBILE DATE UNDERLINE: TRUE EDGE-TO-EDGE
   Only the date row is changed. No height/spacing changes elsewhere.
   Right half = From date, left half = To date, exact 50/50.
   Each underline touches the outer edge and meets at the center.
   ========================================================= */
@media (max-width:640px){
  /* Let the date row reach the white panel edges despite form side padding. */
  .yab-sb-date-from{
    margin-right:-12px!important;
    margin-left:0!important;
    padding-right:22px!important;
    padding-left:10px!important;
  }
  .yab-sb-date-to{
    margin-left:-12px!important;
    margin-right:0!important;
    padding-left:22px!important;
    padding-right:10px!important;
  }

  /* Kill every older inset pseudo-line. Use the field border itself. */
  .yab-sb-date:after{
    display:none!important;
    content:none!important;
  }
  .yab-sb-date{
    border-bottom:1px solid #8d8d8d!important;
    box-sizing:border-box!important;
  }

  /* Keep the date click target aligned with the visible half. */
  .yab-sb-date-from input[type=date]{
    right:22px!important;
    left:10px!important;
    width:calc(100% - 32px)!important;
  }
  .yab-sb-date-to input[type=date]{
    right:10px!important;
    left:22px!important;
    width:calc(100% - 32px)!important;
  }
}


/* =========================================================
   v0.5.5 — mobile date row rebuilt as one true full-width row
   Two exact 50/50 cells with a 2px center seam. No inset lines.
   ========================================================= */
.yab-date-row{display:contents;}

@media (max-width:640px){
  .yab-date-row{
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:2px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    align-items:stretch!important;
    direction:rtl!important;
  }

  .yab-date-row .yab-sb-date{
    grid-column:auto!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    min-height:68px!important;
    height:68px!important;
    padding:8px 10px 7px!important;
    border:0!important;
    border-bottom:1px solid #8d8d8d!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    position:relative!important;
  }

  .yab-date-row .yab-sb-date:after{
    display:none!important;
    content:none!important;
  }

  .yab-date-row .yab-sb-date-from,
  .yab-date-row .yab-sb-date-to{
    margin:0!important;
  }

  .yab-date-row .yab-sb-date input[type=date]{
    right:10px!important;
    left:10px!important;
    width:calc(100% - 20px)!important;
  }
}


/* =========================================================
   v0.5.6 — MOBILE GRID LOCK
   Restore exact row structure after the rebuilt date row:
   1) destination full row
   2) dates full row split 50/50
   3) board basis full row
   4) adults / children / infants on one row
   5) search button full row
   ========================================================= */
@media (max-width:640px){
  .yab-searchbar{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:0!important;
    column-gap:0!important;
    row-gap:0!important;
  }

  .yab-sb-destination{
    grid-column:1 / -1!important;
    grid-row:1!important;
  }

  .yab-date-row{
    grid-column:1 / -1!important;
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:2px!important;
    width:100%!important;
    min-width:0!important;
  }

  .yab-date-row .yab-sb-date{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  .yab-sb-base{
    grid-column:1 / -1!important;
    grid-row:3!important;
    width:100%!important;
    min-width:0!important;
  }

  .yab-sb-adults{
    grid-column:1 / 3!important;
    grid-row:4!important;
  }
  .yab-sb-children{
    grid-column:3 / 5!important;
    grid-row:4!important;
  }
  .yab-sb-infants{
    grid-column:5 / 7!important;
    grid-row:4!important;
  }

  .yab-sb-adults,
  .yab-sb-children,
  .yab-sb-infants{
    width:100%!important;
    min-width:0!important;
  }

  .yab-sb-submit{
    grid-column:1 / -1!important;
    grid-row:5!important;
    width:100%!important;
  }
}


/* =========================================================
   v0.5.9 — board basis rebuilt from approved v0.5.6 structure
   One full-width rule + visually centered selected value on mobile.
   ========================================================= */
.yab-base-value{display:none}

@media (max-width:640px){
  .yab-sb-base{
    grid-column:1 / -1!important;
    grid-row:3!important;
    width:100%!important;
    min-width:0!important;
    min-height:68px!important;
    height:68px!important;
    margin:0!important;
    padding:8px 0 7px!important;
    box-sizing:border-box!important;
    position:relative!important;
    overflow:visible!important;
    border:0!important;
    border-bottom:1px solid #8d8d8d!important;
  }

  .yab-sb-base:after{
    display:none!important;
    content:none!important;
  }

  .yab-sb-base > span:first-child{
    display:block!important;
    padding:0 10px!important;
    margin:0!important;
    text-align:right!important;
  }

  .yab-sb-base .yab-base-value{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:28px!important;
    min-height:28px!important;
    margin:0!important;
    padding:0 34px!important;
    box-sizing:border-box!important;
    color:#858585!important;
    font:400 16px/28px Arial,"Helvetica Neue",sans-serif!important;
    text-align:center!important;
    pointer-events:none!important;
    position:relative!important;
    z-index:2!important;
  }

  .yab-sb-base select{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:38px!important;
    min-height:38px!important;
    margin:0!important;
    padding:0!important;
    opacity:0!important;
    cursor:pointer!important;
    z-index:3!important;
  }
}


/* =========================================================
   v0.5.10 — hard-fix board basis line + true centered value
   Uses a real visible rule element instead of inherited borders.
   ========================================================= */
.yab-base-rule{display:none}

@media (max-width:640px){
  .yab-sb-base{
    grid-column:1 / -1!important;
    grid-row:3!important;
    width:100%!important;
    min-width:0!important;
    min-height:68px!important;
    height:68px!important;
    margin:0!important;
    padding:8px 0 7px!important;
    position:relative!important;
    overflow:visible!important;
    border:0!important;
    box-sizing:border-box!important;
  }

  .yab-sb-base:after{
    display:none!important;
    content:none!important;
  }

  .yab-sb-base > span:first-child{
    display:block!important;
    margin:0!important;
    padding:0 10px!important;
    text-align:right!important;
    position:relative!important;
    z-index:2!important;
  }

  .yab-sb-base .yab-base-value{
    display:grid!important;
    place-items:center!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:7px!important;
    width:100%!important;
    height:28px!important;
    min-height:28px!important;
    margin:0!important;
    padding:0 34px!important;
    box-sizing:border-box!important;
    color:#858585!important;
    font:400 16px/28px Arial,"Helvetica Neue",sans-serif!important;
    text-align:center!important;
    pointer-events:none!important;
    z-index:4!important;
  }

  .yab-sb-base select{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
    padding:0!important;
    opacity:0!important;
    cursor:pointer!important;
    z-index:5!important;
  }

  .yab-sb-base .yab-base-rule{
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:1px!important;
    min-height:1px!important;
    margin:0!important;
    padding:0!important;
    background:#8d8d8d!important;
    border:0!important;
    pointer-events:none!important;
    z-index:10!important;
  }
}


/* =========================================================
   v0.5.11 — board basis full-width rule + quantity dropdowns
   Mobile fixes only. Keeps approved row structure unchanged.
   ========================================================= */
.yab-qty-select{
  width:100%;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:center;
  text-align-last:center;
}

@media (max-width:640px){
  /* Board basis: one true full-width row and a full-bleed line. */
  .yab-sb-base{
    grid-column:1 / -1!important;
    grid-row:3!important;
    width:100%!important;
    min-width:0!important;
    min-height:68px!important;
    height:68px!important;
    margin:0!important;
    padding:8px 0 7px!important;
    position:relative!important;
    overflow:visible!important;
    border:0!important;
    box-sizing:border-box!important;
  }
  .yab-sb-base:after{
    display:none!important;
    content:none!important;
  }
  .yab-sb-base > span:first-child{
    display:block!important;
    margin:0!important;
    padding:0 10px!important;
    text-align:right!important;
    position:relative!important;
    z-index:2!important;
  }
  .yab-sb-base .yab-base-value{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:7px!important;
    width:100%!important;
    height:28px!important;
    min-height:28px!important;
    margin:0!important;
    padding:0 8px!important;
    box-sizing:border-box!important;
    color:#858585!important;
    font:400 16px/28px Arial,"Helvetica Neue",sans-serif!important;
    text-align:center!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow:visible!important;
    pointer-events:none!important;
    z-index:4!important;
    direction:rtl!important;
  }
  .yab-sb-base select{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
    padding:0!important;
    opacity:.001!important;
    cursor:pointer!important;
    z-index:5!important;
    appearance:auto!important;
    -webkit-appearance:auto!important;
  }
  .yab-sb-base .yab-base-rule{
    display:block!important;
    position:absolute!important;
    left:-12px!important;
    right:-12px!important;
    bottom:0!important;
    width:auto!important;
    height:1px!important;
    min-height:1px!important;
    margin:0!important;
    padding:0!important;
    background:#8d8d8d!important;
    border:0!important;
    pointer-events:none!important;
    z-index:20!important;
  }

  /* Quantity number itself is now a native dropdown: tap number -> list 0..10 / 1..10. */
  .yab-qty-control{
    grid-template-columns:24px minmax(0,1fr) 24px!important;
  }
  .yab-qty-select{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:30px!important;
    min-height:30px!important;
    margin:0!important;
    padding:0 2px!important;
    border:0!important;
    outline:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#555!important;
    font:500 16px/30px Arial,"Helvetica Neue",sans-serif!important;
    text-align:center!important;
    text-align-last:center!important;
    direction:ltr!important;
    appearance:auto!important;
    -webkit-appearance:auto!important;
  }
}


/* =========================================================
   v0.5.12 — mobile final sizing + full board rule + qty dropdown only
   ========================================================= */
@media (max-width:640px){
  /* Destination + board basis must be exactly as slim as the date row. */
  .yab-sb-destination,
  .yab-sb-base{
    min-height:68px!important;
    height:68px!important;
    padding:8px 10px 7px!important;
    gap:4px!important;
    justify-content:center!important;
    box-sizing:border-box!important;
  }

  .yab-sb-destination > span:first-child,
  .yab-sb-base > span:first-child{
    font-size:17px!important;
    line-height:1.15!important;
    font-weight:700!important;
    margin:0!important;
    padding:0!important;
  }

  .yab-destination-text,
  .yab-sb-base .yab-base-value{
    height:28px!important;
    min-height:28px!important;
    line-height:28px!important;
    font-size:16px!important;
  }

  /* Full-width board-basis rule: almost edge-to-edge across the mobile viewport. */
  .yab-sb-base .yab-base-rule{
    display:block!important;
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    bottom:0!important;
    width:calc(100vw - 16px)!important;
    height:1px!important;
    min-height:1px!important;
    margin:0!important;
    padding:0!important;
    transform:translateX(-50%)!important;
    background:#8d8d8d!important;
    border:0!important;
    pointer-events:none!important;
    z-index:30!important;
  }

  /* Keep selected board text centered on one line. */
  .yab-sb-base .yab-base-value{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:7px!important;
    width:100%!important;
    padding:0 12px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    text-align:center!important;
  }

  /* Quantity controls: dropdown number only — no +/- arrows/buttons. */
  .yab-qty-control{
    display:block!important;
    width:100%!important;
    height:30px!important;
    min-height:30px!important;
  }
  .yab-qty-btn{display:none!important;}
  .yab-qty-select{
    display:block!important;
    width:100%!important;
    height:30px!important;
    min-height:30px!important;
    margin:0!important;
    padding:0 18px 0 4px!important;
    border:0!important;
    outline:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#555!important;
    font:500 16px/30px Arial,"Helvetica Neue",sans-serif!important;
    text-align:center!important;
    text-align-last:center!important;
    direction:rtl!important;
    appearance:auto!important;
    -webkit-appearance:menulist!important;
  }
}

/* =========================================================
   v0.5.13 — mobile row alignment lock
   Exact request:
   - destination / dates / board basis same height
   - board basis underline full width
   - board basis selected value truly centered
   - quantity row unchanged
   ========================================================= */
@media (max-width:640px){
  /* Top three rows: identical height to the approved date row. */
  .yab-sb-destination,
  .yab-date-row .yab-sb-date,
  .yab-sb-base{
    min-height:68px!important;
    height:68px!important;
    box-sizing:border-box!important;
  }

  /* Match destination + board heading typography exactly to date headings. */
  .yab-sb-destination > span:first-child,
  .yab-sb-base > span:first-child,
  .yab-date-row .yab-sb-date > span:first-child{
    font-size:17px!important;
    line-height:1.15!important;
    font-weight:700!important;
  }

  /* Destination stays full-row and uses the same compact vertical rhythm. */
  .yab-sb-destination{
    grid-column:1 / -1!important;
    grid-row:1!important;
    padding:8px 10px 7px!important;
    gap:4px!important;
    justify-content:center!important;
  }

  /* Board basis: full-row. The field itself owns the line, so it spans edge-to-edge. */
  .yab-sb-base{
    grid-column:1 / -1!important;
    grid-row:3!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:8px 10px 7px!important;
    gap:4px!important;
    justify-content:center!important;
    position:relative!important;
    overflow:visible!important;
    border:0!important;
    border-bottom:1px solid #8d8d8d!important;
  }

  /* Kill every older rule implementation so there is only one visible underline. */
  .yab-sb-base:after,
  .yab-sb-base .yab-base-rule{
    display:none!important;
    content:none!important;
  }

  .yab-sb-base > span:first-child{
    margin:0!important;
    padding:0!important;
    text-align:right!important;
  }

  /* True visual center for "בחר" and the selected board-basis text. */
  .yab-sb-base .yab-base-value{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:7px!important;
    width:100%!important;
    height:28px!important;
    min-height:28px!important;
    margin:0!important;
    padding:0 10px!important;
    box-sizing:border-box!important;
    color:#858585!important;
    font:400 16px/28px Arial,"Helvetica Neue",sans-serif!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    pointer-events:none!important;
    z-index:4!important;
    direction:rtl!important;
  }

  /* Invisible native select remains clickable over the centered display text. */
  .yab-sb-base select{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
    padding:0!important;
    opacity:.001!important;
    cursor:pointer!important;
    z-index:5!important;
  }

  /* Intentionally do NOT change adults / children / infants row. */
}


/* =========================================================
   v0.5.14 — mobile geometry lock
   Requested exact structure:
   - destination / dates / board basis same height
   - board basis line is a real row-level element, full width
   - small "בחר" centered
   - quantity row unchanged
   ========================================================= */
@media (max-width:640px){
  .yab-searchbar{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
  }

  /* Top rows all exactly the same height as the date row. */
  .yab-sb-destination,
  .yab-date-row,
  .yab-date-row .yab-sb-date,
  .yab-base-row,
  .yab-base-row .yab-sb-base{
    min-height:68px!important;
    height:68px!important;
    box-sizing:border-box!important;
  }

  .yab-sb-destination{
    grid-column:1 / -1!important;
    grid-row:1!important;
    padding:8px 10px 7px!important;
    gap:4px!important;
    justify-content:center!important;
  }

  .yab-date-row{
    grid-column:1 / -1!important;
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:2px!important;
    width:100%!important;
  }

  .yab-date-row .yab-sb-date{
    margin:0!important;
  }

  /* Entire board-basis row is one real full-width grid item. */
  .yab-base-row{
    grid-column:1 / -1!important;
    grid-row:3!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    position:relative!important;
    display:block!important;
    overflow:visible!important;
  }

  .yab-base-row .yab-sb-base{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:8px 10px 7px!important;
    gap:4px!important;
    justify-content:center!important;
    position:relative!important;
    border:0!important;
    background:#fff!important;
    overflow:visible!important;
  }

  .yab-base-row .yab-sb-base:after,
  .yab-base-row .yab-sb-base .yab-base-rule{
    display:none!important;
    content:none!important;
  }

  .yab-base-row .yab-sb-base > span:first-child,
  .yab-sb-destination > span:first-child,
  .yab-date-row .yab-sb-date > span:first-child{
    font-size:17px!important;
    line-height:1.15!important;
    font-weight:700!important;
  }

  /* The little value is centered across the WHOLE row. */
  .yab-base-row .yab-base-value{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:7px!important;
    width:100%!important;
    height:28px!important;
    min-height:28px!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    color:#858585!important;
    font:400 16px/28px Arial,"Helvetica Neue",sans-serif!important;
    text-align:center!important;
    white-space:nowrap!important;
    pointer-events:none!important;
    z-index:4!important;
    direction:rtl!important;
  }

  /* Native select stays clickable but invisible. */
  .yab-base-row .yab-sb-base select{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
    padding:0!important;
    opacity:.001!important;
    cursor:pointer!important;
    z-index:5!important;
  }

  /* Real full-width line, independent of the field/select width. */
  .yab-base-row-rule{
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:1px!important;
    min-height:1px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:#8d8d8d!important;
    pointer-events:none!important;
    z-index:20!important;
  }

  /* Final row intentionally unchanged. */
  .yab-sb-adults{grid-column:1 / 3!important;grid-row:4!important;}
  .yab-sb-children{grid-column:3 / 5!important;grid-row:4!important;}
  .yab-sb-infants{grid-column:5 / 7!important;grid-row:4!important;}
  .yab-sb-submit{grid-column:1 / -1!important;grid-row:5!important;}
}

/* =========================================================
   v0.5.15 — desktop label baseline alignment
   Align the actual field words on one horizontal line.
   Mobile remains untouched.
   ========================================================= */
@media (min-width:981px){
  .yab-searchbar{
    align-items:end!important;
  }

  .yab-sb-destination,
  .yab-date-row .yab-sb-date,
  .yab-base-row .yab-sb-base,
  .yab-sb-adults,
  .yab-sb-children,
  .yab-sb-infants{
    min-height:82px!important;
    height:82px!important;
    padding:12px 16px 13px!important;
    gap:4px!important;
    justify-content:flex-end!important;
    box-sizing:border-box!important;
  }

  /* Reserve exactly the same top-label area for every field. */
  .yab-sb-destination > span:first-child,
  .yab-date-row .yab-sb-date > span:first-child,
  .yab-base-row .yab-sb-base > span:first-child,
  .yab-sb-adults > span:first-child,
  .yab-sb-children > span:first-child,
  .yab-sb-infants > span:first-child{
    min-height:32px!important;
    height:32px!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    line-height:16px!important;
  }

  .yab-sb-destination > span:first-child,
  .yab-date-row .yab-sb-date > span:first-child,
  .yab-base-row .yab-sb-base > span:first-child{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
  }

  /* Quantity labels include the age note, but their main word starts on
     the same baseline as destination / dates / board basis. */
  .yab-sb-person-label{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:1px!important;
  }

  .yab-sb-person-label small{
    margin:0!important;
    line-height:13px!important;
  }

  /* Keep the second row (placeholder/value/select) on one common level. */
  .yab-destination-text,
  .yab-date-row .yab-sb-date input[type=date],
  .yab-base-row .yab-sb-base select,
  .yab-qty-select{
    min-height:30px!important;
    height:30px!important;
    line-height:30px!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
}


/* =========================================================
   v0.5.16 — desktop date display like 2Dream
   Hide the browser's native mm/dd/yyyy text and calendar icon.
   Show our own Hebrew helper/value text on the same baseline.
   Mobile rules remain unchanged.
   ========================================================= */
@media (min-width:981px){
  .yab-date-row .yab-sb-date{
    position:relative!important;
  }

  .yab-date-row .yab-date-placeholder{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-height:30px!important;
    height:30px!important;
    margin:0!important;
    padding:0!important;
    color:#8a8a8a!important;
    font-size:16px!important;
    line-height:30px!important;
    font-weight:400!important;
    text-align:right!important;
    direction:rtl!important;
    white-space:nowrap!important;
    pointer-events:none!important;
    visibility:visible!important;
    z-index:3!important;
  }

  .yab-date-row .yab-sb-date.has-value .yab-date-placeholder{
    visibility:visible!important;
  }

  .yab-date-row .yab-sb-date input[type=date]{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:13px!important;
    width:100%!important;
    height:30px!important;
    min-height:30px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:transparent!important;
    -webkit-text-fill-color:transparent!important;
    caret-color:transparent!important;
    opacity:.001!important;
    cursor:pointer!important;
    z-index:5!important;
  }

  .yab-date-row .yab-sb-date input[type=date]::-webkit-calendar-picker-indicator{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    opacity:0!important;
    cursor:pointer!important;
  }

  .yab-date-row .yab-sb-date input[type=date]::-webkit-datetime-edit,
  .yab-date-row .yab-sb-date input[type=date]::-webkit-datetime-edit-fields-wrapper,
  .yab-date-row .yab-sb-date input[type=date]::-webkit-datetime-edit-text,
  .yab-date-row .yab-sb-date input[type=date]::-webkit-datetime-edit-month-field,
  .yab-date-row .yab-sb-date input[type=date]::-webkit-datetime-edit-day-field,
  .yab-date-row .yab-sb-date input[type=date]::-webkit-datetime-edit-year-field{
    color:transparent!important;
    -webkit-text-fill-color:transparent!important;
  }
}


/* =========================================================
   v0.7.0 — Agency2000 TEST live results
   ========================================================= */
.yab-live-banner{margin:0 0 18px;padding:10px 14px;border:1px solid #b9dfc5;background:#eefaf2;border-radius:12px;color:#23613a;font-size:13px;font-weight:700}
.yab-offer-count{display:inline-flex;align-self:flex-start;margin-top:12px;padding:6px 9px;border-radius:999px;background:#f3f5f6;color:#69757c;font-size:11px;font-weight:700}


/* =========================================================
   v0.7.1 — live results polish
   ========================================================= */
.yab-date-range{display:inline-flex;align-items:center;gap:3px;direction:ltr!important;unicode-bidi:isolate;white-space:nowrap}
.yab-date-sep{opacity:.7}
.yab-results-summary p .yab-date-range{vertical-align:baseline}
.yab-card-topline .yab-date-range{font-weight:700}


/* =========================================================
   v0.7.2 — premium live results visual polish only
   ========================================================= */
.yab-results-page{
  max-width:1480px;
  padding:24px 18px 54px;
}

.yab-results-summary{
  align-items:center;
  margin:2px 0 18px;
  padding:0 4px;
}

.yab-results-summary > div{
  min-width:0;
}

.yab-results-summary h2{
  margin:4px 0 7px;
  font-size:34px;
  line-height:1.15;
  letter-spacing:-.02em;
}

.yab-results-summary p{
  font-size:15px;
  line-height:1.6;
}

.yab-results-summary .yab-count{
  margin:0;
  padding:9px 14px;
  background:#f4f6f7;
  border:1px solid #e5e9eb;
  color:#4c5960;
  font-size:12px;
  box-shadow:0 4px 14px rgba(17,35,48,.04);
}

.yab-live-banner{
  margin:0 0 20px;
  padding:11px 16px;
  border-color:#c8e8d1;
  background:linear-gradient(90deg,#f4fbf6 0%,#edf9f1 100%);
  color:#225d38;
  box-shadow:0 5px 16px rgba(35,97,58,.035);
}

.yab-results{
  gap:26px;
}

.yab-card{
  grid-template-columns:44% 56%;
  min-height:330px;
  border-color:#edf0f1;
  border-radius:26px;
  box-shadow:0 16px 42px rgba(28,59,77,.09);
}

.yab-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 52px rgba(28,59,77,.14);
}

.yab-card-media img,
.yab-placeholder{
  min-height:330px;
}

.yab-card-body{
  padding:28px 28px 26px;
}

.yab-card-topline{
  margin-bottom:12px;
  font-size:12px;
}

.yab-card h3{
  margin:0 0 9px;
  font-size:27px;
  line-height:1.18;
  letter-spacing:-.015em;
}

.yab-room-line{
  font-size:14.5px;
  line-height:1.55;
}

.yab-offer-count{
  margin-top:14px;
  padding:7px 11px;
  background:#f5f7f8;
  color:#657178;
}

.yab-price-row{
  padding-top:28px;
}

.yab-price-row small{
  margin-bottom:4px;
  font-size:11px;
}

.yab-price{
  font-size:39px;
  letter-spacing:-.035em;
}

.yab-price span{
  font-size:20px;
}

.yab-book-button{
  min-height:50px;
  margin-top:17px;
  padding:0 18px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#0d2231 0%,#183d52 58%,#37616f 100%)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(13,34,49,.18)!important;
  font-size:14px;
  font-weight:900!important;
  letter-spacing:-.01em;
}

.yab-book-button:hover{
  transform:translateY(-2px)!important;
  filter:none!important;
  background:linear-gradient(135deg,#091a26 0%,#16394c 58%,#426c79 100%)!important;
  box-shadow:0 14px 30px rgba(13,34,49,.24)!important;
}

.yab-availability{
  top:16px;
  right:16px;
  padding:8px 11px;
  background:rgba(12,35,51,.9);
  box-shadow:0 5px 16px rgba(0,0,0,.13);
}

@media(max-width:1050px){
  .yab-results-page{max-width:900px}
  .yab-card{grid-template-columns:42% 58%}
}

@media(max-width:760px){
  .yab-results-page{padding:12px 12px 40px}
  .yab-results-summary{align-items:flex-start;gap:10px;margin-bottom:14px}
  .yab-results-summary h2{font-size:27px}
  .yab-results-summary p{font-size:14px}
  .yab-results-summary .yab-count{padding:7px 11px}
  .yab-live-banner{margin-bottom:16px;padding:10px 12px;font-size:12px}
  .yab-results{gap:18px}
  .yab-card{grid-template-columns:1fr;min-height:0;border-radius:22px}
  .yab-card-media img,.yab-placeholder{height:230px;min-height:230px}
  .yab-card-body{padding:21px 19px 20px}
  .yab-card h3{font-size:24px}
  .yab-price{font-size:35px}
  .yab-book-button{min-height:48px!important;border-radius:12px!important}
}

@media(max-width:520px){
  .yab-results-summary{flex-direction:row;align-items:flex-start;justify-content:space-between}
  .yab-results-summary h2{font-size:25px}
  .yab-results-summary p{font-size:13px}
  .yab-card-topline{flex-direction:row;align-items:center;gap:8px}
  .yab-price-row{padding-top:24px}
}

/* =========================================================
   v0.8.0 — hotel offers / room selection stage
   ========================================================= */
.yab-offers-stage{max-width:1440px;margin:0 auto;padding:26px 18px 60px}
.yab-hotel-offers-page{width:100%}
.yab-hotel-offers-hero{display:grid;grid-template-columns:380px 1fr;gap:34px;align-items:stretch;margin-bottom:26px;border:1px solid #e8edef;border-radius:28px;background:#fff;overflow:hidden;box-shadow:0 18px 46px rgba(28,59,77,.08)}
.yab-hotel-offers-image{min-height:260px;background:#f4f6f7}
.yab-hotel-offers-image img,.yab-hotel-offers-image .yab-placeholder{width:100%;height:100%;min-height:260px;object-fit:cover}
.yab-hotel-offers-head{display:flex;flex-direction:column;justify-content:center;padding:32px 34px 32px 10px}
.yab-hotel-offers-head h2{margin:5px 0 9px;font-size:36px;line-height:1.15;letter-spacing:-.025em}
.yab-hotel-offers-head p{margin:0;color:#6b7479;font-size:15px}
.yab-offers-total{display:inline-flex;align-self:flex-start;margin-top:18px;padding:8px 12px;border-radius:999px;background:#f2f5f6;color:#516068;font-size:12px;font-weight:800}
.yab-offers-list{display:grid;gap:16px}
.yab-offer-option{display:grid;grid-template-columns:1fr 245px;gap:24px;align-items:center;padding:23px 24px;border:1px solid #e6ecef;border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(26,55,71,.06);transition:.2s ease}
.yab-offer-option:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(26,55,71,.10)}
.yab-offer-option.is-best{border-color:#bcd9c8;background:linear-gradient(90deg,#fbfffc 0%,#fff 45%)}
.yab-best-badge{display:inline-flex;margin-bottom:8px;padding:5px 9px;border-radius:999px;background:#eaf8ef;color:#27643d;font-size:11px;font-weight:900}
.yab-offer-option h3{margin:0 0 5px;font-size:22px;line-height:1.25}
.yab-offer-room{margin:0 0 13px;color:#626d73;font-size:14px}
.yab-offer-meta{display:flex;flex-wrap:wrap;gap:9px 18px;color:#5a666c;font-size:13px}
.yab-offer-meta span{display:inline-flex;gap:4px}
.yab-offer-remark{margin-top:12px;padding:8px 10px;border-radius:10px;background:#f7f8f9;color:#657178;font-size:12px}
.yab-cancel-policy{margin-top:10px;color:#56646b;font-size:12px}
.yab-cancel-policy summary{cursor:pointer;font-weight:800}
.yab-cancel-policy p{margin:8px 0 0;line-height:1.55}
.yab-offer-option-side{display:flex;flex-direction:column;align-items:flex-start;border-right:1px solid #edf0f1;padding-right:24px}
.yab-offer-option-side small{color:#7a858a;font-size:11px}
.yab-offer-price{margin:3px 0 12px;font-size:34px;font-weight:900;line-height:1;color:#0d2231;letter-spacing:-.03em}
.yab-offer-price span{font-size:18px;margin-left:2px}
.yab-select-offer-button{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:46px;padding:0 14px!important;border-radius:13px!important;background:linear-gradient(135deg,#0d2231 0%,#183d52 58%,#37616f 100%)!important;color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:900!important;box-shadow:0 9px 20px rgba(13,34,49,.16)!important}
.yab-select-offer-button:hover{transform:translateY(-1px);color:#fff!important;box-shadow:0 13px 26px rgba(13,34,49,.22)!important}
.yab-back-results{margin-top:18px;padding:8px 4px;border:0;background:transparent;color:#5d6a70;font-size:13px;font-weight:800;cursor:pointer}

@media(max-width:900px){
  .yab-hotel-offers-hero{grid-template-columns:300px 1fr;gap:22px}
  .yab-hotel-offers-head{padding:26px 24px 26px 8px}
  .yab-hotel-offers-head h2{font-size:30px}
  .yab-offer-option{grid-template-columns:1fr 215px}
}
@media(max-width:700px){
  .yab-offers-stage{padding:14px 12px 44px}
  .yab-hotel-offers-hero{grid-template-columns:1fr;gap:0;border-radius:22px}
  .yab-hotel-offers-image{height:220px;min-height:220px}
  .yab-hotel-offers-image img,.yab-hotel-offers-image .yab-placeholder{height:220px;min-height:220px}
  .yab-hotel-offers-head{padding:22px 20px}
  .yab-hotel-offers-head h2{font-size:27px}
  .yab-offer-option{grid-template-columns:1fr;gap:18px;padding:20px;border-radius:18px}
  .yab-offer-option-side{border-right:0;border-top:1px solid #edf0f1;padding:16px 0 0;align-items:stretch}
  .yab-offer-price{font-size:32px}
  .yab-select-offer-button{width:100%}
}

/* =========================================================
   v0.8.1 — Booking flow inspired by reference structure
   Yaroni branding, Agency2000 live data
   ========================================================= */
.yab-dream-hotel-page,.yab-dream-booking-layout{width:100%}
.yab-dream-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}
.yab-dream-summary{position:sticky;top:96px;background:#fff;border:1px solid #dfe5e9;box-shadow:0 8px 24px rgba(24,43,56,.09);border-radius:2px;overflow:hidden}
.yab-dream-summary h3{margin:0;padding:22px 20px;border-bottom:1px solid #dfe5e9;font-size:25px;text-align:center}
.yab-dream-summary-section{display:flex;flex-direction:column;gap:7px;padding:18px 20px;border-bottom:1px solid #edf0f2;color:#565d62;font-size:15px;line-height:1.6}
.yab-dream-summary-section strong{color:#34475e;font-size:15px}
.yab-dream-summary-price,.yab-dream-summary-total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;font-size:20px}
.yab-dream-summary-price strong,.yab-dream-summary-total strong{font-size:27px;color:#111}
.yab-dream-main{min-width:0}
.yab-dream-hotel-hero,.yab-dream-booking-card{background:#fff;border:1px solid #dfe5e9;box-shadow:0 8px 24px rgba(24,43,56,.09)}
.yab-dream-hotel-hero{display:grid;grid-template-columns:minmax(0,1fr) 50%;gap:0;padding:28px;margin-bottom:28px}
.yab-dream-hotel-title{padding:8px 24px 8px 8px;display:flex;flex-direction:column;justify-content:flex-start}
.yab-dream-hotel-title h2,.yab-dream-booking-title h2{font-size:34px;margin:6px 0 20px;line-height:1.2}
.yab-dream-hotel-image{min-height:360px;background:#eef2f4;overflow:hidden}
.yab-dream-hotel-image img,.yab-dream-hotel-image .yab-placeholder{width:100%;height:100%;min-height:360px;object-fit:cover}
.yab-dream-date-boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:8px}
.yab-dream-date-boxes>div{border:1px solid #e5e8ea;background:#fff;padding:16px 14px;text-align:center;min-height:78px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.yab-dream-date-boxes strong{font-size:14px;color:#4f5458}
.yab-dream-date-boxes span{font-size:18px;color:#575d61}
.yab-dream-info{background:#fff;border-left:1px solid #dfe5e9;border-right:1px solid #dfe5e9;padding:28px 32px 18px}
.yab-dream-info h2{margin:0 0 12px;font-size:30px;color:#2e4260}
.yab-dream-info p{margin:0;color:#666;line-height:1.9;font-size:16px}
.yab-dream-room-section{background:#fff;border:1px solid #dfe5e9;box-shadow:0 8px 24px rgba(24,43,56,.08);padding:22px;margin-top:0}
.yab-dream-room-head{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #111;padding:0 4px 12px;margin-bottom:18px}
.yab-dream-room-head h2{margin:0;font-size:28px}
.yab-dream-room-head span{font-size:28px;font-weight:800}
.yab-dream-offers-table{display:grid;gap:14px}
.yab-dream-offer-row{display:grid;grid-template-columns:1fr 1.35fr 1fr .8fr 1.25fr;border:1px solid #e5e8ea;background:#fff;align-items:stretch}
.yab-dream-offer-row.is-best{box-shadow:inset 4px 0 0 #198e3b}
.yab-dream-offer-cell{padding:16px 14px;border-left:1px solid #e7eaec;display:flex;flex-direction:column;gap:8px;justify-content:center;text-align:center}
.yab-dream-offer-cell small{font-size:13px;font-weight:800;color:#555}
.yab-dream-offer-cell strong{font-size:16px;color:#4b4f52}
.yab-dream-price-cell strong{font-size:22px;color:#12942f}
.yab-dream-offer-actions{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:12px 14px}
.yab-dream-immediate{color:#169136;font-weight:900;font-size:13px}
.yab-dream-rooms-left,.yab-dream-cancel{font-size:12px;color:#6e7478}
.yab-dream-continue{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin-top:5px;border:2px solid #111;border-radius:3px;color:#111!important;text-decoration:none!important;font-size:20px;font-weight:800;background:#fff;transition:.2s}
.yab-dream-continue:hover{background:#111;color:#fff!important}
.yab-dream-booking-card{padding:28px 32px}
.yab-dream-booking-title{border-bottom:1px solid #222;margin-bottom:18px}
.yab-dream-selected-room{margin:28px 0}
.yab-dream-selected-room h3,.yab-dream-form-section h3{font-size:28px;margin:0 0 16px;color:#45494c}
.yab-dream-selected-grid{display:grid;grid-template-columns:.55fr 1fr 1.4fr 1fr .8fr;border:1px solid #e4e7e9}
.yab-dream-selected-grid>div{padding:16px 12px;border-left:1px solid #e4e7e9;text-align:center;display:flex;flex-direction:column;gap:7px}
.yab-dream-selected-grid>div:last-child{border-left:0}
.yab-dream-selected-grid small{font-size:13px;font-weight:800;color:#585d60}
.yab-dream-selected-grid strong{font-size:16px}
.yab-dream-green{color:#12942f}
.yab-dream-form-section{padding:24px 0;border-top:1px solid #eceff1}
.yab-dream-required-note{margin:-8px 0 18px;color:#666}
.yab-dream-travellers{gap:18px}
.yab-dream-traveller{display:grid;grid-template-columns:90px 1fr 1fr 150px 190px;gap:12px;align-items:end;padding:18px;border:1px solid #e3e7e9;background:#fff}
.yab-dream-traveller strong{align-self:center;font-size:18px}
.yab-dream-traveller label,.yab-dream-customer-grid label{font-size:14px;font-weight:800;color:#4b4f52}
.yab-dream-traveller input,.yab-dream-traveller select,.yab-dream-customer-grid input,.yab-dream-form-section textarea{width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #d7dde1;border-radius:2px;background:#fff;padding:12px 13px;min-height:46px}
.yab-dream-customer-grid{gap:18px}
.yab-dream-form-section textarea{min-height:100px;resize:vertical}
.yab-dream-terms label{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700}
.yab-dream-terms input{width:auto;margin:0}
.yab-dream-pay-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0 4px}
.yab-dream-pay-total{font-size:23px;color:#575d61}
.yab-dream-pay-total strong{color:#12942f;font-size:27px}
.yab-dream-pay-button{border:0;border-radius:3px;background:#24aa42;color:#fff;padding:14px 34px;font-size:20px;font-weight:900;cursor:pointer}
.yab-dream-pay-button:hover{filter:brightness(.94)}
.yab-back-results{margin-top:18px}

@media(max-width:980px){
  .yab-dream-layout{grid-template-columns:1fr}
  .yab-dream-summary{position:static;order:2}
  .yab-dream-main{order:1}
  .yab-dream-hotel-hero{grid-template-columns:1fr}
  .yab-dream-hotel-image{order:-1;min-height:280px}
  .yab-dream-hotel-image img,.yab-dream-hotel-image .yab-placeholder{min-height:280px}
  .yab-dream-offer-row{grid-template-columns:1fr 1fr}
  .yab-dream-offer-actions{grid-column:1/-1;border-top:1px solid #e7eaec}
  .yab-dream-selected-grid{grid-template-columns:1fr 1fr}
  .yab-dream-traveller{grid-template-columns:1fr 1fr}
  .yab-dream-traveller strong{grid-column:1/-1}
}
@media(max-width:640px){
  .yab-booking-page{padding:0 8px}
  .yab-dream-hotel-hero,.yab-dream-booking-card,.yab-dream-room-section{padding:16px}
  .yab-dream-hotel-title{padding:12px 0 0}
  .yab-dream-hotel-title h2,.yab-dream-booking-title h2{font-size:27px}
  .yab-dream-date-boxes{grid-template-columns:1fr}
  .yab-dream-date-boxes>div{min-height:62px}
  .yab-dream-info{padding:22px 18px 16px}
  .yab-dream-info h2{font-size:26px}
  .yab-dream-offer-row{grid-template-columns:1fr}
  .yab-dream-offer-cell{border-left:0;border-bottom:1px solid #e7eaec;text-align:right}
  .yab-dream-selected-grid{grid-template-columns:1fr}
  .yab-dream-selected-grid>div{border-left:0;border-bottom:1px solid #e4e7e9;text-align:right}
  .yab-dream-traveller{grid-template-columns:1fr}
  .yab-dream-customer-grid{grid-template-columns:1fr}
  .yab-dream-customer-grid .yab-full{grid-column:auto}
  .yab-dream-pay-row{align-items:stretch;flex-direction:column}
  .yab-dream-pay-button{width:100%}
}

/* =========================================================
   v0.8.2 — 2Dream-like results flow + populated hotel details
   ========================================================= */
.yab-results-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start;direction:ltr}
.yab-results-filters{direction:rtl;position:sticky;top:20px;border:1px solid #ddd;background:#f7f7f7;padding:16px;box-shadow:0 2px 9px rgba(0,0,0,.08)}
.yab-results-filters h3{margin:0 0 14px;font-size:22px;color:#333}
.yab-results-filters label{display:block;margin:0 0 14px;font-size:16px;font-weight:800;color:#444}
.yab-results-filters select{width:100%;height:44px;margin-top:7px;border:1px solid #d3d3d3;background:#fff;padding:0 10px;font:inherit;color:#555}
.yab-results-list{direction:rtl!important;display:flex!important;flex-direction:column!important;gap:10px!important}
.yab-results-list .yab-card{display:grid!important;grid-template-columns:260px minmax(0,1fr)!important;min-height:220px!important;border-radius:0!important;border:1px solid #cfcfcf!important;box-shadow:0 2px 7px rgba(0,0,0,.2)!important;overflow:hidden!important}
.yab-results-list .yab-card-media{grid-column:1!important;grid-row:1!important;min-height:220px!important}
.yab-results-list .yab-card-media img,.yab-results-list .yab-placeholder{height:220px!important;min-height:220px!important}
.yab-results-list .yab-card-body{grid-column:2!important;grid-row:1!important;padding:22px 26px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 180px!important;grid-template-rows:auto auto 1fr auto!important;column-gap:26px!important}
.yab-results-list .yab-card-topline{grid-column:1;grid-row:1;margin:0 0 6px!important;color:#555!important}
.yab-results-list .yab-card h3{grid-column:1;grid-row:2;font-size:25px!important;margin:0 0 8px!important;color:#263b59!important}
.yab-results-list .yab-room-line,.yab-results-list .yab-offer-count,.yab-results-list .yab-note{grid-column:1;grid-row:auto}
.yab-results-list .yab-price-row{grid-column:2;grid-row:1/4;margin:0!important;padding:0!important;align-self:center;justify-content:center;text-align:center}
.yab-results-list .yab-price{color:#f04a37!important;font-size:31px!important}
.yab-results-list .yab-book-button{grid-column:2;grid-row:4;width:100%!important;min-height:48px!important;margin:8px 0 0!important;border-radius:3px!important;background:#fff!important;color:#111!important;border:2px solid #111!important;box-shadow:none!important;font-size:20px!important}
.yab-results-list .yab-book-button:hover{background:#111!important;color:#fff!important}
.yab-results-list .yab-availability{background:rgba(255,255,255,.92)!important;color:#15851f!important;border-radius:0!important;font-size:13px!important}

.yab-dream-info{border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:28px 0!important;margin:18px 0 26px!important}
.yab-dream-info h2{font-size:36px!important;color:#263b59!important;margin:0 0 20px!important}
.yab-hotel-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:22px}
.yab-hotel-facts>div{border:1px solid #e1e1e1;padding:16px;background:#fff}
.yab-hotel-facts small{display:block;color:#777;margin-bottom:5px;font-size:13px}
.yab-hotel-facts strong{display:block;font-size:17px;color:#333}
.yab-hotel-info-copy{font-size:18px;line-height:1.9;color:#555}
.yab-hotel-info-copy p{margin:5px 0}

@media(max-width:900px){
  .yab-results-shell{grid-template-columns:1fr;direction:rtl}
  .yab-results-filters{position:static}
  .yab-results-list .yab-card{grid-template-columns:210px minmax(0,1fr)!important}
  .yab-results-list .yab-card-body{grid-template-columns:1fr!important;display:flex!important;flex-direction:column!important}
  .yab-results-list .yab-price-row{align-self:flex-start;margin-top:12px!important}
  .yab-hotel-facts{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .yab-results-list .yab-card{grid-template-columns:1fr!important}
  .yab-results-list .yab-card-media,.yab-results-list .yab-card-body{grid-column:1!important;grid-row:auto!important}
  .yab-results-list .yab-card-media img,.yab-results-list .yab-placeholder{height:210px!important;min-height:210px!important}
  .yab-results-list .yab-card-body{padding:18px!important}
  .yab-hotel-facts{grid-template-columns:1fr}
  .yab-dream-info h2{font-size:28px!important}
}

/* =========================================================
   v0.8.4 — Compact Dream-style smart datepicker
   Anchored to the active date field; automatically moves to return date.
========================================================= */
.yab-sb-date[data-yab-date-field]{cursor:pointer;user-select:none;transition:outline-color .15s ease,background .15s ease}
.yab-sb-date[data-yab-date-field]:focus-visible,
.yab-sb-date.is-calendar-active{outline:2px solid #111!important;outline-offset:2px}
.yab-sb-date input[type=hidden]{display:none!important}

.yab-calendar-popover{
  position:fixed;
  z-index:999999;
  display:none;
  width:auto;
  height:auto;
  background:transparent;
  direction:rtl;
}
.yab-calendar-popover.is-open{display:block}
.yab-calendar-panel{
  width:330px;
  max-width:calc(100vw - 20px);
  background:#fff;
  border:1px solid #cfcfcf;
  border-radius:4px;
  box-shadow:0 8px 26px rgba(0,0,0,.22);
  padding:8px 9px 9px;
  font-family:Arial,sans-serif;
  color:#191919;
}
.yab-calendar-top{
  display:grid;
  grid-template-columns:30px 1fr 30px;
  gap:5px;
  align-items:center;
  min-height:38px;
  margin:-1px -1px 8px;
  padding:3px 5px;
  background:#050505;
  color:#fff;
  border-radius:3px 3px 0 0;
}
.yab-calendar-top>div{text-align:center;display:flex;flex-direction:column;gap:0}
.yab-cal-title{font-size:16px;line-height:1.2;font-weight:800;color:#fff}
.yab-cal-mode{font-size:10px;line-height:1.2;color:#d6d6d6;margin-top:2px}
.yab-cal-nav{
  width:24px;height:24px;border:0;border-radius:50%;background:#fff;color:#111;
  font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;
}
.yab-cal-nav:hover{background:#e9e9e9}
.yab-cal-weekdays,.yab-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.yab-cal-weekdays{margin-bottom:3px}
.yab-cal-weekdays span{text-align:center;font-size:12px;font-weight:700;color:#333;padding:5px 0}
.yab-cal-day{
  position:relative;
  min-width:0;
  height:34px;
  border:1px solid #dedede;
  border-radius:0;
  background:#fff;
  font-size:13px;
  font-weight:500;
  color:#222;
  cursor:pointer;
  z-index:1;
}
.yab-cal-day:hover:not(:disabled){background:#ededed;border-color:#bababa}
.yab-cal-day.is-outside{color:#bdbdbd;background:#fafafa}
.yab-cal-day:disabled{color:#cfcfcf;background:#fafafa;cursor:not-allowed}
.yab-cal-day.is-range:not(.is-start):not(.is-end){background:#ededed;border-color:#d3d3d3}
.yab-cal-day.is-start,.yab-cal-day.is-end{background:#111;color:#fff;border-color:#111;font-weight:800}
.yab-cal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:7px;padding-top:6px;border-top:1px solid #e5e5e5}
.yab-cal-footer button{border:0;background:transparent;font-size:12px;font-weight:700;cursor:pointer;padding:4px 6px}
.yab-cal-footer button:hover{text-decoration:underline;background:transparent}
.yab-cal-clear{color:#777}.yab-cal-close{color:#111}

@media (max-width:767px){
  .yab-calendar-panel{width:310px;max-width:calc(100vw - 16px);padding:7px 8px 8px}
  .yab-cal-title{font-size:15px}
  .yab-cal-mode{font-size:9px}
  .yab-cal-day{height:32px;font-size:12px}
}


/* =========================================================
   v0.8.5 — Slightly smaller compact datepicker
   Keeps v0.8.4 behavior exactly, only trims the visual size.
========================================================= */
.yab-calendar-panel{
  width:300px;
  padding:7px 8px 8px;
}
.yab-calendar-top{
  grid-template-columns:28px 1fr 28px;
  min-height:34px;
  margin:-1px -1px 7px;
  padding:2px 4px;
}
.yab-cal-title{font-size:15px}
.yab-cal-mode{font-size:9px}
.yab-cal-nav{width:22px;height:22px;font-size:18px}
.yab-cal-weekdays span{font-size:11px;padding:4px 0}
.yab-cal-day{height:30px;font-size:12px}
.yab-cal-footer{margin-top:6px;padding-top:5px}
.yab-cal-footer button{font-size:11px;padding:3px 5px}
@media (max-width:767px){
  .yab-calendar-panel{width:286px;max-width:calc(100vw - 16px);padding:6px 7px 7px}
  .yab-cal-title{font-size:14px}
  .yab-cal-day{height:29px;font-size:11.5px}
}

/* =========================================================
   v0.8.6 — horizontal results inspired by 2Dream
   ========================================================= */
.yab-results-shell{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:24px;
  align-items:start;
}
.yab-results-filters{
  position:sticky;
  top:90px;
  background:#fff;
  border:1px solid #dedede;
  box-shadow:0 4px 14px rgba(0,0,0,.08);
  padding:14px;
  border-radius:2px;
}
.yab-results-filters h3{
  margin:0 0 12px;
  font-size:22px;
  text-align:right;
  color:#444;
}
.yab-results-filters label{
  display:block;
  margin:0 0 14px;
  font-size:14px;
  font-weight:800;
  color:#555;
}
.yab-results-filters select{
  width:100%;
  margin-top:6px;
  min-height:42px;
  border:1px solid #d7d7d7;
  border-radius:0;
  background:#fff;
  padding:0 10px;
  font-size:14px;
}

.yab-results.yab-results-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}

.yab-card.yab-dream-result-card{
  display:grid!important;
  grid-template-columns:320px minmax(0,1fr) 185px!important;
  direction:rtl;
  min-height:205px!important;
  border:1px solid #bfc4c7!important;
  border-radius:2px!important;
  background:#fff!important;
  box-shadow:0 3px 8px rgba(0,0,0,.14)!important;
  overflow:hidden!important;
  transform:none!important;
}
.yab-card.yab-dream-result-card:hover{
  transform:none!important;
  box-shadow:0 5px 12px rgba(0,0,0,.18)!important;
}
.yab-dream-result-media{
  grid-column:1;
  min-height:205px!important;
  background:#eee;
  overflow:hidden;
}
.yab-dream-result-media img,
.yab-dream-result-media .yab-placeholder{
  width:100%!important;
  height:100%!important;
  min-height:205px!important;
  object-fit:cover!important;
  display:block;
}
.yab-dream-result-main{
  grid-column:2;
  padding:24px 24px 20px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  text-align:right;
}
.yab-dream-result-heading{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.yab-dream-result-heading h3{
  margin:0!important;
  font-size:23px!important;
  line-height:1.2!important;
  color:#2f435f!important;
  font-weight:900!important;
}
.yab-dream-result-location{
  color:#ef5757;
  font-size:14px;
  font-weight:700;
}
.yab-dream-result-description{
  margin:7px 0 5px!important;
  color:#555!important;
  font-size:15px!important;
  line-height:1.5!important;
}
.yab-dream-result-meta{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:4px;
  color:#666;
  font-size:13px;
}
.yab-dream-result-meta strong{
  color:#222;
  font-size:15px;
}
.yab-dream-result-pricebox{
  grid-column:3;
  padding:22px 14px;
  border-right:1px solid #ececec;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  text-align:right;
  direction:rtl;
}
.yab-dream-result-price{
  color:#ff514a;
  font-size:26px;
  font-weight:500;
  line-height:1.1;
}
.yab-dream-result-price-note{
  margin-top:8px;
  color:#666;
  font-size:12px;
}
.yab-dream-result-immediate{
  margin-top:7px;
  color:#168d2f;
  font-size:14px;
  font-weight:900;
}
.yab-book-button.yab-dream-result-continue{
  display:inline-flex!important;
  width:auto!important;
  min-width:126px!important;
  min-height:42px!important;
  margin-top:10px!important;
  padding:0 22px!important;
  border:2px solid #111!important;
  border-radius:3px!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:none!important;
  font-size:20px!important;
  font-weight:500!important;
  justify-content:center!important;
  text-decoration:none!important;
}
.yab-book-button.yab-dream-result-continue:hover{
  background:#111!important;
  color:#fff!important;
  transform:none!important;
  box-shadow:none!important;
}

@media(max-width:1050px){
  .yab-results-shell{grid-template-columns:220px minmax(0,1fr);gap:16px}
  .yab-card.yab-dream-result-card{grid-template-columns:250px minmax(0,1fr) 165px!important}
}
@media(max-width:800px){
  .yab-results-shell{grid-template-columns:1fr}
  .yab-results-filters{position:static;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px}
  .yab-results-filters h3{grid-column:1/-1;margin-bottom:2px;font-size:18px}
  .yab-results-filters label{margin:0;font-size:12px}
  .yab-card.yab-dream-result-card{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .yab-dream-result-media,.yab-dream-result-main,.yab-dream-result-pricebox{grid-column:1!important}
  .yab-dream-result-media{height:220px!important;min-height:220px!important}
  .yab-dream-result-media img,.yab-dream-result-media .yab-placeholder{height:220px!important;min-height:220px!important}
  .yab-dream-result-main{padding:18px 18px 10px}
  .yab-dream-result-pricebox{
    border-right:0;
    border-top:1px solid #eee;
    padding:14px 18px 18px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:4px 10px;
    align-items:center;
  }
  .yab-dream-result-price{grid-column:1;grid-row:1;font-size:25px}
  .yab-dream-result-price-note{grid-column:1;grid-row:2;margin:0}
  .yab-dream-result-immediate{grid-column:1;grid-row:3;margin:0}
  .yab-book-button.yab-dream-result-continue{grid-column:2;grid-row:1/4;margin:0!important;min-width:110px!important;font-size:17px!important}
}
@media(max-width:520px){
  .yab-results-filters{grid-template-columns:1fr}
  .yab-results-filters h3{grid-column:1}
  .yab-dream-result-heading{display:block}
  .yab-dream-result-heading h3{font-size:21px!important}
  .yab-dream-result-location{display:block;margin-top:5px}
  .yab-dream-result-meta{gap:7px 10px}
}

/* =========================================================
   v0.8.7 — compact horizontal results + cleaner typography
   ========================================================= */
.yab-results-shell,
.yab-results-shell *{
  font-family:Arial,"Helvetica Neue",sans-serif!important;
}

.yab-results-shell{
  grid-template-columns:225px minmax(0,1fr)!important;
  gap:16px!important;
  max-width:1480px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.yab-results-filters{
  top:82px!important;
  padding:12px!important;
  box-shadow:0 3px 10px rgba(0,0,0,.07)!important;
}
.yab-results-filters h3{
  margin:0 0 10px!important;
  font-size:18px!important;
  font-weight:700!important;
}
.yab-results-filters label{
  margin:0 0 11px!important;
  font-size:12px!important;
  font-weight:700!important;
}
.yab-results-filters select{
  min-height:37px!important;
  margin-top:5px!important;
  padding:0 8px!important;
  font-size:12px!important;
}

.yab-results.yab-results-list{
  gap:8px!important;
}

.yab-card.yab-dream-result-card{
  grid-template-columns:270px minmax(0,1fr) 160px!important;
  min-height:178px!important;
  box-shadow:0 2px 6px rgba(0,0,0,.12)!important;
}
.yab-card.yab-dream-result-card:hover{
  box-shadow:0 3px 9px rgba(0,0,0,.15)!important;
}

.yab-dream-result-media{
  min-height:178px!important;
}
.yab-dream-result-media img,
.yab-dream-result-media .yab-placeholder{
  min-height:178px!important;
  height:178px!important;
}

.yab-dream-result-main{
  padding:16px 19px 14px!important;
}
.yab-dream-result-heading{
  gap:7px!important;
}
.yab-dream-result-heading h3{
  font-family:Arial,"Helvetica Neue",sans-serif!important;
  font-size:19px!important;
  line-height:1.2!important;
  font-weight:700!important;
  color:#263b59!important;
}
.yab-dream-result-location{
  font-size:12px!important;
  font-weight:700!important;
}
.yab-dream-result-description{
  margin:5px 0 4px!important;
  font-size:13px!important;
  line-height:1.42!important;
}
.yab-dream-result-meta{
  gap:8px!important;
  margin-top:2px!important;
  font-size:11px!important;
}
.yab-dream-result-meta strong{
  font-size:13px!important;
}

.yab-dream-result-pricebox{
  padding:16px 12px!important;
}
.yab-dream-result-price{
  font-family:Arial,"Helvetica Neue",sans-serif!important;
  font-size:23px!important;
  font-weight:500!important;
}
.yab-dream-result-price-note{
  margin-top:6px!important;
  font-size:10.5px!important;
}
.yab-dream-result-immediate{
  margin-top:5px!important;
  font-size:12px!important;
}
.yab-book-button.yab-dream-result-continue{
  min-width:108px!important;
  min-height:36px!important;
  margin-top:8px!important;
  padding:0 16px!important;
  border-width:1.5px!important;
  font-family:Arial,"Helvetica Neue",sans-serif!important;
  font-size:16px!important;
  font-weight:500!important;
}

@media(max-width:1050px){
  .yab-results-shell{grid-template-columns:195px minmax(0,1fr)!important;gap:12px!important}
  .yab-card.yab-dream-result-card{grid-template-columns:230px minmax(0,1fr) 145px!important;min-height:166px!important}
  .yab-dream-result-media{min-height:166px!important}
  .yab-dream-result-media img,.yab-dream-result-media .yab-placeholder{height:166px!important;min-height:166px!important}
  .yab-dream-result-main{padding:14px 15px 12px!important}
  .yab-dream-result-heading h3{font-size:17px!important}
  .yab-dream-result-description{font-size:12px!important}
}

@media(max-width:800px){
  .yab-results-shell{grid-template-columns:1fr!important}
  .yab-results-filters{padding:9px!important}
  .yab-results-filters h3{font-size:16px!important}
  .yab-results-filters label,.yab-results-filters select{font-size:11px!important}
  .yab-card.yab-dream-result-card{grid-template-columns:1fr!important}
  .yab-dream-result-media{height:185px!important;min-height:185px!important}
  .yab-dream-result-media img,.yab-dream-result-media .yab-placeholder{height:185px!important;min-height:185px!important}
  .yab-dream-result-main{padding:14px 15px 8px!important}
  .yab-dream-result-heading h3{font-size:18px!important}
  .yab-dream-result-description{font-size:12.5px!important}
  .yab-dream-result-pricebox{padding:11px 15px 14px!important}
  .yab-dream-result-price{font-size:22px!important}
  .yab-book-button.yab-dream-result-continue{min-height:35px!important;min-width:100px!important;font-size:15px!important}
}

@media(max-width:520px){
  .yab-dream-result-media{height:170px!important;min-height:170px!important}
  .yab-dream-result-media img,.yab-dream-result-media .yab-placeholder{height:170px!important;min-height:170px!important}
  .yab-dream-result-heading h3{font-size:17px!important}
  .yab-dream-result-location{font-size:11px!important}
  .yab-dream-result-description{font-size:12px!important}
  .yab-dream-result-meta,.yab-dream-result-meta strong{font-size:11px!important}
}


/* =========================================================
   v0.8.8 — premium compact results, fuller content
   ========================================================= */
.yab-results-shell{
  max-width:1220px!important;
  grid-template-columns:205px minmax(0,1fr)!important;
  gap:14px!important;
}
.yab-results-filters{
  border-radius:12px!important;
  border:1px solid #e4e6e8!important;
  box-shadow:0 6px 20px rgba(21,31,44,.07)!important;
  padding:13px!important;
}
.yab-results-filters h3{font-size:19px!important;font-weight:800!important;color:#2d3440!important}
.yab-results-filters label{font-size:12.5px!important;color:#4b515a!important}
.yab-results-filters select{
  min-height:36px!important;
  border-radius:8px!important;
  border:1px solid #dde1e5!important;
  background:#fff!important;
  font-size:12.5px!important;
}

.yab-results.yab-results-list{gap:9px!important}
.yab-card.yab-dream-result-card{
  grid-template-columns:235px minmax(0,1fr) 145px!important;
  min-height:156px!important;
  border:1px solid #e1e4e8!important;
  border-radius:12px!important;
  box-shadow:0 5px 18px rgba(24,36,52,.08)!important;
  overflow:hidden!important;
}
.yab-card.yab-dream-result-card:hover{
  box-shadow:0 8px 24px rgba(24,36,52,.12)!important;
  transform:translateY(-1px)!important;
}
.yab-dream-result-media{min-height:156px!important}
.yab-dream-result-media img,.yab-dream-result-media .yab-placeholder{height:156px!important;min-height:156px!important}

.yab-dream-result-main{
  padding:14px 18px 12px!important;
  justify-content:center!important;
}
.yab-dream-result-heading{gap:8px!important}
.yab-dream-result-heading h3{
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:-.2px!important;
}
.yab-dream-result-location{font-size:12.5px!important}
.yab-dream-result-description{
  margin:6px 0 2px!important;
  font-size:14px!important;
  line-height:1.4!important;
  color:#4e5560!important;
}
.yab-dream-result-remark{
  margin:2px 0 3px!important;
  font-size:12.5px!important;
  line-height:1.4!important;
  color:#6a7078!important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.yab-dream-result-meta{
  margin-top:3px!important;
  gap:6px 10px!important;
  font-size:11.5px!important;
  color:#737981!important;
}
.yab-dream-result-meta strong{font-size:12.5px!important;color:#252a31!important}

.yab-dream-result-pricebox{
  padding:13px 11px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfbfc 100%)!important;
  border-right:1px solid #edf0f2!important;
}
.yab-dream-result-price{font-size:24px!important;font-weight:600!important;color:#ef554d!important}
.yab-dream-result-price-note{font-size:10.5px!important;margin-top:5px!important}
.yab-dream-result-immediate{font-size:12.5px!important;margin-top:4px!important}
.yab-book-button.yab-dream-result-continue{
  min-width:102px!important;
  min-height:34px!important;
  margin-top:7px!important;
  border-radius:8px!important;
  font-size:15px!important;
  font-weight:700!important;
  border:1.5px solid #171717!important;
  padding:0 14px!important;
}

@media(max-width:1050px){
  .yab-results-shell{grid-template-columns:185px minmax(0,1fr)!important;max-width:980px!important}
  .yab-card.yab-dream-result-card{grid-template-columns:210px minmax(0,1fr) 135px!important;min-height:150px!important}
  .yab-dream-result-media,.yab-dream-result-media img,.yab-dream-result-media .yab-placeholder{height:150px!important;min-height:150px!important}
  .yab-dream-result-heading h3{font-size:18.5px!important}
  .yab-dream-result-description{font-size:13px!important}
}
@media(max-width:800px){
  .yab-results-shell{max-width:680px!important;grid-template-columns:1fr!important}
  .yab-card.yab-dream-result-card{border-radius:12px!important}
  .yab-dream-result-media,.yab-dream-result-media img,.yab-dream-result-media .yab-placeholder{height:178px!important;min-height:178px!important}
  .yab-dream-result-heading h3{font-size:19px!important}
  .yab-dream-result-description{font-size:13.5px!important}
  .yab-dream-result-remark{font-size:12px!important}
}


/* =========================================================
   v0.8.9 — premium centered compact results (real override)
   ========================================================= */
.yab-results-shell{
  max-width:1120px!important;
  margin:0 auto!important;
  grid-template-columns:190px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
}
.yab-results-filters{
  border:1px solid #e4e6e8!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 7px 22px rgba(20,32,48,.07)!important;
  padding:14px!important;
}
.yab-results-filters h3{
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:800!important;
  color:#262d36!important;
  margin-bottom:14px!important;
}
.yab-results-filters label{
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:700!important;
  color:#555d67!important;
  margin-bottom:10px!important;
}
.yab-results-filters select{
  min-height:37px!important;
  border-radius:8px!important;
  border:1px solid #dde2e7!important;
  background:#fff!important;
  font-size:13px!important;
  padding:0 10px!important;
}

.yab-results.yab-results-list{
  gap:10px!important;
}
.yab-card.yab-dream-result-card{
  grid-template-columns:205px minmax(0,1fr) 135px!important;
  min-height:145px!important;
  border:1px solid #e0e4e8!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 7px 22px rgba(19,31,47,.08)!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.yab-card.yab-dream-result-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 11px 28px rgba(19,31,47,.12)!important;
}
.yab-dream-result-media{
  min-height:145px!important;
  background:#f4f5f6!important;
}
.yab-dream-result-media img,
.yab-dream-result-media .yab-placeholder{
  height:145px!important;
  min-height:145px!important;
  object-fit:cover!important;
}
.yab-dream-result-main{
  padding:13px 18px 11px!important;
  justify-content:center!important;
}
.yab-dream-result-heading{
  gap:7px!important;
  align-items:center!important;
}
.yab-dream-result-heading h3{
  font-family:Arial,sans-serif!important;
  font-size:21px!important;
  line-height:1.18!important;
  font-weight:800!important;
  letter-spacing:-.25px!important;
  color:#293a53!important;
  margin:0!important;
}
.yab-dream-result-location{
  font-size:12.5px!important;
  font-weight:700!important;
  color:#ef5b55!important;
}
.yab-dream-result-description{
  margin:7px 0 0!important;
  font-size:14.5px!important;
  line-height:1.45!important;
  color:#3f4650!important;
  font-weight:500!important;
}
.yab-dream-result-stayline{
  margin:4px 0 0!important;
  font-size:13px!important;
  line-height:1.4!important;
  color:#69717b!important;
}
.yab-dream-result-remark{
  margin:5px 0 0!important;
  font-size:12.5px!important;
  line-height:1.45!important;
  color:#626a75!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.yab-dream-result-meta{
  margin-top:7px!important;
  gap:6px 11px!important;
  font-size:11.5px!important;
  color:#777f89!important;
}
.yab-dream-result-meta strong{
  font-size:12px!important;
  color:#222b35!important;
}
.yab-dream-result-pricebox{
  padding:12px 10px!important;
  justify-content:center!important;
  background:linear-gradient(180deg,#fff 0%,#fafbfc 100%)!important;
  border-right:1px solid #edf0f2!important;
}
.yab-dream-result-price{
  font-family:Arial,sans-serif!important;
  font-size:25px!important;
  line-height:1!important;
  font-weight:700!important;
  color:#ef554d!important;
}
.yab-dream-result-price-note{
  margin-top:6px!important;
  font-size:10.5px!important;
  color:#7a8189!important;
}
.yab-dream-result-immediate{
  margin-top:5px!important;
  font-size:12.5px!important;
  color:#148a29!important;
}
.yab-book-button.yab-dream-result-continue{
  min-width:98px!important;
  min-height:34px!important;
  margin-top:8px!important;
  padding:0 14px!important;
  border:1.5px solid #171717!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#171717!important;
  font-size:15px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.yab-book-button.yab-dream-result-continue:hover{
  background:#171717!important;
  color:#fff!important;
}

@media(max-width:1050px){
  .yab-results-shell{
    max-width:940px!important;
    grid-template-columns:180px minmax(0,1fr)!important;
  }
  .yab-card.yab-dream-result-card{
    grid-template-columns:190px minmax(0,1fr) 128px!important;
    min-height:140px!important;
  }
  .yab-dream-result-media,
  .yab-dream-result-media img,
  .yab-dream-result-media .yab-placeholder{
    height:140px!important;
    min-height:140px!important;
  }
  .yab-dream-result-heading h3{font-size:19px!important}
  .yab-dream-result-description{font-size:13.5px!important}
}
@media(max-width:800px){
  .yab-results-shell{
    max-width:680px!important;
    grid-template-columns:1fr!important;
    padding:0 10px!important;
  }
  .yab-results-filters{
    position:static!important;
    display:grid!important;
    grid-template-columns:1fr 1fr 1fr!important;
    gap:8px!important;
  }
  .yab-results-filters h3{grid-column:1/-1!important}
  .yab-card.yab-dream-result-card{
    grid-template-columns:1fr!important;
    border-radius:13px!important;
  }
  .yab-dream-result-media,
  .yab-dream-result-media img,
  .yab-dream-result-media .yab-placeholder{
    height:180px!important;
    min-height:180px!important;
  }
  .yab-dream-result-main{padding:14px 16px 9px!important}
  .yab-dream-result-heading h3{font-size:20px!important}
  .yab-dream-result-description{font-size:14px!important}
  .yab-dream-result-stayline{font-size:12.5px!important}
  .yab-dream-result-pricebox{
    padding:10px 16px 14px!important;
    border-right:0!important;
    border-top:1px solid #edf0f2!important;
  }
}
@media(max-width:520px){
  .yab-results-filters{grid-template-columns:1fr!important}
  .yab-results-filters h3{grid-column:1!important}
  .yab-dream-result-media,
  .yab-dream-result-media img,
  .yab-dream-result-media .yab-placeholder{
    height:165px!important;
    min-height:165px!important;
  }
}

/* =========================================================
   v0.9.0 — premium hotel page structure
   ========================================================= */
.yab-dream-hotel-page{background:#f7f8fa;padding:28px 0 44px}
.yab-dream-layout{max-width:1180px!important;margin:0 auto!important;grid-template-columns:270px minmax(0,1fr)!important;gap:22px!important;padding:0 18px!important}
.yab-dream-summary{border:0!important;border-radius:18px!important;box-shadow:0 12px 36px rgba(28,42,58,.10)!important;overflow:hidden!important;background:#fff!important}
.yab-dream-summary h3{font-size:23px!important;padding:20px 18px!important;background:#fff!important}
.yab-dream-summary-section{padding:16px 18px!important;font-size:14px!important;gap:5px!important}
.yab-dream-summary-price{padding:18px!important;background:#fbfbfc!important}
.yab-dream-summary-price strong{font-size:30px!important;color:#111!important}

.yab-dream-hotel-hero{grid-template-columns:minmax(0,1fr) 58%!important;padding:0!important;border:0!important;border-radius:20px!important;overflow:hidden!important;box-shadow:0 14px 40px rgba(28,42,58,.12)!important;margin-bottom:20px!important;background:#fff!important;min-height:390px!important}
.yab-dream-hotel-title{padding:34px 30px!important;justify-content:center!important;background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)!important}
.yab-dream-hotel-title .yab-eyebrow{font-size:12px!important;letter-spacing:.04em!important;color:#8a929b!important}
.yab-dream-hotel-title h2{font-family:Arial,sans-serif!important;font-size:34px!important;line-height:1.12!important;color:#233754!important;margin:8px 0 24px!important;font-weight:800!important}
.yab-dream-date-boxes{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important}
.yab-dream-date-boxes>div{border:1px solid #e7e9ec!important;border-radius:12px!important;background:#fff!important;padding:14px 10px!important;text-align:center!important}
.yab-dream-date-boxes strong{display:block!important;font-size:12px!important;color:#707780!important;margin-bottom:6px!important}
.yab-dream-date-boxes span{font-size:15px!important;font-weight:700!important;color:#273445!important}
.yab-dream-hotel-image{min-height:390px!important;height:100%!important;background:#edf1f4!important}
.yab-dream-hotel-image img,.yab-dream-hotel-image .yab-placeholder{min-height:390px!important;height:100%!important;object-fit:cover!important}

.yab-hotel-overview{background:#fff;border-radius:18px;padding:26px 28px;margin:0 0 20px;box-shadow:0 10px 30px rgba(28,42,58,.08);border:1px solid #edf0f2}
.yab-hotel-overview-head h2{font-family:Arial,sans-serif;font-size:28px;line-height:1.2;color:#263a57;margin:5px 0 8px;font-weight:800}
.yab-hotel-overview-head p{margin:0;color:#656d77;font-size:15px;line-height:1.7}
.yab-hotel-overview-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.yab-hotel-overview-chips span{display:inline-flex;align-items:center;min-height:34px;padding:0 13px;border-radius:999px;background:#f4f6f8;border:1px solid #e6e9ed;color:#414a55;font-size:13px;font-weight:700}

.yab-dream-room-section{border:0!important;border-radius:18px!important;box-shadow:0 10px 30px rgba(28,42,58,.08)!important;padding:22px!important;background:#fff!important}
.yab-dream-room-head{border-bottom:1px solid #e8ebee!important;padding-bottom:14px!important;margin-bottom:14px!important}
.yab-dream-room-head h2{font-family:Arial,sans-serif!important;font-size:25px!important;color:#263a57!important}
.yab-dream-room-head span{font-size:16px!important;color:#737b84!important;font-weight:700!important}
.yab-dream-offer-row{border:1px solid #e8ebef!important;border-radius:13px!important;overflow:hidden!important;margin-bottom:10px!important;background:#fff!important}
.yab-dream-offer-row.is-best{border-color:#cfd8e3!important;box-shadow:0 5px 16px rgba(32,51,73,.06)!important}
.yab-dream-offer-cell{padding:14px 12px!important}
.yab-dream-offer-cell small{font-size:11px!important;color:#818892!important}
.yab-dream-offer-cell strong{font-size:14px!important;color:#2e3948!important}
.yab-dream-price-cell strong{font-size:18px!important;color:#138c3d!important}
.yab-dream-offer-actions{padding:12px!important;background:#fbfcfd!important}
.yab-dream-continue{border-radius:9px!important;min-height:36px!important;padding:0 18px!important;background:#111!important;color:#fff!important;border:1px solid #111!important;font-weight:700!important}
.yab-back-results{border-radius:9px!important}

@media(max-width:900px){
  .yab-dream-layout{grid-template-columns:1fr!important;max-width:720px!important}
  .yab-dream-summary{position:static!important;order:2!important}
  .yab-dream-main{order:1!important}
  .yab-dream-hotel-hero{grid-template-columns:1fr!important}
  .yab-dream-hotel-image{order:-1!important;min-height:280px!important}
  .yab-dream-hotel-image img,.yab-dream-hotel-image .yab-placeholder{min-height:280px!important}
}
@media(max-width:600px){
  .yab-dream-hotel-page{padding-top:14px!important}
  .yab-dream-layout{padding:0 10px!important;gap:14px!important}
  .yab-dream-hotel-hero{border-radius:14px!important;min-height:0!important}
  .yab-dream-hotel-title{padding:22px 18px!important}
  .yab-dream-hotel-title h2{font-size:26px!important;margin-bottom:16px!important}
  .yab-dream-date-boxes{grid-template-columns:1fr 1fr 1fr!important;gap:5px!important}
  .yab-dream-date-boxes>div{padding:10px 5px!important}
  .yab-dream-date-boxes strong{font-size:10px!important}
  .yab-dream-date-boxes span{font-size:12px!important}
  .yab-dream-hotel-image,.yab-dream-hotel-image img,.yab-dream-hotel-image .yab-placeholder{min-height:220px!important}
  .yab-hotel-overview{padding:20px 18px!important;border-radius:14px!important}
  .yab-hotel-overview-head h2{font-size:24px!important}
  .yab-hotel-overview-chips span{font-size:12px!important;min-height:32px!important}
  .yab-dream-room-section{padding:15px!important;border-radius:14px!important}
}

/* =========================================================
   v0.9.1 — Dream-style hotel page alignment
   Structure closer to reference: summary left, gallery center,
   hotel/date panel right, compact details and room selection.
   ========================================================= */
.yab-dream-hotel-page{background:#fff!important;padding:34px 0 48px!important}
.yab-dream-layout{
  max-width:1360px!important;
  grid-template-columns:255px minmax(0,1fr)!important;
  gap:18px!important;
  padding:0 20px!important;
  direction:ltr!important;
}
.yab-dream-layout>.yab-dream-summary,
.yab-dream-layout>.yab-dream-main{direction:rtl!important}
.yab-dream-summary{
  border:1px solid #d9dde1!important;
  border-radius:8px!important;
  box-shadow:0 5px 18px rgba(24,43,56,.08)!important;
  top:88px!important;
}
.yab-dream-summary h3{font-size:22px!important;padding:18px 16px!important}
.yab-dream-summary-section{font-size:14px!important;padding:15px 16px!important;line-height:1.55!important}
.yab-dream-summary-price{padding:16px!important}
.yab-dream-summary-price strong{font-size:28px!important}

.yab-dream-hotel-hero{
  grid-template-columns:310px minmax(0,1fr)!important;
  min-height:360px!important;
  border:1px solid #d9dde1!important;
  border-radius:8px!important;
  box-shadow:0 5px 18px rgba(24,43,56,.08)!important;
  margin-bottom:18px!important;
  direction:rtl!important;
}
.yab-dream-hotel-title{
  padding:24px 22px!important;
  justify-content:flex-start!important;
  background:#fff!important;
  border-left:1px solid #e3e6e9!important;
}
.yab-dream-hotel-title .yab-eyebrow{font-size:11px!important;margin-bottom:4px!important}
.yab-dream-hotel-title h2{
  font-size:29px!important;
  line-height:1.22!important;
  margin:6px 0 16px!important;
  color:#222!important;
  font-weight:700!important;
  padding-bottom:12px!important;
  border-bottom:1px solid #333!important;
}
.yab-dream-date-boxes{grid-template-columns:1fr!important;gap:6px!important;margin-top:0!important}
.yab-dream-date-boxes>div{
  min-height:72px!important;
  padding:10px 12px!important;
  border-radius:0!important;
  border:1px solid #e4e7ea!important;
  background:#fff!important;
}
.yab-dream-date-boxes strong{font-size:13px!important;color:#555!important;margin-bottom:4px!important}
.yab-dream-date-boxes span{font-size:16px!important;font-weight:500!important;color:#555!important}
.yab-dream-hotel-image{min-height:360px!important;background:#f2f3f4!important}
.yab-dream-hotel-image img,.yab-dream-hotel-image .yab-placeholder{min-height:360px!important}

.yab-hotel-live-details{
  background:#fff!important;
  border:1px solid #e0e3e6!important;
  border-radius:8px!important;
  box-shadow:0 4px 16px rgba(24,43,56,.06)!important;
  padding:24px 28px!important;
  margin:0 0 18px!important;
}
.yab-hotel-live-details h2{
  margin:0 0 12px!important;
  font-family:Arial,sans-serif!important;
  font-size:30px!important;
  line-height:1.2!important;
  color:#2d4262!important;
  font-weight:500!important;
}
.yab-hotel-live-details p{
  margin:0 0 8px!important;
  color:#666!important;
  font-size:15px!important;
  line-height:1.8!important;
}
.yab-hotel-live-details p:last-child{margin-bottom:0!important}
.yab-hotel-live-details strong{color:#444!important}

.yab-dream-room-section{
  border:1px solid #dfe3e6!important;
  border-radius:8px!important;
  box-shadow:0 5px 18px rgba(24,43,56,.07)!important;
  padding:18px!important;
}
.yab-dream-room-head{
  border-bottom:2px solid #161616!important;
  padding:0 4px 10px!important;
  margin-bottom:14px!important;
}
.yab-dream-room-head h2{font-size:26px!important;color:#222!important;font-weight:600!important}
.yab-dream-room-head span{font-size:22px!important;color:#222!important}
.yab-dream-offers-table{gap:10px!important}
.yab-dream-offer-row{
  border-radius:4px!important;
  border-color:#e2e5e8!important;
  box-shadow:none!important;
}
.yab-dream-offer-cell{padding:12px 10px!important}
.yab-dream-offer-cell small{font-size:11px!important}
.yab-dream-offer-cell strong{font-size:14px!important}
.yab-dream-price-cell strong{font-size:19px!important}
.yab-dream-offer-actions{padding:10px 12px!important}
.yab-dream-continue{min-height:38px!important;font-size:18px!important;border-radius:3px!important}

@media(max-width:980px){
  .yab-dream-layout{direction:rtl!important;grid-template-columns:1fr!important;max-width:760px!important}
  .yab-dream-summary{order:2!important;position:static!important}
  .yab-dream-main{order:1!important}
  .yab-dream-hotel-hero{grid-template-columns:1fr!important;direction:rtl!important}
  .yab-dream-hotel-title{border-left:0!important;border-top:1px solid #e3e6e9!important}
  .yab-dream-hotel-image{order:-1!important;min-height:280px!important}
  .yab-dream-hotel-image img,.yab-dream-hotel-image .yab-placeholder{min-height:280px!important}
  .yab-dream-date-boxes{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:600px){
  .yab-dream-hotel-page{padding-top:14px!important}
  .yab-dream-layout{padding:0 10px!important;gap:12px!important}
  .yab-dream-hotel-hero{border-radius:6px!important}
  .yab-dream-hotel-title{padding:18px 16px!important}
  .yab-dream-hotel-title h2{font-size:24px!important;margin-bottom:12px!important}
  .yab-dream-date-boxes{grid-template-columns:1fr 1fr 1fr!important;gap:4px!important}
  .yab-dream-date-boxes>div{min-height:62px!important;padding:8px 4px!important}
  .yab-dream-date-boxes strong{font-size:10px!important}
  .yab-dream-date-boxes span{font-size:12px!important}
  .yab-dream-hotel-image,.yab-dream-hotel-image img,.yab-dream-hotel-image .yab-placeholder{min-height:210px!important}
  .yab-hotel-live-details{padding:18px 16px!important;border-radius:6px!important}
  .yab-hotel-live-details h2{font-size:24px!important}
  .yab-hotel-live-details p{font-size:14px!important;line-height:1.7!important}
  .yab-dream-room-section{padding:12px!important;border-radius:6px!important}
}

/* =========================================================
   v0.9.2 — tighter Dream-style hotel page + gallery-ready UI
   Exact layout zones: summary left, gallery center, hotel info right.
   Rich hotel copy is rendered only when Agency2000 supplies it.
   ========================================================= */
.yab-dream-hotel-page-v092 .yab-dream-layout{
  max-width:1360px!important;
  grid-template-columns:260px minmax(0,1fr)!important;
  grid-template-areas:"summary main"!important;
  direction:ltr!important;
  align-items:start!important;
}
.yab-dream-hotel-page-v092 .yab-dream-summary{grid-area:summary!important;direction:rtl!important}
.yab-dream-hotel-page-v092 .yab-dream-main{grid-area:main!important;direction:rtl!important;min-width:0!important}
.yab-dream-hotel-page-v092 .yab-dream-hotel-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 315px!important;
  grid-template-areas:"gallery info"!important;
  direction:ltr!important;
  min-height:365px!important;
  border-radius:4px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.yab-dream-hotel-page-v092 .yab-dream-hotel-title{
  grid-area:info!important;
  direction:rtl!important;
  padding:18px 20px 20px!important;
  border-left:1px solid #e5e5e5!important;
  border-top:0!important;
  position:relative!important;
}
.yab-dream-hotel-page-v092 .yab-copy-link{
  align-self:flex-start!important;
  border:0!important;
  background:#f2f2f2!important;
  color:#777!important;
  font:inherit!important;
  font-size:12px!important;
  padding:8px 13px!important;
  margin:0 0 12px auto!important;
  cursor:pointer!important;
}
.yab-dream-hotel-page-v092 .yab-dream-hotel-title h2{
  font-family:Arial,sans-serif!important;
  font-size:27px!important;
  font-weight:500!important;
  line-height:1.35!important;
  margin:0 0 14px!important;
  padding:0 0 12px!important;
  color:#1c1c1c!important;
  border-bottom:1px solid #555!important;
}
.yab-dream-hotel-page-v092 .yab-dream-date-boxes{gap:5px!important}
.yab-dream-hotel-page-v092 .yab-dream-date-boxes>div{
  min-height:78px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:8px!important;
}
.yab-dream-hotel-page-v092 .yab-dream-date-boxes strong{font-size:13px!important}
.yab-dream-hotel-page-v092 .yab-dream-date-boxes span{font-size:15px!important}
.yab-dream-hotel-page-v092 .yab-dream-hotel-image{
  grid-area:gallery!important;
  direction:ltr!important;
  min-height:365px!important;
  height:365px!important;
  position:relative!important;
  overflow:hidden!important;
  background:#eceeef!important;
}
.yab-dream-hotel-page-v092 .yab-gallery-track,
.yab-dream-hotel-page-v092 .yab-gallery-slide{position:absolute!important;inset:0!important;margin:0!important}
.yab-dream-hotel-page-v092 .yab-gallery-slide{opacity:0!important;visibility:hidden!important;transition:opacity .28s ease!important}
.yab-dream-hotel-page-v092 .yab-gallery-slide.is-active{opacity:1!important;visibility:visible!important}
.yab-dream-hotel-page-v092 .yab-gallery-slide img{
  width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important;display:block!important;
}
.yab-gallery-arrow{
  position:absolute!important;top:50%!important;transform:translateY(-50%)!important;z-index:4!important;
  width:38px!important;height:46px!important;border:0!important;border-radius:0!important;
  background:rgba(80,80,80,.58)!important;color:#fff!important;font-size:34px!important;line-height:1!important;
  display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;
}
.yab-gallery-prev{left:10px!important}.yab-gallery-next{right:10px!important}
.yab-gallery-counter{position:absolute!important;right:12px!important;bottom:10px!important;z-index:4!important;background:rgba(0,0,0,.58)!important;color:#fff!important;font-size:11px!important;padding:5px 8px!important}

/* Do not pretend live-search room metadata is a hotel description. */
.yab-hotel-editorial-details{
  border:1px solid #e2e2e2!important;background:#fff!important;padding:24px 32px!important;margin:0 0 18px!important;
  box-shadow:0 3px 12px rgba(0,0,0,.05)!important;
}
.yab-hotel-editorial-block+h2{margin-top:22px!important}
.yab-hotel-editorial-block h2{font-family:Arial,sans-serif!important;font-size:30px!important;line-height:1.2!important;font-weight:400!important;color:#293c5b!important;margin:0 0 12px!important}
.yab-hotel-description{font-size:16px!important;line-height:1.9!important;color:#666!important}
.yab-hotel-description p{margin:0 0 12px!important}
.yab-hotel-amenities{display:flex!important;flex-wrap:wrap!important;gap:8px 16px!important;font-size:14px!important;color:#555!important}
.yab-hotel-amenities span:before{content:"✓";margin-left:5px;color:#16843a;font-weight:700}

.yab-dream-hotel-page-v092 .yab-dream-room-section{
  border-radius:3px!important;padding:16px 18px!important;box-shadow:0 3px 12px rgba(0,0,0,.06)!important;
}
.yab-dream-hotel-page-v092 .yab-dream-room-head{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:0 8px 10px!important}
.yab-dream-hotel-page-v092 .yab-dream-room-head h2,
.yab-dream-hotel-page-v092 .yab-dream-room-head span{font-size:22px!important;font-weight:500!important;margin:0!important}
.yab-dream-hotel-page-v092 .yab-dream-offer-row{
  grid-template-columns:1fr 1.25fr .9fr .7fr 1fr!important;
  min-height:112px!important;
  background:#fff!important;
}
.yab-dream-hotel-page-v092 .yab-dream-offer-cell{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;text-align:center!important;border-left:1px solid #ececec!important}
.yab-dream-hotel-page-v092 .yab-dream-offer-actions{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:4px!important}
.yab-dream-hotel-page-v092 .yab-dream-continue{background:#111!important;color:#fff!important;border:1px solid #111!important;border-radius:3px!important;min-height:38px!important;font-size:16px!important}
.yab-dream-hotel-page-v092 .yab-dream-immediate{color:#178727!important;font-weight:700!important}

@media(max-width:980px){
  .yab-dream-hotel-page-v092 .yab-dream-layout{grid-template-columns:1fr!important;grid-template-areas:"main" "summary"!important;direction:rtl!important;max-width:760px!important}
  .yab-dream-hotel-page-v092 .yab-dream-hotel-hero{grid-template-columns:1fr!important;grid-template-areas:"gallery" "info"!important}
  .yab-dream-hotel-page-v092 .yab-dream-hotel-title{border-left:0!important;border-top:1px solid #e5e5e5!important}
  .yab-dream-hotel-page-v092 .yab-dream-hotel-image{height:300px!important;min-height:300px!important}
  .yab-dream-hotel-page-v092 .yab-dream-date-boxes{grid-template-columns:repeat(3,1fr)!important}
  .yab-dream-hotel-page-v092 .yab-dream-offer-row{grid-template-columns:repeat(2,1fr)!important}
  .yab-dream-hotel-page-v092 .yab-dream-offer-actions{grid-column:1/-1!important}
}
@media(max-width:600px){
  .yab-dream-hotel-page-v092 .yab-dream-hotel-image{height:230px!important;min-height:230px!important}
  .yab-dream-hotel-page-v092 .yab-dream-hotel-title h2{font-size:23px!important}
  .yab-dream-hotel-page-v092 .yab-dream-date-boxes>div{min-height:62px!important}
  .yab-hotel-editorial-details{padding:18px 16px!important}
  .yab-hotel-editorial-block h2{font-size:25px!important}
  .yab-hotel-description{font-size:14px!important;line-height:1.75!important}
  .yab-dream-hotel-page-v092 .yab-dream-offer-row{grid-template-columns:1fr!important}
  .yab-dream-hotel-page-v092 .yab-dream-offer-cell{border-left:0!important;border-bottom:1px solid #eee!important;align-items:flex-start!important;text-align:right!important}
}


/* v0.9.4 - Terms / cancellation modal */
.yab-terms-open{overflow:hidden!important}
.yab-terms-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px;direction:rtl}
.yab-terms-modal.is-open{display:flex}
.yab-terms-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.52);backdrop-filter:blur(2px)}
.yab-terms-dialog{position:relative;z-index:2;width:min(960px,92vw);height:min(760px,88vh);background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.28);overflow:hidden;display:flex;flex-direction:column}
.yab-terms-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid #e9e9e9;background:#fff;flex:0 0 auto}
.yab-terms-head h2{margin:0!important;font-size:22px!important;line-height:1.2!important;color:#202020!important;font-weight:700!important}
.yab-terms-close{appearance:none;border:0;background:#f2f2f2;color:#111;width:38px;height:38px;border-radius:50%;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.yab-terms-close:hover{background:#e7e7e7}
.yab-terms-body{flex:1 1 auto;min-height:0;background:#fff;overflow:hidden}
.yab-terms-frame{display:block;width:100%;height:100%;border:0;background:#fff}
.yab-terms-popup-link{cursor:pointer}
@media(max-width:767px){
  .yab-terms-modal{padding:12px}
  .yab-terms-dialog{width:100%;height:88vh;border-radius:12px}
  .yab-terms-head{padding:13px 14px}
  .yab-terms-head h2{font-size:18px!important}
  .yab-terms-close{width:34px;height:34px;font-size:25px}
}

/* v0.9.5 - Force terms popup to behave as a true centered modal */
html.yab-terms-open,
html.yab-terms-open body{
  overflow:hidden!important;
}

body .yab-terms-modal{
  position:fixed!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  width:100vw!important;
  height:100vh!important;
  z-index:2147483000!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  margin:0!important;
  transform:none!important;
  box-sizing:border-box!important;
}

body .yab-terms-modal.is-open{
  display:flex!important;
}

body .yab-terms-backdrop{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background:rgba(0,0,0,.56)!important;
  backdrop-filter:blur(2px)!important;
}

body .yab-terms-dialog{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  margin:auto!important;
  transform:none!important;
  width:min(920px,92vw)!important;
  height:min(720px,84vh)!important;
  max-width:920px!important;
  max-height:84vh!important;
  background:#fff!important;
  border-radius:14px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  box-shadow:0 24px 70px rgba(0,0,0,.32)!important;
  z-index:2!important;
}

body .yab-terms-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
}

body .yab-terms-frame{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border:0!important;
  display:block!important;
}

@media(max-width:767px){
  body .yab-terms-modal{
    padding:12px!important;
  }
  body .yab-terms-dialog{
    width:calc(100vw - 24px)!important;
    height:82vh!important;
    max-height:82vh!important;
    border-radius:12px!important;
  }
}

/* v0.9.6 - Room / board / price selection polish */
.yab-room-selection-v096{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin-top:22px!important;
}
.yab-room-selection-v096 .yab-dream-room-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-end!important;
  gap:18px!important;
  padding:0 0 12px!important;
  margin:0 0 14px!important;
  border-bottom:1px solid #dedede!important;
}
.yab-room-selection-v096 .yab-room-kicker{
  display:block!important;
  font-size:12px!important;
  color:#8a8a8a!important;
  margin-bottom:4px!important;
}
.yab-room-selection-v096 .yab-dream-room-head h2{
  margin:0!important;
  font-size:24px!important;
  line-height:1.2!important;
  font-weight:700!important;
  color:#1f1f1f!important;
}
.yab-room-selection-v096 .yab-room-count{
  font-size:12px!important;
  color:#555!important;
  background:#f3f3f3!important;
  border:1px solid #e4e4e4!important;
  border-radius:999px!important;
  padding:6px 10px!important;
  white-space:nowrap!important;
}
.yab-room-groups{
  display:grid!important;
  gap:14px!important;
}
.yab-room-card{
  background:#fff!important;
  border:1px solid #e3e3e3!important;
  border-radius:10px!important;
  overflow:hidden!important;
  box-shadow:0 5px 18px rgba(0,0,0,.045)!important;
}
.yab-room-card-head{
  padding:14px 18px 12px!important;
  background:linear-gradient(180deg,#fafafa 0%,#f7f7f7 100%)!important;
  border-bottom:1px solid #e9e9e9!important;
}
.yab-room-title-wrap{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px 12px!important;
}
.yab-room-number{
  display:inline-flex!important;
  align-items:center!important;
  min-height:24px!important;
  padding:3px 9px!important;
  border-radius:999px!important;
  background:#111!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:700!important;
}
.yab-room-title-wrap h3{
  margin:0!important;
  font-size:18px!important;
  line-height:1.3!important;
  color:#222!important;
  font-weight:700!important;
}
.yab-room-title-wrap p{
  width:100%!important;
  margin:0!important;
  color:#777!important;
  font-size:12px!important;
}
.yab-room-offers{
  display:block!important;
}
.yab-room-offer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 150px 150px!important;
  align-items:stretch!important;
  min-height:98px!important;
  border-top:1px solid #ededed!important;
  background:#fff!important;
}
.yab-room-offer:first-child{border-top:0!important}
.yab-room-offer.is-best{
  background:linear-gradient(90deg,#fff 0%,#fff 76%,#fafcf9 100%)!important;
}
.yab-room-offer-main{
  padding:13px 18px!important;
  display:flex!important;
  align-items:center!important;
  gap:24px!important;
  min-width:0!important;
}
.yab-room-offer-base{
  min-width:150px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
}
.yab-room-offer-base small,
.yab-room-offer-price small{
  font-size:11px!important;
  color:#8a8a8a!important;
}
.yab-room-offer-base strong{
  font-size:15px!important;
  color:#222!important;
  font-weight:700!important;
}
.yab-best-badge{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  margin-top:4px!important;
  padding:3px 7px!important;
  background:#eef8ef!important;
  color:#267336!important;
  border:1px solid #d4ead8!important;
  border-radius:999px!important;
  font-size:10px!important;
  font-weight:700!important;
}
.yab-room-offer-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:5px 14px!important;
  color:#666!important;
  font-size:12px!important;
  line-height:1.45!important;
}
.yab-room-offer-meta b{
  color:#444!important;
  font-weight:700!important;
}
.yab-room-availability{
  color:#35723d!important;
}
.yab-room-offer-meta .yab-dream-cancel{
  width:100%!important;
  color:#666!important;
  font-size:11px!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
}
.yab-room-offer-price{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  border-right:1px solid #ededed!important;
  border-left:1px solid #ededed!important;
  padding:10px!important;
}
.yab-room-offer-price strong{
  font-size:21px!important;
  line-height:1.1!important;
  color:#111!important;
  font-weight:800!important;
  margin:3px 0!important;
}
.yab-room-offer-price span{
  font-size:10px!important;
  color:#8a8a8a!important;
}
.yab-room-offer-action{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px!important;
}
.yab-room-offer-action .yab-dream-continue{
  width:100%!important;
  min-height:38px!important;
  border-radius:6px!important;
  background:linear-gradient(135deg,#111 0%,#3f3f3f 100%)!important;
  color:#fff!important;
  border:0!important;
  font-size:13px!important;
  font-weight:700!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 12px!important;
  box-shadow:none!important;
}
.yab-room-offer-action .yab-dream-continue:hover{
  transform:translateY(-1px)!important;
  background:linear-gradient(135deg,#000 0%,#2f2f2f 100%)!important;
}
@media(max-width:980px){
  .yab-room-offer{
    grid-template-columns:minmax(0,1fr) 135px!important;
  }
  .yab-room-offer-action{
    grid-column:1/-1!important;
    border-top:1px solid #ededed!important;
    padding:9px 12px!important;
  }
  .yab-room-offer-action .yab-dream-continue{
    max-width:210px!important;
    margin-right:auto!important;
  }
}
@media(max-width:640px){
  .yab-room-selection-v096 .yab-dream-room-head{
    align-items:flex-start!important;
  }
  .yab-room-selection-v096 .yab-dream-room-head h2{
    font-size:20px!important;
  }
  .yab-room-card-head{
    padding:12px 13px!important;
  }
  .yab-room-title-wrap h3{
    font-size:16px!important;
  }
  .yab-room-offer{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .yab-room-offer-main{
    padding:12px 13px!important;
    display:block!important;
  }
  .yab-room-offer-base{
    min-width:0!important;
    margin-bottom:8px!important;
  }
  .yab-room-offer-meta{
    gap:4px 10px!important;
  }
  .yab-room-offer-price{
    border-right:0!important;
    border-left:0!important;
    border-top:1px solid #ededed!important;
    align-items:flex-start!important;
    text-align:right!important;
    padding:10px 13px!important;
  }
  .yab-room-offer-price strong{
    font-size:20px!important;
  }
  .yab-room-offer-action{
    grid-column:auto!important;
    border-top:1px solid #ededed!important;
    padding:10px 13px 13px!important;
  }
  .yab-room-offer-action .yab-dream-continue{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
}

/* v0.9.8 — complete booking / traveller form */
.yab-dream-booking-layout .yab-dream-summary{position:sticky;top:24px;align-self:start}
.yab-booking-step{border:1px solid #e4e7e9!important;border-radius:12px!important;padding:20px!important;background:#fff!important;margin-top:16px!important}
.yab-booking-section-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin-bottom:10px!important}
.yab-booking-section-head>div{display:flex!important;align-items:center!important;gap:10px!important}
.yab-booking-section-head h3{margin:0!important;font-size:20px!important;color:#202124!important}
.yab-booking-step-number{width:28px!important;height:28px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;background:#111!important;color:#fff!important;font-size:13px!important;font-weight:800!important;flex:0 0 28px!important}
.yab-booking-section-meta{font-size:12px!important;color:#777!important;background:#f6f6f6!important;border:1px solid #e7e7e7!important;border-radius:999px!important;padding:5px 9px!important}
.yab-booking-help{margin:0 0 14px!important;color:#777!important;font-size:13px!important}
.yab-dream-travellers{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
.yab-dream-traveller{display:grid!important;grid-template-columns:minmax(120px,.7fr) repeat(4,minmax(0,1fr))!important;gap:12px!important;align-items:end!important;background:#fafafa!important;border:1px solid #e7e7e7!important;border-radius:10px!important;padding:14px!important}
.yab-traveller-head{align-self:center!important;display:flex!important;flex-direction:column!important;gap:3px!important}
.yab-traveller-head strong{font-size:15px!important;color:#222!important}
.yab-traveller-head span{font-size:11px!important;color:#777!important}
.yab-dream-traveller label,.yab-dream-customer-grid label{font-size:12px!important;font-weight:700!important;color:#333!important;display:flex!important;flex-direction:column!important;gap:6px!important}
.yab-dream-traveller input,.yab-dream-traveller select,.yab-dream-customer-grid input,.yab-booking-step textarea{min-height:43px!important;border:1px solid #d8dcdf!important;border-radius:7px!important;background:#fff!important;padding:9px 11px!important;font-size:14px!important;box-shadow:none!important;outline:none!important}
.yab-dream-traveller input:focus,.yab-dream-traveller select:focus,.yab-dream-customer-grid input:focus,.yab-booking-step textarea:focus{border-color:#555!important;box-shadow:0 0 0 2px rgba(0,0,0,.05)!important}
.yab-booking-step textarea{width:100%!important;min-height:105px!important;resize:vertical!important}
.yab-booking-terms-check{display:flex!important;align-items:flex-start!important;gap:10px!important;font-size:14px!important;line-height:1.6!important;cursor:pointer!important}
.yab-booking-terms-check input{margin-top:4px!important;width:18px!important;height:18px!important;accent-color:#111!important;flex:0 0 18px!important}
.yab-booking-terms-check a{font-weight:800!important;text-decoration:underline!important;text-underline-offset:3px!important}
.yab-dream-pay-row{position:sticky!important;bottom:0!important;z-index:6!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(10px)!important;border-top:1px solid #e4e4e4!important;margin:20px -32px -28px!important;padding:15px 32px!important;box-shadow:0 -7px 20px rgba(0,0,0,.045)!important}
.yab-dream-pay-button{min-width:160px!important;min-height:46px!important;border-radius:7px!important;font-weight:800!important}
.yab-dream-pay-total{font-size:14px!important;color:#444!important}
.yab-dream-pay-total strong{font-size:22px!important;color:#111!important;margin-right:5px!important}
@media(max-width:1050px){.yab-dream-traveller{grid-template-columns:1fr 1fr!important}.yab-traveller-head{grid-column:1/-1!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important}.yab-dream-booking-layout .yab-dream-summary{position:static!important}}
@media(max-width:640px){.yab-booking-step{padding:14px!important;border-radius:9px!important}.yab-booking-section-head{align-items:flex-start!important}.yab-booking-section-head h3{font-size:18px!important}.yab-booking-section-meta{white-space:normal!important;text-align:left!important}.yab-dream-traveller{grid-template-columns:1fr!important;padding:12px!important}.yab-traveller-head{grid-column:auto!important}.yab-dream-pay-row{margin:16px -16px -16px!important;padding:12px 16px!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.yab-dream-pay-button{width:100%!important}.yab-dream-pay-total{text-align:center!important}}


/* v0.10.0 — live GetHotelDetails: 4-image gallery + rich hotel/room content */
.yab-hotel-address{margin:-3px 0 12px!important;font-size:13px!important;color:#777!important}
.yab-hotel-editorial-v0100{display:grid!important;grid-template-columns:1fr!important;gap:18px!important}
.yab-hotel-editorial-v0100 .yab-hotel-editorial-block{margin:0!important}
.yab-hotel-editorial-v0100 .yab-hotel-description{font-size:15px!important;line-height:1.9!important;color:#555!important}
.yab-hotel-editorial-v0100 .yab-hotel-description p{margin:0 0 12px!important}
.yab-room-info-details{border-top:1px solid #e7e7e7!important;padding-top:16px!important}
.yab-room-info-details summary{cursor:pointer!important;font-size:18px!important;font-weight:800!important;color:#1f3554!important;list-style:none!important;position:relative!important;padding-left:28px!important}
.yab-room-info-details summary::-webkit-details-marker{display:none!important}
.yab-room-info-details summary:before{content:'+'!important;position:absolute!important;left:0!important;top:-2px!important;font-size:24px!important;font-weight:500!important}
.yab-room-info-details[open] summary:before{content:'−'!important}
.yab-room-info-details .yab-hotel-description{padding-top:14px!important}
@media(max-width:640px){.yab-hotel-editorial-v0100 .yab-hotel-description{font-size:14px!important;line-height:1.8!important}.yab-room-info-details summary{font-size:16px!important}}


/* v0.10.6 - hard safety: hidden terms modal must never occupy page flow */
.yab-terms-modal[hidden]{display:none!important;}

/* v0.11.1 final booking confirmation */
.yab-final-confirmation{max-width:980px;margin:28px auto;padding:36px 34px;text-align:center}
.yab-confirm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0 20px;text-align:right}
.yab-confirm-grid>div{border:1px solid #e3e6ea;border-radius:10px;padding:14px 16px;background:#fff}
.yab-confirm-grid span{display:block;font-size:13px;color:#68707b;margin-bottom:5px}
.yab-confirm-grid strong{font-size:16px;color:#172033}
.yab-confirm-travellers{margin-top:24px;padding-top:18px;border-top:1px solid #e3e6ea;text-align:right}
.yab-confirm-travellers h3{margin:0 0 12px}
.yab-confirm-travellers p{margin:6px 0}
@media(max-width:700px){.yab-final-confirmation{padding:24px 16px;margin:16px auto}.yab-confirm-grid{grid-template-columns:1fr 1fr}.yab-confirm-grid>div{padding:12px}.yab-confirm-grid strong{font-size:14px}}
@media(max-width:430px){.yab-confirm-grid{grid-template-columns:1fr}}


/* v0.11.20 — clean room-flow rebuild from approved v0.11.17 */
.yab-room-selection-v1120{margin-top:18px!important}
.yab-room-selection-v1120 .yab-dream-room-head{border-bottom:0!important;margin-bottom:10px!important;padding-bottom:0!important}
.yab-room-selection-v1120 .yab-room-kicker{color:#6e6e6e!important;font-size:12px!important}
.yab-room-selection-v1120 .yab-dream-room-head h2{color:#111!important;font-size:22px!important;font-weight:800!important}
.yab-room-default-card{background:#fff!important;border:1px solid #dcdcdc!important;border-radius:0!important;box-shadow:0 3px 12px rgba(0,0,0,.06)!important;overflow:hidden!important}
.yab-room-default-head{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:18px 26px!important;border-bottom:4px solid #111!important}
.yab-room-default-title,.yab-room-default-subtitle{color:#111!important;font-size:28px!important;font-weight:800!important;line-height:1.2!important}
.yab-room-default-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
.yab-room-default-grid>div{padding:22px 18px!important;border-left:1px solid #ececec!important;text-align:center!important}
.yab-room-default-grid>div:last-child{border-left:0!important}
.yab-room-default-grid small{display:block!important;color:#616161!important;font-size:12px!important;margin-bottom:8px!important;font-weight:700!important}
.yab-room-default-grid strong{display:block!important;color:#111!important;font-size:21px!important;font-weight:800!important;line-height:1.35!important}
.yab-room-default-grid .yab-room-price-strong{color:#0a9c22!important}
.yab-room-default-cta{display:flex!important;justify-content:flex-start!important;padding:16px 22px!important;border-top:1px solid #ececec!important}
.yab-room-default-cta .yab-dream-continue{min-width:140px!important;min-height:46px!important;background:#111!important;color:#fff!important;border-radius:0!important;font-size:17px!important;font-weight:800!important;box-shadow:none!important}
.yab-room-default-cta .yab-dream-continue:hover{background:#000!important;transform:none!important}
.yab-room-more-options{border-top:1px solid #ececec!important}
.yab-room-more-options summary{list-style:none!important;cursor:pointer!important;padding:18px 22px!important;color:#111!important;font-size:16px!important;font-weight:700!important}
.yab-room-more-options summary::-webkit-details-marker{display:none!important}
.yab-room-more-options summary:before{content:'+'!important;display:inline-block!important;margin-left:6px!important;font-size:30px!important;line-height:1!important;vertical-align:middle!important;color:#111!important}
.yab-room-more-options[open] summary:before{content:'−'!important}
.yab-room-options-table{padding:0 22px 18px!important}
.yab-room-options-head,.yab-room-options-row{display:grid!important;grid-template-columns:1fr 1fr 1fr .8fr 110px!important;gap:14px!important;align-items:center!important}
.yab-room-options-head{padding:0 0 10px!important;border-bottom:1px dashed #d7d7d7!important;color:#545454!important;font-size:13px!important;font-weight:700!important}
.yab-room-options-row{padding:14px 0!important;border-bottom:1px solid #efefef!important;color:#111!important;font-size:16px!important;font-weight:700!important}
.yab-room-options-row:last-child{border-bottom:0!important}
.yab-room-options-row.is-selected{background:rgba(0,0,0,.02)!important}
.yab-room-choose-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;min-width:96px!important;padding:0 12px!important;background:#111!important;color:#fff!important;font-size:16px!important;font-weight:800!important;text-decoration:none!important;border-radius:0!important}
.yab-room-addition-row{padding:18px 0 8px!important}
.yab-add-room-button{border:0!important;background:none!important;color:#2d8fe8!important;font-size:26px!important;font-weight:800!important;cursor:pointer!important;padding:0!important}
.yab-add-room-button:hover{color:#0f6fca!important}
.yab-multiroom-planner-v1120{margin-top:8px!important;border-radius:0!important}
.yab-multiroom-planner-v1120[hidden]{display:none!important}
.yab-multiroom-planner-v1120 .yab-multiroom-head h3,.yab-multiroom-planner-v1120 strong,.yab-multiroom-planner-v1120 span,.yab-multiroom-planner-v1120 p,.yab-multiroom-planner-v1120 button,.yab-multiroom-planner-v1120 select{color:#111!important}
@media(max-width:900px){.yab-room-default-title,.yab-room-default-subtitle{font-size:24px!important}.yab-room-default-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.yab-room-default-grid>div:nth-child(2n){border-left:0!important}.yab-room-default-grid>div:nth-child(n+3){border-top:1px solid #ececec!important}.yab-room-options-head,.yab-room-options-row{grid-template-columns:1fr 1fr!important}.yab-room-options-head span:nth-child(3),.yab-room-options-head span:nth-child(4),.yab-room-options-head span:nth-child(5){display:none!important}.yab-room-options-row span:nth-child(3),.yab-room-options-row span:nth-child(4){display:block!important}.yab-room-options-row span:last-child{grid-column:1/-1!important}}
@media(max-width:640px){.yab-room-default-head{padding:14px 16px!important}.yab-room-default-title,.yab-room-default-subtitle{font-size:18px!important}.yab-room-default-grid{grid-template-columns:1fr!important}.yab-room-default-grid>div{border-left:0!important;border-top:1px solid #ececec!important;padding:16px 14px!important;text-align:right!important}.yab-room-default-grid>div:first-child{border-top:0!important}.yab-room-default-grid strong{font-size:18px!important}.yab-room-default-cta{padding:14px!important}.yab-room-default-cta .yab-dream-continue{width:100%!important}.yab-room-more-options summary{padding:16px 14px!important;font-size:15px!important}.yab-room-options-table{padding:0 14px 14px!important}.yab-room-options-head{display:none!important}.yab-room-options-row{grid-template-columns:1fr!important;gap:7px!important;font-size:15px!important}.yab-room-options-row span:last-child{margin-top:5px!important}.yab-add-room-button{font-size:22px!important}}


/* v0.11.21 — narrower hotel page and refined room controls */
.yab-dream-hotel-page-v092 .yab-dream-layout{max-width:1080px!important;grid-template-columns:240px minmax(0,1fr)!important;gap:18px!important}
.yab-dream-hotel-page-v092 .yab-dream-summary{max-width:240px!important}
.yab-dream-hotel-page-v092 .yab-dream-main{max-width:100%!important}
.yab-dream-hotel-page-v092 .yab-dream-hotel-hero{gap:16px!important}
.yab-dream-hotel-page-v092 .yab-dream-hotel-title h2{font-size:40px!important;line-height:1.15!important;color:#111!important}
.yab-dream-hotel-page-v092 .yab-hotel-address,.yab-dream-hotel-page-v092 .yab-dream-summary,.yab-dream-hotel-page-v092 .yab-dream-summary strong,.yab-dream-hotel-page-v092 .yab-dream-summary span{color:#111!important}
.yab-room-default-head{padding:16px 22px!important;display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important}
.yab-room-default-head .yab-room-default-title{grid-column:2!important;justify-self:center!important}
.yab-room-remove-label{justify-self:end!important;grid-column:3!important;border:0!important;background:none!important;color:#111!important;font-size:18px!important;font-weight:700!important;cursor:default!important;padding:0!important}
.yab-room-default-grid>div{padding:20px 14px!important}
.yab-room-default-grid small{color:#5e5e5e!important}
.yab-room-default-grid strong{font-size:19px!important;color:#111!important}
.yab-room-default-cta{padding:14px 18px!important}
.yab-room-more-options summary{font-size:17px!important;font-weight:800!important;color:#111!important}
.yab-room-options-head{font-size:14px!important;color:#4a4a4a!important}
.yab-room-options-row{font-size:15px!important;color:#111!important}
.yab-room-addition-row{padding:20px 0 2px!important}
.yab-add-room-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;border:0!important;background:#f4f8fd!important;color:#1477d4!important;font-size:24px!important;font-weight:800!important;cursor:pointer!important;padding:0 0 0 0!important;border-radius:12px!important;box-shadow:none!important}
.yab-add-room-button:hover{background:#eaf3fd!important;color:#0f69bf!important}
.yab-multiroom-planner-v1120{max-width:100%!important}
@media(max-width:980px){.yab-dream-hotel-page-v092 .yab-dream-layout{grid-template-columns:1fr!important;max-width:760px!important}.yab-dream-hotel-page-v092 .yab-dream-summary{max-width:none!important}.yab-dream-hotel-page-v092 .yab-dream-hotel-title h2{font-size:32px!important}.yab-room-default-head{grid-template-columns:1fr auto!important}.yab-room-default-head .yab-room-default-title{grid-column:1!important;justify-self:start!important}.yab-room-remove-label{grid-column:2!important}}
@media(max-width:640px){.yab-dream-hotel-page-v092 .yab-dream-layout{max-width:100%!important}.yab-room-default-head{padding:14px!important;grid-template-columns:1fr auto!important}.yab-room-remove-label{font-size:16px!important}.yab-add-room-button{font-size:20px!important;padding:0!important;border-radius:10px!important}}


/* v0.11.22: compact, high-contrast room selector, scoped only to hotel offers */
.yab-dream-hotel-page-v092 .yab-dream-layout{max-width:1120px!important;grid-template-columns:255px minmax(0,1fr)!important;gap:12px!important;padding:0 12px!important}
.yab-dream-hotel-page-v092 .yab-dream-main{min-width:0!important}
.yab-room-selection-v1120{margin-top:16px!important}
.yab-room-selection-v1120 .yab-room-default-card{border:1px solid #d6d6d6!important;border-radius:0!important;box-shadow:0 1px 6px rgba(0,0,0,.10)!important;padding:12px 14px!important}
.yab-room-selection-v1120 .yab-room-default-head{position:relative!important;display:flex!important;justify-content:center!important;align-items:center!important;padding:4px 4px 14px!important;border-bottom:2px solid #111!important;min-height:39px!important}
.yab-room-selection-v1120 .yab-room-default-title{font-size:23px!important;line-height:1.2!important;font-weight:800!important;color:#111!important}
.yab-room-selection-v1120 .yab-room-remove-label{position:absolute!important;right:2px!important;top:4px!important;font-size:17px!important;color:#111!important;font-weight:600!important;opacity:.7!important}
.yab-room-selection-v1120 .yab-room-default-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;padding:11px 2px 6px!important;gap:0!important}
.yab-room-selection-v1120 .yab-room-default-grid>div{border-left:1px solid #eee!important;border-top:0!important;padding:6px 9px!important;text-align:right!important;min-width:0!important}
.yab-room-selection-v1120 .yab-room-default-grid>div:last-child{border-left:0!important}
.yab-room-selection-v1120 .yab-room-default-grid small{font-size:12px!important;color:#4e4e4e!important;font-weight:750!important;margin-bottom:5px!important}
.yab-room-selection-v1120 .yab-room-default-grid strong{font-size:15px!important;font-weight:800!important;line-height:1.4!important;color:#161616!important;overflow-wrap:anywhere!important}
.yab-room-selection-v1120 .yab-room-default-grid .yab-room-price-strong{color:#098b19!important}
.yab-room-selection-v1120 .yab-room-more-options{border-top:0!important}
.yab-room-selection-v1120 .yab-room-more-options summary{padding:10px 2px!important;color:#101010!important;font-size:15px!important;font-weight:700!important;line-height:1.5!important}
.yab-room-selection-v1120 .yab-room-more-options summary:before{content:'+'!important;font-size:19px!important;margin-left:6px!important}
.yab-room-selection-v1120 .yab-room-more-options[open] summary:before{content:'−'!important}
.yab-room-selection-v1120 .yab-room-options-table{padding:3px 4px 0!important}
.yab-room-selection-v1120 .yab-room-options-head,.yab-room-selection-v1120 .yab-room-options-row{grid-template-columns:minmax(0,.7fr) minmax(0,1.4fr) minmax(0,1fr) minmax(0,.65fr) 100px!important;gap:8px!important;text-align:right!important}
.yab-room-selection-v1120 .yab-room-options-head{font-size:12px!important;color:#555!important;padding:8px 0!important}
.yab-room-selection-v1120 .yab-room-options-row{padding:8px 0!important;font-size:13px!important;font-weight:600!important;line-height:1.4!important;min-height:41px!important}
.yab-room-selection-v1120 .yab-room-options-row span{color:#303030!important;overflow-wrap:anywhere!important}
.yab-room-selection-v1120 .yab-room-options-row .yab-room-price-strong{color:#078e1b!important;font-weight:750!important;white-space:nowrap!important}
.yab-room-selection-v1120 .yab-room-choose-button{min-height:28px!important;min-width:70px!important;padding:3px 9px!important;font-size:13px!important;background:#0a0a0a!important;color:#fff!important}
.yab-room-selection-v1120 .yab-room-addition-row{padding:13px 0!important;text-align:right!important}
.yab-room-selection-v1120 .yab-add-room-button{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;color:#1685e0!important;font-size:18px!important;line-height:1.5!important;font-weight:750!important}
.yab-room-selection-v1120 .yab-add-room-button span{margin-left:1px!important}
.yab-room-selection-v1120 .yab-add-room-button:hover{background:transparent!important;color:#0866b5!important;text-decoration:underline!important}
.yab-room-selection-v1120 .yab-multiroom-planner-v1120{margin:2px 0 12px!important;padding:15px!important}
.yab-room-selection-v1120 .yab-room-fixed-summary{margin-top:105px!important;display:flex!important;align-items:center!important;gap:10px 16px!important;flex-wrap:wrap!important;padding:15px 0 4px!important;border-top:1px solid #eee!important}
.yab-room-selection-v1120 .yab-room-fixed-total{color:#161616!important;font-size:15px!important;font-weight:650!important;flex:1 1 100%!important}
.yab-room-selection-v1120 .yab-room-fixed-total strong{font-size:22px!important;color:#078c19!important}
.yab-room-selection-v1120 .yab-room-main-continue{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:115px!important;min-height:37px!important;padding:7px 16px!important;border-radius:2px!important;background:#159d43!important;color:#fff!important;font-size:15px!important;font-weight:750!important;text-decoration:none!important}
.yab-room-selection-v1120 .yab-room-main-continue:hover{background:#0e8134!important}
.yab-room-selection-v1120 .yab-room-fixed-summary p{font-size:11px!important;line-height:1.4!important;color:#6d6d6d!important;margin:0!important}
@media(max-width:980px){.yab-dream-hotel-page-v092 .yab-dream-layout{grid-template-columns:1fr!important;max-width:760px!important}}
@media(max-width:640px){.yab-room-selection-v1120 .yab-room-default-card{padding:10px!important}.yab-room-selection-v1120 .yab-room-default-head{padding:4px 0 12px!important}.yab-room-selection-v1120 .yab-room-default-title{font-size:20px!important}.yab-room-selection-v1120 .yab-room-default-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.yab-room-selection-v1120 .yab-room-default-grid>div{border:0!important;border-bottom:1px solid #eee!important;padding:9px!important}.yab-room-selection-v1120 .yab-room-options-head{display:none!important}.yab-room-selection-v1120 .yab-room-options-row{grid-template-columns:1fr 1fr!important;gap:6px!important}.yab-room-selection-v1120 .yab-room-options-row span:last-child{grid-column:1/-1!important}.yab-room-selection-v1120 .yab-room-fixed-summary{margin-top:35px!important}}

/* v0.11.23: functional room-choice controls, deliberately no multiroom booking */
.yab-room-selection-v1120 .yab-room-primary[hidden],.yab-room-selection-v1120 [data-yab-primary][hidden],.yab-room-selection-v1120 [data-yab-main-continue][hidden],.yab-room-selection-v1120 [data-yab-multiroom][hidden]{display:none!important}
.yab-room-selection-v1120 .yab-room-remove-label{cursor:pointer!important;opacity:1!important;border:0!important;background:transparent!important;color:#171717!important;font:inherit!important;font-size:15px!important;font-weight:650!important}
.yab-room-selection-v1120 .yab-room-remove-label:hover{text-decoration:underline!important}
.yab-room-selection-v1120 .yab-room-addition-row{padding:18px 0 12px!important}
.yab-room-selection-v1120 .yab-add-room-button{font-size:18px!important;font-weight:800!important;color:#167bde!important;background:transparent!important;border:0!important}
.yab-room-selection-v1120 .yab-multiroom-line{display:grid!important;grid-template-columns:85px minmax(0,1fr) 100px!important;gap:10px!important;align-items:center!important;padding:12px!important;border:1px solid #dedede!important;margin-bottom:8px!important;border-radius:4px!important}
.yab-room-selection-v1120 .yab-multiroom-line select{width:100%!important;font-size:14px!important;color:#111!important}
.yab-room-selection-v1120 .yab-multiroom-remove{background:transparent!important;border:0!important;color:#151515!important;font-weight:700!important;cursor:pointer!important}
.yab-room-selection-v1120 .yab-room-fixed-summary{margin-top:30px!important}
@media(max-width:640px){.yab-room-selection-v1120 .yab-multiroom-line{grid-template-columns:1fr!important}.yab-room-selection-v1120 .yab-multiroom-line select{min-width:0!important}}

/* v0.11.25: server-side offline multi-room validation */
.yab-multiroom-server-verify[hidden]{display:none!important}
.yab-multiroom-server-verify{margin:12px 0;padding:12px 14px;border:1px solid #ddd;background:#fafafa;text-align:right}
.yab-multiroom-server-verify button{background:#111;color:#fff;border:0;padding:10px 18px;font-weight:700;cursor:pointer}
.yab-multiroom-server-verify button:disabled{opacity:.5;cursor:wait}
.yab-multiroom-server-verify p{margin:10px 0 0;color:#222;font-size:14px}

/* v0.11.31 - room-scoped guest validation UI (offline only) */
.yab-room-guest-assignment{margin:16px 0;padding:18px;background:#fff;border:1px solid #ddd;border-radius:10px;color:#111}
.yab-room-guest-assignment[hidden]{display:none!important}
.yab-room-guest-assignment h3,.yab-guest-room h4{margin:0 0 10px;color:#111;font-weight:800}
.yab-room-guest-assignment p{font-size:13px;color:#333}
.yab-guest-room{border-top:1px solid #ddd;padding:16px 0}
.yab-guest-line{display:grid;grid-template-columns:120px repeat(3,minmax(0,1fr));align-items:end;gap:10px;margin:10px 0}
.yab-guest-line strong{font-size:13px;color:#111}
.yab-guest-line label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;color:#111}
.yab-guest-line input{min-height:40px;padding:8px;border:1px solid #bbb;border-radius:5px;background:#fff;color:#111;width:100%;box-sizing:border-box}
@media(max-width:750px){.yab-guest-line{grid-template-columns:1fr}.yab-room-guest-assignment{padding:12px}}

/* v0.11.33 independent per-room occupancy input (preview, repricing blocked) */
.yab-room-occupancy-controls{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0;padding:12px;border:1px solid #dce3eb;background:#f7f9fc;border-radius:8px}
.yab-room-occupancy-controls label{display:flex;flex-direction:column;gap:4px;font-weight:700;color:#111;font-size:13px}
.yab-room-occupancy-controls select{background:white;color:#111;border:1px solid #b8c2cc;border-radius:6px;padding:8px;min-width:85px}
.yab-room-reprice-alert{color:#8e4200!important;background:#fff3df;border:1px solid #f0d49a;padding:9px;border-radius:6px;font-weight:700}

/* v0.11.35: Search TEST alternatives scoped to each guest room */
.yab-room-find-test{display:inline-flex;margin:12px 0;padding:9px 14px;background:#141414;color:#fff;border:0;cursor:pointer;font-weight:700}
.yab-room-live-alternatives{width:100%;margin:10px 0 18px;font-size:14px;color:#171717}
.yab-room-alt-label{font-weight:750;padding:10px 0}
.yab-room-live-option{display:grid;grid-template-columns:1fr 1.2fr 1fr .7fr 105px;gap:10px;align-items:center;padding:9px 4px;border-bottom:1px dashed #ccc;color:#111}
.yab-room-live-option strong{color:#158529}
.yab-room-live-option button{border:0;background:#111;color:#fff;font-weight:700;cursor:pointer;padding:8px 5px}
.yab-room-live-option button.is-selected{background:#236c36}
.yab-room-no-alternatives{color:#922}
@media(max-width:850px){.yab-room-live-option{grid-template-columns:1fr 1fr;gap:6px}.yab-room-live-option button{grid-column:1/-1}}

/* v0.11.36: compact 2Dream-inspired room occupancy picker, without altering supplier/API logic */
.yab-room-guest-assignment{padding:12px 14px!important;margin-top:12px!important}
.yab-room-guest-assignment>h3{font-size:17px!important;margin:0 0 4px!important;color:#111!important}
.yab-room-compact-intro{font-size:13px!important;margin:0 0 8px!important;color:#555!important}
.yab-room-guest-assignment .yab-guest-room{padding:12px 0!important;border-top:1px solid #ddd!important}
.yab-room-guest-assignment .yab-guest-room h4{text-align:center!important;font-size:19px!important;margin:0 0 9px!important;color:#111!important;border-bottom:2px solid #111!important;padding-bottom:9px!important}
.yab-room-mini-picker{display:flex!important;flex-direction:column!important;align-items:flex-end!important;margin:10px 0 12px!important}
.yab-room-picker-title{font-size:14px!important;font-weight:700!important;color:#111!important;margin:0 0 5px!important}
.yab-room-mini-picker .yab-room-occupancy-controls{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:3px!important;width:210px!important;max-width:100%!important;border:1px solid #333!important;border-radius:9px!important;background:white!important;padding:8px 9px 6px!important;margin:0!important}
.yab-room-mini-picker .yab-room-occupancy-controls label{display:flex!important;flex-direction:row-reverse!important;align-items:center!important;justify-content:space-between!important;gap:7px!important;font-size:13px!important;line-height:1.1!important;white-space:nowrap!important;color:#111!important}
.yab-room-mini-picker .yab-room-occupancy-controls select{width:58px!important;min-width:58px!important;max-width:58px!important;height:31px!important;padding:1px 4px!important;border:1px solid #999!important;border-radius:6px!important;font-size:14px!important;background:white!important;color:#111!important}
.yab-room-mini-picker .yab-room-find-test{width:210px!important;max-width:100%!important;min-height:35px!important;padding:6px 8px!important;margin:0!important;justify-content:center!important;align-items:center!important;border:1px solid #333!important;background:#eee!important;color:#111!important;font-size:14px!important;font-weight:700!important;border-radius:0 0 8px 8px!important;cursor:pointer!important}
.yab-room-live-alternatives{margin-top:5px!important}
.yab-room-live-option{padding:7px 4px!important;min-height:44px!important;gap:8px!important;font-size:13px!important}
.yab-room-live-option button{padding:6px 9px!important;min-height:34px!important;font-size:13px!important}
.yab-room-alt-label{margin:8px 0!important;font-size:13px!important}
.yab-room-travellers-collapsed{margin-top:12px!important;border-top:1px solid #e8e8e8!important;padding-top:9px!important}
.yab-room-travellers-collapsed>summary{cursor:pointer!important;color:#4b5563!important;font-size:12px!important;font-weight:600!important}
.yab-room-travellers-collapsed .yab-guest-line{margin-top:9px!important}
@media(max-width:700px){.yab-room-mini-picker .yab-room-occupancy-controls,.yab-room-mini-picker .yab-room-find-test{width:200px!important}.yab-room-live-option{font-size:12px!important}}

/* v0.11.38: one visible room-selection flow, no duplicate summary dropdown. */
.yab-room-internal-state{display:none!important}
.yab-room-guest-assignment{margin-top:8px!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.yab-guest-room{padding:16px!important;margin:12px 0!important;border:1px solid #e4e4e4!important;background:#fff!important;box-shadow:none!important}
.yab-guest-room-heading{display:flex!important;justify-content:space-between!important;align-items:center!important;border-bottom:2px solid #111!important;margin-bottom:14px!important;padding-bottom:10px!important}
.yab-guest-room-heading h4{margin:0!important;color:#111!important;font-size:20px!important}
.yab-guest-room-remove{border:0!important;background:none!important;color:#111!important;font-size:14px!important;font-weight:700!important;cursor:pointer!important}
.yab-room-mini-picker{max-width:260px!important;margin-right:0!important;margin-left:auto!important}
.yab-room-find-test{font-weight:700!important}

/* v0.11.40: admin diagnostics out of customer UI */
.yab-multiroom-server-verify[data-admin-only="1"]{display:none!important}

/* v0.11.41 — sync the left summary with server-confirmed room selections */
.yab-dream-hotel-page-v092 .yab-side-room-breakdown [data-yab-side-room-list]{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.yab-dream-hotel-page-v092 .yab-side-room-breakdown [data-yab-side-room-list] span{display:block;overflow-wrap:anywhere;font-size:13px;line-height:1.5;color:#111}
.yab-dream-hotel-page-v092 .yab-side-grand-total small{display:block;margin-top:9px;font-size:11px;line-height:1.55;color:#555}
.yab-dream-hotel-page-v092 .yab-side-grand-total small[hidden]{display:none!important}

/* v0.11.54: make the isolated checkout simulation control visible even when disabled */
.yab-checkout-mock-control{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important;width:100%!important;margin:18px 0 20px!important;padding:16px!important;border:1px solid #d7e0e5!important;border-radius:8px!important;background:#f7fafc!important;box-sizing:border-box!important;clear:both!important}
.yab-checkout-mock-control .yab-checkout-mock-button{display:inline-flex!important;visibility:visible!important;opacity:1!important;align-items:center!important;justify-content:center!important;position:static!important;min-height:48px!important;width:auto!important;max-width:100%!important;margin:0!important;padding:12px 22px!important;background:#087d99!important;color:#fff!important;border:0!important;border-radius:4px!important;box-shadow:none!important;font-size:16px!important;font-weight:700!important;line-height:1.35!important;cursor:pointer!important;white-space:normal!important}
.yab-checkout-mock-control .yab-checkout-mock-button:disabled{display:inline-flex!important;visibility:visible!important;opacity:1!important;background:#a9b9bf!important;color:#172b33!important;cursor:not-allowed!important}
.yab-checkout-mock-hint{font-size:13px!important;color:#374151!important;margin:0!important;line-height:1.5!important}
.yab-checkout-mock-result{font-size:14px!important;line-height:1.6!important;color:#172b33!important;max-width:100%!important;overflow-wrap:anywhere!important}
@media(max-width:640px){.yab-checkout-mock-control .yab-checkout-mock-button{width:100%!important}}

/* v0.11.59: search pending state; covers entire viewport, including site header. */
.yab-search-loading[hidden]{display:none!important}
.yab-search-loading{position:fixed!important;inset:0!important;z-index:2147483000!important;background:rgba(8,15,23,.79)!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;box-sizing:border-box!important;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.yab-search-loading-card{display:flex;flex-direction:column;align-items:center;gap:13px;max-width:440px;text-align:center;color:white!important;font-family:inherit;line-height:1.55}
.yab-search-loading-card strong{font-size:clamp(19px,3vw,26px);color:#fff!important;font-weight:800}
.yab-search-loading-card>span:last-child{font-size:clamp(13px,2vw,16px);color:#e5eaf0!important}
.yab-search-loading-spinner{width:66px;height:66px;border:5px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;box-sizing:border-box;animation:yab-search-spin .8s linear infinite;margin-bottom:8px}
@keyframes yab-search-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.yab-search-loading-spinner{animation-duration:1.8s}}
