/* VFIX-1b: compact reading groups and full-width mobile cards. */
:root,.editor-styles-wrapper { --kc-gap-actions:24px!important; --kc-gap-media:16px!important; }
:is(.wp-site-blocks,.editor-styles-wrapper) :is(h1,h2,h3,h4,h5,h6):has(+ p) { margin-block-end:0!important; }
:is(.wp-site-blocks,.editor-styles-wrapper) .content-card > .card-copy { padding-block-start:0!important; }
:is(.wp-site-blocks,.editor-styles-wrapper) .content-card > .card-image + .card-copy { margin-block-start:var(--kc-gap-media)!important; }
:is(.wp-site-blocks,.editor-styles-wrapper) .content-card.card-list { gap:var(--kc-gap-copy)!important; }
:is(.wp-site-blocks,.editor-styles-wrapper) .card-copy .card-arrow { margin-block-start:var(--kc-gap-copy)!important; }
@media(max-width:560px) {
  :is(.wp-site-blocks,.editor-styles-wrapper) :is(.card-grid,.content-list,.bookshelf-grid,.bookshelf-items,.partner-grid,.link-grid) { grid-template-columns:minmax(0,1fr)!important; }
  :is(.wp-site-blocks,.editor-styles-wrapper) :is(.card-grid,.content-list,.search-results) { width:calc(100% + var(--kc-card-inset)); max-width:none; margin-inline:calc(var(--kc-card-inset) / -2); }
  :is(.wp-site-blocks,.editor-styles-wrapper) :is(.content-card,.search-result) { display:flex!important; flex-direction:column; padding:var(--kc-card-inset)!important; grid-column:auto!important; grid-row:auto!important; }
  :is(.wp-site-blocks,.editor-styles-wrapper) :is(.content-card,.content-card.card-list,.search-result) { gap:0!important; }
  :is(.wp-site-blocks,.editor-styles-wrapper) .content-card > :is(.card-image,.card-copy) { width:100%; max-width:none; grid-column:auto!important; grid-row:auto!important; }
  :is(.wp-site-blocks,.editor-styles-wrapper) .content-card .card-copy { margin-inline:0; padding-inline:0; }
}

/* Photo layout is shared by visitor and block-editor canvas. */
.kc-r3-frame {
  position:relative!important; display:block!important; inset:auto!important;
  width:min(100%,var(--kc-r3-max-width,100%))!important;
  height:auto!important; min-height:0!important; max-height:none!important;
  aspect-ratio:var(--kc-r3-ratio,4/3)!important;
  padding:0!important; border:0!important; box-shadow:none; overflow:hidden;
  flex-shrink:0; align-self:start; background:transparent!important;
}
.kc-r3-frame > figure.wp-block-image { display:contents; }
html.kc-media-layout .kc-r3-frame[data-kc-photo-mode] img {
  position:absolute!important; inset:0!important; z-index:1;
  width:100%!important; height:100%!important;
  min-height:0!important; max-height:none!important; margin:0!important; padding:0!important;
  object-fit:cover!important; object-position:var(--kc-r3-focus,50% 50%)!important;
  transform:none!important; animation:none!important;
}
.kc-r3-blurred-fill::before {
  content:""; position:absolute; inset:-36px; z-index:0; pointer-events:none;
  background-image:var(--kc-r3-photo); background-size:cover;
  background-position:var(--kc-r3-focus,50% 50%);
  filter:blur(24px) brightness(.92);
}
html.kc-media-layout .kc-r3-frame.kc-r3-blurred-fill img { object-fit:contain!important; }
.kc-r3-frame .zoom-label,.kc-r3-frame figcaption { z-index:2; }
.content-card.card-variant-overlay:has(> .kc-r3-frame) { display:block; }
.content-card.card-variant-overlay > .kc-r3-frame { z-index:0; }
.content-card.card-variant-overlay .card-copy { z-index:1; }
.hero-book .kc-r3-frame,.hero-document .kc-r3-frame,.split-image.kc-r3-frame:is(.image-kind-book,.image-kind-document) { justify-self:center; }
:is(.wp-site-blocks,.editor-styles-wrapper) .kc-r3-inline-frame + :is(h1,h2,h3,h4,p,figcaption) { margin-block-start:var(--kc-gap-media)!important; }
.faq-answer .kc-r3-inline-frame { float:right; width:35%!important; margin:0 0 20px 30px; }
.kc-route-denominations .faq-answer .kc-r3-inline-frame { float:left; margin:0 30px 20px 0; }
.link-grid .kc-r3-inline-frame { width:105px!important; flex:0 0 105px; }
.compact-links .kc-r3-inline-frame { width:70px!important; flex:0 0 70px; }
.media-list .kc-r3-inline-frame { width:78px!important; flex:0 0 78px; }
@media(max-width:760px){.faq-answer .kc-r3-inline-frame{float:none;width:100%!important;margin:0 0 20px;}}
@media(max-width:560px){
  .timeline-horizontal,.steps-horizontal { grid-template-columns:minmax(0,1fr)!important; }
  .timeline-vertical li { grid-template-columns:minmax(0,1fr)!important; gap:var(--kc-gap-copy); }
  .timeline-vertical li::before,.timeline-vertical .timeline-label::after { display:none; }
  .sitemap-topic-card { display:block!important; }
  .sitemap-topic-copy { margin-block-start:var(--kc-gap-media); }
  :is(.card-grid,.content-list,.search-results) .kc-r3-frame { width:100%!important; }
  :is(.link-grid,.compact-links)>:is(a,.kc-source-a),.media-list>li,.bridge-links li>:is(a,.kc-source-a) { display:grid!important; grid-template-columns:minmax(0,1fr) auto; gap:var(--kc-gap-media); }
  :is(.link-grid,.compact-links,.media-list,.bridge-links) .kc-r3-frame { grid-column:1/-1; }
  .search-result { display:block!important; }
  :is(.link-grid,.compact-links,.media-list,.bridge-links,.search-result) .kc-r3-frame { width:100%!important; }
  .result-copy { margin-block-start:var(--kc-gap-media); }
}

/* Shelf covers retain their prototype book design; they are not photo frames. */
:is(.wp-site-blocks,.editor-styles-wrapper) .bookshelf-items { gap:16px; }
:is(.wp-site-blocks,.editor-styles-wrapper) .content-card.card-shelf { padding:0!important; }
:is(.wp-site-blocks,.editor-styles-wrapper) .card-shelf .card-image {
  display:flex; aspect-ratio:3/4; height:auto; min-height:0;
  background:#eae3d6; border-left:4px solid #c6b8a0;
}
:is(.wp-site-blocks,.editor-styles-wrapper) .card-shelf:nth-child(even) .card-image { background:#e0e8de; border-color:#a3b19d; }
:is(.wp-site-blocks,.editor-styles-wrapper) .card-shelf .card-image img {
  position:static!important; width:100%!important; height:43%!important;
  min-height:0!important; flex:0 1 auto; object-fit:cover!important; padding:0!important;
}
@media(max-width:560px) {
  :is(.wp-site-blocks,.editor-styles-wrapper) .bookshelf-items { gap:var(--kc-gap-cards); }
  /* Preserve the prototype's two-track cover width inside the wider reading column. */
  :is(.wp-site-blocks,.editor-styles-wrapper) .card-shelf > .card-image {
    width:calc((100% - 20px - 13px) / 2);
  }
}
