.flashify-bokun-booking-box {
	border: 1px solid #dcdfe4;
	border-radius: 12px;
	padding: 18px;
	margin: 0 0 22px;
	background: #fff;
}
p.price {
    display: none;
}
.quantity {
    display: none;
}
/* Participant information */
.flashify-participant-info {
	margin-top: 10px;
	border-radius: 12px;
	background: #fff;
}

.flashify-participant-info h4 {
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 700;
}

/* Participant limits box */
.flashify-participant-limit-box {
	margin-bottom: 18px;
	padding: 14px 16px;
	border-radius: 10px;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
}

.flashify-participant-limit-box p {
	margin: 4px 0;
	font-size: 14px;
	line-height: 1.5;
}

.flashify-participant-limit-box p:first-child {
	margin-bottom: 8px;
}

/* Customer fields */
.flashify-customer-fields {
	display: grid;
	gap: 14px;
	margin-top: 16px;
}

.flashify-customer-fields p {
	margin: 0;
}

.flashify-customer-fields label {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 600;
	color: #111827;
}

.flashify-customer-fields input[type="text"],
.flashify-customer-fields input[type="email"],
.flashify-customer-fields input[type="tel"] {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	background: #fff;
	font-size: 14px;
	line-height: 1.4;
	box-sizing: border-box;
}

.flashify-customer-fields input:focus {
	border-color: #111827;
	outline: none;
	box-shadow: 0 0 0 2px rgba(17, 24, 39, 0.08);
}

.flashify-customer-fields .required {
	color: #dc2626;
}

/* Phone field / intl-tel-input */
.flashify-customer-fields .iti {
	width: 100%;
	display: block;
}

.flashify-customer-fields .iti input[type="tel"] {
	width: 100%;
}

.flashify-customer-fields .iti__country-list {
	max-width: 360px;
	border-radius: 8px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
	z-index: 99999;
}

#flashify-bokun-phone-error,
.flashify-error {
	margin-top: 6px;
	font-size: 13px;
	color: #dc2626;
}

/* Validation state */
.flashify-field-error,
.flashify-customer-fields input.flashify-field-error {
	border-color: #dc2626 !important;
	background: #fff7f7;
}

/* Price summary */
.flashify-bokun-price-summary {
	margin-top: 20px;
	margin-bottom: 20px;
	padding: 16px;
	border-radius: 12px;
	background: #111827;
	color: #fff;
}

.flashify-price-summary-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 8px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 14px;
}

.flashify-price-summary-row span {
	color: rgba(255, 255, 255, 0.72);
}

.flashify-price-summary-row strong {
	text-align: right;
	font-weight: 700;
	color: #fff;
}

.flashify-price-summary-row:last-child {
	border-bottom: 0;
}

.flashify-price-summary-total {
	margin-top: 4px;
	padding-top: 12px;
	font-size: 16px;
}

.flashify-price-summary-total strong {
	font-size: 18px;
}

/* Mobile */
@media (max-width: 640px) {
	.flashify-participant-info {
		padding: 16px;
	}

	.flashify-customer-fields {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.flashify-price-summary-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}

	.flashify-price-summary-row strong {
		text-align: left;
	}
}
.flashify-bokun-booking-box h3 {
	margin-top: 0;
}
.flashify-bokun-date-grid {
	display: grid;
	
	gap: 12px;
}
.flashify-bokun-date-grid label,
.flashify-ticket-row label,
.flashify-question label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
}
.flashify-bokun-date-grid input,
.flashify-ticket-row input,
.flashify-question input,
.flashify-question select {
	width: 100%;
}
.flashify-availability-status {
	margin: 10px 0;
}

.flashify-bokun-date-grid {
    margin-top: 15px;
}
.flashify-bokun-rate-options {
    margin-top: 15px;
}
.single_add_to_cart_button{
	width:100%;
}
.flashify-time-slots {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 12px 0;
}
.flashify-bokun-step.flashify-bokun-step-availability {
    margin-top: 15px;
}
.flashify-time-button {
	width:100%;
	border: 1px solid #ccd3dd;

	border-radius: 8px;
	padding: 10px 12px;
	cursor: pointer;
}
.flashify-bokun-rate-option.is-selected{
	border-color: #111827;
	box-shadow: 0 0 0 2px rgba(17, 24, 39, .12);
}
.flashify-time-button.selected {
	border-color: #111827;
	box-shadow: 0 0 0 2px rgba(17, 24, 39, .12);
}
.flashify-ticket-selector,
.flashify-booking-questions {

	padding-top: 5px;
	border-top: 1px solid #edf0f4;
}
.flashify-question {
	margin-bottom: 12px;
}
.flashify-question-help {
	font-size: 13px;
	margin: -2px 0 6px;
	opacity: .75;
}
.flashify-error {
	color: #b91c1c;
}
.flashify-success {
	color: #15803d;
}
.flashify-field-error {
	border-color: #b91c1c !important;
}
.flashify-bokun-timer-wrap strong {
	font-size: 1.1em;
	margin: 0 4px;
}
.flashify-bokun-thankyou {
	margin: 26px 0;
}
@media (max-width: 640px) {
	.flashify-bokun-date-grid {
		grid-template-columns: 1fr;
	}
}

.flashify-step.is-hidden{
    display:none;
}


/* ==========================================================
   Accordion Booking Wizard
========================================================== */

.flashify-step{
    border:1px solid #e5e5e5;
    border-radius:8px;
    margin-bottom:20px;
    overflow:hidden;
    background:#fff;
}

.flashify-step-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:16px 20px;
    cursor:pointer;
    background:#f8f8f8;
    user-select:none;
}

.flashify-step-title{
    font-size:18px;
    font-weight:600;
}

.flashify-step-arrow{
    font-size:20px;
    transition:.25s;
}

.flashify-step.is-open .flashify-step-arrow::before{
    content:"▼";
}

.flashify-step:not(.is-open) .flashify-step-arrow::before{
    content:"▶";
}

.flashify-step-summary{
    display:none;
    padding:0 20px 18px;
    color:#666;
    font-size:15px;
}

.flashify-step.is-collapsed .flashify-step-summary{
    display:block;
}

.flashify-step-body{
    overflow:hidden;
    max-height:0;
    transition:max-height .35s ease, padding .35s ease;
    padding:0 20px;
}

.flashify-step.is-open .flashify-step-body{
    max-height:3000px;
    padding:20px;
}

/*--------------------------------------------------------------
# Flatpickr
--------------------------------------------------------------*/

.flatpickr-calendar {

    border: none;
    border-radius: 14px;
    box-shadow: 0 18px 45px rgba(0,0,0,.12);

}

.flatpickr-months {

    background: #111827;
    color: #fff;

}

.flatpickr-current-month {

    color: #fff;

}

.flatpickr-weekdays {

    background: #f8fafc;

}

.flatpickr-weekday {

    color: #6b7280;

}

.flatpickr-day {

    border-radius: 8px;
    transition: .2s;

}

.flatpickr-day:hover {

    background: #111827;
    color: #fff;

}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {

    background: #111827;
    border-color: #111827;
    color: #fff;

}

.flatpickr-day.today {

    border-color: #111827;

}

.flatpickr-day.today:hover {

    background: #111827;
    color: #fff;

}

#flashify-bokun-booking-date {

    height: 46px;
    border-radius: 10px;
    border: 1px solid #d1d5db;
    padding: 0 14px;
    font-size: 15px;
    cursor: pointer;

}

#flashify-bokun-booking-date:focus {

    outline: none;
    border-color: #111827;
    box-shadow: 0 0 0 3px rgba(17,24,39,.12);

}

.flashify-bokun-pricing-option{
	
	margin: 5px;
}

/* =====================================================
   Selected Pricing Category
===================================================== */



.flashify-bokun-pricing-option.is-selected strong{

    color:#fff;

}

/* ==========================================
   Ticket Quantity Selector
========================================== */

.flashify-bokun-pricing-option{

    border:1px solid #d9d9d9;

    border-radius:8px;

    padding:15px;

    margin-bottom:15px;

    cursor:pointer;

    transition:.2s;

}

.flashify-pricing-name{

    margin-bottom:12px;

    font-size:16px;

}

.flashify-pricing-bottom{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.flashify-ticket-counter{

    display:flex;

    align-items:center;

    gap:10px;

}

.flashify-ticket-minus,
.flashify-ticket-plus{

    width:30px;

    height:30px;

    border:none;

    border-radius:50%;

    background:#4E74B5;

    color:#fff;

    font-size:18px;

    cursor:pointer;

}

.flashify-ticket-qty{

    min-width:20px;

    text-align:center;

    font-weight:600;

    font-size:16px;

}