/* DentaVista — Contact Form 7 widget */
.dv-cf7__grid {
    display: grid;
    grid-template-columns: 1fr 1.05fr;
    gap: clamp(32px, 5vw, 70px);
    align-items: start;
}
.dv-cf7__details {
    list-style: none;
    margin: 30px 0 0;
    padding: 0;
    display: grid;
    gap: 18px;
}
.dv-cf7__details li { display: flex; flex-direction: column; gap: 3px; }
.dv-cf7__dt {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--dv-teal-600);
}
.dv-cf7__details a { color: var(--dv-navy); font-weight: 600; text-decoration: none; }
.dv-cf7__details a:hover { color: var(--dv-teal-600); }
.dv-cf7__form { padding: clamp(26px, 3vw, 40px); }
.dv-cf7__form-title {
    font-family: var(--dv-font-head);
    font-weight: 700;
    font-size: 1.4rem;
    color: var(--dv-navy);
    margin: 0 0 20px;
}
.dv-cf7__empty { color: var(--dv-muted); }

/* Style the CF7 markup to match the design system */
.dv-cf7__form .wpcf7-form p { margin: 0 0 16px; }
.dv-cf7__form .wpcf7-form p.dv-f2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
@media (max-width: 480px) { .dv-cf7__form .wpcf7-form p.dv-f2 { grid-template-columns: 1fr; } }
.dv-cf7__form label { display: block; font-weight: 600; color: var(--dv-navy); font-size: 14px; margin-bottom: 7px; }
.dv-cf7__form .wpcf7-form-control-wrap { display: block; }
.dv-cf7__form input[type="text"],
.dv-cf7__form input[type="email"],
.dv-cf7__form input[type="tel"],
.dv-cf7__form input[type="date"],
.dv-cf7__form select,
.dv-cf7__form textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1.5px solid var(--dv-line);
    border-radius: var(--dv-radius-sm);
    font-family: var(--dv-font-body);
    font-size: 15px;
    color: var(--dv-ink);
    background: #fff;
    transition: border-color .25s var(--dv-ease), box-shadow .25s var(--dv-ease);
    box-sizing: border-box;
}
.dv-cf7__form input:focus,
.dv-cf7__form select:focus,
.dv-cf7__form textarea:focus {
    outline: none;
    border-color: var(--dv-teal);
    box-shadow: 0 0 0 4px var(--dv-teal-050);
}
.dv-cf7__form textarea { min-height: 130px; resize: vertical; }
.dv-cf7__form .wpcf7-submit {
    width: 100%;
    padding: 16px 30px;
    background: var(--dv-teal-600);
    color: #fff;
    border: 0;
    border-radius: var(--dv-radius-pill);
    font-family: var(--dv-font-body);
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    box-shadow: 0 16px 34px -12px rgba(63, 160, 206, .5);
    transition: transform .3s var(--dv-spring), background .3s var(--dv-ease);
}
.dv-cf7__form .wpcf7-submit:hover { transform: translateY(-3px); background: var(--dv-teal); }
.dv-cf7__form .wpcf7-not-valid-tip { color: #d23b3b; font-size: 13px; font-weight: 500; }
.dv-cf7__form .wpcf7-response-output {
    margin: 14px 0 0;
    padding: 12px 16px;
    border-radius: var(--dv-radius-sm);
    font-size: 14px;
}
@media (max-width: 860px) {
    .dv-cf7__grid { grid-template-columns: 1fr; }
}
