
.person-row small 
{
display: block;
    margin-top: 5px;
    font-size: 13px !important;
	
}	
.dayContainer {
  justify-content: flex-start;}
.booking-error-msg {
  color: #ffff;
  font-weight: 600;
  padding: 0.5em 0;
  background-color: #0a2640 !important;
}

.price-section.has-error .fare-value,
.price-section.has-error .label-booking-cost,
.price-section.has-error .label-taxes-fees,
.price-section.has-error .label-free-cancel {
  display: none;
}
/* 1) Hide default Woo Bookings fields (εκτός calendar input) */
.wc-bookings-booking-form fieldset.wc_bookings_field_persons,
.wc-bookings-booking-form .wc-bookings-booking-persons,
.wc-bookings-booking-form .wc-bookings-booking-person,
.wc-bookings-booking-form .wc-bookings-booking-calendar{display:none!important;}
.ui-datepicker-inline{display:none!important;}

.wc-bookings-date-picker {display: none !important;}

/* 2) Overlay spinner – κέντρο οθόνης */
#cfwc-loading-spinner{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);
                       z-index:10000;display:none;}
#cfwc-loading-spinner>div{width:40px;height:40px;border:4px solid #ccc;
                           border-top:4px solid #007dc1;border-radius:50%;animation:spin 1s linear infinite;}

/* 3) Mini-spinner στο κουμπί */
.btn-spinner{
	
	display: none; 
	margin-left: 10px; 
	vertical-align: middle;	
		
		}
		
		.btn-spinner-disabled {
 filter: saturate(0);
 
}
		

/* 4) Participants panel */
#cfwc-participants-panel {
  position: absolute;
 
  left: -35px;
  top: 52px;
  background: #fff;
  padding: 45px 35px 35px 35px;
  border-radius: 20px;
  box-shadow: 0px 0px 42px -11px rgba(0, 0, 0, 0.5);
  z-index: 9999;
}

.single_add_to_cart_button.disabled{pointer-events: none;}

.availability-message{
	display:none;
	margin-top: 53px;
        color: #ffffff;
        margin-bottom: -30px;
	}
	
.participants-message{
	display:none;	
	margin-top: 53px;
        color: #ffffff;
        margin-bottom: -30px;
	}
	

#cfwc-participants-panel h3
{
	display: none;	
}

#cfwc-participants-panel h4{margin:0 0 20px;font-size:18px;font-weight:600;color:#0a2640;}

.person-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.person-row .label-container{flex:1;margin-right:15px;}
.person-row label{color:#0a2640!important;font-size:16px;font-weight:600;margin:0;}

.person-row button
	{
	background: #e2f3fa;
    color: #192e59;
    border-radius: 50px;
    width: 40px;
    height: 40px;
    border: none;
    cursor: pointer;
    font-size: 24px;
    outline: none;
	}
.person-row button:hover
{
	background: #cce2ff !important;
	}
.person-row span{
		color:#192e59;
		    min-width: 20px;
    text-align: center;
    display: inline-block;
    font-size: 16px;
	}
	
	.qty-controls
{
	display: flex;
    gap: 20px;
    align-items: center;
	
}

.save-participants-btn{
	display: block;
    width: 100%;
    background-color: #192e59;
    color: #fff;
    text-align: center;
    padding: 10px 15px;
    font-size: 19px;
    border-radius: 50px;
    border: none;
    cursor: pointer;
    font-weight: 200;
    margin-top: 35px;
    height: 55px;
    margin-bottom: 10px;
	}
					   
					   
.save-participants-btn:hover{background-color: #0069d9 !important;}

/* “διπλό” targeting */
#cfwc-participants-panel .label-container>label,
body #cfwc-participants-panel .label-container>label{
	color:#0a2640! important;
	margin-bottom: -4px !important;
    font-size: 18px;
	}


/* 5) Resource buttons */
#cfwc-resource-wrapper{margin-top:60px;}
#cfwc-resource-wrapper .option-title{font-size:20px;font-weight:600;margin-bottom:12px;color:#fff;}
.cfwc-resource-btn{width:100%;display:flex;justify-content:center;align-items:center;
                   background:#e2f3fa;color:#0a2640;border:4px solid #e2f3fa;
                   border-radius:20px;padding:22px 20px;font-size:16px;font-weight:600;
                   cursor:pointer;transition:background .15s,border-color .15s,color .15s;}
.cfwc-resource-btn:not(:first-of-type){margin-top:14px;}
.cfwc-resource-btn:hover{background:#fff;}
.cfwc-resource-btn.selected{background:#fff;border-color:#ffb900;}
.cfwc-resource-btn:disabled{pointer-events:none;}

/* 6) Custom fare display */
.price-section{margin-top:15px!important;display:none;flex-direction:column;color:#fff;}


@media (max-width: 768px) {
#cfwc-resource-wrapper{margin-top:30px !important;}
}

.fare-display
{
	display: flex !important;
    flex-direction: column;
    gap: 0px;
    margin-top: 50px;
    font-size: 16px !important;
    display: none;
    color: #fff !important;
	
}

.price_and_label_holder
{
	padding-bottom: 6px;
	
}


.label-booking-cost
{
font-weight: 200;
font-size: 18px;
}


.fare-value
{
	font-size: 26px;
    padding-left: 4px;
    font-weight: 600;
	}





.label-taxes-fees::before,
.label-free-cancel::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 8px;
    vertical-align: middle;
    background: url("data:image/svg+xml;utf8,<svg width='100%' height='100%' viewBox='-1 -1 17 17' xmlns='http://www.w3.org/2000/svg' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;'><circle cx='7.125' cy='7.125' r='6.75' style='fill:%23fff;stroke:%23007dc1;stroke-width:2px;'/><path d='M4.657,7.805l1.904,1.536l3.061,-4.327' style='fill:none;stroke:%23007dc1;stroke-width:1.5px;stroke-linecap:square;'/></svg>")
        no-repeat center;
    background-size: contain;
}

/* 7) Keyframes */
@keyframes spin{to{transform:rotate(360deg);}}

/* 8) Responsive */
@media (max-width:768px){
	#cfwc-participants-panel h3
	{	
	text-align: center;
    width: 100%;
    font-weight: 600;
    font-size: 18px !important;
    border-bottom: 1px solid #e8eaee;
    padding-bottom: 18px;
    color: #192d59;
    display: block;
	margin-bottom: 30px !important;
}


.fare-display
{
	    margin-top: 30px !important;
}


	
  #cfwc-participants-panel
  {
	  
	  padding: 20px 35px 35px 35px !important;
	  
    position: fixed !important;
    left: 0px;
    bottom: 0px !important;
    width: 100% !important;
	  border-bottom-right-radius: 0px !important;
        border-bottom-left-radius: 0px !important;
		top: revert !important;
	  }
  
  .flatpickr-calendar{width:100%!important;left:0!important;margin-top:6px;}
  #cfwc-resource-wrapper .option-title{font-size:18px;margin-top:10px;}
  .cfwc-resource-btn{font-size:15px;padding:18px 16px;}
  
 #wc-bookings-booking-form > div.top-row > div:nth-child(3) {
 margin-top: 36px !important;

 }
  
  #wc-bookings-booking-form .top-row
{
    flex-direction: column;
gap: 0px !important;
}


#wc-bookings-booking-form .top-row .inline-field
{
width: 100% !important; /*Why is this zero?!?*/
}




.participants-breakdown 
{
        position: relative !important;
        width: 100% !important;
        top: 0px !important;
        padding-top: 4px !important;
        padding-bottom: 0px !important;
		margin-top: 4px !important;
        margin-bottom: -8px !important;
}
  
  #wc-bookings-booking-form .top-row
  {
	  gap: 0px !important
	  }
  
}

/* 9) Layout helpers */
.inline-field{position:relative;}
#wc-bookings-booking-form .top-row{width:100%;display:flex!important;gap:10px;}
#wc-bookings-booking-form .top-row .inline-field{flex:1 1 0;width:0;}
.participants-breakdown{
	margin:4px 0;
	display:none;
	flex-wrap:wrap;
	font-size:13px;
	color:#fff;
	}

/* 10) Input colours & placeholders */
#wc-bookings-booking-form input#cfwc-participants-input,
#wc-bookings-booking-form input#cfwc-flatpickr
{
	color:#0a2640;
	background:#fff;
	font-family: Arial, Helvetica, sans-serif !important;
}

#wc-bookings-booking-form input#cfwc-participants-input::placeholder,
#wc-bookings-booking-form input#cfwc-flatpickr::placeholder
{
	color:#0a2640;
	background:#fff;
	font-family: Arial, Helvetica, sans-serif !important;
}


#cfwc-participants-input[readonly] {
  user-select: none;
  cursor: pointer;
}

/* κρύψε οποιονδήποτε συνδυασμό */
.wc-bookings-booking-cost,
.wc-bookings-booking-cost.price{display:none!important;}



#wc-bookings-booking-form .top-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

#wc-bookings-booking-form .top-row .inline-field {
  flex: 1 1 0;
  min-width: 0;
}

#cfwc-participants-input,
#cfwc-flatpickr {
  width: 100% !important;
  box-sizing: border-box;
  height: 50px;
  font-size: 16px;
 padding-left: 42px;
  border-radius: 15px;
  background: #fff;
  color: #0a2640;
  font-weight: 600;
  border: none;
  cursor: pointer;
}

#cfwc-participants-input
{
	padding: 10px 12px 10px 42px;
}






.participants-breakdown
{
display: none;	
}

.participants-breakdown.flex-visible {
 display: flex !important;
 gap: 10px;
 flex-wrap: wrap;
 top: 90px;
 position: absolute
 
}

.flatpickr-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9998;
}


.participants-breakdown.flex-visible div
{ 
	font-size: 13px
}	


div.participants-breakdown > div:first-child::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-right: 5px;
    vertical-align: middle;
    background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A//www.w3.org/2000/svg'%20viewBox%3D'-1%20-1%2017%2017'%20style%3D'fill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-miterlimit%3A1.5%3B'%3E%3Ccircle%20cx%3D'7.125'%20cy%3D'7.125'%20r%3D'6.75'%20fill%3D'%23fff'%20stroke%3D'%23ffffff'%20stroke-width%3D'2'/%3E%3Cpath%20d%3D'M4.657%2C7.805l1.904%2C1.536l3.061%2C-4.327'%20fill%3D'none'%20stroke%3D'%230A2640'%20stroke-width%3D'1.5'%20stroke-linecap%3D'square'/%3E%3C/svg%3E") no-repeat center;

    background-size: contain;
    margin-top: -4px;
}

.drop-down-arrow {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 9px;
    background-image: url(../images/drop-down-arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
}

.drop-down-arrow {
    display: inline-block;
    transition: transform 0.3s ease;
    transform-origin: 50% 25%;
}

.drop-down-arrow.rotated {
  transform: rotate(180deg);
}

.drop-down-arrow.unrrotated {
  transform: rotate(0deg);
}

.inline-field {
  position: relative;
}

.icon-person {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
	background-image: url(../images/add-participants-icon.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
}



.icon-calendar {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
    background-image: url(../images/calendar-icon.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
}	
