/* Full-width layout for Astra (parent theme untouched). Undo = deactivate plugin. */
:root{--fw-pad:16px;--fw-prose:80ch}
@media (min-width:600px){:root{--fw-pad:24px}}
@media (min-width:1024px){:root{--fw-pad:32px}}
@media (min-width:1600px){:root{--fw-pad:48px}}
html,body{overflow-x:clip}
/* Astra content/wide widths drive core block layouts too */
body,body .ast-narrow-container,body.ast-plain-container,body.ast-separate-container{
  --wp--custom--ast-content-width-size:100%;
  --wp--custom--ast-wide-width-size:100%;
  --wp--style--global--content-size:100%;
  --wp--style--global--wide-size:100%;
}
/* Page container, header rows, footer rows */
body .site-content>.ast-container,
body .ast-container,
body .ast-builder-grid-row-container.ast-container,
body .site-header .ast-container,
body .site-footer .ast-builder-footer-grid-columns,
body .site-footer .ast-container{
  max-width:none!important;width:100%;
  padding-left:var(--fw-pad)!important;padding-right:var(--fw-pad)!important;
  box-sizing:border-box;
}
body .site-content>.ast-container>.ast-container,
body .site-header .ast-container .ast-container{padding-left:0!important;padding-right:0!important}
body #primary,body .content-area,body .site-main,body .entry-content,body .ast-article-single,body .ast-article-post{max-width:none!important;width:100%}
body.ast-plain-container #primary{margin-left:0;margin-right:0;padding-left:0;padding-right:0}
.entry-content[data-ast-blocks-layout]>*,
.entry-content .is-layout-constrained>:where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:none!important}
/* alignfull already bleeds to 100vw; keep it inside the padded container so nothing scrolls sideways */
.entry-content[data-ast-blocks-layout]>.alignfull{margin-left:calc(-1*var(--fw-pad))!important;margin-right:calc(-1*var(--fw-pad))!important;width:auto!important;max-width:none!important}
/* Readable prose: long paragraphs/lists capped at ~80ch, left edge aligned with headings */
body :is(.entry-content,.entry-content[data-ast-blocks-layout])>:is(p,ul,ol,blockquote),
body :is(.entry-content,.entry-content[data-ast-blocks-layout])>.wp-block-group>:is(p,ul,ol),
body .entry-content :is(.is-layout-constrained,.is-layout-flow)>p{
  max-width:var(--fw-prose)!important;margin-left:0!important;margin-right:auto!important}
body .entry-content :is(p.has-text-align-center,p[style*="text-align:center"],p[style*="text-align: center"]){margin-left:auto!important;margin-right:auto!important}
/* Media scales */
:where(.entry-content) :where(img,video,iframe,embed,object){max-width:100%}
.entry-content table{max-width:100%}
.entry-content .wp-block-table{overflow-x:auto}
/* Core column/gallery blocks: let them wrap instead of squeezing on small screens */
@media (max-width:781px){.entry-content .wp-block-columns:not(.is-not-stacked-on-mobile){flex-wrap:wrap}}
/* Counterra project-gallery "More projects" grid */
@media (min-width:1024px){body .ctr-gnav-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important}}
/* Core gallery blocks (3+ columns): add columns as the screen widens instead of stretching photos */
@media (max-width:599px){body .wp-block-gallery.has-nested-images:is(.columns-3,.columns-4,.columns-5,.columns-6,.columns-default) figure.wp-block-image:not(#fw-x){width:calc((100% - var(--wp--style--unstable-gallery-gap,16px)*1)/2)!important;flex-grow:0}}
@media (min-width:600px) and (max-width:1023px){body .wp-block-gallery.has-nested-images:is(.columns-3,.columns-4,.columns-5,.columns-6,.columns-default) figure.wp-block-image:not(#fw-x){width:calc((100% - var(--wp--style--unstable-gallery-gap,16px)*2)/3)!important;flex-grow:0}}
@media (min-width:1024px) and (max-width:1365px){body .wp-block-gallery.has-nested-images:is(.columns-3,.columns-4,.columns-5,.columns-6,.columns-default) figure.wp-block-image:not(#fw-x){width:calc((100% - var(--wp--style--unstable-gallery-gap,16px)*3)/4)!important;flex-grow:0}}
@media (min-width:1366px) and (max-width:1599px){body .wp-block-gallery.has-nested-images:is(.columns-3,.columns-4,.columns-5,.columns-6,.columns-default) figure.wp-block-image:not(#fw-x){width:calc((100% - var(--wp--style--unstable-gallery-gap,16px)*4)/5)!important;flex-grow:0}}
@media (min-width:1600px){body .wp-block-gallery.has-nested-images:is(.columns-3,.columns-4,.columns-5,.columns-6,.columns-default) figure.wp-block-image:not(#fw-x){width:calc((100% - var(--wp--style--unstable-gallery-gap,16px)*5)/6)!important;flex-grow:0}}
