/* Editable sub-product layout only. Dialog/gallery interactions share catalogue.js. */
.ns-sub-section {width:100%;max-width:none;padding:64px 40px;background:#fff;color:#0E2A47;gap:0;}
.ns-sub-section .ns-sub-inner {width:100%;max-width:1180px;margin:auto;padding:0;gap:24px;min-width:0;}
.ns-sub-section .e-con {min-width:0;padding:0;}
.ns-sub-section .elementor-widget {margin-bottom:0;}
.ns-sub-section .ns-sub-h1 h1 {font:700 40px/1.2 Cambria,Georgia,serif;color:#0E2A47;margin:0 0 18px;}
.ns-sub-section .ns-sub-h2 .elementor-heading-title {font:700 30px/1.25 Cambria,Georgia,serif;color:#0E2A47;margin:0 0 18px;}
.ns-sub-section .ns-sub-h3 .elementor-heading-title {font:700 19px/1.35 Arial,Helvetica,sans-serif;color:#0E2A47;margin:0 0 12px;}
.ns-sub-section .ns-sub-text {font:400 16px/1.65 Arial,Helvetica,sans-serif;color:#4F6072;}
.ns-sub-section .ns-sub-text p {margin:0 0 12px;}
.ns-sub-section .ns-sub-text p:last-child {margin-bottom:0;}
.ns-sub-section .ns-sub-photo img {display:block;width:100%;height:auto;border-radius:12px;}
.ns-sub-section .ns-sub-hero-grid.e-con {display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;}
.ns-sub-section .ns-sub-copy.e-con,.ns-sub-section .ns-sub-images.e-con {width:100%;padding:0;gap:0;}
.ns-sub-section .nc-main-image img {height:auto;aspect-ratio:4/3;object-fit:contain;background:#F7F9FC;border:1px solid #E5EAF1;}
.ns-sub-section .nc-thumbnails.e-con {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;padding:0;margin-top:12px;}
.ns-sub-section .nc-thumbnail img {height:auto;aspect-ratio:4/3;object-fit:contain;}
.ns-sub-section .ns-sub-bullets {margin:24px 0;}
.ns-sub-section .elementor-icon-list-text {font:400 14px/1.6 Arial,Helvetica,sans-serif;color:#0E2A47;}
.ns-sub-section .elementor-icon-list-icon {color:#D62828;}
.ns-sub-section .ns-sub-actions.e-con {display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;width:100%;padding:0;margin-top:24px;}
.ns-sub-section .ns-sub-button .elementor-button {background:#D62828;color:#fff;border:1px solid #D62828;border-radius:9px;padding:14px 22px;font:700 13px/1.4 Arial,Helvetica,sans-serif;min-height:46px;}
.ns-sub-section .ns-sub-button .elementor-button:hover {background:#B72020;border-color:#B72020;color:#fff;}
.ns-sub-section .ns-sub-outline .elementor-button {background:#fff;color:#0E2A47;border-color:#0E2A47;}
.ns-sub-section .ns-sub-outline .elementor-button:hover {background:#0E2A47;color:#fff;}
.ns-sub-options,.ns-sub-why {background:#F7F9FC;}
.ns-sub-section .ns-sub-options-grid.e-con {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%;padding:0;}
.ns-sub-section .ns-sub-option-card.e-con {width:100%;padding:24px;background:#fff;border:1px solid #E5EAF1;border-radius:12px;gap:0;}
.ns-sub-section .ns-sub-option-chip .elementor-heading-title {display:inline-block;padding:8px 12px;border:1px solid #DDE4EC;border-radius:8px;background:#F7F9FC;color:#0E2A47;font:400 14px/1.4 Arial,Helvetica,sans-serif;}
.ns-sub-section .ns-sub-chip-row.e-con {display:flex;flex-direction:row;flex-wrap:wrap;width:100%;padding:0;gap:10px;}
.ns-sub-section .ns-sub-chip-row .elementor-widget {width:auto;}
.ns-sub-section .ns-sub-options-note {margin-top:24px;}
.ns-sub-section .ns-sub-story-grid.e-con {display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.ns-sub-section .ns-sub-story-photo img {aspect-ratio:4/3;object-fit:contain;background:#F7F9FC;}
.ns-sub-section .ns-sub-gallery-widget .gallery {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;}
.ns-sub-section .ns-sub-gallery-widget .gallery-item {width:100%;max-width:none;margin:0;padding:0;}
.ns-sub-section .ns-sub-gallery-widget img {display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:12px;background:#F7F9FC;border:0;}
.ns-sub-section .ns-sub-four.e-con {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;width:100%;padding:0;}
.ns-sub-section .ns-sub-feature.e-con {width:100%;padding:0;gap:0;}
.ns-sub-section .ns-sub-icon {margin-bottom:16px;}
.ns-sub-section .ns-sub-icon .elementor-icon {color:#D62828;font-size:28px;}
.ns-sub-section .ns-sub-icon svg {width:28px;height:28px;fill:none;color:#D62828;stroke:#D62828;}
.ns-sub-section .ns-sub-icon svg :is(path,circle,polyline,line,rect,ellipse,polygon) {fill:none;color:#D62828;stroke:#D62828;}
.ns-sub-section .ns-sub-feature .ns-sub-text {font-size:14px;}
.ns-sub-final {background:#0E2A47;text-align:center;}
.ns-sub-final .ns-sub-inner {max-width:850px;align-items:center;}
.ns-sub-final .ns-sub-h2 .elementor-heading-title {color:#fff;}
.ns-sub-final .ns-sub-text {color:#D4DEEA;}
.ns-sub-final .ns-sub-actions {justify-content:center;}
.ns-sub-final .ns-sub-outline .elementor-button {background:transparent;border-color:#D4DEEA;color:#fff;}
.ns-sub-popup-note {padding:16px;border:1px dashed #BAC8D8;color:#4F6072;font:14px/1.6 Arial,sans-serif;}
@media(max-width:1024px){.ns-sub-section{padding:52px 28px;}.ns-sub-section .ns-sub-hero-grid.e-con{gap:28px;}.ns-sub-section .ns-sub-h1 h1{font-size:34px;}.ns-sub-section .ns-sub-story-grid.e-con{gap:32px;}.ns-sub-section .ns-sub-four.e-con,.ns-sub-section .ns-sub-gallery-widget .gallery{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){.ns-sub-section{padding:42px 20px;}.ns-sub-section .ns-sub-hero-grid.e-con,.ns-sub-section .ns-sub-story-grid.e-con,.ns-sub-section .ns-sub-options-grid.e-con{grid-template-columns:minmax(0,1fr);gap:28px;}.ns-sub-section .ns-sub-h1 h1{font-size:32px;}.ns-sub-section .ns-sub-h2 .elementor-heading-title{font-size:27px;}.ns-sub-section .ns-sub-text{font-size:15px;}.ns-sub-section .ns-sub-four.e-con{grid-template-columns:minmax(0,1fr);}.ns-sub-section .ns-sub-gallery-widget .gallery{gap:12px;}.ns-sub-section .ns-sub-actions.e-con{flex-direction:column;align-items:stretch;}.ns-sub-section .ns-sub-actions .elementor-button{width:100%;}}

/* Catalogue-style sub hero: mobile order is intro, gallery, configurator. */
.ns-sub-hero .ns-sub-hero-grid.e-con {grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-areas:"intro gallery" "config gallery";gap:24px 44px;align-items:start;}
.ns-sub-hero .ns-sub-intro {grid-area:intro;}
.ns-sub-hero .ns-sub-config {grid-area:config;}
.ns-sub-hero .ns-sub-images {grid-area:gallery;position:sticky;top:100px;}
.ns-sub-hero .ns-sub-eyebrow .elementor-heading-title {font:700 11px/1.5 Arial,Helvetica,sans-serif;color:#D62828;letter-spacing:1.3px;margin:0 0 16px;}
.ns-sub-hero .ns-sub-h1 h1 {font-size:36px;line-height:1.2;}
.ns-sub-hero .ns-sub-bullets {margin:20px 0 0;}
.ns-sub-hero .nc-main-image img {height:430px;aspect-ratio:auto;background:#F7F9FC;object-fit:contain;border-radius:14px;}
.ns-sub-hero .ns-sub-configurator {width:100%;padding:24px;border:1px solid #DDE4EC;border-radius:12px;background:#fff;}
.ns-sub-hero .ns-sub-configurator .nc-config {border-top:0;padding-top:0;}
.ns-sub-hero .ns-sub-configurator .nc-config-grid {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 16px;}
.ns-sub-hero .ns-sub-configurator .nc-config-actions {display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;}
.ns-sub-hero .ns-sub-configurator .nc-primary,.ns-sub-hero .ns-sub-configurator .nc-secondary {width:100%;margin-top:0;padding:13px 12px;}
.ns-sub-hero .ns-sub-image-note {margin-top:12px;font-size:12px;text-align:center;}
.ns-sub-options .ns-sub-options-grid.e-con {grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:1024px){.ns-sub-hero .ns-sub-hero-grid.e-con{gap:22px 28px;}.ns-sub-hero .ns-sub-h1 h1{font-size:32px;}.ns-sub-hero .nc-main-image img{height:360px;}.ns-sub-hero .ns-sub-configurator{padding:20px;}.ns-sub-options .ns-sub-options-grid.e-con{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){.ns-sub-hero .ns-sub-hero-grid.e-con{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "gallery" "config";gap:28px;}.ns-sub-hero .ns-sub-images{position:static;}.ns-sub-hero .nc-main-image img{height:320px;}.ns-sub-hero .ns-sub-configurator .nc-config-actions{grid-template-columns:1fr;}.ns-sub-hero .ns-sub-configurator select,.ns-sub-hero .ns-sub-configurator input{font-size:16px;}}
@media(max-width:420px){.ns-sub-hero .ns-sub-configurator .nc-config-grid,.ns-sub-options .ns-sub-options-grid.e-con{grid-template-columns:minmax(0,1fr);}.ns-sub-hero .nc-main-image img{height:290px;}}

/* Product Sub Master: scoped component refinements copied from Bao Thu, native widgets. */
.ns-sub-mini.ns-sub-section { padding-block:72px; }
.ns-sub-mini.ns-sub-hero { padding-top:48px; padding-bottom:64px; }
.ns-sub-mini.ns-sub-hero .ns-sub-h1 h1 { font-size:34px; line-height:1.2; text-wrap:balance; }
.ns-sub-mini.ns-sub-hero .ns-sub-bullets { margin-top:20px; }
.ns-sub-mini.ns-sub-hero .ns-sub-configurator { background:#F7F9FC; }
.ns-sub-mini.ns-sub-hero .ns-sub-configurator .nc-primary { font-size:12px !important; }
.ns-sub-mini .ns-sub-section-intro { max-width:820px; margin-bottom:30px; }
.ns-sub-mini .ns-sub-section-intro p { margin:0; }

/* Three calm, contrasting slides; images remain separate editable Image widgets. */
.ns-sub-benefits .ns-sub-inner { gap:0; }
.ns-sub-benefits .nc-quality-carousel .e-n-carousel { background:transparent; }
.ns-sub-benefits .nc-quality-carousel .nc-quality-slide.e-con { min-height:470px; gap:36px; }
.ns-sub-benefits .nc-quality-slide-title .elementor-heading-title { max-width:22ch; font:700 32px/1.22 Cambria,Georgia,serif; }
.ns-sub-benefits .nc-quality-slide-text p { max-width:38ch; font:400 16px/1.65 Arial,Helvetica,sans-serif; }
.ns-sub-benefits .nc-quality-slide-image img { background:#F7F9FC; object-fit:contain; height:340px; }
.ns-sub-benefits .nc-quality-carousel .ns-sub-tone-red.e-con { background:#D62828; }
.ns-sub-benefits .nc-quality-carousel .ns-sub-tone-navy.e-con { background:#0E2A47; }
.ns-sub-benefits .nc-quality-carousel .ns-sub-tone-light.e-con { background:#EEF2F7; }
.ns-sub-benefits :is(.ns-sub-tone-red,.ns-sub-tone-navy) .nc-quality-slide-title .elementor-heading-title,
.ns-sub-benefits :is(.ns-sub-tone-red,.ns-sub-tone-navy) .nc-quality-slide-text p,
.ns-sub-benefits :is(.ns-sub-tone-red,.ns-sub-tone-navy) .nc-quality-slide-index p { color:#FFFFFF; }
.ns-sub-benefits .nc-quality-carousel .swiper-pagination-bullet { background:#fff; border:1px solid #0E2A47; opacity:.7; }
.ns-sub-benefits .nc-quality-carousel .swiper-pagination-bullet-active { background:#0E2A47; border-color:#fff; opacity:1; }

/* Replace the scattered middle sections with one compact media + numbered list. */
.ns-sub-notes { background:#F7F9FC; }
.ns-sub-mini .ns-sub-notes-grid.e-con { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:44px; align-items:center; width:100%; }
.ns-sub-mini .ns-sub-notes-media.e-con { padding:24px; gap:0; border:1px solid #E5EAF1; border-radius:20px; background:#fff; }
.ns-sub-mini .ns-sub-note-image img { width:100%; aspect-ratio:4/3; object-fit:contain; }
.ns-sub-mini .ns-sub-caption { margin-top:14px; font-size:12px; text-align:center; }
.ns-sub-mini .ns-sub-notes-list.e-con { gap:0; }
.ns-sub-mini .ns-sub-note-row.e-con { display:grid; grid-template-columns:42px minmax(0,1fr); gap:18px; padding:24px 0; border-bottom:1px solid #DDE4EC; width:100%; }
.ns-sub-mini .ns-sub-note-row:first-child { padding-top:0; }
.ns-sub-mini .ns-sub-note-row:last-child { border-bottom:0; padding-bottom:0; }
.ns-sub-mini .ns-sub-note-index p { margin:0; color:#D62828; font:700 18px/1.5 Arial,Helvetica,sans-serif; }
.ns-sub-mini .ns-sub-note-copy.e-con { gap:0; }
.ns-sub-mini .ns-sub-note-copy .ns-sub-h3 .elementor-heading-title { font-size:21px; line-height:1.3; }
.ns-sub-mini.ns-sub-gallery .gallery { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ns-sub-mini.ns-sub-process { background:#F7F9FC; }

/* Native nested accordion supplies accessible +/- controls and keyboard behavior. */
.ns-sub-faq .ns-sub-inner { max-width:940px; gap:0; }
.ns-sub-faq .ns-sub-h2 .elementor-heading-title { margin-bottom:24px; }
.ns-sub-faq .nc-accordion .e-n-accordion-item-title { padding:24px 0; }
.ns-sub-faq .nc-accordion .e-n-accordion-item-title-text { font-size:17px; line-height:1.45; }
.ns-sub-faq .nc-answer .nc-text,
.ns-sub-faq .nc-answer .nc-text p { color:#4F6072; font:400 16px/1.65 Arial,Helvetica,sans-serif !important; }
.ns-sub-mini.newsun-why-choose .nc-trust-card-title.elementor-widget-heading > h3.elementor-heading-title { min-height:0; }

@media(max-width:1024px) {
    .ns-sub-mini.ns-sub-section { padding-block:56px; }
    .ns-sub-mini.ns-sub-hero .ns-sub-h1 h1 { font-size:30px; }
    .ns-sub-benefits .nc-quality-carousel .nc-quality-slide.e-con { min-height:420px; gap:24px; }
    .ns-sub-benefits .nc-quality-slide-title .elementor-heading-title { font-size:28px; }
    .ns-sub-benefits .nc-quality-slide-image img { height:290px; }
    .ns-sub-mini .ns-sub-notes-grid.e-con { gap:28px; }
    .ns-sub-mini .ns-sub-notes-media.e-con { padding:18px; }
    .ns-sub-mini.ns-sub-gallery .gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
    .ns-sub-mini.ns-sub-section { padding-block:44px; }
    .ns-sub-mini.ns-sub-hero { padding-top:28px; }
    .ns-sub-mini.ns-sub-hero .ns-sub-h1 h1 { font-size:29px; }
    .ns-sub-mini .ns-sub-section-intro { margin-bottom:24px; }
    .ns-sub-benefits .nc-quality-carousel .nc-quality-slide.e-con { min-height:0; gap:24px; }
    .ns-sub-benefits .nc-quality-slide-title .elementor-heading-title { font-size:27px; max-width:none; }
    .ns-sub-benefits .nc-quality-slide-text p { font-size:15px; }
    .ns-sub-benefits .nc-quality-slide-image img { height:250px; }
    .ns-sub-mini .ns-sub-notes-grid.e-con { grid-template-columns:minmax(0,1fr); gap:28px; }
    .ns-sub-mini .ns-sub-note-copy .ns-sub-h3 .elementor-heading-title { font-size:20px; }
    .ns-sub-mini .ns-sub-note-row.e-con { gap:12px; padding-block:20px; }
    .ns-sub-faq .nc-accordion .e-n-accordion-item-title-text { font-size:16px; }
    .ns-sub-faq .nc-answer .nc-text p { font-size:15px !important; }
}

/* Match the number of editable gallery items without empty columns. */
.ns-sub-mini .ns-sub-thumbnails-3.e-con {grid-template-columns:repeat(3,minmax(0,1fr));}
.ns-sub-mini.ns-sub-gallery-3 .gallery {grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:1024px){.ns-sub-mini.ns-sub-gallery-3 .gallery{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){.ns-sub-mini.ns-sub-gallery-3 .gallery{grid-template-columns:minmax(0,1fr);}}
