:root{--agro-bg:#f7f3e8;--agro-card:#fdfbf5;--agro-green:#496d2d;--agro-green-dark:#355322;--agro-text:#17251e;--agro-muted:#4f554e;--agro-border:#ddd8c8}
.agro-hero{position:relative;overflow:hidden;background:var(--agro-bg);padding-bottom:60px}.agro-hero__container{width:min(1450px,calc(100% - 100px));margin:auto;display:grid;grid-template-columns:minmax(420px,.82fr) minmax(650px,1.35fr);align-items:center;min-height:590px}.agro-icon{display:inline-block;flex:0 0 auto;background-repeat:no-repeat;background-position:center;background-size:contain;vertical-align:middle;line-height:1;pointer-events:none}.agro-icon--leaf{width:20px;height:20px;background-image:url('/images/icons/leaf.svg')}.agro-icon--house{width:25px;height:25px;background-image:url('/images/icons/house.svg')}.agro-icon--sauna{width:25px;height:25px;background-image:url('/images/icons/sauna.svg')}.agro-icon--cutlery{width:25px;height:25px;background-image:url('/images/icons/cutlery.svg')}.agro-icon--people{width:25px;height:25px;background-image:url('/images/icons/people.svg')}.agro-icon--tradition{width:35px;height:35px;background-image:url('/images/icons/tradition.svg')}.agro-icon--calendar{width:22px;height:22px;background-image:url('/images/icons/calendar.svg')}.agro-icon--play{width:31px;height:31px;background-image:url('/images/icons/play.svg')}.agro-hero__content{position:relative;z-index:5;padding:45px 30px 45px 35px}.agro-hero__eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:24px;color:var(--agro-green);font-size:15px;font-weight:500}.agro-hero__eyebrow-line{width:25px;height:1px;background:var(--agro-green)}.agro-hero__title{margin:0;color:var(--agro-text);font-family:Georgia,'Times New Roman',serif;font-size:clamp(48px,4.6vw,72px);font-weight:500;line-height:.98;letter-spacing:-.045em}.agro-hero__title span{display:block;margin-top:8px;color:var(--agro-green);font-family:'Brush Script MT','Segoe Script',cursive;font-size:1.05em;font-weight:500}.agro-hero__description{max-width:530px;margin:32px 0 28px;color:var(--agro-muted);font-size:17px;line-height:1.75}.agro-hero__buttons{display:flex;align-items:center;gap:18px}.agro-button{min-height:51px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 21px;border-radius:7px;text-decoration:none;font-size:15px;transition:.25s ease}.agro-button--reservation{background:var(--agro-green);color:#fff;box-shadow:0 8px 20px rgba(73,109,45,.15)}.agro-button--reservation:hover{background:var(--agro-green-dark);transform:translateY(-2px)}.agro-button--gallery{border:1px solid var(--agro-green);background:transparent;color:var(--agro-green)}.agro-button--gallery:hover{background:#fff;transform:translateY(-2px)}.agro-hero__visual{position:relative;min-height:590px;display:flex;overflow:visible}.agro-hero__photo{position:absolute;inset:0 -80px 0 -50px;overflow:hidden;}.agro-hero__photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transform:scale(1.02)}.agro-hero__photo-fade{position:absolute;inset:0 auto 0 0;width:22%;background:linear-gradient(90deg,var(--agro-bg),rgba(247,243,232,.88) 18%,rgba(247,243,232,.3) 55%,transparent);pointer-events:none}.agro-tradition{position:absolute;z-index:8;right:10px;bottom:15px;width:175px;height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px;text-align:center;background:linear-gradient(145deg,#faf4df,#f3ead0);border:1px solid #d6c9a8;border-radius:42% 58% 48% 52% / 52% 45% 55% 48%;transform:rotate(-3deg);box-shadow:0 10px 25px rgba(54,62,45,.12)}.agro-tradition::before{content:'';position:absolute;inset:8px;border:1px dashed rgba(73,109,45,.35);border-radius:inherit}.agro-tradition__icon{display:flex;align-items:center;justify-content:center}.agro-tradition__text{display:flex;flex-direction:column;color:var(--agro-text);font-family:Georgia,serif;font-size:17px;line-height:1.15}.agro-tradition__text strong{margin-top:4px;color:var(--agro-green);font-family:'Brush Script MT','Segoe Script',cursive;font-size:25px;font-weight:500}.agro-tradition__heart{margin-top:6px;color:var(--agro-green);font-size:20px}.agro-offer{position:relative;z-index:10;margin-top:-5px}.agro-offer__container{width:min(1350px,calc(100% - 100px));margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.agro-card{position:relative;overflow:hidden;background:var(--agro-card);border:1px solid rgba(210,204,185,.9);border-radius:12px;box-shadow:0 8px 25px rgba(54,62,45,.07);transition:.3s ease}.agro-card:hover{transform:translateY(-6px);box-shadow:0 16px 35px rgba(54,62,45,.12)}.agro-card__image{position:relative;height:170px}.agro-card__image img{width:100%;height:100%;display:block;object-fit:cover}.agro-card__icon{position:absolute;left:22px;bottom:-22px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--agro-green);border:4px solid var(--agro-card);box-shadow:0 4px 10px rgba(0,0,0,.1)}.agro-card__body{min-height:170px;padding:37px 24px 22px}.agro-card__body h2{margin:0 0 10px;color:var(--agro-text);font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.15}.agro-card__body p{min-height:48px;margin:0 0 18px;color:var(--agro-muted);font-size:14px;line-height:1.55}.agro-card__body a{display:inline-flex;align-items:center;gap:9px;color:var(--agro-green);font-size:14px;font-weight:600;text-decoration:none}.agro-card__body a span:last-child{font-size:18px;transition:transform .2s}.agro-card__body a:hover span:last-child{transform:translateX(4px)}
@media(max-width:1000px){.agro-hero__container{grid-template-columns:1fr;min-height:auto}.agro-hero__content{padding:65px 20px 35px}.agro-hero__visual{min-height:480px}.agro-hero__photo{inset:0;clip-path:none;border-radius:15px}.agro-hero__photo-fade{display:none}.agro-tradition{right:25px;bottom:20px}.agro-offer__container{grid-template-columns:repeat(2,1fr);margin-top:25px}}@media(max-width:650px){.agro-hero__container{width:calc(100% - 30px)}.agro-hero__content{padding:45px 5px 30px}.agro-hero__title{font-size:44px}.agro-hero__description{font-size:15px}.agro-hero__buttons{flex-direction:column;align-items:stretch}.agro-button{width:100%}.agro-hero__visual{min-height:360px}.agro-tradition{width:145px;height:120px;right:12px;bottom:12px}.agro-offer__container{width:calc(100% - 30px);grid-template-columns:1fr;gap:15px}.agro-card__image{height:210px}}


/* ============================================================
   IKONY NA ZIELONYM TLE — WERSJA BIAŁA
   SVG jest używany jako maska, dzięki czemu ikonka jest biała.
   ============================================================ */

.agro-card__icon .agro-icon--house,
.agro-card__icon .agro-icon--sauna,
.agro-card__icon .agro-icon--cutlery,
.agro-card__icon .agro-icon--people,
.agro-card__icon .agro-icon--tradition {
    background-image: none;
    background-color: #ffffff;

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    -webkit-mask-position: center;
    mask-position: center;

    -webkit-mask-size: contain;
    mask-size: contain;
}

.agro-card__icon .agro-icon--house {
    -webkit-mask-image: url('/images/icons/house.svg');
    mask-image: url('/images/icons/house.svg');
}

.agro-card__icon .agro-icon--sauna {
    -webkit-mask-image: url('/images/icons/sauna.svg');
    mask-image: url('/images/icons/sauna.svg');
}

.agro-card__icon .agro-icon--cutlery {
    -webkit-mask-image: url('/images/icons/cutlery.svg');
    mask-image: url('/images/icons/cutlery.svg');
}

.agro-card__icon .agro-icon--people {
    -webkit-mask-image: url('/images/icons/people.svg');
    mask-image: url('/images/icons/people.svg');
}

.agro-card__icon .agro-icon--tradition {
    -webkit-mask-image: url('/images/icons/tradition.svg');
    mask-image: url('/images/icons/tradition.svg');
}

/* Plakietka "Gospodarstwo z tradycją" pozostaje zielona na jasnym tle. */
.agro-tradition__icon .agro-icon--tradition {
    background-image: url('/images/icons/tradition.svg');
    background-color: transparent;

    -webkit-mask-image: none;
    mask-image: none;
}

/* Ikona liścia i kalendarza na jasnym tle pozostają zielone. */
.agro-hero__eyebrow .agro-icon--leaf,
.agro-hero__leaf .agro-icon--leaf,
.agro-button--reservation .agro-icon--calendar,
.agro-button--gallery .agro-icon--play {
    background-color: transparent;
}
/* Kalendarz na zielonym przycisku — wersja biała */
.agro-icon--calendar {
    background-image: none;
    background-color: #ffffff;

    -webkit-mask-image: url('/images/icons/calendar.svg');
    mask-image: url('/images/icons/calendar.svg');

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    -webkit-mask-position: center;
    mask-position: center;

    -webkit-mask-size: contain;
    mask-size: contain;
}
/* =========================================================
   SEKCJA — PO DNIU NA SZLAKU
   ========================================================= */

.rest-after-trail {
    background: var(--paper);
}

.rest-after-trail__inner {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(420px, 1.25fr) 150px;
    align-items: stretch;
    gap: 0;

    overflow: hidden;

    border: 1px solid #ebe9dc;
    border-radius: 18px;

    background: #fffdf8;
    box-shadow: var(--shadow);
}

.rest-after-trail__photo {
    min-height: 510px;
    overflow: hidden;
}

.rest-after-trail__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rest-after-trail__content {
    position: relative;
    padding: 58px 55px 55px;
}

.rest-after-trail__mountains {
    width: 105px;
    margin-bottom: 14px;
}

.rest-after-trail__mountains img {
    width: 100%;
    height: auto;
}

.rest-after-trail__eyebrow,
.relax-section__eyebrow {
    margin: 0 0 8px;

    color: var(--green);

    font-family: var(--serif);
    font-size: 19px;
    font-style: italic;
}

.rest-after-trail__content h2 {
    max-width: 650px;

    font-size: clamp(42px, 4.2vw, 61px);
    font-weight: 600;
}

.rest-after-trail__content h2 span,
.relax-section h2 span {
    display: block;
    color: var(--green);
}

.rest-after-trail__ornament,
.relax-section__ornament {
    display: flex;
    align-items: center;
    gap: 12px;

    margin: 21px 0 22px;
}

.rest-after-trail__ornament i,
.relax-section__ornament i {
    width: 105px;
    height: 1px;
    background: #c9ccb9;
}

.rest-after-trail__ornament span,
.relax-section__ornament span {
    color: var(--green);
    font-size: 18px;
}

.rest-after-trail__content > p:not(.rest-after-trail__eyebrow) {
    max-width: 650px;

    margin: 0 0 14px;

    color: var(--muted);
    font-size: 14px;
}

.rest-after-trail__content strong {
    color: var(--ink);
}

.rest-after-trail__content .btn {
    margin-top: 12px;
}

.rest-after-trail__routes {
    display: flex;
    flex-direction: column;
    justify-content: center;

    gap: 26px;

    padding: 30px 18px;

    border-left: 1px solid #e3e3d8;
}

.rest-after-trail__routes > div {
    display: flex;
    align-items: center;
    gap: 13px;

    color: var(--green-dark);

    font-family: var(--serif);
    font-size: 18px;
    line-height: 1.05;
}

.rest-after-trail__routes img {
    flex: 0 0 auto;

    width: 42px;
    height: 42px;

    padding: 9px;

    border-radius: 50%;

    background: #f1eddb;
}


/* =========================================================
   SEKCJA — JACUZZI + SAUNA
   ========================================================= */

.relax-section {
    background: #f3f1e6;
}

.relax-section__inner {
    display: grid;
    grid-template-columns: minmax(360px, 0.82fr) minmax(500px, 1.18fr);
    align-items: stretch;

    gap: 45px;
}

.relax-section__intro {
    padding: 30px 0;
}

.relax-section__steam-icon {
    width: 44px;
    height: 44px;

    margin-bottom: 12px;
}

.relax-section h2 {
    max-width: 520px;

    font-size: clamp(42px, 4.2vw, 58px);
    font-weight: 600;
}

.relax-section__ornament {
    margin: 20px 0;
}

.relax-section__lead {
    max-width: 510px;

    margin: 0 0 30px;

    color: var(--muted);
    font-size: 15px;
}

.relax-section__features {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.relax-feature {
    display: flex;
    gap: 15px;

    padding: 5px 24px 5px 0;
}

.relax-feature + .relax-feature {
    padding-left: 24px;
    border-left: 1px solid #d4d4c6;
}

.relax-feature__icon {
    flex: 0 0 auto;

    width: 42px;
    height: 42px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: var(--green);
}

.relax-feature__icon img {
    width: 23px;
    height: 23px;
}

.relax-feature h3 {
    margin: 0 0 8px;

    color: var(--green-dark);

    font-size: 25px;
    font-weight: 600;
}

.relax-feature p {
    margin: 0;

    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
}

.relax-feature strong {
    display: block;

    margin-top: 7px;

    color: var(--green-dark);
    font-size: 13px;
}

.relax-section__photos {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 18px;
}

.relax-section__photos figure {
    height: 100%;
    min-height: 480px;

    margin: 0;

    overflow: hidden;

    border-radius: 15px;

    box-shadow: 0 14px 35px rgba(55, 58, 38, 0.1);
}

.relax-section__photos img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {
    .rest-after-trail__inner {
        grid-template-columns: 0.8fr 1.2fr;
    }

    .rest-after-trail__routes {
        grid-column: 1 / -1;

        flex-direction: row;
        justify-content: center;

        border-top: 1px solid #e3e3d8;
        border-left: 0;
    }

    .relax-section__inner {
        grid-template-columns: 1fr;
    }

    .relax-section__intro {
        max-width: 850px;
        margin-inline: auto;
    }
}

@media (max-width: 760px) {
    .rest-after-trail__inner {
        grid-template-columns: 1fr;

        border-radius: 13px;
    }

    .rest-after-trail__photo {
        min-height: 330px;
        max-height: 430px;
    }

    .rest-after-trail__content {
        padding: 42px 27px;
    }

    .rest-after-trail__content h2 {
        font-size: 43px;
    }

    .rest-after-trail__routes {
        flex-direction: column;
        align-items: flex-start;

        padding: 22px 27px;
    }

    .rest-after-trail__routes > div {
        font-size: 17px;
    }

    .rest-after-trail__ornament i {
        width: 65px;
    }

    .relax-section__inner {
        gap: 25px;
    }

    .relax-section__intro {
        padding: 10px 0;
    }

    .relax-section h2 {
        font-size: 43px;
    }

    .relax-section__features {
        grid-template-columns: 1fr;

        gap: 20px;
    }

    .relax-feature,
    .relax-feature + .relax-feature {
        padding: 0;
        border-left: 0;
    }

    .relax-section__photos {
        grid-template-columns: 1fr;
    }

    .relax-section__photos figure {
        min-height: 330px;
        max-height: 450px;
    }
}

@media (max-width: 480px) {
    .rest-after-trail__content {
        padding: 35px 21px;
    }

    .rest-after-trail__content h2,
    .relax-section h2 {
        font-size: 38px;
    }

    .rest-after-trail__mountains {
        width: 82px;
    }

    .rest-after-trail__ornament i,
    .relax-section__ornament i {
        width: 45px;
    }

    .relax-feature {
        gap: 12px;
    }

    .relax-section__photos figure {
        min-height: 280px;
    }
}
.relax-feature__icon img {
    filter: brightness(0) invert(1);
}
/* =========================================================
   WYŻYWIENIE / GRILL / PIECZENIE ŚWINIAKA
   ========================================================= */

.food-offer-section {
    background: #fffdf8;
}

.food-offer-section__inner {
    display: grid;
    grid-template-columns: minmax(420px, 0.95fr) minmax(430px, 1.05fr);
    align-items: center;
    gap: 70px;
}

.food-offer-section__content {
    padding: 25px 0;
}

.food-offer-section__eyebrow,
.events-offer-section__eyebrow {
    margin: 0 0 8px;

    color: var(--green);

    font-family: var(--serif);
    font-size: 19px;
    font-style: italic;
}

.food-offer-section h2,
.events-offer-section h2 {
    max-width: 620px;

    font-size: clamp(42px, 4.2vw, 58px);
    font-weight: 600;
}

.food-offer-section h2 span,
.events-offer-section h2 span {
    display: block;
    color: var(--green);
}

.food-offer-section__ornament,
.events-offer-section__ornament {
    display: flex;
    align-items: center;
    gap: 12px;

    margin: 20px 0 22px;
}

.food-offer-section__ornament i,
.events-offer-section__ornament i {
    width: 90px;
    height: 1px;
    background: #c9ccb9;
}

.food-offer-section__ornament span,
.events-offer-section__ornament span {
    color: var(--green);
    font-size: 18px;
}

.food-offer-section__lead {
    max-width: 620px;

    margin: 0 0 25px;

    color: var(--muted);
    font-size: 15px;
}

.food-offer-section__list {
    display: grid;
    gap: 17px;

    margin-bottom: 28px;
}

.food-offer-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.food-offer-item__icon {
    flex: 0 0 auto;

    width: 44px;
    height: 44px;

    display: grid;
    place-items: center;

    border: 1px solid #cbd3bd;
    border-radius: 50%;

    background: #f5f3e8;
}

.food-offer-item__icon img {
    width: 23px;
    height: 23px;
}

.food-offer-item h3 {
    margin: 0 0 3px;

    color: var(--green-dark);
    font-size: 23px;
    font-weight: 600;
}

.food-offer-item p {
    max-width: 540px;

    margin: 0;

    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
}

.food-offer-section__photo {
    height: 590px;

    overflow: hidden;

    border-radius: 15px;

    box-shadow: var(--shadow);
}

.food-offer-section__photo img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* =========================================================
   IMPREZY OKOLICZNOŚCIOWE
   ========================================================= */

.events-offer-section {
    background: #f3f1e6;
}

.events-offer-section__inner {
    display: grid;
    grid-template-columns: minmax(430px, 0.95fr) minmax(420px, 1.05fr);
    align-items: center;
    gap: 70px;
}

.events-offer-section__photo {
    height: 570px;

    overflow: hidden;

    border-radius: 15px;

    box-shadow: var(--shadow);
}

.events-offer-section__photo img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.events-offer-section__content {
    padding: 25px 0;
}

.events-offer-section__lead {
    max-width: 620px;

    margin: 0 0 28px;

    color: var(--muted);
    font-size: 15px;
}

.events-offer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 13px 16px;

    margin-bottom: 30px;
}

.events-offer-item {
    display: flex;
    align-items: center;

    gap: 12px;

    min-height: 54px;
    padding: 9px 12px;

    border: 1px solid #dedecf;
    border-radius: 9px;

    background: rgba(255, 253, 248, 0.62);

    color: var(--green-dark);

    font-family: var(--serif);
    font-size: 18px;
}

.events-offer-item img {
    flex: 0 0 auto;

    width: 29px;
    height: 29px;
}

.events-offer-section .btn {
    margin-top: 2px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {
    .food-offer-section__inner,
    .events-offer-section__inner {
        grid-template-columns: 1fr;

        gap: 35px;
    }

    .food-offer-section__photo,
    .events-offer-section__photo {
        height: 470px;
        order: -1;
    }

    .food-offer-section__content,
    .events-offer-section__content {
        max-width: 850px;
        margin-inline: auto;
    }
}

@media (max-width: 760px) {
    .food-offer-section__inner,
    .events-offer-section__inner {
        gap: 25px;
    }

    .food-offer-section__photo,
    .events-offer-section__photo {
        height: 380px;
        border-radius: 12px;
    }

    .food-offer-section h2,
    .events-offer-section h2 {
        font-size: 43px;
    }

    .food-offer-section__ornament i,
    .events-offer-section__ornament i {
        width: 60px;
    }

    .events-offer-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .food-offer-section__photo,
    .events-offer-section__photo {
        height: 310px;
    }

    .food-offer-section h2,
    .events-offer-section h2 {
        font-size: 38px;
    }

    .food-offer-item h3 {
        font-size: 21px;
    }

    .events-offer-item {
        font-size: 17px;
    }
}
/* =========================================================
   CZTERY PORY ROKU
   ========================================================= */

.seasons-section {
    background: #fffdf8;
}

.seasons-section__heading {
    max-width: 820px;
    margin: 0 auto 42px;
    text-align: center;
}

.seasons-section__eyebrow {
    margin: 0 0 7px;

    color: var(--green);

    font-family: var(--serif);
    font-size: 19px;
    font-style: italic;
}

.seasons-section__heading h2 {
    margin: 0;

    font-size: clamp(42px, 4.4vw, 58px);
    font-weight: 600;
}

.seasons-section__heading h2 span {
    color: var(--green);
}

.seasons-section__ornament {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    margin: 17px 0 16px;
}

.seasons-section__ornament i {
    width: 95px;
    height: 1px;

    background: #c9ccb9;
}

.seasons-section__ornament span {
    color: var(--green);
    font-size: 18px;
}

.seasons-section__heading > p:last-child {
    max-width: 650px;
    margin: 0 auto;

    color: var(--muted);
    font-size: 14px;
}


/* GRID */

.seasons-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}


/* KARTA */

.season-card {
    position: relative;

    min-height: 430px;

    overflow: hidden;

    border-radius: 14px;

    background: #e9e7d9;

    box-shadow: 0 14px 35px rgba(55, 58, 38, .09);

    isolation: isolate;
}

.season-card__image,
.season-card__overlay {
    position: absolute;
    inset: 0;
}

.season-card__image {
    z-index: -3;
}

.season-card__image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .45s ease;
}

.season-card:hover .season-card__image img {
    transform: scale(1.045);
}

.season-card__overlay {
    z-index: -2;

    background:
        linear-gradient(
            180deg,
            rgba(20, 25, 16, .05) 10%,
            rgba(20, 25, 16, .22) 35%,
            rgba(20, 25, 16, .88) 100%
        );
}

.season-card__content {
    min-height: 430px;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    padding: 24px;
    color: #fff;
}

.season-card__icon {
    position: absolute;
    top: 22px;
    left: 22px;

    width: 50px;
    height: 50px;

    display: grid;
    place-items: center;

    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 50%;

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

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

.season-card__icon img {
    width: 26px;
    height: 26px;
}

.season-card__number {
    margin: 0 0 4px;

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

    font-size: 11px;
    font-weight: 700;
    letter-spacing: .16em;
}

.season-card h3 {
    margin: 0 0 9px;

    font-size: 34px;
    font-weight: 600;
}

.season-card__content > p:not(.season-card__number) {
    margin: 0;

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

    font-size: 13px;
    line-height: 1.58;
}

.season-card__tag {
    display: inline-flex;
    align-self: flex-start;

    margin-top: 13px;
    padding: 6px 10px;

    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 999px;

    background: rgba(45, 61, 30, .48);

    color: #fff;

    font-size: 11px;
    font-weight: 700;
}


/* DELIKATNE RÓŻNICE TONALNE */

.season-card--spring .season-card__overlay {
    background:
        linear-gradient(
            180deg,
            rgba(42, 72, 35, .02) 15%,
            rgba(34, 50, 27, .75) 100%
        );
}

.season-card--summer .season-card__overlay {
    background:
        linear-gradient(
            180deg,
            rgba(15, 55, 90, .02) 15%,
            rgba(20, 37, 25, .78) 100%
        );
}

.season-card--autumn .season-card__overlay {
    background:
        linear-gradient(
            180deg,
            rgba(78, 48, 23, .02) 15%,
            rgba(47, 33, 21, .82) 100%
        );
}

.season-card--winter .season-card__overlay {
    background:
        linear-gradient(
            180deg,
            rgba(30, 70, 100, .03) 15%,
            rgba(20, 35, 48, .82) 100%
        );
}


/* RESPONSIVE */

@media (max-width: 1050px) {
    .seasons-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .season-card,
    .season-card__content {
        min-height: 460px;
    }
}

@media (max-width: 760px) {
    .seasons-section__heading {
        margin-bottom: 30px;
    }

    .seasons-section__heading h2 {
        font-size: 42px;
    }

    .seasons-section__ornament i {
        width: 60px;
    }

    .seasons-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .season-card,
    .season-card__content {
        min-height: 410px;
    }
}

@media (max-width: 480px) {
    .seasons-section__heading h2 {
        font-size: 37px;
    }

    .season-card,
    .season-card__content {
        min-height: 390px;
    }

    .season-card__content {
        padding: 21px;
    }
}
/* =========================================================
   GALERIA
   ========================================================= */

.gallery-section {
    background: var(--paper);
}

.gallery-modern {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
}

/* Pojedyncza miniatura */

.gallery-item {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    padding: 0;
    border: 0;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    background: var(--soft);
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        transform .45s ease,
        filter .35s ease;
}

.gallery-item-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(37, 45, 28, 0);
    transition: background .3s ease;
}

.gallery-zoom {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;

    border: 1px solid rgba(255,255,255,.85);
    border-radius: 50%;

    color: #fff;
    font-size: 28px;
    font-weight: 300;
    line-height: 1;

    opacity: 0;
    transform: scale(.7);

    transition:
        opacity .3s ease,
        transform .3s ease;
}

.gallery-item:hover img {
    transform: scale(1.06);
    filter: brightness(.82);
}

.gallery-item:hover .gallery-item-overlay {
    background: rgba(37, 45, 28, .28);
}

.gallery-item:hover .gallery-zoom {
    opacity: 1;
    transform: scale(1);
}

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

.gallery-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;

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

    padding: 40px 90px;

    background: rgba(18, 22, 15, .94);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity .3s ease,
        visibility .3s ease;
}

.gallery-lightbox.is-open {
    opacity: 1;
    visibility: visible;
}

.gallery-lightbox-content {
    position: relative;

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

    max-width: min(1100px, 90vw);
    max-height: 90vh;
}

.gallery-lightbox-content img {
    display: block;

    max-width: 100%;
    max-height: 82vh;

    width: auto;
    height: auto;

    border-radius: 8px;

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

    object-fit: contain;
}

/* =========================================================
   PRZYCISK ZAMKNIĘCIA
   ========================================================= */

.gallery-close {
    position: absolute;
    top: 22px;
    right: 28px;

    width: 48px;
    height: 48px;

    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;

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

    color: #fff;

    font-size: 34px;
    font-weight: 300;
    line-height: 1;

    cursor: pointer;

    transition:
        background .2s ease,
        transform .2s ease;
}

.gallery-close:hover {
    background: rgba(255,255,255,.15);
    transform: rotate(90deg);
}

/* =========================================================
   STRZAŁKI
   ========================================================= */

.gallery-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);

    width: 52px;
    height: 52px;

    display: grid;
    place-items: center;

    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;

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

    color: #fff;

    font-size: 23px;

    cursor: pointer;

    transition:
        background .2s ease,
        transform .2s ease;
}

.gallery-arrow:hover {
    background: rgba(255,255,255,.15);
}

.gallery-arrow-prev {
    left: 25px;
}

.gallery-arrow-next {
    right: 25px;
}

.gallery-arrow-prev:hover {
    transform: translateY(-50%) translateX(-3px);
}

.gallery-arrow-next:hover {
    transform: translateY(-50%) translateX(3px);
}

/* =========================================================
   LICZNIK
   ========================================================= */

.gallery-counter {
    position: absolute;
    left: 50%;
    bottom: -34px;

    transform: translateX(-50%);

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

    font-size: 13px;
    letter-spacing: .5px;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {

    .gallery-modern {
        grid-template-columns: repeat(4, 1fr);
    }

}

@media (max-width: 760px) {

    .gallery-modern {
        grid-template-columns: repeat(3, 1fr);
        gap: 9px;
    }

    .gallery-lightbox {
        padding: 60px 50px;
    }

    .gallery-arrow {
        width: 43px;
        height: 43px;
        font-size: 18px;
    }

    .gallery-arrow-prev {
        left: 10px;
    }

    .gallery-arrow-next {
        right: 10px;
    }

    .gallery-close {
        top: 12px;
        right: 12px;

        width: 42px;
        height: 42px;

        font-size: 29px;
    }

}

@media (max-width: 480px) {

    .gallery-modern {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    .gallery-lightbox {
        padding: 55px 15px 60px;
    }

    .gallery-lightbox-content {
        max-width: 100%;
    }

    .gallery-lightbox-content img {
        max-width: 100%;
        max-height: 75vh;
        border-radius: 5px;
    }

    .gallery-arrow {
        top: auto;
        bottom: 15px;
        transform: none;
    }

    .gallery-arrow:hover {
        transform: none;
    }

    .gallery-arrow-prev {
        left: calc(50% - 60px);
    }

    .gallery-arrow-next {
        right: calc(50% - 60px);
    }

    .gallery-counter {
        bottom: 27px;
    }

}