
/* ==========================================================
   NOSPAX WEDDING THEME
   ========================================================== */

:root {
    --wedding-bg: #f6eddf;
    --wedding-paper: #fffaf2;
    --wedding-paper-soft: #fbf3e8;

    --wedding-text: #302721;
    --wedding-muted: #806e62;

    --wedding-accent: #cf7868;
    --wedding-accent-hover: #bd6759;
    --wedding-accent-soft: #e3aca1;

    --wedding-line: #ddcabb;

    --wedding-shadow:
        0 15px 40px rgba(79, 54, 40, .14);
}


/* ==========================================================
   GLOBAL
   ========================================================== */

html,
body {
    min-height: 100%;
}

body {
    margin: 0;

    background:
        radial-gradient(
            circle at 20% 10%,
            rgba(255,255,255,.55),
            transparent 32%
        ),
        radial-gradient(
            circle at 85% 45%,
            rgba(207,160,132,.10),
            transparent 32%
        ),
        var(--wedding-bg) !important;

    color: var(--wedding-text) !important;

    font-family:
        "Segoe UI",
        Arial,
        sans-serif;
}


/* leichte Papierstruktur */

body::before {
    content: "";

    position: fixed;
    inset: 0;

    pointer-events: none;

    opacity: .10;

    z-index: -1;

    background-image:
        repeating-radial-gradient(
            circle at 0 0,
            rgba(90,65,47,.16) 0,
            rgba(90,65,47,.16) .5px,
            transparent .7px,
            transparent 4px
        );
}


/* ==========================================================
   MEMTLY STANDARD AUSBLENDEN
   ========================================================== */

.profile-icon {
    display: none !important;
}

body:has(.wedding-gallery-page) .navbar,
body:has(.wedding-gallery-page) .btn-show-sponsors {
    display: none !important;
}

body:has(.wedding-gallery-page)
footer:not(.wedding-gallery-footer) {
    display: none !important;
}

.review-counter,
#main-gallery .review-counter {
    display: none !important;
}

#main-gallery .display-6,
#main-gallery .display-7 {
    display: none !important;
}


/* ==========================================================
   GALERIE SEITE
   ========================================================== */

html:has(.wedding-gallery-page),
body:has(.wedding-gallery-page),
body:has(.wedding-gallery-page) #main-wrapper,
body:has(.wedding-gallery-page) #main-content,
body:has(.wedding-gallery-page) main {
    background:
        var(--wedding-bg) !important;

    color:
        var(--wedding-text) !important;
}

.wedding-gallery-page {
    min-height: 100vh;

    background:
        transparent !important;

    color:
        var(--wedding-text) !important;
}


/* ==========================================================
   HERO
   ========================================================== */

.wedding-gallery-hero {
    position: relative !important;

    overflow: visible !important;

    text-align: center;

    padding:
        28px
        20px
        18px !important;

    background:
        transparent !important;
}

.wedding-gallery-flourish {
    color:
        #aa8267 !important;

    font-size:
        19px;

    margin-bottom:
        0;
}

.wedding-gallery-pretitle {
    font-family:
        "Segoe Script",
        "Brush Script MT",
        cursive;

    font-size:
        clamp(
            22px,
            3vw,
            31px
        );

    margin-bottom:
        -9px;

    color:
        #42372f !important;
}

.wedding-gallery-hero h1 {
    margin:
        0;

    font-family:
        "Segoe Script",
        "Brush Script MT",
        cursive;

    font-weight:
        400;

    line-height:
        1;

    letter-spacing:
        -4px;

    font-size:
        clamp(
            55px,
            6vw,
            76px
        ) !important;

    color:
        #27211d !important;
}

.wedding-gallery-hero h1 span {
    color:
        var(--wedding-accent) !important;

    font-size:
        .65em;
}


/* Galerie-Name nicht anzeigen */

.wedding-gallery-subtitle {
    display:
        none !important;
}


.wedding-gallery-divider {
    width:
        170px;

    margin:
        12px
        auto;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        10px;

    color:
        var(--wedding-accent);
}

.wedding-gallery-divider span {
    height:
        1px;

    background:
        var(--wedding-accent-soft);

    flex:
        1;
}

.wedding-gallery-message {
    max-width:
        500px;

    margin:
        12px
        auto
        18px;

    color:
        #76665b !important;

    line-height:
        1.5;

    font-size:
        14px;
}


/* ==========================================================
   HERO POLAROIDS
   ========================================================== */

.wedding-hero-polaroid {
    position:
        absolute !important;

    width:
        190px !important;

    padding:
        9px
        9px
        31px !important;

    background:
        #fffdf9 !important;

    border:
        1px solid
        rgba(120,90,70,.08) !important;

    box-shadow:
        0 14px 34px
        rgba(75,50,35,.18) !important;

    z-index:
        1 !important;

    pointer-events:
        none !important;
}

.wedding-hero-polaroid img {
    display:
        block !important;

    width:
        100% !important;

    height:
        180px !important;

    object-fit:
        cover !important;

    background:
        #eadccd !important;
}


/* Klebeband */

.wedding-hero-polaroid::before {
    content:
        "" !important;

    position:
        absolute !important;

    top:
        -12px !important;

    left:
        50% !important;

    width:
        74px !important;

    height:
        25px !important;

    transform:
        translateX(-50%)
        rotate(-3deg) !important;

    background:
        rgba(215,184,143,.68) !important;

    z-index:
        3 !important;
}


/* Links */

.wedding-hero-polaroid-left {
    left:
        max(
            35px,
            calc(50% - 670px)
        ) !important;

    top:
        82px !important;

    transform:
        rotate(-7deg) !important;
}


/* Rechts */

.wedding-hero-polaroid-right {
    right:
        max(
            35px,
            calc(50% - 670px)
        ) !important;

    top:
        68px !important;

    transform:
        rotate(7deg) !important;
}


/* ==========================================================
   UPLOAD
   ========================================================== */

.wedding-upload-form {
    width:
        min(
            420px,
            100%
        );

    margin:
        17px
        auto
        0;
}

.wedding-upload-drop {
    position:
        relative;

    min-height:
        68px;

    margin:
        0;

    padding:
        10px
        16px;

    border:
        none !important;

    border-radius:
        14px;

    display:
        flex;

    align-items:
        center;

    gap:
        14px;

    text-align:
        left;

    cursor:
        pointer;

    background:
        linear-gradient(
            135deg,
            #d78675,
            #c56e61
        ) !important;

    color:
        #fff !important;

    box-shadow:
        0 10px 25px
        rgba(126,73,59,.16);

    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.wedding-upload-drop,
.wedding-upload-drop * {
    color:
        #fff !important;
}

.wedding-upload-drop:hover {
    transform:
        translateY(-2px);

    box-shadow:
        0 15px 32px
        rgba(126,73,59,.22);
}

.wedding-upload-drop::before,
.wedding-upload-drop::after {
    display:
        none !important;
}

.wedding-upload-icon {
    width:
        46px;

    height:
        46px;

    display:
        grid;

    place-items:
        center;

    flex-shrink:
        0;

    border-radius:
        50%;

    background:
        rgba(255,255,255,.18) !important;

    font-size:
        27px;
}

.wedding-upload-text {
    flex:
        1;
}

.wedding-upload-text strong {
    display:
        block;

    font-size:
        16px;
}

.wedding-upload-text small {
    display:
        block;

    margin-top:
        2px;

    font-size:
        12px;

    opacity:
        .8;
}

.wedding-upload-arrow {
    font-size:
        27px;

    font-weight:
        300;
}


/* ==========================================================
   GALERIE CONTENT
   ========================================================== */

.wedding-gallery-content {
    width:
        min(
            1100px,
            calc(100% - 32px)
        );

    margin:
        auto;

    padding:
        18px
        0
        30px !important;

    background:
        transparent !important;
}

.wedding-gallery-heading {
    display:
        flex;

    align-items:
        end;

    justify-content:
        space-between;

    gap:
        25px;

    margin-bottom:
        22px;

    border-bottom:
        1px solid
        var(--wedding-line);

    padding-bottom:
        15px;
}

.wedding-gallery-heading > div > span {
    color:
        #9b7d6b !important;

    font-size:
        12px;

    text-transform:
        uppercase;

    letter-spacing:
        .12em;
}

.wedding-gallery-heading h2 {
    margin:
        2px
        0
        0;

    font-family:
        "Segoe Script",
        "Brush Script MT",
        cursive;

    font-size:
        36px !important;

    font-weight:
        400;

    color:
        #332820 !important;
}

.wedding-gallery-count {
    font-size:
        20px;

    color:
        var(--wedding-accent) !important;
}

.wedding-gallery-count span {
    display:
        block;

    text-align:
        right;

    font-size:
        9px;
}


/* ==========================================================
   MEMTLY RESET
   ========================================================== */

#main-gallery,
#main-gallery > *,
#main-gallery .row {
    background:
        transparent !important;
}

#main-gallery > .row {
    margin:
        0 !important;

    padding:
        0 !important;
}


/* ==========================================================
   CUSTOM FOTO GRID
   ========================================================== */

.wedding-photo-grid {
    width:
        100%;

    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0,1fr)
        );

    gap:
        28px;

    align-items:
        start;
}


/* Nur ein Bild */

.wedding-photo-grid:has(
    > .wedding-photo-card:only-child
) {
    grid-template-columns:
        minmax(
            0,
            460px
        );

    justify-content:
        center;
}


/* Genau zwei Bilder */

.wedding-photo-grid:has(
    > .wedding-photo-card:nth-child(2):last-child
) {
    grid-template-columns:
        repeat(
            2,
            minmax(0,420px)
        );

    justify-content:
        center;
}

.wedding-photo-card {
    appearance:
        none;

    display:
        block;

    position:
        relative;

    width:
        100%;

    padding:
        10px
        10px
        35px;

    margin:
        0;

    border:
        0;

    border-radius:
        2px;

    background:
        #fffdf9 !important;

    cursor:
        pointer;

    box-shadow:
        0 10px 28px
        rgba(77,54,39,.15);

    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.wedding-photo-card:nth-child(3n + 1) {
    transform:
        rotate(-.65deg);
}

.wedding-photo-card:nth-child(3n + 2) {
    transform:
        rotate(.5deg);
}

.wedding-photo-card:nth-child(3n + 3) {
    transform:
        rotate(-.25deg);
}

.wedding-photo-card:hover {
    transform:
        translateY(-5px)
        rotate(0);

    box-shadow:
        0 18px 40px
        rgba(77,54,39,.21);
}

.wedding-photo-tape {
    position:
        absolute;

    z-index:
        5;

    top:
        -9px;

    left:
        50%;

    width:
        68px;

    height:
        19px;

    transform:
        translateX(-50%)
        rotate(-2deg);

    background:
        rgba(215,184,143,.67);
}

.wedding-photo-media {
    display:
        block;

    position:
        relative;

    width:
        100%;

    overflow:
        hidden;

    background:
        #eadccd;
}

.wedding-photo-media img {
    display:
        block;

    width:
        100%;

    height:
        auto;

    min-height:
        220px;

    max-height:
        480px;

    object-fit:
        cover;
}

.wedding-photo-bottom {
    display:
        flex;

    align-items:
        center;

    justify-content:
        flex-end;

    height:
        28px;
}

.wedding-photo-heart {
    color:
        var(--wedding-accent);

    font-size:
        22px;
}

.wedding-video-play {
    position:
        absolute;

    top:
        50%;

    left:
        50%;

    transform:
        translate(-50%,-50%);

    display:
        grid;

    place-items:
        center;

    width:
        58px;

    height:
        58px;

    border-radius:
        50%;

    background:
        rgba(255,255,255,.9);

    color:
        var(--wedding-accent);

    font-size:
        22px;
}


/* ==========================================================
   FALLBACK ALTE IMAGE TILES
   ========================================================== */

#main-gallery .image-tile {
    position:
        relative;

    background:
        #fffdf9 !important;

    padding:
        8px
        8px
        26px !important;

    margin-bottom:
        18px !important;

    border:
        0 !important;

    border-radius:
        2px !important;

    box-shadow:
        0 9px 24px
        rgba(73,52,39,.15) !important;
}

#main-gallery .image-tile::before {
    content:
        "";

    position:
        absolute;

    width:
        58px;

    height:
        17px;

    top:
        -8px;

    left:
        50%;

    transform:
        translateX(-50%)
        rotate(-2deg);

    z-index:
        4;

    background:
        rgba(220,190,151,.63);

    pointer-events:
        none;
}

#main-gallery .image-tile img {
    display:
        block;

    width:
        100%;

    height:
        auto;

    border-radius:
        1px;
}


/* ==========================================================
   LEERE GALERIE
   ========================================================== */

.wedding-empty-gallery {
    text-align:
        center;

    padding:
        55px
        20px;

    color:
        #76665c;
}

.wedding-empty-heart {
    font-size:
        42px;

    color:
        var(--wedding-accent);
}

.wedding-empty-gallery h3 {
    font-family:
        "Segoe Script",
        "Brush Script MT",
        cursive;

    font-weight:
        400;

    color:
        #44372e;
}


/* ==========================================================
   LIGHTBOX
   ========================================================== */

body.wedding-lightbox-open {
    overflow:
        hidden !important;
}

.wedding-lightbox {
    display:
        none;

    position:
        fixed;

    inset:
        0;

    z-index:
        100000;

    align-items:
        center;

    justify-content:
        center;

    padding:
        35px;
}

.wedding-lightbox.is-open {
    display:
        flex;
}

.wedding-lightbox-backdrop {
    position:
        absolute;

    inset:
        0;

    background:
        rgba(31,25,21,.88);

    backdrop-filter:
        blur(5px);
}

.wedding-lightbox-paper {
    position:
        relative;

    z-index:
        1;

    width:
        min(
            1000px,
            92vw
        );

    max-height:
        92vh;

    display:
        flex;

    flex-direction:
        column;

    padding:
        17px
        17px
        20px;

    background:
        var(--wedding-paper);

    box-shadow:
        0 30px 100px
        rgba(0,0,0,.35);
}

.wedding-lightbox-paper::before {
    content:
        "";

    position:
        absolute;

    top:
        -10px;

    left:
        50%;

    width:
        105px;

    height:
        26px;

    transform:
        translateX(-50%)
        rotate(-2deg);

    background:
        rgba(217,187,148,.76);
}

.wedding-lightbox-media {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        0;

    flex:
        1;

    overflow:
        hidden;

    background:
        #211d1a;
}

.wedding-lightbox-media img,
.wedding-lightbox-media video {
    display:
        block;

    width:
        auto;

    height:
        auto;

    max-width:
        100%;

    max-height:
        77vh;

    object-fit:
        contain;
}

.wedding-lightbox-close {
    position:
        absolute;

    z-index:
        10;

    top:
        -17px;

    right:
        -17px;

    width:
        44px;

    height:
        44px;

    border:
        0;

    border-radius:
        50%;

    background:
        var(--wedding-paper);

    color:
        #44372f;

    font-size:
        30px;

    line-height:
        1;

    box-shadow:
        0 5px 18px
        rgba(0,0,0,.25);

    cursor:
        pointer;
}

.wedding-lightbox-nav {
    position:
        absolute;

    z-index:
        10;

    top:
        50%;

    transform:
        translateY(-50%);

    width:
        50px;

    height:
        50px;

    border:
        0;

    border-radius:
        50%;

    background:
        rgba(255,250,242,.94);

    color:
        #5d493e;

    font-size:
        38px;

    line-height:
        40px;

    cursor:
        pointer;

    box-shadow:
        0 5px 20px
        rgba(0,0,0,.20);
}

.wedding-lightbox-prev {
    left:
        30px;
}

.wedding-lightbox-next {
    right:
        30px;
}

.wedding-lightbox-info {
    height:
        44px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    position:
        relative;

    color:
        #766459;
}

.wedding-lightbox-heart {
    position:
        absolute;

    right:
        8px;

    color:
        var(--wedding-accent);

    font-size:
        25px;
}


/* ==========================================================
   PAGINATION
   ========================================================== */

.wedding-pagination {
    margin-top:
        35px;

    display:
        flex;

    justify-content:
        center;
}


/* ==========================================================
   FOOTER - EXTRA KOMPAKT
   ========================================================== */

.wedding-gallery-footer {
    min-height:
        0 !important;

    height:
        auto !important;

    flex:
        none !important;

    margin:
        0 !important;

    text-align:
        center;

    padding:
        8px
        20px
        10px !important;

    background:
        rgba(255,250,242,.55) !important;

    border-top:
        1px solid
        var(--wedding-line) !important;

    color:
        #6f5e54 !important;
}

.wedding-gallery-footer > div {
    font-size:
        16px !important;

    line-height:
        1 !important;

    margin:
        0
        0
        1px !important;

    color:
        var(--wedding-accent) !important;
}

.wedding-gallery-footer strong {
    display:
        block;

    font-family:
        "Segoe Script",
        "Brush Script MT",
        cursive;

    font-size:
        14px !important;

    font-weight:
        400;

    line-height:
        1.1 !important;

    margin:
        0
        0
        1px !important;

    color:
        #47382f !important;
}

.wedding-gallery-footer p {
    font-size:
        9px !important;

    line-height:
        1.1 !important;

    margin:
        0 !important;

    color:
        #88756a !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1150px) {

    .wedding-hero-polaroid {
        width:
            150px !important;
    }

    .wedding-hero-polaroid img {
        height:
            140px !important;
    }

    .wedding-hero-polaroid-left {
        left:
            25px !important;

        top:
            90px !important;
    }

    .wedding-hero-polaroid-right {
        right:
            25px !important;

        top:
            77px !important;
    }

}


/* ==========================================================
   POLAROIDS AUF KLEINEN DISPLAYS AUS
   ========================================================== */

@media (max-width: 900px) {

    .wedding-hero-polaroid {
        display:
            none !important;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 700px) {

    .wedding-gallery-hero {
        padding:
            22px
            14px
            14px !important;
    }


    .wedding-gallery-flourish {
        font-size:
            16px;
    }


    .wedding-gallery-pretitle {
        font-size:
            22px;
    }


    .wedding-gallery-hero h1 {
        font-size:
            clamp(
                47px,
                14vw,
                63px
            ) !important;

        letter-spacing:
            -3px !important;
    }


    .wedding-gallery-message {
        margin-bottom:
            15px !important;

        font-size:
            13px !important;
    }


    .wedding-upload-form {
        width:
            100% !important;
    }


    .wedding-upload-drop {
        min-height:
            64px;
    }


    .wedding-upload-icon {
        width:
            42px;

        height:
            42px;
    }


    .wedding-gallery-content {
        width:
            calc(
                100% - 18px
            );

        padding-top:
            14px !important;
    }


    .wedding-gallery-heading {
        align-items:
            center;

        margin-bottom:
            16px;
    }


    .wedding-gallery-heading h2 {
        font-size:
            30px !important;
    }


    .wedding-photo-grid,
    .wedding-photo-grid:has(
        > .wedding-photo-card:nth-child(2):last-child
    ) {
        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );

        gap:
            10px;
    }


    .wedding-photo-grid:has(
        > .wedding-photo-card:only-child
    ) {
        grid-template-columns:
            minmax(
                0,
                100%
            );
    }


    .wedding-photo-card {
        padding:
            6px
            6px
            21px;
    }


    .wedding-photo-media img {
        min-height:
            120px;

        max-height:
            300px;
    }


    .wedding-photo-tape {
        width:
            42px;

        height:
            12px;

        top:
            -6px;
    }


    .wedding-lightbox {
        padding:
            10px;
    }


    .wedding-lightbox-paper {
        width:
            100%;

        padding:
            7px
            7px
            10px;
    }


    .wedding-lightbox-media img,
    .wedding-lightbox-media video {
        max-height:
            82vh;
    }


    .wedding-lightbox-prev {
        left:
            13px;
    }


    .wedding-lightbox-next {
        right:
            13px;
    }


    .wedding-lightbox-nav {
        width:
            42px;

        height:
            42px;

        background:
            rgba(255,250,242,.86);
    }


    .wedding-gallery-footer {
        padding:
            7px
            12px
            8px !important;
    }


    .wedding-gallery-footer strong {
        font-size:
            13px !important;
    }


    .wedding-gallery-footer p {
        font-size:
            8px !important;
    }

}



/* ==========================================================
   WEDDING ADMIN LOGIN
   ========================================================== */

body:has(.wedding-admin-login-page) {
    background:
        radial-gradient(
            circle at 20% 10%,
            rgba(255,255,255,.65),
            transparent 32%
        ),
        radial-gradient(
            circle at 85% 60%,
            rgba(207,160,132,.12),
            transparent 30%
        ),
        #f6eddf !important;
}


/* Memtly Header / Footer auf Loginseite ausblenden */

body:has(.wedding-admin-login-page) .navbar,
body:has(.wedding-admin-login-page) footer,
body:has(.wedding-admin-login-page) .btn-show-sponsors {
    display: none !important;
}


.wedding-admin-login-page {
    min-height: 100vh;

    display: flex;

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

    padding:
        45px
        20px;

    background: transparent !important;
}


.wedding-admin-login {
    width:
        min(
            480px,
            100%
        );

    text-align: center;
}


.wedding-admin-flourish {
    color: #aa8267;

    font-size: 18px;

    margin-bottom: 3px;
}


.wedding-admin-pretitle {
    font-family:
        "Segoe Script",
        "Brush Script MT",
        cursive;

    font-size: 23px;

    color: #504239;

    margin-bottom: -5px;
}


.wedding-admin-login h1 {
    margin:
        0;

    font-family:
        "Segoe Script",
        "Brush Script MT",
        cursive;

    font-size:
        clamp(
            48px,
            8vw,
            66px
        );

    line-height: 1;

    font-weight: 400;

    letter-spacing: -3px;

    color: #29211d !important;
}


.wedding-admin-login h1 span {
    color: #cf7868;

    font-size: .65em;
}


.wedding-admin-description {
    margin:
        18px
        0
        10px;

    color: #806e62;

    font-size: 13px;
}


.wedding-admin-divider {
    display: flex;

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

    width: 160px;

    margin:
        10px
        auto
        28px;

    gap: 10px;

    color: #cf7868;
}


.wedding-admin-divider span {
    flex: 1;

    height: 1px;

    background: #e3aca1;
}


/* ==========================================================
   LOGIN CARD
   ========================================================== */

.wedding-admin-card {
    position: relative;

    padding:
        42px
        42px
        35px;

    text-align: left;

    background:
        rgba(255,253,249,.94);

    border:
        1px solid
        rgba(150,115,90,.16);

    box-shadow:
        0 18px 55px
        rgba(78,53,39,.14);
}


.wedding-admin-tape {
    position: absolute;

    top: -13px;
    left: 50%;

    width: 100px;
    height: 26px;

    transform:
        translateX(-50%)
        rotate(-2deg);

    background:
        rgba(215,184,143,.62);
}


.wedding-admin-demo {
    margin-bottom: 20px;

    padding: 10px;

    text-align: center;

    border-radius: 7px;

    background: #f7e7dc;

    color: #76564a;

    font-size: 12px;
}


/* ==========================================================
   INPUTS
   ========================================================== */

.wedding-admin-field {
    margin-bottom: 21px;
}


.wedding-admin-field label {
    display: block;

    margin-bottom: 7px;

    color: #55483f;

    font-size: 13px;

    font-weight: 600;
}


.wedding-admin-field .form-control {
    width: 100%;

    height: 57px !important;

    padding:
        0
        16px !important;

    border:
        1px solid
        #dbcabd !important;

    border-radius:
        9px !important;

    background:
        rgba(255,255,255,.8) !important;

    color:
        #302721 !important;

    font-size: 15px;

    box-shadow:
        none !important;
}


.wedding-admin-field .form-control:focus {
    border-color:
        #cf7868 !important;

    box-shadow:
        0 0 0 3px
        rgba(207,120,104,.12) !important;
}


/* ==========================================================
   BUTTON
   ========================================================== */

.wedding-admin-button {
    position: relative;

    width: 100%;

    height: 58px;

    margin-top: 4px;

    display: flex;

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

    border: 0;

    border-radius: 9px;

    background:
        linear-gradient(
            135deg,
            #d78675,
            #c56e61
        );

    color: #fff;

    font-size: 16px;

    font-weight: 600;

    cursor: pointer;

    box-shadow:
        0 9px 22px
        rgba(160,82,68,.18);

    transition:
        transform .15s ease,
        box-shadow .15s ease;
}


.wedding-admin-button:hover {
    transform:
        translateY(-2px);

    box-shadow:
        0 13px 28px
        rgba(160,82,68,.25);
}


.wedding-admin-button-arrow {
    position: absolute;

    right: 18px;

    font-size: 22px;
}


/* ==========================================================
   LINKS
   ========================================================== */

.wedding-admin-links {
    margin-top: 19px;

    text-align: center;
}


.wedding-admin-link {
    color: #a45f53 !important;

    font-size: 12px;

    text-decoration: none;
}


.wedding-admin-link:hover {
    text-decoration: underline;
}


.wedding-admin-back {
    display: inline-block;

    margin-top: 24px;

    color: #806e62 !important;

    font-size: 12px;

    text-decoration: none;
}


.wedding-admin-back:hover {
    color: #cf7868 !important;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .wedding-admin-login-page {
        padding:
            28px
            14px;
    }


    .wedding-admin-card {
        padding:
            35px
            23px
            27px;
    }


    .wedding-admin-login h1 {
        font-size:
            50px;
    }


    .wedding-admin-pretitle {
        font-size:
            20px;
    }

}



/* ==========================================================
   WEDDING STARTSEITE
   ========================================================== */

body:has(.wedding-home) {
    background:
        radial-gradient(
            circle at 18% 12%,
            rgba(255,255,255,.65),
            transparent 32%
        ),
        radial-gradient(
            circle at 82% 55%,
            rgba(207,160,132,.12),
            transparent 30%
        ),
        #f6eddf !important;

    color: #302721 !important;
}


/* Memtly Header und Footer auf Startseite aus */

body:has(.wedding-home) .navbar,
body:has(.wedding-home) footer,
body:has(.wedding-home) .btn-show-sponsors {
    display: none !important;
}


/* ==========================================================
   LAYOUT
   ========================================================== */

.wedding-home {
    position: relative;

    min-height: 100vh;

    display: flex;

    justify-content: center;

    overflow: hidden;

    padding:
        48px
        25px
        55px;

    background: transparent !important;
}


.wedding-home-container {
    position: relative;

    z-index: 5;

    width:
        min(
            650px,
            100%
        );
}


/* ==========================================================
   HERO
   ========================================================== */

.wedding-home-hero {
    text-align: center;

    margin-bottom: 28px;
}


.wedding-home-flourish {
    color: #aa8267;

    font-size: 19px;
}


.wedding-home-pretitle {
    font-family:
        "Segoe Script",
        "Brush Script MT",
        cursive;

    font-size:
        clamp(
            24px,
            3vw,
            32px
        );

    margin-bottom: -10px;

    color: #483b33;
}


.wedding-home-hero h1 {
    margin: 0;

    font-family:
        "Segoe Script",
        "Brush Script MT",
        cursive;

    font-size:
        clamp(
            58px,
            7vw,
            82px
        );

    font-weight: 400;

    line-height: 1;

    letter-spacing: -4px;

    color: #29221d !important;
}


.wedding-home-hero h1 span {
    color: #cf7868;

    font-size: .65em;
}


.wedding-home-subtitle {
    margin:
        16px
        0
        0;

    font-family:
        "Segoe Script",
        "Brush Script MT",
        cursive;

    font-size: 20px;

    color: #68594f;
}


.wedding-home-divider {
    display: flex;

    align-items: center;

    justify-content: center;

    width: 170px;

    gap: 10px;

    margin:
        12px
        auto;

    color: #cf7868;
}


.wedding-home-divider span {
    height: 1px;

    flex: 1;

    background: #e3aca1;
}


.wedding-home-description {
    max-width: 460px;

    margin:
        10px
        auto
        0;

    color: #7e6c60;

    font-size: 14px;

    line-height: 1.5;
}


/* ==========================================================
   PIN CARD
   ========================================================== */

.wedding-home-card {
    position: relative;

    width:
        min(
            500px,
            100%
        );

    margin:
        0
        auto;

    padding:
        42px
        42px
        37px;

    background:
        rgba(255,253,249,.95);

    border:
        1px solid
        rgba(150,115,90,.16);

    box-shadow:
        0 18px 52px
        rgba(78,53,39,.14);
}


.wedding-home-tape {
    position: absolute;

    top: -13px;

    left: 50%;

    width: 105px;

    height: 26px;

    transform:
        translateX(-50%)
        rotate(-2deg);

    background:
        rgba(215,184,143,.64);
}


/* ==========================================================
   INPUTS
   ========================================================== */

.wedding-home-field {
    margin-bottom: 20px;
}


.wedding-home-field label {
    display: block;

    margin-bottom: 7px;

    color: #51453d;

    font-size: 13px;

    font-weight: 600;
}


.wedding-home-field-icon {
    display: inline-block;

    width: 21px;

    color: #cf7868;

    font-size: 17px;
}


.wedding-home-input {
    width: 100%;

    height: 58px !important;

    padding:
        0
        17px !important;

    border:
        1px solid
        #d9c8bb !important;

    border-radius:
        9px !important;

    background:
        rgba(255,255,255,.83) !important;

    color:
        #302721 !important;

    font-size: 15px;

    box-shadow:
        none !important;
}


.wedding-home-input:focus {
    border-color:
        #cf7868 !important;

    box-shadow:
        0 0 0 3px
        rgba(207,120,104,.12) !important;
}


/* ==========================================================
   BUTTON
   ========================================================== */

.wedding-home-button {
    position: relative;

    width: 100%;

    height: 59px;

    margin-top: 5px;

    border: 0;

    border-radius: 9px;

    display: flex;

    align-items: center;

    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #d78675,
            #c56e61
        );

    color: #fff;

    font-size: 16px;

    font-weight: 600;

    cursor: pointer;

    box-shadow:
        0 10px 24px
        rgba(160,82,68,.20);

    transition:
        transform .15s ease,
        box-shadow .15s ease;
}


.wedding-home-button:hover {
    transform:
        translateY(-2px);

    box-shadow:
        0 14px 30px
        rgba(160,82,68,.26);
}


.wedding-home-button-arrow {
    position: absolute;

    right: 19px;

    font-size: 23px;
}


/* ==========================================================
   THANK YOU
   ========================================================== */

.wedding-home-thankyou {
    margin:
        24px
        0
        27px;

    text-align: center;

    font-family:
        "Segoe Script",
        "Brush Script MT",
        cursive;

    font-size: 20px;

    color: #54463d;
}


.wedding-home-thankyou span {
    color: #cf7868;
}


/* ==========================================================
   FEATURES
   ========================================================== */

.wedding-home-features {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            1fr
        );

    gap: 12px;

    padding:
        18px;

    border:
        1px solid
        rgba(185,151,126,.25);

    border-radius: 12px;

    background:
        rgba(255,250,242,.48);
}


.wedding-home-feature {
    display: flex;

    align-items: flex-start;

    gap: 10px;
}


.wedding-home-feature-icon {
    color: #cf7868;

    font-size: 21px;

    line-height: 1;
}


.wedding-home-feature strong {
    display: block;

    color: #4d4038;

    font-size: 12px;
}


.wedding-home-feature p {
    margin:
        3px
        0
        0;

    color: #8b796d;

    font-size: 10px;

    line-height: 1.35;
}


/* ==========================================================
   DEKORATIVE POLAROIDS
   ========================================================== */

.wedding-home-decoration {
    position: absolute;

    width: 220px;

    pointer-events: none;
}


.wedding-home-decoration-left {
    left:
        max(
            25px,
            calc(50% - 650px)
        );

    top: 110px;
}


.wedding-home-decoration-right {
    right:
        max(
            25px,
            calc(50% - 650px)
        );

    top: 95px;
}


.wedding-home-polaroid {
    position: absolute;

    width: 165px;

    padding:
        8px
        8px
        28px;

    background: #fffdf9;

    box-shadow:
        0 12px 30px
        rgba(70,50,38,.17);
}


.wedding-home-polaroid::before {
    content: "";

    position: absolute;

    top: -11px;

    left: 50%;

    width: 68px;

    height: 23px;

    transform:
        translateX(-50%)
        rotate(-3deg);

    background:
        rgba(215,184,143,.64);
}


.wedding-home-photo-placeholder {
    height: 155px;

    display: grid;

    place-items: center;

    background:
        linear-gradient(
            145deg,
            #d8b49e,
            #8a5b4d
        );

    color:
        rgba(255,255,255,.8);

    font-size: 35px;
}


.wedding-home-polaroid-one {
    top: 10px;

    left: 20px;

    transform:
        rotate(-7deg);
}


.wedding-home-polaroid-two {
    top: 390px;

    left: 55px;

    transform:
        rotate(6deg);
}


.wedding-home-polaroid-three {
    top: 0;

    right: 20px;

    transform:
        rotate(7deg);
}


.wedding-home-polaroid-four {
    top: 380px;

    right: 55px;

    transform:
        rotate(-6deg);
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1000px) {

    .wedding-home-decoration {
        display: none;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 650px) {

    .wedding-home {
        padding:
            28px
            14px
            40px;
    }


    .wedding-home-pretitle {
        font-size: 23px;
    }


    .wedding-home-hero h1 {
        font-size:
            clamp(
                50px,
                16vw,
                68px
            );

        letter-spacing: -3px;
    }


    .wedding-home-subtitle {
        font-size: 17px;
    }


    .wedding-home-description {
        font-size: 12px;
    }


    .wedding-home-card {
        padding:
            35px
            22px
            29px;
    }


    .wedding-home-features {
        grid-template-columns: 1fr;

        gap: 16px;
    }

}



/* ==========================================================
   MEMTLY MEDIA VIEWER + WEDDING CARDS
   ========================================================== */

.wedding-photo-link {
    display: block;
    width: 100%;
    height: 100%;
    color: inherit !important;
    text-decoration: none !important;
}

.wedding-photo-link:hover,
.wedding-photo-link:focus,
.wedding-photo-link:active {
    color: inherit !important;
    text-decoration: none !important;
}



/* ==========================================================
   NOSPAX MEDIA VIEWER DELETE BUTTON
   ========================================================== */

.media-viewer-options .media-viewer-delete {
    display: inline-flex !important;

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

    width: 42px;
    height: 42px;

    padding: 0;
    margin: 0 12px 0 0;

    border: 0 !important;
    border-radius: 50%;

    background:
        rgba(255, 250, 242, .95) !important;

    color:
        #cf7868 !important;

    font-size: 17px;

    cursor: pointer;

    box-shadow:
        0 4px 14px
        rgba(0, 0, 0, .18);

    transition:
        transform .15s ease,
        opacity .15s ease,
        background .15s ease;
}


.media-viewer-options
.media-viewer-delete:hover {

    transform:
        scale(1.08);

    background:
        #fffaf2 !important;
}


.media-viewer-options
.media-viewer-delete.wedding-delete-loading {

    opacity: .4;

    pointer-events: none;
}


.media-viewer-options
.media-viewer-delete i {

    pointer-events: none;
}



/* ==========================================================
   NOSPAX ADMIN DELETE BUTTON
   ========================================================== */

.media-viewer-options .nospax-media-delete {

    display: inline-flex !important;

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

    width: 38px;
    height: 38px;

    margin: 0 12px 0 0;
    padding: 0;

    border: 0 !important;

    background: transparent !important;

    color: #cf7868 !important;

    font-size: 18px;

    cursor: pointer;

    vertical-align: middle;

    transition:
        transform .15s ease,
        opacity .15s ease;

}


.media-viewer-options .nospax-media-delete:hover {

    transform: scale(1.12);

    opacity: .82;

}


.media-viewer-options
.nospax-media-delete.nospax-delete-loading {

    opacity: .35;

    pointer-events: none;

}


.media-viewer-options
.nospax-media-delete i {

    pointer-events: none;

}


/* NOSPAX FOOTER PRIVACY START */


/* ==========================================================
   ALTEN GALLERY-FOOTER AUSBLENDEN
   ========================================================== */

.wedding-gallery-footer {
    display: none !important;
}


/* ==========================================================
   GEMEINSAMER FOOTER
   ========================================================== */

.wedding-site-footer {

    width: 100%;

    padding:
        14px
        20px
        16px;

    text-align: center;

    border-top:
        1px solid
        rgba(164, 128, 105, .16);

    background:
        rgba(255, 250, 242, .72);

    color:
        #78675c;

}


.wedding-site-footer-heart {

    margin-bottom: 2px;

    color:
        #cf7868;

    font-size:
        15px;

}


.wedding-site-footer-message {

    font-family:
        "Segoe Script",
        "Brush Script MT",
        cursive;

    color:
        #51443c;

    font-size:
        13px;

    line-height:
        1.4;

}


.wedding-site-footer-message span {

    display: block;

    margin-top: 1px;

    font-family:
        inherit;

    color:
        #8a786c;

    font-size:
        10px;

}


.wedding-site-footer-links {

    display: flex;

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

    flex-wrap: wrap;

    gap: 7px;

    margin-top: 8px;

    font-size:
        11px;

}


.wedding-site-footer-links a {

    color:
        #a25f54 !important;

    text-decoration:
        none !important;

    transition:
        color .15s ease;

}


.wedding-site-footer-links a:hover {

    color:
        #cf7868 !important;

    text-decoration:
        underline !important;

}


.wedding-site-footer-dot {

    color:
        #bea99a;

}


/* ==========================================================
   DATENSCHUTZ
   ========================================================== */

body:has(.wedding-privacy-page) {

    background:
        #f6eddf !important;

    color:
        #302721 !important;

}


body:has(.wedding-privacy-page) .navbar,

body:has(.wedding-privacy-page) > footer,

body:has(.wedding-privacy-page) .btn-show-sponsors {

    display:
        none !important;

}


.wedding-privacy-page {

    min-height:
        calc(100vh - 90px);

    padding:
        50px
        20px
        45px;

}


.wedding-privacy-container {

    width:
        min(760px, 100%);

    margin:
        0 auto;

}


.wedding-privacy-header {

    margin-bottom:
        28px;

    text-align:
        center;

}


.wedding-privacy-flourish {

    color:
        #aa8267;

    font-size:
        18px;

}


.wedding-privacy-pretitle {

    margin-bottom:
        -7px;

    font-family:
        "Segoe Script",
        "Brush Script MT",
        cursive;

    color:
        #574940;

    font-size:
        23px;

}


.wedding-privacy-header h1 {

    margin:
        0;

    font-family:
        "Segoe Script",
        "Brush Script MT",
        cursive;

    color:
        #29211d !important;

    font-size:
        clamp(50px, 8vw, 70px);

    font-weight:
        400;

    line-height:
        1;

    letter-spacing:
        -3px;

}


.wedding-privacy-header h1 span {

    color:
        #cf7868;

    font-size:
        .65em;

}


.wedding-privacy-header p {

    margin:
        16px auto 0;

    color:
        #806e62;

    font-size:
        13px;

}


.wedding-privacy-card {

    padding:
        42px
        48px;

    border:
        1px solid
        rgba(150,115,90,.16);

    background:
        rgba(255,253,249,.94);

    box-shadow:
        0 18px 55px
        rgba(78,53,39,.10);

}


.wedding-privacy-card section {

    padding:
        0
        0
        27px;

    margin:
        0
        0
        27px;

    border-bottom:
        1px solid
        rgba(180,145,122,.18);

}


.wedding-privacy-card section:last-child {

    padding-bottom:
        0;

    margin-bottom:
        0;

    border-bottom:
        0;

}


.wedding-privacy-card h2 {

    margin:
        0
        0
        11px;

    color:
        #4b3d35 !important;

    font-family:
        Georgia,
        serif;

    font-size:
        20px;

    font-weight:
        500;

}


.wedding-privacy-card p,

.wedding-privacy-card li {

    color:
        #6d5e54;

    font-size:
        13px;

    line-height:
        1.7;

}


.wedding-privacy-card ul {

    padding-left:
        21px;

}


.wedding-privacy-contact {

    padding:
        13px
        16px;

    border-left:
        3px solid
        #cf7868;

    background:
        #faf2e8;

}


.wedding-privacy-placeholder {

    margin-top:
        13px;

    padding:
        13px
        16px;

    border:
        1px dashed
        rgba(207,120,104,.55);

    border-radius:
        7px;

    background:
        rgba(207,120,104,.06);

    color:
        #8b5c52;

    font-size:
        12px;

    line-height:
        1.6;

}


.wedding-privacy-back {

    display:
        block;

    margin-top:
        24px;

    text-align:
        center;

    color:
        #a25f54 !important;

    font-size:
        12px;

    text-decoration:
        none !important;

}


.wedding-privacy-back:hover {

    color:
        #cf7868 !important;

}


@media (max-width: 650px) {

    .wedding-privacy-page {

        padding:
            32px
            13px
            35px;

    }


    .wedding-privacy-card {

        padding:
            30px
            22px;

    }


    .wedding-privacy-header h1 {

        font-size:
            51px;

    }


    .wedding-site-footer {

        padding:
            13px
            12px
            15px;

    }

}


/* NOSPAX FOOTER PRIVACY END */



/* ==========================================================
   FOOTER FIX
   ========================================================== */

.wedding-site-footer {
    position: relative !important;
    z-index: 50 !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: 100% !important;

    margin: 30px 0 0 !important;

    padding:
        12px
        20px
        14px !important;

    text-align: center !important;

    border-top:
        1px solid
        rgba(164,128,105,.18) !important;

    background:
        #f6eddf !important;

    color:
        #78675c !important;
}


.wedding-site-footer-heart {
    display: block !important;

    margin-bottom: 2px;

    color: #cf7868;

    font-size: 15px;
}


.wedding-site-footer-message {
    display: block !important;

    color: #51443c;

    font-family:
        "Segoe Script",
        "Brush Script MT",
        cursive;

    font-size: 13px;

    line-height: 1.35;
}


.wedding-site-footer-message span {
    display: block !important;

    margin-top: 2px;

    color: #8a786c;

    font-size: 10px;
}


.wedding-site-footer-links {
    display: flex !important;

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

    flex-wrap: wrap;

    gap: 7px;

    margin-top: 8px;

    font-size: 11px;
}


.wedding-site-footer-links a {
    display: inline-block !important;

    color: #a25f54 !important;

    text-decoration: none !important;
}


.wedding-site-footer-links a:hover {
    color: #cf7868 !important;

    text-decoration: underline !important;
}


.wedding-site-footer-links span {
    display: inline-block !important;

    color: #bea99a !important;
}


/*
   Alte Footer-Ausblendung darf nur den alten
   Gallery-Footer betreffen.
*/

.wedding-gallery-footer {
    display: none !important;
}


/*
   Falls frühere Regeln alle footer-Tags ausblenden:
   Unser Footer ist absichtlich ein DIV und bleibt sichtbar.
*/

body:has(.wedding-home)
.wedding-site-footer,

body:has(.wedding-gallery-page)
.wedding-site-footer,

body:has(.wedding-privacy-page)
.wedding-site-footer {

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

}


@media (max-width: 650px) {

    .wedding-site-footer {

        margin-top: 22px !important;

        padding:
            11px
            12px
            13px !important;

    }

}



/* ==========================================================
   SCHWEBENDER HOCHZEITS-FOOTER
   ========================================================== */

.wedding-site-footer {
    position: fixed !important;

    left: 50% !important;
    right: auto !important;

    bottom: 16px !important;

    transform: translateX(-50%) !important;

    z-index: 9999 !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: min(
        620px,
        calc(100% - 32px)
    ) !important;

    margin: 0 !important;

    padding:
        9px
        20px
        10px !important;

    border:
        1px solid
        rgba(164,128,105,.20) !important;

    border-radius:
        14px !important;

    background:
        rgba(255,250,242,.94) !important;

    box-shadow:
        0 8px 30px
        rgba(69,47,35,.16) !important;

    backdrop-filter:
        blur(10px);

    -webkit-backdrop-filter:
        blur(10px);

    text-align:
        center !important;

    color:
        #78675c !important;
}


/* kleines Herz */

.wedding-site-footer-heart {
    display: block !important;

    margin:
        0
        0
        1px !important;

    color:
        #cf7868 !important;

    font-size:
        13px !important;

    line-height:
        1 !important;
}


/* Text */

.wedding-site-footer-message {
    display: block !important;

    margin: 0 !important;

    color:
        #51443c !important;

    font-family:
        "Segoe Script",
        "Brush Script MT",
        cursive;

    font-size:
        12px !important;

    line-height:
        1.25 !important;
}


.wedding-site-footer-message span {
    display:
        inline !important;

    margin-left:
        4px !important;

    color:
        #8a786c !important;

    font-size:
        9px !important;
}


/* Links */

.wedding-site-footer-links {
    display: flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    flex-wrap:
        wrap !important;

    gap:
        6px !important;

    margin-top:
        5px !important;

    font-size:
        10px !important;

    line-height:
        1.2 !important;
}


.wedding-site-footer-links a {
    display:
        inline-block !important;

    color:
        #a25f54 !important;

    text-decoration:
        none !important;
}


.wedding-site-footer-links a:hover {
    color:
        #cf7868 !important;

    text-decoration:
        underline !important;
}


.wedding-site-footer-links span {
    color:
        #bea99a !important;
}


/* ==========================================================
   ETWAS PLATZ UNTEN, DAMIT FOOTER NICHTS VERDECKT
   ========================================================== */

.wedding-home,
.wedding-gallery-page,
.wedding-privacy-page {
    padding-bottom:
        115px !important;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 650px) {

    .wedding-site-footer {
        bottom:
            10px !important;

        width:
            calc(100% - 20px) !important;

        padding:
            8px
            12px
            9px !important;

        border-radius:
            12px !important;
    }


    .wedding-site-footer-message {
        font-size:
            11px !important;
    }


    .wedding-site-footer-message span {
        display:
            block !important;

        margin:
            1px
            0
            0 !important;

        font-size:
            8px !important;
    }


    .wedding-site-footer-links {
        margin-top:
            5px !important;

        font-size:
            10px !important;
    }


    .wedding-home,
    .wedding-gallery-page,
    .wedding-privacy-page {
        padding-bottom:
            125px !important;
    }

}



/* ==========================================================
   SAGE GREEN WEDDING ACCENTS
   Creme + Terrakotta + Salbeigrün
   ========================================================== */


/* ----------------------------------------------------------
   ALLGEMEINER HINTERGRUND
   ---------------------------------------------------------- */

body:has(.wedding-home),
body:has(.wedding-gallery-page),
body:has(.wedding-admin-login-page) {
    background:
        radial-gradient(
            circle at 14% 18%,
            rgba(135, 150, 122, .13),
            transparent 27%
        ),
        radial-gradient(
            circle at 86% 55%,
            rgba(207, 120, 104, .09),
            transparent 29%
        ),
        #f6eddf !important;
}


/* ----------------------------------------------------------
   STARTSEITE
   ---------------------------------------------------------- */

.wedding-home-flourish {
    color: #87967a !important;
}


.wedding-home-divider {
    color: #cf7868 !important;
}


.wedding-home-divider span {
    background: #aebba3 !important;
}


.wedding-home-subtitle {
    color: #68765f !important;
}


.wedding-home-description {
    color: #756b63 !important;
}


/* PIN / GALERIE KARTE */

.wedding-home-card {
    border:
        1px solid
        rgba(104, 118, 95, .20) !important;

    box-shadow:
        0 18px 52px
        rgba(67, 79, 61, .13) !important;
}


/* Labels */

.wedding-home-field label {
    color: #596552 !important;
}


/* kleine Herzen an den Feldern bleiben warm */

.wedding-home-field-icon {
    color: #cf7868 !important;
}


/* Inputs */

.wedding-home-input {
    border-color: #cbd3c4 !important;
}


.wedding-home-input:focus {
    border-color: #87967a !important;

    box-shadow:
        0 0 0 3px
        rgba(135, 150, 122, .15) !important;
}


/* Hauptbutton wird Salbei */

.wedding-home-button {
    background:
        linear-gradient(
            135deg,
            #87967a,
            #6f7f64
        ) !important;

    box-shadow:
        0 10px 24px
        rgba(84, 102, 76, .20) !important;
}


.wedding-home-button:hover {
    background:
        linear-gradient(
            135deg,
            #7d8e70,
            #627257
        ) !important;

    box-shadow:
        0 14px 30px
        rgba(84, 102, 76, .27) !important;
}


/* Feature-Bereich */

.wedding-home-features {
    border-color:
        rgba(104, 118, 95, .25) !important;

    background:
        rgba(239, 241, 233, .55) !important;
}


.wedding-home-feature-icon {
    color: #87967a !important;
}


.wedding-home-feature strong {
    color: #596552 !important;
}


/* ----------------------------------------------------------
   GALERIE
   ---------------------------------------------------------- */

.wedding-gallery-page {
    background:
        radial-gradient(
            circle at 18% 15%,
            rgba(135, 150, 122, .12),
            transparent 30%
        ),
        radial-gradient(
            circle at 82% 50%,
            rgba(207, 120, 104, .08),
            transparent 30%
        ),
        #f6eddf !important;
}


/* dekorative Elemente */

.wedding-gallery-page .wedding-hero-flourish,
.wedding-gallery-page .wedding-gallery-flourish {
    color: #87967a !important;
}


/* Überschriften bekommen leicht erdigen Ton */

.wedding-gallery-page h2,
.wedding-gallery-page h3 {
    color: #3e493a;
}


/* Upload Button */

.wedding-gallery-page .btn-primary,
.wedding-gallery-page .upload-button,
.wedding-gallery-page button[type="submit"] {
    background:
        linear-gradient(
            135deg,
            #87967a,
            #6f7f64
        ) !important;

    border-color: #6f7f64 !important;

    color: #ffffff !important;

    box-shadow:
        0 8px 20px
        rgba(84, 102, 76, .18) !important;
}


.wedding-gallery-page .btn-primary:hover,
.wedding-gallery-page .upload-button:hover,
.wedding-gallery-page button[type="submit"]:hover {
    background:
        linear-gradient(
            135deg,
            #7b8c6e,
            #627257
        ) !important;

    border-color: #627257 !important;
}


/* Polaroids */

.wedding-photo-card {
    box-shadow:
        0 12px 28px
        rgba(69, 82, 62, .14) !important;
}


.wedding-photo-card:hover {
    box-shadow:
        0 18px 38px
        rgba(69, 82, 62, .20) !important;
}


/* Polaroid-Herz bleibt Terrakotta */

.wedding-photo-heart {
    color: #cf7868 !important;
}


/* ----------------------------------------------------------
   MEDIA VIEWER
   ---------------------------------------------------------- */

.media-viewer-like-button .btn-primary-2 {
    background-color: #87967a !important;
    border-color: #87967a !important;
}


.media-viewer-like-button .border-primary-2 {
    border-color: #87967a !important;
}


.media-viewer-like-button .text-primary-2 {
    color: #68765f !important;
}


/* Löschen bleibt bewusst Terrakotta/Rot */

.media-viewer-delete {
    color: #cf7868 !important;
}


/* Download bekommt Salbei */

.media-viewer-download {
    color: #87967a !important;
}


/* ----------------------------------------------------------
   FOOTER
   ---------------------------------------------------------- */

.wedding-gallery-footer {
    border-top:
        1px solid
        rgba(104, 118, 95, .18) !important;

    background:
        rgba(223, 229, 217, .42) !important;
}


.wedding-gallery-footer strong {
    color: #68765f !important;
}


/* ----------------------------------------------------------
   ADMIN LOGIN
   ---------------------------------------------------------- */

.wedding-admin-flourish {
    color: #87967a !important;
}


.wedding-admin-divider span {
    background: #aebba3 !important;
}


.wedding-admin-field .form-control {
    border-color: #cbd3c4 !important;
}


.wedding-admin-field .form-control:focus {
    border-color: #87967a !important;

    box-shadow:
        0 0 0 3px
        rgba(135, 150, 122, .15) !important;
}


.wedding-admin-button {
    background:
        linear-gradient(
            135deg,
            #87967a,
            #6f7f64
        ) !important;

    box-shadow:
        0 9px 22px
        rgba(84, 102, 76, .20) !important;
}


.wedding-admin-button:hover {
    background:
        linear-gradient(
            135deg,
            #7b8c6e,
            #627257
        ) !important;

    box-shadow:
        0 13px 28px
        rgba(84, 102, 76, .26) !important;
}


/* ----------------------------------------------------------
   KLEINE TERRAKOTTA-AKZENTE BEIBEHALTEN
   ---------------------------------------------------------- */

.wedding-home-hero h1 span,
.wedding-home-thankyou span,
.wedding-photo-heart,
.wedding-admin-login h1 span {
    color: #cf7868 !important;
}



/* ==========================================================
   SAGE BUTTON OVERRIDES
   ========================================================== */

/* Allgemeine Primärbuttons */

.btn-primary,
.btn-primary-2,
.wedding-home-button,
.wedding-admin-button,
.wedding-gallery-page .btn-primary,
.wedding-gallery-page .upload-button,
.wedding-gallery-page button[type="submit"] {
    background:
        linear-gradient(
            135deg,
            #87967a,
            #6f7f64
        ) !important;

    border-color: #6f7f64 !important;

    color: #ffffff !important;

    box-shadow:
        0 8px 20px
        rgba(84, 102, 76, .20) !important;
}


/* Hover */

.btn-primary:hover,
.btn-primary-2:hover,
.wedding-home-button:hover,
.wedding-admin-button:hover,
.wedding-gallery-page .btn-primary:hover,
.wedding-gallery-page .upload-button:hover,
.wedding-gallery-page button[type="submit"]:hover {
    background:
        linear-gradient(
            135deg,
            #7b8c6e,
            #607054
        ) !important;

    border-color: #607054 !important;

    color: #ffffff !important;

    box-shadow:
        0 12px 26px
        rgba(84, 102, 76, .28) !important;
}


/* Focus */

.btn-primary:focus,
.btn-primary-2:focus,
.wedding-home-button:focus,
.wedding-admin-button:focus {
    box-shadow:
        0 0 0 3px
        rgba(135, 150, 122, .22) !important;
}


/* Outline Buttons */

.btn-outline-primary,
.btn-outline-primary-2 {
    color: #68765f !important;

    border-color: #87967a !important;

    background: transparent !important;
}


.btn-outline-primary:hover,
.btn-outline-primary-2:hover {
    color: #ffffff !important;

    background: #87967a !important;

    border-color: #87967a !important;
}


/* Likes ebenfalls Salbei */

.media-viewer-like-button .btn-primary-2,
.media-viewer-like-button .like-button {
    background: #87967a !important;

    border-color: #87967a !important;

    color: #ffffff !important;
}


/* Aktiver Like etwas dunkler */

.media-viewer-like-button .like-button-active {
    background: #68765f !important;

    border-color: #68765f !important;
}


/* Download Icon */

.media-viewer-download {
    color: #87967a !important;
}


/* Löschen bleibt warm / Terrakotta */

.media-viewer-delete,
.btn-danger {
    color: #cf7868 !important;
}


/* Sekundäre kleine Buttons etwas ruhiger */

.btn-secondary {
    background: #dfe5d9 !important;

    border-color: #c5d0bd !important;

    color: #4f5c48 !important;
}


.btn-secondary:hover {
    background: #cdd7c6 !important;

    border-color: #b8c5af !important;

    color: #3f4a3a !important;
}



/* ==========================================================
   GALLERY UPLOAD - SAGE GREEN FIX
   ========================================================== */

/* Upload-Bereich etwas an die neue Farbwelt anpassen */

.wedding-gallery-page .file-uploader-form .upload_drop {
    border-color: rgba(135, 150, 122, .45) !important;
    background: rgba(223, 229, 217, .22) !important;
}


/* Wirklich alle möglichen Memtly Upload-Buttons */

.wedding-gallery-page .file-uploader-form .upload_drop button,
.wedding-gallery-page .file-uploader-form .upload_drop .btn,
.wedding-gallery-page .file-uploader-form .upload_drop .btn-primary,
.wedding-gallery-page .file-uploader-form .upload_drop .btn-secondary,
.wedding-gallery-page .file-uploader-form .upload_drop .upload-button,
.wedding-gallery-page .file-uploader-form .upload_drop label.btn,
.wedding-gallery-page .file-uploader-form .upload_drop label[for] {
    background:
        linear-gradient(
            135deg,
            #87967a,
            #6f7f64
        ) !important;

    background-color: #87967a !important;

    border: 1px solid #6f7f64 !important;

    color: #ffffff !important;

    border-radius: 9px !important;

    box-shadow:
        0 8px 20px
        rgba(84, 102, 76, .20) !important;

    transition:
        transform .15s ease,
        background .15s ease,
        box-shadow .15s ease !important;
}


/* Text und Icons im Button ebenfalls weiß */

.wedding-gallery-page .file-uploader-form .upload_drop button *,
.wedding-gallery-page .file-uploader-form .upload_drop .btn *,
.wedding-gallery-page .file-uploader-form .upload_drop label.btn *,
.wedding-gallery-page .file-uploader-form .upload_drop label[for] * {
    color: #ffffff !important;
}


/* Hover */

.wedding-gallery-page .file-uploader-form .upload_drop button:hover,
.wedding-gallery-page .file-uploader-form .upload_drop .btn:hover,
.wedding-gallery-page .file-uploader-form .upload_drop label.btn:hover,
.wedding-gallery-page .file-uploader-form .upload_drop label[for]:hover {
    background:
        linear-gradient(
            135deg,
            #7b8c6e,
            #607054
        ) !important;

    background-color: #7b8c6e !important;

    border-color: #607054 !important;

    color: #ffffff !important;

    transform: translateY(-2px);

    box-shadow:
        0 12px 26px
        rgba(84, 102, 76, .28) !important;
}


/* Upload-Symbol / Akzente */

.wedding-gallery-page .file-uploader-form .upload_drop i,
.wedding-gallery-page .file-uploader-form .upload_drop svg {
    color: #ffffff !important;
}


/* Falls Memtly einen separaten Upload-Text außerhalb des Buttons benutzt */

.wedding-gallery-page .file-uploader-form .upload_drop p,
.wedding-gallery-page .file-uploader-form .upload_drop small {
    color: #68765f;
}



/* ==========================================================
   GALLERY UPLOAD - DARK SAGE FIX
   ========================================================== */


/* Drop-Zone: keine gestrichelte Umrandung mehr */

.wedding-gallery-page .file-uploader-form .upload_drop {
    border: 1px solid rgba(104, 118, 95, .22) !important;
    border-style: solid !important;
    outline: none !important;

    background:
        rgba(223, 229, 217, .18) !important;

    box-shadow: none !important;
}


/* Upload Button deutlich dunkler */

.wedding-gallery-page .file-uploader-form .upload_drop button,
.wedding-gallery-page .file-uploader-form .upload_drop .btn,
.wedding-gallery-page .file-uploader-form .upload_drop .btn-primary,
.wedding-gallery-page .file-uploader-form .upload_drop .btn-secondary,
.wedding-gallery-page .file-uploader-form .upload_drop .upload-button,
.wedding-gallery-page .file-uploader-form .upload_drop label.btn,
.wedding-gallery-page .file-uploader-form .upload_drop label[for] {

    background:
        linear-gradient(
            135deg,
            #66745c,
            #56634e
        ) !important;

    background-color: #66745c !important;

    border:
        1px solid
        #4f5c48 !important;

    border-style: solid !important;

    outline: none !important;

    color: #ffffff !important;

    border-radius: 8px !important;

    box-shadow:
        0 8px 18px
        rgba(58, 69, 53, .22) !important;
}


/* Auch innen keine gestrichelten Linien */

.wedding-gallery-page .file-uploader-form .upload_drop button *,
.wedding-gallery-page .file-uploader-form .upload_drop .btn *,
.wedding-gallery-page .file-uploader-form .upload_drop label *,
.wedding-gallery-page .file-uploader-form .upload_drop span {
    outline: none !important;
    border-style: solid;
}


/* Hover noch etwas dunkler */

.wedding-gallery-page .file-uploader-form .upload_drop button:hover,
.wedding-gallery-page .file-uploader-form .upload_drop .btn:hover,
.wedding-gallery-page .file-uploader-form .upload_drop label.btn:hover,
.wedding-gallery-page .file-uploader-form .upload_drop label[for]:hover {

    background:
        linear-gradient(
            135deg,
            #5d6c54,
            #495742
        ) !important;

    background-color: #5d6c54 !important;

    border-color: #44503e !important;

    color: #ffffff !important;
}


/* Focus-Ring komplett entfernen */

.wedding-gallery-page .file-uploader-form .upload_drop button:focus,
.wedding-gallery-page .file-uploader-form .upload_drop button:focus-visible,
.wedding-gallery-page .file-uploader-form .upload_drop .btn:focus,
.wedding-gallery-page .file-uploader-form .upload_drop .btn:focus-visible,
.wedding-gallery-page .file-uploader-form .upload_drop label:focus,
.wedding-gallery-page .file-uploader-form .upload_drop label:focus-visible {

    outline: none !important;

    box-shadow:
        0 8px 18px
        rgba(58, 69, 53, .22) !important;
}


/* Upload-Text */

.wedding-gallery-page .file-uploader-form .upload_drop p,
.wedding-gallery-page .file-uploader-form .upload_drop small {
    color: #64705d !important;
}


/* Icon im Button */

.wedding-gallery-page .file-uploader-form .upload_drop i,
.wedding-gallery-page .file-uploader-form .upload_drop svg {
    color: #ffffff !important;
}



/* ==========================================================
   GALLERY UPLOAD - DARK SAGE FIX
   ========================================================== */


/* Drop-Zone: keine gestrichelte Umrandung mehr */

.wedding-gallery-page .file-uploader-form .upload_drop {
    border: 1px solid rgba(104, 118, 95, .22) !important;
    border-style: solid !important;
    outline: none !important;

    background:
        rgba(223, 229, 217, .18) !important;

    box-shadow: none !important;
}


/* Upload Button deutlich dunkler */

.wedding-gallery-page .file-uploader-form .upload_drop button,
.wedding-gallery-page .file-uploader-form .upload_drop .btn,
.wedding-gallery-page .file-uploader-form .upload_drop .btn-primary,
.wedding-gallery-page .file-uploader-form .upload_drop .btn-secondary,
.wedding-gallery-page .file-uploader-form .upload_drop .upload-button,
.wedding-gallery-page .file-uploader-form .upload_drop label.btn,
.wedding-gallery-page .file-uploader-form .upload_drop label[for] {

    background:
        linear-gradient(
            135deg,
            #66745c,
            #56634e
        ) !important;

    background-color: #66745c !important;

    border:
        1px solid
        #4f5c48 !important;

    border-style: solid !important;

    outline: none !important;

    color: #ffffff !important;

    border-radius: 8px !important;

    box-shadow:
        0 8px 18px
        rgba(58, 69, 53, .22) !important;
}


/* Auch innen keine gestrichelten Linien */

.wedding-gallery-page .file-uploader-form .upload_drop button *,
.wedding-gallery-page .file-uploader-form .upload_drop .btn *,
.wedding-gallery-page .file-uploader-form .upload_drop label *,
.wedding-gallery-page .file-uploader-form .upload_drop span {
    outline: none !important;
    border-style: solid;
}


/* Hover noch etwas dunkler */

.wedding-gallery-page .file-uploader-form .upload_drop button:hover,
.wedding-gallery-page .file-uploader-form .upload_drop .btn:hover,
.wedding-gallery-page .file-uploader-form .upload_drop label.btn:hover,
.wedding-gallery-page .file-uploader-form .upload_drop label[for]:hover {

    background:
        linear-gradient(
            135deg,
            #5d6c54,
            #495742
        ) !important;

    background-color: #5d6c54 !important;

    border-color: #44503e !important;

    color: #ffffff !important;
}


/* Focus-Ring komplett entfernen */

.wedding-gallery-page .file-uploader-form .upload_drop button:focus,
.wedding-gallery-page .file-uploader-form .upload_drop button:focus-visible,
.wedding-gallery-page .file-uploader-form .upload_drop .btn:focus,
.wedding-gallery-page .file-uploader-form .upload_drop .btn:focus-visible,
.wedding-gallery-page .file-uploader-form .upload_drop label:focus,
.wedding-gallery-page .file-uploader-form .upload_drop label:focus-visible {

    outline: none !important;

    box-shadow:
        0 8px 18px
        rgba(58, 69, 53, .22) !important;
}


/* Upload-Text */

.wedding-gallery-page .file-uploader-form .upload_drop p,
.wedding-gallery-page .file-uploader-form .upload_drop small {
    color: #64705d !important;
}


/* Icon im Button */

.wedding-gallery-page .file-uploader-form .upload_drop i,
.wedding-gallery-page .file-uploader-form .upload_drop svg {
    color: #ffffff !important;
}



/* ==========================================================
   GALLERY UPLOAD - DARK SAGE FIX
   ========================================================== */


/* Drop-Zone: keine gestrichelte Umrandung mehr */

.wedding-gallery-page .file-uploader-form .upload_drop {
    border: 1px solid rgba(104, 118, 95, .22) !important;
    border-style: solid !important;
    outline: none !important;

    background:
        rgba(223, 229, 217, .18) !important;

    box-shadow: none !important;
}


/* Upload Button deutlich dunkler */

.wedding-gallery-page .file-uploader-form .upload_drop button,
.wedding-gallery-page .file-uploader-form .upload_drop .btn,
.wedding-gallery-page .file-uploader-form .upload_drop .btn-primary,
.wedding-gallery-page .file-uploader-form .upload_drop .btn-secondary,
.wedding-gallery-page .file-uploader-form .upload_drop .upload-button,
.wedding-gallery-page .file-uploader-form .upload_drop label.btn,
.wedding-gallery-page .file-uploader-form .upload_drop label[for] {

    background:
        linear-gradient(
            135deg,
            #66745c,
            #56634e
        ) !important;

    background-color: #66745c !important;

    border:
        1px solid
        #4f5c48 !important;

    border-style: solid !important;

    outline: none !important;

    color: #ffffff !important;

    border-radius: 8px !important;

    box-shadow:
        0 8px 18px
        rgba(58, 69, 53, .22) !important;
}


/* Auch innen keine gestrichelten Linien */

.wedding-gallery-page .file-uploader-form .upload_drop button *,
.wedding-gallery-page .file-uploader-form .upload_drop .btn *,
.wedding-gallery-page .file-uploader-form .upload_drop label *,
.wedding-gallery-page .file-uploader-form .upload_drop span {
    outline: none !important;
    border-style: solid;
}


/* Hover noch etwas dunkler */

.wedding-gallery-page .file-uploader-form .upload_drop button:hover,
.wedding-gallery-page .file-uploader-form .upload_drop .btn:hover,
.wedding-gallery-page .file-uploader-form .upload_drop label.btn:hover,
.wedding-gallery-page .file-uploader-form .upload_drop label[for]:hover {

    background:
        linear-gradient(
            135deg,
            #5d6c54,
            #495742
        ) !important;

    background-color: #5d6c54 !important;

    border-color: #44503e !important;

    color: #ffffff !important;
}


/* Focus-Ring komplett entfernen */

.wedding-gallery-page .file-uploader-form .upload_drop button:focus,
.wedding-gallery-page .file-uploader-form .upload_drop button:focus-visible,
.wedding-gallery-page .file-uploader-form .upload_drop .btn:focus,
.wedding-gallery-page .file-uploader-form .upload_drop .btn:focus-visible,
.wedding-gallery-page .file-uploader-form .upload_drop label:focus,
.wedding-gallery-page .file-uploader-form .upload_drop label:focus-visible {

    outline: none !important;

    box-shadow:
        0 8px 18px
        rgba(58, 69, 53, .22) !important;
}


/* Upload-Text */

.wedding-gallery-page .file-uploader-form .upload_drop p,
.wedding-gallery-page .file-uploader-form .upload_drop small {
    color: #64705d !important;
}


/* Icon im Button */

.wedding-gallery-page .file-uploader-form .upload_drop i,
.wedding-gallery-page .file-uploader-form .upload_drop svg {
    color: #ffffff !important;
}



/* ==========================================================
   GALLERY UPLOAD - DARK GREEN FINAL
   ========================================================== */

.wedding-gallery-page .file-uploader-form .upload_drop {
    background: rgba(255, 250, 242, .55) !important;

    border: 1px solid rgba(70, 83, 66, .22) !important;
    border-style: solid !important;

    outline: none !important;
}


/* Upload Button */

.wedding-gallery-page .file-uploader-form .upload_drop button,
.wedding-gallery-page .file-uploader-form .upload_drop .btn,
.wedding-gallery-page .file-uploader-form .upload_drop .btn-primary,
.wedding-gallery-page .file-uploader-form .upload_drop .btn-secondary,
.wedding-gallery-page .file-uploader-form .upload_drop .upload-button,
.wedding-gallery-page .file-uploader-form .upload_drop label.btn,
.wedding-gallery-page .file-uploader-form .upload_drop label[for] {

    background:
        linear-gradient(
            135deg,
            #465342,
            #354132
        ) !important;

    background-color: #465342 !important;

    border:
        1px solid
        #2f392c !important;

    border-style: solid !important;

    outline: none !important;

    color: #ffffff !important;

    border-radius: 8px !important;

    box-shadow:
        0 8px 18px
        rgba(35, 45, 32, .28) !important;
}


/* Text und Icons */

.wedding-gallery-page .file-uploader-form .upload_drop button *,
.wedding-gallery-page .file-uploader-form .upload_drop .btn *,
.wedding-gallery-page .file-uploader-form .upload_drop label *,
.wedding-gallery-page .file-uploader-form .upload_drop svg,
.wedding-gallery-page .file-uploader-form .upload_drop i {
    color: #ffffff !important;
}


/* Hover */

.wedding-gallery-page .file-uploader-form .upload_drop button:hover,
.wedding-gallery-page .file-uploader-form .upload_drop .btn:hover,
.wedding-gallery-page .file-uploader-form .upload_drop label.btn:hover,
.wedding-gallery-page .file-uploader-form .upload_drop label[for]:hover {

    background:
        linear-gradient(
            135deg,
            #3d4939,
            #2e382b
        ) !important;

    background-color: #3d4939 !important;

    border-color: #283225 !important;

    color: #ffffff !important;

    transform: translateY(-1px);

    box-shadow:
        0 10px 22px
        rgba(35, 45, 32, .34) !important;
}


/* Gestrichelte / Browser-Focus-Umrandung entfernen */

.wedding-gallery-page .file-uploader-form .upload_drop *,
.wedding-gallery-page .file-uploader-form .upload_drop *:focus,
.wedding-gallery-page .file-uploader-form .upload_drop *:focus-visible {

    outline: none !important;
}


/* Falls Memtly noch einen hellen inneren Button-Hintergrund setzt */

.wedding-gallery-page .file-uploader-form .upload_drop span.btn,
.wedding-gallery-page .file-uploader-form .upload_drop .upload-input + label {
    background-color: #465342 !important;
    color: #ffffff !important;
    border-color: #2f392c !important;
}



/* ==========================================================
   GALLERY UPLOAD CARD - FINAL DARK SAGE
   ========================================================== */


/* Die komplette Upload-Fläche */
.wedding-gallery-page .file-uploader-form .upload_drop,
.wedding-gallery-page .upload_drop {

    background: #3ae008 !important;

    border: 1px solid #354132 !important;
    border-style: solid !important;

    outline: none !important;

    box-shadow:
        0 8px 20px
        rgba(42, 52, 39, .18) !important;

    color: #ffffff !important;

    border-radius: 14px !important;

    transition:
        background-color .15s ease,
        transform .15s ease,
        box-shadow .15s ease !important;
}


/* Hover über der gesamten Upload-Fläche */
.wedding-gallery-page .file-uploader-form .upload_drop:hover,
.wedding-gallery-page .upload_drop:hover {

    background: #394636 !important;

    border-color: #303b2d !important;

    box-shadow:
        0 11px 25px
        rgba(42, 52, 39, .24) !important;
}


/* ----------------------------------------------------------
   TEXT
   ---------------------------------------------------------- */

.wedding-gallery-page .upload_drop,
.wedding-gallery-page .upload_drop label,
.wedding-gallery-page .upload_drop strong,
.wedding-gallery-page .upload_drop .fw-bold,
.wedding-gallery-page .upload_drop h1,
.wedding-gallery-page .upload_drop h2,
.wedding-gallery-page .upload_drop h3,
.wedding-gallery-page .upload_drop h4 {

    color: #ffffff !important;
}


/* kleiner Untertitel:
   "Tippen und Bilder auswählen" */

.wedding-gallery-page .upload_drop p,
.wedding-gallery-page .upload_drop small,
.wedding-gallery-page .upload_drop .text-muted {

    color: #dfe6da !important;
}


/* ----------------------------------------------------------
   ICONS / PLUS / HERZ
   ---------------------------------------------------------- */

.wedding-gallery-page .upload_drop i,
.wedding-gallery-page .upload_drop svg,
.wedding-gallery-page .upload_drop .fa,
.wedding-gallery-page .upload_drop .fas,
.wedding-gallery-page .upload_drop .far {

    color: #ffffff !important;
}


/* ----------------------------------------------------------
   ALLE INNEREN BUTTONS / LABELS TRANSPARENT
   Die Dropzone selbst ist jetzt der Button.
   ---------------------------------------------------------- */

.wedding-gallery-page .upload_drop button,
.wedding-gallery-page .upload_drop .btn,
.wedding-gallery-page .upload_drop label.btn,
.wedding-gallery-page .upload_drop label[for] {

    background: transparent !important;
    background-color: transparent !important;

    border: 0 !important;

    box-shadow: none !important;

    outline: none !important;

    color: #ffffff !important;
}


/* ----------------------------------------------------------
   GESTRICHELTE / FOCUS UMRANDUNG ENTFERNEN
   ---------------------------------------------------------- */

.wedding-gallery-page .upload_drop,
.wedding-gallery-page .upload_drop:focus,
.wedding-gallery-page .upload_drop:focus-visible,
.wedding-gallery-page .upload_drop:focus-within,

.wedding-gallery-page .upload_drop *,
.wedding-gallery-page .upload_drop *:focus,
.wedding-gallery-page .upload_drop *:focus-visible {

    outline: none !important;
}


/* Falls Bootstrap / Browser einen Focus-Ring setzt */

.wedding-gallery-page .upload_drop:focus,
.wedding-gallery-page .upload_drop:focus-visible,
.wedding-gallery-page .upload_drop:focus-within {

    border:
        1px solid
        #354132 !important;

    box-shadow:
        0 8px 20px
        rgba(42, 52, 39, .18) !important;
}


/* File-Input selbst unsichtbar */

.wedding-gallery-page .upload_drop input[type="file"],
.wedding-gallery-page .upload-input {

    outline: none !important;
    box-shadow: none !important;
}


/* Eventuelle gestrichelte Pseudo-Elemente ausschalten */

.wedding-gallery-page .upload_drop::before,
.wedding-gallery-page .upload_drop::after {

    border-style: solid !important;
    outline: none !important;
}



/* ==========================================================
   GALLERY UPLOAD - SOFT SAGE FINAL
   ========================================================== */

.wedding-gallery-page .file-uploader-form .upload_drop,
.wedding-gallery-page .upload_drop {

    background: #B8C2AE !important;

    border: 1px solid #9DAA93 !important;
    border-style: solid !important;

    outline: none !important;

    color: #3F493A !important;

    border-radius: 14px !important;

    box-shadow:
        0 6px 16px
        rgba(70, 82, 64, .10) !important;

    transition:
        background-color .15s ease,
        border-color .15s ease,
        box-shadow .15s ease,
        transform .15s ease !important;
}


/* Hover */

.wedding-gallery-page .file-uploader-form .upload_drop:hover,
.wedding-gallery-page .upload_drop:hover {

    background: #AEB9A4 !important;

    border-color: #919F87 !important;

    box-shadow:
        0 8px 20px
        rgba(70, 82, 64, .15) !important;
}


/* Haupttext */

.wedding-gallery-page .upload_drop strong,
.wedding-gallery-page .upload_drop .fw-bold,
.wedding-gallery-page .upload_drop label {

    color: #3F493A !important;
}


/* Untertext */

.wedding-gallery-page .upload_drop p,
.wedding-gallery-page .upload_drop small,
.wedding-gallery-page .upload_drop .text-muted {

    color: #5F695A !important;
}


/* Innere Buttons/Labels transparent */

.wedding-gallery-page .upload_drop button,
.wedding-gallery-page .upload_drop .btn,
.wedding-gallery-page .upload_drop label.btn,
.wedding-gallery-page .upload_drop label[for] {

    background: transparent !important;

    background-color: transparent !important;

    border: 0 !important;

    outline: none !important;

    box-shadow: none !important;

    color: #3F493A !important;
}


/* Herz als warmer Kontrast */

.wedding-gallery-page .upload_drop .fa-heart,
.wedding-gallery-page .upload_drop .far.fa-heart,
.wedding-gallery-page .upload_drop .fas.fa-heart {

    color: #CF7868 !important;
}


/* Andere Icons / Plus */

.wedding-gallery-page .upload_drop i:not(.fa-heart),
.wedding-gallery-page .upload_drop svg {

    color: #66715F !important;
}


/* Gestrichelte Fokus-Ränder entfernen */

.wedding-gallery-page .upload_drop,
.wedding-gallery-page .upload_drop:focus,
.wedding-gallery-page .upload_drop:focus-visible,
.wedding-gallery-page .upload_drop:focus-within,
.wedding-gallery-page .upload_drop *,
.wedding-gallery-page .upload_drop *:focus,
.wedding-gallery-page .upload_drop *:focus-visible {

    outline: none !important;
}


/* Focus bleibt nur leicht sichtbar */

.wedding-gallery-page .upload_drop:focus-within {

    border-color: #87957D !important;

    box-shadow:
        0 0 0 3px
        rgba(135, 149, 125, .12) !important;
}

/* LIVE-CSS-TEST-1787261187 */
