/* Davis Southern 3.3 — CF7 styling for the existing ds-form-grid markup.
 * Loaded last to override early generic form rules, without changing form tags,
 * ACF data, or the appearance of unrelated Contact Form 7 forms.
 * Based on the supplied Contact / Leasing reference design.
 */
.ds-cf7:has(.ds-form-grid){
    width:100%;min-width:0;margin-top:48px;color:#0F1A2E;
}
.ds-cf7:has(.ds-form-grid) .wpcf7,
.ds-cf7:has(.ds-form-grid) .wpcf7-form{
    width:100%;max-width:880px;min-width:0;
}
.ds-cf7:has(.ds-form-grid) .wpcf7-form{
    display:block!important;gap:0!important;margin:0!important;
    padding:0!important;border:2px solid #0F1A2E!important;
    border-radius:0!important;background:#fff!important;box-shadow:none!important;
}
/* CF7's automatic paragraph formatting can insert <p> and <br> wrappers around
   form tags. Neutralize that formatting inside this specific custom markup. */
.ds-cf7 .ds-form-grid, .ds-cf7 .ds-form-grid *{box-sizing:border-box}
.ds-cf7 .ds-form-grid{display:block;width:100%;min-width:0;font-family:'Archivo',Arial,sans-serif;container-type:inline-size}
.ds-cf7 .ds-form-grid p{margin:0!important;padding:0!important;line-height:inherit}
.ds-cf7 .ds-form-grid .ds-form-cell > br,
.ds-cf7 .ds-form-grid .ds-form-interest > br,
.ds-cf7 .ds-form-grid .ds-form-submit > br{display:none!important}
.ds-cf7:has(.ds-form-grid) .wpcf7-form > p{margin:0!important;padding:0!important}
.ds-cf7:has(.ds-form-grid) .wpcf7-form > p:empty{display:none}
/* Equal-height bordered cells, with ONE separator line per row. */
.ds-cf7 .ds-form-grid .ds-form-row{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0!important;width:100%;min-width:0;margin:0!important;
    border:0!important;border-bottom:2px solid #0F1A2E!important;
}
.ds-cf7 .ds-form-grid .ds-form-cell{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;
    justify-content:flex-start;gap:10px!important;min-width:0;
    padding:26px 32px!important;margin:0!important;
    border:0!important;border-right:2px solid #0F1A2E!important;
    border-radius:0!important;background:#fff;
}
.ds-cf7 .ds-form-grid .ds-form-row > .ds-form-cell:last-child{border-right:0!important}
.ds-cf7 .ds-form-grid .ds-form-cell--full{
    grid-column:1 / -1!important;border:0!important;
}
.ds-cf7 .ds-form-grid .ds-form-cell > label,
.ds-cf7 .ds-form-grid .ds-form-interest legend{
    display:block!important;width:auto;margin:0!important;padding:0!important;
    font:600 11px/1.5 'Archivo',Arial,sans-serif!important;
    letter-spacing:.18em!important;text-transform:uppercase;color:#0F1A2E;
}
.ds-cf7 .ds-form-grid .ds-form-required{color:#B98D2E!important}
.ds-cf7 .ds-form-grid .ds-form-cell > .wpcf7-form-control-wrap,
.ds-cf7 .ds-form-grid .ds-form-cell > p,
.ds-cf7 .ds-form-grid .ds-form-cell p > .wpcf7-form-control-wrap{
    display:block!important;width:100%!important;max-width:none!important;
    min-width:0!important;flex:1 1 auto;margin:0!important;
}
.ds-cf7 .ds-form-grid .ds-form-cell :is(input[type="text"],input[type="email"],input[type="tel"],textarea){
    -webkit-appearance:none!important;appearance:none!important;
    display:block!important;width:100%!important;max-width:none!important;
    min-width:0!important;margin:0!important;
    border:0!important;border-bottom:2px solid rgba(15,26,46,.22)!important;
    border-radius:0!important;background:transparent!important;
    padding:8px 0!important;min-height:41px;
    color:#0F1A2E!important;font:300 17px/1.6 'Archivo',Arial,sans-serif!important;
    letter-spacing:0!important;outline:0!important;box-shadow:none!important;
    transition:border-color .16s ease;
}
.ds-cf7 .ds-form-grid .ds-form-cell :is(input,textarea)::placeholder{
    color:#687284!important;opacity:1;font-weight:300;
}
.ds-cf7 .ds-form-grid .ds-form-cell :is(input,textarea):focus{
    border-bottom-color:#B98D2E!important;outline:2px solid transparent!important;
}
.ds-cf7 .ds-form-grid .ds-form-cell textarea{
    min-height:155px!important;resize:vertical;line-height:1.6!important;
}
/* CF7 fieldset + radio markup: labels remain keyboard-accessible, while the
   buttons look like the four outlined choices in the HTML reference. */
.ds-cf7 .ds-form-grid .ds-form-interest{
    display:block;min-width:0;width:100%;margin:0!important;
    padding:26px 32px 30px!important;border:0!important;
    border-bottom:2px solid #0F1A2E!important;border-radius:0;
}
.ds-cf7 .ds-form-grid .ds-form-interest legend{
    float:left!important;width:100%!important;margin-bottom:16px!important;
}
.ds-cf7 .ds-form-grid .ds-form-interest > .wpcf7-form-control-wrap,
.ds-cf7 .ds-form-grid .ds-form-interest > p{
    display:block!important;clear:both!important;width:100%;margin:0!important;
}
.ds-cf7 .ds-form-grid .ds-form-interest > p > .wpcf7-form-control-wrap{display:block;clear:both}
.ds-cf7 .ds-form-grid .ds-interest-options.wpcf7-radio{
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));
    width:100%!important;max-width:none!important;min-width:0;
    margin:0!important;padding:0!important;list-style:none;
    border:2px solid #0F1A2E!important;
}
.ds-cf7 .ds-form-grid .ds-interest-options .wpcf7-list-item{
    display:block!important;min-width:0;margin:0!important;
    padding:0!important;border:0!important;
    border-right:2px solid #0F1A2E!important;
}
.ds-cf7 .ds-form-grid .ds-interest-options .wpcf7-list-item:last-child{border-right:0!important}
.ds-cf7 .ds-form-grid .ds-interest-options .wpcf7-list-item > label{
    position:relative;display:block!important;height:100%;min-width:0;
    margin:0!important;padding:0!important;cursor:pointer;
}
.ds-cf7 .ds-form-grid .ds-interest-options .wpcf7-list-item input[type="radio"]{
    position:absolute!important;opacity:0!important;
    width:1px!important;height:1px!important;margin:0!important;
    border:0!important;clip-path:inset(50%);
}
.ds-cf7 .ds-form-grid .ds-interest-options .wpcf7-list-item-label{
    display:flex!important;align-items:center;justify-content:flex-start;
    width:100%;height:100%;min-height:66px;padding:16px!important;
    font:600 12px/1.4 'Archivo',Arial,sans-serif!important;
    letter-spacing:.08em!important;text-transform:uppercase;
    color:#0F1A2E!important;background:transparent;
    overflow-wrap:break-word;transition:background .15s,color .15s;
}
.ds-cf7 .ds-form-grid .ds-interest-options .wpcf7-list-item input[type="radio"]:checked + .wpcf7-list-item-label{
    background:#0F1A2E!important;color:#fff!important;
}
.ds-cf7 .ds-form-grid .ds-interest-options .wpcf7-list-item input[type="radio"]:focus-visible + .wpcf7-list-item-label{
    outline:3px solid #B98D2E!important;outline-offset:-3px!important;
}
.ds-cf7 .ds-form-grid .ds-interest-options .wpcf7-list-item:hover .wpcf7-list-item-label{
    background:#F4F3F1;
}
/* Submit: CF7 sometimes puts the input and spinner into an extra paragraph. */
.ds-cf7 .ds-form-grid .ds-form-submit{
    display:flex!important;align-items:center!important;
    justify-content:space-between!important;flex-wrap:wrap!important;
    gap:16px 24px!important;width:100%;min-height:100px;
    margin:0!important;padding:24px 32px!important;
}
.ds-cf7 .ds-form-grid .ds-form-submit small{
    display:inline-block;flex:0 0 auto;
    color:#5A6376!important;font:600 11px/1.5 'Archivo',Arial,sans-serif!important;
    text-transform:uppercase;letter-spacing:.16em;
}
.ds-cf7 .ds-form-grid .ds-form-submit > p{
    display:flex;align-items:center;margin-left:auto!important;
}
.ds-cf7 .ds-form-grid .ds-form-submit input.wpcf7-submit{
    -webkit-appearance:none!important;appearance:none!important;
    display:inline-block!important;flex:0 0 auto;
    width:auto!important;min-width:240px;max-width:100%;
    margin:0 0 0 auto!important;padding:20px 24px!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;
    background:#0F1A2E!important;color:#fff!important;
    font:600 12px/1.4 'Archivo',Arial,sans-serif!important;
    letter-spacing:.16em!important;text-align:left!important;text-transform:uppercase;
    cursor:pointer;transition:background .15s;
}
.ds-cf7 .ds-form-grid .ds-form-submit input.wpcf7-submit:hover,
.ds-cf7 .ds-form-grid .ds-form-submit input.wpcf7-submit:focus-visible{
    background:#B98D2E!important;
}
.ds-cf7 .ds-form-grid .ds-form-submit .wpcf7-spinner{margin:0 0 0 8px!important}
.ds-cf7 .ds-form-grid .wpcf7-not-valid-tip{
    display:block;color:#a02824;font-size:12px;margin-top:7px;
}
.ds-cf7:has(.ds-form-grid) .wpcf7-response-output{
    margin:0!important;border-width:1px!important;
    padding:16px 32px!important;font-size:14px;
}
/* Container queries reflect actual form width, not whole page width.
   Browsers without container-query support also receive viewport fallbacks. */
@container (max-width:730px){
    .ds-cf7 .ds-form-grid .ds-interest-options.wpcf7-radio{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ds-cf7 .ds-form-grid .ds-interest-options .wpcf7-list-item:nth-child(2){border-right:0!important}
    .ds-cf7 .ds-form-grid .ds-interest-options .wpcf7-list-item:nth-child(-n+2){border-bottom:2px solid #0F1A2E!important}
}
@container (max-width:480px){
    .ds-cf7 .ds-form-grid .ds-form-row{grid-template-columns:minmax(0,1fr)}
    .ds-cf7 .ds-form-grid .ds-form-cell{padding:22px 20px!important;border-right:0!important}
    .ds-cf7 .ds-form-grid .ds-form-row .ds-form-cell:not(:last-child){border-bottom:2px solid #0F1A2E!important}
    .ds-cf7 .ds-form-grid .ds-form-interest{padding:22px 20px 26px!important}
    .ds-cf7 .ds-form-grid .ds-form-submit{padding:20px!important}
    .ds-cf7 .ds-form-grid .ds-form-submit input.wpcf7-submit{min-width:0;width:100%!important}
    .ds-cf7 .ds-form-grid .ds-form-submit > p{width:100%}
}
@media (max-width:520px){
    .ds-cf7:has(.ds-form-grid){margin-top:32px}
    .ds-cf7 .ds-form-grid .ds-interest-options.wpcf7-radio{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ds-cf7 .ds-form-grid .ds-interest-options .wpcf7-list-item:nth-child(2){border-right:0!important}
    .ds-cf7 .ds-form-grid .ds-interest-options .wpcf7-list-item:nth-child(-n+2){border-bottom:2px solid #0F1A2E!important}
}
@media (prefers-reduced-motion:reduce){
    .ds-cf7 .ds-form-grid input,.ds-cf7 .ds-form-grid .wpcf7-list-item-label{transition:none!important}
}
