/* Global safeguards */
html,
body { max-width: 100%; overflow-x: clip; }
img,
video,
iframe { max-width: 100%; height: auto; }

/* Site-wide fluid layout safeguards, including Membership & Training pages. */
body .wp-site-blocks,
body main,
body main > *,
body .entry-content,
body .wp-block-group,
body .wp-block-columns { box-sizing: border-box; max-width: 100%; }
body .entry-content > .alignwide,
body .entry-content > .alignfull { max-width: 100%; }
body table,
body input,
body select,
body textarea,
body button { max-width: 100%; }

/* Header: wide horizontal layout on desktop, compact layout on small screens. */
.onxon-header { width: 100%; background: #050505; }
.onxon-header > .wp-block-group {
    box-sizing: border-box;
    width: min(1180px, calc(100% - 40px));
    max-width: 1180px !important;
    min-height: 72px;
    margin-inline: auto !important;
    padding: 12px 0 !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: clamp(18px, 3vw, 42px) !important;
}
.onxon-header .onxon-brand,
.onxon-header .onxon-header-social,
.onxon-header .onxon-main-nav { margin: 0 !important; }
.onxon-header .onxon-brand { flex: 0 0 auto; }
.onxon-header .onxon-header-social { flex: 0 0 auto; }
.onxon-header .onxon-main-nav { flex: 1 1 auto; justify-content: flex-end; }
.onxon-header .onxon-main-nav .wp-block-navigation__container { column-gap: clamp(14px, 1.7vw, 26px); }
.onxon-header .wp-block-navigation-item__content { white-space: nowrap; }

/* Home page widths and section spacing. */
body.home {
    --wp--style--global--content-size: min(760px, calc(100vw - 32px));
    --wp--style--global--wide-size: min(1180px, calc(100vw - 40px));
}
body.home .onxon-section,
body.home .onxon-hero,
body.home .onxon-cta { box-sizing: border-box; padding-inline: clamp(16px, 4vw, 48px) !important; }
body.home .onxon-home-current-tournament > figure {
    width: min(640px, 100%) !important;
    max-width: 640px !important;
    margin-inline: auto !important;
}
body.home .onxon-home-current-tournament img { display: block; width: 100%; height: auto; }
body.home .onxon-home-hero { padding-block: clamp(52px, 7vw, 96px) !important; }
body.home .onxon-home-hero > .wp-block-columns { width: 100%; max-width: 1180px !important; }
body.home .onxon-home-hero-title-v1012 {
    max-width: 12ch;
    font-size: clamp(3.6rem, 7vw, 7.2rem) !important;
    line-height: .94 !important;
    overflow-wrap: normal;
}
body.home .onxon-home-hero-intro-v1012,
body.home .onxon-home-social-note-v1013 { max-width: 760px; }
body.home .wp-block-buttons { gap: 12px; }
body.home .wp-block-button__link { text-align: center; }

/* Training cards. */
body.home .onxon-training-slider { width: 100%; max-width: 1180px !important; }
body.home .onxon-training-slider > .wp-block-gallery {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    gap: clamp(16px, 2.5vw, 30px) !important;
}
body.home .onxon-training-slider .onxon-training-slide {
    width: 100% !important;
    margin: 0 !important;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: 16px;
}
body.home .onxon-training-slider .onxon-training-slide a,
body.home .onxon-training-slider .onxon-training-slide img {
    display: block;
    width: 100% !important;
    height: 100% !important;
}
body.home .onxon-training-slider .onxon-training-slide img { object-fit: cover; }

/* Home photo grid. */
body.home .onxon-home-photo-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(1180px, 100%) !important;
    max-width: 1180px !important;
    gap: clamp(12px, 2vw, 24px) !important;
}
body.home .onxon-home-photo-grid > figure {
    width: 100% !important;
    margin: 0 !important;
    aspect-ratio: 8 / 5;
    overflow: hidden;
    border-radius: 14px;
}
body.home .onxon-home-photo-grid img { width: 100% !important; height: 100% !important; object-fit: cover; }
body.home .onxon-partner { width: 100%; max-width: 1180px !important; }
body.home .onxon-partner img { max-height: 180px; width: auto; object-fit: contain; }
body.home .onxon-cta > .wp-block-group { width: 100%; max-width: 1180px !important; gap: 24px; }

/* Footer: wider on desktop and progressively stacked. */
.onxon-footer > .wp-block-columns {
    box-sizing: border-box;
    width: min(1180px, calc(100% - 40px));
    max-width: 1180px !important;
    margin-inline: auto !important;
    align-items: flex-start;
    gap: clamp(28px, 5vw, 72px);
}
.onxon-footer .wp-block-column { min-width: 0; }

@media (max-width: 980px) {
    .onxon-header > .wp-block-group { width: calc(100% - 32px); gap: 18px !important; }
    .onxon-header .onxon-header-social { display: none !important; }
    body.home .onxon-training-slider > .wp-block-gallery,
    body.home .onxon-home-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .onxon-footer > .wp-block-columns { width: calc(100% - 32px); gap: 28px; }
}

@media (max-width: 781px) {
    body .wp-block-columns:not(.is-not-stacked-on-mobile) { flex-wrap: wrap !important; }
    body .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 100% !important; min-width: 0; }
    .onxon-tm { width: 100%; padding-inline: 12px; }
    .onxon-tm-grid,
    .onxon-tm-categories,
    .onxon-tm-choice-grid,
    .onxon-tm-insights { grid-template-columns: 1fr !important; }
    .onxon-tm-card,
    .onxon-tm-success,
    .onxon-tm-profile-card { padding: 18px; }
    .onxon-tm-table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .onxon-header > .wp-block-group {
        width: 100%;
        min-height: 64px;
        padding: 10px 16px !important;
        gap: 12px !important;
    }
    .onxon-header .onxon-main-nav { margin-left: auto !important; flex: 0 0 auto; }
    body.home .onxon-home-current-tournament > figure { width: min(560px, 100%) !important; }
    body.home .onxon-home-hero-title-v1012 { font-size: clamp(2.8rem, 12vw, 4.8rem) !important; }
    body.home .onxon-home-hero-intro-v1012 { font-size: clamp(1.05rem, 4vw, 1.35rem) !important; }
    body.home .onxon-cta > .wp-block-group { align-items: flex-start !important; }
    .onxon-footer > .wp-block-columns { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    body.home { --wp--style--global--content-size: calc(100vw - 32px); --wp--style--global--wide-size: calc(100vw - 32px); }
    body.home .onxon-section,
    body.home .onxon-hero,
    body.home .onxon-cta { padding-inline: 16px !important; }
    body.home .onxon-home-hero { padding-block: 44px !important; }
    body.home .onxon-home-hero-title-v1012 { font-size: clamp(2.35rem, 12.5vw, 3.7rem) !important; line-height: .98 !important; }
    body.home .wp-block-buttons { width: 100%; }
    body.home .wp-block-button { width: 100%; }
    body.home .wp-block-button__link { box-sizing: border-box; width: 100%; }
    body.home .onxon-training-slider > .wp-block-gallery,
    body.home .onxon-home-photo-grid { grid-template-columns: 1fr; }
    body.home .onxon-training-slider .onxon-training-slide { max-width: 420px; margin-inline: auto !important; }
    body.home .onxon-cta > .wp-block-group { display: grid !important; grid-template-columns: 1fr; }
    .onxon-footer { padding-inline: 16px !important; }
    .onxon-footer > .wp-block-columns { width: 100%; grid-template-columns: 1fr; text-align: center; }
    .onxon-footer .wp-block-social-links { justify-content: center; }
}
