/* Let the footer navigation grow with its text and padding on desktop too. */
.navbottom {
    height: auto;
    clear: both;
    line-height: 1.6;
}
.footer {
    height: auto;
    min-height: 56px;
    display: flow-root;
    clear: both;
}

/* Viewport-based layout, overriding legacy device-width and fixed-width rules. */
@media screen and (max-width: 1150px) {
    .wrapper { width: 100%; max-width: 1150px; margin: 0 auto; padding: 0; overflow: visible; }
    .wrapper *, .wrapper *::before, .wrapper *::after { box-sizing: border-box; }
    .header { width: 100%; height: auto; display: flex; flex-wrap: wrap; align-items: center; }
    .header-left, .header-right { float: none; width: 50%; padding: 16px; margin: 0; min-width: 0; }
    .logo { float: none; width: 100%; height: auto; margin: 0; }
    .logo img { max-width: 100%; height: auto; }
    .headright-menu, .navverytopright-search { width: 100%; float: none; margin: 0; }
    .navverytopright-search form { width: 100%; }
    input.searchbut { width: 100%; max-width: 100%; margin: 10px 0 0; padding: 10px; }
    .navverytop { width: 100%; height: auto; }
    .navverytopleft { display: none; }
    .mobile-menu { display: block; width: 100%; }
    #nav.kasovi-menu-ready { width: 100%; }
    #nav.kasovi-menu-ready > li { border-top: 1px solid rgba(180,180,180,.2); }
    #nav.kasovi-menu-ready ul a { min-height: 44px; padding: 12px 24px; line-height: 1.4; }
    .catinfo { width: 100%; height: auto; }
    .catinfo img, .content img { max-width: 100%; height: auto; }
    .catinfo iframe, .content iframe { max-width: 100%; }
    .container { width: 100%; padding: 0; }
    .sidebar { display: none; }
    .content { float: none; width: 100%; margin: 0; padding: 20px; text-align: left; overflow-wrap: anywhere; }
    .content h1, .content h2, .content h3 { line-height: 1.3; }
    .products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 12px 0; padding: 0; }
    .products > .clear { display: none; }
    .products > .navnumbers, .products > p { grid-column: 1 / -1; }
    .products > .product { display: flex; flex-direction: column; float: none; width: 100%; min-width: 0; height: auto; margin: 0; }
    .product .product-image { display: flex; align-items: center; justify-content: center; width: 100%; height: 220px; padding: 12px; }
    .product .product-image img { max-width: 100%; max-height: 196px; width: auto; height: auto; object-fit: contain; }
    .product .product-name { margin: 0; }
    .product .product-name h2 { text-align: left; font-size: 18px; line-height: 1.35; }
    .product .product-descr { font-size: 14px; line-height: 1.5; padding: 8px; }
    .product .product-price { position: static; margin-top: auto; padding: 12px 8px 8px; line-height: 1.5; }
    .product .product-price del { display: block; }
    .product .product-buy { position: static; width: auto; height: auto; padding: 8px; }
    .product .buysubmit { display: inline-block; min-height: 44px; padding: 12px 20px; }
    .sort { line-height: 1.6; }
    .sort a { display: inline-block; padding: 8px 0; }
    .single-product, .single-product-left, .single-product-right { width: 100%; float: none; margin: 0; padding: 0; }
    .single-product-left > .product-image { display: block; width: 100%; height: auto; text-align: center; }
    .single-product-left > .product-image img { width: auto; max-width: 100%; height: auto; }
    .single-product-right { margin-top: 16px; }
    .single-product-price { line-height: 1.5; }
    .single-product-buy-but { height: auto; margin: 12px 0; }
    .singlebuysubmit { display: inline-block; min-height: 44px; padding: 12px 18px; }
    .navbottom, .footer { width: 100%; height: auto; text-align: center; padding: 12px; }
    .navbottom a { display: inline-block; padding: 8px; }
    .copyright, .design { float: none; width: auto; margin: 0; }
    #cookieConsent { left: 0; right: 0; width: 100%; box-sizing: border-box; font-size: 14px; line-height: 1.4; }
}
@media screen and (max-width: 599px) {
    .header-left, .header-right { width: 100%; padding: 12px 16px; text-align: center; }
    .header-right { padding-top: 0; }
    .headright-menu { display: none; }
    .slogan-sloganinfo { display: none; }
    .logo img { width: 300px; }
    .content { padding: 16px; }
    .products { grid-template-columns: minmax(0, 1fr); }
    .content p { line-height: 1.5; }
}
