.rh4-box{border:1px solid #e5e5e5;padding:16px;margin:16px 0;border-radius:8px;background:#fff}
.rh4-form{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;align-items:end}
.rh4-form label{display:block;font-size:14px}
.rh4-form input{width:100%;padding:8px}
.rh4-btn{display:inline-block;padding:8px 12px;border:1px solid #333;border-radius:6px;background:transparent;cursor:pointer;text-decoration:none}
.rh4-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.rh4-card{border:1px solid #ddd;border-radius:8px;padding:12px}
.rh4-card-title{font-weight:600;margin-bottom:8px}
.rh4-card-sub{font-size:13px;opacity:.8;margin-bottom:8px}
.rh4-note{font-size:13px;opacity:.8}

/* Results search summary bar */
.rh4-searchbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 18px;font-size:14px;opacity:.88;flex-wrap:wrap}
.rh4-searchbar-left{min-width:240px}
.rh4-edit-search{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-weight:600;border:1px solid rgba(0,0,0,.12);padding:6px 10px;border-radius:10px}
.rh4-edit-search:hover{filter:brightness(.98)}
.rh4-error{color:#b00020}

..rh4-suggest{position:relative}
.rh4-suggest-list{position:absolute;left:0;right:0;z-index:9999;background:#fff;border:1px solid #ddd;border-radius:12px;margin-top:6px;max-height:340px;overflow:auto;box-shadow:0 10px 25px rgba(0,0,0,.08)}
.rh4-suggest-section{padding:10px 12px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#6b7280;background:#f9fafb;border-bottom:1px solid #f0f2f5}
.rh4-suggest-item{padding:10px 12px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px}
.rh4-suggest-item:hover,.rh4-suggest-item:focus{background:#f5f5f5;outline:none}
.rh4-suggest-name{font-weight:600;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rh4-suggest-badge{font-size:11px;color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;padding:2px 8px;border-radius:999px;flex:0 0 auto}

@media (max-width: 640px){
  .rh4-suggest-list{max-height:55vh}
  .rh4-suggest-item{padding:12px 12px}
}

.rh4-pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.rh4-page{padding:8px 10px;border:1px solid #ddd;border-radius:8px;text-decoration:none}
.rh4-page.is-active{font-weight:bold}

.rh4-card-img{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:8px;margin-bottom:10px;background:#f5f5f5}
.rh4-card-img img{width:100%;height:100%;object-fit:cover;display:block}

/* Legacy grid gallery styles removed – RH4 hotel uses a dedicated, stable gallery layout */
.rh4-gallery{display:block;margin:12px 0}


/* ===== RH4 Search Form (Avada-friendly, premium) ===== */
.rh4-form{grid-template-columns:2fr 1fr 1fr .7fr .7fr auto}
.rh4-form input{border:1px solid #d6d6d6;border-radius:10px;padding:10px 12px;line-height:1.2}
.rh4-form input:focus{outline:none;box-shadow:0 0 0 3px rgba(0,0,0,.06)}
.rh4-form label{font-weight:600}
.rh4-form .rh4-select{width:100%;border:1px solid #d6d6d6;border-radius:10px;padding:10px 12px;line-height:1.2;background:#fff}
.rh4-children-ages{grid-column:1/-1;padding:10px 12px;border:1px dashed #ddd;border-radius:12px;background:#fafafa}
.rh4-children-ages-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}
.rh4-child-age{display:flex;flex-direction:column;gap:6px}
.rh4-btn-primary{padding:10px 16px;border-radius:10px;border:1px solid #1f5f2a;background:#1f5f2a;color:#fff;font-weight:700;cursor:pointer}
.rh4-btn-primary:hover{filter:brightness(.95)}
@media (max-width: 900px){
  .rh4-form{grid-template-columns:1fr 1fr;gap:10px}
  .rh4-btn-primary{width:100%}
  .rh4-children-ages-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 520px){
  .rh4-form{grid-template-columns:1fr}
  .rh4-children-ages-grid{grid-template-columns:1fr}
}


/* ===== RH4 Results (premium + filters) ===== */
.rh4-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}
.rh4-filters{position:sticky;top:24px;border:1px solid #e7e7e7;border-radius:14px;padding:14px;background:#fff}
.rh4-filters-title{font-weight:800;font-size:16px;margin:2px 0 10px}
.rh4-filter{padding:10px 0;border-top:1px solid #f0f0f0}
.rh4-filter:first-of-type{border-top:none}
.rh4-filter-label{display:block;font-weight:700;font-size:13px;margin-bottom:8px}
.rh4-select,.rh4-input{width:100%;border:1px solid #d6d6d6;border-radius:10px;padding:10px 12px;line-height:1.2}
.rh4-range-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rh4-checks{display:grid;gap:8px}
.rh4-check{display:flex;gap:8px;align-items:center;font-size:13px}
.rh4-check input{transform:translateY(1px)}
.rh4-muted{font-size:12px;opacity:.7;margin-top:6px}
.rh4-btn-secondary{border:1px solid #d6d6d6;border-radius:10px;padding:10px 12px;width:100%;text-align:center}

.rh4-main{min-width:0}
.rh4-summary{display:flex;align-items:center;justify-content:space-between;margin:4px 0 12px}
.rh4-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;align-items:stretch}

.rh4-hcard{border:1px solid #e7e7e7;border-radius:20px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-height:100%;box-shadow:0 10px 24px rgba(15,23,42,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.rh4-hcard:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(15,23,42,.10);border-color:#dce5dd}
.rh4-hcard-img{display:block;aspect-ratio:16/10;background:#eef2f0;overflow:hidden;position:relative}
.rh4-hcard-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.rh4-hcard:hover .rh4-hcard-img img{transform:scale(1.02)}
.rh4-hcard-body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:12px;flex:1 1 auto}
.rh4-hcard-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.rh4-hcard-titlewrap{min-width:0;flex:1 1 auto}

/* ===== Skeleton loading cards (Results) ===== */
.rh4-skel{position:relative}
.rh4-skel, .rh4-skel *{color:transparent!important;text-shadow:none!important;}
.rh4-skel{font-size:0!important;line-height:0!important;}
.rh4-skel .rh4-skel-line,.rh4-skel .rh4-skel-pill,.rh4-skel .rh4-btn,.rh4-skel .rh4-hcard-img{font-size:initial!important;line-height:normal!important;}

.rh4-skel-box{background:#f1f1f1;position:relative}
.rh4-skel-line{height:12px;border-radius:8px;background:#f1f1f1;position:relative;overflow:hidden}
.rh4-skel-line-lg{height:16px;width:86%}
.rh4-skel-line-md{height:14px;width:55%}
.rh4-skel-badges{display:flex;gap:6px;flex-wrap:wrap}
.rh4-skel-pill{height:22px;width:64px;border-radius:999px;background:#f1f1f1;position:relative;overflow:hidden}
.rh4-btn-disabled{opacity:.7;pointer-events:none}

/* Shimmer effect */
.rh4-skel-box:before,
.rh4-skel-line:before,
.rh4-skel-pill:before{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-100%);
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.55) 50%, rgba(255,255,255,0) 100%);
  animation:rh4Shimmer 1.2s infinite;
}

@keyframes rh4Shimmer{ 100% { transform:translateX(100%); } }
.rh4-hname{font-size:17px;line-height:1.28;margin:0;font-weight:800;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rh4-hname a{text-decoration:none;color:#0f172a}
.rh4-hmeta{display:flex;gap:8px;flex-wrap:wrap;font-size:12.5px;opacity:.88;color:#475569}
.rh4-hmeta--location{margin-top:6px}
.rh4-hmeta--stars{flex:0 0 auto;justify-content:flex-end}
.rh4-loc{display:inline-flex;align-items:center;gap:6px;min-width:0}
.rh4-loc:before{content:"•";opacity:.45}
.rh4-badges{display:flex;gap:6px;flex-wrap:wrap;min-height:28px}
.rh4-badge{font-size:11.5px;border:1px solid #e2e8f0;border-radius:999px;padding:5px 9px;background:#f8fafc;color:#334155;font-weight:700;line-height:1}
.rh4-badge-meal{border-color:#cfe8d3;background:#f2fbf4;color:#1f5130}
.rh4-badge--value{border-color:#ffe6a3;background:#fff8df}
.rh4-badge--soft{border-color:#d9e7df;background:#f4f8f5;color:#355c43}
.rh4-price{display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding:12px 14px;border:1px solid #edf1ee;border-radius:16px;background:linear-gradient(180deg,#fbfcfb 0%,#f6f9f7 100%)}
.rh4-price-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#64748b}
.rh4-price-val{font-weight:900;font-size:28px;line-height:1;color:#0f172a}
.rh4-price-sub{font-size:12px;opacity:.78;color:#475569}
.rh4-price-na{opacity:.75}
.rh4-cta{margin-top:auto;padding-top:2px}
.rh4-hcard .rh4-btn{display:inline-flex;align-items:center;justify-content:center;width:100%}
.rh4-media-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:18px;background:linear-gradient(180deg,#dfe9e2 0%,#c8d8cb 48%,#aabfae 100%);color:#14301f}
.rh4-media-placeholder__eyebrow{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.72);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#1f5130}
.rh4-media-placeholder__title{margin-top:auto;font-size:20px;line-height:1.05;font-weight:900;color:#12311f}
.rh4-media-placeholder__sub{margin-top:6px;font-size:12px;line-height:1.35;max-width:220px;color:rgba(18,49,31,.82)}
.rh4-hcard--partial .rh4-price{background:linear-gradient(180deg,#f8faf9 0%,#f2f6f3 100%)}

@media (max-width: 980px){
  .rh4-layout{grid-template-columns:1fr}
  .rh4-filters{position:relative;top:auto}
}


/* Load more */
.rh4-loadmore-wrap{display:flex;justify-content:center;margin:18px 0 6px;}
.rh4-alert{border:1px solid #e7e7e7;border-radius:14px;padding:12px 12px;background:#fff}
.rh4-alert-warning{border-color:#f0d28a;background:#fff9e8}

/* ===== HOTEL PAGE ===== */
.rh4-hotel .rh4-title{ margin:0; font-size:28px; line-height:1.15; }
.rh4-hdr{ display:flex; gap:16px; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; margin-bottom:14px; }
.rh4-sub{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:6px; }
.rh4-stars{ letter-spacing:1px; font-size:14px; }

.rh4-pricebox{ border:1px solid #e6e6e6; border-radius:10px; padding:10px 12px; background:#fff; }
.rh4-pricebox-label{ font-size:12px; opacity:.75; margin-bottom:6px; }
.rh4-pricebox-meta{ font-size:13px; display:flex; gap:8px; flex-wrap:wrap; }

.rh4-gallery2{ margin:14px 0 16px; }
.rh4-gallery-main{ border-radius:12px; overflow:hidden; border:1px solid #eee; background:#f3f4f6; aspect-ratio:16/10; position:relative; }
.rh4-gallery-main img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.rh4-gbtn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:38px;height:38px;border-radius:999px;border:1px solid rgba(0,0,0,.18);background:rgba(255,255,255,.9);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.rh4-gbtn:hover{filter:brightness(.98)}
.rh4-gbtn:active{transform:translateY(-50%) scale(.98)}
.rh4-gbtn-prev{left:10px}
.rh4-gbtn-next{right:10px}
.rh4-gallery-thumbs{scrollbar-width:thin}
.rh4-thumb{border:0;background:transparent;padding:0;border-radius:10px;overflow:hidden;cursor:pointer;flex:0 0 auto;width:90px;height:60px;border:2px solid transparent}
.rh4-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rh4-thumb.is-active{border-color:#1f5f2a}
@media(max-width: 600px){
  .rh4-thumb{width:72px;height:52px}
  .rh4-gbtn{width:34px;height:34px;font-size:20px}
}
.rh4-gallery-thumbs{ display:flex; gap:8px; margin-top:10px; overflow-x:auto; padding-bottom:2px; -webkit-overflow-scrolling:touch; }
.rh4-thumb{ border:1px solid #eee; border-radius:10px; padding:0; overflow:hidden; background:#fff; cursor:pointer;  width:72px; flex:0 0 auto; }
.rh4-thumb img{ width:100%; height:56px; object-fit:cover; display:block; }
.rh4-thumb.is-active{ border-color:#111; }
.rh4-note{ font-size:12px; opacity:.8; margin-top:8px; }

.rh4-offers{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; margin-top:12px; }
.rh4-offer{ border:1px solid #eee; border-radius:12px; padding:12px; background:#fff; }
.rh4-offer-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.rh4-offer-title{ font-weight:700; font-size:14px; }
.rh4-offer-price{ font-weight:800; font-size:16px; white-space:nowrap; }
.rh4-offer-meta{ margin-top:8px; display:flex; gap:8px; flex-wrap:wrap; }
.rh4-pill{ display:inline-flex; align-items:center; border:1px solid #eee; border-radius:999px; padding:4px 8px; font-size:12px; }
.rh4-pill-ok{ border-color:#cfead6; background:#f2fbf4; }
.rh4-pill--best{ border-color:#bae6fd; background:#e0f2fe; color:#075985; }
.rh4-offer-actions{ margin-top:10px; display:flex; gap:8px; flex-wrap:wrap; }

/* Hotel offers toolbar (B2C-like filters) */
.rh4-sub{ margin:0 0 10px; font-size:13px; color:#666; }
.rh4-offers-toolbar{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:10px 0 6px; border-top:1px solid #eee; border-bottom:1px solid #eee; margin:10px 0 14px; }
.rh4-dd{ position:relative; }
.rh4-dd-btn{ background:#fff; border:1px solid #ddd; border-radius:999px; padding:8px 12px; font-size:14px; cursor:pointer; }
.rh4-dd-menu{ display:none; position:absolute; top:42px; left:0; z-index:50; min-width:240px; background:#fff; border:1px solid #ddd; border-radius:12px; padding:10px; box-shadow:0 10px 30px rgba(0,0,0,.08); }
.rh4-dd.open .rh4-dd-menu{ display:block; }
.rh4-dd-menu label{ display:flex; gap:8px; align-items:center; padding:6px 6px; border-radius:8px; cursor:pointer; }
.rh4-dd-menu label:hover{ background:#f6f6f6; }
.rh4-dd-menu input{ margin:0; }
.rh4-link{ background:transparent; border:0; color:#016699; cursor:pointer; padding:6px 8px; }
.rh4-count{ margin-left:auto; color:#666; font-size:13px; }

.rh4-section{ margin-top:16px; }
/* Avada/theme often overrides bare H2/H3 sizes. Force RH4 typography inside the plugin box. */
.rh4-h2{ margin:0 0 6px; font-size:18px; font-weight:900; }
.rh4-box h2.rh4-h2{ font-size:26px !important; line-height:1.15 !important; margin:0 0 8px !important; }
.rh4-box h3.rh4-h2{ font-size:22px !important; line-height:1.2 !important; margin:0 0 8px !important; }
.rh4-prose{ font-size:14px; line-height:1.55; }
.rh4-amenities2{ display:flex; flex-direction:column; gap:10px; }
.rh4-acc{ border:1px solid #eee; border-radius:12px; padding:10px 12px; background:#fff; }
.rh4-acc summary{ cursor:pointer; font-weight:700; }
.rh4-acc ul{ margin:10px 0 0 18px; }

.rh4-map{ width:100%; height:320px; border:1px solid #eee; border-radius:12px; overflow:hidden; }

.rh4-mapwrap{ position:relative; }
.rh4-mappin{
  position:absolute;
  left:14px;
  bottom:14px;
  display:flex;
  gap:10px;
  align-items:center;
  text-decoration:none;
  background:rgba(255,255,255,.95);
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  padding:10px 12px;
  box-shadow:0 10px 25px rgba(0,0,0,.12);
  max-width:calc(100% - 28px);
}
.rh4-mappin-ico{ font-size:18px; }
.rh4-mappin-thumb{ width:44px; height:44px; border-radius:10px; object-fit:cover; border:1px solid rgba(0,0,0,.08); }
.rh4-mappin-text{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.rh4-mappin-title{ font-weight:800; color:#111; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rh4-mappin-stars{ color:#f5a623; font-size:12px; line-height:1; }
.rh4-stars{ color:#f5a623; }

@media (max-width: 860px){
  .rh4-gallery-main img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
  .rh4-gallery-thumbs{ display:flex; gap:8px; margin-top:10px; overflow-x:auto; padding-bottom:2px; -webkit-overflow-scrolling:touch; }
  .rh4-offers{ grid-template-columns:1fr; }
}

/* ===== RH4 Hotel: amenities/services ===== */
.rh4-amenities-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
  margin-top:12px;
}
.rh4-amenity-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  padding:12px;
}
.rh4-amenity-title{
  font-weight:700;
  margin-bottom:10px;
}
.rh4-amenity-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.rh4-amenity-item{ display:flex; gap:10px; align-items:flex-start; }
.rh4-amenity-ico{ width:18px; flex:0 0 18px; line-height:1.2; }
.rh4-amenity-text{ font-size:13px; color:#222; line-height:1.35; }

/* Related hotels */
.rh4-related-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:14px;
  margin-top:10px;
}
.rh4-related-card{
  display:flex;
  gap:12px;
  align-items:center;
  text-decoration:none;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:10px;
}
.rh4-related-thumb{ width:72px; height:72px; border-radius:12px; object-fit:cover; border:1px solid rgba(0,0,0,.08); }
.rh4-related-meta{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.rh4-related-name{ font-weight:800; color:#111; line-height:1.2; }
.rh4-related-price{ color:#016699; font-weight:700; font-size:13px; }

/* =============================
   RH4 HOTEL PAGE v0.7.0
   Professional structure
============================= */

.rh4-hotel-top{
  display:grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap:16px;
  align-items:start;
}
/* IMPORTANT: prevent CSS grid overflow (thumb row has large min-content width)
   so the gallery never becomes wider than the page/container. */
.rh4-hotel-top > *{min-width:0;}
.rh4-hotel-top-left{min-width:0;}
@media (max-width: 980px){
  .rh4-hotel-top{ grid-template-columns: 1fr; }
}

.rh4-gallery{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  overflow:hidden;
  max-width:100%;
  min-width:0;
}
.rh4-gallery-main{ width:100%; border-radius:12px; overflow:hidden; border:1px solid #eee; background:#f3f4f6; aspect-ratio:16/10; }
.rh4-gallery-main img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.rh4-gallery-thumbs{ display:flex; gap:8px; margin-top:10px; overflow-x:auto; padding-bottom:2px; -webkit-overflow-scrolling:touch; max-width:100%; }
.rh4-thumb{
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  border-radius:10px;
  padding:0;
  width:74px;
  height:56px;
  flex:0 0 auto;
  overflow:hidden;
  cursor:pointer;
}
.rh4-thumb img{ width:100%; height:56px; object-fit:cover; display:block; }
.rh4-thumb.is-active{ outline:2px solid #016699; outline-offset:2px; }

.rh4-hotel-top-right{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  padding:14px;
  position:sticky;
  top:18px;
}
@media (max-width: 980px){
  .rh4-hotel-top-right{ position:static; }
}

.rh4-hotel-titlewrap{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.rh4-hotel-titlewrap .rh4-title{ margin:0; font-size:22px; line-height:1.15; }
.rh4-hotel-titlewrap .rh4-stars{ font-weight:800; color:#f2b01e; white-space:nowrap; }

.rh4-hotel-location{ margin-top:10px; }
.rh4-locline{ color:#333; font-weight:700; }
.rh4-addr{ color:#444; margin-top:4px; font-size:13px; }

.rh4-hotel-shortdesc{ margin-top:10px; color:#222; font-size:14px; line-height:1.45; }

.rh4-highlights{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.rh4-hi{ display:inline-flex; align-items:center; gap:6px; border:1px solid rgba(0,0,0,.08); border-radius:999px; padding:6px 10px; background:#fafafa; }
.rh4-hi-ico{ line-height:1; }
.rh4-hi-txt{ font-size:13px; font-weight:700; color:#222; }

.rh4-searchbox{ margin-top:12px; border-top:1px solid rgba(0,0,0,.06); padding-top:12px; }
.rh4-searchbox-label{ font-weight:800; color:#111; font-size:13px; }
.rh4-searchbox-meta{ margin-top:6px; display:flex; flex-wrap:wrap; gap:6px; color:#444; font-size:13px; }

.rh4-rooms .rh4-sub{ margin:6px 0 12px 0; color:#444; }

.rh4-room{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:16px;
  box-shadow:0 10px 30px rgba(16,24,40,.06);
  overflow:hidden;
  margin-bottom:14px;

  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  overflow:hidden;
  margin-top:12px;
}
.rh4-room-hdr{
  padding:10px 12px;
  border-bottom:1px solid rgba(0,0,0,.06);
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.rh4-room-thumb{
  width:96px;
  height:64px;
  border-radius:14px;
  overflow:hidden;
  flex:0 0 auto;
  border:1px solid rgba(0,0,0,.08);
  background:#f6f6f6;
}
.rh4-room-thumb img{ width:100%; height:100%; object-fit:cover; display:block; cursor:pointer; }

/* Simple lightbox for room thumbnails */
.rh4-lb{ position:fixed; inset:0; background:rgba(0,0,0,.65); display:none; align-items:center; justify-content:center; z-index:999999; padding:16px; }
.rh4-lb.is-open{ display:flex; }
.rh4-lb-inner{ max-width:min(980px, 96vw); width:100%; }
.rh4-lb-card{ background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,.3); }
.rh4-lb-img{ width:100%; height:auto; display:block; }
.rh4-lb-cap{ padding:10px 12px; font-weight:800; color:#111; }
.rh4-lb-close{ position:fixed; top:14px; right:14px; width:40px; height:40px; border-radius:999px; border:0; background:rgba(255,255,255,.9); cursor:pointer; font-size:22px; line-height:40px; text-align:center; }
.rh4-room-titlewrap{ flex:1 1 auto; min-width:0; }
.rh4-room-title{ margin:0; font-size:16px; font-weight:900; color:#111; line-height:1.2; }
.rh4-room-meta{ font-weight:600; color:#444; font-size:13px; }
.rh4-room-desc{ margin-top:4px; color:#444; font-size:13px; line-height:1.35; }
.rh4-room-teaser{ margin-top:6px; color:#2a2a2a; font-size:13px; line-height:1.35; }
.rh4-room-features{ margin-top:8px; display:flex; flex-wrap:wrap; gap:8px; }
.rh4-room-feature{ display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; background:rgba(0,0,0,.04); border:1px solid rgba(0,0,0,.06); font-size:12px; font-weight:700; color:#333; }
.rh4-ico{ width:16px; height:16px; fill:currentColor; opacity:.85; }
.rh4-room-feature-t{ white-space:nowrap; }
.rh4-tip{ display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; margin-left:6px; border-radius:999px; border:1px solid rgba(0,0,0,.15); background:#fff; color:#444; font-size:12px; font-weight:900; cursor:help; }
.rh4-room-body{ padding:8px 10px; }

.rh4-rate-row{
  display:grid;
  grid-template-columns: 1fr auto;
  gap:12px;
  padding:8px 10px;
  border:1px solid rgba(0,0,0,.06);
  border-radius:14px;
  margin:8px 0;
  align-items:center;
}
@media (max-width: 820px){
  .rh4-rate-row{ grid-template-columns: 1fr; }
}

.rh4-rate-title{ font-weight:900; color:#111; margin-bottom:6px; font-size:14px; }
.rh4-rate-meta{ display:flex; flex-wrap:wrap; gap:8px; }

/* Make the left meta area more compact */
.rh4-rate-meta{ align-items:center; }

.rh4-pill{
  display:inline-flex;
  align-items:center;
  padding:5px 9px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  font-size:12px;
  color:#222;
}
.rh4-cancel-refundable{ border-color: rgba(0,128,0,.18); background: rgba(0,128,0,.06); }
.rh4-cancel-nonref{ border-color: rgba(180,0,0,.18); background: rgba(180,0,0,.06); }
.rh4-cancel-unknown{ border-color: rgba(0,0,0,.10); background: #fff; }

.rh4-rate-side{ display:flex; flex-direction:row; gap:10px; align-items:center; justify-content:flex-end; }
@media (max-width: 820px){
  .rh4-rate-side{ align-items:flex-start; }
}
.rh4-rate-price{ font-weight:900; color:#016699; font-size:16px; }
.rh4-rate-price{ white-space:nowrap; }

.rh4-mapleaflet{
  width:100%;
  height:360px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.08);
}

/* Leaflet pin card */
.rh4-pin-wrap{ background:transparent !important; border:none !important; }
.rh4-pin{
  display:flex;
  gap:10px;
  align-items:center;
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  padding:8px 10px;
  box-shadow: 0 10px 28px rgba(0,0,0,.10);
  transform: translate(-50%, -100%);
}
.rh4-pin-img{ width:46px; height:46px; border-radius:10px; object-fit:cover; border:1px solid rgba(0,0,0,.10); }
.rh4-pin-title{ font-weight:900; font-size:13px; color:#111; max-width:220px; line-height:1.2; }

@media(max-width: 980px){ .rh4-gallery-main{ aspect-ratio:16/9; } }

/* ===== RH4 HOTEL: Gallery final override (wins over any legacy duplicates) ===== */
.rh4-hotel .rh4-gallery{display:block;margin:0}
.rh4-hotel .rh4-gallery-main{position:relative;border-radius:14px;overflow:hidden;border:1px solid #eee;background:#f3f4f6}
.rh4-hotel .rh4-gallery-main img{width:100%;height:100%;object-fit:cover;display:block}
.rh4-hotel .rh4-gallery-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.rh4-hotel .rh4-thumb{width:96px;height:64px;border-radius:12px;border:2px solid transparent;flex:0 0 auto;background:transparent;padding:0;overflow:hidden}
.rh4-hotel .rh4-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rh4-hotel .rh4-thumb.is-active{border-color:#1f5f2a}
.rh4-hotel .rh4-gbtn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:40px;height:40px;border-radius:999px;border:1px solid rgba(0,0,0,.18);background:rgba(255,255,255,.92);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;box-shadow:0 6px 16px rgba(0,0,0,.14)}
.rh4-hotel .rh4-gbtn-prev{left:12px}
.rh4-hotel .rh4-gbtn-next{right:12px}
.rh4-hotel .rh4-gbtn:hover{filter:brightness(.98)}
.rh4-hotel .rh4-gbtn:active{transform:translateY(-50%) scale(.98)}
@media(max-width: 600px){
  .rh4-hotel .rh4-thumb{width:78px;height:54px}
  .rh4-hotel .rh4-gbtn{width:34px;height:34px;font-size:20px}
}

.rh4-sub-note{ margin-top:4px; color:rgba(0,0,0,.60); font-size:12.5px; }



/* ===== Rooms & prices: meal-group layout ===== */
.rh4-hotel .rh4-meal-groups{display:flex;flex-direction:column;gap:12px;}
.rh4-hotel .rh4-meal-group{border:1px solid #eee;border-radius:12px;background:#fff;overflow:hidden;}
.rh4-hotel .rh4-meal-hdr{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #f0f0f0;background:#fafafa;}
.rh4-hotel .rh4-meal-why{
  margin:8px 12px 0 12px;
  padding:8px 10px;
  border:1px solid rgba(0,0,0,.06);
  background:#fff;
  border-radius:12px;
  color:#444;
  font-size:12px;
}
.rh4-hotel .rh4-meal-name{font-weight:700;}
.rh4-hotel .rh4-meal-desc{display:block;font-weight:500;font-size:12px;color:#64748b;margin-top:2px;}
.rh4-hotel .rh4-meal-min{margin-left:auto;font-weight:700;}
.rh4-hotel .rh4-link{background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;font-size:13px;opacity:.85;}
.rh4-hotel .rh4-link:hover{opacity:1;}
.rh4-hotel .rh4-meal-list{padding:6px 10px;display:flex;flex-direction:column;gap:8px;}
.rh4-hotel .rh4-offer-row{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid #f2f2f2;border-radius:12px;}
.rh4-hotel .rh4-offer-row.is-hidden{display:none;}
.rh4-hotel .rh4-offer-left{flex:1;min-width:0;}
.rh4-hotel .rh4-offer-title{font-weight:600;margin-bottom:6px;line-height:1.25;}
.rh4-hotel .rh4-offer-badges{display:flex;flex-wrap:wrap;gap:6px;}
.rh4-hotel .rh4-offer-note{margin-top:6px;font-size:12px;line-height:1.35;color:#64748b;}
.rh4-hotel .rh4-offer--best .rh4-offer-right{font-weight:700;}
.rh4-hotel .rh4-offer-right{display:flex;flex-direction:row;align-items:center;gap:10px;min-width:170px;justify-content:flex-end;}

.rh4-hotel .rh4-offer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}

.rh4-hotel .rh4-btn{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:10px;font-size:12px;line-height:1;border:1px solid rgba(0,0,0,.14);background:#fff;cursor:pointer;text-decoration:none;}
.rh4-hotel .rh4-btn--ghost{background:transparent;}
.rh4-hotel .rh4-btn--primary{background:#2e7d32;border-color:#2e7d32;color:#fff;}
.rh4-hotel .rh4-btn--primary:hover{filter:brightness(.95);}
.rh4-hotel .rh4-offer-price{font-weight:800;}
@media(max-width: 860px){
  .rh4-hotel .rh4-offer-row{flex-direction:column;}
  .rh4-hotel .rh4-offer-right{align-items:flex-start;min-width:0;}
  .rh4-hotel .rh4-meal-hdr{flex-wrap:wrap;}
  .rh4-hotel .rh4-meal-min{margin-left:0;}
}

/* Headings sizing inside RH4 box (avoid Avada overriding) */
.rh4-box .rh4-rooms .rh4-h2{font-size:32px;line-height:1.1;margin:16px 0 6px;}
.rh4-box .rh4-room-title{font-size:20px;line-height:1.2;margin:0;}

/* ---- Rate details modal ---- */
.rh4-modal{max-width:860px;margin:0 auto;background:#fff;border-radius:14px;box-shadow:0 18px 60px rgba(0,0,0,.2);padding:16px;}
.rh4-rateinfo-table{width:100%;border-collapse:collapse;font-size:13px;}
.rh4-rateinfo-table th{width:42%;text-align:left;padding:8px 10px;border-bottom:1px solid rgba(0,0,0,.08);color:#333;}
.rh4-rateinfo-table td{padding:8px 10px;border-bottom:1px solid rgba(0,0,0,.08);}
.rh4-rateinfo-raw{margin-top:10px;}
.rh4-rateinfo-raw pre{max-height:320px;overflow:auto;background:#f7f7f7;padding:10px;border-radius:10px;}


.rh4-room-thumb-link{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden;flex:0 0 auto}
.rh4-room-thumb-link:focus{outline:2px solid rgba(31,122,31,.35);outline-offset:2px}

/* ===== RH4 Premium density + tooltip (v0.9.0) ===== */
:root{
  --rh4-gap-1: 6px;
  --rh4-gap-2: 10px;
  --rh4-gap-3: 14px;
  --rh4-radius: 14px;
}

.rh4-hotel-wrap{ max-width: 1180px; }

.rh4-room{
  border-radius: var(--rh4-radius);
}

.rh4-room-head{
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: var(--rh4-gap-3);
  padding: 14px;
}

@media (max-width: 680px){
  .rh4-room-head{
    grid-template-columns: 86px 1fr;
    padding: 12px;
  }
}

.rh4-room-thumb a{ border-radius: 12px; overflow: hidden; display:block; }
.rh4-room-title{ margin: 0 0 4px 0; line-height: 1.2; }
.rh4-room-teaser{ margin-top: 6px; opacity: .9; }
.rh4-room-features{ margin-top: 8px; gap: 8px; }
.rh4-room-feature{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(0,0,0,.04);
  font-size: 12px;
  line-height: 1.1;
}
.rh4-room-feature .rh4-ico{ width: 16px; height: 16px; }

.rh4-meal-group{ border-radius: var(--rh4-radius); }
.rh4-meal-hdr{ padding: 12px 14px; }
.rh4-meal-name{ display:flex; align-items: baseline; gap: 10px; }
.rh4-meal-desc{ font-size: 12px; opacity: .8; margin-left: 0; }

.rh4-offer-row{
  padding: 10px 14px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
}

@media (max-width: 720px){
  .rh4-offer-row{
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .rh4-offer-right{
    display:flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }
}

.rh4-offer-left{ padding-right: 0; }
.rh4-offer-badges{ margin-top: 6px; gap: 8px; }

.rh4-offer-price{
  font-size: 18px;
  font-weight: 700;
  white-space: nowrap;
}

.rh4-offer-actions{ margin-top: 6px; }
@media (max-width: 720px){ .rh4-offer-actions{ margin-top: 0; } }

.rh4-pill{ padding: 4px 10px; font-size: 12px; border-radius: 999px; }
.rh4-pill--best{ font-weight: 700; }

/* Make Flex / Non-refundable visually distinct */
.rh4-cancel-nonref{ background: rgba(220, 38, 38, .10); border: 1px solid rgba(220,38,38,.25); }
.rh4-cancel-refundable{ background: rgba(22, 163, 74, .10); border: 1px solid rgba(22,163,74,.22); }
.rh4-cancel-unknown{ background: rgba(245, 158, 11, .12); border: 1px solid rgba(245,158,11,.25); }

/* Premium tooltip */
.rh4-tip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 18px;
  height: 18px;
  margin-left: 6px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.25);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  user-select: none;
  opacity: .85;
}
.rh4-tip:hover{ opacity: 1; }
.rh4-tooltip{
  position: fixed;
  z-index: 999999;
  max-width: 320px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #111;
  color: #fff;
  font-size: 12px;
  line-height: 1.35;
  white-space: pre-line;
  box-shadow: 0 12px 30px rgba(0,0,0,.22);
}
.rh4-tooltip--list{ max-width: 360px; white-space: normal; }
.rh4-tooltip-list{ margin:0; padding:0; list-style:none; column-gap:18px; }
.rh4-tooltip-list li{ margin:0 0 6px 0; padding-left:14px; position:relative; break-inside:avoid; }
.rh4-tooltip-list li:before{ content:"•"; position:absolute; left:0; top:0; opacity:.9; }
@media (min-width: 520px){
  .rh4-tooltip--list .rh4-tooltip-list{ columns:2; }
}
.rh4-tooltip .rh4-tooltip-close{
  margin-left: 10px;
  font-weight: 700;
  opacity: .8;
  cursor: pointer;
}
.rh4-tooltip .rh4-tooltip-close:hover{ opacity: 1; }


/* ===== RH4 Premium OTA Feeling (v0.9.1) ===== */
.rh4-hotel .rh4-room{ margin-bottom:12px; }
.rh4-hotel .rh4-room-hdr{ padding:10px 12px; gap:12px; }
.rh4-hotel .rh4-room-thumb{ width:92px; height:62px; border-radius:14px; }
.rh4-hotel .rh4-room-title{ font-size:18px; letter-spacing:-0.2px; }
.rh4-hotel .rh4-room-meta{ font-size:12px; }
.rh4-hotel .rh4-room-teaser{
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-top:4px;
  opacity:.9;
}
.rh4-hotel .rh4-room-features{ gap:6px; margin-top:6px; }
.rh4-hotel .rh4-room-feature{ padding:3px 8px; font-weight:800; font-size:11px; }
.rh4-hotel .rh4-room-more{ padding:3px 8px; font-size:11px; }

/* Meal group header hierarchy */
.rh4-hotel .rh4-meal-hdr{ padding:10px 12px; gap:10px; }
.rh4-hotel .rh4-meal-name{ font-weight:900; letter-spacing:.2px; text-transform:uppercase; }
.rh4-hotel .rh4-meal-desc{ margin-top:2px; font-size:12px; font-weight:600; color:#64748b; text-transform:none; }
.rh4-hotel .rh4-meal-min{ font-weight:900; font-size:13px; color:#111; white-space:nowrap; }

/* Show more button with arrow */
.rh4-hotel .rh4-meal-toggle{ text-decoration:none; font-weight:800; }
.rh4-hotel .rh4-meal-toggle:after{ content:"▾"; display:inline-block; margin-left:6px; transition:transform .15s ease; }
.rh4-hotel .rh4-meal-toggle.is-open:after{ transform:rotate(180deg); }

/* Offer rows compact + premium price block */
.rh4-hotel .rh4-meal-list{ padding:6px 10px 10px; gap:8px; }
.rh4-hotel .rh4-offer-row{ padding:8px 10px; border-color:#f0f0f0; }
.rh4-hotel .rh4-offer-row.rh4-offer--nonref{ background:rgba(220,38,38,.06); border-color:rgba(220,38,38,.12); }
.rh4-hotel .rh4-offer-row.rh4-offer--flex{ background:#fff; }

.rh4-hotel .rh4-offer-right{ min-width:220px; }
@media(max-width: 860px){ .rh4-hotel .rh4-offer-right{ min-width:0; } }

.rh4-hotel .rh4-offer-price{ display:flex; flex-direction:column; align-items:flex-end; gap:2px; line-height:1.05; }
@media(max-width: 720px){ .rh4-hotel .rh4-offer-price{ align-items:flex-start; } }

.rh4-hotel .rh4-price-num{ font-size:20px; font-weight:900; color:#111; letter-spacing:-0.2px; }
.rh4-hotel .rh4-price-cur{ font-size:12px; font-weight:900; color:#111; opacity:.75; margin-top:-2px; }
.rh4-hotel .rh4-price-sub{ font-size:12px; font-weight:700; color:#64748b; margin-top:2px; }

.rh4-hotel .rh4-tip{ align-self:flex-end; margin-top:4px; }

/* Badges */
.rh4-hotel .rh4-pill--best{ background:rgba(22,163,74,.10); border-color:rgba(22,163,74,.22); }
.rh4-hotel .rh4-pill--value{ background:#fff; border-color:rgba(22,163,74,.35); color:#1f5f2a; font-weight:900; }

/* Subtle reveal animation */
@keyframes rh4FadeSlide{ from{ opacity:0; transform:translateY(4px);} to{ opacity:1; transform:translateY(0);} }
.rh4-hotel .rh4-reveal{ animation: rh4FadeSlide .18s ease-out; }


/* =========================
   RH4 0.9.1.1 - Premium OTA compact polish
   - Price box in one row
   - Tighter meal header + badges
   ========================= */

.rh4-hotel .rh4-offer-right{ min-width:200px; }
@media(max-width: 860px){ .rh4-hotel .rh4-offer-right{ min-width:0; } }

.rh4-hotel .rh4-offer-price{
  display:flex;
  flex-direction:row;
  align-items:baseline;
  justify-content:flex-end;
  gap:6px;
  line-height:1.1;
}
@media(max-width: 720px){
  .rh4-hotel .rh4-offer-price{ justify-content:flex-start; flex-wrap:wrap; }
}

.rh4-hotel .rh4-price-num{ font-size:18px; }
.rh4-hotel .rh4-price-cur{
  font-size:12px;
  margin-top:0;
  opacity:.75;
}
.rh4-hotel .rh4-price-sub{
  font-size:11px;
  font-weight:700;
  color:#64748b;
  margin-top:0;
  margin-left:6px;
  white-space:nowrap;
  opacity:.8;
}

.rh4-hotel .rh4-tip{
  align-self:auto;
  margin-top:0;
  transform: translateY(1px);
}

/* Meal header density */
.rh4-meal-hdr{
  padding:8px 10px;
}
.rh4-hotel .rh4-meal-name{
  font-size:12px;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.rh4-hotel .rh4-meal-desc{
  font-size:11px;
  margin-top:1px;
}
.rh4-hotel .rh4-meal-min{
  font-size:12px;
  white-space:nowrap;
}
.rh4-hotel .rh4-link{
  font-size:12px;
  text-decoration:none;
  border:1px solid rgba(2,6,23,.10);
  padding:2px 8px;
  border-radius:999px;
  background:#fff;
}
.rh4-hotel .rh4-link:hover{ background:#f8fafc; opacity:1; }

/* Offer rows slightly tighter */
.rh4-hotel .rh4-meal-list{ padding:6px 10px; gap:6px; }
.rh4-hotel .rh4-offer-row{ padding:8px 10px; gap:10px; }
@media(max-width: 720px){
  .rh4-hotel .rh4-offer-row{ padding:10px 12px; }
}

/* Badges tighter */
.rh4-hotel .rh4-pill{ padding:3px 8px; font-size:11px; line-height:1.2; }

/* Room "+ još pogodnosti" link */
.rh4-hotel .rh4-room-more{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  border:1px dashed rgba(2,6,23,.18);
  background:#fff;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  user-select:none;
  opacity:.92;
}
.rh4-hotel .rh4-room-more:hover{ opacity:1; background:#f8fafc; }

/* Extra offers (when expanded) – keep visible but slightly muted to reduce noise */
.rh4-hotel .rh4-offer--extra{ opacity:.94; }
.rh4-hotel .rh4-offer--extra:hover{ opacity:1; }

/* ===== RH4 v0.9.4: Sticky mini summary (desktop only) ===== */
.rh4-sticky-summary{
  position: sticky;
  top: 88px;
  width: 100%;
  align-self: start;
  margin: 0;
  background: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 12px;
  padding: 12px 12px 10px;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
}
.rh4-sticky-summary .rh4-ss-title{ font-size:12px; font-weight:800; opacity:.8; margin:0 0 6px; }
.rh4-sticky-summary .rh4-ss-price{ display:flex; align-items:baseline; gap:6px; margin:0 0 4px; }
.rh4-sticky-summary .rh4-ss-price strong{ font-size:22px; letter-spacing:-0.02em; }
.rh4-sticky-summary .rh4-ss-price span{ font-size:12px; opacity:.85; font-weight:800; }
.rh4-sticky-summary .rh4-ss-sub{ font-size:11px; opacity:.75; margin:0 0 10px; }
.rh4-sticky-summary .rh4-ss-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:100%; height:34px; border-radius:10px;
  background:#1f7a3a; color:#fff; font-weight:800;
  border:0; cursor:pointer; text-decoration:none;
  transition: transform .12s ease, filter .12s ease;
}
.rh4-sticky-summary .rh4-ss-btn:hover{ filter:brightness(1.02); transform:translateY(-1px); }
@media (max-width: 1050px){
  .rh4-sticky-summary{ display:none; }
}

/* Meal toggle should read like an OTA control */
.rh4-hotel .rh4-meal-toggle{
  font-weight:800;
  border-color: rgba(2,6,23,.14);
}



/* =========================
   RH4 v0.9.3 – Premium OTA polish (B)
   ========================= */

/* Meal header: clearer hierarchy + subtle panel look */
.rh4-meal-group{ border-radius:14px; overflow:hidden; border:1px solid #efefef; }
.rh4-meal-hdr{
  background:linear-gradient(#fafafa,#f6f6f6);
  padding:10px 12px;
  border-bottom:1px solid #ededed;
}
.rh4-hotel .rh4-meal-name{ font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.rh4-hotel .rh4-meal-min{ font-weight:800; font-size:12px; }
.rh4-hotel .rh4-meal-min .rh4-money{ font-weight:900; }

/* Show more as ghost button */
.rh4-meal-toggle{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  font-weight:800;
  font-size:12px;
  text-decoration:none !important;
  opacity:.95;
}
.rh4-meal-toggle:hover{ opacity:1; }
.rh4-hotel .rh4-meal-toggle:after{ margin-left:2px; }

/* Offer row: premium hover + tighter */
.rh4-hotel .rh4-offer-row{
  border-color:#f0f0f0;
  transition:box-shadow .15s ease, border-color .15s ease, transform .15s ease;
}
.rh4-hotel .rh4-offer-row:hover{
  border-color:rgba(0,0,0,.10);
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}

/* Best option: subtle highlight */
.rh4-hotel .rh4-offer--best{
  background:rgba(46,125,50,.04);
}

/* Non-refundable: remove red box feeling; keep pill only */
.rh4-offer--nonref{
  background:#fff !important;
  border-color:#f0f0f0 !important;
}

/* Price: stronger, still compact */
.rh4-hotel .rh4-offer-right{ min-width:240px; }
.rh4-hotel .rh4-offer-price{ font-size:18px; letter-spacing:.01em; }
.rh4-hotel .rh4-offer-right .rh4-price-nights{ font-size:11px; opacity:.75; }

/* CTA: a bit bigger + premium hover */
.rh4-hotel .rh4-btn--primary{
  padding:8px 12px;
  border-radius:12px;
  transition:transform .12s ease, filter .12s ease, box-shadow .12s ease;
  box-shadow:0 2px 10px rgba(0,0,0,.06);
}
.rh4-hotel .rh4-btn--primary:hover{
  transform:translateY(-1px);
  filter:brightness(.96);
  box-shadow:0 6px 18px rgba(0,0,0,.10);
}

/* Badges a touch tighter */
.rh4-badge, .rh4-pill{ padding:2px 8px; border-radius:999px; }



/* ===== RH4 v0.9.5: Rooms section 2-col layout for sticky summary (fix float+sticky bugs) ===== */
.rh4-rooms-layout{
  display:grid;
  grid-template-columns: 1fr 280px;
  gap:16px;
  align-items:start;
}
@media (max-width: 1100px){
  .rh4-rooms-layout{ grid-template-columns: 1fr; }
  .rh4-sticky-summary{ position: static; top:auto; width:auto; margin:0 0 12px 0; }
}

/* Sticky summary (no float) */
.rh4-sticky-summary{
  float:none !important;
  width:auto !important;
  margin:0 !important;
}

/* ===== RH4 v0.9.5: tooltip two-column list for + još pogodnosti ===== */
.rh4-tipbox{
  column-count: 2;
  column-gap: 18px;
}
@media (max-width: 700px){
  .rh4-tipbox{ column-count: 1; }
}

/* ===== RH4 v0.9.5: room image strip (multi-photo feel) ===== */
.rh4-room-thumbstrip{
  display:flex;
  gap:6px;
  margin-top:6px;
}
.rh4-room-thumbstrip img{
  width:46px;
  height:46px;
  object-fit:cover;
  border-radius:10px;
  border:1px solid #eee;
}


/* RH4 0.9.6 - denser features row */
.rh4-room-features{ flex-wrap:wrap; gap:8px 10px; }

/* ===== RH4 v0.9.6.4: Room multi-image thumb strip ===== */
.rh4-room-thumb-multi { position: relative; }
.rh4-room-thumb-link { display:block; position: relative; border-radius: 14px; overflow:hidden; }
.rh4-room-thumb-link img { display:block; width:100%; height:auto; }
.rh4-room-thumb-count {
  position:absolute;
  right:10px;
  bottom:10px;
  background: rgba(0,0,0,.55);
  color:#fff;
  font-weight:600;
  font-size:12px;
  padding:4px 8px;
  border-radius: 999px;
  backdrop-filter: blur(4px);
}
.rh4-room-thumb-strip{
  display:flex;
  gap:6px;
  margin-top:8px;
  overflow:auto;
  padding-bottom:2px;
}
.rh4-room-thumb-strip a{ display:block; flex: 0 0 auto; border-radius: 10px; overflow:hidden; border:1px solid rgba(0,0,0,.08); }
.rh4-room-thumb-strip img{ display:block; height:46px; width:auto; }
@media (max-width: 640px){
  .rh4-room-thumb-strip img{ height:42px; }
}

/* =========================
   BOOKING PAGE (rh4-booking)
   ========================= */
.rh4-booking-wrap{ max-width: 1180px; margin: 0 auto; padding: 16px 12px 28px; }
.rh4-booking-grid{ display:block; }
.rh4-booking-main{ min-width: 0; }
.rh4-booking-aside,.rh4-booking-side{ margin-top: 16px; }

@media (min-width: 992px){
  .rh4-booking-grid{
    display:grid;
    grid-template-columns: 1fr 360px;
    gap: 18px;
    align-items:start;
  }
  .rh4-booking-aside,.rh4-booking-side{ margin-top: 0; position: sticky; top: 110px; }
}

.rh4-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  box-shadow: 0 6px 22px rgba(0,0,0,.06);
}
.rh4-card__head{ padding: 14px 16px 0; }
.rh4-card__body{ padding: 14px 16px 16px; }
.rh4-card__title{ font-size: 20px; font-weight: 800; margin: 0 0 6px; }
.rh4-muted{ color: rgba(0,0,0,.62); font-size: 13px; }

.rh4-form{
  margin-top: 10px;
}
.rh4-form-grid{ display:grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 768px){
  .rh4-form-grid{ grid-template-columns: 1fr 1fr; }
  .rh4-form-grid .rh4-field--full{ grid-column: 1 / -1; }
}
.rh4-field label{ display:block; font-size: 13px; font-weight: 700; margin: 0 0 6px; color: rgba(0,0,0,.72); }
.rh4-field input,
.rh4-field select,
.rh4-field textarea{
  width:100%;
  border:1px solid rgba(0,0,0,.18);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 15px;
  background:#fff;
}
.rh4-field textarea{ min-height: 92px; resize: vertical; }
.rh4-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top: 12px; align-items:center; }
.rh4-btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  background: #1e6b39;
  color:#fff;
  font-weight: 800;
  border-radius: 12px;
  padding: 10px 14px;
  cursor:pointer;
}
.rh4-btn-link{ display:inline-flex; align-items:center; gap:6px; font-weight:700; color:#1e6b39; text-decoration:none; }

.rh4-hotel-mini{ display:flex; gap:12px; }
.rh4-hotel-mini__img{ width: 92px; height: 72px; border-radius: 12px; overflow:hidden; background: rgba(0,0,0,.06); flex: 0 0 auto; }
.rh4-hotel-mini__img img{ width:100%; height:100%; object-fit:cover; display:block; }
.rh4-hotel-mini__name{ font-weight: 900; line-height: 1.25; }
.rh4-kv{ margin-top: 10px; display:grid; grid-template-columns: 1fr; gap: 8px; }
.rh4-kv__row{ display:flex; justify-content:space-between; gap:10px; font-size: 14px; }
.rh4-kv__key{ color: rgba(0,0,0,.62); }
.rh4-kv__val{ font-weight: 800; text-align:right; }
.rh4-divider{ height:1px; background: rgba(0,0,0,.08); margin: 12px 0; }

.rh4-booking-side img,
.rh4-booking-aside img{ max-width:100%; height:auto; border-radius: 14px; display:block; }


/* --- Results card fallback (avoid "loading forever" when some hotels miss images/prices) --- */
.rh4-hcard--nodata .rh4-hcard-img--placeholder{
  background: #f1f3f5;
  border-radius: 14px 14px 0 0;
  min-height: 140px;
}
.rh4-hcard--nodata .rh4-muted{
  margin-top: 6px;
  font-size: 13px;
  opacity: .85;
}


/* Results page polish */
.rh4-results-title{font-size:18px!important;line-height:1.15!important;margin:0 0 6px!important;}
.rh4-box h3.rh4-results-title{font-size:18px!important;line-height:1.15!important;margin:0 0 6px!important;}
.rh4-searchbar{margin:4px 0 14px;}
.rh4-hcard .rh4-btn-primary,
.rh4-hcard .rh4-btn-primary:visited{background:#1e6b39;color:#fff;border:1px solid #1e6b39;text-decoration:none;}
.rh4-hcard .rh4-btn-primary:hover,
.rh4-hcard .rh4-btn-primary:focus{background:#fff!important;color:#1e6b39!important;border-color:#1e6b39!important;text-decoration:none!important;}
.rh4-hcard .rh4-btn-primary:hover *,
.rh4-hcard .rh4-btn-primary:focus *{color:#1e6b39!important;}


/* ===== RH4 live polish 61.10 ===== */
.rh4-search-wrap.rh4-search-modern{max-width:1380px;}
.rh4-search-wrap.rh4-search-modern .rh4-title{margin-bottom:20px;}
.rh4-search-wrap.rh4-search-modern .rh4-search-form{max-width:none;width:100%;}
.rh4-search-wrap.rh4-search-modern .rh4-help{max-width:none;}
.rh4-search-wrap.rh4-search-modern .rh4-adv{margin-top:12px;}
.rh4-search-wrap.rh4-search-modern .rh4-adv-item{min-width:0;}

.rh4-layout{grid-template-columns:300px minmax(0,1fr);gap:22px;}
.rh4-input,.rh4-select{background:#fff;border:1px solid #d6d6d6;box-shadow:inset 0 1px 0 rgba(15,23,42,.02);}
#rh4-hotel-name.rh4-input{background:#fff;border:1px solid #d6d6d6;}
.rh4-results-title{margin-bottom:10px!important;}
@media (max-width: 980px){
  .rh4-layout{grid-template-columns:1fr;gap:16px;}
  .rh4-filters{padding:16px;}
}

.rh4-hotel-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:2px 0 18px;font-size:14px;color:#5b6b63;}
.rh4-hotel-breadcrumbs a{text-decoration:none;color:#4d6f2e;font-weight:600;}
.rh4-hotel-breadcrumbs a:hover{text-decoration:underline;}
.rh4-bc-current{color:#374151;font-weight:600;}
.rh4-bc-muted{color:#6b7280;}
.rh4-searchbox--reasons{background:#fafcf9;border:1px solid rgba(31,111,67,.10);border-radius:14px;padding:12px 14px;}
.rh4-why-list{margin:8px 0 0 18px;padding:0;display:grid;gap:8px;font-size:14px;line-height:1.45;color:#374151;}
.rh4-why-list li{margin:0;}

.rh4-booking-wrap{max-width:1380px;}
.rh4-booking-title{margin-bottom:18px;}
.rh4-booking-grid{grid-template-columns:minmax(0,1.58fr) minmax(320px,.82fr);gap:24px;}
.rh4-booking-meta{display:none;}
@media (max-width: 980px){
  .rh4-booking-grid{grid-template-columns:1fr;gap:18px;}
}


/* Results UX premium pass 64.1 */
@media (max-width: 640px){
  .rh4-results-grid{gap:14px;}
  .rh4-hcard{border-radius:18px;}
  .rh4-hcard-body{padding:13px 13px 15px;gap:11px;}
  .rh4-hcard-top{gap:10px;}
  .rh4-hname{font-size:16px;}
  .rh4-price-val{font-size:25px;}
  .rh4-media-placeholder__title{font-size:18px;}
  .rh4-media-placeholder__sub{max-width:200px;}
}


/* Results card polish pass 3 - premium balance */
.rh4-results-grid{grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:18px;}
.rh4-hcard{border-radius:22px;border-color:#e5ece7;box-shadow:0 10px 24px rgba(15,23,42,.045);}
.rh4-hcard:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(15,23,42,.075);border-color:#d6e3d9;}
.rh4-hcard-img{aspect-ratio:16/10;min-height:198px;background:#eef3ef;}
.rh4-hcard-body{padding:15px 15px 16px;gap:10px;}
.rh4-hcard-top{gap:10px;align-items:flex-start;}
.rh4-hname{font-size:17px;line-height:1.3;-webkit-line-clamp:2;min-height:44px;}
.rh4-hmeta--location{margin-top:4px;font-size:12.5px;color:#64748b;}
.rh4-hmeta--stars{padding-top:2px;white-space:nowrap;}
.rh4-badges{gap:6px;min-height:24px;}
.rh4-badge{font-size:11px;padding:4px 8px;border-color:#e4ebe6;background:#f8fbf9;color:#3d4f45;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rh4-badge-meal{border-color:#cfe8d3;background:#eef8f0;color:#1f5130;}
.rh4-badge--soft{border-color:#dde6df;background:#f6f9f7;color:#5b6b63;}
.rh4-price{padding:10px 12px;border-radius:14px;gap:3px;background:linear-gradient(180deg,#fbfcfb 0%,#f7faf8 100%);border-color:#e8eeea;}
.rh4-price-kicker{font-size:10px;letter-spacing:.1em;color:#7a8796;}
.rh4-price-val{font-size:24px;line-height:1.02;}
.rh4-price-sub{font-size:11.5px;color:#667085;}
.rh4-cta{margin-top:auto;padding-top:4px;}
.rh4-media-placeholder{padding:16px;background:linear-gradient(180deg,#eff4f1 0%,#e6ede8 55%,#dbe6de 100%);color:#234132;justify-content:flex-end;}
.rh4-media-placeholder:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right, rgba(255,255,255,.55), rgba(255,255,255,0) 38%);pointer-events:none;}
.rh4-media-placeholder__eyebrow{position:relative;padding:5px 9px;font-size:10px;letter-spacing:.08em;background:rgba(255,255,255,.82);color:#587362;border:1px solid rgba(88,115,98,.14);}
.rh4-media-placeholder__title{position:relative;margin-top:auto;font-size:18px;line-height:1.08;font-weight:800;color:#1d392a;max-width:210px;}
.rh4-media-placeholder__sub{position:relative;margin-top:5px;font-size:11.5px;line-height:1.35;max-width:210px;color:rgba(29,57,42,.72);}
.rh4-hcard--partial .rh4-price,.rh4-hcard-img-empty + .rh4-hcard-body .rh4-price{background:linear-gradient(180deg,#fafcfb 0%,#f4f8f5 100%);}
.rh4-hcard-img-empty{background:#edf3ee;}
@media (max-width: 640px){
  .rh4-results-grid{grid-template-columns:1fr;gap:14px;}
  .rh4-hcard{border-radius:18px;}
  .rh4-hcard-img{min-height:182px;}
  .rh4-hcard-body{padding:13px 13px 14px;gap:9px;}
  .rh4-hname{font-size:16px;min-height:42px;}
  .rh4-price-val{font-size:22px;}
  .rh4-badge{font-size:10.5px;padding:4px 7px;}
  .rh4-media-placeholder__title{font-size:17px;max-width:190px;}
  .rh4-media-placeholder__sub{max-width:185px;font-size:11px;}
}


/* Async hotel rates shell */
.rh4-hotel-skeleton-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:18px}
.rh4-skel-room{height:148px;border:1px solid #e7e7e7;border-radius:18px;background:linear-gradient(90deg,#f5f5f5 0%,#fafafa 50%,#f5f5f5 100%);background-size:200% 100%;animation:rh4Shimmer 1.35s infinite}
@keyframes rh4Shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.rh4-rates-async{min-height:220px}

.rh4-offer-extra-note{margin-top:8px;font-size:12px;line-height:1.45;color:#5b6470;}
.rh4-list{margin:0;padding-left:18px;}
.rh4-details .rh4-note ul.rh4-list,.rh4-alert ul.rh4-list{margin:8px 0 0;padding-left:18px;}
