:root {
    --nv-bordo: #8c4647;
    --nv-foot: #dfd0bb;
    --nv-foot-soft: #5c554d;
    --nv-foot-line: rgba(45, 44, 42, .14);
    --nv-paper: #f6f2ec;
    --nv-sand: #ece3d6;
    --nv-beige: #d8c6ac;
    --nv-wood: #9a7250;
    --nv-wood-deep: #7c5a3e;
    --nv-anth: #2d2c2a;
    --nv-ink: #2d2c2a;
    --nv-soft: #6b645c;
    --nv-line: #dcd2c3;
    --nv-white: #fffdf9;
    --nv-shade: rgba(30, 28, 26, .78);
    --nv-fd: "Bodoni Moda", "Didot", "Bodoni 72", Georgia, serif;
    --nv-fb: "Jost", "Avenir Next", "Segoe UI", system-ui, sans-serif;
    --nv-wrap: 1760px;
    --nv-gut: clamp(16px, 4vw, 72px);
    --nv-ease: cubic-bezier(.22, .61, .36, 1)
}

html.theme-lightguide {
    --nv-bordo: #fefb3f;
    --nv-foot: #111;
    --nv-foot-soft: #fff;
    --nv-foot-line: #555;
    --nv-paper: #000;
    --nv-sand: #111;
    --nv-beige: #fefb3f;
    --nv-wood: #fefb3f;
    --nv-wood-deep: #fefb3f;
    --nv-anth: #1c1c1c;
    --nv-ink: #fff;
    --nv-soft: #fff;
    --nv-line: #555;
    --nv-white: #fff;
    --nv-fd: inherit;
    --nv-fb: inherit
}

.theme-lux ::-moz-selection {
    background-color: #e6dccd
}

.theme-lux ::selection {
    background-color: #e6dccd
}

.theme-lux body {
    accent-color: #9a7250
}

@media (max-width:1199.98px) {
    .theme-lux .overlay__close {
        background-color: #9a7250
    }
}

.theme-lux .loading:after {
    border-left-color: #9a7250
}

.theme-lux .formbuilder-gdprConsent,
.theme-lux .sys-msg {
    background-color: #9a7250
}

.theme-lux .formbuilder-gdprConsent--transparent,
.theme-lux .sys-msg--transparent {
    color: #9a7250
}

.theme-lux .formbuilder-checkbox [type=checkbox]:checked~label a,
.theme-lux .formbuilder-checkbox [type=checkbox]:checked~label a:visited,
.theme-lux .formbuilder-checkbox [type=checkbox]:not(:checked)~label a,
.theme-lux .formbuilder-checkbox [type=checkbox]:not(:checked)~label a:visited,
.theme-lux .formbuilder-checkbox [type=radio]:checked~label a,
.theme-lux .formbuilder-checkbox [type=radio]:checked~label a:visited,
.theme-lux .formbuilder-checkbox [type=radio]:not(:checked)~label a,
.theme-lux .formbuilder-checkbox [type=radio]:not(:checked)~label a:visited,
.theme-lux [type=checkbox]:checked~span a,
.theme-lux [type=checkbox]:checked~span a:visited,
.theme-lux [type=checkbox]:not(:checked)~span a,
.theme-lux [type=checkbox]:not(:checked)~span a:visited,
.theme-lux [type=radio]:checked~span a,
.theme-lux [type=radio]:checked~span a:visited,
.theme-lux [type=radio]:not(:checked)~span a,
.theme-lux [type=radio]:not(:checked)~span a:visited {
    color: #9a7250
}

.theme-lux .formbuilder-checkbox [type=radio]:checked~label:after,
.theme-lux .formbuilder-checkbox [type=radio]:not(:checked)~label:after,
.theme-lux [type=radio]:checked~span:after,
.theme-lux [type=radio]:not(:checked)~span:after {
    background-color: #9a7250
}

.theme-lux .form__item .fl-wrap-input.fl-is-active .fl-label,
.theme-lux .form__item .fl-wrap-textarea.fl-is-active .fl-label,
.theme-lux legend {
    color: #9a7250
}

.theme-lux .form__control:focus,
.theme-lux .trafify-form-element .rendered-form .form__control:focus {
    border-color: #9a7250
}

.theme-lux .form__cb-label span a:active,
.theme-lux .form__cb-label span a:hover {
    color: #9a7250
}

.theme-lux .form__option [type=radio]:checked~span:hover,
.theme-lux .form__option [type=radio]:not(:checked)~span:hover {
    border-color: #e6dccd
}

.theme-lux .form__option [type=radio]:checked~span {
    border-color: #9a7250;
    outline-color: #9a7250
}

.theme-lux .form__switch input[type=checkbox]:checked+.switch__slider,
.theme-lux .form__switch input[type=radio]:checked+.switch__slider {
    background-color: #9a7250
}

.theme-lux .form-builder-form .form__control--select[multiple] option:checked {
    background-color: #9a7250
}

.theme-lux .form-builder-form .form__control[type=file]::file-selector-button {
    background-color: #9a7250
}

.theme-lux .form-builder-form .form__control[type=file]::file-selector-button:hover {
    background-color: #7c5a3e
}

.theme-lux .plain-text ul li:before {
    background-color: #9a7250
}

.theme-lux .plain-text a {
    color: #9a7250
}

.theme-lux .plain-text--white a:hover {
    color: #9a7250
}

.theme-lux .plain-text .sellvio-template .card__more:hover {
    color: #9a7250
}

.theme-lux .header__share a:hover {
    color: #e6dccd
}

.theme-lux .header__links--impersonated {
    background-color: #9a7250
}

.theme-lux .header__links .icon,
.theme-lux .header__params .icon {
    color: #9a7250
}

.theme-lux .header .header__links a:active,
.theme-lux .header .header__links a:active .icon,
.theme-lux .header .header__links a:hover,
.theme-lux .header .header__links a:hover .icon,
.theme-lux .header .header__links a:visited:active,
.theme-lux .header .header__links a:visited:active .icon,
.theme-lux .header .header__links a:visited:hover,
.theme-lux .header .header__links a:visited:hover .icon,
.theme-lux .header .header__links button:active,
.theme-lux .header .header__links button:active .icon,
.theme-lux .header .header__links button:hover,
.theme-lux .header .header__links button:hover .icon,
.theme-lux .header .header__params a:active,
.theme-lux .header .header__params a:active .icon,
.theme-lux .header .header__params a:hover,
.theme-lux .header .header__params a:hover .icon,
.theme-lux .header .header__params a:visited:active,
.theme-lux .header .header__params a:visited:active .icon,
.theme-lux .header .header__params a:visited:hover,
.theme-lux .header .header__params a:visited:hover .icon,
.theme-lux .header .header__params button:active,
.theme-lux .header .header__params button:active .icon,
.theme-lux .header .header__params button:hover,
.theme-lux .header .header__params button:hover .icon,
.theme-lux .header .menu>li:not(.header__category) a:active,
.theme-lux .header .menu>li:not(.header__category) a:active .icon,
.theme-lux .header .menu>li:not(.header__category) a:hover,
.theme-lux .header .menu>li:not(.header__category) a:hover .icon,
.theme-lux .header .menu>li:not(.header__category) a:visited:active,
.theme-lux .header .menu>li:not(.header__category) a:visited:active .icon,
.theme-lux .header .menu>li:not(.header__category) a:visited:hover,
.theme-lux .header .menu>li:not(.header__category) a:visited:hover .icon,
.theme-lux .header .menu>li:not(.header__category) button:active,
.theme-lux .header .menu>li:not(.header__category) button:active .icon,
.theme-lux .header .menu>li:not(.header__category) button:hover,
.theme-lux .header .menu>li:not(.header__category) button:hover .icon {
    color: #9a7250
}

.theme-lux .header .icon-buttons li:last-child,
.theme-lux .header__search-icon {
    background-color: #9a7250
}

.theme-lux .header .icon-buttons a:hover,
.theme-lux .header .icon-buttons button:hover {
    color: #9a7250
}

.theme-lux .header__icon-counter {
    background-color: #9a7250
}

@media (min-width:1200px) {
    .theme-lux .menu .menu__dropdown ul {
        scrollbar-color: #9a7250 #ededed
    }

    .theme-lux .menu .menu__dropdown ul::-webkit-scrollbar-thumb {
        background: #9a7250
    }
}

@media (min-width:1200px) {
    .theme-lux .menu__wrap .page-wrapper>ul>li>:hover {
        color: #9a7250 !important
    }
}

.theme-lux .footer__links .icon,
.theme-lux .footer__params .icon {
    color: #9a7250
}

.theme-lux .footer a:active,
.theme-lux .footer a:hover,
.theme-lux .footer button:active,
.theme-lux .footer button:hover {
    color: #e6dccd
}

.theme-lux .footer__share-item a:hover {
    color: #9a7250
}

.theme-lux .drawer__top-nav {
    background-color: #9a7250
}

.theme-lux .drawer__close {
    color: #9a7250
}

.theme-lux .drawer__overlay+.drawer__close,
.theme-lux .drawer__title {
    background-color: #9a7250
}

.theme-lux .hero__more:not([disabled]):hover {
    background-color: #9a7250;
    border-color: #9a7250
}

.theme-lux .banners--back-cover {
    background-color: #9a7250
}

.theme-lux .banners--back-cover .plain-text:after {
    background-image: linear-gradient(0deg, #9a7250, transparent)
}

@media (min-width:1200px) {

    .theme-lux .menu .nav__subnav-parent:not(.menu__dropdown .nav__subnav-parent).selected>a,
    .theme-lux .menu .nav__subnav-parent:not(.menu__dropdown .nav__subnav-parent).selected>a:visited,
    .theme-lux .menu .nav__subnav-parent:not(.menu__dropdown .nav__subnav-parent).selected>button,
    .theme-lux .menu a:active,
    .theme-lux .menu a:hover,
    .theme-lux .menu a:visited:active,
    .theme-lux .menu a:visited:hover,
    .theme-lux .menu button:active,
    .theme-lux .menu button:hover {
        color: #9a7250
    }

    .theme-lux .menu li.selected>a,
    .theme-lux .menu li.selected>a:visited,
    .theme-lux .menu li.selected>button {
        color: #9a7250 !important
    }

    .theme-lux .menu .menu__dropdown--underline ul>li.selected>a span:not(.nav__toggle),
    .theme-lux .menu .menu__dropdown--underline ul>li.selected>a:visited span:not(.nav__toggle),
    .theme-lux .menu .menu__dropdown--underline ul>li.selected>button span:not(.nav__toggle) {
        background: linear-gradient(90deg, #9a7250, #9a7250), linear-gradient(90deg, #9a7250, #9a7250)
    }
}

@media (min-width:1200px) {
    .theme-lux .menu .menu__dropdown--negative ul>li.selected {
        background-color: #9a7250
    }

    .theme-lux .menu .menu__dropdown--regular ul>li.selected>a,
    .theme-lux .menu .menu__dropdown--regular ul>li.selected>a:active,
    .theme-lux .menu .menu__dropdown--regular ul>li.selected>a:hover,
    .theme-lux .menu .menu__dropdown--regular ul>li.selected>a:visited,
    .theme-lux .menu .menu__dropdown--regular ul>li.selected>a:visited:active,
    .theme-lux .menu .menu__dropdown--regular ul>li.selected>a:visited:hover,
    .theme-lux .menu .menu__dropdown--regular ul>li.selected>button,
    .theme-lux .menu .menu__dropdown--regular ul>li.selected>button:active,
    .theme-lux .menu .menu__dropdown--regular ul>li.selected>button:hover {
        color: #9a7250
    }

    .theme-lux .menu .header__category .category__nav-parent ul {
        scrollbar-color: #9a7250 #2f3645
    }

    .theme-lux .menu .header__category .category__nav-parent ul::-webkit-scrollbar-thumb {
        background-color: #9a7250
    }

    .theme-lux .menu .header__category .category__nav-parent ul::-webkit-scrollbar-thumb:hover {
        background-color: #7c5a3e
    }

    .theme-lux .menu .header__category .category__nav-parent ul li a:hover {
        background-color: #9a7250
    }

    .theme-lux .menu .header__category .category__nav-parent ul li.selected>a {
        color: #e6dccd
    }
}

@media (max-width:1199.98px) {

    .theme-lux .menu li.selected>a,
    .theme-lux .menu li.selected>a:visited,
    .theme-lux .menu li.selected>button {
        color: #9a7250
    }

    .theme-lux .menu .menu__param>.icon,
    .theme-lux .menu a:visited>.icon,
    .theme-lux .menu a>.icon,
    .theme-lux .menu button>.icon {
        fill: #9a7250
    }
}

@media (min-width:1200px) {

    .theme-lux .nav__sidebar .category__nav .selected>a,
    .theme-lux .nav__sidebar .category__nav a:active,
    .theme-lux .nav__sidebar .category__nav a:hover {
        color: #9a7250
    }

    .theme-lux .nav__sidebar .category__nav-parent>ul>li.active>a,
    .theme-lux .nav__sidebar .category__nav-parent>ul>li.selected>a,
    .theme-lux .nav__sidebar .category__nav-parent>ul>li:active>a,
    .theme-lux .nav__sidebar .category__nav-parent>ul>li:has(li.selected)>a,
    .theme-lux .nav__sidebar .category__nav-parent>ul>li:hover>a {
        background-color: #9a7250
    }

    .theme-lux .nav__sidebar .category__nav-inner .nav__subnav-parent>a:last-of-type:before,
    .theme-lux .nav__sidebar .category__nav-inner>ul>li>a:last-of-type:before {
        background-color: #9a7250
    }

    .theme-lux .nav__sidebar .category__nav-inner>ul>li:has(li.selected)>a {
        color: #9a7250
    }

    .theme-lux .nav__sidebar .category__nav-inner .category__nav-inner>ul li.active>a,
    .theme-lux .nav__sidebar .category__nav-inner .category__nav-inner>ul li.selected>a,
    .theme-lux .nav__sidebar .category__nav-inner .category__nav-inner>ul li:active>a,
    .theme-lux .nav__sidebar .category__nav-inner .category__nav-inner>ul li:hover>a {
        color: #9a7250
    }

    .theme-lux .nav__sidebar>.category__nav-parent {
        scrollbar-color: #9a7250 #b1b1b1
    }

    .theme-lux .nav__sidebar>.category__nav-parent::-webkit-scrollbar-thumb {
        background-color: #9a7250
    }

    .theme-lux .nav__sidebar>.category__nav-parent::-webkit-scrollbar-thumb:hover {
        background-color: #7c5a3e
    }

    .theme-lux .nav__sidebar>.category__nav-parent>button:active,
    .theme-lux .nav__sidebar>.category__nav-parent>button:hover {
        color: #9a7250
    }
}

.theme-lux .cookies__show-panel {
    border-color: #9a7250
}

.theme-lux .cookies__show-panel:active,
.theme-lux .cookies__show-panel:hover {
    background-color: #9a7250
}

.theme-lux .newsletter .newsletter__form-submit:hover,
.theme-lux .newsletter .newsletter__form-submit:hover .icon {
    color: #9a7250 !important
}

.theme-lux .newsletter .form__cb-label>span a:hover {
    color: #9a7250
}

.theme-lux .newsletter .form__cb-label [type=checkbox]:checked~span:after,
.theme-lux .newsletter .form__cb-label [type=checkbox]:not(:checked)~span:after {
    background-color: #9a7250
}

.theme-lux .newsletter .form__cb-label [type=checkbox]:checked~span {
    color: #9a7250
}

.theme-lux .newsletter .form__cb-label [type=checkbox]:not(:disabled)~span:hover:after {
    background-color: #7c5a3e
}

.theme-lux .block__title-link:active,
.theme-lux .block__title-link:hover {
    color: #9a7250
}

.theme-lux .button--primary,
.theme-lux .trafify-form-element .rendered-form .form__item--submit .button {
    background-color: #9a7250
}

.theme-lux .button--primary:not([disabled]):hover,
.theme-lux .trafify-form-element .rendered-form .form__item--submit .button:not([disabled]):hover {
    background-color: #7c5a3e
}

.theme-lux .button--secondary {
    background-color: #9a7250
}

.theme-lux .button--secondary:not([disabled]):hover {
    background-color: #7c5a3e
}

.theme-lux .button--simple {
    color: #9a7250
}

.theme-lux .card__date,
.theme-lux .card__more:hover,
.theme-lux .card__title:active,
.theme-lux .card__title:hover {
    color: #9a7250
}

.theme-lux .card__more:hover:after {
    background-color: #9a7250
}

.theme-lux .card__more--icon {
    background-color: rgba(154, 114, 80, .6)
}

.theme-lux .carousel__nav .carousel-button:not(.swiper-button-disabled):active,
.theme-lux .carousel__nav .carousel-button:not(.swiper-button-disabled):hover,
.theme-lux .swiper-container .swiper__nav .swiper-button:not(.swiper-button-disabled):active,
.theme-lux .swiper-container .swiper__nav .swiper-button:not(.swiper-button-disabled):hover,
.theme-lux .swiper-container~.swiper__nav .swiper-button:not(.swiper-button-disabled):active,
.theme-lux .swiper-container~.swiper__nav .swiper-button:not(.swiper-button-disabled):hover {
    background-color: #9a7250;
    border-color: #9a7250
}

.theme-lux .carousel__pagination .swiper-pagination-bullet-active {
    border-color: #9a7250
}

.theme-lux .carousel__pagination .swiper-pagination-bullet-active:after {
    background-color: #9a7250
}

.theme-lux .features__icon,
.theme-lux .features__item a:active .features__title,
.theme-lux .features__item a:hover .features__title,
.theme-lux .features__item a:visited:active .features__title,
.theme-lux .features__item a:visited:hover .features__title,
.theme-lux .not-found__code {
    color: #9a7250
}

.theme-lux .cover__subtitle {
    color: #9a7250
}

.theme-lux .breadcrumbs {
    background-color: #9a7250
}

.theme-lux .breadcrumbs__item a:active,
.theme-lux .breadcrumbs__item a:hover {
    color: #9a7250
}

.theme-lux .list-controls__pagination-link:not(.selected):active,
.theme-lux .list-controls__pagination-link:not(.selected):hover {
    color: #9a7250 !important
}

.theme-lux .list-controls__pagination-link:not(.selected):active .icon,
.theme-lux .list-controls__pagination-link:not(.selected):hover .icon {
    fill: #9a7250 !important
}

.theme-lux .list-controls__pagination-link.selected {
    background-color: #9a7250;
    border-color: #9a7250
}

.theme-lux .sharing__button {
    background-color: #9a7250
}

.theme-lux .sharing__button:hover {
    background-color: #7c5a3e
}

.theme-lux .article-poll__show-results:hover {
    color: #9a7250
}

.theme-lux .article-poll__show-results:hover:after {
    background-color: #9a7250
}

.theme-lux .article-poll__show-results:hover .icon {
    color: #9a7250
}

.theme-lux .article-poll-results__bar {
    background-color: rgba(154, 114, 80, .1) !important
}

.theme-lux .article-poll-results__bar span {
    background-color: #9a7250
}

.theme-lux .comments__counter {
    color: #9a7250
}

.theme-lux .comments__item-author {
    color: #9a7250 !important
}

.theme-lux .comments__item-more-button:active,
.theme-lux .comments__item-more-button:hover {
    color: #9a7250
}

.theme-lux .comments__item-permalink:active,
.theme-lux .comments__item-permalink:hover {
    color: #9a7250 !important
}

.theme-lux .comments__item-reply a,
.theme-lux .comments__item-reply a:visited {
    background-color: #9a7250
}

.theme-lux .comments__item-reply a:active,
.theme-lux .comments__item-reply a:hover,
.theme-lux .comments__item-reply a:visited:active,
.theme-lux .comments__item-reply a:visited:hover {
    background-color: #7c5a3e
}

.theme-lux .comments .sys-msg {
    background-color: #9a7250
}

.theme-lux .documents a:hover {
    color: #9a7250
}

.theme-lux .tags__item a:hover {
    background-color: #9a7250
}

.theme-lux .article__sidebar-related,
.theme-lux .tags__item a:hover {
    border-color: #9a7250
}

.theme-lux .article__params-item a:hover {
    color: #9a7250
}

.theme-lux .article__params-item--highlight {
    background-color: #9a7250
}

.theme-lux .contact__params {
    background-color: #9a7250 !important
}

.theme-lux .user-points {
    color: #9a7250
}

.theme-lux .package__box {
    border-color: #9a7250 !important
}

.theme-lux .package__box>.button {
    background-color: #9a7250
}

.theme-lux .package__box>.button:not([disabled]):hover {
    background-color: #7c5a3e
}

.theme-lux .cetelem__toggle {
    color: #9a7250
}

.theme-lux .countdown-section {
    background-color: #9a7250
}

.theme-lux .accordion__heading .icon {
    color: #9a7250
}

.theme-lux .booking__slot-input:checked+.booking__slot-content {
    background-color: #9a7250 !important
}

.theme-lux .steps .current .steps__number {
    background-color: #9a7250
}

.theme-lux .steps .current .steps__title {
    color: #9a7250
}

.theme-lux .address-action:hover {
    color: #9a7250
}

.theme-lux .address-card-header {
    border-color: #9a7250;
    outline-color: #9a7250
}

.theme-lux .list-icons button:hover {
    color: #9a7250
}

.theme-lux .jconfirm.jconfirm-popup .popup {
    background-color: #9a7250
}

.theme-lux .account-sidenav .account-sidenav__link--active,
.theme-lux .account-sidenav .account-sidenav__link:focus,
.theme-lux .account-sidenav .account-sidenav__link:hover {
    color: #9a7250
}

.theme-lux .accordion__title,
.theme-lux .button,
.theme-lux .button--simple,
.theme-lux .card__date,
.theme-lux .card__desc,
.theme-lux .card__more,
.theme-lux .cart-widget__package-name,
.theme-lux .cart-widget__price,
.theme-lux .cart-widget__product-quantity,
.theme-lux .cart-widget__total,
.theme-lux .drawer .drawer__top-nav .drawer__tab,
.theme-lux .drawer .menu .page-wrapper>div ul.menu__params>.menu__param,
.theme-lux .drawer .menu .page-wrapper>div ul.menu__params>.menu__param>*,
.theme-lux .drawer .menu .page-wrapper>div ul.menu__params>.mt-20 button,
.theme-lux .drawer .menu .page-wrapper>div ul.menu__params>.mt-20 ul.menu__dropdown li>*,
.theme-lux .drawer .menu .page-wrapper>div ul:first-child li>*,
.theme-lux .drawer__title,
.theme-lux .dropdown a,
.theme-lux .dropdown a:visited,
.theme-lux .features__subtitle,
.theme-lux .footer__bottom-inner .erdsoft,
.theme-lux .footer__bottom-inner .footer__copy-item,
.theme-lux .footer__top .footer__cols .footer__col-content .footer__params li,
.theme-lux .footer__top .footer__cols .footer__col-content .footer__text,
.theme-lux .form-builder-form .form__control[type=file]::file-selector-button,
.theme-lux .form-text,
.theme-lux .form__control,
.theme-lux .form__label,
.theme-lux .form__note,
.theme-lux .form__option [type=radio]:checked~span strong,
.theme-lux .form__option [type=radio]:not(:checked)~span strong,
.theme-lux .form__option--delivery .delivery__header,
.theme-lux .form__option--delivery .delivery__price,
.theme-lux .formbuilder-checkbox [type=checkbox]:checked~label,
.theme-lux .formbuilder-checkbox [type=checkbox]:not(:checked)~label,
.theme-lux .formbuilder-checkbox [type=radio]:checked~label,
.theme-lux .formbuilder-checkbox [type=radio]:not(:checked)~label,
.theme-lux .formbuilder-gdprConsent div [type=checkbox]:checked+strong,
.theme-lux .formbuilder-gdprConsent div [type=checkbox]:not(:checked)+strong,
.theme-lux .formbuilder-gdprConsent div [type=radio]:checked+strong,
.theme-lux .formbuilder-gdprConsent div [type=radio]:not(:checked)+strong,
.theme-lux .header__middle .page-wrapper .menu__wrap .page-wrapper>ul>li>*,
.theme-lux .header__top .header__links li,
.theme-lux .header__top .header__params li,
.theme-lux .headline__copy,
.theme-lux .hero__description,
.theme-lux .hero__more,
.theme-lux .jconfirm .jconfirm-box .jconfirm-buttons button.btn-default,
.theme-lux .jconfirm .jconfirm-box .jconfirm-content,
.theme-lux .jconfirm.jconfirm-dark .jconfirm-box .jconfirm-buttons button.btn-default,
.theme-lux .jconfirm.jconfirm-dark .jconfirm-box .jconfirm-content,
.theme-lux .jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.btn-default,
.theme-lux .jconfirm.jconfirm-light .jconfirm-box .jconfirm-content,
.theme-lux .jconfirm.jconfirm-popup .popup__text,
.theme-lux .menu .menu__dropdown a,
.theme-lux .menu .menu__dropdown a:visited,
.theme-lux .menu__params li,
.theme-lux .newsletter>.page-wrapper .newsletter__form .newsletter__checkboxes .form__cb .form__cb-label>span,
.theme-lux .newsletter>.page-wrapper .newsletter__form-field-input,
.theme-lux .newsletter>.page-wrapper .newsletter__form-submit,
.theme-lux .newsletter>.page-wrapper .newsletter__header .newsletter__title,
.theme-lux .newsletter__title,
.theme-lux .number-widget__input,
.theme-lux .plain-text,
.theme-lux .product__box--present .product__box-package,
.theme-lux .product__box--present .product__price small,
.theme-lux .product__box-add-to-cart,
.theme-lux .product__box-availability,
.theme-lux .product__box-badge,
.theme-lux .product__box-category,
.theme-lux .product__box-description,
.theme-lux .product__price--current,
.theme-lux .product__price--large .product__price--netto,
.theme-lux .product__price--old,
.theme-lux .select2-container .select2-results__option,
.theme-lux .select2-container .select2-search--inline .select2-search__field,
.theme-lux .select2-container--default .select2-selection--multiple,
.theme-lux .select2-container--default .select2-selection--single,
.theme-lux .select2-container--default.search-select .select2-results--wrapper h2,
.theme-lux .select2-container--default.search-select .select2-results--wrapper h2 .select2-data-total,
.theme-lux .select2-container--default.search-select .select2-results--wrapper h2 .select2-view-all,
.theme-lux .select2-container--default.search-select .select2-search .select2-search__field,
.theme-lux .select2-suggestions h3,
.theme-lux .select2-suggestions li,
.theme-lux .sys-msg,
.theme-lux .tabs__link,
.theme-lux .trafify-form-element .rendered-form .form-group>label,
.theme-lux .trafify-form-element .rendered-form .form__control,
.theme-lux .trafify-form-element .rendered-form .form__item--submit .button,
.theme-lux .trafify-form-element .rendered-form .formbuilder-gdprConsent,
.theme-lux .validation-invalid-label,
.theme-lux [type=checkbox]:checked~span,
.theme-lux [type=checkbox]:not(:checked)~span,
.theme-lux [type=radio]:checked~span,
.theme-lux [type=radio]:not(:checked)~span,
.theme-lux body,
.theme-lux input,
.theme-lux select,
.theme-lux textarea {
    font-family: var(--nv-fb) !important
}

.theme-lux .block__title-title,
.theme-lux .jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-title,
.theme-lux .jconfirm.jconfirm-dark .jconfirm-box div.jconfirm-title-c .jconfirm-title,
.theme-lux .jconfirm.jconfirm-light .jconfirm-box div.jconfirm-title-c .jconfirm-title,
.theme-lux .product__box-title {
    font-family: var(--nv-fd) !important
}

.theme-lux .contact .contact__params .contact__param-value,
.theme-lux .contact .contact__params .contact__param-value a {
    font-family: var(--nv-fb) !important
}

.theme-lux .sharing,
.theme-lux .sharing__item {
    font-family: var(--nv-fb) !important
}

.theme-lux body {
    background: var(--nv-paper);
    color: var(--nv-soft);
    font-family: var(--nv-fb);
    font-weight: 400;
    line-height: 1.6
}

.theme-lux .site-wrap {
    background: var(--nv-paper)
}

.theme-lux h1,
.theme-lux h2,
.theme-lux h3,
.theme-lux h4,
.theme-lux .hero__title,
.theme-lux .cover__title,
.theme-lux .block__title-title,
.theme-lux .headline__title {
    font-family: var(--nv-fd);
    font-weight: 500;
    text-transform: none;
    letter-spacing: -.01em;
    color: var(--nv-ink);
    font-variation-settings: "opsz" 14
}

.theme-lux .page-wrapper {
    max-width: var(--nv-wrap);
    padding-left: var(--nv-gut);
    padding-right: var(--nv-gut)
}

.theme-lux .page-wrapper .page-wrapper {
    padding-left: 0;
    padding-right: 0
}

.theme-lux .page-wrapper--medium {
    max-width: 1160px
}

.info-bar {
    display: none !important
}

.home main>.banners__section--1 {
    display: none !important
}

.newsletter {
    display: none !important
}

.home main>.hero {
    order: -3
}

.home main>.info-blocks {
    order: -2
}

.home main>.homepage-static-content {
    order: -1
}

.theme-lux .header {
    background: var(--nv-sand);
    color: var(--nv-ink);
    box-shadow: none;
    border-bottom: 1px solid transparent;
    transition: border-color .3s var(--nv-ease)
}

.theme-lux .header--sticky {
    border-bottom-color: var(--nv-line)
}

.theme-lux .header__top {
    background: var(--nv-sand);
    border: 0;
    font-size: 13px;
    color: var(--nv-soft)
}

.theme-lux .header__top a,
.theme-lux .header__top button,
.theme-lux .header__params li {
    color: var(--nv-soft)
}

.theme-lux .header__top a:hover,
.theme-lux .header__top button:hover {
    color: var(--nv-wood-deep)
}

.theme-lux .header__top .icon {
    color: var(--nv-wood);
    fill: var(--nv-wood)
}

.theme-lux .header .dropdown {
    background: var(--nv-white);
    box-shadow: 0 12px 30px -16px rgba(30, 28, 26, .35)
}

.theme-lux .header .dropdown a {
    color: var(--nv-ink)
}

@media (min-width:1200px) {
    .theme-lux .header__middle {
        padding: 18px 0
    }

    .theme-lux .header__middle>.page-wrapper {
        display: flex;
        align-items: center;
        gap: 32px
    }

    .theme-lux .header__logo {
        height: auto;
        margin-right: 0;
        flex: 0 0 auto
    }

    .theme-lux .header__logo img {
        max-height: none;
        height: 88px !important;
        mix-blend-mode: multiply;
        width: auto;
        padding: 0;
        transition: height .3s var(--nv-ease)
    }

    .theme-lux .header__middle .menu__wrap {
        flex: 1 1 auto;
        min-width: 0;
        margin: 0 !important
    }

    .theme-lux .header__middle>.page-wrapper>.icon-buttons {
        display: none
    }

    .theme-lux .header__middle .menu__wrap .page-wrapper>ul {
        justify-content: flex-end
    }

    .theme-lux .menu a,
    .theme-lux .menu a:visited,
    .theme-lux .menu button {
        font-family: var(--nv-fb);
        font-size: 12px;
        font-weight: 500;
        letter-spacing: .12em;
        line-height: 1.3;
        color: var(--nv-ink);
        padding: 10px clamp(10px, .9vw, 20px)
    }

    .theme-lux .header__middle .menu__wrap .page-wrapper>ul>li>a,
    .theme-lux .header__middle .menu__wrap .page-wrapper>ul>li>button,
    .theme-lux .header__middle .menu .menu__dropdown a,
    .theme-lux .header__middle .menu .menu__dropdown button {
        font-family: var(--nv-fb) !important;
        font-size: var(--nv-menu-fs, 12px) !important;
        font-weight: 500 !important;
        letter-spacing: var(--nv-menu-ls, .12em) !important;
        text-transform: uppercase
    }

    .theme-lux .menu__wrap .page-wrapper>ul>li>a,
    .theme-lux .menu__wrap .page-wrapper>ul>li>button {
        background: linear-gradient(var(--nv-wood), var(--nv-wood)) center calc(100% - 4px)/0 1px no-repeat;
        transition: background-size .35s var(--nv-ease), color .2s
    }

    .theme-lux .menu__wrap .page-wrapper>ul>li>a:hover,
    .theme-lux .menu__wrap .page-wrapper>ul>li>button:hover,
    .theme-lux .menu__wrap .page-wrapper>ul>li.selected>a,
    .theme-lux .menu__wrap .page-wrapper>ul>li.active>a,
    .theme-lux .menu__wrap .page-wrapper>ul>li.active>button {
        color: var(--nv-ink);
        background-size: calc(100% - 2 * clamp(10px, .9vw, 20px)) 1px
    }

    .theme-lux .menu .nav__toggle .icon,
    .theme-lux .menu .menu__dropdown-parent .icon {
        color: var(--nv-wood);
        fill: var(--nv-wood)
    }

    .theme-lux .menu__wrap .page-wrapper>ul>li>a .nav__toggle,
    .theme-lux .menu__wrap .page-wrapper>ul>li>button .nav__toggle {
        position: static;
        display: inline-flex;
        align-items: center;
        width: auto;
        height: auto;
        margin: 0 0 0 6px;
        padding: 0
    }

    .theme-lux .menu__wrap .page-wrapper>ul>li>a .nav__toggle .icon,
    .theme-lux .menu__wrap .page-wrapper>ul>li>button .nav__toggle .icon {
        width: 9px;
        height: 9px
    }

    .theme-lux .menu .menu__dropdown {
        background: var(--nv-white);
        border: 1px solid var(--nv-line);
        box-shadow: 0 18px 40px -22px rgba(30, 28, 26, .4)
    }

    .theme-lux .menu .menu__dropdown ul {
        background: var(--nv-white)
    }

    .theme-lux .menu .menu__dropdown a,
    .theme-lux .menu .menu__dropdown a:visited,
    .theme-lux .menu .menu__dropdown button {
        color: var(--nv-ink);
        letter-spacing: .12em;
        padding: 11px 20px;
        background: none
    }

    .theme-lux .menu .menu__dropdown li:hover>a,
    .theme-lux .menu .menu__dropdown li:hover>button,
    .theme-lux .menu .menu__dropdown li.selected>a,
    .theme-lux .menu .menu__dropdown li.active>a,
    .theme-lux .menu .menu__dropdown li.active>button {
        background: var(--nv-sand);
        color: var(--nv-wood-deep)
    }

    .theme-lux .nv-cta-head {
        flex: 0 0 auto;
        font-size: 13.5px
    }

    /* No top bar (phone, address): the language switch and the accessibility button move next to the CTA (headerTools() in the footer script).
   The header keeps its size while scrolling, and the page offset follows the shorter header. */
    .theme-lux .header__top {
        display: none
    }

    /* Fixed header height (same when sticky) = page offset, so nothing jumps on scroll */
    .theme-lux .header__middle,
    .theme-lux .header--sticky .header__middle {
        --nv-head-h: 112px;
        height: var(--nv-head-h);
        padding: 0;
        box-sizing: border-box
    }

    .theme-lux .header__middle>.page-wrapper {
        height: 100% !important
    }

    .theme-lux .header__logo {
        height: 100% !important;
        display: flex;
        align-items: center;
        align-self: stretch
    }

    .theme-lux .header__logo a,
    .theme-lux .header__logo picture {
        display: block;
        line-height: 0
    }

    .theme-lux .site-wrap {
        padding-top: 112px
    }

    .theme-lux .nv-head-tools {
        display: flex;
        align-items: center;
        gap: 10px;
        flex: 0 0 auto;
        margin: 0;
        padding: 0 0 0 4px;
        list-style: none
    }

    .theme-lux .nv-head-tools li {
        display: flex;
        align-items: center;
        line-height: 1
    }

    .theme-lux .nv-head-tools a {
        display: block;
        font-family: var(--nv-fb);
        font-size: 13px;
        font-weight: 500;
        line-height: 1;
        letter-spacing: .14em;
        color: var(--nv-soft);
        text-decoration: none;
        padding: 6px 0 6px 2px
    }

    .theme-lux .nv-head-tools a:hover {
        color: var(--nv-wood-deep)
    }

    .theme-lux .nv-head-tools button {
        display: flex;
        align-items: center;
        height: 22px !important;
        max-height: none !important;
        min-height: 0 !important;
        line-height: 0;
        background: none;
        border: 0;
        padding: 0 !important;
        margin: 0;
        cursor: pointer
    }

    /* the theme nudges the icon down to suit the old top bar; reset it so it sits on the menu's centre line */
    .theme-lux .nv-head-tools picture,
    .theme-lux .nv-head-tools img {
        position: static !important;
        top: auto !important;
        margin: 0 !important;
        transform: none !important
    }

    .theme-lux .nv-head-tools picture,
    .theme-lux .nv-head-tools img {
        width: 22px !important;
        height: 22px !important;
        display: block
    }
}

@media (min-width:1200px) and (max-width:1799.98px) {
    .theme-lux .header__middle>.page-wrapper {
        gap: 14px
    }

    .theme-lux .header {
        --nv-menu-fs: 11.5px;
        --nv-menu-ls: .06em
    }

    .theme-lux .header__logo img {
        height: 80px !important
    }

    .theme-lux .header__middle,
    .theme-lux .header--sticky .header__middle {
        --nv-head-h: 104px
    }

    .theme-lux .site-wrap {
        padding-top: 104px
    }

    .theme-lux .menu a,
    .theme-lux .menu a:visited,
    .theme-lux .menu button {
        font-size: 11.5px;
        letter-spacing: .06em;
        padding: 10px clamp(7px, .7vw, 12px)
    }

    .theme-lux .menu__wrap .page-wrapper>ul>li>a:hover,
    .theme-lux .menu__wrap .page-wrapper>ul>li>button:hover,
    .theme-lux .menu__wrap .page-wrapper>ul>li.selected>a,
    .theme-lux .menu__wrap .page-wrapper>ul>li.active>a,
    .theme-lux .menu__wrap .page-wrapper>ul>li.active>button {
        background-size: calc(100% - 2 * clamp(7px, .7vw, 12px)) 1px
    }

    .theme-lux .nv-cta-head {
        padding: 1em 1.3em;
        letter-spacing: .12em;
        font-size: 12.5px
    }

    .theme-lux .nv-cta-head .nv-arr {
        display: none
    }
}

.theme-lux .nv-cta-head,
.theme-lux .nv-btn {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    gap: .7em;
    font-family: var(--nv-fb);
    font-size: 12.5px;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    line-height: 1.2;
    padding: 1.15em 1.9em;
    border: 1px solid var(--nv-anth);
    background: var(--nv-anth);
    color: var(--nv-white) !important;
    border-radius: 2px;
    text-decoration: none !important;
    transition: background .3s var(--nv-ease), border-color .3s var(--nv-ease), color .3s var(--nv-ease)
}

.theme-lux .nv-cta-head:hover,
.theme-lux .nv-btn:hover {
    background: var(--nv-wood-deep);
    border-color: var(--nv-wood-deep)
}

.theme-lux .nv-arr {
    display: inline-block;
    transition: transform .3s var(--nv-ease)
}

.theme-lux .nv-cta-head:hover .nv-arr,
.theme-lux .nv-btn:hover .nv-arr,
.theme-lux .nv-link:hover .nv-arr {
    transform: translateX(4px)
}

.theme-lux .nv-btn--ghost {
    background: transparent;
    color: var(--nv-ink) !important
}

.theme-lux .nv-btn--ghost:hover {
    background: var(--nv-anth);
    border-color: var(--nv-anth);
    color: var(--nv-white) !important
}

/* Header phone (headerPhone() in the footer script): a round icon button in the CTA's style, as tall as the CTA;
   from 1600px there is room for the number, so it turns into icon + number like the mockup */
.theme-lux .nv-head-phone {
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    width: var(--nv-phone-size, 46px);
    height: var(--nv-phone-size, 46px);
    margin: 0;
    border-radius: 50%;
    background: var(--nv-anth);
    color: var(--nv-white) !important;
    text-decoration: none !important;
    transition: background .3s var(--nv-ease)
}

.theme-lux .nv-head-phone:hover,
.theme-lux .nv-head-phone:focus-visible {
    background: var(--nv-wood-deep)
}

.theme-lux .nv-head-phone .icon {
    position: static;
    width: 16px;
    height: 16px;
    margin: 0;
    fill: currentColor
}

.theme-lux .nv-head-phone span {
    display: none
}

@media (min-width:1600px) {
    .theme-lux .nv-head-phone {
        display: inline-flex;
        align-items: center;
        gap: .6em;
        width: auto;
        height: auto;
        border-radius: 0;
        background: none;
        color: var(--nv-ink) !important;
        font-family: var(--nv-fb);
        font-size: 13.5px;
        font-weight: 500;
        letter-spacing: .04em;
        white-space: nowrap
    }

    .theme-lux .nv-head-phone:hover,
    .theme-lux .nv-head-phone:focus-visible {
        background: none;
        color: var(--nv-wood-deep) !important
    }

    .theme-lux .nv-head-phone .icon {
        width: 15px;
        height: 15px;
        fill: var(--nv-bordo)
    }

    .theme-lux .nv-head-phone span {
        display: inline
    }
}

@media (max-width:1199.98px) {
    .theme-lux .nv-head-phone {
        --nv-phone-size: 36px;
        margin-left: auto
    }

    .theme-lux .nv-head-phone .icon {
        width: 15px;
        height: 15px
    }

    .theme-lux .nv-head-phone+.nv-cta-head {
        margin-left: 0
    }

    .theme-lux .nv-cta-head {
        flex-shrink: 0
    }
}

/* Accessibility button in the mobile drawer (drawerAccessibility() in the footer script): icon + label, like the contact rows above it */
.drawer .nv-drawer-a11y button {
    display: inline-flex;
    align-items: center;
    gap: .6em;
    padding: 0;
    margin: 0;
    background: none;
    border: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    text-align: left
}

.drawer .nv-drawer-a11y picture,
.drawer .nv-drawer-a11y img {
    position: static !important;
    display: block;
    width: 22px !important;
    height: 22px !important;
    margin: 0 !important;
    transform: none !important
}

/* Small phones (360px Androids): tighter gaps and CTA, the logo gives way instead of the CTA text being cut off */
@media (max-width:389.98px) {
    html.theme-lux .header__middle>.page-wrapper {
        gap: 7px
    }

    html.theme-lux .nv-cta-head {
        padding: .95em .85em;
        letter-spacing: .08em
    }

    html.theme-lux .header__logo {
        flex-shrink: 1;
        min-width: 0
    }

    html.theme-lux .header__logo img {
        max-width: 100%;
        height: auto !important;
        max-height: 56px
    }
}

@media (min-width:1200px) and (max-width:1399.98px) {
    .theme-lux .header__logo img {
        height: 68px !important
    }

    .theme-lux .header__middle>.page-wrapper {
        gap: 10px
    }

    .theme-lux .menu a,
    .theme-lux .menu a:visited,
    .theme-lux .menu button {
        padding: 10px 6px
    }

    .theme-lux .header {
        --nv-menu-ls: .04em
    }

    .theme-lux .header__middle,
    .theme-lux .header--sticky .header__middle {
        --nv-head-h: 92px
    }

    .theme-lux .site-wrap {
        padding-top: 92px
    }
}

@media (max-width:1199.98px) {
    .theme-lux .nv-head-tools {
        display: none
    }

    .theme-lux .header__middle {
        height: 76px
    }

    .theme-lux .site-wrap {
        padding-top: 76px
    }

    .theme-lux .header__logo img {
        max-height: 62px;
        height: 62px !important;
        width: auto;
        mix-blend-mode: multiply
    }

    .theme-lux .header__middle>.page-wrapper {
        display: flex;
        align-items: center;
        gap: 10px;
        height: 100%
    }

    .theme-lux .header__middle .icon-buttons {
        margin-left: 0;
        display: flex;
        align-items: center;
        align-self: stretch
    }

    .theme-lux .header__middle .icon-buttons>li {
        display: flex;
        align-items: center;
        height: 100%
    }

    .theme-lux .header__middle .icon-buttons>li>button,
    .theme-lux .header__middle .icon-buttons>li>a {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 44px
    }

    .theme-lux .nv-cta-head {
        margin-left: auto;
        font-size: 11px;
        letter-spacing: .14em;
        padding: .95em 1.1em
    }

    .theme-lux .nv-cta-head .nv-arr {
        display: none
    }

    .theme-lux .header .icon-buttons .icon,
    .theme-lux .header .icon-buttons button {
        color: var(--nv-ink);
        fill: var(--nv-ink)
    }

    .theme-lux .header .icon-buttons li:last-child {
        background: transparent
    }
}

.theme-lux .hero {
    position: relative;
    background: var(--nv-anth);
    padding: 0 !important;
    margin: 0 !important
}

.theme-lux .hero .hero__image,
.theme-lux .hero figure {
    height: clamp(540px, 78vh, 820px);
    overflow: hidden;
    background: var(--nv-anth)
}

.theme-lux .hero .hero__image picture {
    display: block;
    width: 100%;
    height: 100%
}

.theme-lux .hero .hero__image img {
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover !important;
    transform: scale(1.06);
    transition: transform 7s linear
}

.theme-lux .hero .swiper-slide-active .hero__image img {
    transform: scale(1)
}

.theme-lux .hero .hero__content {
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    background: linear-gradient(90deg, rgba(30, 28, 26, .66) 0%, rgba(30, 28, 26, .36) 42%, rgba(30, 28, 26, 0) 72%), linear-gradient(0deg, rgba(30, 28, 26, .3), rgba(30, 28, 26, 0) 35%)
}

.theme-lux .hero .hero__content .page-wrapper {
    align-items: flex-start !important;
    justify-content: center !important;
    text-align: left !important;
    width: 100%;
    box-sizing: border-box;
    max-width: var(--nv-wrap);
    padding: 0 var(--nv-gut)
}

.theme-lux .hero .hero__title {
    margin: 0 !important;
    text-align: left;
    font-size: clamp(2.3rem, 1.5rem + 3vw, 5.4rem);
    line-height: 1.08;
    max-width: 13ch;
    color: var(--nv-white);
    text-shadow: none;
    overflow-wrap: break-word;
    text-wrap: balance
}

.theme-lux .hero .hero__title em {
    font-style: italic;
    color: var(--nv-beige)
}

.theme-lux .nv-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    margin-top: 2.2em
}

.theme-lux .hero .hero__more {
    display: inline-flex;
    align-items: center;
    gap: .7em;
    margin: 0;
    font-family: var(--nv-fb);
    font-size: 12.5px;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    line-height: 1.2;
    padding: 1.15em 1.9em;
    border-radius: 2px;
    transition: background .3s var(--nv-ease), color .3s var(--nv-ease), border-color .3s var(--nv-ease)
}

.theme-lux .hero .hero__more {
    background: var(--nv-white);
    border: 1px solid var(--nv-white);
    color: var(--nv-ink)
}

.theme-lux .hero .hero__more:not([disabled]):hover {
    background: var(--nv-wood);
    border-color: var(--nv-wood);
    color: var(--nv-white)
}

.theme-lux .hero .hero__more .icon {
    width: 14px;
    height: 14px;
    fill: currentColor
}

.theme-lux .hero .js-swiper-pagination {
    display: none !important
}

.theme-lux .hero .swiper__nav {
    top: auto;
    bottom: clamp(28px, 4vh, 48px);
    left: auto !important;
    right: var(--nv-gut) !important;
    transform: none;
    justify-content: flex-end;
    align-items: center;
    gap: 18px;
    pointer-events: none
}

.theme-lux .hero .swiper__nav .swiper-button {
    position: static !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(255, 253, 249, .6) !important;
    background: transparent !important;
    border-radius: 50% !important;
    display: grid !important;
    place-items: center;
    color: #fffdf9 !important;
    pointer-events: auto;
    transition: background .3s var(--nv-ease), color .3s var(--nv-ease), border-color .3s var(--nv-ease)
}

.theme-lux .hero .swiper__nav .swiper-button .icon {
    width: 16px !important;
    height: 16px !important;
    fill: currentColor !important;
    color: inherit !important
}

.theme-lux .hero .swiper__nav .swiper-button:hover,
.theme-lux .hero .swiper__nav .swiper-button:focus-visible {
    background: #fff !important;
    border-color: #fff !important;
    color: #000 !important
}

.theme-lux .nv-hero-count {
    order: 0;
    font-family: var(--nv-fb);
    font-size: 13px;
    letter-spacing: .14em;
    color: var(--nv-white);
    font-variant-numeric: tabular-nums
}

.theme-lux .nv-hero-count b {
    font-weight: 500
}

.theme-lux .hero .swiper-button-prev {
    order: -1
}

.theme-lux .hero .swiper-button-next {
    order: 1
}

.theme-lux .nv-hero-bar {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 5;
    height: 2px;
    width: 0;
    background: var(--nv-beige);
    pointer-events: none
}

.theme-lux .nv-hero-bar.nv-run {
    animation: nv-bar var(--nv-delay, 5s) linear forwards
}

@keyframes nv-bar {
    to {
        width: 100%
    }
}

@media (max-width:860px) {

    .theme-lux .hero .hero__image,
    .theme-lux .hero figure {
        height: auto;
        aspect-ratio: 4/5;
        max-height: 88vh
    }

    .theme-lux .hero .hero__content .page-wrapper {
        padding-bottom: 40px
    }

    .theme-lux .hero .swiper__nav {
        bottom: 24px;
        left: var(--nv-gut) !important;
        right: auto !important;
        justify-content: flex-start
    }
}

.theme-lux .info-blocks {
    padding: clamp(48px, 5vw, 80px) 0;
    background: var(--nv-sand);
    border-bottom: 1px solid var(--nv-line)
}

/* Typographic benefits row: no icons, big Bodoni figure + small caps caption, short burgundy dividers (logo colour) between items */
.theme-lux .info-blocks .features {
    text-align: center
}

.theme-lux .info-blocks .features__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    padding: 0
}

.theme-lux .info-blocks .features__item {
    position: relative;
    padding: 4px clamp(16px, 2vw, 36px);
    margin: 0;
    border: 0
}

.theme-lux .info-blocks .features__item+.features__item::before {
    content: "";
    position: absolute;
    left: 0;
    top: -4px;
    bottom: -4px;
    width: 1.5px;
    background: var(--nv-bordo)
}

.theme-lux .info-blocks .features__wrap,
.theme-lux .info-blocks .features__text {
    display: block;
    margin: 0;
    text-align: center
}

.theme-lux .info-blocks .features__icon {
    display: none !important
}

.theme-lux .info-blocks .features__title {
    font-family: var(--nv-fd);
    font-size: clamp(1.5rem, 1.15rem + .85vw, 2.125rem);
    font-weight: 500;
    line-height: 1.05;
    color: var(--nv-ink);
    text-transform: none;
    letter-spacing: 0;
    margin: 0;
    font-variation-settings: "opsz" 14
}

.theme-lux .info-blocks .features__title::after,
.theme-lux .info-blocks .features__title::before {
    display: none !important
}

.theme-lux .info-blocks .features__subtitle {
    font-family: var(--nv-fb);
    margin-top: 12px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--nv-soft)
}

.theme-lux .info-blocks .nv-plus {
    font-family: var(--nv-fb);
    font-weight: 400;
    font-size: .62em;
    margin: 0 .04em 0 .02em;
    vertical-align: .42em;
    color: var(--nv-bordo)
}

@media (max-width:1199.98px) {
    .theme-lux .info-blocks .features__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 44px
    }

    .theme-lux .info-blocks .features__item:nth-child(odd)::before {
        display: none
    }
}

@media (max-width:560px) {
    .theme-lux .info-blocks .features__list {
        grid-template-columns: 1fr;
        row-gap: 0
    }

    .theme-lux .info-blocks .features__item {
        padding: 28px 0
    }

    .theme-lux .info-blocks .features__item+.features__item::before {
        display: block;
        left: 50%;
        top: 0;
        bottom: auto;
        width: 56px;
        height: 1.5px;
        transform: translateX(-50%)
    }
}

.theme-lux .homepage-static-content {
    padding: 0 !important;
    overflow-x: clip
}

.theme-lux .homepage-static-content .plain-text {
    max-width: none
}

.nv,
.nv * {
    margin-bottom: 0 !important
}

.nv {
    color: var(--nv-soft);
    font-family: var(--nv-fb);
    font-size: clamp(1rem, .94rem + .2vw, 1.18rem);
    font-weight: 400;
    line-height: 1.7
}

.nv-band {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: clamp(80px, 9vw, 150px) 0
}

/* Two bands on the same background (services → living spaces) would add up both paddings; the second one starts closer */
.nv-services+.nv-living {
    padding-top: clamp(16px, 2vw, 32px)
}

/* Homepage: header, info blocks, services and living spaces all on sand, down to the dark 30 years band */
.nv-services,
.nv-living {
    background: var(--nv-sand)
}

.nv-band--sand {
    background: var(--nv-sand)
}

.nv-band--dark {
    background: var(--nv-anth);
    color: var(--nv-white)
}

/* content-box: the content is --nv-wrap wide, like the header and the cover, so all left edges line up on wide screens */
.nv-wrap {
    box-sizing: content-box;
    max-width: var(--nv-wrap);
    margin: 0 auto;
    padding: 0 var(--nv-gut)
}

.nv-label {
    display: block;
    font-family: var(--nv-fb);
    font-size: clamp(.78rem, .74rem + .15vw, .86rem);
    font-weight: 500;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--nv-wood-deep)
}

.nv h2 {
    margin-top: .5em;
    font-family: var(--nv-fd);
    font-size: clamp(1.7rem, 1.3rem + 1.5vw, 3.2rem);
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: -.01em;
    color: var(--nv-ink);
    text-wrap: balance;
    font-variation-settings: "opsz" 14
}

.nv h2 em {
    font-style: italic;
    color: var(--nv-wood-deep)
}

.nv-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 32px;
    flex-wrap: wrap;
    margin-bottom: clamp(40px, 5vw, 72px) !important
}

.nv-head h2 {
    max-width: 18ch
}

.nv-head>p {
    display: none !important
}

.nv-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap
}

.nv .nv-btn {
    font-size: 12.5px
}

.nv-link {
    display: inline-flex;
    align-items: center;
    gap: .6em;
    font-size: 12.5px;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--nv-ink) !important;
    padding-bottom: .35em;
    border-bottom: 1px solid var(--nv-wood);
    text-decoration: none !important
}

.nv-services .banners {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(14px, 1.6vw, 24px)
}

.nv-services .banners>a,
.nv-living-grid>a {
    position: relative;
    display: block;
    aspect-ratio: 630/208;
    overflow: hidden;
    background: var(--nv-beige);
    border-radius: 2px;
    isolation: isolate;
    margin: 0 !important;
    box-shadow: 0 10px 26px -16px rgba(30, 28, 26, .35);
    transition: transform .5s var(--nv-ease), box-shadow .5s var(--nv-ease)
}

.nv-services .banners>a picture,
.nv-living-grid>a picture {
    display: block;
    width: 100%;
    height: 100%
}

.nv-services .banners>a img,
.nv-living-grid>a img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    margin: 0 !important;
    border: 0 !important;
    object-fit: cover !important;
    transition: transform 1.1s var(--nv-ease)
}

.nv-services .banners>a:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 44px -20px rgba(30, 28, 26, .5)
}

.nv-has-cap::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(0deg, rgba(30, 28, 26, .8) 0%, rgba(30, 28, 26, .35) 45%, rgba(30, 28, 26, 0) 75%);
    opacity: 0;
    transition: opacity .6s var(--nv-ease)
}

.nv-cap {
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    gap: .25em;
    padding: clamp(14px, 1.6vw, 24px) clamp(16px, 1.8vw, 28px);
    color: #fffdf9
}

.nv-cap>span {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .5s var(--nv-ease), transform .6s var(--nv-ease)
}

.nv-cap .nv-cap-name {
    font-family: var(--nv-fd);
    font-size: clamp(1.2rem, .95rem + .6vw, 1.65rem);
    line-height: 1.1;
    font-weight: 500;
    font-variation-settings: "opsz" 14
}

.nv-cap .nv-cap-name i {
    display: inline-block;
    margin-left: .35em;
    font-family: var(--nv-fb);
    font-style: normal;
    font-size: .75em;
    transition: transform .4s var(--nv-ease)
}

.nv-cap .nv-cap-desc {
    font-family: var(--nv-fb);
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: .02em;
    color: rgba(255, 253, 249, .82);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition-delay: .06s
}

.nv-has-cap:hover .nv-cap-name i {
    transform: translateX(4px)
}

.nv-has-cap:hover img,
.nv-has-cap:focus-visible img {
    transform: scale(1.05)
}

.nv-has-cap:hover::after,
.nv-has-cap:focus-visible::after {
    opacity: 1
}

.nv-has-cap:hover .nv-cap>span,
.nv-has-cap:focus-visible .nv-cap>span {
    opacity: 1;
    transform: none
}

.nv-services .banners>a:focus-visible,
.nv-living-grid>a:focus-visible {
    outline: 2px solid var(--nv-wood);
    outline-offset: 3px
}

@media (hover:none) {
    .nv-has-cap::after {
        opacity: 1
    }

    .nv-cap>span {
        opacity: 1;
        transform: none
    }
}

@media (prefers-reduced-motion:reduce) {

    .nv-services .banners>a,
    .nv-living-grid>a {
        transition: none
    }

    .nv-services .banners>a:hover {
        transform: none
    }
}

.nv-refs {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-rows: clamp(120px, 11vw, 190px);
    gap: clamp(10px, 1.2vw, 18px)
}

.nv-refs>figure,
.nv-refs>div {
    margin: 0 !important;
    overflow: hidden;
    background: var(--nv-sand);
    border-radius: 2px
}

.nv-refs>figure {
    padding: 0 !important;
    border: 0 !important;
    box-shadow: 0 10px 26px -14px rgba(30, 28, 26, .35);
    transition: transform .5s var(--nv-ease), box-shadow .5s var(--nv-ease)
}

.nv-refs>figure:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 46px -18px rgba(30, 28, 26, .5)
}

.nv-refs img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: none !important;
    object-fit: cover !important;
    transition: transform 1.1s var(--nv-ease)
}

.nv-refs>figure:hover img {
    transform: scale(1.04)
}

@media (prefers-reduced-motion:reduce) {

    .nv-refs>figure,
    .nv-refs>figure:hover {
        transform: none
    }
}

.nv-r1 {
    grid-column: 1/8;
    grid-row: 1/5
}

.nv-r2 {
    grid-column: 8/13;
    grid-row: 1/3
}

.nv-r3 {
    grid-column: 8/13;
    grid-row: 3/5
}

.nv-years .nv-wrap {
    display: grid;
    grid-template-columns: auto minmax(0, 640px);
    justify-content: center;
    gap: clamp(40px, 6vw, 110px);
    align-items: center
}

.nv-years-big {
    font-family: var(--nv-fd);
    font-size: clamp(6rem, 4rem + 10vw, 13rem);
    line-height: .85;
    letter-spacing: -.03em;
    color: var(--nv-beige);
    font-weight: 500;
    font-variation-settings: "opsz" 14
}

.nv-years-big em {
    font-style: italic;
    font-size: .5em;
    vertical-align: top;
    margin-left: .05em
}

/* Count-up (yearsCount() in the footer script): the "+" waits until the number reaches 30, then rises in */
.nv-years-big.nv-count {
    font-variant-numeric: tabular-nums
}

.nv-years-big.nv-count em {
    display: inline-block;
    opacity: 0;
    transform: translateY(.2em) scale(.6)
}

.nv-years-big.nv-count.is-done em {
    opacity: 1;
    transform: none;
    transition: opacity .5s var(--nv-ease) .25s, transform .7s var(--nv-ease) .25s
}

.nv-years .nv-label {
    margin-top: .8em;
    color: var(--nv-beige)
}

.nv-years h2 {
    color: var(--nv-white);
    max-width: 16ch
}

/* Typographic band (no images): the counting number on the left, a thin rule, then heading, short story and a button */
.nv-years-text {
    padding-left: clamp(28px, 4vw, 72px);
    border-left: 1px solid rgba(216, 198, 172, .28)
}

.nv-years-text h2 {
    margin-top: 0
}

.nv-years-text p {
    margin: 1.2em 0 0;
    max-width: 46ch;
    font-size: clamp(1rem, .95rem + .2vw, 1.12rem);
    line-height: 1.75;
    color: rgba(255, 253, 249, .72)
}

.nv-years-text .nv-actions {
    margin-top: clamp(24px, 2.4vw, 36px)
}

@media (max-width:1199.98px) {
    .nv-years .nv-wrap {
        grid-template-columns: 1fr
    }

    .nv-years-text {
        padding: clamp(28px, 6vw, 40px) 0 0;
        border-left: 0;
        border-top: 1px solid rgba(216, 198, 172, .28)
    }
}

@media (max-width:860px) {
    .nv-services .banners {
        grid-template-columns: 1fr
    }

    .nv-refs {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: clamp(150px, 40vw, 260px)
    }

    .nv-refs>figure,
    .nv-refs>div {
        grid-column: auto !important;
        grid-row: span 1 !important
    }

    .nv-refs>.nv-r1 {
        grid-column: span 2 !important
    }

    .nv-refs>.nv-r1 {
        grid-row: span 2 !important
    }
}

@media (max-width:767.98px) {
    .nv-services .banners>a {
        aspect-ratio: 540/205
    }
}

/* Footer: one shade deeper than the sand bands, so it stands apart from the content above it */
.theme-lux .footer {
    background: var(--nv-foot);
    color: var(--nv-ink)
}

.theme-lux .footer,
.theme-lux .footer *,
.theme-lux .header__top,
.theme-lux .header__top * {
    font-family: var(--nv-fb) !important
}

html.theme-lux body .header__top li,
html.theme-lux body .footer li {
    font-family: var(--nv-fb) !important
}

.theme-lux .footer .footer__params,
.theme-lux .footer .footer__params-item,
.theme-lux .footer .footer__params-item span,
.theme-lux .footer .footer__col a,
.theme-lux .footer .footer__col li,
.theme-lux .footer .footer__col p {
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.55
}

.theme-lux .footer .footer__title {
    font-weight: 500 !important
}

.theme-lux .footer__bottom,
.theme-lux .footer__bottom *,
.theme-lux .footer__tender-text {
    font-size: 14px !important;
    font-weight: 400 !important
}

.theme-lux .header__top a,
.theme-lux .header__top button,
.theme-lux .header__top span,
.theme-lux .header__top li {
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: .02em
}

.theme-lux .footer__top {
    padding: clamp(72px, 8vw, 120px) 0 clamp(48px, 5vw, 80px);
    border: 0
}

.theme-lux .footer__cols {
    display: grid !important;
    grid-template-columns: minmax(0, 1.4fr);
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    gap: clamp(28px, 4vw, 64px);
    margin: 0
}

.theme-lux .footer__col {
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
    flex: none
}

.theme-lux .footer .footer__title {
    line-height: 1.4 !important;
    font-size: 12.5px !important;
    text-transform: uppercase !important;
    font-family: var(--nv-fb);
    font-size: 12.5px;
    font-weight: 500;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--nv-wood-deep) !important;
    margin: 0 0 1.4em
}

.theme-lux .footer,
.theme-lux .footer .footer__params,
.theme-lux .footer .footer__params-item,
.theme-lux .footer .footer__params-item span,
.theme-lux .footer a,
.theme-lux .footer a:visited {
    color: var(--nv-ink) !important
}

.theme-lux .footer__params {
    font-size: .95rem;
    line-height: 1.6
}

.theme-lux .footer__params li {
    margin-bottom: .65em
}

.theme-lux .footer a:hover,
.theme-lux .footer a:visited:hover {
    color: var(--nv-wood-deep)
}

.theme-lux .footer .icon {
    color: var(--nv-wood);
    fill: var(--nv-wood)
}

.theme-lux .footer .footer__params-label {
    color: var(--nv-foot-soft) !important;
    font-weight: 400
}

.theme-lux .nv-foot-brand img {
    height: 86px;
    width: auto;
    mix-blend-mode: multiply
}

.theme-lux .nv-foot-brand p {
    margin-top: 1.4em;
    max-width: 34ch;
    font-size: .95rem;
    line-height: 1.6;
    color: var(--nv-foot-soft)
}

.theme-lux .nv-hours {
    display: grid;
    grid-template-columns: auto auto;
    gap: .6em 1.6em;
    justify-content: start;
    margin: 0;
    font-size: 15px;
    line-height: 1.5
}

.theme-lux .nv-hours dt,
.theme-lux .nv-hours dd {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    font-weight: 400;
    color: var(--nv-ink) !important
}

.theme-lux .footer__tender-images {
    background: var(--nv-foot);
    border-top: 1px solid var(--nv-foot-line);
    color: var(--nv-foot-soft);
    margin: 0;
    padding: 28px 0
}

.theme-lux .footer__tender-images .page-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px 32px;
    text-align: left
}

.theme-lux .footer__tender-text {
    flex: 1 1 320px;
    font-weight: 400;
    font-size: .9rem
}

.theme-lux .footer__tender-images img {
    max-height: 72px;
    margin: 0
}

.theme-lux .footer__bottom {
    background: var(--nv-foot);
    border-top: 1px solid var(--nv-foot-line);
    color: var(--nv-foot-soft);
    font-size: .85rem
}

.theme-lux .footer__bottom-inner {
    padding: 22px 0;
    gap: 12px 32px
}

.theme-lux .footer__copy-item,
.theme-lux .footer__copy-item a,
.theme-lux .footer .erdsoft,
.theme-lux .footer .erdsoft a {
    color: var(--nv-foot-soft)
}

.theme-lux .footer__share-item a,
.theme-lux .footer__share-item .icon {
    color: var(--nv-ink);
    fill: var(--nv-ink)
}

@media (max-width:1199.98px) {
    .theme-lux .footer__cols {
        grid-auto-flow: row;
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (max-width:560px) {
    .theme-lux .footer__cols {
        grid-template-columns: 1fr
    }
}

.theme-lux .cover {
    background: var(--nv-sand)
}

.theme-lux .cover>.page-wrapper {
    padding-top: clamp(28px, 3vw, 44px);
    padding-bottom: clamp(36px, 4vw, 64px)
}

.theme-lux .breadcrumbs {
    background: none !important;
    padding: 0 0 clamp(18px, 2vw, 28px) !important;
    margin: 0;
    width: auto;
    font-family: var(--nv-fb)
}

.theme-lux .breadcrumbs ul {
    max-width: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
    row-gap: 6px
}

.theme-lux .breadcrumbs__item,
.theme-lux .breadcrumbs__item a,
.theme-lux .breadcrumbs__item a:visited,
.theme-lux .breadcrumbs__item span {
    font-family: var(--nv-fb) !important;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
    line-height: 1.4;
    color: var(--nv-soft) !important;
    text-decoration: none
}

.theme-lux .breadcrumbs__item a:hover,
.theme-lux .breadcrumbs__item a:active {
    color: var(--nv-wood-deep) !important
}

.theme-lux .breadcrumbs__item:last-child span {
    color: var(--nv-ink) !important
}

.theme-lux .breadcrumbs__item::after {
    color: var(--nv-wood) !important;
    margin: 0 .9em !important;
    font-weight: 400
}

.theme-lux .cover .cover__headline {
    max-width: none !important;
    width: auto;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left
}

.theme-lux .cover .cover__title {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    font-size: clamp(2rem, 1.4rem + 2.4vw, 4rem) !important;
    line-height: 1.08
}

@media (prefers-reduced-motion:reduce) {
    .theme-lux .nv-hero-bar {
        animation: none !important
    }

    .theme-lux .hero .hero__image img {
        transform: none !important;
        transition: none !important
    }
}

.article:has(.nv-page) {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow-x: clip
}

.article .page-wrapper:has(.nv-page) {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important
}

.article .plain-text:has(.nv-page) {
    max-width: none
}

.article:has(.nv-page) .article__footer {
    display: none
}

.nv-band--first {
    padding-top: clamp(56px, 6vw, 110px)
}

.nv h3 {
    margin-top: .35em;
    font-family: var(--nv-fd);
    font-size: clamp(1.3rem, 1.1rem + .6vw, 1.75rem);
    font-weight: 500;
    line-height: 1.15;
    color: var(--nv-ink);
    font-variation-settings: "opsz" 14
}

.nv-text {
    max-width: 58ch
}

.nv-text p+p {
    margin-top: 1em
}

.nv-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(32px, 6vw, 120px);
    align-items: end
}

.nv-intro h2 {
    max-width: 15ch
}

.nv-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(36px, 6vw, 110px);
    align-items: center
}

.nv-split h2 {
    max-width: 16ch
}

.nv-split .nv-text {
    margin-top: 1.4em
}

.nv-split--reverse>.nv-split-img {
    order: 2
}

.nv-split-img,
.nv-step-img {
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: var(--nv-sand);
    border-radius: 2px;
    box-shadow: 0 18px 40px -24px rgba(30, 28, 26, .45)
}

.nv-split-img {
    aspect-ratio: 4/5;
    max-height: 760px;
    width: 100%
}

.nv-step-img {
    aspect-ratio: 4/3;
    transition: transform .6s var(--nv-ease), box-shadow .6s var(--nv-ease)
}

.nv-split-img img,
.nv-step-img img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: cover !important;
    transition: transform 1.1s var(--nv-ease)
}

.nv-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 2.4vw, 40px)
}

.nv-step,
.nv-value {
    margin-bottom: 0 !important
}

.nv-step:hover .nv-step-img {
    transform: translateY(-5px);
    box-shadow: 0 28px 50px -24px rgba(30, 28, 26, .55)
}

.nv-step:hover .nv-step-img img {
    transform: scale(1.035)
}

.nv-step-no {
    display: block;
    margin-top: 26px;
    font-family: var(--nv-fb);
    font-size: .82rem;
    font-weight: 500;
    letter-spacing: .2em;
    color: var(--nv-wood-deep);
    font-variant-numeric: tabular-nums
}

.nv-value .nv-step-no {
    margin-top: 0
}

.nv-step p,
.nv-value p {
    margin-top: .7em;
    max-width: 46ch
}

.nv-values {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(24px, 3vw, 48px)
}

.nv-value {
    padding-top: 24px;
    border-top: 1px solid var(--nv-line)
}

.nv .nv-points,
.nv .nv-points li {
    list-style: none !important
}

.nv .nv-points {
    margin: 1.8em 0 0 !important;
    padding: 0 !important;
    border-top: 1px solid var(--nv-line)
}

.nv .nv-points li {
    position: relative;
    margin: 0 !important;
    padding: 14px 0 14px 30px;
    border-bottom: 1px solid var(--nv-line);
    color: var(--nv-ink)
}

.nv .nv-points li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1.45em;
    width: 16px;
    height: 1px;
    background: var(--nv-wood)
}

.nv-quote {
    text-align: center
}

.nv .nv-quote-text {
    max-width: 28ch;
    margin: 0 auto;
    font-family: var(--nv-fd);
    font-size: clamp(1.6rem, 1.1rem + 2vw, 3rem);
    font-style: italic;
    font-weight: 400;
    line-height: 1.25;
    color: var(--nv-ink);
    text-wrap: balance;
    font-variation-settings: "opsz" 14
}

.nv-quote-by {
    display: grid;
    gap: 4px;
    margin-top: 2em !important
}

.nv-quote-by b {
    font-weight: 500;
    letter-spacing: .04em;
    color: var(--nv-ink)
}

.nv-quote-by span {
    font-size: .9em
}

.nv-cta .nv-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 32px 64px;
    flex-wrap: wrap
}

.nv-cta .nv-wrap>div>:last-child {
    margin-bottom: 0
}

.nv-cta .nv-label {
    color: var(--nv-beige)
}

.nv-cta h2 {
    color: var(--nv-white)
}

.nv-cta h2 em {
    color: var(--nv-beige)
}

.nv-cta p {
    max-width: 52ch;
    margin-top: 1em;
    color: rgba(255, 253, 249, .72)
}

.theme-lux .nv-btn--light {
    background: var(--nv-white);
    border-color: var(--nv-white);
    color: var(--nv-ink) !important
}

.theme-lux .nv-btn--light:hover {
    background: var(--nv-wood);
    border-color: var(--nv-wood);
    color: var(--nv-white) !important
}

.theme-lux .nv-btn--ghost-light {
    background: transparent;
    border-color: rgba(255, 253, 249, .4);
    color: var(--nv-white) !important
}

.theme-lux .nv-btn--ghost-light:hover {
    background: var(--nv-white);
    border-color: var(--nv-white);
    color: var(--nv-ink) !important
}

.nv-head .nv-link {
    margin-bottom: .4em
}

.nv-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(12px, 1.4vw, 20px)
}

.nv-logos figure {
    display: grid;
    place-items: center;
    flex: 0 0 calc((100% - 4 * clamp(12px, 1.4vw, 20px)) / 5);
    aspect-ratio: 2/1;
    margin: 0 !important;
    padding: clamp(18px, 2vw, 30px) !important;
    background: var(--nv-white);
    border: 1px solid var(--nv-line);
    border-radius: 2px;
    transition: border-color .4s var(--nv-ease)
}

.nv-logos img {
    display: block;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 52px;
    margin: 0 !important;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .75;
    transition: filter .4s var(--nv-ease), opacity .4s var(--nv-ease)
}

.nv-logos figure:hover {
    border-color: var(--nv-beige)
}

.nv-logos figure:hover img,
.nv-logos figure:focus-within img {
    filter: none;
    opacity: 1
}

/* Linked logos (appliances page): the link fills the card, so the whole card is clickable */
.nv-logos figure:has(> .nv-logo-link) {
    padding: 0 !important
}

.nv-logos figure:focus-within {
    border-color: var(--nv-beige)
}

.nv-logo-link {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    padding: clamp(18px, 2vw, 30px);
    box-sizing: border-box;
    outline-offset: -3px
}

.nv-value .nv-link {
    margin-top: 1.4em
}

.nv-map {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    line-height: 0
}

@media (max-width:1199.98px) {
    .nv-values {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (max-width:860px) {
    .nv-logos figure {
        flex-basis: calc((100% - 2 * clamp(12px, 1.4vw, 20px)) / 3)
    }
}

@media (max-width:560px) {
    .nv-logos figure {
        flex-basis: calc((100% - clamp(12px, 1.4vw, 20px)) / 2)
    }
}

@media (max-width:860px) {

    .nv-intro,
    .nv-split {
        grid-template-columns: 1fr;
        align-items: start
    }

    .nv-split--reverse>.nv-split-img {
        order: 0
    }

    .nv-split-img {
        aspect-ratio: 4/3
    }

    .nv-steps {
        grid-template-columns: 1fr
    }
}

@media (max-width:560px) {
    .nv-values {
        grid-template-columns: 1fr
    }
}

@media (prefers-reduced-motion:reduce) {

    .nv-step-img,
    .nv-step-img img,
    .nv-split-img img {
        transition: none
    }

    .nv-step:hover .nv-step-img,
    .nv-step:hover .nv-step-img img {
        transform: none
    }
}

.theme-lux .contact {
    padding: clamp(56px, 6vw, 110px) 0 clamp(64px, 7vw, 120px) !important
}

.theme-lux .contact>.page-wrapper {
    max-width: var(--nv-wrap) !important;
    padding-left: var(--nv-gut) !important;
    padding-right: var(--nv-gut) !important
}

.theme-lux .contact .contact__text {
    max-width: none;
    margin: 0 auto clamp(48px, 5vw, 88px) !important;
    padding: 0 !important;
    text-align: center
}

.theme-lux .contact .contact__box {
    display: grid !important;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: clamp(40px, 6vw, 110px);
    align-items: start;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    box-shadow: none !important
}

.theme-lux .contact .contact__box>* {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important
}

.theme-lux .contact .contact__form-wrapper {
    order: -1
}

/* The textarea takes no HTML: contactIntro() turns its first line into the heading (*text* = accent) and the rest into the lead */
.theme-lux .contact .contact__text .nv-contact-title {
    max-width: 22ch;
    margin: 0 auto !important;
    font-family: var(--nv-fd) !important;
    font-size: clamp(1.9rem, 1.3rem + 1.9vw, 3.4rem);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -.01em;
    color: var(--nv-ink);
    text-align: center;
    font-variation-settings: "opsz" 14
}

.nv-contact-title em {
    color: var(--nv-wood-deep)
}

.theme-lux .contact .contact__text p.nv-contact-lead {
    max-width: 62ch;
    margin: clamp(16px, 1.6vw, 24px) auto 0 !important;
    font-family: var(--nv-fb) !important;
    font-size: clamp(1rem, .95rem + .25vw, 1.15rem) !important;
    line-height: 1.7 !important;
    color: var(--nv-soft);
    text-align: center
}

.theme-lux .contact .contact__content {
    position: sticky;
    top: 150px
}

.theme-lux .contact .contact__content>.contact__title {
    display: none !important
}

.theme-lux .contact .contact__title {
    margin: 0 0 28px !important;
    font-family: var(--nv-fd) !important;
    font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.7rem);
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: -.01em;
    text-align: left;
    color: var(--nv-ink);
    font-variation-settings: "opsz" 14
}

.theme-lux .contact .contact__params {
    display: grid !important;
    gap: 0;
    padding: clamp(28px, 3vw, 48px) !important;
    background: var(--nv-anth) !important;
    color: var(--nv-white);
    border-radius: 2px;
    box-shadow: 0 30px 60px -40px rgba(30, 28, 26, .6);
    text-align: left
}

.theme-lux .contact .contact__param {
    display: grid !important;
    gap: 6px;
    width: auto !important;
    margin: 0 !important;
    padding: 22px 0 !important;
    border-bottom: 1px solid rgba(255, 253, 249, .16);
    text-align: left !important
}

.theme-lux .contact .contact__param:first-child {
    padding-top: 0 !important
}

.theme-lux .contact .contact__param:last-child {
    padding-bottom: 0 !important;
    border-bottom: 0
}

.theme-lux .contact .contact__param-icon {
    display: none !important
}

.theme-lux .contact .contact__param-label {
    margin: 0 !important;
    font-family: var(--nv-fb) !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--nv-beige) !important
}

.theme-lux .contact .contact__param-value,
.theme-lux .contact .contact__param-value a {
    font-size: clamp(1.05rem, 1rem + .25vw, 1.2rem) !important;
    font-weight: 400 !important;
    line-height: 1.5;
    color: var(--nv-white) !important;
    text-decoration: none !important
}

.theme-lux .contact .contact__param-value a:hover {
    color: var(--nv-beige) !important
}

.theme-lux .contact .form__row,
.theme-lux .contact .form__item {
    margin: 0 !important;
    padding: 0 !important
}

.theme-lux .contact .form__row+.form__row {
    margin-top: 18px !important
}

.theme-lux .contact .form__label {
    display: block;
    margin: 0 0 6px !important;
    padding: 0 !important;
    font-family: var(--nv-fb) !important;
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--nv-soft)
}

.theme-lux .contact .form__control {
    width: 100% !important;
    max-width: none !important;
    height: auto;
    margin: 0 !important;
    padding: 14px 16px;
    font-family: var(--nv-fb) !important;
    font-size: 15px;
    color: var(--nv-ink);
    background: var(--nv-white);
    border: 1px solid var(--nv-line);
    border-radius: 2px;
    box-shadow: none;
    outline: 0;
    transition: border-color .3s
}

.theme-lux .contact .form__control:focus {
    border-color: var(--nv-wood)
}

.theme-lux .contact .form__control--textarea {
    min-height: 170px;
    resize: vertical
}

.theme-lux .contact .form__row-checkbox {
    margin-top: 22px !important
}

.theme-lux .contact .form__cb-label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--nv-soft)
}

.theme-lux .contact .form__cb-label input {
    flex: none;
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: var(--nv-wood)
}

.theme-lux .contact .form__cb-label a {
    color: var(--nv-wood-deep) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px
}

.theme-lux .contact .form__item--submit {
    margin-top: 28px !important;
    padding-top: 28px !important;
    border-top: 1px solid var(--nv-line)
}

.theme-lux .contact .button.button--primary {
    display: inline-flex;
    align-items: center;
    height: auto !important;
    min-height: 0 !important;
    padding: 1.15em 1.9em !important;
    font-family: var(--nv-fb) !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase;
    line-height: 1.2;
    color: var(--nv-white) !important;
    background: var(--nv-anth) !important;
    border: 1px solid var(--nv-anth) !important;
    border-radius: 2px !important;
    transition: background .3s var(--nv-ease), border-color .3s var(--nv-ease)
}

.theme-lux .contact .button.button--primary:not([disabled]):hover {
    background: var(--nv-wood-deep) !important;
    border-color: var(--nv-wood-deep) !important
}

.theme-lux .contact__description {
    margin: 0 !important;
    padding: 0 !important
}

.theme-lux .contact__description>.page-wrapper {
    max-width: none !important;
    padding: 0 !important
}

.theme-lux .contact__description .plain-text {
    max-width: none !important;
    margin: 0 !important
}

.theme-lux .contact__description iframe {
    display: block;
    width: 100% !important;
    height: clamp(380px, 40vw, 600px) !important;
    margin: 0 !important;
    border: 0 !important;
    filter: grayscale(.85) sepia(.12) contrast(.95)
}

/* Map with the showroom card: centred under the map below 1300px, on the map's right side above it (Google always centres the pin) */
.theme-lux .contact__description .nv-map--card iframe {
    height: clamp(360px, 40vw, 600px) !important
}

.nv-map--card {
    background: var(--nv-sand)
}

.nv-map--card>.nv-wrap {
    padding-bottom: clamp(56px, 7vw, 110px)
}

/* Below the map, not over it: an overlap would hide Google's satellite switch (bottom left) and its attribution (bottom right) */
.nv-map-card {
    position: relative;
    max-width: 820px;
    margin: clamp(28px, 4vw, 56px) auto 0;
    padding: clamp(32px, 4vw, 64px);
    line-height: 1.6;
    text-align: center;
    background: var(--nv-white);
    border-radius: 2px;
    box-shadow: 0 40px 80px -40px rgba(30, 28, 26, .45)
}

.nv-map-card h2 {
    margin: .35em 0 0
}

.nv-map-card .nv-map-lead {
    margin: clamp(14px, 1.4vw, 20px) 0 0 !important;
    font-size: 15px;
    line-height: 1.7;
    color: var(--nv-soft)
}

.nv-map-rows {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: clamp(26px, 3vw, 40px) 0 0;
    border-top: 1px solid var(--nv-line);
    border-bottom: 1px solid var(--nv-line)
}

.nv-map-row {
    display: grid;
    align-content: start;
    gap: 8px;
    padding: clamp(20px, 2.2vw, 28px) 16px
}

.nv-map-row+.nv-map-row {
    border-left: 1px solid var(--nv-line)
}

.nv-map-row>span {
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--nv-wood-deep)
}

.nv-map-row p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--nv-soft)
}

.nv-map-card .nv-actions {
    justify-content: center;
    gap: 10px;
    margin-top: clamp(28px, 3vw, 40px) !important
}

@media (min-width:1300px) {
    .theme-lux .contact__description .nv-map--card iframe {
        height: clamp(780px, 56vw, 860px) !important
    }

    .nv-map--card>.nv-wrap {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding-bottom: 0;
        pointer-events: none
    }

    .nv-map-card {
        width: min(480px, 34vw);
        margin: 0;
        padding: clamp(32px, 2.8vw, 48px);
        text-align: left;
        pointer-events: auto
    }

    .nv-map-rows {
        grid-template-columns: 1fr;
        border-bottom: 0
    }

    .nv-map-row {
        gap: 6px;
        padding: 16px 0;
        border-bottom: 1px solid var(--nv-line)
    }

    .nv-map-row+.nv-map-row {
        border-left: 0
    }

    .nv-map-card .nv-btn {
        flex: 1 1 100%;
        justify-content: center
    }
}

@media (max-width:860px) {
    .theme-lux .contact__description .nv-map--card iframe {
        height: clamp(440px, 120vw, 560px) !important
    }

    .theme-lux .contact .contact__box {
        grid-template-columns: 1fr
    }

    .theme-lux .contact .contact__form-wrapper {
        order: 0
    }

    .theme-lux .contact .contact__content {
        position: static
    }
}

@media (max-width:600px) {
    .nv-map-rows {
        grid-template-columns: 1fr
    }

    .nv-map-row+.nv-map-row {
        border-left: 0;
        border-top: 1px solid var(--nv-line)
    }

    .nv-map-card .nv-btn {
        flex: 1 1 100%;
        justify-content: center
    }
}

/* Main menu: "Home" is removed by mainMenuOrder() in the footer script; hidden here so it does not flash on load */
.menu li:has(> a[href$="nivokonyhabutor.hu/hu"]),
.menu li:has(> a[href$="nivokonyhabutor.hu/en"]) {
    display: none !important
}

/* Custom furniture page: work grid on 6 columns – landscape items span 3 (two per row), .nv-work--tall spans 2 (three per row), .nv-work--wide the full row */
.nv-works {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: clamp(40px, 4.5vw, 72px) clamp(18px, 2vw, 32px);
    margin-top: clamp(32px, 4vw, 56px)
}

.nv-work {
    grid-column: span 3
}

.nv-work--tall {
    grid-column: span 2
}

.nv-work--wide {
    grid-column: 1/-1
}

.nv-work-img {
    aspect-ratio: 4/3;
    overflow: hidden;
    background: var(--nv-sand);
    border-radius: 2px;
    box-shadow: 0 18px 40px -24px rgba(30, 28, 26, .45)
}

.nv-work--tall .nv-work-img {
    aspect-ratio: 3/4
}

.nv-work--wide .nv-work-img {
    aspect-ratio: 3/1
}

.nv-work-img img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: cover !important;
    transition: transform 1.1s var(--nv-ease)
}

.nv-work:hover .nv-work-img img {
    transform: scale(1.03)
}

.nv-work-cap {
    margin-top: clamp(16px, 1.6vw, 22px)
}

.nv-work-cap p {
    margin-top: .6em;
    max-width: 56ch;
    font-size: 15px;
    line-height: 1.7;
    color: var(--nv-soft)
}

@media (max-width:860px) {
    .nv-works {
        grid-template-columns: 1fr
    }

    .nv-work,
    .nv-work--tall,
    .nv-work--wide {
        grid-column: auto
    }

    .nv-work--tall .nv-work-img {
        aspect-ratio: 4/5
    }

    .nv-work--wide .nv-work-img {
        aspect-ratio: 16/9
    }
}

@media (prefers-reduced-motion:reduce) {
    .nv-work-img img {
        transition: none
    }
}

/* Intro title layout (introTitle() in the footer script): kitchen pages and split-intro subpages (Rólunk).
   The beige cover keeps only the breadcrumb, the H1 sits above the intro heading, the image top overlaps the cover,
   so image, text and buttons fit on a 1366×768 laptop screen. */
html.nv-intro-title {
    --nv-intro-top: clamp(28px, 2.6vw, 48px);
    --nv-intro-overlap: clamp(40px, 4.5vw, 72px)
}

html.nv-intro-title .cover .cover__headline {
    display: none
}

html.nv-intro-title .cover .breadcrumbs {
    padding-bottom: 0 !important
}

html.nv-intro-title .cover>.page-wrapper {
    padding-bottom: clamp(40px, 4vw, 64px)
}

html.nv-intro-title .nv-intro-h1 {
    margin: .14em 0 0 !important;
    padding: 0 !important;
    font-size: clamp(2.5rem, 1.6rem + 2.6vw, 4.25rem) !important;
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -.01em;
    color: var(--nv-ink);
    text-align: left
}

html.nv-intro-title .article:has(.nivo-product) {
    padding-top: 0 !important;
    overflow: visible
}

html.nv-intro-title .nivo-intro.nivo-product {
    margin-top: var(--nv-intro-top);
    align-items: start;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: clamp(36px, 4vw, 72px)
}

html.nv-intro-title .nivo-product h2 {
    margin-top: .3em;
    font-size: clamp(1.6rem, 1rem + 1.9vw, 2.75rem);
    line-height: 1.14;
    text-wrap: balance
}

html.nv-intro-title .nivo-product .nivo-lead {
    margin-top: 16px
}

html.nv-intro-title .nivo-product .nivo-actions {
    margin-top: 28px
}

html.nv-intro-title .nivo-product .nivo-intro-media,
html.nv-intro-title .nv-band--first .nv-split-img {
    position: relative;
    z-index: 1;
    margin-top: calc(-1 * (var(--nv-intro-top) + var(--nv-intro-overlap))) !important
}

html.nv-intro-title .nivo-product .nv-product-slider .swiper {
    box-shadow: 0 18px 40px -24px rgba(30, 28, 26, .45)
}

html.nv-intro-title .nv-band--first {
    padding-top: var(--nv-intro-top)
}

html.nv-intro-title .nv-band--first>.nv-split {
    align-items: start
}

html.nv-intro-title .nv-band--first .nv-split-img {
    aspect-ratio: 4/3
}

/* Image on the left (Háztartási készülékek, Tervezés): it would cover the breadcrumb, so no overlap there */
@media (min-width:860.02px) {
    html.nv-intro-title .nv-band--first>.nv-split:not(.nv-split--reverse)>.nv-split-img {
        margin-top: 0 !important
    }
}

/* Phones and tablets: no overlap, the image comes right after the title (the text column is unwrapped so its children can be reordered) */
@media (max-width:960px) {
    html.nv-intro-title .nivo-intro.nivo-product {
        grid-template-columns: 1fr;
        gap: 0
    }

    html.nv-intro-title .nivo-product .nivo-intro-text {
        display: contents
    }

    html.nv-intro-title .nivo-product .nivo-intro-text>* {
        order: 3
    }

    html.nv-intro-title .nivo-product .nivo-intro-text>:is(.nivo-label, h1, h2) {
        order: 1
    }

    html.nv-intro-title .nivo-product .nivo-intro-media {
        order: 2;
        margin: 28px 0 8px !important
    }
}

@media (max-width:860px) {
    html.nv-intro-title .nv-band--first>.nv-split {
        gap: 0
    }

    html.nv-intro-title .nv-band--first>.nv-split>div {
        display: contents
    }

    html.nv-intro-title .nv-band--first>.nv-split>div>* {
        order: 3
    }

    html.nv-intro-title .nv-band--first>.nv-split>div>:is(.nv-label, h1, h2) {
        order: 1
    }

    html.nv-intro-title .nv-band--first .nv-split-img {
        order: 2;
        margin: 28px 0 8px !important
    }
}

/* Living spaces rail (living() and livingRail() in the footer script): intro on the left, room cards on the right, one at a time.
   With .nv-living--peek (LIVING_PEEK in the script) the rail runs out to the screen edge and the next card peeks in;
   --nv-bleed is that distance from the content edge to the screen edge (0 = closed off at the column edge). */
.nv-living {
    overflow: hidden;
    --nv-bleed: 0px
}

.nv-living--peek {
    --nv-bleed: max(var(--nv-gut), calc((100vw - var(--nv-wrap)) / 2))
}

/* Rail column: at most 56% of the row, and short enough (4:3 card + arrows) to fit under the header on a 1366×768 laptop */
.nv-living-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) min(56%, calc((100svh - 300px) * 4 / 3));
    gap: clamp(32px, 5vw, 96px);
    align-items: center
}

.nv-living-intro h2 {
    max-width: 12ch
}

.nv-living-intro p {
    margin: 1.2em 0 0;
    max-width: 36ch;
    font-size: clamp(1rem, .95rem + .2vw, 1.1rem);
    line-height: 1.75;
    color: var(--nv-soft)
}

.nv-living-rail {
    min-width: 0;
    margin-right: calc(-1 * var(--nv-bleed))
}

.nv-living-nav {
    display: flex;
    justify-content: flex-end;
    gap: 14px;
    margin: 0 var(--nv-bleed) clamp(14px, 1.6vw, 22px) 0
}

.nv-living-count {
    margin-right: auto;
    align-self: center;
    font-family: var(--nv-fb);
    font-size: 13px;
    letter-spacing: .16em;
    color: var(--nv-soft)
}

.nv-living-count b {
    font-weight: 500;
    color: var(--nv-ink)
}

.nv-living-btn {
    display: grid;
    place-items: center;
    width: 48px;
    height: 32px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--nv-ink);
    cursor: pointer;
    transition: color .3s, opacity .3s
}

.nv-living-btn svg {
    width: 36px;
    height: 12px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .4s var(--nv-ease)
}

.nv-living-btn--prev svg {
    transform: scaleX(-1)
}

.nv-living-btn:hover:not(:disabled) {
    color: var(--nv-bordo)
}

.nv-living-btn:hover:not(:disabled) svg {
    transform: translateX(4px)
}

.nv-living-btn--prev:hover:not(:disabled) svg {
    transform: scaleX(-1) translateX(4px)
}

.nv-living-btn:disabled {
    opacity: .25;
    cursor: default
}

.nv-living-btn:focus-visible {
    outline: 2px solid var(--nv-wood);
    outline-offset: 4px
}

.nv-living-grid {
    display: flex;
    align-items: center;
    gap: clamp(16px, 2.4vw, 44px);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding-right: var(--nv-bleed);
    transition: opacity .35s var(--nv-ease)
}

.nv-living-grid.is-wrapping {
    opacity: 0
}

.nv-living-grid::-webkit-scrollbar {
    display: none
}

.nv-living-grid>a {
    flex: 0 0 100%;
    aspect-ratio: 4/3;
    scroll-snap-align: start;
    transform: scale(.9);
    transform-origin: left center;
    opacity: .85;
    transition: transform .8s var(--nv-ease), opacity .8s var(--nv-ease), box-shadow .5s var(--nv-ease)
}

.nv-living-grid>a.is-current {
    transform: none;
    opacity: 1
}

.nv-living-grid>.nv-has-cap::after {
    opacity: 1;
    background: linear-gradient(0deg, rgba(30, 28, 26, .66) 0%, rgba(30, 28, 26, .22) 30%, rgba(30, 28, 26, 0) 52%)
}

.nv-living-grid>.nv-has-cap .nv-cap>span {
    opacity: 1;
    transform: none
}

.nv-living-grid .nv-cap {
    padding: clamp(18px, 2.6vw, 44px)
}

.nv-living-grid .nv-cap .nv-cap-name {
    font-size: clamp(1.8rem, 1rem + 2.4vw, 3.6rem);
    font-weight: 400;
    line-height: 1
}

.nv-living-grid .nv-cap .nv-cap-name i {
    display: none
}

.nv-living-grid .nv-cap .nv-cap-desc {
    margin-top: .7em;
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: rgba(255, 253, 249, .85)
}

@media (max-width:860px) {
    .nv-living-wrap {
        grid-template-columns: 1fr;
        gap: clamp(24px, 5vw, 40px)
    }

    .nv-living--peek .nv-living-grid>a {
        flex-basis: 86%
    }
}

@media (prefers-reduced-motion:reduce) {
    .nv-living-grid {
        scroll-behavior: auto
    }

    .nv-living-grid>a {
        transform: none;
        opacity: 1
    }
}

.nivo,
.nivo * {
    margin-bottom: 0 !important
}

.nivo {
    padding-bottom: 8px;
    color: var(--nv-ink)
}

.theme-lux .nivo h1,
.theme-lux .nivo h2,
.theme-lux .nivo h3,
.theme-lux .nivo blockquote {
    font-family: var(--nv-fd);
    font-weight: 500;
    font-variation-settings: "opsz" 14
}

.nivo-intro-main img {
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover !important;
    display: block
}

.nivo-sec {
    margin-top: 88px
}

.nivo-label {
    display: block;
    font-size: .8rem;
    font-weight: 500;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--nv-wood-deep);
    padding-bottom: 12px
}

.nivo-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 32px
}

.nivo-cta,
.nivo-link {
    display: inline-flex;
    align-items: center;
    gap: .7em;
    padding: 1.15em 1.9em;
    border: 1px solid var(--nv-anth);
    border-radius: 2px;
    font-size: 12.5px;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    line-height: 1.2;
    text-decoration: none !important;
    transition: background .3s ease, color .3s ease, border-color .3s ease
}

.nivo-cta {
    color: var(--nv-ink) !important;
    background: transparent
}

.nivo-cta:hover {
    background: var(--nv-anth);
    color: var(--nv-white) !important
}

.nivo-cta--dark {
    background: var(--nv-anth);
    color: var(--nv-white) !important
}

.nivo-cta--dark:hover {
    background: var(--nv-wood-deep);
    border-color: var(--nv-wood-deep)
}

.nivo-link {
    background: transparent;
    color: var(--nv-ink) !important
}

.nivo-link::after {
    content: "→";
    transition: transform .25s ease
}

.nivo-link:hover {
    background: var(--nv-anth);
    color: var(--nv-white) !important
}

.nivo-link:hover::after {
    transform: translateX(4px)
}

.nivo-intro {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 64px;
    align-items: center;
    margin-top: 64px
}

.nivo-intro h1 {
    font-size: clamp(2rem, 3.6vw, 3rem);
    line-height: 1.15;
    color: var(--nv-ink)
}

.nivo-lead {
    margin-top: 20px;
    font-size: 1.05rem;
    line-height: 1.75;
    color: var(--nv-soft)
}

.nivo-intro-media {
    position: relative
}

.nivo-intro-main {
    aspect-ratio: 4/3;
    border-radius: 2px;
    overflow: hidden;
    background: var(--nv-sand)
}

.nivo-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    flex-wrap: wrap
}

.nivo-head--center {
    justify-content: center;
    text-align: center
}

.nivo-head h2 {
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    line-height: 1.2;
    color: var(--nv-ink)
}

@media (max-width:960px) {
    .nivo-intro {
        grid-template-columns: 1fr;
        gap: 48px;
        margin-top: 48px
    }
}

@media (max-width:640px) {
    .nivo-sec {
        margin-top: 64px
    }

    .nivo-link,
    .nivo-cta {
        padding: 14px 24px
    }
}

.header__links>li:has(> .header__user-link),
.header__links>li:has(a[href*="/profil"]),
.header__links>li:has(use[href*="#sign-out"]),
.header__links>li:has(use[href*="#history"]),
.drawer [data-tabhref="#usermenu"] {
    display: none !important
}

.theme-lightguide .nivo-intro h1,
.theme-lightguide .nivo-head h2,
.theme-lightguide .nivo-intro h2,
.theme-lightguide .nivo-lead,
.theme-lightguide .nivo-product-text,
.theme-lightguide .nivo-point {
    color: #fff
}

.theme-lightguide .features__subtitle {
    font-size: 20px
}

.theme-lightguide .nv-btn {
    display: inline-block;
    padding: .8em 1.4em;
    border: 2px solid #fefb3f;
    color: #fefb3f !important;
    text-decoration: none !important
}

/* Our buttons match the theme's own lightguide buttons (22px bold) instead of keeping the 12.5px of the normal view */
.theme-lightguide .nv .nv-btn,
.theme-lightguide .nv-btn,
.theme-lightguide .nivo-cta,
.theme-lightguide .nivo-link,
.theme-lightguide .nvb-btn {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .02em;
    white-space: normal
}

.theme-lightguide .nivo-link a {
    color: unset !important
}

.theme-lightguide .nivo-label {
    font-size: 1.4rem
}

.theme-lightguide .form__control {
    border-color: black
}

.theme-lightguide .pdf-tab {
    font-size: 18px
}

.theme-lightguide .plain-text img {
    border-radius: 0
}

/* Lightguide: white panels turn dark, and yellow (accent) buttons and hovers get black text */
.theme-lightguide .nv-map-card,
.theme-lightguide .nv-book {
    background: #111;
    border: 1px solid #555;
    box-shadow: none
}

.theme-lightguide .nvb-tile::after,
.theme-lightguide .nvb-mode::after {
    background-color: #000
}

.theme-lightguide .nivo-cta,
.theme-lightguide .nivo-link {
    border-color: #555
}

.theme-lightguide .nivo-cta--dark,
.theme-lightguide .nvb-btn,
.theme-lightguide .nv-book .form .form__item--submit .button {
    background: #fefb3f !important;
    border-color: #fefb3f !important;
    color: #000 !important
}

.theme-lightguide .nivo-cta:hover,
.theme-lightguide .nivo-cta--dark:hover,
.theme-lightguide .nvb-btn:hover:not([disabled]),
.theme-lightguide .nv-book .form .form__item--submit .button:not([disabled]):hover {
    background: #000 !important;
    border-color: #fefb3f !important;
    color: #fefb3f !important
}

.theme-lightguide .nvb-btn--ghost {
    background: transparent !important;
    color: #fefb3f !important
}

.theme-lightguide .nv-btn:hover {
    background: #fefb3f;
    color: #000 !important
}

@media (min-width:1200px) {
    .theme-lightguide .footer__bottom-inner {
        flex-wrap: nowrap;
        align-items: center;
        column-gap: clamp(14px, 1.5vw, 32px)
    }

    .theme-lightguide .footer__copy {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        min-width: 0;
        column-gap: clamp(12px, 1.3vw, 28px)
    }

    .theme-lightguide .footer__copy-item,
    .theme-lightguide .footer__bottom-inner .erdsoft {
        margin: 0;
        font-size: clamp(12px, calc(4px + 0.7vw), 18px);
        white-space: nowrap
    }

    .theme-lightguide .footer__bottom-inner>*:not(.footer__copy) {
        flex-shrink: 0
    }

    html.theme-lightguide .header__middle .menu>.page-wrapper>ul>li {
        margin: 0 clamp(6px, 0.65vw, 14px) !important
    }

    html.theme-lightguide .header__middle .menu>.page-wrapper>ul>li>a,
    html.theme-lightguide .header__middle .menu>.page-wrapper>ul>li>button {
        font-size: clamp(15px, calc(6px + 0.75vw), 22px) !important
    }

    html.theme-lightguide .header__middle .menu>.page-wrapper>ul>li.active>a,
    html.theme-lightguide .header__middle .menu>.page-wrapper>ul>li.active>button {
        margin: 0 !important
    }
}

/* Product pages (Jaffa, Manhattan, Optima…): moved here from the identical inline <style> block of each page */
.nivo-intro h2 {
    font-size: clamp(2rem, 3.6vw, 3rem);
    line-height: 1.15;
    color: #2c2825
}

.nivo-product-text {
    margin-top: 16px;
    font-size: 1rem;
    line-height: 1.8;
    color: #6b5d55
}

.nivo-intro-media--single {
    padding: 0
}

.nivo-points {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
    margin-top: 64px
}

.nivo-point {
    padding-top: 18px;
    border-top: 1px solid #C79662;
    font-size: 1.05rem;
    line-height: 1.4;
    color: #2c2825
}

@media (max-width:960px) {
    .nivo-points {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
        margin-top: 48px
    }
}

/* Sellvio's cover slider moved next to the intro text by productSlider() in the footer script */
/* Grid items default to min-width:auto, which lets Swiper grow endlessly */
.nivo-intro-media {
    min-width: 0
}

.nivo-intro-media .nv-product-slider .swiper {
    width: 100% !important
}

.nivo-intro-media .nv-product-slider {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    width: auto;
    max-width: none !important
}

.nivo-intro-media .nv-product-slider .swiper {
    aspect-ratio: 4/3;
    height: auto !important;
    border-radius: 2px !important;
    overflow: hidden;
    background: var(--nv-sand)
}

.nivo-intro-media .nv-product-slider .swiper-slide,
.nivo-intro-media .nv-product-slider picture {
    display: block;
    height: 100% !important
}

.nivo-intro-media .nv-product-slider img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover !important;
    cursor: zoom-in
}

.nivo-intro-media .nv-product-slider .js-swiper-pagination {
    display: none !important
}

/* Arrows styled like the homepage hero slider; the soft dark fill keeps the white icon visible on light photos */
.nivo-intro-media .nv-product-slider .swiper__nav {
    position: absolute;
    right: 16px;
    bottom: 16px;
    left: auto !important;
    top: auto !important;
    z-index: 2;
    display: flex;
    gap: 10px;
    transform: none !important;
    pointer-events: none
}

.nivo-intro-media .nv-product-slider .swiper-button {
    position: relative !important;
    display: block !important;
    flex: none;
    width: 46px !important;
    height: 46px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(30, 28, 26, .35) !important;
    border: 1px solid rgba(255, 253, 249, .7) !important;
    border-radius: 50% !important;
    color: #fffdf9 !important;
    opacity: 1 !important;
    pointer-events: auto;
    transition: background .3s var(--nv-ease), color .3s var(--nv-ease), border-color .3s var(--nv-ease)
}

.nivo-intro-media .nv-product-slider .swiper-button:hover,
.nivo-intro-media .nv-product-slider .swiper-button:focus-visible {
    background: #fff !important;
    border-color: #fff !important;
    color: #000 !important
}

/* Pinned to the centre of the circle, whatever margins the theme gives the icon */
.nivo-intro-media .nv-product-slider .swiper-button>* {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
    fill: currentColor !important;
    color: inherit !important
}

.nivo-intro-media .nv-product-slider .swiper-button:after {
    display: none
}

/* Product pages use the full site width (like the header and the .nv-page subpages), the image column gets the larger share */
.article .page-wrapper:has(.nivo-product) {
    max-width: var(--nv-wrap) !important;
    padding-left: var(--nv-gut) !important;
    padding-right: var(--nv-gut) !important
}

.article .plain-text:has(.nivo-product) {
    max-width: none !important
}

.nivo-intro.nivo-product {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
    gap: clamp(40px, 5vw, 96px)
}

@media (max-width:960px) {
    .nivo-intro.nivo-product {
        grid-template-columns: 1fr
    }
}

/* No arrows when the Files tab has a single image */
.nivo-intro-media .nv-product-slider:not(:has(.swiper-slide + .swiper-slide)) .swiper__nav {
    display: none !important
}

/* Featured partners: logo cards linking to the manufacturer's site (moved here from the page's own <style>) */
.nivo-partners-lead {
    max-width: 640px;
    margin: 16px auto 0;
    text-align: center
}

.nivo-partners {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 40px
}

.nivo-partner {
    position: relative;
    aspect-ratio: 3/2;
    margin: 0 !important;
    background: #fff;
    border: 1px solid #ede8e2;
    border-radius: 16px;
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease
}

.nivo-partner-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 22px;
    border-radius: inherit
}

.nivo-partner img {
    max-width: 100%;
    max-height: 64px;
    width: auto;
    height: auto;
    object-fit: contain;
    mix-blend-mode: multiply
}

.nivo-partner:hover,
.nivo-partner:focus-within {
    transform: translateY(-4px);
    border-color: #c79662;
    box-shadow: 0 16px 32px -18px rgba(44, 40, 37, .35)
}

.nivo-partner-link:focus-visible {
    outline: 2px solid var(--nv-wood);
    outline-offset: 3px
}

.nivo-partners-actions {
    justify-content: center;
    margin-top: 48px !important
}

.nivo-sec:has(.nivo-partners) {
    margin-top: 48px
}

@media (max-width:960px) {
    .nivo-partners {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

@media (max-width:640px) {
    .nivo-partners {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px
    }

    .nivo-partner-link {
        padding: 16px
    }
}

.theme-lightguide .nivo-partner {
    border-color: #555
}

.article .plain-text:has(.nvb) {
    max-width: 100%
}

.article .page-wrapper:has(.nvb) {
    max-width: var(--nv-wrap) !important;
    padding-left: var(--nv-gut) !important;
    padding-right: var(--nv-gut) !important
}

.article:has(.nvb) .article__footer {
    display: none
}

.nvb,
.nvb * {
    margin-bottom: 0 !important;
    box-sizing: border-box
}

.nvb {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.5fr);
    gap: clamp(32px, 5vw, 88px);
    align-items: start;
    margin-top: clamp(8px, 2vw, 24px);
    color: var(--nv-soft);
    font-family: var(--nv-fb);
    line-height: 1.6
}

.nvb-aside {
    position: sticky;
    top: 150px
}

.nvb-label {
    display: block;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--nv-wood-deep)
}

.nvb-aside h2 {
    margin-top: .6em;
    font-family: var(--nv-fd);
    font-size: clamp(1.9rem, 1.3rem + 1.7vw, 3.1rem);
    font-weight: 500;
    line-height: 1.1;
    color: var(--nv-ink);
    font-variation-settings: "opsz" 14
}

.nvb-aside h2 em {
    color: var(--nv-wood-deep)
}

.nvb-aside p {
    margin-top: 1.2em;
    font-size: 1rem
}

.nvb-info {
    margin-top: 2.2em;
    border-top: 1px solid var(--nv-line)
}

.nvb-info div {
    display: grid;
    gap: 2px;
    padding: 16px 0;
    border-bottom: 1px solid var(--nv-line)
}

.nvb-k {
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--nv-wood-deep)
}

.nvb-v,
.nvb-v a {
    font-size: 15px;
    color: var(--nv-ink) !important;
    text-decoration: none !important
}

.nv-book {
    background: var(--nv-white);
    border: 1px solid var(--nv-line);
    padding: clamp(22px, 3.4vw, 56px);
    box-shadow: 0 30px 70px -50px rgba(30, 28, 26, .45)
}

.nvb-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: clamp(28px, 3vw, 44px) !important
}

.nvb-step {
    padding-top: 12px;
    border-top: 2px solid var(--nv-line);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--nv-soft);
    transition: border-color .4s, color .4s;
    cursor: default;
    background: none;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    text-align: left;
    font-family: inherit
}

.nvb-step b {
    display: block;
    margin-bottom: 2px !important;
    font-family: var(--nv-fb);
    font-size: 1.05rem;
    font-weight: 500;
    letter-spacing: .06em;
    font-variant-numeric: tabular-nums;
    color: var(--nv-beige);
    transition: color .4s
}

.nvb-step.is-done {
    border-top-color: var(--nv-wood);
    color: var(--nv-ink);
    cursor: pointer
}

.nvb-step.is-done b {
    color: var(--nv-wood)
}

.nvb-step.is-on {
    border-top-color: var(--nv-anth);
    color: var(--nv-ink)
}

.nvb-step.is-on b {
    color: var(--nv-ink)
}

.nvb-panel {
    display: none;
    animation: nvb-in .45s var(--nv-ease)
}

.nvb-panel.is-on {
    display: block
}

@keyframes nvb-in {
    from {
        opacity: 0;
        transform: translateY(10px)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.nvb-panel h3 {
    font-family: var(--nv-fd);
    font-size: clamp(1.45rem, 1.15rem + 1vw, 2.1rem);
    font-weight: 500;
    line-height: 1.15;
    color: var(--nv-ink);
    font-variation-settings: "opsz" 14
}

.nvb-sub {
    margin-top: .5em;
    font-size: .98rem
}

.nvb-tiles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 26px
}

.nvb-tile,
.nvb-mode {
    position: relative;
    display: grid;
    align-content: start;
    gap: 6px;
    padding: 20px 46px 20px 20px;
    text-align: left;
    font-family: inherit;
    color: inherit;
    background: var(--nv-paper);
    border: 1px solid var(--nv-line);
    border-radius: 2px;
    cursor: pointer;
    transition: border-color .3s, background .3s, transform .3s var(--nv-ease)
}

.nvb-tile:hover,
.nvb-mode:hover {
    border-color: var(--nv-beige);
    transform: translateY(-2px)
}

.nvb-tile b,
.nvb-mode b {
    overflow-wrap: anywhere;
    font-family: var(--nv-fb);
    font-size: 1.02rem;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: .01em;
    color: var(--nv-ink)
}

.nvb-tile span,
.nvb-mode span {
    font-size: .88rem;
    line-height: 1.45;
    color: var(--nv-soft)
}

.nvb-tile::after,
.nvb-mode::after {
    content: "";
    position: absolute;
    top: 18px;
    right: 16px;
    width: 18px;
    height: 18px;
    border: 1px solid var(--nv-beige);
    border-radius: 50%;
    background: var(--nv-white) center/10px no-repeat;
    transition: background-color .3s, border-color .3s
}

.nvb-tile.is-on,
.nvb-mode.is-on {
    border-color: var(--nv-wood);
    background: var(--nv-sand)
}

.nvb-tile.is-on::after,
.nvb-mode.is-on::after {
    border-color: var(--nv-wood);
    background-color: var(--nv-wood);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' fill='none' stroke='%23fff' stroke-width='1.8'/%3E%3C/svg%3E")
}

.nvb-idea {
    display: block;
    width: 100%;
    min-height: 180px;
    margin-top: 24px;
    padding: 16px 18px;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.6;
    color: var(--nv-ink);
    background: var(--nv-paper);
    border: 1px solid var(--nv-line);
    border-radius: 2px;
    resize: vertical;
    outline: 0;
    transition: border-color .3s
}

.nvb-idea:focus {
    border-color: var(--nv-wood)
}

.nvb-modes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 26px
}

.nvb-when {
    display: none;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(20px, 3vw, 40px);
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid var(--nv-line)
}

.nvb-when.is-on {
    display: grid
}

.nvb-h {
    display: block;
    margin-bottom: 12px !important;
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--nv-wood-deep)
}

.nvb-cal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px !important
}

.nvb-cal-head b {
    font-family: var(--nv-fb);
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: .02em;
    color: var(--nv-ink)
}

.nvb-nav {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 1px solid var(--nv-line);
    border-radius: 50%;
    background: transparent;
    color: var(--nv-ink);
    font-family: inherit;
    font-size: 15px;
    cursor: pointer;
    transition: background .3s, border-color .3s, color .3s
}

.nvb-nav:hover:not([disabled]) {
    background: var(--nv-anth);
    border-color: var(--nv-anth);
    color: var(--nv-white)
}

.nvb-nav[disabled] {
    opacity: .3;
    cursor: default
}

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

.nvb-cal i {
    font-style: normal;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .06em;
    text-align: center;
    color: var(--nv-soft);
    padding: 4px 0
}

.nvb-day {
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 2px;
    background: var(--nv-paper);
    font-family: inherit;
    font-size: 14px;
    color: var(--nv-ink);
    cursor: pointer;
    transition: background .25s, border-color .25s, color .25s
}

.nvb-day:hover:not([disabled]) {
    border-color: var(--nv-wood)
}

.nvb-day[disabled] {
    background: transparent;
    color: var(--nv-beige);
    cursor: default
}

.nvb-day.is-on {
    background: var(--nv-anth);
    color: var(--nv-white);
    border-color: var(--nv-anth)
}

.nvb-slots {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.nvb-slot {
    padding: .75em 1.1em;
    border: 1px solid var(--nv-line);
    border-radius: 2px;
    background: var(--nv-paper);
    font-family: inherit;
    font-size: 14px;
    color: var(--nv-ink);
    cursor: pointer;
    font-variant-numeric: tabular-nums;
    transition: background .25s, border-color .25s, color .25s
}

.nvb-slot:hover {
    border-color: var(--nv-wood)
}

.nvb-slot.is-on {
    background: var(--nv-anth);
    border-color: var(--nv-anth);
    color: var(--nv-white)
}

.nvb-empty {
    font-size: .92rem;
    color: var(--nv-soft)
}

.nvb-note {
    grid-column: 1/-1;
    font-size: .88rem;
    color: var(--nv-soft)
}

.nvb-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: clamp(28px, 3vw, 40px) !important;
    padding-top: 24px;
    border-top: 1px solid var(--nv-line)
}

.nvb-bar:has(> .nvb-btn:only-child) {
    justify-content: flex-end
}

.nvb-btn,
.nv-book .form .form__item--submit .button {
    display: inline-flex;
    align-items: center;
    gap: .6em;
    font-family: var(--nv-fb) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase;
    line-height: 1.2;
    padding: 1.15em 1.9em !important;
    border: 1px solid var(--nv-anth) !important;
    background: var(--nv-anth) !important;
    color: var(--nv-white) !important;
    border-radius: 2px !important;
    cursor: pointer;
    height: auto !important;
    min-height: 0 !important;
    transition: background .3s, border-color .3s, color .3s, opacity .3s
}

.nvb-btn:hover:not([disabled]),
.nv-book .form .form__item--submit .button:not([disabled]):hover {
    background: var(--nv-wood-deep) !important;
    border-color: var(--nv-wood-deep) !important
}

.nvb-btn[disabled] {
    opacity: .3;
    cursor: not-allowed
}

.nvb-btn--ghost {
    background: transparent !important;
    color: var(--nv-ink) !important;
    border-color: var(--nv-line) !important
}

.nvb-btn--ghost:hover:not([disabled]) {
    background: var(--nv-anth) !important;
    border-color: var(--nv-anth) !important;
    color: var(--nv-white) !important
}

.nv-book .nvb-sum {
    margin-left: 0 !important;
    margin-right: 0 !important
}

.nvb-sum {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 10px 20px;
    align-items: baseline;
    margin-top: 24px;
    padding: 18px 20px;
    background: var(--nv-paper);
    border: 1px solid var(--nv-line);
    font-size: 14.5px
}

.nvb-sum dt {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--nv-wood-deep)
}

.nvb-sum dd {
    margin: 0;
    color: var(--nv-ink);
    overflow-wrap: anywhere
}

.nvb-sum button {
    border: 0;
    background: none;
    padding: 0;
    font-family: inherit;
    font-size: 12px;
    letter-spacing: .08em;
    color: var(--nv-soft);
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer
}

.nvb-sum button:hover {
    color: var(--nv-wood-deep)
}

.nv-book .nvb-form {
    margin-top: 24px
}

.nv-book .form .form__row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0 !important;
    padding: 0 !important
}

.nv-book .form .form__item {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important
}

.nv-book .form .form__label {
    display: block;
    margin: 0 0 6px !important;
    padding: 0 !important;
    font-family: var(--nv-fb) !important;
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--nv-soft)
}

.nv-book .form .form__control {
    margin: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: auto;
    padding: 14px 16px;
    font-family: var(--nv-fb) !important;
    font-size: 15px;
    color: var(--nv-ink);
    background: var(--nv-paper);
    border: 1px solid var(--nv-line);
    border-radius: 2px;
    box-shadow: none;
    outline: 0;
    transition: border-color .3s
}

.nv-book .form .form__control:focus {
    border-color: var(--nv-wood)
}

.nv-book .form .form__item.form__item--submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 20px !important;
    padding-top: 28px !important;
    border-top: 1px solid var(--nv-line)
}

.nvb-consent {
    display: flex !important;
    align-items: flex-start;
    gap: 12px;
    margin-top: 22px !important;
    font-size: 14px;
    line-height: 1.5;
    color: var(--nv-soft);
    cursor: pointer
}

.nvb-consent input {
    flex: none;
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: var(--nv-wood)
}

.nvb-consent a {
    color: var(--nv-wood-deep) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px
}

.nvb-err {
    min-height: 1.4em;
    margin-top: 6px !important;
    font-size: 13px;
    color: #a2402f
}

@media (max-width:1100px) {
    .nvb {
        grid-template-columns: 1fr
    }

    .nvb-aside {
        position: static
    }
}

@media (max-width:860px) {

    .nvb-tiles,
    .nvb-modes {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .nvb-when {
        grid-template-columns: 1fr
    }

    .nv-book .form .form__row {
        grid-template-columns: 1fr
    }
}

@media (max-width:520px) {

    .nvb-tiles,
    .nvb-modes {
        grid-template-columns: 1fr
    }

    .nvb-step {
        font-size: 0;
        letter-spacing: 0
    }

    .nvb-step b {
        font-size: 1.05rem
    }

    .nvb-sum {
        grid-template-columns: 1fr auto
    }

    .nvb-sum dd {
        grid-column: 1/-1;
        margin-top: -6px
    }

    .nvb-sum dt {
        grid-column: 1
    }
}

@media (prefers-reduced-motion:reduce) {
    .nvb-panel {
        animation: none
    }

    .nvb-tile,
    .nvb-mode {
        transition: none
    }
}

/* Highlighted line above the booking wizard */
.nvb-intro {
    margin: 0 0 clamp(20px, 2.4vw, 32px) !important;
    padding-left: clamp(16px, 1.6vw, 24px);
    border-left: 2px solid var(--nv-wood);
    font-family: var(--nv-fd);
    font-size: clamp(1.2rem, 1rem + .55vw, 1.6rem);
    font-style: italic;
    line-height: 1.35;
    color: var(--nv-ink);
    font-variation-settings: "opsz" 14
}
