/* Clean, theme-aware photo frames (replaces the ornate masked frames).
   Mix of shapes: rectangular for couple/cover/story, oval for solo portraits,
   and NO frame for gallery photos.
   TOGGLE: set photo_frame_style='ornate' in the template (or remove the
   `frame-clean` body class) to restore the original ornate frames. */

/* 1) Strip the ornate photo masks + hide the overlay frame artwork. */
body.frame-clean :is(
 .scene-couple,.story-memory,.solo-portrait,.memory-pair>img:not(.chapter-photo-frame),
 .opening-portrait img,.overture-photo img,.profile-photo,.chapter-photo,
 .premium-cover-portrait>img,.aceh-cover-portrait>img,.inv-gallery img,#album-photo
){-webkit-mask-image:none!important;mask-image:none!important;object-fit:cover}
body.frame-clean :is(.signature-photo-frame,.chapter-photo-frame,.photo-frame-asset,.portrait-frame){display:none!important}

/* 2) Frame tokens — light themes get a slim modern tinted border + small white mat. */
body.frame-clean{
 --kf-radius:16px;
 --kf-mat:6px;
 --kf-line:color-mix(in srgb,var(--color,#6b5436) 34%,transparent);
 --kf-bg:#fff;
 --kf-shadow:0 18px 34px -16px #2a1c0e4a,0 5px 12px -7px #2a1c0e3a;
}
/* Dark themes get a prominent white matte that pops off the dark scene. */
body.frame-clean:is(.collection-dark,.theme-midnight,.variant-night){
 --kf-mat:10px;
 --kf-line:#ffffff3d;
 --kf-shadow:0 24px 48px -16px #00000085,0 6px 16px -8px #0006;
}

/* 3) RECTANGULAR frame — couple / cover / story / chapter photos. */
body.frame-clean :is(
 .scene-couple,.story-memory,
 .opening-portrait img,.overture-photo img,.chapter-photo,
 .premium-cover-portrait>img,.aceh-cover-portrait>img
){
 box-sizing:border-box!important;
 background:var(--kf-bg)!important;
 padding:var(--kf-mat)!important;
 border:1px solid var(--kf-line)!important;
 border-radius:var(--kf-radius)!important;
 box-shadow:var(--kf-shadow)!important;
}

/* 4) OVAL + simple modern frame — individual bride/groom portraits (breaks the monotony). */
body.frame-clean :is(.solo-portrait,.profile-photo){
 box-sizing:border-box!important;
 background:transparent!important;
 padding:0!important;
 border:2px solid var(--kf-line)!important;
 border-radius:50%!important;
 box-shadow:var(--kf-shadow)!important;
}

/* 5) GALLERY — no frame, just the photo (gentle rounding only). */
body.frame-clean :is(.memory-pair>img:not(.chapter-photo-frame),.inv-gallery img){
 background:none!important;padding:0!important;border:0!important;box-shadow:none!important;border-radius:12px!important;
}
body.frame-clean .ku-slide-frame{background:transparent;border:0;padding:0;box-shadow:0 18px 34px -18px #2a1c0e4a}
body.frame-clean .ku-slide-frame img{border-radius:18px}

/* 6) Event (acara) cards — simple modern: drop the ornate arch/double/mask frames. */
body.frame-clean :is(.event-block,.event-grid article){
 -webkit-mask:none!important;mask:none!important;
 border:1px solid var(--kf-line)!important;
 border-radius:16px!important;
 background:color-mix(in srgb,var(--paper,#fff) 92%,white)!important;
 box-shadow:0 12px 30px -16px #2a1c0e45!important;
}
body.frame-clean :is(.event-block,.event-grid article):before,
body.frame-clean :is(.event-block,.event-grid article):after{display:none!important}
body.frame-clean .event-block{padding:30px 24px!important;min-height:0!important}
/* dark themes: keep the card dark so light text stays legible. */
body.frame-clean:is(.collection-dark,.theme-midnight,.variant-night) :is(.event-block,.event-grid article){
 background:color-mix(in srgb,var(--paper,#1a1a1a) 86%,black)!important;
 border-color:#ffffff30!important;
}
