
.sdv3-newsletter-embed form,
.sdv3-contact-form,
.sdv3-contact-form-wrap form{
    display:flex;
    flex-direction:column;
    gap:1rem;
}
.sdv3-newsletter-embed form > div:first-child{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
}
.sdv3-newsletter-embed label,
.sdv3-contact-form label,
.sdv3-contact-form-wrap label{
    display:block;
    font-size:.9rem;
    font-weight:600;
    color:var(--sdv3-deep);
    margin-bottom:.4rem;
}
.sdv3-newsletter-embed input,
.sdv3-newsletter-embed textarea,
.sdv3-newsletter-embed select,
.sdv3-contact-form input,
.sdv3-contact-form textarea,
.sdv3-contact-form select,
.sdv3-contact-form-wrap input,
.sdv3-contact-form-wrap textarea,
.sdv3-contact-form-wrap select{
    width:100%;
    border:1px solid rgba(220,205,191,.95);
    background:rgba(255,255,255,.88);
    color:var(--sdv3-text);
    border-radius:16px;
    padding:1rem 1rem;
    font:inherit;
    outline:none;
    transition:border-color .2s ease, box-shadow .2s ease;
}
.sdv3-newsletter-section.style-deep .sdv3-newsletter-embed input,
.sdv3-newsletter-section.style-deep .sdv3-newsletter-embed textarea,
.sdv3-newsletter-section.style-deep .sdv3-newsletter-embed select{
    background:rgba(255,255,255,.93);
}
.sdv3-newsletter-embed input:focus,
.sdv3-newsletter-embed textarea:focus,
.sdv3-contact-form input:focus,
.sdv3-contact-form textarea:focus,
.sdv3-contact-form-wrap input:focus,
.sdv3-contact-form-wrap textarea:focus{
    border-color:rgba(185,120,78,.9);
    box-shadow:0 0 0 4px rgba(185,120,78,.12);
}
.sdv3-newsletter-embed button,
.sdv3-contact-form button,
.sdv3-contact-form-wrap button,
.sdv3-contact-form-wrap input[type="submit"],
.sdv3-newsletter-embed input[type="submit"]{
    appearance:none;
    border:0;
    border-radius:999px;
    background:var(--sdv3-accent);
    color:#fff;
    font:inherit;
    font-weight:700;
    padding:1rem 1.25rem;
    cursor:pointer;
    transition:transform .2s ease, background-color .2s ease;
}
.sdv3-newsletter-embed button:hover,
.sdv3-contact-form button:hover,
.sdv3-contact-form-wrap button:hover,
.sdv3-contact-form-wrap input[type="submit"]:hover,
.sdv3-newsletter-embed input[type="submit"]:hover{
    background:#a4633f;
    transform:translateY(-1px);
}
.sdv3-newsletter-embed div div > div:last-child{
    margin-top:.45rem;
    font-size:.84rem;
    color:rgba(46,43,41,.72);
}
.sdv3-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
}
@media (max-width: 680px){
    .sdv3-newsletter-embed form > div:first-child,
    .sdv3-form-grid{
        grid-template-columns:1fr;
    }
}


/* === V3.1 form refinement === */
.sdv3-newsletter-embed form{
    gap:.8rem;
}
.sdv3-newsletter-embed form > div:first-child{
    gap:1rem 1.2rem;
    align-items:start;
}
.sdv3-newsletter-embed label{
    margin-bottom:.35rem;
    font-size:.88rem;
    letter-spacing:.01em;
}
.sdv3-newsletter-embed input,
.sdv3-newsletter-embed textarea,
.sdv3-newsletter-embed select{
    min-height:52px;
    padding:.8rem .95rem;
    border-radius:18px;
    background:rgba(255,255,255,.86);
}
.sdv3-newsletter-embed button,
.sdv3-newsletter-embed input[type="submit"]{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    min-width:310px;
    padding:.98rem 1.5rem;
    margin-top:.25rem;
}
.sdv3-newsletter-embed form > div:last-child{
    display:flex;
    justify-content:flex-start;
}
.sdv3-newsletter-embed div div > div:last-child{
    margin-top:.55rem;
    max-width:26rem;
    line-height:1.5;
}
.sdv3-contact-form input,
.sdv3-contact-form textarea,
.sdv3-contact-form-wrap input,
.sdv3-contact-form-wrap textarea{
    min-height:52px;
}
.sdv3-contact-form textarea,
.sdv3-contact-form-wrap textarea{
    min-height:170px;
}

