/* ============================================================
   BMH PMI Transfer Calculator — frontend (scoped .bmhtt-)
   Matches bestmallorcahotels.com theme tokens.
   ============================================================ */
.bmhtt-root{
  --bmhtt-primary:#014DA0;
  --bmhtt-primary-2:#014EA2;
  --bmhtt-accent:#E8A317;
  --bmhtt-ink:#1b2733;
  --bmhtt-muted:#5d6b7a;
  --bmhtt-line:#e3e9f0;
  --bmhtt-soft:#f5f8fc;
  --bmhtt-soft-2:#eef3f9;
  --bmhtt-bg:#ffffff;
  --bmhtt-radius:14px;
  --bmhtt-shadow:0 1px 2px rgba(1,77,160,.06),0 8px 30px rgba(1,77,160,.08);
  font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif !important;
  color:var(--bmhtt-ink) !important;
  max-width:820px;
  margin:0 auto !important;
  padding:4px;
  line-height:1.5 !important;
  box-sizing:border-box;
}
.bmhtt-root *,.bmhtt-root *::before,.bmhtt-root *::after{box-sizing:border-box;}
.bmhtt-root p{margin:0 0 10px;}

.bmhtt-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bmhtt-primary);margin:0 0 6px !important;}
.bmhtt-intro{font-family:"Source Serif 4",Georgia,serif;font-size:15px;line-height:1.55;color:var(--bmhtt-muted);margin:0 0 16px !important;max-width:58ch;}

/* selector */
.bmhtt-picker{background:var(--bmhtt-soft);border:1px solid var(--bmhtt-line);border-radius:var(--bmhtt-radius);padding:16px 16px 18px;}
.bmhtt-picker label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--bmhtt-ink);}
.bmhtt-combo{position:relative;}
.bmhtt-combo input{width:100%;font-family:inherit;font-size:15px;padding:13px 42px 13px 15px;border:1.5px solid var(--bmhtt-line);border-radius:10px;background:var(--bmhtt-bg);color:var(--bmhtt-ink);transition:border-color .15s,box-shadow .15s;margin:0;}
.bmhtt-combo input:focus{outline:none;border-color:var(--bmhtt-primary);box-shadow:0 0 0 3px rgba(1,77,160,.12);}
.bmhtt-combo::after{content:"";position:absolute;right:16px;top:50%;width:9px;height:9px;border-right:2px solid var(--bmhtt-muted);border-bottom:2px solid var(--bmhtt-muted);transform:translateY(-65%) rotate(45deg);pointer-events:none;}
.bmhtt-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);background:var(--bmhtt-bg);border:1px solid var(--bmhtt-line);border-radius:12px;box-shadow:var(--bmhtt-shadow);max-height:340px;overflow-y:auto;display:none;}
.bmhtt-list.bmhtt-open{display:block;}
.bmhtt-optgroup{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bmhtt-primary);padding:12px 15px 4px;position:sticky;top:0;background:var(--bmhtt-bg);}
.bmhtt-opt{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 15px;cursor:pointer;font-size:14.5px;}
.bmhtt-opt small{color:var(--bmhtt-muted);font-size:12.5px;white-space:nowrap;}
.bmhtt-opt:hover,.bmhtt-opt.bmhtt-active{background:var(--bmhtt-soft-2);}
.bmhtt-empty{padding:14px 15px;color:var(--bmhtt-muted);font-size:14px;}

/* popular quick-picks */
.bmhtt-popular{margin-top:16px;}
.bmhtt-popular h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:19px;margin:0 0 10px !important;color:var(--bmhtt-ink);}
.bmhtt-popgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:9px;}
.bmhtt-pop{text-align:left;background:var(--bmhtt-bg);border:1px solid var(--bmhtt-line);border-radius:11px;padding:11px 13px;cursor:pointer;font-family:inherit;transition:border-color .15s,box-shadow .15s,transform .15s;}
.bmhtt-pop:hover{border-color:var(--bmhtt-primary);box-shadow:var(--bmhtt-shadow);transform:translateY(-1px);}
.bmhtt-pop:focus-visible{outline:2px solid var(--bmhtt-accent);outline-offset:2px;}
.bmhtt-pop b{display:block;font-size:14px;font-weight:600;color:var(--bmhtt-primary);margin-bottom:2px;line-height:1.2;}
.bmhtt-pop small{font-size:11.5px;color:var(--bmhtt-muted);}
.bmhtt-hidden{display:none !important;}

/* result */
.bmhtt-result{margin-top:18px;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s;}
.bmhtt-result.bmhtt-show{opacity:1;transform:none;}
.bmhtt-card{background:var(--bmhtt-bg);border:1px solid var(--bmhtt-line);border-radius:var(--bmhtt-radius);box-shadow:var(--bmhtt-shadow);overflow:hidden;}

/* icons */
.bmhtt-ic{flex:none;display:inline-block;vertical-align:middle;}
.bmhtt-ic-node{width:22px;height:22px;}
.bmhtt-ic-sm{width:16px;height:16px;}
.bmhtt-ic-btn{width:17px;height:17px;}
.bmhtt-ic-tip{width:15px;height:15px;color:var(--bmhtt-accent);margin-top:1px;}

/* signature transfer bar */
.bmhtt-route{background:linear-gradient(135deg,var(--bmhtt-primary),var(--bmhtt-primary-2));color:#fff;padding:20px 22px;}
.bmhtt-route-name{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:27px;line-height:1.1;margin:0 !important;color:#fff;}
.bmhtt-route-region{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.82;margin:2px 0 16px;}
.bmhtt-line{display:flex;align-items:center;gap:8px;}
.bmhtt-node{display:flex;flex-direction:column;align-items:center;gap:4px;flex:none;}
.bmhtt-node svg{color:#fff;}
.bmhtt-node span{font-size:11px;font-weight:600;letter-spacing:.05em;opacity:.9;}
.bmhtt-track{flex:1;height:2px;background:rgba(255,255,255,.35);position:relative;}
.bmhtt-track b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--bmhtt-accent);color:#3a2a00;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap;}

/* stat grid */
.bmhtt-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--bmhtt-line);}
.bmhtt-stat{background:var(--bmhtt-bg);padding:15px 18px;}
.bmhtt-stat .bmhtt-k{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--bmhtt-muted);margin-bottom:5px;display:flex;align-items:center;gap:6px;}
.bmhtt-stat .bmhtt-v{font-size:19px;font-weight:600;color:var(--bmhtt-ink);}
.bmhtt-stat .bmhtt-sub{font-size:12px;color:var(--bmhtt-muted);margin-top:2px;line-height:1.35;}

/* getting-around row */
.bmhtt-around{padding:16px 18px;border-top:1px solid var(--bmhtt-line);display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.bmhtt-badge{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;padding:7px 12px;border-radius:999px;}
.bmhtt-badge.bmhtt-good{background:#e9f5ec;color:#1c7a3e;}
.bmhtt-badge.bmhtt-ok{background:#fbf2df;color:#916306;}
.bmhtt-badge.bmhtt-meh{background:#f0f1f4;color:#5d6b7a;}
.bmhtt-bus{font-size:13px;color:var(--bmhtt-muted);line-height:1.45;}
.bmhtt-bus b{color:var(--bmhtt-ink);font-weight:600;}
.bmhtt-tip{padding:0 18px 15px;font-size:12px;color:var(--bmhtt-muted);line-height:1.5;display:flex;gap:7px;align-items:flex-start;}

/* CTAs (affiliate slots) */
.bmhtt-ctas{padding:16px 18px;border-top:1px solid var(--bmhtt-line);display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.bmhtt-btn{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:14px;font-weight:700;padding:12px 20px;border-radius:10px;cursor:pointer;text-decoration:none !important;border:1.5px solid transparent;transition:transform .12s,box-shadow .15s,background .15s;}
.bmhtt-btn:focus-visible{outline:2px solid var(--bmhtt-primary);outline-offset:2px;}
.bmhtt-btn-primary{background:var(--bmhtt-accent);color:#3a2a00 !important;box-shadow:0 4px 14px rgba(232,163,23,.35);}
.bmhtt-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(232,163,23,.45);color:#3a2a00 !important;}
.bmhtt-btn-ghost{background:transparent;color:var(--bmhtt-primary) !important;border-color:var(--bmhtt-line);}
.bmhtt-btn-ghost:hover{border-color:var(--bmhtt-primary);background:var(--bmhtt-soft);}

/* similar distance */
.bmhtt-similar{margin-top:20px;}
.bmhtt-similar h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:21px;margin:0 0 3px !important;color:var(--bmhtt-ink);}
.bmhtt-similar p{font-size:12.5px;color:var(--bmhtt-muted);margin:0 0 12px !important;}
.bmhtt-simgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;}
.bmhtt-sim{display:flex;flex-direction:column;background:var(--bmhtt-bg);border:1px solid var(--bmhtt-line);border-radius:12px;padding:13px 14px;transition:border-color .15s,box-shadow .15s,transform .15s;}
.bmhtt-sim:hover{border-color:var(--bmhtt-primary);box-shadow:var(--bmhtt-shadow);transform:translateY(-1px);}
.bmhtt-sim-main{background:transparent;border:0;padding:0;margin:0;width:100%;text-align:left;font-family:inherit;cursor:pointer;}
.bmhtt-sim-main:focus-visible{outline:2px solid var(--bmhtt-accent);outline-offset:2px;}
.bmhtt-sim-name{font-size:15px;font-weight:600;color:var(--bmhtt-primary);margin-bottom:3px;}
.bmhtt-sim-meta{font-size:12px;color:var(--bmhtt-muted);margin-bottom:8px;}
.bmhtt-sim-hotels{font-size:12px;color:var(--bmhtt-ink);line-height:1.5;}
.bmhtt-sim-cta{align-self:flex-start;margin-top:10px;font-size:12.5px;font-weight:700;color:var(--bmhtt-primary) !important;text-decoration:none !important;}
.bmhtt-sim-cta:hover{text-decoration:underline !important;}
.bmhtt-sim-cta:focus-visible{outline:2px solid var(--bmhtt-accent);outline-offset:2px;}

.bmhtt-disclaimer{margin-top:20px;font-size:11.5px;color:var(--bmhtt-muted);line-height:1.5;border-top:1px solid var(--bmhtt-line);padding-top:12px;}

@media (max-width:560px){
  .bmhtt-stats{grid-template-columns:1fr;}
  .bmhtt-route-name{font-size:24px;}
}
@media (max-width:480px){ .bmhtt-btn{flex:1;justify-content:center;} }
@media (prefers-reduced-motion:reduce){
  .bmhtt-result,.bmhtt-sim,.bmhtt-pop{transition:none;}
}
