/* Shared, provider-independent forms in the approved Retouch identity. */
.rt-signup { color:var(--wc-ink,#331512); font-family:"Jost",sans-serif; max-width:52rem; min-width:0; margin-inline:auto; margin-bottom:2rem; }
.rt-native .rt-signup { margin-bottom:2rem; }
.rt-signup [hidden] { display:none!important; }
.rt-signup h2 { font-family:"Cormorant Garamond",serif; font-weight:400; font-size:clamp(2.4rem,4vw,3.8rem); line-height:1.08; margin:0 0 1rem; text-wrap:balance; }
.rt-signup p { max-width:65ch; line-height:1.65; }
.rt-signup__mode { background:#EFEBEB; border-left:2px solid var(--wc-ink,#331512); font-size:.9rem; padding:1rem 1.2rem; margin:1.5rem 0 2rem; }
.rt-native .rt-signup .rt-signup__mode { margin:1.5rem 0 2rem; font-size:.9rem; }
.rt-signup form,.rt-signup fieldset { border:0; min-width:0; margin:0; padding:0; }
.rt-signup__fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.4rem 1.5rem; }
.rt-signup__field { min-width:0; }
.rt-signup__field input { scroll-margin-top:8rem; }
.rt-signup__field label { display:block; font-size:.94rem; font-weight:500; line-height:1.5; margin-bottom:.45rem; }
.rt-signup__field input { box-sizing:border-box; width:100%; min-width:0; min-height:52px; border:1px solid var(--wc-body,#554F4C); border-radius:0; padding:.75rem .9rem; background:var(--wc-paper,#F7F8F6); color:var(--wc-ink,#331512); font:400 1rem/1.5 "Jost",sans-serif; }
.rt-signup__field input::placeholder { color:var(--wc-body,#554F4C); opacity:1; }
.rt-signup__field input[aria-invalid="true"] { border-color:#8D3027; border-width:2px; padding:calc(.75rem - 1px) calc(.9rem - 1px); }
.rt-signup__consent { display:grid; grid-template-columns:1.4rem minmax(0,1fr); gap:.85rem; align-items:start; min-height:44px; margin:1.5rem 0 0; padding:.3rem 0; font-size:.94rem; line-height:1.6; cursor:pointer; }
.rt-signup__consent input { accent-color:var(--wc-ink,#331512); width:1.3rem; height:1.3rem; margin:.15rem 0 0; cursor:pointer; }
.rt-signup__consent span { min-width:0; }
.rt-signup__consent a,.rt-signup__mode a { color:inherit; text-decoration:underline; text-underline-offset:.2em; }
.rt-signup__error { color:#8D3027; font-size:.88rem; line-height:1.5; margin:.45rem 0 0; }
.rt-native .rt-signup .rt-signup__error { color:#8D3027; font-size:.88rem; margin:.45rem 0 0; }
.rt-signup__status { border-left:2px solid var(--wc-ink,#331512); background:#EFEBEB; padding:1rem 1.2rem; margin:1.5rem 0; font-size:.97rem; line-height:1.65; overflow-wrap:anywhere; scroll-margin-top:8rem; }
.rt-signup__status[data-state="error"] { border-left-color:#8D3027; }
.rt-signup__status[data-state="success"] { background:var(--wc-cool,#C7BEBE); }
.rt-signup__submit,.rt-signup [data-signup-reset] { display:inline-flex; align-items:center; justify-content:space-between; gap:1.75rem; box-sizing:border-box; min-height:52px; max-width:100%; margin-top:1.6rem; padding:.9rem 1.4rem; border:1px solid var(--wc-ink,#331512); border-radius:0; font:400 1rem/1.5 "Jost",sans-serif; color:var(--wc-paper,#F7F8F6); background:var(--wc-ink,#331512); text-align:left; cursor:pointer; transition:background-color .2s ease,transform .2s ease; }
.rt-signup [data-signup-reset] { background:transparent; color:var(--wc-ink,#331512); }
.rt-signup__submit:hover { background:var(--wc-body,#554F4C); }
.rt-signup [data-signup-reset]:hover { background:#EFEBEB; }
.rt-signup button:active { transform:translateY(1px); }
.rt-signup input:focus-visible,.rt-signup button:focus-visible,.rt-signup a:focus-visible,.rt-signup__status:focus { outline:2px solid var(--wc-ink,#331512); outline-offset:4px; }
.rt-signup button:disabled { cursor:not-allowed; opacity:.65; transform:none; }
.rt-signup input:disabled { opacity:.75; cursor:wait; }
.rt-signup__honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; padding:0!important; margin:-1px!important; border:0!important; }
@media (max-width:600px) {
    .rt-signup__fields { grid-template-columns:minmax(0,1fr); gap:1.2rem; }
    .rt-signup__submit,.rt-signup [data-signup-reset] { width:100%; }
    .rt-signup__mode,.rt-signup__status { padding:.9rem 1rem; }
}
@media (prefers-reduced-motion:reduce) { .rt-signup button { transition:none; } }
@media (forced-colors:active) { .rt-signup__status,.rt-signup__mode { border:1px solid CanvasText; } }
