/*!
 * HORIZON — civic portal UI (Tanggamus + semua OPD)
 * Tipografi resmi digital: Plus Jakarta Sans (proporsi natural, bukan display lebar).
 */
@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap");

body.skin-magz,
body.skin-portal {
    --hz-ease: cubic-bezier(.2, .8, .2, 1);
    --hz-ink: #0b1220;
    --hz-paper: #f2f5f9;
    --hz-line: color-mix(in srgb, var(--idds-primary) 55%, var(--idds-accent, var(--idds-primary)));
    --hz-rail: linear-gradient(90deg,
        transparent 0%,
        color-mix(in srgb, var(--idds-accent, #a67c2a) 70%, var(--idds-primary)) 40%,
        var(--idds-primary) 50%,
        color-mix(in srgb, var(--idds-accent, #a67c2a) 70%, var(--idds-primary)) 60%,
        transparent 100%);
    --hz-font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
    --fx-ease: var(--hz-ease);
    --fx-glow: 0 1px 0 color-mix(in srgb, var(--idds-primary) 12%, transparent),
               0 14px 36px rgba(14, 22, 38, .08);
    --fx-line: var(--hz-rail);
    font-family: var(--hz-font);
    color: color-mix(in srgb, var(--hz-ink) 92%, var(--idds-primary));
    letter-spacing: 0;
    font-synthesis: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Soft atmospheric field — brand-tinted, never loud */
html[data-bs-theme="light"] body.skin-magz {
    background-color: color-mix(in srgb, var(--hz-paper) 88%, var(--idds-primary)) !important;
}
html[data-bs-theme="light"] body.skin-magz::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    background:
        radial-gradient(900px 420px at 0% -8%, color-mix(in srgb, var(--idds-primary) 14%, transparent), transparent 60%),
        radial-gradient(700px 380px at 100% 0%, color-mix(in srgb, var(--idds-accent, var(--idds-primary)) 10%, transparent), transparent 55%);
}

/* ========================================================================
   CHROME — masthead + nav (satu komposisi untuk semua dinas)
   ======================================================================== */
body.skin-magz .firstbar,
body.skin-magz .firstbar--aether {
    position: relative;
    isolation: isolate;
    padding-block: 1rem;
    background:
        linear-gradient(180deg,
            color-mix(in srgb, var(--idds-accent, var(--idds-primary)) 8%, #fff) 0%,
            #fff 100%);
    border-bottom: 0;
    overflow: hidden;
}
body.skin-magz .firstbar::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--idds-primary), var(--idds-accent, var(--idds-primary)));
    z-index: 2;
}
body.skin-magz .firstbar::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 2px;
    background: var(--hz-rail);
    z-index: 2;
}
body.skin-magz .firstbar > .container-md { position: relative; z-index: 1; }

body.skin-magz .firstbar__grid {
    display: grid;
    grid-template-columns: minmax(360px, 1.45fr) minmax(260px, 1.05fr) auto;
    align-items: center;
    gap: 1rem 1.5rem;
    min-height: 96px;
}

body.skin-magz .firstbar .brand { margin: 0; float: none !important; display: flex; align-items: center; min-width: 0; }
body.skin-magz .firstbar .brand__link {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: .9rem;
    text-decoration: none;
    color: inherit;
    min-width: 0;
    padding: .15rem 0;
}

body.skin-magz .firstbar .brand__mark {
    position: relative;
    flex: 0 0 auto;
    width: 80px;
    height: 80px;
    display: grid !important;
    place-items: center;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.82)) !important;
    border: 1px solid color-mix(in srgb, var(--idds-primary) 12%, rgba(255,255,255,.92));
    box-shadow: 0 12px 28px rgba(15, 23, 42, .1);
}
body.skin-magz .firstbar .brand__mark::after { display: none; }
body.skin-magz .firstbar .brand__logo {
    height: 64px !important;
    width: auto !important;
    max-width: 64px !important;
    max-height: 64px !important;
    float: none !important;
    margin: 0 !important;
    object-fit: contain !important;
    display: block !important;
    background: transparent !important;
}
body.skin-magz .firstbar .brand__copy {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    min-width: 0;
}
body.skin-magz .firstbar .brand__kicker {
    font-family: var(--hz-font);
    font-size: .625rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #64748b;
    line-height: 1.2;
}
body.skin-magz .firstbar .brand__name {
    font-family: var(--hz-font) !important;
    font-size: clamp(1.05rem, 1.35vw, 1.32rem) !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    letter-spacing: -.025em !important;
    color: var(--idds-primary-800, #14284a) !important;
    max-width: 22rem !important;
    white-space: normal !important;
    text-wrap: pretty;
    word-break: keep-all !important;
    overflow-wrap: break-word;
    font-stretch: 100% !important;
    font-variation-settings: normal !important;
    transform: none !important;
    text-transform: none !important;
}

body.skin-magz .firstbar .search { margin: 0 !important; width: 100%; float: none !important; }
body.skin-magz .firstbar .search .input-group {
    background: rgba(255, 255, 255, .72) !important;
    border: 1px solid color-mix(in srgb, var(--idds-primary) 12%, #d7dee8) !important;
    border-radius: 10px !important;
    overflow: hidden;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 1px 2px rgba(11, 18, 32, .04);
    transition: border-color .2s var(--hz-ease), box-shadow .2s var(--hz-ease);
}
body.skin-magz .firstbar .search .input-group:focus-within {
    border-color: color-mix(in srgb, var(--idds-primary) 42%, transparent) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--idds-primary) 12%, transparent) !important;
}
body.skin-magz .firstbar .search .form-control {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    height: 46px;
    font-size: .9rem;
    font-family: var(--hz-font);
}
body.skin-magz .firstbar .search .btn,
body.skin-magz .firstbar .search .input-group-btn .btn {
    width: 50px;
    height: 46px;
    border-radius: 0 9px 9px 0 !important;
    background: var(--idds-primary) !important;
    box-shadow: none !important;
}

body.skin-magz .firstbar .gov-ident {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .35rem;
}
body.skin-magz .firstbar .gov-ident__badge {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .28rem .65rem;
    border-radius: 6px;
    background: color-mix(in srgb, var(--idds-primary) 94%, #0b1220);
    color: #fff !important;
    font-size: .62rem;
    font-weight: 650;
    letter-spacing: .05em;
    text-transform: uppercase;
    box-shadow: none;
    border: 1px solid color-mix(in srgb, #fff 12%, transparent);
}
body.skin-magz .firstbar .gov-ident__date {
    font-size: .7rem;
    font-weight: 500;
    color: #64748b;
    letter-spacing: 0;
}

@media (max-width: 991.98px) {
    body.skin-magz .firstbar__grid { grid-template-columns: 1fr; min-height: 0; }
    body.skin-magz .firstbar .gov-ident {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        width: 100%;
    }
}
@media (max-width: 575.98px) {
    body.skin-magz .firstbar .brand__link { gap: .7rem; }
    body.skin-magz .firstbar .brand__mark { width: 52px; height: 52px; border-radius: 14px; }
    body.skin-magz .firstbar .brand__logo { height: 40px !important; max-width: 40px !important; max-height: 40px !important; }
    body.skin-magz .firstbar .brand__name { font-size: .95rem !important; line-height: 1.18 !important; }
}

/* Keep lockup intact even if hl-center/stacked is set */
body.hl-center .firstbar .brand__link,
body.hl-stacked .firstbar .brand__link,
body.ly-center .firstbar .brand__link {
    flex-direction: row !important;
    align-items: center !important;
}

/* Nav — solid command bar */
body.skin-magz nav.menu {
    position: relative;
    background:
        linear-gradient(180deg, color-mix(in srgb, #fff 6%, transparent), transparent 42%),
        var(--hz-ink) !important;
    border-bottom: 0 !important;
    box-shadow: 0 10px 28px rgba(11, 18, 32, .18);
}
body.skin-magz nav.menu::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 2px;
    background: var(--hz-rail);
}
body.skin-magz nav.menu .nav-list > li > a {
    color: rgba(255, 255, 255, .9) !important;
    border-radius: 8px;
    font-family: var(--hz-font);
    font-weight: 600;
    font-size: .875rem;
    letter-spacing: 0;
    padding-inline: .9rem;
    transition: background .18s var(--hz-ease), color .18s var(--hz-ease);
}
body.skin-magz nav.menu .nav-list > li > a:hover,
body.skin-magz nav.menu .nav-list > li.active > a,
body.skin-magz nav.menu .nav-list > li > a:focus {
    background: rgba(255, 255, 255, .1) !important;
    color: #fff !important;
    box-shadow: inset 0 -2px 0 var(--idds-accent, #a67c2a);
}
body.skin-magz nav.menu.is-scrolled {
    box-shadow: 0 16px 40px rgba(14, 22, 38, .22);
}

/* Hide duplicate nav logo when modern masthead is present */
body.skin-magz .firstbar--aether ~ nav.menu > .container > .brand {
    display: none !important;
}
@media (min-width: 992px) {
    body.skin-magz:not(.hl-inline) nav.menu > .container > .brand { display: none !important; }
}

/* ========================================================================
   CONTENT — architectural surfaces for every dinas
   ======================================================================== */
body.skin-magz .line.top > div,
body.skin-magz .showcase-intro__title,
body.skin-magz .civic-hero__title,
body.skin-magz .agency-band__title,
body.skin-magz article.featured .details h2 a,
body.skin-magz .best-of-the-week h1,
body.skin-magz .aside-title {
    font-family: var(--hz-font);
    letter-spacing: -.01em;
    font-weight: 700;
}
body.skin-magz .line.top > div::after {
    background: var(--idds-primary) !important;
    height: 3px !important;
    width: 40px !important;
    border-radius: 2px;
}

/* Hero carousel — framed plane */
body.skin-magz #carouselExampleIndicators.carousel,
body.skin-magz section.home.top > .carousel {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--fx-glow);
    border: 1px solid color-mix(in srgb, var(--idds-primary) 10%, transparent);
}
body.skin-magz .carousel-caption {
    left: 1.25rem;
    right: auto;
    bottom: 1.25rem;
    max-width: min(520px, 86%);
    padding: .85rem 1.1rem;
    border-radius: 12px;
    background: color-mix(in srgb, var(--hz-ink) 72%, transparent);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    text-align: left;
}

/* Cards */
body.skin-magz .article:not(.main-article) .inner,
body.skin-magz article.article-list .inner {
    position: relative;
    overflow: hidden;
    border-radius: 14px !important;
    background: #fff !important;
    border: 1px solid color-mix(in srgb, var(--idds-primary) 9%, #dbe1ea) !important;
    box-shadow: 0 1px 0 rgba(14, 22, 38, .03);
    transition: transform .28s var(--hz-ease), box-shadow .28s var(--hz-ease), border-color .28s var(--hz-ease);
}
body.skin-magz .article:not(.main-article) .inner::before {
    content: "";
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 3px;
    background: var(--idds-primary);
    opacity: 0;
    transition: opacity .28s var(--hz-ease);
    z-index: 2;
}
body.skin-magz .article:not(.main-article) .inner:hover {
    transform: translateY(-2px);
    box-shadow: var(--fx-glow);
    border-color: color-mix(in srgb, var(--idds-primary) 22%, transparent) !important;
}
body.skin-magz .article:not(.main-article) .inner:hover::before { opacity: 1; }
body.skin-magz .article:not(.main-article) .inner figure img {
    transition: transform .5s var(--hz-ease);
}
body.skin-magz .article:not(.main-article) .inner:hover figure img { transform: scale(1.03); }

body.skin-magz article.featured {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--fx-glow);
}
body.skin-magz .padding .detail .category a,
body.skin-magz article.featured .details .category a,
body.skin-magz article.article-list .category a {
    border-radius: 6px !important;
    font-family: var(--hz-font);
    letter-spacing: .03em;
}

/* Portal tiles */
body.skin-magz .portal-services__item,
body.skin-magz .grid-stats__item {
    border-radius: 14px;
    background: #fff;
    border: 1px solid color-mix(in srgb, var(--idds-primary) 10%, #dbe1ea);
    transition: transform .28s var(--hz-ease), box-shadow .28s var(--hz-ease), border-color .28s var(--hz-ease);
}
body.skin-magz .portal-services__item:hover,
body.skin-magz .grid-stats__item:hover {
    transform: translateY(-2px);
    box-shadow: var(--fx-glow);
    border-color: color-mix(in srgb, var(--idds-primary) 24%, transparent);
}
body.skin-magz .portal-services__ico {
    border-radius: 12px;
    background: color-mix(in srgb, var(--idds-primary) 9%, #fff);
    color: var(--idds-primary);
}

/* Category chips */
body.skin-magz .cat-nav .cat-nav__item,
body.skin-magz .cat-nav--chip .cat-nav__item {
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--idds-primary) 16%, transparent) !important;
    background: #fff !important;
    font-weight: 600;
    transition: transform .2s var(--hz-ease), background .2s var(--hz-ease), color .2s var(--hz-ease);
}
body.skin-magz .cat-nav .cat-nav__item:hover {
    transform: translateY(-2px);
    background: color-mix(in srgb, var(--idds-primary) 8%, #fff) !important;
    color: var(--idds-primary) !important;
}

/* Layout bands keep personality per preset */
body.ly-agency .agency-band {
    border-radius: 16px;
    background: linear-gradient(125deg, var(--hz-ink), color-mix(in srgb, var(--idds-primary) 80%, #000));
    color: #fff;
}
body.ly-mosaic .mosaic-ribbon {
    background: linear-gradient(105deg, var(--idds-primary), color-mix(in srgb, var(--idds-accent) 60%, var(--idds-primary)));
    color: #fff;
}
body.ly-showcase .showcase-intro {
    border-radius: 18px;
    border: 1px solid color-mix(in srgb, var(--idds-primary) 12%, transparent);
    background: #fff;
}
body.ly-civic .civic-hero {
    border-radius: 16px;
    border: 1px solid color-mix(in srgb, var(--idds-primary) 14%, transparent);
}
body.ly-portal .container-content {
    background: color-mix(in srgb, #fff 86%, transparent);
    border-radius: 18px;
    padding: 1.25rem 1.35rem 1.75rem;
}
body.ly-boxed .container-content {
    background: #fff;
    border-radius: 18px;
    box-shadow: var(--fx-glow);
    padding: 1.25rem 1.5rem 2rem;
}

/* Leaders */
body.skin-magz .leaders-band { position: relative; }
body.skin-magz .leaders-band::before {
    content: "";
    position: absolute;
    inset: -4% 12% auto;
    height: 100px;
    background: radial-gradient(ellipse at center, color-mix(in srgb, var(--idds-accent) 16%, transparent), transparent 70%);
    pointer-events: none;
}

/* Sidebar widgets */
body.skin-magz .sidebar .block,
body.skin-magz .sidebar .widget {
    border-radius: 14px;
    background: #fff;
    border: 1px solid color-mix(in srgb, var(--idds-primary) 8%, #dbe1ea);
    border-top: 3px solid var(--idds-primary);
    box-shadow: 0 6px 18px rgba(14, 22, 38, .04);
}

/* Buttons */
body.skin-magz .btn-primary {
    background: var(--idds-primary) !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-weight: 700;
}
body.skin-magz .btn-primary:hover { filter: brightness(1.06); }

/* Footer */
body.skin-magz footer.footer {
    position: relative;
    background: var(--hz-ink) !important;
    color: rgba(255, 255, 255, .82) !important;
}
body.skin-magz footer.footer::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 2px;
    background: var(--hz-rail);
}
body.skin-magz footer.footer a { color: rgba(255, 255, 255, .88) !important; }
body.skin-magz footer.footer a:hover { color: #fff !important; }
body.skin-magz footer.footer h1,
body.skin-magz footer.footer .aside-title,
body.skin-magz footer.footer .block h1 {
    color: #fff !important;
    font-family: var(--hz-font);
}

/* Induk Tanggamus — gold dignity */
body.preset-tanggamus .firstbar::before {
    background: linear-gradient(180deg, #a67c2a, #1a365d);
}
body.preset-tanggamus .firstbar .brand__mark::after { display: none; }
body.preset-tanggamus nav.menu { background: #101826 !important; }

/* Flagship skins — quiet personality */
body.skin-kominfo .portal-services__ico { background: #ecfeff; color: #0e7490; }
body.skin-asri .portal-services__ico { background: #f0fdf4; color: #15803d; }
body.skin-senja .portal-services__ico { background: #fff1f2; color: #9f1239; }

/* Split header readability */
body.hd-split .firstbar {
    background: linear-gradient(180deg, var(--idds-primary), color-mix(in srgb, var(--idds-primary) 75%, #000)) !important;
}
body.hd-split .firstbar .brand__kicker { color: rgba(255, 255, 255, .7); }
body.hd-split .firstbar .brand__name { color: #fff !important; }
body.hd-split .firstbar .gov-ident__date { color: rgba(255, 255, 255, .75); }
body.hd-split .firstbar .brand__mark {
    background: rgba(255, 255, 255, .12) !important;
    border-color: rgba(255, 255, 255, .25);
}

/* Motion */
body.skin-magz .idds-reveal {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .55s var(--hz-ease), transform .55s var(--hz-ease);
}
body.skin-magz .idds-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
    body.skin-magz .idds-reveal { opacity: 1; transform: none; transition: none; }
    body.skin-magz .article:not(.main-article) .inner:hover,
    body.skin-magz .portal-services__item:hover { transform: none; }
}

/* ========================================================================
   HORIZON DNA — modern base + distinct per-dinas chrome (hd-*/bg-*/ly-*)
   ======================================================================== */

/* Default nav: ink command bar (overridden by hd-* below) */
body.skin-magz nav.menu {
    background:
        linear-gradient(180deg, color-mix(in srgb, #fff 7%, transparent), transparent 40%),
        var(--hz-ink) !important;
    box-shadow: 0 12px 30px rgba(11, 18, 32, .18) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Distinct header treatments — warna dinas (solid primary, accent as stripe only) */
body.skin-magz.hd-solid nav.menu {
    background: var(--idds-primary) !important;
    box-shadow: 0 10px 28px color-mix(in srgb, var(--idds-primary) 28%, transparent),
        inset 0 -3px 0 var(--idds-accent, var(--idds-primary)) !important;
}
body.skin-magz.hd-bar nav.menu {
    background: var(--idds-primary) !important;
    box-shadow: inset 0 -3px 0 var(--idds-accent, #fff), 0 12px 30px color-mix(in srgb, var(--idds-primary) 22%, transparent) !important;
}
body.skin-magz.hd-glass nav.menu {
    background: color-mix(in srgb, var(--idds-primary) 92%, #0b1220) !important;
    backdrop-filter: saturate(1.2) blur(12px) !important;
    -webkit-backdrop-filter: saturate(1.2) blur(12px) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 12px 30px color-mix(in srgb, var(--idds-primary) 22%, transparent) !important;
}
body.skin-magz.hd-underline nav.menu {
    background: var(--idds-primary) !important;
    box-shadow: inset 0 -4px 0 var(--idds-accent, #fff), 0 12px 30px color-mix(in srgb, var(--idds-primary) 22%, transparent) !important;
}
body.skin-magz.hd-split .firstbar {
    background: var(--idds-primary) !important;
}
body.skin-magz.hd-split .firstbar .brand__kicker { color: rgba(255,255,255,.72) !important; }
body.skin-magz.hd-split .firstbar .brand__name { color: #fff !important; }
body.skin-magz.hd-split .firstbar .gov-ident__date { color: rgba(255,255,255,.8) !important; }
body.skin-magz.hd-split .firstbar .brand__mark {
    background: rgba(255,255,255,.12) !important;
}
body.skin-magz.hd-split nav.menu {
    background: color-mix(in srgb, var(--idds-primary) 78%, #000) !important;
}

/* Portal tiles — micro-futurism: hairline rail + soft icon well */
body.skin-magz .portal-services__item,
body.skin-magz .grid-stats__item {
    position: relative;
    border-radius: var(--idds-radius-md, 12px) !important;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--idds-primary) 4%, #fff), #fff) !important;
    border: 1px solid color-mix(in srgb, var(--idds-primary) 12%, #d7dee8) !important;
    border-top: 2px solid var(--idds-primary) !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset, 0 6px 16px rgba(11, 18, 32, .04);
}
body.skin-magz .portal-services__item:hover,
body.skin-magz .grid-stats__item:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--idds-primary) 28%, #d7dee8) !important;
    box-shadow: 0 12px 28px rgba(11, 18, 32, .08);
}
body.skin-magz .portal-services__ico {
    border-radius: 10px !important;
    background: color-mix(in srgb, var(--idds-primary) 10%, #fff) !important;
    color: var(--idds-primary) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--idds-primary) 12%, transparent);
}

/* Category chips follow shape DNA */
body.skin-magz .cat-nav .cat-nav__item,
body.skin-magz .cat-nav--chip .cat-nav__item {
    border-radius: var(--idds-radius-md, 8px) !important;
    font-size: .82rem;
    letter-spacing: 0;
}
body.skin-magz.cs-pill .cat-nav .cat-nav__item { border-radius: 999px !important; }
body.skin-magz.cs-sharp .cat-nav .cat-nav__item,
body.skin-magz.cs-sharp .portal-services__item { border-radius: 2px !important; }

/* Tone bold — stronger brand presence */
body.skin-magz.tn-bold .portal-services__item {
    box-shadow: 0 8px 22px color-mix(in srgb, var(--idds-primary) 14%, transparent) !important;
    border-top-width: 3px !important;
}
body.skin-magz.tn-bold .article:not(.main-article) .inner {
    border-color: color-mix(in srgb, var(--idds-primary) 18%, transparent) !important;
}
body.skin-magz.tn-tint {
    --idds-bg: color-mix(in srgb, var(--idds-primary) 6%, var(--hz-paper, #f2f5f9));
}

/* Content frame — layout-specific */
body.skin-magz .container-content { position: relative; }
body.skin-magz.ly-portal .container-content,
body.skin-magz.ly-boxed .container-content {
    background: color-mix(in srgb, #fff 92%, var(--idds-primary)) !important;
    border: 1px solid color-mix(in srgb, var(--idds-primary) 8%, transparent);
    box-shadow: 0 10px 30px rgba(11, 18, 32, .04);
}
body.skin-magz.ly-magazine .container-content {
    border-left: 3px solid var(--idds-primary);
    padding-left: .5rem;
}
body.skin-magz.ly-editorial .line.top > div {
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: -.02em;
}
body.skin-magz.ly-grid .portal-services { gap: .55rem; }
body.skin-magz.ly-grid .portal-services__item { border-radius: 4px !important; }
body.skin-magz.ly-center .container-content > .row { justify-content: center; }

/* Agency / mosaic bands — brand-forward */
body.skin-magz.ly-agency .agency-band {
    background: linear-gradient(135deg, var(--hz-ink), color-mix(in srgb, var(--idds-primary) 55%, #000)) !important;
}
body.skin-magz.ly-mosaic .mosaic-ribbon {
    background: linear-gradient(110deg, var(--idds-primary), color-mix(in srgb, var(--idds-accent, var(--idds-primary)) 55%, var(--idds-primary))) !important;
}

/* Carousel — clean frame */
body.skin-magz #carouselExampleIndicators.carousel,
body.skin-magz section.home.top > .carousel {
    border-radius: var(--idds-radius-lg, 14px) !important;
    border: 1px solid color-mix(in srgb, var(--idds-primary) 10%, transparent);
    box-shadow: 0 12px 32px rgba(11, 18, 32, .08);
}

body.skin-magz ::selection {
    background: color-mix(in srgb, var(--idds-primary) 22%, transparent);
}
