#application {
	width: 100%;
	padding-block: 64px;

	@media (max-width: 768px) {
		padding-block: 0 48px;
	}

	.gift-campaign-text {
		display: flex;
		flex-direction: column;
		align-items: center;
		font-size: 2rem;
		font-weight: bold;
		line-height: 1.6em;
		letter-spacing: 0;
		color: #181930;

		@media (max-width: 768px) {
			font-size: 1.6rem;
		}

		.underline {
			border-bottom: 1px solid currentColor;
			line-height: 1.2em;
		}

		.bg_yellow {
			background-color: #E9D171;
			color: #181930;
			font-size: 2.4rem;
			font-weight: bold;
			line-height: 42px;
			height: 42px;
			margin-top: 6px;
		
			@media (max-width: 768px) {
				font-size: 1.6rem;
				line-height: 36px;
				height: 36px;
				margin-bottom: 3px;
			}
		}

		.big {
			font-size: 2.5rem;
			font-weight: 900;

			@media (max-width: 768px) {
				font-size: 2rem;
			}
		}

		.decotation {
			display: flex;
			justify-content: center;
			align-items: baseline;

			&::after,
			&::before {
				content: '';
				background: url('../img/gift-campaign/title_decotation.svg');
				display: block;
				background-size: contain;
				background-repeat: no-repeat;
				position: relative;
				top: -50%;
				transform: translateY(-50%);
				width: 16px;
				height: 16px;
			}

			&::before {
				transform: translateY(-50%) scale(-1, 1);
			}
		}
	}

	.to-b {
		width: fit-content;
		padding: 12px 60px;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 12px;
		background-color: #F5F5F5;
		border-radius: 4.38px;
		margin-inline: auto;

		@media (max-width: 768px) {
			width: calc(100% - 40px);
			padding-inline: 0;
			margin-inline: 20px;
		}

		.to-b-text {
			font-size: 1.6rem;
			font-weight: bold;
			line-height: 1em;
			letter-spacing: 0;
			color: #000000;
		}

		.to-b-flex {
			padding: 9px;
			line-height: 1;
			display: grid;
			grid-template-columns: auto 5.4px;
			align-items: end;
			gap: 5.6px;
			background-color: #ffffff;
			border: 1px solid #E73354;
			border-radius: 3px;

			@media (max-width: 768px) {
				padding-block: 6px;
			}


			.to-b-anchor {
				font-size: 1.1rem;
				font-weight: bold;
				letter-spacing: 0.5px;
				color: #E73354;
			}
		}
	}

	.top_none {
		padding-top: 0;
	}
}

/* ========== New Subsidy Modals (reuse subsidy styles) ========== */
:is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
	z-index: 10000;
  }
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .container {
	inset: 50% auto auto 50%;
	transform: translate(-50%, -50%);
	max-width: 600px;
	width: 90%;
	max-height: 90%;
	position: absolute;
	border: 1px solid #ccc;
	background: #fbfbfb;
	overflow: auto;
	outline: none;
	padding: 80px 18px 50px;
	border-radius: 4px;
	h2 {
	  font-size: 20px;
	  text-align: center;
	  &.terms_title {
		font-size: 24px;
	  }
	}
	h3 {
	  text-align: left;
	}
	p {
	  font-size: 16px;
	  margin-block: 1em;
	  line-height: 1.6;
	  &.terms_desc {
		font-weight: 700;
		line-height: 1.3;
	  }
	  &.note {
		font-size: 12px;
		text-align: center;
	  }
	}
	button#newSubsidyPledge {
	  display: block;
	  font-size: 13px;
	  font-weight: 700;
	  text-align: center;
	  padding: 15px;
	  border-radius: 9999px;
	  background: linear-gradient(180deg, #E73354 0%, #E10036 100%), #C9C9C9;
	  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.25);
	  max-width: 300px;
	  width: 100%;
	  margin: 30px auto 0;
	  color: #fff;
	  &.disable {
		background: #c2c2c2;
	  }
	}
	ul {
	  font-size: 16px;
	  li {
		list-style: none;
	  }
	}
  }
  @media screen and (max-width: 767px) {
	:is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .container {
	  max-height: 90%;
	  max-width: 213.3333333333vw;
	  width: 89.3333333333vw;
	  padding: 12.8vw 4.2666666667vw 10.6666666667vw;
	  border-radius: 1.0666666667vw;
	}
  }
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .close_icon {
	width: 42px;
	height: 42px;
	border-radius: 9999px;
	border: solid 2px #131930;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 20px;
	right: 18px;
	cursor: pointer;
  }
  @media screen and (max-width: 767px) {
	:is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .close_icon {
	  width: 8.5333333333vw;
	  height: 8.5333333333vw;
	  max-width: 40px;
	  max-height: 40px;
	  border: solid 2px #131930;
	  top: 3.2vw;
	  right: 3.2vw;
	}
  }
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .close_icon img {
	width: 19px;
	height: 19px;
  }
  @media screen and (max-width: 767px) {
	:is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .close_icon img {
	  width: 3.7333333333vw;
	  height: 3.7333333333vw;
	  max-width: 18px;
	  max-height: 18px;
	}
  }
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal p.close_button {
	margin: 20px auto 0;
	width: fit-content;
	padding: 4px 20px;
	line-height: 1.4;
	cursor: pointer;
	background: linear-gradient(180deg, #fff 0%, #f5f5f5 100%);
	border: 1px solid #585858;
	color: #585858;
	border-radius: 9999px;
	font-weight: 700;
	font-size: 14px;
	display: block;
  }
  @media screen and (max-width: 767px) {
	:is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .close_button {
	  margin: 5vw auto 0;
	  padding: 1.5vw 4.8vw;
	  font-size: 3.7333333333vw;
	  line-height: 5.3333333333vw;
	}
  }
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .close_button:before {
	content: "×";
	margin: 0 4px 0 0;
	width: 16px;
	height: 16px;
  }
  @media screen and (max-width: 767px) {
	:is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .close_button:before {
	  margin: 0 1.0666666667vw 0 0;
	  width: 4.2666666667vw;
	  height: 4.2666666667vw;
	}
  }
  
  /* Terms modal list */
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .terms_title {
	text-align: center;
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 10px;
  }
  @media screen and (max-width: 767px) { :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .terms_title { font-size: 5.8666666667vw; } }
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .terms_desc { text-align: left; font-size: 14px; color: #333; margin: 0 auto 16px;}
  @media screen and (max-width: 767px) { :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .terms_desc { width: 100%; font-size: 3.7333333333vw; } }
  
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .terms_section { margin: 24px auto 0; }
  @media screen and (max-width: 767px) { :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .terms_section { width: 100%; } }
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .section_title { font-weight: 700; font-size: 18px; margin: 0 0 8px; }
  @media screen and (max-width: 767px) { :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .section_title { font-size: 4.8vw; } }
  
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .terms_list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .term_item label { display: flex; align-items: flex-start; gap: 10px; }
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .term_item input[type="checkbox"] { width: 20px; height: 20px; margin-top: 3px; flex-shrink: 0; accent-color: #008c94; }
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .term_text { display: inline-block; font-size: 14px; line-height: 1.7; color: #333; }
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .term_note { display: block; color: #6b7280; font-size: 12px; margin-top: 6px; }
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .term_example { display: block; color: #333; font-size: 12px; margin-top: 6px; }
  
  /* Coupon dialog specifics */
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .coupon_code {
	margin: 12px auto 0;
	width: fit-content;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
	font-weight: 700;
	font-size: 24px;
	letter-spacing: 0.08em;
	background: #fff;
	border: 1px solid #e3e3e3;
	border-radius: 6px;
	padding: 10px 16px;
  }
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .button_group {
	margin-top: 12px;
	display: flex;
	gap: 12px;
	justify-content: center;
	button {
	  color: #008c94;
	  border: solid 1px #008c94;
	  padding: 0.5em 1.5em;
	  border-radius: 9999px;
	  font-size: 14px;
	}
  }
  
  /* Contact block under pledge button */
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .terms_contact {
	margin: 60px auto 0;
	text-align: center;
  }
  @media screen and (max-width: 767px) {
	:is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .terms_contact {
	  width: 100%;
	  margin-top: 3.2vw;
	  padding-top: 3.2vw;
	}
  }
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .terms_contact p {
	margin: 0 0 10px;
	font-size: 14px;
	color: #333;
  }
  @media screen and (max-width: 767px) {
	:is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .terms_contact p { font-size: 3.7333333333vw; }
  }
  :is(#newSubsidyTermsModal, #newSubsidyCouponDialog) .modal .terms_contact a {
	display: block;
	margin: 6px 0;
	color: #1C4586;
	text-decoration: underline;
  }
  
  /* lightweight toast for copy feedback */
  .gac_toast {
	position: fixed;
	left: 50%;
	transform: translateX(-50%) translateY(20px);
	bottom: 24px;
	background: rgba(0, 0, 0, 0.85);
	color: #fff;
	padding: 10px 14px;
	border-radius: 6px;
	font-size: 14px;
	line-height: 1.2;
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease, transform .2s ease;
	z-index: 10010;
  }
  .gac_toast.show {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
  }