/* =========================================================
   ECHTLEDERJACKEN
   Shared Policy Pages
   policy.css
   ========================================================= */

body.page-template-page-shipping-policy
.site-main,
body.page-template-page-return-policy
.site-main,
body.page-template-page-terms
.site-main,
body.page-template-page-privacy-policy
.site-main,
body.page-template-page-impressum
.site-main {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


.policy-page {
    width: 100%;

    background-color:
        var(--color-secondary);

    color:
        var(--color-primary);
}


.policy-container {
    width: 100%;
    max-width: 1320px;

    margin-inline: auto;

    padding-inline:
        clamp(1.5rem, 4vw, 4rem);
}


/* Hero */

.policy-hero {
    padding:
        clamp(2.5rem, 5vw, 5rem)
        0
        clamp(3.5rem, 6vw, 6rem);

    border-bottom:
        1px solid var(--color-border);
}


.policy-breadcrumb {
    display: flex;

    align-items: center;
    flex-wrap: wrap;

    gap: 0.55rem;

    margin-bottom:
        clamp(2rem, 4vw, 3.5rem);

    color:
        var(--color-text-muted);

    font-size:
        0.57rem;

    font-weight:
        650;

    letter-spacing:
        0.075em;

    text-transform:
        uppercase;
}


.policy-breadcrumb
a {
    color:
        inherit;

    text-decoration:
        none;
}


.policy-breadcrumb
a:hover {
    color:
        var(--color-accent-gold);
}


.policy-hero
h1 {
    max-width:
        980px;

    margin:
        0
        0
        1.4rem;

    color:
        var(--color-primary);

    font-family:
        var(--font-display);

    font-size:
        clamp(3rem, 5.8vw, 6rem);

    font-weight:
        400;

    line-height:
        0.95;

    letter-spacing:
        -0.045em;
}


.policy-hero__lead {
    max-width:
        760px;

    margin: 0;

    color:
        var(--color-text-muted);

    font-size:
        0.96rem;

    line-height:
        1.8;
}


.policy-updated {
    margin:
        1.5rem
        0
        0;

    color:
        var(--color-text-muted);

    font-size:
        0.55rem;

    font-weight:
        650;

    letter-spacing:
        0.07em;

    text-transform:
        uppercase;
}


/* Layout */

.policy-layout {
    display: grid;

    grid-template-columns:
        240px
        minmax(0, 760px);

    gap:
        clamp(4rem, 8vw, 9rem);

    justify-content:
        center;

    padding-top:
        clamp(4rem, 7vw, 7rem);

    padding-bottom:
        clamp(5rem, 9vw, 9rem);
}


.policy-summary {
    align-self:
        start;

    position:
        sticky;

    top:
        145px;

    padding-top:
        1rem;

    border-top:
        1px solid var(--color-primary);
}


.policy-summary__label {
    display:
        block;

    margin-bottom:
        0.8rem;

    color:
        var(--color-accent-gold);

    font-size:
        0.54rem;

    font-weight:
        750;

    letter-spacing:
        0.09em;

    text-transform:
        uppercase;
}


.policy-summary
p,
.policy-summary
li {
    color:
        var(--color-text-muted);

    font-size:
        0.7rem;

    line-height:
        1.65;
}


.policy-summary
ul {
    margin: 0;

    padding-left:
        1rem;
}


.policy-summary
a {
    color:
        var(--color-primary);

    font-size:
        0.67rem;

    text-decoration-color:
        var(--color-accent-gold);

    text-underline-offset:
        0.17em;
}


/* Content */

.policy-content {
    min-width:
        0;
}


.policy-content
section {
    padding:
        0
        0
        clamp(2.5rem, 5vw, 4rem);

    margin-bottom:
        clamp(2.5rem, 5vw, 4rem);

    border-bottom:
        1px solid var(--color-border);
}


.policy-content
section:last-child {
    margin-bottom:
        0;
}


.policy-section-number {
    display:
        block;

    margin-bottom:
        0.65rem;

    color:
        var(--color-accent-gold);

    font-family:
        var(--font-display);

    font-size:
        0.72rem;

    font-style:
        italic;
}


.policy-content
h2 {
    margin:
        0
        0
        1rem;

    color:
        var(--color-primary);

    font-family:
        var(--font-display);

    font-size:
        clamp(1.8rem, 3vw, 2.8rem);

    font-weight:
        400;

    line-height:
        1.05;
}


.policy-content
h3 {
    margin:
        1.75rem
        0
        0.65rem;

    color:
        var(--color-primary);

    font-family:
        var(--font-display);

    font-size:
        1.35rem;

    font-weight:
        400;
}


.policy-content
p,
.policy-content
li {
    color:
        var(--color-text-muted);

    font-size:
        0.88rem;

    line-height:
        1.82;
}


.policy-content
p {
    margin:
        0
        0
        1.1rem;
}


.policy-content
p:last-child {
    margin-bottom:
        0;
}


.policy-content
a {
    color:
        var(--color-primary);

    text-decoration-color:
        var(--color-accent-gold);

    text-underline-offset:
        0.18em;
}


.policy-content
strong {
    color:
        var(--color-primary);
}


/* Custom-goods callout */

.policy-callout {
    padding:
        1.5rem !important;

    background-color:
        var(--color-background-alt);

    border:
        1px solid var(--color-border) !important;

    border-left:
        2px solid var(--color-accent-gold) !important;
}


/* Withdrawal example */

.policy-form-box {
    border-bottom:
        0 !important;
}


.policy-form-example {
    margin:
        1.5rem
        0;

    padding:
        1.5rem;

    background-color:
        var(--color-background-alt);

    border:
        1px solid var(--color-border);
}


.policy-form-example
p {
    padding-bottom:
        0.8rem;

    border-bottom:
        1px solid var(--color-border);
}


.policy-form-example
p:last-child {
    padding-bottom:
        0;

    border-bottom:
        0;
}


/* Tablet */

@media (max-width: 960px) {

    .policy-layout {
        grid-template-columns:
            1fr;

        max-width:
            920px;

        gap:
            2.5rem;
    }


    .policy-summary {
        position:
            static;

        max-width:
            620px;
    }

}


/* Mobile */

@media (max-width: 680px) {

    .policy-container {
        padding-inline:
            1.25rem;
    }


    .policy-hero {
        padding-top:
            2rem;
    }


    .policy-hero
    h1 {
        font-size:
            clamp(2.8rem, 13vw, 4.4rem);
    }


    .policy-layout {
        padding-top:
            3rem;

        padding-bottom:
            5rem;
    }


    .policy-content
    section {
        padding-bottom:
            2.5rem;

        margin-bottom:
            2.5rem;
    }


    .policy-callout,
    .policy-form-example {
        padding:
            1.15rem !important;
    }

}

/* =========================================================
   IMPRESSUM
   ========================================================= */

.imprint-address
p {
    margin-bottom:
        0.45rem;
}


.imprint-address
address {
    margin-top:
        1rem;

    color:
        var(--color-text-muted);

    font-style:
        normal;

    font-size:
        0.88rem;

    line-height:
        1.82;
}


.imprint-legal-links {
    border-top:
        1px solid var(--color-primary);
}


.imprint-legal-links
a {
    display:
        flex;

    align-items:
        center;
    justify-content:
        space-between;

    gap:
        1rem;

    padding:
        1rem
        0;

    border-bottom:
        1px solid var(--color-border);

    color:
        var(--color-primary);

    font-size:
        0.72rem;

    font-weight:
        650;

    letter-spacing:
        0.025em;

    text-decoration:
        none;
}


.imprint-legal-links
a
span:last-child {
    color:
        var(--color-accent-gold);

    transition:
        transform var(--transition-fast);
}


.imprint-legal-links
a:hover
span:last-child {
    transform:
        translateX(4px);
}


@media (prefers-reduced-motion: reduce) {

    .imprint-legal-links
    a
    span:last-child {
        transition:
            none !important;
    }


    .imprint-legal-links
    a:hover
    span:last-child {
        transform:
            none !important;
    }

}
