/* Betu Hotels & Resorts — v3 */
.betu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.betu-grid.cols-1{grid-template-columns:1fr}.betu-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.betu-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.betu-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 35px rgba(0,0,0,.08);transition:transform .25s,box-shadow .25s;min-width:0}
.betu-card:hover{transform:translateY(-4px);box-shadow:0 16px 42px rgba(0,0,0,.13)}
.betu-card img{display:block;width:100%;height:250px;object-fit:cover}.betu-card-body{padding:20px}.betu-card h3{margin:7px 0 12px;font-size:22px}.betu-muted{opacity:.7;font-size:14px}.betu-price{margin:14px 0;font-size:14px}.betu-price strong{font-size:21px}.betu-room-meta{font-size:13px;opacity:.75}
.betu-card-actions{display:flex;gap:9px;flex-wrap:wrap}.betu-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:13px 20px;text-decoration:none;cursor:pointer;background:#222;color:#fff;min-height:46px;box-sizing:border-box;font-weight:600}.betu-btn:hover{color:#fff;opacity:.92}.betu-btn-accent{background:#FEA116!important;color:#fff!important}
.betu-search-form{position:relative;z-index:50;display:grid;grid-template-columns:1.45fr 1fr 1fr .72fr .72fr .72fr 1.15fr;gap:10px;align-items:end;background:#fff;padding:22px;border-radius:2px;box-shadow:0 16px 38px rgba(0,0,0,.16)}
.betu-search-field{min-width:0}.betu-search-form label,.betu-field label{display:block;font-size:12px;font-weight:700;margin:0 0 7px;color:#3d3d3d}.betu-search-form input,.betu-search-form select,.betu-field input,.betu-field textarea,.betu-field select{width:100%;box-sizing:border-box;border:1px solid #d9dde2;border-radius:3px;padding:12px 14px;background:#fff;min-height:50px;color:#333;font-size:15px;outline:none}.betu-search-form input:focus,.betu-search-form select:focus,.betu-field input:focus,.betu-field textarea:focus{border-color:#FEA116;box-shadow:0 0 0 2px rgba(254,161,22,.12)}
.betu-search-form .betu-search-btn{width:100%;min-height:50px;background:#FEA116!important;color:#fff!important;border-radius:3px;font-size:16px;letter-spacing:.2px}
.betu-booking-form{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;background:#fff;border-radius:18px;padding:24px;box-shadow:0 10px 35px rgba(0,0,0,.08)}.betu-booking-form .betu-wide,.betu-booking-form .betu-submit,.betu-booking-form .betu-availability,.betu-booking-form .betu-booking-message,.betu-booking-form .betu-context-note{grid-column:1/-1}.betu-field textarea{min-height:110px;resize:vertical}.betu-availability{min-height:20px;font-size:14px}.betu-availability.ok{color:#18794e}.betu-availability.error,.betu-booking-message.error{color:#b42318}.betu-booking-message{font-weight:600}.betu-booking-message.success{color:#18794e}.betu-context-note{font-size:13px;font-weight:700;padding:10px 12px;border-radius:8px;background:#fafafa}.betu-hp{position:absolute!important;left:-9999px!important;opacity:0!important}
.betu-dynamic{max-width:1200px;margin:0 auto;padding:50px 20px}.betu-room-head{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;align-items:center;margin-bottom:35px}.betu-room-head img,.betu-hotel-head img{width:100%;height:auto;border-radius:18px}.betu-hotel-head{margin-bottom:40px}.betu-hotel-head h1{margin-bottom:5px}.betu-room-description{margin:25px 0 35px}.betu-notice{padding:16px;border-radius:10px;background:#f5f5f5}.betu-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.betu-gallery img{width:100%;height:220px;object-fit:cover;border-radius:12px}
@media(max-width:1100px){.betu-search-form{grid-template-columns:repeat(4,1fr)}.betu-search-form .betu-search-btn{grid-column:auto}}
@media(max-width:800px){.betu-grid,.betu-grid.cols-2,.betu-grid.cols-3,.betu-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.betu-room-head{grid-template-columns:1fr}.betu-search-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:576px){.betu-grid,.betu-grid.cols-2,.betu-grid.cols-3,.betu-grid.cols-4{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:8px}.betu-grid .betu-card{flex:0 0 86%;scroll-snap-align:start}.betu-card img{height:210px}.betu-search-form,.betu-booking-form{grid-template-columns:1fr}.betu-search-form>*{grid-column:1}.betu-search-form{padding:16px}.betu-booking-form .betu-wide,.betu-booking-form .betu-submit,.betu-booking-form .betu-availability,.betu-booking-form .betu-booking-message,.betu-booking-form .betu-context-note{grid-column:1}.betu-gallery{grid-template-columns:1fr 1fr}}

/* Single hotel / room pages */
.betu-single-title{padding:18px 0 28px;margin:0 0 28px;border-bottom:1px solid #eee}
.betu-single-title h1{margin:0 0 7px;font-size:clamp(30px,4vw,48px);line-height:1.12}
.betu-single-title .betu-muted{font-size:15px}
.betu-room-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:42px;align-items:start;margin-bottom:48px}
.betu-room-gallery-col,.betu-room-copy{min-width:0}
.betu-gallery-main{border-radius:18px;overflow:hidden;background:#f5f5f5;aspect-ratio:16/10}
.betu-gallery-main img{width:100%;height:100%;object-fit:cover;display:block}
.betu-gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:12px 2px 4px;scrollbar-width:thin}
.betu-gallery-thumb{flex:0 0 86px;width:86px;height:66px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#fff;cursor:pointer}
.betu-gallery-thumb.is-active{border-color:#FEA116}
.betu-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.betu-room-copy{padding-top:4px}
.betu-room-copy .betu-price{margin-top:0;margin-bottom:18px}
.betu-room-meta-line{font-size:15px;opacity:.75;margin-bottom:22px}
.betu-room-description{font-size:16px;line-height:1.8}
.betu-room-description p:last-child{margin-bottom:0}
.betu-booking-section{margin-top:10px}
.betu-booking-section h2,.betu-related-rooms h2,.betu-hotel-rooms h2{margin:0 0 20px}
.betu-related-rooms{margin-top:52px}
.betu-bottom-space{height:200px}
.betu-gallery-empty{padding:50px 20px;background:#f7f7f7;border-radius:18px;text-align:center}

@media(max-width:800px){
  .betu-dynamic{padding:34px 16px}
  .betu-room-intro{grid-template-columns:1fr;gap:28px}
  .betu-single-title{padding-top:8px;margin-bottom:22px}
  .betu-single-title h1{font-size:32px}
  .betu-gallery-main{aspect-ratio:4/3;border-radius:14px}
  .betu-gallery-thumb{flex-basis:72px;width:72px;height:58px}
  .betu-room-description{font-size:15px}
}
@media(max-width:576px){
  .betu-dynamic{padding:24px 12px}
  .betu-single-title h1{font-size:28px}
  .betu-room-intro{gap:22px;margin-bottom:34px}
  .betu-card-body{padding:16px}
  .betu-card h3{font-size:19px}
  .betu-card-actions{display:grid;grid-template-columns:1fr 1fr}
  .betu-card-actions .betu-btn{width:100%;padding:11px 10px;font-size:13px}
  .betu-booking-form{padding:16px;border-radius:14px;gap:13px}
  .betu-booking-form input,.betu-booking-form textarea{min-height:48px}
  .betu-bottom-space{height:200px}
}

.betu-card-short-desc{margin:10px 0 14px;font-size:14px;line-height:1.65;opacity:.78}.betu-single-short-desc{font-size:16px;line-height:1.8;margin:0 0 24px;opacity:.82}.betu-context-location{font-size:15px;opacity:.7;margin-bottom:20px}.betu-hotel-rooms{margin-top:28px}.betu-room-intro{margin-top:20px}
@media(max-width:576px){.betu-card-short-desc{font-size:13px}.betu-single-short-desc{font-size:15px}.betu-room-intro{margin-top:10px}}

/* v5.1 single content / search fixes */
.betu-single-content{width:100%;box-sizing:border-box}
.betu-single-content .betu-bottom-space{height:200px}
.betu-notice{grid-column:1/-1;width:100%;box-sizing:border-box}
.betu-hotel-rooms{margin-top:0}
.betu-hotel-rooms .betu-grid{margin-top:0}
@media(min-width:801px){
  .betu-room-intro{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
  .betu-room-copy{order:1}
  .betu-room-gallery-col{order:2}
}
@media(max-width:800px){
  .betu-room-gallery-col{order:1}
  .betu-room-copy{order:2}
}

/* Betu dynamic Hotel/Room pages: hide theme blog-only chrome, keep the normal theme Page Title */
body.single-betu_hotel .entry-meta,
body.single-betu_room .entry-meta,
body.single-betu_hotel .post-meta,
body.single-betu_room .post-meta,
body.single-betu_hotel .wd-post-entry-meta,
body.single-betu_room .wd-post-entry-meta,
body.single-betu_hotel .wd-post-meta,
body.single-betu_room .wd-post-meta,
body.single-betu_hotel .meta-post,
body.single-betu_room .meta-post,
body.single-betu_hotel .post-date,
body.single-betu_room .post-date,
body.single-betu_hotel .meta-date,
body.single-betu_room .meta-date,
body.single-betu_hotel .post-img,
body.single-betu_room .post-img,
body.single-betu_hotel .post-image,
body.single-betu_room .post-image,
body.single-betu_hotel .entry-thumbnail,
body.single-betu_room .entry-thumbnail,
body.single-betu_hotel .post-thumbnail,
body.single-betu_room .post-thumbnail,
body.single-betu_hotel .wd-post-thumb,
body.single-betu_room .wd-post-thumb,
body.single-betu_hotel .wd-post-img,
body.single-betu_room .wd-post-img,
body.single-betu_hotel .entry-header .post-image,
body.single-betu_room .entry-header .post-image,
body.single-betu_hotel .entry-header .post-thumbnail,
body.single-betu_room .entry-header .post-thumbnail{
  display:none!important;
}


/* v5.3.4: keep theme footer/layout intact; remove social blocks from Hotel content only */
body.single-betu_hotel .betu-single-content .social-icons,
body.single-betu_hotel .betu-single-content .social-share,
body.single-betu_hotel .betu-single-content .share-with,
body.single-betu_hotel .betu-single-content .wd-social-icons,
body.single-betu_hotel .betu-single-content .wd-social-icons-wrapper,
body.single-betu_hotel .betu-single-content .follow-us,
body.single-betu_hotel .betu-single-content [class*="social"] {
  display:none!important;
}

/* Keep a clear separation before the normal theme footer / following content. */
body.single-betu_hotel .betu-single-content .betu-bottom-space,
body.single-betu_room .betu-single-content .betu-bottom-space{height:200px!important;min-height:200px;}

/* v5.3.5 — redesigned dynamic Room page */
.betu-room-showcase{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:42px;align-items:start;margin:0 0 42px}
.betu-room-showcase-gallery{min-width:0}
.betu-room-showcase-info{padding-top:6px}
.betu-room-showcase-title{font-size:clamp(30px,3.2vw,46px);line-height:1.12;margin:0 0 18px}
.betu-room-showcase-price{display:flex;align-items:baseline;gap:7px;margin:0 0 22px;color:#FEA116}
.betu-room-showcase-price strong{font-size:42px;line-height:1;font-weight:500}
.betu-room-showcase-price span{font-size:14px;color:#555}
.betu-room-showcase-info .betu-single-short-desc{font-size:16px;line-height:1.75;margin-bottom:24px}
.betu-room-specs{display:flex;gap:22px;flex-wrap:wrap;padding:18px 0;border-top:1px solid #e6e2d8;border-bottom:1px solid #e6e2d8;margin-bottom:22px}
.betu-room-spec{display:flex;align-items:center;gap:9px;font-size:14px;color:#333}
.betu-spec-icon{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;color:#FEA116}
.betu-room-description{font-size:15px;line-height:1.85;color:#333}
.betu-room-lower{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch}
.betu-room-features,.betu-room-lower .betu-booking-section{border:1px solid #e3dfd5;border-radius:16px;background:#fff;padding:28px;box-sizing:border-box}
.betu-room-features h2,.betu-room-lower .betu-booking-section h2{font-size:25px;margin:0 0 22px}
.betu-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
.betu-feature-item{display:flex;align-items:center;gap:12px;font-size:15px;min-width:0}
.betu-feature-icon{width:42px;height:42px;border-radius:50%;background:#fff3df;color:#FEA116;display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;overflow:hidden}
.betu-feature-icon img{width:100%;height:100%;object-fit:cover}
.betu-room-lower .betu-booking-section{margin-top:0}
.betu-room-lower .betu-booking-form{box-shadow:none;padding:0;background:transparent;border-radius:0}
.betu-related-rooms{margin-top:48px}
.betu-related-rooms h2{font-size:26px}
.betu-room-showcase .betu-gallery-main{aspect-ratio:1.34/1;border-radius:18px}
.betu-room-showcase .betu-gallery-thumbs{padding-top:14px}
@media(max-width:900px){
 .betu-room-showcase{grid-template-columns:1fr;gap:28px}
 .betu-room-showcase-info{padding-top:0}
 .betu-room-lower{grid-template-columns:1fr}
}
@media(max-width:576px){
 .betu-room-showcase-title{font-size:29px}
 .betu-room-showcase-price strong{font-size:34px}
 .betu-room-specs{gap:12px 18px}
 .betu-feature-grid{grid-template-columns:1fr 1fr;gap:16px 10px}
 .betu-room-features,.betu-room-lower .betu-booking-section{padding:20px;border-radius:14px}
 .betu-feature-item{font-size:13px;gap:8px}
 .betu-feature-icon{width:36px;height:36px;flex-basis:36px}
}


/* v5.3.12 — restore the classic Room page layout */
.betu-room-intro{display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;gap:42px!important;align-items:start!important;margin:0 0 42px!important}
.betu-room-copy{order:1!important;min-width:0}
.betu-room-gallery-col{order:2!important;min-width:0}
.betu-room-gallery-col .betu-room-gallery{width:100%}
.betu-room-intro .betu-gallery-main{aspect-ratio:16/10!important;border-radius:18px!important}
.betu-room-features{margin:0 0 30px!important;padding:28px!important;border:1px solid #e3dfd5!important;border-radius:16px!important;background:#fff!important}
.betu-room-features h2{margin:0 0 20px!important;font-size:26px!important}
.betu-feature-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
.betu-feature-item{display:flex!important;align-items:center!important;gap:12px!important;padding:12px!important;border-radius:12px!important;background:#fffaf2!important;border:1px solid #f4eadc!important}
.betu-feature-icon{width:40px!important;height:40px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 40px!important;border-radius:50%!important;background:#fff3df!important;color:#FEA116!important;overflow:hidden!important}
.betu-feature-icon img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important}
.betu-booking-section{margin-top:0!important}
@media(max-width:900px){
 .betu-room-intro{grid-template-columns:1fr!important;gap:28px!important}
 .betu-room-gallery-col{order:1!important}
 .betu-room-copy{order:2!important}
 .betu-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:576px){
 .betu-feature-grid{grid-template-columns:1fr!important}
 .betu-room-features{padding:20px!important}
}


/* v5.3.18 — booking price summary + WoodMart-style feature list controls */
.betu-price-summary{
  grid-column:1/-1;
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:8px 10px;
  padding:14px 16px;
  border:1px solid #f0dfc5;
  border-radius:12px;
  background:#fffaf2;
}
.betu-price-summary-label{font-size:13px;font-weight:700;color:#666}
.betu-form-nightly-price{font-size:24px;color:#FEA116;line-height:1}
.betu-price-summary-total{font-size:13px;color:#666}
.betu-feature-drag{
  cursor:move;
  width:28px;height:32px;
  display:inline-flex;align-items:center;justify-content:center;
  color:#888;background:#f2f2f2;border:1px solid #ddd;border-radius:5px;
  font-size:18px;user-select:none;
}
.betu-feature-row.ui-sortable-helper{box-shadow:0 8px 24px rgba(0,0,0,.12);background:#fff!important}
.betu-icon-picker{position:relative;display:inline-flex;align-items:center;gap:6px;z-index:5}
.betu-icon-picker.is-open{z-index:99999}
.betu-icon-picker-control{display:flex;gap:4px}
.betu-icon-preview,.betu-icon-picker-toggle{min-width:42px;height:36px;padding:0 9px;background:#fff;border:1px solid #ccd0d4;border-radius:4px;cursor:pointer}
.betu-icon-preview{min-width:46px}
.betu-icon-preview-glyph{display:inline-flex;align-items:center;justify-content:center;font-size:18px}
.betu-icon-picker-panel{
  position:absolute;top:42px;left:0;width:min(520px,calc(100vw - 50px));
  background:#fff;border:1px solid #ccd0d4;border-radius:8px;
  box-shadow:0 12px 35px rgba(0,0,0,.18);padding:12px;
}
.betu-icon-search-row{display:flex;gap:7px;margin:8px 0}
.betu-icon-search{flex:1;min-width:0}
.betu-icon-categories{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 10px}
.betu-icon-cat{border:1px solid #ddd;background:#f7f7f7;border-radius:4px;padding:6px 10px;cursor:pointer}
.betu-icon-cat.is-active{background:#FEA116;color:#fff;border-color:#FEA116}
.betu-icon-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-height:340px;overflow:auto}
.betu-icon-option{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:68px;padding:7px 4px;background:#fff;border:1px solid #eee;border-radius:6px;cursor:pointer}
.betu-icon-option:hover,.betu-icon-option.is-selected{border-color:#FEA116;background:#fff8ed}
.betu-icon-option i{font-size:19px}
.betu-icon-option span{font-size:10px;line-height:1.2;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.betu-icon-empty{padding:18px;text-align:center;color:#777}
@media(max-width:700px){
 .betu-price-summary{align-items:flex-start;flex-direction:column}
 .betu-icon-picker-panel{position:fixed;left:15px;right:15px;top:80px;width:auto}
 .betu-icon-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Consolidated Room Type navigation */
.betu-hotel-room-types{margin:0 0 28px;padding:18px 20px;border:1px solid rgba(0,0,0,.08);border-radius:16px;background:#fff}.betu-hotel-room-types-label{font-weight:700;margin-bottom:12px}.betu-hotel-room-types-list{display:flex;flex-wrap:wrap;gap:10px}.betu-room-type-pill{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;text-decoration:none;border:1px solid #ddd;color:inherit;background:#fff}.betu-room-type-pill.is-active{background:#FEA116;border-color:#FEA116;color:#fff}
