.modern-reservation {
	max-width: 600px;
	margin: 0 auto;
	padding: 20px;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
	font-family: 'Inter', sans-serif;
}

.modern-header h2 {
	text-align: center;
	margin-bottom: 5px;
}

.modern-header p {
	text-align: center;
	color: #666;
	margin-bottom: 20px;
}

.tao-progress {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}

.tao-step {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #ccc;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
}

.tao-step.active {
	background: #00796b;
}

.tao-line {
	width: 40px;
	height: 2px;
	background: #ccc;
	margin: 0 10px;
}

.reservation-step {
	display: none;
}

.reservation-step.active {
	display: block;
}

.form-row {
	margin-bottom: 15px;
}

.form-row label {
	margin-bottom: 5px;
	font-weight: 600;
}

.form-row input,
.form-row select {
	width: 90%;
	padding: 8px 10px;
	border: 1px solid #ddd;
	border-radius: 6px;
}

.actions {
	display: flex;
	justify-content: space-between;
}

.tao-btn {
	background: #00796b;
	color: #fff;
	border: none;
	padding: 10px 20px;
	border-radius: 8px;
	cursor: pointer;
	transition: 0.3s;
}

.tao-btn:hover {
	background: #00695c;
}

#tao-success {
	text-align: center;
	margin-top: 20px;
}

.tao-error {
	color: red;
	text-align: center;
	margin-top: 10px;
}

.tao-hidden {
	display: none;
}

.tao-title-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.tao-title-radio {
	background: #f7f7f7;
	border: 1px solid #ddd;
	border-radius: 20px;
	padding: 6px 12px;
	cursor: pointer;
	display: flex;
	align-items: center;
	transition: all 0.2s ease;
}

.tao-title-radio:hover {
	background: #eaeaea;
}

.tao-title-radio input {
	margin-right: 6px;
}

#res-title-dropdown {
	margin-top: 10px;
	padding: 6px 10px;
	/* border: 1px solid #ccc; */
	border-radius: 6px;
	background: #fff;
}

#res-title-other {
	margin-top: 10px;
	padding: 8px;
	border: 1px solid #ccc;
	border-radius: 6px;
	width: 100%;
}

.tao-hidden {
	display: none;
}

/* Disabled button style */
.tao-btn:disabled {
	background-color: #ccc !important;
	color: #777 !important;
	cursor: not-allowed !important;
	opacity: 0.7;
	pointer-events: none;
	box-shadow: none;
}

.tao-popup-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 9999;
}

.tao-popup {
	background: #fff;
	border-radius: 12px;
	padding: 30px 25px;
	width: 360px;
	max-width: 90%;
	text-align: center;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
	animation: popupFade 0.25s ease-in-out;
}

.tao-popup h3 {
	font-size: 20px;
	margin-bottom: 10px;
	color: #222;
	font-weight: 600;
}

.tao-popup p {
	font-size: 14px;
	color: #555;
	margin-bottom: 15px;
}

.tao-popup input {
	width: 90%;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 14px;
	margin-bottom: 15px;
	transition: border-color 0.2s;
}

.tao-popup input:focus {
	border-color: #007c74;
	outline: none;
}

.tao-popup-actions {
	display: flex;
	justify-content: center;
	gap: 12px;
}

#tao-cancel-popup {
	display: flex;
	align-items: center;
	justify-content: center;
}

.tao-btn {
	background: #007c74;
	color: #fff;
	border: none;
	border-radius: 6px;
	padding: 8px 18px;
	font-size: 14px;
	cursor: pointer;
	transition: background 0.2s;
}

.tao-btn:hover {
	background: #005f59;
}

.tao-btn-secondary {
	background: #e0e0e0;
	color: #333;
}

.tao-btn-secondary:hover {
	background: #d5d5d5;
}

@keyframes popupFade {
	from {
		opacity: 0;
		transform: scale(0.9);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}


/* Email css */
body {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	background-color: #f9f6f2;
	margin: 0;
	padding: 0;
	color: #4a3c2a;
}

.email-container {
	max-width: 600px;
	margin: 30px auto;
	background-color: #ffffff;
	border: 1px solid #e5d7c6;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.header {
	background-color: #7c6a52;
	color: #fff;
	text-align: center;
	padding: 20px;
	font-size: 20px;
	font-weight: bold;
}

.content {
	padding: 25px;
	line-height: 1.6;
	font-size: 15px;
}

.content h2 {
	color: #7c6a52;
	margin-bottom: 10px;
}

.details {
	background-color: #f7f3ee;
	padding: 15px;
	border-radius: 8px;
	margin: 15px 0;
}

.details strong {
	color: #4a3c2a;
}

.footer {
	background-color: #f2ede8;
	text-align: center;
	padding: 15px;
	font-size: 13px;
	color: #7a6f61;
}

a.button {
	background-color: #7c6a52;
	color: #fff !important;
	padding: 10px 18px;
	text-decoration: none;
	border-radius: 5px;
	display: inline-block;
	margin-top: 10px;
}
.swal2-html-container strong{
	font-weight: 700;
}
.calendar-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
}
/* susmita */
.calendar-weekdays,
#calendar-days{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:8px;
}

.day{
    height:60px;
    border:1px solid #ddd;
    border-radius:10px;
    display:flex;
    justify-content:center;
    align-items:center;
    cursor:pointer;
    background:#fff;
}

.day.active{
    background:#006d63;
    color:#fff;
}
#available-slots{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-top:20px;
}

.slot-btn{
    padding:15px;
    border:1px solid #ddd;
    border-radius:12px;
    background:white;
    cursor:pointer;
    text-align:center;
}

.slot-btn.active{
    background:#ff7f00;
    color:white;
}
.booking-tabs{
    display:flex;
    gap:15px;
    margin-bottom:30px;
}

.booking-tabs .tab{
    display:flex;
    align-items:center;
    gap:8px;
    padding:14px 25px;
    border-radius:15px;
    background:#eef3f1;
    cursor:pointer;
    font-weight:600;
    transition:.3s;
}

.booking-tabs .tab.active{
    background:#0c7a6e;
    color:#fff;
}
#available-slots{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.slot-btn{
    min-width:90px;
    height:50px;
    border:1px solid #e8e8e8;
    border-radius:14px;
    background:#fff;
    cursor:pointer;
    transition:.3s;
}

.slot-btn:hover{
    border-color:#0c7a6e;
}

.slot-btn.active{
    background:#0c7a6e;
    color:white;
}

.day{
    height:75px;
    border:1px solid #e8e8e8;
    border-radius:15px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:white;
    cursor:pointer;
    font-size:18px;
    transition:.2s;
}

.day:hover{
    border-color:#0c7a6e;
}

.day.active{
    background:#0c7a6e;
    color:white;
}
.section-time,
.section-guest{
    display:none;
}
.guest-section{
    text-align:center;
}

#res-guests{
    width:250px;
    height:50px;
    border-radius:14px;
    border:1px solid #ddd;
    padding:0 20px;
    font-size:16px;
}
.day.disabled{
    background:#f5f5f5;
    color:#bdbdbd;
    border-color:#e5e5e5;
    cursor:not-allowed;
    pointer-events:none;
}

.day.disabled:hover{
    border-color:#e5e5e5;
}
.guest-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(65px,1fr));
    gap:12px;
    margin-top:20px;
}

.guest-btn{
    height:60px;
    border:1px solid #ddd;
    border-radius:14px;
    background:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    cursor:pointer;
    font-size:18px;
    font-weight:600;
    transition:.2s;
}

.guest-btn:hover{
    border-color:#0b7a6e;
    color:#0b7a6e;
}

.guest-btn.active{
    background:#0b7a6e;
    color:#fff;
    border-color:#0b7a6e;
}
#prev-month,
#next-month{
    width:48px;
    height:48px;
    border:1px solid #e5e5e5;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
    color:#006d63;
    font-size:24px;
    font-weight:700;
    cursor:pointer;
    transition:.2s ease;
}

#prev-month:hover,
#next-month:hover{
    background:#006d63;
    color:#fff;
    transform:translateY(-2px);
}
.guest-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:12px;
    margin-top:20px;
}

.guest-btn{
    height:65px;
    border:1px solid #e5e5e5;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    background:#fff;
    transition:.2s;
    font-size:18px;
}

.guest-btn:hover{
    border-color:#0b7a6e;
}

.guest-btn.active{
    background:#0b7a6e;
    color:#fff;
    border-color:#0b7a6e;
}

.guest-hidden{
    display:none;
}
.guest-btn.guest-hidden.show {
    display: flex !important;
}
.more-guests-btn{
    margin-top:20px;
    text-align:center;
    cursor:pointer;
    color:#222;
    font-weight:600;
    font-size:18px;
}

.more-guests-btn span{
    font-size:28px;
    vertical-align:middle;
}
#prev-month,
#next-month{
    width:40px;
    height:40px;
    border:none;
    border-radius:50%;
    background:#0b7a6e;
    color:#fff;
    cursor:pointer;
    font-size:20px;
}

#prev-month.disabled{
    background:#ddd;
    color:#999;
    cursor:not-allowed;
    opacity:.6;
}
/* Mobile */
@media (max-width: 768px) {

    .booking-tabs{
        display:flex;
        gap:8px;
    }

    .booking-tabs .tab{
        flex:1;
        min-width:0;
        padding:10px 6px;
        font-size:13px;
        justify-content:center;
        text-align:center;
        white-space:nowrap;
    }

    .booking-tabs .tab i{
        margin-right:4px;
        font-size:12px;
    }
	.next-step:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}
.slot-tooltip {
    display: inline-block;
}

.slot-btn:disabled {
    opacity: .5;
    cursor: not-allowed;
    pointer-events: none;
}
}