/* BMH Tourist Tax Calculator — scoped under .bmhttc to survive theme rules */
.bmhttc{
  --bmhttc-primary:#014DA0;--bmhttc-primary-dark:#013a78;
  --bmhttc-accent:#E8A317;--bmhttc-accent-dark:#c98a0c;
  --bmhttc-cta:#db0c64;--bmhttc-cta-dark:#AB0049;
  --bmhttc-ink:#1c2530;--bmhttc-muted:#5c6873;--bmhttc-line:#e3e8ee;
  --bmhttc-card:#fff;--bmhttc-exempt:#0f8a5f;
  font-family:'Source Serif 4',Georgia,serif;color:var(--bmhttc-ink);
  line-height:1.55;max-width:920px;margin:0 auto;
}
.bmhttc *,.bmhttc *::before,.bmhttc *::after{box-sizing:border-box}

.bmhttc-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:start}
@media(max-width:760px){.bmhttc-grid{grid-template-columns:1fr}}
.bmhttc-card{background:var(--bmhttc-card);border:1px solid var(--bmhttc-line);border-radius:14px;box-shadow:0 4px 18px rgba(1,77,160,.08);padding:24px}

.bmhttc-field{margin-bottom:18px}
.bmhttc-field:last-child{margin-bottom:0}
.bmhttc-lbl{display:flex !important;align-items:center;gap:8px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:.82rem;color:var(--bmhttc-ink);text-transform:uppercase;letter-spacing:.03em;margin-bottom:7px}
.bmhttc-lbl svg{width:16px;height:16px;color:var(--bmhttc-primary);flex:none}
.bmhttc-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:420px){.bmhttc-row2{grid-template-columns:1fr}}

.bmhttc input[type=date],
.bmhttc input[type=number],
.bmhttc select{width:100%;font-family:'Montserrat',sans-serif;font-size:.95rem;color:var(--bmhttc-ink);padding:11px 13px;border:1.5px solid var(--bmhttc-line);border-radius:10px;background:#fff;transition:.15s;-webkit-appearance:none;appearance:none;margin:0;max-width:none;height:auto;line-height:1.4}
.bmhttc select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235c6873' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}
.bmhttc input:focus,.bmhttc select:focus{outline:0;border-color:var(--bmhttc-primary);box-shadow:0 0 0 3px rgba(1,77,160,.12)}

.bmhttc-ages{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px;margin-top:10px}
.bmhttc-kid > label{display:block;font-family:'Montserrat',sans-serif;font-size:.68rem;color:var(--bmhttc-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:3px}
.bmhttc-field[data-cat-field].is-hidden{display:none}

.bmhttc-btn{width:100%;margin-top:6px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.03em;color:#fff;background:var(--bmhttc-accent);border:0;border-radius:10px;padding:14px;cursor:pointer;transition:.18s;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 4px 12px rgba(232,163,23,.32)}
.bmhttc-btn:hover{background:var(--bmhttc-accent-dark)}
.bmhttc-btn svg{width:18px;height:18px}

.bmhttc-result-card{position:sticky;top:20px}
.bmhttc-empty{color:var(--bmhttc-muted);font-size:.95rem;text-align:center;padding:34px 8px}
.bmhttc-empty svg{width:44px;height:44px;color:var(--bmhttc-line);margin-bottom:12px}

.bmhttc-total{background:linear-gradient(135deg,var(--bmhttc-primary),var(--bmhttc-primary-dark));border-radius:12px;padding:22px 24px;color:#fff;margin-bottom:16px;box-shadow:0 12px 40px rgba(1,77,160,.14)}
.bmhttc-total .k{font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;opacity:.85}
.bmhttc-total .v{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:2.9rem;line-height:1;margin-top:4px}
.bmhttc-total .approx{font-family:'Montserrat',sans-serif;font-size:.86rem;font-weight:600;opacity:.9;margin-top:6px}
.bmhttc-total .approx small{opacity:.7;font-weight:500}
.bmhttc-total .sub{font-size:.82rem;opacity:.8;margin-top:3px}

.bmhttc-mini-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.bmhttc-mini{border:1px solid var(--bmhttc-line);border-radius:10px;padding:13px 15px;background:#fbfcfe}
.bmhttc-mini .k{display:flex;align-items:center;gap:6px;font-family:'Montserrat',sans-serif;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--bmhttc-muted)}
.bmhttc-mini .k svg{width:13px;height:13px;color:var(--bmhttc-primary)}
.bmhttc-mini .v{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.5rem;color:var(--bmhttc-primary);margin-top:3px}
.bmhttc-mini .n{font-size:.72rem;color:var(--bmhttc-muted);margin-top:1px}

.bmhttc-breakdown{border-top:1px solid var(--bmhttc-line);padding-top:15px;margin-bottom:16px}
.bmhttc-breakdown h4{font-family:'Montserrat',sans-serif;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--bmhttc-ink);margin:0 0 10px}
.bmhttc-bd{display:flex;align-items:flex-start;gap:9px;font-size:.9rem;margin-bottom:8px;color:var(--bmhttc-muted)}
.bmhttc-bd:last-child{margin-bottom:0}
.bmhttc-bd svg{width:16px;height:16px;flex:none;margin-top:2px}
.bmhttc-bd.exempt svg{color:var(--bmhttc-exempt)}
.bmhttc-bd.discount svg{color:var(--bmhttc-accent-dark)}
.bmhttc-bd.info svg{color:var(--bmhttc-primary)}
.bmhttc-bd b{color:var(--bmhttc-ink);font-weight:600}

.bmhttc-onsite{display:flex;gap:11px;align-items:flex-start;background:#fff8ec;border:1px solid #f2dfb4;border-radius:10px;padding:13px 15px;font-size:.86rem;color:#7a5a10;margin-bottom:16px}
.bmhttc-onsite svg{width:18px;height:18px;color:var(--bmhttc-accent-dark);flex:none;margin-top:1px}

.bmhttc-book{display:flex !important;align-items:center;justify-content:center;gap:9px;width:100%;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.92rem;color:#fff !important;background:var(--bmhttc-cta);border-radius:10px;padding:13px;text-decoration:none !important;transition:.18s;box-shadow:0 4px 12px rgba(219,12,100,.28)}
.bmhttc-book:hover{background:var(--bmhttc-cta-dark);color:#fff !important}
.bmhttc-book svg{width:17px;height:17px}

.bmhttc-err{background:#fdecec;border:1px solid #f5c2c2;color:#a12626;border-radius:10px;padding:12px 15px;font-size:.88rem;font-family:'Montserrat',sans-serif}
.bmhttc-foot{font-size:.76rem;color:var(--bmhttc-muted);text-align:center;margin-top:22px;line-height:1.5}

@media (prefers-reduced-motion: reduce){.bmhttc *{transition:none !important}}
