/* ARTESA Elementor article-template layer (v0.13.3). */
body.single-post {
    --artesa-article-blue: #024ad8;
    --artesa-article-cyan: #24bdcc;
    --artesa-article-ink: #101820;
    --artesa-article-muted: #65717c;
    --artesa-article-soft: #f4f8fb;
    --artesa-article-line: #dce6ec;
}

/*
 * The custom PHP shell is unique to ARTESA article templates, so these
 * layout rules deliberately do not depend on Astra body classes. Astra may
 * otherwise keep #primary in its normal floated/content-column geometry.
 */
#primary.artesa-article-template-shell {
    border: 0 !important;
    box-sizing: border-box;
    float: none !important;
    margin: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    width: 100% !important;
}

#primary.artesa-article-template-shell > .site-main {
    box-sizing: border-box;
    margin: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    width: 100% !important;
}

.artesa-elementor-template-render {
    box-sizing: border-box;
    margin: 0;
    max-width: none;
    padding: 0;
    width: 100%;
}

/*
 * Elementor's saved-template HTML can differ slightly between Elementor
 * releases. v0.13.1 assumed one exact wrapper chain. Here the render root
 * itself becomes the centering context, and any top-level Elementor
 * container is centered regardless of whether Elementor inserts its
 * data-elementor-type wrapper.
 */
.artesa-elementor-template-render > .elementor,
.artesa-elementor-template-render > [data-elementor-type] {
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    margin: 0;
    max-width: none;
    width: 100% !important;
}

.artesa-elementor-template-render > .elementor > .e-con.e-parent,
.artesa-elementor-template-render > [data-elementor-type] > .e-con.e-parent,
.artesa-elementor-template-render > .elementor > .elementor-section-wrap > .elementor-section,
.artesa-elementor-template-render > [data-elementor-type] > .elementor-section-wrap > .elementor-section,
.artesa-elementor-template-render > .elementor > .elementor-section,
.artesa-elementor-template-render > [data-elementor-type] > .elementor-section {
    box-sizing: border-box;
    margin-left: auto !important;
    margin-right: auto !important;
}

/*
 * Flexbox containers use --width for the value selected in Elementor's
 * "Width" control. Applying it here makes a 1200px root actually occupy
 * 1200px and center, while a 100% root remains full-width.
 */
.artesa-elementor-template-render > .elementor > .e-con.e-parent,
.artesa-elementor-template-render > [data-elementor-type] > .e-con.e-parent {
    max-width: min(100%, var(--width, 1200px)) !important;
    width: min(100%, var(--width, 1200px)) !important;
}

@media (max-width: 1220px) {
    .artesa-elementor-template-render > .elementor > .e-con.e-parent,
    .artesa-elementor-template-render > [data-elementor-type] > .e-con.e-parent {
        max-width: calc(100% - 32px) !important;
        width: calc(100% - 32px) !important;
    }
}

.artesa-article-widget-notice {
    background: #f4f8fb;
    border: 1px dashed #b8c8d4;
    color: #52606d;
    padding: 16px;
}

.artesa-article-header {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    max-width: 900px;
}

.artesa-article-header__title {
    color: var(--artesa-article-ink);
    font-family: Montserrat, sans-serif;
    font-size: clamp(34px, 5vw, 60px);
    letter-spacing: -.025em;
    line-height: 1.07;
    margin: 0;
}

.artesa-article-header__meta {
    color: var(--artesa-article-muted);
    font-size: 14px;
    margin-top: 14px;
}

.artesa-article-header__separator {
    display: inline-block;
    padding: 0 .35em;
}

.elementor-widget-artesa_article_author .artesa-article-author,
.artesa-article-template-fallback .artesa-article-author {
    align-items: center;
    display: flex;
    gap: 11px;
    margin: 0;
}

.elementor-widget-artesa_article_author .artesa-article-author__photo,
.elementor-widget-artesa_article_author .artesa-article-author__avatar,
.artesa-article-template-fallback .artesa-article-author__photo,
.artesa-article-template-fallback .artesa-article-author__avatar {
    border-radius: 50%;
    display: block;
    height: 48px;
    width: 48px;
}

.elementor-widget-artesa_article_author .artesa-article-author__avatar,
.artesa-article-template-fallback .artesa-article-author__avatar {
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px var(--artesa-article-line);
    object-fit: cover;
}

.elementor-widget-artesa_article_author .artesa-article-author__name,
.artesa-article-template-fallback .artesa-article-author__name {
    color: var(--artesa-article-ink);
    font-size: 15px;
    font-weight: 700;
}

.artesa-article-content-widget {
    --artesa-copy-width: 820px;
    --artesa-media-width: 1120px;
    display: flow-root;
    box-sizing: border-box;
    color: var(--artesa-article-ink);
    font-size: clamp(17px, 1.45vw, 19px);
    line-height: 1.72;
    margin-left: auto;
    margin-right: auto;
    max-width: 1180px;
    width: 100%;
}

body.single-post article.post.artesa-article-content-widget .entry-content {
    margin: 0;
    max-width: none;
    width: 100%;
}

body.single-post article.post.artesa-article-content-widget .artesa-text,
body.single-post article.post.artesa-article-content-widget .entry-content > p,
body.single-post article.post.artesa-article-content-widget .entry-content > h2,
body.single-post article.post.artesa-article-content-widget .entry-content > h3,
body.single-post article.post.artesa-article-content-widget .entry-content > h4,
body.single-post article.post.artesa-article-content-widget .entry-content > ul,
body.single-post article.post.artesa-article-content-widget .entry-content > ol,
body.single-post article.post.artesa-article-content-widget .entry-content > blockquote,
body.single-post article.post.artesa-article-content-widget .entry-content > .wp-block-quote {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    max-width: var(--artesa-copy-width);
    width: 100%;
}

body.single-post article.post.artesa-article-content-widget .artesa-image,
body.single-post article.post.artesa-article-content-widget .entry-content > .wp-block-image,
body.single-post article.post.artesa-article-content-widget .entry-content > .wp-block-gallery,
body.single-post article.post.artesa-article-content-widget .entry-content > .wp-block-video,
body.single-post article.post.artesa-article-content-widget .entry-content > .wp-block-embed,
body.single-post article.post.artesa-article-content-widget .entry-content > .artesa-video,
body.single-post article.post.artesa-article-content-widget .entry-content > .artesa-gallery,
body.single-post article.post.artesa-article-content-widget .entry-content > .artesa-import-slider,
body.single-post article.post.artesa-article-content-widget .artesa-carousel {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    max-width: var(--artesa-media-width);
    width: 100%;
}

body.single-post article.post.artesa-article-content-widget .artesa-import-row {
    box-sizing: border-box;
    max-width: 100%;
}

body.single-post article.post.artesa-article-content-widget blockquote,
body.single-post article.post.artesa-article-content-widget .wp-block-quote {
    border-left-color: var(--artesa-article-cyan);
}

.artesa-article-template-fallback {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1180px;
    padding: clamp(28px, 5vw, 72px) 20px;
}

.artesa-article-template-fallback .artesa-article-header,
.artesa-article-template-fallback .artesa-article-author,
.artesa-article-template-fallback > .entry-content {
    margin-left: auto;
    margin-right: auto;
    max-width: 820px;
}

.artesa-article-template-fallback .artesa-article-author {
    margin-bottom: 28px;
    margin-top: 22px;
}

@media (max-width: 640px) {
    .artesa-article-header__title {
        font-size: clamp(30px, 9vw, 42px);
    }

    .artesa-article-content-widget {
        --artesa-copy-width: 100%;
        --artesa-media-width: 100%;
    }
}


/* Previous / Timeline / Next article navigation. */
.artesa-article-navigation {
    align-items: stretch;
    border-top: 1px solid var(--artesa-article-line);
    box-sizing: border-box;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    margin: clamp(42px, 6vw, 72px) auto 0;
    max-width: 1120px;
    padding: 28px 0 0;
    width: 100%;
}

.artesa-article-navigation__slot {
    min-width: 0;
}

.artesa-article-navigation__slot--timeline {
    align-items: center;
    display: flex;
    justify-content: center;
}

.artesa-article-navigation__slot--next {
    text-align: right;
}

.artesa-article-navigation__link {
    color: inherit;
    display: inline-flex;
    flex-direction: column;
    gap: 6px;
    max-width: 100%;
    text-decoration: none;
}

.artesa-article-navigation__label {
    color: var(--artesa-article-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.3;
    text-transform: uppercase;
}

.artesa-article-navigation__title {
    color: var(--artesa-article-ink);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
}

.artesa-article-navigation__link:hover .artesa-article-navigation__title,
.artesa-article-navigation__link:focus-visible .artesa-article-navigation__title {
    color: var(--artesa-article-blue);
}

.artesa-article-navigation__timeline {
    background: var(--artesa-article-soft);
    border-radius: 999px;
    color: var(--artesa-article-blue);
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    padding: 12px 16px;
    text-decoration: none;
    white-space: nowrap;
}

.artesa-article-navigation__timeline:hover,
.artesa-article-navigation__timeline:focus-visible {
    background: #e8fafd;
    color: var(--artesa-article-blue);
}

@media (max-width: 767px) {
    .artesa-article-navigation {
        gap: 20px;
        grid-template-columns: 1fr;
        padding-top: 22px;
    }

    .artesa-article-navigation__slot--timeline {
        justify-content: flex-start;
        order: 2;
    }

    .artesa-article-navigation__slot--previous {
        order: 1;
    }

    .artesa-article-navigation__slot--next {
        order: 3;
        text-align: left;
    }

    .artesa-article-navigation__link {
        width: 100%;
    }
}

/* v0.14.0 — modular editorial system. */
.artesa-article-header {
    max-width: 980px;
}
.artesa-article-header__categories {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}
.artesa-article-header__category,
.artesa-section-label {
    background: #e8fafd;
    border-radius: 999px;
    color: #075cb8;
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    padding: 8px 12px;
    text-decoration: none;
}
.artesa-article-header__category {
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
}
.artesa-article-header__category:hover,
.artesa-article-header__category:focus-visible {
    background: var(--artesa-article-blue);
    color: #fff;
    transform: translateY(-1px);
}
.artesa-article-header__excerpt {
    color: #435262;
    font-size: clamp(17px, 1.45vw, 20px);
    line-height: 1.55;
    margin-top: 20px;
    max-width: 760px;
}
.artesa-article-header__excerpt p:last-child { margin-bottom: 0; }

.artesa-editorial-block {
    box-sizing: border-box;
    margin: clamp(34px, 5vw, 68px) auto;
    width: 100%;
}
.artesa-section-label { margin-bottom: 12px; }
.artesa-editorial-text { max-width: 820px; }
.artesa-editorial-text__heading,
.artesa-editorial-split__heading,
.artesa-editorial-gallery__heading,
.artesa-editorial-video__heading {
    color: var(--artesa-article-ink);
    font-family: Montserrat, sans-serif;
    font-size: clamp(25px, 3vw, 38px);
    letter-spacing: -.015em;
    line-height: 1.18;
    margin: 0 0 16px;
}
.artesa-editorial-text__body,
.artesa-editorial-split__text {
    color: var(--artesa-article-ink);
    font-size: clamp(17px, 1.35vw, 19px);
    line-height: 1.72;
}
.artesa-editorial-text__body > *:last-child,
.artesa-editorial-split__text > *:last-child { margin-bottom: 0; }

.artesa-editorial-media { max-width: 1120px; }
.artesa-editorial-media__visual,
.artesa-editorial-split__visual,
.artesa-editorial-video__frame {
    border-radius: 16px;
    overflow: hidden;
}
.artesa-editorial-media__visual img,
.artesa-editorial-split__visual img {
    display: block;
    height: auto;
    width: 100%;
}
.artesa-editorial-media__video,
.artesa-editorial-split__video,
.artesa-editorial-video__frame {
    aspect-ratio: 16 / 9;
    background: #071c28;
}
.artesa-editorial-media__video iframe,
.artesa-editorial-split__video iframe,
.artesa-editorial-video__frame iframe,
.artesa-editorial-video__frame video {
    border: 0;
    height: 100%;
    width: 100%;
}
.artesa-editorial-media__caption {
    color: var(--artesa-article-muted);
    font-size: 13px;
    line-height: 1.45;
    margin-top: 10px;
}

.artesa-editorial-split {
    --artesa-split-media: 50%;
    align-items: center;
    display: flex;
    gap: clamp(26px, 5vw, 64px);
    max-width: 1160px;
}
.artesa-editorial-split__copy {
    flex: 1 1 calc(100% - var(--artesa-split-media));
    min-width: 0;
}
.artesa-editorial-split__visual {
    flex: 0 1 var(--artesa-split-media);
    min-width: 0;
}
.artesa-editorial-split--media-left .artesa-editorial-split__visual { order: -1; }

.artesa-editorial-quote { max-width: 980px; }
.artesa-editorial-quote__box {
    align-items: flex-start;
    background: linear-gradient(135deg, rgba(36,189,204,.11), rgba(2,74,216,.055));
    border: 0;
    border-radius: 16px;
    display: grid;
    gap: 4px 22px;
    grid-template-columns: auto 1fr;
    margin: 0;
    padding: clamp(24px, 4vw, 38px);
}
.artesa-editorial-quote__mark {
    color: var(--artesa-article-blue);
    font-family: Georgia, serif;
    font-size: clamp(48px, 6vw, 76px);
    font-weight: 700;
    line-height: .85;
}
.artesa-editorial-quote__text {
    color: #17314b;
    font-size: clamp(20px, 2.2vw, 28px);
    font-style: italic;
    line-height: 1.45;
}
.artesa-editorial-quote__cite {
    color: var(--artesa-article-muted);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    grid-column: 2;
    margin-top: 10px;
}

.artesa-editorial-gallery { max-width: 1160px; }
.artesa-editorial-gallery__top {
    align-items: baseline;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-bottom: 16px;
}
.artesa-editorial-gallery__heading { margin-bottom: 0; }
.artesa-editorial-gallery__count {
    color: var(--artesa-article-muted);
    font-size: 13px;
    white-space: nowrap;
}
.artesa-editorial-gallery__grid {
    --artesa-gallery-columns: 4;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(var(--artesa-gallery-columns), minmax(0, 1fr));
}
.artesa-editorial-gallery__item {
    border-radius: 14px;
    display: block;
    overflow: hidden;
}
.artesa-editorial-gallery__thumb {
    aspect-ratio: 4 / 3;
    display: block;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
    width: 100%;
}
.artesa-editorial-gallery__item:hover .artesa-editorial-gallery__thumb,
.artesa-editorial-gallery__item:focus-visible .artesa-editorial-gallery__thumb { transform: scale(1.025); }
.artesa-editorial-video { max-width: 1120px; }

/* Imported galleries become compact thumbnail strips. Original proportions are shown in lightbox. */
body.single-post article.post .artesa-carousel--gallery .artesa-carousel__track,
body.single-post article.post.artesa-article-content-widget .artesa-carousel--gallery .artesa-carousel__track {
    gap: 12px !important;
    scroll-padding-inline: 0;
}
body.single-post article.post .artesa-carousel--gallery .artesa-carousel__slide,
body.single-post article.post.artesa-article-content-widget .artesa-carousel--gallery .artesa-carousel__slide {
    flex: 0 0 calc((100% - 36px) / 4) !important;
    min-width: calc((100% - 36px) / 4) !important;
}
body.single-post article.post .artesa-carousel--gallery .artesa-carousel__slide img,
body.single-post article.post.artesa-article-content-widget .artesa-carousel--gallery .artesa-carousel__slide img {
    aspect-ratio: 4 / 3 !important;
    border-radius: 14px;
    height: auto !important;
    object-fit: cover !important;
    width: 100%;
}
body.single-post article.post .artesa-carousel--gallery .artesa-carousel__controls {
    justify-content: center;
}

/* Per-article imported-media overrides configured in the Content widget. */
.artesa-article-content-widget .artesa-media-narrow { max-width: min(100%, 720px) !important; }
.artesa-article-content-widget .artesa-media-wide { max-width: min(100%, 1180px) !important; }
.artesa-article-content-widget .artesa-media-float-left,
.artesa-article-content-widget .artesa-media-float-right {
    clear: none !important;
    max-width: var(--artesa-media-float-width, 48%) !important;
    width: var(--artesa-media-float-width, 48%) !important;
}
.artesa-article-content-widget .artesa-media-float-left {
    float: left !important;
    margin: .35em clamp(22px, 4vw, 48px) 1.2em 0 !important;
}
.artesa-article-content-widget .artesa-media-float-right {
    float: right !important;
    margin: .35em 0 1.2em clamp(22px, 4vw, 48px) !important;
}
.artesa-article-content-widget .artesa-text--wrap-media {
    clear: none !important;
    max-width: var(--artesa-copy-width) !important;
}
body.elementor-editor-active .artesa-article-content-widget [data-artesa-media-index] { position: relative; }
body.elementor-editor-active .artesa-article-content-widget [data-artesa-media-index]::before {
    background: #024ad8;
    border-radius: 999px;
    color: #fff;
    content: 'Media #' attr(data-artesa-media-index);
    font: 700 11px/1 sans-serif;
    left: 8px;
    padding: 6px 8px;
    position: absolute;
    top: 8px;
    z-index: 15;
}

/* Gallery lightbox. */
body.artesa-lightbox-open { overflow: hidden; }
.artesa-lightbox[hidden] { display: none; }
.artesa-lightbox {
    align-items: center;
    background: rgba(3, 12, 24, .92);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 24px;
    position: fixed;
    z-index: 999999;
}
.artesa-lightbox__dialog {
    align-items: center;
    display: grid;
    gap: 16px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: minmax(0, 1fr) auto;
    height: min(92vh, 960px);
    max-width: 1320px;
    position: relative;
    width: min(96vw, 1320px);
}
.artesa-lightbox__stage {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    min-height: 0;
}
.artesa-lightbox__image {
    border-radius: 12px;
    max-height: calc(100% - 34px);
    max-width: 100%;
    object-fit: contain;
}
.artesa-lightbox__counter { color: #fff; font-size: 13px; margin-top: 10px; opacity: .82; }
.artesa-lightbox__nav,
.artesa-lightbox__close {
    align-items: center;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-size: 22px;
    height: 48px;
    justify-content: center;
    width: 48px;
}
.artesa-lightbox__close { position: absolute; right: 0; top: 0; z-index: 3; }
.artesa-lightbox__thumbs {
    display: flex;
    gap: 8px;
    grid-column: 1 / -1;
    justify-content: center;
    overflow-x: auto;
}
.artesa-lightbox__thumb {
    background: transparent;
    border: 2px solid transparent;
    border-radius: 8px;
    cursor: pointer;
    flex: 0 0 72px;
    height: 54px;
    overflow: hidden;
    padding: 0;
}
.artesa-lightbox__thumb.is-active { border-color: #24bdcc; }
.artesa-lightbox__thumb img { height: 100%; object-fit: cover; width: 100%; }

/* Category archive: same visual language as "Proiecte finalizate". */
#primary.artesa-category-shell {
    background: #fff;
    float: none !important;
    margin: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    width: 100% !important;
}
.artesa-category-archive {
    --artesa-category-blue: #024ad8;
    --artesa-category-cyan: #24bdcc;
    --artesa-category-ink: #101820;
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1200px;
    padding: 32px 0 80px;
    width: 100%;
}
.artesa-category-archive__header { margin: 0 0 8px; }
.artesa-category-archive__heading-row {
    align-items: flex-end;
    border-bottom: 1px solid var(--artesa-category-cyan);
    display: flex;
    gap: 24px;
    justify-content: space-between;
    padding-bottom: 32px;
}
.artesa-category-archive__title-block {
    min-width: 0;
}
.artesa-category-archive__eyebrow {
    color: var(--artesa-category-blue);
    font-family: Montserrat, sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0 0 7px;
    text-transform: uppercase;
}
.artesa-category-archive__heading-row h1 {
    color: var(--artesa-category-cyan);
    font-family: Montserrat, sans-serif;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.1;
    margin: 0;
}
.artesa-category-archive__back {
    align-items: center;
    background: var(--artesa-category-cyan);
    border: 1px solid var(--artesa-category-cyan);
    border-radius: 999px;
    color: #fff !important;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 600;
    gap: 5px;
    min-height: 36px;
    padding: 7px 14px;
    text-decoration: none !important;
    transition: background-color .2s ease, border-color .2s ease;
    white-space: nowrap;
}
.artesa-category-archive__back:hover,
.artesa-category-archive__back:focus-visible {
    background: var(--artesa-category-blue);
    border-color: var(--artesa-category-blue);
    color: #fff !important;
}
.artesa-category-archive__description {
    color: #52606d;
    font-size: 15px;
    line-height: 1.6;
    margin: 16px 0 18px;
    max-width: 820px;
}
.artesa-category-archive__description > :first-child { margin-top: 0; }
.artesa-category-archive__description > :last-child { margin-bottom: 0; }
.artesa-category-archive__grid {
    column-gap: 32px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.artesa-category-card {
    border-bottom: 1px solid var(--artesa-category-cyan);
    min-width: 0;
    position: relative;
}
.artesa-category-card__link {
    align-items: center;
    color: var(--artesa-category-ink) !important;
    display: grid;
    gap: 0;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: 160px;
    min-width: 0;
    padding: 10px;
    text-decoration: none !important;
    width: 100%;
}
.artesa-category-card__media {
    aspect-ratio: 16 / 9;
    background: #edf7fc;
    display: block;
    min-width: 0;
    overflow: hidden;
    position: relative;
    width: 100%;
}
.artesa-category-card__media img,
.artesa-category-card__media .artesa-project-card__placeholder {
    display: block;
    height: 100% !important;
    inset: 0;
    max-height: none !important;
    max-width: 100% !important;
    object-fit: cover;
    position: absolute;
    transition: transform .35s ease;
    width: 100% !important;
}
.artesa-category-card:hover .artesa-category-card__media img { transform: scale(1.025); }
.artesa-category-card__content {
    align-self: center;
    display: block;
    min-width: 0;
    overflow: hidden;
    padding: 0 0 0 14px;
}
.artesa-category-card__date {
    color: #52606d;
    display: block;
    font-family: Montserrat, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .035em;
    line-height: 1.35;
    margin-bottom: 7px;
    text-transform: uppercase;
}
.artesa-category-card__title {
    color: var(--artesa-category-ink);
    display: block;
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.18;
    overflow-wrap: anywhere;
}
.artesa-category-card__arrow { color: inherit; white-space: nowrap; }
.artesa-category-card__link:hover .artesa-category-card__title,
.artesa-category-card__link:focus-visible .artesa-category-card__title { color: var(--artesa-category-cyan); }
.artesa-category-archive__empty { margin: 30px 0 0; }
.artesa-category-archive__pagination { margin-top: 42px; }
.artesa-category-archive__pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}
.artesa-category-archive__pagination .page-numbers {
    align-items: center;
    background: #eaf2f7;
    border: 1px solid #cbdfe9;
    border-radius: 999px;
    color: #263746;
    display: inline-flex;
    justify-content: center;
    min-height: 38px;
    min-width: 38px;
    padding: 7px 12px;
    text-decoration: none !important;
}
.artesa-category-archive__pagination .page-numbers.current {
    background: var(--artesa-category-cyan);
    border-color: var(--artesa-category-cyan);
    color: #fff;
}
@media (max-width: 1240px) {
    .artesa-category-archive { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 900px) {
    .artesa-category-archive__grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .artesa-category-archive { padding: 26px 20px 58px; }
    .artesa-category-archive__heading-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
        padding-bottom: 24px;
    }
    .artesa-category-archive__heading-row h1 { font-size: 28px; }
    .artesa-category-archive__back { align-self: flex-start; }
    .artesa-category-card__link {
        display: block;
        min-height: 0;
        padding: 10px 0 16px;
    }
    .artesa-category-card__media {
        margin-bottom: 12px;
        width: 100%;
    }
    .artesa-category-card__content { padding: 0 4px; }
    .artesa-category-card__title { font-size: 16px; }
}

@media (max-width: 767px) {
    .artesa-editorial-split { display: flex; flex-direction: column; gap: 22px; }
    .artesa-editorial-split__copy,
    .artesa-editorial-split__visual { flex: 0 0 auto; width: 100%; }
    .artesa-editorial-split--media-left .artesa-editorial-split__visual { order: -1; }
    .artesa-editorial-gallery__grid { --artesa-gallery-columns: 2 !important; }
    body.single-post article.post .artesa-carousel--gallery .artesa-carousel__slide,
    body.single-post article.post.artesa-article-content-widget .artesa-carousel--gallery .artesa-carousel__slide {
        flex-basis: calc((100% - 12px) / 2) !important;
        min-width: calc((100% - 12px) / 2) !important;
    }
    .artesa-article-content-widget .artesa-media-float-left,
    .artesa-article-content-widget .artesa-media-float-right {
        float: none !important;
        margin: 28px auto !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    .artesa-lightbox { padding: 12px; }
    .artesa-lightbox__dialog { gap: 8px; grid-template-columns: 40px minmax(0,1fr) 40px; height: 94vh; width: 100%; }
    .artesa-lightbox__nav { height: 40px; width: 40px; }
    .artesa-lightbox__thumb { flex-basis: 56px; height: 42px; }
}

/* Optional all-in-one modern hero widget. */
.artesa-article-hero {
    --artesa-hero-image-width: 46%;
    align-items: center;
    box-sizing: border-box;
    display: flex;
    gap: clamp(28px, 5vw, 68px);
    margin: clamp(24px, 4vw, 54px) auto clamp(38px, 5vw, 68px);
    max-width: 1180px;
    width: 100%;
}
.artesa-article-hero__copy { flex: 1 1 auto; min-width: 0; }
.artesa-article-hero__image-wrap { border-radius: 18px; flex: 0 1 var(--artesa-hero-image-width); overflow: hidden; }
.artesa-article-hero__image { aspect-ratio: 4 / 3; display:block; height:auto; object-fit:cover; width:100%; }
.artesa-article-hero__categories { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.artesa-article-hero__category { background:#e8fafd; border-radius:999px; color:#075cb8; font-size:12px; font-weight:700; line-height:1; padding:8px 12px; text-decoration:none; }
.artesa-article-hero__category:hover,.artesa-article-hero__category:focus-visible { background:var(--artesa-article-blue); color:#fff; }
.artesa-article-hero__title { color:var(--artesa-article-ink); font-family:Montserrat,sans-serif; font-size:clamp(38px,5vw,64px); letter-spacing:-.03em; line-height:1.04; margin:0; }
.artesa-article-hero__excerpt { color:#435262; font-size:clamp(16px,1.3vw,19px); line-height:1.55; margin-top:18px; }
.artesa-article-hero__excerpt p:last-child { margin-bottom:0; }
.artesa-article-hero__date { color:var(--artesa-article-muted); display:block; font-size:13px; margin-top:18px; }
.artesa-article-hero .artesa-article-author { margin-top:18px; }
.artesa-article-hero--simple { display:block; max-width:980px; }
.artesa-article-hero--no-image { display:block; max-width:980px; }
@media (max-width:767px){
    .artesa-article-hero { align-items:stretch; flex-direction:column; }
    .artesa-article-hero__copy,.artesa-article-hero__image-wrap { flex:0 0 auto; width:100%; }
    .artesa-article-hero__title { font-size:clamp(34px,10vw,48px); }
}

/* v0.14.1 — hero source/position controls. */
.artesa-article-hero--image-left .artesa-article-hero__copy { order: 2; }
.artesa-article-hero--image-left .artesa-article-hero__image-wrap { order: 1; }
.artesa-article-hero--image-right .artesa-article-hero__copy { order: 1; }
.artesa-article-hero--image-right .artesa-article-hero__image-wrap { order: 2; }
.artesa-article-hero__image[style*="aspect-ratio: auto"],
:is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__image[style*="aspect-ratio: auto"] {
    height: auto;
    object-fit: contain;
}
@media (max-width:767px){
    .artesa-article-hero--image-left .artesa-article-hero__copy,
    .artesa-article-hero--image-right .artesa-article-hero__copy { order: 1; }
    .artesa-article-hero--image-left .artesa-article-hero__image-wrap,
    .artesa-article-hero--image-right .artesa-article-hero__image-wrap { order: 2; }
}

/* v0.14.2 — compact editorial hero. */
:is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero {
    --artesa-hero-image-width: 42%;
    align-items: center;
    background-color: #f5fbfd;
    border-radius: 24px;
    box-sizing: border-box;
    gap: clamp(28px, 3.5vw, 48px);
    margin: clamp(20px, 3vw, 36px) auto clamp(16px, 2vw, 28px);
    max-width: 1180px;
    padding: clamp(24px, 3vw, 40px);
    width: 100%;
}
:is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__copy {
    flex: 1 1 0;
    min-width: 0;
}
:is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__image-wrap {
    align-self: stretch;
    flex: 0 0 var(--artesa-hero-image-width);
    min-width: 0;
    width: var(--artesa-hero-image-width);
}
:is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__image {
    height: 100%;
    min-height: 100%;
    object-fit: cover;
}
:is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__categories {
    margin-bottom: 14px;
}
:is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__title {
    font-size: clamp(36px, 4.4vw, 58px);
    line-height: 1.03;
}
:is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__date {
    margin-top: 16px;
}
:is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-author {
    align-items: center;
    display: flex;
    gap: 10px;
    margin-top: 14px;
}
:is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-author__photo,
:is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-author__avatar {
    border-radius: 50%;
    display: block;
    height: 40px;
    width: 40px;
}
:is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-author__avatar {
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px var(--artesa-article-line);
    object-fit: cover;
}
:is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-author__name {
    color: var(--artesa-article-ink);
    font-size: 14px;
    font-weight: 700;
}
:is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero--simple,
:is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero--no-image {
    background-color: transparent;
    max-width: 980px;
    padding-left: 0;
    padding-right: 0;
}

@media (max-width: 767px) {
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero {
        gap: 22px;
        padding: 22px;
    }
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__copy,
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__image-wrap {
        flex: 0 0 auto;
        width: 100%;
    }
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__image-wrap {
        align-self: auto;
    }
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__image {
        height: auto;
        min-height: 0;
    }
}


/* v0.14.3 — content controls must behave identically in Elementor preview and on the live post. */
.artesa-article-content-widget {
    --artesa-content-max-width: 1180px;
    --artesa-copy-width: 820px;
    --artesa-media-width: 1120px;
    --artesa-content-text-color: #263746;
    --artesa-paragraph-gap: 14px;
    max-width: var(--artesa-content-max-width) !important;
}

/* Flatten legacy SitePad rows/columns inside the dynamic content widget in both
   Elementor preview and the public article. Custom two-column layouts belong to
   the dedicated ARTESA Split widget, not to the old SitePad grid. */
.artesa-article-content-widget .artesa-import-row,
.artesa-article-content-widget .artesa-import-col,
.artesa-article-content-widget [class*="artesa-col-"] {
    background-color: transparent !important;
    background-image: none !important;
    display: block !important;
    float: none !important;
    flex: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
}

.artesa-article-content-widget .entry-content {
    color: var(--artesa-content-text-color) !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

.artesa-article-content-widget .artesa-text,
.artesa-article-content-widget .entry-content > p,
.artesa-article-content-widget .entry-content > h2,
.artesa-article-content-widget .entry-content > h3,
.artesa-article-content-widget .entry-content > h4,
.artesa-article-content-widget .entry-content > ul,
.artesa-article-content-widget .entry-content > ol,
.artesa-article-content-widget .entry-content > blockquote,
.artesa-article-content-widget .entry-content > .wp-block-quote {
    box-sizing: border-box;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--artesa-copy-width) !important;
    width: 100% !important;
}

.artesa-article-content-widget .artesa-text,
.artesa-article-content-widget .artesa-text p,
.artesa-article-content-widget .artesa-text li,
.artesa-article-content-widget .entry-content > p,
.artesa-article-content-widget .entry-content > ul,
.artesa-article-content-widget .entry-content > ol,
.artesa-article-content-widget .entry-content li {
    color: var(--artesa-content-text-color) !important;
}

.artesa-article-content-widget .artesa-text p,
.artesa-article-content-widget .entry-content > p {
    margin-top: 0 !important;
    margin-bottom: var(--artesa-paragraph-gap) !important;
}
.artesa-article-content-widget .artesa-text p:last-child,
.artesa-article-content-widget .entry-content > p:last-child {
    margin-bottom: 0 !important;
}

.artesa-article-content-widget .artesa-image,
.artesa-article-content-widget .artesa-gallery,
.artesa-article-content-widget .artesa-carousel,
.artesa-article-content-widget .artesa-video,
.artesa-article-content-widget .artesa-embed,
.artesa-article-content-widget .artesa-import-slider,
.artesa-article-content-widget .wp-block-image,
.artesa-article-content-widget .wp-block-gallery,
.artesa-article-content-widget .wp-block-video,
.artesa-article-content-widget .wp-block-embed {
    box-sizing: border-box;
    clear: both;
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--artesa-media-width) !important;
    width: 100% !important;
}

/* Imported inline colors from SitePad must not defeat the Elementor text control. */
.artesa-article-content-widget .artesa-text p,
.artesa-article-content-widget .artesa-text span,
.artesa-article-content-widget .artesa-text strong,
.artesa-article-content-widget .artesa-text em {
    color: inherit !important;
}
.artesa-article-content-widget .artesa-text a {
    color: var(--artesa-article-blue) !important;
}

/* Elementor-only visual samples for controls that may not exist in the current
   preview article. The PHP renderer outputs this block only in editor mode. */
.artesa-content-style-preview {
    background: #f8fbfd;
    border: 1px dashed #b9cbd7;
    border-radius: 14px;
    box-sizing: border-box;
    margin: 36px auto 0;
    max-width: var(--artesa-copy-width);
    padding: 22px;
}
.artesa-content-style-preview__label {
    color: #65717c;
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    margin-bottom: 16px;
}
.artesa-content-style-preview h2 { margin-top: 0 !important; }
.artesa-content-style-preview blockquote { margin-bottom: 0 !important; }


/* v0.14.4 — semantic SitePad rows: real mixed media/text columns and compact section spacing. */
.artesa-article-content-widget {
    --artesa-mixed-media-width: 46%;
    --artesa-mixed-gap: 32px;
    --artesa-section-gap: 14px;
}

/* Reset SitePad's old row padding/margins in Elementor preview as well as on the live post. */
.artesa-article-content-widget .artesa-import-row {
    box-sizing: border-box;
    margin: 0 auto var(--artesa-section-gap) !important;
    padding: 0 !important;
    width: 100% !important;
}
.artesa-article-content-widget .artesa-import-row:last-child {
    margin-bottom: 0 !important;
}
.artesa-article-content-widget .artesa-import-col {
    box-sizing: border-box;
    margin: 0 !important;
    min-width: 0;
    padding: 0 !important;
}

/* Full-width legacy text and standalone media obey different width controls. */
.artesa-article-content-widget .artesa-import-row--text-only {
    max-width: var(--artesa-copy-width) !important;
}
.artesa-article-content-widget .artesa-import-row--media-only {
    max-width: var(--artesa-media-width) !important;
}
.artesa-article-content-widget .artesa-import-row--text-only .artesa-text,
.artesa-article-content-widget .artesa-import-row--media-only .artesa-image,
.artesa-article-content-widget .artesa-import-row--media-only .artesa-gallery,
.artesa-article-content-widget .artesa-import-row--media-only .artesa-carousel,
.artesa-article-content-widget .artesa-import-row--media-only .artesa-video,
.artesa-article-content-widget .artesa-import-row--media-only .artesa-embed,
.artesa-article-content-widget .artesa-import-row--media-only .artesa-import-slider {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Imported SitePad rows that originally had media beside text become a real grid. */
.artesa-article-content-widget.artesa-content-mixed--columns .artesa-import-row--mixed {
    align-items: start;
    display: grid !important;
    gap: var(--artesa-mixed-gap) !important;
    max-width: var(--artesa-content-max-width) !important;
}
.artesa-article-content-widget.artesa-content-mixed--columns .artesa-import-row--mixed.artesa-import-row--media-left {
    grid-template-columns: var(--artesa-mixed-media-width) minmax(0, 1fr);
}
.artesa-article-content-widget.artesa-content-mixed--columns .artesa-import-row--mixed.artesa-import-row--media-right {
    grid-template-columns: minmax(0, 1fr) var(--artesa-mixed-media-width);
}
.artesa-article-content-widget.artesa-content-mixed--columns .artesa-import-row--mixed > .artesa-import-col {
    display: block !important;
    max-width: none !important;
    width: auto !important;
}
.artesa-article-content-widget.artesa-content-mixed--columns .artesa-import-row--mixed .artesa-text,
.artesa-article-content-widget.artesa-content-mixed--columns .artesa-import-row--mixed .artesa-image,
.artesa-article-content-widget.artesa-content-mixed--columns .artesa-import-row--mixed .artesa-gallery,
.artesa-article-content-widget.artesa-content-mixed--columns .artesa-import-row--mixed .artesa-carousel,
.artesa-article-content-widget.artesa-content-mixed--columns .artesa-import-row--mixed .artesa-video,
.artesa-article-content-widget.artesa-content-mixed--columns .artesa-import-row--mixed .artesa-embed,
.artesa-article-content-widget.artesa-content-mixed--columns .artesa-import-row--mixed .artesa-import-slider {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Optional global stack mode, useful on unusual imported articles. */
.artesa-article-content-widget.artesa-content-mixed--stack .artesa-import-row--mixed {
    display: block !important;
    max-width: var(--artesa-content-max-width) !important;
}
.artesa-article-content-widget.artesa-content-mixed--stack .artesa-import-row--mixed > .artesa-import-col + .artesa-import-col {
    margin-top: var(--artesa-section-gap) !important;
}
.artesa-article-content-widget.artesa-content-mixed--stack .artesa-import-row--mixed .artesa-import-col--media {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--artesa-media-width) !important;
}
.artesa-article-content-widget.artesa-content-mixed--stack .artesa-import-row--mixed .artesa-import-col--text {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--artesa-copy-width) !important;
}

@media (max-width: 767px) {
    .artesa-article-content-widget.artesa-content-mixed--columns .artesa-import-row--mixed {
        display: block !important;
    }
    .artesa-article-content-widget.artesa-content-mixed--columns .artesa-import-row--mixed > .artesa-import-col + .artesa-import-col {
        margin-top: var(--artesa-section-gap) !important;
    }
}

/* Live single-post specificity: override the older compatibility flattening rules. */
body.single-post article.post.artesa-article-content-widget .artesa-import-row {
    margin: 0 auto var(--artesa-section-gap) !important;
    padding: 0 !important;
}
body.single-post article.post.artesa-article-content-widget .artesa-import-row:last-child {
    margin-bottom: 0 !important;
}
body.single-post article.post.artesa-article-content-widget.artesa-content-mixed--columns .artesa-import-row--mixed {
    display: grid !important;
}
body.single-post article.post.artesa-article-content-widget.artesa-content-mixed--stack .artesa-import-row--mixed {
    display: block !important;
}


/* v0.14.5 — each repaired SitePad row is an independent editorial unit. */
.artesa-article-content-widget .artesa-imported-content > .artesa-import-row {
    clear: both;
    position: relative;
}
.artesa-article-content-widget .artesa-imported-content > .artesa-import-row--text-only {
    display: block !important;
    width: 100% !important;
}


/* v0.14.7 — preserve the original SitePad editorial row boundaries and column widths.
   v0.14.3 flattened every imported row/column; that removed useful 6/6 + 12/12
   structures. The rules below intentionally restore the original layout inside
   the ARTESA content widget, while keeping newer typography/media controls. */
.artesa-article-content-widget .artesa-imported-content > .artesa-import-row {
    align-items: flex-start !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: var(--artesa-mixed-gap) !important;
    margin: 0 auto var(--artesa-section-gap) !important;
    max-width: var(--artesa-content-max-width) !important;
    padding: 0 !important;
    width: 100% !important;
}
.artesa-article-content-widget .artesa-imported-content > .artesa-import-row:last-child {
    margin-bottom: 0 !important;
}
.artesa-article-content-widget .artesa-imported-content > .artesa-import-row > .artesa-import-col {
    box-sizing: border-box !important;
    display: block !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: auto !important;
}
.artesa-article-content-widget .artesa-imported-content > .artesa-import-row > .artesa-col-12 {
    flex-basis: 100% !important;
}
.artesa-article-content-widget .artesa-imported-content > .artesa-import-row > .artesa-col-8 {
    flex-basis: calc(66.666% - (var(--artesa-mixed-gap) / 2)) !important;
}
.artesa-article-content-widget .artesa-imported-content > .artesa-import-row > .artesa-col-6 {
    flex-basis: calc(50% - (var(--artesa-mixed-gap) / 2)) !important;
}
.artesa-article-content-widget .artesa-imported-content > .artesa-import-row > .artesa-col-4 {
    flex-basis: calc(33.333% - (var(--artesa-mixed-gap) / 2)) !important;
}
.artesa-article-content-widget .artesa-imported-content > .artesa-import-row > .artesa-col-3 {
    flex-basis: calc(25% - (var(--artesa-mixed-gap) / 2)) !important;
}

/* A detected media+text row may override the old 6/6 proportion with the
   Elementor "Lățime media în rând mixt" control. */
.artesa-article-content-widget.artesa-content-mixed--columns
.artesa-imported-content > .artesa-import-row--mixed > .artesa-import-col--media {
    flex-basis: var(--artesa-mixed-media-width) !important;
}
.artesa-article-content-widget.artesa-content-mixed--columns
.artesa-imported-content > .artesa-import-row--mixed > .artesa-import-col--text {
    flex-basis: calc(100% - var(--artesa-mixed-media-width) - var(--artesa-mixed-gap)) !important;
}
.artesa-article-content-widget.artesa-content-mixed--columns
.artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-right > .artesa-import-col--text {
    order: 1;
}
.artesa-article-content-widget.artesa-content-mixed--columns
.artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-right > .artesa-import-col--media {
    order: 2;
}

/* Text inside a SitePad column belongs to that column. A later 12/12 row remains
   an independent full-width editorial block and uses the global copy width. */
.artesa-article-content-widget .artesa-import-row--mixed .artesa-text,
.artesa-article-content-widget .artesa-import-row--mixed .artesa-image,
.artesa-article-content-widget .artesa-import-row--mixed .artesa-gallery,
.artesa-article-content-widget .artesa-import-row--mixed .artesa-carousel,
.artesa-article-content-widget .artesa-import-row--mixed .artesa-video,
.artesa-article-content-widget .artesa-import-row--mixed .artesa-embed,
.artesa-article-content-widget .artesa-import-row--mixed .artesa-import-slider {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}
.artesa-article-content-widget .artesa-import-row--text-only {
    display: flex !important;
    max-width: var(--artesa-copy-width) !important;
}
.artesa-article-content-widget .artesa-import-row--text-only > .artesa-import-col,
.artesa-article-content-widget .artesa-import-row--text-only .artesa-text {
    flex-basis: 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}
.artesa-article-content-widget .artesa-import-row--media-only {
    max-width: var(--artesa-media-width) !important;
}

/* Explicit stack mode still wins when selected. */
.artesa-article-content-widget.artesa-content-mixed--stack
.artesa-imported-content > .artesa-import-row--mixed {
    display: block !important;
}
.artesa-article-content-widget.artesa-content-mixed--stack
.artesa-imported-content > .artesa-import-row--mixed > .artesa-import-col {
    width: 100% !important;
}

@media (max-width: 767px) {
    .artesa-article-content-widget .artesa-imported-content > .artesa-import-row {
        display: block !important;
    }
    .artesa-article-content-widget .artesa-imported-content > .artesa-import-row > .artesa-import-col {
        margin-bottom: var(--artesa-section-gap) !important;
        width: 100% !important;
    }
    .artesa-article-content-widget .artesa-imported-content > .artesa-import-row > .artesa-import-col:last-child {
        margin-bottom: 0 !important;
    }
}


/* v0.14.9 — reliable mixed-row sizing and spacing.
 * Preset ratios use fr units so the two columns share the available width
 * after the gap is removed: 40/60, 50/50 or 60/40 exactly.
 * Custom mode uses the Elementor percentage variable.
 */
.artesa-article-content-widget.artesa-content-mixed--columns
.artesa-imported-content > .artesa-import-row--mixed {
    align-items: start !important;
    display: grid !important;
    column-gap: var(--artesa-mixed-gap, 32px) !important;
    row-gap: 0 !important;
    margin-bottom: var(--artesa-mixed-row-after-gap, 28px) !important;
    max-width: var(--artesa-content-max-width, 1180px) !important;
    width: 100% !important;
}

/* Media on the left. */
.artesa-article-content-widget.artesa-content-mixed--columns.artesa-mixed-ratio--40
.artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-left {
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) !important;
}
.artesa-article-content-widget.artesa-content-mixed--columns.artesa-mixed-ratio--50
.artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-left {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}
.artesa-article-content-widget.artesa-content-mixed--columns.artesa-mixed-ratio--60
.artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-left {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr) !important;
}

/* Media on the right: reverse the fractions because the text column is first. */
.artesa-article-content-widget.artesa-content-mixed--columns.artesa-mixed-ratio--40
.artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-right {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr) !important;
}
.artesa-article-content-widget.artesa-content-mixed--columns.artesa-mixed-ratio--50
.artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-right {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}
.artesa-article-content-widget.artesa-content-mixed--columns.artesa-mixed-ratio--60
.artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-right {
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) !important;
}

/* Custom ratio: media percentage + flexible remainder. */
.artesa-article-content-widget.artesa-content-mixed--columns.artesa-mixed-ratio--custom
.artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-left {
    grid-template-columns: minmax(0, var(--artesa-mixed-media-width, 50%)) minmax(0, 1fr) !important;
}
.artesa-article-content-widget.artesa-content-mixed--columns.artesa-mixed-ratio--custom
.artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-right {
    grid-template-columns: minmax(0, 1fr) minmax(0, var(--artesa-mixed-media-width, 50%)) !important;
}

.artesa-article-content-widget.artesa-content-mixed--columns
.artesa-imported-content > .artesa-import-row--mixed > .artesa-import-col {
    box-sizing: border-box !important;
    flex: none !important;
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
}
.artesa-article-content-widget.artesa-content-mixed--columns
.artesa-imported-content > .artesa-import-row--mixed > .artesa-import-col--media {
    grid-column: 1 !important;
}
.artesa-article-content-widget.artesa-content-mixed--columns
.artesa-imported-content > .artesa-import-row--mixed > .artesa-import-col--text {
    grid-column: 2 !important;
}
.artesa-article-content-widget.artesa-content-mixed--columns
.artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-right > .artesa-import-col--text {
    grid-column: 1 !important;
    order: initial !important;
}
.artesa-article-content-widget.artesa-content-mixed--columns
.artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-right > .artesa-import-col--media {
    grid-column: 2 !important;
    order: initial !important;
}

/* Let imported media fill the column selected above, including enlarging it. */
.artesa-article-content-widget .artesa-import-row--mixed .artesa-import-col--media .artesa-image,
.artesa-article-content-widget .artesa-import-row--mixed .artesa-import-col--media .artesa-image > a,
.artesa-article-content-widget .artesa-import-row--mixed .artesa-import-col--media .artesa-image img,
.artesa-article-content-widget .artesa-import-row--mixed .artesa-import-col--media .artesa-gallery,
.artesa-article-content-widget .artesa-import-row--mixed .artesa-import-col--media .artesa-carousel,
.artesa-article-content-widget .artesa-import-row--mixed .artesa-import-col--media .artesa-video,
.artesa-article-content-widget .artesa-import-row--mixed .artesa-import-col--media .artesa-embed,
.artesa-article-content-widget .artesa-import-row--mixed .artesa-import-col--media .artesa-import-slider {
    box-sizing: border-box !important;
    display: block !important;
    height: auto !important;
    max-width: none !important;
    width: 100% !important;
}

/* Every non-mixed SitePad row uses the generic section gap. Mixed rows use
 * the independent after-row gap above. This makes the two sliders observable
 * and independent instead of competing for the same margin declaration.
 */
.artesa-article-content-widget .artesa-imported-content > .artesa-import-row:not(.artesa-import-row--mixed) {
    margin-bottom: var(--artesa-section-gap, 14px) !important;
}
.artesa-article-content-widget .artesa-imported-content > .artesa-import-row:last-child {
    margin-bottom: 0 !important;
}

@media (max-width: 767px) {
    .artesa-article-content-widget.artesa-content-mixed--columns
    .artesa-imported-content > .artesa-import-row--mixed {
        display: block !important;
    }
}

/* v0.14.10 — live Elementor preview classes for layout and ratio selects. */
.elementor-widget-artesa_article_content.artesa-live-layout-columns.artesa-live-ratio-40 .artesa-article-content-widget .artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-left { grid-template-columns:minmax(0,2fr) minmax(0,3fr)!important; }
.elementor-widget-artesa_article_content.artesa-live-layout-columns.artesa-live-ratio-50 .artesa-article-content-widget .artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-left { grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; }
.elementor-widget-artesa_article_content.artesa-live-layout-columns.artesa-live-ratio-60 .artesa-article-content-widget .artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-left { grid-template-columns:minmax(0,3fr) minmax(0,2fr)!important; }
.elementor-widget-artesa_article_content.artesa-live-layout-columns.artesa-live-ratio-40 .artesa-article-content-widget .artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-right { grid-template-columns:minmax(0,3fr) minmax(0,2fr)!important; }
.elementor-widget-artesa_article_content.artesa-live-layout-columns.artesa-live-ratio-50 .artesa-article-content-widget .artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-right { grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; }
.elementor-widget-artesa_article_content.artesa-live-layout-columns.artesa-live-ratio-60 .artesa-article-content-widget .artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-right { grid-template-columns:minmax(0,2fr) minmax(0,3fr)!important; }
.elementor-widget-artesa_article_content.artesa-live-layout-columns.artesa-live-ratio-custom .artesa-article-content-widget .artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-left { grid-template-columns:minmax(0,var(--artesa-mixed-media-width,50%)) minmax(0,1fr)!important; }
.elementor-widget-artesa_article_content.artesa-live-layout-columns.artesa-live-ratio-custom .artesa-article-content-widget .artesa-imported-content > .artesa-import-row--mixed.artesa-import-row--media-right { grid-template-columns:minmax(0,1fr) minmax(0,var(--artesa-mixed-media-width,50%))!important; }
.elementor-widget-artesa_article_content.artesa-live-layout-stack .artesa-article-content-widget .artesa-imported-content > .artesa-import-row--mixed { display:block!important; }


/* v0.14.11 — frontend parity with Elementor editor.
 * Older live-post compatibility rules had higher specificity than the mixed-row
 * spacing control. These final rules deliberately win on single posts so the
 * published article uses exactly the saved widget values. */
body.single-post article.post.artesa-article-content-widget.artesa-content-mixed--columns
.artesa-imported-content > .artesa-import-row--mixed {
    margin-bottom: var(--artesa-mixed-row-after-gap, 28px) !important;
}
body.single-post article.post.artesa-article-content-widget
.artesa-imported-content > .artesa-import-row:not(.artesa-import-row--mixed) {
    margin-bottom: var(--artesa-section-gap, 14px) !important;
}
body.single-post article.post.artesa-article-content-widget
.artesa-imported-content > .artesa-import-row:last-child {
    margin-bottom: 0 !important;
}

/* v0.14.12 — final global article-template refinements after full article audit. */
body.single-post .site-content,
body.elementor-editor-active .site-content {
    background-color: var(--artesa-article-page-background, #E8FAFD) !important;
}

.artesa-article-content-widget {
    --artesa-standalone-image-max-width: 900px;
    --artesa-standalone-carousel-item-max-width: 300px;
}

/* A media-only single image should remain prominent without becoming a wall-sized image. */
.artesa-article-content-widget .artesa-import-row--media-only .artesa-image,
.artesa-article-content-widget .artesa-import-row--media-only .artesa-gallery--single {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: min(100%, var(--artesa-standalone-image-max-width, 900px)) !important;
    width: 100% !important;
}
.artesa-article-content-widget .artesa-import-row--media-only .artesa-image img,
.artesa-article-content-widget .artesa-import-row--media-only .artesa-gallery--single img {
    display: block !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
    width: auto !important;
}

/* Standalone galleries keep at most four visible items. With only 2–3 images,
   center normal-sized thumbnails instead of stretching them to fill the row. */
.artesa-article-content-widget .artesa-import-row--media-only .artesa-carousel--gallery.artesa-carousel--count-2 .artesa-carousel__track,
.artesa-article-content-widget .artesa-import-row--media-only .artesa-carousel--gallery.artesa-carousel--count-3 .artesa-carousel__track {
    justify-content: center !important;
}
.artesa-article-content-widget .artesa-import-row--media-only .artesa-carousel--gallery.artesa-carousel--count-2 .artesa-carousel__slide {
    flex-basis: min(calc((100% - 12px) / 2), var(--artesa-standalone-carousel-item-max-width, 300px)) !important;
    min-width: min(calc((100% - 12px) / 2), var(--artesa-standalone-carousel-item-max-width, 300px)) !important;
}
.artesa-article-content-widget .artesa-import-row--media-only .artesa-carousel--gallery.artesa-carousel--count-3 .artesa-carousel__slide {
    flex-basis: min(calc((100% - 24px) / 3), var(--artesa-standalone-carousel-item-max-width, 300px)) !important;
    min-width: min(calc((100% - 24px) / 3), var(--artesa-standalone-carousel-item-max-width, 300px)) !important;
}

/* Videos and video carousels in mixed rows align with the top of the text column.
   Imported SitePad carousel margins were the source of the repeated vertical offset. */
.artesa-article-content-widget .artesa-import-row--mixed > .artesa-import-col--media {
    align-self: start !important;
}
.artesa-article-content-widget .artesa-import-row--mixed .artesa-video,
.artesa-article-content-widget .artesa-import-row--mixed .artesa-embed,
.artesa-article-content-widget .artesa-import-row--mixed .artesa-carousel--video,
.artesa-article-content-widget .artesa-import-row--mixed .artesa-import-slider {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Imported quote attribution is independent from the quote text. Elementor's
   dedicated cite controls now win over the older SitePad compatibility layer. */
body.single-post .elementor-widget-artesa_article_content .artesa-article-content-widget blockquote cite,
body.elementor-editor-active .elementor-widget-artesa_article_content .artesa-article-content-widget blockquote cite {
    display: block;
}

@media (max-width: 767px) {
    .artesa-article-content-widget .artesa-import-row--media-only .artesa-carousel--gallery.artesa-carousel--count-2 .artesa-carousel__track,
    .artesa-article-content-widget .artesa-import-row--media-only .artesa-carousel--gallery.artesa-carousel--count-3 .artesa-carousel__track {
        justify-content: flex-start !important;
    }
    .artesa-article-content-widget .artesa-import-row--media-only .artesa-carousel--gallery.artesa-carousel--count-2 .artesa-carousel__slide,
    .artesa-article-content-widget .artesa-import-row--media-only .artesa-carousel--gallery.artesa-carousel--count-3 .artesa-carousel__slide {
        flex-basis: calc((100% - 12px) / 2) !important;
        min-width: calc((100% - 12px) / 2) !important;
    }
}



/* v0.15.0 — normalized editorial flow + configurable section cards. */
body.single-post #content,
body.single-post .site-content,
body.elementor-editor-active #content,
body.elementor-editor-active .site-content {
    background-color: var(--artesa-article-page-background, #E8FAFD) !important;
}

.artesa-article-content-widget {
    --artesa-section-background: #F7FCFD;
    --artesa-section-gap: 30px;
    --artesa-section-pad-top: 28px;
    --artesa-section-pad-right: 32px;
    --artesa-section-pad-bottom: 28px;
    --artesa-section-pad-left: 32px;
    --artesa-section-radius-top: 24px;
    --artesa-section-radius-right: 24px;
    --artesa-section-radius-bottom: 24px;
    --artesa-section-radius-left: 24px;
    --artesa-quote-cite-color: #65717c;
    --artesa-quote-cite-gap: 14px;
}

/* Carousel/video sections are normalized by PHP to text -> media -> later text.
   A single image remains the deliberate two-column exception. */
.artesa-article-content-widget .artesa-import-row--media-carousel,
.artesa-article-content-widget .artesa-import-row--media-video {
    align-items: center !important;
}
.artesa-article-content-widget .artesa-import-row--media-only.artesa-import-row--media-carousel,
.artesa-article-content-widget .artesa-import-row--media-only.artesa-import-row--media-video {
    max-width: var(--artesa-content-max-width, 1180px) !important;
}
.artesa-article-content-widget .artesa-import-row--media-only.artesa-import-row--media-carousel > .artesa-import-col,
.artesa-article-content-widget .artesa-import-row--media-only.artesa-import-row--media-video > .artesa-import-col {
    flex-basis: 100% !important;
    width: 100% !important;
}
.artesa-article-content-widget .artesa-import-row--media-only.artesa-import-row--media-carousel .artesa-gallery,
.artesa-article-content-widget .artesa-import-row--media-only.artesa-import-row--media-carousel .artesa-carousel,
.artesa-article-content-widget .artesa-import-row--media-only.artesa-import-row--media-video .artesa-video,
.artesa-article-content-widget .artesa-import-row--media-only.artesa-import-row--media-video .artesa-embed,
.artesa-article-content-widget .artesa-import-row--media-only.artesa-import-row--media-video .artesa-import-slider {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: min(100%, var(--artesa-media-width, 1120px)) !important;
    width: 100% !important;
}

/* Card mode: every editorial row has the same outer geometry. Text and media
   keep their own inner max-widths so the cards line up without making copy too wide. */
.artesa-article-content-widget.artesa-section-style--cards .artesa-imported-content > .artesa-import-row,
.elementor-widget-artesa_article_content.artesa-live-sections-cards .artesa-article-content-widget .artesa-imported-content > .artesa-import-row {
    background: var(--artesa-section-background, #F7FCFD) !important;
    border-radius: var(--artesa-section-radius-top, 24px) var(--artesa-section-radius-right, 24px) var(--artesa-section-radius-bottom, 24px) var(--artesa-section-radius-left, 24px) !important;
    box-sizing: border-box !important;
    margin: 0 auto var(--artesa-section-gap, 30px) !important;
    max-width: var(--artesa-content-max-width, 1180px) !important;
    padding: var(--artesa-section-pad-top, 28px) var(--artesa-section-pad-right, 32px) var(--artesa-section-pad-bottom, 28px) var(--artesa-section-pad-left, 32px) !important;
    width: 100% !important;
}
.artesa-article-content-widget.artesa-section-style--cards .artesa-imported-content > .artesa-import-row:last-child,
.elementor-widget-artesa_article_content.artesa-live-sections-cards .artesa-article-content-widget .artesa-imported-content > .artesa-import-row:last-child {
    margin-bottom: 0 !important;
}
.artesa-article-content-widget.artesa-section-style--cards .artesa-import-row--text-only,
.elementor-widget-artesa_article_content.artesa-live-sections-cards .artesa-article-content-widget .artesa-import-row--text-only {
    max-width: var(--artesa-content-max-width, 1180px) !important;
}
.artesa-article-content-widget.artesa-section-style--cards .artesa-import-row--text-only .artesa-text,
.elementor-widget-artesa_article_content.artesa-live-sections-cards .artesa-article-content-widget .artesa-import-row--text-only .artesa-text {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: min(100%, var(--artesa-copy-width, 820px)) !important;
    width: 100% !important;
}
.artesa-article-content-widget.artesa-section-style--cards .artesa-import-row--media-only,
.elementor-widget-artesa_article_content.artesa-live-sections-cards .artesa-article-content-widget .artesa-import-row--media-only {
    max-width: var(--artesa-content-max-width, 1180px) !important;
}

/* Plain mode remains available as a one-click fallback. */
.artesa-article-content-widget.artesa-section-style--plain .artesa-imported-content > .artesa-import-row,
.elementor-widget-artesa_article_content.artesa-live-sections-plain .artesa-article-content-widget .artesa-imported-content > .artesa-import-row {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.artesa-article-content-widget.artesa-section-shadow--yes .artesa-imported-content > .artesa-import-row,
.elementor-widget-artesa_article_content.artesa-live-section-shadow-yes .artesa-article-content-widget .artesa-imported-content > .artesa-import-row {
    box-shadow: 0 12px 34px rgba(31, 41, 55, .07);
}

/* Quote attribution must remain independently styleable from the quote body. */
body.single-post .elementor-widget-artesa_article_content .artesa-article-content-widget blockquote cite,
body.elementor-editor-active .elementor-widget-artesa_article_content .artesa-article-content-widget blockquote cite,
.artesa-article-content-widget blockquote cite {
    color: var(--artesa-quote-cite-color, #65717c) !important;
    display: block !important;
    margin-top: var(--artesa-quote-cite-gap, 14px) !important;
}

@media (max-width: 767px) {
    .artesa-article-content-widget.artesa-section-style--cards .artesa-imported-content > .artesa-import-row,
    .elementor-widget-artesa_article_content.artesa-live-sections-cards .artesa-article-content-widget .artesa-imported-content > .artesa-import-row {
        padding: min(var(--artesa-section-pad-top, 22px), 24px) min(var(--artesa-section-pad-right, 22px), 24px) min(var(--artesa-section-pad-bottom, 22px), 24px) min(var(--artesa-section-pad-left, 22px), 24px) !important;
    }
}


/* v0.15.1 — editorial cards, gallery controls and site-grid alignment. */

/* v0.12.2 narrowed Astra's single-post .ast-container to 780px. That legacy
   rule made articles start further right than the rest of the site. Restore
   the normal ARTESA/Astra 1200px grid for the article template shell. */
body.single-post #content > .ast-container,
body.single-post .site-content > .ast-container {
    box-sizing: border-box;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1200px !important;
    width: 100% !important;
}
:is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero,
.artesa-article-content-widget,
.artesa-article-navigation {
    max-width: 1200px;
}

/* The redundant Timeline button has been removed: previous and next now share
   the complete navigation width. */
.artesa-article-navigation {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    max-width: 1200px;
}
.artesa-article-navigation__slot--timeline {
    display: none !important;
}

/* One spacing rule for every editorial card, including mixed photo+text rows.
   This deliberately beats the older mixed-row after-gap compatibility rule. */
body.single-post article.post.artesa-article-content-widget.artesa-section-style--cards
.artesa-imported-content > .artesa-import-row,
.elementor-widget-artesa_article_content.artesa-live-sections-cards
.artesa-article-content-widget .artesa-imported-content > .artesa-import-row {
    margin-bottom: var(--artesa-section-gap, 30px) !important;
}
body.single-post article.post.artesa-article-content-widget.artesa-section-style--cards
.artesa-imported-content > .artesa-import-row:last-child,
.elementor-widget-artesa_article_content.artesa-live-sections-cards
.artesa-article-content-widget .artesa-imported-content > .artesa-import-row:last-child {
    margin-bottom: 0 !important;
}

/* Independent card padding by editorial section type. */
.artesa-article-content-widget {
    --artesa-text-card-pad-top: 28px;
    --artesa-text-card-pad-right: 32px;
    --artesa-text-card-pad-bottom: 28px;
    --artesa-text-card-pad-left: 32px;
    --artesa-media-card-pad-top: 18px;
    --artesa-media-card-pad-right: 22px;
    --artesa-media-card-pad-bottom: 18px;
    --artesa-media-card-pad-left: 22px;
    --artesa-mixed-card-pad-top: 28px;
    --artesa-mixed-card-pad-right: 32px;
    --artesa-mixed-card-pad-bottom: 28px;
    --artesa-mixed-card-pad-left: 32px;
}
.artesa-article-content-widget.artesa-section-style--cards
.artesa-imported-content > .artesa-import-row--text-only,
.elementor-widget-artesa_article_content.artesa-live-sections-cards
.artesa-article-content-widget .artesa-imported-content > .artesa-import-row--text-only {
    padding: var(--artesa-text-card-pad-top) var(--artesa-text-card-pad-right) var(--artesa-text-card-pad-bottom) var(--artesa-text-card-pad-left) !important;
}
.artesa-article-content-widget.artesa-section-style--cards
.artesa-imported-content > .artesa-import-row--media-only,
.elementor-widget-artesa_article_content.artesa-live-sections-cards
.artesa-article-content-widget .artesa-imported-content > .artesa-import-row--media-only {
    padding: var(--artesa-media-card-pad-top) var(--artesa-media-card-pad-right) var(--artesa-media-card-pad-bottom) var(--artesa-media-card-pad-left) !important;
}
.artesa-article-content-widget.artesa-section-style--cards
.artesa-imported-content > .artesa-import-row--mixed,
.elementor-widget-artesa_article_content.artesa-live-sections-cards
.artesa-article-content-widget .artesa-imported-content > .artesa-import-row--mixed {
    padding: var(--artesa-mixed-card-pad-top) var(--artesa-mixed-card-pad-right) var(--artesa-mixed-card-pad-bottom) var(--artesa-mixed-card-pad-left) !important;
}

/* Carousel/video wrappers must not add their own old SitePad-era vertical
   margins inside a padded card. The card padding is now the single control. */
.artesa-article-content-widget .artesa-import-row--media-only .artesa-carousel,
.artesa-article-content-widget .artesa-import-row--media-only .artesa-video,
.artesa-article-content-widget .artesa-import-row--media-only .artesa-embed,
.artesa-article-content-widget .artesa-import-row--media-only .artesa-import-slider {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

/* All standalone photo carousels use the same four-column thumbnail geometry,
   independent of whether the gallery has 2, 3, 4 or more images. */
body.single-post article.post.artesa-article-content-widget
.artesa-import-row--media-only .artesa-carousel--gallery .artesa-carousel__track {
    justify-content: flex-start !important;
}
body.single-post article.post.artesa-article-content-widget
.artesa-import-row--media-only .artesa-carousel--gallery .artesa-carousel__slide,
body.single-post article.post.artesa-article-content-widget
.artesa-import-row--media-only .artesa-carousel--gallery.artesa-carousel--count-2 .artesa-carousel__slide,
body.single-post article.post.artesa-article-content-widget
.artesa-import-row--media-only .artesa-carousel--gallery.artesa-carousel--count-3 .artesa-carousel__slide {
    flex-basis: min(calc((100% - 36px) / 4), var(--artesa-standalone-carousel-item-max-width, 300px)) !important;
    min-width: min(calc((100% - 36px) / 4), var(--artesa-standalone-carousel-item-max-width, 300px)) !important;
}

/* Photo-carousel navigation: no extra control row. Arrows sit over the first
   and last visible image, using the ARTESA cyan. */
body.single-post article.post .artesa-carousel--gallery {
    position: relative;
}
body.single-post article.post .artesa-carousel--gallery .artesa-carousel__controls--overlay {
    inset: 50% 0 auto 0;
    justify-content: space-between !important;
    margin: 0 !important;
    pointer-events: none;
    position: absolute;
    transform: translateY(-50%);
    z-index: 6;
}
body.single-post article.post .artesa-carousel--gallery .artesa-carousel__button {
    background: var(--artesa-article-cyan, #24BDCC);
    border: 0;
    box-shadow: 0 2px 8px rgba(16, 24, 32, .18);
    color: #fff;
    height: 34px;
    opacity: .88;
    pointer-events: auto;
    width: 34px;
}
body.single-post article.post .artesa-carousel--gallery .artesa-carousel__button--prev {
    margin-left: 8px;
}
body.single-post article.post .artesa-carousel--gallery .artesa-carousel__button--next {
    margin-right: 8px;
}
body.single-post article.post .artesa-carousel--gallery .artesa-carousel__button:hover,
body.single-post article.post .artesa-carousel--gallery .artesa-carousel__button:focus-visible {
    background: var(--artesa-article-cyan, #24BDCC);
    border-color: transparent;
    color: #fff;
    opacity: 1;
}
body.single-post article.post .artesa-carousel--gallery .artesa-carousel__button:disabled {
    opacity: .88;
}

/* Explicit lightbox entry, visually related to the category pills but styled
   independently from Elementor. */
.artesa-carousel__gallery-open {
    align-items: center;
    background: #e8fafd;
    border: 0;
    border-radius: 999px;
    color: #075cb8;
    cursor: pointer;
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    padding: 8px 12px;
    position: absolute;
    right: 12px;
    text-decoration: none;
    top: 12px;
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
    z-index: 7;
}
.artesa-carousel__gallery-open:hover,
.artesa-carousel__gallery-open:focus-visible {
    background: var(--artesa-article-blue, #024AD8);
    color: #fff;
    transform: translateY(-1px);
}

@media (max-width: 767px) {
    .artesa-article-navigation {
        grid-template-columns: 1fr;
    }
    .artesa-article-content-widget.artesa-section-style--cards
    .artesa-imported-content > .artesa-import-row--text-only,
    .elementor-widget-artesa_article_content.artesa-live-sections-cards
    .artesa-article-content-widget .artesa-imported-content > .artesa-import-row--text-only {
        padding: min(var(--artesa-text-card-pad-top), 24px) min(var(--artesa-text-card-pad-right), 24px) min(var(--artesa-text-card-pad-bottom), 24px) min(var(--artesa-text-card-pad-left), 24px) !important;
    }
    .artesa-article-content-widget.artesa-section-style--cards
    .artesa-imported-content > .artesa-import-row--media-only,
    .elementor-widget-artesa_article_content.artesa-live-sections-cards
    .artesa-article-content-widget .artesa-imported-content > .artesa-import-row--media-only {
        padding: min(var(--artesa-media-card-pad-top), 20px) min(var(--artesa-media-card-pad-right), 20px) min(var(--artesa-media-card-pad-bottom), 20px) min(var(--artesa-media-card-pad-left), 20px) !important;
    }
    .artesa-article-content-widget.artesa-section-style--cards
    .artesa-imported-content > .artesa-import-row--mixed,
    .elementor-widget-artesa_article_content.artesa-live-sections-cards
    .artesa-article-content-widget .artesa-imported-content > .artesa-import-row--mixed {
        padding: min(var(--artesa-mixed-card-pad-top), 24px) min(var(--artesa-mixed-card-pad-right), 24px) min(var(--artesa-mixed-card-pad-bottom), 24px) min(var(--artesa-mixed-card-pad-left), 24px) !important;
    }

    body.single-post article.post.artesa-article-content-widget
    .artesa-import-row--media-only .artesa-carousel--gallery .artesa-carousel__slide,
    body.single-post article.post.artesa-article-content-widget
    .artesa-import-row--media-only .artesa-carousel--gallery.artesa-carousel--count-2 .artesa-carousel__slide,
    body.single-post article.post.artesa-article-content-widget
    .artesa-import-row--media-only .artesa-carousel--gallery.artesa-carousel--count-3 .artesa-carousel__slide {
        flex-basis: calc((100% - 12px) / 2) !important;
        min-width: calc((100% - 12px) / 2) !important;
    }

    .artesa-carousel__gallery-open {
        right: 8px;
        top: 8px;
    }
    body.single-post article.post .artesa-carousel--gallery .artesa-carousel__button {
        height: 32px;
        width: 32px;
    }
}


/* v0.15.2 — desktop hero rhythm, gallery toolbar and optional per-post media credit. */
@media (min-width: 768px) {
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero--split:not(.artesa-article-hero--no-image) {
        align-items: stretch;
    }
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero--split:not(.artesa-article-hero--no-image) .artesa-article-hero__copy {
        align-self: stretch;
        display: grid;
        grid-template-rows: 64px minmax(0, 1fr) 48px;
        min-height: 100%;
    }
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__top {
        align-self: start;
        min-height: 64px;
    }
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__categories {
        align-content: flex-start;
        margin-bottom: 0;
    }
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__main {
        align-self: center;
        min-width: 0;
        width: 100%;
    }
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__meta {
        align-items: center;
        align-self: end;
        display: flex;
        gap: 20px;
        min-height: 48px;
        width: 100%;
    }
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__date,
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-author {
        margin-top: 0;
    }
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__date {
        flex: 0 0 auto;
    }
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-author {
        border-left: 1px solid var(--artesa-article-line, #d9e4e8);
        padding-left: 20px;
    }
}

@media (max-width: 767px) {
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__top,
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__main,
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__meta {
        display: block;
        min-height: 0;
    }
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__categories {
        margin-bottom: 14px;
    }
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero__date {
        margin-top: 16px;
    }
    :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-author {
        border-left: 0;
        margin-top: 14px;
        padding-left: 0;
    }
}

.artesa-carousel__toolbar {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    margin: 0 0 14px;
    width: 100%;
}
.artesa-carousel__gallery-open {
    position: static !important;
    right: auto !important;
    top: auto !important;
    z-index: auto;
}
.artesa-media-credit {
    color: var(--artesa-article-muted, #65717c);
    font-size: 13px;
    line-height: 1.45;
    margin-top: 10px;
    text-align: left;
    width: 100%;
}
.artesa-media-credit a {
    color: var(--artesa-article-blue, #024AD8);
    text-decoration: none;
}
.artesa-media-credit a:hover,
.artesa-media-credit a:focus-visible {
    text-decoration: underline;
}


/* v0.15.3 — single-post shell aligned to the same site grid as the footer.
   Older compatibility CSS added its own side padding to Astra's container,
   while the Elementor root already supplies the responsive gutter. That
   double inset made articles start further right than the rest of the site. */
body.single-post #content > .ast-container,
body.single-post .site-content > .ast-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* v0.15.4 — exact site-grid alignment + definitive mobile stacking.
 * The live Astra header/footer grid is 1240px on desktop. The article template
 * used a 1200px Elementor root and then another inner inset, which made the
 * article visibly narrower. Keep one outer grid only and let article modules
 * fill it. */
@media (min-width: 1280px) {
    body.single-post #content > .ast-container,
    body.single-post .site-content > .ast-container {
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: 1240px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 1240px !important;
    }

    body.single-post .artesa-elementor-template-render > .elementor > .e-con.e-parent,
    body.single-post .artesa-elementor-template-render > [data-elementor-type] > .e-con.e-parent {
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: 1240px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 1240px !important;
    }
}

@media (min-width: 768px) and (max-width: 1279px) {
    body.single-post #content > .ast-container,
    body.single-post .site-content > .ast-container {
        max-width: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }

    body.single-post .artesa-elementor-template-render > .elementor > .e-con.e-parent,
    body.single-post .artesa-elementor-template-render > [data-elementor-type] > .e-con.e-parent {
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: calc(100% - 32px) !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: calc(100% - 32px) !important;
    }
}

/* Hero, editorial content/cards and bottom navigation use the same outer grid.
 * Copy/media max-widths still apply inside the cards. */
body.single-post :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero,
body.single-post .elementor-widget-artesa_article_content .artesa-article-content-widget,
body.single-post .elementor-widget-artesa_article_navigation .artesa-article-navigation,
body.single-post article.post.artesa-article-content-widget.artesa-section-style--cards
.artesa-imported-content > .artesa-import-row {
    max-width: 100% !important;
    width: 100% !important;
}

/* A higher-specificity desktop compatibility rule used to re-enable grid after
 * the earlier mobile rule. Put the final mobile rule last and explicitly reset
 * grid placement so every desktop media+text pair becomes one column on phone. */
@media (max-width: 767px) {
    body.single-post article.post.artesa-article-content-widget.artesa-content-mixed--columns
    .artesa-imported-content > .artesa-import-row--mixed {
        display: flex !important;
        flex-direction: column !important;
        gap: var(--artesa-mixed-gap, 24px) !important;
        grid-template-columns: none !important;
    }

    body.single-post article.post.artesa-article-content-widget.artesa-content-mixed--columns
    .artesa-imported-content > .artesa-import-row--mixed > .artesa-import-col {
        flex: 0 0 auto !important;
        grid-column: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body.single-post article.post.artesa-article-content-widget.artesa-content-mixed--columns
    .artesa-imported-content > .artesa-import-row--mixed > .artesa-import-col--media {
        order: 1 !important;
    }

    body.single-post article.post.artesa-article-content-widget.artesa-content-mixed--columns
    .artesa-imported-content > .artesa-import-row--mixed > .artesa-import-col--text {
        order: 2 !important;
    }
}
\n\n/* v0.15.5 — make the Elementor widget wrappers themselves fill the site grid.
 * v0.15.4 widened the article modules, but the saved Elementor widget wrappers
 * could still remain at the old 1180px width. On a 1240px site grid that left
 * a visible ~30px inset on each side. Keep the inner typography/media widths;
 * only the outer Hero / Content / Navigation wrappers are stretched. */
body.single-post .artesa-elementor-template-render :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero),
body.single-post .artesa-elementor-template-render .elementor-widget-artesa_article_content,
body.single-post .artesa-elementor-template-render .elementor-widget-artesa_article_navigation {
    align-self: stretch !important;
    max-width: none !important;
    width: 100% !important;
}
body.single-post .artesa-elementor-template-render :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) > .elementor-widget-container,
body.single-post .artesa-elementor-template-render .elementor-widget-artesa_article_content > .elementor-widget-container,
body.single-post .artesa-elementor-template-render .elementor-widget-artesa_article_navigation > .elementor-widget-container {
    box-sizing: border-box;
    max-width: none !important;
    width: 100% !important;
}

/* v0.16.0 — manual override widgets.
 * These blocks intentionally mirror the current dynamic article card geometry so
 * an exceptional article can be rebuilt in Elementor without looking different
 * from the automatically imported articles. */
.elementor-widget-artesa_article_text_block,
.elementor-widget-artesa_article_media_block,
.elementor-widget-artesa_article_split,
.elementor-widget-artesa_article_quote,
.elementor-widget-artesa_article_gallery,
.elementor-widget-artesa_article_video {
    max-width: none !important;
    width: 100% !important;
}

.artesa-editorial-card {
    background-color: var(--artesa-section-background, #F7FCFD);
    border-radius: 24px;
    box-sizing: border-box;
    margin: 0 auto 30px !important;
    max-width: 1200px;
    width: 100%;
}
.artesa-editorial-card--text,
.artesa-editorial-card--mixed,
.artesa-editorial-card--quote {
    padding: 28px 32px;
}
.artesa-editorial-card--media {
    padding: 18px 22px;
}
.artesa-editorial-card__inner {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}
.artesa-editorial-card__inner--text {
    max-width: 820px;
}
.artesa-editorial-card__inner--media {
    max-width: 1120px;
}

/* Manual text follows the same copy width, paragraph rhythm and link treatment
   as the dynamic Content widget. */
.artesa-editorial-card .artesa-editorial-text__body,
.artesa-editorial-card .artesa-editorial-split__text {
    color: var(--artesa-content-text-color, #263746);
    font-size: inherit;
    line-height: inherit;
}
.artesa-editorial-card .artesa-editorial-text__body p,
.artesa-editorial-card .artesa-editorial-split__text p {
    margin-top: 0;
    margin-bottom: 14px;
}
.artesa-editorial-card .artesa-editorial-text__body p:last-child,
.artesa-editorial-card .artesa-editorial-split__text p:last-child {
    margin-bottom: 0;
}
.artesa-editorial-card .artesa-editorial-text__body a,
.artesa-editorial-card .artesa-editorial-split__text a {
    color: var(--artesa-article-blue, #024AD8);
}

/* Standalone media uses the same inner media width as imported galleries/video. */
.artesa-editorial-card.artesa-editorial-media,
.artesa-editorial-card.artesa-editorial-video,
.artesa-editorial-card.artesa-editorial-gallery {
    max-width: 1200px;
}
.artesa-editorial-card .artesa-editorial-media__visual,
.artesa-editorial-card .artesa-editorial-video__frame {
    margin-left: auto;
    margin-right: auto;
    max-width: 1120px;
}
.artesa-editorial-card .artesa-editorial-media__caption {
    margin-top: 10px;
}
.artesa-editorial-card .artesa-media-credit--manual {
    margin-top: 10px;
}

/* Manual photo + text card: same 50/50 editorial geometry as imported mixed rows. */
.artesa-editorial-card.artesa-editorial-split {
    --artesa-split-media: 50%;
    align-items: start;
    display: grid;
    gap: 32px;
    max-width: 1200px;
}
.artesa-editorial-card.artesa-editorial-split--media-left {
    grid-template-columns: minmax(0, var(--artesa-split-media)) minmax(0, 1fr);
}
.artesa-editorial-card.artesa-editorial-split--media-right {
    grid-template-columns: minmax(0, 1fr) minmax(0, var(--artesa-split-media));
}
.artesa-editorial-card .artesa-editorial-split__copy,
.artesa-editorial-card .artesa-editorial-split__media-wrap {
    min-width: 0;
    width: 100%;
}
.artesa-editorial-card .artesa-editorial-split__media-wrap {
    align-self: start;
}
.artesa-editorial-card.artesa-editorial-split--media-left .artesa-editorial-split__media-wrap {
    grid-column: 1;
    grid-row: 1;
}
.artesa-editorial-card.artesa-editorial-split--media-left .artesa-editorial-split__copy {
    grid-column: 2;
    grid-row: 1;
}
.artesa-editorial-card.artesa-editorial-split--media-right .artesa-editorial-split__copy {
    grid-column: 1;
    grid-row: 1;
}
.artesa-editorial-card.artesa-editorial-split--media-right .artesa-editorial-split__media-wrap {
    grid-column: 2;
    grid-row: 1;
}
.artesa-editorial-card .artesa-editorial-split__visual {
    width: 100%;
}
.artesa-editorial-card .artesa-editorial-split__visual img {
    display: block;
    height: auto;
    width: 100%;
}

/* The manual gallery can be a simple 1–4 image grid or use the exact same
   carousel/lightbox JS as imported galleries when set to carousel/auto 5+. */
.artesa-editorial-card .artesa-editorial-gallery__heading {
    margin-bottom: 16px;
}
.artesa-editorial-card .artesa-editorial-gallery__grid {
    --artesa-gallery-columns: 4;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(var(--artesa-gallery-columns), minmax(0, 1fr));
}
.artesa-editorial-card .artesa-editorial-gallery__grid .artesa-editorial-gallery__item,
.artesa-editorial-card .artesa-editorial-gallery__carousel-source figure {
    margin: 0;
}
.artesa-editorial-card .artesa-editorial-gallery__grid .artesa-editorial-gallery__thumb,
.artesa-editorial-card .artesa-editorial-gallery__carousel-source .artesa-editorial-gallery__thumb {
    aspect-ratio: 4 / 3;
    border-radius: 14px;
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}
.artesa-editorial-card .artesa-editorial-gallery__carousel-source {
    display: flex;
    gap: 12px;
    margin: 0;
    overflow-x: auto;
    padding: 0;
    width: 100%;
}
.artesa-editorial-card .artesa-editorial-gallery__carousel-source > figure {
    flex: 0 0 calc((100% - 36px) / 4);
    min-width: calc((100% - 36px) / 4);
}

/* Manual quote lives on the same white section card; the quote itself keeps
   the established cyan/blue treatment used by ARTESA. */
.artesa-editorial-card.artesa-editorial-quote {
    max-width: 1200px;
}
.artesa-editorial-quote__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 980px;
    width: 100%;
}

@media (max-width: 767px) {
    .artesa-editorial-card {
        border-radius: 20px;
        margin-bottom: 24px !important;
    }
    .artesa-editorial-card--text,
    .artesa-editorial-card--mixed,
    .artesa-editorial-card--quote {
        padding: 22px 20px;
    }
    .artesa-editorial-card--media {
        padding: 18px 16px;
    }
    .artesa-editorial-card.artesa-editorial-split {
        display: flex !important;
        flex-direction: column;
        gap: 22px !important;
    }
    .artesa-editorial-card.artesa-editorial-split .artesa-editorial-split__copy,
    .artesa-editorial-card.artesa-editorial-split .artesa-editorial-split__media-wrap {
        grid-column: auto !important;
        grid-row: auto !important;
        order: initial;
        width: 100%;
    }
    .artesa-editorial-card.artesa-editorial-split--media-left .artesa-editorial-split__media-wrap {
        order: -1;
    }
    .artesa-editorial-card .artesa-editorial-gallery__grid {
        --artesa-gallery-columns: 2 !important;
    }
    .artesa-editorial-card .artesa-editorial-gallery__carousel-source > figure {
        flex-basis: calc((100% - 12px) / 2);
        min-width: calc((100% - 12px) / 2);
    }
}

/* Manual carousel counterpart of the imported-gallery rules. */
.artesa-editorial-card .artesa-carousel--gallery {
    margin: 0;
    max-width: 100%;
    position: relative;
    width: 100%;
}
.artesa-editorial-card .artesa-carousel--gallery .artesa-carousel__track {
    display: flex !important;
    gap: 12px !important;
    grid-template-columns: none !important;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-padding-inline: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
.artesa-editorial-card .artesa-carousel--gallery .artesa-carousel__track::-webkit-scrollbar {
    display: none;
}
.artesa-editorial-card .artesa-carousel--gallery .artesa-carousel__slide {
    flex: 0 0 calc((100% - 36px) / 4) !important;
    margin: 0 !important;
    min-width: calc((100% - 36px) / 4) !important;
    scroll-snap-align: start;
}
.artesa-editorial-card .artesa-carousel--gallery .artesa-carousel__slide img {
    aspect-ratio: 4 / 3 !important;
    border-radius: 14px;
    display: block;
    height: auto !important;
    object-fit: cover !important;
    width: 100%;
}
.artesa-editorial-card .artesa-carousel--gallery .artesa-carousel__controls--overlay {
    display: flex;
    inset: 50% 0 auto 0;
    justify-content: space-between !important;
    margin: 0 !important;
    pointer-events: none;
    position: absolute;
    transform: translateY(-50%);
    z-index: 6;
}
.artesa-editorial-card .artesa-carousel--gallery .artesa-carousel__button {
    align-items: center;
    background: var(--artesa-article-cyan, #24BDCC);
    border: 0;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(16, 24, 32, .18);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-size: 20px;
    height: 34px;
    justify-content: center;
    line-height: 1;
    opacity: .88;
    padding: 0;
    pointer-events: auto;
    width: 34px;
}
.artesa-editorial-card .artesa-carousel--gallery .artesa-carousel__button--prev { margin-left: 8px; }
.artesa-editorial-card .artesa-carousel--gallery .artesa-carousel__button--next { margin-right: 8px; }
.artesa-editorial-card .artesa-carousel--gallery .artesa-carousel__button:hover,
.artesa-editorial-card .artesa-carousel--gallery .artesa-carousel__button:focus-visible {
    background: var(--artesa-article-cyan, #24BDCC);
    color: #fff;
    opacity: 1;
}
.artesa-editorial-card .artesa-carousel--gallery .artesa-carousel__button:disabled { opacity: .88; }

@media (max-width: 767px) {
    .artesa-editorial-card .artesa-carousel--gallery .artesa-carousel__slide {
        flex-basis: calc((100% - 12px) / 2) !important;
        min-width: calc((100% - 12px) / 2) !important;
    }
}
\n\n/* v0.16.1 — cohesive article shell + visual parity for manual override cards. */\nbody.single-post .artesa-elementor-template-render,\nbody.elementor-editor-active .artesa-elementor-template-render {\n    background-color: #DDF5F8;\n    border-radius: 32px;\n    box-sizing: border-box;\n    margin: 28px auto 34px;\n    max-width: 1240px;\n    padding: 28px;\n    width: calc(100% - 32px);\n}\n\n/* Once the outer shell owns the site width and padding, the saved Elementor\n   root must simply fill the shell instead of re-applying the old 1240px grid. */\nbody.single-post .artesa-elementor-template-render > .elementor > .e-con.e-parent,\nbody.single-post .artesa-elementor-template-render > [data-elementor-type] > .e-con.e-parent,\nbody.elementor-editor-active .artesa-elementor-template-render > .elementor > .e-con.e-parent,\nbody.elementor-editor-active .artesa-elementor-template-render > [data-elementor-type] > .e-con.e-parent {\n    box-sizing: border-box !important;\n    margin-left: 0 !important;\n    margin-right: 0 !important;\n    max-width: none !important;\n    padding-left: 0 !important;\n    padding-right: 0 !important;\n    width: 100% !important;\n}\n\n/* The shell itself supplies the top inset, so avoid a second large top gap on Hero. */\nbody.single-post .artesa-elementor-template-render :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero,\nbody.elementor-editor-active .artesa-elementor-template-render :is(.elementor-widget-artesa_article_hero, .elementor-widget-artesa_article_editable_hero) .artesa-article-hero {\n    margin-top: 0 !important;\n}\n\n/* Same subtle elevation used by the dynamic section cards. */\n.artesa-hero-shadow-yes .artesa-article-hero,\n.artesa-editorial-shadow-yes .artesa-editorial-card {\n    box-shadow: 0 12px 34px rgba(31, 41, 55, .07);\n}\n\n@media (max-width: 1024px) {\n    body.single-post .artesa-elementor-template-render,\n    body.elementor-editor-active .artesa-elementor-template-render {\n        border-radius: 28px;\n        margin-top: 22px;\n        padding: 24px;\n        width: calc(100% - 24px);\n    }\n}\n\n@media (max-width: 767px) {\n    body.single-post .artesa-elementor-template-render,\n    body.elementor-editor-active .artesa-elementor-template-render {\n        border-radius: 22px;\n        margin-bottom: 22px;\n        margin-top: 14px;\n        padding: 16px;\n        width: calc(100% - 16px);\n    }\n}\n

{}
/* v0.17.0 — override workflow refinements. */
.elementor-widget-artesa_article_stack {
    max-width: none !important;
    width: 100% !important;
}

/* Full-width manual text uses the requested editorial defaults. Elementor
   controls can still override every value per widget. */
.artesa-editorial-card__inner--text {
    max-width: 1200px;
}
.artesa-editorial-card--text .artesa-editorial-text__body {
    font-family: Inter, sans-serif;
    font-size: 16px;
    line-height: 1.6;
}
.artesa-editorial-text__heading,
.artesa-editorial-stack__heading {
    margin-top: 0;
}

/* One Text / Quote widget covers text-only, quote-only and combined sections. */
.artesa-editorial-textquote {
    --artesa-textquote-gap: 24px;
}
.artesa-editorial-textquote--has-text.artesa-editorial-textquote--quote-before .artesa-editorial-textquote__quote {
    margin-bottom: var(--artesa-textquote-gap);
}
.artesa-editorial-textquote--has-text.artesa-editorial-textquote--quote-after .artesa-editorial-textquote__quote {
    margin-top: var(--artesa-textquote-gap);
}
.artesa-editorial-textquote .artesa-editorial-quote__box {
    margin-bottom: 0;
    margin-top: 0;
}
.artesa-editorial-textquote .artesa-editorial-quote__cite,
.artesa-editorial-quote .artesa-editorial-quote__cite {
    display: block;
    justify-self: start;
    text-align: left;
    width: 100%;
}
.artesa-editorial-textquote .artesa-editorial-quote__cite a,
.artesa-editorial-quote .artesa-editorial-quote__cite a {
    color: inherit;
    text-decoration: none;
}
.artesa-editorial-textquote .artesa-editorial-quote__cite a:hover,
.artesa-editorial-textquote .artesa-editorial-quote__cite a:focus-visible,
.artesa-editorial-quote .artesa-editorial-quote__cite a:hover,
.artesa-editorial-quote .artesa-editorial-quote__cite a:focus-visible {
    text-decoration: underline;
}

/* Text + Media vertical keeps related copy and media in one card. */
.artesa-editorial-card--stack {
    --artesa-stack-gap: 24px;
    max-width: 1200px;
    padding: 28px 32px;
}
.artesa-editorial-stack__copy,
.artesa-editorial-stack__media {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}
.artesa-editorial-stack__copy {
    max-width: 1200px;
}
.artesa-editorial-stack__media {
    max-width: 1120px;
}
.artesa-editorial-stack--has-copy .artesa-editorial-stack__media {
    margin-top: var(--artesa-stack-gap);
}
.artesa-editorial-stack__heading {
    color: var(--artesa-article-ink);
    font-family: Montserrat, sans-serif;
    font-size: clamp(25px, 3vw, 38px);
    letter-spacing: -.015em;
    line-height: 1.18;
    margin-bottom: 16px;
}
.artesa-editorial-stack__text {
    color: var(--artesa-content-text-color, #263746);
    font-family: Inter, sans-serif;
    font-size: 16px;
    line-height: 1.6;
}
.artesa-editorial-stack__text p {
    margin-top: 0;
    margin-bottom: 14px;
}
.artesa-editorial-stack__text p:last-child {
    margin-bottom: 0;
}
.artesa-editorial-stack__text a {
    color: var(--artesa-article-blue, #024AD8);
}
.artesa-editorial-stack__visual,
.artesa-editorial-stack__gallery {
    width: 100%;
}
.artesa-editorial-stack__visual {
    border-radius: 14px;
    overflow: hidden;
}
.artesa-editorial-stack__visual img,
.artesa-editorial-stack__image {
    display: block;
    height: auto;
    width: 100%;
}
.artesa-editorial-stack .artesa-editorial-video__frame {
    aspect-ratio: 16 / 9;
}
.artesa-editorial-stack .artesa-carousel__toolbar {
    margin-bottom: 14px;
}

/* Per-article Hero overrides are applied only when the corresponding field is
   completed in the post editor; omitted variables leave the global template untouched. */
.artesa-article-hero--post-override {
    background-color: var(--artesa-hero-post-background) !important;
}
.artesa-article-hero--post-override .artesa-article-hero__image {
    aspect-ratio: var(--artesa-hero-post-ratio) !important;
    object-fit: var(--artesa-hero-post-fit) !important;
}
.artesa-article-hero--post-override .artesa-article-hero__title {
    font-size: var(--artesa-hero-post-title-size) !important;
}

/* Keep previous/next navigation safely below the article body.
 * Some imported articles contain floated media; flow-root above contains those floats,
 * while clear + a real top gap prevents the navigation border from touching/overlapping
 * the final text line. */
body.single-post .artesa-elementor-template-render .elementor-widget-artesa_article_navigation .artesa-article-navigation,
body.elementor-editor-active .artesa-elementor-template-render .elementor-widget-artesa_article_navigation .artesa-article-navigation {
    clear: both !important;
    margin-top: clamp(48px, 6vw, 72px) !important;
}

@media (max-width: 767px) {
    body.single-post .artesa-elementor-template-render .elementor-widget-artesa_article_navigation .artesa-article-navigation,
    body.elementor-editor-active .artesa-elementor-template-render .elementor-widget-artesa_article_navigation .artesa-article-navigation {
        margin-top: 36px !important;
    }
}

@media (max-width: 767px) {
    .artesa-editorial-card--stack {
        padding: 22px 20px;
    }
}
.artesa-article-hero--post-override[style*="--artesa-hero-post-ratio:auto"] .artesa-article-hero__image {
    height: auto !important;
    min-height: 0 !important;
    object-fit: contain;
}


/* v0.18.0 — manual override polish + editable per-post Hero. */

/* Elementor spacing controls must win over the visual defaults even at 0–1px. */
.elementor-widget-artesa_article_gallery,
.elementor-widget-artesa_article_stack,
.elementor-widget-artesa_article_media_block,
.elementor-widget-artesa_article_split,
.elementor-widget-artesa_article_video {
    --artesa-gallery-button-gap: 14px;
    --artesa-media-credit-gap: 10px;
}
.artesa-editorial-card .artesa-carousel__toolbar {
    margin-bottom: var(--artesa-gallery-button-gap, 14px) !important;
}
.artesa-editorial-card .artesa-media-credit--manual {
    margin-top: var(--artesa-media-credit-gap, 10px) !important;
}

/* Quote: the accent line and decorative quote mark share one customizable color.
   The mark is removed from document flow so it never makes the section taller. */
.artesa-editorial-textquote .artesa-editorial-quote__box,
.artesa-editorial-quote .artesa-editorial-quote__box {
    --artesa-quote-accent: #024AD8;
    --artesa-quote-accent-width: 3px;
    border: 0 !important;
    border-left: var(--artesa-quote-accent-width) solid var(--artesa-quote-accent) !important;
    display: block !important;
    overflow: hidden;
    position: relative;
}
.artesa-editorial-textquote .artesa-editorial-quote__mark,
.artesa-editorial-quote .artesa-editorial-quote__mark {
    color: var(--artesa-quote-accent) !important;
    font-family: Georgia, serif;
    font-size: clamp(64px, 8vw, 104px);
    font-weight: 700;
    line-height: .72;
    margin: 0;
    opacity: .16;
    pointer-events: none;
    position: absolute;
    right: 20px;
    top: 18px;
    z-index: 0;
}
.artesa-editorial-textquote .artesa-editorial-quote__text,
.artesa-editorial-quote .artesa-editorial-quote__text,
.artesa-editorial-textquote .artesa-editorial-quote__cite,
.artesa-editorial-quote .artesa-editorial-quote__cite {
    position: relative;
    z-index: 1;
}
.artesa-editorial-textquote .artesa-editorial-quote__cite,
.artesa-editorial-quote .artesa-editorial-quote__cite {
    display: block !important;
    grid-column: auto !important;
    justify-self: auto !important;
    text-align: left !important;
    width: 100% !important;
}

/* The editable Hero is visually identical to the hidden global-template Hero. */
.elementor-widget-artesa_article_editable_hero {
    max-width: none !important;
    width: 100% !important;
}
body.single-post .artesa-elementor-template-render .elementor-widget-artesa_article_editable_hero .artesa-article-hero,
body.elementor-editor-active .artesa-elementor-template-render .elementor-widget-artesa_article_editable_hero .artesa-article-hero {
    margin-top: 0 !important;
}


/* v0.18.1 — final spacing fixes for manual galleries/media and editable Hero meta. */
/* Elementor controls now write the actual margins directly. Keep these only as
   visual fallbacks when a widget has never saved a spacing value. */
.artesa-editorial-card .artesa-carousel__toolbar {
    margin-bottom: 14px;
}
.artesa-editorial-card .artesa-media-credit--manual {
    margin-top: 10px;
}

/* The editable Hero must keep date and author on the same visual centre line,
   regardless of typography differences between the date and author name. */
@media (min-width: 768px) {
    .elementor-widget-artesa_article_editable_hero .artesa-article-hero__meta {
        align-items: center !important;
        display: flex !important;
    }
    .elementor-widget-artesa_article_editable_hero .artesa-article-hero__date {
        align-items: center;
        display: flex !important;
        min-height: 40px;
        margin-bottom: 0 !important;
        margin-top: 0 !important;
    }
    .elementor-widget-artesa_article_editable_hero .artesa-article-author {
        align-items: center !important;
        display: flex !important;
        margin-bottom: 0 !important;
        margin-top: 0 !important;
    }
}


/* v0.18.2 — manual gallery spacing: imported-content.css gives every carousel
   a large vertical margin. Manual ARTESA cards must opt out of that global
   imported-content rhythm so their own Elementor spacing controls are the
   only source of space above/below the carousel. */
body.single-post article.post .artesa-editorial-card .artesa-carousel--gallery,
body.elementor-editor-active article.post .artesa-editorial-card .artesa-carousel--gallery,
body.elementor-editor-active .artesa-editorial-card .artesa-carousel--gallery {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

/* Keep the editable Hero meta compact like the template Hero. 0.18.1 fixed
   vertical centring; this reduces the duplicated horizontal spacing created
   by both the meta gap and the author's separator padding. */
@media (min-width: 768px) {
    .elementor-widget-artesa_article_editable_hero .artesa-article-hero__meta {
        gap: 10px !important;
    }
    .elementor-widget-artesa_article_editable_hero .artesa-article-author {
        padding-left: 10px !important;
    }
}


/* v0.18.3 — editable Hero: keep author immediately after the date.
   Some Elementor/theme flex rules can let the author item absorb remaining
   space inside the full-width meta row. Force both meta children to remain
   intrinsic-width and anchored at the left edge. */
@media (min-width: 768px) {
    .elementor-widget-artesa_article_editable_hero .artesa-article-hero__meta {
        justify-content: flex-start !important;
        column-gap: 12px !important;
    }
    .elementor-widget-artesa_article_editable_hero .artesa-article-hero__date,
    .elementor-widget-artesa_article_editable_hero .artesa-article-author {
        flex: 0 0 auto !important;
        width: auto !important;
    }
    .elementor-widget-artesa_article_editable_hero .artesa-article-author {
        margin-left: 0 !important;
        padding-left: 12px !important;
    }
}

/* v0.18.6 — editable Hero meta: clean, valid CSS.
   Previous 0.18.4 text accidentally contained literal \n sequences, so the browser
   parsed the intended @media block as an invalid selector and ignored the
   alignment rules. Keep date + author in one intrinsic-width row. */
@media (min-width: 768px) {
    .elementor-widget-artesa_article_editable_hero .artesa-article-hero__meta {
        align-items: center !important;
        display: flex !important;
        justify-content: flex-start !important;
        width: 100% !important;
    }
    .elementor-widget-artesa_article_editable_hero .artesa-article-hero__meta-inner {
        align-items: center !important;
        display: inline-flex !important;
        flex: 0 0 auto !important;
        gap: 12px !important;
        justify-content: flex-start !important;
        margin: 0 !important;
        max-width: none !important;
        width: auto !important;
    }
    .elementor-widget-artesa_article_editable_hero .artesa-article-hero__meta-inner > .artesa-article-hero__date,
    .elementor-widget-artesa_article_editable_hero .artesa-article-hero__meta-inner > .artesa-article-author {
        flex: 0 0 auto !important;
        margin: 0 !important;
        width: auto !important;
    }
    .elementor-widget-artesa_article_editable_hero .artesa-article-hero__meta-inner > .artesa-article-hero__date {
        align-items: center !important;
        display: inline-flex !important;
        min-height: 40px;
    }
    .elementor-widget-artesa_article_editable_hero .artesa-article-hero__meta-inner > .artesa-article-author {
        align-items: center !important;
        border-left: 1px solid var(--artesa-article-line, #d9e4e8);
        display: inline-flex !important;
        padding-left: 12px !important;
    }
}

/* v0.22.20 — finite navigation for editorial/project media carousels and lightbox. */
.artesa-carousel--gallery .artesa-carousel__button:disabled,
.artesa-carousel--video .artesa-carousel__button:disabled {
    cursor: default !important;
    opacity: .28 !important;
    pointer-events: none !important;
}
.artesa-lightbox__nav:disabled {
    cursor: default !important;
    opacity: .22 !important;
    pointer-events: none !important;
}

/* v0.23.0 — ARTESA NOU: flexible vertical Text / Media / Text widget. */
.elementor-widget-artesa_new_article_stack {
    max-width: none !important;
    width: 100% !important;
}
.artesa-editorial-card--stack-new {
    --artesa-new-stack-gap: 24px;
    max-width: 1200px;
    padding: 28px 32px;
}
.artesa-editorial-stack--new {
    display: flex;
    flex-direction: column;
    gap: var(--artesa-new-stack-gap, 24px);
}
.artesa-editorial-stack--new > .artesa-section-label {
    margin-bottom: 0;
}
.artesa-editorial-stack--new .artesa-new-stack__section {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}
.artesa-editorial-stack--new .artesa-new-stack__text-section {
    max-width: 1200px;
}
.artesa-editorial-stack--new .artesa-new-stack__media-section {
    max-width: 1120px;
}
.artesa-editorial-stack--new .artesa-new-stack__title {
    margin: 0 0 14px;
    color: var(--artesa-article-ink, #111827);
    font-family: Inter, system-ui, sans-serif;
    font-size: clamp(24px, 2.5vw, 34px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.01em;
}
.artesa-editorial-stack--new .artesa-new-stack__text {
    color: var(--artesa-content-text-color, #263746);
    font-family: Inter, system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.6;
}
.artesa-editorial-stack--new .artesa-new-stack__text p {
    margin-top: 0;
    margin-bottom: 14px;
}
.artesa-editorial-stack--new .artesa-new-stack__text p:last-child {
    margin-bottom: 0;
}
.artesa-editorial-stack--new .artesa-new-stack__text a {
    color: var(--artesa-article-blue, #024AD8);
}
.artesa-editorial-stack--new .artesa-editorial-stack__visual,
.artesa-editorial-stack--new .artesa-editorial-stack__gallery {
    width: 100%;
}
.artesa-editorial-stack--new .artesa-editorial-stack__visual {
    border-radius: 14px;
    overflow: hidden;
}
.artesa-editorial-stack--new .artesa-editorial-stack__visual img {
    display: block;
    height: auto;
    width: 100%;
}
.artesa-editorial-stack--new .artesa-editorial-video__frame {
    aspect-ratio: 16 / 9;
}
.artesa-editorial-stack--new .artesa-carousel__toolbar {
    margin-bottom: 14px;
}


/* v0.23.1 — optional full-row layout for short galleries in ARTESA NOU stack. */
.artesa-editorial-stack--new .artesa-editorial-gallery__grid--fill-short.artesa-editorial-gallery__grid--count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.artesa-editorial-stack--new .artesa-editorial-gallery__grid--fill-short.artesa-editorial-gallery__grid--count-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.artesa-editorial-stack--new .artesa-editorial-gallery__grid--fill-short.artesa-editorial-gallery__grid--count-1 {
    grid-template-columns: minmax(0, var(--artesa-single-media-width, 50%)) !important;
    justify-content: center;
}
@media (max-width: 767px) {
    .artesa-editorial-stack--new .artesa-editorial-gallery__grid--fill-short.artesa-editorial-gallery__grid--count-1 {
        grid-template-columns: minmax(0, 100%) !important;
    }
    .artesa-editorial-stack--new .artesa-editorial-gallery__grid--fill-short.artesa-editorial-gallery__grid--count-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .artesa-editorial-stack--new .artesa-editorial-gallery__grid--fill-short.artesa-editorial-gallery__grid--count-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* v0.23.9 — per-article shell background + robust centering for both legacy
   Elementor sections and modern flex containers. The outer page background
   remains untouched; only the large article shell and its internal axis are
   normalized. */
body.single-post .artesa-elementor-template-render,
body.elementor-editor-active .artesa-elementor-template-render {
    background-color: var(--artesa-article-shell-background, #DDF5F8) !important;
}

/* Elementor has produced both legacy Section/Column markup and modern e-con
   markup over the life of this site. Reset only the outer template scaffolding
   so the visual article modules share the exact centre line of the cyan shell. */
body.single-post .artesa-elementor-template-render > :is(.elementor, [data-elementor-type]),
body.elementor-editor-active .artesa-elementor-template-render > :is(.elementor, [data-elementor-type]) {
    align-items: stretch !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
}

body.single-post .artesa-elementor-template-render > :is(.elementor, [data-elementor-type]) > .e-con.e-parent,
body.elementor-editor-active .artesa-elementor-template-render > :is(.elementor, [data-elementor-type]) > .e-con.e-parent,
body.single-post .artesa-elementor-template-render > :is(.elementor, [data-elementor-type]) > .elementor-section,
body.elementor-editor-active .artesa-elementor-template-render > :is(.elementor, [data-elementor-type]) > .elementor-section,
body.single-post .artesa-elementor-template-render > :is(.elementor, [data-elementor-type]) > .elementor-section-wrap > .elementor-section,
body.elementor-editor-active .artesa-elementor-template-render > :is(.elementor, [data-elementor-type]) > .elementor-section-wrap > .elementor-section {
    align-self: stretch !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
}

/* Legacy Elementor sections can carry the offset on their inner container /
   column wrapper instead of on the section itself. Neutralize that outer
   scaffolding only; padding inside the actual ARTESA cards is preserved. */
body.single-post .artesa-elementor-template-render > :is(.elementor, [data-elementor-type]) > .elementor-section > .elementor-container,
body.elementor-editor-active .artesa-elementor-template-render > :is(.elementor, [data-elementor-type]) > .elementor-section > .elementor-container,
body.single-post .artesa-elementor-template-render > :is(.elementor, [data-elementor-type]) > .elementor-section-wrap > .elementor-section > .elementor-container,
body.elementor-editor-active .artesa-elementor-template-render > :is(.elementor, [data-elementor-type]) > .elementor-section-wrap > .elementor-section > .elementor-container {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
}

body.single-post .artesa-elementor-template-render > :is(.elementor, [data-elementor-type]) > .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.elementor-editor-active .artesa-elementor-template-render > :is(.elementor, [data-elementor-type]) > .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.single-post .artesa-elementor-template-render > :is(.elementor, [data-elementor-type]) > .elementor-section-wrap > .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.elementor-editor-active .artesa-elementor-template-render > :is(.elementor, [data-elementor-type]) > .elementor-section-wrap > .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
    box-sizing: border-box !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
}

/* Every top-level article module is centred independently. This covers the
   current NOU widget as well as legacy content that still has to remain live. */
body.single-post .artesa-elementor-template-render :is(
    .elementor-widget-artesa_article_hero,
    .elementor-widget-artesa_article_editable_hero,
    .elementor-widget-artesa_article_content,
    .elementor-widget-artesa_article_navigation,
    .elementor-widget-artesa_article_text_block,
    .elementor-widget-artesa_article_media_block,
    .elementor-widget-artesa_article_split,
    .elementor-widget-artesa_article_quote,
    .elementor-widget-artesa_article_gallery,
    .elementor-widget-artesa_article_video,
    .elementor-widget-artesa_article_stack,
    .elementor-widget-artesa_new_article_stack
),
body.elementor-editor-active .artesa-elementor-template-render :is(
    .elementor-widget-artesa_article_hero,
    .elementor-widget-artesa_article_editable_hero,
    .elementor-widget-artesa_article_content,
    .elementor-widget-artesa_article_navigation,
    .elementor-widget-artesa_article_text_block,
    .elementor-widget-artesa_article_media_block,
    .elementor-widget-artesa_article_split,
    .elementor-widget-artesa_article_quote,
    .elementor-widget-artesa_article_gallery,
    .elementor-widget-artesa_article_video,
    .elementor-widget-artesa_article_stack,
    .elementor-widget-artesa_new_article_stack
) {
    align-self: stretch !important;
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: none !important;
    width: 100% !important;
}


/* v0.23.10 — compact single-video presentation in the NOU vertical media widget
   + remove the article-shell side inset on phones. Inner white-card padding is
   intentionally preserved. */
@media (min-width: 768px) {
    .artesa-editorial-stack--new .artesa-editorial-video__frame {
        margin-left: auto !important;
        margin-right: auto !important;
        width: 50% !important;
    }
}

@media (max-width: 767px) {
    .artesa-editorial-stack--new .artesa-editorial-video__frame {
        margin-left: auto !important;
        margin-right: auto !important;
        width: 100% !important;
    }

    body.single-post .artesa-elementor-template-render,
    body.elementor-editor-active .artesa-elementor-template-render {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}


/* v0.23.12 — one owner for the article-shell background. The per-article
   document setting is applied directly on .artesa-elementor-template-render;
   the reusable Hero no longer emits or owns a competing shell colour.
   v0.23.9/0.23.10 centering geometry remains untouched. */


/* v0.23.13 — article-shell colour is global and is injected inline by PHP.
   Per-article Elementor document values are intentionally ignored. */

/* v0.23.14 — configurable single-photo/video width and single-photo framing
   in the flexible vertical article widget. Existing defaults remain 50% and
   4:3 cover; editors can opt into 75/100% and original proportions. */
@media (min-width: 768px) {
    .artesa-editorial-stack--new .artesa-editorial-gallery__grid--count-1 {
        grid-template-columns: minmax(0, var(--artesa-single-media-width, 50%)) !important;
        justify-content: center !important;
    }
    .artesa-editorial-stack--new .artesa-editorial-video__frame {
        margin-left: auto !important;
        margin-right: auto !important;
        width: var(--artesa-single-media-width, 50%) !important;
    }
}

.artesa-editorial-stack--new .artesa-editorial-gallery__grid--count-1 .artesa-editorial-gallery__thumb {
    aspect-ratio: var(--artesa-single-image-ratio, 4 / 3) !important;
    height: auto !important;
    object-fit: var(--artesa-single-image-fit, cover) !important;
    width: 100% !important;
}
.artesa-editorial-stack--new .artesa-editorial-gallery__grid--count-1 .artesa-editorial-gallery__item:hover .artesa-editorial-gallery__thumb,
.artesa-editorial-stack--new .artesa-editorial-gallery__grid--count-1 .artesa-editorial-gallery__item:focus-visible .artesa-editorial-gallery__thumb {
    transform: none;
}

@media (max-width: 767px) {
    .artesa-editorial-stack--new .artesa-editorial-gallery__grid--count-1,
    .artesa-editorial-stack--new .artesa-editorial-video__frame {
        width: 100% !important;
    }
    .artesa-editorial-stack--new .artesa-editorial-gallery__grid--count-1 {
        grid-template-columns: minmax(0, 100%) !important;
    }
}


/* v0.23.21 — Text / Quote heading-to-content gap.
 * Put the spacing on the first rendered content element instead of on the H2
 * margin-bottom, so theme/blockquote margins cannot swallow small values. */
.artesa-editorial-textquote {
    --artesa-heading-content-gap: 16px;
}
.artesa-editorial-textquote .artesa-editorial-text__heading {
    margin-bottom: 0 !important;
}
.artesa-editorial-textquote .artesa-editorial-text__heading + .artesa-editorial-textquote__quote,
.artesa-editorial-textquote .artesa-editorial-text__heading + .artesa-editorial-text__body {
    margin-top: var(--artesa-heading-content-gap) !important;
}
.artesa-editorial-textquote__quote > .artesa-editorial-quote__box {
    margin: 0 !important;
}

/* v0.23.26 — standalone gallery spacing.
 * The extracted gallery no longer lives inside the old editorial card, so
 * neutralise margins inherited by the carousel source/slides and let the two
 * Elementor controls own the real toolbar→media and media→credit distances. */
.elementor-widget-artesa_article_gallery_simple .artesa-article-gallery-standalone,
.elementor-widget-artesa_article_gallery_simple .artesa-new-stack__media-section,
.elementor-widget-artesa_article_gallery_simple .artesa-editorial-gallery,
.elementor-widget-artesa_article_gallery_simple .artesa-editorial-gallery__carousel-source,
.elementor-widget-artesa_article_gallery_simple .artesa-carousel--gallery,
.elementor-widget-artesa_article_gallery_simple .artesa-carousel__track {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.elementor-widget-artesa_article_gallery_simple .artesa-editorial-gallery__slide,
.elementor-widget-artesa_article_gallery_simple .artesa-editorial-gallery__carousel-source > figure,
.elementor-widget-artesa_article_gallery_simple .artesa-carousel__slide {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.elementor-widget-artesa_article_gallery_simple .artesa-carousel__toolbar {
    margin-top: 0 !important;
    margin-bottom: var(--artesa-standalone-gallery-button-gap, 14px) !important;
}
.elementor-widget-artesa_article_gallery_simple .artesa-media-credit--manual {
    margin-top: var(--artesa-standalone-credit-gap, 10px) !important;
    margin-bottom: 0 !important;
}
