/* CT Editorial Frames — non-destructive image wrappers; no homepage/archive styling */
.single-post .hero-media > .ct-frame-photo,
.ct-library .ct-frame-photo {
  display:block; position:relative; width:100%; box-sizing:border-box;
  line-height:0; overflow:visible;
}
.single-post .hero-media > .ct-frame-photo > img,
.ct-library .ct-frame-photo > img {
  display:block; width:100%; max-width:100%; height:auto; max-height:620px;
  object-fit:cover; box-sizing:border-box; margin:0;
  border:0; border-radius:0; box-shadow:none; padding:0; background:transparent;
}
/* 01 — Offset deep-charcoal slab */
.ct-frame--block {background:#202c36; padding:0 12px 12px 0;}
/* 02 — Opposing clipped corners, distinct from traditional rectangular mat */
.ct-frame--corner {background:#202c36; padding:7px; clip-path:polygon(22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 22px);}
.ct-frame--corner > img {clip-path:polygon(20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px);}
/* 03 — Graphic border inspired by photographic proof sheets, no fake camera marks */
.ct-frame--film {background:#f1ece2; border:2px solid #202c36; padding:13px; box-shadow:inset 0 0 0 5px #f1ece2,inset 0 0 0 6px #202c36;}
/* 04 — Purely graphical masthead strip: no text implying fake programme branding */
.ct-frame--strip {background:#202c36; padding:14px 0 8px;}
/* 05 — Muted editorial paper layer */
.ct-frame--offset {background:#adb9b9; padding:0 16px 16px 0;}
/* 06 — Minimal marks: corner lines only */
.ct-frame--minimal {padding:9px;}
.ct-frame--minimal::before,.ct-frame--minimal::after {content:"";position:absolute;width:31px;height:31px;pointer-events:none;z-index:1;}
.ct-frame--minimal::before {top:0;left:0;border-top:2px solid #202c36;border-left:2px solid #202c36;}
.ct-frame--minimal::after {right:0;bottom:0;border-right:2px solid #202c36;border-bottom:2px solid #202c36;}
/* 07 — Original inset magazine mat */
.ct-frame--cream {padding:8px;background:#eee8da;border:1px solid #b8b1a3;}
/* 08 — Selected hybrid: offset charcoal slab and clipped opposing corners */
.ct-frame--hybrid {background:#202c36;padding:0 12px 12px 0;}
.ct-frame--hybrid > img {clip-path:polygon(25px 0,100% 0,100% calc(100% - 25px),calc(100% - 25px) 100%,0 100%,0 25px);}
@media(max-width:600px) {
  .ct-frame--block,.ct-frame--hybrid {padding:0 7px 7px 0;}
  .ct-frame--offset {padding:0 9px 9px 0;}
  .ct-frame--film {padding:8px;border-width:1px;}
  .ct-frame--strip {padding:8px 0 5px;}
  .ct-frame--cream {padding:6px;}
  .ct-frame--corner {padding:5px;clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);}
  .ct-frame--corner > img {clip-path:polygon(13px 0,100% 0,100% calc(100% - 13px),calc(100% - 13px) 100%,0 100%,0 13px);}
  .ct-frame--hybrid > img {clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);}
}
