.entry-title, .archive-title, h1 {
  font-size: 2rem;
}
.font_weight_400{ font-weight: 400; }
.customize-text{ font-family: Optima; font-size: 36px; color: #696a4b; }
.rightside_heading{ color: #8a8c71 !important; margin-bottom: 1px !important; text-transform:uppercase; font-size: 2rem !important; font-family: Optima !important; font-weight: 400 !important; }
.cart-delete{ color: #8a8c71 !important; }
.second-part, .third-part, .fourth-part { display: none; }
.symbol{
	font-family: "Optima Medium";
}
.line3 {
  width: 136px;
  border-top: 1px solid #8a8c71;
  /*margin-right: 12px;*/
}
.backbtn_container, .buttonContainer{ display:none; }
.flex{ display: flex; }
#content .wpb_text_column .cart-list .clmn3 .box {
    width: 100%;
    padding: 15px;
    background: #f9f9fb;
    border: 1px solid #efefef;
    /*padding: 8px 5px;
    margin-top: 20px;*/
    margin-bottom: 30px;
    border-radius: 6px;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
	position: relative;
}
.extras-title {
    /*background: #557836;
	color: #fff;*/
	background: #696a4b;
	color: #ebe8db;
	margin: 25px 0px;
	/*padding-left: 40px;*/
	cursor:pointer;
    /*height: 40px;
    font-size: 17px;
    font-weight: bold;
	line-height: 40px;*/
	font-size: 24px;
	line-height: 2.1;
	text-align:center;
	text-transform:uppercase;
}
.extras-list .pic{
	text-align: center;
}
.plusminus{
	font-size:24px;
	font-weight:600;
}
.pplchoose_err,.bedcheck_clr{
	color:#FF0000;
}
.bedcheck_dflt_clr{
	color:#8a8c71;
	margin-top: 10px;
}
.show_bed_err{
	display:none;
	color: #FF0000;
}
select{ color: #484848; }
.extras-list a.new_button {
  display: inline-block;
  background-color: #f5f3eb;
  border-radius: 5px;
  padding: 6px 12px;
  font-size: 22px;
  color: #8a8c71 !important;
  text-transform: uppercase;
  line-height: 1.5;
}
.extras-list a.new_button:hover {
  background-color: #fff;
  color: #ebe8db !important;
}
.grazingPlateDate{
	font-family:  Optima;
}
select{
	/*font-family:  Optima;*/
	font-family: "Optima Medium";
	font-size: 18px;
}
.cartdet select{
	/*font-family:  Optima;*/
	font-family: "Optima Medium";
	/*font-size: 18px;*/
	font-size: 14px;
}
.quantitybox select{
	width: 70px;
}
.nokadrinks .quantitybox select{
	width: auto;
	padding-top: 6px;
	padding-bottom: 6px;
}
secondpart{
	margin-top: 27px;
}
.petprice, .chkinoutshowprice{ text-align: right; }
.grazingreadless{ cursor: pointer; }
.cart-list .clmn3 .box2 {
  width: 100%;
  padding: 10px;
  background: #fff;
  /*border: 2px dotted #e1e1e1;*/
  padding: 8px 5px;
  margin-top: 20px;
  margin-bottom: 20px;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
}
.addspa .box3 {
  width: 100%;
  padding: 10px;
  background: #fff;
  /*border: 2px dotted #e1e1e1;*/
  padding: 8px 5px;
  margin-top: 5px;
  margin-bottom: 20px;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
}
/* start drop down css */
.custom-select, .pet-select, .checkinout-select, .card-select, .towels-select, .adult-select, .child-select, .infant-select, .childage-select, .travel-select, .bed-select, .treatment-select {
  position: relative;
  width: 100%;
  font-family: Optima;
  margin-bottom: 20px;
}
.custom-select span.margin_right, .pet-select span.margin_right, .checkinout-select span.margin_right, .card-select span.margin_right, .towels-select span.margin_right, .treatment-select span.margin_right{
	margin-right: 30px;
}
.select-selected, .pet-selected, .checkinout-selected, .card-selected, .towels-selected, .adult-selected, .child-selected, .infant-selected, .childage-selected, .travel-selected, .bed-selected, .treatment-selected {
  background-color: #ffffff;
  padding: 10px;
  display: flex;
  justify-content: space-between;
  cursor: pointer;
  /*border: 1px solid #ccc;*/
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
}
/* Down Arrow */
.select-selected::after {
  /*content: "▼";*/
  content: '\02C5';
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 14px;
  color: #696a4b;
}
.pet-selected::after, .checkinout-selected::after, .card-selected::after, .towels-selected::after, .adult-selected::after, .child-selected::after, .infant-selected::after, .childage-selected::after, .travel-selected::after, .bed-selected::after, .treatment-selected::after {
  content: "▼";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 10px;
  color: #8a8c71;
}
/* if need down arrow as image then in drop down right corner then use this and comment above css bblock */
/*.select-selected::after {
  content: "";
  background: url('/images/down-arrow.png') no-repeat center;
  background-size: contain;
  width: 16px;
  height: 16px;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}*/
.select-items, .pet-items, .checkinout-items, .towels-items, .adult-items, .child-items, .infant-items, .childage-items, .travel-items, .bed-items, .treatment-items{
  position: absolute;
  background-color: white;
  /*border: 1px solid #ccc;*/
  border-top: none;
  width: 100%;
  z-index: 99;
  display: none;
  max-height: 200px;
  overflow-y: auto;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
}
.card-items {
  position: absolute;
  background-color: white;
  /*border: 1px solid #ccc;*/
  border-top: none;
  width: 100%;
  z-index: 99;
  display: none;
  max-height: 240px;
  overflow-y: auto;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
}


.select-items div, .pet-items div, .checkinout-items div, .card-items div, .towels-items div, .adult-items div, .child-items div, .infant-items div, .childage-items div, .travel-items div, .bed-items div, .treatment-items div {
  padding: 10px;
  display: flex;
  justify-content: space-between;
  cursor: pointer;
}

.select-items div:hover, .pet-items div:hover, .checkinout-items div:hover, .card-items div:hover, .towels-items div:hover, .adult-items div:hover, .child-items div:hover, .infant-items div:hover, .childage-items div:hover, .travel-items div:hover, .bed-items div:hover, .treatment-items div:hover {
  background-color: #f1f1f1;
}

/* end drop down css */
.bookedExtra{
	display: flex;
}
.bookedExtra .right{ text-align: right; }
/* new strt */
.box-heading{
text-transform:uppercase; text-align:center; color: #8a8c71; font-weight:600; font-size:22px; letter-spacing: 0.42px; margin-bottom: 10px;
}
.box-sub-heading{
	/*text-align:center; color: #8a8c71; letter-spacing: 0.42px; margin-bottom: 10px;*/
	text-align:center; color: #8a8c71; letter-spacing: 0.42px; margin-bottom: 15px;
}
input[type="submit"] {
	background-color: #f5f3eb !important;
	color: #8a8c71 !important;
}
a.new_button {
  background-color: #f5f3eb !important;
  color: #8a8c71 !important;
  width: fit-content;
}
a.update_button {
  background-color: none !important;
  color: #8a8c71 !important;
  font-size: 18px;
  text-transform: uppercase;
}
a.new_button:hover{
	color: #8a8c71 !important;
}
.update_button_underline { 
	width: 86px;
  	border-top: 1px solid #8a8c71; 
	padding-bottom: 10px;
} 
.total_pay_underline{
	width: 190px;
  	border-top: 1px solid #8a8c71; 
	padding-bottom: 0px;
}
.text-color{
	color: #8a8c71 !important;
}
tr td.line-height{ line-height: 2.2 }
div.line-height{ line-height: 2.2 }
.sub-box{ background-color: #ffffff; padding: 15px; }
.sub-box1{ width: 50% ; flex: content; /*padding: 20px 0px 20px 20px;*/ }
.sub-box2{ width: 50% ; }
.travelcots .sub-box2 select, .towelsextra .sub-box2 select{ width: 100px ; }
.sub-box2 select{ width: 80px ; }
.towelsextra .sub-box2 select{ width: 100% ; }
/*.ageselbox{ padding: 10px 10px 10px 20px; }*/
.box .pic img{ border-radius: 5px; }
.fourth-part hr{ height: 1px !important; width: 75%; background-color: #8a8c71; }
.bold { font-weight: bold; }
.fullbooked{ display: none; }
/*.extraDetailContainer { margin-top: 18px; }*/
.more-info, .extraDetailBox, .spaDetailBox { margin-top: 18px; }
.more-info-link{ color: #8a8c71; text-decoration:underline; }
.extraDetailBox, .addons-container{ display: none; }
.addons-container{ margin-bottom: 20px; } 
.spa-addons-promo-container, .updateBasket-container { margin-top: 20px; margin-bottom: 20px; }
.spaPromoBox{ display: flex; }
.spaPromoInputBox{ width: 50%; text-align:left; }
.spaPromoButtonBox{ width: 50%; }

.booking-extra-price, .lodge-detail-price, .lodge-extra-price, .booking-spa-price { font-size: 20px; letter-spacing: 1px; }
#promotion_code::placeholder {
  color: #8a8c71;
  font-style: normal;
  font-weight: 300;
  opacity: 1;
  text-align: center;
}
.disc_amount{ letter-spacing: 1px; }
.letterspace{ letter-spacing: 1px; }

/* 3rd page right panel strt  */ 
.position-re {
  position: relative;
}
.o-hidden {
  overflow: hidden;
}
.rooms1 .item {
  position: relative;
  overflow: hidden;
  /*margin-bottom: 30px !important;*/
}
.rooms1 .item img {
  -webkit-transition: all .5s;
  transition: all .5s;
}
/*.rooms1 .item:hover .con {
  bottom: 0;
}*/
.rooms1 .item .con {
  padding: 20px;
  position: absolute;
  /*bottom: -30px;
  bottom: 7px;*/
  bottom: 20px;
  left: 0;
  width: 100%;
  -webkit-transition: all .3s;
  transition: all .3s;
  text-align: left;
  z-index: 20;
  height: auto;
  box-sizing: border-box;
  /*background: -moz-linear-gradient(top, transparent 0, rgba(0, 0, 0, .1) 2%, rgba(0, 0, 0, .75) 90%);
  background: -webkit-linear-gradient(top, transparent 0, rgba(0, 0, 0, .01) 2%, rgba(0, 0, 0, .75) 90%);
  background: linear-gradient(to bottom, transparent 0, rgba(0, 0, 0, .01) 2%, rgba(0, 0, 0, .75) 90%);*/
}
.rooms1 .item .con h5, .rooms1 .item .con h5 a {
  position: relative;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  margin-top: 5px;
  /*margin-bottom: 5px;*/
  margin-bottom: 1px;
}
.rooms1 .item .line {
  text-align: center;
  height: 1px;
  width: 92px;
  background-color: rgba(255, 255, 255, 1);
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  /*margin: auto 0 30px;*/
  margin: auto 0 -5px;
}
.line {
  width: 70px;
  border-top: 1px solid rgba(255,255,255,1) !important;
  margin-bottom: 10px;
}
.line2 {
  width: 100px;
  border-top: 1px solid #696a4b;
  margin-bottom: 10px;
}
.bedroomselect select{ height: 49px; font-size: 16px; padding: 0px 15px 0px 15px; line-height: 1.5; }
select{ font-size: 16px; color: #484848 !important; }
/* 3rd page right panel end  */
.rightside_partthree{ display: none; }
.proptitle { margin-bottom: 40px; }
.proptitle .line3{ margin-top: -5px; }
.bottom-margin { margin-bottom: 15px; }
.basket_delete{ margin-bottom: 30px; border-bottom: 1px solid #696a4b; } 
.nokadrinks .firstpart{
	flex: content; 
	letter-spacing:1px;
}
.nokadrinks .firstpart .margin-right, .firstpart .margin-right{
	margin-right: 35px;
}
.nokadrinks .firstpart .nokaExtraTitle, .grazingExtraTitle{ flex: content; }
/* start popup */
.popupMost{width:100%; height:100%; display:none; position:fixed; top:0px; left:0px; background:rgba(0,0,0,0.75); z-index:9999;}
.popupMost .popup-inner{width:auto; padding:0px; position:absolute; top:50%; left:50%; -webkit-transform:translate(-50%, -50%); transform:translate(-50%, -50%); display:inline-block;  background:#transparent; padding:0px; max-width:800px; text-align:center;}
.popupMost .popup-inner p{color:#c6bc8a; font-size:16px; margin-bottom:15px;}
.popupMost .popup-inner h2{color:#c6bc8a; font-size:16px; text-transform:uppercase; border-bottom:1px solid #d9d9d9; padding-bottom:8px; margin-bottom:15px;}
.fa-close::before{ content: "" !important; }
/*.desktop-view, .mobile-view { display: none; }*/
/* end popup */
.no-hyphens {
  hyphens: none;
}
/* Cabin change Multi Select Drop down strt */
.cabin-multi-select {
    position: relative;
    width: 100%;
    /*border: 1px solid #ccc;*/
    cursor: pointer;
}
.selected-items {
    padding: 10px;
    background-color: #f9f9f9;
    border-bottom: 1px solid #eee;
}
.options-container {
    /*display: none;*/ /* Hidden by default */
    position: relative;
    width: 100%;
    /*border: 1px solid #ccc;*/
    background-color: white;
    z-index: 100;
    max-height: 200px;
    overflow-y: auto;
}
.options-container.active {
    display: block; /* Show when active */
}
.option {
    padding: 10px;
    cursor: pointer;
	color: #8a8c71;
}
.option:hover {
    background-color: #f5f3eb;
}
.option.selected {
    background-color: #f5f3eb;
    font-weight: bold;
}
/* Cabin change Multi Select Drop down end */
.propertyTitle{
	font-color: #696a4b;
	font-size: 36px;
	letter-spacing: 2.0px;
}
.setchkopt,.setpet{
	margin-bottom: 20px;
	display:none;
}
.changeCabin, .cabin-multi-select, .forMobile, .updchildage{ display: none; }
.thrash { cursor:pointer; margin-top: 8px; }
.rightSideExDel{ display:none;}
.exAddSuccessMsg{ text-align:center; display: none; }
.nextpage button{
background-color: #f5f3eb !important;
color: #8a8c71 !important;
width: fit-content;
border-radius: 5px;
padding: 6px 12px;
font-size: 22px;
text-transform: uppercase;
line-height: 1.5;
}
@media only screen and (min-width: 480px){
	.listing-sidebar--bottom .widget{
		margin-top: 0px;
	}
}
@media only screen and (min-width: 900px){
	.column-sidebar .listing-sidebar:first-child {
	  margin-top: 80px;
	}
	.listing-sidebar--bottom {
		padding-top: 14px;
	}
}
@media only screen and (max-width: 739px) {
	.extras-title,.chkinout-title {
		font-size: 16px;
	}
	.plusminus {
	  font-size: 22px;
	}
	.customize-text{ font-size: 30px; }
	.propertyTitle{
		font-size: 30px;
	}
}
@media only screen and (max-width: 387px) {
	.extras-title,.chkinout-title {
		font-size: 14px;
	}
	.plusminus {
	  font-size: 18px;
	}
	.customize-text{ font-size: 28px; }
	.rightside_heading{ font-size:1.5rem !important; }
}
@media only screen and (max-width: 490px) {
	.quantitybox select{
		width: 100%;
	}
	.nokadrinks .firstpart .nokaExtraTitle, .grazingExtraTitle{ flex: min-content; }
	.nokadrinks .firstpart .margin-right, .firstpart .margin-right{ margin-right: 15px; }
}
@media only screen and (min-width: 740px){
	#content{
		min-height: calc(100vh - 397px);
	}
	.entry-title, .archive-title, h1 {
	  font-size: 3rem;
	}
}
@media only screen and (max-width: 460px) {
	.rightside_heading{ font-size:1.6rem !important; }
}
@media only screen and (max-width: 400px) {
	.entry-title, .archive-title, h1 {
	  font-size: 1.8rem;
	}
}
@media screen and (min-width: 769px){
  .popupMost .popup-inner{
  	/*width: auto !important;*/
	min-width: 550px;
  }  
}
@media screen and (max-width: 768px){
  .popupMost .popup-inner{
  		width: 85%;
  } 
  .popupMost .popup-inner img{
  		min-height: 400px;
  } 
  .popupMost .popup-inner .fa-close{
  	 width: auto;
	 top: -5px;
	 font-size: 30px;
  }   
}

/* Fake select display */
.ms-display {
    border: 1px solid #ccc;
    padding: 6px 30px 6px 8px;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    line-height: 1.4;
    position: relative;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 16px;
}
/* Down arrow like native select */
.ms-display::after {
    content: "";
    position: absolute;
    right: 10px;
    top: 15px; /*top: 50%;*/
    margin-top: -2px;
    border-width: 5px 4px 0 4px;
    border-style: solid;
    border-color: #8a8c71 transparent transparent transparent;
}
/* Shared popup container */
.ms-popup {
    width:100%; height:100%; display:none; position:fixed; top:0px; left:0px; background:rgba(0,0,0,0.35); z-index:9999;
}
/* Inner panel – looks like iOS bottom sheet */
.ms-popup-inner {
    width:auto; padding:0px; position:absolute; top:50%; left:50%; -webkit-transform:translate(-50%, -50%); transform:translate(-50%, -50%); display:inline-block;  background-color:#5A5A5A; padding:0px; max-width: 500px; text-align:center; border-radius: 5px;
}
/* Header with title + buttons */
.ms-popup-header {
    color:#c6bc8a; font-size:16px; margin-bottom:15px;
	display: flex;
	justify-content: space-around;
}
.ms-popup-header button {
    border: none;
    background: none;
    color: #007aff;
    font-size: 16px;
    padding: 4px 8px;
    cursor: pointer;
}
/* Scrollable list of options */
.ms-popup-body {
    padding: 6px 0;
    overflow-y: auto;
    flex: 1;
	color: #ffffff;
}
.ms-option-row {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    cursor: pointer;
	font-size: large;
}
.ms-option-row:hover {
    /*background: #f5f5f5;*/
}
.ms-option-row input {
    margin-right: 18px;
	-webkit-appearance: checkbox;
}
.ms-option-row input[type="checkbox"]:checked::before {
  content: "";
}
.ms-error {
    color: #c00;
    font-size: 12px;
    padding: 4px 12px 10px;
	display:none;
}

@media screen and (max-width: 769px) {
	.ms-popup-inner {
		width:90%;
	}
}

/* ── Start SPA CSS ── */

:root{
    --spa-green:#696a4b;
    --spa-green-light:#f5f3eb;
    --spa-border:#dedad0;
    --spa-gray:#8a8c71;
    --warm-gray:#8a8c71;
    --spa-text:#3a3a2e;
    --spa-radius:6px;
}
.spaDetailBox *{box-sizing:border-box;}
/* ── Override cart's .cartdet flex that affects our cards ── */
.spaDetailBox{display:block !important;width:100% !important;}
.spaDetailBox .t-card{display:block !important;width:100% !important;float:none !important;}
.spaDetailBox .slot-row-inner{display:flex !important;}
/* ── Treatment card ── */
.spaDetailBox .t-card{border:1.5px solid var(--spa-border);border-radius:var(--spa-radius);background:#fff;margin-bottom:10px;overflow:hidden;transition:border-color .2s,box-shadow .2s;}
.spaDetailBox .t-card.selected{border-color:var(--spa-green);box-shadow:0 2px 14px rgba(105,106,75,.13);}
.spaDetailBox .t-inner{display:flex !important;align-items:center;gap:12px;padding:12px 14px;background:#faf9f6;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:background .15s;}
.spaDetailBox .t-card.selected .t-inner{background:var(--spa-green-light);}
.spaDetailBox .t-check{width:22px;height:22px;flex-shrink:0;border:1.5px solid #c8c6ba;border-radius:4px;background:#fff;position:relative;transition:background .15s,border-color .15s;}
.spaDetailBox .t-card.selected .t-check{background:var(--spa-green);border-color:var(--spa-green);}
.spaDetailBox .t-card.selected .t-check::after{content:'';position:absolute;top:3px;left:6px;width:6px;height:11px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg);}
.spaDetailBox .t-thumb img{width:52px;height:52px;object-fit:cover;border-radius:4px;flex-shrink:0;display:block;}
.spaDetailBox .bspa-thumb-ph{width:52px;height:52px;border-radius:4px;background:#ece9df;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#b0ae9e;font-size:18px;}
.spaDetailBox .t-text{flex:1;min-width:0;}
.spaDetailBox .t-name{font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--spa-green);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.spaDetailBox .t-desc{font-size:12px;color:var(--spa-gray);margin-top:2px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.spaDetailBox .t-price-col{text-align:right;flex-shrink:0;}
.spaDetailBox .t-price{font-size:16px;font-weight:600;color:var(--spa-green);letter-spacing:.02em;}
.spaDetailBox .t-dur{font-size:11px;color:var(--spa-gray);margin-top:2px;}
/* ── Slot row ── */
.spaDetailBox .slot-row{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.spaDetailBox .t-card.selected .slot-row{max-height:400px;border-top:1px solid #ece9e0;}
.slot-row-inner{display:flex !important;flex-wrap:nowrap;gap:14px;padding:12px 14px;background:#fff;}
.slot-row-label{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--spa-gray);font-family:Optima,serif;margin-bottom:5px;}
.slot-col-guests{flex:0 0 auto !important;width:auto !important;}
.slot-col-time{flex:1 1 0 !important;min-width:0 !important;overflow:hidden;}
.qty-control{display:flex;align-items:center;border:1px solid var(--spa-border);border-radius:4px;overflow:hidden;width:fit-content;}
.qty-btn{background:var(--spa-green-light);border:none;width:32px;height:36px;font-size:18px;line-height:1;color:var(--spa-green);cursor:pointer;transition:background .12s;flex-shrink:0;}
.qty-btn:hover{background:#ebe8db;}
.qty-num{min-width:32px;text-align:center;font-size:15px;font-weight:600;color:var(--spa-text);padding:0 6px;line-height:36px;background:#fff;}
.slot-select{width:100%;max-width:100%;font-family:'Optima Medium',Optima,serif;font-size:13px;border:1px solid var(--spa-border);border-radius:4px;padding:8px 28px 8px 10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238a8c71' stroke-width='1.3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 8px center;appearance:none;-webkit-appearance:none;color:#484848;cursor:pointer;}
.slot-select:focus{outline:none;border-color:var(--spa-green);}
.slot-missing{display:none;font-size:11px;color:#c0392b;margin-top:4px;font-family:Optima,serif;}
/* ── Add-ons ── */
.spaDetailBox .addons-section{padding:10px 14px 12px;background:#faf9f6;border-top:1px solid #ece9e0;display:none;}
.spaDetailBox .t-card.selected .addons-section{display:block;background:var(--spa-green-light);}
.spaDetailBox .addons-title{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--spa-gray);font-family:Optima,serif;margin-bottom:8px;}
.spaDetailBox .addon-row{display:flex !important;align-items:center;gap:10px;padding:6px 0;border-bottom:.5px solid #ece9e0;}
.spaDetailBox .addon-row:last-child{border-bottom:none;}
.spaDetailBox .addon-check{width:16px;height:16px;flex-shrink:0;cursor:pointer;accent-color:var(--spa-green);}
.spaDetailBox .addon-row .addon-name{font-size:14px;flex:1;color:var(--spa-green);font-family:Optima;margin-top:0;margin-bottom:0;}
.spaDetailBox .addon-detail{font-size:11px;color:var(--spa-gray);margin-left:2px;}
.spaDetailBox .addon-price{font-size:13px;color:var(--spa-green);font-weight:600;white-space:nowrap;}
.spaDetailBox .led-mins{display:none !important;align-items:center;gap:4px;flex-shrink:0;}
.spaDetailBox .led-mins.active{display:flex !important;}
.spaDetailBox .led-input{width:60px;font-size:13px;border:1px solid var(--spa-border);border-radius:4px;padding:4px 6px;text-align:center;font-family:'Optima Medium',Optima,serif;color:var(--spa-text);}
/* ── Spa Experience Session ── */
.spaDetailBox .sec-head{margin:20px 0 10px;}
.spaDetailBox .sec-head-title{font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--spa-green);margin-bottom:4px;}
.spaDetailBox .sec-head-sub{font-size:12px;color:var(--spa-gray);font-family:Optima,serif;line-height:1.55;}
.spaDetailBox .exp-card{border:1.5px solid var(--spa-border);border-radius:var(--spa-radius);background:#fff;margin-bottom:10px;overflow:hidden;transition:border-color .2s,box-shadow .2s;}
.spaDetailBox .exp-card.selected{border-color:var(--spa-green);box-shadow:0 2px 14px rgba(105,106,75,.13);}
.spaDetailBox .exp-inner{display:flex !important;align-items:flex-start;gap:12px;padding:12px 14px;background:#faf9f6;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:background .15s;}
.spaDetailBox .exp-card.selected .exp-inner{background:var(--spa-green-light);}
.spaDetailBox .exp-card.selected .t-check{background:var(--spa-green);border-color:var(--spa-green);}
.spaDetailBox .exp-card.selected .t-check::after{content:'';position:absolute;top:3px;left:6px;width:6px;height:11px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg);}
.spaDetailBox .exp-name{font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--spa-green);margin-bottom:3px;}
.spaDetailBox .exp-desc{font-size:12px;color:var(--spa-gray);font-family:Optima,serif;line-height:1.5;margin-bottom:6px;}
.spaDetailBox .exp-tags{display:flex;flex-wrap:wrap;gap:5px;}
.spaDetailBox .exp-tag{font-size:11px;font-family:Optima,serif;background:#ece9df;border-radius:20px;padding:2px 10px;color:var(--spa-green);letter-spacing:.03em;white-space:nowrap;}
.spaDetailBox .tbd-price{font-size:16px;font-weight:600;color:var(--spa-green);letter-spacing:.02em;}
.spaDetailBox .exp-session-row{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.spaDetailBox .exp-card.selected .exp-session-row{max-height:300px;border-top:1px solid #ece9e0;}
.spaDetailBox .exp-session-inner{display:flex !important;flex-wrap:nowrap;gap:14px;padding:12px 14px;background:#fff;}
.spaDetailBox .exp-col{flex:1 1 0;min-width:0;}
.spaDetailBox .slot-note{font-size:11px;color:var(--spa-gray);font-family:Optima,serif;padding:6px 14px 10px;background:#fff;}
@media(max-width:490px){
    .spaDetailBox .exp-inner{gap:8px;}
    .spaDetailBox .exp-session-inner{flex-wrap:wrap !important;gap:8px;}
    .spaDetailBox .exp-col{flex:0 0 100% !important;width:100% !important;}
}

/* ── Promo & update ── */
.spa-promo-update-block{padding:12px 0 4px;}
.spa-promo-row{display:flex !important;gap:8px;margin-bottom:6px;align-items:center;}
.spa-promo-input{flex:1;font-family:'Optima Medium',Optima,serif;font-size:13px;border:1px solid var(--spa-border);border-radius:5px;padding:8px 11px;color:#484848;}
.spa-promo-input::placeholder{color:var(--spa-gray);font-weight:300;}
.spa-promo-input:focus{outline:none;border-color:var(--spa-green);}
.spa-promo-btn,.spa-update-btn{font-size:14px !important;padding:8px 16px !important;cursor:pointer;}
.spa-promo-msg{font-size:12px;font-family:Optima,serif;min-height:16px;margin-bottom:6px;}
.spa-promo-msg.error{color:#c0392b;}
.spa-promo-msg.success{color:#3a7023;}
.spa-update-row{display: flex; flex-direction: column; align-items: flex-end;}
.spa-update-row{margin-top:8px;}
.spa-update-msg{font-size:12px;font-family:Optima,serif;text-align:right;min-height:16px;margin-top:4px;}
@media(max-width:490px){
    .spaDetailBox .t-inner{gap:8px;padding:10px 11px;}
    .spaDetailBox .t-thumb img,.spaDetailBox .bspa-thumb-ph{width:42px;height:42px;}
    .spaDetailBox .t-name{font-size:12px;}
    .spaDetailBox .slot-row-inner{flex-wrap:wrap !important;gap:8px;}
    .spaDetailBox .slot-col-guests{flex:0 0 100% !important;width:100% !important;}
    .spaDetailBox .slot-col-time{flex:0 0 100% !important;min-width:100% !important;width:100% !important;overflow:visible !important;}
    .spaDetailBox .slot-select{width:100% !important;}
    .spaDetailBox .qty-control{width:100% !important;}
    .spaDetailBox .qty-btn{flex:1 !important;}
    .spaDetailBox .qty-num{flex:1 !important;}
}
/* ── End SPA CSS ── */