/* Keep the preview's CSS viewport equal to its labelled width. */
.shiko-banner-preview iframe{box-sizing:content-box}
/* A deliberate second row leaves every carousel control easy to tap. */
@media(max-width:420px){
 .shiko-banner-controls{display:grid;grid-template-columns:44px minmax(0,1fr) auto 44px;gap:4px;padding:4px}
 .shiko-banner-controls>button:first-child{grid-column:1;grid-row:1}
 .shiko-banner-counter{grid-column:2;grid-row:1}
 .shiko-banner-controls>.shiko-banner-pause{grid-column:3;grid-row:1}
 .shiko-banner-controls>button:last-child{grid-column:4;grid-row:1}
 .shiko-banner-controls>.shiko-banner-dots{grid-column:1/-1;grid-row:2;justify-content:center;min-width:0}
 .shiko-banner-dots button{min-width:44px;min-height:44px}
}


/* Mobile home banners: keep accessible labels, show only the image. */
@media(max-width:767px){.home-banner-block .shiko-banner-slide .shiko-banner-link > .shiko-banner-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}}

/* Photo banners keep their own title and CTA inside one mobile composition. */
@media(max-width:767px){
.home-banner-block .shiko-banner-slide.photo .shiko-banner-link{display:grid;width:100%;max-width:100%;box-sizing:border-box;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);aspect-ratio:2/1;min-height:180px;align-items:stretch}
.home-banner-block .shiko-banner-slide.photo .shiko-banner-picture{grid-column:2;grid-row:1;min-width:0;min-height:0;height:100%;aspect-ratio:auto}
.home-banner-block .shiko-banner-slide.photo .shiko-banner-picture img{width:100%;height:100%;object-fit:contain}
.home-banner-block .shiko-banner-slide.photo .shiko-banner-link > .shiko-banner-copy{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:static;order:-1;width:auto;height:auto;min-width:0;margin:0;padding:14px;overflow:visible;clip:auto;clip-path:none;white-space:normal;border:0}
.home-banner-block .shiko-banner-slide.photo .shiko-banner-copy > h1{font-size:clamp(17px,4.7vw,24px);line-height:1.15;margin:0 0 12px}
.home-banner-block .shiko-banner-slide.photo .shiko-banner-copy > p{display:none}
.home-banner-block .shiko-banner-slide.photo .shiko-banner-copy .shiko-btn{box-sizing:border-box;font-size:12px;line-height:1.25;min-height:44px;padding:8px 10px;width:100%;max-width:100%;white-space:normal;text-align:center;justify-content:center;letter-spacing:0}
}

/* Manual homepage carousel: one row, visible arrows, accessible position text. */
.home-banner-block .shiko-banner-controls{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:8px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:6px 0;margin:0}
.home-banner-block .shiko-banner-controls > button{display:inline-flex;flex:0 0 44px;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#254d3b;font-size:28px;line-height:1}
.home-banner-block .shiko-banner-controls > .shiko-banner-dots{display:flex;flex-wrap:nowrap;flex:0 1 220px;align-items:center;justify-content:center;min-width:0;gap:0;padding:0}
.home-banner-block .shiko-banner-dots button{display:flex;flex:1 1 44px;align-items:center;justify-content:center;width:44px;min-width:32px;max-width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;border-radius:50%}
.home-banner-block .shiko-banner-dots button span{display:block;width:8px;height:8px;border-radius:999px;background:#7c8977;transition:width .18s ease,background-color .18s ease}
.home-banner-block .shiko-banner-dots button[aria-current=true] span{width:22px;background:#234835}
.home-banner-block .shiko-banner-counter{position:absolute;width:1px;height:1px;min-width:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
@media(hover:hover){.home-banner-block .shiko-banner-controls > button:hover{background:#edf2e9}}
@media(prefers-reduced-motion:reduce){.home-banner-block .shiko-banner-dots button span{transition:none}}
