/* Juliana Nails – AGB page. Core Gutenberg details, no frontend JS. */
.jnds-legal-page,
.jnds-legal-page * {
    box-sizing: border-box;
}

.jnds-legal-page {
    --jnds-legal-rail: 1600px;
    --jnds-legal-text: #4d4b4b;
    --jnds-legal-heading: #191919;
    --jnds-legal-muted: #7c7c7c;
    --jnds-legal-border: #eeeeee;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 0 clamp(54px, 7vw, 96px);
    color: var(--jnds-legal-text);
}

/* Reuse the existing high-performance JN hero but tune it to the legal-page artwork. */
.jnds-legal-page > .jnds-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    height: clamp(260px, 24vw, 360px);
    margin: 0 calc(50% - 50vw) clamp(30px, 4vw, 52px) !important;
    border-radius: 0;
    background: #f8f5f5;
}

.jnds-legal-page > .jnds-hero .jnds-hero__image {
    object-position: center center;
}

.jnds-legal-page > .jnds-hero .jnds-hero__overlay,
.jnds-legal-page > .jnds-hero.jnds-hero--left .jnds-hero__overlay {
    background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.87) 34%, rgba(255,255,255,.28) 72%, rgba(255,255,255,.04) 100%);
}

.jnds-legal-page > .jnds-hero .jnds-hero__content,
.jnds-legal-page > .jnds-hero.jnds-hero--left .jnds-hero__content {
    right: auto;
    left: clamp(22px, 4.5vw, 74px);
    width: min(56%, 820px);
}

.jnds-legal-page > .jnds-hero .jnds-hero__title {
    max-width: 820px;
    margin: 0 !important;
    color: #000 !important;
    font-size: clamp(30px, 3vw, 48px) !important;
    line-height: 1.05 !important;
    text-shadow: none !important;
}

.jnds-legal-content {
    width: min(calc(100% - 32px), var(--jnds-legal-rail));
    max-width: var(--jnds-legal-rail) !important;
    margin: 0 auto !important;
    padding: 0;
}

.jnds-legal-content > .jnds-legal-item {
    width: 100%;
    margin: 0 !important;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--jnds-legal-border);
    background: #fff;
}

.jnds-legal-item:first-child {
    border-top: 1px solid var(--jnds-legal-border);
}

.jnds-legal-item > summary {
    position: relative;
    display: block;
    width: 100%;
    min-height: 48px;
    padding: 15px 48px 15px 15px;
    color: var(--jnds-legal-muted);
    font-family: Montserrat, Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: .3px;
    text-transform: uppercase;
    cursor: pointer;
    list-style: none;
}

.jnds-legal-item > summary::-webkit-details-marker {
    display: none;
}

.jnds-legal-item > summary::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 18px;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid #4c4c4c;
    border-bottom: 1.5px solid #4c4c4c;
    transform: translateY(-65%) rotate(45deg);
    transition: transform .16s ease;
}

.jnds-legal-item[open] > summary {
    color: #0c0c0c;
}

.jnds-legal-item[open] > summary::after {
    transform: translateY(-30%) rotate(225deg);
}

.jnds-legal-item > :not(summary) {
    margin-left: 15px !important;
    margin-right: 15px !important;
}

.jnds-legal-item > :nth-child(2) {
    margin-top: 0 !important;
}

.jnds-legal-item > :last-child {
    margin-bottom: 18px !important;
}

.jnds-legal-item p,
.jnds-legal-item li {
    color: var(--jnds-legal-text);
    font-family: Montserrat, Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.65;
}

.jnds-legal-item p {
    margin-top: 0;
    margin-bottom: 14px;
}

.jnds-legal-item .wp-block-list {
    padding-left: 1.4em;
    margin-top: 0;
    margin-bottom: 14px;
}

.jnds-legal-item a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.jnds-legal-item a:hover,
.jnds-legal-item a:focus-visible {
    color: #000;
}

@media (max-width: 700px) {
    .jnds-legal-page > .jnds-hero {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 230px;
        aspect-ratio: auto;
        margin: 0 calc(50% - 50vw) 28px !important;
        border-radius: 0;
    }

    .jnds-legal-page > .jnds-hero .jnds-hero__overlay,
    .jnds-legal-page > .jnds-hero.jnds-hero--left .jnds-hero__overlay {
        background: linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.76) 58%, rgba(255,255,255,.18) 100%);
    }

    .jnds-legal-page > .jnds-hero .jnds-hero__content,
    .jnds-legal-page > .jnds-hero.jnds-hero--left .jnds-hero__content {
        top: 50%;
        right: 18px;
        bottom: auto;
        left: 18px;
        transform: translateY(-50%);
        width: auto;
    }

    .jnds-legal-page > .jnds-hero .jnds-hero__title {
        max-width: 90%;
        font-size: clamp(27px, 8vw, 36px) !important;
        letter-spacing: -.7px;
    }

    .jnds-legal-content {
        width: calc(100% - 28px);
    }

    .jnds-legal-item > summary {
        padding: 14px 42px 14px 12px;
        font-size: 12px;
    }

    .jnds-legal-item > :not(summary) {
        margin-left: 12px !important;
        margin-right: 12px !important;
    }

    .jnds-legal-item p,
    .jnds-legal-item li {
        font-size: 13px;
        line-height: 1.6;
    }
}

@media (prefers-reduced-motion: reduce) {
    .jnds-legal-item > summary::after {
        transition: none;
    }
}

/* =========================================================
   RC106 – Datenschutz + Impressum
   Native Gutenberg document layouts; no JS.
   ========================================================= */
.jnds-legal-document {
    width: min(calc(100% - 32px), 1180px);
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0;
    color: var(--jnds-legal-text);
}

.jnds-imprint-document {
    max-width: 1040px !important;
}

.jnds-legal-document > * {
    max-width: none !important;
}

.jnds-legal-document__lead {
    margin: 0 0 34px !important;
    padding: 18px 20px;
    border: 1px solid #f0e6ea;
    border-radius: 12px;
    background: #fcf8fa;
    color: #6f6066;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 13px;
    line-height: 1.6;
}

.jnds-legal-document__heading {
    margin: 42px 0 14px !important;
    color: var(--jnds-legal-heading) !important;
    font-family: Montserrat, Arial, sans-serif !important;
    font-size: clamp(18px, 1.5vw, 24px) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: -.02em;
}

.jnds-legal-document__lead + .jnds-legal-document__heading,
.jnds-imprint-document > .jnds-legal-document__heading:first-child {
    margin-top: 0 !important;
}

.jnds-legal-document__subheading {
    margin: 26px 0 10px !important;
    color: var(--jnds-legal-heading) !important;
    font-family: Montserrat, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 750 !important;
    line-height: 1.4 !important;
}

.jnds-legal-document p,
.jnds-legal-document li {
    color: var(--jnds-legal-text);
    font-family: Montserrat, Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.72;
}

.jnds-legal-document p {
    margin-top: 0;
    margin-bottom: 16px;
}

.jnds-legal-document .wp-block-list {
    margin: 2px 0 20px !important;
    padding-left: 1.45em;
}

.jnds-legal-document li + li {
    margin-top: 5px;
}

.jnds-legal-document a {
    color: #222;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.jnds-legal-document a:hover,
.jnds-legal-document a:focus-visible {
    color: #b51546;
}

.jnds-imprint-document {
    padding: 4px 0 10px;
}

.jnds-imprint-document > p {
    margin-bottom: 22px;
}

@media (max-width: 700px) {
    .jnds-legal-document {
        width: calc(100% - 28px);
    }

    .jnds-legal-document__lead {
        margin-bottom: 26px !important;
        padding: 15px 16px;
        font-size: 12px;
    }

    .jnds-legal-document__heading {
        margin-top: 34px !important;
        font-size: 19px !important;
    }

    .jnds-legal-document__subheading {
        margin-top: 22px !important;
        font-size: 15px !important;
    }

    .jnds-legal-document p,
    .jnds-legal-document li {
        font-size: 13px;
        line-height: 1.65;
    }
}

/* =========================================================
   RC108 – Legal hero truly full bleed
   Privacy + imprint now ignore Shoptimizer/Gutenberg content rails.
   ========================================================= */
.jnds-privacy-page > .jnds-hero,
.jnds-imprint-page > .jnds-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}


/* RC122: HR terms readability. Keep AT legal pages unchanged. */
.jnds-terms-hr-page .jnds-legal-item,
.jnds-terms-hr-page .jnds-legal-item > summary,
.jnds-terms-hr-page .jnds-legal-item p,
.jnds-terms-hr-page .jnds-legal-item li,
.jnds-terms-hr-page .jnds-legal-item strong,
.jnds-terms-hr-page .jnds-legal-item a {
    color: #000 !important;
}

.jnds-terms-hr-page .jnds-legal-item > summary::after {
    border-color: #000 !important;
}


/* =========================================================
   RC132 – HR competition rules
   Branded hero + compact native Details cards. No frontend JS.
   ========================================================= */
.jnds-contest-rules-hr-page {
    --jnds-contest-pink: #e66f9a;
    --jnds-contest-pink-dark: #c94f7d;
    --jnds-contest-soft: #fff6f9;
    --jnds-contest-border: #f0dce4;
}

.jnds-contest-rules-hr-page > .jnds-contest-rules-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 calc(50% - 50vw) clamp(32px, 5vw, 60px) !important;
    padding: clamp(56px, 7vw, 92px) 0;
    background:
        radial-gradient(circle at 82% 18%, rgba(230,111,154,.20), transparent 31%),
        linear-gradient(135deg, #fff 0%, #fff8fb 58%, #fcebf2 100%);
    border-bottom: 1px solid #f3e2e8;
}

.jnds-contest-rules-hero__inner {
    width: min(calc(100% - 40px), 1180px);
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.jnds-contest-rules-hero__inner > * {
    max-width: 900px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.jnds-contest-rules-hero__eyebrow {
    margin: 0 0 14px !important;
    color: var(--jnds-contest-pink-dark) !important;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.4;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.jnds-contest-rules-hero__title {
    margin: 0 !important;
    color: #191919 !important;
    font-family: Montserrat, Arial, sans-serif !important;
    font-size: clamp(34px, 4.2vw, 62px) !important;
    font-weight: 900 !important;
    line-height: 1.01 !important;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.jnds-contest-rules-hero__tagline {
    margin: 20px 0 0 !important;
    color: #655d61 !important;
    font-family: Montserrat, Arial, sans-serif;
    font-size: clamp(16px, 1.5vw, 21px) !important;
    font-weight: 500;
    line-height: 1.5;
}

.jnds-contest-rules-content {
    width: min(calc(100% - 40px), 1180px);
    max-width: 1180px !important;
}

.jnds-contest-rules-content > .jnds-contest-rules-item {
    margin: 0 0 12px !important;
    overflow: hidden;
    border: 1px solid var(--jnds-contest-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 9px 28px rgba(37, 22, 29, .045);
}

.jnds-contest-rules-content > .jnds-contest-rules-item:first-child {
    border-top: 1px solid var(--jnds-contest-border);
}

.jnds-contest-rules-item > summary {
    min-height: 58px;
    padding: 18px 58px 18px 20px;
    color: #202020 !important;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: -.01em;
    text-transform: none;
}

.jnds-contest-rules-item > summary::after {
    right: 22px;
    width: 9px;
    height: 9px;
    border-color: var(--jnds-contest-pink-dark);
}

.jnds-contest-rules-item[open] {
    border-color: #e9c6d4;
    box-shadow: 0 12px 32px rgba(37, 22, 29, .065);
}

.jnds-contest-rules-item[open] > summary {
    background: var(--jnds-contest-soft);
    color: #111 !important;
}

.jnds-contest-rules-item > :not(summary) {
    margin-left: 20px !important;
    margin-right: 20px !important;
}

.jnds-contest-rules-item > :nth-child(2) {
    margin-top: 20px !important;
}

.jnds-contest-rules-item > :last-child {
    margin-bottom: 22px !important;
}

.jnds-contest-rules-item p,
.jnds-contest-rules-item li {
    color: #4d4b4b !important;
    font-size: 14px;
    line-height: 1.72;
}

.jnds-contest-rules-item strong {
    color: #222;
}

.jnds-contest-rules-item a {
    color: #b51546;
    font-weight: 650;
}

@media (max-width: 700px) {
    .jnds-contest-rules-hr-page > .jnds-contest-rules-hero {
        padding: 44px 0 48px;
        margin-bottom: 30px !important;
    }

    .jnds-contest-rules-hero__inner,
    .jnds-contest-rules-content {
        width: calc(100% - 28px);
    }

    .jnds-contest-rules-hero__title {
        font-size: clamp(31px, 10vw, 43px) !important;
    }

    .jnds-contest-rules-hero__tagline {
        margin-top: 16px !important;
        font-size: 15px !important;
    }

    .jnds-contest-rules-item > summary {
        min-height: 54px;
        padding: 16px 50px 16px 16px;
        font-size: 13px;
    }

    .jnds-contest-rules-item > summary::after {
        right: 18px;
    }

    .jnds-contest-rules-item > :not(summary) {
        margin-left: 16px !important;
        margin-right: 16px !important;
    }

    .jnds-contest-rules-item > :nth-child(2) {
        margin-top: 16px !important;
    }

    .jnds-contest-rules-item > :last-child {
        margin-bottom: 18px !important;
    }
}
