/* MHI Content Manager — front-end styles (loaded only on pages that use its shortcodes) */
:root{--mhi-cm-green:#1F6549;--mhi-cm-green-d:#174d38;--mhi-cm-navy:#22304F;--mhi-cm-wa:#1da851;--mhi-cm-ink:#1f2937;--mhi-cm-muted:#5b6474;--mhi-cm-line:#e5e7eb;--mhi-cm-soft:#f3f8f5;--mhi-cm-warn:#fff7e6;--mhi-cm-warn-line:#f0c36d}

/* ---------- Hero slider ---------- */
.mhi-slider{position:relative;overflow:hidden;background:var(--mhi-cm-navy);color:#fff;isolation:isolate}
.mhi-slider-track{display:grid}
.mhi-slide{grid-area:1/1;position:relative;display:flex;align-items:center;min-height:560px;padding:40px 0 84px;box-sizing:border-box;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility 0s linear .8s}
.mhi-slide.is-active{opacity:1;visibility:visible;transition:opacity .8s ease;z-index:1}
.mhi-slide-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;z-index:-2}
.mhi-focus-center .mhi-slide-img{object-position:center}
.mhi-focus-left .mhi-slide-img{object-position:left center}
.mhi-slide-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(34,48,79,.94) 0%,rgba(34,48,79,.78) 45%,rgba(34,48,79,.2) 100%)}
.mhi-slide-inner{width:100%}
.mhi-slider .mhi-hero-col{max-width:620px}
.mhi-slider .mhi-hero-title{color:#fff;margin:0 0 6px}
.mhi-slider p.mhi-hero-subtitle{color:#cfe9db;font-size:clamp(18px,2.2vw,24px);font-weight:600;margin:0 0 14px;line-height:1.3}
.mhi-slider .mhi-hero-desc{color:#eef2f7}
.mhi-slider .mhi-hero-buttons{display:flex;flex-wrap:wrap;gap:12px}
.mhi-slider-controls{position:absolute;left:0;right:0;bottom:20px;z-index:3;display:flex;align-items:center;justify-content:center;gap:10px}
.mhi-slider-btn{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.25);color:#fff;font-size:22px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.mhi-slider-btn.mhi-pause{font-size:11px;letter-spacing:-1px}
.mhi-slider-btn:hover{background:rgba(0,0,0,.45)}
.mhi-slider-dots{display:flex;gap:4px}
.mhi-dot{width:24px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;position:relative}
.mhi-dot::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:5px;background:rgba(255,255,255,.5);transition:width .3s,margin .3s,background .3s}
.mhi-dot.is-active::after{width:24px;margin-left:-12px;background:#fff}
.mhi-slider button:focus-visible{outline:3px solid #ffd166;outline-offset:2px}
@media (max-width:768px){
  .mhi-slide{min-height:0;padding:44px 0 80px}
  .mhi-slide-img{object-position:75% center}
  .mhi-focus-center .mhi-slide-img{object-position:center}
  .mhi-focus-left .mhi-slide-img{object-position:25% center}
  .mhi-slide-shade{background:linear-gradient(180deg,rgba(34,48,79,.9) 0%,rgba(34,48,79,.82) 100%)}
  .mhi-slider-btn.mhi-prev,.mhi-slider-btn.mhi-next{display:none}
  .mhi-slider .mhi-hero-buttons a{flex:1 1 100%;justify-content:center;text-align:center}
}
@media (prefers-reduced-motion:reduce){.mhi-slide,.mhi-slide.is-active,.mhi-dot::after{transition:none}}

/* ---------- Booking notice ---------- */
.mhi-notice{display:flex;gap:14px;align-items:flex-start;background:var(--mhi-cm-warn);border:1px solid var(--mhi-cm-warn-line);border-left:5px solid #e0a100;border-radius:12px;padding:16px 18px;margin:18px 0;color:var(--mhi-cm-ink);text-align:left}
.mhi-notice-icon{font-size:26px;line-height:1}
.mhi-notice p{margin:0 0 6px}
.mhi-notice-main{font-size:17px}
.mhi-notice-sub{color:#7a4b00}
.mhi-notice-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px!important}

/* ---------- Product catalogue ---------- */
.mhi-catalog{margin:10px 0}
.mhi-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.mhi-filter button{border:1px solid var(--mhi-cm-green);background:#fff;color:var(--mhi-cm-green);border-radius:999px;padding:8px 16px;font:inherit;font-weight:600;cursor:pointer;min-height:40px}
.mhi-filter button.is-active,.mhi-filter button:hover{background:var(--mhi-cm-green);color:#fff}
.mhi-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.mhi-product{display:flex;flex-direction:column;background:#fff;border:1px solid var(--mhi-cm-line);border-radius:14px;overflow:hidden;transition:box-shadow .2s,transform .2s}
.mhi-product:hover{box-shadow:0 10px 24px rgba(16,24,40,.08);transform:translateY(-2px)}
.mhi-product[hidden]{display:none}
.mhi-product-media{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;background:var(--mhi-cm-soft)}
.mhi-product-media img{width:100%;height:100%;object-fit:contain;padding:12px;box-sizing:border-box}
.mhi-product-ph{font-size:56px;opacity:.6}
.mhi-product-body{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px;flex:1}
.mhi-chip{align-self:flex-start;font-size:12px;font-weight:600;color:var(--mhi-cm-green);background:var(--mhi-cm-soft);border-radius:999px;padding:2px 10px}
.mhi-product-title{font-size:17px;line-height:1.35;margin:4px 0 0}
.mhi-product-title a{color:var(--mhi-cm-ink);text-decoration:none}
.mhi-product-title a:hover{color:var(--mhi-cm-green)}
.mhi-product-brand{margin:0;font-weight:600;color:var(--mhi-cm-green);font-size:14px}
.mhi-product-pack{margin:0;color:var(--mhi-cm-muted);font-size:14px}
.mhi-product-desc{margin:4px 0 8px;color:var(--mhi-cm-muted);font-size:14px;line-height:1.55}
.mhi-product-cta{margin-top:auto;display:block;text-align:center;background:var(--mhi-cm-wa);color:#fff!important;border-radius:10px;padding:10px 12px;font-weight:600;text-decoration:none;min-height:44px;box-sizing:border-box}
.mhi-product-cta:hover{filter:brightness(.95)}
.mhi-med-disclaimer{margin:20px 0 0;padding:12px 16px;border-radius:10px;background:#fdecec;border:1px solid #f3b8b8;color:#7a1f1f;font-size:14px;line-height:1.6}
.mhi-med-disclaimer a{color:inherit;font-weight:600}
.mhi-empty{padding:16px;background:var(--mhi-cm-soft);border-radius:10px}
.mhi-product-lead{font-size:18px;color:var(--mhi-cm-ink)}
.mhi-spec{border-collapse:collapse;margin:12px 0 18px;min-width:280px}
.mhi-spec th,.mhi-spec td{border:1px solid var(--mhi-cm-line);padding:8px 12px;text-align:left}
.mhi-spec th{background:var(--mhi-cm-soft);width:40%}

/* ---------- Conditions ---------- */
.mhi-cond-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;text-align:left}
.mhi-cond-card{background:#fff;border:1px solid var(--mhi-cm-line);border-top:4px solid var(--mhi-cm-green);border-radius:12px;padding:16px 18px}
.mhi-cond-card h3{font-size:18px;margin:0 0 8px;color:var(--mhi-cm-green-d);display:flex;align-items:center;gap:8px}
.mhi-cond-icon{font-size:22px}
.mhi-cond-card ul{margin:0;padding-left:18px;color:var(--mhi-cm-ink)}
.mhi-cond-card li{margin:2px 0;line-height:1.55}

/* Theme content styles add large paragraph gaps — keep our components tight. */
.mhi-product .mhi-product-body p{margin:0}
.mhi-product .mhi-product-body .mhi-product-desc{margin:4px 0 8px}
.mhi-notice .mhi-notice-body p{margin:0 0 6px}
.mhi-notice .mhi-notice-body p.mhi-notice-actions{margin:10px 0 0}
.mhi-consult-icon:not(:has(svg)){font-size:28px;line-height:1}

/* Mobile: keep slides inside the viewport and make the catalogue 2-up */
.mhi-slider-track{grid-template-columns:minmax(0,1fr)}
.mhi-slide,.mhi-slide-inner,.mhi-slider .mhi-hero-col{min-width:0;max-width:100%}
.mhi-slider .mhi-hero-bismillah-row{flex-wrap:wrap;row-gap:4px}
.mhi-slider .mhi-hero-badge{white-space:normal;max-width:100%}
@media (max-width:600px){
  .mhi-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .mhi-product-body{padding:10px 12px 12px}
  .mhi-product-title{font-size:15px}
  .mhi-product .mhi-product-body .mhi-product-desc{display:none}
  .mhi-product-cta{font-size:13px;padding:10px 6px}
}

/* Blog post footer: consultation CTA */
.mhi-post-cta{margin:36px 0 0;padding:18px 20px;border-radius:12px;background:var(--mhi-cm-soft);border:1px solid #cfe6da}
.mhi-post-cta p{margin:0 0 8px}
.mhi-post-cta p.mhi-notice-actions{margin:12px 0 0;display:flex;flex-wrap:wrap;gap:10px}

/* Map "কিভাবে আসবেন" line: keep icon + label on the same baseline as the text */
iframe + div > p > strong[style*="inline-flex"]{display:inline!important}
iframe + div > p > strong[style*="inline-flex"] svg{display:inline-block;vertical-align:-3px;margin-right:4px}
