@media (max-width: 1100px) {
    .desktop-only {
        display: none;
    }
}

@media (min-width: 1100px) {
    .mobile-only {
        display: none;
    }
}

.mobile-only-logo {
    display: flex;
    padding: 32px;
    justify-content: center;
}

nav:is(.top, .primary) {
    width: 100%;
    height: 128px;
    padding-left: 32px;
    padding-right: 32px;
}

p {
    font-size: 16px;
}

nav > .row {
    gap: 42px;
}

header {
    padding: 0;
    display: flex;
}

@media (max-width: 700px) {
    header {
        transform: scale(0.85);
    }
}

.nav-offer-button {
    padding: 8px 32px;
}

nav > div > a {
    font-size: 1rem !important;
}

footer {
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 1024px) {
    footer {
        padding-bottom: 16px;
        flex-direction: column;
    }
}

body:is(.dark) {
    .logo-light-theme {
        display: none;
    }

    nav.main-nav > div > a {
        color: white !important;
    }

    .footer-link:hover {
        color: aliceblue;
        text-decoration: underline 1px aliceblue;
    }
}

body:is(.light) {
    .logo-dark-theme {
        display: none;
    }

    nav.main-nav > div > a {
        color: black !important;
    }

    .footer-link:hover {
        color: #6c6c6c;
        text-decoration: underline 1px #6c6c6c;
    }
}

:is(nav, .row) > :not(ul, ol, header, footer) {
    white-space: nowrap;
}

.field > :is(input, textarea, select) {
    min-height: 50px;
    border-radius: 1.25rem;
    border: solid 2px var(--outline);
}

.google-places-autocomplete-input {
    font-size: 16px;
    padding-left: 16px;
}

.footer-link {
    text-decoration: underline 1px var(--on-secondary-container);
}

:has(> main) {
    min-block-size: calc(100vh - 208px);
}

select {
    cursor: default !important;
}

.hidden {
    display: none;
}

.form-dropdown {
    display: flex;
    flex-direction: column;
}

.form-dropdown > p {
    font-size: 16px;
    padding-left: 16px;
    padding-right: 16px;
    margin-bottom: -8px;
}

.field.label.border:not(.fill) > label::after {
    border-block-start: .125rem solid var(--outline);
}

.field.label > :is(label.active, :focus + label, [placeholder]:not(:placeholder-shown) + label, select + label) {
    font-size: 0.8rem;
}

:is(.checkbox, .radio, .switch) > span {
    font-size: 0.95rem;
}

.no-focus {
    pointer-events: none;
    user-select: none;
}

.main-image {
    width: 100%;
    height: 384px;
    margin-top: 42px;

    img {
        object-fit: cover;
        object-position: 50% 62%;
    }
}

@media (min-width: 420px) {
    .main-image {
        height: 400px;

        img {
            object-fit: cover;
            object-position: 50% 62%;
        }
    }
}

@media (min-width: 666px) {
    .main-image {
        height: 420px;

        img {
            object-fit: cover;
            object-position: 50% 72%;
        }
    }
}

@media (min-width: 1100px) {
    .main-image {
        margin-top: 0;
        height: 666px;

        img {
            object-fit: cover;
            object-position: 50% 72%;
        }
    }
}

@media (min-width: 1800px) {
    .main-image {
        padding-top: 0;
        height: 789px;

        img {
            object-fit: cover;
            object-position: 50% 70%;
        }
    }
}

@media (min-width: 3200px) {
    .main-image {
        margin-top: 0;
        height: 1160px;

        img {
            object-fit: cover;
            object-position: 50% 70%;
        }
    }
}

@media (max-width: 666px) {
    #offer-button {
        width: 100%;
        padding: 0;
    }
}

.left-outline {
    padding-left: 35px;
    border-left: 8px solid;
    border-image-source: linear-gradient(to bottom, black, red, yellow);
    border-image-slice: 1;
}

article {
    box-shadow: none;
    background-color: transparent;
}

details > div {
    display: grid;
    overflow: hidden;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.25s ease-out;

    width: 100%;
    min-width: 0;
}

details[open] + details > div,
details[open] details > div,
details[open] > div {
    grid-template-rows: 1fr;
}

details > div > div {
    min-height: 0;

    width: 100%;
    box-sizing: border-box;
    word-break: break-word;
    overflow-wrap: break-word;
}

details {
    max-width: 100%;
    overflow-x: hidden;
}

:root {
    interpolate-size: allow-keywords;
}

::details-content {
    transition: height 0.4s ease,
    content-visibility 0.4s allow-discrete;
    height: 0;
    overflow: clip;
}

details[open]::details-content {
    height: auto;
}

details summary {
    list-style: none;
    display: flex;
    align-items: center;
    cursor: pointer;
}

details summary::-webkit-details-marker {
    display: none;
}

details summary > div > i {
    transition: transform 0.42s ease;
}

details[open] summary > div > i {
    transform: rotate(-180deg);
}

.table-spec {
    position: absolute;
    top: -42069px;
}

.lang-switch-btn {
    border-radius: 4px;
    align-items: center;
}