/* Match the homepage and EZY Buy palette and content gutters. */
#inner-wrap {
    --ez-ink: #143751;
    --ez-deep: #0d293a;
    --ez-muted: #445d6c;
    --ez-paper: #f8f8f3;
    --ez-tint: #edf4f7;
    --ez-line: #d8e6ed;
    --ez-accent: #e0edaf;
    --ez-radius: .6rem;
    --ez-section-space: clamp(2.75rem, 6.2vw, 6rem);
    --ez-gutter: clamp(1.1rem, 5vw, 5.25rem);
    --ez-shell-width: min(86rem, calc(100% - 2 * var(--ez-gutter)));
    --ez-hero: linear-gradient(115deg, #0d293a, #194664);
}
#inner-wrap:has(:is(.ez-services, .ez-about, .ez-contact)) { background: var(--ez-paper); }

/* Information pages retain their existing sections and compositions. */
#inner-wrap :is(.ez-services, .ez-about, .ez-contact, .ezypak-delivery-page) {
    color: var(--ez-ink);
    background: var(--ez-paper);
}
#inner-wrap :is(.ez-services, .ez-about, .ez-contact) .ez-shell {
    width: var(--ez-shell-width);
}
#inner-wrap .ezypak-delivery-page .ezd-container {
    width: var(--ez-shell-width) !important;
}
#inner-wrap :is(.ez-services, .ez-about, .ez-contact) .ez-section {
    padding-block: var(--ez-section-space);
}
#inner-wrap :is(.ez-services, .ez-about, .ez-contact) .ez-section--soft {
    background: #fff;
}
#inner-wrap :is(.ez-services, .ez-about, .ez-contact) .ez-section--pale,
#inner-wrap .ezypak-delivery-page .ezd-highlights {
    background: var(--ez-tint);
}
#inner-wrap :is(.ez-services, .ez-about, .ez-contact) .ez-hero,
#inner-wrap .ezypak-delivery-page .ezd-hero,
#inner-wrap :is(.ez-services, .ez-about, .ez-contact) .ez-cta > .ez-shell,
#inner-wrap .ezypak-delivery-page .ezd-cta {
    background: var(--ez-hero);
    color: #fff;
}
#inner-wrap :is(.ez-hero, .ezd-hero, .ez-cta, .ezd-cta) :is(h1, h2, p, li) {
    color: #fff;
}
#inner-wrap .ezypak-delivery-page .ezd-hero .ezd-intro { color: #fff !important; }
#inner-wrap .ezd-hero .ezd-subtitle { color: var(--ez-accent) !important; }
#inner-wrap .ez-hero .ez-lead { color: var(--ez-accent); }
#inner-wrap :is(.ez-hero, .ezd-hero) :is(.ez-eyebrow, .ezd-eyebrow) { color: #b9d8e9; }
#inner-wrap :is(.ez-hero, .ezd-hero) h1 {
    font-size: clamp(2.2rem, 5vw, 4.5rem);
    letter-spacing: -.05em;
    line-height: 1.03;
    text-wrap: balance;
}
#inner-wrap :is(.ez-services, .ez-about, .ez-contact, .ezypak-delivery-page) :is(.ez-hero, .ezd-hero) {
    background-image: linear-gradient(90deg, #0d293af5 0%, #0d293ae6 34%, #0d293a69 100%), var(--ez-hero-photo, none);
    background-size: cover;
    background-position: center 53%;
    text-align: start;
}
#inner-wrap :is(.ez-hero, .ezd-hero) :is(.ez-hero-art, .ezd-hero-art) { display: none; }
#inner-wrap .ezypak-delivery-page .ezd-hero .ezd-hero-inner { max-width: none !important; }
#inner-wrap :is(.ez-hero, .ezd-hero) :is(h1, .ez-lead, .ez-intro, .ezd-intro, .ezd-subtitle) {
    max-width: min(100%, 45rem);
    margin-inline: 0 !important;
}
#inner-wrap :is(.ez-hero, .ezd-hero) h1 { text-wrap: balance; }
#inner-wrap .ez-hero .ez-actions { justify-content: flex-start; }
@media (max-width: 640px) {
    #inner-wrap :is(.ez-services, .ez-about, .ez-contact, .ezypak-delivery-page) :is(.ez-hero, .ezd-hero) {
        background-image: linear-gradient(90deg, #0d293af0, #0d293abf), var(--ez-hero-photo, none);
    }
}
#inner-wrap :is(.ez-services, .ez-about, .ez-contact) .ez-cta {
    padding-block: 0 !important;
    background: var(--ez-paper) !important;
}
#inner-wrap :is(.ez-services, .ez-about, .ez-contact) section.ez-cta > .ez-shell {
    width: var(--ez-shell-width) !important;
    background: #e7efce !important;
    border-radius: .9rem !important;
    box-shadow: none !important;
}
#inner-wrap section.ez-cta :is(h2, p),
#inner-wrap .ezypak-delivery-page .ezd-cta :is(h2, p) { color: var(--ez-ink); }
#inner-wrap .ez-contact section.ez-cta {
    padding-bottom: var(--ez-section-space) !important;
}
#inner-wrap .ezypak-delivery-page .ezd-cta {
    background: #e7efce !important;
    color: var(--ez-ink);
    max-width: none !important;
    border-radius: .9rem !important;
}
#inner-wrap .ezypak-delivery-page .ezd-cta :is(h2, p) { color: var(--ez-ink); }
#inner-wrap .ezypak-delivery-page .ezd-cta-icon { color: var(--ez-ink); border-color: var(--ez-ink); }
#inner-wrap :is(.ez-hero, .ez-cta) .ez-actions > .ez-btn:not(.ez-btn--outline),
#inner-wrap .ezd-cta .ezd-button-light .wp-block-button__link {
    background: var(--ez-accent);
    border-color: var(--ez-accent);
    color: var(--ez-deep) !important;
}
#inner-wrap :is(.ez-hero, .ez-cta) .ez-actions > .ez-btn--outline,
#inner-wrap .ezd-cta .ezd-button-ghost .wp-block-button__link {
    background: transparent;
    border-color: #b9d8e9;
    color: #fff !important;
}
#inner-wrap :is(.ez-hero, .ez-cta) .ez-actions > .ez-btn:is(:hover, :focus-visible),
#inner-wrap .ezd-cta .wp-block-button__link:is(:hover, :focus-visible) {
    background: #fff;
    border-color: #fff;
    color: var(--ez-deep) !important;
}
#inner-wrap section.ez-cta .ez-actions > .ez-btn:not(.ez-btn--outline),
#inner-wrap .ezd-cta .ezd-button-light .wp-block-button__link {
    color: #fff !important;
    background: var(--ez-deep);
    border-color: var(--ez-deep);
}
#inner-wrap section.ez-cta .ez-actions > .ez-btn--outline,
#inner-wrap .ezd-cta .ezd-button-ghost .wp-block-button__link {
    color: var(--ez-ink) !important;
    border-color: var(--ez-ink);
}
#inner-wrap section.ez-cta .ez-actions > .ez-btn:is(:hover, :focus-visible),
#inner-wrap .ezd-cta .wp-block-button__link:is(:hover, :focus-visible) {
    background: #fff;
    border-color: var(--ez-ink);
    color: var(--ez-deep) !important;
}

/* Services and About have a supply section following their original page wrapper. */
#inner-wrap .entry-content > .ezy-supply-panel.ezy-campaign-section {
    width: var(--ez-shell-width);
    margin: 0 auto;
    padding-block: var(--ez-section-space);
    scroll-margin-top: 7rem;
}
#inner-wrap .entry-content > .ezy-supply-panel > h2 {
    margin: 0 0 .65rem;
    color: var(--ez-ink);
    font-size: clamp(1.85rem, 3vw, 3rem);
    line-height: 1.12;
    letter-spacing: -.035em;
}
#inner-wrap .entry-content > .ezy-supply-panel > p { margin-block: 0 1rem; }
#inner-wrap .entry-content > .ezy-supply-panel .ezy-supply-guarantee { margin-block: 1.2rem 0; }

#inner-wrap :is(.ez-services, .ez-about, .ez-contact) :is(.ez-card, .ez-callout, .ez-form-panel, .ez-details-panel),
#inner-wrap .ezypak-delivery-page :is(.ezd-card, .ezd-free-callout),
#inner-wrap .entry-content > .ezy-supply-panel .ezy-supply-options article {
    border-color: var(--ez-line);
    border-radius: var(--ez-radius);
    box-shadow: none;
}

/* Keep the section introduction first in reading order and group it with the map visually. */
#inner-wrap .ez-contact .ezy-contact-intro {
    background: #fff;
    border: 1px solid var(--ez-line);
    border-radius: var(--ez-radius) var(--ez-radius) 0 0;
    padding: clamp(1.25rem, 2.4vw, 2.125rem) clamp(1.25rem, 2.4vw, 2.125rem) 0;
    border-bottom: 0;
}
#inner-wrap .ez-contact .ezy-contact-intro h2 { font-size: clamp(1.65rem, 2.6vw, 2.4rem); }
#inner-wrap .ez-contact .ezy-contact-intro > p:last-child { margin-bottom: 1.15rem; }
#inner-wrap .ez-contact .ezy-restored-contact iframe {
    height: auto;
    aspect-ratio: 4 / 3;
    min-height: 13rem;
}
@media (min-width: 1025px) {
    #inner-wrap .ez-contact .ez-form-layout:has(> .ezy-contact-intro) {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) !important;
        grid-template-rows: auto 1fr;
        row-gap: 0;
        align-items: stretch;
    }
    #inner-wrap .ez-contact .ezy-contact-intro { grid-area: 1 / 2; }
    #inner-wrap .ez-contact .ezy-contact-intro + .ez-form-panel { grid-area: 1 / 1 / 3; }
    #inner-wrap .ez-contact .ez-form-layout:has(> .ezy-contact-intro) > .ezy-restored-contact {
        grid-area: 2 / 2;
        padding-top: 1rem;
        border-top: 0;
        border-radius: 0 0 var(--ez-radius) var(--ez-radius);
    }
    #inner-wrap .ez-contact .ezy-restored-contact h3 {
        padding-top: 1rem;
        border-top: 1px solid var(--ez-line);
    }
}
@media (max-width: 1024px) {
    #inner-wrap .ez-contact .ez-form-layout:has(> .ezy-contact-intro) { row-gap: 0; }
    #inner-wrap .ez-contact .ezy-contact-intro + .ez-form-panel {
        padding-top: .5rem;
        margin-bottom: 1.25rem;
        border-top: 0;
        border-radius: 0 0 var(--ez-radius) var(--ez-radius);
    }
}

/* WooCommerce pages and the custom EZY Buy purchasing views. */
body:is(.woocommerce, .woocommerce-account, .woocommerce-cart, .woocommerce-checkout) #inner-wrap,
#inner-wrap:has(.ezy-cart) {
    color: var(--ez-ink);
    background: var(--ez-paper);
}
body:is(.woocommerce, .woocommerce-account, .woocommerce-cart, .woocommerce-checkout) #inner-wrap .content-container.site-container {
    width: var(--ez-shell-width);
    max-width: none;
    padding-inline: 0;
}
#inner-wrap :is(.ezy-cart, .ezy-purchase-page) {
    width: min(100%, 86rem);
    margin-inline: auto;
}
#inner-wrap :is(.woocommerce-products-header__title, .product_title, .ezy-cart h1) {
    color: var(--ez-ink);
    letter-spacing: -.045em;
    line-height: 1.1;
    text-wrap: balance;
}
#inner-wrap :is(.woocommerce-loop-product__title, .woocommerce-loop-category__title) {
    color: var(--ez-ink);
    font-weight: 700;
}
#inner-wrap ul.products li:is(.product, .product-category),
#inner-wrap :is(.ezy-cart-card, .ezy-cart-receipt, .ezy-purchase-page, .ezy-purchase-page .ezy-buy-price, .ezy-pallet-freight, .ezy-request-card),
body:is(.woocommerce-account, .woocommerce-checkout, .single-product) #inner-wrap #primary .entry-content-wrap {
    border: 1px solid var(--ez-line);
    border-radius: var(--ez-radius);
    box-shadow: none;
}
#inner-wrap ul.products li:is(.product, .product-category):is(:hover, :focus-within) { border-color: #8cacc0; }
#inner-wrap :is(.ezy-cart-summary, .ezy-request-next) { background: var(--ez-tint); }
#inner-wrap .ezy-cart-options label:has(input:checked) {
    background: var(--ez-tint);
    border-color: #6287a1;
}
#inner-wrap .woocommerce-MyAccount-navigation .is-active > a {
    color: var(--ez-ink);
    background: var(--ez-tint);
}
#inner-wrap :is(.ezy-cart-submit, .ezy-quote-response button[value="accept"], .ezy-purchase-page [data-ezy-add],
    .woocommerce-account button.button, .woocommerce-checkout button.button, .ezy-portal-actions .button,
    .ezy-pallet-freight button, .ez-contact .ez-form-panel button.ff-btn-submit) {
    border-radius: .4rem;
    background: var(--ez-ink);
    color: #fff;
    font-weight: 700;
}
#inner-wrap :is(.ezy-cart-submit, .ezy-quote-response button[value="accept"], .ezy-purchase-page [data-ezy-add],
    .woocommerce-account button.button, .woocommerce-checkout button.button, .ezy-portal-actions .button,
    .ezy-pallet-freight button, .ez-contact .ez-form-panel button.ff-btn-submit):is(:hover, :focus-visible) {
    background: #235776;
    color: #fff;
}
:is(body.woocommerce-account #inner-wrap, body.woocommerce-checkout #inner-wrap,
    #inner-wrap :is(.ezy-cart, .ezy-pallet-freight, .ez-form-panel))
    :is(input:not([type="hidden"], [type="radio"], [type="checkbox"], [type="submit"], [type="button"], [type="file"]), select, textarea):focus {
    border-color: #4b83b0;
    outline: 2px solid #b9d8e9;
    outline-offset: 1px;
}

/* Keep each order-history action aligned with its own message. */
body.ezy-order-history #inner-wrap .woocommerce-info:has(> .button.wc-forward) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .8rem 1.25rem;
    padding: 1rem 1.25rem;
    border-radius: .4rem;
}
body.ezy-order-history #inner-wrap .woocommerce-info > .button.wc-forward {
    grid-area: 1 / 2;
    float: none;
    margin: 0;
    max-width: 100%;
    white-space: normal;
    border-radius: .4rem;
    background: var(--ez-ink);
    color: #fff;
}
body.ezy-order-history #inner-wrap .woocommerce-info > .button.wc-forward:hover {
    background: #235776;
}
body.ezy-order-history #inner-wrap .woocommerce-info:has(> .button.wc-forward)::before,
body.ezy-order-history #inner-wrap .woocommerce-info:has(> .button.wc-forward)::after { display: none; }

/* Give text-heavy sections a clear reading column and relevant supporting imagery. */
#inner-wrap .ez-services section[aria-labelledby="account-options"] .ez-split {
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: center;
}
#inner-wrap .ez-services .ez-split:has(h2[id="account-options"]) > :first-child::after {
    display: block;
    content: "";
    aspect-ratio: 2.25;
    margin-top: 1.25rem;
    border-radius: var(--ez-radius);
    background: var(--ez-tint) center 58% / cover no-repeat var(--ez-wholesale-photo);
}
#inner-wrap .ez-services .ez-split:has(h2[id="pickup-delivery"]) {
    grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
    align-items: center;
}
#inner-wrap :is(.ez-about, .ez-services) .ez-callout-grid > :nth-child(2) {
    align-self: stretch;
    padding: clamp(1.1rem, 2.5vw, 1.8rem);
    border-radius: var(--ez-radius);
    background: var(--ez-tint);
}
#inner-wrap .ez-about section[aria-labelledby="practical-products"] > .ez-shell {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: clamp(1.5rem, 4vw, 4rem);
}
#inner-wrap .ez-about section[aria-labelledby="practical-products"] > .ez-shell::after {
    content: "";
    aspect-ratio: 1.85;
    border-radius: var(--ez-radius);
    background: var(--ez-tint) center / cover no-repeat var(--ez-wholesale-photo);
}
#inner-wrap .ez-about .ez-centred-copy { text-align: start; }
#inner-wrap .ez-about #faq { scroll-margin-top: 5rem; }
#inner-wrap .ez-about .ez-faq details {
    border: 1px solid var(--ez-line);
    border-radius: var(--ez-radius);
}
#inner-wrap .ez-about .ez-faq details[open] { background: var(--ez-tint); }
@media (max-width: 760px) {
    #inner-wrap .ez-services .ez-split:has(h2[id="pickup-delivery"]),
    #inner-wrap .ez-about section[aria-labelledby="practical-products"] > .ez-shell {
        grid-template-columns: minmax(0, 1fr);
    }
}
@media (max-width: 640px) {
    body.ezy-order-history #inner-wrap .woocommerce-info:has(> .button.wc-forward) { grid-template-columns: minmax(0, 1fr); }
    body.ezy-order-history #inner-wrap .woocommerce-info > .button.wc-forward { grid-area: 2 / 1; text-align: center; }
}

/* Share the brand palette while keeping long policies in a comfortable reading measure. */
#inner-wrap:has(.ezypak-legal-page) { background: var(--ez-paper); }
#inner-wrap .ezypak-legal-page .ezypak-legal-hero {
    padding-block: clamp(2.6rem, 6vw, 5rem) !important;
    background: var(--ez-hero) !important;
    border: 0;
}
#inner-wrap .ezypak-legal-page .ezypak-legal-title {
    margin: 0 auto !important;
    color: #fff !important;
    font-size: clamp(2rem, 5vw, 4.5rem) !important;
    letter-spacing: -.045em;
    text-wrap: balance;
}
#inner-wrap .ezypak-legal-page .ezypak-legal-content {
    box-sizing: border-box;
    width: min(64rem, calc(100% - 2 * var(--ez-gutter)));
    max-width: none;
    margin: clamp(1.5rem, 5vw, 4rem) auto !important;
    padding: clamp(1.2rem, 5vw, 3.5rem) !important;
    color: var(--ez-ink) !important;
    background: #fff;
    border: 1px solid var(--ez-line);
    border-radius: var(--ez-radius);
    font-size: 1rem !important;
    overflow-wrap: anywhere;
}
#inner-wrap .ezypak-legal-page .ezypak-legal-section-title {
    border-top: 1px solid var(--ez-line);
    padding-top: 1.15rem;
    color: var(--ez-ink) !important;
    letter-spacing: -.025em;
    font-size: clamp(1.25rem, 2.4vw, 1.6rem) !important;
}
#inner-wrap .ezypak-legal-page .ezypak-legal-contact {
    border-color: var(--ez-line) !important;
    background: var(--ez-tint) !important;
}

#inner-wrap .ezypak-delivery-page .ezd-main {
    padding-bottom: clamp(1.75rem, 3vw, 3.25rem) !important;
    background: var(--ez-paper) !important;
}
#inner-wrap .ezypak-delivery-page .ezd-main :is(.ezd-cta, .ezd-assurance) {
    width: var(--ez-shell-width) !important;
    max-width: var(--ez-shell-width) !important;
    margin-inline: auto !important;
    box-sizing: border-box;
}
#inner-wrap .ezypak-delivery-page .ezd-cta > .wp-block-group__inner-container {
    width: 100%;
    max-width: none;
    margin: 0;
}
#inner-wrap .ezypak-delivery-page .ezd-cta :is(.ezd-cta-copy, .ezd-cta-icon, .ezd-cta-actions, p) {
    margin-block: 0;
}
#inner-wrap .ezypak-delivery-page .ezd-cta-copy p { margin-inline: 0; }
#inner-wrap .ezypak-delivery-page .ezd-assurance { margin-top: clamp(1rem, 2vw, 1.55rem); }
