/* DentaVista — dc-contact widget styles */
.dv-contact { background: #fff; }
                .dv-contact__blob--a { width: 460px; height: 460px; top: -160px; right: -140px; background: rgba(91, 182, 223,.16); }
                .dv-contact__blob--b { width: 360px; height: 360px; bottom: -160px; left: -120px; background: rgba(31, 42, 51,.05); }

                .dv-contact__inner {
                    position: relative; z-index: 1;
                    display: grid; grid-template-columns: 1fr 1fr;
                    gap: clamp(32px, 5vw, 72px); align-items: center;
                }
                .dv-contact__title { margin-bottom: 16px; }
                .dv-contact__lead { margin-bottom: 32px; }

                .dv-contact__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
                .dv-contact__link {
                    display: flex; align-items: center; gap: 16px;
                    min-height: 60px;
                    padding: 14px 18px; border-radius: var(--dv-radius-sm);
                    border: 1px solid var(--dv-line); background: #fff;
                    text-decoration: none; color: inherit;
                    transition: transform .3s var(--dv-ease), box-shadow .3s var(--dv-ease), border-color .3s var(--dv-ease);
                }
                a.dv-contact__link:hover {
                    transform: translateY(-3px);
                    box-shadow: var(--dv-shadow-sm);
                    border-color: rgba(91, 182, 223,.4);
                }
                a.dv-contact__link:focus-visible {
                    outline: none; box-shadow: 0 0 0 3px rgba(91, 182, 223,.55);
                    border-color: rgba(91, 182, 223,.5);
                }
                .dv-contact__link--static { cursor: default; }
                .dv-contact__tile {
                    width: 46px; height: 46px; flex: none; border-radius: 12px;
                    display: grid; place-items: center; color: #fff;
                    background: var(--dv-teal-600);
                }
                .dv-contact__tile svg { width: 22px; height: 22px; }
                .dv-contact__meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
                .dv-contact__label { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--dv-teal-600); }
                .dv-contact__value { font-size: 15.5px; font-weight: 600; color: var(--dv-navy); word-break: break-word; }
                .dv-contact__arrow {
                    width: 18px; height: 18px; margin-left: auto; flex: none; color: var(--dv-muted);
                    opacity: 0; transform: translateX(-6px);
                    transition: opacity .3s var(--dv-ease), transform .3s var(--dv-ease), color .3s var(--dv-ease);
                }
                a.dv-contact__link:hover .dv-contact__arrow,
                a.dv-contact__link:focus-visible .dv-contact__arrow { opacity: 1; transform: none; color: var(--dv-teal-600); }

                /* ---- Form card ---- */
                .dv-contact__card { padding: clamp(24px, 3vw, 38px); }
                .dv-contact__form-head { margin-bottom: 22px; }
                .dv-contact__form-title {
                    font-family: var(--dv-font-head); font-weight: 800; color: var(--dv-navy);
                    font-size: clamp(1.3rem, 2vw, 1.6rem); margin: 0;
                }
                .dv-contact__form-intro {
                    display: inline-flex; align-items: center; gap: 8px;
                    margin: 10px 0 0; font-size: 13.5px; font-weight: 600; color: var(--dv-teal-600);
                }
                .dv-contact__form-intro svg { width: 16px; height: 16px; flex: none; }

                /* ---- Contact Form 7 in the card (same look as the old static form) ---- */
                .dv-contact__cf7 .wpcf7-form { display: grid; gap: 18px; }
                .dv-contact__cf7 .wpcf7-form p { margin: 0; }
                .dv-contact__cf7 .wpcf7-form p.dv-f2 {
                    display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
                }
                .dv-contact__cf7 label {
                    display: block; font-size: 14px; font-weight: 600; color: var(--dv-navy);
                }
                .dv-contact__cf7 .wpcf7-form-control-wrap { display: block; margin-top: 7px; }
                .dv-contact__cf7 input[type="text"],
                .dv-contact__cf7 input[type="email"],
                .dv-contact__cf7 input[type="tel"],
                .dv-contact__cf7 select,
                .dv-contact__cf7 textarea {
                    width: 100%; min-height: 52px;
                    font-family: var(--dv-font-body); font-size: 15px;
                    color: var(--dv-ink); background: var(--dv-mint);
                    border: 1.5px solid var(--dv-line); border-radius: 12px;
                    padding: 14px 16px; line-height: 1.4; resize: vertical;
                    box-sizing: border-box;
                    transition: border-color .25s var(--dv-ease), background .25s var(--dv-ease), box-shadow .25s var(--dv-ease);
                }
                .dv-contact__cf7 textarea { min-height: 120px; }
                .dv-contact__cf7 input:focus,
                .dv-contact__cf7 select:focus,
                .dv-contact__cf7 textarea:focus {
                    outline: none; background: #fff;
                    border-color: var(--dv-teal);
                    box-shadow: 0 0 0 3px rgba(91, 182, 223,.55);
                }

                /* Reason radios as chips */
                .dv-contact__cf7 fieldset.dv-reasons { border: 0; margin: 0; padding: 0; min-width: 0; }
                .dv-contact__cf7 .dv-reasons legend {
                    padding: 0; margin: 0 0 10px;
                    font-size: 12px; font-weight: 700; letter-spacing: .1em;
                    text-transform: uppercase; color: var(--dv-teal-600);
                }
                .dv-contact__cf7 .wpcf7-radio { display: flex; flex-wrap: wrap; gap: 10px; }
                .dv-contact__cf7 .wpcf7-radio .wpcf7-list-item { margin: 0; }
                .dv-contact__cf7 .wpcf7-radio label { display: inline-flex; margin: 0; cursor: pointer; }
                .dv-contact__cf7 .wpcf7-radio input {
                    position: absolute; width: 1px; height: 1px;
                    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
                }
                .dv-contact__cf7 .wpcf7-radio .wpcf7-list-item-label {
                    display: inline-flex; align-items: center; min-height: 44px;
                    padding: 10px 18px; border-radius: var(--dv-radius-pill);
                    font-size: 14px; font-weight: 600; color: var(--dv-navy);
                    background: var(--dv-mint); border: 1.5px solid var(--dv-line);
                    transition: background .2s var(--dv-ease), color .2s var(--dv-ease), border-color .2s var(--dv-ease), transform .2s var(--dv-ease);
                }
                .dv-contact__cf7 .wpcf7-radio .wpcf7-list-item-label:hover { border-color: rgba(91, 182, 223,.5); transform: translateY(-2px); }
                .dv-contact__cf7 .wpcf7-radio input:checked + .wpcf7-list-item-label {
                    background: var(--dv-teal-600); color: #fff; border-color: var(--dv-teal-600);
                }
                .dv-contact__cf7 .wpcf7-radio input:focus-visible + .wpcf7-list-item-label {
                    outline: none; box-shadow: 0 0 0 3px rgba(91, 182, 223,.55);
                }

                /* Submit + feedback */
                .dv-contact__cf7 .wpcf7-submit {
                    margin-top: 4px; width: 100%; min-height: 52px;
                    padding: 14px 28px; border: 0; cursor: pointer;
                    background: var(--dv-teal-600); color: #fff;
                    border-radius: var(--dv-radius-pill);
                    font-family: var(--dv-font-body); font-weight: 700; font-size: 15px;
                    box-shadow: 0 16px 34px -12px rgba(63, 160, 206, .5);
                    transition: transform .3s var(--dv-spring), background .3s var(--dv-ease);
                }
                .dv-contact__cf7 .wpcf7-submit:hover { transform: translateY(-3px); background: var(--dv-teal); }
                .dv-contact__cf7 .wpcf7-submit:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(91, 182, 223,.55); }
                .dv-contact__cf7 .wpcf7-not-valid-tip { margin-top: 6px; color: #d23b3b; font-size: 13px; font-weight: 500; }
                .dv-contact__cf7 .wpcf7-response-output {
                    margin: 0; padding: 12px 16px;
                    border-radius: 12px; font-size: 14px;
                }
                .dv-contact__empty { color: var(--dv-muted); margin: 0; }
                .dv-contact__cf7 { margin-bottom: 14px; }

                .dv-contact__note {
                    display: inline-flex; align-items: center; gap: 8px;
                    margin: 0; font-size: 12.5px; color: var(--dv-muted);
                }
                .dv-contact__note svg { width: 15px; height: 15px; flex: none; color: var(--dv-teal-600); }

                @media (max-width: 980px) {
                    .dv-contact__inner { grid-template-columns: 1fr; }
                    .dv-contact__card { max-width: 560px; }
                }
                @media (max-width: 600px) {
                    .dv-contact__cf7 .wpcf7-form p.dv-f2 { grid-template-columns: 1fr; }
                }
                @media (prefers-reduced-motion: reduce) {
                    .dv-contact * { transition: none !important; }
                }
