/* News Page Builder 1.0.3. Scoped to builder output; Bootstrap/publication owns fonts and colors. */
.snb-public{max-width:min(100%,var(--snb-max,100%));padding-inline:var(--snb-page-pad,0);margin-inline:auto;min-width:0;overflow-wrap:anywhere;box-sizing:border-box}
.snb-public *{box-sizing:border-box}
.snb-public .snb-section{padding:var(--snb-sec-pad,0);margin-bottom:var(--snb-sec-margin,32px);min-width:0}
.snb-public .snb-section-heading{margin-bottom:1rem}
.snb-public .snb-columns{display:flex;flex-direction:column;gap:var(--snb-sec-gap,24px);align-items:stretch;min-width:0}
.snb-public .snb-column{min-width:0;flex:1 1 0}
.snb-public .snb-stack-reverse>.snb-columns{flex-direction:column-reverse}
.snb-public .snb-module{container-type:inline-size;container-name:snb-module;min-width:0;padding:var(--snb-pad,0);margin-bottom:1.5rem;max-width:100%;border-radius:var(--bs-border-radius,.375rem);color:inherit}
.snb-public .snb-column>.snb-module:last-child{margin-bottom:0}
.snb-public .snb-bg-transparent{background:transparent}
.snb-public .snb-bg-subtle{background:var(--bs-secondary-bg,rgba(127,127,127,.08))}
.snb-public .snb-bg-theme{background:var(--bs-body-bg,transparent)}
.snb-public .snb-bordered{border:1px solid var(--bs-border-color,currentColor)}
.snb-public .snb-module-head{margin-bottom:1rem}
.snb-public .snb-module-head h2{font-size:var(--snb-head,26px);line-height:1.2;margin:0 0 .5rem}
.snb-public .snb-module-head p{margin:0;line-height:1.5}
.snb-public .snb-story-set{display:grid;grid-template-columns:repeat(var(--snb-cols,1),minmax(0,1fr));gap:var(--snb-gap,20px);min-width:0}
.snb-public .snb-story{min-width:0;position:relative;border-radius:var(--snb-radius,8px);overflow:hidden;display:flex;flex-direction:column;align-self:stretch;color:inherit}
.snb-public .snb-story-title{font-size:var(--snb-title,22px);font-weight:700;line-height:1.22;margin:0;overflow-wrap:anywhere}
.snb-public .snb-lead .snb-story-title{font-size:var(--snb-lead,36px)}
.snb-public .snb-story a{color:inherit;text-decoration:none}
.snb-public .snb-story a:hover{text-decoration:underline;text-underline-offset:.15em}
.snb-public .snb-copy{padding:var(--snb-card-pad,16px);flex:1;min-width:0}
.snb-public .snb-media{display:block;position:relative;aspect-ratio:var(--snb-ratio,16/9);min-width:0;overflow:hidden;flex-shrink:0;background:var(--bs-secondary-bg,transparent)}
.snb-public .snb-media img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:var(--snb-fit,cover);object-position:var(--snb-focal,50% 50%)}
.snb-public .snb-summary{font-size:var(--snb-text,16px);line-height:1.55;margin:.75rem 0 0}
.snb-public .snb-meta{display:flex;gap:.4rem;flex-wrap:wrap;align-items:baseline;font-size:.8rem;line-height:1.4;margin-bottom:.5rem;opacity:.9}
.snb-public .snb-meta a{font-weight:600}
.snb-public .snb-layout-cover,.snb-public .snb-layout-rows,.snb-public .snb-layout-alternating,.snb-public .snb-layout-digest{grid-template-columns:minmax(0,1fr)}
.snb-public .snb-layout-digest .snb-digest-item,.snb-public .snb-layout-lead_headlines .snb-digest-item{display:flex;flex-direction:row;align-items:flex-start}
.snb-public .snb-digest-item .snb-media{width:80px;flex:none;aspect-ratio:var(--snb-ratio,16/9);margin:var(--snb-card-pad,16px) 0 var(--snb-card-pad,16px) var(--snb-card-pad,16px)}
.snb-public .snb-digest-item .snb-story-title{font-size:min(var(--snb-title,22px),20px)}
.snb-public .snb-layout-rail{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:.5rem;overscroll-behavior-x:contain}
.snb-public .snb-layout-rail>.snb-story{flex:0 0 calc((100% - (var(--snb-cols,1) - 1)*var(--snb-gap,20px))/var(--snb-cols,1));scroll-snap-align:start;min-width:200px;max-width:100%}
.snb-public .snb-layout-rows .snb-story,.snb-public .snb-layout-alternating .snb-story{display:flex;flex-direction:column}
/* Image and text share a grid cell. The chosen frame sets the preferred height;
   long text may enlarge it rather than being clipped. No fixed 320px override. */
.snb-public .snb-story.snb-overlay{display:grid;grid-template-columns:minmax(0,1fr);align-self:start;isolation:isolate}
.snb-public .snb-overlay>.snb-media{grid-area:1/1;position:relative;inset:auto;min-height:0;height:auto;width:100%;aspect-ratio:var(--snb-ratio,16/9);align-self:stretch}
.snb-public .snb-overlay.snb-darken::before{content:"";grid-area:1/1;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,var(--snb-overlay,.72)),rgba(0,0,0,var(--snb-overlay-top,.12)))}
.snb-public .snb-overlay>.snb-copy{grid-area:1/1;align-self:end;position:relative;z-index:2;background:none;color:var(--snb-overlay-text,#fff);min-height:0;width:100%;padding:max(var(--snb-card-pad,16px),24px)}
.snb-public .snb-overlay .snb-text-panel{min-width:0}
/* Explicit overlay colors belong to the rendered elements, not just their parent.
   !important is intentionally confined here: publication h3/link/p rules must not
   override an editor-selected overlay palette. Typography and other cards stay native. */
.snb-public .snb-story.snb-overlay .snb-story-title,
.snb-public .snb-story.snb-overlay .snb-story-title a{color:var(--snb-overlay-title,var(--snb-overlay-text,#fff))!important;-webkit-text-fill-color:currentColor!important}
.snb-public .snb-story.snb-overlay .snb-summary{color:var(--snb-overlay-summary,var(--snb-overlay-text,#fff))!important;-webkit-text-fill-color:currentColor!important}
.snb-public .snb-story.snb-overlay .snb-meta{color:var(--snb-overlay-meta,var(--snb-overlay-text,#fff))!important;-webkit-text-fill-color:currentColor!important;opacity:1}
.snb-public .snb-story.snb-overlay .snb-meta a,
.snb-public .snb-story.snb-overlay .snb-meta time,
.snb-public .snb-story.snb-overlay .snb-meta span{color:inherit!important;-webkit-text-fill-color:currentColor!important}

.snb-public .snb-overlay.snb-text-bg .snb-text-panel{background:var(--snb-text-bg,rgba(0,0,0,.6));padding:var(--snb-text-bg-pad,16px);border-radius:var(--snb-text-bg-radius,8px)}
.snb-public .snb-story.snb-natural .snb-media{aspect-ratio:auto}
.snb-public .snb-story.snb-natural .snb-media img{position:relative;inset:auto;height:auto;width:100%}
.snb-public .snb-button-row{display:flex;width:100%;min-width:0;justify-content:flex-start}
.snb-public .snb-button-row>.btn{max-width:100%;white-space:normal}
.snb-public .snb-button-center{justify-content:center}
.snb-public .snb-button-right{justify-content:flex-end}
.snb-public .snb-button-full>.btn{width:100%;text-align:center}
.snb-public .snb-overlay .btn{color:inherit;border-color:currentColor}
.snb-public .snb-placeholder{border:1px dashed var(--bs-border-color,currentColor);padding:2rem;min-height:130px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:var(--bs-secondary-bg,transparent)}
.snb-public .snb-prose{line-height:1.65;overflow-wrap:anywhere}
.snb-public .snb-promo-image{display:block;width:100%;height:auto;border-radius:var(--bs-border-radius,.375rem)}
.snb-public .snb-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:2rem}
.snb-public .snb-pagination a,.snb-public .snb-pagination [aria-current]{padding:.5rem .8rem;border:1px solid var(--bs-border-color,currentColor);border-radius:var(--bs-border-radius,.375rem)}
.snb-public .snb-pagination [aria-current]{font-weight:700;background:var(--bs-secondary-bg,transparent)}
.snb-public .snb-device{display:none}
.snb-public .snb-device.snb-mobile{display:block}
@media(max-width:767.98px){.snb-public .snb-hide-mobile{display:none!important}}
@media(min-width:768px){.snb-public .snb-device.snb-mobile{display:none}.snb-public .snb-device.snb-tablet{display:block}}
@media(min-width:768px) and (max-width:991.98px){.snb-public .snb-hide-tablet{display:none!important}}
@media(min-width:992px){
 .snb-public .snb-device.snb-tablet{display:none}.snb-public .snb-device.snb-desktop{display:block}.snb-public .snb-hide-desktop{display:none!important}
 .snb-public .snb-columns,.snb-public .snb-stack-reverse>.snb-columns{flex-direction:row;align-items:flex-start}
 .snb-public .snb-column{flex:var(--snb-span,12) 1 0;width:0}
}
@container snb-module (min-width:640px){
 .snb-public .snb-layout-lead_two{grid-template-columns:2fr 1fr}.snb-public .snb-layout-lead_two>.snb-lead{grid-column:1;grid-row:1/span 2}
 .snb-public .snb-layout-lead_headlines,.snb-public .snb-layout-topic{grid-template-columns:2fr 1fr}.snb-public .snb-layout-lead_headlines>.snb-lead,.snb-public .snb-layout-topic>.snb-lead{grid-column:1;grid-row:1/span var(--snb-support,1)}
 .snb-public .snb-layout-lead_headlines>.snb-story:not(.snb-lead),.snb-public .snb-layout-topic>.snb-story:not(.snb-lead){grid-column:2}
 .snb-public .snb-layout-twin{grid-template-columns:repeat(2,minmax(0,1fr))}
 .snb-public .snb-layout-lead_four{grid-template-columns:2fr 1fr 1fr}.snb-public .snb-layout-lead_four>.snb-lead{grid-column:1;grid-row:1/span 2}
 .snb-public .snb-layout-mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}.snb-public .snb-layout-mosaic>.snb-lead{grid-column:span 2;grid-row:span 2}
 .snb-public .snb-layout-rows .snb-story,.snb-public .snb-layout-alternating .snb-story{flex-direction:row;align-items:stretch}
 .snb-public .snb-layout-rows .snb-media,.snb-public .snb-layout-alternating .snb-media{width:38%;flex:none;align-self:flex-start}
 .snb-public .snb-layout-alternating .snb-story:nth-child(even){flex-direction:row-reverse}
}
@container snb-module (max-width:639.98px){
 .snb-public .snb-layout-lead_two,.snb-public .snb-layout-lead_four,.snb-public .snb-layout-mosaic,.snb-public .snb-layout-lead_headlines,.snb-public .snb-layout-topic{grid-template-columns:minmax(0,1fr)}
 .snb-public .snb-lead .snb-story-title{font-size:min(var(--snb-lead,36px),32px)}
}
.snb-public .snb-story-set.snb-single{grid-template-columns:minmax(0,1fr)}
.snb-public a:focus-visible,.snb-public button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.snb-public [hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.snb-public *{scroll-behavior:auto!important}}
@media(forced-colors:active){
 .snb-public .snb-overlay .snb-copy,.snb-public .snb-overlay.snb-text-bg .snb-text-panel{background:Canvas;color:CanvasText}
 .snb-public .snb-overlay.snb-darken::before{display:none}
 .snb-public .snb-story.snb-overlay .snb-story-title,.snb-public .snb-story.snb-overlay .snb-summary,.snb-public .snb-story.snb-overlay .snb-meta{color:CanvasText!important}
 .snb-public .snb-story.snb-overlay .snb-story-title a,.snb-public .snb-story.snb-overlay .snb-meta a{color:LinkText!important}
 .snb-public a{color:LinkText}
}

.snb-public .snb-module.card:not(.snb-bordered){border:0}
