* {
    box-sizing: border-box;
}

@font-face {
    font-family: "spirit";
    src: url("https://files.catbox.moe/u949la.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
}

body {
    margin: 0;
    font-family: serif;
    overflow-x: hidden; /* zapobiega przesuwaniu poziomemu */
}

/* HEADER */
.header {
    margin-top: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}


/* PAGE BG */
.page-bg {
    background-image: url("https://i.pinimg.com/736x/51/34/92/513492419c8c7a02ca6140cb75a9dcd3.jpg");
    background-repeat: repeat;
    background-position: top left;
    width: 100%;
    min-height: 100vh;
    padding: 20px 0 500px; /* ↑ zwiększony padding-bottom, aby tło sięgało do końca dekoracji */
}

/* WRAPPER */
.wrapper {
    width: 100%;
    max-width: 700px;
    margin-top:30px;
    margin: 0px auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
}

/* FRAMED STYLE */
.frame {
   border: 1px solid rgba(186, 186, 186, 1);
    background: rgba(252, 247, 250, 1);
    background-clip: border-box;
}

/* BIO BOX */
.box {
    width: 100%;
    max-width: 700px;
    text-align: center;
    background:  none;
    font-size: 20px;
    z-index: 7;
    margin-top: 80px;
    margin-bottom: 25px;
}

.font-spirit{
  font-family: "spirit", serif;
    font-size: 25px;
    font-weight: bold;
    color: white;
    text-shadow:
    -1px -1px 0 #996287,
    1px -1px 0 #996287,
    -1px 1px 0 #996287,
    1px 1px 0 #996287,
    0 0 6px #ff9fd9,
    0 0 12px #ffd1ec,
    2px 2px 6px rgba(0,0,0,0.6);
}
/* GRIDY */
.grid-top{
   display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 140px; /* odstęp między kolumnami */
    row-gap: 15px;   
    width: 100%;
}

.grid-bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 140px; /* odstęp między kolumnami */
    row-gap: 15px;   
    width: 100%;
    margin-top: 15px;
}

/* BOXY W GRIDZIE */
.top-box{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 280px; /* desktopowa szerokość boxu */
    height: 60px;
    padding: 0;
    margin: 0 auto;
    box-sizing: border-box;
    z-index: 7;
    text-align: center;
    font-size: 24px;
}

.top-box a {
    color: inherit;         /* zachowuje kolor tekstu boxa */
    text-decoration: none;  /* usuwa podkreślenie */
}

.top-box a:hover,
.top-box a:visited,
.top-box a:active,
.top-box a:focus {
    color: inherit;         /* też nie zmienia koloru w hover/visited/etc */
    text-decoration: none;  /* też nie podkreśla */
}

.bottom-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 280px; /* desktopowa szerokość boxu */
    height: 80px;
    padding: 0;
    margin: 0 auto;
    box-sizing: border-box;
    z-index: 7;
    text-align: center;
    font-family: "spirit", serif;
    font-size: 24px;
    font-weight: bold;
    color: white;
    text-shadow:
    -1px -1px 0 #996287,
    1px -1px 0 #996287,
    -1px 1px 0 #996287,
    1px 1px 0 #996287,
    0 0 6px #ff9fd9,
    0 0 12px #ffd1ec,
    2px 2px 6px rgba(0,0,0,0.6);
}



/* KONTEJNERY DEKORACJI */
.decor-container {
    position: absolute;
    pointer-events: none; /* nie przeszkadza w interakcji */
}

/* ------------------------------ */
/* STELLUSIA DECOR (Twoja buzia) */
.stellusia-decor {
    top: -30px;      /* wysokość od góry wrappera */
    left: 150px;     /* odległość od lewej wrappera, możesz zmienić */
    z-index: 2;      /* nad wszystkimi */
}

.stellusia-decor img {
    width: 400px;    /* szerokość buzi */
    height: auto;
}

/* ------------------------------ */
/* WINGS DECOR (prawe i lewe skrzydło) */
.wings-decor {
    top: 50px;          /* wysokość od góry wrappera */
    width: 700px;        /* dopasowane do szerokości wrappera */
    display: flex;
    justify-content: space-between; /* lewe i prawe skrzydło */
    z-index: 0;           /* pod buzią, nad wstążką */
}

.wings-decor img {
    width: 300px;         /* szerokość skrzydła */
    height: auto;
}

/* ------------------------------ */
/* LACE DECOR (wstążka) */
.lace-decor {
    top: 300px;      /* wysokość od góry wrappera */
    left: 250px;     /* przesunięcie względem lewej krawędzi wrappera */
    z-index: 1;      /* najniżej */
}

.lace-decor img {
    width: 200px;
    height: auto;
}



/* RESPONSYWNOŚĆ MOBILE */
/* MOBILE */
@media (max-width: 600px) {
  #top, #bottom {
    grid-template-columns: 1fr;
  }
}