/*
Theme Name: GA-Mag
Theme URI: https://wearemobians.com/
Author: Gérald Aubard
Description: Thème magazine autonome conçu pour WeAreMobians, sans dépendance à SmartMag ni à un constructeur de pages.
Version: 0.1.29
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 8.0
Text Domain: ga-mag
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
    --ga-mag-accent: #e98321;
    --ga-mag-dark: #090909;
    --ga-mag-text: #27272a;
    --ga-mag-muted: #747474;
    --ga-mag-border: #e5e5e5;
    --ga-mag-surface: #fff;
    --ga-mag-page-width: 1340px;
    --ga-mag-sidebar-width: 25%;
    --ga-mag-radius: 0px;
    --ga-mag-shadow: 0 8px 30px rgb(0 0 0 / 7%);
    --ga-mag-card-shadow: none;
    --ga-mag-card-border: 1px solid transparent;
    --ga-mag-card-hover-opacity: .35;
    --ga-mag-image-radius: 0px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ga-mag-text);
    background-color: #efefef;
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
    font-family: var(--ga-mag-content-font, "Public Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    font-size: 14px;
    line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
a:hover, a:focus-visible { color: var(--ga-mag-accent); }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--ga-mag-accent), white 20%); outline-offset: 3px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { z-index: 99999; top: 8px; left: 8px; width: auto; height: auto; clip: auto; padding: .7rem 1rem; background: #fff; color: #111; }

.site-shell { width: 100%; max-width: var(--ga-mag-page-width); margin: 0 auto; background: var(--ga-mag-surface); box-shadow: var(--ga-mag-shadow); }
.site-header { position: relative; z-index: 50; background: var(--ga-mag-dark); color: #fff; }
.header-inner { min-height: 108px; display: flex; align-items: center; gap: 36px; padding: 10px 26px; }
.site-branding { flex: 0 0 280px; }
.site-logo, .custom-logo-link { display: block; width: min(100%, 280px); }
.site-logo img, .custom-logo { width: 100%; max-height: 88px; object-fit: contain; object-position: left center; }
.primary-navigation { margin-left: auto; }
.primary-navigation ul { display: flex; align-items: center; gap: 34px; margin: 0; padding: 0; list-style: none; }
.primary-navigation li { position: relative; }
.primary-navigation a { display: block; padding: 18px 0; color: #fff; font-size: .86rem; font-weight: 700; }
.primary-navigation .current-menu-item > a, .primary-navigation .current-menu-ancestor > a { color: var(--ga-mag-accent); }
.primary-navigation .sub-menu { position: absolute; top: 100%; left: -18px; display: block; min-width: 220px; padding: 10px 0; background: #111; box-shadow: var(--ga-mag-shadow); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .18s ease; }
.primary-navigation .sub-menu a { padding: 9px 18px; }
.primary-navigation li:hover > .sub-menu, .primary-navigation li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.header-actions { display: flex; align-items: center; gap: 16px; }
.header-actions a, .menu-toggle, .search-toggle { color: #fff; background: none; border: 0; padding: 8px; cursor: pointer; }
.header-actions svg, .menu-toggle svg, .search-toggle svg { display: block; width: 18px; height: 18px; fill: currentColor; }
.menu-toggle { display: none; }
.search-panel { display: none; padding: 16px 26px; background: #161616; }
.search-panel.is-open { display: block; }
.search-form { display: flex; gap: 8px; }
.search-field { width: 100%; padding: 12px 14px; border: 1px solid #d5d5d5; background: #fff; }
.search-submit, .button, input[type="submit"] { border: 0; padding: 12px 20px; color: #fff; background: var(--ga-mag-accent); font-weight: 800; cursor: pointer; }

.site-main { padding: 0 clamp(18px, 2.57vw, 35px) 48px; }
.featured-hero { position: relative; display: grid; height: auto; margin: 0 clamp(18px, 2.57vw, 35px) 42px; overflow: hidden; background: #1b1b1b; color: #fff; }
.featured-hero > a { grid-area: 1 / 1; align-self: start; display: block; }
.featured-hero img { display: block; width: auto; height: auto; max-width: 100%; max-height: 450px; margin-inline: auto; }
.featured-hero::after { pointer-events: none; content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(0 0 0 / 5%) 15%, rgb(0 0 0 / 28%) 48%, rgb(0 0 0 / 88%) 100%); }
.featured-hero__content { position: relative; grid-area: 1 / 1; align-self: end; z-index: 2; padding: 25px; max-width: none; text-shadow: 0 2px 12px rgb(0 0 0 / 80%); }
.category-label { display: inline-block; margin-bottom: 10px; padding: 4px 9px; color: #fff; background: var(--ga-mag-accent); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.featured-hero h1, .featured-hero h2 { max-width: 80%; margin: 15px 0; color: var(--ga-mag-hero-title-color, #fff); font-size: var(--ga-mag-title-size, 33px); line-height: 1.2; text-shadow: var(--ga-mag-title-shadow, 0 2px 12px rgb(0 0 0 / 80%)); letter-spacing: 0; }
.featured-hero h1 a, .featured-hero h2 a { color: inherit; }
.post-meta { display: flex; flex-wrap: wrap; gap: 8px; color: var(--ga-mag-muted); font-size: .78rem; }
.featured-hero .post-meta { color: #e8e8e8; }
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, var(--ga-mag-sidebar-width)); gap: 34px; align-items: start; }
.ga-mag-no-sidebar .content-layout { grid-template-columns: 1fr; }
.posts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
.post-card { min-width: 0; border: var(--ga-mag-card-border); background: #fff; box-shadow: var(--ga-mag-card-shadow); transition: box-shadow .25s ease, transform .25s ease; }
.post-card__media { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; margin-bottom: 0; overflow: hidden; border-radius: var(--ga-mag-image-radius); background: #eee; }
.post-card__media--natural { aspect-ratio: auto; }
.post-card__image-link { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; }
.post-card__image-link::after { content: ""; position: absolute; z-index: 1; inset: 0; background: rgb(0 0 0 / var(--ga-mag-card-hover-opacity)); opacity: 0; transition: opacity .25s ease; }
.post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.post-card__media--natural .post-card__image-link { height: auto; }
.post-card__media--natural img { height: auto; object-fit: contain; }
.post-card__content { padding: 17px 20px 20px; }
.post-card__cta { position: absolute; z-index: 2; top: 50%; left: 50%; width: calc(100% - 40px); color: #fff; font-size: clamp(28px, 2.2vw, 46px); font-weight: 700; line-height: 1.05; text-align: center; text-shadow: 0 2px 12px rgb(0 0 0 / 45%); opacity: 0; transform: translate(-50%, -50%); transition: opacity .16s ease; }
.post-card:hover .post-card__media img, .post-card:focus-within .post-card__media img { transform: scale(1.025); }
.post-card:hover .post-card__image-link::after, .post-card:focus-within .post-card__image-link::after, .post-card:hover .post-card__cta, .post-card:focus-within .post-card__cta { opacity: 1; }
.post-card__media .category-label { position: absolute; z-index: 3; bottom: 10px; left: 10px; margin: 0; }
.post-card h2 { margin: 0 0 9px; color: #161616; font-size: 20px; line-height: 1.36; }
.post-card .post-meta { margin-bottom: 10px; }
.ga-mag-edit-link { display: inline-flex; align-items: center; gap: 7px; margin: 4px 0 10px; padding: 8px 11px; border: 1px solid var(--ga-mag-border); color: #8a5a09; background: #fff; font-size: .75rem; font-weight: 700; line-height: 1.2; }
.ga-mag-edit-link:hover, .ga-mag-edit-link:focus-visible { border-color: var(--ga-mag-accent); color: #111; background: color-mix(in srgb, var(--ga-mag-accent), white 92%); }
.featured-hero .ga-mag-edit-link { border-color: rgb(255 255 255 / 55%); color: #fff; background: rgb(0 0 0 / 38%); text-shadow: none; }
.featured-hero .ga-mag-edit-link:hover, .featured-hero .ga-mag-edit-link:focus-visible { border-color: #fff; color: #111; background: #fff; }
.single-header .ga-mag-edit-link { margin-top: 16px; }
.post-card__excerpt { font-family: var(--ga-mag-content-font, "Public Sans", system-ui, sans-serif); margin-top: 16px; color: #505050; font-size: var(--ga-mag-excerpt-size, 15px); line-height: 1.6; }
.pagination { grid-column: 1 / -1; margin-top: 32px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.pagination .page-numbers { min-width: 38px; padding: 7px 11px; border: 1px solid var(--ga-mag-border); text-align: center; }
.pagination .current, .pagination a:hover { color: #fff; background: var(--ga-mag-accent); border-color: var(--ga-mag-accent); }

.archive-header { margin: 0 0 34px; padding: 34px 0 25px; border-bottom: 1px solid var(--ga-mag-border); }
.archive-header h1 { margin: 0; font-size: clamp(2rem, 4vw, 3rem); }
.archive-description { max-width: 760px; color: var(--ga-mag-muted); }
.archive-description > :last-child { margin-bottom: 0; }

.sidebar { padding: 0 0 0 28px; border-left: 1px solid var(--ga-mag-border); background: #fff; }
.widget { margin-bottom: 34px; }
.widget-title { margin: 0 0 18px; padding: 11px 14px; color: #fff; background: #0c0c0c; font-size: .82rem; letter-spacing: .025em; text-transform: uppercase; }
.widget ul { margin: 0; padding: 0; list-style: none; }
.widget li { margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--ga-mag-border); font-size: .87rem; line-height: 1.45; }
.widget_rss .rss-date, .widget_rss cite { display: block; color: var(--ga-mag-muted); font-size: .75rem; }
.widget_rss .rssSummary { margin-top: 5px; color: #5f5f5f; }
.tagcloud { display: flex; flex-wrap: wrap; gap: 7px; }
.tagcloud a { padding: 4px 8px; border: 1px solid var(--ga-mag-border); font-size: .76rem !important; }
.widget select { width: 100%; padding: 10px; }

.single-article { max-width: 820px; }
.single-header { margin: 0 0 24px; padding-top: 42px; }
.single-header h1 { margin: 6px 0 12px; font-size: var(--ga-mag-title-size, 33px); line-height: 1.2; letter-spacing: 0; color: var(--ga-mag-title-color, #252527); text-shadow: var(--ga-mag-title-shadow, 0 2px 12px rgb(0 0 0 / 80%)); }
.single-featured { margin: 0 0 30px; }
.single-featured img { display: block; width: auto; height: auto; max-width: 100%; max-height: 450px; margin-inline: auto; }
.entry-content { font-family: var(--ga-mag-content-font, "Public Sans", system-ui, sans-serif); font-size: var(--ga-mag-content-size, 18px); line-height: var(--ga-mag-content-line-height, 1.65); }
.entry-content > * { max-width: 100%; }
.entry-content h2, .entry-content h3, .entry-content h4 { font-family: inherit; line-height: 1.22; }
.entry-content a { color: var(--ga-mag-accent); text-decoration: underline; text-underline-offset: .14em; }
.entry-content blockquote { margin: 2rem 0; padding: .4rem 0 .4rem 1.4rem; border-left: 4px solid var(--ga-mag-accent); color: #555; font-size: 1.12em; }
.entry-content iframe { max-width: 100%; }
.entry-content .gallery {
    --ga-mag-gallery-columns: 3;
    display: grid;
    grid-template-columns: repeat(var(--ga-mag-gallery-columns), minmax(0, 1fr));
    gap: clamp(10px, 1.8vw, 18px);
    width: 100%;
    margin: 1.75rem 0;
}
.entry-content .gallery-columns-1 { --ga-mag-gallery-columns: 1; }
.entry-content .gallery-columns-2 { --ga-mag-gallery-columns: 2; }
.entry-content .gallery-columns-3 { --ga-mag-gallery-columns: 3; }
.entry-content .gallery-columns-4 { --ga-mag-gallery-columns: 4; }
.entry-content .gallery-columns-5 { --ga-mag-gallery-columns: 5; }
.entry-content .gallery-columns-6 { --ga-mag-gallery-columns: 6; }
.entry-content .gallery-columns-7 { --ga-mag-gallery-columns: 7; }
.entry-content .gallery-columns-8 { --ga-mag-gallery-columns: 8; }
.entry-content .gallery-columns-9 { --ga-mag-gallery-columns: 9; }
.entry-content .gallery .gallery-item { min-width: 0; margin: 0; text-align: center; }
.entry-content .gallery .gallery-icon a { display: block; }
.entry-content .gallery .gallery-icon img { width: 100%; margin: 0 auto; }
.entry-content .gallery .gallery-caption { margin: 8px 0 0; color: var(--ga-mag-muted); font: italic .78rem/1.45 Georgia, "Times New Roman", serif; }
.entry-content .gallery .gallery-icon img,
.entry-content .wp-block-gallery img { cursor: zoom-in; }
.ga-mag-lightbox { position: fixed; z-index: 100000; inset: 0; display: grid; grid-template-columns: minmax(54px, 8vw) minmax(0, 1fr) minmax(54px, 8vw); align-items: center; padding: 52px 12px 20px; color: #fff; background: rgb(0 0 0 / 92%); }
.ga-mag-lightbox[hidden] { display: none; }
.ga-mag-lightbox__figure { display: grid; grid-column: 2; grid-row: 1; grid-template-rows: minmax(0, 1fr) auto; align-items: center; justify-items: center; width: 100%; height: calc(100vh - 72px); height: calc(100dvh - 72px); margin: 0; }
.ga-mag-lightbox__image { display: block; width: auto; max-width: 100%; height: auto; max-height: calc(100vh - 125px); max-height: calc(100dvh - 125px); object-fit: contain; box-shadow: 0 10px 45px rgb(0 0 0 / 45%); }
.ga-mag-lightbox__caption { max-width: min(820px, 88vw); margin: 12px auto 0; color: #fff; font: 500 .94rem/1.45 "Public Sans", system-ui, sans-serif; text-align: center; }
.ga-mag-lightbox__caption[hidden] { display: none; }
.ga-mag-lightbox__button { display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 1px solid rgb(255 255 255 / 48%); border-radius: 50%; color: #fff; background: rgb(0 0 0 / 38%); font: 300 38px/1 Arial, sans-serif; cursor: pointer; transition: color .18s ease, background-color .18s ease, border-color .18s ease; }
.ga-mag-lightbox__button:hover,
.ga-mag-lightbox__button:focus-visible { border-color: #fff; color: #111; background: #fff; }
.ga-mag-lightbox__previous { grid-column: 1; grid-row: 1; justify-self: center; }
.ga-mag-lightbox__next { grid-column: 3; grid-row: 1; justify-self: center; }
.ga-mag-lightbox__close { position: absolute; top: 12px; right: 16px; font-size: 30px; }
.ga-mag-lightbox__button[hidden] { display: none; }
body.ga-mag-lightbox-open { overflow: hidden; }
.entry-footer { margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--ga-mag-border); }
.related-posts { margin-top: 50px; }
.section-title { margin: 0 0 22px; padding-bottom: 9px; border-bottom: 3px solid var(--ga-mag-accent); font-size: 1.35rem; text-transform: uppercase; }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.related-grid h3 { margin: 10px 0 0; font-size: 1rem; line-height: 1.35; }
.comments-area { margin-top: 48px; }
.comment-list { padding: 0; list-style: none; }
.comment-body { margin-bottom: 24px; padding: 18px; background: #f7f7f7; }
.comment-form input:not([type="submit"]), .comment-form textarea { width: 100%; padding: 11px; border: 1px solid #d8d8d8; }

.ga-compare { --compare: 50%; position: relative; margin: 2rem 0; overflow: hidden; background: #eee; line-height: 0; }
.ga-compare img { width: 100%; }
.ga-compare-before { position: absolute; inset: 0; width: var(--compare); overflow: hidden; }
.ga-compare-before img { width: auto; max-width: none; height: 100%; }
.ga-compare-handle { position: absolute; z-index: 3; top: 0; bottom: 0; left: var(--compare); width: 3px; background: #fff; transform: translateX(-50%); box-shadow: 0 0 0 1px rgb(0 0 0 / 18%); pointer-events: none; }
.ga-compare-handle::after { content: "↔"; position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ga-mag-accent); color: #fff; font: 700 20px/1 system-ui; transform: translate(-50%, -50%); }
.ga-compare-range { position: absolute; z-index: 4; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.ga-compare-label { position: absolute; z-index: 2; bottom: 14px; padding: 7px 10px; border-radius: 2px; background: rgb(0 0 0 / 65%); color: #fff; font-size: .78rem; line-height: 1; }
.ga-compare-label--before { left: 14px; }
.ga-compare-label--after { right: 14px; }
.ga-compare--vertical .ga-compare-before { width: 100%; height: var(--compare); }
.ga-compare--vertical .ga-compare-before img { width: 100%; max-width: 100%; height: auto; }
.ga-compare--vertical .ga-compare-handle { inset: var(--compare) 0 auto; width: auto; height: 3px; transform: translateY(-50%); }
.ga-compare--vertical .ga-compare-handle::after { content: "↕"; }
.ga-compare--vertical .ga-compare-range { writing-mode: vertical-lr; direction: ltr; cursor: ns-resize; }

.site-footer { margin-top: 60px; padding: 64px clamp(18px, 2.57vw, 35px) 0; background: #0f0f11; color: #c0c0c0; }
.footer-widgets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; padding-bottom: 60px; }
.site-footer .widget-title { padding: 0 0 10px; border-bottom: 2px solid var(--ga-mag-accent); }
.site-footer a { color: #e5e5e5; }
.site-footer a:hover { color: var(--ga-mag-accent); }
.footer-bottom { display: flex; align-items: center; flex-direction: column; gap: 32px; padding: 48px 20px 58px; border-top: 1px solid #282828; font-size: .82rem; text-align: center; }
.footer-socials { display: flex; gap: 12px; }
.footer-socials a { display: grid; width: 38px; height: 38px; border-radius: 50%; background: #252527; place-items: center; }
.footer-socials svg { width: 16px; height: 16px; fill: currentColor; }
.footer-menu ul { display: flex; align-items: flex-start; justify-content: center; flex-wrap: wrap; gap: 20px; margin: 0; padding: 0; list-style: none; }
.footer-menu a { font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.footer-menu .sub-menu { display: block; margin-top: 8px; }
.footer-menu .sub-menu li { margin-top: 5px; }
.footer-copyright { margin: 0; color: #8d8d8d; }

.error-404, .no-results { padding: 70px 0; text-align: center; }

@media (max-width: 900px) {
    .site-shell { width: 100%; max-width: none; }
    .header-inner { min-height: 84px; padding: 8px 18px; }
    .site-branding { flex-basis: 210px; }
    .primary-navigation { position: absolute; top: 100%; right: 0; left: 0; display: none; margin: 0; padding: 10px 20px 18px; background: #0c0c0c; }
    .primary-navigation.is-open { display: block; }
    .primary-navigation ul { display: block; }
    .primary-navigation a { padding: 11px 0; }
    .primary-navigation .sub-menu { position: static; display: block; padding: 0 0 0 18px; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
    .menu-toggle { display: block; }
    .content-layout { grid-template-columns: 1fr; }
    .sidebar { padding: 32px 0 0; border-top: 1px solid var(--ga-mag-border); border-left: 0; background: #fff; }
    .footer-widgets { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
    .site-main { padding: 0 16px 36px; }
    .header-inner { gap: 10px; }
    .site-branding { flex: 1 1 auto; }
    .site-logo, .custom-logo-link { width: 190px; }
    .header-actions .social-link { display: none; }
    .featured-hero { margin-right: -16px; margin-left: -16px; }
    .featured-hero img, .single-featured img { max-height: 300px; }
    .featured-hero::after { display: none; }
    .featured-hero__content { grid-area: 2 / 1; padding: 22px 18px; }
    .featured-hero h1, .featured-hero h2 { font-size: var(--ga-mag-title-mobile-size, 32px); }
    .featured-hero h1, .featured-hero h2 { max-width: 100%; }
    .posts-grid { grid-template-columns: 1fr; }
    .single-header h1 { font-size: var(--ga-mag-title-mobile-size, 32px); }
    .entry-content .gallery:not(.gallery-columns-1) { --ga-mag-gallery-columns: 2; }
    .ga-mag-lightbox { grid-template-columns: 52px minmax(0, 1fr) 52px; padding-right: 4px; padding-left: 4px; }
    .ga-mag-lightbox__button { width: 42px; height: 42px; font-size: 32px; }
    .ga-mag-lightbox__close { right: 10px; }
    .related-grid, .footer-widgets { grid-template-columns: 1fr; }
    .footer-bottom { align-items: center; }
    .site-footer { padding-right: 18px; padding-left: 18px; }
}

@media (max-width: 390px) {
    .entry-content .gallery { --ga-mag-gallery-columns: 1; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Shared typography applies to articles without rewriting saved content. */
.single-article .entry-content { font-family: var(--ga-mag-content-font, "Public Sans", system-ui, sans-serif); font-size: var(--ga-mag-content-size, 18px); line-height: var(--ga-mag-content-line-height, 1.65); }
.single-article .entry-content :is(h1,h2,h3,h4,h5,h6) { font-family: var(--ga-mag-content-font, "Public Sans", system-ui, sans-serif); }

/* WordPress classic content remains readable after a theme switch. */
.entry-content::after { content: ""; display: table; clear: both; }
.entry-content .alignleft { float: left; margin: .4em 1.5em 1em 0; }
.entry-content .alignright { float: right; margin: .4em 0 1em 1.5em; }
.entry-content .aligncenter { display: block; margin: 1em auto; clear: both; }
.entry-content .alignwide, .entry-content .alignfull { width: 100%; max-width: 100%; clear: both; }
.entry-content .wp-caption { max-width: 100%; height: auto; }
.entry-content .wp-caption img { max-width: 100%; height: auto; }
.entry-content .wp-caption-text { margin: .6em 0; font-size: .85em; line-height: 1.5; color: var(--ga-mag-muted); text-align: center; }
.entry-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: 1.5em 0; }
.entry-content th, .entry-content td { border: 1px solid var(--ga-mag-border); padding: .6em; text-align: left; }
.entry-content pre { max-width: 100%; overflow-x: auto; padding: 1em; background: #f4f4f4; }
.entry-content pre, .entry-content code, .entry-content kbd, .entry-content samp { font-family: ui-monospace, monospace; }
.entry-content hr { border: 0; border-top: 1px solid var(--ga-mag-border); margin: 2em 0; clear: both; }
@media (max-width: 620px) {
    .entry-content .alignleft, .entry-content .alignright { float: none; margin: 1em auto; }
}
/* Mobile Safari handles scrolling backgrounds more consistently than fixed. */
@supports (-webkit-touch-callout: none) { body.custom-background { background-attachment: scroll !important; } }

.ga-mag-menu-widgets { display: none; }
@media (max-width: 900px) { .primary-navigation.is-open .ga-mag-menu-widgets { display: block; padding-top: 16px; } }
