/* MBL Booking — hero widget styles.
   Scoped under .mbl-w so it won't fight the host theme. Design tokens
   mirror the approved Mayflower Boulder dark theme. */

.mbl-w{
  --mbl-ink:#08080a;--mbl-char-1:#0e0e10;--mbl-char-2:#141417;--mbl-char-3:#1c1c20;
  --mbl-char-4:#26262b;--mbl-char-5:#34343a;
  --mbl-line:rgba(255,255,255,0.06);--mbl-line-2:rgba(255,255,255,0.1);--mbl-line-3:rgba(255,255,255,0.18);
  --mbl-bone:#f5f3ee;--mbl-bone-3:#a4a09a;--mbl-mute:#76767a;
  --mbl-amber:#d49951;--mbl-amber-bright:#e8b873;--mbl-amber-deep:#a8763a;
  --mbl-amber-soft:rgba(212,153,81,0.12);--mbl-amber-glow:rgba(212,153,81,0.4);
  --mbl-sans:'Inter',system-ui,sans-serif;--mbl-mono:'JetBrains Mono','SFMono-Regular',monospace;

  position:relative;max-width:460px;width:100%;
  background:linear-gradient(180deg,var(--mbl-char-2),var(--mbl-char-1));
  border:1px solid var(--mbl-line-3);border-radius:2px;
  box-shadow:0 40px 80px -15px rgba(0,0,0,0.6),0 0 0 1px rgba(212,153,81,0.1),inset 0 1px 0 rgba(255,255,255,0.06);
  color:var(--mbl-bone);font-family:var(--mbl-sans);font-size:15px;line-height:1.5;
  -webkit-font-smoothing:antialiased;box-sizing:border-box;
}
.mbl-w *,.mbl-w *::before,.mbl-w *::after{box-sizing:border-box;}
.mbl-w::before,.mbl-w::after{content:"";position:absolute;width:14px;height:14px;border:1.5px solid var(--mbl-amber);}
.mbl-w::before{top:-1px;left:-1px;border-right:none;border-bottom:none;}
.mbl-w::after{bottom:-1px;right:-1px;border-left:none;border-top:none;}

.mbl-w button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;text-transform:none;letter-spacing:normal;box-shadow:none;line-height:normal;}
.mbl-w input{font-family:inherit;}
.mbl-hide{display:none !important;}

.mbl-w-head{padding:20px 24px 14px;border-bottom:1px solid var(--mbl-line);display:flex;align-items:center;gap:10px;}
.mbl-w-head-icon{width:32px;height:32px;background:var(--mbl-amber-soft);color:var(--mbl-amber-bright);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mbl-w-head-text{font-size:14px;font-weight:600;color:var(--mbl-bone);}
.mbl-w-head-text small{display:block;font-size:11px;color:var(--mbl-bone-3);font-weight:400;margin-top:2px;}

.mbl-tabs{display:flex;padding:6px;background:var(--mbl-char-1);margin:14px;border:1px solid var(--mbl-line);}
.mbl-tab{flex:1;padding:10px 8px;font-size:11px;font-weight:600;color:var(--mbl-bone-3);letter-spacing:0.05em;text-transform:uppercase;transition:all .2s;text-align:center;}
.mbl-tab:hover{color:var(--mbl-bone);}
.mbl-tab.active{background:var(--mbl-amber);color:var(--mbl-ink);}

.mbl-w-fields{padding:0 14px 14px;display:flex;flex-direction:column;gap:8px;}
.mbl-only-round,.mbl-only-diff{display:flex;flex-direction:column;gap:8px;}
.mbl-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}

.mbl-f{background:var(--mbl-char-1);border:1px solid var(--mbl-line);padding:13px 16px;transition:border-color .15s;position:relative;}
.mbl-f:focus-within,.mbl-f:hover{border-color:var(--mbl-amber);}
.mbl-f-label{font-family:var(--mbl-mono);font-size:10px;color:var(--mbl-amber);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:6px;}
.mbl-f-label .spacer{flex:1;}
.mbl-f-label .useloc{font-size:9px;color:var(--mbl-bone-3);letter-spacing:0.1em;text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .15s;}
.mbl-f-label .useloc:hover{color:var(--mbl-amber-bright);}
.mbl-f-input{font-size:15px;font-weight:600;color:var(--mbl-bone);width:100%;background:transparent;letter-spacing:-0.01em;border:none;outline:none;padding:0;}
.mbl-f-input::placeholder{color:var(--mbl-mute);font-weight:400;}

/* custom dropdown */
.mbl-dd{position:relative;}
.mbl-dd-value{font-size:15px;font-weight:600;color:var(--mbl-bone);display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;white-space:nowrap;}
.mbl-dd-value .mbl-chev{color:var(--mbl-bone-3);transition:transform .2s;flex-shrink:0;display:flex;}
.mbl-dd.open .mbl-dd-value .mbl-chev{transform:rotate(180deg);color:var(--mbl-amber);}
.mbl-dd-panel{position:absolute;left:-1px;right:-1px;top:calc(100% + 8px);background:var(--mbl-char-3);border:1px solid var(--mbl-line-3);box-shadow:0 20px 40px -10px rgba(0,0,0,0.7);z-index:50;max-height:220px;overflow-y:auto;display:none;min-width:120px;}
.mbl-dd.open .mbl-dd-panel{display:block;}
.mbl-dd-opt{padding:10px 14px;font-size:14px;font-weight:500;color:var(--mbl-bone-3);cursor:pointer;transition:all .12s;border-bottom:1px solid var(--mbl-line);white-space:nowrap;}
.mbl-dd-opt:last-child{border-bottom:none;}
.mbl-dd-opt:hover{background:var(--mbl-char-4);color:var(--mbl-bone);}
.mbl-dd-opt.sel{color:var(--mbl-amber-bright);background:var(--mbl-amber-soft);}
.mbl-dd-panel::-webkit-scrollbar{width:8px;}
.mbl-dd-panel::-webkit-scrollbar-thumb{background:var(--mbl-char-5);}

/* time picker = hour : minute */
.mbl-time{display:flex;align-items:center;gap:7px;}
.mbl-time .mbl-sep{color:var(--mbl-bone-3);font-weight:700;}
.mbl-time .mbl-dd{flex:0 0 auto;}
.mbl-time .mbl-dd-value{justify-content:flex-start;gap:5px;}

.mbl-w button.mbl-w-cta{background:var(--mbl-amber) !important;color:var(--mbl-ink) !important;padding:17px;width:calc(100% - 28px);margin:6px 14px 18px;font-size:13px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:10px;border:none;border-radius:0;}
.mbl-w button.mbl-w-cta:hover{background:var(--mbl-amber-bright) !important;transform:translateY(-1px);box-shadow:0 10px 28px var(--mbl-amber-glow);}
.mbl-w button.mbl-w-cta svg{transition:transform .2s;}
.mbl-w button.mbl-w-cta:hover svg{transform:translateX(4px);}
.mbl-w button.mbl-w-cta[disabled]{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none;}

.mbl-w-error{margin:0 14px 16px;padding:11px 14px;background:rgba(220,80,80,0.12);border:1px solid rgba(220,80,80,0.3);color:#f0b4b4;font-size:13px;}

/* Google Places autocomplete dropdown — dark to match */
.pac-container{background:var(--mbl-char-3,#1c1c20);border:1px solid rgba(255,255,255,0.18);box-shadow:0 20px 40px -10px rgba(0,0,0,0.7);font-family:var(--mbl-sans,sans-serif);}
.pac-item{color:#a4a09a;border-top:1px solid rgba(255,255,255,0.06);padding:8px 12px;}
.pac-item:hover{background:#26262b;}
.pac-item-query{color:#f5f3ee;}
.pac-matched{color:#e8b873;}

/* native date input — match dark theme */
.mbl-w input[type="date"]{color-scheme:dark;cursor:pointer;}
.mbl-w input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(70%) sepia(40%) saturate(500%) hue-rotate(350deg);cursor:pointer;}
