/* Shared corner system, loaded last in WordPress and in the standalone preview. */
body.concept {
  --nj-radius-small: 10px;
  --nj-radius-control: 14px;
  --nj-radius-panel: 24px;
}

/* Full-width backgrounds meet continuously; only standalone surfaces curve. */
body.concept main > section,
body.concept .centre-welcome,
body.concept .site-header,
body.concept .site-footer,
body.concept .mobile-menu {
  border-radius: 0;
}
body.concept .mobile-booking {
  border-radius: var(--nj-radius-panel);
}

body.concept :is(button, [role='button'], .button, .header-cta, .closing-action, .skip-link, input, select, textarea) {
  border-radius: var(--nj-radius-control);
}
body.concept :is(article, dialog, .review-slot, .review-register, .review-readiness),
body.concept :is(.trust-certificate, .trust-operations, .trust-tv, .media-logos,
  .sl-lab, .benefits-invitation, .journey-transfer, .centre-visit-card,
  .centre-specifics, .trial-reservation, .closing-reservation) {
  border-radius: var(--nj-radius-panel);
}
body.concept .sl-frame {
  border-radius: 20px;
}
body.concept .header-cta {
  border: 1px solid #8c858d;
  padding-inline: 12px;
  gap: 16px;
}
body.concept .questions-search > div {
  border-radius: var(--nj-radius-control);
}

/* Clip media and overlays together, so a child cannot cover the curved edge. */
body.concept :is(.cinema-thumb, .trust-certificate,
  .method-panel, .advanced-story-film, .founder-image, .benefits-portrait,
  .centre-mosaic a, .centre-monogram, .centre-map-area,
  .trial-experience-photo, .progress-opening, .evidence-frame) {
  border-radius: var(--nj-radius-panel);
  overflow: clip;
}
/* Desktop film is the hero background; on mobile it is a separate media tile. */
body.concept .cinema-film { border-radius: 0; overflow: clip; }
body.concept .cinema-thumb { border-radius: var(--nj-radius-small); }
body.concept .method-switcher [role='tablist'] {
  border-radius: var(--nj-radius-panel);
}
body.concept .method-switcher button {
  border-radius: var(--nj-radius-panel);
}
body.concept .method-panels { margin-top: 14px; }
body.concept .method-switcher button::after { left: 18px; right: 18px; }
body.concept .benefits-navigation button {
  border-radius: var(--nj-radius-control);
}

/* Standalone photos, embedded content and optional future evidence. */
body.concept :is(main img, dialog img, dialog video, iframe):not(.media-logo-talent, .media-logo-next, .media-logo-leilor, .media-logo-vorbeste) {
  border-radius: var(--nj-radius-panel);
}
body.concept .trust-certificate img {
  border-radius: calc(var(--nj-radius-panel) - 12px);
}
body.concept .evidence-frame img,
body.concept .cinema-thumb img {
  border-radius: inherit;
}

/* These children meet flush; their parent owns the outside corner. */
body.concept :is(.cinema-media, .cinema-poster, .cinema-shade),
body.concept .cinema-poster img,
body.concept .cinema-video,
body.concept .method-panel :is(figure, img, .method-film),
body.concept .advanced-story-film img,
body.concept .founder-image img,
body.concept .benefits-portrait :is(img, figcaption),
body.concept .centre-mosaic img,
body.concept .centre-map-area :is(iframe, .centre-map-link),
body.concept .trial-experience-photo :is(img, figcaption),
body.concept .progress-opening :is(.progress-photo, .progress-photo img, .progress-photo figcaption, .progress-parent) {
  border-radius: inherit;
}
/* Joined edges inside composite surfaces remain flush, with no inner cut-outs. */
body.concept .method-panel :is(figure, img, .method-film),
body.concept .centre-map-area :is(iframe, .centre-map-link),
body.concept .trial-experience-photo :is(img, figcaption),
body.concept .progress-opening :is(.progress-photo, .progress-photo img, .progress-photo figcaption, .progress-parent) {
  border-radius: 0;
}

body.concept :is(.portrait-label, .evidence-duration, .centre-example-label,
  .sl-hint-toggle, .sl-progress-marks i, .cinema-progress),
body.concept .benefits-navigation button::after,
body.concept .method-switcher button::after {
  border-radius: var(--nj-radius-small);
}
body.concept .centre-example-label::before { border-radius: 50%; }
body.concept .journey-step-marker,
body.concept .training-sequence li::after {
  clip-path: none;
  border-radius: 50%;
}
body.concept :is(.sl-rod, .sl-beam) { border-radius: 3px; }

/* Preserve circular controls and the original Soroban / brand artwork. */
body.concept :is(.cinema-motion, .video-close, .evidence-play, .story-play,
  .small-play, .centre-photo-expand, .benefits-demo-icon) {
  border-radius: 50%;
}
body.concept .brand img,
body.concept .media-logos img { border-radius: 0; }
body.concept .method-film:focus-visible { outline-offset: -6px; }
body.concept .video-dialog,
body.concept .centre-photo-dialog { overflow: auto; }

@media (max-width: 760px) {
  body.concept .cinema-film { border-radius: var(--nj-radius-panel); }
  body.concept {
    --nj-radius-small: 8px;
    --nj-radius-control: 12px;
    --nj-radius-panel: 20px;
  }
}
@media (max-width: 370px) {
  body.concept .header-cta { padding-inline: 8px; gap: 8px; }
}
