/* WordPress / Elementor adjustments for the Oxyderm 2026 theme. site.css is the whole design system; Elementor's front-end CSS is not loaded,
   so its wrappers are plain block elements. The rules below keep those wrappers transparent and give the article layout its grid. */
.elementor, .elementor-element, .e-con, .ox-chrome { display: block; }
.e-con.post-layout, .elementor .e-con.post-layout { display: grid; }
.e-con.post-side { display: grid; }
.e-con.prose.post-article { display: block; }
.elementor-element.elementor-widget { margin: 0; }
.elementor .elementor-widget:not(:last-child) { margin-bottom: 0; }
.elementor .e-con > .e-con-inner { display: contents; }
.post-article .elementor-widget { max-width: 100%; }
/* Elementor's optimized markup may wrap widget output; keep post-article children on the reading measure */
.post-article > .elementor-element > p, .post-article > .elementor-element > h2, .post-article > .elementor-element > h3, .post-article > .elementor-element > ul, .post-article > .elementor-element > ol, .post-article > .elementor-element > blockquote { max-width: 740px; }
@media (max-width: 960px) { .post-article > .elementor-element > p, .post-article > .elementor-element > h2, .post-article > .elementor-element > h3, .post-article > .elementor-element > ul, .post-article > .elementor-element > ol { max-width: none; } .e-con.post-side { display: contents; } }
/* the header is a transparent overlay (site.css offsets `main > .hero`); in WordPress the page opener sits inside Elementor wrappers */
.hdr-overlay main .hero, .hdr-overlay main .phero, .hdr-overlay main .post-hero, .hdr-overlay main .book-hero { margin-top: 0; padding-top: var(--header-h); }
/* the admin bar sits above the absolute header */
body.admin-bar .header { top: 32px; } @media (max-width: 782px) { body.admin-bar .header { top: 46px; } }
/* WordPress core alignment/caption classes inside prose */
.prose .wp-caption, .prose figure { max-width: 100%; } .prose .wp-caption-text, .prose figcaption { font-size: .85rem; color: var(--mist); margin-top: 6px; }
.prose .alignleft { float: left; margin: 0 1.5em 1em 0; } .prose .alignright { float: right; margin: 0 0 1em 1.5em; } .prose .aligncenter { display: block; margin: 1.5em auto; }
