/* DentaVista — dc-pricing widget styles */
.dv-pricing { background: var(--dv-white); }
                .dv-pricing__blob { width: 520px; height: 520px; top: -180px; left: 50%; transform: translateX(-50%); background: rgba(91, 182, 223,.12); }
                .dv-pricing__head { position: relative; z-index: 1; max-width: 760px; margin: 0 auto clamp(28px, 3vw, 40px); }
                .dv-pricing__title { margin-bottom: 16px; }

                .dv-pricing__tabs { position: relative; z-index: 1; }

                /* ---- Toggle ---- */
                .dv-pricing__toggle {
                    display: flex; gap: 4px; margin: 0 auto clamp(28px, 4vw, 44px);
                    padding: 5px; border-radius: var(--dv-radius-pill);
                    background: var(--dv-mint); border: 1px solid var(--dv-line);
                    width: max-content; max-width: 100%;
                }
                .dv-pricing__toggle-btn {
                    appearance: none; cursor: pointer; border: none;
                    min-height: 44px; padding: 0 24px; border-radius: var(--dv-radius-pill);
                    font-family: var(--dv-font-body); font-size: 14.5px; font-weight: 700;
                    color: var(--dv-navy); background: transparent; white-space: nowrap;
                    transition: background .25s var(--dv-ease), color .25s var(--dv-ease), box-shadow .25s var(--dv-ease);
                }
                .dv-pricing__toggle-btn:hover { color: var(--dv-teal-600); }
                .dv-pricing__toggle-btn.is-active {
                    background: var(--dv-teal-600); color: #fff;
                    box-shadow: 0 12px 26px -12px rgba(63, 160, 206,.6);
                }
                .dv-pricing__toggle-btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(91, 182, 223,.55); }

                .dv-pricing__grid {
                    display: grid; grid-template-columns: repeat(3, 1fr);
                    gap: clamp(18px, 2vw, 28px); align-items: stretch;
                }
                .dv-pricing__card {
                    position: relative; display: flex; flex-direction: column;
                    padding: clamp(26px, 2.6vw, 38px);
                    transition: transform .45s var(--dv-spring), box-shadow .45s var(--dv-ease), border-color .3s var(--dv-ease);
                }
                .dv-pricing__card:hover { transform: translateY(-8px); box-shadow: var(--dv-shadow); }
                .dv-pricing__card.is-featured {
                    border: 2px solid var(--dv-teal-600);
                    box-shadow: var(--dv-shadow); transform: scale(1.04); z-index: 2;
                    background: var(--dv-white);
                }
                .dv-pricing__card.is-featured:hover { transform: scale(1.04) translateY(-8px); }

                .dv-pricing__badge {
                    position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
                    padding: 7px 18px; border-radius: var(--dv-radius-pill);
                    font-size: 12.5px; font-weight: 700; letter-spacing: .03em; color: #fff;
                    background: var(--dv-teal-600);
                    box-shadow: 0 14px 26px -12px rgba(63, 160, 206, .7); white-space: nowrap;
                }
                .dv-pricing__name { font-family: var(--dv-font-head); font-weight: 700; font-size: 1.3rem; color: var(--dv-navy); margin: 0 0 14px; }

                /* Two price panels per card — only the active toggle shows. */
                .dv-pricing__price { display: none; flex-direction: column; gap: 2px; margin-bottom: 16px; }
                .dv-pricing__price.is-active { display: flex; animation: dvPriceIn .35s var(--dv-ease); }
                @keyframes dvPriceIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
                .dv-pricing__price-value {
                    font-family: var(--dv-font-head); font-weight: 800; line-height: 1.05;
                    font-size: clamp(1.7rem, 2.6vw, 2.2rem);
                    color: var(--dv-teal-600);
                }
                .dv-pricing__price-note { font-size: 13px; font-weight: 600; color: var(--dv-muted); }
                .dv-pricing__desc { color: var(--dv-muted); font-size: 15px; line-height: 1.55; margin: 0 0 22px; }

                .dv-pricing__features { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 13px; }
                .dv-pricing__features li { display: flex; align-items: flex-start; gap: 11px; font-size: 14.5px; font-weight: 600; color: var(--dv-navy-700); }
                .dv-pricing__feat-icon {
                    width: 22px; height: 22px; flex: none; padding: 4px; border-radius: 50%; color: #fff;
                    background: var(--dv-teal-600);
                }
                .dv-pricing__feat-icon svg { width: 100%; height: 100%; display: block; }

                .dv-pricing__btn { width: 100%; min-height: 44px; margin-top: auto; }
                .dv-pricing__btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(91, 182, 223,.55); }

                .dv-pricing__reassurance {
                    position: relative; z-index: 1;
                    display: flex; align-items: center; justify-content: center; gap: 11px;
                    margin: clamp(36px, 4vw, 52px) auto 0; max-width: 640px; text-align: center;
                    color: var(--dv-muted); font-size: 14.5px; line-height: 1.55;
                }
                .dv-pricing__reassurance svg { width: 22px; height: 22px; flex: none; color: var(--dv-teal-600); }

                @media (max-width: 980px) {
                    .dv-pricing__grid { grid-template-columns: 1fr; max-width: 460px; margin-inline: auto; gap: 26px; }
                    .dv-pricing__card.is-featured { transform: none; }
                    .dv-pricing__card.is-featured:hover { transform: translateY(-8px); }
                }
                @media (max-width: 600px) {
                    .dv-pricing__card { padding: 24px; }
                    .dv-pricing__toggle-btn { padding: 0 18px; font-size: 13.5px; }
                    .dv-pricing__reassurance { flex-direction: column; gap: 8px; }
                }
                @media (prefers-reduced-motion: reduce) {
                    .dv-pricing__price.is-active { animation: none; }
                }
