/* ==========================================================================
   Uplatnenie darčekovej poukážky (/mam-darcek/) a odstúpenie od zmluvy
   (/odstupit-od-zmluvy/) – jeden stĺpec s formulárom.
   ========================================================================== */

.gift { display: grid; justify-items: center; align-content: center; padding-block: 40px 96px; min-height: calc(100svh - 230px); }
.gift__main { width: min(100%, 520px); }
.gift h1 { margin-top: 0; font-size: clamp(32px, 4vw, 48px); }
.gift__lead { margin-top: 14px; font-size: 18px; line-height: 1.6; color: var(--muted); text-wrap: pretty; }

/* Formulár */
.gift__form { margin-top: 28px; display: grid; gap: 18px; }
.gift__field label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
.gift__field input { width: 100%; font-size: 16px; padding: 13px 14px; border-radius: 8px; border: 1.5px solid rgba(42, 32, 24, .2); background: var(--card); color: var(--ink); transition: border-color 300ms var(--ease); }
.gift__field input:focus { outline: none; border-color: var(--honey); }
.gift__field input[aria-invalid="true"] { border-color: var(--brick); }
.gift__field--code input { padding: 14px 16px; font-size: 26px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.gift__field--code input::placeholder { color: rgba(42, 32, 24, .22); }
.gift__hint { display: block; margin-top: 6px; font-size: 14px; color: var(--muted); }
.gift__field-error { display: block; margin-top: 6px; font-size: 14px; color: var(--brick); }
.gift__error { padding: 12px 14px; border-radius: 8px; background: #FBE6DF; color: #8E3B23; font-size: 15px; line-height: 1.5; }
.gift__error a { font-weight: 600; color: inherit; text-underline-offset: 3px; }
.gift__account { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 8px; background: var(--card); font-size: 15px; color: var(--muted); }
.gift__account svg { flex: none; width: 20px; height: 20px; color: var(--brick); }
.gift__account b { color: var(--ink); font-weight: 600; word-break: break-all; }
.gift__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.gift__form .btn--block { margin-top: 4px; }
.gift__legal { font-size: 13px; line-height: 1.5; color: var(--muted); text-align: center; }
.gift__legal a, .gift__links a { color: var(--brick); text-underline-offset: 3px; }
.gift__links { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 4px 8px; font-size: 15px; color: var(--muted); }
.gift__links a { font-weight: 600; }

/* Potvrdenie */
.gift__steps { margin-top: 28px; display: grid; gap: 14px; }
.gift__steps li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: center; line-height: 1.45; }
.gift__steps svg { width: 44px; height: 44px; padding: 11px; border-radius: 50%; background: var(--card); color: var(--brick); }

/* Odstúpenie od zmluvy: textarea, výber produktu, informácie a ďalšie spôsoby odstúpenia */
.gift__field textarea { width: 100%; min-height: 110px; resize: vertical; font: inherit; font-size: 16px; padding: 13px 14px; border-radius: 8px; border: 1.5px solid rgba(42, 32, 24, .2); background: var(--card); color: var(--ink); }
.gift__field textarea:focus { outline: none; border-color: var(--honey); }
.gift__field input[type="date"] { min-height: 52px; }
.gift__field label small { font-weight: 400; color: var(--muted); }
.gift__choice { border: 0; display: grid; gap: 8px; }
.gift__choice legend { margin-bottom: 6px; padding: 0; font-size: 14px; font-weight: 600; }
.gift__choice label { display: flex; align-items: center; gap: 12px; padding: 13px 14px; border-radius: 8px; border: 1.5px solid rgba(42, 32, 24, .2); background: var(--card); font-size: 16px; cursor: pointer; transition: border-color 300ms var(--ease); }
.gift__choice label:has(input:checked) { border-color: var(--honey); }
.gift__choice[aria-invalid="true"] label { border-color: var(--brick); }
.gift__choice input { width: 18px; height: 18px; accent-color: var(--brick); }
.gift__info { margin-top: 18px; padding: 14px 16px; border-radius: 8px; background: var(--card); font-size: 15px; line-height: 1.55; color: var(--muted); }
.gift__info a, .gift__sample a { color: var(--brick); text-underline-offset: 3px; }
.gift__sample { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 15px; line-height: 1.6; color: var(--muted); }
.gift__back { margin-top: 28px; }

@media (max-width: 640px) {
	.gift { padding-top: 16px; min-height: 0; justify-items: stretch; }
	.gift__lead { font-size: 17px; }
}
