/* WordPress + Elementor integration for the Nexus Core design (loaded after styles.css and pages.css). */

/* Elementor wrappers must not add their own spacing around our full-width sections */
.elementor section.elementor-section{padding-block:0}
.elementor .e-con.ncs-flush,.elementor .e-con-full.ncs-flush{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--gap:0px;padding:0}
.elementor-widget-container > .ncs-sec{margin:0}
[class*="elementor-widget-ncs_"]{width:100%}
.elementor-element.elementor-widget[class*="elementor-widget-ncs_"]:not(:last-child){margin-block-end:0}

/* Section helpers */
.ncs-sec.ncs-pt0{padding-top:0}
.ncs-alt{background:rgba(8,8,8,.6);border-top:1px solid var(--line)}
.ncs-head-only{margin-bottom:0}
.ncs-btn-row{display:flex;gap:10px;flex-wrap:wrap}
.ncs-btn-row .btn{width:max-content}
.ncs-contact-cards{padding-top:40px;padding-bottom:0}
.ncs-contact-form{padding-bottom:96px}
@media (max-width:640px){.ncs-contact-form{padding-bottom:64px}}

/* Custom icons picked in Elementor (font icons or uploaded SVG) */
.ico i,.info-ico i,.chip i{font-size:20px;line-height:1;display:inline-block}
.ico .e-font-icon-svg,.info-ico .e-font-icon-svg{width:22px;height:22px;fill:currentColor}
.chip > i,.chip > .e-font-icon-svg{font-size:15px;width:15px;height:15px}

/* Image used as a card visual */
.ncs-stage-img{background:var(--panel-2)}
.ncs-visual-img{display:block;width:100%;height:100%;object-fit:cover}

/* Second button on blog cards (was inline in the static site) */
.blog-second-btn{padding:6px 14px;font-size:13px;min-height:36px}
a.blog-read-btn{text-decoration:none}

/* Article content from the WordPress editor */
.article-content > *{margin:0}
.article-content a:not(.btn){color:var(--ice)}
.article-content img{max-width:100%;height:auto;border-radius:12px}
.article-content ol{padding-left:1.2em;display:flex;flex-direction:column;gap:8px}
.article-content blockquote{margin:0;padding:16px 20px;border-left:3px solid var(--core);background:var(--panel-2);border-radius:0 12px 12px 0}
.article-content ul li::before{content:"";flex:none;width:18px;height:18px;margin-top:4px;background:var(--core);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat}
.article-content ul li:has(> svg)::before{display:none}
.article-content ul li:not(:has(> svg)){display:block;position:relative;padding-left:28px}
.article-content ul li:not(:has(> svg))::before{position:absolute;left:0;top:0}
.article-content .wp-block-image,.article-content figure{margin:0}
.article-content .article-cta-box .btn{color:#000}

/* Plain pages / single posts */
.ncs-prose{max-width:880px}
.ncs-single-thumb img{display:block;width:100%;height:auto;border-radius:18px;margin-bottom:28px}
.post-navigation{margin-top:48px}
.post-navigation .nav-links{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.post-navigation a{color:var(--ice);text-decoration:none}
.ncs-pagination .nav-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.ncs-pagination .page-numbers{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 10px;border-radius:10px;border:1px solid var(--line);text-decoration:none;color:var(--fg)}
.ncs-pagination .page-numbers.current{background:var(--grad);color:#000;border-color:transparent}
.comment-respond input,.comment-respond textarea{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--fg);font:inherit}
.comment-respond .submit{background:var(--grad);color:#000;border:0;border-radius:12px;padding:12px 20px;font-weight:600;cursor:pointer;width:auto}

/* WordPress admin bar vs fixed header */
.admin-bar .header{top:32px}
@media (max-width:782px){.admin-bar .header{top:46px}}

/* Elementor editor: show reveal elements immediately */
.elementor-editor-active .rv,.elementor-editor-active .rv.pre{opacity:1!important;transform:none!important}

.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.alignwide{max-width:1200px}
.alignfull{width:100vw;margin-left:calc(50% - 50vw)}

/* Elementor's generic "img{height:auto}" must not squash cover images */
.elementor .saas-prod-thumb img,.elementor .blog-thumb img,.elementor .ncs-visual-img{width:100%;height:100%;max-width:none;object-fit:cover}
.elementor .saas-img-card img.saas-img{max-width:none}
