/* Product Cards — grid */
.bm-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),720px));
  justify-content:center;
  gap:24px;
  margin:28px 0;
}

/* Card shell — light border, no black outline */
.bm-card{
  min-width:0;
  width:100%;
  background:var(--bm-card-bg);
  border:1px solid var(--bm-card-border);
  border-radius:var(--bm-radius);
  overflow:hidden;
  box-shadow:0 4px 18px rgba(0,0,0,.08);
}
.bm-card-inner{display:flex;flex-direction:column}

/* Narrow (sidebar, mobile): image on top, full width */
.bm-image-wrap{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:#e5e7eb;flex:0 0 auto}
.bm-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

/* Wide (main content / roomy columns): image left, content right.
   The bm-wide class is added by cards.js once it measures this card's
   own rendered width — more reliable across editors/browsers than a
   CSS container query. */
.bm-card.bm-wide .bm-card-inner{flex-direction:row;align-items:stretch}
.bm-card.bm-wide .bm-image-wrap{width:42%;flex:0 0 42%;aspect-ratio:auto;align-self:stretch}
.bm-card.bm-wide .bm-body{width:58%;flex:0 0 58%}

/* Badges on the image */
.bm-location-badge{
  position:absolute;top:14px;left:14px;
  display:inline-flex;align-items:center;gap:6px;
  background:#fff;color:var(--bm-text);
  padding:7px 14px;border-radius:999px;
  font-size:13px;font-weight:700;line-height:1;
  box-shadow:0 2px 8px rgba(0,0,0,.15);
}
.bm-location-badge svg{width:14px;height:14px;color:var(--bm-primary)}
.bm-location-badge.bm-urgency-badge{background:#e0263f;color:#fff}

.bm-badge-bottom{
  position:absolute;left:0;right:0;bottom:0;
  padding:32px 16px 14px;
  background:linear-gradient(to top, rgba(0,0,0,.6), rgba(0,0,0,0));
  display:flex;flex-direction:column;gap:4px;
}
.bm-badge-brand{display:none}
.bm-badge-stars{display:flex;align-items:center;gap:5px;color:#fbbf24}
.bm-badge-stars svg{width:14px;height:14px}
.bm-badge-rating{color:#fff;font-size:13px;font-weight:700;margin-left:2px}

/* Body */
.bm-body{padding:22px;box-sizing:border-box;overflow-wrap:break-word;word-break:break-word;display:flex;flex-direction:column}
.bm-title{margin:0 0 8px;color:var(--bm-text);font-size:22px;line-height:1.28;font-weight:800}
.bm-description{margin:0 0 14px;color:var(--bm-muted);font-size:14.5px;line-height:1.6}
.bm-reason{margin:0 0 14px;color:var(--bm-text);font-size:14.5px;line-height:1.6;font-weight:600}
.bm-disclaimer{margin:0 0 14px;color:var(--bm-muted);font-size:12px;line-height:1.4}

.bm-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.bm-meta span{display:inline-flex;align-items:center;gap:6px;color:var(--bm-text);font-size:14.5px}
.bm-meta svg{width:16px;height:16px;color:var(--bm-muted);flex:0 0 auto}
.bm-meta-sep{color:var(--bm-card-border)}
.bm-price{color:#e0263f}
.bm-old-price{margin-left:6px;color:var(--bm-muted);font-weight:400}

.bm-bullets{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:11px}
.bm-bullets li{display:flex;align-items:center;gap:10px;color:var(--bm-text);font-size:14.5px;line-height:1.3}
.bm-bullet-icon{width:18px;height:18px;flex:0 0 auto;color:var(--bm-primary)}
.bm-bullet-icon svg{width:18px;height:18px}

/* Actions — Book Now full width on top, View Tour + WhatsApp paired below */
.bm-actions{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:6px}
.bm-actions-row{display:flex;gap:10px}
.bm-button-primary,.bm-button-outline,.bm-button-whatsapp{
  display:flex;align-items:center;justify-content:center;gap:7px;
  width:100%;min-height:44px;padding:9px 16px;
  border-radius:999px;box-sizing:border-box;
  text-decoration:none!important;font-weight:700;font-size:14px;
  white-space:nowrap;
  border:1.5px solid transparent;transition:.2s ease;
}
.bm-actions-row .bm-button-outline,.bm-actions-row .bm-button-whatsapp{flex:1 1 0;min-width:0}
.bm-button-primary svg,.bm-button-outline svg,.bm-button-whatsapp svg{width:15px;height:15px;flex:0 0 auto}

.bm-button-outline{border-color:var(--bm-primary);color:var(--bm-primary)!important;background:#fff}
.bm-button-outline:hover{background:var(--bm-primary);color:var(--bm-button-text)!important}

.bm-button-whatsapp{border-color:#25d366;color:#128c3a!important;background:#fff}
.bm-button-whatsapp:hover{background:#25d366;color:#fff!important}

.bm-button-primary{background:var(--bm-primary);color:var(--bm-button-text)!important}
.bm-button-primary:hover{background:var(--bm-primary-hover)}

@media(max-width:480px){
  .bm-body{padding:16px}
  .bm-title{font-size:19px}
}
