/* Barbican Movement 4.0.1 — targeted footer and mobile viewport corrections.
 * Avoid disabling user zoom: fix oversize elements instead.
 */
:root{--bfc-safe-gutter:clamp(16px,3.2vw,56px)}
html{max-width:100%;overflow-x:clip}
body{max-width:100%;min-width:0;overflow-x:clip}
main,.site-footer,.bfc-commerce-editorial,.bfc-news-section,.bfc-news-row,.bfc-commerce-layout,.bfc-commerce-display,.merch-gallery{min-width:0;max-width:100%}
img,video,iframe,svg{max-width:100%}

/* 4 real blocks; the original theme declared only 3 columns and pushed
   the newsletter underneath the crest on desktop. */
.site-footer .footer-top{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,.85fr) minmax(240px,1.14fr);
  align-items:start;
  column-gap:clamp(22px,3vw,54px);
  row-gap:35px;
  padding-block:clamp(54px,6vw,84px) clamp(53px,6vw,92px);
}
.site-footer .footer-top>*{min-width:0;grid-column:auto}
.site-footer .footer-nav-block .footer-links{display:flex;flex-direction:column;gap:13px;align-items:flex-start}
.site-footer .footer-nav-block .footer-links a{line-height:1.6;display:block}
.site-footer .footer-connect{min-width:0;max-width:100%}
.site-footer .footer-connect .btn{width:100%;min-width:0;max-width:100%;white-space:normal;justify-content:space-between;text-align:left;gap:8px;line-height:1.3;padding:14px 16px}
.site-footer .footer-connect p{max-width:33ch;line-height:1.7}
.site-footer .footer-bottom{
 display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr);
 align-items:center;column-gap:18px;row-gap:10px;
 font-size:10px;letter-spacing:.055em;line-height:1.65;
}
.site-footer .footer-bottom>span{min-width:0;overflow-wrap:anywhere}
.site-footer .footer-bottom>span:last-child{text-align:right;white-space:nowrap}
.site-footer .footer-center{display:block;max-width:none;text-align:center;line-height:1.65}

/* Avoid min-content sizing forcing a grid track wider than the device. */
.bfc-commerce-layout{grid-template-columns:minmax(0,36%) minmax(0,1fr)}
.bfc-commerce-head,.bfc-commerce-display,.merch-gallery,.bfc-news-waiting{min-width:0;max-width:100%}
.merch-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.merch-gallery-card,.merch-meta{min-width:0;max-width:100%}
.merch-meta{flex-wrap:wrap;gap:9px}
.merch-meta b,.merch-meta span{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.bfc-news-row{grid-template-columns:repeat(3,minmax(0,1fr))}
.bfc-news-waiting{grid-column:1/-1;overflow-wrap:anywhere;padding:clamp(18px,3vw,40px)}
.bfc-news-waiting h3{max-width:100%;font-size:clamp(27px,4.5vw,48px);line-height:1;overflow-wrap:anywhere}
.bfc-news-waiting p{max-width:100%;overflow-wrap:break-word}
.bfc-news-head h2{overflow-wrap:anywhere}

/* Responsive layouts are designed for content width, not frozen font sizes. */
@media(max-width:1199px){
 .site-footer .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:46px}
 .site-footer .footer-bottom{grid-template-columns:1fr 1fr}
 .site-footer .footer-center{grid-column:1/-1;grid-row:2;text-align:left}
}
@media(max-width:767px){
 .wrap-wide{max-width:calc(100% - 36px)}
 .site-footer .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px;padding-block:60px 48px}
 .site-footer .footer-club{grid-column:1/-1}
 .site-footer .footer-connect{grid-column:1/-1;background:#131511;padding:24px 21px;margin-top:3px}
 .site-footer .footer-connect .btn{width:auto;max-width:100%;min-height:49px;gap:20px}
 .site-footer .footer-top p{margin-top:14px}
 .site-footer .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding-block:25px 30px}
 .site-footer .footer-bottom>span{display:block;line-height:1.7;max-width:100%}
 .site-footer .footer-bottom>span:last-child{white-space:normal;text-align:left}
 .site-footer .footer-center{order:3;text-align:left;font-size:9px;letter-spacing:.03em}
 .bfc-commerce-layout{grid-template-columns:minmax(0,1fr)!important}
 .bfc-commerce-head,.bfc-commerce-display{width:100%;max-width:100%;min-width:0}
 .bfc-commerce-head h2{font-size:clamp(52px,11.2vw,78px);line-height:.94;max-width:100%;overflow-wrap:anywhere}
 .bfc-commerce-head h2 .gradient-text{display:inline;max-width:100%}
 .bfc-news-row{grid-template-columns:minmax(0,1fr)}
 .bfc-news-waiting{width:100%;min-width:0;padding:25px 20px}
 .bfc-news-waiting h3{font-size:clamp(28px,8vw,44px);overflow-wrap:anywhere}
 .bfc-news-head h2{font-size:clamp(45px,12vw,74px)}
 .bfc-tv-layout h2,.bfc-page-hero h1,.bfc-woo-title h1{font-size:clamp(44px,10vw,74px);overflow-wrap:anywhere}
 .bfc-offer-information h1,.bfc-single-story h1,.bfc-story-list h1{font-size:clamp(42px,10vw,80px);overflow-wrap:anywhere}
 .bfc-team-tabs{max-width:100%}
 .bfc-collection,.atelier-storefront,.bfc-featured-panel{min-width:0;max-width:100%}
 .bfc-modal,.bfc-modal-dialog{max-width:100vw;box-sizing:border-box}
 /* iOS Safari auto zooms into text controls below 16px. */
 input,select,textarea,.bfc-input,.woocommerce input.input-text,.woocommerce textarea,.woocommerce select{font-size:16px!important}
}
@media(max-width:480px){
 .bfc-commerce-head h2{font-size:clamp(47px,11vw,61px)}
 .bfc-news-head h2{font-size:clamp(43px,10.5vw,60px)}
 .bfc-tv-layout h2{font-size:clamp(42px,10.5vw,60px)}
 .site-footer .footer-connect{padding:23px 19px}
 .site-footer .footer-links a{font-size:13px;line-height:1.45}
 .site-footer .footer-bottom{font-size:10px}
}
@media(max-width:360px){
 .site-footer .footer-top{gap:30px 13px}
 .site-footer .footer-nav-block .eyebrow{font-size:9px;letter-spacing:.09em}
 .site-footer .footer-links a{font-size:12px}
 .bfc-commerce-head h2{font-size:clamp(43px,10.8vw,51px)}
 .bfc-news-waiting h3{font-size:27px}
 .bfc-page-hero h1,.bfc-tv-layout h2{font-size:clamp(39px,10.8vw,48px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.site-footer .footer-center{color:#afa68f}
@media(max-width:767px){.site-footer .footer-center{color:#aaa18a}}
