/* KTP Media — pictures, credit line, video facade, credits page. Uses KTP Core tokens. */
.ktp-pic{display:block;position:relative;overflow:hidden;background:var(--ktp-sand,#F3EBE0)}
.ktp-pic__img{display:block;width:100%;height:auto;max-width:100%}
.ktp-pic--crop .ktp-pic__img{aspect-ratio:var(--ktp-ar,auto);object-fit:cover;object-position:var(--ktp-pos,50% 50%)}
.ktp-pic[hidden]{display:none}

.ktp-figure{margin:0}
.ktp-figure figcaption{display:flex;flex-direction:column;gap:2px;margin-top:8px}
.ktp-figure__caption{font-family:var(--ktp-font-body,system-ui,sans-serif);font-size:14px;line-height:21px;color:var(--ktp-ink,#1F1E1D)}

/* Credit line under photos */
.ktp-credit{margin:6px 0 0;font-family:var(--ktp-font-body,system-ui,sans-serif);font-size:12px;line-height:18px;color:var(--ktp-muted,#4A4744);overflow-wrap:anywhere}
.ktp-credit a{color:inherit;text-decoration:underline;text-decoration-color:var(--ktp-border,#E6DDD1);text-underline-offset:2px}
.ktp-credit a:hover{color:var(--ktp-red,#7A2E1E);text-decoration-color:currentColor}

/* Video facade */
.ktp-video{margin:24px 0;font-family:var(--ktp-font-body,system-ui,sans-serif)}
.ktp-video__frame{position:relative;aspect-ratio:16/9;border-radius:var(--ktp-radius-card,16px);overflow:hidden;background:#1F1E1D;border:1px solid var(--ktp-border,#E6DDD1)}
.ktp-video__frame .ktp-pic,.ktp-video__frame .ktp-pic__img,.ktp-video__frame video,.ktp-video__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ktp-video__frame .ktp-pic__img{object-fit:cover}
.ktp-video__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0;margin:0;border:0;background:transparent;cursor:pointer;color:#fff}
.ktp-video__play svg{transition:transform .15s ease}
.ktp-video__play:hover svg,.ktp-video__play:focus-visible svg{transform:scale(1.08)}
.ktp-video__play:focus-visible{outline:3px solid var(--ktp-gold,#C8912F);outline-offset:-3px}
.ktp-video__dur{position:absolute;right:10px;bottom:8px;padding:2px 8px;border-radius:999px;background:rgba(20,20,20,.62);font-size:12px;line-height:18px}
.ktp-video__title{margin:8px 0 0;font-size:14px;font-weight:600;color:var(--ktp-ink,#1F1E1D)}
.ktp-video__transcript{margin-top:8px;border:1px solid var(--ktp-border,#E6DDD1);border-radius:12px;padding:8px 14px;background:var(--ktp-white,#fff)}
.ktp-video__transcript summary{cursor:pointer;font-size:14px;font-weight:600;min-height:32px;display:flex;align-items:center}
.ktp-video__transcript div{font-size:14px;line-height:22px;color:var(--ktp-muted,#4A4744)}

/* Hero loop sits over the hero picture */
.ktp-hero-loop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
@media (prefers-reduced-motion:reduce){.ktp-hero-loop{display:none}}

/* Photo credits page */
.ktp-credits{display:flex;flex-direction:column;gap:20px;font-family:var(--ktp-font-body,system-ui,sans-serif)}
.ktp-credits__search{display:flex;align-items:center;gap:10px;max-width:480px;height:48px;padding:0 14px;border-radius:12px;background:var(--ktp-white,#fff);border:1.5px solid #CFC3B4;color:var(--ktp-muted,#4A4744)}
.ktp-credits__search input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:16px;background:transparent}
.ktp-credits__count{margin:0;font-size:14px;color:var(--ktp-muted,#4A4744)}
.ktp-credits__h{margin:8px 0 10px;font-family:var(--ktp-font-display,Georgia,serif);font-size:24px}
.ktp-credits__table{border:1px solid var(--ktp-border,#E6DDD1);border-radius:16px;overflow:hidden;background:var(--ktp-white,#fff)}
.ktp-credits__row{display:grid;grid-template-columns:84px minmax(0,1fr) minmax(0,.8fr) minmax(0,1.6fr) 96px;gap:12px;align-items:center;padding:10px 16px;border-top:1px solid #F0E8DD;font-size:14px;line-height:21px}
.ktp-credits__row--head{border-top:0;background:var(--ktp-sand,#F3EBE0);font-size:13px;font-weight:700}
.ktp-credits__row[hidden]{display:none}
.ktp-credits__thumb{display:block;width:72px;height:54px;object-fit:cover;border-radius:8px;background:var(--ktp-sand,#F3EBE0)}
.ktp-credits__author{color:var(--ktp-ink,#1F1E1D);overflow-wrap:anywhere}
.ktp-credits__slots{font-size:12px;color:#6B6660}
.ktp-credits__note{font-size:13px;color:#6B6660}
.ktp-credits a{color:var(--ktp-red,#7A2E1E)}
@media (max-width:759px){
	.ktp-credits__row{grid-template-columns:72px minmax(0,1fr);row-gap:4px}
	.ktp-credits__row--head{display:none}
	.ktp-credits__row>span:first-child{grid-row:span 4}
}
