/* CNC Core — consolidated site CSS (was inline in 8 WPCode snippets / mu-plugins). */

/* utilities */
.cncc-sr-only{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.cnc-hp{position:absolute;left:-9999px;top:-9999px;height:1px;width:1px;opacity:0}

/* Main CSS (48303) */
@media (width < 1200px){.signature{justify-content:center!important}}
@media (width > 768px){.cnc-product{display:flex;gap:20px}.product-left-side{width:70%}.product-right-side{width:30%}}
.input[type="submit"]:not([name="update_cart"]):not(.woocommerce-widget-layered-nav-dropdown__submit),.wpcf7-form input[type="submit"]{width:100%}

/* Callback box (48305) */
.cnc-callback-box{border:1px solid #e5e7eb;border-radius:16px;padding:22px;margin:22px 0;max-width:420px;background:linear-gradient(180deg,#fafafa,#fff);box-shadow:0 10px 30px rgba(0,0,0,.05)}
.cnc-callback-box h3{margin:0 0 6px;font-size:1.15rem;font-weight:700;color:#111827}
.cnc-callback-box p{margin:0 0 16px;font-size:.9rem;color:#6b7280}
.cnc-callback-box .cnc-callback-ok{color:#15803d;font-weight:700}
.cnc-callback-box input{width:100%;padding:12px;border-radius:12px;border:1px solid #d1d5db;margin-bottom:10px;font-size:.95rem}
.cnc-callback-box button{width:100%;padding:12px;border-radius:14px;background:#111827;color:#fff;font-weight:700;border:none;cursor:pointer;transition:background .2s}
.cnc-callback-box button:hover{background:#000}

/* Offer button + modal (49766) */
.cnc-offer-btn{display:block;width:100%;clear:both;background:#0d6efd!important;color:#fff!important;border-radius:4px;padding:12px;font-weight:600;text-align:center;margin-top:16px}
.cnc-offer-btn:hover{background:#0856c7!important}
#offerModal{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:9999;overflow:auto}
#offerModal[hidden]{display:none}
#offerForm{position:relative;background:#fff;margin:5% auto;max-width:500px;padding:24px;border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,.25);font-family:inherit}
#offerForm h3{margin:0 0 12px;text-align:center;color:#0d47a1;font-size:1.1rem}
#offerForm .offer-note{margin:10px 0 16px;font-size:13px;line-height:1.35;color:#666;text-align:center}
#offerForm input{width:100%;padding:8px 10px;margin-bottom:10px;border:1px solid #ccc;border-radius:6px;font-size:14px}
#offerForm .cf-turnstile{margin:6px 0 12px}
#offerForm button.cnc-offer-submit{background:#0d47a1;color:#fff;border:none;border-radius:8px;padding:10px 18px;width:100%;cursor:pointer}
#offerForm button.cnc-offer-submit:hover{background:#08306c}
#offerForm button.cnc-offer-submit[disabled]{opacity:.55;cursor:wait}
#offerForm .cnc-offer-close{position:absolute;top:8px;right:12px;background:none;border:0;font-size:26px;line-height:1;color:#888;cursor:pointer;padding:0;width:auto}

/* Homepage guides section (49871) */
.cncld-recent-guides{background:#f5f7fa;padding:48px 24px;margin:0;border-top:1px solid #e5e9f0}
.cncld-recent-guides-inner{max-width:1200px;margin:0 auto}
.cncld-recent-guides h2{font-size:24px;font-weight:600;color:#0f4c5c;margin:0 0 8px;text-align:center}
.cncld-recent-guides .cncld-subtitle{color:#6b7785;text-align:center;margin:0 0 32px;font-size:15px}
.cncld-guides-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.cncld-guide-card{background:#fff;border:1px solid #e5e9f0;border-radius:8px;padding:20px;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;display:block}
.cncld-guide-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(15,76,92,.1);text-decoration:none}
.cncld-guide-tag{display:inline-block;background:#e8f0f2;color:#0f4c5c;font-size:11px;font-weight:500;padding:3px 10px;border-radius:12px;margin-bottom:10px}
.cncld-guide-title{font-size:16px;font-weight:600;color:#0f4c5c;margin:0 0 8px;line-height:1.3}
.cncld-guide-excerpt{font-size:13px;color:#4a5765;line-height:1.5;margin:0 0 12px}
.cncld-guide-link{font-size:13px;color:#f37021;font-weight:500}

/* Author box (cnc-eeat-enhance) */
.cncld-author-box{background:linear-gradient(135deg,#fafbfc 0%,#f5f7fa 100%);border-radius:14px;padding:24px 28px;margin:40px 0 24px;border:1px solid #e8ecf2;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.cncld-author-inner{display:flex;align-items:flex-start;gap:18px}
.cncld-author-avatar-wrap{flex-shrink:0}
.cncld-author-avatar-wrap img{border-radius:50%;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.cncld-author-body{flex:1;min-width:0}
.cncld-author-label{font-size:12px;color:#f37021;font-weight:600;letter-spacing:1px;margin-bottom:4px}
.cncld-author-box h3{margin:0 0 4px;font-size:17px;color:#0a2540;font-weight:600}
.cncld-author-role{margin:0 0 8px;font-size:13px;color:#5f6b7a;font-style:italic}
.cncld-author-bio{margin:0 0 12px;font-size:13px;color:#374151;line-height:1.65}
.cncld-author-spec{font-size:12px;color:#5f6b7a}

/* Category knowledge blocks + FAQ (cnc-faq-injector) */
.cncld-kb,.cncld-faq{margin:24px 0}
.cncld-kb{background:#f0f6fc;border-left:4px solid #2271b1;border-radius:4px;padding:0;overflow:hidden}
.cncld-kb>summary{padding:14px 18px;font-weight:600;color:#1a4a72;cursor:pointer;list-style:none;font-size:1rem;position:relative;outline:none}
.cncld-kb>summary::-webkit-details-marker{display:none}
.cncld-kb>summary::after{content:"\25BC";float:right;font-size:.7em;color:#1a4a72;transition:transform .25s;margin-top:6px}
.cncld-kb[open]>summary::after{transform:rotate(180deg)}
.cncld-kb .cncld-content{padding:0 18px 16px;line-height:1.7;color:#1a4a72}
.cncld-kb .cncld-content p{margin:0 0 12px}
.cncld-links{background:#fff8e1;border-left:4px solid #f57c00;border-radius:4px;padding:14px 18px;margin:24px 0}
.cncld-links>strong{color:#e65100;display:block;margin-bottom:8px;font-size:1rem}
.cncld-links a{display:block;padding:5px 0;color:#1976d2;text-decoration:none;font-size:.95rem}
.cncld-links a:hover{text-decoration:underline;color:#0d47a1}
.cncld-faq h3{font-size:1.4rem;margin:0 0 16px;color:#0a2540;font-weight:700;border-top:1px solid #e5e7eb;padding-top:24px}
.cncld-faq details{border:1px solid #d1d5db;border-radius:8px;margin-bottom:10px;background:#fff;transition:border-color .2s,background .2s;overflow:hidden}
.cncld-faq details:hover{border-color:#0a2540}
.cncld-faq details[open]{background:#f9fafb;border-color:#0a2540}
.cncld-faq details>summary{padding:14px 18px;cursor:pointer;font-weight:600;color:#0a2540;font-size:1rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;outline:none}
.cncld-faq details>summary::-webkit-details-marker{display:none}
.cncld-faq details>summary::after{content:"+";font-size:1.4rem;font-weight:400;color:#6b7280;flex-shrink:0;line-height:1;transition:transform .2s}
.cncld-faq details[open]>summary::after{content:"\2212"}
.cncld-faq .cncld-answer{padding:0 18px 16px;color:#374151;font-size:.95rem;line-height:1.65}
.cncld-faq .cncld-answer p{margin:0}

/* Category restructure (50095): links/FAQ hidden at top, shown once moved below the product grid */
body.cncc-cat-restructure .term-description>.cncld-links,body.cncc-cat-restructure .term-description>.cncld-faq{visibility:hidden;position:absolute;pointer-events:none;height:0;overflow:hidden}
.cncld-after-products{visibility:visible!important;position:static!important;pointer-events:auto!important;height:auto!important;overflow:visible!important;margin-top:40px;clear:both}
.cncld-after-products>.cncld-links,.cncld-after-products>.cncld-faq{visibility:visible!important;position:static!important;pointer-events:auto!important;height:auto!important;overflow:visible!important;margin-bottom:24px;display:block}
/* Visible FAQ block (mirrors the FAQPage schema) */
.cncc-faq-wrap{margin:32px 0}
.cnc-fullbleed .cncc-faq-wrap{max-width:var(--container,1400px);margin:32px auto;padding:0 var(--gutter,20px)}
.cncc-faq-block h2{font-size:1.6rem;margin:0 0 16px;color:#0a2540;font-weight:700;border-top:1px solid #e5e7eb;padding-top:24px}
.cncc-faq-block .cncld-answer{padding:0 18px 14px;color:#374151}
.cncc-faq-block .cncld-answer p{margin:0}
