/* Magazine and Zones: one shape choice, including inherited content components.
   Preserve circular play/status icons and the full-width navigation/section lines. */
body.template-2.template-3.variant-1 {
    --nn2-radius: 0px;
    --nn2-radius-lg: 0px;
    --nn2-radius-md: 0px;
    --nn2-radius-sm: 0px;
}
body.template-2.template-3.variant-2 {
    --nn2-radius: 18px;
    --nn2-radius-lg: 18px;
    --nn2-radius-md: 14px;
    --nn2-radius-sm: 10px;
}
body.template-3:is(.variant-1, .variant-2) :is(
    .nn3-card-image, .nn3-video-card > div, .nn3-card-hero,
    .nn3-dialog, .nn-reading-dialog, .nn3-player, .nn3-nav-children, .nn3-section
) { border-radius: var(--nn2-radius-lg) !important; }
body.template-3:is(.variant-1, .variant-2) :is(
    .nn3-button, .nn3-icon-button, .nn3-date-tile, .nn3-search-form input,
    .nn3-header-actions .nn3-tv-link, .nn3-header-actions .nn3-live-link,
    .nn3-dialog button, .nn-reading-dialog button, .nn-reading-dialog select,
    .nn-reading-dialog input:not([type="checkbox"]):not([type="radio"]),
    #cookie_banner button
) { border-radius: var(--nn2-radius-sm) !important; }
/* One outer edge on a coloured hero; no rounded image nested inside it. */
body.template-4:is(.variant-1, .variant-2) .nn3-front-stories .nn3-card-hero {
    overflow: hidden;
}
body.template-4:is(.variant-1, .variant-2) .nn3-card-hero .nn3-card-image {
    border-radius: 0 !important;
}
