/* Cross-page corrections from the responsive layout audit, 11 September 2026. */
.partnership-panel>*,.partnership-ways article>div{min-width:0}
.partnership-ways .partnership-routes-link{display:inline-flex;align-items:center;gap:16px;color:#c1f99b;margin:18px 0 0 37px;max-width:calc(100% - 37px);min-height:44px;line-height:1.5;text-decoration:none;white-space:normal}
.partnership-routes-link>span{min-width:0;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.partnership-routes-link>svg{flex:0 0 18px}
.partnership-ways .partnership-note{margin-bottom:0}
.partnership-routes-link:focus-visible{outline:2px solid #c1f99b;outline-offset:5px}

/* Keep small-screen tab labels intact, with their original order and controls. */
@media(max-width:420px){
 .cw-tabs{padding-inline:4px}
 .cw-tabs button{flex-direction:column;gap:7px;padding:15px 3px;font-size:12px}
 .cw-tabs button>span:not(.cw-tab-symbol){min-width:0;max-width:100%}
 .pt-model-tabs{padding-inline:3px}
 .pt-model-tabs button{padding-inline:5px}
}
/* Badge names and download links need more space than a half-width phone card. */
@media(max-width:560px){
 #badges .grid4{grid-template-columns:minmax(0,1fr)}
}
/* The photograph may flex; the brand header and caption must remain fully visible. */
.brand-explore .lattice-photo{height:auto;min-height:370px}
.brand-explore .lattice-photo-header,.brand-explore .lattice-photo>p{flex-shrink:0}
.brand-explore .lattice-photo .example-photo{min-height:0;flex:1 1 auto;max-height:260px;object-fit:contain}

@media(max-width:540px){
 .partnership-ways .partnership-routes-link{margin-left:0;max-width:100%}
}

/* Reserve enough room for metadata labels at the three-column breakpoint. */
.cat-programme-facts>div{grid-template-columns:minmax(56px,max-content) minmax(0,1fr)}
