.event_2026_birthday_contact {
	--point: #F40066; 
  --secondary: #F32F40; 
  position: relative; 
  display: flex; 
  justify-content: center;
  align-items: flex-start; 
  background: url('/wp-content/themes/fastfive/assets/images/contact/bg_2026birthday.jpg') no-repeat; 
  background-size: cover;
  overflow: hidden;
}
.birthday_contact { position: relative; width: 100%; color: #fff; display: flex; z-index: 1; }
.birthday_contact header::before { content: ''; position: absolute; bottom: 52px;  left: -20px; display: block; width: 62px; height: 62px; background: url('/wp-content/themes/fastfive/assets/images/contact/confetti_birthday_contact_01.png') no-repeat; background-size: cover; }
.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: #fff; padding: 4px 14px; margin-bottom: 32px; background: var(--point); border-radius: 100px;
}
.birthday_contact .badge_txt::after {
	content: ''; position: absolute; left: calc(50% - 7px); display: block; width: 14px; height: 12px; background-image: 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");
}


/* leadform */
.birthday_contact .contact-box { width: 100%; }
.birthday_contact .contact-box::before { content: ''; position: absolute; top: -30px;  right: -37px; display: block; width: 62px; height: 62px; background: url('/wp-content/themes/fastfive/assets/images/contact/confetti_birthday_contact_02.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(--secondary); }
.birthday_contact .check_round input:checked+label::after { border-color: var(--secondary); }
.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(--secondary) !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; }



/* desktop */
@media (min-width: 1101px) {
	.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 {
		justify-content: space-between; max-width: 553px; width: 100%; padding-right: 30px;
	}
	.birthday_contact header h2 img:first-child { max-width: 284px; }
	.birthday_contact header h2 img:nth-child(2) { width: 100%; }
	.birthday_contact .img_box {
		position: relative; display: flex; max-width: 480px; width: 100%; padding-top: 68px;
	}
	.birthday_contact img { height: fit-content; }
	.birthday_contact .cake_left {
		position: absolute; top: 40px; left: -6px; width: 146px; z-index: 1; animation: float 1.8s ease-in-out infinite;
	}
	.birthday_contact .cake_center { width: 350px; margin: 0 auto; }
	.birthday_contact .cake_right {
		position: absolute; bottom: 132px; right: -16px; width: 154px; animation: float 3s ease-in-out infinite; animation-delay: .1s;
	}
  .flame1 svg,
	.flame2 svg { overflow: visible; transform-origin: center bottom; }
	.flame { position: absolute; top: 36px; left: calc(50% - 63px); display: inline-flex; align-items: center; }
	.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; }
	.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; }


	@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); }
	}
}


/* mobile */
@media (max-width: 1100px) {
	.hidden_pc { display: block; }
	.hidden_mo { display: none; }
	.event_2026_birthday_contact { background: #242424; }
	.birthday_contact {
		max-width: 375px; padding: 44px 20px; gap: 40px; flex-direction: column;
	}
	.birthday_contact header { position: relative; text-align: center; align-items: center; }
  .birthday_contact header::before { content: ''; position: absolute; bottom: -20px;  left: -20px; display: block; width: 369px; height: 130px; background: url('/wp-content/themes/fastfive/assets/images/contact/confetti_birthday_contact_01_mo.png') no-repeat; background-size: cover; }
	.birthday_contact header h2 { max-width: 267px; order: 1; }
	.birthday_contact header h2 img { width: fit-content; }
	.birthday_contact .badge_txt { font-size: 16px; }


	.birthday_contact .form-box { border-radius: 8px; }
  .birthday_contact .contact-box::before { top: 0px;  right: 20px; width: 72px; height: 82px; background: url('/wp-content/themes/fastfive/assets/images/contact/confetti_birthday_contact_02.png') no-repeat; background-size: cover; }
	.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 .form-box { padding-bottom: 37px; }
	.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;
	}
}