/* =========================================================================
   Green Tour — Prijave  ·  front-end stilovi (Liquid Glass)
   Sve je skopirano pod .gtp-root da tema sajta ne može da pokvari formu,
   niti forma temu.
   ========================================================================= */

.gtp-root {
	--gtp-bg: #050D0C;
	--gtp-primary: #17C98C;
	--gtp-blue: #1E7BE0;
	--gtp-radius: 18px;

	--gtp-shell-radius: calc(var(--gtp-radius) + 16px);
	--gtp-field-radius: calc(var(--gtp-radius) + 10px);
	--gtp-ink: #F2F7F5;
	--gtp-ink-soft: #B7C9C4;
	--gtp-ink-dim: #869B95;
	--gtp-title-ink: #FFFFFF;
	--gtp-field-ink: #FFFFFF;
	--gtp-autofill: rgba(18, 38, 36, .96);
	--gtp-cta: linear-gradient(105deg, var(--gtp-primary), var(--gtp-blue));
	--gtp-cta-ink: #04120F;

	/* Staklo */
	--gtp-glass: rgba(255, 255, 255, .055);
	--gtp-glass-hover: rgba(255, 255, 255, .095);
	--gtp-glass-active: rgba(255, 255, 255, .14);
	--gtp-edge: rgba(255, 255, 255, .14);
	--gtp-edge-soft: rgba(255, 255, 255, .09);
	--gtp-sheen: inset 0 1px 0 rgba(255, 255, 255, .16);

	--gtp-danger: #FF7B7B;
	--gtp-ease: cubic-bezier(.22, .68, .35, 1);

	--gtp-font: 'Russo One', 'Trebuchet MS', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--gtp-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	position: relative;
	display: block;
	width: 100%;
	max-width: 860px;
	margin-inline: auto;
	isolation: isolate;
	font-family: var(--gtp-font-body);
	font-size: 16px;
	line-height: 1.55;
	color: var(--gtp-ink);
	-webkit-font-smoothing: antialiased;
	text-align: left;
}

.gtp-root *,
.gtp-root *::before,
.gtp-root *::after {
	box-sizing: border-box;
}

/* Reset bez specifičnosti (:where) — poništava nasleđe teme, ali ne gazi
   stilove komponenti forme ispod. */
.gtp-root :where(p, h2, h3, label, span, li, ul) {
	margin: 0;
	padding: 0;
	letter-spacing: normal;
	text-transform: none;
	font-family: inherit;
}

.gtp-hidden {
	display: none !important;
}

/* Sidro za povratak na formu posle klasičnog slanja */
.gtp-anchor {
	display: block;
	height: 0;
	overflow: hidden;
	scroll-margin-top: 110px;
}

/* =========================================================================
   LJUSKA + POZADINA + PRSTEN NAPRETKA
   ========================================================================= */

.gtp-shell {
	position: relative;
	border-radius: var(--gtp-shell-radius);
}

/* Meka pozadina ispod stakla — bez sjaja, samo prelaz boja. */
.gtp-backdrop {
	position: absolute;
	inset: 0;
	z-index: 0;
	border-radius: inherit;
	background:
		radial-gradient(88% 62% at 16% 4%, rgba(23, 201, 140, .20), transparent 60%),
		radial-gradient(78% 66% at 92% 16%, rgba(30, 123, 224, .22), transparent 58%),
		radial-gradient(70% 58% at 46% 106%, rgba(14, 96, 118, .24), transparent 62%),
		linear-gradient(158deg, #071A20 0%, #06151C 42%, #030C12 100%);
	box-shadow: 0 34px 70px -40px rgba(0, 0, 0, .85);
}

/* Prsten napretka = okvir celog bloka. Uvek vidljiv dok se forma popunjava. */
.gtp-ring {
	position: absolute;
	inset: 0;
	z-index: 3;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
}

.gtp-ring-track {
	fill: none;
	stroke: rgba(255, 255, 255, .16);
	stroke-width: 1.5;
}

.gtp-ring-fill {
	fill: none;
	stroke-width: 2.5;
	stroke-linecap: round;
	transition: stroke-dashoffset .6s var(--gtp-ease);
}

.gtp-ring-stop-1 { stop-color: var(--gtp-primary); }
.gtp-ring-stop-2 { stop-color: var(--gtp-blue); }

/* =========================================================================
   KARTICA (staklo)
   ========================================================================= */

.gtp-card {
	position: relative;
	z-index: 1;
	padding: clamp(26px, 4.6vw, 54px) clamp(20px, 4.4vw, 52px);
	border: 1px solid var(--gtp-edge);
	border-radius: var(--gtp-shell-radius);
	background: linear-gradient(180deg, rgba(255, 255, 255, .085), rgba(255, 255, 255, .028) 42%, rgba(255, 255, 255, .05));
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .26),
		inset 0 -1px 0 rgba(255, 255, 255, .06),
		inset 0 0 60px rgba(255, 255, 255, .028);
	-webkit-backdrop-filter: blur(26px) saturate(160%);
	backdrop-filter: blur(26px) saturate(160%);
}

/* =========================================================================
   ZAGLAVLJE
   ========================================================================= */

.gtp-head {
	margin-bottom: clamp(24px, 3.4vw, 38px);
	text-align: center;
}

.gtp-title {
	font-family: var(--gtp-font);
	font-size: clamp(23px, 3.8vw, 34px);
	line-height: 1.2;
	font-weight: 400;
	color: var(--gtp-title-ink);
}

.gtp-sub {
	margin-top: 10px !important;
	font-family: var(--gtp-font);
	font-size: clamp(12px, 1.6vw, 13.5px);
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
	color: var(--gtp-primary);
}

.gtp-intro {
	margin: 14px auto 0 !important;
	max-width: 52ch;
	font-size: 14.5px;
	color: var(--gtp-ink-soft);
}

/* =========================================================================
   KORACI
   ========================================================================= */

.gtp-steps {
	display: flex;
	flex-direction: column;
	gap: clamp(26px, 3.4vw, 36px);
	min-height: 0;
	transition: height .45s var(--gtp-ease);
}

.gtp-step {
	display: none;
	flex: 0 0 auto;
}

.gtp-step.is-on {
	display: block;
	animation: gtpStepIn .55s var(--gtp-ease) both;
}

@keyframes gtpStepIn {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: none; }
}

.gtp-q {
	margin-bottom: 15px;
	text-align: center;
}

.gtp-label {
	display: block;
	font-family: var(--gtp-font);
	font-size: clamp(12px, 1.8vw, 14.5px);
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	color: var(--gtp-ink-soft);
}

/* Unutrašnji span ne sme da poništi verzal/razmak roditelja */
.gtp-root .gtp-label > span,
.gtp-root .gtp-submit > span,
.gtp-root .gtp-next > span,
.gtp-root .gtp-pkg-name > span,
.gtp-root .gtp-pkg-badge > span {
	text-transform: inherit;
	letter-spacing: inherit;
	font-family: inherit;
}

.gtp-req {
	margin-left: 4px;
	color: var(--gtp-primary);
	font-style: normal;
}

.gtp-help {
	margin-top: 8px !important;
	font-size: 13.5px;
	color: var(--gtp-ink-dim);
}

.gtp-control {
	max-width: 620px;
	margin-inline: auto;
}

/* Paketi koriste punu širinu kartice */
.gtp-step--package .gtp-control {
	max-width: 100%;
}

.gtp-error {
	margin-top: 10px !important;
	font-size: 13.5px;
	font-weight: 500;
	color: var(--gtp-danger);
	text-align: center;
}

.gtp-actions {
	margin-top: 16px;
	text-align: center;
}

/* =========================================================================
   POLJA
   ========================================================================= */

.gtp-input {
	display: block;
	width: 100%;
	padding: 17px 24px;
	border: 1px solid var(--gtp-edge);
	border-radius: var(--gtp-field-radius);
	background: var(--gtp-glass);
	color: var(--gtp-field-ink);
	font-family: var(--gtp-font);
	font-size: 16.5px;
	line-height: 1.4;
	outline: none;
	box-shadow: var(--gtp-sheen);
	transition: border-color .25s, background .25s, box-shadow .25s;
	-webkit-appearance: none;
	appearance: none;
}

.gtp-textarea {
	min-height: 104px;
	resize: vertical;
	font-family: var(--gtp-font-body);
	font-size: 15.5px;
}

.gtp-input::placeholder {
	color: rgba(230, 245, 240, .30);
	font-family: var(--gtp-font-body);
	font-size: 15px;
}

.gtp-input:hover {
	background: var(--gtp-glass-hover);
	border-color: rgba(255, 255, 255, .22);
}

.gtp-input:focus {
	background: var(--gtp-glass-hover);
	border-color: rgba(255, 255, 255, .42);
	box-shadow: var(--gtp-sheen), 0 0 0 3px rgba(255, 255, 255, .07);
}

.gtp-step.has-error .gtp-input {
	border-color: rgba(255, 123, 123, .55);
}

.gtp-select-wrap { position: relative; }

.gtp-select {
	padding-right: 46px;
	cursor: pointer;
}

.gtp-select-wrap::after {
	content: "";
	position: absolute;
	right: 22px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-right: 2px solid var(--gtp-ink-soft);
	border-bottom: 2px solid var(--gtp-ink-soft);
	transform: translateY(-70%) rotate(45deg);
	pointer-events: none;
}

.gtp-select option {
	background: #0A1A1F;
	color: var(--gtp-ink);
}

/* =========================================================================
   OPCIJE (staklene kartice)
   ========================================================================= */

.gtp-options {
	display: grid;
	gap: 11px;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.gtp-cols-1 { grid-template-columns: 1fr; }

@media (min-width: 640px) {
	.gtp-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gtp-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.gtp-opt { position: relative; display: block; }

/* Skriveni input pokriva celu karticu (a ne tačku 1x1px) — inače browser,
   kad ga fokusira na klik, skroluje stranicu do te tačke i pogled odskoči.
   pointer-events:none ostavlja klik i hover labeli iznad njega. */
.gtp-opt-input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
}

.gtp-opt-card {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 14px;
	height: 100%;
	min-height: 58px;
	padding: 15px 22px;
	border: 1px solid var(--gtp-edge-soft);
	border-radius: var(--gtp-radius);
	background: var(--gtp-glass);
	color: var(--gtp-ink-soft);
	font-family: var(--gtp-font);
	font-size: 13.5px;
	line-height: 1.45;
	text-align: left;
	cursor: pointer;
	box-shadow: var(--gtp-sheen);
	transition: background .25s var(--gtp-ease), border-color .25s, color .25s, transform .25s var(--gtp-ease);
	-webkit-tap-highlight-color: transparent;
}

.gtp-opt-card:hover {
	background: var(--gtp-glass-hover);
	border-color: rgba(255, 255, 255, .2);
	color: #fff;
}

.gtp-opt-mark {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	border: 1.5px solid rgba(255, 255, 255, .3);
	border-radius: 50%;
	transition: all .25s var(--gtp-ease);
}

.gtp-opt-mark--cb { border-radius: 5px; }

.gtp-opt-label {
	flex: 1 1 auto;
	min-width: 0;
}

.gtp-opt-input:checked + .gtp-opt-card {
	border-color: rgba(255, 255, 255, .48);
	background: var(--gtp-glass-active);
	color: #fff;
}

.gtp-opt-input:checked + .gtp-opt-card .gtp-opt-mark {
	border-color: var(--gtp-primary);
	background: var(--gtp-primary);
	box-shadow: inset 0 0 0 3.5px rgba(6, 18, 16, .92);
}

.gtp-opt-input:checked + .gtp-opt-card .gtp-opt-mark--cb {
	box-shadow: none;
	background: var(--gtp-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5l4 4 8-9' fill='none' stroke='%23061210' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;
}

.gtp-opt-input:focus-visible + .gtp-opt-card {
	outline: 2px solid rgba(255, 255, 255, .7);
	outline-offset: 3px;
}

/* =========================================================================
   PAKETI
   ========================================================================= */

.gtp-packages {
	display: grid;
	gap: 12px;
	grid-template-columns: 1fr;
	text-align: left;
}

@media (min-width: 700px) {
	.gtp-packages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.gtp-pkg { position: relative; }

.gtp-pkg-input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
}

.gtp-pkg-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	height: 100%;
	padding: 20px 20px 22px;
	border: 1px solid var(--gtp-edge-soft);
	border-radius: calc(var(--gtp-radius) + 4px);
	background: var(--gtp-glass);
	cursor: pointer;
	box-shadow: var(--gtp-sheen);
	transition: background .28s var(--gtp-ease), border-color .28s, transform .28s var(--gtp-ease);
	-webkit-tap-highlight-color: transparent;
}

.gtp-pkg-card:hover {
	background: var(--gtp-glass-hover);
	border-color: rgba(255, 255, 255, .22);
}

.gtp-pkg-top {
	display: flex;
	align-items: center;
	gap: 9px;
	flex-wrap: wrap;
	padding-right: 34px;
}

.gtp-pkg-name {
	font-family: var(--gtp-font);
	font-size: 12px;
	letter-spacing: .17em !important;
	text-transform: uppercase !important;
	color: var(--gtp-ink-dim);
	transition: color .28s;
}

.gtp-pkg-badge {
	padding: 3px 10px;
	border-radius: 999px;
	border: 1px solid rgba(23, 201, 140, .45);
	background: rgba(23, 201, 140, .14);
	color: var(--gtp-primary);
	font-family: var(--gtp-font);
	font-size: 10px;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
}

.gtp-pkg-price {
	font-family: var(--gtp-font);
	font-size: clamp(23px, 3.2vw, 28px);
	line-height: 1.1;
	color: #fff;
}

.gtp-pkg-features {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 4px;
}

.gtp-pkg-feature {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	font-size: 13.4px;
	line-height: 1.45;
	color: var(--gtp-ink-soft);
}

.gtp-pkg-feature svg {
	flex: none;
	margin-top: 3px;
	color: var(--gtp-primary);
}

.gtp-pkg-check {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 21px;
	height: 21px;
	border: 1.5px solid rgba(255, 255, 255, .3);
	border-radius: 50%;
	transition: all .28s var(--gtp-ease);
}

.gtp-pkg-input:checked + .gtp-pkg-card {
	border-color: rgba(255, 255, 255, .46);
	background: var(--gtp-glass-active);
}

.gtp-pkg-input:checked + .gtp-pkg-card .gtp-pkg-name { color: var(--gtp-primary); }
.gtp-pkg-input:checked + .gtp-pkg-card .gtp-pkg-feature { color: #E3F1EC; }

.gtp-pkg-input:checked + .gtp-pkg-card .gtp-pkg-check {
	border-color: var(--gtp-primary);
	background: var(--gtp-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5l4 4 8-9' fill='none' stroke='%23061210' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;
}

.gtp-pkg-input:focus-visible + .gtp-pkg-card {
	outline: 2px solid rgba(255, 255, 255, .7);
	outline-offset: 3px;
}

/* =========================================================================
   USLOVNI DELOVI
   ========================================================================= */

.gtp-cond {
	margin-top: 12px;
	animation: gtpFade .4s var(--gtp-ease) both;
}

@keyframes gtpFade {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: none; }
}

.gtp-note {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 10px;
	margin-top: 14px;
	padding: 13px 17px;
	border: 1px solid var(--gtp-edge-soft);
	border-radius: var(--gtp-radius);
	background: var(--gtp-glass);
	box-shadow: var(--gtp-sheen);
	font-size: 13.6px;
	line-height: 1.45;
	color: var(--gtp-ink-soft);
	text-align: left;
	animation: gtpFade .4s var(--gtp-ease) both;
}

.gtp-note svg {
	flex: none;
	margin-top: 2px;
	color: var(--gtp-primary);
}

/* =========================================================================
   DUGMAD
   ========================================================================= */

.gtp-next {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 12px 24px;
	border: 1px solid var(--gtp-edge);
	border-radius: 999px;
	background: var(--gtp-glass);
	color: var(--gtp-ink);
	font-family: var(--gtp-font);
	font-size: 13px;
	letter-spacing: .1em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: var(--gtp-sheen);
	transition: background .25s, border-color .25s, color .25s;
	-webkit-appearance: none;
	appearance: none;
}

.gtp-next:hover {
	background: var(--gtp-glass-active);
	border-color: rgba(255, 255, 255, .34);
	color: #fff;
}

.gtp-next svg { transition: transform .25s var(--gtp-ease); }
.gtp-next:hover svg { transform: translateX(3px); }

.gtp-foot {
	margin-top: clamp(28px, 3.6vw, 38px);
	padding-top: clamp(22px, 3vw, 28px);
	border-top: 1px solid var(--gtp-edge-soft);
	text-align: center;
	animation: gtpStepIn .5s var(--gtp-ease) both;
}

.gtp-form-error {
	max-width: 520px;
	margin: 0 auto 16px !important;
	padding: 13px 17px;
	border: 1px solid rgba(255, 123, 123, .35);
	border-radius: var(--gtp-radius);
	background: rgba(255, 123, 123, .09);
	color: #FFCFCF;
	font-size: 14px;
}

.gtp-submit {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 11px;
	min-width: 250px;
	padding: 18px 40px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 999px;
	background-image: var(--gtp-cta);
	background-size: 190% 100%;
	background-position: 0 0;
	color: var(--gtp-cta-ink);
	font-family: var(--gtp-font);
	font-size: 14.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3);
	transition: background-position .55s var(--gtp-ease), transform .2s var(--gtp-ease);
	-webkit-appearance: none;
	appearance: none;
}

.gtp-submit:hover {
	background-position: 100% 0;
}

.gtp-submit:active { transform: translateY(1px); }

.gtp-submit:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.gtp-submit.is-loading {
	pointer-events: none;
	opacity: .75;
}

.gtp-spinner {
	display: none;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(4, 18, 15, .28);
	border-top-color: #04120F;
	border-radius: 50%;
	animation: gtpSpin .7s linear infinite;
}

.gtp-submit.is-loading .gtp-spinner { display: block; }

@keyframes gtpSpin { to { transform: rotate(360deg); } }

/* =========================================================================
   USPEH / OBAVEŠTENJA
   ========================================================================= */

.gtp-success {
	text-align: center;
	padding: clamp(8px, 2vw, 20px) clamp(4px, 2vw, 18px);
}

.gtp-success-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 84px;
	margin-bottom: 20px;
	border: 1px solid var(--gtp-edge);
	border-radius: 50%;
	background: var(--gtp-glass);
	box-shadow: var(--gtp-sheen);
	color: var(--gtp-primary);
}

.gtp-sc-circle {
	stroke: var(--gtp-primary);
	stroke-width: 1.6;
	stroke-dasharray: 152;
	stroke-dashoffset: 152;
	animation: gtpDraw .7s var(--gtp-ease) forwards;
	opacity: .4;
}

.gtp-sc-check {
	stroke: var(--gtp-primary);
	stroke-width: 3.4;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 44;
	stroke-dashoffset: 44;
	animation: gtpDraw .5s var(--gtp-ease) .4s forwards;
}

@keyframes gtpDraw { to { stroke-dashoffset: 0; } }

.gtp-success-title,
.gtp-notice-title {
	font-family: var(--gtp-font);
	font-size: clamp(20px, 3.2vw, 26px);
	font-weight: 400;
	color: #fff;
}

.gtp-success-text,
.gtp-notice-text {
	margin: 12px auto 0 !important;
	max-width: 46ch;
	font-size: 15px;
	color: var(--gtp-ink-soft);
}

.gtp-card--notice { text-align: center; }

/* Honeypot */
.gtp-hp {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* =========================================================================
   TEMA: full-bleed tamna sekcija
   ========================================================================= */
.gtp-theme-section { max-width: 100%; }

.gtp-theme-section .gtp-shell,
.gtp-theme-section .gtp-backdrop,
.gtp-theme-section .gtp-card {
	border-radius: 0;
}

.gtp-theme-section .gtp-card {
	border-left: 0;
	border-right: 0;
	padding: clamp(38px, 6vw, 84px) clamp(20px, 6vw, 64px);
}

.gtp-theme-section .gtp-head,
.gtp-theme-section .gtp-form { max-width: 820px; margin-inline: auto; }

/* =========================================================================
   TEMA: svetlo staklo
   ========================================================================= */
.gtp-theme-light {
	--gtp-ink: #0A1F1A;
	--gtp-ink-soft: #3E5A54;
	--gtp-ink-dim: #6A817B;
	--gtp-title-ink: #08251E;
	--gtp-field-ink: #08251E;
	--gtp-autofill: rgba(255, 255, 255, .96);
	--gtp-cta: linear-gradient(180deg, #1FD79A, #0FA976);
	--gtp-glass: rgba(255, 255, 255, .62);
	--gtp-glass-hover: rgba(255, 255, 255, .82);
	--gtp-glass-active: rgba(255, 255, 255, .96);
	--gtp-edge: rgba(10, 31, 26, .12);
	--gtp-edge-soft: rgba(10, 31, 26, .09);
	--gtp-sheen: inset 0 1px 0 rgba(255, 255, 255, .9);
}

.gtp-theme-light .gtp-backdrop {
	background:
		radial-gradient(80% 60% at 14% 2%, rgba(23, 201, 140, .16), transparent 60%),
		radial-gradient(76% 62% at 92% 14%, rgba(30, 123, 224, .14), transparent 58%),
		linear-gradient(158deg, #F2F8F6 0%, #EAF2F5 100%);
}

.gtp-theme-light .gtp-card {
	background: linear-gradient(180deg, rgba(255, 255, 255, .78), rgba(255, 255, 255, .55));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95);
}

.gtp-theme-light .gtp-pkg-price,
.gtp-theme-light .gtp-success-title,
.gtp-theme-light .gtp-notice-title { color: #08251E; }

.gtp-theme-light .gtp-opt-card:hover,
.gtp-theme-light .gtp-opt-input:checked + .gtp-opt-card,
.gtp-theme-light .gtp-pkg-input:checked + .gtp-pkg-card { color: #08251E; }

.gtp-theme-light .gtp-ring-track { stroke: rgba(10, 31, 26, .14); }
.gtp-theme-light .gtp-select option { background: #fff; color: #08251E; }

.gtp-theme-light .gtp-opt-input:checked + .gtp-opt-card .gtp-opt-mark {
	box-shadow: inset 0 0 0 3.5px #fff;
}

.gtp-theme-light .gtp-submit {
	border-color: transparent;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4);
}

/* Roditeljski kontejner koji bi sekao formu dok raste (Elementor sekcije,
   kolone sa fiksnom visinom, tab/akordeon paneli). Klasu dodaje JS samo ako
   kontejner zaista seče sadržaj. */
.gtp-host-unclip {
	overflow: visible !important;
	max-height: none !important;
	height: auto !important;
}

/* =========================================================================
   ZAŠTITA OD TEME
   Teme i graditelji stranica (Elementor, Astra, Divi…) često stilizuju
   input, button, h2 i label jače nego plugin. Ovaj blok vraća izgled forme
   bez obzira na to. Zato je ovde !important — nigde drugde nije potreban.
   ========================================================================= */

/* Razmaci koje reset iz teme ume da obriše */
.gtp-root .gtp-opt-card { padding: 15px 22px; }
.gtp-root .gtp-pkg-card { padding: 20px 20px 22px; }
.gtp-root .gtp-pkg-badge { padding: 3px 10px; }
.gtp-root .gtp-note { padding: 13px 17px; }
.gtp-root .gtp-form-error { padding: 13px 17px; }
.gtp-root .gtp-next { padding: 12px 24px; }
.gtp-root .gtp-opt-mark { width: 18px; height: 18px; padding: 0; }
.gtp-root .gtp-pkg-check { width: 21px; height: 21px; padding: 0; }
.gtp-root .gtp-label { padding: 0; }

/* Naslov i tekstovi */
.gtp-root h2.gtp-title {
	color: var(--gtp-title-ink) !important;
	font-family: var(--gtp-font) !important;
	font-weight: 400 !important;
	text-align: center !important;
	text-transform: none !important;
}

.gtp-root h3.gtp-success-title,
.gtp-root h3.gtp-notice-title {
	color: var(--gtp-title-ink) !important;
	font-family: var(--gtp-font) !important;
	font-weight: 400 !important;
}

.gtp-root p.gtp-sub { color: var(--gtp-primary) !important; }
.gtp-root p.gtp-intro { color: var(--gtp-ink-soft) !important; }
.gtp-root p.gtp-help { color: var(--gtp-ink-dim) !important; }

.gtp-root .gtp-label,
.gtp-root .gtp-label > span {
	color: var(--gtp-ink-soft) !important;
	font-family: var(--gtp-font) !important;
	font-weight: 400 !important;
}

/* Tekstualna polja — najčešća žrtva tema (bela pozadina, oštri uglovi) */
.gtp-root input.gtp-input,
.gtp-root textarea.gtp-input,
.gtp-root select.gtp-input {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 17px 24px !important;
	border: 1px solid var(--gtp-edge) !important;
	border-radius: var(--gtp-field-radius) !important;
	background: var(--gtp-glass) !important;
	background-image: none !important;
	color: var(--gtp-field-ink) !important;
	font-family: var(--gtp-font) !important;
	font-size: 16.5px !important;
	line-height: 1.4 !important;
	text-align: left !important;
	text-transform: none !important;
	box-shadow: var(--gtp-sheen) !important;
	outline: none !important;
}

.gtp-root textarea.gtp-input {
	padding: 16px 20px !important;
	font-family: var(--gtp-font-body) !important;
	font-size: 15.5px !important;
	border-radius: var(--gtp-radius) !important;
}

.gtp-root input.gtp-input:focus,
.gtp-root textarea.gtp-input:focus,
.gtp-root select.gtp-input:focus {
	background: var(--gtp-glass-hover) !important;
	border-color: rgba(255, 255, 255, .45) !important;
}

.gtp-root .gtp-step.has-error input.gtp-input,
.gtp-root .gtp-step.has-error textarea.gtp-input {
	border-color: rgba(255, 123, 123, .6) !important;
}

.gtp-root .gtp-input::placeholder {
	color: rgba(230, 245, 240, .32) !important;
	font-family: var(--gtp-font-body) !important;
	font-size: 15px !important;
	opacity: 1;
}

.gtp-theme-light .gtp-input::placeholder { color: rgba(10, 31, 26, .4) !important; }

/* Autofill (Safari/Chrome) ne sme da oboji polje u belo/žuto */
.gtp-root .gtp-input:-webkit-autofill,
.gtp-root .gtp-input:-webkit-autofill:hover,
.gtp-root .gtp-input:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--gtp-field-ink) !important;
	-webkit-box-shadow: 0 0 0 1000px var(--gtp-autofill) inset !important;
	box-shadow: 0 0 0 1000px var(--gtp-autofill) inset !important;
	caret-color: var(--gtp-field-ink);
	transition: background-color 9999s ease-in-out 0s;
}

/* Dugmad */
.gtp-root button.gtp-submit {
	width: auto !important;
	padding: 18px 40px !important;
	border-radius: 999px !important;
	background-color: transparent !important;
	background-image: var(--gtp-cta) !important;
	color: var(--gtp-cta-ink) !important;
	font-family: var(--gtp-font) !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	letter-spacing: .12em !important;
	text-shadow: none !important;
}

.gtp-root button.gtp-submit:hover { background-position: 100% 0 !important; }

.gtp-root button.gtp-next {
	border-radius: 999px !important;
	background-color: transparent !important;
	background-image: none !important;
	color: var(--gtp-ink) !important;
	font-family: var(--gtp-font) !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	text-shadow: none !important;
}

/* Kartice odgovora */
.gtp-root .gtp-opt-card,
.gtp-root .gtp-pkg-card {
	text-shadow: none !important;
}

.gtp-root .gtp-opt-input:checked + .gtp-opt-card { color: var(--gtp-field-ink); }

.gtp-root .gtp-opt-label {
	color: inherit !important;
	font-family: var(--gtp-font) !important;
	text-transform: none !important;
}

/* ---------- Pristupačnost / smanjena animacija ---------- */
@media (prefers-reduced-motion: reduce) {
	.gtp-root *,
	.gtp-root *::before,
	.gtp-root *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
	.gtp-steps { transition: none !important; }
	.gtp-ring-fill { transition: none !important; }
}
