.mcfc { --mcfc-blue:#0879bd; clear:both; width:100%; box-sizing:border-box; margin:1rem 0; padding:clamp(20px,2.6vw,26px); border:1px solid #dce3e8; border-radius:16px; background:#fff; color:#172b3a; box-shadow:0 8px 30px #122e4510; text-align:left; font:inherit; }
.mcfc *, .mcfc *::before, .mcfc *::after { box-sizing:border-box; }
.mcfc [hidden] { display:none !important; }
.mcfc .mcfc-eyebrow { color:#06659e; font-size:.75rem; font-weight:800; letter-spacing:.09em; margin:0 0 .5rem; }
.mcfc h2 { font-size:clamp(26px,3vw,34px); line-height:1.2; margin:0 0 .75rem; color:inherit; }
.mcfc .mcfc-intro { color:#526473; font-size:1.125rem; line-height:1.4; margin:0; }
.mcfc .mcfc-step-count { font-size:.875rem; margin:1rem 0 .4rem; }
.mcfc .mcfc-progress { display:block; appearance:none; width:100%; height:8px; border:0; border-radius:20px; overflow:hidden; background:#e6edf2; margin-bottom:1.25rem; }
.mcfc-progress::-webkit-progress-bar { background:#e6edf2; }
.mcfc-progress::-webkit-progress-value { background:#0879bd; border-radius:20px; }
.mcfc-progress::-moz-progress-bar { background:#0879bd; }
.mcfc fieldset { border:0; padding:0; margin:0; min-width:0; }
.mcfc legend { float:none; display:block; width:100%; font-size:clamp(20px,2.5vw,25px); line-height:1.3; font-weight:750; padding:0; margin-bottom:.5rem; }
.mcfc .mcfc-instructions { line-height:1.55; font-size:.95rem; margin:.5rem 0 .75rem; }
.mcfc .mcfc-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:.75rem 0; }
.mcfc .mcfc-choice { position:relative; display:flex; align-items:flex-start; gap:10px; border:2px solid #dce3e8; border-radius:10px; padding:12px; cursor:pointer; margin:0; }
.mcfc .mcfc-choice:has(input:checked) { border-color:#0879bd; background:#f1f8fd; }
.mcfc .mcfc-choice input { flex:none; width:19px; height:19px; margin:3px 0 0; accent-color:#0879bd; }
.mcfc .mcfc-choice-body { display:flex; flex-direction:column; min-width:0; gap:6px; line-height:1.4; }
.mcfc .mcfc-choice-body > span { font-size:.85rem; }
.mcfc .mcfc-selected { visibility:hidden; font-weight:700; color:#075987; }
.mcfc input:checked + .mcfc-choice-body .mcfc-selected { visibility:visible; }
.mcfc .mcfc-education-image { display:block; width:100%; max-height:320px; object-fit:contain; border-radius:6px; margin:.125rem 0 .5rem; }
.mcfc .mcfc-nav { display:flex; justify-content:space-between; gap:12px; margin-top:1rem; }
.mcfc button { appearance:none; border:1px solid #0879bd; border-radius:7px; min-height:46px; padding:11px 18px; background:#0879bd; color:#fff; font:inherit; font-weight:650; cursor:pointer; }
.mcfc .mcfc-back, .mcfc .mcfc-review, .mcfc .mcfc-restart { background:#fff; color:#075987; }
.mcfc button:disabled, .single_add_to_cart_button[data-mcfc-lock]:disabled { cursor:not-allowed; opacity:.5; }
.mcfc .mcfc-next { margin-left:auto; }
.mcfc .mcfc-confirm { display:flex; align-items:flex-start; gap:10px; line-height:1.6; }
.mcfc .mcfc-confirm input { flex:none; margin-top:6px; width:20px; height:20px; }
.mcfc .mcfc-result { border-top:1px solid #dce3e8; padding-top:20px; }
.mcfc .mcfc-result-name { font-size:1.35rem; font-weight:750; }
.mcfc .mcfc-result-content img { max-width:100%; max-height:240px; object-fit:contain; }
.mcfc .mcfc-result button { margin:8px 8px 0 0; }
.mcfc .mcfc-result .mcfc-use { display:block; width:100%; }
.mcfc .mcfc-status { font-size:.9rem; line-height:1.5; margin:.75rem 0 0; color:#425a6b; }
.mcfc .mcfc-retry, .mcfc .mcfc-unavailable, .mcfc .mcfc-hint { background:#f2f7fb; border-left:3px solid #0879bd; padding:12px; line-height:1.5; }
.mcfc :focus-visible { outline:3px solid #135b92; outline-offset:4px; }
.mcfc legend:focus, .mcfc .mcfc-result h3:focus { outline:none !important; box-shadow:none !important; }
@media(min-width:961px) {
  .wp-block-add-to-cart-form:has(.mcfc) { margin-block-start:.5rem !important; }
  .wp-block-add-to-cart-form:has(.mcfc) .mcfc { margin-top:0; }
}
@media(max-width:480px) { .mcfc .mcfc-choices { grid-template-columns:1fr; } .mcfc .mcfc-choice-body .mcfc-education-image { max-height:130px; } .mcfc { padding:20px; } }
@media(prefers-reduced-motion:reduce) { .mcfc * { transition:none !important; } }
/* Guided question pages share the approved Emergency Stop visual language. */
.mcfc.mcfc-guided{--mcfc-blue:#01304e;border:0;border-radius:0;box-shadow:none;padding:0;color:#222}
.mcfc-guided h2{font-size:22px}
.mcfc-guided legend{font-size:18px;font-weight:700}
.mcfc-guided .mcfc-intro,.mcfc-guided .mcfc-instructions{font-size:15px;color:#222}
.mcfc-guided .mcfc-choices{gap:12px}
.mcfc-guided .mcfc-choice{padding:16px;border-color:#b5cede;border-radius:8px;background:#fff}
.mcfc-guided .mcfc-choice:has(input:checked){border-color:#01304e;background:#FFFF0038}
.mcfc-guided .mcfc-choice input{accent-color:#01304e}
.mcfc-guided .mcfc-choice-body strong{font-size:18px;color:#222}
.mcfc-guided .mcfc-choice-body > span{font-size:15px;color:#222}
.mcfc-guided .mcfc-choice-body img,.mcfc-guided .mcfc-selected{display:none}
.mcfc-guided .mcfc-guided-detail:empty{display:none}.mcfc-guided .mcfc-guided-detail{display:flex;align-items:center;gap:20px;min-height:148px;margin:8px 0 12px;font-size:16px}
.mcfc-guided-detail .mcfc-education-image{width:140px;height:140px;flex:none;object-fit:contain;margin:0}
.mcfc-guided .mcfc-guided-detail p{margin:0}
.mcfc-guided button{background:#fff;border-color:#666;border-radius:4px;color:#222;font-weight:700}
.mcfc-guided .mcfc-guided-reset{font-size:14px;font-weight:400;color:#666;border-color:#cbd0d5;padding:7px 12px;min-height:0;margin-top:12px}
.mcfc-guided .mcfc-progress::-webkit-progress-value{background:#01304e}
.mcfc-guided .mcfc-progress::-moz-progress-bar{background:#01304e}
.mcfc-guided .mcfc-choice input:focus{outline:none;box-shadow:none}
.mcfc-guided .mcfc-choice:has(input:focus-visible){outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #01304e}
.mcfc-guided .mcfc-guidance{padding:12px;border-left:3px solid #01304e;background:#f5f5f5;font-size:15px}
.mcfc-guided-form .variations{display:none!important}
.mcfc-guided-form .woocommerce-variation-price .price{font-size:28px!important;font-weight:700}
@media(hover:hover){.mcfc-guided .mcfc-choice:not(:has(input:checked)):hover{background:#FFFF001F}}
@media(max-width:600px){.mcfc-guided .mcfc-choices{grid-template-columns:1fr}.mcfc-guided-detail .mcfc-education-image{width:100px;height:100px}}
@media(forced-colors:active){.mcfc-guided .mcfc-choice:has(input:focus-visible){outline:2px solid Highlight}}

/* Progressive guided questions retain earlier choices; illustrations live in cards. */
.mcfc-guided .mcfc-choice-body img{display:block;width:100%;height:100px;object-fit:contain;margin:0 0 6px}
.mcfc-guided .mcfc-choice-body > span:not(.mcfc-selected){display:none}
.mcfc-guided .mcfc-choice-body{width:100%}
.mcfc-guided .mcfc-guided-detail{min-height:0;margin:8px 0 18px;font-size:15px}
.mcfc-guided .mcfc-step + .mcfc-step{margin-top:24px}
.mcfc-guided .mcfc-verification{margin-top:24px}
/* Simple rows: artwork, label and explanation stay together. */
.mcfc-guided .mcfc-choices{grid-template-columns:1fr;gap:8px}
.mcfc-guided .mcfc-choice{align-items:center;padding:10px 12px;border-width:1px;border-radius:5px}
.mcfc-guided .mcfc-choice-body{display:grid;grid-template-columns:90px 1fr;column-gap:14px;row-gap:3px;align-items:center}
.mcfc-guided .mcfc-choice-body img{grid-column:1;grid-row:1 / span 2;width:90px;height:76px;margin:0}
.mcfc-guided .mcfc-choice-body strong,.mcfc-guided .mcfc-choice-body > span:not(.mcfc-selected){grid-column:2;display:block}
.mcfc-guided .mcfc-choice-body:not(:has(img)){grid-template-columns:1fr}
.mcfc-guided .mcfc-choice-body:not(:has(img)) strong,.mcfc-guided .mcfc-choice-body:not(:has(img)) > span:not(.mcfc-selected){grid-column:1}
.mcfc-guided .mcfc-guided-detail{display:none}

/* Larger choice illustrations, bounded on narrow screens. */
.mcfc-guided .mcfc-choice-body{grid-template-columns:minmax(0,180px) minmax(0,1fr)}
.mcfc-guided .mcfc-choice-body img{width:180px;height:152px;max-width:100%}
@media(max-width:480px){.mcfc-guided .mcfc-choice-body{grid-template-columns:minmax(0,45%) minmax(0,1fr)}.mcfc-guided .mcfc-choice-body img{height:auto;aspect-ratio:180/152;max-height:none}}

.mcfc-guided [data-question="size"] .mcfc-choice-body{grid-template-columns:minmax(0,230px) minmax(0,1fr)}
.mcfc-guided [data-question="size"] .mcfc-choice-body img{width:230px;height:194px}
@media(max-width:480px){.mcfc-guided [data-question="size"] .mcfc-choice-body{grid-template-columns:minmax(0,55%) minmax(0,1fr)}.mcfc-guided [data-question="size"] .mcfc-choice-body img{height:auto}}
.mcfc-guided .mcfc-guidance:has(img){display:flex;align-items:center;gap:16px}.mcfc-guided .mcfc-guidance img{width:150px;height:100px;object-fit:contain;margin:0;flex-shrink:0}.mcfc-guided .mcfc-guidance p{margin:0}@media(max-width:480px){.mcfc-guided .mcfc-guidance:has(img){flex-wrap:wrap}}

/* Keep size label and explanation together at the icon midpoint. */
.mcfc-guided [data-question="size"] .mcfc-choice-body{grid-template-rows:1fr 1fr;row-gap:6px}
.mcfc-guided [data-question="size"] .mcfc-choice-body strong{font-size:28px;line-height:1.15;align-self:end}
.mcfc-guided [data-question="size"] .mcfc-choice-body > span:not(.mcfc-selected){align-self:start;line-height:1.4}
body:has(.mcfc-guided) .wp-block-woocommerce-product-meta .taxonomy-product_cat,body:has(.mcfc-guided) .product_meta .posted_in,body:has(.mcfc-guided) .product_meta .sku_wrapper,body:has(.mcfc-guided) .wp-block-woocommerce-product-sku{display:none!important}
.mcfc-guided-part-number{font-size:17px;color:#222;margin:12px 0}
.mcfc-guided-part-number[hidden]{display:none!important}

/* Compact, consistent guided choice rows. */
.mcfc-guided .mcfc-choice{padding:8px 12px}
.mcfc-guided .mcfc-choice-body{grid-template-rows:1fr 1fr;row-gap:6px}
.mcfc-guided .mcfc-choice-body strong{font-size:28px;line-height:1.15;align-self:end}
.mcfc-guided .mcfc-choice-body > span:not(.mcfc-selected){align-self:start;line-height:1.4}
.mcfc-guided .mcfc-choice-body img{height:128px}
.mcfc-guided [data-question="size"] .mcfc-choice-body img{height:160px}
@media(max-width:480px){.mcfc-guided .mcfc-choice-body img,.mcfc-guided [data-question="size"] .mcfc-choice-body img{height:auto;max-height:160px}.mcfc-guided .mcfc-choice-body strong{font-size:24px}}

/* Secondary choice titles sit below material and measurement labels. */
.mcfc-guided [data-question]:not([data-question="material"]):not([data-question="size"]) .mcfc-choice-body strong{font-size:22px}

.mcfc-guided .mcfc-step:has(>img[src*="inside-diameter"]) {display:flex;flex-direction:column}
.mcfc-guided .mcfc-step[hidden]{display:none}
.mcfc-guided .mcfc-step > img[src*="inside-diameter"]{order:-1;width:250px;height:90px;object-fit:contain;margin:8px 0 12px}

.mcfc-guided .mcfc-step > img[src*="inside-diameter"]{width:193px;margin-left:auto;margin-right:auto}

@media(min-width:961px){.mcfc-media-column{align-self:stretch!important}.mcfc-sticky-media{position:sticky;top:min(48px,calc(100vh - var(--mcfc-media-height,600px) - 20px));display:flow-root}.mcfc-sticky-media > .wp-block-woocommerce-product-image-gallery{margin-top:24px}}
