/* Explicit geometry only: untouched sites retain every preset's original radius.
   Admin controls are excluded; editor site previews inherit the same tokens. */
:is([style*="--site-button-radius:"]) :is(.site-button, .hero-btn, .cta-block__button, .designer-action, .designer-block .action, .themed-design .action, .fullbleed-design .action, .admin-catalog-card__button, .admin-services-card__button, .admin-service-row__button, .admin-service-price-row__button, .admin-cta-button):not(.circle-action, .round-action, .text-button, .bento-link) {
    border-radius: var(--site-button-radius) !important;
}
:is([style*="--site-field-radius:"] :is(.site-section, .hero-block, .cta-block, .admin-lead-form-preview), :is(.site-section, .hero-block, .cta-block, .admin-lead-form-preview)[style*="--site-field-radius:"]) :is(input:not([type]), input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="search"], input[type="number"], input[type="password"], input[type="date"], input[type="time"], input[type="datetime-local"], textarea, select) {
    border-radius: var(--site-field-radius) !important;
}

/* Focus does not replace colors, error states, layout or designer hover effects. */
:is(.site-section, .hero-block, .cta-block) :is(a[href], button, input, textarea, select):focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}
@media (hover: hover) {
    .site-section:not(.designer-block) a:not(.site-button):hover { text-decoration-thickness: 2px; text-underline-offset: .18em; }
    .site-section:not(.designer-block) a:has(> img):hover { filter: brightness(.96); }
}

/* Explicit allowlist: ordinary card shells only. Inner photos, avatars, controls,
   list/timeline variants, Hero/CTA art and admin chrome retain their own geometry. */
[style*="--site-card-radius:"] :is(
    .faq-style-card .faq-item,
    .admin-faq-style-card .admin-faq-item,
    .contacts-style-card .contacts-list,
    .admin-contacts-style-card .admin-contacts-list,
    .lead-form-box,
    .services-display-cards .service-card,
    .admin-services-display-cards .admin-services-card,
    .features-layout-cards .feature-card,
    .features-layout-compact .feature-card,
    .features-layout-cards .admin-features-card,
    .features-layout-compact .admin-features-card,
    .team-style-cards .team-item,
    .team-style-compact_cards .team-item,
    .admin-team-style-cards .admin-team-item,
    .admin-team-style-compact_cards .admin-team-item,
    .testimonials-style-cards .testimonials-item,
    .testimonials-style-cards_top .testimonials-item,
    .testimonials-style-slider .testimonials-item,
    .admin-testimonials-style-cards .admin-testimonials-item,
    .admin-testimonials-style-cards_top .admin-testimonials-item,
    .admin-testimonials-style-slider .admin-testimonials-item,
    .catalog-block__card,
    .admin-catalog-card,
    .steps-style-cards .steps-item,
    .admin-steps-style-cards .admin-steps-item
) { border-radius: var(--site-card-radius) !important; }
