*, *::before, *::after { box-sizing: border-box; }
body { overflow-x: hidden; }
img { max-width: 100%; height: auto; }
#content, #left-column {margin: 0 !important;}
.box-stop {text-align: left;}

section {
	display:block;
	width:100%;
}
hr.limited-width {
	max-width:1100px;margin:0 auto;
}
section.limited-width {
	max-width:1100px;margin:0 auto;
}


.error-box, 
.success-box {
	border-radius:5px;
	text-align:center;
	width:100%;
	padding:0.4em;
}
.success-box {
	background-color:#a7e0a7;
	border:1px solid #46de46;
	color:#000000;
}
.error-box {
	background-color:#fabbbb;
	border:1px solid #e00d0d;
}
.success-box-standalone, 
.error-box-standalone {
	margin:70px 0 77px 0;
}
section.full h1 {
	text-align: center;font-size: 77pt;
	color:#ffffff;line-height: 72pt;padding-bottom: 0.1em;
}
section.full h2 {
	font-weight: bold;
	text-align: center;font-size: 20pt;
	color:#ffffff;
}
section.full h3 {
	text-align: center;font-size: 18pt;
	color:#ffffff;
}
section .tagline-heading {
	font-size: 30pt;font-weight: bold;
}
section .tagline {
	font-size: 20pt;font-weight: bold;
	  padding: 0.4em 0.2em 0.4em 0.6em;
}
section.box-steps {
	width: 100%;text-align:center;
	padding-top: 5em;
}
div.box-steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	max-width: 1100px;
	width: 100%;
	margin:0 auto;
}
@media (max-width: 768px) {
	section.full h1 {
		font-size: 54pt;line-height: 52pt;
	}
	div.box-steps {
		grid-template-columns: 1fr;
	}
}

.full-width {
	width:100%;
	clear:both;
}

.half-width {
	width:50%;
	float:left;
}
.half-width-left {
	text-align: right;
}
.half-width-left-with-border {
	padding-right:1em;
	border-right: 2px solid #575757;
}
.img-container {
	width:100%;
	text-align: center;
	background: #fff;
	padding: 5px;
	border-radius: 10px;
}
.half-width-right {
	float:right;
	text-align: left;
}
.half-width img {
	max-width:100%;
}
.half-width-with-padding {
	padding-left: 1em;
	padding-right:1em;
}
.btn-giveaway-call-to-action {
	display:inline;
	text-align:center;
	color: #ffffff;
	background-color: #ff0000;
	font-size: 22pt;
	font-weight: bold;
	padding: 11px 16px;
	line-height: 3.1em;
}
.btn-giveaway-call-to-action:hover {
	color: #fefefe;
	background-color: #c40707;
}
@media (max-width: 768px) {
	.btn-giveaway-call-to-action {
		display:inline-block;
		text-align:center;
		font-size: 20pt;
		font-weight: bold;
		padding: 10px 11px;
		line-height: 2.1em;
	}
	.half-width {
		width:90%;
		float:none;
		clear:both;
		text-align:center;
	}
	.half-width-left {
		text-align: center;
	}
	.half-width-left-with-border {
		padding-right:1em;
		border-right: 0;
		width:100%;
	}
	.half-width-right {
		float:none;
		text-align: center;
	}
}
.box-step {
	background: #f0f0f0;
	border-radius: 10px;
	padding: 2rem 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.box-step img {
	width:62px;
	height:62px;
}
.circle-small {
	width: 54px;
	height: 54px;
	border-radius: 54px;
	background-color: #000;
	color: #fff;
	text-align: center;
	padding: 14px;
	font-weight: bold;
	font-size: 18pt;
	float: left;
}
.box-step .title {
	font-size: 1.5rem;
	font-weight: 800;
	color: #1a1a1a;
	letter-spacing: -0.01em;
}
.small-txt {
	font-style: italic;font-size: 0.85rem;
	color: rgb(85, 85, 85);
}
.products-model-name {
	width: 100%;padding: 0.8em 2px 5px 1px;
	font-weight: bold;font-size: 14pt;text-align: left;
}
.section-extra-padding {
	padding-bottom:18px;display: block;clear: both;
}
.product-detail {
	width:100%;
	padding:3px;
	border-bottom:1px solid #cecece;
	text-align:left;font-size: 13pt;
}
.form-card {
	background: #efefef;
	border-radius: 20px;
	padding: 3rem 2.5rem;
	max-width: 520px;
	width: 100%;
}

.form-card h2 {
	font-size: 1.75rem;
	font-weight: 900;
	color: #1a1a1a;
	text-transform: uppercase;
	text-align: center;
	margin-bottom: 2rem;
	letter-spacing: 0.02em;
}

.form-group {
	margin-bottom: 1.25rem;
}

.form-group label {
	display: block;
	font-size: 0.95rem;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 0.4rem;
}
.form-group input {
  width: 100%;
  padding: 0.75rem 1rem;
  border: none;
  border-radius: 50px;
  background: #dcdcdc;
  font-size: 0.95rem;
  color: #333;
  outline: none;
  transition: background 0.2s;
}

.form-group input:focus {
  background: #d0d0d0;
}

.form-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  margin-top: 2.5rem;
}

.form-footer .good-luck {
  font-size: 1.1rem;
  font-style: italic;
  font-weight: 600;
  color: #1a1a1a;
}

.form-footer button {
  background: #e41e1e;
  color: #fff;
  border: none;
  border-radius: 50px;
  padding: 0.85rem 2rem;
  font-size: 1.05rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: background 0.2s;
}

section.why-enter {
	width: 100%;clear:both;
	text-align:center;
	background-color:#cecece;color:#000;
}
div.why-enter {
	max-width: 1100px;width: 100%;margin:0 auto;text-align:left;padding: 4em 0 0 0;
}
div.why-enter-boxes {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	max-width: 1100px;
	width: 100%;
	margin:0 auto;padding-top: 26px;
}
.box-why {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	border-bottom: 2px solid #5d5d5d;
	text-align:left;padding: 13px 0 26px 0;
}
.box-why .title {
	font-size: 19pt;font-weight: bold;
}
.box-why img {
	width:100%;max-width:64px;
}
.form-footer button:hover {
	background: #c91a1a;
}

@media (max-width: 768px) {
	div.why-enter-boxes {
		display: block;
		width: 100%;
		margin:0 auto;padding-top: 16px;
	}
	.box-why {
		display: block;width:100%;clear:left;
		border-bottom: 2px solid #5d5d5d;
		text-align:left;padding: 13px 0 26px 0;
	}
	.box-why .title {
		font-size: 17pt;font-weight: bold;
	}
}
@media screen and (max-width: 768px) {
	/* --- Hero section --- */
	section.full { min-height: 35vh; padding: 30px 16px; }
	section.full h1 { font-size: 28pt !important; line-height: 30pt !important; padding: 0; }
	section.full h2 { font-size: 14pt; padding: 0; }
	section.full h3 { font-size: 12pt; padding: 0; }
	.btn-giveaway-call-to-action {
		display: block !important; font-size: 14pt !important;
		padding: 12px 16px !important; line-height: 1.4em !important;
		margin: 0.5em auto; max-width: 90%;
	}

	/* --- Tagline / heading text --- */
	section .tagline {
		font-size: 13pt !important; line-height: 1.5 !important;
		padding: 0.6em 16px !important;
	}
	section .tagline-heading { font-size: 20pt !important; padding: 0 16px; }

	/* --- Steps section: icon left, text right --- */
	section.box-steps { padding-top: 2.5em; }
	div.box-steps { padding: 0 16px; }
	.box-step {
		display: grid !important; grid-template-columns: auto 1fr;
		grid-template-rows: auto auto; gap: 0.15rem 1rem;
		padding: 1.25rem 1rem; text-align: left; align-items: start;
	}
	.box-step > img,
	.box-step > .circle-small {
		grid-row: 1 / -1; align-self: center; float: none !important;
	}
	.box-step > img { width: 48px; height: 48px; }
	.box-step .circle-small {width:48px; height: 48px; padding: 11px;}
	.box-step .title { font-size: 1.2rem; align-self: end; }
	.box-step p, .box-step .desc { align-self: start; margin: 0; }

	/* --- Half-width columns → full width stacked --- */
	.half-width {
		width: 100% !important; float: none !important;
		display: block; margin: 0 auto;
	}
	.half-width-left { text-align: center !important; }
	.half-width-left-with-border {
		border-right: 0 !important; padding-right: 0 !important;
		border-bottom: 2px solid #575757; padding-bottom: 1em; margin-bottom: 0.5em;
	}
	.half-width-right { float: none !important; text-align: center !important; }
	.half-width-with-padding { padding: 1em 16px !important; }

	/* --- Product details area --- */
	section.limited-width { padding: 10px 16px; }
	.products-model-name { font-size: 12pt; text-align: left; }
	.product-detail { font-size: 11pt; text-align: left; }
	.btn-view-product { display: inline-block; text-align: left; margin: 1em 0; }

	/* --- Form --- */
	.form-card { padding: 1.5rem 1.25rem; max-width: 100%; margin: 0 auto; }
	.form-card h2 { font-size: 1.3rem; margin-bottom: 1.25rem; }
	.form-group input { box-sizing: border-box; }
	.form-footer { flex-direction: column; gap: 0.75rem; margin-top: 1.5rem; }
	.form-footer button { width: 100%; padding: 14px; font-size: 1rem; }

	/* --- Why-enter section --- */
	div.why-enter { padding: 2em 16px 0 16px; }
	div.why-enter-boxes { padding: 16px !important; }
	.box-why { padding: 10px 0 18px 0; }
	.box-why .title { font-size: 14pt !important; }

	/* --- Misc --- */
	hr.limited-width { margin: 0.5em 16px; }
	.section-extra-padding { padding-bottom: 10px; }
}

@media screen and (max-width: 480px) {
	section.full { min-height: 30vh; padding: 24px 12px; }
	section.full h1 { font-size: 22pt !important; line-height: 24pt !important; }
	section.full h2 { font-size: 12pt; }
	section.full h3 { font-size: 11pt; }
	.btn-giveaway-call-to-action { font-size: 11pt !important; padding: 10px 12px !important; }

	section .tagline { font-size: 11pt !important; }
	section .tagline-heading { font-size: 16pt !important; }

	.form-card { padding: 1.25rem 1rem; }
	.form-card h2 { font-size: 1.1rem; }

	.box-why .title { font-size: 13pt !important; }
}
