﻿/* Product #840 only. No header/footer or other product styles. */
.nc-section { --nc-navy:#0E2A47; --nc-red:#D62828; width:100%; max-width:none; padding:80px 56px; background:#fff; color:var(--nc-navy); gap:0; }
.nc-section *, .nc-section *::before, .nc-section *::after { box-sizing:border-box; }
.nc-inner { width:100%; max-width:1180px; margin:auto; padding:0; gap:0; min-width:0; }
.nc-section .elementor-widget { margin-bottom:0; }
.nc-section .e-con { min-width:0; }
.nc-copy { width:100%; padding:0; gap:0; }
.nc-light { background:#F7F9FC; }
.nc-eyebrow .elementor-heading-title { font:700 11px/1.5 Arial,Helvetica,sans-serif !important; color:#D62828; letter-spacing:1.5px; margin:0 0 16px; }
.nc-h1 .elementor-heading-title { font:700 40px/1.15 Cambria,Georgia,serif !important; color:#0E2A47; margin:0 0 18px; }
.nc-h2 .elementor-heading-title { font:700 34px/1.25 Cambria,Georgia,serif !important; color:#0E2A47; margin:0 0 30px; }
.nc-h3 .elementor-heading-title { font:700 20px/1.35 Cambria,Georgia,serif !important; color:#0E2A47; margin:0 0 12px; }
.nc-text, .nc-text * { font:400 15px/1.7 Arial,Helvetica,sans-serif !important; color:#586b7f; }
.nc-text p { margin:0 0 14px; }
.nc-text p:last-child { margin-bottom:0; }
.nc-photo img { display:block; width:100%; height:auto; border-radius:12px; }
.nc-section a:focus-visible,.nc-section button:focus-visible,.nc-section select:focus-visible { outline:3px solid #0B74C4; outline-offset:3px; }
.nc-hero { padding-top:48px; padding-bottom:56px; }
.nc-hero .nc-inner { display:grid; grid-template-columns:1.22fr 1fr; gap:48px; align-items:start; }
.nc-gallery { padding:0; width:100%; gap:0; }
.nc-main-image img { height:510px; object-fit:contain; background:#f0f3f6; border:1px solid #e5eaf0; }
.nc-thumbnails { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:0; margin-top:14px; width:100%; }
.nc-thumbnail a { display:block; border:1px solid #dce4ed; border-radius:10px; padding:5px; overflow:hidden; }
.nc-thumbnail a[aria-current="true"] { border:2px solid #D62828; padding:4px; }
.nc-thumbnail img { height:90px; width:100%; object-fit:contain; border-radius:6px; }
.nc-gallery-note { margin-top:12px; }
.nc-gallery-note * { font-size:12px !important; }
.nc-benefit-list .elementor-icon-list-text { font:400 13px/1.6 Arial,Helvetica,sans-serif !important; color:#0E2A47; }
.nc-benefit-list .elementor-icon-list-icon { color:#D62828; }
.nc-benefit-list { margin-top:18px; margin-bottom:22px; }
.nc-config { border-top:1px solid #e3e9f0; padding-top:20px; font:400 14px/1.5 Arial,Helvetica,sans-serif; color:#0E2A47; }
.nc-config-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; }
.nc-field { min-width:0; }
.nc-field label { display:block; font-weight:600; font-size:12px; margin-bottom:6px; }
.nc-field select,.nc-field input { width:100%; min-height:43px; border:1px solid #d5dfe9; border-radius:8px; padding:10px; color:#0E2A47; background:white; font:400 14px/1.3 Arial,Helvetica,sans-serif; }
.nc-custom { margin-top:8px; }
.nc-config-note { font-size:12px; color:#63778b; margin:16px 0; }
.nc-actions { display:flex; flex-direction:row; flex-wrap:wrap; gap:12px; width:100%; padding:0; margin-top:24px; }
.nc-button .elementor-button,.nc-primary,.nc-secondary { display:inline-flex; justify-content:center; align-items:center; min-height:46px; border:1px solid #D62828; border-radius:8px; background:#D62828; color:white; padding:13px 18px; text-decoration:none; font:700 12px/1.5 Arial,Helvetica,sans-serif !important; cursor:pointer; }
.nc-button .elementor-button:hover,.nc-primary:hover { background:#b41f1f; border-color:#b41f1f; }
.nc-secondary,.nc-outline .elementor-button { background:white; color:#0E2A47; border-color:#0E2A47; }
.nc-secondary:hover,.nc-outline .elementor-button:hover { background:#0E2A47; color:white; border-color:#0E2A47; }
.nc-config .nc-primary,.nc-config .nc-secondary { width:100%; margin-top:10px; }
.nc-quote-panel { margin-top:18px; padding:18px; background:#F7F9FC; border:1px solid #dce4ed; border-radius:10px; }
.nc-quote-panel h3 { font:700 18px/1.3 Cambria,Georgia,serif; margin:0 0 12px; }
.nc-quote-summary { width:100%; min-height:170px; resize:vertical; border:1px solid #dce4ed; border-radius:6px; background:#fff; font:400 13px/1.6 Arial,Helvetica,sans-serif; color:#0E2A47; padding:12px; }
.nc-quote-status { font-size:12px; margin:10px 0 0; }
.nc-quick { padding:26px 56px; border-top:1px solid #e3e9f0; border-bottom:1px solid #e3e9f0; }
.nc-five { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); width:100%; gap:24px; padding:0; }
.nc-icon svg { width:24px; height:24px; color:#D62828; display:block; margin-bottom:12px; }
.nc-feature { width:100%; padding:0; gap:0; }
.nc-quick .nc-h3 .elementor-heading-title { font:600 14px/1.4 Arial,Helvetica,sans-serif !important; margin:0; }
.nc-three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; width:100%; padding:0; }
.nc-use { width:100%; padding:0; gap:0; }
.nc-use img { height:230px; object-fit:contain; background:#f0f3f6; margin-bottom:22px; }
.nc-four { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; width:100%; padding:0; }
.nc-spec-card { padding:24px; width:100%; gap:0; border:1px solid #e0e7ef; background:white; border-radius:12px; }
.nc-process { position:relative; }
.nc-process::before { content:""; position:absolute; height:1px; top:23px; left:24px; right:24px; background:#d6e0eb; }
.nc-step { width:100%; padding:0; gap:0; position:relative; }
.nc-index { width:48px; height:48px; border:1px solid #d6e0eb; border-radius:50%; background:white; display:flex; justify-content:center; align-items:center; margin-bottom:20px; z-index:1; }
.nc-index .elementor-heading-title { font:700 14px/1.3 Arial,Helvetica,sans-serif !important; color:#D62828; }
.nc-step .nc-h3 .elementor-heading-title { font:600 15px/1.5 Arial,Helvetica,sans-serif !important; }
.nc-accordion { width:100%; }
.nc-accordion .e-n-accordion-item { border:0; border-bottom:1px solid #dce4ed; background:transparent; }
.nc-accordion .e-n-accordion-item-title { padding:22px 0; border:0; background:transparent; }
.nc-accordion .e-n-accordion-item-title-text { font:600 16px/1.5 Arial,Helvetica,sans-serif !important; color:#0E2A47; }
.nc-accordion .e-n-accordion-item-title-icon { color:#D62828; }
.nc-answer { padding:0 30px 22px 0; background:transparent; }
.nc-details .nc-inner,.nc-faq .nc-inner { max-width:920px; }
.nc-quality .nc-inner { display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:center; }
.nc-quality-photo img { height:480px; object-fit:contain; background:#f0f3f6; }
.nc-quality-item { padding:0 0 24px; gap:0; width:100%; }
.nc-editorial { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); width:100%; gap:28px; padding:0; align-items:start; }
.nc-work { grid-column:span 4; width:100%; padding:0; gap:0; }
.nc-work:nth-child(1) { grid-column:span 7; }
.nc-work:nth-child(2) { grid-column:span 5; padding-top:42px; }
.nc-work img { height:250px; object-fit:contain; background:#f0f3f6; }
.nc-work:nth-child(1) img { height:390px; }
.nc-work:nth-child(2) img { height:348px; }
.nc-caption { margin-top:12px; }
.nc-caption * { font-size:12px !important; }
.nc-final { background:#0E2A47; text-align:center; }
.nc-final .nc-inner { max-width:780px; align-items:center; }
.nc-final .nc-h2 .elementor-heading-title { color:white; }
.nc-final .nc-text * { color:#c6d3e1; }
.nc-final .nc-actions { justify-content:center; }
.nc-final .nc-outline .elementor-button { background:transparent; color:white; border-color:#c6d3e1; }
@media(max-width:1199px) { .nc-section { padding:64px 36px; } .nc-hero { padding-top:40px; } .nc-hero .nc-inner { gap:32px; } .nc-h1 .elementor-heading-title { font-size:36px !important; } .nc-main-image img { height:450px; } .nc-four { gap:18px; } .nc-spec-card { padding:20px; } .nc-quick { padding-block:26px; } }
@media(max-width:1024px) { .nc-section { padding-inline:28px; } .nc-hero .nc-inner { grid-template-columns:1fr 1fr; gap:26px; } .nc-h1 .elementor-heading-title { font-size:32px !important; } .nc-h2 .elementor-heading-title { font-size:30px !important; } .nc-main-image img { height:370px; } .nc-thumbnail img { height:64px; } .nc-config-grid { grid-template-columns:1fr; gap:12px; } .nc-four { grid-template-columns:repeat(2,minmax(0,1fr)); } .nc-five { gap:18px; } .nc-quality .nc-inner { gap:32px; } .nc-use img { height:180px; } }
@media(max-width:767px) { .nc-section { padding:48px 20px; } .nc-hero { padding-top:28px; } .nc-hero .nc-inner,.nc-quality .nc-inner { grid-template-columns:1fr; gap:30px; } .nc-main-image img { height:330px; } .nc-thumbnail img { height:65px; } .nc-h1 .elementor-heading-title { font-size:32px !important; } .nc-h2 .elementor-heading-title { font-size:28px !important; } .nc-config-grid { grid-template-columns:1fr 1fr; } .nc-field select,.nc-field input { font-size:16px; } .nc-quick { padding-block:24px; } .nc-quick .nc-five { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; } .nc-three { grid-template-columns:1fr; gap:30px; } .nc-use img { height:270px; } .nc-process { grid-template-columns:1fr; gap:26px; } .nc-process::before { top:23px; bottom:23px; left:23px; width:1px; height:auto; right:auto; } .nc-step { padding-left:70px; min-height:48px; } .nc-index { position:absolute; left:0; top:0; } .nc-quality-photo img { height:340px; } .nc-editorial { grid-template-columns:1fr; gap:26px; } .nc-work,.nc-work:nth-child(1),.nc-work:nth-child(2) { grid-column:auto; padding-top:0; } .nc-work img,.nc-work:nth-child(1) img,.nc-work:nth-child(2) img { height:290px; } .nc-final .nc-actions { flex-direction:column; align-items:stretch; } .nc-final .elementor-button { width:100%; } }
@media(max-width:420px) { .nc-config-grid,.nc-four { grid-template-columns:1fr; } .nc-main-image img { height:290px; } }


/* Ads landing revision: varied stories, compact hero, quote form midway. */
.nc-ads-hero .nc-inner { grid-template-columns:1.05fr 1fr; align-items:center; }
.nc-ads-hero .nc-h1 .elementor-heading-title { font-size:36px !important; line-height:1.2 !important; }
.nc-ads-hero .nc-h1 .nc-headline-lead { display:block; font-size:1.12em; margin-bottom:8px; }
.nc-ads-hero .nc-main-image img { height:430px; }
.nc-ads-hero .nc-thumbnails { grid-template-columns:repeat(3,minmax(0,1fr)); }
.nc-trust { margin-top:22px; }
.nc-trust * { font:400 12px/1.7 Arial,Helvetica,sans-serif !important; color:#60758b; }
.nc-use-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; width:100%; padding:0; }
.nc-use-grid .nc-use img { height:200px; }
.nc-use-grid .nc-use:nth-child(even) { padding-top:30px; }
.nc-selector-section .nc-inner { display:grid; grid-template-columns:1.12fr 1fr; gap:60px; align-items:center; }
.nc-selector-section .nc-h2 .elementor-heading-title { margin-bottom:22px; }
.nc-selector-box { background:white; padding:28px; border:1px solid #dce4ed; border-radius:12px; }
.nc-selector-box .nc-config-grid { grid-template-columns:1fr 1fr; }
.nc-selector-box .nc-primary { width:100%; margin-top:20px; }
.nc-selector-box .nc-config-note { margin-bottom:0; }
.nc-lead-section { background:#0E2A47; }
.nc-lead-section .nc-inner { display:grid; grid-template-columns:.9fr 1.1fr; gap:58px; align-items:start; }
.nc-lead-section .nc-h2 .elementor-heading-title { color:white; }
.nc-lead-section .nc-text * { color:#c6d3e1; }
.nc-lead-section .nc-text a { color:white !important; }
.nc-lead-form { background:white; border:1px solid #dce4ed; border-radius:14px; padding:28px; width:100%; }
.nc-lead-form .elementor-form-fields-wrapper { row-gap:16px; }
.nc-lead-form .elementor-field-group { padding-bottom:0; }
.nc-lead-form .elementor-field-label { font:600 12px/1.5 Arial,Helvetica,sans-serif !important; color:#0E2A47; margin-bottom:7px; }
.nc-lead-form .elementor-field { width:100%; min-height:44px; padding:11px 12px; border:1px solid #d5dfe9; border-radius:8px; background:white; color:#0E2A47; font:400 14px/1.5 Arial,Helvetica,sans-serif !important; }
.nc-lead-form textarea.elementor-field { min-height:90px; }
.nc-lead-form .elementor-button { width:100%; min-height:48px; border-radius:8px; border:1px solid #D62828; background:#D62828; color:white; font:700 12px/1.5 Arial,Helvetica,sans-serif !important; padding:14px 18px; }
.nc-lead-form .elementor-button:hover { background:#b41f1f; }
.nc-lead-form .elementor-message { font:400 13px/1.6 Arial,Helvetica,sans-serif; }
.nc-binding-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; width:100%; padding:0; }
.nc-binding { padding:22px 0 0; gap:0; width:100%; border-top:2px solid #d6e0eb; }
.nc-binding:nth-child(2) { border-color:#D62828; }
.nc-why-list { display:grid; grid-template-columns:1fr 1fr; gap:28px 50px; padding:0; width:100%; }
.nc-why-item { padding:0 0 22px; gap:0; width:100%; border-bottom:1px solid #dce4ed; }
@media(max-width:1199px) { .nc-ads-hero .nc-h1 .elementor-heading-title { font-size:32px !important; } .nc-ads-hero .nc-main-image img { height:380px; } .nc-selector-section .nc-inner,.nc-lead-section .nc-inner { gap:36px; } .nc-use-grid { gap:20px; } }
@media(max-width:1024px) { .nc-use-grid { grid-template-columns:1fr 1fr; gap:28px; } .nc-use-grid .nc-use:nth-child(even) { padding-top:0; } .nc-selector-section .nc-inner { grid-template-columns:1fr 1fr; gap:28px; } .nc-selector-box { padding:22px; } .nc-selector-box .nc-config-grid { grid-template-columns:1fr; } .nc-lead-section .nc-inner { gap:28px; } .nc-lead-form { padding:24px; } }
@media(max-width:767px) { .nc-ads-hero .nc-inner,.nc-selector-section .nc-inner,.nc-lead-section .nc-inner { grid-template-columns:1fr; gap:28px; } .nc-ads-hero .nc-h1 .elementor-heading-title { font-size:29px !important; } .nc-ads-hero .nc-main-image img { height:310px; } .nc-section .nc-actions { flex-direction:column; align-items:stretch; } .nc-section .nc-actions .elementor-widget-button,.nc-section .nc-actions .elementor-button { width:100%; } .nc-selector-box .nc-config-grid { grid-template-columns:1fr 1fr; } .nc-lead-form .elementor-field-group { width:100% !important; } .nc-lead-form .elementor-field { font-size:16px !important; } .nc-binding-row,.nc-why-list { grid-template-columns:1fr; gap:24px; } }
@media(max-width:420px) { .nc-use-grid,.nc-selector-box .nc-config-grid { grid-template-columns:1fr; } }

.nc-lead-section { scroll-margin-top:100px; }
.nc-restored-config .nc-config { border-top:0; padding-top:0; }
.nc-restored-config .nc-config-grid { grid-template-columns:1fr 1fr; }
@media(max-width:420px) { .nc-restored-config .nc-config-grid { grid-template-columns:1fr; } }

/* #840 quote confirmation: native dialog, no external modal library. */
.nc-quote-dialog-content { display:none !important; }
.nc-quote-dialog .nc-quote-dialog-content { display:flex !important; width:100%; padding:0; gap:0; }
.nc-quote-dialog { width:min(580px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 40px); margin:auto; padding:28px; border:0; border-radius:14px; background:white; color:#0E2A47; box-shadow:0 12px 44px #0e2a4729; overflow:auto; overscroll-behavior:contain; }
.nc-quote-dialog:not([open]) { display:none; }
.nc-quote-dialog::backdrop { background:rgba(14,42,71,.48); }
body.nc-quote-open { overflow:hidden; }
.nc-quote-dialog * { box-sizing:border-box; }
.nc-quote-dialog .elementor-widget { margin-bottom:0; }
.nc-quote-top { padding-right:34px; }
.nc-quote-dialog h2 { font:700 27px/1.25 Cambria,Georgia,serif; color:#0E2A47; margin:0 0 8px; }
.nc-quote-dialog p { font:400 14px/1.6 Arial,Helvetica,sans-serif; margin:0 0 16px; color:#586c80; }
.nc-quote-close { position:absolute; z-index:1; right:18px; top:18px; border:0; background:transparent; color:#0E2A47; width:34px; height:34px; font:400 26px/1 Arial,sans-serif; border-radius:7px; padding:0; cursor:pointer; }
.nc-quote-summary { margin:16px 0; padding:16px; border-radius:10px; background:#F7F9FC; }
.nc-quote-summary dl { display:grid; grid-template-columns:1fr 1fr; gap:12px 18px; margin:0 0 12px; }
.nc-quote-summary dt { font:600 11px/1.4 Arial,Helvetica,sans-serif; color:#60758b; margin-bottom:4px; }
.nc-quote-summary dd { font:600 14px/1.5 Arial,Helvetica,sans-serif; color:#0E2A47; margin:0; overflow-wrap:anywhere; }
.nc-quote-edit { padding:0; border:0; background:transparent; color:#0E2A47; font:600 12px/1.5 Arial,Helvetica,sans-serif; text-decoration:underline; cursor:pointer; }
.nc-quote-dialog .nc-lead-form { padding:0; border:0; background:transparent; border-radius:0; }
.nc-quote-dialog .nc-lead-form .elementor-form-fields-wrapper { row-gap:14px; }
.nc-quote-dialog .nc-lead-form .elementor-field { min-height:44px; }
.nc-quote-dialog .nc-lead-form .elementor-field-group { width:100%; }
.nc-quote-note p { margin:12px 0 0; font-size:12px; }
.nc-quote-success { display:none; }
.nc-is-success .nc-quote-top,.nc-is-success .nc-quote-summary-widget,.nc-is-success .nc-lead-form,.nc-is-success .nc-quote-note { display:none; }
.nc-is-success .nc-quote-success { display:block; }
.nc-quote-success h2 { margin-bottom:12px; }
.nc-quote-success .nc-primary,.nc-quote-success .nc-secondary { display:block; width:100%; text-align:center; margin-top:12px; }
.nc-quote-dialog :focus-visible { outline:3px solid #0B74C4; outline-offset:3px; }
.elementor-editor-active .nc-quote-dialog-content { display:flex !important; padding:24px !important; border:1px dashed #b6c5d5; }
.elementor-editor-active .nc-quote-success { display:block; }
.nc-quote-editor-preview .nc-quote-dialog-content { display:flex !important; max-width:580px; margin:auto; padding:24px !important; border:1px dashed #b6c5d5; }
.nc-quote-editor-preview .nc-quote-success { display:block; }
@media(max-width:767px) {
 .nc-quote-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); padding:22px; }
 .nc-quote-dialog h2 { font-size:25px; }
 .nc-quote-dialog .nc-lead-form .elementor-field { font-size:16px; }
 .nc-quote-summary dl { gap:12px; }
}
@media(max-width:360px) { .nc-quote-summary dl { grid-template-columns:1fr; } }

/* Related services: native horizontal scrolling; reserves image space, no slider library. */
.nc-related { background:#F7F9FC; }
.nc-related-head { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:24px; width:100%; padding:0; margin-bottom:30px; }
.nc-related-copy { padding:0; gap:0; min-width:0; flex:1; width:auto; }
.nc-related-head > .elementor-widget-html { width:auto; flex:0 0 auto; }
.nc-related-head .nc-h2 .elementor-heading-title { margin-bottom:10px; }
.nc-related-controls { display:flex; gap:10px; }
.nc-related-arrow { width:42px; height:42px; padding:0; border:1px solid #cfd9e4; border-radius:50%; background:#fff; color:#0E2A47; font:400 23px/1 Arial,sans-serif; cursor:pointer; }
.nc-related-arrow:hover:not(:disabled) { background:#0E2A47; border-color:#0E2A47; color:white; }
.nc-related-arrow:disabled { opacity:.35; cursor:default; }
.nc-related-track.e-con { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 48px)/3); grid-template-columns:none; gap:24px; width:100%; max-width:100%; padding:3px 0 14px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scrollbar-width:thin; scrollbar-color:#bbc9d8 transparent; align-items:stretch; }
.nc-related-card.e-con { width:100%; min-width:0; padding:0; gap:0; border:1px solid #dce4ed; border-radius:12px; background:#fff; overflow:hidden; scroll-snap-align:start; }
.nc-related-image img { display:block; width:100%; aspect-ratio:4/3; height:auto; object-fit:contain; background:#f1f4f7; }
.nc-related-body.e-con { display:flex; flex-direction:column; flex:1; padding:24px; gap:0; }
.nc-related .nc-h3 .elementor-heading-title { margin:0 0 10px; font-size:22px !important; }
.nc-related .nc-text { margin-bottom:22px; }
.nc-related .nc-text p { margin:0; }
.nc-related-link { margin-top:auto; }
.nc-related-link .elementor-button { padding:0; border:0; border-radius:0; background:transparent; color:#D62828; font:700 13px/1.5 Arial,Helvetica,sans-serif; }
.nc-related-link .elementor-button:hover { color:#0E2A47; text-decoration:underline; }
.nc-related-placeholder { color:#758497; font:600 13px/1.5 Arial,Helvetica,sans-serif; }
.nc-related-placeholder small { display:block; font-size:11px; font-weight:400; margin-top:4px; }
.nc-related :focus-visible { outline:3px solid #0B74C4; outline-offset:3px; }
@media(max-width:1024px) { .nc-related-track.e-con { grid-auto-columns:calc((100% - 24px)/2); } }
@media(max-width:767px) { .nc-related-head { align-items:flex-start; gap:16px; } .nc-related-arrow { width:36px; height:36px; } .nc-related-track.e-con { grid-auto-columns:calc((100% - 16px)/1.2); gap:16px; } .nc-related-body.e-con { padding:20px; } .nc-related .nc-h3 .elementor-heading-title { font-size:21px !important; } }

/* #840 educational carousel — native Elementor Pro Nested Carousel, no custom JS. */
.nc-quality-slider .nc-inner { display:flex; flex-direction:column; gap:0; }
.nc-quality-section-title .elementor-heading-title { margin:0 0 28px; }
.nc-quality-slider .nc-quality-carousel { width:100%; min-width:0; --e-n-carousel-swiper-slides-to-display:1; --e-n-carousel-arrow-normal-color:#0E2A47; --e-n-carousel-arrow-hover-color:#fff; }
.nc-quality-slider .nc-quality-carousel .e-n-carousel { border-radius:32px; overflow:hidden; background:#D9D9D9; }
.nc-quality-slider .nc-quality-carousel .swiper-slide { height:auto; }
.nc-quality-slider .nc-quality-carousel .nc-quality-slide.e-con { display:grid; grid-template-columns:minmax(0,45fr) minmax(0,55fr); align-items:center; gap:36px; padding:48px 64px 76px; min-height:460px; width:100%; background:#D9D9D9; border-radius:32px; }
.nc-quality-slide-copy.e-con { padding:0; gap:0; width:100%; }
.nc-quality-slide-index p { margin:0 0 24px; color:#A52222; font:700 12px/1.5 Arial,Helvetica,sans-serif; letter-spacing:.12em; }
.nc-quality-slide-title .elementor-heading-title { margin:0 0 20px; max-width:13ch; color:#0E2A47; font:700 36px/1.18 Cambria,Georgia,serif; }
.nc-quality-slide-text p { max-width:40ch; margin:0; color:#263748; font:400 16px/1.75 Arial,Helvetica,sans-serif; overflow-wrap:break-word; }
.nc-quality-slide-image { width:100%; min-width:0; }
.nc-quality-slide-image img { display:block; width:100%; height:340px; object-fit:contain; border-radius:24px; background:#e8eaeb; }
.nc-quality-slider .nc-quality-carousel .elementor-swiper-button { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; display:flex; align-items:center; justify-content:center; padding:12px; border:1px solid #c4cbd2; border-radius:50%; background:#fff; color:#0E2A47; font-size:18px; box-shadow:none; z-index:3; }
.nc-quality-slider .nc-quality-carousel .elementor-swiper-button-prev { left:12px; }
.nc-quality-slider .nc-quality-carousel .elementor-swiper-button-next { right:12px; }
.nc-quality-slider .nc-quality-carousel .elementor-swiper-button:hover { background:#0E2A47; color:#fff; }
.nc-quality-slider .nc-quality-carousel .elementor-swiper-button svg { width:18px; height:18px; fill:currentColor; }
.nc-quality-slider .nc-quality-carousel .swiper-pagination.swiper-pagination-bullets { position:absolute; left:64px; bottom:24px; top:auto; width:auto; transform:none; right:auto; display:flex; gap:4px; z-index:3; }
.nc-quality-slider .nc-quality-carousel .swiper-pagination-bullet { width:12px; height:12px; margin:8px !important; background:#0E2A47; opacity:.3; }
.nc-quality-slider .nc-quality-carousel .swiper-pagination-bullet-active { background:#D62828; opacity:1; }
.nc-quality-slider .nc-quality-carousel .swiper-pagination-bullet::before { content:''; position:absolute; inset:-8px; }
.nc-quality-slider .nc-quality-carousel .swiper-pagination-bullet { position:relative; }
.nc-quality-slider .nc-quality-carousel :focus-visible { outline:3px solid #0B74C4; outline-offset:3px; }
@media(max-width:1024px) {
 .nc-quality-slider .nc-quality-carousel .nc-quality-slide.e-con { padding:36px 58px 72px; gap:24px; min-height:410px; }
 .nc-quality-slide-title .elementor-heading-title { font-size:30px; }
 .nc-quality-slide-image img { height:290px; }
 .nc-quality-slider .nc-quality-carousel .swiper-pagination.swiper-pagination-bullets { left:58px; }
}
@media(max-width:767px) {
 .nc-quality-section-title .elementor-heading-title { margin-bottom:22px; }
 .nc-quality-slider .nc-quality-carousel .e-n-carousel,.nc-quality-slider .nc-quality-carousel .nc-quality-slide.e-con { border-radius:28px; }
 .nc-quality-slider .nc-quality-carousel .nc-quality-slide.e-con { grid-template-columns:minmax(0,1fr); padding:30px 24px 88px; gap:24px; min-height:0; }
 .nc-quality-slide-index p { margin-bottom:16px; }
 .nc-quality-slide-title .elementor-heading-title { font-size:29px; max-width:18ch; margin-bottom:14px; }
 .nc-quality-slide-text p { font-size:15px; line-height:1.7; max-width:none; }
 .nc-quality-slide-image img { height:250px; border-radius:20px; }
 .nc-quality-slider .nc-quality-carousel .elementor-swiper-button { top:auto; bottom:20px; transform:none; }
 .nc-quality-slider .nc-quality-carousel .elementor-swiper-button-prev { left:auto; right:76px; }
 .nc-quality-slider .nc-quality-carousel .elementor-swiper-button-next { right:24px; }
 .nc-quality-slider .nc-quality-carousel .swiper-pagination.swiper-pagination-bullets { left:20px; bottom:28px; }
}
@media(max-width:380px) { .nc-quality-slider .nc-quality-carousel .nc-quality-slide.e-con { padding-inline:20px; } .nc-quality-slide-image img { height:220px; } .nc-quality-slide-title .elementor-heading-title { font-size:27px; } }
@media(prefers-reduced-motion:reduce) { .nc-quality-slider .nc-quality-carousel .swiper-wrapper { transition-duration:0ms !important; } }


/* #840 trust refinement — all rules scoped to this section only. */
.newsun-why-choose.nc-section { background:#F7F9FC; padding-block:88px; }
.newsun-why-choose .nc-trust-heading .elementor-heading-title { margin:0 0 12px; color:#0E2A47; font:700 34px/1.2 Cambria,Georgia,serif !important; }
.newsun-why-choose .nc-trust-intro { max-width:850px; margin-bottom:34px; }
.newsun-why-choose .nc-trust-intro p { margin:0; color:#4B5B6B; font:400 16px/1.6 Arial,Helvetica,sans-serif; }
.newsun-why-choose .nc-trust-grid.e-con { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; width:100%; padding:0; align-items:stretch; }
.newsun-why-choose .nc-trust-card.e-con { display:flex; flex-direction:column; align-items:flex-start; width:100%; height:100%; padding:32px; gap:0; border:1px solid #DDE4EC; border-radius:18px; background:#fff; box-shadow:none; transition:border-color .2s ease,transform .2s ease; }
.newsun-why-choose .nc-trust-icon { margin-bottom:20px; width:auto; }
.newsun-why-choose .nc-trust-icon .elementor-icon-wrapper { display:flex; text-align:left; }
.newsun-why-choose .nc-trust-icon .elementor-icon { display:flex; align-items:center; justify-content:center; width:52px; height:52px; padding:12px; border:0; border-radius:14px; background:#F3F6F9; color:#D62828; font-size:28px; line-height:1; }
.newsun-why-choose .nc-trust-icon svg { display:block; width:28px; height:28px; fill:none !important; color:#D62828; stroke:#D62828; }
.newsun-why-choose .nc-trust-card-title.elementor-widget-heading > h3.elementor-heading-title { color:#0E2A47; font:700 22px/1.25 Arial,Helvetica,sans-serif; margin:0 0 12px; min-height:55px; overflow-wrap:break-word; }
.newsun-why-choose .nc-trust-card-text.elementor-widget-text-editor > p { margin:0; color:#4F6072; font:400 16px/1.6 Arial,Helvetica,sans-serif; overflow-wrap:break-word; }
.newsun-why-choose .nc-actions { margin-top:32px; }
.newsun-why-choose .nc-trust-cta .elementor-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; max-width:100%; padding:15px 28px; border:1px solid #D62828; border-radius:9px; background:#D62828; color:#FFFFFF !important; font:700 14px/1.35 Arial,Helvetica,sans-serif; text-align:center; transition:background-color .2s ease,border-color .2s ease; }
.newsun-why-choose .nc-trust-cta .elementor-button span { color:#FFFFFF !important; }
.newsun-why-choose .nc-trust-cta .elementor-button:hover,.newsun-why-choose .nc-trust-cta .elementor-button:focus-visible { background:#B72020; border-color:#B72020; color:#FFFFFF !important; }
@media(hover:hover) and (pointer:fine) { .newsun-why-choose .nc-trust-card:hover { border-color:#BAC8D8; transform:translateY(-2px); } }
@media(max-width:1024px) {
 .newsun-why-choose.nc-section { padding-block:64px; }
 .newsun-why-choose .nc-trust-heading .elementor-heading-title { font-size:30px !important; }
 .newsun-why-choose .nc-trust-grid.e-con { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
 .newsun-why-choose .nc-trust-card.e-con { padding:28px; }
}
@media(max-width:767px) {
 .newsun-why-choose.nc-section { padding-block:50px; }
 .newsun-why-choose .nc-trust-heading .elementor-heading-title { font-size:28px !important; }
 .newsun-why-choose .nc-trust-intro { margin-bottom:28px; }
 .newsun-why-choose .nc-trust-intro p { font-size:15px; }
 .newsun-why-choose .nc-trust-grid.e-con { grid-template-columns:minmax(0,1fr); gap:20px; }
 .newsun-why-choose .nc-trust-card.e-con { padding:24px; }
 .newsun-why-choose .nc-trust-card-title.elementor-widget-heading > h3.elementor-heading-title { min-height:0; font-size:20px; }
 .newsun-why-choose .nc-trust-card-text.elementor-widget-text-editor > p { font-size:15px; }
 .newsun-why-choose .nc-trust-icon { margin-bottom:18px; }
 .newsun-why-choose .nc-trust-icon .elementor-icon { width:48px; height:48px; padding:11px; font-size:26px; }
 .newsun-why-choose .nc-trust-icon svg { width:26px; height:26px; }
 .newsun-why-choose .nc-actions { margin-top:30px; }
 .newsun-why-choose .nc-trust-cta,.newsun-why-choose .nc-trust-cta .elementor-button { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .newsun-why-choose .nc-trust-card.e-con,.newsun-why-choose .nc-trust-cta .elementor-button { transition:none; transform:none; } }

/* SVG paths have their own currentColor; color each line shape explicitly. */
.newsun-why-choose .nc-trust-icon svg :is(path,circle,polyline,line,rect,ellipse,polygon) { color:#D62828; stroke:#D62828; fill:none !important; }



/* Shared Ads master additions: content marker + section-specific classes, no catalogue overrides. */
.ns-ads-specs .ns-ads-spec-grid.e-con { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; width:100%; padding:0; align-items:stretch; margin-top:6px; }
.ns-ads-specs .nc-spec-card.e-con { padding:28px; height:100%; }
.ns-ads-quote .nc-config-grid .nc-field:last-child { grid-column:1 / -1; }
.ns-ads-related .nc-inner { width:100%; }
@media(max-width:1024px) { .ns-ads-specs .ns-ads-spec-grid.e-con { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; } }
@media(max-width:767px) { .ns-ads-specs .ns-ads-spec-grid.e-con { grid-template-columns:minmax(0,1fr); gap:16px; } .ns-ads-specs .nc-spec-card.e-con { padding:24px; } }

/* Horizontal image system: only tagged Carousel / actual-gallery widgets. 1200x700. */
body.single-product .elementor .newsun-horizontal-1200.elementor-widget-image img {display:block;width:100%;max-width:100%;height:auto !important;aspect-ratio:12 / 7;object-fit:cover !important;object-position:50% 50%;}
/* Unapproved small / watermarked originals remain intact pending owner review. */
body.single-product .elementor .newsun-horizontal-1200.newsun-horizontal-pending.elementor-widget-image img {object-fit:contain !important;background:#F7F9FC;}

/* Hero CTA repair: only Catalogue #840, Bags #1441, Boxes #101.
 * Elementor owns content/links; this shared scope owns the visual treatment. */
:is(.elementor-840,.elementor-1441,.elementor-101) .nc-ads-hero .nc-actions.e-con {
 --flex-direction:row; --container-widget-width:auto; --container-widget-flex-grow:0;
 display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; gap:12px;
}
:is(.elementor-840,.elementor-1441,.elementor-101) .nc-ads-hero .nc-actions > .elementor-widget-button {
 width:auto; max-width:100%; min-width:0; flex:0 1 auto;
}
:is(.elementor-840,.elementor-1441,.elementor-101) .nc-ads-hero .nc-actions .nc-button .elementor-button {
 display:inline-flex; align-items:center; justify-content:center; min-height:46px;
 padding:13px 16px; border:1px solid #D62828; border-radius:9px;
 background:#D62828; color:#FFFFFF; line-height:1.5; white-space:nowrap;
 transition:background-color .2s ease,border-color .2s ease;
}
:is(.elementor-840,.elementor-1441,.elementor-101) .nc-ads-hero .nc-actions .nc-outline .elementor-button {
 background:#0E2A47; border-color:#0E2A47; color:#FFFFFF;
}
:is(.elementor-840,.elementor-1441,.elementor-101) .nc-ads-hero .nc-actions .nc-button .elementor-button :is(.elementor-button-content-wrapper,.elementor-button-text) { color:inherit; }
:is(.elementor-840,.elementor-1441,.elementor-101) .nc-ads-hero .nc-actions .nc-button .elementor-button:is(:hover,:focus-visible) {
 background:#B72020; border-color:#B72020; color:#FFFFFF;
}
:is(.elementor-840,.elementor-1441,.elementor-101) .nc-ads-hero .nc-actions .nc-outline .elementor-button:is(:hover,:focus-visible) {
 background:#173C60; border-color:#173C60; color:#FFFFFF;
}
:is(.elementor-840,.elementor-1441,.elementor-101) .nc-ads-hero .nc-h1 .elementor-heading-title {
 font-size:29px !important; line-height:1.2 !important; color:#0E2A47;
}
:is(.elementor-840,.elementor-1441,.elementor-101) .nc-ads-hero .nc-trust { margin-top:18px; }
:is(.elementor-840,.elementor-1441,.elementor-101) .nc-ads-hero .nc-trust,
:is(.elementor-840,.elementor-1441,.elementor-101) .nc-ads-hero .nc-trust p {
 font:400 16px/1.6 Arial,Helvetica,sans-serif !important; color:#4F6072;
}
@media(max-width:1199px) {
 :is(.elementor-840,.elementor-1441,.elementor-101) .nc-ads-hero .nc-h1 .elementor-heading-title { font-size:26px !important; }
}
@media(max-width:1024px) {
 :is(.elementor-840,.elementor-1441,.elementor-101) .nc-ads-hero .nc-actions.e-con { flex-wrap:wrap; }
}
@media(max-width:767px) {
 :is(.elementor-840,.elementor-1441,.elementor-101) .nc-ads-hero .nc-actions.e-con { --flex-direction:column; flex-direction:column; align-items:stretch; flex-wrap:nowrap; }
 :is(.elementor-840,.elementor-1441,.elementor-101) .nc-ads-hero .nc-actions > .elementor-widget-button,
 :is(.elementor-840,.elementor-1441,.elementor-101) .nc-ads-hero .nc-actions .nc-button .elementor-button { width:100%; }
 :is(.elementor-840,.elementor-1441,.elementor-101) .nc-ads-hero .nc-h1 .elementor-heading-title { font-size:24px !important; }
}
@media(prefers-reduced-motion:reduce) {
 :is(.elementor-840,.elementor-1441,.elementor-101) .nc-ads-hero .nc-actions .nc-button .elementor-button { transition:none; }
}

/* LOCAL visual TEST: paper-bag #1441 only, native Elementor scroll story. */
.elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-inner.e-con,
.elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-list.e-con { display:flex; flex-direction:column; width:100%; min-width:0; padding:0; }
.elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-inner.e-con { gap:0; }
.elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-list.e-con { gap:32px; }
.elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-block.e-con {
 display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:center;
 width:100%; gap:40px; padding:40px; background:#F7F9FC; border:1px solid #E5EAF1; border-radius:30px;
}
.elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-copy.e-con { width:100%; min-width:0; padding:0; gap:0; grid-column:1; grid-row:1; }
.elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-image { width:100%; min-width:0; grid-column:2; grid-row:1; }
.elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-reverse .newsun-bag-story-copy { grid-column:2; }
.elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-reverse .newsun-bag-story-image { grid-column:1; }
.elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-index p { margin:0 0 18px; color:#D62828; font:700 13px/1.5 Arial,Helvetica,sans-serif; letter-spacing:.1em; }
.elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-title .elementor-heading-title { margin:0 0 18px; color:#0E2A47; font:700 32px/1.25 Cambria,Georgia,serif; }
.elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-text p { margin:0; color:#4F6072; font:400 16px/1.7 Arial,Helvetica,sans-serif; }
.elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-image img {
 display:block; width:100%; max-width:100%; height:auto !important; aspect-ratio:12/7 !important;
 object-fit:contain !important; object-position:center; border-radius:22px; background:#FFFFFF;
}
@media(max-width:1024px) {
 .elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-block.e-con { padding:28px; gap:28px; }
 .elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-title .elementor-heading-title { font-size:28px; }
}
@media(max-width:767px) {
 .elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-list.e-con { gap:24px; }
 .elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-block.e-con { grid-template-columns:minmax(0,1fr); padding:24px; gap:24px; border-radius:24px; }
 .elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-copy.e-con,
 .elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-reverse .newsun-bag-story-copy { grid-column:1; grid-row:1; }
 .elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-image,
 .elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-reverse .newsun-bag-story-image { grid-column:1; grid-row:2; }
 .elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-title .elementor-heading-title { font-size:26px; }
.elementor-1441 .newsun-bag-scroll-story .newsun-bag-story-text p { font-size:15px; }
}


/* CTA palette only: main ads landing IDs + their quote content; no geometry changes. */
:is(.elementor-840,.elementor-1441,.elementor-101) :is(.nc-section,.nc-quote-dialog-content) :is(.elementor-widget-button.nc-button,.elementor-widget-button.nc-related-link) {
 --ns-cta-bg:#D62828; --ns-cta-hover:#B72020;
}
:is(.elementor-840,.elementor-1441,.elementor-101) :is(.nc-section,.nc-quote-dialog-content) :is(.elementor-widget-button.nc-outline,.elementor-widget-button.nc-related-link,.elementor-widget-button.elementor-element-16a4308,.elementor-widget-button.elementor-element-39ea8da) {
 --ns-cta-bg:#0E2A47; --ns-cta-hover:#D62828;
}
:is(.elementor-840,.elementor-1441,.elementor-101) :is(.nc-section,.nc-quote-dialog-content) :is(.elementor-widget-button.nc-button,.elementor-widget-button.nc-related-link) .elementor-button {
 background-color:var(--ns-cta-bg); border-color:var(--ns-cta-bg); color:#FFFFFF; font-weight:700;
}
:is(.elementor-840,.elementor-1441,.elementor-101) :is(.nc-section,.nc-quote-dialog-content) :is(.elementor-widget-button.nc-button,.elementor-widget-button.nc-related-link) .elementor-button:is(:hover,:focus-visible) {
 background-color:var(--ns-cta-hover); border-color:var(--ns-cta-hover); color:#FFFFFF;
}
:is(.elementor-840,.elementor-1441,.elementor-101) :is(.nc-section,.nc-quote-dialog-content) :is(.elementor-widget-button.nc-button,.elementor-widget-button.nc-related-link) .elementor-button:is([href^="tel:"],[href^="https://zalo.me/"]) {
 --ns-cta-bg:#0E2A47; --ns-cta-hover:#D62828;
}
:is(.elementor-840,.elementor-1441,.elementor-101) :is(.nc-section,.nc-quote-dialog-content) :is(.nc-primary,.nc-secondary) {
 --ns-cta-bg:#D62828; --ns-cta-hover:#B72020;
 background-color:var(--ns-cta-bg); border-color:var(--ns-cta-bg); color:#FFFFFF; font-weight:700;
}
:is(.elementor-840,.elementor-1441,.elementor-101) :is(.nc-section,.nc-quote-dialog-content) :is(.nc-secondary,.nc-primary[href^="tel:"],.nc-primary[href^="https://zalo.me/"]) {
 --ns-cta-bg:#0E2A47; --ns-cta-hover:#D62828;
}
:is(.elementor-840,.elementor-1441,.elementor-101) :is(.nc-section,.nc-quote-dialog-content) :is(.nc-primary,.nc-secondary):is(:hover,:focus-visible) {
 background-color:var(--ns-cta-hover); border-color:var(--ns-cta-hover); color:#FFFFFF;
}
:is(.elementor-840,.elementor-1441,.elementor-101) :is(.nc-section,.nc-quote-dialog-content) .nc-lead-form .elementor-button[type="submit"] {
 background-color:#D62828; border-color:#D62828; color:#FFFFFF; font-weight:700;
}
:is(.elementor-840,.elementor-1441,.elementor-101) :is(.nc-section,.nc-quote-dialog-content) .nc-lead-form .elementor-button[type="submit"]:is(:hover,:focus-visible) {
 background-color:#B72020; border-color:#B72020; color:#FFFFFF;
}
:is(.elementor-840,.elementor-1441,.elementor-101) :is(.nc-section,.nc-quote-dialog-content) :is(.elementor-widget-button.nc-button,.elementor-widget-button.nc-related-link,.nc-lead-form) .elementor-button :is(.elementor-button-text,.elementor-button-content-wrapper) { color:#FFFFFF; }
