/* Daging redesign — integration layer on top of Booking Core / Bootstrap */
body.dg{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.dg a:hover{text-decoration:none}
.dg h1,.dg h2,.dg h3,.dg h4{font-family:inherit;color:inherit}
.dg .bravo_wrap{background:var(--bg)}

/* Header */
.dg .desktop-nav .logo,.dg .mobile-header .logo,.dg .footer .logo{color:var(--ink)}
.dg .footer .logo{color:#fff}
.dg .nav-links a{color:var(--ink);transition:color .15s}
.dg .nav-links a:hover{color:var(--brand)}
.dg .btn.ghost{color:var(--ink)}
.dg .btn.ghost:hover{border-color:#c9d6d0}
.dg .btn.brand:hover,.dg .btn.brand:focus{color:#fff}
.dg .dg-user{position:relative}
.dg .dg-user-btn{overflow:hidden;color:var(--brand);font-weight:900;font-size:15px}
.dg .dg-user-btn img{width:100%;height:100%;object-fit:cover}
.dg .dg-user-menu{border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:8px;min-width:240px;margin-top:8px}
.dg .dg-user-menu .dg-user-name{padding:8px 10px 10px;font-weight:800;border-bottom:1px solid var(--line);margin-bottom:6px}
.dg .dg-user-menu a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:11px;font-size:14px;font-weight:600;color:var(--ink)}
.dg .dg-user-menu a:hover{background:#f1f6f4;color:var(--brand2)}
.dg .dg-user-menu .ui-icon{width:18px;height:18px;color:var(--brand)}

/* Footer */
.dg .footer a:hover{color:#fff}

/* Bottom navigation: five items */
@media(max-width:800px){
  .dg .bottom-nav{grid-template-columns:repeat(5,1fr);padding-bottom:calc(9px + env(safe-area-inset-bottom));height:calc(70px + env(safe-area-inset-bottom))}
}

/* Leave space for the cookie bar and chat above the bottom nav */
@media(max-width:800px){
  .dg .booking_cookie_agreement{bottom:70px!important}
}

/* ---------- Map ---------- */
body.dg.map-page-body{overflow:hidden}
body.dg.map-page-body .bravo_wrap{min-height:0}
.dg .smart-map-embed{z-index:1;background:#e7ede9}
.dg .smart-map-tint{z-index:2}
.dg .leaflet-container{font-family:inherit}
.dg .leaflet-control-attribution{font-size:9px;background:rgba(255,255,255,.7)}
.dg .leaflet-bottom.leaflet-right{margin-bottom:62px}
.dg .leaflet-control-zoom{border:1px solid var(--line)!important;border-radius:14px!important;overflow:hidden;box-shadow:0 8px 22px rgba(24,52,44,.08)!important}
.dg .leaflet-control-zoom a{width:38px!important;height:38px!important;line-height:38px!important;color:var(--ink)!important}
.dg .dg-pin{background:none;border:0}
.dg .dg-pin .smart-pin{position:relative;transform:none;cursor:pointer}
.dg .dg-pin .smart-pin:hover{transform:scale(1.04)}
.dg .dg-pin .smart-pin.active{transform:scale(1.08)}
.dg .map-property-card[hidden]{display:none}
.dg .map-property-card{z-index:500}
.dg .map-top-ui,.dg .map-type-bar{z-index:500}
.dg .map-legend{z-index:450}
.dg .map-card-close{position:absolute;top:-10px;right:-10px;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;box-shadow:0 4px 12px rgba(24,52,44,.12);padding:0}
.dg .map-card-close .ui-icon{width:14px;height:14px}
.dg .map-property-photo{background-color:#dfe7e2}
.dg .map-property-top strong{line-height:1.2}
.dg .map-card-price small{font-size:11px;font-weight:600}
.dg .map-rating[hidden]{display:none}
.dg .map-filter-button.has-filters{background:var(--ink);color:#fff;border-color:var(--ink)}
.dg .map-empty{position:absolute;z-index:500;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 18px;font-weight:700;box-shadow:var(--shadow)}
.dg .map-empty[hidden]{display:none}
.dg .dg-price-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dg .dg-price-inputs .field{display:block;min-height:0;margin:0}
.dg .dg-price-inputs .field span{display:block;font-size:11px;font-weight:800;color:var(--muted)}
.dg .dg-price-inputs input{border:0;background:transparent;width:100%;outline:none;font-weight:800;padding:2px 0}
.dg .filter-block{margin:14px 0}
.dg .filter-block h4{font-size:14px;margin:0 0 10px}
.dg .check{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;margin:0 0 8px}
.dg .check input{width:18px;height:18px;accent-color:var(--brand)}
.dg .overlay{z-index:1100}
@media(min-width:801px){
  .dg .overlay{align-items:center}
  .dg .overlay .sheet{border-radius:26px}
}
@media(max-width:800px){
  body.dg.map-page-body{padding-bottom:0}
  .dg .map-main{height:calc(100vh - 64px - 70px);height:calc(100dvh - 64px - 70px - env(safe-area-inset-bottom))}
  .dg .map-property-card{bottom:12px}
  .dg .map-card-close{top:-8px;right:-6px}
  .dg .leaflet-bottom.leaflet-right{margin-bottom:0}
  .dg .leaflet-control-zoom{display:none}
}
.dg .dg-tiles{filter:saturate(.72) contrast(.94) brightness(1.04)}
.dg .dg-cluster{background:none;border:0}
.dg .dg-cluster span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-weight:900;font-size:14px;border:3px solid #fff;box-shadow:0 0 0 5px rgba(17,35,31,.14),0 8px 18px rgba(22,45,39,.22)}
.dg .map-property-top span[data-map-location]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dg .map-property-top strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- Hero + search form ---------- */
.dg .dg-hero{background:linear-gradient(180deg,rgba(5,28,23,.28),rgba(5,28,23,.62)),var(--hero-img,url('https://images.unsplash.com/photo-1721377010328-dd71baae71af?auto=format&fit=crop&fm=jpg&q=80&w=1800')) center 45%/cover}
.dg .hero-copy h1{color:#fff}
.dg .search-panel{position:relative;z-index:5}
.dg .search-tabs.nav{flex-wrap:nowrap}
.dg .search-tabs a{color:var(--muted)}
.dg .search-tabs a.active{color:var(--brand)}
.dg .search-panel .tab-content>.tab-pane{display:none}
.dg .search-panel .tab-content>.tab-pane.active{display:block}
.dg .dg-search-form{margin:0}
.dg .search-grid.dg-cols-2{grid-template-columns:1.4fr 1fr auto}
.dg .search-grid.dg-cols-3{grid-template-columns:1.4fr 1fr 1fr auto}
.dg .search-grid.dg-cols-4{grid-template-columns:1.2fr 1fr 1fr 1fr auto}
.dg .dg-search-submit{min-height:62px;padding:0 26px;border-radius:16px}
.dg .dg-field{position:relative;cursor:pointer;transition:border-color .15s,background .15s}
.dg .dg-field:hover{border-color:#cbd9d3;background:#fff}
.dg .dg-field .form-group{margin:0!important;padding:0!important;border:0!important;position:static;display:block}
.dg .dg-field .field-icon{display:none!important}
.dg .dg-field .form-content{padding:0!important;margin:0!important;position:static}
.dg .dg-field .form-content::after,.dg .dg-field .dropdown-toggle::after{display:none!important}
.dg .dg-field label{display:block;font-size:11px!important;font-weight:800!important;color:var(--muted)!important;margin:0 0 3px!important;text-transform:none!important;letter-spacing:0!important;line-height:1.2}
.dg .dg-field input.form-control,.dg .dg-field .smart-search input{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;height:auto!important;font-weight:800;font-size:15px;color:var(--ink);width:100%;outline:none;cursor:pointer}
.dg .dg-field input::placeholder{color:#8a9894;font-weight:700}
.dg .dg-field .render,.dg .dg-field .check-in-wrapper .render{font-weight:800;font-size:15px;color:var(--ink);display:inline}
.dg .dg-field .check-in-wrapper span{font-weight:800}
.dg .dg-field .date-wrapper,.dg .dg-field .check-in-wrapper{padding:0!important;margin:0!important;border:0!important;background:none!important}
.dg .dg-field .form-date-search{position:static}
.dg .dg-field .check-in-out{position:absolute!important;inset:0!important;opacity:0!important;width:100%!important;height:100%!important;cursor:pointer;z-index:2}
.dg .dg-field .form-select-guests{position:static}
.dg .dg-field .select-guests-dropdown{border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:10px 14px;min-width:260px;margin-top:10px}
.dg .dg-field .select-guests-dropdown .dropdown-item-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0}
.dg .dg-field .select-guests-dropdown .label{font-weight:700}
.dg .dg-field .select-guests-dropdown .val{display:flex;align-items:center;gap:6px}
.dg .dg-field .select-guests-dropdown .btn-minus,.dg .dg-field .select-guests-dropdown .btn-add{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;color:var(--brand)}
.dg .dg-field .select-guests-dropdown input{width:34px;text-align:center;border:0;font-weight:800;-moz-appearance:textfield;background:transparent}
.dg .dg-field .select-guests-dropdown input::-webkit-inner-spin-button{display:none}
.dg .dg-field .bravo-autocomplete,.dg .dg-field .smart-search .bravo-autocomplete{top:calc(100% + 14px)!important;left:-12px!important;border:1px solid var(--line)!important;border-radius:18px!important;box-shadow:var(--shadow)!important;overflow:hidden;min-width:280px}
.dg .daterangepicker{border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);font-family:inherit}
.dg .daterangepicker td.active,.dg .daterangepicker td.active:hover{background:var(--brand)}
.dg .daterangepicker td.in-range{background:#e6f2ee;color:var(--ink)}
.dg .daterangepicker .applyBtn{background:var(--brand);border-color:var(--brand)}
.dg .quick-pills .pill .ui-icon{width:15px;height:15px}
.dg .dg-quick{padding-top:18px}
.dg .dg-card .card-img .fav.active{color:#d23f57}
.dg .dg-card .card-img .fav.active .ui-icon{fill:currentColor}
.dg .dg-card .price s{font-size:12px;font-weight:600;margin-right:4px}
.dg .dg-card .card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dg .news-card{display:block;transition:.2s}
.dg .news-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.dg .news-card .photo{background-color:#dfe7e2}
.dg .page-template-content>.container:empty{display:none}
@media(max-width:800px){
  .dg .dg-hero{background:none}
  .dg .hero-copy h1{color:var(--ink)}
  .dg .hero-copy .eyebrow{color:var(--brand)!important}
  .dg .search-grid.dg-cols-2,.dg .search-grid.dg-cols-3,.dg .search-grid.dg-cols-4{grid-template-columns:1fr 1fr}
  .dg .search-grid .dg-field-location{grid-column:span 2}
  .dg .search-grid.dg-cols-2 .dg-field-date{grid-column:span 2}
  .dg .dg-search-submit{grid-column:span 2;min-height:50px}
  .dg .dg-field .render,.dg .dg-field input.form-control{font-size:14px}
  .dg .dg-field .select-guests-dropdown{right:-10px;left:auto!important}
}
.dg .dg-search-form{display:block!important;padding:0!important;background:none!important;box-shadow:none!important;border-radius:0!important}
.dg .dg-search-form .search-grid{width:100%}
.dg .dg-field input,.dg .dg-field .render,.dg .dg-field .render span{color:var(--ink)!important}
.dg .dg-field .smart-search::after{display:none!important}
.dg .dg-field input::placeholder{color:#8a9894!important}
.dg .dg-card .price{white-space:nowrap;text-align:right}
.dg .dg-card .card-row .rating{min-width:0;font-size:12px;font-weight:800}
.dg .dg-card .card-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dg .destination-grid .destination:nth-child(6):last-child{grid-column:span 3}
.dg .destination-grid .destination:nth-child(7):last-child{grid-column:span 3}
@media(max-width:800px){.dg .destination-grid .destination:nth-child(6):last-child,.dg .destination-grid .destination:nth-child(7):last-child{grid-column:span 2}}
.dg .page-template-content ~ .container{max-width:var(--max);color:#40504b}
.dg .section-title a{white-space:nowrap}
.dg .cards{scrollbar-width:none}.dg .cards::-webkit-scrollbar{display:none}
.dg .dg-field-date .check-in-wrapper{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:800px){.dg .dg-field-date .render,.dg .dg-field-date .check-in-wrapper span{font-size:12.5px!important;letter-spacing:-.02em}.dg .dg-field-guests .render{font-size:12.5px!important;white-space:nowrap}}

/* ---------- Search results ---------- */
.dg .dg-search-page{padding-bottom:40px}
.dg .dg-search-page .page-head{padding:26px 0 16px}
.dg .dg-search-desktop h1{font-size:32px;letter-spacing:-.03em;margin:0 0 14px}
.dg .dg-search-desktop .search-panel{max-width:none;box-shadow:0 8px 26px rgba(24,52,44,.06);border:1px solid var(--line)}
.dg .search-summary{width:100%}
.dg .dg-summary-btn{flex:1;text-align:left;background:none;border:0;padding:0;display:flex;flex-direction:column;min-width:0}
.dg .dg-summary-btn .where,.dg .dg-summary-btn .when{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dg .dg-filter-toggle{position:relative;flex:none}
.dg .dg-filter-toggle i{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--brand);color:#fff;font-size:10px;font-style:normal;font-weight:900;display:grid;place-items:center}
.dg .dg-sort-pills .pill{color:var(--ink)}
.dg .dg-sort-pills .pill.active{color:#fff}
.dg .results-layout .filters{align-self:start}
.dg .dg-filter-sheet{margin:0;padding:0;background:none;border-radius:0;max-height:none;overflow:visible;width:auto}
.dg .dg-filter-head{display:flex;justify-content:space-between;align-items:center}
.dg .dg-filter-head h3{margin:0;font-size:18px}
.dg .filters .filter-block{border-top:1px solid var(--line);padding-top:14px}
.dg .filters .filter-block:first-of-type{border-top:0}
.dg .filters .check{font-weight:500}
.dg .filters .check.dg-more{display:none}
.dg .filters .is-open .check.dg-more{display:flex}
.dg .dg-more-btn{background:none;border:0;padding:0;color:var(--brand);font-weight:800;font-size:13px}
.dg .dg-apply-price{min-height:38px;margin-top:10px;font-size:13px}
.dg .filters .sheet-actions{display:none}
.dg .irs--round .irs-bar,.dg .irs-bar{background:var(--brand)!important;border-color:var(--brand)!important}
.dg .irs--round .irs-handle,.dg .irs-slider{border-color:var(--brand)!important}
.dg .irs--round .irs-from,.dg .irs--round .irs-to,.dg .irs--round .irs-single,.dg .irs-from,.dg .irs-to,.dg .irs-single{background:var(--ink)!important;font-family:inherit}
.dg .irs-grid-text{font-family:inherit}
.dg .list{display:grid;gap:12px}
.dg .result-card{color:var(--ink);transition:.2s}
.dg .result-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
.dg .result-photo .fav{position:absolute;right:10px;top:10px;background:rgba(255,255,255,.92);border:0;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#17312a}
.dg .result-photo .fav.active{color:#d23f57}.dg .result-photo .fav.active .ui-icon{fill:currentColor}
.dg .result-main h3{margin:0 0 4px}
.dg .result-side .price{text-align:right;white-space:nowrap}
.dg .result-side .tiny{text-align:right}
.dg .dg-empty{text-align:center;padding:36px 20px}
.dg .dg-seo-text{margin-top:30px;color:#40504b;font-size:14px}
.dg .dg-seo-text h1,.dg .dg-seo-text h2{font-size:22px}
.dg .dg-pagination{margin-top:20px;display:flex;justify-content:center}
.dg .dg-pagination .pagination{gap:6px;margin:0}
.dg .dg-pagination .page-link{border:1px solid var(--line)!important;border-radius:12px!important;min-width:42px;height:42px;display:grid;place-items:center;color:var(--ink);font-weight:800;background:#fff}
.dg .dg-pagination .page-item.active .page-link{background:var(--brand);border-color:var(--brand)!important;color:#fff}
.dg .dg-search-page .map-btn{z-index:60}
.dg .dg-sheet-search .search-grid{grid-template-columns:1fr 1fr}
@media(max-width:800px){
  .dg .dg-search-page .page-head{padding:14px 0 10px}
  .dg .results-layout .filters{display:none;position:fixed;inset:0;z-index:1100;background:rgba(9,27,23,.52);border:0;border-radius:0;padding:0;align-items:flex-end;justify-content:center;top:0}
  .dg .results-layout .filters.open{display:flex}
  .dg .dg-filter-sheet{background:#fff;width:100%;border-radius:26px 26px 0 0;max-height:88vh;overflow:auto;padding:16px 20px 0}
  .dg .filters .sheet-actions{display:grid;padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  .dg .result-photo{min-height:152px}
  .dg .result-side .price,.dg .result-side .tiny{text-align:left}
  .dg .result-side>div:first-child:empty{display:none}
  .dg .result-main .small.muted{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .dg .dg-search-page .map-btn{bottom:calc(84px + env(safe-area-inset-bottom))}
}
body.dg.dg-sheet-open{overflow:hidden}
@media(max-width:800px){
  .dg .search-summary.mobile-only{display:flex}
  .dg .results-layout .filters{height:auto!important;bottom:0}
  .dg .result-side .tiny.muted:last-child{display:none}
  .dg .result-photo .badge{display:none}
  .dg .result-photo .fav{width:32px;height:32px;right:8px;top:8px}
}
@media(min-width:801px){.dg .result-card{grid-template-columns:220px minmax(0,1fr) 210px}.dg .result-side{min-width:0}}
.dg .sheet h2{font-size:22px;font-weight:800;margin:0}

/* ---------- Detail pages ---------- */
.dg .dg-detail{padding-bottom:30px}
.dg .detail-hero .breadcrumbs a{color:var(--muted)}
.dg .detail-hero .breadcrumbs a:hover{color:var(--brand)}
.dg .dg-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.dg .dg-head-actions{display:flex;gap:8px;flex:none}
.dg .dg-head-actions .service-wishlist.active{color:#d23f57}.dg .dg-head-actions .service-wishlist.active .ui-icon{fill:currentColor}
.dg .dg-head-actions .is-done{background:#e6f2ee;color:var(--brand)}
.dg .detail-sub a{color:var(--ink);font-weight:700}
.dg .detail-hero{padding-bottom:20px}
.dg .dg-gallery button{border:0;padding:0;background:#d8dfdc center/cover;position:relative;cursor:zoom-in}
.dg .dg-gallery button:hover{filter:brightness(.94)}
.dg .dg-gallery.count-1{grid-template-columns:1fr;grid-template-rows:420px}
.dg .dg-gallery.count-2{grid-template-columns:2fr 1fr;grid-template-rows:420px}
.dg .dg-gallery.count-2 button:first-child{grid-row:auto}
.dg .dg-gallery.count-3{grid-template-columns:2fr 1fr}
.dg .dg-gallery.count-4{grid-template-columns:2fr 1fr 1fr}
.dg .dg-gallery.count-4 button:nth-child(4){grid-column:span 2}
.dg .dg-gallery button:first-child{grid-row:span 2}
.dg .dg-all-photos{position:absolute;right:12px;bottom:12px;background:rgba(255,255,255,.95);border-radius:12px;padding:8px 12px;font-size:13px;font-weight:800;color:var(--ink)}
.dg .dg-gallery-overlay{background:rgba(9,20,18,.92);align-items:stretch!important}
.dg .dg-gallery-viewer{width:100%;height:100%;display:flex;flex-direction:column}
.dg .dg-gallery-top{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;color:#fff}
.dg .dg-gallery-list{flex:1;overflow:auto;display:grid;gap:10px;padding:0 20px 30px;justify-items:center}
.dg .dg-gallery-list img{max-width:min(1100px,100%);width:100%;border-radius:16px}
.dg .detail-layout{align-items:start}
.dg .detail-layout>section{min-width:0}
.dg .content-card h2{font-size:22px;letter-spacing:-.02em}
.dg .content-card h3{font-size:19px;letter-spacing:-.02em}
.dg .dg-facts{margin:4px 0 16px}
.dg .amenity .i .ui-icon{width:18px;height:18px}
.dg .dg-richtext{color:#35443f;line-height:1.6}
.dg .dg-richtext img{max-width:100%;height:auto;border-radius:14px}
.dg .dg-richtext p:last-child{margin-bottom:0}
.dg .hotel-amenities-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.dg .hotel-amenity{min-height:112px;font-size:13px}
.dg .amenity-icon img{width:26px;height:26px;object-fit:contain}
.dg .amenity-icon i{font-size:24px;color:var(--brand2)}
.dg .dg-faq{border-top:1px solid var(--line);padding:12px 0}
.dg .dg-faq summary{font-weight:800;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px}
.dg .dg-faq summary::after{content:"+";color:var(--brand);font-size:20px;line-height:1}
.dg .dg-faq[open] summary::after{content:"–"}
.dg .dg-faq div{margin-top:8px;color:#40504b}
.dg .dg-minimap{position:absolute;inset:0;z-index:1}
.dg .detail-map-preview .map-location-chip{z-index:500}
.dg .location-card .location-map-button{color:var(--brand2)}
.dg .dg-aside{position:sticky;top:95px;display:grid;gap:14px}
.dg .dg-aside .booking-card{position:static}
.dg .dg-vendor-card:empty{display:none}
.dg .dg-vendor-card .owner-info{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;display:flex;gap:12px;align-items:center}
.dg .dg-vendor-card .owner-info img,.dg .dg-vendor-card .owner-info .avatar-text{width:48px;height:48px;border-radius:50%;object-fit:cover}
.dg .dg-vendor-card .owner-info a{font-weight:800}
.dg .dg-card-section{padding-top:36px}

/* Booking Core booking form inside .booking-card */
.dg .booking-card{padding:20px}
.dg .booking-card .bravo_single_book_wrap{display:block!important;position:static!important;background:none!important;padding:0!important;overflow:visible!important}
.dg .booking-card .bravo_single_book{background:none;border:0;box-shadow:none;padding:0;margin:0}
.dg .booking-card [v-cloak]{display:none}
.dg .booking-card .tour-sale-box{position:absolute;right:18px;top:18px}
.dg .booking-card .box_sale{background:#e4f4ee;color:#176d57;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}
.dg .booking-card .form-head{padding:0 0 12px;border:0;margin:0}
.dg .booking-card .form-head .price .label{font-size:12px;color:var(--muted);font-weight:700;display:block}
.dg .booking-card .form-head .price .value{font-size:26px;font-weight:950;letter-spacing:-.03em}
.dg .booking-card .form-head .price .onsale{font-size:14px;color:var(--muted);text-decoration:line-through;font-weight:600;margin-right:6px}
.dg .booking-card .form-head .price .onsale:empty{display:none}
.dg .booking-card .nav-enquiry{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#f1f5f3;border-radius:14px;padding:4px;margin-bottom:12px}
.dg .booking-card .enquiry-item{text-align:center;padding:9px;border-radius:11px;font-weight:800;font-size:13px;cursor:pointer;color:var(--muted)}
.dg .booking-card .enquiry-item.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(24,52,44,.08)}
.dg .booking-card .form-content{border:1px solid var(--line);border-radius:16px;overflow:hidden}
.dg .booking-card .form-content>.form-group,.dg .booking-card .form-content .form-group{margin:0;padding:11px 13px;border-bottom:1px solid var(--line);position:relative}
.dg .booking-card .form-content .form-group:last-child{border-bottom:0}
.dg .booking-card label{font-size:11px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:0}
.dg .booking-card .render{font-weight:800;font-size:14px;color:var(--ink)}
.dg .booking-card .render small{font-weight:600;color:var(--muted)}
.dg .booking-card .date-wrapper{cursor:pointer;position:relative;padding-right:20px}
.dg .booking-card .date-wrapper .arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);color:var(--muted)}
.dg .booking-card .input-number-group{display:flex;align-items:center;gap:6px}
.dg .booking-card .input-number-group i{font-size:26px;color:var(--brand);cursor:pointer;line-height:1}
.dg .booking-card .input-number-group input{width:34px;border:0;text-align:center;font-weight:900;background:transparent;-moz-appearance:textfield}
.dg .booking-card .input-number-group input::-webkit-inner-spin-button{display:none}
.dg .booking-card .form-section-title{font-size:12px;font-weight:900;margin:0 0 6px;color:var(--muted);text-transform:uppercase}
.dg .booking-card .extra-price-wrap label{text-transform:none;font-size:13px;color:var(--ink);font-weight:700;letter-spacing:0;display:flex;gap:8px;align-items:center}
.dg .booking-card .extra-price-wrap input[type=checkbox]{accent-color:var(--brand);width:16px;height:16px}
.dg .booking-card .form-section-total{margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--line)}
.dg .booking-card .form-section-total li{display:flex;justify-content:space-between;align-items:center;margin:4px 0}
.dg .booking-card .form-section-total label{font-size:14px;text-transform:none;color:var(--ink);letter-spacing:0}
.dg .booking-card .form-section-total .price{font-size:18px}
.dg .booking-card .submit-group{margin-top:14px}
.dg .booking-card .submit-group p{font-size:12px;color:var(--muted);margin:0 0 10px}
.dg .booking-card .submit-group .btn,.dg .booking-card .form-send-enquiry .btn{width:100%;min-height:50px;border-radius:14px;background:var(--brand);border:0;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px}
.dg .booking-card .submit-group .btn:hover{background:var(--brand2)}
.dg .booking-card .alert-text{margin-top:10px;font-size:13px;border-radius:12px;padding:10px 12px}
.dg .booking-card .alert-text.danger{background:#fdecea;color:#a3332a}
.dg .booking-card .alert-text.success{background:#e6f4ee;color:#176d57}
.dg .booking-card .start_date{position:absolute;left:0;bottom:0}

/* Reviews (Booking Core markup) */
.dg .dg-reviews .bravo-reviews{margin:0;padding:0;border:0}
.dg .dg-reviews h3{font-size:19px}
.dg .dg-reviews .review-box{background:#f7f9f7;border-radius:16px;padding:16px;border:0}
.dg .dg-reviews .review-form{margin-top:18px}
.dg .dg-reviews .review-form .form-control{border:1px solid var(--line);border-radius:12px;min-height:44px;background:#fafbfa}
.dg .dg-reviews .review-form textarea.form-control{min-height:110px}
.dg .dg-reviews .btn-primary,.dg .dg-reviews .btn.btn-primary{background:var(--brand);border:0;border-radius:14px;padding:12px 18px;font-weight:800}
.dg .dg-reviews .review-items .item{border-top:1px solid var(--line);padding:16px 0}
.dg .dg-reviews .review-items .item:first-child{border-top:0}

@media(max-width:800px){
  .dg .dg-head-row{align-items:flex-start}
  .dg .dg-head-actions .icon-btn{width:38px;height:38px}
  .dg .dg-gallery{display:flex!important}
  .dg .dg-gallery button{min-width:88vw;height:270px;scroll-snap-align:center}
  .dg .dg-gallery.count-1 button{min-width:100%}
  .dg .dg-all-photos{right:10px;bottom:10px}
  .dg .dg-gallery-list{padding:0 0 30px}
  .dg .dg-gallery-list img{border-radius:0}
  .dg .hotel-amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dg .dg-aside{position:static;display:block;margin-top:14px}
  .dg .dg-aside .booking-card{display:block}
  .dg .dg-vendor-card{margin-top:14px}
  .dg .sticky-book{bottom:calc(70px + env(safe-area-inset-bottom))}
  .dg .dg-detail{padding-bottom:80px}
}
.dg .booking-card .input-number-group .input{border:0;height:auto;width:auto;background:none;padding:0;box-shadow:none;display:inline}
.dg .booking-card .enquiry-item span{border:0!important;color:inherit!important;text-decoration:none!important}
.dg .booking-card .enquiry-item span::after,.dg .booking-card .enquiry-item::after{display:none!important}
.dg .detail-map-preview .map-location-chip{left:auto;right:14px}
.dg .dg-reviews .review-box-score{text-align:center;padding:10px 0}
.dg .dg-reviews .review-score{font-size:44px;font-weight:950;color:var(--brand);line-height:1}
.dg .dg-reviews .review-score .per-total{font-size:16px;color:var(--muted)}
.dg .dg-reviews .review-score-text{font-size:18px;font-weight:800;margin-top:6px}
.dg .dg-reviews .review-score-base{font-size:12px;color:var(--muted)}
.dg .dg-reviews .review-sumary .item{display:grid;grid-template-columns:120px 1fr 28px;gap:10px;align-items:center;margin:8px 0;font-size:13px}
.dg .dg-reviews .review-sumary .label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-weight:600;padding:0;background:none;text-align:left}
.dg .dg-reviews .progress{height:6px;border-radius:9px;background:#e4ebe7}
.dg .dg-reviews .progress .percent{background:var(--brand);height:100%;border-radius:9px}
.dg .dg-reviews .number{text-align:right;font-weight:800}
.dg .dg-reviews .review-item{border-top:1px solid var(--line);padding:16px 0}
.dg .dg-reviews .review-item .avatar,.dg .dg-reviews .review-item .avatar-text{width:42px;height:42px;border-radius:50%}
.dg .dg-reviews .review-star .fa-star{color:#e0a820}
.dg .dg-reviews .title-form,.dg .dg-reviews .review-form .title{font-size:17px;font-weight:800;margin:18px 0 10px}
.dg .dg-reviews .review-stats,.dg .dg-reviews .review_stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 16px}
.dg .dg-reviews .rates .fa{color:#d5dcd8;cursor:pointer}.dg .dg-reviews .rates .fa-star{color:#e0a820}
.dg .dg-reviews .review-message{background:#f7f9f7;border-radius:14px;padding:14px;color:var(--muted);font-size:14px}
@media(max-width:800px){.dg .dg-reviews .review-sumary .item{grid-template-columns:100px 1fr 24px}}
@media(max-width:800px){.dg .dg-detail #dg-book{scroll-margin-top:80px}}

/* Hotel rooms (Booking Core Vue markup) */
.dg .dg-rooms .heading-section{font-size:19px;letter-spacing:-.02em;margin:0 0 14px}
.dg .dg-rooms .hotel_rooms_form{margin:0;padding:0;background:none;border:0}
.dg .dg-rooms .form-search-rooms{background:#f7f9f7;border:1px solid var(--line);border-radius:18px;padding:8px;margin-bottom:14px}
.dg .dg-rooms .form-search-row{display:grid!important;grid-template-columns:1.2fr 1fr auto;gap:8px;margin:0}
.dg .dg-rooms .form-search-row>[class*=col-]{max-width:none;padding:0;flex:none;width:auto}
.dg .dg-rooms .form-search-row .form-group{margin:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:9px 12px;position:relative;cursor:pointer;min-height:58px}
.dg .dg-rooms .form-search-row .arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted)}
.dg .dg-rooms .form-label{font-size:11px;font-weight:800;color:var(--muted);margin:0;display:block}
.dg .dg-rooms .render{font-weight:800;font-size:14px}
.dg .dg-rooms .form-content{padding:0}
.dg .dg-rooms .form-content::after{display:none}
.dg .dg-rooms .btn-search{height:100%;min-height:58px;border-radius:14px;background:var(--brand);border:0;font-weight:800;padding:0 20px;white-space:nowrap}
.dg .dg-rooms .select-guests-dropdown{border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:10px 14px;min-width:260px}
.dg .dg-rooms .select-guests-dropdown .dropdown-item-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0}
.dg .dg-rooms .select-guests-dropdown .val{display:flex;align-items:center;gap:6px}
.dg .dg-rooms .btn-minus2,.dg .dg-rooms .btn-add2{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;color:var(--brand)}
.dg .dg-rooms .count-display input{width:34px;text-align:center;border:0;font-weight:800;-moz-appearance:textfield}
.dg .dg-rooms .hotel_list_rooms>.row,.dg .dg-rooms .hotel_list_rooms>.row>[class*=col-]{margin:0;padding:0}
.dg .dg-rooms .hotel_list_rooms.loading{opacity:.5}
.dg .dg-rooms .room-item{border:1px solid var(--line);border-radius:16px;padding:12px;margin:10px 0;background:#fff}
.dg .dg-rooms .room-item>.row{display:grid;grid-template-columns:150px minmax(0,1fr) 190px;gap:14px;margin:0;align-items:center}
.dg .dg-rooms .room-item>.row>[class*=col-]{max-width:none;padding:0;flex:none;width:auto}
.dg .dg-rooms .room-item .image{border-radius:13px;overflow:hidden;position:relative;cursor:pointer;aspect-ratio:4/3;background:#e4ebe7}
.dg .dg-rooms .room-item .image img{width:100%;height:100%;object-fit:cover}
.dg .dg-rooms .count-gallery{position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.55);color:#fff;border-radius:8px;padding:2px 7px;font-size:11px}
.dg .dg-rooms .room-name{font-size:16px;margin:0 0 6px;cursor:pointer}
.dg .dg-rooms .room-meta{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.dg .dg-rooms .room-meta .item{background:#f1f5f3;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;display:flex;gap:5px;align-items:center}
.dg .dg-rooms .room-meta i{font-size:13px;color:var(--brand)}
.dg .dg-rooms .room-attribute-item ul{list-style:none;padding:0;margin:8px 0 0;display:flex;gap:8px;color:var(--brand)}
.dg .dg-rooms .col-price{text-align:right}
.dg .dg-rooms .col-price .text-center{text-align:right!important}
.dg .dg-rooms .col-price .price{font-weight:900;font-size:16px}
.dg .dg-rooms .tl-rate-info{font-size:11px;color:var(--muted);margin:4px 0}
.dg .dg-rooms .custom-select{margin-top:8px;border:1px solid var(--line);border-radius:12px;height:42px;font-size:13px;font-weight:700}
.dg .dg-rooms .hotel_room_book_status{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.dg .dg-rooms .hotel_room_book_status .row{margin:0}
.dg .dg-rooms .row_total_price{display:grid!important;grid-template-columns:1fr 1fr;gap:14px}
.dg .dg-rooms .row_total_price>[class*=col-]{max-width:none;padding:0}
.dg .dg-rooms .extra-price-wrap{padding:4px 0;font-size:14px}
.dg .dg-rooms .extra-price-wrap label{font-weight:600;margin:0}
.dg .dg-rooms .control-book{text-align:right}
.dg .dg-rooms .total-room-price{font-size:18px;font-weight:900}
.dg .dg-rooms .total-room-price span{font-size:13px;color:var(--muted);font-weight:600}
.dg .dg-rooms .control-book .btn{margin-top:10px;min-height:48px;border-radius:14px;background:var(--brand);border:0;font-weight:800;padding:0 22px}
.dg .dg-rooms .is_mobile{display:none!important}
.dg .dg-rooms .alert-warning{border-radius:14px;background:#fff6df;border-color:#f0dcac;color:#664d19;font-size:14px}
.dg .dg-rooms .nav-enquiry{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#f1f5f3;border-radius:14px;padding:4px;margin-bottom:12px;max-width:320px}
.dg .dg-rooms .enquiry-item{text-align:center;padding:9px;border-radius:11px;font-weight:800;font-size:13px;cursor:pointer;color:var(--muted)}
.dg .dg-rooms .enquiry-item.active{background:#fff;color:var(--ink)}
.dg .booking-card .form-head .price .value{display:inline}
@media(max-width:800px){
  .dg .dg-rooms .form-search-row{grid-template-columns:1fr 1fr}
  .dg .dg-rooms .form-search-row .col-btn{grid-column:span 2}
  .dg .dg-rooms .btn-search{width:100%;min-height:48px}
  .dg .dg-rooms .room-item>.row{grid-template-columns:96px minmax(0,1fr)}
  .dg .dg-rooms .room-item>.row>[class*=col-]:last-child{grid-column:1/-1}
  .dg .dg-rooms .col-price,.dg .dg-rooms .col-price .text-center{text-align:left!important}
  .dg .dg-rooms .row_total_price{grid-template-columns:1fr}
  .dg .dg-rooms .control-book{text-align:left}
  .dg .dg-rooms .control-book .btn{width:100%}
}
.dg .dg-rooms .room-item>.row{grid-template-columns:150px minmax(0,1fr) auto}
.dg .dg-rooms .col-price{width:190px}
.dg .dg-rooms .render{color:var(--ink)!important}
@media(max-width:800px){.dg .dg-rooms .room-item>.row{grid-template-columns:96px minmax(0,1fr)}.dg .dg-rooms .col-price{width:auto}}
.dg .route-step strong{font-size:15px}
.dg .dg-route-img{display:block;margin-top:10px;border-radius:14px;max-width:100%;max-height:220px;object-fit:cover}
.dg .dg-incl{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.dg .dg-incl-item{display:flex;gap:9px;align-items:flex-start;padding:6px 0;font-size:14px}
.dg .dg-incl-item .ui-icon{width:18px;height:18px;flex:none;margin-top:1px}
.dg .dg-incl-item.is-yes .ui-icon{color:var(--brand)}
.dg .dg-incl-item.is-no .ui-icon{color:var(--danger)}
.dg .dg-aside .owner-info.widget-box{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;margin:0!important}
/* Tour booking form extras */
.dg .booking-card .form-group-item{margin:0}
.dg .booking-card .form-group-item .dropdown-toggle::after{display:none}
.dg .booking-card .person-types .form-group,.dg .booking-card .form-guest-search{padding:11px 13px}
.dg .booking-card .input-number-group i{font-size:26px}
@media(max-width:800px){.dg .dg-incl{grid-template-columns:1fr}}
body.dg .bravo_wrap .booking-card .nav-enquiry .enquiry-item span,body.dg .bravo_wrap .dg-rooms .nav-enquiry .enquiry-item span{border:0!important;color:inherit!important}

/* ---------- Checkout ---------- */
.dg .dg-checkout-page{padding:10px 0 50px}
.dg .dg-checkout-head{padding:22px 0 4px;max-width:720px}
.dg .dg-checkout-head h1{font-size:32px;letter-spacing:-.03em;margin:6px 0}
.dg .dg-checkout-page .checkout{align-items:start}
.dg .dg-checkout-page .checkout>aside{position:sticky;top:95px}
.dg .dg-checkout-page .paybox{padding:22px}
.dg .dg-checkout-page .form-section{margin-bottom:18px}
.dg .dg-checkout-page .form-section-title,.dg .dg-checkout-page .form-title{font-size:19px;font-weight:800;letter-spacing:-.02em;margin:0 0 14px}
.dg .dg-checkout-page .row{margin-left:-6px;margin-right:-6px}
.dg .dg-checkout-page .row>[class*=col]{padding-left:6px;padding-right:6px}
.dg .dg-checkout-page .form-group{margin:0 0 12px}
.dg .dg-checkout-page label{font-size:12px;font-weight:800;margin-bottom:6px;color:var(--ink)}
.dg .dg-checkout-page .required{color:var(--danger)}
.dg .dg-checkout-page .form-control{height:50px;border:1px solid var(--line);background:#fafbfa;border-radius:14px;padding:0 14px;font-size:15px;box-shadow:none}
.dg .dg-checkout-page textarea.form-control{height:auto;padding:12px 14px;min-height:110px}
.dg .dg-checkout-page .form-control:focus{border-color:#83aaa0;box-shadow:0 0 0 3px #e4f0ed;background:#fff}
.dg .dg-checkout-page input[type=checkbox],.dg .dg-checkout-page input[type=radio]{accent-color:var(--brand);width:17px;height:17px;vertical-align:-3px;margin-right:6px}
.dg .dg-checkout-page .term-conditions-checkbox{font-weight:600;font-size:14px}
.dg .dg-checkout-page .term-conditions-checkbox a{color:var(--brand);text-decoration:underline}
.dg .dg-checkout-page .gateways-table .card{border:1px solid var(--line);border-radius:14px!important;margin-bottom:8px;overflow:hidden}
.dg .dg-checkout-page .gateways-table .card-header{background:#fafbfa;border:0;padding:12px 14px}
.dg .dg-checkout-page .gateways-table label{margin:0;font-size:14px}
.dg .dg-checkout-page .form-actions .btn,.dg .dg-checkout-page .btn.btn-primary{width:100%;min-height:52px;border-radius:14px;background:var(--brand);border:0;color:#fff;font-weight:800;font-size:16px}
.dg .dg-checkout-page .form-actions .btn:hover{background:var(--brand2)}
.dg .dg-checkout-page .alert-text{margin-top:10px;border-radius:12px;padding:10px 12px;font-size:14px}
.dg .dg-checkout-page .alert-text.danger{background:#fdecea;color:#a3332a}
.dg .dg-checkout-page .alert-text.success{background:#e6f4ee;color:#176d57}
.dg .dg-checkout-summary .booking-review-title{font-size:17px;font-weight:800;margin:0 0 12px}
.dg .dg-checkout-summary .service-info{display:grid;grid-template-columns:86px 1fr;gap:12px;align-items:center;margin-bottom:12px}
.dg .dg-checkout-summary .service-info .img-responsive{width:86px;height:70px;object-fit:cover;border-radius:12px}
.dg .dg-checkout-summary .service-name{font-weight:800;font-size:15px;margin:0}
.dg .dg-checkout-summary .address{font-size:12px;color:var(--muted)}
.dg .dg-checkout-summary .review-section{border-top:1px solid var(--line);padding:12px 0 0;margin-top:12px}
.dg .dg-checkout-summary .review-list{list-style:none;padding:0;margin:0}
.dg .dg-checkout-summary .review-list li{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:14px}
.dg .dg-checkout-summary .review-list .label{color:var(--muted);font-weight:500;background:none;padding:0;font-size:14px;text-align:left}
.dg .dg-checkout-summary .review-list .val{font-weight:800;text-align:right}
.dg .dg-checkout-summary .total-review .review-list li.final-total,.dg .dg-checkout-summary .final-total{font-size:18px;font-weight:900}
.dg .dg-checkout-summary .section-coupon-form .form-control{height:44px}
@media(max-width:800px){
  .dg .dg-checkout-head h1{font-size:26px}
  .dg .dg-checkout-page .checkout>aside{position:static}
  .dg .dg-checkout-page .paybox{padding:16px;border-radius:18px}
  .dg .dg-checkout-page .checkout{display:flex;flex-direction:column-reverse;gap:14px}
}
.dg .success{margin:40px auto 26px}
.dg .success-icon .ui-icon{width:36px;height:36px}
.dg .dg-success-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:22px 0 0;text-align:left}
.dg .dg-success-facts div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px}
.dg .dg-success-facts span{display:block;font-size:11px;color:var(--muted);font-weight:800}
.dg .dg-checkout-page .paybox .info-form,.dg .dg-checkout-page .paybox .booking-customer-info{margin:0}
.dg .dg-checkout-page .paybox ul{padding-left:0;list-style:none}
.dg .dg-checkout-page .paybox .info-form li,.dg .dg-checkout-page .paybox li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}

/* ---------- Auth (pages + modals) ---------- */
.dg .form-shell{min-height:calc(100vh - 200px)}
.dg .auth-card h1{font-weight:850;letter-spacing:-.03em}
.dg .bravo-form-login .form-group,.dg .bravo-form-register .form-group{position:relative;margin:0 0 12px}
.dg .bravo-form-login .form-control,.dg .bravo-form-register .form-control{height:50px;border:1px solid var(--line);background:#fafbfa;border-radius:14px;padding:0 42px 0 14px;font-size:15px;box-shadow:none}
.dg .bravo-form-login .form-control:focus,.dg .bravo-form-register .form-control:focus{border-color:#83aaa0;box-shadow:0 0 0 3px #e4f0ed;background:#fff}
.dg .bravo-form-login .input-icon,.dg .bravo-form-register .input-icon{position:absolute;right:14px;top:15px;color:var(--muted);font-size:17px}
.dg .bravo-form-login .form-submit,.dg .bravo-form-register .form-submit{width:100%;min-height:50px;border-radius:14px;background:var(--brand)!important;border:0;font-weight:800;font-size:15px}
.dg .bravo-form-login .form-submit:hover,.dg .bravo-form-register .form-submit:hover{background:var(--brand2)!important}
.dg .bravo-form-login a,.dg .bravo-form-register a{color:var(--brand)!important;font-weight:700}
.dg .bravo-form-login label,.dg .bravo-form-register label{font-size:13px;font-weight:600}
.dg .bravo-form-login .row,.dg .bravo-form-register .row{margin:0 -6px}.dg .bravo-form-register .row>[class*=col]{padding:0 6px}
.dg .modal.login .modal-dialog{max-width:460px}
.dg .modal.login .modal-content{border:0;border-radius:28px;box-shadow:var(--shadow);padding:10px 12px}
.dg .modal.login .modal-header{border:0;padding:16px 16px 0;align-items:center}
.dg .modal.login .modal-title{font-size:24px;font-weight:850;letter-spacing:-.03em}
.dg .modal.login .modal-header .c-pointer{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center}
.dg .modal.login .modal-header .c-pointer img{width:12px}
.dg .modal.login .modal-body{padding:14px 16px 18px}
.dg .modal-backdrop.show{opacity:.52;background:#091b17}
@media(max-width:800px){.dg .modal.login .modal-dialog{margin:0;align-items:flex-end;min-height:100%}.dg .modal.login .modal-content{border-radius:26px 26px 0 0;padding-bottom:env(safe-area-inset-bottom)}}
.dg .modal.login .form-control{border-radius:14px!important;height:50px!important;background:#fafbfa!important}.dg .footer h4{font-size:14px;font-weight:800;margin:0 0 10px;color:#fff}

/* ---------- News ---------- */
.dg .dg-news-page{padding:10px 0 40px}
.dg .dg-news-head{padding:26px 0 18px}
.dg .dg-news-head h1{font-size:36px;letter-spacing:-.04em;margin:4px 0 14px}
.dg .dg-news-page .pill{color:var(--ink)}.dg .dg-news-page .pill.active{color:#fff}
.dg .article{margin-top:24px}
.dg .article .breadcrumbs a{color:var(--muted)}
.dg .article h1{margin:10px 0 8px}
.dg .article .dg-richtext{font-size:16px;line-height:1.7}
.dg .article .dg-richtext h2{font-size:24px;letter-spacing:-.02em}
.dg .news-card .body h3{font-size:17px}
@media(max-width:800px){.dg .dg-news-head h1{font-size:28px}.dg .article{margin-top:8px}}

/* Design .badge is absolute only on photos */
.dg .badge{position:static}
.dg .card-img .badge,.dg .result-photo .badge{position:absolute}

/* ---------- User dashboard ---------- */
body.dg.dg-user-area{background:var(--bg)}
.dg.dg-user-area .footer{display:none}
.dg .dg-user-profile{padding:24px 0 40px;min-height:auto!important}
.dg .dg-user-profile .profile-grid{grid-template-columns:270px minmax(0,1fr);align-items:start}
.dg .dg-profile-side{position:sticky;top:95px}
.dg .dg-profile-side .avatar{flex:none}
.dg .dg-become-vendor{margin:12px 0 4px;min-height:42px;font-size:13px}
.dg .dg-side-nav{display:block}
.dg .dg-side-nav .side-link{display:flex}
.dg .dg-side-nav .side-icon i{font-size:17px}
.dg .dg-side-children{display:none;padding:2px 0 6px 58px}
.dg .dg-side-item.is-open .dg-side-children{display:block}
.dg .dg-side-children a{display:block;padding:6px 8px;border-radius:9px;font-size:13px;font-weight:600;color:var(--muted)}
.dg .dg-side-children a:hover,.dg .dg-side-children a.active{color:var(--brand2);background:#f1f6f4}
.dg .dg-user-content{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;min-height:auto!important;box-shadow:0 8px 30px rgba(20,54,45,.045)}
.dg .dg-user-content .breadcrumb{background:none;padding:0;margin:0 0 10px;font-size:12px}
.dg .dg-user-content .breadcrumb a{color:var(--muted)}
.dg .dg-user-content .title-bar,.dg .dg-user-content h1.title-bar,.dg .dg-user-content .title{font-size:26px;font-weight:850;letter-spacing:-.03em}
.dg .dg-user-content .card{overflow:visible;border-radius:18px}
.dg .dg-user-content .card:hover{transform:none;box-shadow:none}
.dg .dg-user-content .form-control,.dg .dg-user-content .custom-select{min-height:46px;border:1px solid var(--line);border-radius:12px;background:#fafbfa;box-shadow:none}
.dg .dg-user-content textarea.form-control{min-height:110px}
.dg .dg-user-content .form-control:focus{border-color:#83aaa0;box-shadow:0 0 0 3px #e4f0ed;background:#fff}
.dg .dg-user-content label{font-weight:700;font-size:13px}
.dg .dg-user-content .btn-primary,.dg .dg-user-content .btn-info{background:var(--brand);border-color:var(--brand);border-radius:12px;font-weight:800}
.dg .dg-user-content .btn-primary:hover{background:var(--brand2);border-color:var(--brand2)}
.dg .dg-user-content .table{font-size:14px}
.dg .dg-user-content .table thead th{border-top:0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.dg .dg-user-content .table td{vertical-align:middle;border-top:1px solid var(--line)}
.dg .dg-user-content .nav-tabs{border-bottom:1px solid var(--line);gap:4px}
.dg .dg-user-content .nav-tabs .nav-link{border:0;border-radius:10px 10px 0 0;font-weight:700;color:var(--muted)}
.dg .dg-user-content .nav-tabs .nav-link.active{color:var(--brand);box-shadow:inset 0 -2px 0 var(--brand)}
.dg .dg-user-content .panel,.dg .dg-user-content .panel-body{border-radius:16px}
@media(max-width:800px){
  .dg .dg-user-profile{padding:14px 0 30px}
  .dg .dg-user-profile .profile-grid{display:block}
  .dg .dg-profile-side{position:static}
  .dg .dg-side-nav .side-link{width:calc(50% - 4px)!important;display:inline-flex!important}
  .dg .dg-side-children{padding-left:8px}
  .dg .dg-user-content{padding:16px;border-radius:20px;overflow-x:auto}
}
.dg .dg-user-content .breadcrumb-page-bar{background:none!important;border:0!important;padding:0!important;margin:0 0 10px!important;box-shadow:none!important;font-size:12px}
.dg .dg-user-content .breadcrumb-page-bar a{color:var(--muted)}
.dg .dg-user-content>.title-bar,.dg .dg-user-content h1{padding-left:0!important;margin-left:0!important}

/* ---------- Home hero v6: no photo, compact centered copy + search ---------- */
body.dg .dg-hero-v6{min-height:0;background:none;color:var(--ink);display:block;padding:28px 0 18px;overflow:visible}
body.dg .dg-hero-v6:after{display:none}
body.dg .dg-hero-v6 .wrap{padding:0}
body.dg .dg-hero-v6 .hero-copy{max-width:760px;margin:0 auto 18px;padding:0 18px;text-align:center}
body.dg .dg-hero-v6 .hero-copy h1{margin:0 0 7px;font-size:34px;line-height:1.08;letter-spacing:-.022em;font-weight:700;color:#10251f;text-shadow:none}
body.dg .dg-hero-v6 .hero-copy p{max-width:690px;margin:0 auto;font-size:15px;line-height:1.5;color:#60706b;text-shadow:none}
body.dg .dg-hero-v6 .search-panel{width:min(100%,1080px);max-width:none;margin:0 auto;padding:10px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(17,49,41,.08)}
body.dg .dg-hero-v6 .search-tabs{justify-content:center;padding:1px 2px 9px}
body.dg .dg-hero-v6 .search-tabs a{font-size:12px;padding:8px 14px}
body.dg .dg-hero-v6 .dg-field{background:#f8faf8;border-color:#e2e9e5;min-height:58px}
body.dg .dg-hero-v6 .dg-search-submit{min-height:58px}
@media(max-width:800px){
  body.dg .dg-hero-v6{padding:18px 0 10px}
  body.dg .dg-hero-v6 .hero-copy{margin:0 auto 13px;padding:0 4px}
  body.dg .dg-hero-v6 .hero-copy h1{font-size:27px;line-height:1.1;margin-bottom:6px;color:#10251f}
  body.dg .dg-hero-v6 .hero-copy p{font-size:13px;line-height:1.45;color:#65746f}
  body.dg .dg-hero-v6 .search-panel{width:100%;padding:9px;border-radius:18px;box-shadow:0 8px 24px rgba(24,52,44,.07)}
  body.dg .dg-hero-v6 .search-tabs{justify-content:flex-start;overflow:auto;scrollbar-width:none}
  body.dg .dg-hero-v6 .search-tabs::-webkit-scrollbar{display:none}
  body.dg .dg-hero-v6 .dg-search-submit{min-height:48px}
}

/* ---------- Search filters: match design (aside.filters) ---------- */
body.dg .results-layout .filters{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}
body.dg .filters .dg-filter-head h3{margin:0;font-size:19px;font-weight:800;letter-spacing:-.01em}
body.dg .filters .filter-block{margin:0;padding:15px 0;border-top:1px solid var(--line);border-bottom:0}
body.dg .filters .dg-filter-head+.filter-block{border-top:0}
body.dg .filters .filter-block h4{margin:0 0 10px;font-size:16px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
body.dg .filters .check{display:flex;align-items:center;gap:10px;margin:9px 0;font-size:14px;font-weight:400;color:var(--ink);cursor:pointer;line-height:1.35}
body.dg .filters .check input{width:17px;height:17px;margin:0;flex:none;accent-color:var(--brand);cursor:pointer}
body.dg .filters .dg-more-btn{background:none;border:0;padding:4px 0 0;color:var(--brand);font-weight:700;font-size:13px;cursor:pointer}
/* price slider — design .range: 5px track, white knobs with brand ring */
body.dg .filters .irs--flat{height:26px;margin:10px 0 8px;font-family:inherit}
body.dg .filters .irs--flat>.irs{height:26px}
body.dg .filters .irs--flat .irs-min,body.dg .filters .irs--flat .irs-max,body.dg .filters .irs--flat .irs-from,body.dg .filters .irs--flat .irs-to,body.dg .filters .irs--flat .irs-single,body.dg .filters .irs-grid{display:none!important}
body.dg .filters .irs--flat .irs-line{top:10px;height:5px;border-radius:3px;background:#dce5e1}
body.dg .filters .irs--flat .irs-bar{top:10px;height:5px;background:var(--brand)!important;border-radius:0}
body.dg .filters .irs--flat .irs-handle{top:1px;width:23px;height:23px;border-radius:50%;background:#fff;border:3px solid var(--brand)!important;box-shadow:none;cursor:grab;box-sizing:border-box}
body.dg .filters .irs--flat .irs-handle>i{display:none!important}
body.dg .filters .irs--flat .irs-handle.state_hover,body.dg .filters .irs--flat .irs-handle:hover{box-shadow:0 0 0 5px rgba(12,107,93,.12)}
body.dg .filters .dg-price-label{font-size:14px;color:var(--muted)}
@media(max-width:800px){
  body.dg .results-layout .filters{padding:0;border:0;border-radius:0;background:rgba(9,27,23,.52)}
  body.dg .dg-filter-sheet{padding:16px 20px 0}
}

/* ---------- Cookie notice: compact card, never over sheets ---------- */
body.dg .booking_cookie_agreement{left:auto!important;right:20px!important;bottom:20px!important;width:min(420px,calc(100% - 40px));padding:14px 16px!important;gap:14px;align-items:center;background:#fff!important;color:var(--ink)!important;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px rgba(20,54,45,.18);z-index:1000!important}
body.dg .booking_cookie_agreement .content-cookie,body.dg .booking_cookie_agreement .content-cookie p{margin:0;font-size:13px;line-height:1.45;color:#53625e}
body.dg .booking_cookie_agreement .content-cookie a{color:var(--brand);font-weight:700}
body.dg .booking_cookie_agreement .save-cookie{flex:none;background:var(--brand)!important;color:#fff!important;border:0;border-radius:12px;padding:10px 16px;font-weight:800;font-size:13px;min-height:0}
body.dg.dg-sheet-open .booking_cookie_agreement,body.dg.map-page-body .booking_cookie_agreement{display:none!important}
@media(max-width:800px){
  body.dg .booking_cookie_agreement{left:12px!important;right:12px!important;width:auto;bottom:calc(82px + env(safe-area-inset-bottom))!important}
}
@media(max-width:800px){
  body.dg .results-layout .filters.open{top:0;bottom:0;height:100%!important;max-height:none!important}
}

/* ---------- Green buttons: always light text ---------- */
body.dg .btn-primary,body.dg .btn.brand,body.dg .btn-search,body.dg .dg-rooms .control-book .btn,body.dg .btn-submit-enquiry,body.dg a.btn.brand{color:#fff!important}
body.dg .btn-primary{background:var(--brand)!important;border-color:var(--brand)!important}
body.dg .btn-primary:hover,body.dg .btn.brand:hover,body.dg .btn-search:hover{background:var(--brand2)!important;border-color:var(--brand2)!important;color:#fff!important}
body.dg .btn-primary .fa,body.dg .btn.brand .fa{color:inherit}

/* ---------- Hotel rooms: date field ---------- */
body.dg .dg-rooms .check-in-render{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.dg .dg-rooms .check-in-render i.fa-long-arrow-right{margin:0 6px;color:var(--muted);font-size:12px!important}
body.dg .dg-rooms .form-search-row .arrow{font-size:16px}

/* ---------- Modals (room gallery, enquiry, review photos) ---------- */
body.dg .modal .modal-content{border:0;border-radius:24px;box-shadow:0 30px 80px rgba(9,27,23,.28);overflow:hidden}
body.dg .modal .modal-header{border:0;padding:20px 22px 8px;align-items:flex-start;gap:14px}
body.dg .modal .modal-title{font-size:22px;font-weight:850;letter-spacing:-.025em;line-height:1.2;margin:0}
body.dg .modal .modal-body{padding:10px 22px 22px}
body.dg .modal .modal-footer{border:0;padding:0 22px 22px;gap:8px}
body.dg .modal .modal-footer>*{margin:0}
body.dg .dg-modal-close{flex:none;margin-left:auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--ink);padding:0;transition:background .15s}
body.dg .dg-modal-close:hover{background:#f1f5f3}
body.dg .dg-modal-close .ui-icon{width:18px;height:18px}
body.dg .modal .form-group{margin-bottom:10px}
body.dg .modal .form-control{border:1px solid var(--line)!important;border-radius:14px!important;height:50px;background:#fafbfa!important;font-size:15px;padding:0 14px;box-shadow:none!important;color:var(--ink)}
body.dg .modal textarea.form-control{height:auto;min-height:110px;padding:12px 14px;resize:vertical}
body.dg .modal .form-control:focus{border-color:var(--brand)!important;background:#fff!important}
body.dg #enquiry_form_modal .modal-dialog{max-width:480px}
body.dg #enquiry_form_modal .modal-footer{display:grid;grid-template-columns:1fr 1.4fr}
body.dg #enquiry_form_modal .modal-footer .btn{min-height:50px;border-radius:14px}
body.dg #enquiry_form_modal .message_box:empty{display:none}
body.dg #enquiry_form_modal .message_box .alert{border-radius:12px;font-size:14px;margin:6px 0 0}
/* room modal */
body.dg .dg-rooms .modal .modal-dialog{max-width:900px}
body.dg .dg-room-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
body.dg .dg-room-chips>span,body.dg .dg-rooms .modal .list-attributes li{display:inline-flex;align-items:center;gap:6px;background:#f1f5f3;border-radius:999px;padding:6px 11px;font-size:13px;font-weight:700;color:var(--ink)}
body.dg .dg-room-chips i,body.dg .dg-rooms .modal .list-attributes li i{color:var(--brand);font-size:14px;margin:0;position:static}
body.dg .dg-rooms .modal .fotorama{border-radius:16px;overflow:hidden;background:#eef2f0}
body.dg .dg-rooms .modal .fotorama__nav-wrap{margin-top:8px}
body.dg .dg-rooms .modal .fotorama__nav__frame{padding:0 3px!important}
body.dg .dg-rooms .modal .fotorama__thumb{border-radius:10px}
body.dg .dg-rooms .modal .fotorama__thumb-border{border-color:var(--brand)!important;border-radius:10px;border-width:2px!important}
body.dg .dg-rooms .modal .fotorama__arr{background:none;width:44px;height:44px;border-radius:50%;background-color:rgba(255,255,255,.92);box-shadow:0 6px 18px rgba(0,0,0,.18);margin:0 10px;display:grid!important;place-items:center}
body.dg .dg-rooms .modal .fotorama__arr:before{content:"";width:10px;height:10px;border:solid var(--ink);border-width:0 2.5px 2.5px 0;transform:rotate(-45deg);margin-left:-4px}
body.dg .dg-rooms .modal .fotorama__arr--prev:before{transform:rotate(135deg);margin:0 -4px 0 0}
body.dg .dg-rooms .modal .fotorama__arr--disabled{opacity:0!important}
body.dg .dg-rooms .modal .list-attributes{margin-top:18px}
body.dg .dg-rooms .modal .attribute-item+.attribute-item{margin-top:14px}
body.dg .dg-rooms .modal .list-attributes .title{font-size:16px;font-weight:800;margin:0 0 10px}
body.dg .dg-rooms .modal .list-attributes ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
body.dg .dg-rooms .modal .list-attributes li{font-weight:600}
@media(max-width:800px){
  body.dg .modal .modal-dialog{margin:0;min-height:100%;align-items:flex-end;max-width:none!important}
  body.dg .modal .modal-content{border-radius:24px 24px 0 0;max-height:92vh;overflow:auto;padding-bottom:env(safe-area-inset-bottom)}
  body.dg .modal .modal-header{padding:18px 16px 6px}
  body.dg .modal .modal-body{padding:8px 16px 16px}
  body.dg .modal .modal-footer{padding:0 16px 16px}
  body.dg .modal .modal-title{font-size:19px}
}

/* ---------- Reviews (compact) ---------- */
body.dg .dg-rv{margin:0;padding:0;border:0}
body.dg .dg-rv-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
body.dg .dg-rv-head h3{margin:0;font-size:19px}
body.dg .dg-rv .score{display:flex;gap:9px;align-items:center;text-align:right}
body.dg .dg-rv .score .small{font-size:12px;line-height:1.3}
body.dg .dg-rv .score-box{background:var(--brand);color:#fff;border-radius:10px;padding:7px 9px;font-weight:900;font-size:15px}
body.dg .dg-rv-bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px;background:#f7f9f7;border-radius:16px;padding:14px 16px;margin-bottom:6px}
body.dg .dg-rv-bar{display:grid;grid-template-columns:minmax(0,1fr) 90px 22px;gap:10px;align-items:center;font-size:13px}
body.dg .dg-rv-bar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
body.dg .dg-rv-bar i{height:5px;border-radius:5px;background:#dce5e1;overflow:hidden;display:block}
body.dg .dg-rv-bar b{display:block;height:100%;background:var(--brand);border-radius:5px}
body.dg .dg-rv-bar em{font-style:normal;font-weight:800;text-align:right;color:var(--muted)}
body.dg .dg-rv-item{padding:14px 0;border-bottom:1px solid var(--line)}
body.dg .dg-rv-author{display:flex;align-items:center;gap:10px}
body.dg .dg-rv-author strong{display:block;font-size:14px;line-height:1.2}
body.dg .dg-rv-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:none;background:#e6f0ed;color:var(--brand);display:grid;place-items:center;font-weight:900}
body.dg .dg-rv-stars{margin-left:auto;color:#d5dcd8;font-size:14px;letter-spacing:1px;white-space:nowrap}
body.dg .dg-rv-stars i{font-style:normal}
body.dg .dg-rv-stars i.on{color:#e0a820}
body.dg .dg-rv-title{font-weight:800;font-size:14px;margin:9px 0 2px}
body.dg .dg-rv-text{font-size:14px;line-height:1.55;color:#34433f;margin-top:6px;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
body.dg .dg-rv-photos{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
body.dg .dg-rv-photos a{width:64px;height:64px;border-radius:10px;background:center/cover #e4ebe7}
body.dg .dg-rv-pag{margin-top:12px}
body.dg .dg-rv-empty{margin:0 0 14px;color:var(--muted);font-size:14px}
body.dg .dg-rv-login{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f7f9f7;border-radius:14px;padding:10px 10px 10px 14px;margin-top:14px;font-size:14px;color:var(--muted)}
body.dg .dg-rv-login .btn{min-height:40px;padding:8px 16px}
body.dg .dg-rv-form{margin-top:14px;padding:0;border:0;background:none}
body.dg .dg-rv-form>summary{list-style:none;cursor:pointer;min-height:44px;display:inline-flex}
body.dg .dg-rv-form>summary::-webkit-details-marker{display:none}
body.dg .dg-rv-form>summary .ui-icon{width:18px;height:18px}
body.dg .dg-rv-form[open]>summary{display:none}
body.dg .dg-rv-form .form-wrapper{background:#f7f9f7;border:0;border-radius:18px;padding:16px;margin:0}
body.dg .dg-rv-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px}
body.dg .dg-rv-fields{display:grid;gap:8px;align-content:start}
body.dg .dg-rv-fields .input{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px 14px;font:inherit;font-size:14px;color:var(--ink);outline:none}
body.dg .dg-rv-fields .input:focus{border-color:var(--brand)}
body.dg .dg-rv-fields textarea.input{min-height:118px;resize:vertical}
body.dg .dg-rv-rates{margin:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px 12px}
body.dg .dg-rv-rates .item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid var(--line)}
body.dg .dg-rv-rates .item:first-child{border-top:0}
body.dg .dg-rv-rates label{margin:0;font-size:13px;font-weight:600;color:var(--ink)}
body.dg .dg-rv-rates .rates{display:flex;gap:2px;white-space:nowrap}
body.dg .dg-rv-rates .rates .fa{font-size:17px;color:#cfd8d4;cursor:pointer;padding:1px}
body.dg .dg-rv-rates .rates .fa.hovered,body.dg .dg-rv-rates .rates .fa.selected{color:#e0a820}
body.dg .dg-rv-rates .rates .fa.hovered:before,body.dg .dg-rv-rates .rates .fa.selected:before{content:"\f005"}
body.dg .dg-rv-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}
body.dg .dg-rv-actions .review_upload_wrap{display:flex;align-items:center;gap:8px;margin-right:auto}
body.dg .dg-rv-actions .review_upload_btn{position:relative;overflow:hidden;min-height:44px;margin:0;width:auto;height:auto;border-style:solid}
body.dg .dg-rv-actions .review_upload_btn .ui-icon{width:18px;height:18px}
body.dg .dg-rv-actions .review_upload_btn input{position:absolute;inset:0;opacity:0;cursor:pointer}
body.dg .dg-rv-actions .review_upload_photo_list{display:flex;gap:6px;margin:0}
body.dg .dg-rv-actions .review_upload_photo_list>div{width:44px;max-width:none;padding:0;margin:0!important;flex:none}
body.dg .dg-rv-actions .review_upload_item{width:44px;height:44px;border-radius:10px;background:center/cover}
body.dg .dg-rv-actions .btn.brand{min-height:44px;padding:0 22px}
body.dg .dg-rv .alert{border-radius:12px;font-size:14px}
@media(max-width:800px){
  body.dg .dg-rv-bars{grid-template-columns:1fr}
  body.dg .dg-rv-grid{grid-template-columns:1fr}
  body.dg .dg-rv-actions .btn.brand{flex:1}
}
body.dg .dg-rooms .form-date-field input.start_date{position:absolute;left:0;bottom:0;width:100%;margin:0;padding:0;border:0}
body.dg .dg-rooms .form-search-row .form-group{display:flex;align-items:center}
body.dg .dg-rooms .form-search-row .form-content{flex:1;min-width:0;padding-right:18px}
/* reviews: beat legacy theme rules */
body.dg .dg-rv .dg-rv-grid{grid-template-columns:minmax(0,1fr) 270px}
body.dg .dg-rv .dg-rv-rates{padding:4px 14px!important;margin:0!important;border:1px solid var(--line)!important;border-radius:14px!important;align-self:start}
body.dg .dg-rv .dg-rv-rates .item{padding:9px 0!important;margin:0!important;border-top:1px solid var(--line)!important;display:flex!important;align-items:center;justify-content:space-between}
body.dg .dg-rv .dg-rv-rates .item:first-child{border-top:0!important}
body.dg .dg-rv .dg-rv-rates label{margin:0!important;font-size:13px!important;color:var(--ink)!important;font-weight:600!important}
body.dg .dg-rv .dg-rv-rates .rates .fa{margin:0!important;font-size:16px!important;padding:1px 2px!important}
body.dg .dg-rv .review_upload_btn{border-radius:14px!important;background:#fff!important;padding:0 16px!important;font-weight:800;gap:8px;align-items:center;display:inline-flex!important}
@media(max-width:800px){body.dg .dg-rv .dg-rv-grid{grid-template-columns:1fr}}
body.dg .dg-rv .dg-rv-rates{height:auto!important;min-height:0!important;align-self:start!important}body.dg .dg-rv .review_upload_wrap{margin:0 auto 0 0!important;padding:0!important}

/* ---------- Rich text: site typography only (vendors can't override sizes/fonts/colours) ---------- */
body.dg .dg-richtext{font-size:15px;line-height:1.65;color:#35443f;font-family:inherit;overflow-wrap:anywhere}
body.dg .dg-richtext *{font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;color:inherit!important;background:transparent!important;letter-spacing:normal!important;max-width:100%!important;box-sizing:border-box!important}
body.dg .dg-richtext div,body.dg .dg-richtext span,body.dg .dg-richtext p,body.dg .dg-richtext li,body.dg .dg-richtext ul,body.dg .dg-richtext ol{width:auto!important;margin-left:0!important;margin-right:0!important;padding-left:0;padding-right:0!important;border:0!important;float:none!important;position:static!important}
body.dg .dg-richtext p{margin:0 0 10px!important}
body.dg .dg-richtext ul,body.dg .dg-richtext ol{padding-left:20px!important;margin:0 0 12px!important}
body.dg .dg-richtext li{margin:0 0 4px!important;padding:0!important}
body.dg .dg-richtext li::marker{color:var(--brand)}
body.dg .dg-richtext h1,body.dg .dg-richtext h2{font-size:20px!important;line-height:1.3!important;font-weight:800!important;margin:18px 0 8px!important;color:var(--ink)!important}
body.dg .dg-richtext h3,body.dg .dg-richtext h4{font-size:17px!important;line-height:1.35!important;font-weight:800!important;margin:16px 0 6px!important;color:var(--ink)!important}
body.dg .dg-richtext h5,body.dg .dg-richtext h6{font-size:15px!important;font-weight:800!important;margin:14px 0 6px!important;color:var(--ink)!important}
body.dg .dg-richtext>*:first-child{margin-top:0!important}
body.dg .dg-richtext a{color:var(--brand)!important;text-decoration:underline}
body.dg .dg-richtext strong,body.dg .dg-richtext b{font-weight:800}
body.dg .dg-richtext img{height:auto!important;border-radius:14px}
body.dg .dg-richtext table{width:100%!important;border-collapse:collapse;font-size:14px!important}
body.dg .dg-richtext td,body.dg .dg-richtext th{border:1px solid var(--line)!important;padding:8px 10px!important}
body.dg .dg-richtext [style*="text-align: right"],body.dg .dg-richtext [style*="text-align:right"]{text-align:left!important}
body.dg .article .dg-richtext{font-size:16px;line-height:1.7}

/* ---------- Photo gallery viewer ---------- */
body.dg .dg-gallery-viewer{position:relative}
body.dg .dg-gallery-top{position:sticky;top:0;z-index:3;gap:14px;padding:14px 20px;background:linear-gradient(180deg,rgba(9,20,18,.96),rgba(9,20,18,.75));backdrop-filter:blur(8px)}
body.dg .dg-gallery-title{display:flex;align-items:baseline;gap:12px;min-width:0}
body.dg .dg-gallery-title strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.dg .dg-gallery-count{flex:none;font-size:13px;font-weight:700;color:rgba(255,255,255,.7);background:rgba(255,255,255,.12);border-radius:999px;padding:3px 10px}
body.dg .dg-gallery-close{flex:none;display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 16px 0 12px;border-radius:999px;border:0;background:#fff;color:var(--ink);font-weight:800;font-size:14px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.25);transition:transform .15s}
body.dg .dg-gallery-close:hover{transform:scale(1.04)}
body.dg .dg-gallery-close .ui-icon{width:20px;height:20px;stroke:var(--ink);stroke-width:2.4}
body.dg .dg-gallery-list{scroll-behavior:smooth;padding-top:6px}
body.dg .dg-gallery-hint{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.95);color:var(--ink);border-radius:999px;padding:10px 16px 10px 12px;font-size:13px;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.3);pointer-events:none;transition:opacity .3s,transform .3s;white-space:nowrap}
body.dg .dg-gallery-hint .ui-icon{width:18px;height:18px;transform:rotate(90deg);animation:dgHintBounce 1.4s ease-in-out infinite;stroke-width:2.4}
body.dg .dg-gallery-hint.is-hidden{opacity:0;transform:translate(-50%,10px)}
@keyframes dgHintBounce{0%,100%{translate:0 -2px}50%{translate:0 3px}}
@media(max-width:800px){
  body.dg .dg-gallery-top{padding:10px 12px}
  body.dg .dg-gallery-close span{display:none}
  body.dg .dg-gallery-close{width:44px;padding:0;justify-content:center}
  body.dg .dg-gallery-list{padding:0 10px 90px;gap:8px}
  body.dg .dg-gallery-hint{bottom:calc(18px + env(safe-area-inset-bottom))}
}

/* Top info bar removed: desktop map fills the space it took */
@media(min-width:801px){body.dg .map-main,body.dg .map-view{height:calc(100vh - 73px)}}

/* ---------- Public host profile (/profile/{id}) — design v7 ---------- */
body.dg .public-profile-page{padding-top:24px}
body.dg .public-profile-shell{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;align-items:start}
body.dg .host-card,body.dg .host-intro-card,body.dg .host-objects-section{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 16px 40px rgba(24,52,44,.06)}
body.dg .host-card{padding:24px;position:sticky;top:96px}
body.dg .host-card-top{display:flex;gap:16px;align-items:flex-start}
body.dg .host-avatar{width:78px;height:78px;flex:none;border-radius:26px;background:linear-gradient(145deg,#e6f2ee,#f3f8f5);display:grid;place-items:center;font-size:26px;font-weight:900;color:var(--brand);border:1px solid #dfece7;box-shadow:inset 0 -10px 20px rgba(12,107,93,.05)}
body.dg .host-avatar-img{background:center/cover}
body.dg .host-headline{min-width:0}
body.dg .host-headline h1{margin:10px 0 4px;font-size:28px;line-height:1.03;letter-spacing:-.03em;overflow-wrap:anywhere}
body.dg .host-headline p{margin:0;color:var(--muted);font-size:14px}
body.dg .host-badge{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:999px;background:#e9f4f0;color:var(--brand2);font-size:12px;font-weight:900}
body.dg .host-badge.is-plain{background:#f1f5f3;color:#415650}
body.dg .host-badge .ui-icon{width:14px;height:14px;stroke-width:2}
body.dg .host-quick-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 18px}
body.dg .host-quick-meta div{background:#f7faf8;border:1px solid #e8eeeb;border-radius:18px;padding:12px 8px;text-align:center;min-width:0}
body.dg .host-quick-meta strong{display:block;font-size:14px;letter-spacing:-.02em;line-height:1.25}
body.dg .host-quick-meta span{display:block;font-size:11px;color:var(--muted);margin-top:3px}
body.dg .host-note{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:16px;border-radius:18px;background:linear-gradient(135deg,#f8fbfa,#eef5f2);border:1px solid #e5eeea}
body.dg .host-note>.ui-icon{width:38px;height:38px;padding:9px;border-radius:12px;background:#fff;color:var(--brand);border:1px solid #dbe9e4}
body.dg .host-note strong{display:block;font-size:14px;margin-bottom:4px}
body.dg .host-note span{display:block;font-size:13px;color:#52635d;line-height:1.45}
body.dg .host-verify{margin-top:18px;padding-top:18px;border-top:1px solid #edf1ee}
body.dg .section-mini-title{font-size:12px;font-weight:900;letter-spacing:.08em;color:#7b8b86;text-transform:uppercase;margin-bottom:10px}
body.dg .verify-item{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:14px;color:var(--ink)}
body.dg a.verify-item:hover{color:var(--brand)}
body.dg .verify-mark{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#e8f3ef;color:var(--brand);border:1px solid #dbe9e4;flex:none}
body.dg .verify-mark .ui-icon{width:16px;height:16px;stroke-width:2.1}
body.dg .verify-item.no{color:var(--muted)}
body.dg .verify-item.no .verify-mark{background:#f4f6f5;color:#9aa7a3;border-color:#e6ebe8}
body.dg .host-content{min-width:0;display:grid;gap:18px}
body.dg .host-intro-card{padding:24px 26px;display:flex;justify-content:space-between;gap:18px;align-items:end}
body.dg .host-intro-card h2{margin:6px 0 8px;font-size:40px;line-height:1.02;letter-spacing:-.04em}
body.dg .host-intro-card p,body.dg .host-intro-card .host-bio{max-width:660px;margin:0;color:var(--muted);font-size:15px}
body.dg .host-intro-actions{display:flex;gap:10px;flex-wrap:wrap;flex:none}
body.dg .host-intro-actions .ui-icon{width:18px;height:18px}
body.dg .host-tabs-bar{display:flex;gap:8px;margin:0}
body.dg .host-tabs-bar a{height:42px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid var(--line);display:inline-flex;align-items:center;gap:7px;font-weight:850;font-size:13px;color:#415650}
body.dg .host-tabs-bar a span{font-size:11px;opacity:.65}
body.dg .host-tabs-bar a.active{background:#11231f;color:#fff;border-color:#11231f}
body.dg .host-objects-section{padding:24px}
body.dg .host-objects-section[hidden]{display:none}
body.dg .host-objects-section .section-title{margin-bottom:16px}
body.dg .host-objects-section .section-title h2{margin:2px 0 0}
body.dg .host-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
body.dg .host-cards-grid .card{border-radius:22px;box-shadow:none;min-width:0}
body.dg .host-cards-grid .card-img{aspect-ratio:1.25/1;height:auto}
body.dg .host-bottom-cta{display:flex;justify-content:center;padding-top:22px}
body.dg .host-empty h2{font-size:22px;margin:0 0 6px}
body.dg .host-empty p{margin:0}
body.dg .host-reviews .dg-rv-item:last-of-type{border-bottom:0}
@media(max-width:1100px){
  body.dg .public-profile-shell{grid-template-columns:290px minmax(0,1fr)}
  body.dg .host-intro-card h2{font-size:34px}
  body.dg .host-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  body.dg .public-profile-shell{grid-template-columns:1fr}
  body.dg .host-card{position:static}
  body.dg .host-intro-card{display:block}
  body.dg .host-intro-actions{margin-top:16px}
}
@media(max-width:700px){
  body.dg .public-profile-page{padding-top:16px}
  body.dg .host-card,body.dg .host-intro-card,body.dg .host-objects-section{border-radius:22px}
  body.dg .host-card{padding:16px}
  body.dg .host-card-top{display:block}
  body.dg .host-avatar{width:66px;height:66px;border-radius:22px;font-size:23px;margin-bottom:12px}
  body.dg .host-headline h1{font-size:25px}
  body.dg .host-quick-meta{gap:8px}
  body.dg .host-quick-meta div{padding:10px 6px;border-radius:16px}
  body.dg .host-quick-meta strong{font-size:13px}
  body.dg .host-note{padding:14px}
  body.dg .host-intro-card{padding:18px}
  body.dg .host-intro-card h2{font-size:28px}
  body.dg .host-intro-card p{font-size:14px}
  body.dg .host-intro-actions .btn{flex:1}
  body.dg .host-tabs-bar{overflow:auto;padding-bottom:2px;scrollbar-width:none}
  body.dg .host-tabs-bar::-webkit-scrollbar{display:none}
  body.dg .host-tabs-bar a{white-space:nowrap}
  body.dg .host-objects-section{padding:18px;overflow:hidden}
  body.dg .host-cards-grid{display:flex;overflow:auto;gap:12px;margin-right:-18px;padding-right:18px;scroll-snap-type:x mandatory;scrollbar-width:none}
  body.dg .host-cards-grid .card{min-width:76vw;scroll-snap-align:start}
  body.dg .host-bottom-cta{padding-top:18px}
  body.dg .host-bottom-cta .btn{width:100%}
}
body.dg .host-headline h1{overflow-wrap:normal;word-break:normal;hyphens:manual;font-size:26px}
body.dg .host-quick-meta strong{white-space:nowrap}
body.dg .public-profile-shell>*,body.dg .host-content>*{min-width:0;max-width:100%}body.dg .host-content{grid-template-columns:minmax(0,1fr)}body.dg .host-intro-card h2{overflow-wrap:break-word}

/* Home: trust strip directly under the hero, then quick pills */
body.dg .dg-home-trust>.section{padding:6px 0 0}
body.dg .dg-home-trust+.dg-quick{padding-top:18px}
body.dg .dg-home-trust>.section{padding:4px 0 8px}
