/* Home page extra sections: property, rooms, facilities (fully responsive) */
.rg-sec{padding:clamp(48px,7vw,96px) 0;position:relative;overflow:hidden}
.rg-sec img{max-width:100%;height:auto}
.rg-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(228,60,56,.08);border:1px solid rgba(228,60,56,.24);padding:5px 16px;border-radius:50px;color:var(--accent);font-weight:600;font-size:13px;letter-spacing:.4px;text-transform:uppercase;max-width:100%}
.rg-title{font-size:clamp(28px,4vw,44px);line-height:1.15;font-weight:700;color:var(--primary);letter-spacing:-.5px;margin:14px 0 12px}
.rg-title span{color:var(--accent)}
.rg-lead{color:var(--text-muted);font-size:clamp(15px,1.6vw,17px);line-height:1.7;max-width:640px}
.rg-head{margin-bottom:clamp(28px,4vw,48px)}
.rg-head.center{text-align:center}.rg-head.center .rg-lead{margin-inline:auto}

/* Property */
.rg-prop{background:#fff}
.rg-prop-item{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--border-color)}
.rg-prop-item:last-of-type{border-bottom:0}
.rg-prop-ico{flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:rgba(44,92,80,.09);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:19px}
.rg-prop-item h3{font-size:clamp(17px,2vw,19px);font-weight:700;color:var(--text-dark);margin:0 0 4px}
.rg-prop-item p{margin:0;color:var(--text-muted);line-height:1.7;font-size:15.5px}
.rg-couples{margin-top:10px;padding:16px 18px;border-radius:14px;background:var(--bg-light);border:1px dashed rgba(44,92,80,.3);color:var(--text-dark);font-size:15.5px;line-height:1.6}
.rg-couples strong{color:var(--accent)}
.rg-media{position:relative;padding-bottom:70px}
.rg-media .rg-img-main{border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/3}
.rg-media .rg-img-main img{width:100%;height:100%;object-fit:cover;display:block}
.rg-media .rg-img-sub{position:absolute;right:12px;bottom:0;width:52%;border-radius:18px;overflow:hidden;border:6px solid #fff;box-shadow:var(--shadow-lg);aspect-ratio:4/3}
.rg-media .rg-img-sub img{width:100%;height:100%;object-fit:cover;display:block}
.rg-high{margin-top:26px;background:#eef5f2;border-radius:18px;padding:22px 22px 8px}
.rg-high h3{font-size:19px;font-weight:700;color:var(--primary);margin:0 0 14px}
.rg-high li{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;color:var(--text-dark);line-height:1.5;font-size:15.5px;list-style:none}
.rg-high ul{padding:0;margin:0}
.rg-high i{color:var(--accent);margin-top:4px;flex:0 0 18px;text-align:center}

.rg-btn{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:#fff;padding:14px 28px;border-radius:50px;font-weight:600;text-decoration:none;box-shadow:var(--shadow-accent);transition:var(--transition)}
.rg-btn:hover{background:var(--accent-hover);color:#fff;transform:translateY(-2px)}
/* Rooms (tabs) */
.rg-rooms{background:var(--bg-light)}
.rg-score{display:inline-flex;align-items:center;gap:12px;margin-top:18px;padding:8px 18px 8px 8px;background:#fff;border-radius:50px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);text-align:left}
.rg-score strong{width:46px;height:46px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px}
.rg-score span{font-size:14.5px;font-weight:600;color:var(--text-dark);line-height:1.25}.rg-score small{font-weight:400;color:var(--text-muted)}
.rg-room-box{background:#fff;border-radius:26px;box-shadow:var(--shadow-lg);padding:clamp(14px,3vw,34px)}
.rg-room-tabs{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;padding:4px 2px 14px;margin-bottom:clamp(14px,2.5vw,26px);border-bottom:1px solid var(--border-color);-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.rg-room-tabs .nav-item{flex:0 0 auto}
.rg-room-tabs .nav-link{white-space:nowrap;border-radius:50px;padding:10px 20px;font-weight:600;font-size:15px;color:var(--primary);background:var(--bg-light);border:1px solid var(--border-color);transition:var(--transition)}
.rg-room-tabs .nav-link:hover{border-color:var(--primary)}
.rg-room-tabs .nav-link.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-accent)}
.rg-room-img{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/3;background:#dfe8e5;box-shadow:var(--shadow-md)}
@media (min-width:992px){.rg-room-img{position:sticky;top:110px}}
.rg-room-img img{width:100%;height:100%;object-fit:cover;display:block}
.rg-room-badge{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.94);color:var(--primary);font-weight:600;font-size:13.5px;padding:7px 14px;border-radius:50px;box-shadow:var(--shadow-sm)}
.rg-room-badge i{color:#f5a623;margin-right:4px}
.rg-room-name{font-size:clamp(24px,3vw,32px);font-weight:700;color:var(--primary);margin:0 0 12px;line-height:1.2}
.rg-room-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:14px;color:var(--text-dark);font-size:15px;font-weight:500}
.rg-room-meta i{color:var(--accent);margin-right:6px}
.rg-room-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.rg-room-chips span{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border:1px solid rgba(44,92,80,.28);border-radius:10px;font-size:13.5px;color:var(--text-dark);background:#fff}
.rg-room-chips i{color:var(--primary);font-size:13px}
.rg-room-desc{color:var(--text-muted);line-height:1.75;font-size:15.5px;margin-bottom:18px}
.rg-lists h4{font-size:15.5px;font-weight:700;color:var(--text-dark);margin:0 0 10px;display:flex;align-items:center;gap:8px}
.rg-lists h4 i{color:var(--accent);font-size:14px}
.rg-lists ul{list-style:none;margin:0;padding:0}
.rg-lists li{display:flex;gap:9px;align-items:flex-start;margin-bottom:7px;font-size:14.5px;color:var(--text-dark);line-height:1.4}
.rg-lists li i{color:var(--primary);font-size:12px;margin-top:4px;flex:0 0 14px}
.rg-fac-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.rg-smoke{margin:6px 0 14px;font-size:14.5px;color:var(--text-dark)}.rg-smoke i{color:var(--accent);margin-right:6px}

/* Facilities */
.rg-fac{background:#fff}
.rg-fac-tile{height:100%;text-align:center;padding:26px 16px;border-radius:18px;border:1px solid var(--border-color);background:#fff;transition:var(--transition)}
.rg-fac-tile:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:rgba(44,92,80,.35)}
.rg-fac-tile i{width:62px;height:62px;border-radius:50%;background:rgba(44,92,80,.09);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:14px}
.rg-fac-tile h3{font-size:17px;font-weight:700;color:var(--text-dark);margin:0 0 4px}
.rg-fac-tile p{margin:0;font-size:14px;color:var(--text-muted);line-height:1.5}
.rg-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:34px}
.rg-chips span{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:50px;background:var(--bg-light);border:1px solid var(--border-color);color:var(--text-dark);font-size:14.5px}
.rg-chips i{color:var(--accent);font-size:13px}

@media (max-width:991.98px){
  .rg-media{padding-bottom:56px;margin-top:8px}
  .rg-media .rg-img-sub{right:12px}
}
@media (max-width:575.98px){
  .rg-room-box{border-radius:20px}
  .rg-room-tabs .nav-link{padding:9px 16px;font-size:14px}
  .rg-fac-list{grid-template-columns:1fr}
  .rg-room-chips span{font-size:12.5px;padding:5px 10px}
  .rg-score{padding-right:14px}
  .rg-prop-ico{flex-basis:42px;width:42px;height:42px;font-size:17px}
  .rg-media{padding-bottom:44px}
  .rg-media .rg-img-sub{width:58%;right:8px;border-width:4px}
  .rg-high{padding:18px 16px 4px}
  .rg-fac-tile{padding:20px 10px}
  .rg-fac-tile i{width:52px;height:52px;font-size:20px}
  .rg-chips{gap:8px}.rg-chips span{font-size:13px;padding:8px 12px}
  .rg-btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.rg-card img,.rg-fac-tile,.rg-btn{transition:none}}

/* ===== About image composition: clean, beautiful on tablets & phones (incl. iPhone) ===== */
@media (max-width:991.98px){
  .tb-about-img-wrapper{padding:0 0 clamp(44px,12vw,70px) 0 !important;max-width:640px;margin-inline:auto}
  .tb-about-img-frame,.tb-about-compass-watermark{display:none !important}
  .tb-about-main-img-box{border-radius:26px !important;box-shadow:0 18px 40px rgba(44,92,80,.18) !important}
  .tb-about-main-img{height:auto !important;aspect-ratio:5/4;width:100%;object-position:center 62%}
  .tb-about-main-img-box::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,30,25,.18) 0%,rgba(10,30,25,0) 35%,rgba(10,30,25,.12) 100%);pointer-events:none}
  .tb-about-experience-badge{position:absolute !important;top:14px !important;left:14px !important;right:auto;padding:7px 16px 7px 8px !important;gap:10px !important;animation:none !important;box-shadow:0 8px 22px rgba(0,0,0,.18) !important;max-width:calc(100% - 28px)}
  .tb-exp-icon-wrap{width:36px !important;height:36px !important;font-size:14px !important}
  .tb-about-experience-badge h4{font-size:17px !important;line-height:1.1}
  .tb-about-experience-badge span.text-secondary{font-size:10.5px !important;letter-spacing:.8px}
  .tb-about-sub-img-wrap{display:block !important;right:14px !important;bottom:0 !important;width:52% !important;height:auto !important;aspect-ratio:4/3;border:5px solid #fff !important;border-radius:20px !important;animation:none !important;box-shadow:0 14px 34px rgba(20,40,34,.28) !important}
  .tb-about-sub-img{width:100%;height:100% !important;object-fit:cover}
  .tb-guide-floating-tag{left:6px !important;bottom:6px !important;padding:4px 9px !important;font-size:10px !important;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.15)}
}
@media (max-width:575.98px){
  .tb-about-main-img{aspect-ratio:1/1;object-position:center 58%}
  .tb-about-main-img-box{border-radius:22px !important}
  .tb-about-sub-img-wrap{width:56% !important;right:10px !important;border-width:4px !important;border-radius:16px !important}
  .tb-about-experience-badge{top:12px !important;left:12px !important;padding:6px 14px 6px 7px !important}
  .tb-guide-floating-tag{font-size:9px !important;padding:3px 8px !important}
}

/* Preloader removed: pages open instantly */
.preloader{display:none !important}

/* ============ HOME HERO SLIDER (4 background images + changing text) ============ */
.rg-hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.rg-hero-bgslide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease}
.rg-hero-bgslide.is-prev{opacity:1;z-index:1}
.rg-hero-bgslide.is-active{opacity:1;z-index:2}
.rg-hero-bgslide picture,.rg-hero-bgslide img{display:block;width:100%;height:100%}
.rg-hero-bgslide img{object-fit:cover;object-position:var(--pos,center);transform:scale(1.02)}
.rg-hero-bgslide.is-active img,.rg-hero-bgslide.is-prev img{animation:rgHeroZoom 9s ease-out forwards}
@keyframes rgHeroZoom{from{transform:scale(1.02)}to{transform:scale(1.1)}}
.rg-hero.is-paused .rg-hero-bgslide img{animation-play-state:paused}

/* lighter overlay than before so the photos are actually visible, still dark enough for white text */
.rg-hero .tb-hero-overlay{z-index:1;background:linear-gradient(100deg,rgba(16,38,32,.88) 0%,rgba(22,52,44,.7) 48%,rgba(30,68,58,.34) 100%)}
@media (max-width:991.98px){
  .rg-hero .tb-hero-overlay{background:linear-gradient(180deg,rgba(16,38,32,.78) 0%,rgba(16,38,32,.66) 55%,rgba(16,38,32,.78) 100%)}
}

/* text slides are stacked in one grid cell, so the box is as tall as the tallest slide (no jumping) */
.rg-hero-copy{display:grid;min-width:0}
.rg-hero-text{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;transform:translateY(16px);
  transition:opacity .45s ease,transform .45s ease,visibility 0s linear .45s}
.rg-hero-text.is-active{opacity:1;visibility:visible;transform:none;
  transition:opacity .7s ease .4s,transform .7s ease .4s,visibility 0s}
.rg-hero-text .tb-hero-title-v3,.rg-hero-text .tb-hero-script-tag{text-shadow:0 3px 18px rgba(0,0,0,.35)}
.rg-hero-text .tb-hero-title-v3{overflow-wrap:anywhere}

/* controls */
.rg-hero-ctrl{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:22px}
.rg-hc-btn{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.12);
  color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .25s,border-color .25s}
.rg-hc-btn:hover{background:var(--accent,#e43c38);border-color:var(--accent,#e43c38)}
.rg-hc-dots{display:flex;align-items:center;gap:8px;padding:0 6px}
.rg-hc-dot{position:relative;width:30px;height:24px;padding:0;border:0;background:transparent;cursor:pointer}
.rg-hc-dot span{position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;border-radius:4px;background:rgba(255,255,255,.4);overflow:hidden}
.rg-hc-dot span::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.rg-hc-dot.is-active span::after{transform:scaleX(1);animation:rgHeroProg var(--rg-dur,6500ms) linear}
.rg-hero.is-paused .rg-hc-dot.is-active span::after{animation-play-state:paused}
.rg-hero.is-static .rg-hc-dot.is-active span::after{animation:none;transform:scaleX(1)}
@keyframes rgHeroProg{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.rg-hc-btn:focus-visible,.rg-hc-dot:focus-visible{outline:3px solid #fff;outline-offset:2px}

@media (max-width:575.98px){
  .rg-hc-btn{width:40px;height:40px}
  .rg-hc-dot{width:26px}
  .rg-hero-ctrl{margin-top:18px}
}
@media (prefers-reduced-motion:reduce){
  .rg-hero-bgslide{transition:opacity .3s}
  .rg-hero-bgslide img{animation:none!important;transform:none}
  .rg-hero-text,.rg-hero-text.is-active{transition:opacity .2s;transform:none}
}
.rg-hero .rg-hero-text .tb-hero-script-tag{color:#ff746d !important}
.rg-hero .rg-hero-text .tb-hero-title-v3 .text-accent{color:#ff5a53 !important}
@media (max-width:370px){
  .rg-hero-ctrl{gap:6px}
  .rg-hc-btn{width:38px;height:38px}
  .rg-hc-dots{gap:4px;padding:0 2px}
  .rg-hc-dot{width:20px}
}

/* ===== Hero trust pill (avatars + rating + label) ===== */
.rg-hero .rg-proof{display:inline-flex;align-items:center;gap:14px;max-width:100%;margin:26px 0 22px;
  padding:10px 20px 10px 12px;border-radius:999px;color:#fff;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(0,0,0,.18)}
.rg-proof-avatars{display:flex;flex-shrink:0}
.rg-proof-avatars img{width:40px;height:40px;border-radius:50%;object-fit:cover;background:#fff;
  border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.rg-proof-avatars img+img{margin-left:-12px}
.rg-proof-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.rg-proof-rating{display:flex;align-items:center;gap:8px;line-height:1}
.rg-proof-stars{display:inline-flex;gap:2px;color:#ffc531;font-size:13px}
.rg-proof-rating strong{font-size:16px;font-weight:700;color:#fff}
.rg-proof-of{font-size:13px;font-weight:500;color:rgba(255,255,255,.7);margin-left:-6px}
.rg-proof-label{font-size:12.5px;font-weight:600;letter-spacing:.2px;color:rgba(255,255,255,.88);line-height:1.3}
@media (max-width:575.98px){
  .rg-hero .rg-proof{gap:11px;padding:9px 16px 9px 10px;margin:22px 0 18px;border-radius:18px}
  .rg-proof-avatars img{width:34px;height:34px;margin-left:0}
  .rg-proof-avatars img+img{margin-left:-10px}
  .rg-proof-stars{font-size:12px}
  .rg-proof-rating strong{font-size:15px}
  .rg-proof-label{font-size:12px}
}
@media (max-width:370px){
  .rg-hero .rg-proof{gap:9px;padding:8px 12px 8px 8px}
  .rg-proof-avatars img{width:30px;height:30px}
  .rg-proof-label{font-size:11.5px}
}

/* =====================================================================
   HOME HERO - tablet / mobile (redesigned)
   One compact, focused first screen: full-bleed photo, headline + one short line +
   one button at the bottom of the photo, slim slider dots, then a compact booking
   card that overlaps the photo edge. Clutter (reviews pill, social row, arrows)
   is hidden here - swipe still works.
   ===================================================================== */
@media (max-width: 991.98px) {
  .rg-hero.tb-hero-v2 {
    --rg-img-h: clamp(470px, 60vh, 560px);
    --rg-img-h: clamp(470px, 60svh, 560px);
    background: #fff;
    padding: 0 0 26px !important;
    min-height: 0 !important;
    justify-content: flex-start;
  }
  .rg-hero .rg-hero-bg,
  .rg-hero .tb-hero-overlay { bottom: auto; height: var(--rg-img-h) !important; }
  .rg-hero-bgslide.is-active img, .rg-hero-bgslide.is-prev img { animation-name: rgHeroZoomSoft; }
  .rg-hero .rg-hero-bg { border-radius: 0 0 28px 28px; }
  .rg-hero .tb-hero-overlay {
    border-radius: 0 0 28px 28px;
    background:
      linear-gradient(180deg, rgba(14,34,28,.62) 0%, rgba(14,34,28,.06) 22%, rgba(14,34,28,.1) 40%, rgba(14,34,28,.72) 60%, rgba(14,34,28,.92) 100%);
  }
  .rg-hero .tb-flight-path-svg { display: none; }

  .rg-hero > .container { margin: 0 auto !important; max-width: 640px; width: 100%; }
  .rg-hero > .container > .row { --bs-gutter-y: 0; row-gap: 0 !important; }

  /* text block sits at the bottom of the photo */
  .rg-hero .col-lg-6:first-child {
    min-height: var(--rg-img-h);
    display: flex; flex-direction: column; justify-content: flex-end;
    padding-top: 110px; padding-bottom: 62px;
  }
  .rg-hero .rg-hero-text .tb-hero-script-tag { font-size: 24px; margin-bottom: 0 !important; }
  .rg-hero .rg-hero-text .tb-hero-title-v3 {
    font-size: clamp(27px, 9vw, 50px) !important; line-height: 1.12 !important; margin-bottom: .6rem !important;
  }
  .rg-hero .rg-hero-text .tb-hero-desc {
    font-size: 14.5px !important; line-height: 1.5; margin-bottom: 1rem !important;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  }
  .rg-hero .rg-hero-text .btn { padding: .72rem 1.5rem; font-size: 15px; }
  .rg-hero .rg-proof, .rg-hero .tb-social-row { display: none !important; }
  .rg-hero .rg-hero-ctrl { margin-top: 14px; gap: 8px; }
  .rg-hero .rg-hc-dots { padding: 0; gap: 2px; }
  .rg-hero .rg-hc-dot { width: 26px; }
  .rg-hero .rg-hc-btn { width: 34px; height: 34px; font-size: 12px; }

  /* compact booking card overlapping the photo */
  .rg-hero .col-lg-6:last-child { position: relative; z-index: 3; margin-top: -52px; }
  .rg-hero .tb-reservation-card {
    max-width: 100% !important; margin: 0 auto !important; padding: 18px 16px 16px !important;
    border-radius: 22px !important; box-shadow: 0 18px 44px rgba(20,44,37,.22) !important;
  }
  .rg-hero .tb-reservation-card:hover { transform: none; }
  .rg-hero .tb-reservation-card > .text-center { margin-bottom: .8rem !important; }
  .rg-hero .tb-reservation-card h3 { font-size: 1.15rem; margin-bottom: 0 !important; }
  .rg-hero .tb-reservation-card > .text-center p { display: none; }
  .rg-hero .tb-reservation-card form {
    display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px !important;
  }
  .rg-hero .tb-reservation-card form > :first-child,
  .rg-hero .tb-reservation-card form > :nth-child(4),
  .rg-hero .tb-reservation-card form > .btn { grid-column: 1 / -1; }
  .rg-hero .tb-reservation-field input { font-size: 14px !important; text-overflow: ellipsis; }
  .rg-hero .tb-reservation-field { margin: 0; min-width: 0; }
  .rg-hero .tb-reservation-field .fa-calendar.ms-auto { display: none; }
  .rg-hero .tb-reservation-card .btn { white-space: nowrap; padding-left: .6rem; padding-right: .6rem; }
}
@media (max-width: 359.98px) {
  .rg-hero .tb-reservation-card form { grid-template-columns: 1fr; }
}
@media (min-width: 576px) and (max-width: 991.98px) {
  .rg-hero .col-lg-6:first-child { padding-left: 4px; }
  .rg-hero .tb-reservation-card { max-width: 560px !important; }
}
@keyframes rgHeroZoomSoft{from{transform:scale(1.01)}to{transform:scale(1.05)}}
@keyframes rgHeroZoomUp{from{transform:translateY(-7%) scale(1.13)}to{transform:translateY(-7%) scale(1.17)}}
/* first slide (guest house front): lift the photo so the signboard sits above the text */
@media (max-width: 991.98px) {
  .rg-hero-bgslide:first-child.is-active img, .rg-hero-bgslide:first-child.is-prev img { animation-name: rgHeroZoomUp; }
}

/* phones: heading + one button only (less is more), keeps the hero short like the other pages */
@media (max-width: 575.98px) {
  .rg-hero .rg-hero-text .tb-hero-desc { display: none; }
  .rg-hero .rg-hero-text .tb-hero-title-v3 { margin-bottom: 1rem !important; }
}
