/* Yoga Marga — garde-fous responsive finaux, volontairement conservateurs. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;max-width:100%}
body{max-width:100%;overflow-wrap:break-word}
img,video,canvas,svg{max-width:100%;height:auto}
picture{max-width:100%}
iframe,embed,object{max-width:100%}
input,select,textarea,button{max-width:100%;box-sizing:border-box;font:inherit}
textarea{resize:vertical}
main,section,article,aside,header,footer,nav,form,fieldset,div{min-width:0}
pre{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
table{max-width:100%}
.ym-responsive-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Les composants fixes restent dans le viewport. */
#ym-contact-widget{max-width:calc(100vw - 6px)}
.ym-stages-widget{max-width:calc(100vw - 24px)!important}
.ym-cookie-banner,.ym-cookie-dialog{max-width:calc(100vw - 24px)!important}

@media(max-width:1024px){
  .wrap,.container,.inner,.content-inner,.page-inner,.section-inner{max-width:100%}
  .grid2,.training,.layout{min-width:0}
  img{object-position:center center}
}

@media(max-width:820px){
  body{overflow-x:clip}
  .wrap{width:min(100% - 30px,1180px)}
  .grid2,.training,.layout{grid-template-columns:1fr!important}
  .grid2>*,.training>*,.layout>*{min-width:0!important}
  .actions,.buttons,.cta-row{max-width:100%;flex-wrap:wrap!important}
  .actions a,.actions button,.buttons a,.buttons button{max-width:100%}
  .ym-site-header__inner{max-width:calc(100% - 24px)!important}
  .ym-site-nav{overscroll-behavior:contain!important}
  .ym-site-nav a,.ym-site-contact,.ym-mobile-menu-toggle{touch-action:manipulation}
  .ym-footer-grid,.footer-grid{min-width:0}
}

@media(max-width:700px){
  .section{min-width:0}
  h1{font-size:clamp(2rem,11vw,3.35rem)!important;overflow-wrap:break-word}
  h2{font-size:clamp(1.65rem,8.5vw,2.6rem)!important;overflow-wrap:break-word}
  h3{overflow-wrap:break-word}
  .button,.btn,[class*="button"],button,input[type="submit"]{min-height:44px}
  form,input,select,textarea{width:auto;max-width:100%}
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{width:100%}
  .ym-contact-form-grid{grid-template-columns:1fr!important}
  .ym-contact-form-wrap{max-width:100%!important}
  .ym-photo-columns{columns:1!important}
  .ym-photo-columns figure{break-inside:avoid;max-width:100%!important}
  .gallery,.gallery-grid,.photo-grid{max-width:100%}
  .gallery img,.gallery-grid img,.photo-grid img{max-width:100%;height:auto}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .ym-legal-strip,.ym-cookie-standalone-strip{padding-left:14px!important;padding-right:14px!important;text-align:center}
  .ym-cookie-banner{left:10px!important;right:10px!important;width:auto!important;min-width:0!important;bottom:82px!important;max-height:calc(100dvh - 98px)!important;overflow:auto!important}
  .ym-cookie-dialog{max-height:calc(100dvh - 24px)!important}
  .ym-stages-widget{max-width:calc(100vw - 24px)!important}
}

@media(max-width:430px){
  .wrap{width:min(100% - 24px,1180px)}
  .ym-site-header__inner{width:calc(100% - 16px)!important;max-width:calc(100% - 16px)!important}
  .ym-mobile-menu-toggle{min-width:78px!important;padding-inline:10px!important}
  .ym-nav-menu a,.ym-nav-group summary,.ym-site-contact{overflow-wrap:anywhere}
  .ym-cookie-banner{padding:14px!important;border-radius:16px!important}
  .ym-cookie-actions{grid-template-columns:1fr!important}
  .ym-cookie-btn{width:100%!important;min-height:44px!important}
  .ym-cookie-dialog{padding:18px 15px!important}
  .ym-cookie-dialog__actions{display:grid!important;grid-template-columns:1fr!important}
  .ym-cookie-dialog__actions .ym-cookie-btn{width:100%!important}
}

@media(max-width:360px){
  .ym-site-header__inner{padding-left:124px!important}
  .ym-site-brand img{width:112px!important}
  .ym-mobile-menu-toggle{min-width:72px!important;font-size:.74rem!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
}
