.event_2026_birthday_contact {
	--point: #FFEFCB;
	--secondary: #F32F40;
	--form-point: var(--secondary);
	--submit-bg: #000;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	overflow: hidden;
	background: url('/wp-content/themes/fastfive/assets/images/contact/bg_2026birthday_260504.jpg') no-repeat center center / cover;
}
.birthday_contact { position: relative; width: 100%; color: #fff; display: flex; z-index: 1; }
.birthday_contact header { letter-spacing: 0; display: flex; flex-direction: column; }
.birthday_contact header h2 { display: flex; flex-direction: column; gap: 20px; font-size: 0; }
.birthday_contact .badge_txt {
	position: relative; width: fit-content; font-size: 18px; font-weight: 700; line-height: 1.7; color: #000; padding: 4px 14px; margin-bottom: 34px; background: var(--point); border-radius: 100px;
}
.birthday_contact .badge_txt::after {
	content: ''; position: absolute; left: calc(50% - 7px); display: block; width: 14px; height: 12px; mask: url("data:image/svg+xml,%3Csvg width='14' height='12' viewBox='0 0 14 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.86378 10.5192C7.4779 11.1807 6.5221 11.1807 6.13622 10.5192L9.53988e-08 6.8343e-07L14 9.53674e-07L7.86378 10.5192Z' fill='%23F40066'/%3E%3C/svg%3E") no-repeat center / cover; background: var(--point);
}
.birthday_contact .img_box {
	position: relative; display: flex; max-width: 520px; width: 100%; padding-top: 62px;
}
.birthday_contact img { height: auto; }
.birthday_contact .cake_left,
.birthday_contact .cake_right {
	position: absolute; animation: float 1.8s ease-in-out infinite;
}
.birthday_contact .cake_left {
	top: 40px; left: -6px; width: 146px; z-index: 1;
}
.birthday_contact .cake_center { width: 100%; max-width: 450px; height: auto; }
.birthday_contact .cake_right {
	bottom: 132px; right: -72px; width: 154px; aspect-ratio: 154 / 156; animation-duration: 3s; animation-delay: .1s;
}
.flame1 svg,
.flame2 svg { overflow: visible; transform-origin: center bottom; }
.flame { position: absolute; top: 48px; left: calc(50% - 30px); display: inline-flex; align-items: center; gap: 10px; }
.flame1,
.flame2 { opacity: 0; }
.flame1.ignite { animation: ignite .6s cubic-bezier(.2, .8, .2, 1) forwards; animation-delay: .2s; }
.flame2.ignite { animation: ignite .6s cubic-bezier(.2, .8, .2, 1) forwards; }
.flame1.on svg { animation: flicker 35s infinite linear; }
.flame2.on svg { animation: flicker 50s infinite ease-in-out; animation-delay: .6s; }

/* leadform */
.birthday_contact .contact-box { width: 100%; }
.birthday_contact .contact-box::before { content: ''; position: absolute; top: -30px;  right: -37px; display: block; width: 108px; height: 136px; background: url('/wp-content/themes/fastfive/assets/images/contact/heart_birthday_contact.png') no-repeat; background-size: cover; }
.birthday_contact .form-box {
	width: 100%; background: #fff; display: flex; flex-direction: column; align-items: center;
}
.birthday_contact .leadforms_box { width: 100%; }
.birthday_contact .leadforms_box .wpforms-container { margin: 0 auto !important; }
.birthday_contact .leadforms_box .wpforms-submit-container {
	padding-top: 0 !important; padding-bottom: 0 !important; border-top: 0 !important;
}
.birthday_contact .wpforms-field .wpforms-field-label { font-size: 18px; }
.birthday_contact .check_small input:checked+label::after,
.birthday_contact .check_round input:checked+label::after { background-color: var(--form-point); }
.birthday_contact .check_round input:checked+label::after { border-color: var(--form-point); }
.birthday_contact div.wpforms-container-full .wpforms-form button[type=submit] {
	height: 56px; border-radius: 8px; font-weight: 600; letter-spacing: 0; font-size: 18px !important;
}
.birthday_contact div.wpforms-container-full .wpforms-form button[type=submit]:not(:disabled),
.birthday_contact div.wpforms-container-full .wpforms-form button[type=submit]:not(:disabled):hover { background: var(--submit-bg) !important; }
.birthday_contact ._cautions_text {
	text-align: center; font-size: 12px; color: #444; letter-spacing: 0; line-height: 170%;
}
.birthday_contact ._cautions_text b { font-weight: 700; color: var(--secondary); }
.birthday_contact input[type="text"],
.birthday_contact input[type="number"],
.birthday_contact input[type="email"] { border-radius: 0 !important; }
.birthday_contact .div.wpforms-container-full .wpforms-form label.wpforms-error,
.birthday_contact div.wpforms-container-full .wpforms-form em.wpforms-error { margin-top: 0 !important; }
.birthday_contact .check_small input:checked+label::after { top: 2px; }

.event_2026_birthday_contact.type_step {
	--color-primary: #007FFF;
	--form-point: var(--color-primary);
	--submit-bg: var(--color-primary);
	padding: 90px 20px;
	background: #EBF2FC;
	
	.birthday_contact {
		display: block;
		max-width: 446px;
		margin: 0 auto;
	}

	.birthday_contact header::before,
	.birthday_contact .contact-box::before {
		content: none;
	}

	.birthday_contact header {
		padding: 0;
	}

	.birthday_contact .badge_txt,
	.birthday_contact .badge_txt::after {
		background: var(--color-primary);
	}

	.birthday_contact .badge_txt {
		margin: 0 auto 20px;
		padding: 2px 16px;
		font-size: 14px;
	}

	.birthday_contact header h2 img:first-child {
		max-width: 332px;
		aspect-ratio: 332 / 38;
		margin: 0 auto;
	}

	.birthday_contact header .caution {
		position: relative;
		margin: 14px 0 26px;
		color: #FF5F68;
		font-size: 18px;
		font-weight: 700;
		line-height: 1.7;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 6px;
	}
	
	.birthday_contact header .caution::before, 
	.birthday_contact header .caution::after {
		content: '';
		display: block;
		width: 14px;
		aspect-ratio: 1 / 1;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cg clip-path='url(%23clip0_2055_19660)'%3E%3Cmask id='mask0_2055_19660' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='14' height='14'%3E%3Crect width='14' height='14' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_2055_19660)'%3E%3Cpath d='M1.57785 12.5C1.47068 12.5 1.37324 12.472 1.28555 12.416C1.19786 12.36 1.12966 12.2861 1.08094 12.1944C1.03223 12.1028 1.00543 12.0035 1.00056 11.8965C0.99569 11.7896 1.02248 11.6852 1.08094 11.5833L6.48848 1.80556C6.54694 1.7037 6.62245 1.62731 6.71501 1.57639C6.80757 1.52546 6.90257 1.5 7 1.5C7.09743 1.5 7.19243 1.52546 7.28499 1.57639C7.37755 1.62731 7.45306 1.7037 7.51152 1.80556L12.9191 11.5833C12.9775 11.6852 13.0043 11.7896 12.9994 11.8965C12.9946 12.0035 12.9678 12.1028 12.9191 12.1944C12.8703 12.2861 12.8021 12.36 12.7144 12.416C12.6268 12.472 12.5293 12.5 12.4221 12.5H1.57785ZM7.41653 10.491C7.52857 10.3738 7.5846 10.2287 7.5846 10.0556C7.5846 9.88241 7.52857 9.73727 7.41653 9.62014C7.30448 9.50301 7.16564 9.44444 7 9.44444C6.83436 9.44444 6.69552 9.50301 6.58347 9.62014C6.47143 9.73727 6.4154 9.88241 6.4154 10.0556C6.4154 10.2287 6.47143 10.3738 6.58347 10.491C6.69552 10.6081 6.83436 10.6667 7 10.6667C7.16564 10.6667 7.30448 10.6081 7.41653 10.491ZM7.41653 8.65764C7.52857 8.54051 7.5846 8.39537 7.5846 8.22222V6.38889C7.5846 6.21574 7.52857 6.0706 7.41653 5.95347C7.30448 5.83634 7.16564 5.77778 7 5.77778C6.83436 5.77778 6.69552 5.83634 6.58347 5.95347C6.47143 6.0706 6.4154 6.21574 6.4154 6.38889V8.22222C6.4154 8.39537 6.47143 8.54051 6.58347 8.65764C6.69552 8.77477 6.83436 8.83333 7 8.83333C7.16564 8.83333 7.30448 8.77477 7.41653 8.65764Z' fill='%23FF5F68'/%3E%3C/g%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_2055_19660'%3E%3Crect width='14' height='14' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E") no-repeat center / cover;
		background: #FF5F68;
	}

	.birthday_contact .form-box {
		align-items: flex-start;
		padding: 50px;
		border-radius: 24px;
	}

	.birthday_contact .desc {
		color: #444;
		font-size: 18px;
		font-weight: 600;
		line-height: 1.7;
	}

	.birthday_contact .etc {
		display: block;
		margin-bottom: 18px;
		color: #777;
		font-size: 16px;
		font-weight: 500;
		line-height: 1.7;
	}

	.birthday_contact .btn_next {
		width: 100%;
		height: 56px;
		margin-top: 42px;
		border-radius: 8px;
		border: none;
		background: var(--color-primary);
		color: #FFF;
		text-align: center;
		font-size: 18px;
		font-weight: 600;
		line-height: 1;
		letter-spacing: -0.54px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.birthday_contact .btn_next.disabled {
		cursor: not-allowed;
    pointer-events: none;
		background: #BAC0C6;
	}

	div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type=submit]:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type=submit]:disabled:hover, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type=submit].wpforms-disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) button[type=submit]:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) button[type=submit]:disabled:hover, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) button[type=submit].wpforms-disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) .wpforms-page-button:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) .wpforms-page-button:disabled:hover, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) .wpforms-page-button.wpforms-disabled {
		background: #BAC0C6 !important;
	}

	.birthday_contact .alert {
		margin: 18px auto 0;
		color: #AAA;
		font-size: 12px;
		line-height: 1.7;
	}
	
	/* 리드폼 */
	.lead_agree_form {
		margin-top: 42px !important;
	}

	.leadforms_box .wpforms-field-container {
		padding: 0 !important;
	}

	div.wpforms-container-full .wpforms-form .wpforms-submit-container {
		margin-top: 50px !important;
		padding: 0 !important;
	}

	.leadforms_box div.wpforms-container-full .wpforms-form .wpforms-field,
	div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column-50, div.wpforms-container .wpforms-form .wpforms-field-repeater .wpforms-layout-column-50 {
		width: 100%;
	}

	.leadforms_box div.wpforms-container-full .wpforms-form .wpforms-field + .wpforms-field {
		margin-top: 42px;
	}

	/* layout 래퍼 평탄화: 1·2단계 모두 한 줄에 한 필드 */
	.wpforms-field.wpforms-field-layout,
	.wpforms-field-layout-columns,
	.wpforms-layout-column {
		display: contents !important;
	}

	/* 1단계 기본: 사용인원만 노출 */
	&[data-step="1"] .step2,
	&[data-step="1"] .lead_agree_form,
	&[data-step="1"] .wpforms-field:not(.number-of-users):not(.wpforms-field-layout),
	&[data-step="1"] .wpforms-submit-container,
	&[data-step="1"] .birthday_contact .wpforms-field .wpforms-field-label {
		display: none;
	}

	/* 2단계: 사용인원 숨기고 나머지 + 제출 노출, 다음 버튼 숨김 */
	&[data-step="2"] .wpforms-field.number-of-users,
	&[data-step="2"] .step1 {
		display: none;
	}
}

/* desktop */
@media (min-width: 961px) {
	.hidden_pc { display: none; }
	.hidden_mo { display: block; }
	.event_2026_birthday_contact { padding: 80px 20px; }
	.birthday_contact { max-width: 1280px; justify-content: space-between; }
	.birthday_contact header {
		max-width: 450px; width: 100%; padding-right: 30px;
	}
	.birthday_contact header h2 img:first-child { max-width: 246px; }
	.birthday_contact header h2 img:nth-child(2) { width: 100%; max-width: 428px; }
	.birthday_contact .contact-box { position : relative; max-width: 626px; }
	.birthday_contact .form-box {
		padding-bottom: 56px; border-radius: 10px; overflow: hidden;
	}
	.birthday_contact ._cautions_text { margin-top: 18px; }


	.birthday_contact .check_round input+label,
	.birthday_contact .check_round input:checked+label { font-size: 16px !important; }
	.birthday_contact .check_small input+label,
	.birthday_contact .check_small input:checked+label { font-size: 14px !important; }
}

/* mobile */
@media (max-width: 960px) {
	.hidden_pc { display: block; }
	.hidden_mo { display: none; }
	.event_2026_birthday_contact {
		background: url('/wp-content/themes/fastfive/assets/images/contact/bg_2026birthday_260504_mo.jpg') no-repeat center center / cover;
	}
	.birthday_contact {
		max-width: 375px; padding: 44px 20px; gap: 0; flex-direction: column;
	}
	.birthday_contact header { position: relative; text-align: center; align-items: center; }
	.birthday_contact header::before { content: none; }
	.birthday_contact header h2 { width: 100%; max-width: 290px; order: 1; gap: 12px; align-items: center; }
	.birthday_contact header h2 img:nth-of-type(3) { width: 166px; }
	.birthday_contact .badge_txt { font-size: 16px; margin-bottom: 24px; }
	.birthday_contact .contact-box::before { content: none; }

	.birthday_contact .img_box {
		max-width: 283px; padding-top: 20px; order: 2;
	}
	.birthday_contact .cake_left { top: 35px; width: 76px; }
	.birthday_contact .cake_right {
		bottom: 75px; right: -28px; width: 67px; aspect-ratio: 67 / 60;
	}
	.flame { top: 0; left: calc(50% - 75px); gap: 5px; transform: scale(0.5); gap: 55px;}

	.birthday_contact .form-box { padding-bottom: 37px; border-radius: 8px; }
	.birthday_contact .wpforms-container .wpforms-field-container { padding: 30px 30px 52px !important; }
	.birthday_contact .has_error:not(.check_round),
	form .wpforms-error:not(input) { top: 16px; }
	.birthday_contact div.wpforms-container-full .wpforms-form .wpforms-field-label { font-size: 16px !important; }
	.birthday_contact div.wpforms-container-full .wpforms-form button[type=submit] { font-size: 16px !important; line-height: 1 !important; }
	.birthday_contact ._cautions_text { margin-top: 20px; }
	.birthday_contact .check_small label { font-size: 14px !important; }
	.birthday_contact .check_small input+label,
	.birthday_contact .check_small input:checked+label {
		padding-left: 24px !important;
	}

	.event_2026_birthday_contact.type_step {
		padding: 50px 20px;

		&[data-step="2"] {
			padding: 24px 20px;
		}

		.birthday_contact {
			padding: 0;
		}

		.birthday_contact .badge_txt {
			padding: 4px 16px;
		}

		.birthday_contact header h2 {
			order: unset;
			max-width: unset;
		}

		.birthday_contact .alert {
			margin-top: 10px;
		}

		.birthday_contact .form-box {
			padding: 20px;
			border-radius: 14px;
		}

		.birthday_contact .btn_next {
			font-size: 16px;
		}

		/* 리드폼 */
		div.wpforms-container-full .wpforms-form .wpforms-submit-container {
			margin-top: 46px !important;
		}

		.lead_agree_form,
		.leadforms_box div.wpforms-container-full .wpforms-form .wpforms-field + .wpforms-field {
			margin-top: 32px !important;
		}
	}
}

@keyframes float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-12px); }
}
/* 점화 애니메이션 */
@keyframes ignite {
	0% { opacity: 0; transform: translateY(6px) scale(.9, .4); filter: blur(5px) brightness(.3); }
	20% { opacity: .7; transform: translateY(2px) scale(1, .7); filter: blur(2px) brightness(1); }
	40% { opacity: 1; transform: translateY(-4px) scale(1.05, 1.15); filter: brightness(1.6); }
	70% { transform: translateY(-1px) scale(1.01, .98); filter: brightness(1.2); }
	100% { opacity: 1; transform: translateY(0) scale(1, 1); filter: brightness(1.1); }
}
@keyframes flicker {
	0%, 100% { transform: translateY(0) scale(1, 1) rotate(0deg); filter: brightness(1); }
	25% { transform: translateY(-1px) scale(1.02, .98) rotate(-1deg); filter: brightness(1.2); }
	50% { transform: translateY(1px) scale(.98, 1.02) rotate(1deg); filter: brightness(.9); }
	75% { transform: translateY(-2px) scale(1.01, .97) rotate(-.5deg); filter: brightness(1.3); }
}
