/* ===========================
   BOHO PREMIUM v1.0
=========================== */

:root{

    --bg:#F7F3EE;
    --bg-dark:#EFE4D7;

    --white:#FFFFFF;

    --text:#4B433D;
    --text-light:#867C73;

    --primary:#B67B58;
    --primary-dark:#9F6847;

    --olive:#7B8768;

    --border:#E8DED2;

    --shadow:
        0 20px 60px rgba(0,0,0,.08);

    --radius:30px;

    --transition:.35s;

}

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:"Inter",sans-serif;

    background:
    radial-gradient(circle at top,#FFFDFB 0%,#F7F3EE 60%,#EFE5DA 100%);

    color:var(--text);

    min-height:100vh;

    overflow-x:hidden;

}

img{

    display:block;

    max-width:100%;

}

button{

    font-family:inherit;

}

.background-decoration{

    position:fixed;

    inset:0;

    pointer-events:none;

    z-index:-1;

}

.leaf{

    position:absolute;

    width:280px;

    height:280px;

    opacity:.05;

    border-radius:50%;

    background:

    radial-gradient(circle,var(--olive) 2px,transparent 2px);

    background-size:18px 18px;

}

.leaf-left{

    left:-80px;

    top:-40px;

    transform:rotate(-15deg);

}

.leaf-right{

    right:-80px;

    bottom:-40px;

    transform:rotate(20deg);

}

.container{

    width:min(1180px,92%);

    margin:auto;

}

.hero{

    min-height:65vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:40px 0 20px;

}

.hero-card{

    width:min(900px,100%);

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

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.9);

    border-radius:42px;

    padding:55px 60px;

    text-align:center;

    box-shadow:
        0 25px 60px rgba(125,95,70,.10);

    position:relative;

    overflow:hidden;

}
.hero-top{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:20px;

    margin-bottom:40px;

}

.line{

    width:90px;

    height:1px;

    background:#D9CFC3;

}

.event-date{

    font-size:.85rem;

    letter-spacing:4px;

    text-transform:uppercase;

    color:var(--text-light);

}

h1{

    display:flex;

    flex-direction:column;

    gap:8px;

    margin-bottom:30px;

}

.title-small{

    font-family:"Cormorant Garamond",serif;

    font-size:4.4rem;

    font-weight:500;

    line-height:1;

}

.title-name{

    font-family:"Cormorant Garamond",serif;

    font-size:7rem;

    font-style:italic;

    font-weight:700;

    color:var(--primary);

    line-height:1;

}

.hero-description{

    max-width:560px;

    margin:0 auto 35px;

    color:var(--text-light);

    font-size:1.05rem;

    line-height:1.8;

}

.upload-section{

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:18px;

}

#uploadButton{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    min-width:320px;

    height:64px;

    border:none;

    border-radius:999px;

    background:linear-gradient(180deg,#C78960,#B57650);

    color:white;

    font-size:1rem;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

    box-shadow:
        0 12px 30px rgba(182,123,88,.25);

}

#uploadButton:hover{

    transform:translateY(-2px);

    box-shadow:
        0 18px 40px rgba(182,123,88,.35);

}


.icon{

    font-size:1.3rem;

}

.upload-info{

    color:var(--text-light);

    font-size:.95rem;

}
main{

    padding-bottom:100px;

}

.gallery-section{

    margin-top:30px;

}

.section-title{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:24px;

    margin-bottom:18px;

}

.section-title .line{

    width:120px;

}

h2{

    font-family:"Cormorant Garamond",serif;

    font-size:3.2rem;

    font-weight:600;

    color:var(--text);

}

.gallery-stats{

display:flex;

justify-content:center;

align-items:center;

gap:12px;

margin:20px 0 40px;

color:#867C73;

font-size:.95rem;

}

.separator{

    opacity:.5;

}

.gallery{

    column-count:4;

    column-gap:20px;

    padding-bottom:30px;

}

.photo{
    position:relative;

    width:100%;

    display:inline-block;

    margin-bottom:22px;

    border-radius:22px;

    overflow:hidden;

    background:white;

    box-shadow:0 18px 45px rgba(0,0,0,.08);

    transition:.35s;

    break-inside:avoid;

}

.empty{

    grid-column:1/-1;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    min-height:260px;

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

    border:2px dashed #DCCDBF;

    border-radius:30px;

    color:var(--text-light);

    text-align:center;

    padding:50px;

    box-shadow:none;

    transition:.3s;

}

.empty h3{

    font-family:"Cormorant Garamond",serif;

    font-size:2.4rem;

    font-weight:600;

    margin:18px 0 12px;

}

.empty p{

    max-width:420px;

    font-size:1rem;

    line-height:1.8;

}



.photo:hover{

    transform:
        translateY(-8px)
        scale(1.02);

}

.photo img,
.photo video{

    width:100%;

    height:auto;

    display:block;

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

.lightbox{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.92);

    display:flex;

    justify-content:center;

    align-items:center;

    padding:40px;

    z-index:9999;

    opacity:1;

    transition:.3s;

}

.lightbox.hidden{

    display:none;

}

.lightbox-content{

    max-width:95vw;

    max-height:95vh;

    display:flex;

    justify-content:center;

    align-items:center;

}

.lightbox-content img,
.lightbox-content video{

    max-width:95vw;

    max-height:95vh;

    border-radius:24px;

    box-shadow:
        0 25px 70px rgba(0,0,0,.35);

}

.close-button{

    position:absolute;

    top:30px;

    right:30px;

    width:56px;

    height:56px;

    border:none;

    border-radius:50%;

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

    backdrop-filter:blur(12px);

    color:white;

    font-size:28px;

    cursor:pointer;

    transition:.3s;

}

.close-button:hover{

    transform:rotate(90deg);

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

}

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

footer{

    padding:80px 0 40px;

    text-align:center;

    color:var(--text-light);

}

.footer-line{

    width:140px;

    height:1px;

    background:var(--border);

    margin:0 auto 25px;

}

footer p{

    font-family:"Cormorant Garamond",serif;

    font-size:1.8rem;

    margin-bottom:8px;

}

footer span{

    font-size:.9rem;

    letter-spacing:2px;

    text-transform:uppercase;

}
/* ===========================
   ANIMACJE
=========================== */

@keyframes fadeUp{

    from{

        opacity:0;

        transform:
            translateY(35px);

    }

    to{

        opacity:1;

        transform:
            translateY(0);

    }

}

@keyframes fadeIn{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}

@keyframes floatCard{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-5px);

    }

    100%{

        transform:translateY(0);

    }

}

.hero-card{

    animation:
        fadeUp .9s ease,
        floatCard 8s ease-in-out infinite;

}

.photo{

    animation:fadeIn .45s ease;

}

/* ===========================
   SCROLLBAR
=========================== */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#F3EEE8;

}

::-webkit-scrollbar-thumb{

    background:#C9AF98;

    border-radius:999px;

}

::-webkit-scrollbar-thumb:hover{

    background:#B67B58;

}

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

@media (max-width:900px){
    .gallery{

    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;

    column-count:initial !important;
    column-width:initial !important;
    columns:initial !important;

    margin-top:25px;

}

.gallery .photo{

    width:100% !important;
    margin:0 !important;

    display:block !important;
    break-inside:auto !important;

}

.gallery .photo img,
.gallery .photo video{

    width:100% !important;
    height:auto !important;
    display:block !important;

}

.hero{

min-height:auto;

padding:40px 0;

}

.hero-card{

padding:50px 28px;

border-radius:28px;

}

.title-small{

font-size:3rem;

}

.title-name{

font-size:4.8rem;

}

.hero-description{

font-size:1rem;

}

.section-title{

gap:12px;

}

.section-title .line{

width:50px;

}

h2{

font-size:2.4rem;

}

.gallery{

    columns:3 280px;

    column-gap:22px;

    margin-top:25px;

}

.empty{

padding:60px 20px;

}

#uploadButton{

width:100%;

justify-content:center;

}

}

@media (max-width:600px){

.section-title{
    display:block;
    text-align:center;
}

.section-title .line{
    display:none;
}

.section-title h2{
    font-size:3rem;
    line-height:.95;
    text-align:center;
    max-width:320px;
    margin:0 auto;
}

.title-small{

font-size:2.4rem;

}

.title-name{

font-size:3.8rem;

}

.hero-date{

font-size:.75rem;

letter-spacing:2px;

}

.hero-description{

line-height:1.7;

}

}

.hero-card::before{

    content:"🌾";

    position:absolute;

    top:28px;

    left:35px;

    font-size:26px;

    opacity:.35;

}

.hero-card::after{

    content:"🌾";

    position:absolute;

    right:35px;

    bottom:28px;

    font-size:26px;

    opacity:.35;

    transform:scaleX(-1);

}

.upload-overlay{

position:fixed;
inset:0;

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

backdrop-filter:blur(10px);

display:flex;

justify-content:center;

align-items:center;

z-index:999999;

transition:.3s;

}

.upload-overlay.hidden{

display:none;

}

.upload-box{

background:white;

padding:50px;

border-radius:30px;

box-shadow:0 25px 70px rgba(0,0,0,.12);

text-align:center;

width:min(90%,360px);

}

.upload-box h3{

margin:20px 0 10px;

font-family:"Cormorant Garamond",serif;

font-size:2rem;

}

.upload-box p{

color:#777;

}

.spinner{

width:70px;

height:70px;

margin:auto;

border:6px solid #eee;

border-top:6px solid #b67b58;

border-radius:50%;

animation:spin 1s linear infinite;

}

@keyframes spin{

to{

transform:rotate(360deg);

}

}
.secondary-button{

    margin-top:12px;

    background:white;

    border:2px solid #E8DED2;

    color:#4B433D;

    padding:14px 26px;

    border-radius:999px;

    cursor:pointer;

    font-size:.95rem;

    transition:.25s;

}

.secondary-button:hover{

    background:#F8F2EC;

    transform:translateY(-2px);

}



.video-play{

    position:absolute;

    top:50%;
    left:50%;

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

    width:56px;
    height:56px;

    border-radius:50%;

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

    backdrop-filter:blur(6px);

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

    font-size:22px;

    color:#4B433D;

    pointer-events:none;

    box-shadow:0 8px 24px rgba(0,0,0,.18);

}

.lightbox-arrow{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:60px;
    height:60px;

    border:none;
    border-radius:50%;

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

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

    color:white;

    font-size:28px;

    cursor:pointer;

    transition:all .25s ease;

    z-index:1001;

    opacity:.55;

}

.lightbox-arrow:hover{

    opacity:1;

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

    transform:translateY(-50%) scale(1.08);

}

.lightbox-arrow.left{
    left:12px;
}

.lightbox-arrow.right{
    right:12px;
}

.lightbox-arrow:active{

    transform:translateY(-50%) scale(.96);

}
