.gcn-form { background: var(--paper,#fffefa); border: 1px solid var(--ink,#15231d); border-radius: 8px; padding: 26px; }
.gcn-form > label:first-child { display: block; font-size: 12px; font-weight: 800; margin-bottom: 8px; }
.gcn-row { display: grid; gap: 10px; grid-template-columns: minmax(0,1fr) auto; }
.gcn-row input { border: 1px solid #b9c1bc; border-radius: 5px; min-height: 48px; padding: 0 14px; width: 100%; }
.gcn-row button { background: var(--green,#1f5b43); border: 0; border-radius: 5px; color: #fff; cursor: pointer; font-weight: 800; padding: 0 18px; }
.gcn-row button:disabled { cursor: wait; opacity: .65; }
.gcn-consent { align-items: flex-start; display: flex; font-size: 11px; gap: 9px; line-height: 1.5; margin-top: 14px; }
.gcn-consent input { margin-top: 3px; }
.gcn-consent a { color: var(--green,#1f5b43); text-decoration: underline; }
.gcn-honeypot { height: 1px !important; left: -9999px !important; opacity: 0 !important; position: absolute !important; width: 1px !important; }
.gcn-status { font-size: 12px; line-height: 1.5; margin: 12px 0 0; min-height: 18px; }
.gcn-status.is-success { color: #17633c; }
.gcn-status.is-error { color: #9f2424; }
.gcn-unavailable { background: var(--paper,#fffefa); border: 1px solid var(--ink,#15231d); border-radius: 8px; padding: 26px; }
.subscription-result { margin: 60px auto; max-width: 760px; padding: 44px; }
.subscription-result h2 { font-family: Georgia,"Times New Roman",serif; font-size: 42px; }
@media (max-width:650px) { .gcn-row { grid-template-columns:1fr; } .gcn-row button { min-height:48px; } }
