/* ZOZO EVENT GLOBAL VARIABLES */
/* ── Google Font Import ── */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

:root {

/* SECONDARY */
--zozo-secondary-color: #0f172a;
--zozo-secondary-hover: #1f2937;

/* TEXT COLORS */
--zozo-text-color: #0b1220;
--zozo-text-light: #64748b;
--zozo-text-white: #ffffff;

/* BACKGROUNDS */
--zozo-bg-color: #ffffff;
--zozo-bg-light: #f6faf8;
--zozo-bg-dark: #07130f;
--zozo-card-bg: rgba(255, 255, 255, 0.78);

/* BORDER */
--zozo-border-color: rgba(15, 23, 42, 0.06);
--zozo-border-hover: rgba(16, 185, 129, 0.28);

/* SHADOWS */
--zozo-shadow-sm: 0 6px 16px rgba(15, 23, 42, 0.06);
--zozo-shadow-md: 0 14px 40px rgba(15, 23, 42, 0.10);
--zozo-shadow-lg: 0 30px 70px rgba(15, 23, 42, 0.14);

/* BUTTONS */
--zozo-btn-bg: var( --zozo-primary);
--zozo-btn-hover: var(--zozo-primary-hover);
--zozo-btn-active: var(--zozo-primary-active);
--zozo-btn-color: #ffffff;

/* TRANSITION */
--zozo-transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);

  --zozo-primary:          #10b981;
  --zozo-primary-hover: #25ffb6;
  --zozo-primary-active: #0b8a5f;
  --zozo-primary-dark:     #059669;
  --zozo-primary-light:    #d1fae5;
  --zozo-primary-glow:     rgba(16,185,129,.15);
  --zozo-primary-ring:     rgba(16,185,129,.25);

  --zozo-dark:             #0f172a;
  --zozo-dark-2:           #111827;
  --zozo-dark-3:           #1e293b;
  --zozo-dark-muted:       #334155;

  --zozo-white:            #ffffff;
  --zozo-bg:               #f8fafc;
  --zozo-bg-2:             #f1f5f9;

  --zozo-text:             #475569;
  --zozo-text-light:       #94a3b8;

  --zozo-border:           rgba(16,185,129,.10);
  --zozo-border-soft:      #e2e8f0;

  --zozo-radius-sm:        10px;
  --zozo-radius-md:        16px;
  --zozo-radius-lg:        24px;
  --zozo-radius-xl:        32px;
  --zozo-radius-pill:      999px;

  --zozo-shadow-xs:        0 1px 3px rgba(15,23,42,.05), 0 1px 2px rgba(15,23,42,.04);
  --zozo-shadow-sm:        0 4px 16px rgba(15,23,42,.06), 0 1px 3px rgba(15,23,42,.04);
  --zozo-shadow-md:        0 10px 30px rgba(16,185,129,.06), 0 1px 6px rgba(15,23,42,.04);
  --zozo-shadow-lg:        0 20px 60px rgba(16,185,129,.08), 0 4px 16px rgba(15,23,42,.06);
  --zozo-shadow-glow:      0 0 40px rgba(16,185,129,.18);

  --zozo-font:             'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --zozo-ease:             cubic-bezier(.4,0,.2,1);
  --zozo-duration:         0.24s;
}
.zozo-booking-form-wrapper{
	max-width:1300px;
	margin:60px auto;
}

.zozo-booking-stats p{
  margin: 0;
}
.zozo-event-booking-form{
	background:#fff;
	border-radius:24px;
	border:1px solid var(--zozo-border-soft);
	box-shadow:var(--zozo-shadow-lg);
	overflow:hidden;
}

.zozo-booking-stats{
	padding:15px 15px;
	background:linear-gradient(
		135deg,
		var(--zozo-primary),
		var(--zozo-primary-dark)
	);
	color:#fff;
	font-size:18px;
	font-weight:700;
}

.zozo-booking-section,
.zozo-attendees-wrapper,
.zozo-payment-summary,
.zozo-coupon-wrapper{
	 padding: 40px 20px 40px 20px;
}

.drop-down-date{
    padding: 0 40px 0 40px;
}

.zozo-section-title,
.zozo-booking-section h4,
.zozo-attendees-wrapper h4,
.zozo-payment-summary h4{
	font-size:28px;
	margin-bottom:30px;
	color:var(--zozo-dark);
}

.zozo-form-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:24px;
}

@media(max-width:991px){

	.zozo-form-grid{
		grid-template-columns:1fr;
	}

}

.zozo-event-booking-form label{
	display:block;
	margin-bottom:10px;
	font-size:14px;
	font-weight:700;
	color:var(--zozo-dark);
}

.zozo-event-booking-form input,
.zozo-event-booking-form select{
	width:100%;
	height:56px;
	border:1px solid var(--zozo-border-soft);
	border-radius:14px;
	padding:0 18px;
	background:#fff;
	font-size:15px;
}

.zozo-event-booking-form input:focus,
.zozo-event-booking-form select:focus{
	outline:none;
	border-color:var(--zozo-primary);
	box-shadow:0 0 0 4px var(--zozo-primary-ring);
}

.zozo-attendee-card{
	padding:30px;
	border:1px solid var(--zozo-border-soft);
	border-radius:18px;
	background:#fff;
	margin-bottom:24px;
}

.zozo-attendee-card h5{
	margin-bottom:25px;
	font-size:20px;
	font-weight:800;
	color:var(--zozo-primary);
}

.zozo-payment-summary{
	background:var(--zozo-primary-light);
	border-radius:20px;
}

.zozo-payment-summary p{
	display:flex;
	justify-content:space-between;
	padding:15px 0;
	margin:0;
	border-bottom:1px dashed var(--zozo-border);
}

.zozo-payment-summary p:last-child{
	border:none;
	font-size:24px;
	font-weight:800;
	color:var(--zozo-primary);
}

.zozo-coupon-wrapper{
	padding:0 40px 40px;
}

.zozo-coupon-wrapper input{
	width:100%;
}

.zozo-coupon-box{
    display:flex;
    align-items:center;
    gap:15px;
}

.zozo-coupon-box input{
    flex:1 1 auto;
    width:auto !important;
    min-width:250px;
    height: 56px;
    border: 1px solid var(--zozo-border-soft);
    border-radius: 14px;
    padding: 0 18px;
    background: #fff;
    font-size: 15px;
}

.zozo-coupon-box input{
    flex:1;
}
.zozo-coupon-wrapper label{
    display: block;
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 700;
    color: var(--zozo-dark);
}
.zozo-apply-coupon-btn{
    width:auto !important;
    flex:0 0 170px;
    height:56px;
    padding:0 28px;
    border:none;
    border-radius:14px;
    background:linear-gradient(
        135deg,
        var(--zozo-primary),
        var(--zozo-primary-dark)
    );
    color:#fff;
    font-weight:700;
    cursor:pointer;

}

.zozo-apply-coupon-btn:hover{
    transform:translateY(-2px);
    box-shadow:var(--zozo-shadow-lg);
}

.zozo-coupon-message{

    margin-top:18px;
    display:none;
    padding:18px 22px;
    border-radius:16px;
    font-weight:700;
    animation:zozoCouponPop .45s ease;

}

.zozo-coupon-success{

    display:flex;
    align-items:center;
    gap:12px;
    color:#047857;
    background:#ecfdf5;
    border:1px solid #6ee7b7;

}

.zozo-coupon-error{
    display:flex;
    align-items:center;
    gap:12px;
    color:#b91c1c;
    background:#fef2f2;
    border:1px solid #fca5a5;
}

.zozo-coupon-success i{
    width:42px;
    height:42px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#10b981;
    color:#fff;
    animation:zozoPulse 1s ease;
}

.zozo-coupon-error i{
    width:42px;
    height:42px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ef4444;
    color:#fff;
    animation:zozoShake .45s;
}

.zozo-attendee-card{
	border:1px solid var(--zozo-border-color);
	border-radius:18px;
	margin-bottom:18px;
	overflow:hidden;
	background:#fff;
}

.zozo-attendee-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:18px 24px;
	cursor:pointer;
	background:var(--zozo-bg-light);
}

.zozo-attendee-header h5{
	margin:0;
	font-size:17px;
}

.zozo-attendee-header small{
	color:var(--zozo-text-light);
	display:block;
	margin-top:4px;
}

.zozo-attendee-toggle{
	font-size:18px;
	transition:.3s;
}

.zozo-attendee-card.active .zozo-attendee-toggle{
	transform:rotate(180deg);
}

.zozo-attendee-body{
	display:none;
	padding:24px;
	border-top:1px solid var(--zozo-border-color);
}
.iti--allow-dropdown{
    width: 100%;
}
.zozo-error{
	border-color:#dc2626 !important;
	box-shadow:0 0 0 3px rgba(220,38,38,.12);
}

.zozo-field-error{
	color:#dc2626;
	font-size:13px;
	margin-top:6px;
	font-weight:500;
}
@keyframes zozoCouponPop{

    from{

        opacity:0;
        transform:translateY(15px) scale(.95);

    }

    to{

        opacity:1;
        transform:none;

    }

}

@keyframes zozoPulse{

    0%{

        transform:scale(.4);

    }

    60%{

        transform:scale(1.15);

    }

    100%{

        transform:scale(1);

    }

}

@keyframes zozoShake{

    0%{transform:translateX(0);}
    20%{transform:translateX(-6px);}
    40%{transform:translateX(6px);}
    60%{transform:translateX(-4px);}
    80%{transform:translateX(4px);}
    100%{transform:none;}

}
.zozo-price-updated{

    animation:zozoPulse .7s ease;

    color:var(--zozo-primary);

}

@keyframes zozoPulse{

    0%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.15);
    }

    100%{
        transform:scale(1);
    }

}

.zozo-discount-row{
    display:none;
}

.zozo-discount-value{
    color:#10b981;
    font-weight:700;
}
.zozo-booking-submit{
	padding:40px;
	border-top:1px solid var(--zozo-border-soft);
}

.zozo-booking-submit button{
    width:100%;
    height:64px;
    border:none;
    border-radius:16px;
    background:linear-gradient(
        135deg,
        var(--zozo-primary),
        var(--zozo-primary-dark)
    );
    color:#fff;
    font-size:18px;
    font-weight:800;
    cursor:pointer;
}

.zozo-payment-page{
	max-width:900px;
	margin:60px auto;
	font-family:var(--zozo-font);
}

.zozo-payment-page h3{
	font-size:36px;
	font-weight:800;
	color:var(--zozo-dark);
	margin:0 0 30px;
	text-align:center;
}

.zozo-payment-details{
	background:var(--zozo-white);
	border:1px solid var(--zozo-border-soft);
	border-radius:var(--zozo-radius-lg);
	box-shadow:var(--zozo-shadow-md);
	padding:40px;
	margin-bottom:30px;
}

.zozo-payment-details p{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:16px 0;
	margin:0;
	border-bottom:1px dashed var(--zozo-border);
	font-size:16px;
	color:var(--zozo-text);
}

.zozo-payment-details p:last-child{
	border-bottom:none;
}

.zozo-payment-details strong{
	color:var(--zozo-dark);
	font-weight:700;
}

.zozo-payment-actions{
	background:var(--zozo-white);
	border:1px solid var(--zozo-border-soft);
	border-radius:var(--zozo-radius-lg);
	box-shadow:var(--zozo-shadow-md);
	padding:40px;
}

.zozo-payment-actions h4{
	font-size:24px;
	font-weight:800;
	color:var(--zozo-dark);
	margin:0 0 25px;
}

.zozo-payment-method{
	display:grid;
	grid-template: column;
	gap:16px;
	margin-bottom:30px;
}

.zozo-payment-method{
	position:relative;
}

.zozo-payment-method input[type="radio"]{
	display:none;
}

.zozo-payment-method label{
	display:flex;
	align-items:center;
	justify-content:center;
	height:70px;
	border:2px solid var(--zozo-border-soft);
	border-radius:var(--zozo-radius-md);
	background:#fff;
	cursor:pointer;
	font-weight:700;
	font-size:16px;
	transition:all .3s ease;
}

.zozo-payment-method input[type="radio"]:checked + label{
	border-color:var(--zozo-primary);
	background:var(--zozo-primary-light);
	color:var(--zozo-primary-dark);
	box-shadow:0 0 0 4px var(--zozo-primary-ring);
}

.zozo-payment-method label:hover{
	border-color:var(--zozo-primary);
	transform:translateY(-2px);
}

.zozo-pay-now-btn{
	width:100%;
	height:64px;
	border:none;
	border-radius:var(--zozo-radius-md);
	background:linear-gradient(
		135deg,
		var(--zozo-primary),
		var(--zozo-primary-dark)
	);
	color:#fff;
	font-size:18px;
	font-weight:800;
	cursor:pointer;
	transition:all .3s ease;
	box-shadow:var(--zozo-shadow-md);
}

.zozo-pay-now-btn:hover{
	transform:translateY(-3px);
	box-shadow:var(--zozo-shadow-glow);
}

.zozo-pay-now-btn:active{
	transform:translateY(0);
}
.zozo-payment-method label{
	display:flex;
	align-items:center;
	gap:12px;
	cursor:pointer;
}

.zozo-payment-method label i{
	font-size:20px;
	width:24px;
	text-align:center;
	color:var(--zozo-primary);
}

.zozo-payment-method label span{
	font-weight:600;
}
@media(max-width:767px){

	.zozo-payment-page{
		padding:0 20px;
	}

	.zozo-payment-details,
	.zozo-payment-actions{
		padding:25px;
	}

	.zozo-payment-methods{
		grid-template-columns:1fr;
	}

	.zozo-payment-details p{
		flex-direction:column;
		align-items:flex-start;
		gap:6px;
	}
}
/*==================================================
ZOZO PAYMENT SUCCESS
==================================================*/

.zozo-payment-success-wrap{

    max-width:950px;
    margin:70px auto;
    padding:50px;

    background:var(--zozo-card-bg);
    backdrop-filter:blur(18px);

    border:1px solid var(--zozo-border-color);
    border-radius:var(--zozo-radius-lg);

    box-shadow:var(--zozo-shadow-lg);

}

.zozo-payment-success-header{

    text-align:center;
    margin-bottom:50px;

}

.zozo-success-icon{

    width:110px;
    height:110px;

    margin:0 auto 30px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        var(--zozo-primary),
        var(--zozo-primary-active)
    );

    color:#fff;

    font-size:48px;

    box-shadow:0 20px 50px rgba(16,185,129,.28);

}

.zozo-payment-success-header h2{

    margin:0;

    font-size:42px;
    font-weight:800;

    color:var(--zozo-text-color);

}

.zozo-payment-success-header p{

    margin:18px auto 0;

    max-width:620px;

    color:var(--zozo-text-light);

    font-size:17px;
    line-height:1.8;

}

.zozo-payment-success-details{

    background:#fff;

    border:1px solid var(--zozo-border-color);

    border-radius:var(--zozo-radius-md);

    box-shadow:var(--zozo-shadow-sm);

    overflow:hidden;

    margin-bottom:35px;

}

.zozo-payment-success-details p{

    display:flex;
    justify-content:space-between;
    align-items:center;

    gap:25px;

    margin:0;

    padding:18px 28px;

    border-bottom:1px solid rgba(15,23,42,.05);

}

.zozo-payment-success-details p:last-child{

    border-bottom:none;

}

.zozo-payment-success-details strong{

    color:var(--zozo-text-color);

    font-weight:700;

}

.zozo-payment-success-details span,
.zozo-payment-success-details p{

    color:var(--zozo-text-light);

}

.zozo-payment-success-actions{

    display:flex;
    justify-content:center;

    margin-bottom:35px;

}

.zozo-download-ticket-btn{

    display:inline-flex;
    align-items:center;
    gap:12px;

    padding:18px 34px;

    border-radius:var(--zozo-radius-md);

    background:linear-gradient(
        135deg,
        var(--zozo-primary),
        var(--zozo-primary-active)
    );

    color:#fff;
    text-decoration:none;

    font-weight:700;

    transition:var(--zozo-transition);

    box-shadow:var(--zozo-shadow-md);

}

.zozo-download-ticket-btn:hover{

    color:#fff;

    transform:translateY(-3px);

}

.zozo-download-ticket-btn i{

    font-size:20px;

}

.zozo-attendee-ticket-list{

    background:#fff;

    border:1px solid var(--zozo-border-color);

    border-radius:var(--zozo-radius-md);

    box-shadow:var(--zozo-shadow-sm);

    padding:35px;

    margin-bottom:35px;

}

.zozo-attendee-ticket-list h3{

    margin:0 0 25px;

    font-size:26px;

    color:var(--zozo-text-color);

}

.zozo-attendee-ticket-list ul{

    margin:0;
    padding:0;
    list-style:none;

}

.zozo-attendee-ticket-list li{

    margin-bottom:15px;

}

.zozo-attendee-ticket-list li:last-child{

    margin-bottom:0;

}

.zozo-attendee-ticket-list a{

    display:flex;
    align-items:center;
    gap:12px;

    padding:18px 22px;

    border-radius:var(--zozo-radius-sm);

    text-decoration:none;

    background:var(--zozo-bg-light);

    color:var(--zozo-text-color);

    transition:var(--zozo-transition);

}

.zozo-attendee-ticket-list a:hover{

    background:var(--zozo-primary);

    color:#fff;

}

.zozo-attendee-ticket-list a i{

    color:var(--zozo-primary);

}

.zozo-attendee-ticket-list a:hover i{

    color:#fff;

}

.zozo-payment-success-footer{

    display:flex;
    justify-content:center;

}

.zozo-back-event-btn{

    display:inline-flex;
    align-items:center;
    gap:12px;

    padding:16px 32px;

    border:2px solid var(--zozo-primary);

    border-radius:var(--zozo-radius-md);

    color:var(--zozo-primary);

    text-decoration:none;

    font-weight:700;

    transition:var(--zozo-transition);

}

.zozo-back-event-btn:hover{

    background:var(--zozo-primary);

    color:#fff;

}

.zozo-booking-layout{
	display:grid;
	grid-template-columns:minmax(0,1fr) 515px;
	gap:40px;
	align-items:start;
}
.zozo-booking-main{
	display:flex;
	flex-direction:column;
	gap:30px;
}
.zozo-booking-sidebar{
	position:sticky;
	top:30px;
	display:flex;
	flex-direction:column;
	gap:25px;
}
.zozo-payment-summary{
	background:#fff;
	border:1px solid #ececec;
	border-radius:18px;
	padding:30px;
	box-shadow:0 15px 45px rgba(0,0,0,.05);
}
.zozo-coupon-wrapper{
	background:#fff;
	border-radius:18px;
	padding:25px;
	box-shadow:0 10px 30px rgba(0,0,0,.05);
}
.zozo-booking-submit{

	margin-top:0;

}

.zozo-booking-submit button{
	width:100%;
	padding:18px;
	font-size:17px;
	font-weight:700;
	border-radius:14px;
}
@media (max-width:991px){

	.zozo-booking-layout{

		grid-template-columns:1fr;

	}

	.zozo-booking-sidebar{

		position:relative;

		top:0;

		order:-1;

	}

}
@media(max-width:767px){

    .zozo-payment-success-wrap{

        padding:30px 20px;
        margin:30px 15px;

    }

    .zozo-payment-success-header h2{

        font-size:32px;

    }

    .zozo-payment-success-details p{

        flex-direction:column;
        align-items:flex-start;

    }

    .zozo-download-ticket-btn,
    .zozo-back-event-btn{

        width:100%;
        justify-content:center;

    }

}
.zozo-error{
    border-color:#ef4444!important;
    box-shadow:0 0 0 3px rgba(239,68,68,.15)!important;
}

.zozo-valid{
    border-color:#10b981!important;
}

.zozo-field-error{
    margin-top:6px;
    color:#ef4444;
    font-size:13px;
    font-weight:600;
    line-height:1.4;
}

button.loading{
    opacity:.7;
    pointer-events:none;
}