@charset "utf-8";
/* latin */
@font-face {
    font-family: 'Muli';
    src: url("../fonts/font_muli_latin.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
    font-display: swap;
}

html,
body {
    /* margin: 0;
    padding: 0;
    height: 100% !important; */
}

/* FONT SETTINGS */

@media screen {
    /* body, p, td, font, div, button, input, select, h1, h2, h3, h4, a, nav, blockquote {
        font-family: 'Muli', serif !important;
    } */
}

.uk-offcanvas {
    z-index: 1000 !important;
}

#cart-offcanvas {
    z-index: 1010 !important;
}

.uk-navbar-dropdown-nav, .uk-nav-default, .uk-breadcrumb > * > * {
    font-size: 16px;
}

a {
    color: #436e88;
}

a:hover {
    color: #304c60;
    text-decoration: underline dotted;
}

/* FONTS SIZES */
.fs-8 {
    font-size: 8pt !important;
}

.fs-9 {
    font-size: 9pt !important;
}

.fs-10 {
    font-size: 10pt !important;
}

.fs-11 {
    font-size: 11pt !important;
}

.fs-12 {
    font-size: 12pt !important;
}

.fs-13 {
    font-size: 13pt !important;
}

.fs-14 {
    font-size: 14pt !important;
}

.fs-16 {
    font-size: 16pt !important;
}

.fs-18 {
    font-size: 18pt !important;
}

.fs-20 {
    font-size: 20pt !important;
}

.fs-22 {
    font-size: 22pt !important;
}

.fs-24 {
    font-size: 24pt !important;
}

.fs-28 {
    font-size: 28pt !important;
}

.fs-32 {
    font-size: 32pt !important;
}

/* FONT COLORS - el: extra-lite, l: lite, p: pale, m: mid, d: dark, ed: extra dark  */

.fc-whi {
    color: #FFFFFF !important;
}

.fc-whi-m {
    color: #F5F5F5 !important;
}

.fc-whi-d {
    color: #F1F1F1 !important;
}

.fc-whi-ed {
    color: #E5E5E5 !important;
}

.fc-bla {
    color: #000000 !important;
}

.fc-bla-p {
    color: #333333 !important;
}

.fc-bla-l {
    color: #555555 !important;
}

.fc-bla-el {
    color: #777777 !important;
}

.fc-gre {
    color: #CCCCCC !important;
}

.fc-gre-l {
    color: #EEEEEE !important;
}

.fc-gre-p {
    color: #DDDDDD !important;
}

.fc-gre-m {
    color: #AAAAAA !important;
}

.fc-gre-d {
    color: #999999 !important;
}

.fc-gre-ed {
    color: #808080 !important;
}

.fc-red {
    color: #CC3300 !important;
}

.fc-red-l {
    color: #e63229 !important;
}

.fc-red-p {
    color: #ff6363 !important;
}

.fc-red-m {
    color: #b52d00 !important;
}

.fc-red-d {
    color: #962600 !important;
}

.fc-red-ed {
    color: #6b1f00 !important;
}

.fc-grn {
    color: #009933 !important;
}

.fc-grn-l {
    color: #20b051 !important;
}

.fc-grn-p {
    color: #6dd173 !important;
}

.fc-grn-m {
    color: #00852d !important;
}

.fc-grn-d {
    color: #00731a !important;
}

.fc-grn-ed {
    color: #004d12 !important;
}

.fc-blu {
    color: #336699 !important;
}

.fc-blu-l {
    color: #1484c4 !important;
}

.fc-blu-p {
    color: #17aae3 !important;
}

.fc-blu-m {
    color: #387fb0 !important;
}

.fc-blu-d {
    color: #2a547d !important;
}

.fc-blu-ed {
    color: #1f3c5c !important;
}

.fc-ora {
    color: #FF9933 !important;
}

.fc-ora-l {
    color: #FFC285 !important;
}

.fc-ora-p {
    color: #FFAD5C !important;
}

.fc-ora-m {
    color: #CC7A29 !important;
}

.fc-ora-d {
    color: #995C1F !important;
}

.fc-ora-ed {
    color: #804C1A !important;
}

.fc-oli {
    color: #c7c797 !important;
}

.fc-oli-l {
    color: #d1d1a7 !important;
}

.fc-oli-p {
    color: #dbdbba !important;
}

.fc-oli-m {
    color: #baba88 !important;
}

.fc-oli-d {
    color: #adad7f !important;
}

.fc-oli-ed {
    color: #8f8f6a !important;
}

.fc-granite {
    color: #708090 !important;
}

.fc-theme {
    color: #68727f !important;
}


/* BACKGROUND COLOURS - el: extra-lite, l: lite, p: pale, m: mid, d: dark, ed: extra dark  */

.bc-whi {
    background-color: #FFFFFF !important;
}

.bc-whi-m {
    background-color: #F5F5F5 !important;
}

.bc-whi-d {
    background-color: #F1F1F1 !important;
}

.bc-whi-ed {
    background-color: #E5E5E5 !important;
}

.bc-bla {
    background-color: #000000 !important;
}

.bc-bla-p {
    background-color: #333333 !important;
}

.bc-bla-l {
    background-color: #555555 !important;
}

.bc-bla-el {
    background-color: #777777 !important;
}

.bc-gre {
    background-color: #CCCCCC !important;
}

.bc-gre-l {
    background-color: #EEEEEE !important;
}

.bc-gre-p {
    background-color: #D3D3D3 !important;
}

.bc-gre-m {
    background-color: #AAAAAA !important;
}

.bc-gre-d {
    background-color: #999999 !important;
}

.bc-gre-ed {
    background-color: #808080 !important;
}

.bc-red {
    background-color: #CC3300 !important;
}

.bc-red-l {
    background-color: #e63229 !important;
}

.bc-red-p {
    background-color: #ff6363 !important;
}

.bc-red-m {
    background-color: #b52d00 !important;
}

.bc-red-d {
    background-color: #962600 !important;
}

.bc-red-ed {
    background-color: #6b1f00 !important;
}

.bc-grn {
    background-color: #009933 !important;
}

.bc-grn-l {
    background-color: #20b051 !important;
}

.bc-grn-p {
    background-color: #6dd173 !important;
}

.bc-grn-m {
    background-color: #00852d !important;
}

.bc-grn-d {
    background-color: #00731a !important;
}

.bc-grn-ed {
    background-color: #004d12 !important;
}

.bc-blu {
    background-color: #336699 !important;
}

.bc-blu-l {
    background-color: #1484c4 !important;
}

.bc-blu-p {
    background-color: #17aae3 !important;
}

.bc-blu-m {
    background-color: #387fb0 !important;
}

.bc-blu-d {
    background-color: #2a547d !important;
}

.bc-blu-ed {
    background-color: #1f3c5c !important;
}

.bc-ora {
    background-color: #FF9933 !important;
}

.bc-ora-l {
    background-color: #FFC285 !important;
}

.bc-ora-p {
    background-color: #FFAD5C !important;
}

.bc-ora-m {
    background-color: #CC7A29 !important;
}

.bc-ora-d {
    background-color: #995C1F !important;
}

.bc-ora-ed {
    background-color: #804C1A !important;
}

.bc-oli {
    background-color: #c7c797 !important;
}

.bc-oli-l {
    background-color: #d1d1a7 !important;
}

.bc-oli-p {
    background-color: #dbdbba !important;
}

.bc-oli-m {
    background-color: #baba88 !important;
}

.bc-oli-d {
    background-color: #adad7f !important;
}

.bc-oli-ed {
    background-color: #8f8f6a !important;
}

.bc-theme {
    background-color: #68727f !important;
}

.b {
    font-weight: bold !important;
}

.b300 {
    font-weight: 300 !important;
}

.b400 {
    font-weight: 400 !important;
}

.b600 {
    font-weight: 600 !important;
}

.i {
    font-style: italic !important;
}

.n {
    font-weight: normal !important;
    font-style: normal !important;
}

.u {
    text-decoration: underline;
}

/* h1 {
    font-size: 18pt;
    font-weight: 300;
    color: #e07a00;

}

h2 {
    font-size: 14pt;
    font-weight: 400;
    color: #82898d;
}

h3 {
    font-size: 12pt;
    font-weight: 400;
    color: #584E29;
}

h3 {
    position: relative;
    text-transform: uppercase;
} */

h3::before {
    /* content: "";
    display: inline-block;
    position: relative;
    top: calc(-.1 * 1em);
    vertical-align: middle;
    height: .9em;
    margin-right: 10px;
    border-left: 5px solid #e5e5e5; */
}

blockquote {
    padding-left: 10px !important;
    border-left: 5px solid #e5e5e5 !important;
    font-size: 16px;
}


/* h4 {
    font-size: 10pt;
    font-weight: 400;
    color: #584E29;
} */

.uk-table-smaller th, .uk-table-smaller td {
    padding: 6px 8px;
}

.uk-table-smallest th, .uk-table-smallest td {
    padding: 4px 6px;
}

.required {
    border-right: 1.5px #00A5E3 solid !important;
}

.circle {
    -webkit-border-radius: 50%;
    border-radius: 50%;
}

/* BORDERS */
.brd-c-whi {
    border: 1px solid #FFF;
}

.brd-c-gre {
    border: 1px solid #CCC;
}

.brd-c-gre-l {
    border: 1px solid #EEE;
}

.brd-c-gre-m {
    border: 1px solid #DDD;
}

.brd-c-gre-d {
    border: 1px solid #AAA;
}

.brd-remove {
    border: 0 !important;
}

.brd-top-remove {
    border-top: 0 !important;
}

.brd-bottom-remove {
    border-bottom: 0 !important;
}

.brd-left-remove {
    border-left: 0 !important;
}

.brd-right-remove {
    border-right: 0 !important;
}

.brd-radius-remove {
    -webkit-border-radius: 0 !important;
    border-radius: 0 !important;
}

.brd-radius-left-remove {
    -webkit-border-radius: 0 4px 4px 0 !important;
    border-radius: 0 4px 4px 0 !important;
}

.brd-radius-right-remove {
    -webkit-border-radius: 4px 0 0 4px !important;
    border-radius: 4px 0 0 4px !important;
}

.brd-radius-top-remove {
    -webkit-border-radius: 0 0 4px 4px !important;
    border-radius: 0 0 4px 4px !important;
}

.brd-radius-bottom-remove {
    -webkit-border-radius: 4px 4px 0 0 !important;
    border-radius: 4px 4px 0 0 !important;
}

/* PADDING */
.pad-small {
    padding: 2px 4px !important;
}

.pad-medium {
    padding: 4px 8px !important;
}

.pad-large {
    padding: 6px 12px !important;
}

/* SHADOWS */
.box-shadow {
    box-shadow: 0 8px 5px -7px rgba(0, 0, 0, 0.4);
}

.box-window {
    border: 1px solid #DDDDDD;
    box-shadow: 0 8px 5px -7px rgba(0, 0, 0, 0.3);
}

.box-shadow-hover:hover {
    box-shadow: 0 8px 5px -7px rgba(0, 0, 0, 0.4);
}

.box-select {
    background-color: #EAEAE0;
}

.box-details {
    background-color: #ACBBC0;
}

/* CONTENTS: FILTERS */
#filters_body .selected-filter {
    background-color: #eef3ef;
}

#filters_body li {
    padding: 4px;
    margin: 0;
}

#filters_body li a {
    display: block;
}

#filters_body div ul li li:hover {
    background-color: #f4f4f4;
}

#filters_body h3 {
    padding: 6px;
    background-color: #eeeeee;
    font-size: 12pt;
}

.price {
    font-size: 1.3rem;
    font-weight: 500;
    color: #ab0002 !important;
}

.success {
    border-color: #32d296;
}

.danger {
    background-color: #ffeef3 !important;
}

h3.uk-accordion-title::after {
    color: white !important;
}

.price-detail {
    font-size: .7rem;
    color: #444;
    text-transform: uppercase;
}

/* CONTENTS: SERACH RESULTS */
#results_browse h3 {
    font-size: 1.1rem;
    margin: 0 0 30px 0
}

#results_browse a {
    text-decoration: none;
}

/* FRAMEWORK MODS */
/* .pagination .uk-active {
    background-color: #FFCC00;
} */

.pagination .uk-active span {
    background-color: #FFCC00;
}

.pagination li:first-child {
    padding-left: 20px !important;
}

.pagination li {
    padding-left: 8px;
}

.uk-countdown-number {
    font-size: 32pt;
    line-height: 42px;
}

.uk-countdown-separator {
    font-size: 22pt;
    line-height: 42px;
}

.uk-countdown-label {
    font-size: 10pt;
}

blockquote {
    border-left: 3px;
    border-color: #000000;
}

.uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
    content: "|";
    margin: 0px 10px;
}

.uk-button-success {
    background-color: #7fbc4c;
    color: #FFFFFF;
}

.uk-button-primary {
    background-color: #00A5E3;
}

.uk-button-primary:hover {
    background-color: #0092ca;
}

.uk-button-primary:focus {
    background-color: #0092ca;
}

/* .uk-form-icon {
    top: 31%;
    bottom: 0;
    left: 3%;
} */

/* .uk-navbar-nav, .uk-navbar-right {
    background-color: #68727f;
} */

/* .uk-navbar-nav > li > a {
    color: #FFFFFF !important;
    font-family: 'Muli', serif;
    height: 60px;
}

.uk-navbar-nav > li > a:hover {
    color: #ffd400 !important;
} */

.uk-table-line td {
    border-bottom: 1px solid #CCCCCC;
}

.uk-table-unline td {
    border-bottom: 0;
}

.uk-notification-message {
    background-color: #666666;
    color: #FFFFFF;
}

/* MEDIA MODIFIERS */
@media (max-width: 1280px) {
    .filter-name {
        display: none;
    }
}

img {
    opacity: 1;
    transition: opacity 0.3s;
}

img[data-src] {
    opacity: 0;
}

.rating {
    border: 0;
    float: left;
    /*font-size: 14px;*/
    margin: 0;
    padding: 0;
}

.rating > input {
    display: none !important
}

.rating > label {
    color: #666;
    float: right;
    cursor: pointer;
}

.rating-inactive {
    color: gray
}

.rating > input:checked ~ label,
.rating:not(:checked) > label:hover,
.rating:not(:checked) > label:hover ~ label,
.rating-active {

    color: #666
}

.rating > input:checked ~ label{
    color: gold
}

.rating > input:checked + label:hover,
.rating > input:checked ~ label:hover,
.rating > label:hover ~ input:checked ~ label,
.rating > input:checked ~ label:hover ~ label,
.rating-hover {
    color: gold
}

.ico_bg_reviews, .ico_reviews, .ico_quickstep-bw-s, .ico_junckers-bw-s, .ico_boen-bw-s, .ico_balterio-bw-s, .ico_kahrs-bw-s, .ico_bona-bw-s, .ico_div {
    display: inline-block;
    background: url("../gfx/home/spritebox-sprite.png") no-repeat;
}

.ico_bg_reviews {
    background-position: -0px -0px;
    height: 213px;
    width: 100%;
    display: flex
}

.iframe_width {
    width: calc(100% * 1 / 1.39);
}

/*.uk-navbar-nav>li>a {
    padding: 0 10px;
}*/
body div.ac-widget {
    background-size: 190px!important;
    cursor: pointer!important;
    background-color: #FFFFFF!important;
    background-position: bottom;
}

@media (max-width: 639px) {
    .ico_bg_reviews {
        display: inline-block
    }

    .iframe_width {
        width: 100%;
    }
}

@media (max-width: 960px) {
    .iframe_width {
        width: 100%;
    }

    .sticky-nav {
        position: fixed;
        z-index: 1000;
        width: 100%;
        background: #f4f4f4;
        text-align: center;
    }

    .sticky-nav-height  {
        min-height:32px;
    }

    .sticky-nav-float-right {
        float: right;
    }

}

.ico_reviews {
    background-position: -0px -213px;
    height: 213px;
    width: 262px
}

.ico_quickstep-bw-s {
    background-position: -518px -213px;
    height: 50px;
    width: 148px
}

.ico_junckers-bw-s {
    background-position: -666px -213px;
    height: 50px;
    width: 118px
}

.ico_boen-bw-s {
    background-position: -784px -213px;
    height: 50px;
    width: 114px
}

.ico_balterio-bw-s {
    background-position: -898px -213px;
    height: 50px;
    width: 111px
}

.ico_kahrs-bw-s {
    background-position: -1009px -213px;
    height: 50px;
    width: 97px
}

.ico_bona-bw-s {
    background-position: -262px -280px;
    height: 50px;
    width: 96px
}

.ico_div {
    background-position: -1106px -213px;
    height: 3px;
    width: 5px
}

.basket-items {
    /* background-color: #7fbc4c; */
    color: #FFFFFF;
}

.vat {
    font-size: 8pt;
    padding: 4px 10px;
    text-decoration: none;
    font-weight: 700;   
}

.vat-left {
    -webkit-border-radius: 15px 0 0 15px;
    border-radius: 15px 0 0 15px;
}

.vat-right {
    -webkit-border-radius: 0 15px 15px 0;
    border-radius: 0 15px 15px 0;
}

.vat-off {
    border: 1px solid #CCCCCC;
    background-color: #FFFFFF;
    color: #888888;
}

.vat-off:hover {
    color: #888888;
    text-decoration: none;
}

.vat-on {
    /* border: 1px solid #7fbc4c;
    background-color: #7fbc4c; */
    border: 1px solid #1e87f0;
    background-color: #1e87f0;
    color: #FFF !important;
    font-weight: 700;
}

.vat-on:hover {
    color: #FFF !important;
    text-decoration: none;
}

.web-group {
    padding: 4px 12px;
    border-bottom: 1px solid #DDDDDD;
}

.web-group-active {
    background-color: #FFFFFF;
    border: 1px solid #DDDDDD;
    border-top: 1px solid #FFF;
    border-bottom: 0 solid #FFF;
    padding: 4px 12px;
}

.cookies {
    background-color: rgba(0, 0, 0, 0.75);
    padding: 20px;
    /* border-top: 1px solid #FFF; */
    position: fixed !important;
    z-index: 2000;
    color: #FFF;
}

.results_dd {
    max-height: 65vh;
    overflow-y: scroll;
}

.sameAs {
    font-size: 1.2rem;
    color: #666;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
    padding-bottom: 0.75rem;
}

.chrismas-time-banner {
    padding: 10px 10px !important;
    background-color: #FF6666;
    align-content: center;
    color: #F8F8FF !important;
    font-size: 15px;
}
.uk-slider-items li .uk-card .uk-card-body {
    padding: 10px 15px 60px;
}
.uk-slider-items li .uk-card .uk-card-body h2 {
    min-height: 55px;
}
.uk-slider-items li .uk-card .uk-card-body .price {
    padding-right: 5px;
}
.uk-slider-items li .uk-card .uk-card-body .uk-card-footer {
    text-align: center;
}
.uk-nav-default {
    font-size: 10px;
}
.go-visualizer-button {
    background-image: url("/assets/gfx/home/view-in-your-room.jpg");  
    background-repeat: no-repeat;  
    padding: 10px 20px;           
    border: none;                 
    cursor: pointer;              
    color: white;
    width: 234px;
    height: 58px;
    display: inline-block;
}
@media (max-width: 639px) {
    .uk-slider-items li .uk-card .uk-card-body {
        padding: 10px 5px 60px;
    }
}
@media (max-width: 959px) {
    .chrismas-time-banner {
        font-size: 12px;
    }
    .chrismas-time-banner > div > a {
        font-size: 12px;
    }
}
@media (min-width: 959px) and (max-width: 1200px) {
    .uk-navbar-nav>li>a {
        font-size: 14px;
        padding: 7px;
    }
    .uk-navbar-nav>li>a[style] {
        font-size: 14px!important;
        padding: 7px;
    }
}

/* ======================================================================
   ACCESSIBILITY & PERFORMANCE IMPROVEMENTS
   ====================================================================== */

/* Touch target size improvements - minimum 48x48px for mobile */
.uk-dotnav > * > a,
.uk-slideshow-nav > * > a {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
}

.uk-dotnav > * > a::before,
.uk-slideshow-nav > * > a::before {
    width: 12px;
    height: 12px;
}

/* Improve contrast for category text overlays */
.uk-text-truncate {
    color: #333;
}

/* Ensure sufficient contrast on muted text */
.uk-text-muted {
    color: #666 !important;
}

/* Better contrast for links */
.uk-link-muted {
    color: #444;
}

.uk-link-muted:hover {
    color: #222;
}

/* Focus styles for better keyboard navigation */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
    outline: 2px solid #436e88;
    outline-offset: 2px;
}

/* Skip link for keyboard users */
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: #436e88;
    color: #fff;
    padding: 8px 16px;
    z-index: 100;
    transition: top 0.3s;
}

.skip-link:focus {
    top: 0;
}

/* Improved touch targets for navigation buttons */
.uk-navbar-toggle,
.tm-navbar-button {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Slideshow navigation arrows touch targets */
[uk-slidenav-previous],
[uk-slidenav-next] {
    min-width: 44px;
    min-height: 44px;
    padding: 10px;
}

/* ======================================================================
   CONTRAST IMPROVEMENTS FOR ACCESSIBILITY
   ====================================================================== */

/* "SEE ALL" links - improve contrast (was too light gray) */
.tm-link-to-all {
    color: #1a5276 !important;  /* Dark blue for better contrast */
    font-weight: 600;
}

.tm-link-to-all:hover {
    color: #0d3d56 !important;
    text-decoration: underline;
}

/* Article "See more" links - add underline for visual distinction beyond color */
.uk-article-body p > a,
.uk-margin-xsmall-top a {
    text-decoration: underline;
    color: #1a5276;
}

.uk-article-body p > a:hover,
.uk-margin-xsmall-top a:hover {
    color: #0d3d56;
    text-decoration: underline solid;
}

/* Date/time elements - improve contrast */
.uk-article-meta,
.uk-article-meta time {
    color: #555 !important;  /* Darker for better contrast */
}

/* Slideshow dotnav - add visible styling for accessibility */
.uk-slideshow-nav.uk-dotnav > li > a {
    background-color: rgba(255, 255, 255, 0.5);
    border: 2px solid rgba(255, 255, 255, 0.8);
}

.uk-slideshow-nav.uk-dotnav > li.uk-active > a,
.uk-slideshow-nav.uk-dotnav > li > a:hover {
    background-color: #fff;
    border-color: #fff;
}

/* Brand slider navigation - ensure visibility */
.uk-slider [uk-slidenav-previous],
.uk-slider [uk-slidenav-next] {
    color: #333;
}

.uk-slider [uk-slidenav-previous]:hover,
.uk-slider [uk-slidenav-next]:hover {
    color: #1a5276;
}

/* ======================================================================
   FIX LAYOUT SHIFT (CLS) - RESERVE SPACE FOR HEADER
   ====================================================================== */

/* Reserve exact height for header elements to prevent layout shift */
header {
    min-height: 100px; /* 40px toolbar + 60px navbar on desktop */
}

/* Toolbar bar (black bar with phone, address, hours) - desktop only */
.tm-toolbar-container {
    min-height: 40px;
    height: 40px;
}

/* Main navbar with logo and navigation */
.tm-navbar-container {
    min-height: 60px;
    height: 60px;
}

/* When sticky placeholder is created, ensure it has height */
.uk-sticky-placeholder {
    min-height: 60px !important;
}

/* On mobile, toolbar is hidden so header is shorter */
@media (max-width: 959px) {
    header {
        min-height: 60px; /* Only navbar on mobile */
    }
}


/* Hide slideshow dots */
.uk-slideshow .uk-dotnav {
    display: none;
}
