/*
Theme Name: Plaza Child
Template: wp_plaza_theme
Version: 1.0
Text Domain: plaza-child
*/

.head-slider-enabled.slider-over .logomenupart.fx-menu-slide{background: inherit !important;border-bottom: 1px solid #b9826345;}

/* =========================================================
   01. Design Tokens
   ========================================================= */
:root{
  --k3-primary: #B98263;
  --k3-primary-dark: #9E6C51;
  --k3-primary-rgb: 185, 130, 99;

  --k3-accent: #CFA383;
  --k3-accent-soft: #E6C7B0;

  --k3-secondary: #1B2426;
  --k3-secondary-dark: #11191B;
  --k3-secondary-rgb: 27, 36, 38;

  --k3-bg: #F7F1EA;
  --k3-bg-soft: #EFE5DA;
  --k3-surface: #FFFFFF;
  --k3-border: #D8C8B8;

  --k3-text: #242424;
  --k3-text-soft: #6F6A65;
  --k3-text-muted: #8A817A;
  --k3-white: #FFFFFF;

  --k3-success-bg: #EEF8F1;
  --k3-success-border: #D7EEDD;
  --k3-success-text: #2D6C46;

  --k3-shadow: 0 14px 36px rgba(var(--k3-secondary-rgb), .08);
  --k3-shadow-soft: 0 10px 24px rgba(var(--k3-secondary-rgb), .05);
  --k3-shadow-hover: 0 18px 42px rgba(var(--k3-secondary-rgb), .12);

  --k3-radius: 10px;
  --k3-radius-sm: 4px;
  --k3-radius-pill: 999px;

  --k3-font-body: 'Source Sans 3', 'Noto Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --k3-font-heading: 'Cormorant Garamond', 'Noto Serif', Georgia, serif;
}

/* =========================================================
   02. Base Typography / Global Elements
   ========================================================= */
html{
  scroll-behavior: smooth;
}

body{
  background: var(--k3-bg);
}

body,
p,
li,
input,
select,
textarea,
button,
a {
  font-family: var(--k3-font-body) !important;
  color: var(--k3-text);
}

h1, h2, h3, h4, h5, h6,
.site-title,
.entry-title,
.widget-title,
.main-title {
  font-family: var(--k3-font-heading) !important;
  color: var(--k3-text);
}

/* Kadence Buttons - Fill */
.wp-block-kadence-advancedbtn .kt-btn-wrap .kt-button,
.wp-block-kadence-advancedbtn .kt-button,
.kt-button,
.kb-button,
.wp-block-button__link {
  background: var(--k3-primary) !important;
  color: var(--k3-white) !important;
  border: 1px solid var(--k3-primary) !important;
  border-radius: 4px !important;
  font-family: var(--k3-font-body) !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: all 0.25s ease;
}

.wp-block-kadence-advancedbtn .kt-btn-wrap .kt-button:hover,
.wp-block-kadence-advancedbtn .kt-button:hover,
.kt-button:hover,
.kb-button:hover,
.wp-block-button__link:hover {
  background: var(--k3-accent) !important;
  color: var(--k3-white) !important;
  border-color: var(--k3-accent) !important;
  box-shadow: 0 8px 20px rgba(var(--k3-primary-rgb), .12) !important;
}

/* Kadence Buttons - Outline */
.wp-block-kadence-advancedbtn .kt-btn-wrap .kt-button.kt-btn-style-outline,
.wp-block-kadence-advancedbtn .kt-button.kt-btn-style-outline,
.kt-button.kt-btn-style-outline {
  background: transparent !important;
  color: var(--k3-primary) !important;
  border: 1.5px solid var(--k3-primary) !important;
}

.wp-block-kadence-advancedbtn .kt-btn-wrap .kt-button.kt-btn-style-outline:hover,
.wp-block-kadence-advancedbtn .kt-button.kt-btn-style-outline:hover,
.kt-button.kt-btn-style-outline:hover {
  background: var(--k3-primary) !important;
  color: var(--k3-white) !important;
  border-color: var(--k3-primary) !important;
}

/* λίγο καλύτερο padding */
.wp-block-kadence-advancedbtn .kt-btn-wrap .kt-button,
.wp-block-kadence-advancedbtn .kt-button,
.kt-button,
.kb-button {
  padding: 12px 22px !important;
  min-height: 44px;
}

/* μικρότερα buttons σε κινητό */
@media (max-width: 767px){
  .wp-block-kadence-advancedbtn .kt-btn-wrap .kt-button,
  .wp-block-kadence-advancedbtn .kt-button,
  .kt-button,
  .kb-button {
    padding: 10px 18px !important;
    font-size: 14px !important;
  }
}

/* Main navigation booking CTA. Add CSS class "menu-book-now" to the Book Now menu item. Legacy menu IDs kept as fallback during migration. */
.menu-book-now > a,
#menu-item-57 > a,
#menu-item-147 > a,
#menu-item-406 > a,
#menu-item-451 > a{
  background: var(--k3-primary) !important;
  color: var(--k3-white) !important;
  padding: 12px 26px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: all .25s ease;
  box-shadow: 0 6px 16px rgba(var(--k3-primary-rgb), .18);
  border: none;
}

.menu-book-now > a:hover,
#menu-item-57 > a:hover,
#menu-item-147 > a:hover,
#menu-item-406 > a:hover,
#menu-item-451 > a:hover{
  background: var(--k3-primary-dark) !important;
  color: var(--k3-white) !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(var(--k3-primary-rgb), .25);
}

.lang-item a{color:var(--k3-primary) !important;margin-right: 20px;font-weight: 500}
.head-slider-enabled,.mainmenu .menu > .menu-item-has-children > .nav-child, .modopen > div{background:#fff !important;}
.head-slider-enabled > a, .mainmenu .moduletable .logo-align-cnt>ul>li>div>*, .head-slider-enabled .upmenu-content .moduletable a,
.vikwp_gc-cnt-multiple .vikwp_gc-title, .testimonial-hp .vikqt-grid-l .vikqt_title{color:var(--k3-primary) !important;}
.home #fullbox{background:var(--k3-bg-soft);}
#block-5{background:linear-gradient(180deg, var(--k3-bg-soft) 0%, var(--k3-bg) 100%) !important;}
#block-6{background:#ffffff !important;}
#block-7{background:var(--k3-bg) !important;}
#block-8{background: linear-gradient(135deg, var(--k3-bg) 0%, var(--k3-bg-soft) 100%) !important;}

#menu-item-81 > div > a > img, #menu-item-81-el > div > a > img, #menu-item-81-en > div > a > img{padding:0;}
#menu-item-81-en > div > a > img{margin-top:10px;}
.icomenu-enabled #tbar-logo{padding:15px !important;}
#tbar-logo img{max-height:50px;padding:8px;}
.fx-menu-slide #tbar-logo img {max-height: 45px !important;}
#module-box2{background:var(--k3-bg) !important;}

footer{
	background: #11191B  !important;
	color: var(--k3-bg-soft);
}
footer > a{color:var(--k3-bg-soft);}
footer > a:hover{color:var(--k3-accent);}

/*vik*/
.vbmodrooms-divblock .vbmodroomsbeds{font-size:16px;}
.vbmodroomsboxdiv .vbo-room-carats .vbo-room-carat{font-size:14px;}
/* =========================
   VIK BOOKING ROOM CARDS
   Premium polish for homepage/module cards
   ========================= */

/* κάθε card */
.vbmodrooms-item .vbmodroomsboxdiv {
  background: var(--k3-bg);
  border: 1px solid var(--k3-border);
  border-radius: var(--k3-radius);
  overflow: hidden;
  box-shadow: var(--k3-shadow);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  height: 100%;
}

/* hover */
.vbmodrooms-item .vbmodroomsboxdiv:hover {
  transform: translateY(-4px);
  box-shadow: var(--k3-shadow-hover);
  border-color: rgba(var(--k3-primary-rgb), .18);
}

/* image wrapper */
.vbmodrooms-item .vbmodrooms-img-link {
  display: block;
  overflow: hidden;
}

/* image */
.vbmodrooms-item .vbmodroomsimg {
  display: block;
  width: 100%;
  height: 250px;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.vbmodrooms-item .vbmodroomsboxdiv:hover .vbmodroomsimg {
  transform: scale(1.03);
}

/* content area */
.vbmodrooms-item .vbinf {
  padding: 18px 20px 8px;
}

/* title + nights */
.vbmodrooms-item .vbmodrooms-divblock {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 14px;
}

.vbmodrooms-item .vbmodroomsname {
  display: block;
  font-family: var(--k3-font-heading);
  font-size: 24px;
  line-height: 1.2;
  color: var(--k3-text);
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.vbmodrooms-item .vbmodroomsbeds {
  display: block;
  font-family: var(--k3-font-body);
  font-size: 13px;
  line-height: 1.4;
  color: var(--k3-text-soft);
  font-weight: 500;
}

/* amenities area */
.vbmodrooms-item .vbmodrooms-carats {
  margin: 0 0 18px;
}

.vbmodrooms-item .vbo-room-carats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
}

.vbmodrooms-item .vbo-room-carat {
  margin: 0;
}

.vbmodrooms-item .vbo-room-carat .vbo-expl {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--k3-font-body);
  font-size: 13px;
  line-height: 1.35;
  color: var(--k3-text-soft);
  background: var(--k3-bg);
  border: 1px solid var(--k3-border);
  border-radius: 20px;
  padding: 6px 10px;
}

.vbmodrooms-item .vbo-room-carat .vbo-icn-carat {
  font-size: 13px;
  color: var(--k3-primary);
}

/* τιμή */
.vbmodrooms-item .vbmodroomsroomcost {
  display: flex;
  align-items: baseline;
  gap: 3px;
  margin-top: 6px;
  margin-bottom: 0;
  color: var(--k3-text);
}

.vbmodrooms-item .vbmodroomsroomcost .vbo_currency {
  font-size: 18px;
  font-weight: 600;
  color: var(--k3-primary);
}

.vbmodrooms-item .vbmodroomsroomcost .vbo_price {
  font-size: 32px;
  line-height: 1;
  font-weight: 700;
  color: var(--k3-primary);
  letter-spacing: -0.02em;
}

/* optional label after price */
.vbmodrooms-item .vbmodroomsroomcost::after {
  content: " / διανυκτέρευση";
  font-size: 13px;
  font-weight: 500;
  color: var(--k3-text-soft);
  margin-left: 4px;
}

/* button wrapper */
.vbmodrooms-item .vbmodroomsview {
  padding: 0 20px 20px;
}

/* button */
.vbmodrooms-item .vbmodroomsview a,
.vbmodrooms-item .vbmodroomsview .btn,
.vbmodrooms-item .vbo-pref-color-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  background: var(--k3-primary) !important;
  color: #fff !important;
  border: 1px solid var(--k3-primary) !important;
  border-radius: 4px !important;
  font-family: var(--k3-font-body);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: all 0.25s ease;
}

.vbmodrooms-item .vbmodroomsview a:hover,
.vbmodrooms-item .vbmodroomsview .btn:hover,
.vbmodrooms-item .vbo-pref-color-btn:hover {
  background: var(--k3-accent) !important;
  border-color: var(--k3-accent) !important;
  color: #fff !important;
}

/* carousel spacing */
#vbo-modrooms-695 .owl-stage {
  display: flex;
}

#vbo-modrooms-695 .owl-item {
  display: flex;
}

#vbo-modrooms-695 .vbmodrooms-item {
  width: 100%;
}

/* tighter cards on tablet/mobile */
@media (max-width: 1024px) {
  .vbmodrooms-item .vbmodroomsimg {
    height: 220px;
  }

  .vbmodrooms-item .vbmodroomsname {
    font-size: 22px;
  }

  .vbmodrooms-item .vbinf {
    padding: 16px 16px 8px;
  }

  .vbmodrooms-item .vbmodroomsview {
    padding: 0 16px 16px;
  }
}

@media (max-width: 767px) {
  .vbmodrooms-item .vbmodroomsimg {
    height: 210px;
  }

  .vbmodrooms-item .vbmodroomsname {
    font-size: 20px;
  }

  .vbmodrooms-item .vbmodroomsroomcost .vbo_price {
    font-size: 28px;
  }

  .vbmodrooms-item .vbo-room-carats {
    gap: 8px;
  }

  .vbmodrooms-item .vbo-room-carat .vbo-expl {
    font-size: 12px;
    padding: 5px 9px;
  }
}

/* =========================
   CENTER CONTENT IN ROOM CARDS
   ========================= */

/* κεντράρει όλο το text */
.vbmodrooms-item .vbinf {
  text-align: center;
}

/* title + subtitle */
.vbmodrooms-item .vbmodrooms-divblock {
  align-items: center;
  text-align: center;
}

/* amenities */
.vbmodrooms-item .vbo-room-carats {
  justify-content: center;
}

/* price */
.vbmodrooms-item .vbmodroomsroomcost {
  justify-content: center;
}

/* button wrapper */
.vbmodrooms-item .vbmodroomsview {
  display: flex;
  justify-content: center;
}

/* button width λίγο πιο elegant */
.vbmodrooms-item .vbmodroomsview a,
.vbmodrooms-item .vbmodroomsview .btn,
.vbmodrooms-item .vbo-pref-color-btn {
  width: 85%;
  max-width: 220px;
}

/* mobile polish */
@media (max-width: 767px){

  .vbmodrooms-item .vbo-room-carats {
    justify-content: center;
  }

  .vbmodrooms-item .vbo-room-carat .vbo-expl {
    justify-content: center;
  }

  .vbmodrooms-item .vbmodroomsroomcost {
    justify-content: center;
  }

}
.vbmodrooms-item .vbmodroomsroomcost{
  margin-top:12px;
  margin-bottom:14px;
}
.vbmodroomsdesc{font-size:16px;}
.vbmodrooms-item .vbo-room-carat:has(.fa-bath),
.vbmodrooms-item .vbo-room-carat:has(.fa-wind),
.vbmodrooms-item .vbo-room-carat:has(.fa-check),
.vbmodrooms-item .vbo-room-carat:has(.fa-baby),
.vbmodrooms-item .vbo-room-carat:has(.fa-smoking-ban),
.vbmodrooms-item .vbo-room-carat:has(.fa-broom),
.vbmodrooms-item .vbo-room-carat:has(.fa-snowflake) {
  display: none !important;
}

/* =========================
   ROOM AMENITIES – PREMIUM PILLS
   ========================= */

.vbo-listing-amenities {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  margin-top: 15px;
}

/* κάθε amenity */
.vbo-listing-amenity {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  background: var(--k3-bg);
  border: 1px solid var(--k3-border);

  padding: 8px 14px;
  border-radius: 22px;

  font-size: 14px;
  font-weight: 500;
  color: var(--k3-text);

  transition: all .25s ease;
}

/* hover */
.vbo-listing-amenity:hover {
  background: var(--k3-bg-soft);
  border-color: var(--k3-border);
  transform: translateY(-1px);
}

/* icon */
.vbo-listing-amenity-textimg i {
  font-size: 14px;
  color: var(--k3-primary);
}

/* label */
.vbo-listing-amenity-name {
  font-family: var(--k3-font-body);
  letter-spacing: 0.01em;
}

/* τίτλος */
.vbo-listing-amenities-wrap h4 {
  font-family: var(--k3-font-heading);
  font-size: 22px;
  margin-bottom: 12px;
  color: var(--k3-text);
}
@media (max-width:768px){

.vbo-listing-amenity{
  font-size:13px;
  padding:7px 12px;
}

}

/*booking page*/
/* =========================
   BOOKING PAGE – INTRO
   ========================= */

.k3-booking-intro{
  max-width: 900px;
  margin: 0 auto 30px;
  text-align: center;
}

.k3-booking-intro h2{
  font-family: var(--k3-font-heading);
  font-size: 38px;
  line-height: 1.2;
  color: var(--k3-text);
  margin-bottom: 14px;
}

.k3-booking-intro p{
  max-width: 760px;
  margin: 0 auto 24px;
  font-size: 16px;
  line-height: 1.7;
  color: var(--k3-text-soft);
}

/* trust bar */
.k3-booking-trust{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.k3-trust-item{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid var(--k3-border);
  background: #FFFFFF;
  border-radius: 22px;
  font-size: 14px;
  font-weight: 600;
  color: var(--k3-text);
}

.k3-trust-item i{
  color: var(--k3-primary);
  font-size: 14px;
}

/* =========================
   BOOKING FORM CARD
   ========================= */

.vbdivsearch.vbo-search-mainview{
  max-width: 760px;
  margin: 0 auto;
}

.vbdivsearch.vbo-search-mainview form{
  margin: 0;
}

.vbo-search-mainview .vb-search-inner{width:75% !important;}
.vbdivsearch.vbo-search-mainview .vb-search-inner{
  background: #FFFFFF;
  border: 1px solid var(--k3-border);
  border-radius: 12px;
  box-shadow: 0 18px 40px rgba(var(--k3-secondary-rgb), .08);
  padding: 34px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 18px;
}

/* full width blocks where needed */
.vbdivsearch.vbo-search-mainview .vbo-search-num-racblock,
.vbdivsearch.vbo-search-mainview .vbo-search-submit{
  grid-column: 1 / -1;
}

/* labels */
.vbdivsearch.vbo-search-mainview label,
.vbdivsearch.vbo-search-mainview .vbo-search-num-adults-entry-label,
.vbdivsearch.vbo-search-mainview .vbo-search-num-children-entry-label,
.vbdivsearch.vbo-search-mainview .vbo-search-roomnum{
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--k3-text-soft);
  margin-bottom: 8px;
}

/* inputs / selects */
.vbdivsearch.vbo-search-mainview input[type="text"],
.vbdivsearch.vbo-search-mainview select{
  width: 100%;
  height: 48px;
  border: 1px solid var(--k3-border);
  border-radius: 8px;
  background: #FFFFFF;
  color: var(--k3-text);
  font-size: 15px;
  padding: 0 14px;
  box-shadow: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.vbdivsearch.vbo-search-mainview input[type="text"]:focus,
.vbdivsearch.vbo-search-mainview select:focus{
  border-color: var(--k3-primary);
  box-shadow: 0 0 0 3px rgba(var(--k3-primary-rgb), .08);
  outline: none;
}

/* date input group */
.vbdivsearch.vbo-search-mainview .input-group{
  position: relative;
}

.vbdivsearch.vbo-search-mainview .input-group input{
  padding-right: 40px;
}

.vbdivsearch.vbo-search-mainview .vbo-caltrigger{
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--k3-primary);
  pointer-events: none;
  font-size: 15px;
}

/* rooms/adults/children block */
.vbdivsearch.vbo-search-mainview .vbo-search-num-racblock{
  margin-top: 2px;
}

.vbdivsearch.vbo-search-mainview .vbo-search-num-rooms{
  margin-bottom: 14px;
}

.vbdivsearch.vbo-search-mainview .vbo-search-num-aduchild-block{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.vbdivsearch.vbo-search-mainview .vbo-search-num-aduchild-entry{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 14px;
  align-items: end;
  padding: 14px;
  border: 1px solid #EEF3F6;
  border-radius: 10px;
  background: var(--k3-bg);
}

.vbdivsearch.vbo-search-mainview .vbo-search-roomnum{
  grid-column: 1 / -1;
  margin-bottom: 0;
  color: var(--k3-text);
  font-weight: 700;
}

/* button */
.vbdivsearch.vbo-search-mainview .vbo-search-submit{
  margin-top: 4px;
}

.vbdivsearch.vbo-search-mainview .vbo-search-submit .btn,
.vbdivsearch.vbo-search-mainview .vbo-search-submit .vbo-pref-color-btn{
  width: 100%;
  min-height: 52px;
  border-radius: 8px;
  background: var(--k3-primary) !important;
  border: 1px solid var(--k3-primary) !important;
  color: #FFFFFF !important;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: none !important;
  transition: all .25s ease;
}

.vbdivsearch.vbo-search-mainview .vbo-search-submit .btn:hover,
.vbdivsearch.vbo-search-mainview .vbo-search-submit .vbo-pref-color-btn:hover{
  background: var(--k3-accent) !important;
  border-color: var(--k3-accent) !important;
  color: #FFFFFF !important;
}

/* helper nights text if appears */
#vbjstotnights{
  margin-top: 8px;
  font-size: 13px;
  color: var(--k3-text-soft);
}

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 767px){
	.vbdivsearch.vbo-search-mainview{padding:10px !important;}
  .k3-booking-intro h2{
    font-size: 30px;
  }

  .vbdivsearch.vbo-search-mainview .vb-search-inner{
    grid-template-columns: 1fr;
    padding: 22px;
    gap: 16px;
  }

  .vbdivsearch.vbo-search-mainview .vbo-search-num-aduchild-entry{
    grid-template-columns: 1fr;
  }
}
.vbdivsearch{background:none;}

.k3-trust-item{
  padding: 12px 16px;
  border: 1px solid var(--k3-border);
  background: #FFFFFF;
  border-radius: 24px;
  font-size: 14px;
  font-weight: 600;
}
.k3-trust-item i{
  font-size: 15px;
  color: var(--k3-primary);
}
.vbdivsearch.vbo-search-mainview input[type="text"],
.vbdivsearch.vbo-search-mainview select{
  height: 50px;
  border-radius: 9px;
  font-size: 15px;
}
.k3-booking-intro{
  margin: 0 auto 40px;
}

.k3-booking-intro h2{
  margin-bottom: 18px;
}

.k3-booking-intro p{
  margin-bottom: 28px;
}

/*search page*/
/* =========================
   SEARCH SUMMARY BAR
   ========================= */
.vbo-results-head{
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  align-items: stretch;
  background: #FFFFFF;
  border: 1px solid var(--k3-border);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(var(--k3-secondary-rgb), .06);
  overflow: hidden;
  margin-bottom: 26px;
}

.vbo-results-head > div{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  border-right: 1px solid var(--k3-border);
  min-height: 72px;
}

.vbo-results-head > div:last-child{
  border-right: 0;
}

.vbo-results-head i{
  color: var(--k3-primary);
  font-size: 16px;
  min-width: 18px;
  text-align: center;
}

.vbo-results-head-det{
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.vbo-results-head-det-lbl{
  font-size: 12px;
  line-height: 1.2;
  color: var(--k3-text-soft);
  font-weight: 600;
}

.vbo-results-head-det-val{
  font-size: 16px;
  line-height: 1.25;
  color: var(--k3-text);
  font-weight: 700;
}

/* change dates button */
.vbo-results-chdates{
  margin-left: auto;
  background: var(--k3-bg-soft);
}

.vbo-results-chdates a,
.vbo-results-chdates .vbo-pref-color-btn-secondary{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 7px;
  background: transparent !important;
  color: var(--k3-primary) !important;
  border: 1px solid rgba(var(--k3-primary-rgb), .18) !important;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all .25s ease;
}

.vbo-results-chdates a:hover,
.vbo-results-chdates .vbo-pref-color-btn-secondary:hover{
  background: var(--k3-primary) !important;
  color: #fff !important;
  border-color: var(--k3-primary) !important;
}

/* =========================
   AMENITIES
   ========================= */
.roomlist_carats{
  margin-top: 4px;
}

.roomlist_carats .vbo-room-carats{
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
}

.roomlist_carats .vbo-room-carat{
  margin: 0;
}

.roomlist_carats .vbo-room-carat .vbo-expl{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  background: var(--k3-bg-soft);
  border: 1px solid var(--k3-border);
  border-radius: 999px;
  color: var(--k3-text-soft);
  font-size: 13px;
  line-height: 1.35;
}

.roomlist_carats .vbo-room-carat .vbo-icn-carat{
  color: var(--k3-primary);
  font-size: 13px;
}

.roomlist_carats .vbo-room-carat span{
  white-space: nowrap;
}

/* =========================
   PRICE + CTA
   ========================= */
.vbdivtot{
  margin-top: 22px;
  border-top: 1px solid var(--k3-border);
}

.vbdivtotinline{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
}

.vbsrowpricediv{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.vbsrowprice{padding:10px 10px 0;}
.room_cost{
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  color: var(--k3-primary);
}

.room_cost .vbo_currency{
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
  color: var(--k3-primary);
}

.room_cost .vbo_price{
  font-size: 44px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--k3-primary);
}

/* label κάτω από την τιμή */
.vbsrowpricediv::after{
  content: "συνολική τιμή";
  display: block;
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.35;
  color: var(--k3-text-soft);
  font-weight: 500;
}

/* CTA button */
.vbselectordiv{
  min-width: 240px;
}

.vbselectordiv .vbselectr-result,
.vbselectordiv .btn.vbselectr-result{
  width: 100%;
  min-height: 50px;
  border-radius: 6px;
  background: var(--k3-primary) !important;
  border: 1px solid var(--k3-primary) !important;
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  box-shadow: none !important;
  transition: all .25s ease;
}

.vbselectordiv .vbselectr-result:hover,
.vbselectordiv .btn.vbselectr-result:hover{
  background: var(--k3-accent) !important;
  border-color: var(--k3-accent) !important;
  color: #fff !important;
}
/* =========================
   CONTENT AREA
   ========================= */
.vblistroomblock .vbcontdivtot{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  /*padding: 28px 30px 24px;*/
}

.vbo-info-room{
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* capacity */
.vbrowroomcapacity{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--k3-primary);
  font-size: 14px;
  margin-bottom: 6px;
}

/* title */
.vbrowcname{
  font-family: var(--k3-font-heading);
  font-size: 34px;
  line-height: 1.15;
  color: var(--k3-text);
  margin: 0 0 10px;
  font-weight: 700;
}

/* description */
.vbrowcdescr{
  font-size: 16px;
  line-height: 1.75;
  color: var(--k3-text-soft);
  margin: 0;
}

/* read more */
.vbo-result-readmore-wrap{
  margin-top: 10px;
}

.vbo-result-readmore-trig{
  color: var(--k3-accent) !important;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
}

.vbo-result-readmore-trig:hover{
  color: var(--k3-primary) !important;
}
.room_item.room_resultdiffusage,
.room_item .vblistroomblock:first-child .vbimglistdiv .vbo-dots-slider-selector .vik-dots-slider-inner .vik-dots-slider-slides .vik-dots-slider-slide{background:#fbfbfb !important;}
.room_resultdiffusage{border-radius:4px;border:1px solid #dedede;}

.vbroomimgbg .vbroomimgbg-backgr{background-size:contain !important;background-position:top !important;}

.roomlist_carats .vbo-room-carat:has(.fa-bath),
.roomlist_carats .vbo-room-carat:has(.fa-wind),
.roomlist_carats .vbo-room-carat:has(.fa-check),
.roomlist_carats .vbo-room-carat:has(.fa-baby),
.roomlist_carats .vbo-room-carat:has(.fa-smoking-ban),
.roomlist_carats .vbo-room-carat:has(.fa-broom),
.roomlist_carats .vbo-room-carat:has(.fa-snowflake) {
  display: none !important;
}

/*end-vik*/


#tbar-upmenu{display:none !important;}
#headt-part{border-bottom:1px solid #dddddd;}
/* =========================================
   K3 – MOBILE RESULTS PAGE POLISH
   ========================================= */

@media (max-width: 767px){

  /* -------------------------
     1) HEADER / TOP BAR
     ------------------------- */	
  .logomenupart,
  .site-header,
  #masthead {
    border-bottom: 1px solid #E8EEF3 !important;
    box-shadow: none !important;
  }

  #tbar-upmenu a,
  #tbar-logo a,
  .logo img,
  .custom-logo {
    max-height: 44px !important;
    width: auto !important;
  }

  /* -------------------------
     2) PAGE INTRO
     ------------------------- */
  .k3-booking-intro {
    max-width: 100% !important;
    margin: 0 auto 22px !important;
    padding: 0 18px !important;
    text-align: center !important;
  }

	.post-content, .kb-row-layout-id18_c14f15-c3 > .kt-row-column-wrap{padding-top:0px !important;}
  .kt-inside-inner-col h1, .kt-inside-inner-col h2 {
    font-size: 22px !important;
    line-height: 1.18 !important;
    margin-bottom: 8px !important;
  }

  .kt-inside-inner-col p {
    font-size: 15px !important;
    line-height: 1.55 !important;
    margin: 0 auto 8px !important;
    max-width: 100% !important;
  }

  /* -------------------------
     3) TRUST PILLS
     ------------------------- */
  .k3-booking-trust {
    gap: 8px !important;
    justify-content: center !important;
  }

  .k3-trust-item {
    padding: 7px 10px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    border-radius: 18px !important;
    gap: 6px !important;
  }

  .k3-trust-item i {
    font-size: 12px !important;
  }

  /* -------------------------
     4) STEPPER
     ------------------------- */
  .vbo-results-progress,
  .vbo-results-stepbox,
  .vbo-results-steps,
  .vbo-results-head-progress {
    margin-bottom: 14px !important;
  }

  .vbo-results-progress *,
  .vbo-results-stepbox *,
  .vbo-results-steps * {
    font-size: 11px !important;
  }

  /* -------------------------
     5) SUMMARY BAR
     ------------------------- */
  .vbo-results-head {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin-bottom: 16px !important;
  }

  .vbo-results-head > div {
    min-height: 58px !important;
    padding: 10px 12px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--k3-border) !important;
  }

  .vbo-results-head > div:nth-last-child(1),
  .vbo-results-head > div:nth-last-child(2) {
    border-bottom: 0 !important;
  }

  .vbo-results-head i {
    font-size: 13px !important;
  }

  .vbo-results-head-det-lbl {
    font-size: 10px !important;
  }

  .vbo-results-head-det-val {
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  .vbo-results-chdates {
    grid-column: 1 / -1 !important;
    justify-content: center !important;
    background: var(--k3-bg) !important;
  }

  .vbo-results-chdates a,
  .vbo-results-chdates .vbo-pref-color-btn-secondary {
    min-height: 38px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
  }

  /* -------------------------
     6) LIST / GRID TOGGLE
     ------------------------- */
  .vbo-results-filtering {
    margin-bottom: 12px !important;
    text-align: center !important;
  }

  .vbo-results-style {
    transform: scale(.94);
    transform-origin: center;
  }

  /* -------------------------
     7) RESULT CARDS
     ------------------------- */
  .vbo-searchresults-classic-wrap .room_item {
    margin-bottom: 18px !important;
  }

  .vbo-searchresults-classic-wrap .room_result-inner {
    grid-template-columns: 1fr !important;
    border-radius: 10px !important;
  }

  .vblist-roomimage .vbimglistdiv {
    min-height: 215px !important;
  }

  .vblistroomblock .vbcontdivtot {
    padding: 18px 16px 16px !important;
    gap: 0 !important;
  }

  /* title */
  .vbrowcname {
    font-size: 22px !important;
    line-height: 1.15 !important;
    margin: 0 0 8px !important;
  }

  /* description: clamp to 3 lines */
  .vbrowcdescr {
    font-size: 14px !important;
    line-height: 1.55 !important;
    margin: 0 !important;

    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  .vbo-result-readmore-wrap {
    margin-top: 8px !important;
  }

  .vbo-result-readmore-trig {
    font-size: 13px !important;
  }

  /* -------------------------
     8) AMENITIES
     ------------------------- */
  .roomlist_carats {
    margin-top: 10px !important;
  }

  .roomlist_carats .vbo-room-carats {
    gap: 7px !important;
  }

  .roomlist_carats .vbo-room-carat .vbo-expl {
    font-size: 11px !important;
    line-height: 1.25 !important;
    padding: 5px 8px !important;
    border-radius: 16px !important;
  }

  .roomlist_carats .vbo-room-carat .vbo-icn-carat {
    font-size: 11px !important;
  }

  /* -------------------------
     9) PRICE + CTA
     ------------------------- */
  .vbdivtot {
    margin-top: 14px !important;
    padding-top: 14px !important;
  }

  .vbdivtotinline {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  .vbsrowpricediv {
    align-items: flex-start !important;
  }

  .room_cost {
    gap: 2px !important;
  }

  .room_cost .vbo_currency {
    font-size: 18px !important;
  }

  .room_cost .vbo_price {
    font-size: 34px !important;
    line-height: 1 !important;
  }

  .vbsrowpricediv::after {
    content: "ανά διαμονή" !important;
    font-size: 12px !important;
    margin-top: 4px !important;
  }

  .vbselectordiv {
    min-width: 100% !important;
  }

  .vbselectordiv .vbselectr-result,
  .vbselectordiv .btn.vbselectr-result {
    min-height: 46px !important;
    font-size: 13px !important;
    letter-spacing: 0.02em !important;
  }

  /* -------------------------
     10) HELP BLOCK
     ------------------------- */
  .k3-booking-help {
    margin-top: 20px !important;
    padding: 0 16px !important;
  }

  .k3-booking-help p {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  /* -------------------------
     11) FOOTER
     ------------------------- */
  .footer,
  .site-footer,
  #footer {
    padding-top: 38px !important;
    padding-bottom: 28px !important;
  }

  .footer .widget,
  .site-footer .widget,
  #footer .widget {
    margin-bottom: 18px !important;
  }

  .footer p,
  .footer li,
  .footer a,
  .site-footer p,
  .site-footer li,
  .site-footer a,
  #footer p,
  #footer li,
  #footer a {
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  .footer-logo img,
  .site-footer .custom-logo,
  #footer .custom-logo {
    max-height: 42px !important;
    width: auto !important;
  }
}

/*@media (max-width: 800x){
	.vblistcontainer-list .vbroomimgbg{padding-bottom:10px !important;}
}
.vblistcontainer-list .vbroomimgbg{padding-bottom:10px !important;}*/

/* =========================================
   K3 – SELECTED ROOM / PRE-CHECKOUT PAGE
   ========================================= */

/* -------------------------
   MAIN WRAPPER
   ------------------------- */
.vbo-showprc-room-block{
  background: var(--k3-bg);
  border: 1px solid var(--k3-border);
  border-radius: 12px;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  box-shadow: var(--k3-shadow);
  padding: 22px 22px 20px;
  margin-bottom:0px;
}

/* -------------------------
   ROOM INFO / GALLERY BLOCK
   ------------------------- */
.vbroomimgdesc{
  display: grid;
  grid-template-columns: minmax(320px, 44%) minmax(0, 56%);
  gap: 28px;
  align-items: start;
}

/* gallery */
.vikfx-gallery-container{
  position: relative;
}

.vikfx-gallery-fade-container{
  border-radius: 10px;
  overflow: hidden;
  background: #EAF1F5;
}

.vikfx-gallery-image.vblistimg{
  display: block;
  width: 100%;
  height: 360px;
  object-fit: cover;
}

.vikfx-gallery-navigation-controls-prevnext a{
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  color: var(--k3-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 14px rgba(0,0,0,.12);
  transition: all .2s ease;
}

.vikfx-gallery-navigation-controls-prevnext a:hover{
  background: var(--k3-primary);
  color: #fff;
}

.vikfx-gallery{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.vikfx-gallery a{
  display: block;
  border-radius: 8px;
  overflow: hidden;
  flex: 0 0 calc(20% - 8px);
  border: 1px solid var(--k3-border);
}

.vikfx-gallery a img{
  display: block;
  width: 100%;
  height: 82px;
  object-fit: cover;
  transition: transform .25s ease;
}

.vikfx-gallery a:hover img{
  transform: scale(1.04);
}

/* -------------------------
   TEXT BLOCK
   ------------------------- */
.vbo-showprc-blockdesc{
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* optional visual label */
.vbo-showprc-roomname::before{
  content: "Η επιλογή σας";
  display: inline-block;
  margin-bottom: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--k3-bg-soft);
  border: 1px solid var(--k3-border);
  color: var(--k3-primary);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.vbo-showprc-roomname h3{
  font-family: var(--k3-font-heading);
  font-size: 34px;
  line-height: 1.15;
  color: var(--k3-text);
  margin: 0 0 14px;
  font-weight: 700;
}

.room_description_box p{
  font-size: 16px;
  line-height: 1.72;
  color: var(--k3-text-soft);
  margin: 0 0 14px;
}

.room_description_box p strong{
  color: var(--k3-text);
  font-weight: 700;
}

/* -------------------------
   AMENITIES / CARATS
   ------------------------- */
.room_carats{
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--k3-border);
}

.room_carats h4{
  font-family: var(--k3-font-heading);
  font-size: 24px;
  line-height: 1.25;
  margin: 0 0 14px;
  color: var(--k3-text);
}

.room_carats .vbo-room-carats{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
}

.room_carats .vbo-room-carat{
  margin: 0;
}

.room_carats .vbo-room-carat .vbo-expl{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  background: var(--k3-bg-soft);
  border: 1px solid #E7EEF4;
  border-radius: 999px;
  color: var(--k3-text-soft);
  font-size: 13px;
  line-height: 1.35;
  transition: all .2s ease;
}

.room_carats .vbo-room-carat .vbo-expl:hover{
  background: var(--k3-bg-soft);
  border-color: #DCEAF2;
  transform: translateY(-1px);
}

.room_carats .vbo-room-carat .vbo-icn-carat{
  color: var(--k3-primary);
  font-size: 13px;
}

.room_carats .vbo-room-carat span{
  white-space: nowrap;
}

/* -------------------------
   PRICE BLOCK
   ------------------------- */
.room_prices{
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid var(--k3-border);
}

.room_prices h4{
  font-family: var(--k3-font-heading);
  font-size: 24px;
  line-height: 1.25;
  margin: 0 0 16px;
  color: var(--k3-text);
}

.vbo-showprc-rateplans-wrapper{
  background: var(--k3-bg-soft);
  border: 1px solid var(--k3-border);
  border-radius: 10px;
  padding: 16px;
}

.vbo-showprc-pricetable{
  width: 100%;
}

.vbo-showprc-price-entry{
  display: grid;
  grid-template-columns: 26px 1fr auto;
  gap: 14px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--k3-border);
  border-radius: 10px;
  padding: 16px 18px;
}

.vbo-showprc-price-entry-radio{
  display: flex;
  align-items: center;
  justify-content: center;
}

.vbo-showprc-price-entry-radio .vbo-radio{
  transform: scale(1.1);
  accent-color: var(--k3-primary);
}

.vbo-showprc-price-entry-rateplan label{
  display: block;
  font-size: 16px !important;
  line-height: 1.35;
  color: var(--k3-text);
  font-weight: 700;
  margin: 0 0 4px !important;
}

.vbpricedetails{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.vbprice_freecanc{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px !important;
  border-radius: 999px;
  background: #EEF8F1;
  border: 1px solid #D7EEDD !important;
  color: #2D6C46;
  font-size: 12px !important;
  font-weight: 600;
}

.vbo-showprc-price-entry-cost{
  text-align: right;
}

.vbo-showprc-price-entry-cost .room_cost{
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  color: var(--k3-primary);
}

.vbo-showprc-price-entry-cost .vbo_currency{
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
}

.vbo-showprc-price-entry-cost .vbo_price{
  font-size: 44px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.03em;
}

/* extra helpful label under the price */
.vbo-showprc-price-entry-cost::after{
  content: "τελική τιμή";
  display: block;
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.35;
  color: var(--k3-text-soft);
  font-weight: 600;
}

/* -------------------------
   CTA AREA
   ------------------------- */
.room_buttons_box{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid var(--k3-border);
}

.room_buttons_box .goback{
  order: 1;
}

.room_buttons_box .vbo-goback-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px !important;
  border-radius: 6px !important;
  background: transparent !important;
  border: 1px solid var(--k3-border) !important;
  color: var(--k3-text-soft) !important;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all .2s ease;
}

.room_buttons_box .vbo-goback-link:hover{
  background: var(--k3-bg) !important;
  border-color: #BFD0DB !important;
  color: var(--k3-text) !important;
}

.room_buttons_box .booknow,
.room_buttons_box input.booknow,
.room_buttons_box .btn.booknow{
  min-width: 220px;
  min-height: 48px;
  padding: 0 20px !important;
  border-radius: 6px !important;
  background: var(--k3-primary) !important;
  border: 1px solid var(--k3-primary) !important;
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  box-shadow: none !important;
  transition: all .25s ease;
  margin-bottom:0px;
}

.room_buttons_box .booknow:hover,
.room_buttons_box input.booknow:hover,
.room_buttons_box .btn.booknow:hover{
  background: var(--k3-accent) !important;
  border-color: var(--k3-accent) !important;
  color: #fff !important;
}

/* -------------------------
   MOBILE / TABLET
   ------------------------- */
@media (max-width: 1024px){
  .vbroomimgdesc{
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .vikfx-gallery-image.vblistimg{
    height: 300px;
  }

  .vbo-showprc-roomname h3{
    font-size: 30px;
  }

  .vbo-showprc-price-entry-cost .vbo_price{
    font-size: 38px;
  }
}

@media (max-width: 767px){
  .vbo-showprc-room-block{
    padding: 16px 14px 16px;
    border-radius: 10px;
  }

  .vikfx-gallery-image.vblistimg{
    height: 230px;
  }

  .vikfx-gallery{
    gap: 8px;
  }

  .vikfx-gallery a{
    flex: 0 0 calc(25% - 6px);
  }

  .vikfx-gallery a img{
    height: 66px;
  }

  .vbo-showprc-roomname h3{
    font-size: 24px;
    margin-bottom: 10px;
  }

  .room_description_box p{
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 12px;
  }

  .room_carats h4,
  .room_prices h4{
    font-size: 21px;
  }

  .room_carats .vbo-room-carats{
    gap: 8px;
  }

  .room_carats .vbo-room-carat .vbo-expl{
    font-size: 12px;
    padding: 6px 9px;
  }

  .vbo-showprc-price-entry{
    grid-template-columns: 1fr;
    gap: 12px;
    text-align: left;
  }

  .vbo-showprc-price-entry-cost{
    text-align: left;
  }

  .vbo-showprc-price-entry-cost .vbo_price{
    font-size: 34px;
  }

  .room_buttons_box{
    flex-direction: column-reverse;
    align-items: stretch;
  }

  .room_buttons_box .booknow,
  .room_buttons_box input.booknow,
  .room_buttons_box .btn.booknow,
  .room_buttons_box .vbo-goback-link{
    width: 100%;
    min-width: 100%;
  }
}


/* =========================================
   K3 – FINAL CHECKOUT PAGE
   ========================================= */

/* page width */
.vbo-oconfirm-wrapper,
.vbo-oconfirm-container,
.vbo-oconfirm-main {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

/* =========================
   BOOKING SUMMARY
   ========================= */
.vbcustomfields .vbo-oconfirm-cfield-entry{width:initial !important;}
.vbo-oconfirm-summary-container{
  background: var(--k3-bg);
  border: 1px solid var(--k3-border);
  border-radius: 12px;
  box-shadow: var(--k3-shadow-soft);
  overflow: hidden;
  margin-bottom: 24px;
}

.vbo-oconfirm-summary-room-wrapper,
.vbo-oconfirm-summary-total-wrapper{
  width: 100%;
}

.vbo-oconfirm-summary-room-head{
  display: grid;
  grid-template-columns: 2.1fr 1fr .9fr 1fr .8fr 1.1fr;
  gap: 0;
  background: var(--k3-bg-soft);
  border-bottom: 1px solid var(--k3-border);
}

.vbo-oconfirm-summary-room-head-cell{
  padding: 16px 18px;
  margin-top:5px;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 700;
  color: var(--k3-text-soft);
  text-transform: uppercase;
  letter-spacing: .03em;
}

.vbo-oconfirm-summary-room-row{
  display: grid;
  grid-template-columns: 2.1fr 1fr .9fr 1fr .8fr 1.1fr;
  gap: 0;
  align-items: center;
  background: #fff;
  border-bottom: 1px solid #ddd;
}

.vbo-oconfirm-summary-room-row > div{
  padding: 18px 18px !important;
}

.vbo-oconfirm-roomname{
  font-family: var(--k3-font-heading);
  font-size: 24px;
  line-height: 1.2;
  color: var(--k3-text);
  font-weight: 700;
  margin-bottom: 6px;
}

.vbo-oconfirm-priceinfo{
  font-size: 13px;
  color: var(--k3-text-soft);
  font-weight: 600;
}
.vbo-oconfirm-summary-room-cell-net, .vbo-oconfirm-summary-room-cell-tax, .vbo-oconfirm-summary-room-cell-tot, .vbo-oconfirm-summary-room-cell-guests, .vbo-oconfirm-summary-room-cell-descr{width:100%;}
.vbo-oconfirm-summary-room-cell-guests span,
.vbo-oconfirm-summary-room-cell-nights span,
.vbo-oconfirm-summary-room-cell-net span,
.vbo-oconfirm-summary-room-cell-tax span,
.vbo-oconfirm-summary-room-cell-tot span{
  font-size: 15px;
  color: var(--k3-text);
  font-weight: 600;
}

.vbo-oconfirm-summary-room-cell-net .vbo_price,
.vbo-oconfirm-summary-room-cell-tax .vbo_price{
  font-size: 20px;
  font-weight: 700;
  color: var(--k3-text);
}

.vbo-oconfirm-summary-room-cell-tot .vbo_price{
  font-size: 30px;
  font-weight: 800;
  color: var(--k3-primary);
  letter-spacing: -0.02em;
}

.vbo-oconfirm-summary-room-cell-tot .vbo_currency{
  font-size: 18px;
  font-weight: 700;
  color: var(--k3-primary);
}

.vbo-oconfirm-summary-total-row{
  background: var(--k3-bg-soft);
}

.vbo-oconfirm-total-block{
  font-size: 18px;
  font-weight: 800;
  color: var(--k3-text);
  text-transform: uppercase;
  letter-spacing: .02em;
}

/* =========================
   COUPON BLOCK
   ========================= */
.vbo-oconfirm-coupon-wrapper,
.vbo-coupon-wrap,
.vbo-coupon-block{
  max-width: 520px;
  margin: 0 auto 24px;
  background: #fff;
  border: 1px solid var(--k3-border);
  border-radius: 10px;
  padding: 14px 16px;
  box-shadow: var(--k3-shadow-soft);
}

.vbo-oconfirm-coupon-wrapper input,
.vbo-coupon-wrap input,
.vbo-coupon-block input{
  height: 46px;
  border: 1px solid var(--k3-border);
  border-radius: 8px;
  padding: 0 14px;
  font-size: 14px;
  color: var(--k3-text);
}

.vbo-oconfirm-coupon-wrapper .btn,
.vbo-coupon-wrap .btn,
.vbo-coupon-block .btn{
  min-height: 46px;
  border-radius: 8px;
  background: var(--k3-primary) !important;
  border: 1px solid var(--k3-primary) !important;
  color: #fff !important;
  font-size: 13px;
  font-weight: 700;
}

.vbo-oconfirm-coupon-wrapper .btn:hover,
.vbo-coupon-wrap .btn:hover,
.vbo-coupon-block .btn:hover{
  background: var(--k3-accent) !important;
  border-color: var(--k3-accent) !important;
}

/* =========================
   CUSTOMER FORM WRAPPER
   ========================= */
.vbcustomfields{
  background: var(--k3-bg);
  border: 1px solid var(--k3-border);
  border-radius: 12px;
  box-shadow: var(--k3-shadow);
  padding: 28px 28px 22px;
  margin-bottom: 24px;
}

/* section heading */
.vbo-oconfirm-cfield-separator h4{
  font-family: var(--k3-font-heading);
  font-size: 30px;
  line-height: 1.2;
  color: var(--k3-text);
  margin: 0 0 20px;
  text-align: center;
}

/* 2-column grid */
.vbcustomfields{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 22px;
}

.vbo-oconfirm-cfield-entry-separator{
  grid-column: 1 / -1;
}

/* full width fields */
.vbo-oconfirm-cfield-entry:has(textarea),
.vbo-oconfirm-cfield-entry:has(input[name*="company"]),
.vbo-oconfirm-cfield-entry:has(input[name*="afm"]),
.vbo-oconfirm-cfield-entry:has(select),
.vbo-oconfirm-cfield-entry:last-child{
  grid-column: span 1;
}

/* if textarea / checkbox should span full */
.vbo-oconfirm-cfield-entry .vbo-oconfirm-cfield-input textarea,
.vbo-oconfirm-cfield-entry:has(.vbo-oconfirm-cfield-input textarea){
  min-height: 130px;
}

.vbo-oconfirm-cfield-entry:has(textarea),
.vbo-oconfirm-cfield-entry:has(input[type="checkbox"]){
  grid-column: 1 / -1;
}

/* labels */
.vbo-oconfirm-cfield-label{
  margin-bottom: 8px;
}

.vbo-oconfirm-cfield-label label{
  display: inline-block;
  font-size: 13px;
  line-height: 1.35;
  color: var(--k3-text-soft);
  font-weight: 700;
}

.vbrequired sup{
  color: #D94E4E;
  font-size: 12px;
  top: 0;
}

/* inputs */
.vbo-oconfirm-cfield-input .vbinput,
.vbo-oconfirm-cfield-input input[type="text"],
.vbo-oconfirm-cfield-input input[type="email"],
.vbo-oconfirm-cfield-input input[type="tel"],
.vbo-oconfirm-cfield-input select,
.vbo-oconfirm-cfield-input textarea{
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--k3-border);
  border-radius: 8px;
  background: #FFFFFF;
  color: var(--k3-text);
  font-size: 15px;
  padding: 0 14px;
  box-shadow: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.vbo-oconfirm-cfield-input textarea{
  min-height: 130px;
  padding: 14px;
  resize: vertical;
}

.vbo-oconfirm-cfield-input .vbinput:focus,
.vbo-oconfirm-cfield-input input[type="text"]:focus,
.vbo-oconfirm-cfield-input input[type="email"]:focus,
.vbo-oconfirm-cfield-input input[type="tel"]:focus,
.vbo-oconfirm-cfield-input select:focus,
.vbo-oconfirm-cfield-input textarea:focus{
  border-color: var(--k3-primary);
  box-shadow: 0 0 0 3px rgba(var(--k3-primary-rgb), .08);
  outline: none;
}

/* telephone input plugin */
.vbo-oconfirm-cfield-input .iti{
  width: 100%;
}

.vbo-oconfirm-cfield-input .iti input{
  width: 100%;
  min-height: 48px;
  padding-left: 52px !important;
  border: 1px solid var(--k3-border);
  border-radius: 8px;
}

.vbo-oconfirm-cfield-input .iti__selected-flag{
  padding-left: 14px;
  border-radius: 8px 0 0 8px;
}

/* checkbox / terms */
.vbo-oconfirm-cfield-entry input[type="checkbox"]{
  accent-color: var(--k3-primary);
  transform: scale(1.05);
  margin-right: 8px;
}

.vbo-oconfirm-cfield-entry:has(input[type="checkbox"]){
  background: var(--k3-bg-soft);
  border: 1px solid #E7EEF4;
  border-radius: 10px;
  padding: 14px 16px;
}

/* =========================
   PAYMENT METHODS
   ========================= */
.vbo-oconfirm-paymentopts{
  margin-top: 14px;
  margin-bottom: 20px;
}

.vbo-oconfirm-paymentopts h4{
  font-family: var(--k3-font-heading);
  font-size: 28px;
  line-height: 1.2;
  color: var(--k3-text);
  margin: 0 0 16px;
}

.vbo-oconfirm-paymethods-list{
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  padding: 0;
  margin: 0;
}

.vbo-oconfirm-paymethod-item{
  position: relative;
  margin: 0;
  min-width: 250px;
}

.vbo-oconfirm-paymethod-item input[type="radio"]{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.vbo-oconfirm-paymethod-item label{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 58px;
  padding: 0 18px;
  background: #fff;
  cursor: pointer;
  transition: all .22s ease;
}

.vbo-oconfirm-paymethod-item label:hover{
  border-color: rgba(var(--k3-primary-rgb), .25);
  box-shadow: 0 8px 20px rgba(16,34,56,.06);
}

.vbo-oconfirm-paymethod-item-active label,
.vbo-oconfirm-paymethod-item input[type="radio"]:checked + label{
  background: var(--vbo-light-grey-bg-color);
  margin:0 auto;
  width: 100%;
  text-align: center;
}
.vbo-oconfirm-paymentopts .vbo-oconfirm-paymethods-list li label{width: 100%;text-align: center;}
.vbo-paymeth-info{
  font-size: 15px;
  line-height: 60px;;
  color: var(--k3-text);
  font-weight: 700;
}

/* =========================
   CTA AREA
   ========================= */
.vboconfirmbottom{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid var(--k3-border);
}

.vboconfirmbottom .goback{
  order: 1;
}

.vboconfirmbottom .vbo-goback-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px !important;
  border-radius: 6px !important;
  background: transparent !important;
  border: 1px solid var(--k3-border) !important;
  color: var(--k3-text-soft) !important;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all .2s ease;
}

.vboconfirmbottom .vbo-goback-link:hover{
  background: var(--k3-bg) !important;
  border-color: #BFD0DB !important;
  color: var(--k3-text) !important;
}

.vboconfirmbottom .booknow,
.vboconfirmbottom input.booknow,
.vboconfirmbottom .btn.booknow{
  min-width: 260px;
  min-height: 50px;
  padding: 0 22px !important;
  border-radius: 6px !important;
  background: var(--k3-primary) !important;
  border: 1px solid var(--k3-primary) !important;
  color: #fff !important;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  box-shadow: none !important;
  transition: all .25s ease;
}

.vboconfirmbottom .booknow:hover,
.vboconfirmbottom input.booknow:hover,
.vboconfirmbottom .btn.booknow:hover{
  background: var(--k3-accent) !important;
  border-color: var(--k3-accent) !important;
  color: #fff !important;
} 

/* =========================
   HELP TEXT
   ========================= */
.k3-booking-help{
  text-align: center;
  margin-top: 22px;
}

.k3-booking-help p{
  font-size: 15px;
  line-height: 1.7;
  color: var(--k3-text-soft);
  margin: 0 0 6px;
}

.k3-booking-help strong{
  color: var(--k3-text);
}

.k3-booking-help a{
  color: var(--k3-primary);
  font-weight: 700;
  text-decoration: none;
}

.k3-booking-help a:hover{
  color: var(--k3-accent);
}

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 1024px){
  .vbo-oconfirm-summary-room-head,
  .vbo-oconfirm-summary-room-row{
    grid-template-columns: 1.8fr 1fr .8fr .9fr .8fr 1fr;
  }

  .vbo-oconfirm-roomname{
    font-size: 21px;
  }

  .vbo-oconfirm-summary-room-cell-tot .vbo_price{
    font-size: 26px;
  }
}

@media (max-width: 767px){
  .vbcustomfields{
    grid-template-columns: 1fr;
    padding: 20px 16px 18px;
    gap: 16px;
  }

  .vbo-oconfirm-cfield-separator h4{
    font-size: 24px;
    text-align: left;
    margin-bottom: 8px;
  }

  /* summary becomes stacked cards */
  .vbo-oconfirm-summary-room-head{
    display: none;
  }

  .vbo-oconfirm-summary-room-row{
    display: block;
    padding: 0;
  }

  .vbo-oconfirm-summary-room-row > div{
    padding: 10px 14px;
  }

  .vbo-oconfirm-summary-room-cell-descr{
    background: var(--k3-bg-soft);
  }

  .vbo-oconfirm-roomname{
    font-size: 20px;
  }

  .vbo-oconfirm-summary-room-cell-guests span,
  .vbo-oconfirm-summary-room-cell-nights span,
  .vbo-oconfirm-summary-room-cell-net span,
  .vbo-oconfirm-summary-room-cell-tax span,
  .vbo-oconfirm-summary-room-cell-tot span{
    font-size: 14px;
  }

  .vbo-oconfirm-summary-room-cell-tot .vbo_price{
    font-size: 28px;
  }

  .vbo-oconfirm-paymethods-list{
    flex-direction: column;
  }

  .vbo-oconfirm-paymethod-item{
    min-width: 100%;
  }

  .vboconfirmbottom{
    flex-direction: column-reverse;
    align-items: stretch;
  }

  .vboconfirmbottom .booknow,
  .vboconfirmbottom input.booknow,
  .vboconfirmbottom .btn.booknow,
  .vboconfirmbottom .vbo-goback-link{
    width: 100%;
    min-width: 100%;
  }
}
/* CTA area */
.vboconfirmbottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

/* primary button δεξιά */
.vboconfirmbottom .booknow{
    order:2;
}

/* back button αριστερά */
.vboconfirmbottom .goback{
    order:1;
}
.vbo-payment-image label{border:none !important; box-shadow:none !important;}
.vbo-payment-image img{max-height:80px !important;}
.vbo-payment-image label{line-height:90px;}

#post-18 > div > div > div.entry-header.text-center > h1, #post-439 > div > div > div.entry-header.text-center > h1{display:none;}

/* 12. Contact / Map - merged from previous Additional CSS */
.k3-contact-map {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 60px;
    align-items: center;
    margin: 60px 0;
}

/* LEFT */
.k3-contact-left h3 {
    font-size: 28px;
    margin-bottom: 25px;
}

/* ITEM */
.k3-contact-item {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    margin-bottom: 22px;
}

/* ICON */
.k3-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    background: rgba(197,164,109,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
}

.k3-icon svg {
    width: 18px;
    height: 18px;
    fill: var(--k3-primary);
}

/* TEXT */
.k3-label {
    display: block;
    font-size: 12px;
    color: #999;
    margin-bottom: 3px;
    letter-spacing: 0.6px;
}

.k3-contact-left a,
.k3-contact-left p {
    font-size: 16px;
    color: #111;
    text-decoration: none;
}

.k3-contact-left a:hover {
    color: var(--k3-primary);
}

/* BUTTON */
.k3-map-btn {
		background: var(--k3-primary);
    display: inline-block;
    margin-top: 25px;
    padding: 12px 24px;
    border: 1px solid var(--k3-primary);
    color: #fff !important;
    text-decoration: none;
    border-radius: 30px;
    font-size: 14px;
    transition: all 0.3s ease;
}

.k3-map-btn:hover {
    background: #fff;
    color: var(--k3-primary) !important;
}

/* MAP */
.k3-contact-right iframe {
    width: 100%;
    height: 420px;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}
.module-box2-contact .nwidg-two > .widget{flex:0 0 100% !important}
/* MOBILE */
@media (max-width: 768px) {
    .k3-contact-map {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .k3-contact-right iframe {
        height: 300px;
    }
}


/* =========================================
   HOMEPAGE – FULL WIDTH SECTIONS
   ========================================= */

/* Κάνει μόνο την αρχική full-width */
.home .post-content,
.home .entry-content,
.home .site-main,
.home .content-area,
.home .main-content,
.home #main,
.home #primary {
  max-width: none !important;
  width: 100% !important;
}

/* Αν το theme έχει εσωτερικό boxed container */
.home .container,
.home .wrap,
.home .content-wrap,
.home .entry-content-wrap {
  max-width: none !important;
  width: 100% !important;
}

/* Full-width section wrapper */
.home .hb-section {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  box-sizing: border-box;
}

/* Inner content container */
.home .hb-container {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

/* Section backgrounds */
.home .hb-section-ivory {
  background: var(--k3-bg);
}

.home .hb-section-white {
  background: var(--k3-surface);
}

.home .hb-section-soft {
  background: var(--k3-bg-soft);
}

.home .hb-section-dark {
  background: var(--k3-secondary);
  color: var(--k3-white);
}

.home .hb-section-dark h1,
.home .hb-section-dark h2,
.home .hb-section-dark h3,
.home .hb-section-dark p {
  color: var(--k3-white);
}

/* Section spacing variants */
.home .hb-section-tight {
  padding-top: 60px;
  padding-bottom: 60px;
}

.home .hb-section-large {
  padding-top: 120px;
  padding-bottom: 120px;
}

@media (max-width: 767px) {
  .home .hb-section {
    padding: 64px 20px;
  }

  .home .hb-section-tight {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .home .hb-section-large {
    padding-top: 76px;
    padding-bottom: 76px;
  }
}

#post-7 > div > div > div > h3, #post-76 > div > div > div > h3{display:none;}

/* =========================================
   HOTEL BOULGARI – HOMEPAGE POLISH V1
   ========================================= */

/* General section rhythm */
.home .hb-section-tight {
  padding-top: 64px;
  padding-bottom: 64px;
}

.home .hb-container {
  max-width: 1180px;
}

/* Better homepage headings */
.home h1,
.home h2 {
  letter-spacing: -0.01em;
}

.home h2 {
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.12;
  margin-bottom: 18px;
}

.home h3 {
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.2;
}

.home p {
  font-size: 17px;
  line-height: 1.72;
}

/* Small section label */
.hb-label {
  display: block;
  margin-bottom: 12px;
  color: var(--k3-primary);
  font-family: var(--k3-font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Hero contrast */
.home #fullbox,
.home .fullbox,
.home .head-slider,
.home .head-slider-enabled {
  position: relative;
}

.home #fullbox::before,
.home .fullbox::before,
.home .head-slider::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(27,36,38,.62) 0%,
    rgba(27,36,38,.34) 45%,
    rgba(27,36,38,.12) 100%
  );
  pointer-events: none;
  z-index: 1;
}

.home #fullbox > *,
.home .fullbox > *,
.home .head-slider > * {
  position: relative;
  z-index: 2;
}

/* Hero text */
.home .head-slider h1,
.home #fullbox h1,
.home .fullbox h1 {
  font-size: clamp(42px, 5vw, 66px) !important;
  line-height: 1.05 !important;
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  color: #fff !important;
  text-shadow: 0 3px 18px rgba(0,0,0,.25);
}

.home .head-slider p,
.home #fullbox p,
.home .fullbox p {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  color: rgba(255,255,255,.92) !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.2);
}

/* Booking bar lift */
.home .vbmodhorsearch,
.home .vbdivsearchmodule {
  box-shadow: 0 18px 42px rgba(27,36,38,.16);
  border: 1px solid rgba(216,200,184,.65);
}

/* Intro/welcome */
.home .hb-intro {
  text-align: center;
}

.home .hb-intro p {
  max-width: 740px;
  margin-left: auto;
  margin-right: auto;
}

/* Story section */
.home .hb-story-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

.home .hb-story-grid img {
  width: 100%;
  min-height: 360px;
  object-fit: cover;
  box-shadow: var(--k3-shadow);
}

.home .hb-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
  margin-top: 28px;
}

.home .hb-fact {
  padding: 18px 18px;
  background: var(--k3-surface);
  border: 1px solid var(--k3-border);
  box-shadow: var(--k3-shadow-soft);
}

.home .hb-fact strong {
  display: block;
  color: var(--k3-primary);
  font-family: var(--k3-font-heading);
  font-size: 30px;
  line-height: 1;
  margin-bottom: 6px;
}

.home .hb-fact span {
  color: var(--k3-text-soft);
  font-size: 14px;
  font-weight: 600;
}

/* Amenities cards */
.home .hb-amenities-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
  margin-top: 32px;
}

.home .hb-amenity {
  padding: 24px 22px;
  background: var(--k3-surface);
  border: 1px solid var(--k3-border);
  box-shadow: var(--k3-shadow-soft);
}

.home .hb-amenity h3 {
  font-size: 22px;
  margin-bottom: 8px;
}

.home .hb-amenity p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--k3-text-soft);
  margin-bottom: 0;
}

/* Reviews */
.home .hb-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
}

.home .hb-review {
  background: var(--k3-surface);
  border: 1px solid var(--k3-border);
  box-shadow: var(--k3-shadow-soft);
  padding: 26px 24px;
}

.home .hb-review p {
  font-size: 15px;
  line-height: 1.65;
}

.home .hb-review strong {
  display: block;
  margin-top: 16px;
  color: var(--k3-text);
}

/* Final CTA */
.home .hb-final-cta {
  text-align: center;
  background: var(--k3-secondary);
  color: var(--k3-white);
}

.home .hb-final-cta h2,
.home .hb-final-cta p {
  color: var(--k3-white);
}

.home .hb-final-cta p {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  color: rgba(255,255,255,.82);
}

/* Responsive */
@media (max-width: 900px) {
  .home .hb-story-grid,
  .home .hb-amenities-grid,
  .home .hb-reviews-grid {
    grid-template-columns: 1fr;
  }

  .home .hb-story-grid {
    gap: 32px;
  }

  .home .hb-facts {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  .home .hb-section {
    padding-top: 5px;
    padding-bottom: 5px;
  }

  .home .hb-facts {
    grid-template-columns: 1fr;
  }
}

/* =========================================
   HOTEL BOULGARI – HOMEPAGE POLISH V2
   Hero + Rooms + Amenities + Reviews + CTA
   ========================================= */


/* -----------------------------------------
   1. HERO – better readability and balance
   ----------------------------------------- */

.home .slide-text.slide_style_center {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 24px;
  text-align: center;
  z-index: 5;
}

.home .slide-text .slide-title {
  max-width: 980px;
  margin: 0 auto 18px !important;
  color: #fff !important;
  font-family: var(--k3-font-heading) !important;
  font-size: clamp(38px, 5vw, 68px) !important;
  line-height: 1.02 !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em;
  text-shadow: 0 4px 26px rgba(0,0,0,.38);
}

.home .slide-text p {
  max-width: 760px;
  margin: 0 auto 28px !important;
}

.home .slide-text .vikcs-desc {
  display: inline-block;
  color: rgba(255,255,255,.94) !important;
  font-size: clamp(15px, 1.35vw, 19px);
  line-height: 1.65;
  font-weight: 400;
  text-shadow: 0 3px 18px rgba(0,0,0,.34);
}

.home .slide-text .btn.btn-default {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 28px !important;
  background: var(--k3-primary) !important;
  border: 1px solid var(--k3-primary) !important;
  color: #fff !important;
  border-radius: 2px !important;
  font-family: var(--k3-font-body) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
  transition: all .25s ease;
}

.home .slide-text .btn.btn-default:hover {
  background: var(--k3-primary-dark) !important;
  border-color: var(--k3-primary-dark) !important;
  transform: translateY(-1px);
}

.home .slide-text .endtext {
  display: none !important;
}

/* stronger image overlay for hero readability */
.home #fullbox::before,
.home .fullbox::before,
.home .head-slider::before {
  background:
    linear-gradient(180deg, rgba(27,36,38,.28) 0%, rgba(27,36,38,.42) 100%),
    linear-gradient(90deg, rgba(27,36,38,.48) 0%, rgba(27,36,38,.22) 55%, rgba(27,36,38,.28) 100%) !important;
}


/* -----------------------------------------
   2. BOOKING BAR – slightly more premium
   ----------------------------------------- */

.home .vbmodhorsearch,
.home .vbdivsearchmodule,
.home .vbo-horiz-search,
.home .vbo-search-mainview {
  border-radius: 2px !important;
}

.home .vbmodhorsearch,
.home .vbdivsearchmodule {
  box-shadow: 0 18px 44px rgba(27,36,38,.18) !important;
  border: 1px solid rgba(216,200,184,.85) !important;
}

.home .vbmodhorsearch input,
.home .vbmodhorsearch select,
.home .vbdivsearchmodule input,
.home .vbdivsearchmodule select {
  font-family: var(--k3-font-body) !important;
}


/* -----------------------------------------
   3. ROOMS SECTION – cleaner widget layout
   ----------------------------------------- */

.home .vbmodroomscontainer.wrap {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.home .vbmodroom-desc {
  max-width: 760px;
  margin: 0 auto 34px !important;
  text-align: center;
  color: var(--k3-text-soft);
  font-size: 17px;
  line-height: 1.7;
}

/* Make carousel/cards breathe */
.home .vbmodroom-layout-scroll.vbmodrooms {
  margin-top: 18px;
}

.home .vbmodrooms .owl-stage {
  display: flex;
  align-items: stretch;
}

.home .vbmodrooms .owl-item {
  display: flex;
}

.home .vbmodrooms-item {
  width: 100%;
  padding: 0 8px 14px;
}

.home .vbmodrooms-item .vbmodroomsboxdiv {
  height: 100%;
  display: flex;
  flex-direction: column;
  border-radius: 2px;
  border: 1px solid rgba(216,200,184,.72);
  box-shadow: 0 16px 38px rgba(27,36,38,.08);
  background: #fff;
}

.home .vbmodrooms-item .vbmodroomsboxdiv:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 46px rgba(27,36,38,.13);
  border-color: rgba(185,130,99,.42);
}

.home .vbmodrooms-item .vbmodroomsimg {
  height: 245px;
  object-fit: cover;
}

.home .vbmodrooms-item .vbinf {
  flex: 1;
  padding: 22px 20px 10px;
}

.home .vbmodrooms-item .vbmodroomsname {
  font-size: 25px;
  line-height: 1.12;
  color: var(--k3-text);
}

.home .vbmodrooms-item .vbmodroomsbeds {
  display: none !important;
}

/* Room short description */
.home .vbmodroomsdesc {
  display: block;
  min-height: 24px;
  margin: 8px 0 14px;
  color: var(--k3-text-soft);
  font-size: 15px;
  line-height: 1.5;
}

/* Amenities pills */
.home .vbmodrooms-item .vbo-room-carats {
  justify-content: center;
  gap: 8px;
}

.home .vbmodrooms-item .vbo-room-carat .vbo-expl {
  background: var(--k3-bg);
  border: 1px solid rgba(216,200,184,.72);
  color: var(--k3-text-soft);
  font-size: 12px;
  padding: 6px 10px;
}

.home .vbmodrooms-item .vbo-room-carat .vbo-icn-carat {
  color: var(--k3-primary);
}

/* Room button */
.home .vbmodrooms-item .vbmodroomsview {
  margin-top: auto;
  padding: 0 20px 24px;
}

.home .vbmodrooms-item .vbmodroomsview a,
.home .vbmodrooms-item .vbmodroomsview .btn {
  min-height: 44px;
  width: auto;
  min-width: 160px;
  max-width: none;
  padding: 0 22px !important;
  border-radius: 2px !important;
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: none;
}

/* Dots */
.home .vbmodrooms .owl-dots {
  margin-top: 22px !important;
}

.home .vbmodrooms .owl-dot span {
  width: 8px !important;
  height: 8px !important;
  margin: 5px 5px !important;
  background: rgba(185,130,99,.35) !important;
}

.home .vbmodrooms .owl-dot.active span {
  background: var(--k3-primary) !important;
}

/* If the widget shows 4+ active items, keep it visually stable */
@media (min-width: 1100px) {
  .home .vbmodrooms-item .vbmodroomsimg {
    height: 260px;
  }
}


/* -----------------------------------------
   4. AMENITIES – Kadence Info Box polish
   ----------------------------------------- */

.home .hb-amenities-grid {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}

.home .hb-amenities-grid > .kt-row-column-wrap,
.home .hb-amenities-grid .kt-row-column-wrap {
  row-gap: 30px !important;
  column-gap: 30px !important;
}

.home .hb-amenities-grid h2.wp-block-kadence-advancedheading {
  max-width: 680px;
  margin: 0 auto 44px !important;
  text-align: center;
  color: var(--k3-primary);
}

/* Individual info boxes */
.home .hb-amenities-grid .wp-block-kadence-infobox {
  height: 100%;
}

.home .hb-amenities-grid .kt-blocks-info-box-link-wrap {
  height: 100%;
  min-height: 260px;
  padding: 34px 30px 30px !important;
  background: #fff !important;
  border: 1px solid rgba(216,200,184,.78) !important;
  border-radius: 2px !important;
  box-shadow: 0 12px 30px rgba(27,36,38,.055);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.home .hb-amenities-grid .kt-blocks-info-box-link-wrap:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 42px rgba(27,36,38,.10);
  border-color: rgba(185,130,99,.42) !important;
}

.home .hb-amenities-grid .kt-blocks-info-box-media-container {
  margin-bottom: 16px !important;
}

.home .hb-amenities-grid .kt-blocks-info-box-media {
  color: var(--k3-primary) !important;
}

.home .hb-amenities-grid .kt-info-svg-icon {
  font-size: 42px !important;
}

.home .hb-amenities-grid .kt-blocks-info-box-title {
  font-family: var(--k3-font-heading) !important;
  font-size: 28px !important;
  line-height: 1.12 !important;
  color: var(--k3-primary) !important;
  margin: 0 0 12px !important;
}

.home .hb-amenities-grid .kt-blocks-info-box-text {
  font-family: var(--k3-font-body) !important;
  font-size: 15.5px !important;
  line-height: 1.68 !important;
  color: var(--k3-text-soft) !important;
  margin-bottom: 0 !important;
}


/* -----------------------------------------
   5. REVIEWS – Kadence Accordion as review cards
   ----------------------------------------- */

.home .hb-reviews-grid {
  max-width: inherit;
  margin-left: auto;
  margin-right: auto;
}

.home .hb-reviews-grid .kt-accordion-wrap {
  max-width: 820px !important;
  margin-left: auto;
  margin-right: auto;
}

.home .hb-reviews-grid .kt-accordion-inner-wrap {
  display: grid;
  gap: 14px;
}

.home .hb-reviews-grid .kt-accordion-pane {
  background: #fff;
  border: 1px solid rgba(216,200,184,.78);
  border-radius: 2px;
  box-shadow: 0 10px 26px rgba(27,36,38,.06);
  overflow: hidden;
}

.home .hb-reviews-grid .kt-blocks-accordion-header {
  width: 100%;
  padding: 18px 22px !important;
  background: #fff !important;
  border: 0 !important;
  color: var(--k3-text) !important;
  font-family: var(--k3-font-body) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  text-align: left;
}

.home .hb-reviews-grid .kt-accordion-panel-active + *,
.home .hb-reviews-grid .kt-blocks-accordion-header.kt-accordion-panel-active,
.home .hb-reviews-grid .kt-accordion-panel-active {
  background: #fff !important;
}

.home .hb-reviews-grid .kt-blocks-accordion-title {
  color: var(--k3-text) !important;
}

.home .hb-reviews-grid .kt-accordion-panel-inner {
  padding: 0 22px 22px !important;
}

.home .hb-reviews-grid .kt-accordion-panel-inner p {
  position: relative;
  margin: 0 !important;
  padding-top: 8px;
  color: var(--k3-text-soft) !important;
  font-size: 15.5px !important;
  line-height: 1.72 !important;
}

.home .hb-reviews-grid .kt-accordion-panel-inner p::before {
  content: "“";
  display: block;
  color: var(--k3-primary);
  font-family: var(--k3-font-heading);
  font-size: 42px;
  line-height: .8;
  margin-bottom: 4px;
}

/* active review accent */
.home .hb-reviews-grid .kt-accordion-pane:has(.kt-accordion-panel-active) {
  border-color: rgba(185,130,99,.55);
}


/* -----------------------------------------
   6. FINAL CTA – stronger transition
   ----------------------------------------- */

.home .hb-final-cta {
  padding-top: 96px;
  padding-bottom: 96px;
  background:
    linear-gradient(135deg, rgba(27,36,38,.96), rgba(17,25,27,.98));
}

.home .hb-final-cta h2 {
  font-size: clamp(34px, 4.5vw, 56px);
  line-height: 1.08;
  margin-bottom: 16px;
}

.home .hb-final-cta p {
  margin-bottom: 28px;
}

.home .hb-final-cta .wp-block-button__link,
.home .hb-final-cta .kt-button,
.home .hb-final-cta .kb-button,
.home .hb-final-cta a.btn {
  background: var(--k3-primary) !important;
  border-color: var(--k3-primary) !important;
  color: #fff !important;
}

.home .hb-final-cta .wp-block-button__link:hover,
.home .hb-final-cta .kt-button:hover,
.home .hb-final-cta .kb-button:hover,
.home .hb-final-cta a.btn:hover {
  background: var(--k3-primary-dark) !important;
  border-color: var(--k3-primary-dark) !important;
}


/* -----------------------------------------
   7. RESPONSIVE
   ----------------------------------------- */

@media (max-width: 1024px) {
  .home .slide-text .slide-title {
    font-size: clamp(34px, 6vw, 54px) !important;
  }

  .home .vbmodrooms-item .vbmodroomsimg {
    height: 230px;
  }

  .home .hb-amenities-grid .kt-blocks-info-box-link-wrap {
    min-height: 240px;
    padding: 28px 24px !important;
  }
}

@media (max-width: 767px) {
  .home .slide-text.slide_style_center {
    padding: 0 20px;
  }

  .home .slide-text .slide-title {
    font-size: 34px !important;
    line-height: 1.08 !important;
  }

  .home .slide-text .vikcs-desc {
    font-size: 15px;
    line-height: 1.55;
  }

  .home .slide-text .btn.btn-default {
    min-height: 42px;
    padding: 0 20px !important;
    font-size: 12px !important;
  }

  .home .vbmodroom-desc {
    font-size: 15.5px;
    margin-bottom: 24px !important;
  }

  .home .vbmodrooms-item {
    padding-left: 4px;
    padding-right: 4px;
  }

  .home .vbmodrooms-item .vbmodroomsimg {
    height: 220px;
  }

  .home .vbmodrooms-item .vbmodroomsname {
    font-size: 23px;
  }

  .home .hb-amenities-grid h2.wp-block-kadence-advancedheading {
    margin-bottom: 28px !important;
  }

  .home .hb-amenities-grid .kt-blocks-info-box-link-wrap {
    min-height: auto;
    padding: 26px 22px !important;
  }

  .home .hb-amenities-grid .kt-info-svg-icon {
    font-size: 34px !important;
  }

  .home .hb-amenities-grid .kt-blocks-info-box-title {
    font-size: 24px !important;
  }

  .home .hb-reviews-grid .kt-blocks-accordion-header {
    padding: 16px 18px !important;
    font-size: 14px !important;
  }

  .home .hb-reviews-grid .kt-accordion-panel-inner {
    padding: 0 18px 18px !important;
  }

  .home .hb-final-cta {
    padding-top: 72px;
    padding-bottom: 72px;
  }
}

/* =========================================
   HOMEPAGE – MANUAL ROOM CARDS
   ========================================= */

.home .hb-room-grid-manual {
  /*display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  max-width: 1180px;
  margin: 38px auto 0;*/
}

.home .hb-room-card-manual {
  background: #fff;
  border: 1px solid rgba(216,200,184,.72);
  box-shadow: 0 16px 38px rgba(27,36,38,.08);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.home .hb-room-card-manual:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 46px rgba(27,36,38,.13);
  border-color: rgba(185,130,99,.42);
}


.home .hb-room-card-manual img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
}

.home .hb-room-card-manual .hb-room-card-content {
  padding: 24px 22px 26px;
  text-align: center;
}

.home .hb-room-card-manual h3 {
  margin: 0 0 8px;
  font-family: var(--k3-font-heading);
  font-size: 26px;
  line-height: 1.12;
  color: var(--k3-text);
}

.home .hb-room-card-manual p {
  margin: 0 auto 18px;
  color: var(--k3-text-soft);
  font-size: 15px;
  line-height: 1.6;
}

.home .hb-room-features {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}

.home .hb-room-features li {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  background: var(--k3-bg);
  border: 1px solid rgba(216,200,184,.72);
  border-radius: 999px;
  color: var(--k3-text-soft);
  font-size: 12px;
  line-height: 1.2;
}

.home .hb-room-card-manual .hb-room-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 24px;
  background: var(--k3-primary);
  border: 1px solid var(--k3-primary);
  color: #fff !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 700;
  transition: all .25s ease;
}

.home .hb-room-card-manual .hb-room-btn:hover {
  background: var(--k3-primary-dark);
  border-color: var(--k3-primary-dark);
}

@media (max-width: 1100px) {
  .home .hb-room-grid-manual {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .home .hb-room-grid-manual {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .home .hb-room-card-manual img {
    height: 230px;
  }
}

/* =========================================
   HOMEPAGE – MANUAL ROOM CARDS POLISH
   ========================================= */

.home .hb-room-grid-manual {
  gap: 34px;
}

.home .hb-room-card-manual {
  border-radius: 2px;
  background: #fff;
  border: 1px solid rgba(216,200,184,.78);
}

.home .hb-room-card-manual img {
  height: 300px;
  object-position: center center;
}

.home .hb-room-card-manual .hb-room-card-content {
  padding: 30px 28px 32px;
}

.home .hb-room-card-manual h3 {
  font-size: clamp(30px, 3vw, 30px);
  margin-bottom: 10px;
  color: var(--k3-text);
}

.home .hb-room-card-manual p {
  max-width: 520px;
  font-size: 16.5px;
  line-height: 1.65;
  color: var(--k3-text-soft);
  margin-bottom: 22px;
}

.home .hb-room-features {
  gap: 10px;
  margin-bottom: 26px;
}

.home .hb-room-features li {
  gap: 6px;
  padding: 7px 14px;
  background: #F5EFE7;
  border: 1px solid rgba(216,200,184,.85);
  color: var(--k3-text-soft);
  font-size: 14px;
  line-height: 1.2;
}

.home .hb-room-features li i,
.home .hb-room-features li svg {
  color: var(--k3-primary);
  font-size: 15px;
}

.home .hb-room-card-manual .hb-room-btn {
  min-height: 48px;
  padding: 0 30px;
  border-radius: 2px;
  font-size: 14px;
  letter-spacing: .02em;
  font-weight: 700;
}

@media (max-width: 1100px) {
  .home .hb-room-grid-manual {
    gap: 26px;
  }

  .home .hb-room-card-manual img {
    height: 260px;
  }

  .home .hb-room-card-manual h3 {
    font-size: 32px;
  }
}

@media (max-width: 640px) {
  .home .hb-room-card-manual img {
    height: 230px;
  }

  .home .hb-room-card-manual .hb-room-card-content {
    padding: 24px 20px 26px;
  }

  .home .hb-room-card-manual h3 {
    font-size: 30px;
  }

  .home .hb-room-card-manual p {
    font-size: 15.5px;
  }
}


/* =========================================
   FINAL CTA – LIGHT VERSION
   ========================================= */

.home .hb-final-cta {
  background: var(--k3-bg) !important;
  color: var(--k3-text) !important;
  padding-top: 96px;
  padding-bottom: 96px;
  border-top: 1px solid rgba(216,200,184,.55);
  border-bottom: 1px solid rgba(216,200,184,.55);
}

.home .hb-final-cta h2 {
  color: var(--k3-primary) !important;
  font-size: clamp(34px, 4.5vw, 56px);
  line-height: 1.08;
  margin-bottom: 16px;
}

.home .hb-final-cta p {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 28px;
  color: var(--k3-text-soft) !important;
}

.home .hb-final-cta .wp-block-button__link,
.home .hb-final-cta .kt-button,
.home .hb-final-cta .kb-button,
.home .hb-final-cta a.btn {
  min-height: 48px;
  padding: 0 30px !important;
  background: var(--k3-primary) !important;
  border: 1px solid #b982637d !important;
  color: #fff !important;
  border-radius: 2px !important;
  box-shadow: 0 12px 26px rgba(185,130,99,.16);
}

.home .hb-final-cta .wp-block-button__link:hover,
.home .hb-final-cta .kt-button:hover,
.home .hb-final-cta .kb-button:hover,
.home .hb-final-cta a.btn:hover {
  background: var(--k3-primary-dark) !important;
  border-color: var(--k3-primary-dark) !important;
  color: #fff !important;
  transform: translateY(-1px);
}



#foot-cont{text-align:center;}
footer h2,
footer h3,
footer h4,
footer .widget-title,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer .widget-title,
#footer h2,
#footer h3,
#footer h4,
#footer .widget-title {
  font-family: var(--k3-font-heading) !important;
  font-size: 22px !important;
  line-height: 1.2;
  margin-bottom: 18px;
}
footer .widget {
    margin: inherit !important;
}
@media (max-width: 767px) {.kadence-columnb4a7e0-6b{margin:0 auto;} footer .widget{padding:7px 15px !important;}}
/* Footer polish */
footer,
.site-footer,
#footer {
  background: #11191B !important;
  color: rgba(247,241,234,.78) !important;
}

footer p,
footer li,
footer a,
.site-footer p,
.site-footer li,
.site-footer a,
#footer p,
#footer li,
#footer a {
  color: rgba(247,241,234,.76) !important;
  font-size: 15px;
  line-height: 1.7;
}

footer a:hover,
.site-footer a:hover,
#footer a:hover {
  color: var(--k3-primary) !important;
}

footer li,
.site-footer li,
#footer li {
  margin-bottom: 8px;
}

#subfooter p{color:#b98263b3;}
#block-4 > div > div > div > div > div.wp-block-kadence-column.kadence-columnbf6415-f8 > div > figure > figcaption{display:none;}
.left-footer{float:left;}
.right-footer{float:right;}

.head-slider-enabled, .mainmenu .menu > .menu-item-has-children > .nav-child, .modopen > div, .icomenu-enabled .logomenupart, #headt-part,
.head-slider-enabled.slider-over .logomenupart.fx-menu-slide, .fx-menu-slide .mainmenu .menu > .menu-item-has-children > .nav-child, .modopen > div, .head-slider-enabled.slider-over .fx-menu-slide .mainmenu .l-inline li .nav-child > div{background:#fff !important;}
.mainmenu .nav-child li a, .mainmenu .nav-child li span{color:#b98263 !important;}


/* =========================================
   HOTEL BOULGARI – VIKBOOKING SEARCH PAGE V1
   Search form + search results
   ========================================= */
/* Trust badges */
.k3-booking-trust {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 16px auto 38px;
}

.k3-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid rgba(185,130,99,.22);
  border-radius: 999px;
  background: #fff;
  color: var(--k3-text);
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(27,36,38,.04);
}

.k3-trust-item i {
  color: var(--k3-primary);
}


/* =========================================
   AFTER SEARCH – RESULTS SUMMARY
   ========================================= */

.vbo-results-wrapper {
  /*max-width: 980px;*/
  margin: 0 auto 60px !important;
}

.vbo-results-head {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  overflow: hidden;
  margin-bottom: 26px !important;
  background: #fff;
  border: 1px solid rgba(216,200,184,.72);
  border-radius: 10px;
  box-shadow: 0 14px 36px rgba(27,36,38,.05);
}

.vbo-results-head > div {
  display: flex !important;
  align-items: center;
  gap: 12px;
  min-height: 70px;
  padding: 16px 20px !important;
  border-right: 1px solid rgba(216,200,184,.55);
}

.vbo-results-head > div:last-child {
  border-right: 0;
}

.vbo-results-head i {
  color: var(--k3-primary) !important;
  font-size: 16px;
}

.vbo-results-head-det {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.vbo-results-head-det-lbl {
  color: var(--k3-text-soft) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.vbo-results-head-det-val {
  color: var(--k3-text) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}

.vbo-results-chdates {
  background: var(--k3-bg-soft);
}

.vbo-results-chdates a,
.vbo-results-chdates .vbo-pref-color-btn-secondary {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px !important;
  background: #fff !important;
  border: 1px solid rgba(185,130,99,.28) !important;
  border-radius: 4px !important;
  color: var(--k3-primary) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.vbo-results-chdates a:hover,
.vbo-results-chdates .vbo-pref-color-btn-secondary:hover {
  background: var(--k3-primary) !important;
  border-color: var(--k3-primary) !important;
  color: #fff !important;
}

/* Hide list/grid toggle for cleaner booking UX */
.vbo-results-filtering {
  display: none !important;
}


/* =========================================
   AFTER SEARCH – ROOM RESULT CARDS
   ========================================= */

.vbo-searchresults-classic-wrap .room_item {
  margin: 0 0 18px !important;
  background: transparent !important;
  border: 0 !important;
}

.vbo-searchresults-classic-wrap .room_result-inner {
  display: grid !important;
  grid-template-columns: 300px 1fr;
  gap: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(216,200,184,.66);
  border-radius: 10px;
  box-shadow: 0 12px 34px rgba(27,36,38,.045);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.vbo-searchresults-classic-wrap .room_result-inner:hover {
  transform: translateY(-2px);
  border-color: rgba(185,130,99,.45);
  box-shadow: 0 18px 44px rgba(27,36,38,.075);
}

.vblist-roomimage {
  min-width: 0;
}

.vblist-roomimage .vbimglistdiv,
.vblist-roomimage .vik-dots-slider-inner {
  height: 100% !important;
  min-height: 350px !important;
}
.room_item .vblistroomblock{padding-top:0px !important;padding-bottom:0px !important;}
.vblistroomblock .vbcontdivtot{padding-top:0px;padding-bottom:0px;}
.vblist-roomimage img,
.vik-dots-slider-slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.vbmodalrdetails a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 34px !important;
  height: 34px !important;
  background: rgba(17,25,27,.72) !important;
  border-radius: 50% !important;
  color: #fff !important;
  text-decoration: none !important;
}

.vblistroomblock .vbcontdivtot {
  display: grid !important;
  grid-template-columns: 1fr 250px;
  gap: 24px;
  align-items: stretch;
}

.vbo-info-room {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.vbrowroomcapacity {
  float: none !important;
  margin: 0 0 10px !important;
  color: var(--k3-text-soft);
  font-size: 12px;
  text-align: left !important;
}

.vbrowcname {
  margin: 0 0 8px !important;
  color: var(--k3-primary) !important;
  font-family: var(--k3-font-heading) !important;
  font-size: 34px !important;
  line-height: 1.08 !important;
  font-weight: 700 !important;
}

.vbrowcdescr {
  margin: 0 0 16px !important;
  color: var(--k3-text-soft) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

.vbrowcdescr p {
  margin: 0 !important;
}

.roomlist_carats {
  margin-top: 10px !important;
}

.roomlist_carats .vbo-room-carats {
  display: flex !important;
  flex-wrap: wrap;
  gap: 7px !important;
}

.roomlist_carats .vbo-room-carat {
  margin: 0 !important;
}

.roomlist_carats .vbo-room-carat .vbo-expl {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 6px 10px !important;
  background: var(--k3-bg-soft) !important;
  border: 1px solid rgba(216,200,184,.75) !important;
  border-radius: 999px !important;
  color: var(--k3-text-soft) !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

.roomlist_carats .vbo-room-carat .vbo-icn-carat {
  color: var(--k3-primary) !important;
  font-size: 12px !important;
}

.vbdivtot {
  display: flex;
  align-items: center;
  margin: 0 !important;
  padding: 0 0 0 24px !important;
  border-top: 0 !important;
  border-left: 1px solid rgba(216,200,184,.66);
}

.vbdivtotinline {
  width: 100%;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: stretch !important;
  gap: 18px;
}

.vbsrowprice {
  padding: 0 !important;
}

.vbsrowpricediv {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.room_cost {
  display: inline-flex !important;
  align-items: baseline;
  gap: 5px;
  color: var(--k3-primary) !important;
}

.room_cost .vbo_currency {
  color: var(--k3-primary) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
}

.room_cost .vbo_price {
  color: var(--k3-primary) !important;
  font-size: 44px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em;
}

.vbsrowpricediv::after {
  content: "συνολική τιμή";
  margin-top: 6px;
  color: var(--k3-text-soft);
  font-size: 12px;
  font-weight: 700;
}

.vblastavail {
  display: inline-block !important;
  margin-top: 8px !important;
  color: #B86E43 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.vbselectordiv {
  width: 100%;
  min-width: 0 !important;
}

.vbselectordiv .vbselectr-result,
.vbselectordiv .btn.vbselectr-result {
  width: 100%;
  min-height: 48px !important;
  background: var(--k3-primary) !important;
  border: 1px solid var(--k3-primary) !important;
  border-radius: 4px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow: none !important;
}

.vbselectordiv .vbselectr-result:hover,
.vbselectordiv .btn.vbselectr-result:hover {
  background: var(--k3-primary-dark) !important;
  border-color: var(--k3-primary-dark) !important;
  color: #fff !important;
}

/* Back/change dates button under results */
.goback {
  margin-top: 24px !important;
}

.goback .vbo-goback-link,
.goback .vbo-pref-color-btn-secondary {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px !important;
  background: var(--k3-bg-soft) !important;
  border: 1px solid rgba(216,200,184,.7) !important;
  border-radius: 4px !important;
  color: var(--k3-primary) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* Help text */
.k3-booking-help {
  margin: 46px auto 80px !important;
  text-align: center;
  color: var(--k3-text-soft);
}

.k3-booking-help strong {
  color: var(--k3-text);
}


/* =========================================
   RESPONSIVE
   ========================================= */

@media (max-width: 1024px) {
  .wrap.plugin-container,
  .vbo-results-wrapper {
    max-width: calc(100% - 44px) !important;
  }

  .vbo-searchresults-classic-wrap .room_result-inner {
    grid-template-columns: 260px 1fr;
  }

  .vblistroomblock .vbcontdivtot {
    grid-template-columns: 1fr 220px;
    padding: 24px 22px !important;
  }

  .room_cost .vbo_price {
    font-size: 38px !important;
  }
}

@media (max-width: 767px) {
  body:not(.home) .entry-content > .wp-block-kadence-column:first-child {
    padding-top: 48px;
  }

  body:not(.home) .entry-content h1.wp-block-kadence-advancedheading {
    max-width: 330px;
    font-size: 34px !important;
    line-height: 1.08 !important;
  }

  body:not(.home) .entry-content p.wp-block-kadence-advancedheading {
    max-width: 330px;
    font-size: 15px !important;
  }

  .k3-booking-trust {
    gap: 8px;
    margin-bottom: 28px;
  }

  .k3-trust-item {
    min-height: 34px;
    padding: 0 12px;
    font-size: 11.5px;
  }

  .wrap.plugin-container,
  .vbo-results-wrapper {
    max-width: calc(100% - 28px) !important;
  }

  .vbdivsearch.vbo-search-mainview {
    max-width: 100%;
    margin-bottom: 38px !important;
  }

  .vbdivsearch.vbo-search-mainview .vb-search-inner {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 22px 18px !important;
    border-radius: 10px;
  }

  .vbo-search-num-aduchild-entry {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .vbstepsbarcont {
    max-width: calc(100% - 28px);
    margin-bottom: 24px !important;
  }

  .vbo-stepbar .vbo-step {
    font-size: 11px;
    padding-bottom: 13px !important;
  }

  .vbo-results-head {
    grid-template-columns: 1fr 1fr;
    border-radius: 9px;
  }

  .vbo-results-head > div {
    min-height: 64px;
    padding: 13px 14px !important;
    border-right: 1px solid rgba(216,200,184,.55);
    border-bottom: 1px solid rgba(216,200,184,.55);
  }

  .vbo-results-head > div:nth-child(2n) {
    border-right: 0;
  }

  .vbo-results-head > div:nth-last-child(-n+2) {
    border-bottom: 0;
  }

  .vbo-results-head-det-lbl {
    font-size: 11px !important;
  }

  .vbo-results-head-det-val {
    font-size: 14px !important;
  }

  .vbo-results-chdates a,
  .vbo-results-chdates .vbo-pref-color-btn-secondary {
    min-height: 36px;
    padding: 0 10px !important;
    font-size: 11px !important;
  }

  .vbo-searchresults-classic-wrap .room_result-inner {
    grid-template-columns: 1fr !important;
    border-radius: 10px;
  }

  .vblist-roomimage .vbimglistdiv,
  .vblist-roomimage .vik-dots-slider-inner {
    min-height: 225px !important;
  }

  .vblistroomblock .vbcontdivtot {
    grid-template-columns: 1fr !important;
    gap: 18px;
    padding: 22px 18px 20px !important;
  }

  .vbrowcname {
    font-size: 29px !important;
  }

  .vbrowcdescr {
    font-size: 14.5px !important;
  }

  .vbdivtot {
    padding: 18px 0 0 !important;
    border-left: 0 !important;
    border-top: 1px solid rgba(216,200,184,.66) !important;
  }

  .vbdivtotinline {
    gap: 14px;
  }

  .room_cost .vbo_currency {
    font-size: 18px !important;
  }

  .room_cost .vbo_price {
    font-size: 38px !important;
  }

  .vbselectordiv .vbselectr-result,
  .vbselectordiv .btn.vbselectr-result {
    min-height: 44px !important;
  }

  .k3-booking-help {
    margin-top: 34px !important;
    margin-bottom: 54px !important;
    padding: 0 18px;
  }
}

/* =========================================
   HOTEL BOULGARI – VIKBOOKING NEXT STEPS V1
   Room options + final checkout
   ========================================= */

/* Page breathing */
body:not(.home) .entry-content {
  background: #fff;
}

body:not(.home) .entry-content > .wp-block-kadence-column:first-child {
  padding-top: 70px;
}

body:not(.home) .entry-content h1.wp-block-kadence-advancedheading {
  max-width: 720px;
  margin-left: auto !important;
  margin-right: auto !important;
  color: var(--k3-primary) !important;
  font-family: var(--k3-font-heading) !important;
  font-size: clamp(36px, 4vw, 58px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.015em;
}

body:not(.home) .entry-content p.wp-block-kadence-advancedheading {
  max-width: 690px;
  margin-left: auto !important;
  margin-right: auto !important;
  color: var(--k3-text-soft) !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
}

/* Trust badges */
.k3-booking-trust {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 16px auto 38px;
}

.k3-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid rgba(185,130,99,.22);
  border-radius: 999px;
  background: #fff;
  color: var(--k3-text);
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(27,36,38,.04);
}

.k3-trust-item i {
  color: var(--k3-primary);
}

/* VikBooking main container */
.wrap.plugin-container {
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}



/* Keep booking flow width consistent */
.vbo-showprc-head-wrapper,
.vbo-oconfirm-wrapper,
.vbo-oconfirm-middlep,
.vbcustomfields,
.vbo-payment-methods,
.vbo-payment-methods-wrapper,
form[name="vb"] {
  max-width: 980px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Summary head for show price / confirm pages */
.vbo-results-head-showprc,
.vbo-results-head-oconfirm {
  margin-bottom: 30px !important;
}

/* =========================================
   STEP: OPTIONS / RATE PLANS
   ========================================= */

.vbo-showprc-wrapper.vbo-showprc-wrapper-classic {
  margin: 0 auto 48px !important;
}

.vbo-showprc-wrapper .room_container {
  overflow: hidden;
  background: var(--k3-bg-soft);
  border: 1px solid rgba(216,200,184,.78);
  border-radius: 12px;
  box-shadow: 0 18px 48px rgba(27,36,38,.06);
}

.vbo-showprc-room-head {
  padding: 14px 24px !important;
  background: #fff;
  border-bottom: 1px solid rgba(216,200,184,.62);
  margin-bottom:0px;
}

.vbo-showprc-staydetails-party {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--k3-text);
  font-size: 13px;
  font-weight: 800;
}

.vbo-showprc-staydetails-party i {
  color: var(--k3-primary) !important;
}

.vbo-showprc-room-block {
  padding: 24px !important;
}

.vbroomimgdesc {
  display: grid !important;
  grid-template-columns: 430px 1fr;
  gap: 36px;
  align-items: center;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(216,200,184,.7);
}

.vikfx-showprc-gallery-container {
  width: 100% !important;
}

.vikfx-gallery-fade-container {
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
}

.vikfx-gallery-image,
.vbroomimgdesc img.vblistimg {
  width: 100% !important;
  height: 360px !important;
  object-fit: cover !important;
  display: block !important;
}

.vikfx-gallery-navigation-controls a {
  background: rgba(17,25,27,.72) !important;
  color: #fff !important;
  border-radius: 50%;
}

.vikfx-gallery {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}

.vikfx-gallery a {
  display: block;
  width: 64px;
  height: 48px;
  overflow: hidden;
  border-radius: 4px;
  border: 1px solid rgba(216,200,184,.75);
}

.vikfx-gallery img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.vbo-showprc-blockdesc {
  text-align: center;
}

.vbo-showprc-roomname h3 {
  margin: 0 0 16px !important;
  color: var(--k3-text) !important;
  font-family: var(--k3-font-heading) !important;
  font-size: 42px !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
}

.room_description_box {
  max-width: 390px;
  margin: 0 auto;
  color: var(--k3-text-soft);
  font-size: 15px;
  line-height: 1.7;
}

.room_description_box p {
  margin: 0 !important;
}

/* Featured room badge */
.vbo-showprc-room-block .vbo-room-badge,
.vbo-showprc-room-block .vbo-pref-color-btn-secondary {
  border-radius: 999px !important;
}

/* Room characteristics */
.room_carats {
  padding: 26px 0 24px !important;
  border-bottom: 1px solid rgba(216,200,184,.7);
}

.room_carats h4,
.room_prices h4 {
  margin: 0 0 14px !important;
  color: var(--k3-text) !important;
  font-family: var(--k3-font-heading) !important;
  font-size: 26px !important;
  line-height: 1.2 !important;
}

.room_carats .vbo-room-carats {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
}

.room_carats .vbo-room-carat {
  margin: 0 !important;
}

.room_carats .vbo-expl {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  padding: 7px 12px !important;
  background: #fff !important;
  border: 1px solid rgba(216,200,184,.7) !important;
  border-radius: 999px !important;
  color: var(--k3-text-soft) !important;
  font-size: 12px !important;
  font-weight: 700;
}

.room_carats .vbo-icn-carat {
  color: var(--k3-primary) !important;
}

/* Rate plans */
.room_prices {
  padding-top: 24px !important;
}

.vbo-showprc-rateplans-wrapper {
  margin-top: 12px !important;
}

.vbo-showprc-pricetable {
  display: grid;
  gap: 12px;
}

.vbo-showprc-price-entry {
  display: grid !important;
  grid-template-columns: 34px 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 18px 20px !important;
  background: #fff;
  border: 1px solid rgba(216,200,184,.65);
  border-radius: 8px;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.vbo-showprc-price-entry:hover {
  transform: translateY(-1px);
  border-color: rgba(185,130,99,.42);
  box-shadow: 0 10px 26px rgba(27,36,38,.05);
}

.vbo-showprc-price-entry-radio input[type="radio"] {
  accent-color: var(--k3-primary);
}

.vbo-showprc-price-entry-rateplan label {
  margin: 0 0 6px !important;
  color: var(--k3-text) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.vbpricedetails {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--k3-text-soft);
  font-size: 12px;
}

.vbprice_freecanc,
.vbprice_freecanc_no {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 11px !important;
  font-weight: 800;
}

.vbprice_freecanc {
  background: rgba(92,138,92,.12);
  color: #4F7B4F !important;
}

.vbprice_freecanc_no {
  background: rgba(185,130,99,.12);
  color: var(--k3-primary) !important;
}

.vbo-cancpolicy-trig {
  color: var(--k3-text-soft);
  cursor: pointer;
}

.vbo-cancpolicy-cont {
  margin-top: 10px;
  padding: 12px 14px;
  background: var(--k3-bg-soft);
  border: 1px solid rgba(216,200,184,.65);
  border-radius: 6px;
  color: var(--k3-text-soft);
  font-size: 13px;
  line-height: 1.55;
}

.vbo-showprc-price-entry-cost {
  text-align: right;
}

.vbo-showprc-price-entry-cost .room_cost {
  color: var(--k3-primary) !important;
}

.vbo-showprc-price-entry-cost .vbo_currency {
  font-size: 20px !important;
  font-weight: 800 !important;
}

.vbo-showprc-price-entry-cost .vbo_price {
  font-size: 38px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em;
}

/* Buttons row */
.room_buttons_box {
  max-width: 980px;
  margin: 34px auto 56px !important;
  padding-top: 24px;
  border-top: 1px solid rgba(216,200,184,.75);
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
}

.room_buttons_box .goback {
  margin: 0 !important;
}

.room_buttons_box .booknow,
.room_buttons_box input.booknow {
  min-width: 190px;
  min-height: 48px !important;
  padding: 0 26px !important;
  background: var(--k3-primary) !important;
  border: 1px solid var(--k3-primary) !important;
  border-radius: 4px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.room_buttons_box .booknow:hover,
.room_buttons_box input.booknow:hover {
  background: var(--k3-primary-dark) !important;
  border-color: var(--k3-primary-dark) !important;
}

/* =========================================
   STEP: FINAL CHECKOUT / CONFIRM
   ========================================= */

.vbo-oconfirm-summary-container {
  overflow: hidden;
  margin: 0 auto 34px !important;
  background: #fff;
  border: 1px solid rgba(216,200,184,.72);
  border-radius: 10px;
  box-shadow: 0 14px 38px rgba(27,36,38,.05);
}

.vbo-oconfirm-summary-room-wrapper {
  padding: 0 !important;
}

.vbo-oconfirm-summary-room-head,
.vbo-oconfirm-summary-room-row {
  display: grid !important;
  grid-template-columns: 1.6fr .9fr .9fr 1fr .9fr 1.1fr;
  align-items: center;
  gap: 0;
}

.vbo-oconfirm-summary-room-head {
  background: var(--k3-bg-soft);
  border-bottom: 1px solid rgba(216,200,184,.7);
}

.vbo-oconfirm-summary-room-head-cell,
.vbo-oconfirm-summary-room-row > div {
  padding: 17px 16px !important;
}

.vbo-oconfirm-summary-room-head-cell span {
  color: var(--k3-text) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.vbo-oconfirm-summary-room-row {
  border-bottom: 1px solid rgba(216,200,184,.55);
}

.vbo-oconfirm-summary-room-row:last-child {
  border-bottom: 0;
}

.vbo-oconfirm-roomname {
  color: var(--k3-primary) !important;
  font-family: var(--k3-font-heading) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}

.vbo-oconfirm-priceinfo {
  margin-top: 4px;
  color: var(--k3-text-soft);
  font-size: 12px;
}

.vbo-oconfirm-summary-room-cell-tot {
  color: var(--k3-primary) !important;
  font-weight: 900 !important;
}

.vbo-oconfirm-summary-room-cell-tot .vbo_price {
  font-size: 28px !important;
  font-weight: 900 !important;
}

.vbo-oconfirm-summary-total-wrapper {
  background: var(--k3-bg-soft);
}

.vbo-oconfirm-summary-total-row {
  border-top: 1px solid rgba(216,200,184,.75);
}

.vbo-oconfirm-total-block {
  color: var(--k3-text) !important;
  font-size: 15px;
  font-weight: 900;
  text-transform: uppercase;
}

/* Custom fields card */
.vbcustomfields {
  margin-top: 34px !important;
  margin-bottom: 36px !important;
  padding: 42px 36px 34px !important;
  background: var(--k3-bg-soft);
  border: 1px solid rgba(216,200,184,.68);
  border-radius: 12px;
  box-shadow: 0 18px 48px rgba(27,36,38,.055);
}

.vbo-oconfirm-cfield-entry-separator {
  grid-column: 1 / -1;
}

.vbo-oconfirm-cfield-separator h4 {
  margin: 0 0 28px !important;
  color: var(--k3-text) !important;
  font-family: var(--k3-font-heading) !important;
  font-size: 34px !important;
  line-height: 1.15 !important;
  text-align: center;
}

.vbcustomfields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 36px;
}

.vbo-oconfirm-cfield-entry {
  margin: 0 !important;
}

.vbo-oconfirm-cfield-label {
  margin-bottom: 7px !important;
}

.vbo-oconfirm-cfield-label label {
  color: var(--k3-text) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.vbrequired {
  color: var(--k3-primary) !important;
}

.vbo-oconfirm-cfield-input input,
.vbo-oconfirm-cfield-input select,
.vbo-oconfirm-cfield-input textarea,
.vbcustomfields input[type="text"],
.vbcustomfields input[type="email"],
.vbcustomfields input[type="tel"],
.vbcustomfields select,
.vbcustomfields textarea {
  width: 100% !important;
  min-height: 44px !important;
  padding: 0 13px !important;
  background: #fff !important;
  border: 1px solid rgba(216,200,184,.9) !important;
  border-radius: 4px !important;
  color: var(--k3-text) !important;
  font-size: 14px !important;
  box-shadow: none !important;
}

.vbo-oconfirm-cfield-input textarea,
.vbcustomfields textarea {
  min-height: 120px !important;
  padding-top: 12px !important;
  resize: vertical;
}

.vbo-oconfirm-cfield-input input:focus,
.vbo-oconfirm-cfield-input select:focus,
.vbo-oconfirm-cfield-input textarea:focus {
  border-color: var(--k3-primary) !important;
  outline: none !important;
}

.vbo-oconfirm-cfield-input .iti {
  width: 100%;
}

/* Make special requests and terms full width */
.vbo-oconfirm-cfield-entry:has(textarea),
.vbo-oconfirm-cfield-entry:has(input[type="checkbox"]) {
  grid-column: 1 / -1;
}

.vbo-oconfirm-cfield-entry:has(input[type="checkbox"]) {
  padding: 13px 14px;
  background: rgba(255,255,255,.55);
  border-radius: 6px;
}

/* Payment methods */
.vbo-payment-methods,
.vbo-payment-methods-wrapper {
  margin-top: 20px !important;
  margin-bottom: 42px !important;
}

.vbo-payment-methods h4,
.vbo-payment-methods-wrapper h4,
form[name="vb"] > h4 {
  margin: 0 0 18px !important;
  color: var(--k3-text) !important;
  font-family: var(--k3-font-heading) !important;
  font-size: 30px !important;
  line-height: 1.2 !important;
}

.vbo-payment-methods-list,
.vbo-payment-methods-wrap {
  display: flex !important;
  flex-wrap: wrap;
  gap: 16px;
}

.vbo-payment-method,
.vbo-payment-method-block,
.vbo-payment-methods-list > div {
  min-width: 210px;
  min-height: 76px;
  padding: 16px 18px !important;
  background: #fff;
  border: 1px solid rgba(216,200,184,.72) !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 22px rgba(27,36,38,.035);
}

.vbo-payment-method:hover,
.vbo-payment-method-block:hover,
.vbo-payment-methods-list > div:hover {
  border-color: rgba(185,130,99,.45) !important;
}

.vbo-payment-method input[type="radio"],
.vbo-payment-method-block input[type="radio"] {
  accent-color: var(--k3-primary);
}

/* Final confirm button area */
.vbo-oconfirm-footer,
.vbo-oconfirm-bottom,
form[name="vb"] .room_buttons_box {
  max-width: 980px;
  margin-left: auto !important;
  margin-right: auto !important;
}

input[name="saveorder"],
button[name="saveorder"],
.vbo-oconfirm-submit input[type="submit"],
.vbo-oconfirm-submit button,
form[name="vb"] input[type="submit"] {
  min-height: 48px !important;
  padding: 0 28px !important;
  background: var(--k3-primary) !important;
  border: 1px solid var(--k3-primary) !important;
  border-radius: 4px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}

input[name="saveorder"]:hover,
button[name="saveorder"]:hover,
.vbo-oconfirm-submit input[type="submit"]:hover,
.vbo-oconfirm-submit button:hover,
form[name="vb"] input[type="submit"]:hover {
  background: var(--k3-primary-dark) !important;
  border-color: var(--k3-primary-dark) !important;
}

/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 1024px) {
  .vbo-showprc-head-wrapper,
  .vbo-oconfirm-wrapper,
  .vbcustomfields,
  form[name="vb"],
  .room_buttons_box {
    max-width: calc(100% - 44px) !important;
  }

  .vbroomimgdesc {
    grid-template-columns: 360px 1fr;
    gap: 28px;
  }

  .vbo-oconfirm-summary-room-head,
  .vbo-oconfirm-summary-room-row {
    grid-template-columns: 1.4fr .8fr .8fr .9fr .8fr 1fr;
  }
}

@media (max-width: 767px) {
  .vbo-showprc-head-wrapper,
  .vbo-oconfirm-wrapper,
  .vbcustomfields,
  form[name="vb"],
  .room_buttons_box {
    max-width: calc(100% - 28px) !important;
  }

  .vbo-showprc-room-block {
    padding: 18px !important;
  }

  .vbroomimgdesc {
    grid-template-columns: 1fr !important;
    gap: 22px;
    text-align: center;
  }

  .vikfx-gallery-image,
  .vbroomimgdesc img.vblistimg {
    height: 230px !important;
  }

  .vikfx-gallery {
    justify-content: center;
    flex-wrap: wrap;
  }

  .vbo-showprc-roomname h3 {
    font-size: 34px !important;
  }

  .room_carats h4,
  .room_prices h4 {
    font-size: 24px !important;
  }

  .vbo-showprc-price-entry {
    grid-template-columns: 28px 1fr;
    gap: 12px;
    padding: 16px 14px !important;
  }

  .vbo-showprc-price-entry-cost {
    grid-column: 1 / -1;
    text-align: left;
    padding-left: 40px;
  }

  .vbo-showprc-price-entry-cost .vbo_price {
    font-size: 34px !important;
  }

  .room_buttons_box {
    flex-direction: column-reverse;
    align-items: stretch;
    margin-top: 26px !important;
    margin-bottom: 44px !important;
  }

  .room_buttons_box .booknow,
  .room_buttons_box input.booknow,
  .room_buttons_box .goback .vbo-goback-link {
    width: 100%;
    text-align: center;
  }

  /* Confirm summary becomes stacked cards */
  .vbo-oconfirm-summary-room-head {
    display: none !important;
  }

  .vbo-oconfirm-summary-room-row {
    display: block !important;
    padding: 14px 16px !important;
  }

  .vbo-oconfirm-summary-room-row > div {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 8px 0 !important;
    border-bottom: 1px solid rgba(216,200,184,.45);
  }

  .vbo-oconfirm-summary-room-row > div:last-child {
    border-bottom: 0;
  }

  .vbo-oconfirm-summary-room-head-cell-responsive {
    display: block !important;
    padding: 0 !important;
  }

  .vbo-oconfirm-summary-room-head-cell-responsive span {
    color: var(--k3-text-soft) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }

  .vbo-oconfirm-summary-room-cell-descr {
    display: block !important;
  }

  .vbo-oconfirm-summary-room-cell-tot .vbo_price {
    font-size: 24px !important;
  }

  .vbcustomfields {
    grid-template-columns: 1fr;
    gap: 15px;
    padding: 28px 18px 24px !important;
  }

  .vbo-oconfirm-cfield-separator h4 {
    font-size: 29px !important;
    margin-bottom: 18px !important;
  }

  .vbo-payment-methods-list,
  .vbo-payment-methods-wrap {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .vbo-payment-method,
  .vbo-payment-method-block,
  .vbo-payment-methods-list > div {
    width: 100%;
    min-width: 0;
  }
}

.room_item .vblistroomblock:first-child{width:100% !important;}


/* =========================================
   HOTEL BOULGARI – ROOMS LIST PAGE
   VikBooking rooms shortcode
   ========================================= */

/* Scope mainly to Rooms page */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .entry-content {
  background: #fff;
}

/* Hero / page header */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) #contentheader .entry-title {
  font-family: var(--k3-font-heading) !important;
  font-size: clamp(38px, 4.6vw, 64px) !important;
  line-height: 1.05 !important;
  color: #fff !important;
  text-shadow: 0 8px 28px rgba(0,0,0,.32);
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .featured-container-mask {
  background: rgba(17,25,27,.42) !important;
}

/* Main container */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .wrap.plugin-container {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 90px 24px 100px !important;
}

/* Reset Vik list */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vblistcontainer,
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vblistcontainer-list {
  width: 100% !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) ul.vblist {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Room card */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vblist li.room_result,
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .room_result {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .room_result-inner {
  display: grid !important;
  grid-template-columns: 46% 54%;
  min-height: 360px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(216,200,184,.72);
  border-radius: 12px;
  box-shadow: 0 18px 48px rgba(27,36,38,.06);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .room_result-inner:hover {
  transform: translateY(-3px);
  border-color: rgba(185,130,99,.45);
  box-shadow: 0 24px 62px rgba(27,36,38,.09);
}

/* Image side */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vblist-roomimage {
  min-width: 0 !important;
  height: 100% !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbimglistdiv,
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbroomimgbg,
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbroomimgbg-backgr {
  width: 100% !important;
  height: 100% !important;
  min-height: 360px !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbroomimgbg-backgr {
  background-size: cover !important;
  background-position: center center !important;
  transition: transform .45s ease;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .room_result-inner:hover .vbroomimgbg-backgr {
  transform: scale(1.035);
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbo-roomslist-imglink {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

/* Gallery/camera icon */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbmodalrdetails,
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbo-roomslist-opengallery-cont {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  z-index: 5;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbmodalrdetails a,
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbo-roomslist-opengallery {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 38px !important;
  height: 38px !important;
  background: rgba(17,25,27,.72) !important;
  border-radius: 50% !important;
  color: #fff !important;
  text-decoration: none !important;
  backdrop-filter: blur(4px);
}

/* Content side */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vblistroomblock {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 190px;
  gap: 28px;
  align-items: stretch;
  padding: 38px 36px !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbo-info-room {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbdescrlistdiv {
  position: relative;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbrowroomcapacity {
  float: none !important;
  margin: 0 0 12px !important;
  color: var(--k3-text-soft) !important;
  font-size: 12px !important;
  line-height: 1;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbrowcname {
  margin: 0 0 6px !important;
  font-family: var(--k3-font-heading) !important;
  font-size: clamp(32px, 3vw, 44px) !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbrowcname a {
  color: var(--k3-text) !important;
  text-decoration: none !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbrowcname a:hover {
  color: var(--k3-primary) !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vblistroomcat {
  display: inline-flex !important;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  margin: 0 0 16px !important;
  padding: 0 11px !important;
  background: rgba(185,130,99,.11) !important;
  border: 1px solid rgba(185,130,99,.22);
  border-radius: 999px;
  color: var(--k3-primary) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbrowcdescr {
  max-width: 560px;
  margin: 0 0 22px !important;
  color: var(--k3-text-soft) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

/* Amenities pills */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .roomlist_carats {
  margin-top: auto !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .roomlist_carats .vbo-room-carats {
  display: flex !important;
  flex-wrap: wrap;
  gap: 7px !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .roomlist_carats .vbo-room-carat {
  margin: 0 !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .roomlist_carats .vbo-expl {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 6px 10px !important;
  background: var(--k3-bg-soft) !important;
  border: 1px solid rgba(216,200,184,.72) !important;
  border-radius: 999px !important;
  color: var(--k3-text-soft) !important;
  font-size: 11.5px !important;
  line-height: 1.2 !important;
  font-weight: 700;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .roomlist_carats .vbo-icn-carat {
  color: var(--k3-primary) !important;
  font-size: 12px !important;
}

/* Price / CTA column */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbcontdivtot {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbdivtot {
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 0 0 0 28px !important;
  border-left: 1px solid rgba(216,200,184,.68) !important;
  border-top: 0 !important;
  display: flex;
  align-items: center;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbdivtotinline {
  width: 100%;
  display: flex !important;
  flex-direction: column;
  align-items: stretch !important;
  justify-content: center;
  gap: 20px;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbsrowprice {
  padding: 0 !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbsrowpricediv {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .room_cost {
  display: inline-flex !important;
  align-items: baseline;
  gap: 5px;
  color: var(--k3-primary) !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .room_cost .vbo_currency {
  color: var(--k3-primary) !important;
  font-size: 19px !important;
  font-weight: 800 !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .room_cost .vbo_price {
  color: var(--k3-primary) !important;
  font-size: 46px !important;
  line-height: .95 !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbliststartfrom {
  margin-top: 7px !important;
  color: var(--k3-text-soft) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbselectordiv,
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbselectr {
  width: 100% !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbselectr .btn,
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbselectordiv .btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px !important;
  padding: 0 18px !important;
  background: var(--k3-primary) !important;
  border: 1px solid var(--k3-primary) !important;
  border-radius: 4px !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none !important;
  box-shadow: none !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbselectr .btn:hover,
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbselectordiv .btn:hover {
  background: var(--k3-primary-dark) !important;
  border-color: var(--k3-primary-dark) !important;
  color: #fff !important;
}

/* Optional: make every second room slightly softer */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vblist li.room_result:nth-child(even) .room_result-inner {
  background: #fff;
}

/* =========================================
   ROOMS LIST PAGE – RESPONSIVE
   ========================================= */

@media (max-width: 1100px) {
  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .room_result-inner {
    grid-template-columns: 42% 58%;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vblistroomblock {
    grid-template-columns: 1fr 165px;
    gap: 22px;
    padding: 30px 28px !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .room_cost .vbo_price {
    font-size: 40px !important;
  }
}

@media (max-width: 900px) {
  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .room_result-inner {
    grid-template-columns: 1fr !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbimglistdiv,
  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbroomimgbg,
  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbroomimgbg-backgr {
    min-height: 320px !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vblistroomblock {
    grid-template-columns: 1fr !important;
    padding: 30px 26px 28px !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbdivtot {
    padding: 22px 0 0 !important;
    border-left: 0 !important;
    border-top: 1px solid rgba(216,200,184,.68) !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbdivtotinline {
    display: grid !important;
    grid-template-columns: 1fr 190px;
    align-items: center !important;
  }
}

@media (max-width: 767px) {
  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) #contentheader .entry-title {
    max-width: 280px;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: 34px !important;
    line-height: 1.08 !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .wrap.plugin-container {
    padding: 54px 16px 64px !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) ul.vblist {
    gap: 26px !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .room_result-inner {
    border-radius: 10px !important;
    box-shadow: 0 14px 34px rgba(27,36,38,.06);
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbimglistdiv,
  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbroomimgbg,
  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbroomimgbg-backgr {
    min-height: 260px !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vblistroomblock {
    padding: 24px 20px 22px !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbrowcname {
    font-size: 31px !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vblistroomcat {
    margin-bottom: 14px !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbrowcdescr {
    font-size: 14.5px !important;
    line-height: 1.6 !important;
    margin-bottom: 18px !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .roomlist_carats .vbo-room-carats {
    gap: 6px !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .roomlist_carats .vbo-expl {
    padding: 5px 9px !important;
    font-size: 10.5px !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbdivtotinline {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .room_cost .vbo_currency {
    font-size: 17px !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .room_cost .vbo_price {
    font-size: 38px !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbselectr .btn,
  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbselectordiv .btn {
    min-height: 43px !important;
    font-size: 11.5px !important;
  }
}

/* =========================================
   ROOMS PAGE – IMAGE / CARD LAYOUT FIX
   ========================================= */

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .wrap.plugin-container {
  max-width: 1120px !important;
}

/* πιο σταθερό card layout */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .room_result-inner {
  display: grid !important;
  grid-template-columns: 500px minmax(0, 1fr) !important;
  min-height: 330px !important;
  align-items: stretch !important;
  overflow: hidden;
}

/* σταθερό πλάτος εικόνας */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vblist-roomimage {
  width: 500px !important;
  max-width: 500px !important;
  min-width: 500px !important;
  height: 100% !important;
  overflow: hidden !important;
}

/* image wrapper full height */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbimglistdiv,
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbroomimgbg,
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbroomimgbg-backgr {
  width: 100% !important;
  height: 100% !important;
  min-height: 330px !important;
}

/* καλύτερο crop */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbroomimgbg-backgr {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* δεξιά στήλη: content + price */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vblistroomblock {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 150px !important;
  gap: 22px !important;
  padding: 28px 28px !important;
  align-items: center !important;
}

/* πιο μαζεμένο content */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbrowcname {
  font-size: clamp(28px, 2.2vw, 26px) !important;
  line-height: 1.05 !important;
  margin-bottom: 8px !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbrowcdescr {
  max-width: 420px !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin-bottom: 18px !important;
}

/* amenities πιο compact */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .roomlist_carats .vbo-room-carats {
  gap: 6px !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .roomlist_carats .vbo-expl {
  padding: 5px 9px !important;
  font-size: 11px !important;
}

/* τιμή / cta πιο καθαρά */
body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbdivtot {
  border-left: 1px solid rgba(216,200,184,.68) !important;
  padding-left: 20px !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .room_cost .vbo_price {
  font-size: 42px !important;
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbliststartfrom {
  font-size: 11px !important;
}

/* mobile / tablet */
@media (max-width: 980px) {
  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .room_result-inner {
    grid-template-columns: 1fr !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vblist-roomimage {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbimglistdiv,
  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbroomimgbg,
  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbroomimgbg-backgr {
    min-height: 300px !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vblistroomblock {
    grid-template-columns: 1fr !important;
    padding: 24px 22px !important;
  }

  body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .vbdivtot {
    border-left: 0 !important;
    border-top: 1px solid rgba(216,200,184,.68) !important;
    padding-left: 0 !important;
    padding-top: 18px !important;
  }
}

body:is(.page-id-20, .page-id-9953, .page-id-9955, .page-id-9957, .page-id-359, .page-id-10202, .page-id-10192, .page-id-10204, .page-id-10199) .featured-container-img {
  background-position: center 90% !important;
}

/* =========================================
   HOTEL BOULGARI – SINGLE ROOM DETAIL PAGES
   Replace/add page IDs inside :is(...)
   ========================================= */

body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vblistroomnamediv h3 {
  margin: 0 0 8px !important;
  color: var(--k3-primary) !important;
  font-family: var(--k3-font-heading) !important;
  font-size: 34px !important;
  line-height: 1.1 !important;
}

body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vblistroomnamediv .vblistroomcat {
  display: inline-flex !important;
  min-height: 24px;
  padding: 0 11px !important;
  align-items: center;
  width: fit-content;
  background: rgba(185,130,99,.11) !important;
  border: 1px solid rgba(185,130,99,.22);
  border-radius: 999px;
  color: var(--k3-primary) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}

body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbroomimgdesc {
  display: block !important;
  margin: 0 0 34px !important;
}


body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vikfx-gallery {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px !important;
}

body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vikfx-gallery a {
  display: block;
  width: 86px;
  height: 64px;
  overflow: hidden;
  border-radius: 6px;
  border: 1px solid rgba(216,200,184,.75);
  opacity: .82;
  transition: opacity .2s ease, transform .2s ease, border-color .2s ease;
}

body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vikfx-gallery a:hover {
  opacity: 1;
  transform: translateY(-1px);
  border-color: rgba(185,130,99,.45);
}

body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vikfx-gallery img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Description */
body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbo-rdet-descprice-block,
body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbo-listing-details-descprice-block {
  margin: 0 !important;
}

body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbo-listing-amenity i {
  color: var(--k3-primary) !important;
}

/* Booking card */
body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbo-listing-details-costroomdet {
  position: sticky;
  top: 108px;
  align-self: start;
}

body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbo-listing-details-costroomdet-inner {
  padding: 0px 20px 0px 20px!important;
  background: var(--k3-bg-soft) !important;
  border: 1px solid rgba(216,200,184,.7);
  border-radius: 12px;
  box-shadow: 0 18px 48px rgba(27,36,38,.06);
}

body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vblistroomnamedivprice {
  margin-bottom: 24px !important;
}

body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbliststartfromrdet {
  display: block;
  margin-bottom: 6px;
  color: var(--k3-text-soft) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbo-seldates-cont h4 {
  margin: 0 0 18px !important;
  color: var(--k3-text) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
}



body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbo-listing-details-divsearch .vb-search-inner {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}

body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbo-listing-details-divsearch label {
  display: block;
  margin-bottom: 7px !important;
  color: var(--k3-text) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbo-listing-details-divsearch .vbo-caltrigger {
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--k3-primary) !important;
  pointer-events: none;
}

body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbo-availcalendars-cont {
  padding: 32px 30px !important;
  background: var(--k3-bg-soft);
  border: 1px solid rgba(216,200,184,.68);
  border-radius: 12px;
}
body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbcalsblock {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbcaldays td {
  padding: 9px 4px !important;
  color: var(--k3-text-soft) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
}

/* Responsive */
@media (max-width: 1024px) {
  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbrdetboxtop {
    grid-template-columns: 1fr !important;
    gap: 42px;
  }

  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbo-listing-details-costroomdet {
    position: relative;
    top: auto;
    max-width: 520px;
  }

  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vikfx-gallery-image.vblistimg {
    height: 440px !important;
  }
}

@media (max-width: 767px) {
  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .entry-header.text-center {
    padding-top: 56px;
    padding-bottom: 18px;
  }

  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .entry-header.text-center .entry-title {
    max-width: 330px;
    font-size: 34px !important;
    line-height: 1.08 !important;
  }

  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .wrap.plugin-container {
    padding: 0 16px 64px !important;
  }

  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vblistroomnamediv h3 {
    font-size: 28px !important;
  }

  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vikfx-gallery-image.vblistimg {
    height: 290px !important;
  }

  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vikfx-gallery {
    gap: 8px;
  }

  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vikfx-gallery a {
    width: 70px;
    height: 52px;
  }

  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbo-rdet-desc-cont p {
    font-size: 15.5px !important;
    line-height: 1.72 !important;
    margin-bottom: 28px !important;
  }

  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbo-listing-amenities {
    grid-template-columns: 1fr !important;
    gap: 8px;
  }

  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbo-listing-amenity {
    min-height: 40px;
    font-size: 12px !important;
  }

  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbo-listing-details-costroomdet-inner {
    padding: 26px 20px 22px !important;
  }

  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbo-listing-details-costroomdet .vbo_price {
    font-size: 40px !important;
  }

  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbo-availcalendars-cont {
    padding: 24px 16px !important;
  }

  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbcalsblock {
    grid-template-columns: 1fr !important;
    gap: 18px;
  }

  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbcaltrmonth td {
    font-size: 21px;
  }

  body:is(.page-id-10011, .page-id-10004, .page-id-10007, .page-id-9955, .page-id-10009, .page-id-100011, .page-id-9959) .vbcalnumdays td {
    height: 34px;
    font-size: 11px;
  }
}


.vbo-listing-details-wrap .vbo-listing-details-divsearch .vbo-search-inpblock{width:calc(90% - 10px);}
  .vbo-roomdet-calscontainer, .vbo-pkgdet-room-inner{background:none !important;}
  .vbo-listing-details-desc-cont .vbo-roomdet-calscontainer .vbo-roomdet-calscontainer-inner .vbo-availcalendars-cont .vbcalsblock{padding:0px;}
  .vbcalsblock{border:none;}
  
  
/* =========================================
   HOTEL BOULGARI – ABOUT / HOTEL PAGE
   Replace page-id-9943 with the real page ID
   ========================================= */

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .entry-content {
  background: #fff;
}

/* Make custom sections full width even inside theme container */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero,
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-intro,
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-story,
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-features,
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-amenities,
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-cta {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  box-sizing: border-box;
}

/* Shared inner container */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-section-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 96px 24px;
  box-sizing: border-box;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-section-narrow {
  max-width: 840px;
  text-align: center;
}

/* Typography */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-section-kicker {
  margin: 0 0 12px;
  color: var(--k3-primary);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-section-title {
  margin: 0 0 22px;
  color: var(--k3-text);
  font-family: var(--k3-font-heading);
  font-size: clamp(36px, 4vw, 60px);
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -0.02em;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-section-text,
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-content p,
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-feature-card p,
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-amenity-card p {
  color: var(--k3-text-soft);
  font-size: 16px;
  line-height: 1.75;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-section-text {
  margin: 0 auto 18px;
  max-width: 760px;
}

/* Hero */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero {
  background:
    linear-gradient(rgba(17,25,27,.48), rgba(17,25,27,.48)),
    url('/wp-content/uploads/2026/05/about_img.jpg') center center / cover no-repeat;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-section-inner {
  min-height: 520px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-section-kicker,
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-section-title,
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-section-text {
  color: #fff;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-section-text {
  color: rgba(255,255,255,.9);
}

/* Intro */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-intro {
  background: #fff;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
  gap: 64px;
  align-items: center;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  box-shadow: 0 22px 58px rgba(27,36,38,.08);
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-content {
  max-width: 560px;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-content .hb-section-title {
  font-size: clamp(34px, 3vw, 48px);
}

/* Story */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-story {
  background: var(--k3-bg-soft);
}

/* Features */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-features {
  background: #fff;
  text-align: center;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin-top: 42px;
  text-align: left;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-feature-card {
  padding: 30px 26px;
  background: #fff;
  border: 1px solid rgba(216,200,184,.78);
  border-radius: 12px;
  box-shadow: 0 16px 42px rgba(27,36,38,.05);
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-feature-card h3,
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-amenity-card h3 {
  margin: 0 0 10px;
  color: var(--k3-text);
  font-family: var(--k3-font-heading);
  font-size: 25px;
  line-height: 1.15;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-feature-card p,
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-amenity-card p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.65;
}

/* Amenities */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-amenities {
  background: #F7F1EA;
  text-align: center;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-amenities-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 42px;
  text-align: left;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-amenity-card {
  padding: 28px 26px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(216,200,184,.78);
  border-radius: 12px;
}

/* CTA */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-cta {
  background: #11191B;
  text-align: center;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-cta .hb-section-title,
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-cta .hb-section-text {
  color: #fff;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-cta .hb-section-text {
  color: rgba(255,255,255,.78);
}

/* Buttons */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 28px;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 24px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none !important;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-btn-primary {
  background: var(--k3-primary);
  border: 1px solid var(--k3-primary);
  color: #fff !important;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-btn-primary:hover {
  background: var(--k3-primary-dark);
  border-color: var(--k3-primary-dark);
  color: #fff !important;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-btn-secondary {
  background: transparent;
  border: 1px solid rgba(185,130,99,.65);
  color: var(--k3-primary) !important;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-btn-secondary,
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-cta .hb-btn-secondary {
  border-color: rgba(255,255,255,.62);
  color: #fff !important;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-btn-secondary:hover {
  background: rgba(185,130,99,.1);
}

/* Responsive */
@media (max-width: 1024px) {
  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-content {
    max-width: 760px;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-amenities-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-section-inner {
    padding: 68px 18px;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-section-inner {
    min-height: 460px;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-section-title {
    font-size: 34px;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-section-text,
  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-content p {
    font-size: 15px;
    line-height: 1.68;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-feature-grid,
  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-amenities-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-feature-card,
  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-amenity-card {
    padding: 24px 20px;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-btn {
    width: 100%;
  }
}

/* ABOUT HERO – stronger image, softer overlay */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero {
  background:
    linear-gradient(
      90deg,
      rgba(17,25,27,.62) 0%,
      rgba(17,25,27,.42) 32%,
      rgba(17,25,27,.18) 100%
    ),
    url('/wp-content/uploads/2026/05/about_img.jpg') center center / cover no-repeat;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-section-inner {
  min-height: 640px;
  align-items: flex-start;
  text-align: left;
  justify-content: center;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-section-kicker,
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-section-title,
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-section-text,
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-about-actions {
  max-width: 720px;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-section-title {
  font-size: clamp(46px, 5vw, 58px);
  text-shadow: 0 10px 34px rgba(0,0,0,.34);
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-section-text {
  margin-left: 0;
  margin-right: 0;
  font-size: 17px;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-about-actions {
  justify-content: flex-start;
}

/* Mobile hero */
@media (max-width: 767px) {
  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero {
    background:
      linear-gradient(
        rgba(17,25,27,.54),
        rgba(17,25,27,.54)
      ),
      url('/wp-content/uploads/2026/05/about_img.jpg') center center / cover no-repeat;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165)page-id-9943 .hb-about-hero .hb-section-inner {
    min-height: 520px;
    text-align: center;
    align-items: center;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-about-actions {
    justify-content: center;
  }
}

/* About amenities icons */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-amenity-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: rgba(185,130,99,.12);
  color: var(--k3-primary);
  font-size: 16px;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-amenity-card {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-amenity-card:hover {
  transform: translateY(-3px);
  border-color: rgba(185,130,99,.45);
  box-shadow: 0 18px 42px rgba(27,36,38,.07);
}

/* About intro polish */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-intro .hb-section-inner {
  padding-top: 110px;
  padding-bottom: 110px;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-image img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-content {
  padding-left: 10px;
}

body:is(.page-id-9943,.page-id-29,.page-id-357,.page-id-10032,.page-id-10061,.page-id-10162,.page-id-10165,.page-id-10171) .entry-title{display:none;}
body:is(.page-id-9943,.page-id-29,.page-id-357,.page-id-10032,.page-id-10061,.page-id-10162,.page-id-10165,.page-id-10171) .post-content{padding:0px;}
body:is(.page-id-9943,.page-id-29,.page-id-357,.page-id-10032,.page-id-10061,.page-id-10162,.page-id-10165,.page-id-10171) .post-content .entry-content{margin-top:0px;}
body:is(.page-id-9943,.page-id-29,.page-id-357,.page-id-10032,.page-id-10061,.page-id-10162,.page-id-10165,.page-id-10171) #cnt-container, body:is(.page-id-9943,.page-id-29,.page-id-357,.page-id-10032,.page-id-10061,.page-id-10162,.page-id-10165,.page-id-10171) #main{margin-top:0px;}
body:is(.page-id-9943,.page-id-29,.page-id-357,.page-id-10032,.page-id-10061,.page-id-10162,.page-id-10165,.page-id-10171) header{min-height:inherit;}
body:is(.page-id-9943,.page-id-29,.page-id-357,.page-id-10032,.page-id-10061,.page-id-10162,.page-id-10165,.page-id-10171) .entry-meta{margin-bottom:0px;}
body:is(.page-id-9943,.page-id-29,.page-id-357,.page-id-10032,.page-id-10061,.page-id-10162,.page-id-10165,.page-id-10171) .main-body{margin-top:0px;padding-top:0px;}

/* ABOUT PAGE – HERO FINAL POLISH */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero {
  min-height: 690px;
  background-position: center 58% !important;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-section-inner {
  min-height: 690px;
  padding-top: 120px;
  padding-bottom: 110px;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-section-title {
  max-width: 780px;
  margin-bottom: 20px;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-section-text {
  max-width: 560px;
  font-size: 18px;
  line-height: 1.7;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-section-kicker {
  margin-bottom: 16px;
}

/* ABOUT PAGE – INTRO POLISH */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-intro .hb-section-inner {
  max-width: 1120px;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-grid {
  grid-template-columns: 1.05fr .95fr;
  gap: 76px;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-image img {
  border-radius: 10px;
  box-shadow: 0 26px 70px rgba(27,36,38,.11);
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-content {
  padding-top: 10px;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-content .hb-section-title {
  margin-bottom: 24px;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-content p {
  font-size: 16.5px;
}

/* ABOUT PAGE – INTRO FACTS */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 26px;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-facts span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(185,130,99,.1);
  border: 1px solid rgba(185,130,99,.22);
  color: var(--k3-primary);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* ABOUT PAGE – FEATURE CARD POLISH */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-feature-card {
  position: relative;
  min-height: 180px;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-feature-card:hover {
  transform: translateY(-3px);
  border-color: rgba(185,130,99,.45);
  box-shadow: 0 20px 48px rgba(27,36,38,.07);
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-feature-number {
  display: block;
  margin-bottom: 18px;
  color: rgba(185,130,99,.72);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
}

/* ABOUT PAGE – CTA COMPACT */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-cta .hb-section-inner {
  padding-top: 86px;
  padding-bottom: 86px;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-cta .hb-section-title {
  max-width: 660px;
  margin-left: auto;
  margin-right: auto;
}

body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-cta .hb-section-text {
  max-width: 620px;
}

/* =========================================
   ABOUT PAGE – MOBILE FINAL FIXES
   Replace page-id-9943
   ========================================= */

@media (max-width: 767px) {

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-intro .hb-section-inner {
    padding-top: 58px !important;
    padding-bottom: 64px !important;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    align-items: start !important;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-image {
    width: 100% !important;
    max-width: 100% !important;
    order: 1;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-image img {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    border-radius: 10px !important;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-content {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    text-align: center !important;
    order: 2;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-content .hb-section-kicker {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-content .hb-section-title {
    max-width: 320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: 31px !important;
    line-height: 1.08 !important;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-content p {
    max-width: 320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: 14.5px !important;
    line-height: 1.72 !important;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-facts {
    justify-content: center !important;
    max-width: 320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ABOUT PAGE – CTA / FOOTER SEPARATOR */
body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-footer-separator {
  width: 100vw;
  height: 54px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: #F7F1EA;
}

@media (max-width: 767px) {
  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-footer-separator {
    height: 38px;
  }
}

@media (max-width: 767px) {
  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-section-title {
    max-width: 310px !important;
    font-size: 34px !important;
    line-height: 1.08 !important;
  }

  body:is(.page-id-9943,.page-id-10162,.page-id-10165) .hb-about-hero .hb-section-text {
    max-width: 310px !important;
  }
}

/* =========================================
   HOTEL BOULGARI – IOANNINA PAGE
   Replace page-id-10032 with real page ID
   ========================================= */

body:is(.page-id-10032,.page-id-10165) .entry-content {
  background: #fff;
}

/* Full-width sections */
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-hero,
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-intro,
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-story,
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-highlights,
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-photo-break,
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-explore,
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-cta,
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-footer-separator {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  box-sizing: border-box;
}

body:is(.page-id-10032,.page-id-10165) .hb-section-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 96px 24px;
  box-sizing: border-box;
}

body:is(.page-id-10032,.page-id-10165) .hb-section-narrow {
  max-width: 840px;
  text-align: center;
}

/* Typography */
body:is(.page-id-10032,.page-id-10165) .hb-section-kicker {
  margin: 0 0 12px;
  color: var(--k3-primary);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

body:is(.page-id-10032,.page-id-10165) .hb-section-title {
  margin: 0 0 22px;
  color: var(--k3-text);
  font-family: var(--k3-font-heading);
  font-size: clamp(36px, 4vw, 60px);
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-shadow: 0 12px 38px rgba(0,0,0,.1);
}

body:is(.page-id-10032,.page-id-10165) .hb-section-text,
body:is(.page-id-10032,.page-id-10165) .hb-destination-content p,
body:is(.page-id-10032,.page-id-10165) .hb-highlight-card p,
body:is(.page-id-10032,.page-id-10165) .hb-explore-card p {
  color: var(--k3-text-soft);
  font-size: 16px;
  line-height: 1.75;
}

body:is(.page-id-10032,.page-id-10165) .hb-section-text {
  max-width: 760px;
  margin: 0 auto 18px;
}

/* Hero */
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-hero {
  background:
    linear-gradient(
      rgba(17,25,27,.18),
      rgba(17,25,27,.24)
    ),
    url('/wp-content/uploads/2026/05/slide_bg_11.jpg') center center / cover no-repeat;
}

body:is(.page-id-10032,.page-id-10165) .hb-ioannina-hero .hb-section-inner {
  min-height: 680px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

body:is(.page-id-10032,.page-id-10165) .hb-ioannina-hero .hb-section-kicker,
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-hero .hb-section-title,
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-hero .hb-section-text {
  color: #fff;
}

body:is(.page-id-10032,.page-id-10165) .hb-ioannina-hero .hb-section-title {
  font-size: clamp(48px, 5.4vw, 84px);
  text-shadow: 0 12px 38px rgba(0,0,0,.36);
}

body:is(.page-id-10032,.page-id-10165) .hb-ioannina-hero .hb-section-text {
  color: rgba(255,255,255,.9);
  font-size: 18px;
}

/* Intro dark band */
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-intro {
  background: #1B2426;
}

body:is(.page-id-10032,.page-id-10165) .hb-ioannina-intro .hb-section-inner {
  padding-top: 48px;
  padding-bottom: 48px;
}

body:is(.page-id-10032,.page-id-10165) .hb-ioannina-intro p {
  max-width: 840px;
  margin: 0 auto;
  color: rgba(255,255,255,.82);
  font-size: 17px;
  line-height: 1.75;
  text-align: center;
}

/* Story */
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-story {
  background: #fff;
}

body:is(.page-id-10032,.page-id-10165) .hb-destination-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 64px;
  align-items: center;
}

body:is(.page-id-10032,.page-id-10165) .hb-destination-image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  border-radius: 12px;
  box-shadow: 0 22px 58px rgba(27,36,38,.08);
}

body:is(.page-id-10032,.page-id-10165) .hb-destination-content {
  max-width: 580px;
}

body:is(.page-id-10032,.page-id-10165) .hb-destination-content .hb-section-title {
  font-size: clamp(34px, 3vw, 48px);
}

/* Highlights */
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-highlights {
  background: var(--k3-bg-soft);
  text-align: center;
}

body:is(.page-id-10032,.page-id-10165) .hb-highlight-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin-top: 42px;
  text-align: left;
}

body:is(.page-id-10032,.page-id-10165) .hb-highlight-card {
  padding: 30px 26px;
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(216,200,184,.78);
  border-radius: 12px;
  box-shadow: 0 16px 42px rgba(27,36,38,.04);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

body:is(.page-id-10032,.page-id-10165) .hb-highlight-card:hover {
  transform: translateY(-3px);
  border-color: rgba(185,130,99,.45);
  box-shadow: 0 20px 48px rgba(27,36,38,.07);
}

body:is(.page-id-10032,.page-id-10165) .hb-highlight-card h3,
body:is(.page-id-10032,.page-id-10165) .hb-explore-card h3 {
  margin: 0 0 10px;
  color: var(--k3-text);
  font-family: var(--k3-font-heading);
  font-size: 25px;
  line-height: 1.15;
}

body:is(.page-id-10032,.page-id-10165) .hb-highlight-card p,
body:is(.page-id-10032,.page-id-10165) .hb-explore-card p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.65;
}

/* Full image break */
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-photo-break {
  min-height: 520px;
  background:
    linear-gradient(rgba(17,25,27,.18), rgba(17,25,27,.18)),
    url('/wp-content/uploads/2026/05/slide_bg_11.jpg') center center / cover no-repeat;
}

/* Explore */
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-explore {
  background: #fff;
  text-align: center;
}

body:is(.page-id-10032,.page-id-10165) .hb-explore-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 42px;
  text-align: left;
}

body:is(.page-id-10032,.page-id-10165) .hb-explore-card {
  padding: 30px 26px;
  background: #fff;
  border: 1px solid rgba(216,200,184,.78);
  border-radius: 12px;
  box-shadow: 0 16px 42px rgba(27,36,38,.04);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

body:is(.page-id-10032,.page-id-10165) .hb-explore-card:hover {
  transform: translateY(-3px);
  border-color: rgba(185,130,99,.45);
  box-shadow: 0 20px 48px rgba(27,36,38,.07);
}

body:is(.page-id-10032,.page-id-10165) .hb-explore-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: rgba(185,130,99,.12);
  color: var(--k3-primary);
  font-size: 16px;
}

/* CTA */
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-cta {
  background: #11191B;
  text-align: center;
}

body:is(.page-id-10032,.page-id-10165) .hb-ioannina-cta .hb-section-inner {
  padding-top: 86px;
  padding-bottom: 86px;
}

body:is(.page-id-10032,.page-id-10165) .hb-ioannina-cta .hb-section-title,
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-cta .hb-section-text {
  color: #fff;
}

body:is(.page-id-10032,.page-id-10165) .hb-ioannina-cta .hb-section-text {
  color: rgba(255,255,255,.78);
}

body:is(.page-id-10032,.page-id-10165) .hb-ioannina-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 28px;
}

/* Buttons */
body:is(.page-id-10032,.page-id-10165) .hb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 24px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none !important;
}

body:is(.page-id-10032,.page-id-10165) .hb-btn-primary {
  background: var(--k3-primary);
  border: 1px solid var(--k3-primary);
  color: #fff !important;
}

body:is(.page-id-10032,.page-id-10165) .hb-btn-primary:hover {
  background: var(--k3-primary-dark);
  border-color: var(--k3-primary-dark);
  color: #fff !important;
}

body:is(.page-id-10032,.page-id-10165) .hb-btn-secondary {
  background: transparent;
  border: 1px solid rgba(255,255,255,.62);
  color: #fff !important;
}

body:is(.page-id-10032,.page-id-10165) .hb-btn-secondary:hover {
  background: rgba(255,255,255,.08);
}

/* Footer separator */
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-footer-separator {
  height: 54px;
  background: #F7F1EA;
}

/* Responsive */
@media (max-width: 1024px) {
  body:is(.page-id-10032,.page-id-10165) .hb-destination-grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  body:is(.page-id-10032,.page-id-10165) .hb-destination-content {
    max-width: 760px;
  }

  body:is(.page-id-10032,.page-id-10165) .hb-highlight-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:is(.page-id-10032,.page-id-10165) .hb-explore-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body:is(.page-id-10032,.page-id-10165) .hb-section-inner {
    padding: 68px 18px;
  }

  body:is(.page-id-10032,.page-id-10165) .hb-ioannina-hero .hb-section-inner {
    min-height: 520px;
  }

  body:is(.page-id-10032,.page-id-10165) .hb-ioannina-hero .hb-section-title {
    max-width: 330px;
    margin-left: auto;
    margin-right: auto;
    font-size: 38px;
    line-height: 1.08;
  }

  body:is(.page-id-10032,.page-id-10165) .hb-ioannina-hero .hb-section-text {
    max-width: 320px;
    font-size: 15px;
  }

  body:is(.page-id-10032,.page-id-10165) .hb-ioannina-intro p {
    font-size: 15px;
    line-height: 1.7;
  }

  body:is(.page-id-10032,.page-id-10165) .hb-destination-content {
    text-align: center;
  }

  body:is(.page-id-10032,.page-id-10165) .hb-destination-content .hb-section-title {
    font-size: 31px;
    line-height: 1.08;
  }

  body:is(.page-id-10032,.page-id-10165) .hb-highlight-grid,
  body:is(.page-id-10032,.page-id-10165) .hb-explore-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  body:is(.page-id-10032,.page-id-10165) .hb-highlight-card,
  body:is(.page-id-10032,.page-id-10165) .hb-explore-card {
    padding: 24px 20px;
  }

  body:is(.page-id-10032,.page-id-10165) .hb-ioannina-photo-break {
    min-height: 300px;
  }

  body:is(.page-id-10032,.page-id-10165) .hb-ioannina-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body:is(.page-id-10032,.page-id-10165) .hb-btn {
    width: 100%;
  }

  body:is(.page-id-10032,.page-id-10165) .hb-ioannina-footer-separator {
    height: 38px;
  }
}
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-hero .hb-section-kicker,
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-hero .hb-section-title,
body:is(.page-id-10032,.page-id-10165) .hb-ioannina-hero .hb-section-text {
  text-shadow: 0 8px 28px rgba(0,0,0,.38);
}

/* =========================================
   HOTEL BOULGARI – CONTACT PAGE
   Replace page-id-29 with real page ID
   ========================================= */

body:is(.page-id-29,.page-id-357) .entry-content {
  background: #fff;
}

/* Full width sections */
body:is(.page-id-29,.page-id-357) .hb-contact-hero,
body:is(.page-id-29,.page-id-357) .hb-contact-intro,
body:is(.page-id-29,.page-id-357) .hb-contact-cards,
body:is(.page-id-29,.page-id-357) .hb-contact-main,
body:is(.page-id-29,.page-id-357) .hb-contact-map,
body:is(.page-id-29,.page-id-357) .hb-contact-cta,
body:is(.page-id-29,.page-id-357) .hb-contact-footer-separator {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  box-sizing: border-box;
}

body:is(.page-id-29,.page-id-357) .hb-section-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 96px 24px;
  box-sizing: border-box;
}

body:is(.page-id-29,.page-id-357) .hb-section-narrow {
  max-width: 840px;
  text-align: center;
}

/* Typography */
body:is(.page-id-29,.page-id-357) .hb-section-kicker {
  margin: 0 0 12px;
  color: var(--k3-primary);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

body:is(.page-id-29,.page-id-357) .hb-section-title {
  margin: 0 0 22px;
  color: var(--k3-text);
  font-family: var(--k3-font-heading);
  font-size: clamp(36px, 4vw, 60px);
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -0.02em;
}

body:is(.page-id-29,.page-id-357) .hb-section-text {
  max-width: 760px;
  margin: 0 auto 18px;
  color: var(--k3-text-soft);
  font-size: 16px;
  line-height: 1.75;
}

/* Hero */
body:is(.page-id-29,.page-id-357) .hb-contact-hero {
  background:
    linear-gradient(
      90deg,
      rgba(17,25,27,.42) 0%,
      rgba(17,25,27,.22) 45%,
      rgba(17,25,27,.1) 100%
    ),
    url('/wp-content/uploads/2026/05/contacts_bg.jpg') center center / cover no-repeat;
}

body:is(.page-id-29,.page-id-357) .hb-contact-hero .hb-section-inner {
  min-height: 610px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  text-align: left;
}

body:is(.page-id-29,.page-id-357) .hb-contact-hero .hb-section-kicker,
body:is(.page-id-29,.page-id-357) .hb-contact-hero .hb-section-title,
body:is(.page-id-29,.page-id-357) .hb-contact-hero .hb-section-text {
  max-width: 720px;
  color: #fff;
  text-shadow: 0 10px 34px rgba(0,0,0,.38);
}

body:is(.page-id-29,.page-id-357) .hb-contact-hero .hb-section-title {
  font-size: clamp(46px, 5vw, 78px);
}

body:is(.page-id-29,.page-id-357) .hb-contact-hero .hb-section-text {
  margin-left: 0;
  margin-right: 0;
  color: rgba(255,255,255,.9);
  font-size: 18px;
}

/* Intro */
body:is(.page-id-29,.page-id-357) .hb-contact-intro {
  background: #fff;
}

body:is(.page-id-29,.page-id-357) .hb-contact-intro .hb-section-inner {
  padding-top: 84px;
  padding-bottom: 64px;
}

/* Contact cards */
body:is(.page-id-29,.page-id-357) .hb-contact-cards {
  background: #fff;
}

body:is(.page-id-29,.page-id-357) .hb-contact-cards .hb-section-inner {
  padding-top: 0;
  padding-bottom: 86px;
}

body:is(.page-id-29,.page-id-357) .hb-contact-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

body:is(.page-id-29,.page-id-357) .hb-contact-card {
  padding: 30px 26px;
  background: #fff;
  border: 1px solid rgba(216,200,184,.78);
  border-radius: 12px;
  box-shadow: 0 16px 42px rgba(27,36,38,.05);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

body:is(.page-id-29,.page-id-357) .hb-contact-card:hover {
  transform: translateY(-3px);
  border-color: rgba(185,130,99,.45);
  box-shadow: 0 20px 48px rgba(27,36,38,.08);
}

body:is(.page-id-29,.page-id-357) .hb-contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: rgba(185,130,99,.12);
  color: var(--k3-primary);
  font-size: 16px;
}

body:is(.page-id-29,.page-id-357) .hb-contact-card h3 {
  margin: 0 0 10px;
  color: var(--k3-text);
  font-family: var(--k3-font-heading);
  font-size: 25px;
  line-height: 1.15;
}

body:is(.page-id-29,.page-id-357) .hb-contact-card p {
  margin: 0;
  color: var(--k3-text-soft);
  font-size: 14.5px;
  line-height: 1.65;
}

body:is(.page-id-29,.page-id-357) .hb-contact-card a {
  color: var(--k3-primary);
  text-decoration: none;
}

body:is(.page-id-29,.page-id-357) .hb-contact-card a:hover {
  color: var(--k3-primary-dark);
}

/* Main form area */
body:is(.page-id-29,.page-id-357) .hb-contact-main {
  background: var(--k3-bg-soft);
}

body:is(.page-id-29,.page-id-357) .hb-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 42px;
  align-items: start;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form-wrap,
body:is(.page-id-29,.page-id-357) .hb-contact-info-panel {
  background: #fff;
  border: 1px solid rgba(216,200,184,.78);
  border-radius: 12px;
  box-shadow: 0 18px 48px rgba(27,36,38,.06);
}

body:is(.page-id-29,.page-id-357) .hb-contact-form-wrap {
  padding: 42px 40px;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form-wrap .hb-section-title {
  font-size: clamp(34px, 3vw, 48px);
}

body:is(.page-id-29,.page-id-357) .hb-contact-form-wrap .hb-section-text {
  margin-left: 0;
  margin-right: 0;
  max-width: 620px;
}

/* Contact Form 7 styling */
body:is(.page-id-29,.page-id-357) .hb-contact-form {
  margin-top: 30px;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form p {
  margin: 0 0 14px;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form input[type="text"],
body:is(.page-id-29,.page-id-357) .hb-contact-form input[type="email"],
body:is(.page-id-29,.page-id-357) .hb-contact-form input[type="tel"],
body:is(.page-id-29,.page-id-357) .hb-contact-form textarea,
body:is(.page-id-29,.page-id-357) .hb-contact-form select {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  background: #FBF7F2;
  border: 1px solid rgba(216,200,184,.9);
  border-radius: 5px;
  color: var(--k3-text);
  font-size: 14px;
  box-shadow: none;
  box-sizing: border-box;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form textarea {
  min-height: 150px;
  padding-top: 14px;
  resize: vertical;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form input:focus,
body:is(.page-id-29,.page-id-357) .hb-contact-form textarea:focus,
body:is(.page-id-29,.page-id-357) .hb-contact-form select:focus {
  border-color: var(--k3-primary);
  outline: none;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form input[type="submit"],
body:is(.page-id-29,.page-id-357) .hb-contact-form .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 24px;
  background: var(--k3-primary);
  border: 1px solid var(--k3-primary);
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: none;
  cursor: pointer;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form input[type="submit"]:hover,
body:is(.page-id-29,.page-id-357) .hb-contact-form .wpcf7-submit:hover {
  background: var(--k3-primary-dark);
  border-color: var(--k3-primary-dark);
}

/* Info panel */
body:is(.page-id-29,.page-id-357) .hb-contact-info-panel {
  padding: 36px 30px;
  background: #11191B;
  color: #fff;
}

body:is(.page-id-29,.page-id-357) .hb-contact-info-panel .hb-section-kicker {
  color: var(--k3-primary);
}

body:is(.page-id-29,.page-id-357) .hb-contact-info-panel h3 {
  margin: 0 0 24px;
  color: #fff;
  font-family: var(--k3-font-heading);
  font-size: 32px;
  line-height: 1.1;
}

body:is(.page-id-29,.page-id-357) .hb-contact-info-list {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
}

body:is(.page-id-29,.page-id-357) .hb-contact-info-list li {
  padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,.14);
}

body:is(.page-id-29,.page-id-357) .hb-contact-info-list span {
  display: block;
  margin-bottom: 5px;
  color: rgba(255,255,255,.58);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body:is(.page-id-29,.page-id-357) .hb-contact-info-list strong {
  color: #fff;
  font-size: 15px;
  line-height: 1.5;
}

body:is(.page-id-29,.page-id-357) .hb-contact-info-panel p {
  margin: 0;
  color: rgba(255,255,255,.74);
  font-size: 14px;
  line-height: 1.7;
}

/* Map */
body:is(.page-id-29,.page-id-357) .hb-contact-map {
  background: #fff;
}

body:is(.page-id-29,.page-id-357) .hb-map-wrap {
  width: 100%;
  height: 520px;
  overflow: hidden;
  background: #EFE5DA;
}

body:is(.page-id-29,.page-id-357) .hb-map-wrap iframe {
  display: block;
  width: 100%;
  height: 520px;
  filter: saturate(.82) contrast(.95);
}

/* CTA */
body:is(.page-id-29,.page-id-357) .hb-contact-cta {
  background: #11191B;
  text-align: center;
}

body:is(.page-id-29,.page-id-357) .hb-contact-cta .hb-section-inner {
  padding-top: 86px;
  padding-bottom: 86px;
}

body:is(.page-id-29,.page-id-357) .hb-contact-cta .hb-section-title,
body:is(.page-id-29,.page-id-357) .hb-contact-cta .hb-section-text {
  color: #fff;
}

body:is(.page-id-29,.page-id-357) .hb-contact-cta .hb-section-text {
  color: rgba(255,255,255,.78);
}

body:is(.page-id-29,.page-id-357) .hb-contact-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 28px;
}

/* Buttons */
body:is(.page-id-29,.page-id-357) .hb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 24px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none !important;
}

body:is(.page-id-29,.page-id-357) .hb-btn-primary {
  background: var(--k3-primary);
  border: 1px solid var(--k3-primary);
  color: #fff !important;
}

body:is(.page-id-29,.page-id-357) .hb-btn-primary:hover {
  background: var(--k3-primary-dark);
  border-color: var(--k3-primary-dark);
  color: #fff !important;
}

body:is(.page-id-29,.page-id-357) .hb-btn-secondary {
  background: transparent;
  border: 1px solid rgba(255,255,255,.62);
  color: #fff !important;
}

body:is(.page-id-29,.page-id-357) .hb-btn-secondary:hover {
  background: rgba(255,255,255,.08);
}

/* Separator */
body:is(.page-id-29,.page-id-357) .hb-contact-footer-separator {
  height: 54px;
  background: #F7F1EA;
}

/* Responsive */
@media (max-width: 1024px) {
  body:is(.page-id-29,.page-id-357) .hb-contact-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:is(.page-id-29,.page-id-357) .hb-contact-grid {
    grid-template-columns: 1fr;
  }

  body:is(.page-id-29,.page-id-357) .hb-contact-info-panel {
    max-width: 620px;
  }
}

@media (max-width: 767px) {
  body:is(.page-id-29,.page-id-357) .hb-section-inner {
    padding: 68px 18px;
  }

  body:is(.page-id-29,.page-id-357) .hb-contact-hero {
    background:
      linear-gradient(rgba(17,25,27,.54), rgba(17,25,27,.54)),
      url('/wp-content/uploads/2026/05/contacts_bg.jpg') center center / cover no-repeat;
  }

  body:is(.page-id-29,.page-id-357) .hb-contact-hero .hb-section-inner {
    min-height: 500px;
    align-items: center;
    text-align: center;
  }

  body:is(.page-id-29,.page-id-357) .hb-contact-hero .hb-section-title {
    max-width: 330px;
    margin-left: auto;
    margin-right: auto;
    font-size: 36px;
    line-height: 1.08;
  }

  body:is(.page-id-29,.page-id-357) .hb-contact-hero .hb-section-text {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    font-size: 15px;
  }

  body:is(.page-id-29,.page-id-357) .hb-contact-intro .hb-section-inner {
    padding-top: 58px;
    padding-bottom: 52px;
  }

  body:is(.page-id-29,.page-id-357) .hb-contact-card-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  body:is(.page-id-29,.page-id-357) .hb-contact-cards .hb-section-inner {
    padding-bottom: 64px;
  }

  body:is(.page-id-29,.page-id-357) .hb-contact-form-wrap {
    padding: 30px 20px;
  }

  body:is(.page-id-29,.page-id-357) .hb-contact-form-wrap .hb-section-title {
    font-size: 31px;
    line-height: 1.08;
  }

  body:is(.page-id-29,.page-id-357) .hb-contact-info-panel {
    padding: 30px 22px;
  }

  body:is(.page-id-29,.page-id-357) .hb-map-wrap,
  body:is(.page-id-29,.page-id-357) .hb-map-wrap iframe {
    height: 360px;
  }

  body:is(.page-id-29,.page-id-357) .hb-contact-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body:is(.page-id-29,.page-id-357) .hb-btn {
    width: 100%;
  }

  body:is(.page-id-29,.page-id-357) .hb-contact-footer-separator {
    height: 38px;
  }
}

/* =========================================
   CONTACT PAGE – FORM POLISH
   Replace page-id-29
   ========================================= */

body:is(.page-id-29,.page-id-357) .hb-contact-form .wpcf7-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 18px;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form .wpcf7-form p {
  margin: 0 !important;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form .wpcf7-form p:nth-of-type(3),
body:is(.page-id-29,.page-id-357) .hb-contact-form .wpcf7-form p:nth-of-type(4),
body:is(.page-id-29,.page-id-357) .hb-contact-form .wpcf7-form p:nth-of-type(5),
body:is(.page-id-29,.page-id-357) .hb-contact-form .wpcf7-form p:nth-of-type(6) {
  grid-column: 1 / -1;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form label {
  display: block;
  color: var(--k3-text);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 800;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form .wpcf7-form-control-wrap {
  display: block;
  margin-top: 8px;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form input[type="text"],
body:is(.page-id-29,.page-id-357) .hb-contact-form input[type="email"],
body:is(.page-id-29,.page-id-357) .hb-contact-form input[type="tel"],
body:is(.page-id-29,.page-id-357) .hb-contact-form textarea {
  width: 100% !important;
  min-height: 48px !important;
  padding: 0 14px !important;
  background: #FBF7F2 !important;
  border: 1px solid rgba(216,200,184,.92) !important;
  border-radius: 6px !important;
  color: var(--k3-text) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form textarea {
  min-height: 155px !important;
  padding-top: 14px !important;
  resize: vertical;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form input:focus,
body:is(.page-id-29,.page-id-357) .hb-contact-form textarea:focus {
  background: #fff !important;
  border-color: var(--k3-primary) !important;
  box-shadow: 0 0 0 3px rgba(185,130,99,.11) !important;
  outline: none !important;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form .wpcf7-submit {
  width: auto !important;
  min-width: 180px;
  min-height: 46px !important;
  padding: 0 28px !important;
  background: var(--k3-primary) !important;
  border: 1px solid var(--k3-primary) !important;
  border-radius: 4px !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: none !important;
  cursor: pointer;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form .wpcf7-submit:hover {
  background: var(--k3-primary-dark) !important;
  border-color: var(--k3-primary-dark) !important;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form .wpcf7-spinner {
  margin-left: 12px;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #A64032;
  font-size: 12px;
  font-weight: 700;
}

body:is(.page-id-29,.page-id-357) .hb-contact-form .wpcf7-response-output {
  grid-column: 1 / -1;
  margin: 8px 0 0 !important;
  padding: 14px 16px !important;
  border-radius: 6px;
  border-color: rgba(185,130,99,.45) !important;
  color: var(--k3-text);
  font-size: 13px;
  line-height: 1.55;
}

/* Mobile */
@media (max-width: 767px) {
  body:is(.page-id-29,.page-id-357) .hb-contact-form .wpcf7-form {
    grid-template-columns: 1fr;
  }

  body:is(.page-id-29,.page-id-357) .hb-contact-form .wpcf7-form p {
    grid-column: 1 / -1;
  }

  body:is(.page-id-29,.page-id-357) .hb-contact-form .wpcf7-submit {
    width: 100% !important;
  }
}

body:is(.page-id-29,.page-id-357) .hb-contact-hero .hb-section-kicker,
body:is(.page-id-29,.page-id-357) .hb-contact-hero .hb-section-title,
body:is(.page-id-29,.page-id-357) .hb-contact-hero .hb-section-text {
  text-shadow: 0 10px 34px rgba(0,0,0,.42);
}

/* =========================================
   HOTEL BOULGARI – GALLERY PAGE
   Replace page-id-10061 with real page ID
   ========================================= */

body:is(.page-id-10061,.page-id-10171) .entry-content {
  background: #fff;
}

body:is(.page-id-10061,.page-id-10171) .hb-gallery-hero,
body:is(.page-id-10061,.page-id-10171) .hb-gallery-intro,
body:is(.page-id-10061,.page-id-10171) .hb-gallery-main,
body:is(.page-id-10061,.page-id-10171) .hb-gallery-cta,
body:is(.page-id-10061,.page-id-10171) .hb-gallery-footer-separator {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  box-sizing: border-box;
}

body:is(.page-id-10061,.page-id-10171) .hb-section-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 96px 24px;
  box-sizing: border-box;
}

body:is(.page-id-10061,.page-id-10171) .hb-section-narrow {
  max-width: 840px;
  text-align: center;
}

body:is(.page-id-10061,.page-id-10171) .hb-section-kicker {
  margin: 0 0 12px;
  color: var(--k3-primary);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

body:is(.page-id-10061,.page-id-10171) .hb-section-title {
  margin: 0 0 22px;
  color: var(--k3-text);
  font-family: var(--k3-font-heading);
  font-size: clamp(36px, 4vw, 60px);
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -0.02em;
}

body:is(.page-id-10061,.page-id-10171) .hb-section-text {
  max-width: 760px;
  margin: 0 auto 18px;
  color: var(--k3-text-soft);
  font-size: 16px;
  line-height: 1.75;
}

/* Hero */
body:is(.page-id-10061,.page-id-10171) .hb-gallery-hero {
  background:
    linear-gradient(
      90deg,
      rgba(17,25,27,.58) 0%,
      rgba(17,25,27,.36) 48%,
      rgba(17,25,27,.18) 100%
    ),
    url('/wp-content/uploads/2026/05/gallery_bg.jpg') center center / cover no-repeat;
}

body:is(.page-id-10061,.page-id-10171) .hb-gallery-hero .hb-section-inner {
  min-height: 610px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  text-align: left;
}

body:is(.page-id-10061,.page-id-10171) .hb-gallery-hero .hb-section-kicker,
body:is(.page-id-10061,.page-id-10171) .hb-gallery-hero .hb-section-title,
body:is(.page-id-10061,.page-id-10171) .hb-gallery-hero .hb-section-text {
  max-width: 720px;
  color: #fff;
  text-shadow: 0 10px 34px rgba(0,0,0,.4);
}

body:is(.page-id-10061,.page-id-10171) .hb-gallery-hero .hb-section-title {
  font-size: clamp(46px, 5vw, 78px);
}

body:is(.page-id-10061,.page-id-10171) .hb-gallery-hero .hb-section-text {
  margin-left: 0;
  margin-right: 0;
  color: rgba(255,255,255,.9);
  font-size: 18px;
}

/* Intro */
body:is(.page-id-10061,.page-id-10171) .hb-gallery-intro {
  background: #fff;
}

body:is(.page-id-10061,.page-id-10171) .hb-gallery-intro .hb-section-inner {
  padding-top: 84px;
  padding-bottom: 64px;
}

/* Gallery */
body:is(.page-id-10061,.page-id-10171) .hb-gallery-main {
  background: var(--k3-bg-soft);
}

body:is(.page-id-10061,.page-id-10171) .hb-gallery-filter {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 9px;
  margin-bottom: 38px;
}

body:is(.page-id-10061,.page-id-10171) .hb-gallery-filter button {
  min-height: 34px;
  padding: 0 14px;
  background: #fff;
  border: 1px solid rgba(216,200,184,.85);
  border-radius: 999px;
  color: var(--k3-text-soft);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}

body:is(.page-id-10061,.page-id-10171) .hb-gallery-filter button.is-active,
body:is(.page-id-10061,.page-id-10171) .hb-gallery-filter button:hover {
  background: var(--k3-primary);
  border-color: var(--k3-primary);
  color: #fff;
}

/* Use this if you add images manually */
body:is(.page-id-10061,.page-id-10171) .hb-gallery-grid {
  columns: 4 240px;
  column-gap: 14px;
}

body:is(.page-id-10061,.page-id-10171) .hb-gallery-item {
  display: block;
  break-inside: avoid;
  margin-bottom: 14px;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(27,36,38,.05);
}

body:is(.page-id-10061,.page-id-10171) .hb-gallery-item img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform .45s ease;
}

body:is(.page-id-10061,.page-id-10171) .hb-gallery-item:hover img {
  transform: scale(1.035);
}

/* CTA */
body:is(.page-id-10061,.page-id-10171) .hb-gallery-cta {
  background: #11191B;
  text-align: center;
}

body:is(.page-id-10061,.page-id-10171) .hb-gallery-cta .hb-section-inner {
  padding-top: 86px;
  padding-bottom: 86px;
}

body:is(.page-id-10061,.page-id-10171) .hb-gallery-cta .hb-section-title,
body:is(.page-id-10061,.page-id-10171) .hb-gallery-cta .hb-section-text {
  color: #fff;
}

body:is(.page-id-10061,.page-id-10171) .hb-gallery-cta .hb-section-text {
  color: rgba(255,255,255,.78);
}

body:is(.page-id-10061,.page-id-10171) .hb-gallery-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 28px;
}

body:is(.page-id-10061,.page-id-10171) .hb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 24px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none !important;
}

body:is(.page-id-10061,.page-id-10171) .hb-btn-primary {
  background: var(--k3-primary);
  border: 1px solid var(--k3-primary);
  color: #fff !important;
}

body:is(.page-id-10061,.page-id-10171) .hb-btn-secondary {
  background: transparent;
  border: 1px solid rgba(255,255,255,.62);
  color: #fff !important;
}

body:is(.page-id-10061,.page-id-10171) .hb-gallery-footer-separator {
  height: 54px;
  background: #F7F1EA;
}

/* Responsive */
@media (max-width: 767px) {
  body:is(.page-id-10061,.page-id-10171) .hb-section-inner {
    padding: 68px 18px;
  }

  body:is(.page-id-10061,.page-id-10171) .hb-gallery-hero {
    background:
      linear-gradient(rgba(17,25,27,.52), rgba(17,25,27,.52)),
      url('/wp-content/uploads/2026/05/gallery_bg.jpg') center center / cover no-repeat;
  }

  body:is(.page-id-10061,.page-id-10171) .hb-gallery-hero .hb-section-inner {
    min-height: 500px;
    align-items: center;
    text-align: center;
  }

  body:is(.page-id-10061,.page-id-10171) .hb-gallery-hero .hb-section-title {
    max-width: 330px;
    margin-left: auto;
    margin-right: auto;
    font-size: 36px;
    line-height: 1.08;
  }

  body:is(.page-id-10061,.page-id-10171) .hb-gallery-hero .hb-section-text {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    font-size: 15px;
  }

  body:is(.page-id-10061,.page-id-10171) .hb-gallery-filter {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 6px;
  }

  body:is(.page-id-10061,.page-id-10171) .hb-gallery-filter button {
    flex: 0 0 auto;
  }

  body:is(.page-id-10061,.page-id-10171) .hb-gallery-grid {
    columns: 1;
  }

  body:is(.page-id-10061,.page-id-10171) .hb-gallery-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body:is(.page-id-10061,.page-id-10171) .hb-btn {
    width: 100%;
  }

  body:is(.page-id-10061,.page-id-10171) .hb-gallery-footer-separator {
    height: 38px;
  }
}


/* VikBooking checkout – hide VAT field until invoice checkbox is selected */
body.page-id-18 .vbo-invoice-vat-field {
  display: none !important;
}

body.page-id-18 .vbo-invoice-vat-field.is-visible {
  display: block !important;
}

/* Optional: small visual refinement */
body.page-id-18 .vbo-invoice-vat-field {
  margin-top: -4px;
}

body.page-id-18 .vbo-invoice-vat-field .vbo-oconfirm-cfield-label label,
body.page-id-18 .vbo-invoice-vat-field .vbo-oconfirm-cfield-label a {
  color: #11191B;
  font-weight: 700;
}

/* Error message for missing VAT when invoice is selected */
body.page-id-18 .vbo-invoice-vat-error {
  display: none;
  margin-top: 8px;
  color: #b42318;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}

body.page-id-18 .vbo-invoice-vat-field.has-error .vbo-invoice-vat-error {
  display: block;
}

body.page-id-18 .vbo-invoice-vat-field.has-error input {
  border-color: #b42318 !important;
}
