/* ---------------------------------------------------------
   GRID LAYOUT
--------------------------------------------------------- */
.mlh-grid-container{margin:0 auto}
.mlh-grid{display:grid;grid-template-columns:1fr;gap:28px;margin:30px 0;width:100%}
@media (min-width: 900px) {
.mlh-grid{grid-template-columns:1fr 1fr}
}

/* ---------------------------------------------------------
   PREMIUM CARD WRAPPER
--------------------------------------------------------- */
.mlh-card-premium{display:flex;gap:20px;padding:20px;border-radius:16px;background:#fffc;backdrop-filter:blur(12px);border:1px solid #e5e7eb;box-shadow:0 4px 12px #0000000f;transition:transform .2s ease,box-shadow .2s ease}
.mlh-card-premium:hover{transform:translateY(-4px);box-shadow:0 14px 32px #0000001f}
@media (max-width: 700px) {
.mlh-card-premium{flex-direction:column;text-align:center;align-items:center}
}

/* ---------------------------------------------------------
   FILTERBAR — compact single row
--------------------------------------------------------- */
.mlh-filterbar{display:flex;align-items:center;flex-wrap:nowrap;gap:0;margin:25px 0 35px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 8px #0000000a;padding:0 4px;overflow:hidden}
.mlh-filter-group{display:flex;align-items:center;gap:8px;padding:10px 12px;flex-shrink:0;white-space:nowrap}
.mlh-filter-group--reset{margin-left:auto;padding-right:10px}
.mlh-filter-divider{width:1px;background:#e5e7eb;align-self:stretch;margin:8px 0;flex-shrink:0}
.mlh-filter-label{font-size:12px;font-weight:600;color:#6b7280;white-space:nowrap}
.mlh-filter-price{display:flex;align-items:center;gap:4px}
.mlh-filter-price input{width:48px;padding:4px 6px;border-radius:7px;border:1px solid #e5e7eb;font-size:12px;color:#111;background:#f9fafb}
.mlh-filter-price input:focus{outline:none;border-color:#0071c2;background:#fff}
.mlh-filter-stars-row{display:flex;gap:3px}
.mlh-star-btn{padding:3px 6px;border-radius:6px;background:#f3f4f6;border:1px solid #e5e7eb;cursor:pointer;font-size:11px;line-height:1.4;transition:background .15s,border-color .15s}
.mlh-star-btn:hover{background:#e0f2fe;border-color:#0071c2}
.mlh-star-btn.active{background:#0071c2;color:#fff;border-color:#005a9e}
.mlh-provider-chips{display:flex;gap:3px}
.mlh-chip{padding:3px 8px;border-radius:6px;background:#f3f4f6;border:1px solid #e5e7eb;cursor:pointer;font-size:12px;white-space:nowrap;transition:background .15s,border-color .15s}
.mlh-chip:hover{background:#e0f2fe;border-color:#0071c2}
.mlh-chip.active{background:#0071c2;color:#fff;border-color:#005a9e}
.mlh-sort-select{padding:4px 6px;border-radius:7px;border:1px solid #e5e7eb;font-size:12px;background:#f9fafb;color:#111;cursor:pointer;max-width:130px}
.mlh-sort-select:focus{outline:none;border-color:#0071c2}
.mlh-filter-reset{padding:5px 12px;border-radius:7px;background:#fee2e2;color:#000;border:1px solid #fecaca;cursor:pointer;font-weight:600;font-size:12px;white-space:nowrap;transition:background .15s}
.mlh-filter-reset:hover{background:#dc2626;color:#fff;border-color:#dc2626}
@media (max-width: 900px) {
.mlh-filterbar{flex-direction:column;align-items:stretch;padding:8px;flex-wrap:wrap}
.mlh-filter-group{padding:10px 12px;white-space:normal}
.mlh-filter-group--reset{margin-left:0}
.mlh-filter-divider{width:auto;height:1px;margin:0 8px}
.mlh-filter-price input{width:60px}
.mlh-sort-select{max-width:100%}
}

/* ---------------------------------------------------------
   IMAGE (OTA-style, aspect-ratio)
--------------------------------------------------------- */
.mlh-card-image{flex:0 0 240px;aspect-ratio:4 / 3;border-radius:14px;overflow:hidden;position:relative;background:#f3f4f6}
.mlh-card-image img{width:100%;height:100%;object-fit:cover;display:block}
.mlh-card-stars{position:absolute;bottom:10px;left:10px;background:#000000a0;color:#f5a623;padding:4px 10px;border-radius:8px;font-size:13px;font-weight:600;backdrop-filter:blur(4px);letter-spacing:1px}
@media (max-width: 700px) {
.mlh-card-image{width:100%;flex:none}
}

/* ---------------------------------------------------------
   BADGES (OTA-style)
--------------------------------------------------------- */
.mlh-badges{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px;z-index:5}
.mlh-badge{display:inline-block;padding:4px 10px;font-size:12px;font-weight:600;border-radius:8px;color:#fff;backdrop-filter:blur(6px);box-shadow:0 2px 6px #00000026;letter-spacing:.2px}
.mlh-badge-top{background:linear-gradient(135deg,#2ecc71,#27ae60)}
.mlh-badge-value{background:linear-gradient(135deg,#f1c40f,#f39c12);color:#111}
.mlh-badge-cancel {
  background: linear-gradient(135deg,#1e40af,#1d4ed8);
  color: #fff!important;
}
@media (max-width: 700px) {
.mlh-badges{top:10px;left:10px;gap:4px}
.mlh-badge{font-size:11px;padding:3px 8px}
}

/* ---------------------------------------------------------
   BODY
--------------------------------------------------------- */
.mlh-card-body{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:14px}
@media (max-width: 700px) {
.mlh-card-body{align-items:center}
}

/* ---------------------------------------------------------
   HEADER
--------------------------------------------------------- */
.mlh-card-title{margin:0;font-size:20px;font-weight:600;color:#111}

/* ---------------------------------------------------------
   META (rating + distance)
--------------------------------------------------------- */
.mlh-card-meta{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#4b5563}
.mlh-rating-pill{background:#e0f2fe;color:#0369a1;padding:4px 10px;border-radius:999px;font-weight:600;font-size:12px}
.mlh-distance-pill{background:#f3f4f6;color:#374151;padding:4px 10px;border-radius:999px;font-size:12px}
@media (max-width: 700px) {
.mlh-card-meta{justify-content:center;gap:10px}
}

/* ---------------------------------------------------------
   AMENITIES
--------------------------------------------------------- */
.mlh-amenities{display:flex;gap:10px;font-size:13px;color:#444}
@media (max-width: 700px) {
.mlh-amenities{justify-content:center}
}

/* ---------------------------------------------------------
   PROVIDER LOGO
--------------------------------------------------------- */
.mlh-provider-logo{margin-top:4px;opacity:.9}
.mlh-provider-logo svg{height:20px}

/* ---------------------------------------------------------
   PRICE BOX
--------------------------------------------------------- */
.mlh-price-box{margin-top:6px}
.mlh-price-amount{font-size:22px;font-weight:700;color:#111827}
.mlh-price-currency{font-size:14px;color:#333}
.mlh-price-tag{font-size:12px;color:#6b7280;font-weight:400}
.mlh-price-nights{font-size:12px;color:#6b7280;margin-top:2px}
.mlh-price-pernight{font-size:13px;font-weight:600;color:#2a6f2a;background:#e8f7e8;display:inline-block;padding:2px 8px;border-radius:6px;margin-top:4px}

/* ---------------------------------------------------------
   CTA BUTTON
--------------------------------------------------------- */
.mlh-card-btn{margin-top:10px;padding:14px 20px;background:linear-gradient(135deg,#1a8be3 0%,#0067b8 100%);color:#fff!important;font-weight:500;letter-spacing:.25px;text-shadow:0 1px 2px #00000040;text-align:center;border-radius:12px;font-size:15px;text-decoration:none!important;display:block;width:auto;align-self:flex-start;padding-left:26px;padding-right:26px;box-shadow:0 6px 16px #0071c240;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.mlh-card-btn:hover{background:linear-gradient(135deg,#0067b8 0%,#005a9e 100%);transform:translateY(-2px);box-shadow:0 10px 24px #0071c259}
.mlh-map-btn{margin-top:6px;padding:8px 16px;background:transparent;color:#0071c2;border:1px solid #0071c2;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;width:100%;text-align:center;transition:background .15s,color .15s}
.mlh-map-btn:hover{background:#0071c2;color:#fff}

/* ---------------------------------------------------------
   FEATURED
--------------------------------------------------------- */
.mlh-featured-wrapper{display:flex;gap:24px;background:#fff;border-radius:18px;padding:24px;box-shadow:0 8px 28px #0000001f;max-width:1100px;margin:40px auto}
.mlh-featured-left{flex:1;max-width:50%}
.mlh-featured-left img{width:100%;height:auto;border-radius:14px;object-fit:cover}
.mlh-featured-right{flex:1;max-width:50%;display:flex;flex-direction:column}
.mlh-featured-title{font-size:26px;font-weight:700;margin:0 0 6px}
.mlh-featured-address{font-size:13px;color:#6b7280;margin-bottom:12px;display:flex;align-items:center;gap:4px}
.mlh-featured-address-icon{font-size:12px}
.mlh-featured-rating-stars{display:flex;gap:12px;margin-bottom:12px}
.mlh-featured-rating{background:#0a8754;color:#fff;padding:4px 10px;border-radius:10px;font-size:14px;font-weight:600}
.mlh-featured-stars{color:#f5b50a;font-size:16px}
.mlh-featured-price{font-size:24px;font-weight:700;margin-bottom:16px}
.mlh-price-currency{font-size:14px;margin-left:4px;opacity:.8}
.mlh-price-tag{display:block;font-size:12px;color:#333}
.mlh-featured-summary{font-size:15px;line-height:1.5;color:#444;margin-bottom:20px}


.mlh-featured-btn{margin-top:10px;padding:14px 20px;background:linear-gradient(135deg,#1a8be3 0%,#0067b8 100%);color:#fff!important;font-weight:500;letter-spacing:.25px;text-shadow:0 1px 2px #00000040;text-align:center;border-radius:12px;font-size:15px;text-decoration:none!important;display:block;width:auto;align-self:flex-start;padding-left:26px;padding-right:26px;box-shadow:0 6px 16px #0071c240;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.mlh-featured-btn:hover{background:linear-gradient(135deg,#0067b8 0%,#005a9e 100%);transform:translateY(-2px);box-shadow:0 10px 24px #0071c259}

.mlh-featured-imgwrap{width:100%;aspect-ratio:4 / 3;overflow:hidden;border-radius:14px;background:#f0f0f0}
.mlh-featured-imgwrap img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.mlh-featured-note{font-family:"Mate","Patrick Hand","Comic Neue","Caveat",sans-serif;font-size:18px;font-weight:400;color:#444;margin-bottom:16px;line-height:1.3;transform:rotate(0deg);opacity:.9}
@media (max-width: 768px) {
.mlh-featured-wrapper{flex-direction:column;padding:0;border-radius:0;box-shadow:none;max-width:100%}
.mlh-featured-left{max-width:100%;width:100%}
.mlh-featured-imgwrap{aspect-ratio:16 / 9;width:100%;border-radius:0}
.mlh-featured-right{padding:20px}
}
.mlh-featured-stars-overlay{position:absolute;bottom:12px;left:12px;background:#0000008c;color:#fff;padding:6px 12px;border-radius:10px;font-size:15px;font-weight:600;display:flex;gap:8px;align-items:center;backdrop-filter:blur(4px)}
.mlh-stars{color:#f5b50a}
@media (min-width: 769px) {
.mlh-featured-stars-overlay{left:auto;right:12px;bottom:12px}
}
.mlh-featured-imgwrap{position:relative}
.mlh-featured-top-pick{position:absolute;top:12px;left:12px;background:#f36;color:#fff;padding:6px 14px;font-size:14px;font-weight:700;border-radius:12px;letter-spacing:.5px;box-shadow:0 4px 12px #00000040;z-index:5}
.mlh-featured-nights,.mlh-featured-pernight{font-size:14px;color:#666;margin-top:4px}
.mlh-featured-priceblock{margin-bottom:16px}
.mlh-featured-price{font-size:20px;font-weight:600;margin-bottom:4px}
.mlh-featured-pernight{background:#e8f7e8;color:#2a6f2a;padding:4px 10px;border-radius:8px;font-size:14px;font-weight:600;display:inline-block;margin-top:6px}
.mlh-featured-freecancel{position:absolute;top:12px;right:12px;background:#e8f7e8;color:#2a6f2a;padding:6px 14px;font-size:14px;font-weight:700;border-radius:12px;letter-spacing:.3px;box-shadow:0 4px 12px #00000040;z-index:6}
.mlh-featured-provider-note{font-size:12px;color:#999;margin-top:12px;text-align:right}
.mlh-featured-badges{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px}
.mlh-badge{display:inline-block;padding:4px 10px;font-size:12px;font-weight:400;border-radius:6px;color:#000;margin-top:14px}
.mlh-badge-green{background:#2a6f2a}
.mlh-badge-blue{background:#1e6bd6}
.mlh-badge-gray{background:#777;color:#fff;}
.mlh-badge-expedia{background:#f5a623;color:#fff}
.mlh-badge-booking{background:#1e6bd6;color:#fff}
.mlh-badge-hotelscom{background:#d32f2f;color:#fff}
.mlh-badge-vrbo{background:#6f42c1;color:#fff}
.mlh-area-header{margin-bottom:30px}
.mlh-area-title{font-size:42px;font-weight:700;text-align:center;margin-bottom:20px}
.mlh-area-excerpt{font-size:20px;font-weight:500;text-align:center;max-width:760px;margin:0 auto 20px;color:#444}
.mlh-area-featured-block{display:flex;gap:40px;max-width:1200px;margin:60px auto}
.mlh-featured-left{flex:1;min-width:0}
.mlh-featured-right{flex:1;min-width:0;font-size:18px;line-height:1.65;color:#333}
@media (max-width: 900px) {
.mlh-area-featured-block{flex-direction:column;gap:30px}
}

.featured-hotel-wrapper {
  max-width: 1200px;
  margin: 2.5rem auto;
  padding: 2rem 2.5rem;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 6px 22px rgba(0,0,0,0.12);
  border: 1px solid #e9e9e9;
  position: relative;
}

.featured-hotel-wrapper::before {
  content: "Featured Hotel";
  position: absolute;
  top: -14px;
  left: 24px;
  background: #0057d9;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 6px;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

.featured-hotel-wrapper:hover {
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
  transform: translateY(-2px);
  transition: all .25s ease;
}


/* ---------------------------------------------------------
   LAYOUT — summary, intro, map, hotels
--------------------------------------------------------- */
.museum-summary{margin:40px auto}
.mlh-area-intro{margin:40px auto 60px;font-size:18px;line-height:1.7;color:#333}
.mlh-area-hotels{margin-top:60px}

/* ---------------------------------------------------------
   MAP
--------------------------------------------------------- */
.mlh-area-map{margin:40px auto 60px}
#mlh-hotel-map{height:460px;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px #0000001a}

/* ---------------------------------------------------------
   MAP POPUP
--------------------------------------------------------- */
.mlh-popup-card{width:260px;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.15);font-family:system-ui,sans-serif}
.mlh-popup-image img{width:100%;height:150px;object-fit:cover}
.mlh-popup-body{padding:12px 14px}
.mlh-popup-title{font-size:16px;font-weight:700;margin:0 0 6px}
.mlh-popup-meta{display:flex;gap:6px;margin-bottom:8px}
.mlh-rating{background:#0071c2;color:#fff;padding:2px 6px;border-radius:6px;font-size:13px;font-weight:600}
.mlh-popup-price strong{font-size:18px;color:#0071c2}
.mlh-provider-badge{display:inline-block;background:#eee;padding:4px 8px;border-radius:6px;font-size:12px;margin-top:6px;text-transform:capitalize}
.mlh-popup-body .mlh-card-btn{margin-top:12px}

/* ---------------------------------------------------------
   MAP MODAL (shortcode pages)
--------------------------------------------------------- */
.mlh-map-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center}
.mlh-map-modal[hidden]{display:none}
.mlh-map-modal__backdrop{position:absolute;inset:0;background:#000000b3;backdrop-filter:blur(3px)}
.mlh-map-modal__inner{position:relative;z-index:1;width:90vw;max-width:800px;height:70vh;border-radius:16px;overflow:hidden;box-shadow:0 24px 60px #00000040}
.mlh-map-modal__close{position:absolute;top:12px;right:12px;z-index:10;background:#fff;border:none;border-radius:50%;width:36px;height:36px;font-size:16px;cursor:pointer;box-shadow:0 2px 8px #0000002a;display:flex;align-items:center;justify-content:center;transition:background .15s}
.mlh-map-modal__close:hover{background:#f3f4f6}
#mlh-map-modal-map{width:100%;height:100%}
