/* ===== Magazine Elements Blocks — shared front-end styles ===== */
.mg-wrap{ --mg-navy:#0B2038; --mg-orange:#E1621F; --mg-line:#D7DEE6; margin:1.8rem 0; }
.mg-font-serif{font-family:"Source Serif 4",Georgia,serif;}
.mg-font-sans{font-family:"Inter",sans-serif;}
.mg-font-mono{font-family:"IBM Plex Mono",monospace;}

.mg-section-title{
	font-size:var(--mg-title-size,22px);
	margin:0 0 1rem;
	color:var(--mg-navy);
	border-bottom:3px solid var(--mg-navy);
	padding-bottom:.5rem;
}

.mg-tab{
	display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
	color:#fff;background:var(--mg-accent,var(--mg-navy));padding:.3em .7em;border-radius:4px 4px 0 0;
	margin-bottom:.5rem;
}
.mg-meta{font-size:.75rem;color:#6b7684;}

/* Card */
.mg-card{background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 1px 2px rgba(11,32,56,.06),0 4px 14px rgba(11,32,56,.07);display:flex;flex-direction:column;}
.mg-card__thumb{display:block;overflow:hidden;height:var(--mg-img-h-desktop,220px);}
.mg-card__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease, opacity .35s ease;}
.mg-card__noimg{width:100%;height:100%;background:#EEF1F5;}
.mg-card__body{padding:.9rem 1rem 1.1rem;flex:1;display:flex;flex-direction:column;gap:.4rem;}
.mg-card__title{font-size:1rem;margin:0;line-height:1.3;}
.mg-card__title a{color:var(--mg-navy);text-decoration:none;}
.mg-card__excerpt{font-size:.88rem;color:#4A5361;margin:0;}

/* Hover effects (toggle per block instance) */
.mg-hover-zoom:hover img{transform:scale(1.06);}
.mg-hover-overlay{position:relative;}
.mg-hover-overlay::after{content:"";position:absolute;inset:0;background:var(--mg-hover-overlay-color,rgba(11,32,56,.35));opacity:0;transition:opacity .3s ease;}
.mg-hover-overlay:hover::after{opacity:var(--mg-hover-overlay-opacity,1);}
.mg-hover-zoom-overlay:hover img{transform:scale(1.06);}
.mg-hover-zoom-overlay{position:relative;}
.mg-hover-zoom-overlay::after{content:"";position:absolute;inset:0;background:var(--mg-hover-overlay-color,rgba(11,32,56,.35));opacity:0;transition:opacity .3s ease;}
.mg-hover-zoom-overlay:hover::after{opacity:var(--mg-hover-overlay-opacity,1);}

/* Responsive grid used by grid/featured/vertical blocks */
.mg-grid{display:grid;grid-template-columns:repeat(var(--mg-cols-desktop,3),1fr);gap:var(--mg-gap,20px);}
@media(max-width:960px){.mg-grid{grid-template-columns:repeat(var(--mg-cols-tablet,2),1fr);}}
@media(max-width:600px){
	.mg-grid{grid-template-columns:repeat(var(--mg-cols-mobile,1),1fr);}
	.mg-card__thumb{height:var(--mg-img-h-mobile,160px);}
}

/* Block posts (main + list) */
.mg-blockposts{display:grid;grid-template-columns:1.6fr 1fr;gap:1.5rem;}
.mg-blockposts .mg-card__thumb{height:var(--mg-img-h-desktop,320px);}
.mg-bp-list{display:flex;flex-direction:column;gap:.9rem;}
.mg-bp-list-item{display:flex;gap:.8rem;}
.mg-bp-list-item .mg-card__thumb{width:96px;height:72px;flex:none;border-radius:4px;}
.mg-bp-list-item h4{font-size:.95rem;margin:.1rem 0 0;}
.mg-bp-list-item h4 a{color:var(--mg-navy);text-decoration:none;}
@media(max-width:780px){.mg-blockposts{grid-template-columns:1fr;}}

/* Featured posts (small static grid) */
.mg-featured .mg-card__title{font-size:.92rem;}

/* Vertical list */
.mg-vlist{display:flex;flex-direction:column;}
.mg-vlist-item{display:flex;gap:.9rem;padding:.8rem 0;border-bottom:1px dashed var(--mg-line);}
.mg-vlist-item:first-child{padding-top:0;}
.mg-vlist-item .mg-card__thumb{width:var(--mg-img-h-mobile,72px);height:var(--mg-img-h-mobile,72px);flex:none;border-radius:4px;}

/* ===== Slider ===== */
.mg-slider{position:relative;overflow:hidden;border-radius:6px;height:var(--mg-slider-h-desktop,420px);}
.mg-slider__track{display:flex;height:100%;transition:transform .5s ease;}
.mg-slider__slide{position:relative;flex:0 0 100%;height:100%;}
.mg-slider__slide img{width:100%;height:100%;object-fit:cover;}
.mg-slider__caption{position:absolute;left:0;right:0;bottom:0;padding:1.4rem;background:linear-gradient(transparent,rgba(11,32,56,.9));color:#fff;}
.mg-slider__caption h3{color:#fff;margin:.3rem 0;font-size:1.3rem;}
.mg-slider__arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(11,32,56,.65);color:#fff;border:0;width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:1.1rem;z-index:2;}
.mg-slider__arrow--prev{left:12px;} .mg-slider__arrow--next{right:12px;}
.mg-slider__dots{position:absolute;bottom:14px;right:14px;display:flex;gap:6px;z-index:2;}
.mg-slider__dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.5);border:0;cursor:pointer;}
.mg-slider__dot.is-active{background:#fff;}
@media(max-width:600px){.mg-slider{height:var(--mg-slider-h-mobile,260px);}}

/* ===== Ticker ===== */
.mg-ticker{display:flex;align-items:center;background:var(--mg-navy);color:#fff;border-radius:4px;overflow:hidden;}
.mg-ticker__label{flex:none;background:var(--mg-orange);font-weight:700;font-size:.75rem;text-transform:uppercase;padding:.6em 1em;letter-spacing:.04em;}
.mg-ticker__viewport{overflow:hidden;flex:1;}
.mg-ticker__track{display:flex;white-space:nowrap;will-change:transform;}
.mg-ticker__track a{color:#fff;text-decoration:none;padding:.6em 2.5em .6em 1.2em;font-size:.9rem;}

/* ===== Tabbed widget ===== */
.mg-tabs__nav{display:flex;border-bottom:2px solid var(--mg-line);}
.mg-tabs__nav button{flex:1;background:none;border:0;padding:.7em .5em;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#6b7684;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;}
.mg-tabs__nav button.is-active{color:var(--mg-navy);border-color:var(--mg-orange);}
.mg-tabs__panel{display:none;padding-top:1rem;}
.mg-tabs__panel.is-active{display:block;}

/* ===== Scroll to top ===== */
.mg-scrolltop{
	position:fixed;z-index:9999;width:var(--mg-st-size,46px);height:var(--mg-st-size,46px);border-radius:50%;
	background:var(--mg-st-bg,#0B2038);color:var(--mg-st-color,#fff);border:0;cursor:pointer;
	display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.2);
	bottom:24px;opacity:0;visibility:hidden;transition:opacity .25s ease, visibility .25s ease;
}
.mg-scrolltop.mg-pos-right{right:24px;}
.mg-scrolltop.mg-pos-left{left:24px;}
.mg-scrolltop.is-visible{opacity:1;visibility:visible;}

/* ===== Sticky menu (applied to the selector the user configures) ===== */
.mg-sticky-active{position:fixed !important;top:0;left:0;right:0;z-index:9998;box-shadow:0 2px 10px rgba(0,0,0,.15);}
