/* ============================================================
   BinThere Moving – Frontend CSS v2
   Font: Fira Sans
   Colors: #02163B #1A86F9 #3F6262 #E3F5F5 #212121 #E7E7E7
   ============================================================ */

:root {
  --btm-navy:       #02163B;
  --btm-blue:       #1A86F9;
  --btm-dark:       #212121;
  --btm-teal:       #3F6262;
  --btm-teal-light: #E3F5F5;
  --btm-gray:       #E7E7E7;
  --btm-gray-mid:   #CCCCCC;
  --btm-white:      #FFFFFF;
  --btm-bg:         #F5F7FA;
  --btm-border:     #DDE2EC;
  --btm-muted:      #6B7A99;
  --btm-shadow:     0 2px 16px rgba(2,22,59,.10);
  --btm-shadow-lg:  0 8px 40px rgba(2,22,59,.16);
  --btm-radius:     12px;
  --btm-font:       'Fira Sans', sans-serif;
  --btm-transition: .2s cubic-bezier(.4,0,.2,1);
  /* zone colors */
  --btm-green:      #2D7A4F;
  --btm-green-bg:   #EBF7F1;
  --btm-yellow:     #8A6010;
  --btm-yellow-bg:  #FFF8E6;
  --btm-red:        #C0392B;
  --btm-red-bg:     #FDECEA;
}

*,.btm-booking-wrap *{box-sizing:border-box;margin:0;padding:0;}

/* ══ shared buttons ═══════════════════════════════════════════════════════ */
.btm-hp-cta-btn,
.btm-hp-sched-btn,
.btm-btn-next,
.btm-btn-checkout,
.btm-pkg-popup-cta,
.btm-bin-select-date {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border: none;
  color: #ffffff;
  background: radial-gradient(#1a86f9, #1a86f9);
  border-radius:8px;padding:14px 28px;
  font-family:var(--btm-font);font-size:15px;font-weight:600;cursor:pointer;
  transition:filter var(--btm-transition),transform var(--btm-transition),box-shadow var(--btm-transition);
  box-shadow:0 4px 14px rgba(26,134,249,.28);
  text-decoration:none;
}
.btm-hp-cta-btn:hover,.btm-hp-sched-btn:hover,.btm-btn-next:hover:not(:disabled),.btm-btn-checkout:hover,.btm-pkg-popup-cta:hover,.btm-bin-select-date:hover{
  filter:brightness(.95);transform:translateY(-1px);box-shadow:0 6px 20px rgba(26,134,249,.38);
  color:#ffffff;background: radial-gradient(#1a86f9, #1a86f9);
}
.btm-btn-next:disabled,.btm-hp-sched-btn:disabled,.btm-hp-cta-btn:disabled{
  background:var(--btm-gray-mid);box-shadow:none;cursor:not-allowed;transform:none;filter:none;
}
.btm-btn-back{
  background:transparent;border:1.5px solid var(--btm-border);color:var(--btm-muted);
  border-radius:8px;padding:13px 22px;font-family:var(--btm-font);font-size:14px;
  font-weight:500;cursor:pointer;transition:all var(--btm-transition);
}
.btm-btn-back:hover{border-color:var(--btm-navy);color:var(--btm-navy);}

/* ══ HOMEPAGE SECTION 1 – ZIP CHECK ══════════════════════════════════════ */
.btm-hp-zip{
  background:var(--btm-navy);padding:44px 20px;text-align:center;
  font-family:var(--btm-font);
}
.btm-hp-zip-inner{max-width:580px;margin:0 auto;}
.btm-hp-zip-title{
  color:var(--btm-white);font-size:22px;font-weight:700;margin-bottom:24px;
  letter-spacing:.05em;text-transform:uppercase;
}
.btm-hp-zip-fields{display:flex;flex-direction:column;gap:12px;position:relative;}

.btm-hp-zip-field{position:relative;}
.btm-hp-search-wrap{
  display:flex;align-items:center;gap:10px;
  background:var(--btm-white);border-radius:10px;
  padding:13px 16px;border:2px solid transparent;
  transition:border-color var(--btm-transition),box-shadow var(--btm-transition);
}
.btm-hp-search-wrap:focus-within{border-color:var(--btm-blue);box-shadow:0 0 0 3px rgba(26,134,249,.15);}
.btm-hp-search-icon{color:var(--btm-muted);flex-shrink:0;width:18px;height:18px;}
.btm-hp-search-wrap input{
  flex:1;border:none;outline:none;font-family:var(--btm-font);
  font-size:15px;color:var(--btm-dark);background:transparent;
}
.btm-hp-search-wrap input::placeholder{color:var(--btm-gray-mid);}

/* shared dropdown list */
.btm-zip-dropdown-list,.btm-zip-list{
  position:absolute;top:calc(100% + 4px);left:0;right:0;
  background:var(--btm-white);border:1.5px solid var(--btm-border);
  border-radius:10px;max-height:240px;overflow-y:auto;z-index:999;
  box-shadow:var(--btm-shadow-lg);display:none;
}
.btm-zip-dropdown-list.open,.btm-zip-list.open{display:block;}
.btm-zip-group-lbl{
  padding:7px 12px 4px;font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.5px;color:var(--btm-muted);background:var(--btm-bg);
  position:sticky;top:0;
}
.btm-zip-county-lbl{
  padding:4px 14px 2px;font-size:11px;font-weight:600;color:var(--btm-muted);
  background:#fafbfd;
}
.btm-zip-opt{
  padding:9px 14px;font-size:13px;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;
  border-bottom:1px solid #f0f2f7;transition:background var(--btm-transition);
  font-family:var(--btm-font);
}
.btm-zip-opt:hover,.btm-zip-opt.selected{background:#EEF2FF;}
.btm-zip-opt .zc{font-weight:700;color:var(--btm-navy);}
.btm-zip-opt .zm{display:flex;align-items:center;gap:6px;}
.btm-zip-opt .zy{font-size:12px;color:var(--btm-muted);}
.btm-zip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}

.btm-hp-zip-result{
  margin-top:14px;padding:12px 18px;border-radius:10px;
  font-size:13px;font-weight:500;font-family:var(--btm-font);
  display:flex;align-items:center;gap:8px;
}
.btm-hp-zip-result.green{background:var(--btm-green-bg);color:var(--btm-green);}
.btm-hp-zip-result.yellow{background:var(--btm-yellow-bg);color:var(--btm-yellow);}
.btm-hp-zip-result.red{background:var(--btm-red-bg);color:var(--btm-red);}

.btm-hp-cta-btn{margin-top:18px;}

/* ══ HOMEPAGE SECTION 2 – PACKAGES ═══════════════════════════════════════ */
.btm-hp-pkgs{
  position:relative;padding:60px 0;background:var(--btm-white);
  font-family:var(--btm-font);overflow:hidden;
}
.btm-hp-pkgs-track{
  display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;
  scroll-snap-type:x mandatory;padding:12px 60px 20px;
  -ms-overflow-style:none;scrollbar-width:none;
}
.btm-hp-pkgs-track::-webkit-scrollbar{display:none;}

.btm-carousel-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:42px;height:42px;border-radius:50%;background:var(--btm-white);
  border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;
  box-shadow:var(--btm-shadow);color:var(--btm-navy);font-size:22px;
  transition:background var(--btm-transition),color var(--btm-transition);z-index:5;
}
.btm-carousel-btn:hover{background:var(--btm-blue);color:var(--btm-white);}
.btm-carousel-prev{left:12px;}
.btm-carousel-next{right:12px;}

.btm-hp-pkg-card{
  flex:0 0 280px;scroll-snap-align:start;border-radius:14px;overflow:hidden;
  box-shadow:var(--btm-shadow);cursor:pointer;
  transition:transform var(--btm-transition),box-shadow var(--btm-transition);
}
.btm-hp-pkg-card:hover{transform:translateY(-5px);box-shadow:var(--btm-shadow-lg);}
.btm-hp-pkg-img{position:relative;height:200px;overflow:hidden;}
.btm-hp-pkg-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.btm-hp-pkg-card:hover .btm-hp-pkg-img img{transform:scale(1.06);}
.btm-hp-pkg-overlay{
  position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(2,22,59,.7) 0%,transparent 55%);
}
.btm-hp-pkg-info{
  background:var(--btm-navy);padding:14px 18px 18px;
  display:flex;align-items:flex-end;justify-content:space-between;gap:10px;
}
.btm-hp-pkg-top{}
.btm-hp-pkg-top h3{color:var(--btm-white);font-size:13px;font-weight:700;letter-spacing:.06em;}
.btm-hp-pkg-price{color:var(--btm-white);font-size:15px;font-weight:800;margin:2px 0;}
.btm-hp-pkg-bins{color:rgba(255,255,255,.7);font-size:12px;}
.btm-hp-pkg-cart-btn{
  width:42px;height:42px;flex-shrink:0;background:var(--btm-blue);
  border:none;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  color:var(--btm-white);transition:background var(--btm-transition),transform var(--btm-transition);
}
.btm-hp-pkg-cart-btn:hover{background:#0e72e0;transform:scale(1.08);}

/* Package popup */
.btm-pkg-popup-overlay{
  position:fixed;inset:0;background:rgba(2,22,59,.55);z-index:9999;
  display:flex;align-items:center;justify-content:center;padding:20px;
  animation:btmFadeIn .2s ease;
}
.btm-pkg-popup{
  background:var(--btm-white);border-radius:20px;max-width:520px;width:100%;
  box-shadow:var(--btm-shadow-lg);overflow:hidden;position:relative;
  animation:btmSlideUp .25s ease;
}
.btm-pkg-popup-close{
  position:absolute;top:14px;right:16px;background:rgba(0,0,0,.1);
  border:none;border-radius:50%;width:32px;height:32px;
  font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  color:var(--btm-dark);transition:background var(--btm-transition);z-index:2;
  font-family:var(--btm-font);
}
.btm-pkg-popup-close:hover{background:rgba(0,0,0,.2);}
.btm-pkg-popup-img{height:200px;overflow:hidden;}
.btm-pkg-popup-img img{width:100%;height:100%;object-fit:cover;}
.btm-pkg-popup-body{padding:24px 28px 28px;}
.btm-pkg-popup-name{font-size:22px;font-weight:800;color:var(--btm-navy);margin-bottom:4px;font-family:var(--btm-font);}
.btm-pkg-popup-price{font-size:26px;font-weight:800;color:var(--btm-blue);margin-bottom:18px;font-family:var(--btm-font);}
.btm-pkg-popup-includes h4{font-size:13px;font-weight:700;color:var(--btm-navy);margin-bottom:10px;text-transform:uppercase;letter-spacing:.04em;}
.btm-pkg-popup-includes ul{list-style:none;display:flex;flex-direction:column;gap:6px;margin-bottom:22px;}
.btm-pkg-popup-includes li{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--btm-dark);font-family:var(--btm-font);}
.btm-pkg-popup-includes li::before{content:'✓';color:var(--btm-blue);font-weight:800;font-size:14px;}
.btm-pkg-popup-cta{width:100%;font-size:16px;padding:16px;}
.btm-pkg-popup-note{text-align:center;font-size:12px;color:var(--btm-muted);margin-top:10px;font-family:var(--btm-font);}

/* ══ HOMEPAGE SECTION 3 – SCHEDULE ═══════════════════════════════════════ */
.btm-hp-sched{
  background:var(--btm-white);padding:60px 20px;font-family:var(--btm-font);
}
.btm-hp-sched-inner{
  max-width:900px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;
}
@media(max-width:700px){.btm-hp-sched-inner{grid-template-columns:1fr;}}

.btm-hp-sched-tag{
  font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--btm-teal);
  text-transform:uppercase;border-left:3px solid var(--btm-teal);padding-left:8px;
}
.btm-hp-sched-title{font-size:34px;font-weight:800;color:var(--btm-blue);margin:8px 0 14px;}
.btm-hp-sched-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--btm-teal-light);color:var(--btm-teal);
  border-radius:50px;padding:7px 14px;font-size:12px;font-weight:600;
}
.btm-hp-sched-card{
  background:var(--btm-white);border-radius:20px;
  box-shadow:var(--btm-shadow-lg);border:1.5px solid var(--btm-gray);overflow:hidden;
}
.btm-hp-cal-header{padding:20px 22px 14px;border-bottom:1.5px solid var(--btm-gray);}
.btm-hp-cal-header h3{font-size:16px;font-weight:700;color:var(--btm-navy);}
.btm-hp-cal-sub{font-size:12px;color:var(--btm-muted);margin-top:3px;}
.btm-hp-cal-wrap{padding:14px 16px;}

/* shared calendar styles */
.btm-cal-nav{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;
}
.btm-cal-nav button{
  background:none;border:none;cursor:pointer;font-size:22px;color:var(--btm-teal);
  width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;
  transition:background var(--btm-transition);font-family:var(--btm-font);
}
.btm-cal-nav button:hover{background:var(--btm-teal-light);}
.btm-cal-nav span{font-size:14px;font-weight:700;color:var(--btm-navy);}
.btm-cal-dow-row{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:6px;}
.btm-cal-dow-row span{text-align:center;font-size:11px;font-weight:700;color:var(--btm-gray-mid);letter-spacing:.06em;font-family:var(--btm-font);}
.btm-cal-dow-row .btm-cal-wknd{color:#ffb3b3;}
.btm-cal-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.btm-cal-day{
  height:36px;border-radius:8px;border:none;background:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-family:var(--btm-font);font-weight:500;
  transition:background var(--btm-transition),color var(--btm-transition);
}
.btm-cal-day:hover:not(.wknd):not(.disabled):not(.past){background:var(--btm-teal-light);color:var(--btm-teal);}
.btm-cal-day.selected{background:var(--btm-blue) !important;color:var(--btm-white) !important;font-weight:700;}
.btm-cal-day.today{border:2px solid var(--btm-teal);}
.btm-cal-day.wknd,.btm-cal-day.disabled{color:var(--btm-gray-mid);cursor:not-allowed;}
.btm-cal-day.past{opacity:.35;pointer-events:none;}
.btm-cal-day.empty{pointer-events:none;}

.btm-hp-time-wrap{padding:12px 16px 4px;border-top:1.5px solid var(--btm-gray);}
.btm-hp-time-label{font-size:12px;font-weight:700;color:var(--btm-navy);margin-bottom:8px;font-family:var(--btm-font);}
.btm-hp-time-slots{display:flex;flex-wrap:wrap;gap:7px;}

/* shared time slot */
.btm-time-slot{
  border:1.5px solid var(--btm-gray);border-radius:7px;padding:6px 12px;
  font-size:12px;font-weight:500;cursor:pointer;background:var(--btm-white);
  color:var(--btm-dark);transition:all var(--btm-transition);font-family:var(--btm-font);
}
.btm-time-slot:hover{border-color:var(--btm-blue);color:var(--btm-blue);}
.btm-time-slot.selected{background:var(--btm-blue);border-color:var(--btm-blue);color:var(--btm-white);font-weight:600;}

.btm-hp-sched-btn{margin:14px 16px 18px;width:calc(100% - 32px);}

/* ══ FULL BOOKING FORM ════════════════════════════════════════════════════ */
.btm-layout{
  display:grid;grid-template-columns:1fr 340px;gap:28px;
  max-width:1100px;margin:40px auto;padding:0 20px 60px;
  font-family:var(--btm-font);
}
@media(max-width:900px){.btm-layout{grid-template-columns:1fr;}}
@media(max-width:900px){.btm-sidebar{position:static!important;}}

/* Steps bar */
.btm-steps-bar{
  display:flex;background:var(--btm-white);border-radius:var(--btm-radius);
  box-shadow:var(--btm-shadow);overflow:hidden;margin-bottom:24px;
}
.btm-step-tab{
  flex:1;display:flex;align-items:center;gap:9px;padding:15px 18px;
  border-right:1px solid var(--btm-border);transition:background var(--btm-transition);cursor:default;
}
.btm-step-tab:last-child{border-right:none;}
.btm-step-tab.active{background:var(--btm-navy);}
.btm-step-tab.done{background:var(--btm-green-bg);cursor:pointer;}
.btm-step-tab.inactive{background:var(--btm-white);opacity:.45;cursor:default;}
.btm-step-num{
  width:26px;height:26px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;
}
.btm-step-tab.active .btm-step-num{background:var(--btm-blue);color:var(--btm-white);}
.btm-step-tab.done   .btm-step-num{background:var(--btm-green);color:var(--btm-white);}
.btm-step-tab.inactive .btm-step-num{background:var(--btm-border);color:var(--btm-muted);}
.btm-step-lbl{font-size:12px;font-weight:500;}
.btm-step-tab.active .btm-step-lbl{color:var(--btm-white);}
.btm-step-tab.done   .btm-step-lbl{color:var(--btm-green);}
.btm-step-tab.inactive .btm-step-lbl{color:var(--btm-muted);}

/* Panels */
.btm-step-panel{display:none;}
.btm-step-panel.active{display:block;animation:btmFadeIn .25s ease;}
@keyframes btmFadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
@keyframes btmSlideUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;}}

/* Card */
.btm-card{background:var(--btm-white);border-radius:var(--btm-radius);box-shadow:var(--btm-shadow);padding:30px;margin-bottom:20px;}
.btm-card-title{font-size:22px;font-weight:700;color:var(--btm-navy);margin-bottom:5px;}
.btm-card-sub{font-size:14px;color:var(--btm-muted);margin-bottom:24px;}
.btm-info-note{background:#FFF8E6;border-radius:8px;padding:12px 16px;font-size:13px;color:#7a4010;margin-bottom:20px;}
.btm-pickup-date-note{background:#EEF6FF;border:1px solid #CFE3FB;border-radius:8px;padding:10px 16px;font-size:13px;color:#0b5cab;margin:14px 0;}
.btm-pickup-note-hint{color:#5b7a9a;font-size:12px;}
.btm-bin-availability-note{background:#EEF6FF;border:1px solid #CFE3FB;border-radius:8px;padding:10px 16px;font-size:13px;color:#0b5cab;margin:14px 0;}
.btm-bin-availability-note.btm-bin-note-warn{background:transparent;border:none;padding:0;color:inherit;}
.btm-bin-availability-banner{margin-bottom:18px;}
.btm-tos-box{background:var(--btm-bg);border-radius:8px;padding:16px 18px;margin:20px 0;}
.btm-tos-title{font-size:13px;font-weight:700;color:var(--btm-navy);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;}
.btm-tos-text{font-size:13px;color:var(--btm-muted);line-height:1.5;margin-bottom:12px;}
.btm-tos-text a{color:var(--btm-blue,#1E6FE0);font-weight:600;text-decoration:underline;}
.btm-tos-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--btm-navy);cursor:pointer;}
.btm-tos-check input{margin-top:2px;}
.btm-btn-checkout:disabled{opacity:.5;cursor:not-allowed;}

/* Compact availability alert card */
.btm-bin-alert{
  display:flex;gap:14px;align-items:flex-start;
  background:linear-gradient(180deg,#FFF7F7 0%,#FFF1F1 100%);
  border:1px solid #F0C2C2;border-radius:14px;padding:16px 18px;
  box-shadow:0 8px 24px rgba(138,31,31,.06);
}
.btm-bin-alert-soft{
  background:linear-gradient(180deg,#F3FAFF 0%,#EEF6FF 100%);
  border-color:#C9E0F7;box-shadow:0 8px 24px rgba(11,92,171,.07);
}
.btm-bin-alert-soft .btm-bin-alert-icon{background:#1A86F9;}
.btm-bin-alert-soft .btm-bin-alert-title{color:#0B5CAB;}
.btm-bin-alert-lead{margin:0 0 6px;font-size:13px;line-height:1.45;color:#4A6B86;}
.btm-bin-alert-soft .btm-bin-alert-msg{
  margin:8px 0 0;padding:10px 12px;background:#fff;border:1px solid #D7E8FF;
  border-radius:10px;font-size:13.5px;line-height:1.5;color:#2F5F86;
}
.btm-bin-alert-icon{
  flex-shrink:0;width:28px;height:28px;border-radius:50%;
  background:#C0392B;color:#fff;font-weight:800;font-size:15px;
  display:flex;align-items:center;justify-content:center;margin-top:1px;
}
.btm-bin-alert-body{flex:1;min-width:0;}
.btm-bin-alert-title{font-size:15px;font-weight:800;color:#7A1F1F;margin:0 0 4px;}
.btm-bin-alert-msg{margin:0;font-size:13px;line-height:1.5;color:#8A3333;}
.btm-bin-alert-today{margin:4px 0 0;font-size:12.5px;color:#5B7A94;}
.btm-bin-alert-actions{margin-top:12px;}
.btm-bin-select-date{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 16px;border:none;border-radius:10px;
  color:#ffffff;background:radial-gradient(#1a86f9, #1a86f9);
  font-size:13px;font-weight:700;cursor:pointer;
  font-family:var(--btm-font);transition:transform .15s ease, filter .15s ease;
}
.btm-bin-select-date:hover{filter:brightness(.95);transform:translateY(-1px);color:#fff;background:radial-gradient(#1a86f9, #1a86f9);}
.btm-pkg-opt.btm-pkg-unavailable{opacity:.72;background:#FAFBFC;}
.btm-pkg-opt.btm-pkg-unavailable:hover{transform:none;}
.btm-pkg-avail-note{
  margin-top:10px;padding:8px 10px;border-radius:8px;background:#FFF8E6;
  border:1px solid #F0D48A;color:#7a4010;font-size:11.5px;line-height:1.45;
}

/* Carried date chip on Step 1 */
.btm-date-chip{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;
  background:linear-gradient(180deg,#F3FAFF 0%,#EEF6FF 100%);
  border:1px solid #C9E0F7;border-radius:12px;padding:12px 14px;margin:0 0 18px;
  color:#0B5CAB;font-size:13px;
}
.btm-date-chip-lbl{
  font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#3B82A8;
}
.btm-date-chip strong{font-size:15px;color:#02163B;}
.btm-date-chip-hint{flex-basis:100%;font-size:12px;color:#5B7A94;margin:0;}

/* Fields */
.btm-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
@media(max-width:600px){.btm-field-row{grid-template-columns:1fr;}}
.btm-field{display:flex;flex-direction:column;gap:6px;}
.btm-field label{font-size:13px;font-weight:600;color:var(--btm-navy);}
.btm-zip-wrap{position:relative;}
.btm-search-input-wrap{
  display:flex;align-items:center;gap:10px;
  border:1.5px solid var(--btm-border);border-radius:8px;
  padding:11px 14px;background:var(--btm-white);
  transition:border-color var(--btm-transition),box-shadow var(--btm-transition);
}
.btm-search-input-wrap:focus-within{border-color:var(--btm-navy);box-shadow:0 0 0 3px rgba(2,22,59,.08);}
.btm-search-ico{width:16px;height:16px;color:var(--btm-muted);flex-shrink:0;}
.btm-search-input-wrap input{flex:1;border:none;outline:none;font-family:var(--btm-font);font-size:14px;color:var(--btm-dark);background:transparent;}
.btm-search-input-wrap input::placeholder{color:var(--btm-muted);}

.btm-field-selected{font-size:13px;color:var(--btm-green);font-weight:600;margin-top:4px;}

.btm-zip-info-box{
  background:var(--btm-bg);border-radius:8px;padding:14px 18px;
  display:flex;gap:24px;flex-wrap:wrap;margin-bottom:24px;
}
.btm-zip-info-item{display:flex;flex-direction:column;gap:2px;}
.btm-zip-info-lbl{font-size:11px;color:var(--btm-muted);font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.btm-zip-info-val{font-size:14px;font-weight:600;color:var(--btm-navy);}
#btm-info-area{display:flex;flex-wrap:wrap;gap:8px;}
.btm-area-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600;}
.btm-area-badge.green{background:var(--btm-green-bg);color:var(--btm-green);}
.btm-area-badge.yellow{background:var(--btm-yellow-bg);color:var(--btm-yellow);}
.btm-area-badge.red{background:var(--btm-red-bg);color:var(--btm-red);}
.btm-area-dot{width:8px;height:8px;border-radius:50%;}
.green .btm-area-dot{background:var(--btm-green);}
.yellow .btm-area-dot{background:#B07D1A;}
.red .btm-area-dot{background:var(--btm-red);}

/* Date / Time step */
.btm-datetime-layout{display:grid;grid-template-columns:1fr 200px;gap:20px;margin-bottom:20px;}
@media(max-width:600px){.btm-datetime-layout{grid-template-columns:1fr;}}
.btm-cal-block{border:1.5px solid var(--btm-gray);border-radius:10px;padding:16px;}
.btm-time-block h4{font-size:13px;font-weight:700;color:var(--btm-navy);margin-bottom:10px;}
.btm-time-slots-col{display:flex;flex-direction:column;gap:7px;}
.btm-field-err{font-size:13px;color:var(--btm-red);margin-bottom:14px;}

/* Packages grid */
.btm-pkgs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px;}
@media(max-width:700px){.btm-pkgs-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.btm-pkgs-grid{grid-template-columns:1fr;}}
.btm-pkg-opt{
  border:2px solid var(--btm-border);border-radius:10px;padding:16px;cursor:pointer;
  position:relative;transition:all var(--btm-transition);
}
.btm-pkg-opt:hover{border-color:var(--btm-navy);transform:translateY(-2px);}
.btm-pkg-opt.selected{border-color:var(--btm-navy);background:#F0F4FF;box-shadow:0 0 0 3px rgba(2,22,59,.08);}
.btm-pkg-opt-check{
  position:absolute;top:10px;right:10px;width:20px;height:20px;
  border:2px solid var(--btm-border);border-radius:50%;display:flex;
  align-items:center;justify-content:center;transition:all var(--btm-transition);color:transparent;
}
.btm-pkg-opt.selected .btm-pkg-opt-check{background:var(--btm-navy);border-color:var(--btm-navy);color:var(--btm-white);}
.btm-pkg-opt-name{font-size:14px;font-weight:700;color:var(--btm-navy);margin-bottom:4px;}
.btm-pkg-opt-rental{font-size:12px;font-weight:500;color:var(--btm-muted);}
.btm-hp-pkg-rental{font-size:13px;font-weight:500;}
.btm-pkg-opt-price{font-size:20px;font-weight:800;color:var(--btm-blue);margin-bottom:8px;}
.btm-pkg-opt-price span{font-size:12px;font-weight:500;color:var(--btm-muted);}
.btm-pkg-opt-items{display:flex;flex-direction:column;gap:3px;}
.btm-pkg-opt-item{font-size:12px;color:var(--btm-muted);display:flex;align-items:center;gap:5px;}
.btm-pkg-opt-item::before{content:'·';color:var(--btm-blue);font-weight:900;}

/* Addons */
.btm-addons-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;}
.btm-addon-row{
  display:flex;align-items:center;justify-content:space-between;padding:14px 18px;
  border:1.5px solid var(--btm-border);border-radius:8px;gap:16px;
  transition:border-color var(--btm-transition);
}
.btm-addon-row.included{border-color:var(--btm-green);background:var(--btm-green-bg);}
.btm-addon-name{font-size:14px;font-weight:600;color:var(--btm-navy);}
.btm-addon-price{font-size:13px;color:var(--btm-muted);}
.btm-included-badge{font-size:11px;background:var(--btm-green-bg);color:var(--btm-green);padding:3px 10px;border-radius:10px;font-weight:600;border:1px solid var(--btm-green);white-space:nowrap;}
.btm-qty-ctrl{display:flex;align-items:center;gap:8px;background:var(--btm-bg);border-radius:8px;padding:4px;}
.btm-qty-btn{
  width:30px;height:30px;border:none;background:var(--btm-white);border-radius:6px;cursor:pointer;
  font-size:18px;color:var(--btm-navy);box-shadow:0 1px 4px rgba(0,0,0,.08);
  display:flex;align-items:center;justify-content:center;transition:all var(--btm-transition);
  font-family:var(--btm-font);
}
.btm-qty-btn:hover{background:var(--btm-navy);color:var(--btm-white);}
.btm-qty-val{font-size:15px;font-weight:700;color:var(--btm-navy);min-width:20px;text-align:center;}

/* Btn row */
.btm-btn-row{display:flex;gap:12px;align-items:center;margin-top:20px;}
.btm-secure-note{text-align:center;font-size:12px;color:var(--btm-muted);margin-top:12px;}
.btm-field-err{font-size:13px;color:var(--btm-red);}

/* Success card */
.btm-success-card{text-align:center;padding:48px 32px;}
.btm-success-icon{font-size:52px;margin-bottom:16px;}
.btm-success-card h2{font-size:26px;font-weight:800;color:var(--btm-navy);margin-bottom:8px;}
.btm-success-card p{font-size:15px;color:var(--btm-muted);}

/* Sidebar */
.btm-sidebar{position:sticky;top:24px;align-self:start;}
.btm-summary-card{background:var(--btm-navy);border-radius:var(--btm-radius);padding:26px;color:var(--btm-white);}
.btm-summary-title{font-size:17px;font-weight:700;margin-bottom:20px;}
#btm-summary-content{line-height:28px;}
.btm-summary-empty{text-align:center;padding:28px 0;color:rgba(255,255,255,.35);font-size:13px;line-height:1.7;}
.btm-summary-empty-icon{font-size:34px;margin-bottom:8px;}
.btm-sum-section{margin-bottom:16px;}
.btm-sum-section-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.4);margin-bottom:8px;}
.btm-sum-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:13px;border-bottom:1px solid rgba(255,255,255,.08);}
.btm-sum-row:last-child{border-bottom:none;}
.btm-sum-lbl{color:rgba(255,255,255,.65);}
.btm-sum-val{font-weight:600;color:var(--btm-white);text-align:right;max-width:160px;font-size:12px;}
.btm-sum-val.green{color:#4EC88A;}.btm-sum-val.yellow{color:#F5C842;}.btm-sum-val.red{color:#F07070;}
.btm-sum-divider{border:none;border-top:1px solid rgba(255,255,255,.12);margin:14px 0;}
.btm-sum-total-row{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;}
.btm-sum-total-lbl{font-size:14px;font-weight:600;color:rgba(255,255,255,.8);}
.btm-sum-total-amt{font-size:28px;font-weight:800;color:var(--btm-blue);}

/* Review content */
.btm-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px;}
@media(max-width:600px){.btm-review-grid{grid-template-columns:1fr;}}
.btm-review-block{background:var(--btm-bg);border-radius:8px;padding:16px;}
.btm-review-block-lbl{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--btm-muted);letter-spacing:.5px;margin-bottom:10px;}
.btm-review-item-lbl{font-size:13px;color:var(--btm-muted);}
.btm-review-item-val{font-weight:600;margin-bottom:8px;font-size:14px;}
.btm-review-county{font-size:12px;font-weight:500;color:var(--btm-muted);}
.btm-tos-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:20px;}
.btm-tos-modal.open{display:flex;}
.btm-tos-backdrop{position:absolute;inset:0;background:rgba(2,22,59,.72);backdrop-filter:blur(3px);}
.btm-tos-dialog{position:relative;width:min(720px,94vw);height:min(680px,86vh);background:#fff;border:1px solid rgba(255,255,255,.18);border-radius:18px;box-shadow:0 30px 90px rgba(2,22,59,.42);display:flex;flex-direction:column;overflow:hidden;}
.btm-tos-modal-head{display:flex;align-items:center;justify-content:space-between;padding:17px 22px;background:linear-gradient(135deg,#02163b,#07326f);color:#fff;gap:16px;flex:0 0 auto;}
.btm-tos-modal-head h2{font-size:20px;line-height:1.3;margin:0;color:#fff;letter-spacing:-.2px;}
.btm-tos-close{width:38px;height:38px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:25px;line-height:1;cursor:pointer;padding:0;display:grid;place-items:center;transition:.2s ease;}
.btm-tos-close:hover{background:#fff;color:var(--btm-navy);transform:rotate(90deg);}
.btm-tos-content{flex:1 1 auto;min-height:0;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;padding:22px 26px;color:#344054;font-size:15px;line-height:1.75;background:#fff;scrollbar-width:thin;scrollbar-color:#8ca0ba #edf2f7;outline:none;}
.btm-tos-content::-webkit-scrollbar{width:9px}.btm-tos-content::-webkit-scrollbar-track{background:#edf2f7}.btm-tos-content::-webkit-scrollbar-thumb{background:#8ca0ba;border:2px solid #edf2f7;border-radius:10px}.btm-tos-content::-webkit-scrollbar-thumb:hover{background:#667c99}
.btm-tos-content header,.btm-tos-content footer,.btm-tos-content [class*="banner"],.btm-tos-content [class*="breadcrumb"],.btm-tos-content [class*="page-header"]{display:none!important;}
.btm-tos-content h1{display:none!important;}.btm-tos-content h2,.btm-tos-content h3{color:var(--btm-navy);margin:22px 0 8px;}.btm-tos-content p{margin:0 0 14px;}.btm-tos-content a{color:var(--btm-blue);}
.btm-legal-intro{padding:19px 21px;border-radius:12px;background:linear-gradient(135deg,#eef6ff,#f7fbff);border:1px solid #dbeafe;margin-bottom:14px;position:relative;overflow:hidden}.btm-legal-intro:after{content:'§';position:absolute;right:18px;top:-28px;font-size:105px;font-weight:800;color:rgba(26,134,249,.08)}
.btm-legal-kicker{display:inline-block;color:#0871df;text-transform:uppercase;letter-spacing:1.3px;font-size:10px;font-weight:800;margin-bottom:4px}.btm-legal-intro h2{font-size:24px!important;margin:0 0 10px!important;letter-spacing:-.4px}.btm-legal-intro p{position:relative;z-index:1;color:#53627a;margin:0!important}
.btm-legal-toc{display:block!important;background:#fff;border:1px solid #e2e8f0;border-radius:11px;padding:0;margin-bottom:14px;overflow:hidden}.btm-legal-toc summary{list-style:none;cursor:pointer;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;color:var(--btm-navy);font-size:13px;font-weight:800;background:#f8fafc}.btm-legal-toc summary::-webkit-details-marker{display:none}.btm-legal-toc summary small{font-size:10px;font-weight:600;color:#0871df}.btm-legal-toc details[open] summary{border-bottom:1px solid #e7edf5}.btm-legal-toc-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px 8px;padding:10px}.btm-legal-toc-grid a{display:flex;align-items:center;gap:7px;text-decoration:none;color:#53627a!important;font-size:11px;padding:5px;border-radius:7px}.btm-legal-toc-grid a:hover{background:#eef6ff;color:#0871df!important}.btm-legal-toc-grid a span{display:grid;place-items:center;flex:0 0 22px;height:22px;border-radius:6px;background:#eaf3ff;color:#0871df;font-weight:800;font-size:9px}
.btm-legal-sections section{scroll-margin-top:12px;display:grid;grid-template-columns:38px 1fr;gap:13px;padding:19px 0;border-top:1px solid #e8edf4}.btm-legal-sections section:first-child{border-top:0}.btm-clause-num{width:34px;height:34px;border-radius:10px;background:var(--btm-navy);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;box-shadow:0 5px 12px rgba(2,22,59,.14)}.btm-legal-sections h3{font-size:16px!important;margin:5px 0 9px!important}.btm-legal-sections p,.btm-legal-sections li,.btm-legal-defs dd{font-size:13px;line-height:1.7;color:#5c687b}.btm-legal-sections ul{margin:8px 0 0;padding-left:19px}.btm-legal-sections li{margin:5px 0}.btm-legal-defs{margin:0}.btm-legal-defs dt{font-size:12px;font-weight:800;color:var(--btm-navy);margin-top:8px}.btm-legal-defs dd{margin:2px 0 8px}
.btm-fees{margin-top:22px;border:1px solid #dbe5f1;border-radius:16px;overflow:hidden;background:#fff}.btm-fees-head{padding:22px 24px;background:linear-gradient(135deg,#02163b,#07326f);color:#fff}.btm-fees-head span{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#79b9ff;font-weight:800}.btm-fees-head h3{color:#fff!important;margin:3px 0 4px!important;font-size:21px!important}.btm-fees-head p{margin:0!important;color:rgba(255,255,255,.72);font-size:12px}.btm-fee-list{padding:8px 22px}.btm-fee-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 2px;border-bottom:1px solid #edf1f6}.btm-fee-row:last-child{border-bottom:0}.btm-fee-row div{display:flex;flex-direction:column}.btm-fee-row strong{font-size:13px;color:var(--btm-navy)}.btm-fee-row span{font-size:11px;color:#7c899d}.btm-fee-row b{white-space:nowrap;color:#0871df;font-size:13px}.btm-fee-note{display:flex;gap:11px;align-items:flex-start;background:#eef6ff;border-top:1px solid #dbeafe;padding:15px 22px}.btm-fee-note>span{display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;background:#1688ff;color:#fff;font:800 13px serif}.btm-fee-note p{margin:0!important;font-size:12px;color:#496078}.btm-fees>small{display:block;padding:12px 22px;color:#8a96a8;font-size:10px}
.btm-tos-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:13px 20px;border-top:1px solid #e7ebf2;background:#f8fafc;flex:0 0 auto;box-shadow:0 -6px 18px rgba(2,22,59,.04);}
.btm-tos-cancel,.btm-tos-accept{min-height:46px;border-radius:10px;padding:12px 22px;font:700 14px var(--btm-font);cursor:pointer;transition:.2s ease;}
.btm-tos-cancel{border:1px solid #ccd5e3;background:#fff;color:#53627a;}.btm-tos-cancel:hover{border-color:#8fa0b8;color:var(--btm-navy);}
.btm-tos-accept{border:1px solid var(--btm-blue);background:linear-gradient(135deg,#1688ff,#0871df);color:#fff;box-shadow:0 8px 20px rgba(26,134,249,.24);}.btm-tos-accept:hover{transform:translateY(-1px);box-shadow:0 11px 25px rgba(26,134,249,.32);}
body.btm-modal-open{overflow:hidden;}
@media(max-width:600px){.btm-tos-modal{padding:8px}.btm-tos-dialog{height:92vh;width:100%;border-radius:14px}.btm-tos-modal-head{padding:14px 16px}.btm-tos-modal-head h2{font-size:16px}.btm-tos-content{padding:14px 12px}.btm-tos-modal-actions{padding:11px;display:grid;grid-template-columns:1fr 1fr}.btm-tos-cancel,.btm-tos-accept{padding:10px;min-height:43px}.btm-legal-intro{padding:17px 15px}.btm-legal-intro h2{font-size:19px!important}.btm-legal-toc-grid{grid-template-columns:1fr}.btm-legal-sections section{grid-template-columns:32px 1fr;gap:9px}.btm-clause-num{width:30px;height:30px}.btm-fee-row{align-items:flex-start}.btm-fee-row b{font-size:12px}}

/* WooCommerce checkout: visually separate Your Order like the booking summary. */
.woocommerce-checkout #order_review_heading{margin:28px 0 0!important;padding:22px 26px 12px!important;background:var(--btm-navy)!important;color:#fff!important;border-radius:12px 12px 0 0!important;}
.woocommerce-checkout #order_review{background:var(--btm-navy)!important;color:#fff!important;padding:10px 26px 26px!important;border-radius:0 0 12px 12px!important;margin-bottom:28px!important;}
.woocommerce-checkout #order_review table,.woocommerce-checkout #order_review th,.woocommerce-checkout #order_review td{color:#fff!important;border-color:rgba(255,255,255,.14)!important;}
.woocommerce-checkout #order_review .order-total .amount{color:#1a86f9!important;font-size:22px!important;}
.woocommerce-checkout #payment{margin-top:22px!important;background:#f4f6f9!important;color:#02163b!important;}
/* Spacious, readable booking details inside Your Order. */
.woocommerce-checkout #order_review .shop_table{table-layout:fixed!important;width:100%!important;}
.woocommerce-checkout #order_review .shop_table th.product-name,.woocommerce-checkout #order_review .shop_table td.product-name{width:72%!important;padding-right:24px!important;vertical-align:top!important;line-height:1.55!important;}
.woocommerce-checkout #order_review .shop_table th.product-total,.woocommerce-checkout #order_review .shop_table td.product-total{width:28%!important;min-width:105px!important;text-align:right!important;vertical-align:top!important;white-space:nowrap!important;}
.woocommerce-checkout #order_review td.product-name dl.variation,.woocommerce-checkout #order_review td.product-name .wc-item-meta{display:block!important;clear:both!important;margin:12px 0 0!important;padding:11px 0 0!important;border-top:1px solid rgba(255,255,255,.12)!important;font-size:12px!important;line-height:1.5!important;}
.woocommerce-checkout #order_review td.product-name dl.variation dt,.woocommerce-checkout #order_review td.product-name dl.variation dd{float:none!important;clear:none!important;margin:0!important;padding:5px 0!important;line-height:1.5!important;}
.woocommerce-checkout #order_review td.product-name dl.variation dt{display:inline!important;color:rgba(255,255,255,.62)!important;font-weight:500!important;}
.woocommerce-checkout #order_review td.product-name dl.variation dd{display:inline!important;color:#fff!important;font-weight:600!important;overflow-wrap:anywhere!important;}
.woocommerce-checkout #order_review td.product-name dl.variation dd:after{content:'';display:block;}
.woocommerce-checkout #order_review td.product-name dl.variation dd p,.woocommerce-checkout #order_review td.product-name .wc-item-meta p{display:inline!important;margin:0!important;line-height:1.5!important;}
.woocommerce-checkout #order_review td.product-name .wc-item-meta li{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:9px!important;margin:0!important;padding:5px 0!important;border-bottom:1px solid rgba(255,255,255,.07)!important;align-items:start!important;}
.woocommerce-checkout #order_review .btm-cart-edit-link{display:inline-flex!important;margin-top:3px!important;color:#41a0ff!important;font-weight:700!important;text-decoration:none!important;}
@media(max-width:600px){.woocommerce-checkout #order_review{padding:8px 16px 20px!important}.woocommerce-checkout #order_review_heading{padding:18px 16px 10px!important}.woocommerce-checkout #order_review .shop_table th.product-name,.woocommerce-checkout #order_review .shop_table td.product-name{width:68%!important;padding-right:12px!important}.woocommerce-checkout #order_review .shop_table th.product-total,.woocommerce-checkout #order_review .shop_table td.product-total{width:32%!important;min-width:86px!important}.woocommerce-checkout #order_review td.product-name .wc-item-meta li{grid-template-columns:1fr!important;gap:1px!important}}
.btm-price-breakdown{background:var(--btm-bg);border-radius:8px;padding:18px;}
.btm-price-lbl{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--btm-muted);letter-spacing:.5px;margin-bottom:12px;}
.btm-price-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--btm-border);font-size:14px;}
.btm-price-row:last-child{border-bottom:none;}
.btm-price-row .pr-lbl{color:var(--btm-muted);}
.btm-price-total-row{display:flex;justify-content:space-between;padding:12px 0 0;font-size:18px;font-weight:800;color:var(--btm-navy);}
.btm-price-total-row span:last-child{color:var(--btm-blue);}

/* Admin badge */
.btm-wrap,.btm-admin-card{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}

/* ══ BOOKED DATE STYLES ══════════════════════════════════════════════════ */
.btm-cal-day.booked {
  background: #fee2e2 !important;
  color: #9b1c1c !important;
  cursor: not-allowed !important;
  position: relative;
  font-size: 11px !important;
  font-weight: 700 !important;
  flex-direction: column;
  gap: 1px;
  padding: 2px 0;
}
.btm-cal-day.booked:hover {
  background: #fecaca !important;
  color: #9b1c1c !important;
  transform: none !important;
}
/* Small stacked layout for number + dot */
.btm-cal-day.booked .btm-cal-day-num {
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
}
.btm-booked-dot {
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #ef4444;
  margin: 0 auto;
}

/* Tooltip on hover */
.btm-cal-day.booked::after {
  content: 'Booked';
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  background: #1f2937;
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 5px;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity .15s ease;
  z-index: 10;
  font-family: var(--btm-font);
}
.btm-cal-day.booked:hover::after { opacity: 1; }

/* Admin booked-dates view */
.btm-booked-legend {
  display: flex; align-items: center; gap: 8px;
  font-size: 12px; color: var(--btm-muted);
  margin-bottom: 12px; font-family: var(--btm-font);
}
.btm-booked-legend-dot {
  width: 12px; height: 12px; border-radius: 3px; background: #fee2e2; border: 1.5px solid #fecaca;
}

/* ══ Premium Woo cart booking details ═════════════════════════════ */
.btm-cart-premium-panel{
  margin:0 0 24px;padding:24px;border:1px solid #e3e8f2;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 18px 45px rgba(15,31,58,.08);font-family:var(--btm-font,'Fira Sans',sans-serif);color:#12213a;
}
.btm-cart-panel-head{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.btm-cart-panel-head strong{display:block;font-size:20px;line-height:1.15;color:#0b1f3a;}
.btm-cart-panel-head small{display:block;margin-top:4px;color:#65738a;font-size:13px;}
.btm-ui-icon{width:38px;height:38px;min-width:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#eef5ff;color:#0b5cab;}
.btm-ui-icon svg{width:21px;height:21px;display:block;}
.btm-cart-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px;}
.btm-cart-detail{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid #e9edf5;border-radius:14px;background:#fff;}
.btm-cart-detail .btm-ui-icon{width:32px;height:32px;min-width:32px;border-radius:10px;}
.btm-cart-detail .btm-ui-icon svg{width:18px;height:18px;}
.btm-cart-detail small{display:block;color:#738096;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;}
.btm-cart-detail strong{display:block;margin-top:3px;color:#172033;font-size:14px;line-height:1.35;}
.btm-cart-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;border-top:1px solid #e9edf5;padding-top:18px;}
.btm-cart-actions .button{border-radius:999px!important;padding:12px 20px!important;font-weight:700!important;text-decoration:none!important;}
.btm-cart-edit-btn{background:#fff!important;color:#0b1f3a!important;border:1px solid #cfd8e7!important;}
.btm-cart-checkout-btn{background:#0b5cab!important;color:#fff!important;border:1px solid #0b5cab!important;}
.btm-cart-edit-link{font-weight:700;color:#0b5cab;text-decoration:none;}
.btm-title-icon{width:20px;height:20px;margin-right:8px;vertical-align:-4px;color:#0b5cab;}
.btm-summary-empty-icon svg,.btm-success-icon svg{width:42px;height:42px;display:block;margin:0 auto 8px;color:#0b5cab;}
.btm-info-note:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:#0b5cab;margin-right:8px;vertical-align:1px;}
@media(max-width:900px){.btm-cart-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.btm-cart-detail-grid{grid-template-columns:1fr}.btm-cart-actions{justify-content:stretch}.btm-cart-actions .button{width:100%;text-align:center}}

/* v2.0.3 included add-on quantity controls */
.btm-included-plus-ctrl{display:flex;align-items:center;gap:12px;justify-content:flex-end;flex-wrap:wrap}
.btm-addon-row.included .btm-qty-ctrl{background:#fff;border-radius:9px}
.btm-addon-row.included .btm-qty-val::before{content:'+';font-weight:700;margin-right:1px;color:inherit}


/* Premium booking confirmation screen */
.btm-confirmed-wrap{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start;margin:26px 0 50px;font-family:var(--btm-font,Arial,sans-serif)}
.btm-confirmed-main{background:#fff;border-radius:14px;box-shadow:0 14px 38px rgba(2,22,59,.08);min-height:385px;padding:54px 34px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.btm-confirmed-check{width:82px;height:82px;border-radius:50%;background:#eaf8f0;color:#42b66b;display:flex;align-items:center;justify-content:center;margin-bottom:22px}
.btm-confirmed-check svg{width:42px;height:42px;background:#57c982;color:#fff;border-radius:7px;padding:6px;box-shadow:0 9px 18px rgba(66,182,107,.25)}
.btm-confirmed-main h1{font-size:30px;line-height:1.15;color:#071d49;margin:0 0 10px;font-weight:800}
.btm-confirmed-main p{font-size:16px;color:#607091;line-height:1.45;margin:0 0 18px}
.btm-confirmed-ref{font-size:14px;color:#647091;margin:0 0 28px}
.btm-confirmed-btn{background:#1b2d51;color:#fff!important;text-decoration:none;border-radius:8px;padding:15px 34px;font-weight:800;display:inline-flex;box-shadow:0 10px 22px rgba(2,22,59,.16)}
.btm-confirmed-btn:hover{background:#071d49;color:#fff!important}
.btm-confirmed-summary{background:#1b2d51;color:#fff;border-radius:12px;padding:28px;box-shadow:0 14px 38px rgba(2,22,59,.1)}
.btm-confirmed-summary h2{margin:0 0 20px;font-size:20px;color:#fff;display:flex;align-items:center;gap:10px}
.btm-confirmed-summary h2 svg{width:18px;height:18px;color:#7fb4ff}.btm-confirmed-section{text-transform:uppercase;color:#9dadc9;font-weight:800;font-size:12px;letter-spacing:.05em;margin:18px 0 10px}
.btm-confirmed-row{display:flex;justify-content:space-between;gap:20px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px}.btm-confirmed-row span{color:#d8e1f3}.btm-confirmed-row strong{color:#fff;text-align:right}.btm-confirmed-divider{height:1px;background:rgba(255,255,255,.14);margin:14px 0}.btm-confirmed-total{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:22px}.btm-confirmed-total span{font-weight:800;color:#d8e1f3}.btm-confirmed-total strong{font-size:30px;color:#ff8a3d;font-weight:900}
@media(max-width:900px){.btm-confirmed-wrap{grid-template-columns:1fr}.btm-confirmed-summary{order:2}.btm-confirmed-main{min-height:auto;padding:40px 22px}.btm-confirmed-main h1{font-size:26px}}

/* ══ v2.0.11 homepage flow polish ═══════════════════════════════════════ */
.btm-hp-pkgs-track{gap:20px;padding-left:22px;padding-right:22px;}
.btm-hp-pkg-card{flex:0 0 calc((100% - 40px) / 3);min-width:0;}
.btm-hp-pkg-img img{object-fit:cover;background:#f5f7fa;}
.btm-hp-pkg-cart-btn svg{width:22px;height:22px;}
@media(max-width:900px){.btm-hp-pkg-card{flex-basis:calc((100% - 20px) / 2);}}
@media(max-width:560px){.btm-hp-pkgs-track{padding-left:18px;padding-right:18px}.btm-hp-pkg-card{flex-basis:100%;}}

/* ZIP dropdown should only appear after typing */
.btm-zip-dropdown-list:not(.open),.btm-zip-list:not(.open){display:none!important;}

/* Premium Schedule Dates section — clean original layout */
.btm-hp-sched-premium{background:#fff;padding:54px 20px;}
.btm-hp-sched-frame{max-width:980px;margin:0 auto;background:#c9ced8;border-radius:36px;padding:26px;}
.btm-hp-sched-card-modern{
  display:grid;grid-template-columns:0.9fr 1.1fr;gap:0;border:0;border-radius:26px;
  box-shadow:none;background:#fff;overflow:hidden;
}
.btm-hp-sched-side{
  padding:36px 34px;border-right:1px solid #e7eaf0;
  display:flex;flex-direction:column;justify-content:center;
}
.btm-hp-sched-side h2{font-size:28px;line-height:1.1;margin:0 0 8px;color:#212121;font-weight:800;}
.btm-hp-sched-side p{font-size:13px;line-height:1.55;color:#596376;margin:0;max-width:280px;}
.btm-hp-sched-calendar{padding:34px 42px 30px;background:#fff;}
.btm-hp-sched-calendar .btm-hp-cal-nav{
  margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;
}
.btm-hp-sched-calendar .btm-hp-cal-nav span{font-size:15px;font-weight:800;color:#1f2937;}
.btm-hp-sched-calendar .btm-hp-cal-nav button{
  background:none;border:none;cursor:pointer;font-size:22px;color:#02163b;
  width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;
  padding:0;box-shadow:none;filter:none;
}
.btm-hp-sched-calendar .btm-hp-cal-nav button:hover{background:#e3f5f5;}
.btm-hp-sched-calendar .btm-cal-dow-row{gap:10px;margin-bottom:12px;}
.btm-hp-sched-calendar .btm-cal-dow-row span{font-size:12px;color:#222;font-weight:600;}
.btm-hp-sched-calendar .btm-cal-days-grid{gap:10px;}
.btm-hp-sched-calendar .btm-cal-day{
  height:40px;width:40px;margin:auto;border-radius:50%;font-size:13px;
  color:#7c828c;background:transparent;border:none;box-shadow:none;padding:0;
}
.btm-hp-sched-calendar .btm-cal-day:hover:not(.wknd):not(.disabled):not(.past){background:#e3f5f5;color:#02163b;}
.btm-hp-sched-calendar .btm-cal-day.selected{
  background:#1a86f9!important;color:#fff!important;font-weight:700;
}
.btm-hp-sched-calendar .btm-cal-day.today:not(.selected){border:2px solid #1a86f9;color:#02163b;background:transparent;}
.btm-hp-sched-calendar .btm-hp-sched-btn{
  margin:22px auto 0;width:auto;min-width:190px;border-radius:0;
  box-shadow:none;padding:13px 24px;display:flex;
  border: none;
  color: #ffffff;
  background: radial-gradient(#1a86f9, #1a86f9);
}
.btm-hp-sched-calendar .btm-hp-sched-btn:hover{
  filter:brightness(.95);background: radial-gradient(#1a86f9, #1a86f9);color:#fff;
}
.btm-hp-sched-calendar .btm-hp-sched-btn:disabled{
  background:var(--btm-gray-mid);color:#fff;opacity:.7;cursor:not-allowed;filter:none;
}
@media(max-width:800px){
  .btm-hp-sched-card-modern{grid-template-columns:1fr}
  .btm-hp-sched-side{border-right:0;border-bottom:1px solid #e7eaf0;padding:28px}
  .btm-hp-sched-calendar{padding:28px}
  .btm-hp-sched-frame{border-radius:28px;padding:18px}
}
@media(max-width:520px){
  .btm-hp-sched-frame{padding:10px;border-radius:22px}
  .btm-hp-sched-side{padding:24px 20px}
  .btm-hp-sched-calendar{padding:24px 14px}
  .btm-hp-sched-calendar .btm-cal-days-grid,.btm-hp-sched-calendar .btm-cal-dow-row{gap:4px}
  .btm-hp-sched-calendar .btm-cal-day{width:34px;height:34px;font-size:12px}
}
