.gp-signup, .gp-signup * { box-sizing: border-box; }
.gp-signup { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 64px; align-items: start; }
.gp-signup__intro, .gp-signup__form { min-width: 0; }
.gp-signup h2 { margin: 0 0 12px; font-size: clamp(24px, 3vw, 32px); line-height: 1.2; color: inherit; }
.gp-signup p { margin: 0; line-height: 1.65; }
.gp-signup--newsletter { padding-bottom: 40px; margin-bottom: 40px; border-bottom: 1px solid #ffffff66; color: #fff; }
.gp-signup--stock { padding: clamp(24px, 4vw, 48px); margin: 40px 0; border: 1px solid #39B54A; border-radius: 16px; background: #fff; color: #000; }
.gp-signup--stock h2 { color: #39B54A; }
.gp-signup__label { display: block; margin-bottom: 8px; font-weight: 600; font-size: 14px; }
.gp-signup__row { display: flex; gap: 12px; }
.gp-signup .gp-signup__row input { min-width: 0; width: 100%; flex: 1; border: 1px solid #39B54A; border-radius: 8px; padding: 13px 14px; background: #fff; color: #39B54A; font: inherit; font-size: 16px; }
.gp-signup__row input::placeholder { color: #39B54A; opacity: 1; }
.gp-signup__row .gp-button { flex-shrink: 0; margin: 0; border: 0; background: #39B54A; color: #fff; cursor: pointer; }
.gp-signup--newsletter .gp-button { background: #fff; color: #39B54A; }
.gp-signup .gp-signup__row .gp-button:hover { background: #39B54A; color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.gp-signup--newsletter .gp-signup__row .gp-button:hover { background: #fff; color: #39B54A; }
.gp-signup__row .gp-button:disabled { opacity: .7; cursor: wait; }
.gp-signup .gp-signup__consent { display: flex; flex-direction: row; align-items: start; gap: 10px; margin-top: 14px; font-size: 13px; font-weight: 400; line-height: 1.6; cursor: pointer; }
.gp-signup .gp-signup__consent input { flex: 0 0 18px; width: 18px; min-width: 18px; height: 18px; min-height: 18px; padding: 0; margin: 2px 0 0; accent-color: #39B54A; }
.gp-signup .gp-signup__privacy { margin-top: 8px; font-size: 13px; }
.gp-signup__privacy a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.gp-signup .gp-signup__status:not(:empty) { margin-top: 12px; padding: 12px; border-radius: 8px; background: #fff; color: #39B54A; font-size: 14px; }
.gp-signup--stock .gp-signup__status:not(:empty) { color: #000; }
.gp-signup .gp-signup__form :is(input, button, a):focus-visible { outline: 3px solid #39B54A; outline-offset: 3px; }
.gp-signup--newsletter .gp-signup__form :is(input, button, a):focus-visible { outline-color: #fff; }
.gp-signup__trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 800px) { .gp-signup { grid-template-columns: 1fr; gap: 24px; } }
@media (max-width: 480px) { .gp-signup__row { flex-direction: column; } .gp-signup__row .gp-button { width: 100%; } }
