:root {
    --mh-red: #d20b18;
    --mh-red-dark: #a70812;
    --mh-ink: #111315;
    --mh-charcoal: #1b1e21;
    --mh-grey-900: #24272a;
    --mh-grey-700: #50555a;
    --mh-grey-500: #7d8287;
    --mh-grey-300: #d9dcdf;
    --mh-grey-200: #e8eaec;
    --mh-grey-100: #f4f5f6;
    --mh-paper: #fbfaf8;
    --mh-white: #ffffff;
    --mh-shell: 1280px;
    --mh-header-height: 96px;
    --mh-shadow: 0 28px 70px rgba(17, 19, 21, .12);
    --mh-shadow-soft: 0 16px 42px rgba(17, 19, 21, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--mh-ink);
    background: var(--mh-white);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
    font-size: 17px;
    line-height: 1.65;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
::selection { background: var(--mh-red); color: var(--mh-white); }

.screen-reader-text,
.mh-skip-link {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.mh-skip-link:focus {
    width: auto;
    height: auto;
    clip: auto;
    margin: 12px;
    padding: 12px 18px;
    z-index: 10000;
    background: var(--mh-white);
    color: var(--mh-ink);
}

.mh-shell {
    width: min(calc(100% - 48px), var(--mh-shell));
    margin-inline: auto;
}

h1, h2, h3, h4 {
    margin: 0;
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.045em;
}
h1 { font-size: clamp(3rem, 7vw, 6.75rem); }
h2 { font-size: clamp(2.25rem, 4.5vw, 4.5rem); }
h3 { font-size: clamp(1.35rem, 2vw, 1.85rem); }
p { margin: 0 0 1.15em; }
p:last-child { margin-bottom: 0; }

.mh-kicker {
    margin: 0 0 18px;
    color: var(--mh-red);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .16em;
    line-height: 1.2;
    text-transform: uppercase;
}

.mh-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 24px;
    border: 1px solid transparent;
    border-radius: 2px;
    font-size: .83rem;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
    transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.mh-button:hover { transform: translateY(-2px); }
.mh-button--red { background: var(--mh-red); color: var(--mh-white); box-shadow: 0 12px 30px rgba(210, 11, 24, .2); }
.mh-button--red:hover { background: var(--mh-red-dark); }
.mh-button--dark { background: var(--mh-ink); color: var(--mh-white); }
.mh-button--dark:hover { background: #000; }
.mh-button--light { background: var(--mh-white); color: var(--mh-ink); }
.mh-button--light:hover { background: var(--mh-paper); }
.mh-button--outline { border-color: var(--mh-grey-300); background: transparent; color: var(--mh-ink); }
.mh-button--outline:hover { border-color: var(--mh-ink); }
.mh-button--glass { border-color: rgba(255, 255, 255, .55); background: rgba(11, 13, 15, .24); color: var(--mh-white); backdrop-filter: blur(14px); }
.mh-button--glass:hover { background: rgba(11, 13, 15, .46); }
.mh-button--outline-light { border-color: rgba(255, 255, 255, .5); color: var(--mh-white); }
.mh-button--outline-light:hover { background: var(--mh-white); color: var(--mh-ink); }
.mh-text-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--mh-ink);
    font-weight: 800;
    border-bottom: 1px solid var(--mh-red);
    padding-bottom: 4px;
}
.mh-text-link::after { content: "↗"; color: var(--mh-red); }

/* Top stripe — all text is intentionally white for reliable contrast. */
.mh-announcement {
    position: relative;
    z-index: 110;
    background: var(--mh-red);
    color: var(--mh-white);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .02em;
}
.mh-announcement *, .mh-announcement a { color: var(--mh-white) !important; }
.mh-announcement__inner {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.mh-announcement p { margin: 0; display: flex; gap: 18px; align-items: center; }
.mh-announcement p span { opacity: .86; font-weight: 600; }
.mh-announcement__links { display: flex; gap: 20px; }
.mh-announcement__links a:hover { text-decoration: underline; }

.mh-site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid rgba(17, 19, 21, .09);
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(18px);
    transition: box-shadow .2s ease;
}
.admin-bar .mh-site-header { top: 32px; }
.mh-site-header.is-scrolled { box-shadow: 0 12px 35px rgba(17, 19, 21, .08); }
.mh-header-inner {
    min-height: var(--mh-header-height);
    display: grid;
    grid-template-columns: 128px minmax(0, 1fr) auto;
    align-items: center;
    gap: 34px;
}
.mh-header-brand { display: flex; align-items: center; }
.mh-brand { display: inline-flex; align-items: center; }
.mh-brand img, .custom-logo {
    width: 84px;
    height: 82px;
    object-fit: contain;
}
.mh-primary-navigation { min-width: 0; }
.mh-menu, .mh-primary-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.mh-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(15px, 1.8vw, 28px);
}
.mh-menu > li { position: relative; }
.mh-menu > li > a {
    display: flex;
    min-height: var(--mh-header-height);
    align-items: center;
    color: var(--mh-ink);
    font-size: .85rem;
    font-weight: 800;
    white-space: nowrap;
    border-bottom: 3px solid transparent;
}
.mh-menu > li.current-menu-item > a,
.mh-menu > li.current-menu-ancestor > a,
.mh-menu > li > a:hover { color: var(--mh-red); border-bottom-color: var(--mh-red); }
.mh-menu .menu-item-has-children > a::after { content: "+"; margin-left: 7px; color: var(--mh-red); }
.mh-menu .sub-menu {
    position: absolute;
    top: calc(100% - 1px);
    left: -22px;
    min-width: 250px;
    padding: 12px;
    border: 1px solid var(--mh-grey-200);
    background: var(--mh-white);
    box-shadow: var(--mh-shadow-soft);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: .2s ease;
}
.mh-menu li:hover > .sub-menu,
.mh-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.mh-menu .sub-menu a {
    display: block;
    padding: 12px 14px;
    font-size: .88rem;
    font-weight: 700;
    border-left: 2px solid transparent;
}
.mh-menu .sub-menu a:hover { color: var(--mh-red); background: var(--mh-grey-100); border-left-color: var(--mh-red); }
.mh-header-actions { display: flex; align-items: center; gap: 8px; }
.mh-header-action {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 13px;
    border: 1px solid var(--mh-grey-300);
    background: var(--mh-white);
    font-size: .78rem;
    font-weight: 800;
}
.mh-header-action:hover { border-color: var(--mh-ink); }
.mh-header-action svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mh-cart-count {
    min-width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--mh-red);
    color: var(--mh-white);
    border-radius: 50%;
    font-size: .7rem;
}
.mh-header-vip { min-height: 46px; padding-inline: 20px; }
.mh-menu-toggle { display: none; }

/* Hero: actual image is contained, never cropped or zoomed. */
.mh-hero {
    position: relative;
    min-height: min(780px, calc(100vh - 138px));
    overflow: hidden;
    background: #111;
    color: var(--mh-white);
}
.mh-hero__media,
.mh-hero__media::before,
.mh-hero__shade { position: absolute; inset: 0; }
.mh-hero__media::before {
    content: "";
    background-image: url('../images/hoyland-hub-hero.jpg');
    background-size: cover;
    background-position: center;
    filter: blur(22px) brightness(.45);
    transform: scale(1.08);
}
.mh-hero__media img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.mh-hero__shade {
    z-index: 2;
    background:
        linear-gradient(90deg, rgba(5, 7, 9, .94) 0%, rgba(5, 7, 9, .72) 34%, rgba(5, 7, 9, .18) 68%, rgba(5, 7, 9, .18) 100%),
        linear-gradient(0deg, rgba(5, 7, 9, .66) 0%, transparent 45%);
}
.mh-hero__content {
    position: relative;
    z-index: 3;
    min-height: min(780px, calc(100vh - 138px));
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 44px;
    padding-block: clamp(80px, 12vh, 135px) 54px;
}
.mh-hero__copy { width: min(690px, 65%); }
.mh-hero .mh-kicker { color: #fff; opacity: .85; }
.mh-hero h1 { color: var(--mh-white); text-shadow: 0 10px 40px rgba(0,0,0,.28); }
.mh-hero__lead { max-width: 650px; margin: 28px 0 0; color: rgba(255, 255, 255, .88); font-size: clamp(1.1rem, 1.6vw, 1.35rem); line-height: 1.55; }
.mh-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.mh-hero__facts {
    width: min(300px, 28%);
    display: grid;
    border-top: 1px solid rgba(255, 255, 255, .4);
}
.mh-hero__facts span {
    padding: 14px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .25);
    color: rgba(255, 255, 255, .92);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.mh-trust-line { background: var(--mh-ink); color: var(--mh-white); }
.mh-trust-line__inner { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.mh-trust-line p { margin: 0; font-size: 1rem; }
.mh-trust-line__marks { display: flex; gap: 28px; color: rgba(255,255,255,.62); font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }

.mh-section { padding-block: clamp(78px, 9vw, 132px); }
.mh-intro-section { background: var(--mh-paper); }
.mh-editorial-intro { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: clamp(60px, 8vw, 120px); align-items: end; }
.mh-editorial-intro h2 { max-width: 830px; }
.mh-editorial-intro > div:last-child { color: var(--mh-grey-700); font-size: 1.1rem; }

.mh-section-heading { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .65fr); align-items: end; gap: 50px; margin-bottom: 54px; }
.mh-section-heading > p { color: var(--mh-grey-700); font-size: 1.05rem; }
.mh-section-heading--inline { display: flex; justify-content: space-between; align-items: end; }
.mh-section-heading--inline .mh-button { flex: 0 0 auto; }

.mh-services-section { background: var(--mh-white); }
.mh-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--mh-grey-300); }
.mh-service-card {
    min-height: 230px;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) 30px;
    gap: 24px;
    align-items: start;
    padding: 38px 32px;
    border-bottom: 1px solid var(--mh-grey-300);
    background: var(--mh-white);
    transition: background-color .2s ease, color .2s ease;
}
.mh-service-card:nth-child(odd) { border-right: 1px solid var(--mh-grey-300); }
.mh-service-card:hover { background: var(--mh-ink); color: var(--mh-white); }
.mh-service-card__index { color: var(--mh-red); font-size: .78rem; font-weight: 800; letter-spacing: .12em; }
.mh-service-card h3 { margin-bottom: 14px; }
.mh-service-card p { color: var(--mh-grey-700); margin: 0; }
.mh-service-card:hover p { color: rgba(255,255,255,.68); }
.mh-service-card__arrow { font-size: 1.4rem; color: var(--mh-red); transition: transform .2s ease; }
.mh-service-card:hover .mh-service-card__arrow { transform: translate(4px,-4px); }

.mh-news-section { background: var(--mh-grey-100); }
.mh-news-grid, .mh-archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.mh-news-card { min-width: 0; background: var(--mh-white); border: 1px solid var(--mh-grey-200); box-shadow: 0 1px 0 rgba(17, 19, 21, .03); }
.mh-news-card__image { aspect-ratio: 3 / 2; overflow: hidden; display: block; background: var(--mh-ink); }
.mh-news-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.mh-news-card:hover .mh-news-card__image img { transform: scale(1.035); }
.mh-news-card__placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: var(--mh-white); font-size: 1.4rem; font-weight: 800; }
.mh-news-card__content { padding: 30px; }
.mh-news-card__meta { margin: 0 0 12px; color: var(--mh-red); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mh-news-card h2, .mh-news-card h3 { margin-bottom: 14px; letter-spacing: -.035em; }
.mh-news-card p { color: var(--mh-grey-700); }
.mh-news-card--empty { grid-column: span 3; min-height: 300px; display: grid; place-items: center; text-align: center; }

.mh-hub-feature { padding: 0; background: var(--mh-ink); color: var(--mh-white); }
.mh-hub-feature__grid { width: min(100%, 1600px); display: grid; grid-template-columns: 1.15fr .85fr; }
.mh-hub-feature__image { min-height: 680px; background: #090a0b; overflow: hidden; }
.mh-hub-feature__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.mh-hub-feature__content { padding: clamp(70px, 8vw, 125px); display: flex; flex-direction: column; justify-content: center; }
.mh-hub-feature__content .mh-kicker { color: #ff727a; }
.mh-hub-feature__content > p { color: rgba(255,255,255,.72); font-size: 1.08rem; }
.mh-hub-feature dl { margin: 34px 0; border-top: 1px solid rgba(255,255,255,.18); }
.mh-hub-feature dl div { display: grid; grid-template-columns: 110px 1fr; gap: 24px; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.mh-hub-feature dt { color: #ff727a; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mh-hub-feature dd { margin: 0; color: rgba(255,255,255,.85); }

.mh-directory-section { background: var(--mh-white); }
.mh-plugin-frame {
    width: 100%;
    margin-block: 36px;
    overflow: visible;
}
.mh-plugin-frame--home { margin-block: 0; }
.mh-plugin-frame > :first-child { margin-top: 0 !important; }
.mh-plugin-frame > :last-child { margin-bottom: 0 !important; }

.mh-vip-section { background: var(--mh-red); color: var(--mh-white); }
.mh-vip-section__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .5fr); gap: 80px; align-items: center; }
.mh-vip-section .mh-kicker { color: rgba(255,255,255,.72); }
.mh-vip-section h2 { max-width: 850px; }
.mh-vip-section p { color: rgba(255,255,255,.8); max-width: 760px; font-size: 1.08rem; }
.mh-vip-section__price { padding: 38px 0 38px 50px; border-left: 1px solid rgba(255,255,255,.35); }
.mh-vip-section__price span { display: block; font-size: clamp(4.5rem, 8vw, 7.5rem); font-weight: 900; letter-spacing: -.07em; line-height: .9; }
.mh-vip-section__price small { display: block; margin: 14px 0 24px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }

.mh-standards-section { background: var(--mh-paper); }
.mh-standards-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
.mh-standards-grid > a { display: grid; grid-template-columns: 170px minmax(0,1fr); gap: 32px; align-items: center; padding: 34px; background: var(--mh-white); border: 1px solid var(--mh-grey-200); }
.mh-standards-grid img { width: 170px; height: 170px; object-fit: contain; background: #fff; }
.mh-standards-grid p { color: var(--mh-grey-700); }

.mh-final-cta { padding-block: 82px; background: var(--mh-ink); color: var(--mh-white); }
.mh-final-cta__inner { display: flex; justify-content: space-between; align-items: center; gap: 60px; }
.mh-final-cta .mh-kicker { color: #ff727a; }
.mh-final-cta h2 { max-width: 820px; font-size: clamp(2.2rem, 4vw, 4rem); }
.mh-final-cta__actions { display: flex; gap: 12px; flex: 0 0 auto; }

/* Inner pages */
.mh-page-hero {
    padding-block: 82px 74px;
    background: var(--mh-ink);
    color: var(--mh-white);
    border-bottom: 7px solid var(--mh-red);
}
.mh-page-hero .mh-kicker { color: #ff727a; }
.mh-page-hero h1 { max-width: 1050px; font-size: clamp(3rem, 6vw, 5.6rem); }
.mh-page-content { padding-block: 90px 120px; }
.mh-page-content > * + * { margin-top: 84px; }
.mh-page-content > .mh-page-intro:first-child { margin-top: 0; }
.mh-page-intro { max-width: 960px; }
.mh-page-intro h1 { font-size: clamp(2.8rem, 5.5vw, 5.5rem); }
.mh-page-intro p:last-child { max-width: 820px; margin-top: 26px; color: var(--mh-grey-700); font-size: 1.18rem; }
.mh-content-split { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .65fr); gap: clamp(55px, 8vw, 110px); align-items: start; }
.mh-content-split h2 { margin-bottom: 28px; font-size: clamp(2rem, 3.5vw, 3.5rem); }
.mh-content-split p { color: var(--mh-grey-700); font-size: 1.07rem; }
.mh-detail-panel { padding: 38px; border-top: 5px solid var(--mh-red); background: var(--mh-grey-100); }
.mh-detail-panel h3 { margin-bottom: 22px; }
.mh-detail-panel ul { margin: 0; padding: 0; list-style: none; }
.mh-detail-panel li { padding: 12px 0; border-bottom: 1px solid var(--mh-grey-300); font-weight: 700; }
.mh-detail-panel li:last-child { border-bottom: 0; }
.mh-dark-band { margin-inline: calc(50% - 50vw); padding: 85px max(24px, calc((100vw - var(--mh-shell)) / 2)); background: var(--mh-ink); color: var(--mh-white); }
.mh-dark-band > div { max-width: 850px; }
.mh-dark-band .mh-kicker { color: #ff727a; }
.mh-dark-band p:last-child { color: rgba(255,255,255,.72); font-size: 1.08rem; }
.mh-content-grid { display: grid; gap: 1px; background: var(--mh-grey-300); border: 1px solid var(--mh-grey-300); }
.mh-content-grid--three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.mh-content-grid--two { grid-template-columns: repeat(2, minmax(0,1fr)); }
.mh-content-grid article { min-width: 0; padding: 38px; background: var(--mh-white); }
.mh-content-grid h2 { margin-bottom: 18px; font-size: clamp(1.55rem, 2.5vw, 2.35rem); }
.mh-content-grid p { color: var(--mh-grey-700); }
.mh-number { display: block; margin-bottom: 48px; color: var(--mh-red); font-size: .75rem; font-weight: 800; letter-spacing: .12em; }
.mh-red-panel { background: var(--mh-red) !important; color: var(--mh-white); }
.mh-red-panel p { color: rgba(255,255,255,.82) !important; }
.mh-clean-list { margin: 0; padding: 0; list-style: none; }
.mh-clean-list li { padding: 13px 0; border-bottom: 1px solid var(--mh-grey-300); font-weight: 700; }
.mh-callout { display: flex; justify-content: space-between; align-items: center; gap: 50px; padding: 48px; background: var(--mh-grey-100); border-left: 7px solid var(--mh-red); }
.mh-callout h2 { margin-bottom: 14px; font-size: clamp(1.9rem, 3vw, 3rem); }
.mh-callout p { max-width: 760px; color: var(--mh-grey-700); }
.mh-shop-embed > h2 { margin-bottom: 36px; }
.mh-accreditation-layout { display: grid; grid-template-columns: minmax(300px, .7fr) minmax(0, 1.3fr); gap: 70px; align-items: center; }
.mh-accreditation-layout h2 { margin-bottom: 25px; }
.mh-accreditation-layout p { color: var(--mh-grey-700); font-size: 1.07rem; }
.mh-accreditation-feature { margin: 0; padding: 28px; border: 1px solid var(--mh-grey-200); background: var(--mh-white); box-shadow: var(--mh-shadow-soft); }
.mh-accreditation-feature img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.mh-accreditation-feature figcaption { padding-top: 18px; color: var(--mh-grey-700); font-size: .9rem; }
.mh-vip-price { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 42px; align-items: center; padding: 52px; background: var(--mh-red); color: var(--mh-white); }
.mh-vip-price__amount { display: block; font-size: clamp(4rem, 7vw, 7rem); font-weight: 900; letter-spacing: -.07em; line-height: .8; }
.mh-vip-price__term { display: block; margin-top: 14px; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.mh-vip-price p { color: rgba(255,255,255,.8); font-size: 1.08rem; }
.mh-empty-state { padding: 70px; border: 1px solid var(--mh-grey-300); background: var(--mh-grey-100); text-align: center; }
.mh-empty-state h2 { margin-bottom: 18px; }
.mh-empty-state p { color: var(--mh-grey-700); }
.mh-contact-layout { display: grid; grid-template-columns: minmax(300px, .55fr) minmax(0, 1fr); gap: 70px; align-items: start; }
.mh-contact-layout > div:first-child { position: sticky; top: 150px; padding: 42px; background: var(--mh-ink); color: var(--mh-white); }
.mh-contact-layout > div:first-child h2 { margin-bottom: 24px; }
.mh-contact-layout > div:first-child p { color: rgba(255,255,255,.72); }
.mh-contact-layout > div:first-child a { color: var(--mh-white); border-bottom: 1px solid rgba(255,255,255,.4); }
.mh-contact-form { padding: 42px; border: 1px solid var(--mh-grey-300); background: var(--mh-white); box-shadow: var(--mh-shadow-soft); }
.mh-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; }
.mh-form-grid label { display: grid; gap: 8px; color: var(--mh-ink); font-size: .82rem; font-weight: 800; }
.mh-form-full { grid-column: 1 / -1; }
.mh-contact-form input, .mh-contact-form select, .mh-contact-form textarea,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce input.input-text, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce select, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce textarea {
    width: 100%;
    min-height: 52px;
    padding: 12px 15px;
    border: 1px solid var(--mh-grey-300);
    border-radius: 0;
    background: var(--mh-white);
    color: var(--mh-ink);
    outline: none;
}
.mh-contact-form textarea, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce textarea { min-height: 150px; resize: vertical; }
.mh-contact-form input:focus, .mh-contact-form select:focus, .mh-contact-form textarea:focus,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce input.input-text:focus, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce select:focus, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce textarea:focus { border-color: var(--mh-red); box-shadow: 0 0 0 3px rgba(210,11,24,.09); }
.mh-check { display: flex !important; grid-template-columns: 20px 1fr; align-items: start; font-weight: 600 !important; }
.mh-check input { width: 18px; min-height: 18px; margin-top: 3px; }
.mh-honeypot { position: absolute !important; left: -9999px !important; }
.mh-contact-form .mh-button { margin-top: 28px; }
.mh-form-notice { margin-bottom: 24px; padding: 16px 18px; border-left: 5px solid; }
.mh-form-notice--success { border-color: #16833e; background: #effaf3; }
.mh-form-notice--error { border-color: var(--mh-red); background: #fff2f3; }
.mh-legal-copy { max-width: 900px; }
.mh-legal-copy h2 { margin: 52px 0 18px; font-size: clamp(1.7rem, 2.6vw, 2.6rem); }
.mh-legal-copy h2:first-child { margin-top: 0; }
.mh-legal-copy p { color: var(--mh-grey-700); }

/* Single and archive */
.mh-single-header { padding-block: 90px 70px; background: var(--mh-ink); color: var(--mh-white); }
.mh-single-header .mh-kicker { color: #ff727a; }
.mh-single-header__inner { max-width: 1050px; }
.mh-single-header h1 { font-size: clamp(3rem, 6vw, 5.8rem); }
.mh-single-header p:last-child { max-width: 780px; margin-top: 26px; color: rgba(255,255,255,.72); font-size: 1.18rem; }
.mh-single-image { margin-top: -1px; }
.mh-single-image img { width: 100%; max-height: 760px; object-fit: cover; }
.mh-single-content { max-width: 900px; padding-block: 80px 120px; }
.mh-single-content > * + * { margin-top: 1.3em; }
.mh-single-content h2 { margin-top: 1.4em; font-size: clamp(2rem, 3.6vw, 3.4rem); }
.mh-single-content h3 { margin-top: 1.4em; }
.mh-single-content p, .mh-single-content li { color: var(--mh-grey-700); }
.mh-single-content a { color: var(--mh-red); text-decoration: underline; }
.mh-pagination { margin-top: 50px; }
.mh-pagination .nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.mh-pagination .page-numbers { min-width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--mh-grey-300); font-weight: 700; }
.mh-pagination .current { background: var(--mh-red); border-color: var(--mh-red); color: var(--mh-white); }
.mh-error-page { min-height: 65vh; display: grid; place-items: center; padding-block: 100px; background: var(--mh-paper); text-align: center; }
.mh-error-page p:not(.mh-kicker) { max-width: 650px; margin: 24px auto 34px; color: var(--mh-grey-700); }

/* WooCommerce — structured, square and agency-level rather than pill-shaped. */
.woocommerce .woocommerce-breadcrumb { margin: 0 0 24px; color: var(--mh-grey-500); font-size: .82rem; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 34px; }
.woocommerce .woocommerce-ordering select { min-width: 240px; }
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 24px; margin: 0 !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; padding: 0 0 24px; border: 1px solid var(--mh-grey-200); background: var(--mh-white); }
.woocommerce ul.products li.product a img { margin: 0 0 22px !important; aspect-ratio: 1 / 1; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 22px !important; font-size: 1.15rem !important; }
.woocommerce ul.products li.product .price { padding: 0 22px; color: var(--mh-red) !important; font-size: 1rem !important; font-weight: 800; }
.woocommerce ul.products li.product .button { margin: 8px 22px 0 !important; }
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce a.button, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce button.button, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce input.button, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce #respond input#submit {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    border-radius: 0;
    background: var(--mh-ink);
    color: var(--mh-white);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce a.button:hover, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce button.button:hover, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce input.button:hover, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce #respond input#submit:hover { background: var(--mh-red); color: var(--mh-white); }
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce a.button.alt, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce button.button.alt, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce input.button.alt { background: var(--mh-red); }
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce a.button.alt:hover, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce button.button.alt:hover, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce input.button.alt:hover { background: var(--mh-red-dark); }
.woocommerce span.onsale { min-width: 60px; min-height: 32px; line-height: 32px; padding: 0 10px; border-radius: 0; background: var(--mh-red); }
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr); gap: 65px; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto; float: none; margin: 0; }
.woocommerce div.product .product_title { font-size: clamp(2.6rem, 4.5vw, 4.8rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--mh-red); font-size: 1.5rem; font-weight: 800; }
.woocommerce div.product form.cart { display: flex; gap: 12px; }
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce .quantity .qty { min-height: 48px; border: 1px solid var(--mh-grey-300); }
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce table.shop_table { border: 1px solid var(--mh-grey-300); border-radius: 0; }
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce table.shop_table th, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce table.shop_table td { padding: 16px; }
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce .cart-collaterals .cart_totals, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-page .cart-collaterals .cart_totals { width: 45%; }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 44px; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: auto; float: none; }
.woocommerce-account .woocommerce-MyAccount-content { width: auto; float: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border: 1px solid var(--mh-grey-300); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 14px 18px; border-bottom: 1px solid var(--mh-grey-300); font-weight: 700; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--mh-ink); color: var(--mh-white); }
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-message, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-info, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-error { border-top-color: var(--mh-red); background: var(--mh-grey-100); }
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-message::before, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-info::before { color: var(--mh-red); }

/* Generic plugin containment: never force tiny columns or vertical letters. */
.mh-plugin-frame, .mh-plugin-frame * { max-width: 100%; }
.mh-plugin-frame [class*="grid"] { min-width: 0; }
.mh-plugin-frame h1, .mh-plugin-frame h2, .mh-plugin-frame h3, .mh-plugin-frame p, .mh-plugin-frame a, .mh-plugin-frame button, .mh-plugin-frame label {
    word-break: normal !important;
    overflow-wrap: break-word !important;
    writing-mode: horizontal-tb !important;
}
.mh-plugin-frame input, .mh-plugin-frame select, .mh-plugin-frame textarea { max-width: 100%; }

/* Footer */
.mh-site-footer { background: var(--mh-ink); color: var(--mh-white); }
.mh-footer-main { padding-block: 84px; }
.mh-footer-grid { display: grid; grid-template-columns: .8fr .85fr 1.15fr; gap: 75px; align-items: start; }
.mh-footer-brand .mh-brand img, .mh-footer-brand .custom-logo { width: 118px; height: 116px; }
.mh-footer-brand > p { max-width: 380px; margin-top: 24px; color: rgba(255,255,255,.64); }
.mh-footer-contact { display: grid; gap: 8px; margin-top: 22px; font-weight: 700; }
.mh-footer-contact a:hover { color: #ff727a; }
.mh-footer-nav h2, .mh-footer-cta h2 { margin-bottom: 22px; font-size: 1.55rem; letter-spacing: -.025em; }
.mh-footer-menu { columns: 2; column-gap: 36px; margin: 0; padding: 0; list-style: none; }
.mh-footer-menu li { break-inside: avoid; margin-bottom: 10px; }
.mh-footer-menu a { color: rgba(255,255,255,.68); font-size: .92rem; }
.mh-footer-menu a:hover { color: var(--mh-white); }
.mh-footer-cta { padding-left: 38px; border-left: 1px solid rgba(255,255,255,.16); }
.mh-footer-cta .mh-kicker { color: #ff727a; }
.mh-footer-cta > p:not(.mh-kicker) { color: rgba(255,255,255,.64); }
.mh-accreditations { padding-block: 26px; border-top: 1px solid rgba(255,255,255,.12); background: #17191b; }
.mh-accreditations__inner { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.mh-accreditations__inner > p { margin: 0; color: rgba(255,255,255,.54); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mh-accreditations__logos { display: flex; gap: 12px; }
.mh-accreditations__logos a { width: 84px; height: 84px; padding: 7px; background: var(--mh-white); }
.mh-accreditations__logos img { width: 100%; height: 100%; object-fit: contain; }
.mh-footer-bottom { padding-block: 22px; border-top: 1px solid rgba(255,255,255,.1); }
.mh-footer-bottom__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; color: rgba(255,255,255,.5); font-size: .76rem; }
.mh-footer-bottom p { margin: 0; }
.mh-legal-menu { display: flex; gap: 18px; margin: 0; padding: 0; list-style: none; }
.mh-legal-menu a:hover, .mh-site-credit a:hover { color: var(--mh-white); }

@media (max-width: 1180px) {
    :root { --mh-header-height: 84px; }
    .mh-header-inner { grid-template-columns: 100px 1fr auto; gap: 18px; }
    .mh-brand img, .custom-logo { width: 70px; height: 68px; }
    .mh-menu { gap: 14px; }
    .mh-menu > li > a { font-size: .76rem; }
    .mh-header-action span:not(.mh-cart-count) { display: none; }
    .mh-header-action { padding: 0 11px; }
    .mh-header-vip { padding-inline: 15px; }
    .mh-hero, .mh-hero__content { min-height: 690px; }
    .mh-footer-grid { grid-template-columns: .8fr .8fr 1fr; gap: 45px; }
}

@media (max-width: 980px) {
    .admin-bar .mh-site-header { top: 46px; }
    .mh-announcement__inner { min-height: 48px; }
    .mh-announcement p span, .mh-announcement__links a:first-child { display: none; }
    .mh-menu-toggle {
        display: grid;
        width: 48px;
        height: 48px;
        place-content: center;
        gap: 5px;
        border: 1px solid var(--mh-grey-300);
        background: var(--mh-white);
    }
    .mh-menu-toggle span:not(.screen-reader-text) { display: block; width: 22px; height: 2px; background: var(--mh-ink); transition: .2s ease; }
    .mh-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .mh-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
    .mh-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    .mh-header-inner { grid-template-columns: 1fr auto auto; }
    .mh-primary-navigation {
        position: fixed;
        top: calc(48px + var(--mh-header-height));
        right: 0;
        bottom: 0;
        left: 0;
        padding: 24px;
        overflow-y: auto;
        background: var(--mh-white);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px);
        transition: .2s ease;
    }
    .admin-bar .mh-primary-navigation { top: calc(94px + var(--mh-header-height)); }
    .mh-primary-navigation.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
    .mh-menu { display: block; }
    .mh-menu > li { border-bottom: 1px solid var(--mh-grey-200); }
    .mh-menu > li > a { min-height: 58px; justify-content: space-between; font-size: 1rem; border-bottom: 0; }
    .mh-menu .sub-menu { position: static; min-width: 0; padding: 0 0 12px 18px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; display: none; }
    .mh-menu li.submenu-open > .sub-menu { display: block; }
    .mh-menu .sub-menu a { padding: 10px 12px; }
    .mh-header-vip { display: none; }
    .mh-hero, .mh-hero__content { min-height: 680px; }
    .mh-hero__copy { width: min(700px, 78%); }
    .mh-hero__facts { display: none; }
    .mh-trust-line__inner { flex-direction: column; align-items: flex-start; justify-content: center; padding-block: 22px; }
    .mh-trust-line__marks { flex-wrap: wrap; gap: 10px 20px; }
    .mh-editorial-intro, .mh-section-heading, .mh-content-split, .mh-accreditation-layout, .mh-contact-layout { grid-template-columns: 1fr; gap: 42px; }
    .mh-section-heading--inline { align-items: flex-start; }
    .mh-hub-feature__grid { grid-template-columns: 1fr; }
    .mh-hub-feature__image { min-height: 520px; }
    .mh-vip-section__grid { grid-template-columns: 1fr; gap: 45px; }
    .mh-vip-section__price { padding: 34px 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.35); }
    .mh-standards-grid { grid-template-columns: 1fr; }
    .mh-content-grid--three { grid-template-columns: 1fr; }
    .mh-content-grid--two { grid-template-columns: 1fr; }
    .mh-callout { align-items: flex-start; }
    .mh-contact-layout > div:first-child { position: static; }
    .mh-vip-price { grid-template-columns: 1fr; }
    .mh-news-grid, .mh-archive-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .woocommerce div.product { grid-template-columns: 1fr; }
    .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
    .mh-footer-grid { grid-template-columns: 1fr 1fr; }
    .mh-footer-cta { grid-column: 1 / -1; padding: 36px 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.16); }
    .mh-footer-bottom__inner { flex-wrap: wrap; }
}

@media (max-width: 680px) {
    .mh-shell { width: min(calc(100% - 32px), var(--mh-shell)); }
    body { font-size: 16px; }
    h1 { font-size: clamp(3.1rem, 16vw, 4.7rem); }
    h2 { font-size: clamp(2.15rem, 11vw, 3.4rem); }
    .mh-announcement__links { display: none; }
    .mh-announcement__inner { justify-content: center; text-align: center; }
    .mh-announcement p { display: block; }
    .mh-header-inner { min-height: 76px; grid-template-columns: 1fr auto auto; }
    .mh-brand img, .custom-logo { width: 62px; height: 60px; }
    .mh-header-action { width: 44px; height: 44px; padding: 0; justify-content: center; }
    .mh-header-cart span:not(.mh-cart-count) { display: none; }
    .mh-cart-count { position: absolute; transform: translate(13px,-14px); }
    .mh-header-cart { position: relative; }
    .mh-primary-navigation { top: calc(42px + 76px); }
    .admin-bar .mh-primary-navigation { top: calc(88px + 76px); }
    .mh-hero, .mh-hero__content { min-height: 640px; }
    .mh-hero__shade { background: linear-gradient(0deg, rgba(5,7,9,.94) 0%, rgba(5,7,9,.48) 72%, rgba(5,7,9,.25) 100%); }
    .mh-hero__media img { object-position: center; }
    .mh-hero__content { align-items: flex-end; padding-block: 80px 38px; }
    .mh-hero__copy { width: 100%; }
    .mh-hero h1 { font-size: clamp(3.6rem, 18vw, 5.2rem); }
    .mh-hero__lead { font-size: 1rem; }
    .mh-hero__actions { display: grid; grid-template-columns: 1fr; }
    .mh-button { width: 100%; }
    .mh-trust-line__marks { display: none; }
    .mh-section { padding-block: 72px; }
    .mh-editorial-intro { gap: 32px; }
    .mh-section-heading, .mh-section-heading--inline { display: block; margin-bottom: 36px; }
    .mh-section-heading .mh-button { margin-top: 24px; }
    .mh-service-grid { grid-template-columns: 1fr; }
    .mh-service-card, .mh-service-card:nth-child(odd) { border-right: 0; }
    .mh-service-card { min-height: 0; grid-template-columns: 42px minmax(0,1fr) 22px; padding: 28px 18px; }
    .mh-news-grid, .mh-archive-grid { grid-template-columns: 1fr; }
    .mh-news-card--empty { grid-column: span 1; }
    .mh-hub-feature__image { min-height: 360px; }
    .mh-hub-feature__content { padding: 60px 24px; }
    .mh-standards-grid > a { grid-template-columns: 86px minmax(0,1fr); padding: 22px; gap: 18px; }
    .mh-standards-grid img { width: 86px; height: 86px; }
    .mh-final-cta__inner { display: block; }
    .mh-final-cta__actions { display: grid; margin-top: 32px; }
    .mh-page-hero { padding-block: 58px 52px; }
    .mh-page-content { padding-block: 66px 90px; }
    .mh-page-content > * + * { margin-top: 62px; }
    .mh-content-grid article { padding: 28px 22px; }
    .mh-callout { display: block; padding: 32px 24px; }
    .mh-callout .mh-button { margin-top: 24px; }
    .mh-accreditation-feature { padding: 18px; }
    .mh-contact-form { padding: 24px 18px; }
    .mh-form-grid { grid-template-columns: 1fr; }
    .mh-form-full { grid-column: auto; }
    .mh-empty-state { padding: 45px 24px; }
    .woocommerce ul.products { grid-template-columns: 1fr; }
    body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce .cart-collaterals .cart_totals, body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-page .cart-collaterals .cart_totals { width: 100%; }
    .woocommerce div.product form.cart { flex-wrap: wrap; }
    .mh-footer-grid { grid-template-columns: 1fr; gap: 48px; }
    .mh-footer-cta { grid-column: auto; }
    .mh-footer-menu { columns: 1; }
    .mh-accreditations__inner { align-items: flex-start; }
    .mh-accreditations__inner > p { max-width: 160px; }
    .mh-accreditations__logos a { width: 72px; height: 72px; }
    .mh-footer-bottom__inner { display: grid; justify-items: start; }
    .mh-legal-menu { flex-wrap: wrap; }
}

/* Inner-page hero is authored once inside the rebuilt page content. */
.mh-page-content {
    padding-block: 0 120px;
}
.mh-page-content > .mh-page-intro:first-child {
    max-width: none;
    margin-inline: calc(50% - 50vw);
    padding: clamp(72px, 8vw, 112px) max(24px, calc((100vw - var(--mh-shell)) / 2));
    border-bottom: 7px solid var(--mh-red);
    background: var(--mh-ink);
    color: var(--mh-white);
}
.mh-page-content > .mh-page-intro:first-child .mh-kicker { color: #ff727a; }
.mh-page-content > .mh-page-intro:first-child h1 {
    max-width: 1080px;
    color: var(--mh-white);
    font-size: clamp(3rem, 6vw, 5.8rem);
}
.mh-page-content > .mh-page-intro:first-child p:last-child {
    max-width: 850px;
    color: rgba(255,255,255,.74);
}
.mh-page-content > .mh-page-intro:first-child + * { margin-top: 84px; }

/* Hard contrast guard against plugin or editor link colours in the top stripe. */
body .mh-announcement,
body .mh-announcement p,
body .mh-announcement strong,
body .mh-announcement span,
body .mh-announcement a,
body .mh-announcement a:visited,
body .mh-announcement a:hover { color: #fff !important; }

@media (max-width: 680px) {
    .mh-page-content { padding-block: 0 90px; }
    .mh-page-content > .mh-page-intro:first-child {
        padding-block: 64px 58px;
    }
    .mh-page-content > .mh-page-intro:first-child + * { margin-top: 62px; }
}

/* ========================================================================
   MyHoyland Agency 2.1 — refined red-and-white visual system
   ======================================================================== */
:root {
    --mh-red: #df0613;
    --mh-red-dark: #b5000c;
    --mh-ink: #231416;
    --mh-charcoal: #4c1d21;
    --mh-grey-900: #3b2326;
    --mh-grey-700: #6e5558;
    --mh-grey-500: #9b8588;
    --mh-grey-300: #ead9db;
    --mh-grey-200: #f2e6e7;
    --mh-grey-100: #fff6f6;
    --mh-paper: #fffafa;
    --mh-white: #ffffff;
    --mh-shell: 1400px;
    --mh-header-height: 104px;
    --mh-shadow: 0 30px 80px rgba(132, 0, 13, .14);
    --mh-shadow-soft: 0 18px 50px rgba(132, 0, 13, .09);
}

body {
    background: var(--mh-white);
    color: var(--mh-ink);
}

/* Buttons: every variant has explicit, accessible foreground/background. */
.mh-button,
.wp-element-button,
.wp-block-button__link,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .mh-site-main a.button,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .mh-site-main button.button,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .mh-site-main input.button,
.mh-plugin-frame a.button,
.mh-plugin-frame button,
.mh-plugin-frame input[type="button"],
.mh-plugin-frame input[type="submit"],
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce a.button,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce button.button,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce input.button,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce #respond input#submit {
    border-radius: 2px !important;
    background: var(--mh-red) !important;
    color: var(--mh-white) !important;
    border-color: var(--mh-red) !important;
    box-shadow: 0 12px 28px rgba(223, 6, 19, .18) !important;
    text-shadow: none !important;
}
.mh-button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .mh-site-main a.button:hover,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .mh-site-main button.button:hover,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .mh-site-main input.button:hover,
.mh-plugin-frame a.button:hover,
.mh-plugin-frame button:hover,
.mh-plugin-frame input[type="button"]:hover,
.mh-plugin-frame input[type="submit"]:hover,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce a.button:hover,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce button.button:hover,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce input.button:hover,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce #respond input#submit:hover {
    background: var(--mh-red-dark) !important;
    color: var(--mh-white) !important;
    border-color: var(--mh-red-dark) !important;
}
.mh-button--white-red,
.mh-button--light,
.mh-vip-section .mh-button--light,
.mh-site-footer .mh-button--white-red {
    background: var(--mh-white) !important;
    color: var(--mh-red) !important;
    border-color: var(--mh-white) !important;
    box-shadow: 0 15px 34px rgba(99, 0, 8, .18) !important;
}
.mh-button--white-red:hover,
.mh-button--light:hover,
.mh-vip-section .mh-button--light:hover,
.mh-site-footer .mh-button--white-red:hover {
    background: #fff2f3 !important;
    color: var(--mh-red-dark) !important;
    border-color: #fff2f3 !important;
}
.mh-button--outline,
.wp-block-button.is-style-outline > .wp-block-button__link {
    background: var(--mh-white) !important;
    color: var(--mh-red) !important;
    border-color: var(--mh-red) !important;
    box-shadow: none !important;
}
.mh-button--outline:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
    background: var(--mh-red) !important;
    color: var(--mh-white) !important;
}
.mh-button--outline-white,
.mh-button--outline-light,
.mh-button--glass {
    background: transparent !important;
    color: var(--mh-white) !important;
    border-color: rgba(255,255,255,.78) !important;
    box-shadow: none !important;
    backdrop-filter: blur(10px);
}
.mh-button--outline-white:hover,
.mh-button--outline-light:hover,
.mh-button--glass:hover {
    background: var(--mh-white) !important;
    color: var(--mh-red) !important;
    border-color: var(--mh-white) !important;
}
.mh-button--dark {
    background: var(--mh-red) !important;
    color: var(--mh-white) !important;
    border-color: var(--mh-red) !important;
}

/* Slim red information bar. */
.mh-announcement {
    min-height: 40px;
    background: linear-gradient(90deg, var(--mh-red-dark), var(--mh-red));
    color: var(--mh-white);
    border-bottom: 1px solid rgba(255,255,255,.18);
}
.mh-announcement__inner { min-height: 40px; }
.mh-announcement__identity strong { letter-spacing: .025em; }
.mh-announcement__identity span { opacity: .82; }
.mh-announcement__links a { font-weight: 800; }

/* Header: stronger brand presence, cleaner navigation and deliberate spacing. */
.mh-site-header {
    background: rgba(255,255,255,.985);
    border-bottom: 1px solid rgba(223,6,19,.12);
    box-shadow: 0 8px 32px rgba(87,0,8,.05);
    backdrop-filter: blur(22px);
}
.mh-site-header.is-scrolled { box-shadow: 0 18px 50px rgba(87,0,8,.11); }
.mh-header-inner {
    min-height: var(--mh-header-height);
    grid-template-columns: 260px minmax(0, 1fr) auto;
    gap: 32px;
}
.mh-header-brand { gap: 14px; min-width: 0; }
.mh-brand img,
.custom-logo {
    width: 82px !important;
    height: 82px !important;
    object-fit: contain;
}
.mh-header-brand__text { display: grid; line-height: 1.1; }
.mh-header-brand__text strong { color: var(--mh-red); font-size: 1rem; letter-spacing: -.02em; }
.mh-header-brand__text span { margin-top: 5px; color: var(--mh-grey-700); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mh-menu { gap: clamp(17px, 1.45vw, 27px); }
.mh-menu > li > a {
    min-height: var(--mh-header-height);
    color: var(--mh-ink);
    font-size: .82rem;
    letter-spacing: .01em;
    border-bottom-width: 3px;
}
.mh-menu .sub-menu {
    border: 1px solid rgba(223,6,19,.13);
    border-top: 4px solid var(--mh-red);
    box-shadow: 0 24px 60px rgba(105,0,10,.14);
}
.mh-header-actions { gap: 10px; }
.mh-header-action {
    min-height: 46px;
    padding: 0 15px;
    border: 1px solid rgba(223,6,19,.2);
    background: var(--mh-white);
    color: var(--mh-red);
}
.mh-header-action:hover { background: var(--mh-grey-100); border-color: var(--mh-red); color: var(--mh-red-dark); }
.mh-header-vip { min-height: 48px; padding-inline: 22px; }

/* Full-bleed photographic hero. No card, border, black side panels or radius. */
.mh-hero {
    min-height: clamp(680px, 72vh, 860px);
    margin: 0;
    border: 0;
    border-radius: 0;
    background: var(--mh-red);
    color: var(--mh-white);
}
.mh-hero__media::before { display: none; }
.mh-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 42%;
    filter: saturate(.96) contrast(1.02);
}
.mh-hero__shade {
    background:
        linear-gradient(90deg, rgba(164,0,13,.96) 0%, rgba(191,0,16,.86) 27%, rgba(205,0,17,.52) 49%, rgba(175,0,14,.10) 76%, rgba(175,0,14,.02) 100%),
        linear-gradient(0deg, rgba(119,0,10,.42) 0%, rgba(119,0,10,0) 42%);
}
.mh-hero__content {
    min-height: clamp(680px, 72vh, 860px);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
    gap: 60px;
    padding-block: clamp(90px, 11vh, 135px) 0;
}
.mh-hero__copy { width: min(720px, 67%); }
.mh-hero .mh-kicker { color: var(--mh-white); opacity: .9; }
.mh-hero h1 {
    max-width: 720px;
    color: var(--mh-white);
    font-size: clamp(4.2rem, 7.8vw, 7.3rem);
    text-shadow: 0 16px 45px rgba(91,0,8,.22);
}
.mh-hero__lead { max-width: 660px; color: rgba(255,255,255,.92); }
.mh-hero__rail {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    background: rgba(190,0,16,.82);
    border-top: 1px solid rgba(255,255,255,.35);
    backdrop-filter: blur(18px);
}
.mh-hero__rail a {
    min-height: 88px;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 18px 24px;
    color: var(--mh-white);
    border-right: 1px solid rgba(255,255,255,.22);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
    transition: background .2s ease;
}
.mh-hero__rail a:last-child { border-right: 0; }
.mh-hero__rail a:hover { background: rgba(255,255,255,.13); }
.mh-hero__rail span { color: rgba(255,255,255,.58); font-size: .7rem; letter-spacing: .12em; }

.mh-trust-line {
    background: var(--mh-white);
    color: var(--mh-ink);
    border-bottom: 1px solid var(--mh-grey-200);
}
.mh-trust-line__inner { min-height: 82px; }
.mh-trust-line p strong { color: var(--mh-red); }
.mh-trust-line__marks { color: var(--mh-red); }

/* Red/white section system. */
.mh-intro-section,
.mh-news-section,
.mh-standards-section { background: var(--mh-paper); }
.mh-services-section,
.mh-directory-section { background: var(--mh-white); }
.mh-service-card:hover { background: var(--mh-grey-100); color: var(--mh-ink); }
.mh-service-card:hover p { color: var(--mh-grey-700); }
.mh-news-card__image,
.mh-news-card__placeholder { background: var(--mh-red); }

.mh-hub-feature { background: var(--mh-white); color: var(--mh-ink); }
.mh-hub-feature__grid { width: 100%; max-width: none; grid-template-columns: 1.08fr .92fr; }
.mh-hub-feature__image { min-height: 700px; background: var(--mh-grey-100); }
.mh-hub-feature__content {
    background: linear-gradient(145deg, var(--mh-red), var(--mh-red-dark));
    color: var(--mh-white);
}
.mh-hub-feature__content .mh-kicker,
.mh-hub-feature dt { color: rgba(255,255,255,.72); }
.mh-hub-feature__content > p,
.mh-hub-feature dd { color: rgba(255,255,255,.88); }
.mh-hub-feature dl,
.mh-hub-feature dl div { border-color: rgba(255,255,255,.28); }

.mh-vip-section,
.mh-final-cta { background: linear-gradient(120deg, var(--mh-red-dark), var(--mh-red)); color: var(--mh-white); }
.mh-final-cta .mh-kicker,
.mh-vip-section .mh-kicker { color: rgba(255,255,255,.72); }
.mh-standards-grid > a { border-top: 4px solid var(--mh-red); box-shadow: var(--mh-shadow-soft); }

/* Inner pages use red rather than black feature bands. */
.mh-page-hero,
.mh-single-header,
.mh-page-content > .mh-page-intro:first-child,
.mh-dark-band,
.mh-contact-layout > div:first-child {
    background: linear-gradient(135deg, var(--mh-red-dark), var(--mh-red));
    color: var(--mh-white);
}
.mh-page-hero,
.mh-page-content > .mh-page-intro:first-child { border-bottom-color: #ffb7bd; }
.mh-page-hero .mh-kicker,
.mh-single-header .mh-kicker,
.mh-page-content > .mh-page-intro:first-child .mh-kicker,
.mh-dark-band .mh-kicker { color: rgba(255,255,255,.72); }
.mh-contact-layout > div:first-child a { color: var(--mh-white); }
.mh-detail-panel { background: var(--mh-grey-100); border-top-color: var(--mh-red); }
.mh-content-grid { background: var(--mh-grey-200); border-color: var(--mh-grey-200); }
.mh-red-panel { background: var(--mh-red) !important; }
.mh-callout { background: var(--mh-grey-100); }
.mh-form-notice--success,
.mh-form-notice--error { border-color: var(--mh-red); background: var(--mh-grey-100); color: var(--mh-ink); }

/* WooCommerce and account navigation. */
.woocommerce span.onsale { background: var(--mh-red); color: var(--mh-white); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--mh-red); color: var(--mh-white); }
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-message,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-info,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-error { border-top-color: var(--mh-red); background: var(--mh-grey-100); }
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-message::before,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-info::before { color: var(--mh-red); }

/* New premium footer: white lead-in, red body, crisp accreditation cards. */
.mh-footer-promo {
    padding-block: clamp(62px, 7vw, 92px);
    background: var(--mh-white);
    border-top: 1px solid var(--mh-grey-200);
}
.mh-footer-promo__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) auto;
    align-items: end;
    gap: 60px;
}
.mh-footer-promo h2 { max-width: 920px; color: var(--mh-ink); font-size: clamp(2.4rem, 4.6vw, 4.8rem); }
.mh-footer-promo__actions { display: flex; gap: 12px; }

.mh-site-footer {
    background: linear-gradient(135deg, var(--mh-red-dark), var(--mh-red));
    color: var(--mh-white);
}
.mh-footer-main { padding-block: 88px 74px; }
.mh-footer-grid {
    display: grid;
    grid-template-columns: 1.22fr .72fr .92fr .72fr;
    gap: clamp(36px, 5vw, 76px);
    align-items: start;
}
.mh-footer-brand__identity { display: flex; align-items: center; gap: 18px; }
.mh-footer-brand .mh-brand img { width: 96px !important; height: 96px !important; }
.mh-footer-brand__identity > div { display: grid; line-height: 1.05; }
.mh-footer-brand__identity strong { font-size: 1.65rem; letter-spacing: -.04em; }
.mh-footer-brand__identity span { margin-top: 7px; color: rgba(255,255,255,.7); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.mh-footer-brand > p { max-width: 440px; color: rgba(255,255,255,.78); }
.mh-footer-contact { gap: 10px; color: rgba(255,255,255,.78); }
.mh-footer-contact a { color: var(--mh-white); font-size: 1.03rem; }
.mh-footer-contact a:hover { color: var(--mh-white); text-decoration: underline; }
.mh-footer-label { margin: 0 0 22px; color: rgba(255,255,255,.62); font-size: .74rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.mh-footer-menu { columns: 1; }
.mh-footer-menu li { margin-bottom: 13px; }
.mh-footer-menu a { color: rgba(255,255,255,.82); font-weight: 700; }
.mh-footer-menu a:hover { color: var(--mh-white); text-decoration: underline; }
.mh-footer-membership { padding-left: 32px; border-left: 1px solid rgba(255,255,255,.25); }
.mh-footer-membership h2 { margin-bottom: 18px; font-size: clamp(1.65rem, 2.2vw, 2.35rem); }
.mh-footer-membership > p:not(.mh-footer-label) { color: rgba(255,255,255,.76); }
.mh-footer-standards__logos { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.mh-footer-standards__logos a { aspect-ratio: 1; display: grid; place-items: center; padding: 10px; background: var(--mh-white); box-shadow: 0 16px 32px rgba(89,0,8,.15); }
.mh-footer-standards__logos img { width: 100%; height: 100%; object-fit: contain; }
.mh-footer-standards > p:last-child { margin-top: 18px; color: rgba(255,255,255,.72); font-size: .86rem; }
.mh-footer-bottom { background: rgba(112,0,9,.28); border-top: 1px solid rgba(255,255,255,.2); }
.mh-footer-bottom__inner { color: rgba(255,255,255,.72); }
.mh-legal-menu a,
.mh-site-credit a { color: var(--mh-white); }

@media (max-width: 1240px) {
    .mh-header-inner { grid-template-columns: 112px minmax(0,1fr) auto; }
    .mh-header-brand__text { display: none; }
    .mh-footer-grid { grid-template-columns: 1.1fr .7fr 1fr; }
    .mh-footer-standards { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; padding-top: 34px; border-top: 1px solid rgba(255,255,255,.24); }
    .mh-footer-standards .mh-footer-label { margin: 0; }
    .mh-footer-standards__logos { width: 190px; }
    .mh-footer-standards > p:last-child { margin: 0; }
}

@media (max-width: 980px) {
    .mh-header-inner { grid-template-columns: 1fr auto auto; }
    .mh-hero__copy { width: min(720px, 82%); }
    .mh-hero__rail { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .mh-hero__rail a:nth-child(2) { border-right: 0; }
    .mh-hero__rail a:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.22); }
    .mh-footer-promo__inner { grid-template-columns: 1fr; align-items: start; }
    .mh-footer-grid { grid-template-columns: 1fr 1fr; }
    .mh-footer-membership { padding-left: 0; border-left: 0; }
    .mh-footer-standards { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
    :root { --mh-header-height: 76px; }
    .mh-announcement__identity span { display: none; }
    .mh-header-brand .mh-brand img { width: 62px !important; height: 62px !important; }
    .mh-hero,
    .mh-hero__content { min-height: 680px; }
    .mh-hero__media img { object-position: 57% center; }
    .mh-hero__shade {
        background: linear-gradient(0deg, rgba(169,0,14,.97) 0%, rgba(196,0,16,.80) 52%, rgba(196,0,16,.30) 100%);
    }
    .mh-hero__content { padding-top: 78px; gap: 36px; }
    .mh-hero__copy { width: 100%; }
    .mh-hero h1 { font-size: clamp(3.8rem, 18vw, 5.6rem); }
    .mh-hero__rail { margin-inline: -16px; width: calc(100% + 32px); }
    .mh-hero__rail a { min-height: 70px; padding: 14px 16px; font-size: .7rem; }
    .mh-footer-promo__actions { display: grid; width: 100%; }
    .mh-footer-grid { grid-template-columns: 1fr; }
    .mh-footer-membership { padding-top: 34px; border-top: 1px solid rgba(255,255,255,.24); }
    .mh-footer-standards { grid-column: auto; display: block; }
    .mh-footer-standards .mh-footer-label { margin-bottom: 22px; }
    .mh-footer-standards__logos { width: 176px; }
    .mh-footer-standards > p:last-child { margin-top: 18px; }
}


/* ========================================================================
   MyHoyland Agency 2.2 — full-width editorial pages, compact commerce,
   subtle branded watermarking and precise button alignment.
   ======================================================================== */
:root {
    --mh-shell: 1520px;
    --mh-watermark-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5MDAiIGhlaWdodD0iMzAwIiB2aWV3Qm94PSIwIDAgOTAwIDMwMCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoLTEwIDQ1MCAxNTApIj48dGV4dCB4PSIzMCIgeT0iMTcwIiBmb250LWZhbWlseT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgZm9udC1zaXplPSI1OCIgZm9udC13ZWlnaHQ9IjgwMCIgbGV0dGVyLXNwYWNpbmc9IjIiIGZpbGw9IiNkZjA2MTMiIGZpbGwtb3BhY2l0eT0iMC4wNDUiPk15SG95bGFuZCBDb21tdW5pdHkgR3JvdXA8L3RleHQ+PC9nPjwvc3ZnPg==");
}

/* A subtle repeated brand watermark is used across light site surfaces. */
.mh-site-main,
.mh-watermark-surface,
.mh-intro-section,
.mh-services-section,
.mh-news-section,
.mh-directory-section,
.mh-standards-section,
.mh-footer-promo,
.mh-archive-section {
    background-image: var(--mh-watermark-image);
    background-repeat: repeat;
    background-size: 900px 300px;
    background-position: center top;
}
.mh-site-main { background-color: var(--mh-white); }
.mh-intro-section,
.mh-news-section,
.mh-standards-section,
.mh-archive-section { background-color: rgba(255,250,250,.965); }
.mh-services-section,
.mh-directory-section,
.mh-footer-promo,
.mh-watermark-surface { background-color: rgba(255,255,255,.965); }
.mh-hero,
.mh-hub-feature,
.mh-vip-section,
.mh-final-cta,
.mh-site-footer,
.mh-page-intro,
.mh-dark-band { background-image: none !important; }

/* Every button uses true flex centring so text cannot sit too high. */
a.mh-button,
button.mh-button,
.wp-element-button,
.wp-block-button__link,
a.mh-header-action,
body:not(.woocommerce-cart):not(.woocommerce-checkout) a.button,
body:not(.woocommerce-cart):not(.woocommerce-checkout) button.button,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .mh-site-main button:not(.mh-menu-toggle),
.mh-plugin-frame a.button,
.mh-plugin-frame button,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce a.button,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce button.button,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce #respond input#submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 50px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    vertical-align: middle;
}
body:not(.woocommerce-cart):not(.woocommerce-checkout) input[type="submit"],
body:not(.woocommerce-cart):not(.woocommerce-checkout) input[type="button"],
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce input.button {
    min-height: 50px !important;
    height: 50px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 50px !important;
    text-align: center !important;
}
.mh-header-action { justify-content: center; line-height: 1 !important; }
.mh-cart-count { flex: 0 0 22px; }

/* Cleaner premium header proportions. */
:root { --mh-header-height: 94px; }
.mh-header-inner {
    min-height: var(--mh-header-height);
    grid-template-columns: 238px minmax(0,1fr) auto;
    gap: clamp(22px,2.2vw,42px);
}
.mh-brand img,
.custom-logo { width: 72px !important; height: 72px !important; }
.mh-header-brand__text strong { font-size: 1.04rem; }
.mh-menu > li > a { min-height: var(--mh-header-height); }
.mh-header-actions { align-self: center; }
.mh-header-action { min-height: 48px; padding-inline: 16px; }
.mh-header-vip { min-height: 50px; }

/* Internal pages are full-width bands rather than narrow cards inside a box. */
.mh-page-content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}
.mh-page-content > section {
    width: 100%;
    max-width: none;
    margin: 0 !important;
}
.mh-page-content > .mh-page-intro:first-child {
    margin: 0 !important;
    padding: clamp(76px,7.5vw,118px) max(28px, calc((100vw - var(--mh-shell)) / 2));
    border-bottom: 0;
    background: linear-gradient(125deg, var(--mh-red-dark), var(--mh-red));
}
.mh-page-content > .mh-page-intro:first-child h1 { max-width: 1280px; }
.mh-page-content > .mh-page-intro:first-child p:last-child { max-width: 980px; }
.mh-page-content > section:not(.mh-page-intro) {
    padding: clamp(72px,7vw,112px) max(28px, calc((100vw - var(--mh-shell)) / 2));
}
.mh-page-content > section:nth-child(even):not(.mh-page-intro):not(.mh-dark-band) {
    background-color: rgba(255,250,250,.95);
    background-image: var(--mh-watermark-image);
    background-repeat: repeat;
    background-size: 900px 300px;
}
.mh-page-content > section:nth-child(odd):not(.mh-page-intro):not(.mh-dark-band) {
    background-color: rgba(255,255,255,.96);
    background-image: var(--mh-watermark-image);
    background-repeat: repeat;
    background-size: 900px 300px;
}
.mh-page-content > .mh-dark-band {
    padding: clamp(78px,7vw,112px) max(28px, calc((100vw - var(--mh-shell)) / 2));
    background: linear-gradient(125deg, var(--mh-red-dark), var(--mh-red));
}
.mh-page-content > .mh-dark-band > div { max-width: 1050px; }
.mh-page-generic-body {
    padding: clamp(64px,6vw,96px) max(28px, calc((100vw - var(--mh-shell)) / 2)) clamp(90px,8vw,130px);
}
.mh-page-generic-body__inner { width: 100%; max-width: var(--mh-shell); margin-inline: auto; }
.mh-page-content > .mh-page-intro:first-child + *,
.mh-page-content > * + * { margin-top: 0 !important; }

/* Editorial elements blend into the page with lines rather than heavy boxes. */
.mh-content-split { grid-template-columns: minmax(0,1.35fr) minmax(340px,.65fr); gap: clamp(56px,8vw,126px); }
.mh-detail-panel {
    padding: 34px 0 34px 34px;
    border-top: 0;
    border-left: 5px solid var(--mh-red);
    background: transparent;
    box-shadow: none;
}
.mh-content-grid {
    gap: 0;
    border: 0;
    border-top: 1px solid var(--mh-grey-300);
    border-bottom: 1px solid var(--mh-grey-300);
    background: transparent;
}
.mh-content-grid article {
    padding: clamp(34px,4vw,58px);
    border-right: 1px solid var(--mh-grey-300);
    background: rgba(255,255,255,.78);
}
.mh-content-grid article:last-child { border-right: 0; }
.mh-callout {
    padding-block: 52px !important;
    border: 0;
    border-top: 1px solid var(--mh-grey-300);
    border-bottom: 1px solid var(--mh-grey-300);
    background-color: rgba(255,255,255,.82) !important;
}
.mh-plugin-frame { margin: 0; }
.mh-legal-copy { max-width: 1120px; }
.mh-contact-layout { grid-template-columns: minmax(340px,.58fr) minmax(0,1.42fr); gap: clamp(48px,7vw,110px); }
.mh-contact-layout > div:first-child { top: 132px; }

/* Restrained WooCommerce shop: contained width, compact cards and four columns. */
.mh-commerce-shell {
    width: 100%;
    padding: clamp(58px,6vw,92px) 0 clamp(92px,8vw,132px);
}
.mh-commerce-content {
    width: min(calc(100% - 64px), 1240px);
    margin-inline: auto;
}
.woocommerce-products-header__title.page-title,
.woocommerce .page-title {
    margin: 0 0 22px;
    font-size: clamp(3rem,5vw,5.2rem);
}
.woocommerce .woocommerce-breadcrumb { margin-bottom: 28px; }
.woocommerce .woocommerce-result-count { float: left; margin: 14px 0 30px; }
.woocommerce .woocommerce-ordering { float: right; margin: 0 0 30px; }
.woocommerce ul.products {
    clear: both;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 18px !important;
}
.woocommerce ul.products li.product {
    padding-bottom: 20px;
    border-color: var(--mh-grey-200);
    box-shadow: 0 12px 34px rgba(111,0,10,.055);
}
.woocommerce ul.products li.product a img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    margin-bottom: 16px !important;
    object-fit: cover;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    padding-inline: 17px !important;
    font-size: 1rem !important;
    line-height: 1.25;
}
.woocommerce ul.products li.product .price { padding-inline: 17px; font-size: .92rem !important; }
.woocommerce ul.products li.product .button {
    width: calc(100% - 34px);
    min-height: 44px;
    margin: 8px 17px 0 !important;
    padding-inline: 12px !important;
    font-size: .72rem !important;
}
.woocommerce div.product { gap: clamp(42px,6vw,78px); }

/* Account area is clean, contained and never displays malformed legacy text. */
.myhoyland-account-page .mh-page-generic-body__inner { max-width: 1260px; }
.woocommerce-account .woocommerce {
    grid-template-columns: 270px minmax(0,1fr);
    gap: clamp(36px,5vw,72px);
    align-items: start;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    border: 1px solid var(--mh-grey-200);
    background: rgba(255,255,255,.88);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
    min-height: 54px;
    display: flex;
    align-items: center;
    padding: 0 20px;
}
.woocommerce-account .woocommerce-MyAccount-content {
    min-width: 0;
    padding: clamp(28px,3vw,46px);
    border-top: 5px solid var(--mh-red);
    background: rgba(255,255,255,.9);
    box-shadow: 0 18px 50px rgba(111,0,10,.07);
}

/* Footer gains a large, subtle brand signature without reducing readability. */
.mh-site-footer { position: relative; overflow: hidden; }
.mh-site-footer::before {
    content: "MYHOYLAND COMMUNITY GROUP";
    position: absolute;
    right: -2vw;
    bottom: 4%;
    color: rgba(255,255,255,.07);
    font-size: clamp(4rem,9vw,10rem);
    font-weight: 900;
    letter-spacing: -.06em;
    line-height: .82;
    white-space: nowrap;
    pointer-events: none;
}
.mh-site-footer > * { position: relative; z-index: 1; }
.mh-footer-grid { grid-template-columns: 1.15fr .65fr .95fr .75fr; }
.mh-footer-brand p { max-width: 430px; }

@media (max-width: 1280px) {
    .mh-header-inner { grid-template-columns: 190px minmax(0,1fr) auto; gap: 18px; }
    .mh-header-brand__text { display: none; }
    .mh-menu { gap: 15px; }
    .mh-menu > li > a { font-size: .77rem; }
    .woocommerce ul.products { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
}

@media (max-width: 960px) {
    .mh-content-split,
    .mh-contact-layout,
    .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
    .mh-detail-panel { padding-left: 26px; }
    .mh-content-grid--three,
    .mh-content-grid--two { grid-template-columns: 1fr 1fr; }
    .mh-content-grid article:nth-child(2n) { border-right: 0; }
    .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .mh-commerce-content { width: min(calc(100% - 40px), 900px); }
}

@media (max-width: 680px) {
    .mh-site-main,
    .mh-watermark-surface,
    .mh-intro-section,
    .mh-services-section,
    .mh-news-section,
    .mh-directory-section,
    .mh-standards-section,
    .mh-footer-promo,
    .mh-archive-section { background-size: 560px 187px; background-attachment: scroll; }
    .mh-page-content > .mh-page-intro:first-child,
    .mh-page-content > section:not(.mh-page-intro),
    .mh-page-generic-body { padding-left: 22px; padding-right: 22px; }
    .mh-content-grid--three,
    .mh-content-grid--two { grid-template-columns: 1fr; }
    .mh-content-grid article { border-right: 0; border-bottom: 1px solid var(--mh-grey-300); }
    .mh-content-grid article:last-child { border-bottom: 0; }
    .mh-commerce-content { width: min(calc(100% - 32px), 620px); }
    .woocommerce ul.products { grid-template-columns: 1fr !important; gap: 16px !important; }
    .woocommerce ul.products li.product a img { aspect-ratio: 4 / 3; }
    .woocommerce .woocommerce-result-count,
    .woocommerce .woocommerce-ordering { float: none; width: 100%; }
    .woocommerce .woocommerce-ordering select { width: 100%; }
    .mh-button,
    .wp-element-button,
    .wp-block-button__link { min-height: 52px; }
}

@media (max-width: 980px) {
    .mh-header-inner { grid-template-columns: 1fr auto auto; }
}

/* ========================================================================
   MyHoyland Agency 2.3 — full-width community pages, reliable contrast,
   moderated jobs/events/watch/market submissions and red/white brand system.
   ======================================================================== */

/* Absolute contrast rules: light surfaces use ink; red/dark surfaces use white. */
.mh-page-content > section:not(.mh-page-intro):not(.mh-dark-band):not(.mh-meet-band):not(.mh-community-brand):not(.mh-submission-band),
.mh-page-generic-body,
.mh-public-feed,
.mh-event-discovery,
.mh-editorial-band--light {
    color: var(--mh-ink);
}
.mh-page-content > section:not(.mh-page-intro):not(.mh-dark-band):not(.mh-meet-band):not(.mh-community-brand):not(.mh-submission-band) h1,
.mh-page-content > section:not(.mh-page-intro):not(.mh-dark-band):not(.mh-meet-band):not(.mh-community-brand):not(.mh-submission-band) h2,
.mh-page-content > section:not(.mh-page-intro):not(.mh-dark-band):not(.mh-meet-band):not(.mh-community-brand):not(.mh-submission-band) h3,
.mh-page-content > section:not(.mh-page-intro):not(.mh-dark-band):not(.mh-meet-band):not(.mh-community-brand):not(.mh-submission-band) h4,
.mh-page-content > section:not(.mh-page-intro):not(.mh-dark-band):not(.mh-meet-band):not(.mh-community-brand):not(.mh-submission-band) p,
.mh-page-content > section:not(.mh-page-intro):not(.mh-dark-band):not(.mh-meet-band):not(.mh-community-brand):not(.mh-submission-band) li,
.mh-page-content > section:not(.mh-page-intro):not(.mh-dark-band):not(.mh-meet-band):not(.mh-community-brand):not(.mh-submission-band) label,
.mh-page-content > section:not(.mh-page-intro):not(.mh-dark-band):not(.mh-meet-band):not(.mh-community-brand):not(.mh-submission-band) dt,
.mh-page-content > section:not(.mh-page-intro):not(.mh-dark-band):not(.mh-meet-band):not(.mh-community-brand):not(.mh-submission-band) dd {
    color: var(--mh-ink);
}
.mh-page-intro,
.mh-page-intro *,
.mh-dark-band,
.mh-dark-band *,
.mh-meet-band,
.mh-meet-band *,
.mh-community-brand__cta,
.mh-community-brand__cta * {
    color: var(--mh-white) !important;
}
.mh-page-intro .mh-kicker,
.mh-dark-band .mh-kicker,
.mh-meet-band .mh-kicker,
.mh-community-brand__cta .mh-kicker,
.mh-hub-feature--full-red .mh-kicker { color: rgba(255,255,255,.82) !important; }

/* Never allow global colour rules to make button labels invisible. */
.mh-button--red,
.mh-button--dark,
.mh-button--glass,
.mh-button--outline-light,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce a.button,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce button.button,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce input.button,
.mh-community-form button[type="submit"] { color: #fff !important; }
.mh-button--light,
.mh-button--white-red { color: var(--mh-red-dark) !important; background:#fff !important; }
.mh-button--outline { color: var(--mh-ink) !important; background:transparent !important; }
.mh-button--outline:hover { color:#fff !important; background:var(--mh-ink) !important; }

/* Full-width editorial bands, with aligned inner content rather than boxed pages. */
.mh-page-content > section:not(.mh-page-intro) {
    border-radius: 0 !important;
    box-shadow: none !important;
}
.mh-editorial-band,
.mh-public-feed,
.mh-event-discovery,
.mh-submission-band,
.mh-meet-band,
.mh-community-brand {
    width: 100%;
    max-width: none;
    margin: 0;
}
.mh-editorial-band__inner,
.mh-meet-band__inner,
.mh-hub-feature__full {
    width: min(100%, var(--mh-shell));
    margin-inline: auto;
}
.mh-editorial-band__inner {
    display:grid;
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
    gap:clamp(50px,8vw,130px);
    align-items:start;
}
.mh-editorial-band__inner h2 { max-width:780px; }
.mh-editorial-band__inner p { max-width:840px; color:var(--mh-grey-700) !important; font-size:1.08rem; }

/* Homepage Meet MyHoyland — no photograph; one confident full-width red band. */
.mh-hub-feature--full-red {
    padding:clamp(78px,8vw,128px) 0 !important;
    background:linear-gradient(118deg,var(--mh-red-dark),var(--mh-red) 70%,#ec1c2d) !important;
    color:#fff;
}
.mh-hub-feature__full {
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);
    gap:clamp(55px,8vw,130px);
    align-items:center;
}
.mh-hub-feature__full h2,
.mh-hub-feature__full p,
.mh-hub-feature__full strong { color:#fff !important; }
.mh-hub-feature__full h2 { max-width:900px; }
.mh-hub-feature__full > div:first-child > p:last-child { max-width:880px; color:rgba(255,255,255,.86) !important; font-size:1.08rem; }
.mh-hub-feature__details { padding-left:38px; border-left:1px solid rgba(255,255,255,.4); }
.mh-meet-band {
    padding:clamp(78px,8vw,124px) max(28px,calc((100vw - var(--mh-shell))/2)) !important;
    background:linear-gradient(118deg,var(--mh-red-dark),var(--mh-red) 72%,#ed1b2b) !important;
}
.mh-meet-band__inner { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:clamp(55px,8vw,120px); align-items:center; }
.mh-meet-band__inner > div:last-child { padding-left:38px; border-left:1px solid rgba(255,255,255,.38); }

/* Branded group banner: full-bleed image with a clean red CTA, no narrow card. */
.mh-page-content > .mh-community-brand { padding:0 !important; background:#fff !important; }
.mh-community-brand__image { width:100%; max-height:620px; overflow:hidden; background:#fff; }
.mh-community-brand__image img { width:100%; height:auto; max-height:620px; object-fit:cover; object-position:center; }
.mh-community-brand__cta {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:40px;
    padding:clamp(44px,5vw,72px) max(28px,calc((100vw - var(--mh-shell))/2));
    background:var(--mh-red);
}
.mh-community-brand__cta h2 { font-size:clamp(2rem,4vw,4rem); }
.mh-community-brand__cta p { max-width:820px; color:rgba(255,255,255,.84) !important; }

/* Public feeds and submission areas stretch across the page while content aligns. */
.mh-public-feed,
.mh-event-discovery,
.mh-submission-band {
    padding:clamp(74px,7vw,116px) max(28px,calc((100vw - var(--mh-shell))/2)) !important;
}
.mh-public-feed { background:rgba(255,255,255,.97) var(--mh-watermark-image) repeat center top/900px 300px !important; }
.mh-submission-band {
    display:grid;
    grid-template-columns:minmax(300px,.62fr) minmax(0,1.38fr);
    gap:clamp(50px,7vw,105px);
    align-items:start;
    background:linear-gradient(145deg,#fff7f8,#fff) !important;
    border-top:1px solid #f0cdd1;
}
.mh-submission-band__intro { position:sticky; top:140px; }
.mh-submission-band__intro h2,
.mh-submission-band__intro p { color:var(--mh-ink) !important; }
.mh-submission-band__intro p:last-child { color:var(--mh-grey-700) !important; }

/* Community submission forms. */
.mh-community-form {
    width:100%;
    padding:clamp(30px,4vw,54px);
    border-top:6px solid var(--mh-red);
    background:#fff;
    color:var(--mh-ink);
    box-shadow:0 24px 65px rgba(97,0,9,.10);
}
.mh-community-form__head { padding-bottom:28px; margin-bottom:30px; border-bottom:1px solid var(--mh-grey-200); }
.mh-community-form__head h2,
.mh-community-form__head p { color:var(--mh-ink) !important; }
.mh-form-grid--community { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.mh-community-form label { display:flex; flex-direction:column; gap:9px; color:var(--mh-ink) !important; font-weight:800; font-size:.88rem; }
.mh-community-form label span { color:var(--mh-ink) !important; }
.mh-community-form label em { color:var(--mh-red); font-style:normal; }
.mh-community-form input,
.mh-community-form textarea,
.mh-community-form select {
    width:100%;
    min-height:52px;
    padding:12px 14px;
    border:1px solid #cfd2d5;
    border-radius:0;
    background:#fff;
    color:var(--mh-ink) !important;
    box-shadow:none;
}
.mh-community-form textarea { min-height:150px; resize:vertical; }
.mh-community-form input:focus,
.mh-community-form textarea:focus,
.mh-community-form select:focus { outline:3px solid rgba(210,11,24,.12); border-color:var(--mh-red); }
.mh-community-form small { color:var(--mh-grey-700) !important; font-weight:500; }
.mh-community-form .mh-check { flex-direction:row; align-items:flex-start; gap:12px; font-weight:600; }
.mh-community-form .mh-check input { width:20px; min-height:20px; height:20px; flex:0 0 20px; margin-top:3px; }
.mh-form-guidance { padding:18px 20px; background:#fff4e5; border-left:4px solid #e68a00; color:#512e00 !important; }
.mh-form-security-note { margin-top:18px; color:var(--mh-grey-700) !important; font-size:.8rem; }
.mh-spam-field { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.mh-form-notice { margin:0 0 24px; padding:18px 20px; border-left:5px solid; color:var(--mh-ink) !important; background:#fff; }
.mh-form-notice--success { border-color:#00a32a; background:#eefaf1; }
.mh-form-notice--error { border-color:var(--mh-red); background:#fff1f2; }

/* Approved jobs, sales, watch updates and events. */
.mh-public-list,
.mh-event-list { display:grid; gap:28px; }
.mh-public-card {
    display:grid;
    grid-template-columns:minmax(260px,.38fr) minmax(0,.62fr);
    border:1px solid var(--mh-grey-200);
    background:#fff;
    box-shadow:0 16px 46px rgba(97,0,9,.07);
}
.mh-public-card__media { min-height:100%; background:#f6f6f6; overflow:hidden; }
.mh-public-card__media img { width:100%; height:100%; object-fit:cover; }
.mh-public-card__body { padding:clamp(28px,4vw,50px); }
.mh-public-card__body h3 { margin-bottom:18px; font-size:clamp(1.8rem,3vw,3rem); color:var(--mh-ink) !important; }
.mh-public-card__copy p { color:var(--mh-grey-700) !important; }
.mh-public-card__facts { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; }
.mh-public-card__facts span { padding:7px 10px; border-left:3px solid var(--mh-red); background:#fff5f6; color:var(--mh-ink) !important; font-size:.8rem; font-weight:800; }
.mh-public-card__actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:26px; }
.mh-empty-state { grid-column:1/-1; padding:50px; border:1px solid var(--mh-grey-200); background:#fff; text-align:center; }
.mh-empty-state h3,
.mh-empty-state p { color:var(--mh-ink) !important; }

.mh-market-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.mh-market-card { min-width:0; border:1px solid var(--mh-grey-200); background:#fff; box-shadow:0 16px 40px rgba(97,0,9,.065); }
.mh-market-card__media { aspect-ratio:4/3; overflow:hidden; background:#f6f6f6; }
.mh-market-card__media img { width:100%; height:100%; object-fit:cover; }
.mh-market-card__body { padding:26px; }
.mh-market-card__body h3 { margin:8px 0 14px; font-size:1.55rem; color:var(--mh-ink) !important; }
.mh-market-card__body p { color:var(--mh-grey-700) !important; }
.mh-market-card__price { color:var(--mh-red) !important; font-size:1.45rem; font-weight:900; }

.mh-watch-list { display:grid; gap:16px; }
.mh-watch-card { display:grid; grid-template-columns:132px minmax(0,1fr); gap:34px; padding:34px; border-left:6px solid var(--mh-red); background:#fff; box-shadow:0 14px 36px rgba(97,0,9,.06); }
.mh-watch-card__date { display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:120px; background:var(--mh-red); color:#fff; text-align:center; }
.mh-watch-card__date span { color:#fff !important; font-size:2.8rem; font-weight:900; line-height:1; }
.mh-watch-card__date small { color:#fff !important; font-weight:800; text-transform:uppercase; }
.mh-watch-card h3 { margin-bottom:16px; color:var(--mh-ink) !important; }
.mh-watch-card p { color:var(--mh-grey-700) !important; }

/* Event calendar and approved event cards. */
.mh-event-discovery {
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(320px,.7fr);
    gap:clamp(48px,7vw,110px);
    align-items:center;
    background:#fff7f8 !important;
}
.mh-event-discovery__copy h2,
.mh-event-discovery__copy p,
.mh-event-discovery__calendar h2 { color:var(--mh-ink) !important; }
.mh-event-calendar { border:1px solid var(--mh-grey-200); background:#fff; box-shadow:0 18px 48px rgba(97,0,9,.08); }
.mh-event-calendar__head { display:grid; grid-template-columns:62px 1fr 62px; align-items:center; background:var(--mh-red); color:#fff; }
.mh-event-calendar__head h3 { padding:20px; color:#fff !important; text-align:center; font-size:1.7rem; }
.mh-event-calendar__head a { min-height:70px; display:grid; place-items:center; color:#fff !important; font-size:1.5rem; }
.mh-event-calendar__head a:hover { background:rgba(0,0,0,.14); }
.mh-event-calendar__week,
.mh-event-calendar__grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.mh-event-calendar__week span { padding:10px 4px; border-bottom:1px solid var(--mh-grey-200); color:var(--mh-grey-700) !important; font-size:.72rem; font-weight:900; text-align:center; text-transform:uppercase; }
.mh-event-calendar__grid > span,
.mh-event-calendar__grid > a { min-height:88px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; padding:12px; border-right:1px solid var(--mh-grey-200); border-bottom:1px solid var(--mh-grey-200); color:var(--mh-ink) !important; }
.mh-event-calendar__grid > :nth-child(7n) { border-right:0; }
.mh-event-calendar__grid > .is-empty { background:#fafafa; }
.mh-event-calendar__grid > .has-events { background:#fff0f2; box-shadow:inset 0 -4px 0 var(--mh-red); }
.mh-event-calendar__grid strong { color:var(--mh-ink) !important; }
.mh-event-calendar__grid small { color:var(--mh-red) !important; font-size:.7rem; font-weight:900; }
.mh-event-filter-note { margin-bottom:22px; padding:16px 18px; background:#fff0f2; border-left:4px solid var(--mh-red); color:var(--mh-ink) !important; }
.mh-event-card { display:grid; grid-template-columns:110px 280px minmax(0,1fr); border:1px solid var(--mh-grey-200); background:#fff; box-shadow:0 16px 44px rgba(97,0,9,.07); }
.mh-event-card__date { display:flex; flex-direction:column; justify-content:center; align-items:center; background:var(--mh-red); color:#fff; }
.mh-event-card__date strong { color:#fff !important; font-size:3rem; line-height:1; }
.mh-event-card__date span { color:#fff !important; font-weight:900; text-transform:uppercase; }
.mh-event-card__media { min-height:100%; overflow:hidden; }
.mh-event-card__media img { width:100%; height:100%; object-fit:cover; }
.mh-event-card__body { padding:clamp(26px,3.5vw,46px); }
.mh-event-card__body h3 { margin-bottom:16px; color:var(--mh-ink) !important; font-size:clamp(1.65rem,2.8vw,2.7rem); }
.mh-event-card__body p { color:var(--mh-grey-700) !important; }

/* Five homepage service routes remain balanced. */
.mh-service-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }

@media (max-width:1180px) {
    .mh-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .mh-service-card:last-child { grid-column:1/-1; }
    .mh-market-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .mh-event-card { grid-template-columns:100px minmax(220px,.35fr) minmax(0,.65fr); }
}

@media (max-width:960px) {
    .mh-editorial-band__inner,
    .mh-meet-band__inner,
    .mh-hub-feature__full,
    .mh-submission-band,
    .mh-event-discovery { grid-template-columns:1fr; }
    .mh-submission-band__intro { position:static; }
    .mh-meet-band__inner > div:last-child,
    .mh-hub-feature__details { padding-left:0; padding-top:30px; border-left:0; border-top:1px solid rgba(255,255,255,.35); }
    .mh-community-brand__cta { grid-template-columns:1fr; }
    .mh-community-brand__cta .mh-button { justify-self:start; }
    .mh-public-card { grid-template-columns:1fr; }
    .mh-public-card__media { aspect-ratio:16/7; }
    .mh-event-card { grid-template-columns:90px minmax(0,1fr); }
    .mh-event-card__media { display:none; }
}

@media (max-width:680px) {
    .mh-community-brand__image { max-height:none; }
    .mh-community-brand__image img { max-height:none; object-fit:contain; }
    .mh-form-grid--community { grid-template-columns:1fr; }
    .mh-community-form { padding:26px 20px; }
    .mh-market-grid { grid-template-columns:1fr; }
    .mh-watch-card { grid-template-columns:1fr; padding:22px; gap:20px; }
    .mh-watch-card__date { min-height:88px; }
    .mh-event-calendar { overflow-x:auto; }
    .mh-event-calendar__week,
    .mh-event-calendar__grid { min-width:620px; }
    .mh-event-card { grid-template-columns:1fr; }
    .mh-event-card__date { min-height:86px; flex-direction:row; gap:10px; }
    .mh-service-grid { grid-template-columns:1fr; }
    .mh-service-card:last-child { grid-column:auto; }
    .mh-public-card__media { aspect-ratio:4/3; }
}

/* Preserve contrast inside intentionally coloured components. */
.mh-red-panel,
.mh-red-panel *,
.mh-vip-price,
.mh-vip-price *,
.mh-final-cta,
.mh-final-cta * { color:#fff !important; }
.mh-red-panel p,
.mh-vip-price p,
.mh-final-cta p { color:rgba(255,255,255,.84) !important; }
.mh-plugin-frame,
.mh-plugin-frame h1,
.mh-plugin-frame h2,
.mh-plugin-frame h3,
.mh-plugin-frame h4,
.mh-plugin-frame p,
.mh-plugin-frame label,
.mh-plugin-frame li { color:var(--mh-ink) !important; }
.mh-plugin-frame a.button,
.mh-plugin-frame button,
.mh-plugin-frame input[type="submit"] { color:#fff !important; }

/* ========================================================================
   MyHoyland Agency 2.4 — definitive full-width red/white presentation
   ======================================================================== */
:root {
    --mh-shell: 1840px;
    --mh-page-gutter: clamp(28px, 4vw, 74px);
}

/* Wide page geometry: content uses the viewport rather than a narrow central box. */
.mh-shell {
    width: min(calc(100% - 56px), var(--mh-shell)) !important;
    max-width: none !important;
}
.myhoyland-front-page .mh-section > .mh-shell,
.myhoyland-front-page .mh-trust-line > .mh-shell,
.myhoyland-front-page .mh-final-cta > .mh-shell,
.mh-footer-promo > .mh-shell,
.mh-site-footer .mh-shell {
    width: min(calc(100% - 56px), var(--mh-shell)) !important;
}
.mh-page-content > section:not(.mh-page-intro),
.mh-page-content > .mh-page-intro:first-child,
.mh-public-feed,
.mh-event-command,
.mh-market-guidance,
.mh-submission-band,
.mh-meet-band {
    padding-left: var(--mh-page-gutter) !important;
    padding-right: var(--mh-page-gutter) !important;
}
.mh-editorial-band__inner,
.mh-meet-band__inner,
.mh-hub-feature__full,
.mh-page-generic-body__inner {
    width: 100% !important;
    max-width: none !important;
}

/* Definitive contrast: every light surface uses dark text. */
.mh-intro-section,
.mh-services-section,
.mh-news-section,
.mh-standards-section,
.mh-footer-promo,
.mh-page-generic-body,
.mh-editorial-band--light,
.mh-public-feed,
.mh-event-command,
.mh-market-guidance,
.mh-submission-band,
.mh-community-form,
.mh-event-calendar,
.mh-news-card,
.mh-service-card,
.mh-content-grid article,
.mh-market-card,
.mh-public-card,
.mh-event-card,
.mh-empty-state {
    color: var(--mh-ink) !important;
}
.mh-intro-section :where(h1,h2,h3,h4,p,li,span,strong,small),
.mh-services-section :where(h1,h2,h3,h4,p,li,strong,small),
.mh-news-section :where(h1,h2,h3,h4,p,li,strong,small),
.mh-standards-section :where(h1,h2,h3,h4,p,li,strong,small),
.mh-footer-promo :where(h1,h2,h3,h4,p,li,strong,small),
.mh-page-generic-body :where(h1,h2,h3,h4,p,li,label,dt,dd,strong,small),
.mh-editorial-band--light :where(h1,h2,h3,h4,p,li,strong,small),
.mh-public-feed :where(h1,h2,h3,h4,p,li,label,dt,dd,strong),
.mh-event-command :where(h1,h2,h3,h4,p,li,label,dt,dd,strong),
.mh-market-guidance :where(h1,h2,h3,h4,p,li,strong),
.mh-submission-band :where(h1,h2,h3,h4,p,li,label,dt,dd,strong,small),
.mh-community-form :where(h1,h2,h3,h4,p,li,label,dt,dd,strong,small),
.mh-news-card :where(h1,h2,h3,h4,p,li,strong,small),
.mh-service-card :where(h1,h2,h3,h4,p,li,strong,small),
.mh-content-grid article :where(h1,h2,h3,h4,p,li,strong,small),
.mh-market-card :where(h1,h2,h3,h4,p,li,strong,small),
.mh-public-card :where(h1,h2,h3,h4,p,li,strong,small),
.mh-event-card__body :where(h1,h2,h3,h4,p,li,strong,small),
.mh-empty-state :where(h1,h2,h3,h4,p,li,strong,small) {
    color: var(--mh-ink) !important;
}
.mh-intro-section .mh-kicker,
.mh-services-section .mh-kicker,
.mh-news-section .mh-kicker,
.mh-standards-section .mh-kicker,
.mh-footer-promo .mh-kicker,
.mh-page-generic-body .mh-kicker,
.mh-editorial-band--light .mh-kicker,
.mh-public-feed .mh-kicker,
.mh-event-command .mh-kicker,
.mh-market-guidance .mh-kicker,
.mh-submission-band .mh-kicker,
.mh-community-form .mh-kicker {
    color: var(--mh-red) !important;
}

/* Red surfaces and footer always use visible white text. */
.mh-announcement,
.mh-hero,
.mh-hub-feature--full-red,
.mh-vip-section,
.mh-final-cta,
.mh-page-intro,
.mh-dark-band,
.mh-meet-band,
.mh-community-brand__cta,
.mh-site-footer {
    color: #fff !important;
}
.mh-announcement *,
.mh-hero :where(h1,h2,h3,h4,p,span,strong,small),
.mh-hub-feature--full-red :where(h1,h2,h3,h4,p,span,strong,small),
.mh-vip-section :where(h1,h2,h3,h4,p,span,strong,small),
.mh-final-cta :where(h1,h2,h3,h4,p,span,strong,small),
.mh-page-intro :where(h1,h2,h3,h4,p,span,strong,small),
.mh-dark-band :where(h1,h2,h3,h4,p,span,strong,small),
.mh-meet-band :where(h1,h2,h3,h4,p,span,strong,small),
.mh-community-brand__cta :where(h1,h2,h3,h4,p,span,strong,small),
.mh-site-footer :where(h1,h2,h3,h4,p,span,strong,small,li),
.mh-site-footer a:not(.mh-button) {
    color: #fff !important;
}
.mh-site-footer {
    background: linear-gradient(128deg, #a70812 0%, #d20b18 55%, #ed1a2a 100%) !important;
}
.mh-footer-bottom { background: rgba(92,0,8,.35) !important; }
.mh-footer-menu a,
.mh-footer-contact,
.mh-footer-brand > p,
.mh-footer-membership > p,
.mh-footer-standards > p,
.mh-footer-label,
.mh-footer-bottom__inner { color: rgba(255,255,255,.86) !important; }

/* Homepage sections use broad, editorial layouts. */
.mh-editorial-intro,
.mh-section-heading {
    grid-template-columns: minmax(0, 1.45fr) minmax(360px, .55fr) !important;
}
.mh-service-grid {
    width: 100%;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}
.mh-service-card {
    min-height: 260px;
    padding: clamp(30px, 2.5vw, 48px) !important;
}
.mh-news-grid { gap: clamp(20px, 2vw, 34px) !important; }

/* Replaces the featured-business plugin output with one clear directory invitation. */
.mh-directory-invite {
    width: 100%;
    padding: clamp(82px, 8vw, 132px) var(--mh-page-gutter);
    background: linear-gradient(120deg, var(--mh-red-dark), var(--mh-red));
    color: #fff;
}
.mh-directory-invite__inner {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(340px, .55fr);
    gap: clamp(50px, 8vw, 140px);
    align-items: end;
}
.mh-directory-invite__copy h2,
.mh-directory-invite__copy p { color: #fff !important; }
.mh-directory-invite__copy h2 { max-width: 1120px; }
.mh-directory-invite__copy > p:last-child { max-width: 980px; color: rgba(255,255,255,.86) !important; font-size: 1.08rem; }
.mh-directory-invite .mh-kicker { color: rgba(255,255,255,.8) !important; }
.mh-directory-invite__actions { display: grid; gap: 12px; justify-items: stretch; }

/* Facebook group feature: wide split band, not a tall narrow stack. */
.mh-page-content > .mh-community-brand {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(420px, .65fr) !important;
    min-height: 460px;
    padding: 0 !important;
    background: #fff !important;
}
.mh-community-brand__image { max-height: none !important; min-height: 460px; }
.mh-community-brand__image img {
    width: 100%;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
}
.mh-community-brand__cta {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start !important;
    justify-content: center;
    padding: clamp(48px, 5vw, 88px) !important;
}
.mh-community-brand__cta .mh-button { margin-top: 14px; }

/* High-end What’s On command centre. */
.mh-event-command {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(360px, .58fr) minmax(680px, 1.42fr);
    gap: clamp(54px, 7vw, 120px);
    align-items: center;
    padding-top: clamp(78px, 7vw, 116px) !important;
    padding-bottom: clamp(78px, 7vw, 116px) !important;
    background: #fff8f8 var(--mh-watermark-image) repeat center/900px 300px !important;
}
.mh-event-command__intro h2 { max-width: 680px; }
.mh-event-command__intro > p:not(.mh-kicker) { max-width: 680px; color: var(--mh-grey-700) !important; font-size: 1.08rem; }
.mh-event-command__calendar { min-width: 0; }
.mh-event-calendar {
    width: 100%;
    border: 0 !important;
    box-shadow: 0 26px 70px rgba(97,0,9,.12) !important;
    overflow: hidden;
    transition: opacity .18s ease, transform .18s ease;
}
.mh-event-calendar.is-loading { opacity: .5; transform: scale(.995); pointer-events: none; }
.mh-event-calendar__head { grid-template-columns: 82px 1fr 82px !important; }
.mh-event-calendar__head a { min-height: 84px !important; }
.mh-event-calendar__grid > span,
.mh-event-calendar__grid > a { min-height: 104px !important; padding: 15px !important; }
.mh-event-calendar__grid > a.is-selected { background: var(--mh-red) !important; }
.mh-event-calendar__grid > a.is-selected strong,
.mh-event-calendar__grid > a.is-selected small { color: #fff !important; }
.mh-event-calendar__status { height: 0; overflow: hidden; }
[data-event-results] { transition: opacity .18s ease; scroll-margin-top: 130px; }
[data-event-results].is-loading { opacity: .42; pointer-events: none; }
.mh-public-feed--events .mh-event-list { gap: 32px; }
.mh-event-card {
    grid-template-columns: 130px minmax(300px, .42fr) minmax(0, .58fr) !important;
    min-height: 330px;
    border: 0 !important;
    box-shadow: 0 22px 58px rgba(97,0,9,.09) !important;
}

/* Buy & Sell: broad guidance, four-column market and full-width submission. */
.mh-market-guidance {
    width: 100%;
    padding-top: clamp(76px, 7vw, 112px) !important;
    padding-bottom: clamp(76px, 7vw, 112px) !important;
    background: #fff !important;
}
.mh-market-guidance__intro {
    display: grid;
    grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
    gap: 60px;
    align-items: end;
    margin-bottom: 52px;
}
.mh-market-guidance__points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--mh-grey-300);
    border-bottom: 1px solid var(--mh-grey-300);
}
.mh-market-guidance__points article { padding: clamp(30px, 3vw, 52px); border-right: 1px solid var(--mh-grey-300); }
.mh-market-guidance__points article:last-child { border-right: 0; }
.mh-market-guidance__points span { color: var(--mh-red) !important; font-weight: 900; letter-spacing: .12em; }
.mh-market-guidance__points h3 { margin: 14px 0 12px; }
.mh-market-guidance__points p { color: var(--mh-grey-700) !important; }
.mh-public-feed--market .mh-market-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: clamp(18px, 2vw, 30px) !important; }

/* Submission areas are horizontal and forms use the available width. */
.mh-submission-band--wide {
    display: block !important;
    padding-top: clamp(78px, 7vw, 116px) !important;
    padding-bottom: clamp(88px, 8vw, 132px) !important;
}
.mh-submission-band--wide .mh-submission-band__intro {
    position: static !important;
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
    gap: 60px;
    align-items: end;
    margin-bottom: 46px;
}
.mh-submission-band--wide .mh-submission-band__intro h2 { max-width: 800px; }
.mh-submission-band--wide .mh-submission-band__intro > p:last-child { color: var(--mh-grey-700) !important; font-size: 1.06rem; }
.mh-submission-band--wide .mh-community-form {
    width: 100% !important;
    max-width: none !important;
    padding: clamp(32px, 4vw, 62px) !important;
}
.mh-submission-band--wide .mh-form-grid--community { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.mh-submission-band--wide .mh-form-full { grid-column: 1 / -1 !important; }
.mh-form-security-note { display: none !important; }

/* Footer composition is broad and readable. */
.mh-footer-grid {
    grid-template-columns: minmax(360px, 1.25fr) minmax(190px, .55fr) minmax(330px, .9fr) minmax(230px, .65fr) !important;
    gap: clamp(34px, 5vw, 92px) !important;
}
.mh-footer-promo__inner { grid-template-columns: minmax(0, 1.35fr) auto !important; }

@media (max-width: 1320px) {
    .mh-service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .mh-service-card:last-child { grid-column: auto !important; }
    .mh-public-feed--market .mh-market-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .mh-page-content > .mh-community-brand { grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr) !important; }
    .mh-footer-grid { grid-template-columns: 1.2fr .7fr 1fr !important; }
    .mh-footer-standards { grid-column: 1 / -1; }
}

@media (max-width: 980px) {
    .mh-shell,
    .myhoyland-front-page .mh-section > .mh-shell,
    .myhoyland-front-page .mh-trust-line > .mh-shell,
    .myhoyland-front-page .mh-final-cta > .mh-shell,
    .mh-footer-promo > .mh-shell,
    .mh-site-footer .mh-shell { width: min(calc(100% - 40px), var(--mh-shell)) !important; }
    .mh-editorial-intro,
    .mh-section-heading,
    .mh-directory-invite__inner,
    .mh-event-command,
    .mh-market-guidance__intro,
    .mh-submission-band--wide .mh-submission-band__intro { grid-template-columns: 1fr !important; }
    .mh-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .mh-page-content > .mh-community-brand { grid-template-columns: 1fr !important; min-height: 0; }
    .mh-community-brand__image { min-height: 0; aspect-ratio: 16 / 7; }
    .mh-community-brand__cta { padding: 48px 28px !important; }
    .mh-event-command { gap: 44px; }
    .mh-event-card { grid-template-columns: 105px minmax(0, 1fr) !important; }
    .mh-event-card__media { display: none; }
    .mh-market-guidance__points { grid-template-columns: 1fr; }
    .mh-market-guidance__points article { border-right: 0; border-bottom: 1px solid var(--mh-grey-300); }
    .mh-market-guidance__points article:last-child { border-bottom: 0; }
    .mh-public-feed--market .mh-market-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .mh-submission-band--wide .mh-form-grid--community { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .mh-footer-grid { grid-template-columns: 1fr 1fr !important; }
}

@media (max-width: 680px) {
    :root { --mh-page-gutter: 20px; }
    .mh-shell,
    .myhoyland-front-page .mh-section > .mh-shell,
    .myhoyland-front-page .mh-trust-line > .mh-shell,
    .myhoyland-front-page .mh-final-cta > .mh-shell,
    .mh-footer-promo > .mh-shell,
    .mh-site-footer .mh-shell { width: calc(100% - 32px) !important; }
    .mh-service-grid,
    .mh-public-feed--market .mh-market-grid,
    .mh-submission-band--wide .mh-form-grid--community,
    .mh-footer-grid { grid-template-columns: 1fr !important; }
    .mh-event-calendar__head { grid-template-columns: 58px 1fr 58px !important; }
    .mh-event-calendar__head a { min-height: 66px !important; }
    .mh-event-calendar__head h3 { font-size: 1.25rem !important; padding: 14px 6px !important; }
    .mh-event-calendar__grid > span,
    .mh-event-calendar__grid > a { min-height: 62px !important; padding: 8px 6px !important; }
    .mh-event-calendar__grid small { font-size: .58rem !important; }
    .mh-event-card { grid-template-columns: 76px minmax(0, 1fr) !important; min-height: 0; }
    .mh-event-card__date strong { font-size: 2.2rem !important; }
    .mh-directory-invite__actions { width: 100%; }
}


/* ========================================================================
   MyHoyland Agency 2.5 — inner-page alignment, contrast and clean Facebook CTA
   ======================================================================== */

/* The repeated illustrated page banners were too large and contained duplicate
   logos. Keep the useful Facebook call-to-action as a clean, compact band. */
.mh-page-content > .mh-community-brand,
.mh-page-content > .mh-community-brand.mh-community-brand--compact {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: #fff8f8 !important;
    border-top: 1px solid #f0cdd1;
    border-bottom: 1px solid #f0cdd1;
}
.mh-community-brand__image { display: none !important; }
.mh-community-brand__cta {
    width: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 24px !important;
    padding: clamp(52px, 6vw, 88px) var(--mh-page-gutter) !important;
    background: transparent !important;
    color: var(--mh-ink) !important;
    text-align: center !important;
}
.mh-community-brand__cta > div {
    width: min(100%, 940px);
    margin-inline: auto;
}
.mh-community-brand__cta .mh-kicker {
    color: var(--mh-red) !important;
    opacity: 1 !important;
}
.mh-community-brand__cta h2 {
    margin: 8px 0 14px !important;
    color: var(--mh-red) !important;
    font-size: clamp(2.5rem, 5vw, 5rem) !important;
    text-align: center !important;
}
.mh-community-brand__cta p:not(.mh-kicker) {
    max-width: 760px !important;
    margin: 0 auto !important;
    color: var(--mh-grey-700) !important;
    font-size: 1.05rem;
}
.mh-community-brand__cta .mh-button {
    margin: 0 auto !important;
    justify-self: auto !important;
}

/* Replace the heavy red inner-page title boxes with a clear editorial intro.
   Headings are red, supporting copy is dark and every intro is centred. */
.mh-page-content > .mh-page-intro:first-child,
.mh-page-content > .mh-page-intro:first-child.mh-page-intro--red,
.mh-page-content > .mh-page-intro:first-child.mh-page-intro--generated {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: clamp(64px, 7vw, 104px) var(--mh-page-gutter) !important;
    background: #fff !important;
    border-top: 0 !important;
    border-bottom: 1px solid #f0dfe1 !important;
    color: var(--mh-ink) !important;
    text-align: center !important;
}
.mh-page-content > .mh-page-intro:first-child .mh-kicker {
    color: var(--mh-red) !important;
    opacity: 1 !important;
}
.mh-page-content > .mh-page-intro:first-child h1 {
    max-width: 1180px !important;
    margin-inline: auto !important;
    color: var(--mh-red) !important;
    text-align: center !important;
    text-shadow: none !important;
}
.mh-page-content > .mh-page-intro:first-child p:last-child {
    max-width: 900px !important;
    margin: 24px auto 0 !important;
    color: var(--mh-grey-700) !important;
    text-align: center !important;
}

/* Consistent centred section introductions without centring long-form card copy. */
.mh-page-content .mh-section-heading,
.mh-page-content .mh-section-heading--wide,
.mh-market-guidance__intro,
.mh-submission-band__intro,
.mh-community-form__head {
    width: min(100%, 1100px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}
.mh-page-content .mh-section-heading,
.mh-page-content .mh-section-heading--wide,
.mh-market-guidance__intro {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 18px !important;
}
.mh-page-content .mh-section-heading > p,
.mh-market-guidance__intro > p:last-child,
.mh-submission-band__intro > p:last-child,
.mh-community-form__head > p:last-child {
    max-width: 780px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    color: var(--mh-grey-700) !important;
}
.mh-page-content .mh-section-heading h2,
.mh-market-guidance__intro h2,
.mh-submission-band__intro h2,
.mh-community-form__head h2 {
    color: var(--mh-red) !important;
    text-align: center !important;
}

/* All submission areas now use one centred, readable form rather than a
   left-stuck split column. Labels stay left aligned for usability. */
.mh-submission-band,
.mh-submission-band--wide {
    display: block !important;
    width: 100% !important;
    padding-top: clamp(72px, 7vw, 110px) !important;
    padding-bottom: clamp(82px, 8vw, 126px) !important;
    background: linear-gradient(180deg, #fff8f8 0%, #ffffff 100%) !important;
}
.mh-submission-band__intro,
.mh-submission-band--wide .mh-submission-band__intro {
    position: static !important;
    display: block !important;
    width: min(100%, 980px) !important;
    margin: 0 auto 42px !important;
}
.mh-community-form,
.mh-submission-band--wide .mh-community-form {
    width: min(100%, 1380px) !important;
    max-width: 1380px !important;
    margin: 0 auto !important;
    padding: clamp(30px, 4vw, 60px) !important;
    border-top: 5px solid var(--mh-red) !important;
    background: #fff !important;
    color: var(--mh-ink) !important;
    text-align: left !important;
    box-shadow: 0 22px 58px rgba(97, 0, 9, .09) !important;
}
.mh-community-form__head {
    padding-bottom: 30px !important;
    margin-bottom: 34px !important;
}
.mh-community-form__head .mh-kicker { color: var(--mh-red) !important; }
.mh-community-form label,
.mh-community-form label span,
.mh-community-form small,
.mh-community-form p,
.mh-community-form strong {
    color: var(--mh-ink) !important;
}
.mh-community-form small { color: var(--mh-grey-700) !important; }
.mh-community-form > .mh-button[type="submit"] {
    display: flex !important;
    width: fit-content !important;
    margin: 32px auto 0 !important;
}

/* Prevent hidden white copy on light inner-page surfaces. */
.mh-public-feed,
.mh-market-guidance,
.mh-event-command,
.mh-submission-band,
.mh-editorial-band--light,
.mh-page-generic-body {
    color: var(--mh-ink) !important;
}
.mh-public-feed .mh-kicker,
.mh-market-guidance .mh-kicker,
.mh-event-command .mh-kicker,
.mh-submission-band .mh-kicker,
.mh-editorial-band--light .mh-kicker,
.mh-page-generic-body .mh-kicker {
    color: var(--mh-red) !important;
}

/* Gutenberg preset colours must remain editable on the front end despite the
   theme's protective contrast rules. */
.mh-page-content .has-myhoyland-red-color { color: #df0613 !important; }
.mh-page-content .has-deep-red-color { color: #b5000c !important; }
.mh-page-content .has-white-color { color: #ffffff !important; }
.mh-page-content .has-pale-red-color { color: #fff6f6 !important; }
.mh-page-content .has-ink-color { color: #231416 !important; }
.mh-page-content .has-myhoyland-red-background-color { background-color: #df0613 !important; }
.mh-page-content .has-deep-red-background-color { background-color: #b5000c !important; }
.mh-page-content .has-white-background-color { background-color: #ffffff !important; }
.mh-page-content .has-pale-red-background-color { background-color: #fff6f6 !important; }
.mh-page-content .has-ink-background-color { background-color: #231416 !important; }

@media (max-width: 980px) {
    .mh-community-brand__cta { padding-inline: 28px !important; }
    .mh-submission-band,
    .mh-submission-band--wide { padding-inline: 28px !important; }
    .mh-form-grid--community,
    .mh-submission-band--wide .mh-form-grid--community {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .mh-page-content > .mh-page-intro:first-child {
        padding: 54px 20px !important;
    }
    .mh-community-brand__cta {
        padding: 48px 20px !important;
    }
    .mh-community-brand__cta h2 {
        font-size: clamp(2.4rem, 13vw, 3.7rem) !important;
    }
    .mh-submission-band,
    .mh-submission-band--wide {
        padding: 58px 20px 74px !important;
    }
    .mh-community-form,
    .mh-submission-band--wide .mh-community-form {
        padding: 26px 18px !important;
    }
    .mh-form-grid--community,
    .mh-submission-band--wide .mh-form-grid--community {
        grid-template-columns: 1fr !important;
    }
}


/* ========================================================================
   MyHoyland Agency 2.5.2 — duplicate homepage CTA removed
   ======================================================================== */

/* Apply the clean title treatment even when an editor or plugin inserts a
   block before the page introduction. This prevents any old red title panel
   from returning on Buy & Sell, Jobs, Community Watch or related pages. */
.mh-page-content > .mh-page-intro,
.mh-page-content > .mh-page-intro.mh-page-intro--red,
.mh-page-content > .mh-page-intro.mh-page-intro--generated {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: clamp(64px, 7vw, 104px) var(--mh-page-gutter) !important;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #f0dfe1 !important;
    color: var(--mh-ink) !important;
    text-align: center !important;
}
.mh-page-content > .mh-page-intro > * {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}
.mh-page-content > .mh-page-intro h1 { color: var(--mh-red) !important; }
.mh-page-content > .mh-page-intro p:not(.mh-kicker) {
    max-width: 900px !important;
    color: var(--mh-grey-700) !important;
}

/* Centre all theme-authored presentation copy while retaining left-aligned
   labels and controls inside forms for usability. */
.mh-editorial-band__inner,
.mh-meet-band__inner,
.mh-content-split,
.mh-accreditation-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    text-align: center !important;
}
.mh-editorial-band__inner > div,
.mh-meet-band__inner > div,
.mh-content-split > div,
.mh-accreditation-layout > div {
    width: min(100%, 980px) !important;
    margin-inline: auto !important;
    text-align: center !important;
}
.mh-editorial-band__inner :where(h1,h2,h3,p),
.mh-meet-band__inner :where(h1,h2,h3,p),
.mh-content-split > div :where(h1,h2,h3,p),
.mh-accreditation-layout > div :where(h1,h2,h3,p) {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}
.mh-meet-band__inner > div:last-child {
    padding-left: 0 !important;
    border-left: 0 !important;
}

.mh-content-grid article,
.mh-market-guidance__points article,
.mh-detail-panel,
.mh-callout,
.mh-vip-price,
.mh-directory-invite__copy,
.mh-event-command__intro {
    text-align: center !important;
}
.mh-content-grid article :where(h1,h2,h3,p),
.mh-market-guidance__points article :where(h1,h2,h3,p),
.mh-detail-panel :where(h1,h2,h3,p,ul),
.mh-callout :where(h1,h2,h3,p),
.mh-vip-price :where(h1,h2,h3,p),
.mh-directory-invite__copy :where(h1,h2,h3,p),
.mh-event-command__intro :where(h1,h2,h3,p) {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}
.mh-detail-panel ul { width: min(100%, 720px); }
.mh-detail-panel li { text-align: center !important; }

/* Plugin forms now occupy the available content width instead of clinging to
   the left edge. Their field labels remain naturally left aligned. */
.mh-plugin-frame form,
.mh-page-generic-body form {
    width: min(100%, 1280px) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.mh-plugin-frame form :where(label,.form-row,.woocommerce-form-row),
.mh-page-generic-body form :where(label,.form-row,.woocommerce-form-row),
.mh-community-form :where(label,input,select,textarea,small) {
    text-align: left !important;
}
.mh-plugin-frame :where(h1,h2,h3,h4) {
    text-align: center !important;
}

@media (max-width: 680px) {
    .mh-page-content > .mh-page-intro,
    .mh-page-content > .mh-page-intro.mh-page-intro--red,
    .mh-page-content > .mh-page-intro.mh-page-intro--generated {
        padding: 54px 20px !important;
    }
}

/* ========================================================================
   2.5.3 — Homepage VIP and standards contrast correction
   The VIP band is intentionally a clean white section, so all content inside
   it must use dark text rather than inheriting the white-on-red colour rules.
   ======================================================================== */
.myhoyland-front-page .mh-vip-section {
    background: var(--mh-white) !important;
    color: var(--mh-ink) !important;
    border-top: 1px solid var(--mh-grey-200);
    border-bottom: 1px solid var(--mh-grey-200);
}
.myhoyland-front-page .mh-vip-section :where(h1,h2,h3,h4,p,span,strong,small) {
    color: var(--mh-ink) !important;
}
.myhoyland-front-page .mh-vip-section .mh-kicker {
    color: var(--mh-red) !important;
}
.myhoyland-front-page .mh-vip-section > .mh-shell > div:first-child > p:not(.mh-kicker),
.myhoyland-front-page .mh-vip-section__price p {
    color: var(--mh-grey-700) !important;
}
.myhoyland-front-page .mh-vip-section__price {
    border-left-color: var(--mh-grey-300) !important;
}
.myhoyland-front-page .mh-vip-section .mh-button--light {
    background: var(--mh-red) !important;
    color: var(--mh-white) !important;
    border-color: var(--mh-red) !important;
}
.myhoyland-front-page .mh-vip-section .mh-button--light:hover {
    background: var(--mh-red-dark) !important;
    color: var(--mh-white) !important;
    border-color: var(--mh-red-dark) !important;
}

/* Keep the following trust section equally clear on its light background. */
.myhoyland-front-page .mh-standards-section,
.myhoyland-front-page .mh-standards-section :where(h1,h2,h3,h4,p,span,strong,small) {
    color: var(--mh-ink) !important;
}
.myhoyland-front-page .mh-standards-section .mh-kicker {
    color: var(--mh-red) !important;
}

@media (max-width: 820px) {
    .myhoyland-front-page .mh-vip-section__price {
        border-left: 0 !important;
        border-top-color: var(--mh-grey-300) !important;
    }
}


/* ========================================================================
   2.5.4 — Spacious homepage service cards
   The former five-column row made each route too narrow for its heading,
   number, description and arrow. Desktop now uses a balanced 3-over-2 grid.
   ======================================================================== */
.myhoyland-front-page .mh-services-section .mh-service-grid {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: clamp(18px, 1.8vw, 28px) !important;
    border-top: 0 !important;
    background: transparent !important;
}
.myhoyland-front-page .mh-services-section .mh-service-card {
    grid-column: span 2 !important;
    min-width: 0 !important;
    min-height: 238px !important;
    grid-template-columns: 42px minmax(0, 1fr) 24px !important;
    gap: clamp(16px, 1.5vw, 24px) !important;
    align-content: start !important;
    padding: clamp(30px, 2.8vw, 44px) !important;
    border: 1px solid var(--mh-grey-300) !important;
    background: var(--mh-white) !important;
    box-shadow: 0 16px 42px rgba(97, 0, 9, .055) !important;
    overflow: hidden !important;
}
.myhoyland-front-page .mh-services-section .mh-service-card:nth-child(4),
.myhoyland-front-page .mh-services-section .mh-service-card:nth-child(5) {
    grid-column: span 3 !important;
}
.myhoyland-front-page .mh-services-section .mh-service-card h3 {
    margin: 0 0 14px !important;
    font-size: clamp(1.55rem, 2vw, 2.15rem) !important;
    line-height: 1.05 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}
.myhoyland-front-page .mh-services-section .mh-service-card p {
    max-width: 38ch !important;
    font-size: 1rem !important;
    line-height: 1.65 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}
.myhoyland-front-page .mh-services-section .mh-service-card__index,
.myhoyland-front-page .mh-services-section .mh-service-card__arrow {
    align-self: start !important;
}
.myhoyland-front-page .mh-services-section .mh-service-card:hover {
    transform: translateY(-3px);
    border-color: rgba(223, 6, 19, .42) !important;
    box-shadow: 0 22px 54px rgba(97, 0, 9, .11) !important;
}

@media (max-width: 1100px) {
    .myhoyland-front-page .mh-services-section .mh-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .myhoyland-front-page .mh-services-section .mh-service-card,
    .myhoyland-front-page .mh-services-section .mh-service-card:nth-child(4) {
        grid-column: span 1 !important;
    }
    .myhoyland-front-page .mh-services-section .mh-service-card:nth-child(5) {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 680px) {
    .myhoyland-front-page .mh-services-section .mh-service-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .myhoyland-front-page .mh-services-section .mh-service-card,
    .myhoyland-front-page .mh-services-section .mh-service-card:nth-child(4),
    .myhoyland-front-page .mh-services-section .mh-service-card:nth-child(5) {
        grid-column: auto !important;
        min-height: 0 !important;
        grid-template-columns: 34px minmax(0, 1fr) 22px !important;
        padding: 26px 20px !important;
    }
    .myhoyland-front-page .mh-services-section .mh-service-card h3 {
        font-size: clamp(1.45rem, 7vw, 1.85rem) !important;
    }
}


/* ========================================================================
   2.5.5 — Exact site-wide inner-page heading alignment
   Constrained headings previously sat at the left edge of a wider centred
   wrapper. Their text was centred inside the heading, but the heading itself
   was not. These rules centre the actual heading boxes and matching intro copy.
   ======================================================================== */
.mh-page-content :where(
    .mh-page-intro,
    .mh-section-heading,
    .mh-section-heading--wide,
    .mh-market-guidance__intro,
    .mh-submission-band__intro,
    .mh-community-form__head,
    .mh-event-command__intro,
    .mh-directory-invite__copy,
    .mh-community-brand__cta > div
) {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

/* Grid heading blocks contain an extra wrapper. Give that wrapper the full
   available width so its visual centre is the centre of the page. */
.mh-page-content .mh-section-heading > div,
.mh-page-content .mh-section-heading--wide > div {
    width: 100% !important;
    max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

/* Centre the element boxes as well as their text. This specifically fixes the
   800px event-submission heading inside its 980px introduction wrapper. */
.mh-page-content :where(
    .mh-page-intro,
    .mh-section-heading,
    .mh-section-heading--wide,
    .mh-market-guidance__intro,
    .mh-submission-band__intro,
    .mh-community-form__head,
    .mh-event-command__intro,
    .mh-directory-invite__copy,
    .mh-community-brand__cta > div
) :where(.mh-kicker, h1, h2, h3, h4, p) {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

.mh-page-content .mh-submission-band__intro h2,
.mh-page-content .mh-submission-band--wide .mh-submission-band__intro h2 {
    width: min(100%, 800px) !important;
}

.mh-page-content .mh-community-form__head h2 {
    width: min(100%, 920px) !important;
}

.mh-page-content .mh-section-heading > p,
.mh-page-content .mh-section-heading--wide > p,
.mh-page-content .mh-submission-band__intro > p:last-child,
.mh-page-content .mh-community-form__head > p:last-child,
.mh-page-content .mh-event-command__intro > p:not(.mh-kicker),
.mh-page-content .mh-market-guidance__intro > p:last-child,
.mh-page-content .mh-community-brand__cta p:not(.mh-kicker) {
    width: min(100%, 820px) !important;
}

/* Forms remain usable: headings are centred, fields and labels are not. */
.mh-page-content .mh-community-form :where(label, label span, input, select, textarea, small),
.mh-page-content .mh-plugin-frame form :where(label, .form-row, .woocommerce-form-row),
.mh-page-content .mh-page-generic-body form :where(label, .form-row, .woocommerce-form-row) {
    text-align: left !important;
}


/* ========================================================================
   2.5.6 — Sitewide light-section contrast correction
   Any text placed on white or very pale panels should render in dark ink.
   This specifically resolves the VIP benefits sentence and other stray
   white-on-white copy across the MyHoyland pages while preserving intended
   white text inside buttons and red badges.
   ======================================================================== */
.mh-page-intro,
.mh-content-grid article,
.mh-detail-panel,
.mh-callout,
.mh-accreditation-layout > div,
.mh-content-split > div,
.mh-submission-band,
.mh-submission-band__intro,
.mh-public-feed,
.mh-section-heading,
.mh-empty-state,
.mh-plugin-frame,
.mh-directory-invite__copy,
.mh-event-command__intro,
.mh-page-generic-body > section,
.mh-vip-price {
    color: var(--mh-ink) !important;
}

.mh-page-intro :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label),
.mh-content-grid article :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label),
.mh-detail-panel :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label),
.mh-callout :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label),
.mh-accreditation-layout > div :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label),
.mh-content-split > div :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label),
.mh-submission-band :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label),
.mh-submission-band__intro :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label),
.mh-public-feed :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label),
.mh-section-heading :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label),
.mh-empty-state :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label),
.mh-plugin-frame :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label),
.mh-directory-invite__copy :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label),
.mh-event-command__intro :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label),
.mh-page-generic-body > section :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label),
.mh-vip-price :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label) {
    color: var(--mh-ink) !important;
}

.mh-page-intro .mh-kicker,
.mh-content-grid article .mh-kicker,
.mh-detail-panel .mh-kicker,
.mh-callout .mh-kicker,
.mh-accreditation-layout > div .mh-kicker,
.mh-content-split > div .mh-kicker,
.mh-submission-band .mh-kicker,
.mh-submission-band__intro .mh-kicker,
.mh-public-feed .mh-kicker,
.mh-section-heading .mh-kicker,
.mh-empty-state .mh-kicker,
.mh-plugin-frame .mh-kicker,
.mh-directory-invite__copy .mh-kicker,
.mh-event-command__intro .mh-kicker,
.mh-page-generic-body > section .mh-kicker {
    color: var(--mh-red) !important;
}

/* Preserve intended white text inside action buttons and true red panels. */
.mh-page-content .mh-button,
.mh-page-content .mh-button *,
.mh-page-content .wp-block-button__link,
.mh-page-content .wp-block-button__link *,
.mh-page-content .button,
.mh-page-content .button *,
.mh-red-panel,
.mh-red-panel *,
.mh-final-cta,
.mh-final-cta * {
    color: #fff !important;
}

/* VIP benefits price strip now behaves as a clean light row with a red price
   badge and a readable dark membership sentence. */
.mh-vip-price {
    background: var(--mh-white) !important;
    border: 1px solid var(--mh-grey-300) !important;
    box-shadow: 0 18px 48px rgba(97, 0, 9, .06) !important;
}
.mh-vip-price > div {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 0 !important;
    padding: 22px 18px 16px !important;
    background: var(--mh-red) !important;
}
.mh-vip-price > div .mh-vip-price__amount,
.mh-vip-price > div .mh-vip-price__term {
    color: var(--mh-white) !important;
}
.mh-vip-price p {
    color: var(--mh-ink) !important;
    opacity: 1 !important;
    max-width: 42ch;
}
.mh-vip-price .mh-button--light {
    background: var(--mh-red) !important;
    color: var(--mh-white) !important;
    border-color: var(--mh-red) !important;
}
.mh-vip-price .mh-button--light:hover {
    background: var(--mh-red-dark) !important;
    color: var(--mh-white) !important;
    border-color: var(--mh-red-dark) !important;
}


/* ========================================================================
   2.5.7 — Subscriber area centring
   The member account module should sit centrally on the page rather than
   appearing pushed off to the right by the split layout.
   ======================================================================== */
.woocommerce-account .mh-content-split {
    grid-template-columns: 1fr !important;
    gap: clamp(28px, 4vw, 44px) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.woocommerce-account .mh-content-split > div,
.woocommerce-account .mh-content-split > aside {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.woocommerce-account .mh-content-split > div > :where(h1,h2,h3,p),
.woocommerce-account .mh-content-split > aside > :where(h1,h2,h3,p,ul) {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.woocommerce-account .mh-content-split > aside {
    width: min(100%, 980px) !important;
}
.woocommerce-account .mh-content-split > aside ul {
    margin-left: auto !important;
    margin-right: auto !important;
}
.woocommerce-account .woocommerce {
    width: min(100%, 980px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
    width: 100% !important;
}


/* ========================================================================
   2.5.8 — Exact Subscriber Area centring
   This page is a normal WordPress page containing the WooCommerce account
   shortcode, so WooCommerce's account-page body class is not always present.
   Target the page slug directly and remove every split-grid/float offset.
   ======================================================================== */
.mh-page-content--subscribers .mh-content-split {
    display: block !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.mh-page-content--subscribers .mh-content-split > div {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.mh-page-content--subscribers .mh-content-split > div > h2,
.mh-page-content--subscribers .mh-content-split > div > p {
    width: min(100%, 900px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

.mh-page-content--subscribers .woocommerce {
    display: block !important;
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    margin: 28px auto 0 !important;
    padding: 0 !important;
    clear: both !important;
    float: none !important;
}

.mh-page-content--subscribers .woocommerce::before,
.mh-page-content--subscribers .woocommerce::after {
    content: none !important;
    display: none !important;
}

.mh-page-content--subscribers .woocommerce-MyAccount-navigation,
.mh-page-content--subscribers .woocommerce-MyAccount-content {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

.mh-page-content--subscribers .woocommerce-MyAccount-navigation ul {
    width: 100% !important;
    margin: 0 !important;
}

.mh-page-content--subscribers .woocommerce-MyAccount-content {
    margin-top: 0 !important;
}

.mh-page-content--subscribers .mh-content-split > aside {
    display: block !important;
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    margin: 42px auto 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-left: 0 !important;
    text-align: center !important;
}

.mh-page-content--subscribers .mh-content-split > aside ul {
    width: min(100%, 620px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 820px) {
    .mh-page-content--subscribers .woocommerce,
    .mh-page-content--subscribers .mh-content-split > aside {
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* ========================================================================
   2.5.9 — Shop and advertising package action alignment
   Product/package cards stretch to equal height and their action buttons sit
   on a shared baseline, regardless of title or description length.
   ======================================================================== */
.woocommerce ul.products {
    align-items: stretch !important;
}
.woocommerce ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 100% !important;
}
.woocommerce ul.products li.product > .woocommerce-LoopProduct-link,
.woocommerce ul.products li.product > .woocommerce-loop-product__link {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    width: 100% !important;
}
.woocommerce ul.products li.product .price {
    margin-top: auto !important;
    margin-bottom: 10px !important;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: calc(100% - 34px) !important;
    min-height: 46px !important;
    margin: auto 17px 0 !important;
    text-align: center !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
}
.woocommerce ul.products li.product .added_to_cart {
    margin-top: 10px !important;
}

/* Advertising plugin cards are marked by theme.js when package markup is
   rendered. The fallbacks below also support common package-card class names. */
.mh-page-content--advertising .mh-plugin-frame :is(
    .mh-equal-button-card,
    [class*="package-card"],
    [class*="package_card"],
    [class*="pricing-card"],
    [class*="pricing_card"],
    [class*="plan-card"],
    [class*="plan_card"]
) {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 100% !important;
    box-sizing: border-box !important;
}
.mh-page-content--advertising .mh-plugin-frame .mh-equal-button-action,
.mh-page-content--advertising .mh-plugin-frame :is(
    [class*="package-card"],
    [class*="package_card"],
    [class*="pricing-card"],
    [class*="pricing_card"],
    [class*="plan-card"],
    [class*="plan_card"]
) :is(.actions,.action,.card-footer,[class*="footer"],form) {
    margin-top: auto !important;
}
.mh-page-content--advertising .mh-plugin-frame :is(
    .mh-equal-card-button,
    a.button,
    button,
    input[type="submit"],
    .wp-element-button,
    .wp-block-button__link
) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 48px !important;
    text-align: center !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
}

@media (max-width: 680px) {
    .woocommerce ul.products li.product .button,
    .woocommerce ul.products li.product .added_to_cart {
        width: calc(100% - 28px) !important;
        margin-left: 14px !important;
        margin-right: 14px !important;
    }
}


/* ========================================================================
   2.6.1 — Final mobile footer CTA and navigation correction
   ======================================================================== */
@media (max-width: 980px) {
    /* A later desktop rule previously forced this section back into two
       columns. Keep the complete CTA stacked throughout tablet/mobile. */
    .mh-footer-promo__inner {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: start !important;
        gap: clamp(28px, 5vw, 42px) !important;
    }
    .mh-footer-promo__inner > div,
    .mh-footer-promo__actions {
        width: 100% !important;
        min-width: 0 !important;
    }

    /* The menu is fixed to the live bottom edge of the sticky header by JS.
       The very high stacking level keeps it above all page sections, plugin
       widgets and chat launchers. */
    .mh-site-header {
        z-index: 999990 !important;
        overflow: visible !important;
    }
    .mh-menu-toggle {
        position: relative !important;
        z-index: 1000002 !important;
        touch-action: manipulation;
        cursor: pointer;
    }
    .mh-primary-navigation {
        position: fixed !important;
        z-index: 1000000 !important;
        top: var(--mh-mobile-menu-top, var(--mh-header-height)) !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        max-width: none !important;
        height: auto !important;
        max-height: calc(100dvh - var(--mh-mobile-menu-top, var(--mh-header-height))) !important;
        padding: clamp(18px, 4vw, 30px) max(20px, env(safe-area-inset-right)) calc(30px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left)) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        background: #fff !important;
        box-shadow: 0 24px 60px rgba(74, 0, 8, .18) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(-12px) !important;
        transition: opacity .2s ease, visibility .2s ease, transform .2s ease !important;
    }
    .mh-primary-navigation.is-open,
    body.menu-open .mh-primary-navigation {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }
    .mh-primary-navigation .mh-menu {
        display: block !important;
        width: min(100%, 760px) !important;
        margin: 0 auto !important;
        padding: 0 !important;
        background: #fff !important;
    }
    .mh-primary-navigation .mh-menu > li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        border-bottom: 1px solid var(--mh-grey-200) !important;
    }
    .mh-primary-navigation .mh-menu > li > a {
        display: flex !important;
        width: 100% !important;
        min-height: 58px !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 4px !important;
        color: var(--mh-ink) !important;
        font-size: 1rem !important;
        text-align: left !important;
        border: 0 !important;
    }
    .mh-primary-navigation .sub-menu {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 0 14px 14px !important;
        background: #fff !important;
    }
    .mh-primary-navigation .sub-menu a {
        color: var(--mh-ink) !important;
        text-align: left !important;
    }
    body.menu-open {
        overflow: hidden !important;
        touch-action: none;
    }
}

@media (max-width: 680px) {
    .mh-footer-promo {
        padding: 54px 0 58px !important;
    }
    .mh-footer-promo > .mh-shell {
        width: calc(100% - 36px) !important;
    }
    .mh-footer-promo__inner {
        gap: 28px !important;
    }
    .mh-footer-promo__inner > div:first-child {
        text-align: center !important;
    }
    .mh-footer-promo .mh-kicker {
        margin: 0 auto 16px !important;
        text-align: center !important;
    }
    .mh-footer-promo h2 {
        width: 100% !important;
        max-width: 14ch !important;
        margin: 0 auto !important;
        color: var(--mh-ink) !important;
        font-size: clamp(2.35rem, 11.5vw, 3.35rem) !important;
        line-height: .98 !important;
        letter-spacing: -.055em !important;
        text-align: center !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }
    .mh-footer-promo__actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
        margin: 0 !important;
    }
    .mh-footer-promo__actions .mh-button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 56px !important;
        margin: 0 !important;
        padding-inline: 18px !important;
    }

    /* Use the real compact mobile header height after later desktop variables. */
    :root { --mh-header-height: 76px !important; }
    .mh-header-inner {
        min-height: 76px !important;
    }
}


/* ========================================================================
   2.6.2 — Mobile menu top layer + complete mobile/tablet centring
   ======================================================================== */
@media (max-width: 980px) {
    /* theme.js mounts this navigation directly under body at this breakpoint.
       This avoids the sticky header/backdrop-filter stacking context that was
       allowing page content to cover the dropdown on some mobile browsers. */
    body > .mh-primary-navigation {
        position: fixed !important;
        z-index: 2147483000 !important;
        isolation: isolate !important;
        top: var(--mh-mobile-menu-top, 76px) !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: calc(100dvh - var(--mh-mobile-menu-top, 76px)) !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;
        padding: clamp(18px, 4vw, 30px) max(20px, env(safe-area-inset-right)) calc(34px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left)) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
        background: #fff !important;
        box-shadow: 0 28px 80px rgba(55, 0, 6, .28) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(-8px) !important;
    }
    body > .mh-primary-navigation.is-open,
    body.menu-open > .mh-primary-navigation {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }
    body.menu-open .mh-site-header,
    body.menu-open .mh-menu-toggle {
        z-index: 2147483001 !important;
    }
    body > .mh-primary-navigation .mh-menu {
        width: min(100%, 760px) !important;
        margin: 0 auto !important;
        padding: 0 !important;
        text-align: center !important;
    }
    body > .mh-primary-navigation .mh-menu > li > a {
        justify-content: center !important;
        gap: 10px !important;
        text-align: center !important;
    }
    body > .mh-primary-navigation .mh-menu .sub-menu {
        padding: 0 0 14px !important;
        text-align: center !important;
    }
    body > .mh-primary-navigation .mh-menu .sub-menu a {
        text-align: center !important;
    }
}

/* All written content is intentionally centred on phone and tablet only.
   Desktop keeps the existing editorial layouts and form alignment. */
@media (max-width: 1024px) {
    body:not(.woocommerce-cart):not(.woocommerce-checkout) .mh-site-main,
    .mh-site-footer,
    .mh-announcement,
    body:not(.woocommerce-cart):not(.woocommerce-checkout) .mh-site-main :where(section,article,aside,header,footer,div,form,fieldset,figure,figcaption,nav),
    .mh-site-footer :where(section,article,aside,header,footer,div,form,fieldset,figure,figcaption,nav) {
        text-align: center !important;
    }

    body:not(.woocommerce-cart):not(.woocommerce-checkout) .mh-site-main :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,blockquote,figcaption,label,legend,small,strong,span,th,td,a,button),
    .mh-site-footer :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,blockquote,figcaption,label,legend,small,strong,span,th,td,a,button),
    .mh-announcement :where(p,span,strong,a) {
        text-align: center !important;
    }

    body:not(.woocommerce-cart):not(.woocommerce-checkout) .mh-site-main :where(h1,h2,h3,h4,h5,h6,p,ul,ol,dl,blockquote,figure,figcaption),
    .mh-site-footer :where(h1,h2,h3,h4,h5,h6,p,ul,ol,dl,blockquote,figure,figcaption) {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body:not(.woocommerce-cart):not(.woocommerce-checkout) .mh-site-main :where(ul,ol),
    .mh-site-footer :where(ul,ol) {
        padding-left: 0 !important;
        padding-right: 0 !important;
        list-style-position: inside !important;
    }

    body:not(.woocommerce-cart):not(.woocommerce-checkout) .mh-site-main :where(input:not([type="checkbox"]):not([type="radio"]),textarea,select),
    .mh-site-footer :where(input:not([type="checkbox"]):not([type="radio"]),textarea,select) {
        text-align: center !important;
        text-align-last: center !important;
    }

    body:not(.woocommerce-cart):not(.woocommerce-checkout) .mh-site-main :where(.wp-block-buttons,.mh-card__actions,.mh-ctaRow,.mh-form__actions,.mh-footer-promo__actions,.woocommerce-product-details__short-description),
    .mh-site-footer :where(.wp-block-buttons,.mh-card__actions,.mh-ctaRow,.mh-form__actions,.mh-footer-promo__actions) {
        justify-content: center !important;
        justify-items: center !important;
        align-items: center !important;
    }

    body:not(.woocommerce-cart):not(.woocommerce-checkout) .mh-site-main :where(.mh-section-heading,.mh-editorial-intro,.mh-content-split,.mh-accreditation-layout,.mh-contact-layout,.mh-callout,.mh-footer-promo__inner),
    .mh-site-footer :where(.mh-footer-grid,.mh-footer-bottom__inner,.mh-accreditations__inner,.mh-footer-promo__inner) {
        justify-items: center !important;
        align-items: center !important;
    }

    body:not(.woocommerce-cart):not(.woocommerce-checkout) .mh-site-main :where(label,.woocommerce-form-row,.form-row,.mh-community-form__field),
    .mh-site-footer :where(label,.woocommerce-form-row,.form-row) {
        justify-content: center !important;
        align-items: center !important;
    }

    .mh-footer-bottom__inner,
    .mh-accreditations__inner,
    .mh-announcement__inner,
    .mh-announcement p,
    .mh-announcement__links {
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
    }
}


/* ========================================================================
   2.6.4 — True full-width desktop presentation
   Matches the broader MyBarnsley layout while retaining comfortable text
   measure. Cards, grids, forms, directory results and WooCommerce content
   now use the available desktop viewport instead of a narrow central column.
   ======================================================================== */
@media (min-width: 1025px) {
    :root {
        --mh-shell: 2200px !important;
        --mh-page-gutter: clamp(24px, 2.4vw, 52px) !important;
    }

    html,
    body,
    .mh-site-main,
    .mh-page,
    .mh-page-content,
    .myhoyland-front-page {
        width: 100% !important;
        max-width: none !important;
    }

    body,
    .mh-site-main {
        overflow-x: clip !important;
    }

    .mh-shell,
    .mh-header-inner,
    .myhoyland-front-page .mh-section > .mh-shell,
    .myhoyland-front-page .mh-trust-line > .mh-shell,
    .myhoyland-front-page .mh-final-cta > .mh-shell,
    .mh-footer-promo > .mh-shell,
    .mh-site-footer .mh-shell,
    .mh-accreditations .mh-shell {
        width: calc(100% - (var(--mh-page-gutter) * 2)) !important;
        max-width: 2200px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Ensure authored page bands escape any editor or article width cap. */
    .mh-page-content > section,
    .mh-page-content > .mh-page-intro,
    .mh-page-generic-body,
    .mh-public-feed,
    .mh-event-command,
    .mh-market-guidance,
    .mh-submission-band,
    .mh-meet-band,
    .mh-community-brand,
    .mh-editorial-band,
    .mh-dark-band {
        width: 100vw !important;
        max-width: none !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        padding-left: var(--mh-page-gutter) !important;
        padding-right: var(--mh-page-gutter) !important;
    }

    .mh-page-content > .mh-community-brand {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .mh-page-generic-body__inner,
    .mh-editorial-band__inner,
    .mh-meet-band__inner,
    .mh-hub-feature__full,
    .mh-public-feed > *,
    .mh-submission-band > *,
    .mh-event-command > *,
    .mh-market-guidance > * {
        width: 100% !important;
        max-width: 2200px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Let structural layouts span the page; retain readable copy lengths. */
    .mh-editorial-intro,
    .mh-section-heading,
    .mh-content-grid,
    .mh-service-grid,
    .mh-news-grid,
    .mh-content-split,
    .mh-accreditation-layout,
    .mh-contact-layout,
    .mh-market-guidance__points,
    .mh-public-grid,
    .mh-community-form,
    .mh-plugin-frame,
    body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce,
    body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-page .woocommerce {
        width: 100% !important;
        max-width: none !important;
    }

    .mh-editorial-intro p,
    .mh-section-heading > p,
    .mh-page-intro > p,
    .mh-submission-band__intro > p,
    .mh-event-command__intro > p,
    .mh-market-guidance__intro > p,
    .mh-callout p {
        max-width: 980px !important;
    }

    /* Embedded directory and advertising systems should follow the theme's
       full-width geometry rather than retaining old plugin shell limits. */
    .mh-plugin-frame > *,
    .mh-plugin-frame .mhx-directory__wrap,
    .mh-plugin-frame .mhx-quickCats__wrap,
    .mh-plugin-frame .mhx-featuredReel,
    .mh-plugin-frame .mbads-page,
    .mh-plugin-frame .mbads-shell,
    .mh-plugin-frame .mbads-portal,
    .mh-plugin-frame .mbads-portal__inner {
        width: 100% !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Shop and advertising package grids use the extra width cleanly. */
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .mh-plugin-frame .mbads-grid {
        width: 100% !important;
        max-width: none !important;
    }

    .woocommerce ul.products.columns-4,
    .woocommerce-page ul.products.columns-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .woocommerce div.product,
    .woocommerce-page div.product {
        width: 100% !important;
        max-width: none !important;
    }
}

@media (min-width: 1500px) {
    .myhoyland-front-page .mh-services-section .mh-service-grid {
        gap: clamp(22px, 1.5vw, 34px) !important;
    }

    .mh-content-grid--three,
    .mh-market-guidance__points,
    .mh-news-grid {
        gap: clamp(20px, 1.4vw, 32px) !important;
    }
}


/* ========================================================================
   2.6.5 — Remove every remaining narrow desktop section cap
   The previous full-width pass widened the main shell but several legacy
   inner wrappers still stopped at 760px–1380px. Structural sections, cards,
   forms and embedded systems now use the full desktop canvas. Text itself
   keeps a comfortable reading measure.
   ======================================================================== */
@media (min-width: 1025px) {
    :root {
        --mh-shell: 2600px !important;
        --mh-page-gutter: clamp(18px, 1.65vw, 38px) !important;
    }

    .mh-shell,
    .mh-header-inner,
    .mh-page-generic-body__inner,
    .mh-editorial-band__inner,
    .mh-meet-band__inner,
    .mh-hub-feature__full,
    .mh-directory-invite__inner,
    .mh-footer-promo__inner,
    .mh-footer-main > .mh-shell,
    .mh-footer-bottom > .mh-shell,
    .mh-accreditations > .mh-shell,
    .myhoyland-front-page .mh-section > .mh-shell,
    .myhoyland-front-page .mh-trust-line > .mh-shell,
    .myhoyland-front-page .mh-final-cta > .mh-shell {
        width: calc(100% - (var(--mh-page-gutter) * 2)) !important;
        max-width: 2600px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Full-bleed page bands with a small consistent desktop gutter. */
    .mh-page-content > section,
    .mh-page-content > .mh-page-generic-body,
    .mh-page-content > .mh-public-feed,
    .mh-page-content > .mh-event-command,
    .mh-page-content > .mh-market-guidance,
    .mh-page-content > .mh-submission-band,
    .mh-page-content > .mh-meet-band,
    .mh-page-content > .mh-editorial-band,
    .mh-page-content > .mh-dark-band,
    .mh-page-content > .mh-callout,
    .mh-page-content > .mh-content-grid,
    .mh-page-content > .mh-content-split,
    .mh-page-content > .mh-accreditation-layout,
    .mh-page-content > .mh-vip-price,
    .mh-page-content > .mh-plugin-frame {
        width: 100vw !important;
        max-width: none !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        padding-left: var(--mh-page-gutter) !important;
        padding-right: var(--mh-page-gutter) !important;
        box-sizing: border-box !important;
    }

    /* The Facebook/community band already manages its own internal spacing. */
    .mh-page-content > .mh-community-brand {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Legacy wrappers that previously remained 760–1380px wide. */
    .mh-page-content .mh-section-heading,
    .mh-page-content .mh-section-heading--wide,
    .mh-page-content .mh-submission-band__intro,
    .mh-page-content .mh-community-form__head,
    .mh-page-content .mh-market-guidance__intro,
    .mh-page-content .mh-event-command__intro,
    .mh-page-content .mh-community-brand__cta > div,
    .mh-editorial-band__inner > div,
    .mh-meet-band__inner > div,
    .mh-content-split > div,
    .mh-content-split > aside,
    .mh-accreditation-layout > div,
    .mh-directory-invite__copy,
    .mh-detail-panel,
    .mh-empty-state,
    .mh-plugin-frame,
    .mh-public-feed > *,
    .mh-submission-band > *,
    .mh-event-command > *,
    .mh-market-guidance > * {
        width: 100% !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    /* Let all visual grids and card layouts fill the widened sections. */
    .mh-content-grid,
    .mh-content-grid--two,
    .mh-content-grid--three,
    .mh-service-grid,
    .mh-news-grid,
    .mh-standards-grid,
    .mh-public-grid,
    .mh-market-guidance__points,
    .mh-contact-layout,
    .mh-content-split,
    .mh-accreditation-layout,
    .mh-vip-price,
    .mh-callout,
    .mh-community-form,
    .mh-form-grid,
    .mh-form-grid--community,
    .mh-plugin-frame,
    body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce,
    body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-page .woocommerce {
        width: 100% !important;
        max-width: none !important;
    }

    /* Forms should feel substantial rather than floating in a thin column. */
    .mh-community-form,
    .mh-submission-band--wide .mh-community-form,
    .mh-plugin-frame form,
    .mh-page-generic-body form {
        width: 100% !important;
        max-width: 1900px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Embedded directory and advertising systems inherit the full canvas. */
    .mh-plugin-frame > *,
    .mh-plugin-frame .mhx-directory,
    .mh-plugin-frame .mhx-directory__wrap,
    .mh-plugin-frame .mhx-quickCats__wrap,
    .mh-plugin-frame .mhx-featuredReel,
    .mh-plugin-frame .mhx-listings,
    .mh-plugin-frame .mbads-page,
    .mh-plugin-frame .mbads-shell,
    .mh-plugin-frame .mbads-grid,
    .mh-plugin-frame .mbads-portal,
    .mh-plugin-frame .mbads-portal__inner {
        width: 100% !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Keep written copy readable without shrinking its parent section. */
    .mh-page-content > .mh-page-intro h1,
    .mh-editorial-band__inner h2,
    .mh-hub-feature__full h2,
    .mh-directory-invite__copy h2,
    .mh-section-heading h2,
    .mh-submission-band__intro h2,
    .mh-event-command__intro h2,
    .mh-market-guidance__intro h2 {
        max-width: 1500px !important;
    }

    .mh-page-content > .mh-page-intro p:not(.mh-kicker),
    .mh-editorial-band__inner p,
    .mh-hub-feature__full > div:first-child > p:last-child,
    .mh-directory-invite__copy > p:last-child,
    .mh-section-heading > p,
    .mh-submission-band__intro > p:last-child,
    .mh-event-command__intro > p:not(.mh-kicker),
    .mh-market-guidance__intro > p:last-child,
    .mh-community-brand__cta p:not(.mh-kicker),
    .mh-callout p {
        width: auto !important;
        max-width: 1180px !important;
    }

    /* Shop and advertising package cards occupy the available row cleanly. */
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .mh-plugin-frame .mbads-grid {
        width: 100% !important;
        max-width: none !important;
    }

    /* Preserve the intentionally compact and centred subscriber account box. */
    .mh-page-content--subscribers .woocommerce,
    .mh-page-content--subscribers .mh-content-split > aside {
        max-width: 980px !important;
    }
}


/* ========================================================================
   2.6.6 — AS Payroll Services footer sponsorship
   ======================================================================== */
.mh-footer-sponsor {
    padding-top: clamp(34px, 4vw, 58px);
    padding-bottom: clamp(34px, 4vw, 58px);
    border-top: 1px solid rgba(255,255,255,.18);
}
.mh-footer-sponsor > .mh-footer-label {
    margin: 0 0 16px;
    text-align: center;
    color: rgba(255,255,255,.78) !important;
}
.mh-footer-sponsor__link {
    display: grid;
    grid-template-columns: minmax(170px, 260px) minmax(0, 1fr);
    align-items: center;
    gap: clamp(24px, 4vw, 54px);
    width: min(100%, 900px);
    margin-inline: auto;
    padding: clamp(22px, 3vw, 34px);
    background: #fff;
    border: 1px solid rgba(255,255,255,.82);
    box-shadow: 0 20px 54px rgba(70,0,6,.2);
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease;
}
.mh-footer-sponsor__link:hover,
.mh-footer-sponsor__link:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 26px 66px rgba(70,0,6,.28);
}
.mh-footer-sponsor__logo {
    display: grid;
    place-items: center;
    min-height: 116px;
}
.mh-footer-sponsor__logo img {
    display: block;
    width: min(100%, 245px);
    height: auto;
    max-height: 150px;
    object-fit: contain;
}
.mh-footer-sponsor__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
}
.mh-footer-sponsor__copy small {
    color: var(--mh-red) !important;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.mh-footer-sponsor__copy strong {
    color: var(--mh-ink) !important;
    font-size: clamp(1.75rem, 3vw, 3rem);
    line-height: 1;
    letter-spacing: -.045em;
}
.mh-footer-sponsor__copy > span {
    color: var(--mh-grey-700) !important;
    font-size: 1rem;
    line-height: 1.5;
}
@media (max-width: 820px) {
    .mh-footer-sponsor__link {
        grid-template-columns: 1fr;
        gap: 18px;
        text-align: center;
    }
    .mh-footer-sponsor__logo {
        min-height: 0;
    }
    .mh-footer-sponsor__logo img {
        width: min(100%, 220px);
        margin-inline: auto;
    }
    .mh-footer-sponsor__copy {
        align-items: center;
        text-align: center;
    }
}


/* ========================================================================
   2.6.7 — Consistent full-width homepage canvas
   Earlier theme generations used several different homepage wrappers. The
   global shell was widened, but older inner caps meant that selected bands
   still looked narrow. Every homepage structure now follows one consistent
   desktop edge while copy retains a sensible reading measure.
   ======================================================================== */
@media (min-width: 1025px) {
    body.myhoyland-front-page {
        --mh-home-edge: clamp(18px, 1.45vw, 34px);
    }

    body.myhoyland-front-page .mh-site-main,
    body.myhoyland-front-page .mh-site-main > section,
    body.myhoyland-front-page .mh-hero,
    body.myhoyland-front-page .mh-trust-line,
    body.myhoyland-front-page .mh-intro-section,
    body.myhoyland-front-page .mh-services-section,
    body.myhoyland-front-page .mh-news-section,
    body.myhoyland-front-page .mh-hub-feature,
    body.myhoyland-front-page .mh-directory-invite,
    body.myhoyland-front-page .mh-vip-section,
    body.myhoyland-front-page .mh-standards-section {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* One identical inner edge for every homepage band. */
    body.myhoyland-front-page .mh-hero__content,
    body.myhoyland-front-page .mh-trust-line__inner,
    body.myhoyland-front-page .mh-intro-section > .mh-shell,
    body.myhoyland-front-page .mh-services-section > .mh-shell,
    body.myhoyland-front-page .mh-news-section > .mh-shell,
    body.myhoyland-front-page .mh-hub-feature__full,
    body.myhoyland-front-page .mh-vip-section > .mh-shell,
    body.myhoyland-front-page .mh-standards-section > .mh-shell {
        width: calc(100% - (var(--mh-home-edge) * 2)) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    /* This band does not use .mh-shell in the PHP template. */
    body.myhoyland-front-page .mh-directory-invite {
        padding-left: var(--mh-home-edge) !important;
        padding-right: var(--mh-home-edge) !important;
    }
    body.myhoyland-front-page .mh-directory-invite__inner {
        width: 100% !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Remove old structural caps which made only selected sections narrow. */
    body.myhoyland-front-page :where(
        .mh-editorial-intro,
        .mh-section-heading,
        .mh-service-grid,
        .mh-news-grid,
        .mh-hub-feature__full,
        .mh-directory-invite__inner,
        .mh-vip-section__grid,
        .mh-standards-grid
    ) {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    body.myhoyland-front-page .mh-editorial-intro h2,
    body.myhoyland-front-page .mh-section-heading h2,
    body.myhoyland-front-page .mh-hub-feature__full h2,
    body.myhoyland-front-page .mh-directory-invite__copy h2,
    body.myhoyland-front-page .mh-vip-section h2 {
        max-width: none !important;
    }

    /* Copy remains readable, but its parent section is no longer constrained. */
    body.myhoyland-front-page .mh-editorial-intro > div:last-child,
    body.myhoyland-front-page .mh-section-heading > p,
    body.myhoyland-front-page .mh-hub-feature__full > div:first-child > p:last-child,
    body.myhoyland-front-page .mh-directory-invite__copy > p:last-child,
    body.myhoyland-front-page .mh-vip-section > .mh-shell > div:first-child > p:not(.mh-kicker) {
        width: 100% !important;
        max-width: 1050px !important;
    }

    body.myhoyland-front-page .mh-service-grid,
    body.myhoyland-front-page .mh-news-grid,
    body.myhoyland-front-page .mh-standards-grid {
        align-items: stretch !important;
    }
}


/* ========================================================================
   2.6.8 — Accreditation logo sizing
   Prevent the Mental Health First Aid mark from expanding to the full width
   of the widened page canvas. Keep it centred and proportionate everywhere.
   ======================================================================== */
.mh-accreditation-layout > div:first-child {
    width: min(100%, 430px) !important;
    max-width: 430px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.mh-accreditation-feature {
    width: 100% !important;
    max-width: 430px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: clamp(16px, 2vw, 24px) !important;
    box-sizing: border-box !important;
}
.mh-accreditation-feature img {
    display: block !important;
    width: 100% !important;
    max-width: 360px !important;
    height: auto !important;
    max-height: 360px !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.mh-accreditation-feature figcaption {
    max-width: 38ch !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

@media (max-width: 900px) {
    .mh-accreditation-layout > div:first-child,
    .mh-accreditation-feature {
        max-width: 360px !important;
    }
    .mh-accreditation-feature img {
        max-width: 300px !important;
        max-height: 300px !important;
    }
}

@media (max-width: 520px) {
    .mh-accreditation-layout > div:first-child,
    .mh-accreditation-feature {
        max-width: 300px !important;
    }
    .mh-accreditation-feature img {
        max-width: 250px !important;
        max-height: 250px !important;
    }
}


/* ================================================================
   v2.7.7 — Native WooCommerce Cart / Checkout inside MyHoyland chrome
   ----------------------------------------------------------------
   Keep WooCommerce/Stripe in full control of the commerce UI. These rules
   ONLY provide a centred page container beneath the normal site header and
   above the normal footer. No checkout fields, payment elements, buttons,
   totals or gateway internals are restyled here.
   ================================================================ */
body.woocommerce-cart .mh-site-main,
body.woocommerce-checkout .mh-site-main {
    background: #fff;
}

.mh-native-commerce {
    width: 100%;
    padding: 48px 24px 80px;
    background: #fff;
}

.mh-native-commerce__inner {
    width: min(100%, 1240px);
    margin-inline: auto;
}

/* Prevent block alignment utilities from escaping the commerce container. */
.mh-native-commerce__inner > .alignwide,
.mh-native-commerce__inner > .alignfull {
    width: 100%;
    max-width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 782px) {
    .mh-native-commerce {
        padding: 28px 16px 56px;
    }
}
