/* =========================================================
   APEX STANDALONE SITE HEADER + FOOTER
========================================================= */

body:has(#apex-plugin-shell) .wp-block-post-title,
body:has(#apex-plugin-shell) header.wp-block-template-part,
body:has(#apex-plugin-shell) footer.wp-block-template-part,
body:has(#apex-plugin-shell) #masthead,
body:has(#apex-plugin-shell) #colophon,
body:has(#apex-plugin-shell) .site-header,
body:has(#apex-plugin-shell) .site-footer {
    display: none !important;
}

body:has(#apex-plugin-shell) .wp-site-blocks,
body:has(#apex-plugin-shell) .wp-block-post-content,
body:has(#apex-plugin-shell) .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:has(#apex-plugin-shell) {
    margin: 0 !important;
    padding: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: #19222e !important;
}

html:has(#apex-plugin-shell) {
    margin: 0 !important;
    padding: 0 !important;
    background: #19222e !important;
}

body:has(#apex-plugin-shell) #page,
body:has(#apex-plugin-shell) .site,
body:has(#apex-plugin-shell) main,
body:has(#apex-plugin-shell) .site-main,
body:has(#apex-plugin-shell) .main-content,
body:has(#apex-plugin-shell) .content-area,
body:has(#apex-plugin-shell) .site-content,
body:has(#apex-plugin-shell) .entry,
body:has(#apex-plugin-shell) .entry-content,
body:has(#apex-plugin-shell) .page-content {
    margin: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border: 0 !important;
}

body:has(#apex-plugin-shell) .wp-site-blocks > *,
body:has(#apex-plugin-shell) .wp-block-post-content > *,
body:has(#apex-plugin-shell) .entry-content > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

body:has(#apex-plugin-shell) .wp-site-blocks {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body:has(#apex-plugin-shell) .apex-plugin-shell {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

#apex-plugin-shell {
    --apex-navy: #19222e;
    --apex-gold: #a68048;
    --apex-gold-light: #d2b37a;
    --apex-white: #f9f9f9;
    --apex-grey: #69717a;
    --apex-max: 1400px;
    width: 100vw !important;
    max-width: none !important;
    position: relative;
    left: auto;
    transform: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    overflow: hidden;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    font-family: Poppins,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

#apex-plugin-shell a { text-decoration: none; }
#apex-plugin-shell *, #apex-plugin-shell *::before, #apex-plugin-shell *::after { box-sizing: border-box; }

/* HEADER */
#apex-plugin-shell .apex-site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 82px;
    z-index: 99999;
    background: rgba(25,34,46,.92);
    border-bottom: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(14px);
    transition: background .3s ease, box-shadow .3s ease;
}

#apex-plugin-shell .apex-site-header.scrolled {
    background: rgba(25,34,46,.98);
    box-shadow: 0 10px 30px rgba(0,0,0,.16);
}

#apex-plugin-shell .apex-site-nav {
    width: min(calc(100% - 70px), var(--apex-max));
    height: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
}

#apex-plugin-shell .apex-site-logo {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

#apex-plugin-shell .apex-site-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#apex-plugin-shell .apex-site-menu {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 38px;
}

#apex-plugin-shell .apex-site-menu a {
    position: relative;
    color: rgba(255,255,255,.85);
    font-size: 12px;
    font-weight: 500;
    padding: 8px 0;
    transition: color .25s ease;
}

#apex-plugin-shell .apex-site-menu a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: var(--apex-gold);
    transition: width .25s ease;
}

#apex-plugin-shell .apex-site-menu a:hover,
#apex-plugin-shell .apex-site-menu a.active { color: white; }

#apex-plugin-shell .apex-site-menu a:hover::after,
#apex-plugin-shell .apex-site-menu a.active::after { width: 100%; }

#apex-plugin-shell .apex-site-cta {
    margin-left: 38px;
    padding: 13px 24px;
    background: var(--apex-gold);
    color: white !important;
    font-size: 11px;
    font-weight: 600;
    transition: all .25s ease;
}

#apex-plugin-shell .apex-site-cta:hover {
    background: var(--apex-gold-light);
    transform: translateY(-2px);
}

#apex-plugin-shell .apex-site-mobile-toggle {
    display: none;
    margin-left: auto;
    width: 34px;
    border: 0;
    background: transparent;
    cursor: pointer;
}

#apex-plugin-shell .apex-site-mobile-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    margin: 5px 0;
    background: white;
}

#apex-plugin-shell .apex-site-mobile-menu {
    position: fixed;
    top: 82px;
    left: 0;
    width: 100%;
    z-index: 99998;
    padding: 18px 24px 28px;
    background: var(--apex-navy);
    display: flex;
    flex-direction: column;
    transform: translateY(-120%);
    transition: transform .35s ease;
}

#apex-plugin-shell .apex-site-mobile-menu.open { transform: translateY(0); }

#apex-plugin-shell .apex-site-mobile-menu a {
    color: white;
    font-size: 13px;
    padding: 15px 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

#apex-plugin-shell .apex-site-mobile-menu .mobile-cta {
    margin-top: 15px;
    padding: 15px;
    background: var(--apex-gold);
    border: 0;
    text-align: center;
}

/* FORM AREA SPACING */
#apex-plugin-shell .apex-app-wrap {
    flex: 1 0 auto;
    min-height: calc(100vh - 82px);
    padding: 130px 0 90px;
    background:
        linear-gradient(180deg, #f6f7f8 0%, #ffffff 58%, #f6f7f8 100%);
}

#apex-plugin-shell #apex-app {
    max-width: 980px;
    margin: 0 auto;
}

/* FOOTER */
#apex-plugin-shell .apex-site-footer {
    margin: 0 !important;
    background: var(--apex-navy);
    color: white;
    padding: 55px 0 24px;
}

#apex-plugin-shell .apex-site-footer-inner {
    width: min(calc(100% - 50px), var(--apex-max));
    margin: 0 auto;
}

#apex-plugin-shell .apex-site-footer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    padding-bottom: 34px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

#apex-plugin-shell .apex-site-footer-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    color: white;
}

#apex-plugin-shell .apex-site-footer-brand img {
    width: 50px;
    height: 50px;
    object-fit: contain;
}

#apex-plugin-shell .apex-site-footer-brand strong {
    display: block;
    font-family: Georgia,serif;
    font-size: 22px;
    letter-spacing: 2px;
    line-height: 1;
}

#apex-plugin-shell .apex-site-footer-brand span {
    display: block;
    margin-top: 5px;
    color: rgba(255,255,255,.55);
    font-size: 7px;
    letter-spacing: 2px;
}

#apex-plugin-shell .apex-site-footer-links {
    display: flex;
    align-items: center;
    gap: 26px;
}

#apex-plugin-shell .apex-site-footer-links a,
#apex-plugin-shell .apex-site-footer-contact a {
    color: rgba(255,255,255,.58);
    font-size: 10px;
    transition: color .2s ease;
}

#apex-plugin-shell .apex-site-footer-links a:hover,
#apex-plugin-shell .apex-site-footer-contact a:hover {
    color: var(--apex-gold-light);
}

#apex-plugin-shell .apex-site-footer-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    padding: 24px 0;
}

#apex-plugin-shell .apex-site-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.08);
    color: rgba(255,255,255,.34);
    font-size: 9px;
}

@media (max-width: 900px) {
    #apex-plugin-shell .apex-site-menu,
    #apex-plugin-shell .apex-site-cta { display: none; }
    #apex-plugin-shell .apex-site-mobile-toggle { display: block; }
}

@media (max-width: 700px) {
    #apex-plugin-shell .apex-site-nav { width: calc(100% - 34px); }
    #apex-plugin-shell .apex-site-logo { width: 52px; height: 52px; }
    #apex-plugin-shell .apex-app-wrap { padding-top: 112px; }
    #apex-plugin-shell .apex-site-footer-inner { width: calc(100% - 34px); }
    #apex-plugin-shell .apex-site-footer-top,
    #apex-plugin-shell .apex-site-footer-bottom { flex-direction: column; align-items: flex-start; }
    #apex-plugin-shell .apex-site-footer-links { flex-wrap: wrap; gap: 18px; }
    #apex-plugin-shell .apex-site-footer-contact { flex-direction: column; gap: 12px; }
}
#apex-app{--navy:#19222e;--gold:#a68048;--gold-light:#d2b37a;--white:#f9f9f9;--grey:#69717a;--line:#dde1e5;font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--navy);max-width:980px;margin:40px auto;padding:0 18px}
#apex-app *{box-sizing:border-box}
#apex-app .apex-app-head{text-align:center;margin-bottom:36px}
#apex-app .apex-app-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--gold);font-weight:700;letter-spacing:2px;font-size:10px}
#apex-app .apex-app-kicker span{width:28px;height:2px;background:var(--gold)}
#apex-app h1{font-size:clamp(38px,5vw,60px);line-height:1.05;letter-spacing:-2px;margin:14px 0 12px}
#apex-app .apex-app-head p{color:var(--grey);font-size:14px;margin:0}
#apex-app .apex-progress{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 28px}
#apex-app .apex-progress>span{width:72px;height:1px;background:#d8dde2}
#apex-app .apex-step-dot{width:34px;height:34px;border:1px solid #cdd4db;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#89919a;font-size:11px;font-weight:600;background:white;transition:.25s}
#apex-app .apex-step-dot.is-active{background:var(--gold);border-color:var(--gold);color:white}
#apex-app .apex-step-dot.is-complete{background:var(--navy);border-color:var(--navy);color:white}
#apex-app .apex-form-status{display:none;padding:13px 16px;margin:0 0 18px;border-radius:6px;font-size:12px;background:#f3f5f7}
#apex-app .apex-form-status.error{display:block;background:#fff0f0;color:#8f3030}
#apex-app .apex-form-status.success{display:block;background:#eef8f1;color:#2b6a3c}
#apex-app .apex-form-step{display:none}
#apex-app .apex-form-step.is-active{display:block}
#apex-app .apex-form-card{background:white;border:1px solid #e3e7eb;border-radius:10px;padding:34px;box-shadow:0 18px 55px rgba(25,34,46,.06)}
#apex-app .apex-section-title{display:flex;gap:18px;align-items:flex-start;margin-bottom:28px}
#apex-app .apex-section-title>span{color:var(--gold);font-size:10px;font-weight:700;padding-top:5px}
#apex-app .apex-section-title h2{margin:0;font-size:26px;line-height:1.1}
#apex-app .apex-section-title p{margin:7px 0 0;color:var(--grey);font-size:12px}
#apex-app .apex-grid{display:grid;gap:18px}
#apex-app .apex-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
#apex-app .apex-field.two-col{grid-column:1/-1}
#apex-app .apex-field label{display:block;font-size:11px;font-weight:600;margin-bottom:7px}
#apex-app .apex-field label b{color:#b23b3b}
#apex-app .apex-field input,#apex-app .apex-field select,#apex-app .apex-field textarea{width:100%;border:1px solid #d8dee4;border-radius:6px;background:#fff;color:var(--navy);padding:13px 14px;font:inherit;font-size:13px;outline:none;transition:border-color .2s,box-shadow .2s}
#apex-app .apex-field textarea{resize:vertical;min-height:120px}
#apex-app .apex-field input:focus,#apex-app .apex-field select:focus,#apex-app .apex-field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(166,128,72,.1)}
#apex-app .apex-field input.has-error,#apex-app .apex-field select.has-error,#apex-app .apex-field textarea.has-error{border-color:#b23b3b}
#apex-app .apex-field small{display:block;margin-top:6px;color:var(--grey);font-size:9px}
#apex-app .apex-info{margin:22px 0;padding:17px 18px;border-left:3px solid var(--gold);background:#f6f4ef}
#apex-app .apex-info strong{display:block;font-size:13px}
#apex-app .apex-info span{display:block;margin-top:4px;color:var(--grey);font-size:10px}
#apex-app .apex-dependant{border:1px solid #e0e4e8;border-radius:8px;padding:22px;margin-bottom:15px}
#apex-app .apex-dependant-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
#apex-app .apex-dependant-head strong{font-size:13px}
#apex-app .apex-remove-dependant{background:none;border:0;color:#9a3333;font-size:10px;cursor:pointer}
#apex-app .apex-dependant-empty{padding:18px;background:#f7f8f9;border-radius:7px;color:var(--grey);font-size:12px}
#apex-app .apex-add-dependant{margin-top:5px;border:1px dashed var(--gold);background:transparent;color:var(--navy);padding:11px 14px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer}
#apex-app .apex-check{display:flex;align-items:flex-start;gap:10px;margin-top:18px;color:var(--grey);font-size:11px;line-height:1.7}
#apex-app .apex-check input{margin-top:4px;accent-color:var(--gold)}
#apex-app .apex-privacy-note{margin-top:22px;padding:13px;background:#f6f7f8;color:var(--grey);font-size:10px;line-height:1.6}
#apex-app .apex-form-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px}
#apex-app .apex-btn{border:0;border-radius:5px;min-height:48px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:.25s}
#apex-app .apex-btn.primary{background:var(--gold);color:white}
#apex-app .apex-btn.primary:hover{background:var(--gold-light);transform:translateY(-1px)}
#apex-app .apex-btn.ghost{background:#eef0f2;color:var(--navy)}
#apex-app .apex-btn:disabled{opacity:.65;cursor:wait;transform:none!important}
#apex-app .apex-spinner{width:13px;height:13px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:apexSpin .8s linear infinite}
@keyframes apexSpin{to{transform:rotate(360deg)}}
#apex-app .apex-success{text-align:center;padding:70px 30px;background:white;border:1px solid #e3e7eb;border-radius:10px;box-shadow:0 18px 55px rgba(25,34,46,.06)}
#apex-app .apex-success-mark{width:68px;height:68px;border-radius:50%;background:var(--navy);color:var(--gold-light);display:flex;align-items:center;justify-content:center;margin:0 auto 25px;font-size:28px}
#apex-app .apex-success h2{font-size:44px;line-height:1;margin:14px 0 10px}
#apex-app .apex-success p{color:var(--grey);font-size:13px}
#apex-app .apex-ref{display:inline-block;margin:15px 0 28px;padding:10px 15px;background:#f4f5f6;border-radius:5px;font-size:11px;font-weight:600}
@media(max-width:700px){#apex-app{padding:0 12px;margin:25px auto}.apex-grid.two{grid-template-columns:1fr!important}.apex-field.two-col{grid-column:auto}.apex-form-card{padding:22px}.apex-progress>span{width:35px}.apex-form-actions{flex-direction:column}.apex-form-actions .apex-btn{width:100%}.apex-section-title h2{font-size:23px}}


/* FINAL EDGE-TO-EDGE RESET */
body:has(#apex-plugin-shell) .apex-site-header,
body:has(#apex-plugin-shell) .apex-site-footer { margin: 0 !important; }
body:has(#apex-plugin-shell) .apex-app-wrap { margin: 0 !important; }


/* =========================================================
   EDGE-TO-EDGE / VIEWPORT ALIGNMENT FIX v1.1.4
   Do not transform the shell: transformed ancestors
   make fixed header positioning relative to the shell.
========================================================= */
html:has(#apex-plugin-shell),
body:has(#apex-plugin-shell),
body:has(#apex-plugin-shell) #page,
body:has(#apex-plugin-shell) .site,
body:has(#apex-plugin-shell) main,
body:has(#apex-plugin-shell) .site-main,
body:has(#apex-plugin-shell) .main-content,
body:has(#apex-plugin-shell) .content-area,
body:has(#apex-plugin-shell) .site-content,
body:has(#apex-plugin-shell) .entry,
body:has(#apex-plugin-shell) .entry-content,
body:has(#apex-plugin-shell) .page-content {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body:has(#apex-plugin-shell) {
    background: #19222e !important;
}

#apex-plugin-shell {
    left: auto !important;
    transform: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    width: 100vw !important;
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
}

#apex-plugin-shell .apex-site-header {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
}

#apex-plugin-shell .apex-app-wrap {
    flex: 1 0 auto !important;
    padding-top: 175px !important;
    padding-bottom: 70px !important;
}

/* Keep the action button visually separated from the footer. */
#apex-app .apex-form-actions {
    margin-bottom: 55px !important;
}

#apex-plugin-shell .apex-site-footer {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    flex-shrink: 0 !important;
}


/* HEADING BREATHING ROOM FIX v2.2.4 */
#apex-plugin-shell .apex-app-head {
    margin-top: 10px !important;
    margin-bottom: 42px !important;
}
#apex-plugin-shell #apex-app h1 {
    margin-top: 18px !important;
    margin-bottom: 16px !important;
}
@media (max-width: 700px) {
    #apex-plugin-shell .apex-app-wrap {
        padding-top: 125px !important;
    }
    #apex-plugin-shell .apex-app-head {
        margin-bottom: 32px !important;
    }
}


/* Product pricing selector */
.apex-product-field{position:relative}
.apex-product-price{margin-top:12px;padding:13px 15px;border:1px solid #e5e8ec;border-left:3px solid #a68048;border-radius:10px;background:#faf9f6;display:grid;gap:3px}
.apex-product-price span{font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#a68048}
.apex-product-price strong{font-size:15px;color:#19222e;line-height:1.35}
.apex-product-price small{font-size:12px;color:#687386;line-height:1.45}

/* =========================================================
   v2.3.0 — specific cover options + live premium summary
========================================================= */
#apex-app .apex-product-field small{
  display:block;
  margin-top:7px;
  color:#69717a;
  font-size:11px;
  line-height:1.5;
}
#apex-app #cover_option:disabled{
  background:#f4f5f6;
  color:#8b9299;
  cursor:not-allowed;
}
#apex-app .apex-pricing-summary{
  margin:24px 0 8px;
  border:1px solid rgba(166,128,72,.28);
  border-radius:14px;
  background:linear-gradient(135deg,#faf7f1 0%,#fff 72%);
  overflow:hidden;
}
#apex-app .apex-pricing-summary-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 20px;
  background:#19222e;
  color:#fff;
}
#apex-app .apex-pricing-summary-head span{
  display:block;
  color:#d9bd8d;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:5px;
}
#apex-app .apex-pricing-summary-head strong{
  display:block;
  font-size:14px;
  font-weight:700;
}
#apex-app .apex-pricing-amount{
  font-size:28px;
  line-height:1;
  font-weight:800;
  color:#fff;
  white-space:nowrap;
}
#apex-app .apex-pricing-summary-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-bottom:1px solid #e9e4da;
}
#apex-app .apex-pricing-summary-grid>div{
  padding:15px 18px;
  border-right:1px solid #e9e4da;
}
#apex-app .apex-pricing-summary-grid>div:last-child{border-right:0}
#apex-app .apex-pricing-summary-grid span{
  display:block;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#69717a;
  margin-bottom:6px;
}
#apex-app .apex-pricing-summary-grid strong{
  display:block;
  font-size:12px;
  line-height:1.45;
  color:#19222e;
}
#apex-app .apex-pricing-summary p{
  margin:0;
  padding:13px 18px 15px;
  color:#69717a;
  font-size:11px;
  line-height:1.55;
}
@media(max-width:760px){
  #apex-app .apex-pricing-summary-head{align-items:flex-start;flex-direction:column}
  #apex-app .apex-pricing-amount{font-size:24px}
  #apex-app .apex-pricing-summary-grid{grid-template-columns:1fr 1fr}
  #apex-app .apex-pricing-summary-grid>div:nth-child(2),#apex-app .apex-pricing-summary-grid>div:nth-child(4){border-right:0}
}
