@layer base, layout, components, utilities;
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=Literata:opsz,wght@7..72,200..900&display=swap');

@layer base {
    :root {
        --deep_safari: #1F3D3A;
        --deep_safari_hover: #3b837a;
        --sand_beige: #F4EFE6;
        --sunset_gold: #C89B3C;
        --terracota: #C65D3B;
        --ocean_blue: #2E6F95;
        --dark_charcoal: #2B2B2B;
        --soft_gray: #6F6F6F;
        --light_gray: #E5E5E5;
        --pure_white: #FFFFFF;
        --succes_green: #3FA34D;
        --warning_amber: #E0A800;
        --error_red: #D64545;
        --dark_gold: #A87E2E;
        --amber_light: #EBD38A;
        --sunset_gold_hover: #B48726;

        --inter: "Inter", sans-serif;
        --literata: "Literata", serif;
    }

    body {
        margin: 0 auto;
    }

    html {
        scroll-behavior: smooth;
    }
}

@layer layout {
    .header--main {
        background-image: linear-gradient(
            to bottom left,
            rgba(0, 0, 0, 0) 30%,
            rgba(0, 0, 0, 0.9)
        ),url("../images/bd_edit_remove.webp");
        background-size: cover;
        background-position: center top;
        background-repeat: no-repeat;
    }

/*nahore prouzek zeleny*/
    .header__strip {
        background-color: var(--deep_safari);;
        display: flex;
        justify-content: space-between;
        padding: .75rem 2rem;
    }
    .strip__section {
        display: flex;
        align-items: center;
        gap: 2rem;
    }
    .strip__icons {
        display: flex;
        gap: 0.75rem;
        align-items: center;
        text-decoration: none;
    }
    .strip__info {
        font-family: var(--inter);
        display: none;
    }
    @media(min-width: 768px) {
        .strip__info {
            display: block;
            color: var(--pure_white);
            font-weight: bold;
        }
    }

/*menu navbar nahore*/
    .logo__graphic {
        width: auto;
        height: clamp(80px, 14vw, 100px);
    }
    .header__nav {
        display: flex;
        padding: 1vw;
        align-items: center;
        justify-content: space-between;
    }
    .nav__logo {
        display: flex;
        align-items: center;
        gap: clamp(5px, 1vw, 100px);
        text-decoration: none;
    }
    .logo__text {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        color: var(--deep_safari);
        font-weight: 500;
    }
    .text__up {
        font-family: var(--literata);
        font-size: clamp(1rem, 3vw, 1.75rem);
        margin: 0;
        letter-spacing: .05rem;
    }
    .text__bottom {
        font-family: var(--literata);
        font-size: clamp(1rem, 3vw, 1.75rem);
        margin: 0;
        letter-spacing: .65rem;
    }
    .nav__menu {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .menu__list {
        display: flex;
        justify-content: space-between;
        align-items: center;
        list-style: none;
        margin: 0;
        padding: 0;
        gap: clamp(0.75rem, 1.5vw, 2rem);
    }
    .menu__list li {
        display: flex;
        align-items: center;
        gap: .5rem;
        font-family: var(--inter);
        font-weight: 700;
        font-size: clamp(0.75rem, 1.2vw, 1.2rem);
    }
    .li__link {
        text-decoration: none;
        color: var(--deep_safari);
    }
    .li__link:hover {
        text-decoration: none;
        color: var(--deep_safari_hover);
    }
    .li__link:hover svg path {
        fill: var(--deep_safari_hover);
    }
    .menu__fav svg path {
        width: auto;
        height: clamp(15px, 2vw, 35px);
    }
    .menu__fav:hover svg path {
    fill: var(--deep_safari);
    }
    @media(max-width: 1150px) {
        .menu__list {
        display: none;
        }
    }

/*text hlavni header*/
    .header__title {
        margin-top: 11vw;
        padding: 1rem;
        padding-left: clamp(1rem, 5vw, 5rem);
        max-width: 800px;
    }
    .title__top {
        color: var(--sunset_gold);
        font-family: var(--inter);
        font-weight: 700;
        margin: 0;
        margin-right: 2rem;
        font-size: clamp(1rem, 2vw, 1.5rem);
        white-space: normal;
        word-break: break-word;
    }
    .title__main {
        font-family: var(--literata);
        font-size: clamp(2.5rem, 7vw, 5rem);
        font-weight: bold;
        color: var(--pure_white);
        margin: 0;
        padding-top: 1rem;
        white-space: normal;
        word-break: break-word;
}

    .title__bottom {
        font-family: var(--inter);
        font-weight: 600;
        font-size: clamp(1rem, 2vw, 1.5rem);
        color: var(--pure_white);
        margin: 0;
        padding-top: 1rem;
        margin-right: 2rem;
        max-width: clamp(280px, 35vw, 600px);
    }

/*header tlacitka 2x pod textem*/
    .header__buttons {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        padding: 1rem clamp(1rem, 5vw, 5rem) 1rem;
        gap: 1rem;
        justify-content: center;
    }
    .button--fill {
        display: flex;
        padding: .2rem 1.5rem;
        width: 100%;
        max-width: 25rem;
        justify-content: space-between;
        background-color: var(--sunset_gold);
        color: var(--pure_white);
        font-family: var(--inter);
        font-weight: 650;
        font-size: 1.1rem;
        text-decoration: none;
        align-items: center;
        border-radius: .8rem;
    }
    .button--fill:hover {
        background-color: var(--sunset_gold_hover);
    }
    .button--transparent {
        display: flex;
        padding: .2rem 1.5rem;
        width: 100%;
        max-width: 25rem;
        justify-content: space-between;
        color: var(--pure_white);
        font-family: var(--inter);
        border: 2px solid var(--sand_beige);
        font-weight: 650;
        font-size: 1.1rem;
        text-decoration: none;
        align-items: center;
        border-radius: .8rem;
    }
    .button--transparent:hover {
        color: var(--deep_safari);
        background-color: var(--sand_beige);
    }
    .button--transparent:hover svg path {
            fill: var(--deep_safari);
    }
    @media(min-width: 624px) {
        .header__buttons {
            justify-content: start;
            flex-wrap: nowrap;
        }
        .button--fill {
            gap: 2rem;
            max-width: fit-content;
        }
        .button--transparent {
            gap: 2rem;
            max-width: fit-content;
        }
    }

/*zelene ikony vyhody*/
    .header__features {
        display: grid;
        grid-template-columns: 1fr;
        gap: 4rem;
        padding: 11rem clamp(1rem, 5vw, 10rem) 7rem;
        background:
        linear-gradient(
            to bottom,
            transparent 0%,
            color-mix(in srgb, var(--deep_safari) 85%, transparent) 100px,
            color-mix(in srgb, var(--deep_safari) 100%, transparent) 40%
            );
    }
    .features__item {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1.2rem;
        padding: 0 1rem;
        text-align: center;
        color: var(--pure_white);
    }
    .features__item svg {
        width: clamp(50px, 3vw, 60px);
        height: auto;
        flex-shrink: 0;
    }
    .features__item::after {
        display: none;
        content: "";
        position: absolute;
        top: 10%;
        right: -2rem;
        width: 2px;
        height: 80%;
        background-color: color-mix(in srgb, var(--sand_beige) 70%, transparent);
    }
    .features__item:last-child::after {
        display: none;
    }
    .features__item p {
        margin: 0;
        font-size: clamp(1rem, 8vw, 1.2rem);
        font-family: var(--inter);
    }
    .item__info {
        display: flex;
        flex-direction: column;
        gap: .25rem;
    }
    .item__title {
        color: var(--sunset_gold);
        font-weight: bold;
    }
    @media(min-width: 700px) {
        .header__features {
            grid-template-columns: 1fr 1fr;
        }
    }
    @media(min-width: 1400px) {
        .header__features {
            grid-template-columns: repeat(4, 1fr);
        }
        .features__item {
            flex-direction: row;
            text-align: start;
        }
        .features__item::after {
        display: block;
        }
    }
    
    /*kontinenty vyber*/
    .continents__titlec {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: .5rem;
        padding: 2rem 1rem;
    }
    .titlec__top {
        text-align: center;
        color: var(--sunset_gold);
        font-family: var(--inter);
        font-weight: 700;
        font-size: clamp(1.2rem, 3vw, 1.5rem);
        margin: 0;
        width: 70%;
    }
    .titlec__line {
        margin: 0;
    }
    .titlec__bottom {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2rem;
    }
    .bottom__text {
        font-family: var(--literata);
        font-size: clamp(2.1rem, 3vw, 3rem);
        text-align: center;
        font-weight: 700;
        margin: 0;
    }
    .bottom__line--up {
        display: none;
        width: 100px;
        height: 2px;
        background-color: var(--sunset_gold);
    }
    .bottom__line--down {
        width: 100px;
        height: 2px;
        background-color: var(--sunset_gold);
    }
    @media(min-width: 1000px) {
        .titlec__bottom {
            flex-direction: row;
        }
        .bottom__line--up {
            display: block;
        }
    }
    .continents__cards {
        display: grid;
        padding: 1rem;
        margin: 0 auto;
        gap: 1rem;
        box-sizing: border-box;
        grid-template-columns: 1fr;
        max-width: 2250px;
    }
    .cards__itemc {
        display: grid;
        grid-template-columns: subgrid;
        gap: 1rem;
        padding: 1rem 1rem 2rem 1rem;
        border-radius: 1rem;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        min-width: 225px;
        box-sizing: border-box;
        background-image:
        linear-gradient(
            to bottom left,
            rgba(0, 0, 0, 0) 25%,
            rgba(0, 0, 0, 0.9)
        ),
        url("../images/temple_forest2.jpg");
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        transition: box-shadow 0.3s ease, transform 0.3s ease;
    }
    .cards__itemc:hover {
        box-shadow: 10px 10px 25px rgba(0, 0, 0, 0.25);
        transform: translateY(-5px);
    }
    .cards__itemc--africa {
        background-image:
        linear-gradient(
            to bottom left,
            rgba(0, 0, 0, 0) 25%,
            rgba(0, 0, 0, 0.9)
        ),
        url("../images/africa.png");
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
    .cards__itemc--america {
        background-image:
        linear-gradient(
            to bottom left,
            rgba(0, 0, 0, 0) 25%,
            rgba(0, 0, 0, 0.9)
        ),
        url("../images/peru_city.jpg");
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
    .cards__itemc--australia {
        background-image:
        linear-gradient(
            to bottom left,
            rgba(0, 0, 0, 0) 25%,
            rgba(0, 0, 0, 0.9)
        ),
        url("../images/kangaroo.png");
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
    .cards__itemc p {
        margin: 0;
    }
    .itemc__line {
        width: 60px;
        height: 2px;
        background-color: var(--pure_white);
        margin-top: 9rem;
    }
    .itemc__name {
        font-family: var(--literata);
        color: var(--pure_white);
        font-weight: 700;
        font-size: clamp(1.75rem, 3vw, 2.2rem);
    }
    .itemc__info {
        font-family: var(--inter);
        font-weight: 500;
        font-size: clamp(1rem, 3vw, 1.1rem);
        color: var(--pure_white);
        margin: 0;
        margin-right: 2rem;
        max-width: 90%;
    }
    .button--itemc {
        display: flex;
        width: 100%;
        padding: 1rem;
        justify-content: space-between;
        background-color: var(--sunset_gold);
        color: var(--pure_white);
        font-family: var(--inter);
        font-weight: 650;
        font-size: clamp(.9rem, 4vw, 1.1rem);
        text-decoration: none;
        max-width: 275px;
        align-items: center;
        box-sizing: border-box;
        border-radius: .8rem;
        background-color: var(--sunset_gold);
    }
    .button--itemc:hover {
        background-color: var(--sunset_gold_hover);
    }
    @media(min-width: 700px) {
        .continents__cards {
            grid-template-columns: 1fr 1fr;
        }
    }
    @media(min-width: 1700px) {
        .continents__cards {
            grid-template-columns: repeat(4, 1fr);
        }
    }

/*proc cestovat s nima*/
    .travel {
        display: grid;
        grid-template-columns: 1fr;
        padding: 1rem;
    }
    .travel__info {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .travel__badges {
        display: grid;
        grid-template-columns: 1fr;
    }
    .info__start {
        font-family: var(--inter);
        color: var(--sunset_gold);
        font-weight: 700;
        font-size: clamp(1.2rem, 3vw, 1.5rem);
        margin: 0;
    }
    .info__title {
        font-family: var(--literata);
        font-size: clamp(2.1rem, 3vw, 3rem);
        text-align: center;
        font-weight: 700;
        padding-top: 1rem;
        margin: 0;
    }
    .info__text {
        font-family: var(--inter);
        font-size: clamp(1.1rem, 3vw, 1.25rem);
        margin: 0;
        margin-top: 1.5rem;
        text-align: center;
        max-width: 850px;
    }
    .info__button {
        display: flex;
        padding: .2rem 1.5rem;
        justify-content: center;
        background-color: var(--sunset_gold);
        color: var(--pure_white);
        font-family: var(--inter);
        font-weight: 600;
        font-size: 1rem;
        text-decoration: none;
        align-items: center;
        border-radius: .8rem;
        margin-top: 1.5rem;
        gap: 1.5rem;
    }
    .info__button:hover {
        background-color: var(--sunset_gold_hover);
    }
    .travel__badges {
        display: grid;
        justify-items: center;
        grid-template-columns: 1fr;
        gap: 2rem;
        margin-top: 5rem;
    }
    .badges__item {
        display: flex;
        gap: 1rem;
        max-width: 500px;
        align-items: center;
        transition: text-shadow 0.3s ease;
    }
    .badges__item:hover {
        text-shadow: 0 0 12px rgba(0, 0, 0, 0.6);
    }
    .item__icon {
        background-color: var(--sand_beige);
        padding: 1rem;
        border-radius: 40rem;
        flex-shrink: 0;
    }
    .desc__title {
        font-family: var(--inter);
        color: var(--deep_safari);
        font-weight: 700;
        font-size: clamp(1.3rem, 3vw, 1.5rem);
        margin: 0;
    }
    .desc__text {
        font-family: var(--inter);
        font-size: clamp(1rem, 5vw, 1.25rem);
        margin: 0;
        margin-top: 1rem;
    }
    @media(min-width: 800px) {
        .travel__badges {
            grid-template-columns: 1fr 1fr;
        }
    }
    @media(min-width: 1250px) {
        .travel {
            grid-template-columns: 1fr 1fr;
            align-items: center;
            margin-top: 5rem;
            margin: 5rem auto;
            max-width: 1750px;
        }
        .travel__badges {
            margin: 0;
        }
        .travel__info {
            display: flex;
            flex-direction: column;
            align-items: start;
        }
        .info__text {
            text-align: start;
            max-width: 550px;
        }
    }

/*oblibeny zajezdy*/

    .favourite {
        background-color: var(--light_gray);
        padding: clamp(1rem, 4svw, 2rem);
        margin: 2rem 1rem;
        border-radius: 1rem;
        overflow: hidden;
        justify-self: center;
        max-width: 1750px;
    }
    .favourite__top {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 1rem;
    }
    .title__fav {
        color: var(--sunset_gold);
        font-family: var(--inter);
        font-weight: 700;
        font-size: clamp(1.2rem, 3vw, 1.5rem);
        margin: 0;
        padding-top: 1rem;
    }
    .title__name {
        font-family: var(--literata);
        font-weight: 700;
        font-size: clamp(2.1rem, 3vw, 3rem);
        padding-top: 1rem;
        margin: 0;
    }
    .more__button {
        display: flex;
        padding: 1rem 1rem;
        width: fit-content;
        margin: 1rem 0 0 0;
        max-width: 20rem;
        color: var(--deep_safari);
        font-family: var(--inter);
        border: 2px solid var(--deep_safari);
        font-weight: 650;
        font-size: clamp(1rem, 2vw, 1.1rem);
        justify-content: center;
        text-align: center;
        text-decoration: none;
        align-items: center;
        border-radius: .8rem; 
    }
    .more__button:hover {
        color: var(--light_gray);
        border: 2px solid var(--deep_safari);
        background-color: var(--deep_safari);
    }
    .more__button:hover svg path {
        stroke: var(--light_gray);
    }
    .more__hidden {
        display: none;
    }
    .more__text {
        margin: 0;
    }
    .favourite__items {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto 1fr auto;
        grid-auto-rows: auto auto auto 1fr auto;
        margin: 2rem 0;
        align-items: stretch;
        gap: 1rem;
    }
    .items__card {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 5;
        background-color: var(--pure_white);
        border-radius: 1rem;
        overflow: hidden;
        position:relative;
        align-self: stretch;
        transition: box-shadow 0.3s ease, transform 0.3s ease;
    }
    .items__card:hover {
        box-shadow: 10px 10px 25px rgba(0, 0, 0, 0.25);
        transform: translateY(-5px);
    }
    .card__image {
        display: block;
        width: 100%;
        height: auto;
    }
    .card__fav {
        position: absolute;
        top: .5rem;
        right: .5rem;
        width: 10%;
        max-width: 55px;
        min-width: 35px;
    }
    .card__fav:hover {
        fill: var(--pure_white);
    }
    .image__wrapper {
        position: relative;
        width: 100%;
    }
    .card__country {
        background-color: var(--sunset_gold);
        font-family: var(--inter);
        font-weight: 500;
        color: var(--pure_white);
        border-radius: 50rem;
        text-align: center;
        width: fit-content;
        padding: .35rem .75rem;
        margin: 0 0 0 1rem;
        font-size: clamp(.7rem, 4vw, 1.1rem);
    }
    .card__location {
        font-family: var(--inter);
        font-weight: 600;
        margin: 0 1rem 0 1rem;
        font-size: clamp(1.5rem, 5vw, 1.5rem);
    }
    .card__info {
        display: flex;
        flex-direction: column;
        margin: 0 0 0 1rem;
        gap: .75rem;
    }
    .info__length {
        display: flex;
        align-items: center;
        gap: .5rem;
    }
    .length__info {
        font-family: var(--inter);
        font-weight: 600;
        color: var(--soft_gray);
        font-size: clamp(.5rem, 5vw, 1rem);
        margin: 0;
    }
    .info__size {
        display: flex;
        align-items: center;
        gap: .5rem; 
    }
    .size__info {
        font-family: var(--inter);
        font-weight: 600;
        color: var(--soft_gray);
        font-size: clamp(.5rem, 5vw, 1rem);
        margin: 0;   
    }
    .card__price {
        font-family: var(--inter);
        font-weight: 600;
        font-size: clamp(1rem, 7vw, 1.75rem);
        color: var(--sunset_gold);
        margin: 0 0 1rem 1rem;
    }
    @media(min-width: 800px) {
        .card__info {
            flex-direction: row;
            justify-content: space-between;
            margin: 0 1rem 0 1rem;
        }
    }
    @media(min-width: 700px) {
        .favourite__items {
            grid-template-columns: 1fr 1fr;
        }
        .favourite__top {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: center;
            text-align: start;
        }
        .more__hidden {
            display: block;
        }
        .more__button {
            display: flex;
            width: 100%;
            justify-content: space-between;
        }
    }
    @media(min-width: 1200px) {
        .favourite__items {
            grid-template-columns: repeat(4, 1fr);
        }
        .card__info {
            flex-direction: column;
        }
    }
    @media(min-width: 1500px) {
        .card__info {
            flex-direction: row;
        }
    }



}