/*
 * AMC Secure — site-wide page column alignment
 * Same content width (1180px) + equal box spacing on every inner page.
 */

/* ── Vertical page flow (main column) ── */
body:not(.admin-body) main.market-main:not(.global-home-main),
body:not(.admin-body) main.product-detail-page,
body:not(.admin-body) main.blog-page,
body:not(.admin-body) main.career-page,
body:not(.admin-body) main.appointment-page,
body:not(.admin-body) main.checkout-page,
body:not(.admin-body) main.tender-page {
    display: flex;
    flex-direction: column;
    gap: var(--page-flow-gap, 10px);
    align-items: stretch;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 0 28px;
    box-sizing: border-box;
}

/* Direct sections/blocks — same width as page-shell */
body:not(.admin-body) main.market-main:not(.global-home-main) > *:not(.hero-galaxy-banner),
body:not(.admin-body) main.product-detail-page > *:not(.hero-galaxy-banner),
body:not(.admin-body) main.blog-page > *:not(.hero-galaxy-banner),
body:not(.admin-body) main.career-page > *:not(.hero-galaxy-banner),
body:not(.admin-body) main.appointment-page > *:not(.hero-galaxy-banner),
body:not(.admin-body) main.checkout-page > *:not(.hero-galaxy-banner),
body:not(.admin-body) main.tender-page > *:not(.hero-galaxy-banner) {
    width: var(--page-shell-width);
    max-width: var(--site-content-max, 1180px);
    margin-inline: auto;
    box-sizing: border-box;
}

/* Nested shell inside an already constrained column — full inner width */
body:not(.admin-body) main .page-shell .page-shell,
body:not(.admin-body) main .page-shell .page-flow,
body:not(.admin-body) main .page-flow .page-shell {
    width: 100%;
    max-width: none;
    margin-inline: 0;
}

/* Career / eTender — single aligned column under hero */
body:not(.admin-body) main.career-page > .page-flow,
body:not(.admin-body) main.appointment-page > .page-flow,
body:not(.admin-body) main.tender-page > .page-flow,
body:not(.admin-body) main.market-main.tender-page > .page-flow {
    display: flex;
    flex-direction: column;
    gap: var(--page-flow-gap, 10px);
    width: var(--page-shell-width);
    max-width: var(--site-content-max, 1180px);
    margin-inline: auto;
    box-sizing: border-box;
}

body:not(.admin-body) main.career-page > .hero-galaxy-banner + .page-flow,
body:not(.admin-body) main.appointment-page > .hero-galaxy-banner + .page-flow,
body:not(.admin-body) main.tender-page > .hero-galaxy-banner + .page-flow,
body:not(.admin-body) main.market-main.tender-page > .hero-galaxy-banner + .page-flow {
    margin-top: 0;
}

body:not(.admin-body) main.career-page > .hero-galaxy-banner.hero-page-unify,
body:not(.admin-body) main.appointment-page > .hero-galaxy-banner.hero-page-unify,
body:not(.admin-body) main.tender-page > .hero-galaxy-banner.hero-page-unify,
body:not(.admin-body) main.market-main.tender-page > .hero-galaxy-banner.hero-page-unify {
    margin-bottom: 0 !important;
}

body:not(.admin-body) main.career-page > .page-flow > *,
body:not(.admin-body) main.appointment-page > .page-flow > *,
body:not(.admin-body) main.tender-page > .page-flow > *,
body:not(.admin-body) main.market-main.tender-page > .page-flow > * {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
}

body:not(.admin-body) main.tender-page > .tender-modal,
body:not(.admin-body) main.market-main.tender-page > .tender-modal {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* ── Override legacy page-specific widths ── */
body:not(.admin-body) .tender-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 0 28px !important;
    gap: var(--page-flow-gap, 10px) !important;
}

body:not(.admin-body) .blog-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 0 28px !important;
    gap: var(--page-flow-gap, 10px) !important;
}

body:not(.admin-body) .career-page,
body:not(.admin-body) .appointment-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 0 28px !important;
    gap: var(--page-flow-gap, 10px) !important;
    overflow: visible !important;
}

body:not(.admin-body) main.market-main.tender-page {
    max-width: none !important;
    width: 100% !important;
}

body:not(.admin-body) .contact-page-v3 {
    display: flex;
    flex-direction: column;
    gap: var(--page-flow-gap, 10px);
    padding: 0 0 28px;
}

body:not(.admin-body) .contact-page-shell {
    gap: var(--page-flow-gap, 10px);
}

/* ── Equal section spacing (remove legacy margins) ── */
body:not(.admin-body) .career-page > section,
body:not(.admin-body) .career-page > .page-flow > section,
body:not(.admin-body) .career-page > .career-alert,
body:not(.admin-body) .career-page > .page-flow > .career-alert,
body:not(.admin-body) .career-page > .recruitment-layout,
body:not(.admin-body) .career-page > .page-flow > .recruitment-layout {
    margin: 0 !important;
}

body:not(.admin-body) .career-values {
    margin: 0 !important;
    gap: var(--page-flow-gap, 10px) !important;
}

body:not(.admin-body) .career-process {
    margin-top: 0 !important;
}

body:not(.admin-body) .recruitment-layout {
    margin-top: 0 !important;
    gap: var(--page-flow-gap, 10px) !important;
}

/* ── Unified panel / card shell ── */
body:not(.admin-body) .cart-panel,
body:not(.admin-body) .checkout-form-card,
body:not(.admin-body) .legal-card,
body:not(.admin-body) .career-openings,
body:not(.admin-body) .career-process,
body:not(.admin-body) .recruitment-form,
body:not(.admin-body) .recruitment-side,
body:not(.admin-body) .tender-page .tender-search-panel,
body:not(.admin-body) .tender-page .tender-source-panel,
body:not(.admin-body) .tender-page .tender-board,
body:not(.admin-body) .blog-featured,
body:not(.admin-body) .blog-grid-panel,
body:not(.admin-body) .blog-cta,
body:not(.admin-body) .appointment-form,
body:not(.admin-body) .appointment-side,
body:not(.admin-body) .contact-assurance-strip article,
body:not(.admin-body) .contact-channel-grid article,
body:not(.admin-body) .contact-map-section,
body:not(.admin-body) .contact-form-section {
    border-radius: var(--page-card-radius, 12px) !important;
}

body:not(.admin-body) .tender-page .tender-stat-grid,
body:not(.admin-body) .tender-page .tender-search-panel,
body:not(.admin-body) .tender-page .tender-source-panel,
body:not(.admin-body) .tender-page .tender-board {
    margin: 0 !important;
}

body:not(.admin-body) .tender-page .tender-stat-grid {
    gap: var(--page-flow-gap, 10px) !important;
    margin: 0 !important;
    max-width: none !important;
}

body:not(.admin-body) .tender-page .tender-search-panel,
body:not(.admin-body) .tender-page .tender-source-panel,
body:not(.admin-body) .tender-page .tender-board {
    margin: 0 !important;
    max-width: none !important;
}

body:not(.admin-body) .contact-assurance-strip,
body:not(.admin-body) .contact-channel-grid {
    gap: var(--page-flow-gap, 10px) !important;
}

body:not(.admin-body) .blog-categories {
    gap: 8px;
}

body:not(.admin-body) .blog-grid {
    gap: var(--page-flow-gap, 10px) !important;
}

body:not(.admin-body) .appointment-layout {
    gap: var(--page-flow-gap, 10px) !important;
    margin: 0 !important;
}

/* Commerce panels — compact aligned padding */
body:not(.admin-body) .cart-panel,
body:not(.admin-body) .checkout-form-card,
body:not(.admin-body) .legal-card {
    padding: var(--page-card-padding, 12px 14px) !important;
    border: 1px solid rgba(148, 163, 184, 0.2) !important;
    border-radius: var(--page-card-radius, 12px) !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05) !important;
}

body:not(.admin-body) .amz-store .page-shell {
    gap: var(--page-flow-gap, 10px) !important;
    padding-bottom: 28px !important;
}

body:not(.admin-body) .amz-listing-layout {
    gap: var(--page-flow-gap, 10px) !important;
}

body:not(.admin-body) .checkout-steps {
    margin-bottom: 0 !important;
}

body:not(.admin-body) .checkout-steps ol {
    gap: var(--page-flow-gap, 10px) !important;
}

@media (max-width: 1024px) {
    body:not(.admin-body) main.market-main:not(.global-home-main) > *:not(.hero-galaxy-banner),
    body:not(.admin-body) main.product-detail-page > *:not(.hero-galaxy-banner),
    body:not(.admin-body) main.blog-page > *:not(.hero-galaxy-banner),
    body:not(.admin-body) main.career-page > *:not(.hero-galaxy-banner),
    body:not(.admin-body) main.appointment-page > *:not(.hero-galaxy-banner),
    body:not(.admin-body) main.checkout-page > *:not(.hero-galaxy-banner),
    body:not(.admin-body) main.tender-page > *:not(.hero-galaxy-banner) {
        width: min(100% - 20px, 1180px);
    }
}

@media (max-width: 640px) {
    body:not(.admin-body) .career-page {
        padding-bottom: 20px !important;
    }
}
