/*
=========================================================
NTR V2 — GLOBAL SLOGAN ENGINE
Version: 1.0
Owner: NTR V2 - Content Manager v0.5.x
=========================================================
*/

.ntr-v2-slogan-widget {
    --ntr-slogan-color: var(--ntr-text, #0d1b28);
    --ntr-slogan-stroke: var(--ntr-accent, #ff7a00);

    width: min(100%, 340px);
    min-width: 0;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    margin: 0;
    padding: 0;

    color: var(--ntr-slogan-color);
    text-align: center;

    pointer-events: none;
}

.ntr-v2-slogan-widget.is-align-left {
    align-items: flex-start;
    text-align: left;
}

.ntr-v2-slogan-widget.is-align-right {
    align-items: flex-end;
    text-align: right;
}

.ntr-v2-slogan-widget__text {
    font-family: "Caveat", cursive;
    font-size: clamp(30px, 2.6vw, 44px);
    font-weight: 600;
    line-height: .90;
    white-space: pre-line;
}

.ntr-v2-slogan-widget__stroke {
    display: block;
    width: 92px;
    height: 7px;
    margin-top: 12px;
    border-radius: 999px;
    background: var(--ntr-slogan-stroke);
    transform: rotate(-5deg);
}

.ntr-v2-slogan-widget.is-variant-hero,
.ntr-v2-slogan-widget.is-auto-archive {
    --ntr-slogan-color: #fff;
    text-shadow: 0 2px 16px rgba(0,0,0,.65);
}

.ntr-v2-slogan-widget.is-variant-compact .ntr-v2-slogan-widget__text {
    font-size: clamp(24px, 2.2vw, 34px);
}

.ntr-v2-slogan-widget.is-width-auto.is-auto-compact {
    width: min(100%, 270px);
}

.ntr-v2-slogan-widget.is-width-auto.is-auto-balanced {
    width: min(100%, 250px);
}

.ntr-v2-slogan-widget.is-width-auto.is-auto-stacked {
    width: min(100%, 225px);
}

.ntr-v2-slogan-widget.is-width-short {
    width: min(100%, 230px);
}

.ntr-v2-slogan-widget.is-width-medium {
    width: min(100%, 300px);
}

.ntr-v2-slogan-widget.is-width-wide {
    width: min(100%, 400px);
}

.ntr-v2-slogan-widget.is-width-auto.is-auto-compact .ntr-v2-slogan-widget__text {
    font-size: clamp(36px, 3vw, 50px);
}

.ntr-v2-slogan-widget.is-width-auto.is-auto-balanced .ntr-v2-slogan-widget__text {
    font-size: clamp(32px, 2.7vw, 46px);
}

.ntr-v2-slogan-widget.is-width-auto.is-auto-stacked .ntr-v2-slogan-widget__text {
    font-size: clamp(30px, 2.5vw, 43px);
}

.ntr-v2-slogan-widget.is-width-short .ntr-v2-slogan-widget__text {
    font-size: clamp(34px, 2.9vw, 48px);
}

.ntr-v2-slogan-widget.is-width-wide .ntr-v2-slogan-widget__text {
    font-size: clamp(27px, 2.2vw, 38px);
}

/*
 * Automatic archive adapter.
 * Legacy category classes are intentionally retained on the generated node,
 * so existing accepted Category Hero CSS (#40209) remains compatible.
 */
.ntr-v2-archive-hero-slogan.is-auto-archive {
    position: absolute;
    top: 50%;
    right: 42px;
    z-index: 4;

    width: min(28%, 330px);
    max-width: 330px;

    transform: translateY(-48%) rotate(-8deg);
}

.ntr-v2-archive-hero-slogan.is-auto-archive.is-width-auto.is-auto-compact { width: min(24%,270px); }
.ntr-v2-archive-hero-slogan.is-auto-archive.is-width-auto.is-auto-balanced { width: min(23%,250px); }
.ntr-v2-archive-hero-slogan.is-auto-archive.is-width-auto.is-auto-stacked { width: min(21%,225px); }
.ntr-v2-archive-hero-slogan.is-auto-archive.is-width-short { width: min(20%,230px); }
.ntr-v2-archive-hero-slogan.is-auto-archive.is-width-medium { width: min(26%,300px); }
.ntr-v2-archive-hero-slogan.is-auto-archive.is-width-wide { width: min(34%,400px); }

@media (min-width: 621px) and (max-width: 900px) {
    .ntr-v2-archive-hero-slogan.is-auto-archive {
        top: auto;
        right: 18px;
        bottom: 20px;
        width: 28%;
        max-width: 180px;
        transform: rotate(-7deg);
    }

    .ntr-v2-archive-hero-slogan.is-auto-archive .ntr-v2-slogan-widget__text {
        font-size: clamp(23px, 3.8vw, 29px);
        line-height: .88;
    }

    .ntr-v2-archive-hero-slogan.is-auto-archive .ntr-v2-slogan-widget__stroke {
        width: 64px;
        max-width: 70%;
        height: 5px;
        margin-top: 8px;
    }
}

@media (max-width: 767px) {
    .ntr-v2-archive-hero-slogan.is-auto-archive {
        top: auto;
        right: 16px;
        bottom: 18px;
        width: 28%;
        max-width: 150px;
        transform: rotate(-7deg);
    }

    .ntr-v2-archive-hero-slogan.is-auto-archive .ntr-v2-slogan-widget__text {
        font-size: clamp(21px, 5vw, 27px);
        line-height: .88;
    }

    .ntr-v2-archive-hero-slogan.is-auto-archive .ntr-v2-slogan-widget__stroke {
        width: 62px;
        max-width: 72%;
        height: 5px;
        margin-top: 8px;
    }
}

@media (max-width: 430px) {
    .ntr-v2-archive-hero-slogan.is-auto-archive {
        right: 12px;
        bottom: 17px;
        width: 30%;
        max-width: 125px;
    }

    .ntr-v2-archive-hero-slogan.is-auto-archive .ntr-v2-slogan-widget__text {
        font-size: clamp(20px, 6vw, 25px);
        line-height: .87;
    }

    .ntr-v2-archive-hero-slogan.is-auto-archive .ntr-v2-slogan-widget__stroke {
        width: 54px;
        height: 4px;
        margin-top: 7px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ntr-v2-archive-hero-slogan.is-auto-archive {
        transition: none !important;
    }
}
