/* Final shared shape layer, after page styles. Reuse the existing radius tokens. */
#main :is(
  .space-feature, .together-card, .keepsake-card, .pet-card, .template-card,
  .quiet-invitation, .sample-invitation, .example-card, .form-card,
  .album-preview, .club-card, .new-club, .family-room, .classroom-entry,
  .timed-walk, .ritual-card, .walk-takeaway, .space-ceremony-cta,
  .letter-form, .sample-letter, .letters article, .memory-journal article,
  .space-album figure, .service-notice, .book-title, .upload-box,
  .space-common-note, .space-intro-options a, .garden-example-note,
  .bc-club-card, .bc-empty, .bc-care, .bc-reading-card, .bc-course-facts,
  .bc-session, .bc-book-cover, .page-head, .closing, .bc-open, .bc-themes,
  .ceremony-player, .memorial-cover, .template-preview-bar
) { border-radius: var(--card-radius); }

#main :is(
  .radio-card, .theme-choice, .template-choice, .walk-concept, .photo-option,
  .deletion-warning, .floating-note, .family-grid figure, .share-note
) { border-radius: var(--choice-radius); }

#main :is(.button, .social-button, .space-choice-primary, .bc-create > summary,
  .ritual-tabs a, .walk-chapters button, .sort-actions button),
body :is(input:not([type="radio"]):not([type="checkbox"]):not([type="range"]):not([type="hidden"]), select, textarea) {
  border-radius: var(--control-radius);
}

/* Clip only media surfaces; keep form focus outlines and text containers free. */
#main :is(.pet-image, .mini-space, .space-hero, .space-landscape,
  .space-second-photo, .walk-stage, .companion-details a, .family-grid figure) {
  border-radius: var(--image-radius);
  overflow: hidden;
}
#main :is(.space-service-image, .together-card > img, .photo-option img) {
  border-radius: var(--card-radius) var(--card-radius) var(--choice-radius) var(--choice-radius);
}
#main img[src]:not([src*=".svg"]), #main video {
  border-radius: var(--image-radius);
}
#main :is(.template-choice img, .walk-concept img, .mini-backdrop) {
  border-radius: var(--choice-radius);
}
#main .bc-book-cover img { border-radius: 8px; }
#main :is(.family-grid figcaption, .peer-state, .catalog-image-index) {
  border-radius: 8px;
}

/* Keep the distinctive arches and circular portraits, with soft lower corners. */
#main :is(.editorial-photo .companion-main, .bc-hero-photo img) {
  border-radius: var(--image-radius) 72px var(--image-radius) var(--image-radius);
}
#main .bc-meeting-photo img {
  border-radius: var(--image-radius) 42px var(--image-radius) var(--image-radius);
}
#main .auth-layout > div > img,
#main .layout-minimal .space-photo {
  border-radius: 100px 100px var(--image-radius) var(--image-radius);
}
#main .hero-art { border-radius: 180px 180px var(--image-radius) var(--image-radius); }
#main .mini-minimal .mini-pet { border-radius: 70px 70px 12px 12px; }
.design-letter #main .story-section { border-radius: var(--card-radius); }
.design-sanctuary #main .memory-notebook {
  border-radius: 90px 90px var(--card-radius) var(--card-radius);
}
.design-sanctuary #main .space-album figure {
  border-radius: 60px 60px var(--card-radius) var(--card-radius);
}
.notices p, .toast { border-radius: var(--choice-radius); }

@media (max-width: 760px) {
  #main :is(.editorial-photo .companion-main, .bc-hero-photo img) {
    border-top-right-radius: 54px;
  }
  .design-sanctuary #main .memory-notebook {
    border-top-left-radius: 45px;
    border-top-right-radius: 45px;
  }
}
