/* Keep content images complete in both the editor and published components. */
.dx-wrap { max-width:1280px; box-sizing:border-box; }
.preview-component:is([data-type="section_title"], [data-type="news_carousel"], [data-type="zone_group"], [data-type="dual_col"], [data-type="triple_zone"], [data-type="association_carousel"], [data-type="video_show"], [data-type="tab_topic"], [data-type="image_carousel"], [data-type="news_combo"], [data-type="promo_module"], [data-type="column_container"]) { max-width:1280px; }
.section-title-block .st-subs { min-width:0; max-width:100%; }
/* News carousel: keep a real 16:9 image frame instead of stretching to the news height. */
.dx-nc, .preview-component[data-type="news_carousel"] .nc-split { display:grid; grid-template-columns:minmax(0,35fr) minmax(0,65fr); gap:20px; align-items:stretch; height:auto; }
.dx-nc .dx-nc-left, .preview-component[data-type="news_carousel"] .nc-left { box-sizing:border-box; width:auto; min-width:0; padding:0 16px 0 0; border-right:1px solid #e6e6e6; display:flex; flex-direction:column; }
.dx-nc .dx-nc-list { flex:1; display:flex; flex-direction:column; justify-content:space-between; }
.preview-component[data-type="news_carousel"] .nc-left-list { flex:1; display:flex; flex-direction:column; justify-content:space-between; }
.preview-component[data-type="news_carousel"] .nc-news-item:first-child .nc-news-title { font-size:22px; font-weight:bold; }
.dx-nc .dx-nc-mid { position:relative; inset:auto; display:block; min-width:0; align-self:start; }
.dx-nc .dx-nc-slides { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto 40px; height:auto; }
.dx-nc .dx-nc-slide { grid-area:1 / 1; width:100%; height:auto; aspect-ratio:16 / 9; }
.dx-nc .dx-nc-slide img { display:block; width:100%; height:100%; object-fit:contain; }
.dx-nc .dx-nc-bar { position:static; grid-area:2 / 1; height:40px; box-sizing:border-box; background:#555; }
.preview-component[data-type="news_carousel"] .nc-right { align-self:start; min-width:0; min-height:0; }
.preview-component[data-type="news_carousel"] .nc-right .carousel-container { display:flex; flex-direction:column; height:auto; }
.preview-component[data-type="news_carousel"] .nc-right .carousel-images { width:100%; height:auto; aspect-ratio:16 / 9; flex:none; }
.preview-component[data-type="news_carousel"] .nc-right .carousel-bar { position:static; height:40px; flex:0 0 40px; box-sizing:border-box; background:#555; }
.preview-component.has-custom-height[data-type="news_carousel"] > .component-preview > .nc-split { height:auto; }
.dx-nc:not(:has(.dx-nc-slide)) { grid-template-columns:minmax(0,1fr); }
.dx-nc:not(:has(.dx-nc-slide)) .dx-nc-mid { display:none; }
@media (max-width:860px) {
    .dx-nc, .preview-component[data-type="news_carousel"] .nc-split { grid-template-columns:minmax(0,1fr); }
    .dx-nc .dx-nc-left, .preview-component[data-type="news_carousel"] .nc-left { border-right:0; padding-right:0; }
}
.preview-component[data-type="image_carousel"] .component-preview { display:block; width:100%; }
.dx-image-carousel { height:400px; margin-bottom:20px; }
.dx-image-carousel .dx-nc-slides { height:100%; }
.dx-image-carousel .dx-nc-slide { height:calc(100% - 40px); }
.dx-image-carousel .dx-nc-bar { height:40px; box-sizing:border-box; }
.preview-component[data-type="image_carousel"] .carousel-images { height:calc(100% - 40px); }
.preview-component[data-type="image_carousel"] .carousel-bar { height:40px; box-sizing:border-box; }
.dx-layout-fixed > .dx-layout-inner > .dx-image-carousel { height:100%; margin-bottom:0; }
.dx-promo-overlay { position:relative; width:100%; height:auto; opacity:1; }
.dx-triple .dx-tri-col { min-width:0; flex:1 1 0; box-sizing:border-box; }
.dx-triple .dx-tri-col:first-child { flex-grow:1.25; }
@media (max-width:860px) {
    .dx-triple, .triple-zone-container { flex-direction:column; }
    .dx-triple .dx-tri-col, .triple-zone-container .tz-col { flex-basis:auto; width:100%; margin-right:0; }
}
.dx-news-combo *, .dx-promo-module * { box-sizing:border-box; }
.dx-news-combo .dx-nc-image_list .dx-nc-items { gap:10px; }
.dx-news-combo .dx-nc-feature-img { height:auto; aspect-ratio:16 / 7; }
.dx-news-combo .dx-nc-thumb { flex:0 0 96px; width:96px; height:68px; }
.dx-news-combo .dx-nc-image_list .dx-nc-thumb { width:100%; height:auto; aspect-ratio:4 / 3; }
.dx-news-combo :is(.dx-nc-feature-img, .dx-nc-thumb) img,
.dx-promo-module :is(.dx-promo-hero-media, .dx-promo-card-media) img { display:block; width:100%; height:100%; max-width:100%; object-fit:contain; object-position:center; transform:none; }

/* The same fitting rule applies to the other image cards and news slides. */
:is(.carousel-images, .dx-nc-slide, .assoc-card, .dx-as-card, .tt-card-media, .dx-tt-card-media, .tt-imgs, .dx-tt-imgs, .zone-item, .dx-zc-ico, .dc-left-top-img, .dx-dc-top-img, .dc-left-bcard-img, .dx-dc-bcard-img) img,
.dx-column-container :is(.dx-cc-feature-image, .dx-cc-thumb) img { object-fit:contain; transform:none; }
:is(.dx-nc-slide, .assoc-card, .dx-as-card, .dx-zc-ico, .dx-tri-img, .dx-tt-card-media, .dx-tt-imgs li, .dc-left-top-img, .dx-dc-top-img, .dc-left-bcard-img, .dx-dc-bcard-img):hover img { transform:none; }
.zone-item.image-item img { object-fit:contain !important; }
.dx-tri-img img { height:auto; object-fit:contain; transform:none; }
.dx-wrap:is(.dx-image-show, .dx-img-row, .dx-img-row2) img { transform:none; }
.dx-cc-feature-image { display:block; height:auto; aspect-ratio:16 / 7; overflow:hidden; }
.dx-column-container .dx-cc-thumb { flex:0 0 88px; width:88px; height:62px; overflow:hidden; }
.dx-column-container .dx-cc-feature-image img, .dx-column-container .dx-cc-thumb img { display:block; width:100%; height:100%; }

/* Fixed-height text/image modules can scroll instead of cutting off their content. */
.preview-component.has-custom-height:not([data-type="image_show"]):not([data-type="image_row"]):not([data-type="image_row2"]):not([data-type="image_multi_row"]):not([data-type="image_carousel"]) > .component-preview,
.dx-layout-fixed > .dx-layout-inner:not(:has(> :is(.dx-image-show, .dx-img-row, .dx-img-row2, .dx-multi-row, .dx-image-carousel))) { overflow:auto; }

/* Independent topic layouts, shared by the editor and published page. */
.dx-topic-v2 { width:100%; max-width:1280px; min-width:0; text-align:left; color:#333; font-family:"Microsoft YaHei","PingFang SC",SimSun,sans-serif; font-size:14px; line-height:1.6; }
.dx-topic-v2 *, .dx-topic-v2 *::before, .dx-topic-v2 *::after { box-sizing:border-box; }
.dx-topic-v2 a { color:inherit; text-decoration:none; }
.dx-topic-v2 .dx-tab-hd { display:flex; position:sticky; top:0; z-index:50; overflow-x:auto; background:#fff; border-bottom:1px solid #e0e0e0; }
.dx-topic-v2 .dx-tab { flex:1 0 100px; min-width:0; height:auto; min-height:52px; padding:12px; border:0; border-radius:0; background:#fff; color:#222; font:inherit; font-size:18px; line-height:1.5; text-align:center; white-space:nowrap; cursor:pointer; letter-spacing:0; }
.dx-topic-v2 .dx-tab.dx-on { color:#c91525; font-weight:bold; box-shadow:inset 0 -3px #c91525; }
.dx-topic-v2 .dx-tab:focus-visible { outline:2px solid #c91525; outline-offset:-3px; }
.dx-topic-v2 .dx-tab-panel { display:block; padding:20px var(--topic-padding,0px); background:var(--topic-bg,#fff); border-bottom:1px solid #eee; }
.dx-topic-v2 .dx-tab-panel[hidden], .dx-topic-v2 .dx-tab-hd[hidden] { display:none !important; }
.dx-topic-v2 .dx-tt-panel-title { margin:0 0 16px; color:var(--topic-title,#222); font-size:var(--topic-title-size,20px); font-weight:bold; line-height:1.5; letter-spacing:0; overflow-wrap:anywhere; }
.dx-topic-v2 .dx-topic-rows { display:grid; min-width:0; gap:var(--topic-gap,20px); }
.dx-topic-v2 .dx-topic-row { min-width:0; width:100%; }
.dx-topic-v2 :is(.dx-topic-layout-feature_list,.dx-topic-layout-list_feature) { display:grid; grid-template-columns:minmax(0,var(--topic-feature,65fr)) minmax(0,var(--topic-list,35fr)); gap:20px; align-items:stretch; }
.dx-topic-v2 .dx-topic-layout-list_feature { grid-template-columns:minmax(0,var(--topic-list,35fr)) minmax(0,var(--topic-feature,65fr)); }
.dx-topic-v2 .dx-topic-feature { display:flex; flex-direction:column; align-items:stretch; justify-content:center; gap:8px; min-width:0; position:relative; container-type:inline-size; padding:var(--topic-row-padding,16px); background:var(--topic-row-bg,#f5f5f5); }
.dx-topic-v2 .dx-topic-feature:has(> .dx-tt-share) { padding-block:max(var(--topic-row-padding,16px),36px); }
.dx-topic-v2 .dx-topic-feature-link { display:grid; width:100%; grid-template-columns:minmax(0,38fr) minmax(0,62fr); gap:20px; align-items:center; min-width:0; }
.dx-topic-v2 .dx-topic-image-right { grid-template-columns:minmax(0,62fr) minmax(0,38fr); }
.dx-topic-v2 .dx-topic-image-right .dx-topic-media { grid-column:2; grid-row:1; }
.dx-topic-v2 .dx-topic-image-right .dx-topic-copy { grid-column:1; grid-row:1; }
.dx-topic-v2 :is(.dx-topic-image-top,.dx-topic-image-none) { grid-template-columns:minmax(0,1fr); }
.dx-topic-v2 .dx-topic-media { display:flex; justify-content:center; align-items:center; min-width:0; width:100%; aspect-ratio:var(--topic-ratio,16 / 9); overflow:hidden; }
.dx-topic-v2 .dx-topic-media img { display:block; width:100%; height:100%; min-width:0; max-width:100%; object-fit:var(--topic-fit,contain); object-position:center; transform:none; }
.dx-topic-v2 [style*="--topic-ratio:auto"] .dx-topic-media img { height:auto; }
.dx-topic-v2 .dx-topic-copy { min-width:0; overflow-wrap:anywhere; }
.dx-topic-v2 .dx-topic-copy h4 { margin:0 0 10px; font-size:20px; line-height:1.5; color:#222; font-weight:bold; }
.dx-topic-v2 .dx-topic-copy p { margin:0; font-size:15px; line-height:1.9; color:#555; white-space:normal; }
.dx-topic-v2 .dx-topic-list { display:flex; flex-direction:column; justify-content:space-around; min-width:0; padding:0; margin:0; list-style:none; background:#fff; }
.dx-topic-v2 .dx-topic-list li { min-width:0; padding:10px 0; border-bottom:1px solid #eee; line-height:1.7; overflow-wrap:anywhere; }
.dx-topic-v2 .dx-topic-list li:last-child { border-bottom:0; }
.dx-topic-v2 .dx-topic-list :is(a,span) { display:block; font-size:14px; white-space:normal; }
.dx-topic-v2 .dx-topic-list a:hover, .dx-topic-v2 .dx-topic-grid-card:hover p { color:#c91525; }
.dx-topic-v2 .dx-topic-grid { display:grid; grid-template-columns:repeat(var(--topic-columns,3),minmax(0,1fr)); gap:20px; min-width:0; }
.dx-topic-v2 .dx-topic-grid-card { display:block; min-width:0; }
.dx-topic-v2 :is(.dx-topic-grid-card,.dx-topic-single-image) p { margin:10px 0 0; font-size:15px; line-height:1.7; color:#333; text-align:center; overflow-wrap:anywhere; }
.dx-topic-v2 :is(.dx-topic-layout-text,.dx-topic-layout-image,.dx-topic-layout-cards,.dx-topic-layout-list) { padding:var(--topic-row-padding,16px); background:var(--topic-row-bg,#fff); }
.dx-topic-v2 .dx-topic-single-image { display:block; min-width:0; }
.dx-topic-v2 .dx-topic-empty { display:flex; align-items:center; justify-content:center; min-height:80px; color:#999; font-size:14px; }
.dx-topic-v2 .dx-tt-share { position:absolute; right:var(--topic-row-padding,16px); bottom:8px; margin:0; padding:4px 8px; border:0; background:transparent; color:#777; font:inherit; font-size:12px; cursor:pointer; }
.dx-topic-v2 .dx-topic-status { margin:0; padding:8px 10px; color:#8a5a12; background:#fff6df; font-size:13px; }
.dx-topic-preview .dx-tab-hd { position:static; }
/* Use the card's available width, including when a desktop row gives it a narrow column. */
@container (max-width:480px) {
    .dx-topic-v2 .dx-topic-feature-link:is(.dx-topic-image-left,.dx-topic-image-right) { grid-template-columns:minmax(0,1fr); gap:16px; }
    .dx-topic-v2 .dx-topic-image-right :is(.dx-topic-media,.dx-topic-copy) { grid-column:auto; grid-row:auto; }
    .dx-topic-v2 :is(.dx-topic-image-left,.dx-topic-image-right) > .dx-topic-media { width:100%; max-width:360px; justify-self:center; }
}
@media (max-width:860px) {
    .dx-topic-v2 :is(.dx-topic-layout-feature_list,.dx-topic-layout-list_feature) { grid-template-columns:minmax(0,1fr); }
    .dx-topic-v2 .dx-topic-grid { grid-template-columns:repeat(min(var(--topic-columns,3),2),minmax(0,1fr)); }
}
@media (max-width:480px) {
    .dx-topic-v2 .dx-topic-feature-link, .dx-topic-v2 .dx-topic-image-right { grid-template-columns:minmax(0,1fr); }
    .dx-topic-v2 .dx-topic-image-right :is(.dx-topic-media,.dx-topic-copy) { grid-column:auto; grid-row:auto; }
    .dx-topic-v2 .dx-topic-grid { grid-template-columns:minmax(0,1fr); }
    .dx-topic-v2 .dx-topic-copy h4 { font-size:18px; }
}
