/* =====================================================
   FOREVER MLADI - SUPTILNA POBOLJŠANJA
   Samo male izmene koje poboljšavaju UX
   ===================================================== */

/* Smooth scroll za čitav sajt */
html {
    scroll-behavior: smooth;
}

/* Bolja animacija za linkove */
a {
    transition: all 0.3s ease !important;
}

/* Header poboljšanja - samo dodaci, bez menjanja postojećeg */
.header_area.sticky {
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

/* Basket count malo lepši */
.basket-count {
    font-weight: 600;
    text-shadow: none;
}

/* Product hover efekat - suptilan */
.single_gallery_item {
    transition: transform 0.3s ease;
    margin-bottom: 36px !important;
}

.single_gallery_item:hover {
    transform: translateY(-5px);
}

/* Product image hover */
.product-img {
    overflow: hidden;
    border-radius: 4px;
}

.product-img img {
    transition: transform 0.5s ease;
}

.single_gallery_item:hover .product-img img {
    transform: scale(1.05);
}

/* Button hover poboljšanje */
.karl-btn {
    transition: all 0.3s ease !important;
}

.karl-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Footer social icons hover */
.footer_social_area a {
    transition: all 0.3s ease;
}

.footer_social_area a:hover {
    transform: translateY(-3px);
}

/* Cart button hover */
.cart-submit:hover,
.btn-cart:hover,
.btn-checkout:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Smooth quantity controls */
.qty-minus, .qty-plus {
    transition: all 0.2s ease;
}

.qty-minus:hover, .qty-plus:hover {
    background-color: #f5f5f5;
}

/* Better focus states za accessibility — samo form elementi, NE search */
input:not(#shop-search):focus,
select:focus,
textarea:focus {
    outline: 2px solid #111;
    outline-offset: 2px;
}

a:focus,
button:focus {
    outline: none;
}

/* =====================================================
   LOADER — LUXURY REFINEMENTS
   ===================================================== */

/* Overlay — bijeli umjesto crnog */
#overlay {
    background-color: rgba(255, 255, 255, 0.88) !important;
}

/* Spinner — tanak elegantni krug */
.loading {
    width: 32px !important;
    height: 32px !important;
    border: 1px solid #ddd !important;
    border-top: 1px solid #111 !important;
    border-radius: 50% !important;
    animation: spin 1.2s linear infinite;
}

@keyframes spin {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to   { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Pagination hover */
.page-link {
    transition: all 0.3s ease;
}

.page-link:hover {
    transform: translateY(-2px);
}

/* Filter buttons hover */
.portfolio-menu .btn {
    transition: all 0.3s ease;
}

.portfolio-menu .btn:hover {
    transform: translateY(-2px);
}

/* Responsive image loading - fade in */
img {
    opacity: 1;
    transition: opacity 0.3s ease;
}

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

img.loaded {
    opacity: 1;
}

/* Better scrollbar za webkit browsers */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Mobile touch feedback */
@media (hover: none) {
    .karl-btn:active {
        transform: scale(0.98);
    }

    .page-link:active {
        transform: scale(0.95);
    }
}

/* Prevent layout shift */
.header_area {
    will-change: transform;
}

/* =====================================================
   HOMEPAGE HERO HEADER — suptilni gradient dok je nad videom
   ===================================================== */

/* =====================================================
   HOME HERO — LUXURY FASHION REFINEMENTS
   ===================================================== */

body.page-home section.home {
    position: relative;
}

/* Gornji gradient — čini header ikone vidljivim */
body.page-home section.home::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 180px;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.40) 0%,
        rgba(0, 0, 0, 0.10) 60%,
        transparent 100%
    );
    z-index: 10;
    pointer-events: none;
}

/* Donji gradient — fade ka about sekciji */
body.page-home section.home::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 120px;
    background: linear-gradient(
        to top,
        rgba(250, 250, 250, 0.6) 0%,
        transparent 100%
    );
    z-index: 10;
    pointer-events: none;
}

/* Text blok — donji lijevi ugao, desktop */
body.page-home .swiper-slide .text-content {
    top: auto !important;
    bottom: 12% !important;
    margin: 0 0 0 200px !important;
}

/* Naslov — editorial, čitljiv */
body.page-home .swiper-slide .text-content .title {
    font-family: inherit !important;
    font-style: normal !important;
    font-weight: 300 !important;
    font-size: 13px !important;
    letter-spacing: 0.32em !important;
    text-transform: uppercase !important;
    text-shadow: none !important;
    color: rgba(255, 255, 255, 0.9) !important;
    margin-bottom: 22px !important;
    line-height: 1.6 !important;
}

/* SHOP NOW — tanka linija, čitljiv */
body.page-home .swiper-slide .text-content .karl-btn {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.75) !important;
    border-radius: 0 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    padding: 13px 32px !important;
    box-shadow: none !important;
    transition: all 0.3s ease !important;
    display: inline-block !important;
}

body.page-home .swiper-slide .text-content .karl-btn:hover {
    background: rgba(255, 255, 255, 0.15) !important;
    border-color: #fff !important;
    transform: none !important;
}

/* Desktop only — tamna boja teksta zbog svetle pozadine slike */
@media (min-width: 769px) {
    body.page-home .swiper-slide .text-content .title {
        color: #222 !important;
    }
    body.page-home .swiper-slide .text-content .karl-btn {
        color: #222 !important;
        border-color: rgba(34, 34, 34, 0.75) !important;
    }
    body.page-home .swiper-slide .text-content .karl-btn:hover {
        background: rgba(34, 34, 34, 0.08) !important;
        border-color: #222 !important;
    }
    body.page-home .media-icons a {
        color: #222 !important;
    }
}

/* Social ikonice — manje, elegantnije */
body.page-home .media-icons a {
    font-size: 14px !important;
    opacity: 0.7;
    margin: 8px 0 !important;
    transition: opacity 0.2s ease !important;
}

body.page-home .media-icons a:hover {
    opacity: 1;
}

/* Header nav-bar — malo tanji na homepageu */
body.page-home header.header_area:not(.sticky) {
    height: calc(4rem + 1rem) !important;
}

/* Mobile overrides za hero tekst */
@media (max-width: 768px) {
    body.page-home .swiper-slide .text-content {
        margin: 0 !important;
        bottom: 0 !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-end !important;
        padding-bottom: 14% !important;
        text-align: center !important;
    }

    body.page-home .swiper-slide .text-content .title {
        font-size: 12px !important;
        font-weight: 500 !important;
        letter-spacing: 0.32em !important;
        margin-bottom: 22px !important;
        color: #fff !important;
    }

    body.page-home .swiper-slide .text-content .karl-btn {
        font-size: 11px !important;
        font-weight: 500 !important;
        padding: 16px 44px !important;
        border: 2px solid rgba(255,255,255,0.9) !important;
        letter-spacing: 0.28em !important;
        min-width: 180px !important;
        text-align: center !important;
    }

    /* Social ikone — ostaju, ali donji lijevi ugao */
    body.page-home .media-icons {
        display: flex !important;
        margin-left: 24px !important;
        bottom: 14% !important;
        top: auto !important;
        transform: none !important;
    }
}

/* =====================================================
   HEADER — OSTALE STRANICE (non-homepage)
   ===================================================== */

/* Ostale stranice — header uvijek bijeli s linijom, i sticky */
body:not(.page-home) .header_area,
body:not(.page-home) .header_area.sticky {
    background: #fff !important;
    border-bottom: 1px solid #ebebeb !important;
}


/* Hamburger i cart — tamni, odmah vidljivi */
body:not(.page-home) .nav-menu-btn,
body:not(.page-home) .nav-menu-btn i {
    color: #222 !important;
    opacity: 1 !important;
}

body:not(.page-home) .my-icon-cart path {
    stroke: #222 !important;
}

body:not(.page-home) .basket-count {
    color: #555 !important;
}

/* =====================================================
   STICKY HEADER — tamne ikonice kad izađe iz hero zone
   ===================================================== */

header.sticky .nav-menu-btn,
header.sticky .nav-menu-btn i {
    color: #222 !important;
    opacity: 1 !important;
}

header.sticky .my-icon-cart path {
    stroke: #222 !important;
}

header.sticky .basket-count {
    color: #555 !important;
}

/* Homepage: logo bijel nad videom → invert kad sticky (bijeli header) */
body.page-home header.sticky img[alt="Mladi logo"] {
    filter: invert(1) !important;
}

/* Ostale stranice: trace2 je bijel → uvijek invert da bude crn na bijelom headeru */
body:not(.page-home) img[alt="Mladi logo"] {
    filter: invert(1) !important;
}

/* Logo — uvijek tačno na sredini nav-bara, veći */
.header_area .nav-bar > a {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
}

.header_area .nav-bar > a img[alt="Mladi logo"] {
    width: 115px !important;
    height: auto !important;
}

@media screen and (max-width: 785px) {
    .header_area .nav-bar > a img[alt="Mladi logo"] {
        width: 95px !important;
    }
}

/* No result — ispod grida, ne remeti header */
#no-result {
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    font-weight: 400 !important;
    color: #aaa !important;
    padding: 60px 0 20px !important;
    text-align: center !important;
    width: 100% !important;
}

/* Better image aspect ratio - NE MENJAMO POSTOJEĆE */
/* Postojeći CSS već ima dobre stilove za slike */

/* Newsletter form focus */
.subscribtion_form .mail:focus {
    border-color: #ff084e;
}

/* =====================================================
   BASKET MODAL — LUXURY REFINEMENTS
   ===================================================== */

/* Overlay — bijeli blur */
.basket-dropdown {
    transition: all 0.3s ease;
    background: rgba(255, 255, 255, 0.6) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

/* Modal kartica — bez rounded, bez shadow */
.basket-dropdown .basket-list {
    border-radius: 0 !important;
    box-shadow: none !important;
    border: 1px solid #f0f0f0 !important;
    padding: 32px !important;
    width: 420px !important;
    max-width: 90vw !important;
}

/* "Select a Product" heading */
.list-selected-product .no-product .cart-item-desc h6 {
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    color: #999 !important;
    text-align: center !important;
    margin: 16px 0 !important;
}

/* Product name u korpi */
.list-selected-product li .nameProductCart {
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: #111 !important;
}

/* Qty/price redak */
.list-selected-product li .count_article {
    font-size: 9px !important;
    color: #999 !important;
    font-style: normal !important;
    letter-spacing: 0.06em !important;
}

/* Separator linije */
.list-selected-product li {
    border-bottom: 1px solid #f0f0f0 !important;
    padding-bottom: 16px !important;
    margin-bottom: 16px !important;
}

.list-selected-product li.total {
    border-top: 1px solid #f0f0f0 !important;
    padding-top: 16px !important;
    margin-top: 0 !important;
}

/* Total iznos */
.list-selected-product li.total span.pull-right {
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: 0.12em !important;
    color: #111 !important;
}

/* Cart + Checkout dugmad — bez boje, editorial stil */
.list-selected-product li.total a,
.btn-cart,
.btn-checkout {
    background-color: transparent !important;
    color: #111 !important;
    border: 1px solid #111 !important;
    border-radius: 0 !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    padding: 8px 20px !important;
    transition: all 0.2s ease !important;
}

.list-selected-product li.total a:hover,
.btn-cart:hover,
.btn-checkout:hover {
    background-color: #111 !important;
    color: #fff !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Close (X) dugme u basket modalu */
.basket-list .nav-close {
    color: #bbb !important;
    font-size: 12px !important;
    margin: 0 !important;
    top: 20px !important;
    right: 20px !important;
}

.basket-list .nav-close:hover {
    color: #111 !important;
}

/* Navigation smoother */
.navigation {
    transition: all 0.3s ease;
}

/* =====================================================
   NAVIGATION MODAL — LUXURY REFINEMENTS
   ===================================================== */

/* Overlay — čisto bijelo umjesto tamnog */
.navigation {
    background: rgba(255, 255, 255, 0.6) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* Modal kartica — bez rounded, bez shadow */
.navigation .nav-items {
    position: relative !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    padding: 64px 80px !important;
    width: auto !important;
    max-width: none !important;
    min-width: 320px;
    border: 1px solid #f0f0f0;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    place-content: unset !important;
}

/* Nav linkovi — editorial uppercase, centrirani */
.navigation .nav-items a {
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    color: #555 !important;
    margin: 12px 0 !important;
    display: block !important;
    transition: color 0.2s ease !important;
    text-decoration: none !important;
}

.navigation .nav-items a:hover {
    color: #111 !important;
}

/* Close button — gornji desni ugao kartice */
.navigation .nav-items .nav-close-btn {
    position: absolute !important;
    top: 20px !important;
    right: 24px !important;
    bottom: auto !important;
    left: auto !important;
    color: #bbb !important;
    font-size: 12px !important;
    margin: 0 !important;
    display: block !important;
    cursor: pointer;
    transition: color 0.2s ease;
}

.navigation .nav-items .nav-close-btn:hover {
    color: #111 !important;
}

/* Accessibility - skip to content */
.skip-to-content {
    position: absolute;
    top: -40px;
    left: 0;
    background: #ff084e;
    color: white;
    padding: 8px;
    text-decoration: none;
    z-index: 100;
}

.skip-to-content:focus {
    top: 0;
}

/* =====================================================
   ABOUT SECTION — LUXURY FASHION REFINEMENTS
   ===================================================== */

#about {
    background: #fff !important;
    padding-top: 48px !important;
    padding-bottom: 80px !important;
}

/* Title — editorial label */
#about .about-descr .p-heading {
    font-family: inherit !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.42em !important;
    text-transform: uppercase !important;
    color: #bbb !important;
    margin: 0 0 16px 0 !important;
    line-height: 1 !important;
    text-align: center !important;
}

/* HR — kratka tanka linija */
.accessory {
    height: 1px !important;
    background-image: none !important;
    background-color: #ddd !important;
    margin: 0 auto 56px !important;
    width: 32px;
}

/* Image div — bez donjeg paddinga */
#about .div-img-bg {
    padding-bottom: 0 !important;
}

/* Slika — visoka portrait, bez sjene */
#about .div-img-bg .about-img img {
    box-shadow: none !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    width: 100% !important;
    height: 580px !important;
    object-fit: cover !important;
    object-position: top center !important;
}

/* Ukloni mt-res-100 */
#about .mt-res-100 {
    margin-top: 0 !important;
}

/* Row — stretch kolone na istu visinu */
#about .row.justify-content-between {
    align-items: stretch !important;
    margin-top: 0 !important;
}

/* Tekst kolona — vertikalno centriran sadržaj */
#about .col-lg-7 {
    display: flex !important;
    align-items: center !important;
}

#about .col-lg-7 .about-descr {
    padding-left: 48px !important;
    border-left: 1px solid #ebebeb;
}

/* Tekst — elegantni serif italic */
#about .about-descr .separator {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 19px !important;
    font-weight: 300 !important;
    font-style: italic !important;
    line-height: 1.85 !important;
    color: #555 !important;
    letter-spacing: 0.01em !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Mobile */
@media (max-width: 991px) {
    #about .div-img-bg .about-img img {
        height: 420px !important;
    }
    #about .col-lg-7 {
        display: block !important;
    }
    #about .col-lg-7 .about-descr {
        padding-left: 0 !important;
        border-left: none !important;
        margin-top: 32px !important;
    }
}

/* =====================================================
   HEADER — LUXURY REFINEMENTS (hamburger + cart)
   ===================================================== */

/* Hamburger — luxury two-line, sakrij FA ikonu */
.nav-menu-btn i {
    display: none !important;
}

.nav-menu-btn {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    width: 22px !important;
    height: 12px !important;
    cursor: pointer !important;
    opacity: 0.85;
    transition: opacity 0.2s ease !important;
}

.nav-menu-btn::before,
.nav-menu-btn::after {
    content: '' !important;
    display: block !important;
    width: 22px !important;
    height: 1px !important;
    background: currentColor !important;
    transition: transform 0.25s ease !important;
}

.nav-menu-btn:hover {
    opacity: 1;
}

/* Subtle open state — gornja linija kraća */
.nav-menu-btn:hover::before {
    width: 14px !important;
}

/* Cart count — homepage nasljeđuje bijelu, shop override crvenu u tamnu */
.basket-count {
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: 0.04em;
}

.change-color-count {
    color: #555 !important;
}

/* Cart SVG — tanje stroke */
.my-icon-cart path {
    stroke-width: 1.2 !important;
}

/* =====================================================
   TOP CATEGORY AREA — samo dugme kao na hero
   ===================================================== */

/* Text isti kao hero naslov */
.catagory-content h6 {
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.32em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.9) !important;
    font-style: normal !important;
    text-shadow: none !important;
}

.catagory-content .karl-btn,
.catagory-content a.karl-btn,
.top_catagory_area .karl-btn {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.8) !important;
    border-radius: 0 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    padding: 13px 32px !important;
    box-shadow: none !important;
    transition: all 0.3s ease !important;
}

.catagory-content .karl-btn:hover,
.top_catagory_area .karl-btn:hover {
    background: rgba(255, 255, 255, 0.15) !important;
    border-color: #fff !important;
    color: #fff !important;
    transform: none !important;
    box-shadow: none !important;
}

/* =====================================================
   CONTACT PAGE — LUXURY REFINEMENTS
   ===================================================== */

#contact.checkout_area {
    padding-top: 220px !important;
    padding-bottom: 100px !important;
    background: #fff !important;
}

/* Page title — editorial label */
#contact .cart-page-heading h5 {
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.42em !important;
    text-transform: uppercase !important;
    color: #777 !important;
    margin: 0 0 8px 0 !important;
    line-height: 1 !important;
}

/* "The Details" — Cormorant italic */
#contact .cart-page-heading p {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    font-style: italic !important;
    color: #888 !important;
    letter-spacing: 0.02em !important;
    margin: 0 0 32px 0 !important;
}

/* Divider ispod headinga */
#contact .cart-page-heading {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 32px !important;
}

/* Form inputs — underline only, bez pozadine */
#contact .form-control {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #ddd !important;
    border-radius: 0 !important;
    padding: 10px 0 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 0.1em !important;
    color: #333 !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
}

#contact .form-control::placeholder {
    color: #aaa !important;
    letter-spacing: 0.12em !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
}

#contact .form-control:focus {
    border-bottom-color: #111 !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

#contact textarea.form-control {
    min-height: 120px !important;
    resize: none !important;
}

/* Form group — manje razmaka */
#contact .form-group {
    margin-bottom: 0 !important;
}

#contact .row.gy-3 > * {
    padding-top: 20px !important;
}

/* Checkbox label */
#contact .custom-control-label {
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: #aaa !important;
    cursor: pointer !important;
    padding-left: 4px !important;
}

/* Send button — isto kao hero SHOP NOW */
#contact .btn-send,
#contact .karl-checkout-btn {
    background: transparent !important;
    border: 1px solid #111 !important;
    border-radius: 0 !important;
    color: #111 !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    padding: 14px 40px !important;
    box-shadow: none !important;
    transition: all 0.3s ease !important;
    width: auto !important;
    display: inline-block !important;
    cursor: pointer !important;
}

#contact .btn-send:hover,
#contact .karl-checkout-btn:hover {
    background: #111 !important;
    color: #fff !important;
    transform: none !important;
}

/* Info kartica — čista, bez pozadine */
#contact .order-details-confirmation {
    background: transparent !important;
    border: 1px solid #ebebeb !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 48px !important;
}

/* Info lista — uppercase labele, refined */
#contact .order-details-form {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

#contact .order-details-form li {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding: 20px 0 !important;
    gap: 16px !important;
}

#contact .order-details-form li span:first-child {
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    color: #888 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

#contact .order-details-form li span:last-child {
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: 0.1em !important;
    color: #555 !important;
    text-align: right !important;
    text-transform: uppercase !important;
}

/* Mobile */
@media (max-width: 767px) {
    #contact.checkout_area {
        padding-top: 180px !important;
    }
    #contact .order-details-confirmation {
        padding: 32px 24px !important;
        margin-top: 48px !important;
    }
    #contact .checkout_details_area {
        margin-top: 0 !important;
    }
    #contact .cart-page-heading h5 {
        font-size: 8px !important;
        margin-bottom: 12px !important;
    }
}

/* =====================================================
   COLLECTION DETAIL — LUXURY GALLERY
   ===================================================== */

/* Main top spacing */
#main.m-t-90 {
    margin-top: 0 !important;
    padding-top: 100px !important;
}

/* Breadcrumbs — editorial header za kolekciju */
section.breadcrumbs {
    padding: 48px 0 40px !important;
    border-bottom: 1px solid #ebebeb !important;
    margin-bottom: 0 !important;
    background: #fff !important;
}

section.breadcrumbs .container-fluid {
    padding-left: 40px !important;
    padding-right: 40px !important;
}

/* Breadcrumb lista */
section.breadcrumbs ol {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 12px !important;
}

section.breadcrumbs ol li {
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    color: #bbb !important;
}

section.breadcrumbs ol li + li::before {
    content: '—' !important;
    margin-right: 12px !important;
    color: #ddd !important;
}

section.breadcrumbs ol li a {
    color: #bbb !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

section.breadcrumbs ol li a:hover {
    color: #555 !important;
}

/* Zadnji item (ime kolekcije) — veće, tamnije */
section.breadcrumbs ol li:last-child {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 28px !important;
    font-weight: 300 !important;
    font-style: italic !important;
    letter-spacing: 0.04em !important;
    text-transform: none !important;
    color: #222 !important;
    display: block !important;
    margin-top: 12px !important;
    width: 100% !important;
}

section.breadcrumbs ol {
    flex-wrap: wrap !important;
}

/* Gallery wrapper — bez paddinga, full width */
.gallery-wrapper {
    padding: 0 !important;
    margin: 0 !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
}

/* Gallery inner grid — minimalni gap */
.gallery-wrapper .gallery-inner {
    gap: 3px !important;
    width: 100% !important;
}

/* Sve slike — uniformna visina 3:4 */
.gallery-wrapper .gallery-img {
    overflow: hidden !important;
    aspect-ratio: 3 / 4 !important;
}

.gallery-wrapper .gallery-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: top center !important;
    transition: transform 0.5s ease !important;
    display: block !important;
}

.gallery-wrapper .gallery-img:hover img {
    transform: scale(1.03) !important;
}

/* Horizontalne slike — 2:3 ratio */
.gallery-wrapper .horizontal-images {
    grid-column: span 2 !important;
}

.gallery-wrapper .gallery-img.horizontal {
    aspect-ratio: 4 / 3 !important;
}

/* Mobile */
@media (max-width: 768px) {
    section.breadcrumbs .container-fluid {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    section.breadcrumbs ol li:last-child {
        font-size: 22px !important;
    }
    #main.m-t-90 {
        padding-top: 80px !important;
    }
}

/* =====================================================
   CART PAGE — LUXURY REFINEMENTS
   ===================================================== */

.cart_area.section_padding_100 {
    padding-top: 140px !important;
    padding-bottom: 80px !important;
    background: #fff !important;
}

/* Table — bez sive pozadine, samo tanke linije */
.cart-table .table {
    border: none !important;
    border-collapse: collapse !important;
}

.cart-table .table thead tr {
    background: transparent !important;
    border-bottom: 1px solid #111 !important;
}

.cart-table .table thead th {
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.3em !important;
    text-transform: uppercase !important;
    color: #aaa !important;
    background: transparent !important;
    border: none !important;
    padding: 0 0 14px 0 !important;
}

.cart-table .table thead th:first-child {
    padding-left: 0 !important;
}

.cart-table .table tbody tr {
    border-bottom: 1px solid #f0f0f0 !important;
    background: transparent !important;
}

.cart-table .table tbody td {
    border: none !important;
    padding: 24px 8px !important;
    vertical-align: middle !important;
    font-size: 10px !important;
    color: #555 !important;
    letter-spacing: 0.06em !important;
}

.cart-table .table tbody td:first-child {
    padding-left: 0 !important;
}

/* Page title — YOUR BAG */
.cart-table::before {
    content: 'YOUR BAG';
    display: block;
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 0.42em;
    text-transform: uppercase;
    color: #aaa;
    margin-bottom: 32px;
    padding-bottom: 16px;
    border-bottom: 1px solid #ebebeb;
    width: 100%;
}

/* Product image */
.cart-table .table tbody td.cart_product_img img {
    width: 72px !important;
    height: 90px !important;
    object-fit: cover !important;
    object-position: top center !important;
    margin-right: 20px !important;
    flex-shrink: 0 !important;
}

/* Product name — Cormorant italic */
.cart-table .table tbody td h6.name-product {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 16px !important;
    font-style: italic !important;
    font-weight: 300 !important;
    color: #222 !important;
    letter-spacing: 0.01em !important;
    line-height: 1.4 !important;
    text-transform: none !important;
    margin: 0 !important;
}

/* Price i total */
.cart-table .table tbody td.price span,
.cart-table .table tbody td.total_price span {
    font-size: 10px !important;
    letter-spacing: 0.08em !important;
    color: #555 !important;
    font-weight: 400 !important;
}

/* Size select */
.cart-table td.size select,
#size-cart {
    border: none !important;
    border-bottom: 1px solid #ddd !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-size: 10px !important;
    letter-spacing: 0.12em !important;
    color: #555 !important;
    padding: 4px 0 !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
    min-width: 40px !important;
}

/* Qty kontrole — FA ikone sakrij, CSS karakteri umjesto njih */
.qty-minus i,
.qty-plus i {
    display: none !important;
}

.qty-minus,
.qty-plus {
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 8px !important;
    transition: color 0.2s ease !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    color: #888 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
}

.qty-minus::after {
    content: '−' !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    color: inherit !important;
    line-height: 1 !important;
}

.qty-plus::after {
    content: '+' !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    color: inherit !important;
    line-height: 1 !important;
}

.qty-minus:hover,
.qty-plus:hover {
    color: #111 !important;
    background: transparent !important;
}

input.qty-text {
    border: none !important;
    border-bottom: 1px solid #ddd !important;
    text-align: center !important;
    width: 32px !important;
    font-size: 10px !important;
    letter-spacing: 0.1em !important;
    color: #333 !important;
    background: transparent !important;
    padding: 2px 0 !important;
    outline: none !important;
}

.quantity {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 4px !important;
}

/* Clear + Update cart — plain text linkovi, bez bordera */
#clear_cart,
#update_cart,
.back-to-shop a,
.update-checkout a {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    color: #aaa !important;
    text-decoration: none !important;
    padding: 0 !important;
    display: inline !important;
    transition: color 0.2s ease !important;
    cursor: pointer !important;
    width: auto !important;
    height: auto !important;
    line-height: normal !important;
}

#clear_cart:hover,
#update_cart:hover,
.back-to-shop a:hover,
.update-checkout a:hover {
    color: #111 !important;
    background: transparent !important;
}

.cart-footer {
    margin-top: 24px !important;
    padding-top: 24px !important;
    border-top: 1px solid #f0f0f0 !important;
}

/* Sakrij "Final info" placeholder tekst */
.cart-total-area .cart-page-heading p {
    display: none !important;
}

/* Cart heading (Coupon, Cart total) */
.cart-page-heading h5 {
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.38em !important;
    text-transform: uppercase !important;
    color: #777 !important;
    margin: 0 0 6px 0 !important;
    border-bottom: none !important;
    background: transparent !important;
}

.cart-page-heading p {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 20px !important;
    font-style: italic !important;
    font-weight: 300 !important;
    color: #555 !important;
    margin: 0 0 24px 0 !important;
    letter-spacing: 0.01em !important;
}

/* Coupon input */
.coupon-code-area form input[type="search"] {
    border: none !important;
    border-bottom: 1px solid #ddd !important;
    border-radius: 0 !important;
    font-size: 10px !important;
    letter-spacing: 0.1em !important;
    padding: 8px 0 !important;
    width: 65% !important;
    background: transparent !important;
    outline: none !important;
    color: #333 !important;
}

/* Apply dugme — editorial, ne crveni */
.coupon-code-area form button {
    background: transparent !important;
    border: 1px solid #111 !important;
    border-radius: 0 !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    color: #111 !important;
    padding: 9px 20px !important;
    margin-left: 8px !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}

.coupon-code-area form button:hover {
    background: #111 !important;
    color: #fff !important;
}

/* Cart total lista — bijela pozadina, tanke linije */
.cart-total-chart {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 28px 0 !important;
    background: transparent !important;
}

.cart-total-chart li {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 10px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #666 !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    background: transparent !important;
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
}

.cart-total-chart li:first-child {
    border-top: 1px solid #f0f0f0 !important;
}

.cart-total-chart li strong {
    font-weight: 500 !important;
    color: #111 !important;
    letter-spacing: 0.14em !important;
}

/* Checkout dugme */
a.karl-checkout-btn {
    display: block !important;
    text-align: center !important;
    background: #111 !important;
    color: #fff !important;
    border: 1px solid #111 !important;
    border-radius: 0 !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.32em !important;
    text-transform: uppercase !important;
    padding: 16px 32px !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
}

a.karl-checkout-btn:hover {
    background: transparent !important;
    color: #111 !important;
}

/* =====================================================
   PRODUCT DETAILS — LUXURY REFINEMENTS
   ===================================================== */

/* Top spacing */
.breadcumb_area {
    padding-top: 100px !important;
    padding-bottom: 0 !important;
    background: #fff !important;
}

/* Breadcrumb */
.breadcumb_area .breadcrumb {
    background: transparent !important;
    padding: 0 0 8px 0 !important;
    margin: 0 !important;
}

.breadcumb_area .breadcrumb-item,
.breadcumb_area .breadcrumb-item a {
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: #bbb !important;
    text-decoration: none !important;
}

.breadcumb_area .breadcrumb-item.active {
    color: #555 !important;
    text-transform: none !important;
    letter-spacing: 0.04em !important;
}

.breadcumb_area .breadcrumb-item + .breadcrumb-item::before {
    color: #ddd !important;
    font-size: 9px !important;
}

/* Back to Shop */
.backToHome {
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: #aaa !important;
    text-decoration: none !important;
    padding: 16px 0 24px !important;
    transition: color 0.2s ease !important;
}

.backToHome:hover { color: #111 !important; }
.backToHome i { display: none !important; }

/* Product section spacing */
.single_product_details_area {
    padding-top: 24px !important;
    padding-bottom: 80px !important;
}

/* Product name */
.single_product_desc h4.title a {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 28px !important;
    font-style: italic !important;
    font-weight: 300 !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
    color: #111 !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
}

/* Price */
.single_product_desc h4.price {
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 0.18em !important;
    color: #555 !important;
    margin: 12px 0 16px !important;
}

/* Available */
.single_product_desc p.available {
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: #aaa !important;
    margin-bottom: 28px !important;
}

.single_product_desc p.available span {
    color: #aaa !important;
    font-style: normal !important;
}

/* Size selector */
.single_product_desc .select-size {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.single_product_desc .select-size li a {
    display: inline-block !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: 0.16em !important;
    color: #999 !important;
    text-decoration: none !important;
    padding: 6px 14px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 0 !important;
    transition: all 0.2s ease !important;
    background: transparent !important;
}

.single_product_desc .select-size li a:hover,
.single_product_desc .select-size li a.active-size,
.single_product_desc .select-size li.active a {
    border-color: #111 !important;
    color: #111 !important;
}

/* Add to cart button — full width, crni */
.cart-submit,
button#addtocart {
    background: #111 !important;
    color: #fff !important;
    border: 1px solid #111 !important;
    border-radius: 0 !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.32em !important;
    text-transform: uppercase !important;
    padding: 16px 40px !important;
    flex: 1 !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    margin-left: 16px !important;
}

.cart-submit:hover,
button#addtocart:hover {
    background: transparent !important;
    color: #111 !important;
}

/* Accordion — Material, Size Chart */
.single_product_desc .card {
    border: none !important;
    border-top: 1px solid #ebebeb !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.single_product_desc .card-header {
    background: transparent !important;
    border: none !important;
    padding: 16px 0 !important;
}

.single_product_desc .card-header h6 a {
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.32em !important;
    text-transform: uppercase !important;
    color: #777 !important;
    text-decoration: none !important;
}

.single_product_desc .card-body {
    font-size: 11px !important;
    color: #666 !important;
    letter-spacing: 0.06em !important;
    padding: 0 0 20px 0 !important;
    background: transparent !important;
}

.single_product_desc .card-body .badge {
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: #aaa !important;
    background: transparent !important;
    padding: 0 !important;
    font-style: normal !important;
}

/* Related Products heading */
.you_may_like_area .section_heading h2 {
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.42em !important;
    text-transform: uppercase !important;
    color: #aaa !important;
    margin-bottom: 32px !important;
    font-family: inherit !important;
    font-style: normal !important;
}

.you_may_like_area {
    padding-top: 60px !important;
    padding-bottom: 80px !important;
    border-top: 1px solid #ebebeb !important;
}

/* Print styles */
@media print {
    .header_area,
    .footer_area,
    .basket-container,
    .nav-menu-btn {
        display: none !important;
    }

    body {
        font-size: 12pt;
    }

    a {
        text-decoration: underline;
    }
}

/* =====================================================
   PRODUCT DETAILS — CAROUSEL & SIZE BUTTON OVERRIDES
   (must be after shop widget CSS which overrides earlier rules)
   ===================================================== */

/* Carousel — flex column so indicators render BELOW the image */
#product_details_slider {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
}

/* No gradient overlay — thumbnails are outside the image */
#product_details_slider::after {
    display: none !important;
}

/* Main image area — portrait 3:4, first in visual order */
#product_details_slider .carousel-inner {
    order: 1 !important;
    aspect-ratio: 3 / 4 !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    width: 100% !important;
}

#product_details_slider .carousel-item {
    height: 100% !important;
}

#product_details_slider .carousel-item a.gallery_img {
    display: block !important;
    height: 100% !important;
}

#product_details_slider .carousel-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: top center !important;
    transform-origin: center center !important;
    transition: transform 0.6s ease !important;
}

/* Zoom on hover — desktop only, shows fabric/detail */
@media (hover: hover) {
    #product_details_slider .carousel-inner {
        cursor: zoom-in !important;
    }
    #product_details_slider .carousel-inner:hover .carousel-item.active img {
        transform: scale(1.12) !important;
    }
}

/* Thumbnail strip — below image, position:static, flex row */
#product_details_slider .carousel-indicators {
    position: static !important;
    order: 2 !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 4px !important;
    margin: 8px 0 0 0 !important;
    padding: 0 !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

#product_details_slider .carousel-indicators::-webkit-scrollbar {
    display: none !important;
}

#product_details_slider .carousel-indicators li {
    width: 56px !important;
    height: 74px !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    background-size: cover !important;
    background-position: top center !important;
    border-radius: 0 !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    opacity: 0.45 !important;
    margin: 0 !important;
    cursor: pointer !important;
    transition: opacity 0.2s ease, border-color 0.2s ease !important;
    text-indent: -9999px !important;
}

#product_details_slider .carousel-indicators li.active {
    opacity: 1 !important;
    border-bottom-color: #111 !important;
}

#product_details_slider .carousel-indicators li:hover:not(.active) {
    opacity: 0.75 !important;
}

/* Size buttons — higher specificity (0-5-2) beats shop .widget.size .widget-desc a (0-3-1) */
.single_product_desc .widget.size .widget-desc .select-size li a {
    display: inline-block !important;
    border: 1px solid #e0e0e0 !important;
    padding: 6px 14px !important;
    color: #999 !important;
    background: transparent !important;
    font-size: 10px !important;
    letter-spacing: 0.16em !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.single_product_desc .widget.size .widget-desc .select-size li a:hover,
.single_product_desc .widget.size .widget-desc .select-size li a.active-size,
.single_product_desc .widget.size .widget-desc .select-size li.active a {
    border-color: #111 !important;
    color: #111 !important;
    background: transparent !important;
}

/* Related products price — product-details.php uses h4.product-price, not h5 */
.you_may_like_area .product-description h4.product-price {
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: #777 !important;
    font-style: normal !important;
    font-family: inherit !important;
    margin: 0 !important;
}

/* "Other colors available" — remove Bootstrap text-success green */
.single_product_desc .card-body .text-success,
.single_product_desc .text-success {
    color: #999 !important;
    font-style: italic !important;
    font-size: 10px !important;
    letter-spacing: 0.06em !important;
}

/* Active breadcrumb — product name should not be uppercase */
.breadcumb_area .breadcrumb-item.active {
    text-transform: none !important;
    letter-spacing: 0.04em !important;
    color: #555 !important;
}

/* Breadcumb_area — more breathing room from header on mobile */
@media (max-width: 767px) {
    .breadcumb_area {
        padding-top: 140px !important;
        padding-bottom: 16px !important;
    }
}

/* Product page qty — override core-style.css absolute positioning */
.single_product_desc .cart .quantity {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    position: static !important;
    float: none !important;
    width: auto !important;
    gap: 6px !important;
}

.single_product_desc .cart .qty-minus,
.single_product_desc .cart .qty-plus {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: auto !important;
    width: auto !important;
    top: auto !important;
    bottom: auto !important;
    right: auto !important;
    border: none !important;
    background: transparent !important;
    padding: 0 6px !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    color: #888 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: color 0.2s ease !important;
}

.single_product_desc .cart .qty-minus:hover,
.single_product_desc .cart .qty-plus:hover {
    color: #111 !important;
    background: transparent !important;
}

.single_product_desc .cart .qty-minus i,
.single_product_desc .cart .qty-plus i {
    display: none !important;
}

.single_product_desc .cart .qty-minus::after {
    content: '−' !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    color: inherit !important;
    line-height: 1 !important;
}

.single_product_desc .cart .qty-plus::after {
    content: '+' !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    color: inherit !important;
    line-height: 1 !important;
}

.single_product_desc .cart input.qty-text {
    border: none !important;
    border-bottom: 1px solid #ddd !important;
    width: 32px !important;
    text-align: center !important;
    font-size: 10px !important;
    color: #333 !important;
    background: transparent !important;
    padding: 2px 0 !important;
    outline: none !important;
    height: auto !important;
    margin: 0 !important;
    position: static !important;
}

/* Reduced motion za accessibility */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .karl-btn {
        border: 2px solid currentColor;
    }
}

/* Performance optimizations */
.product-img,
.single_gallery_item {
    will-change: transform;
}

/* Fix any potential overflow issues */
body {
    overflow-x: hidden;
}

/* Form validation — scoped to contact/checkout only */
#contact input:invalid,
.checkout_area input:invalid,
#contact textarea:invalid,
.checkout_area textarea:invalid {
    border-color: #dc3545 !important;
}

/* Loading state for buttons */
button[disabled],
.btn[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* =====================================================
   CHECKOUT PAGE — LUXURY REFINEMENTS
   ===================================================== */

.checkout_area.section_padding_100 {
    padding-top: 130px !important;
    padding-bottom: 80px !important;
    background: #fff !important;
}

/* Left column */
.checkout_area .checkout_details_area {
    margin-top: 0 !important;
}

@media (min-width: 768px) {
    .checkout_area .checkout_details_area {
        padding-right: 64px !important;
    }
}

/* "Checkout" — Cormorant italic editorial title */
.checkout_area .checkout_details_area::before {
    content: 'Checkout';
    display: block;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 38px;
    font-style: italic;
    font-weight: 300;
    color: #1a1a1a;
    letter-spacing: 0.02em;
    margin-bottom: 28px;
    line-height: 1;
}

/* BILLING DETAILS — small uppercase label */
.checkout_area .cart-page-heading h5 {
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.42em !important;
    text-transform: uppercase !important;
    color: #aaa !important;
    margin: 0 0 24px 0 !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid #ebebeb !important;
    background: transparent !important;
}

/* Form labels */
.checkout_area label {
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: #bbb !important;
    display: block !important;
    margin-bottom: 8px !important;
}

.checkout_area label span { color: #ddd !important; }

/* Inputs — underline only */
.checkout_area .form-control {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #e0e0e0 !important;
    border-radius: 0 !important;
    padding: 10px 0 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 0.08em !important;
    color: #222 !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
}

.checkout_area .form-control:focus {
    border-bottom-color: #111 !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Validation only shows after submit (.was-validated added by JS) */
.checkout_area .was-validated .form-control:invalid {
    border-bottom-color: #b33 !important;
    box-shadow: none !important;
}

/* Country select */
.checkout_area .custom-select,
.checkout_area select.countrypicker,
.checkout_area .selectpicker {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #e0e0e0 !important;
    border-radius: 0 !important;
    padding: 10px 0 !important;
    font-size: 11px !important;
    letter-spacing: 0.08em !important;
    color: #222 !important;
    box-shadow: none !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    cursor: pointer !important;
    width: 100% !important;
    transition: border-color 0.2s ease !important;
}

.checkout_area .custom-select:focus,
.checkout_area select.countrypicker:focus {
    border-bottom-color: #111 !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Field spacing */
.checkout_area .mb-3 {
    margin-bottom: 24px !important;
}

/* Validation messages */
.checkout_area .invalid-feedback {
    font-size: 9px !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: #b33 !important;
    margin-top: 6px !important;
    font-style: italic !important;
}

/* Checkbox */
.checkout_area .custom-control-label {
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: #aaa !important;
    cursor: pointer !important;
    padding-left: 4px !important;
    line-height: 1.8 !important;
}

.checkout_area .custom-control-label a {
    color: #666 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

/* ---- Order summary — right column ---- */
.checkout_area .order-details-confirmation {
    background: #f9f9f7 !important;
    border: 1px solid #e8e8e4 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 44px !important;
}

/* "YOUR ORDER" */
.checkout_area .order-details-confirmation .cart-page-heading h5 {
    color: #aaa !important;
    border-bottom: 1px solid #e8e8e4 !important;
    padding-bottom: 16px !important;
    margin-bottom: 0 !important;
    letter-spacing: 0.44em !important;
}

/* Product list — Cormorant italic for product names */
.checkout_area #final_product li {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    border: none !important;
    border-bottom: 1px solid #f0ede8 !important;
    padding: 20px 0 !important;
    gap: 20px !important;
    background: transparent !important;
}

.checkout_area #final_product li span:first-child {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 15px !important;
    font-style: italic !important;
    font-weight: 300 !important;
    text-transform: none !important;
    letter-spacing: 0.02em !important;
    color: #333 !important;
    flex: 1 !important;
    line-height: 1.4 !important;
}

.checkout_area #final_product li span:last-child {
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: 0.12em !important;
    color: #555 !important;
    text-align: right !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    padding-top: 3px !important;
}

/* Subtotal / Shipping / Total */
.checkout_area ul.order-details-form.mb-5 {
    border-top: 1px solid #e8e8e4 !important;
    margin-top: 0 !important;
}

.checkout_area ul.order-details-form.mb-5 li {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    border: none !important;
    border-bottom: 1px solid #f0ede8 !important;
    padding: 14px 0 !important;
    background: transparent !important;
}

.checkout_area ul.order-details-form.mb-5 li span:first-child {
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.32em !important;
    text-transform: uppercase !important;
    color: #aaa !important;
}

.checkout_area ul.order-details-form.mb-5 li span:last-child {
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    color: #111 !important;
}

/* PURCHASE */
.checkout_area #purchase {
    background: #111 !important;
    color: #fff !important;
    border: 1px solid #111 !important;
    border-radius: 0 !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.38em !important;
    text-transform: uppercase !important;
    padding: 18px 40px !important;
    width: 100% !important;
    display: block !important;
    margin-top: 4px !important;
    transition: background 0.3s ease, color 0.3s ease !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

.checkout_area #purchase:hover {
    background: transparent !important;
    color: #111 !important;
}

/* Mobile */
@media (max-width: 767px) {
    .checkout_area.section_padding_100 {
        padding-top: 110px !important;
    }
    .checkout_area .checkout_details_area::before {
        font-size: 28px !important;
        margin-bottom: 20px !important;
    }
    .checkout_area .order-details-confirmation {
        padding: 28px 20px !important;
        margin-top: 48px !important;
    }
}

/* =====================================================
   FOOTER — LUXURY REFINEMENTS
   ===================================================== */

.footer_area {
    background-color: #fff !important;
    border-top: 1px solid #ebebeb !important;
    padding-top: 56px !important;
    padding-bottom: 0 !important;
    color: #999 !important;
}

/* Svi tekstovi u footeru — vidljivi */
.footer_area,
.footer_area p,
.footer_area span,
.footer_area a,
.footer_area li {
    color: #666 !important;
}

/* Working hours — vidljiv, sitni */
.footer_area .single_footer_area span {
    font-size: 10px !important;
    letter-spacing: 0.1em !important;
    line-height: 2.0 !important;
}

/* Sakrij clock ikonu */
.footer_area .ti-alarm-clock {
    display: none !important;
}

/* Nav linkovi */
.footer_widget_menu a {
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: #666 !important;
    margin-bottom: 16px !important;
    transition: color 0.2s ease !important;
}

.footer_widget_menu a:hover {
    color: #111 !important;
    margin-left: 0 !important;
}

/* Contact us / Instagram — plain text linkovi */
.help-line {
    margin-bottom: 14px !important;
}

.help-line a {
    background-color: transparent !important;
    color: #666 !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    padding: 0 !important;
    height: auto !important;
    line-height: 2.0 !important;
    display: inline !important;
    transition: color 0.2s ease !important;
}

.help-line a:hover,
.help-line a:focus {
    background-color: transparent !important;
    color: #111 !important;
}

/* Sakrij ikone u help-line */
.help-line a i {
    display: none !important;
}

/* Divider linija */
.footer_area .line {
    border-top: 1px solid #f0f0f0 !important;
    margin: 40px 0 32px !important;
}

/* Payment logotipi — manje, grayscale, suptilno */
.footer_area .equal-images img,
.footer_area .equal img {
    filter: grayscale(60%) !important;
    opacity: 0.65 !important;
    transition: opacity 0.2s ease, filter 0.2s ease !important;
    max-height: 26px !important;
}

.footer_area .equal-images img:hover,
.footer_area .equal img:hover {
    filter: grayscale(0%) !important;
    opacity: 1 !important;
}

/* Copyright */
.copywrite_text > p {
    font-size: 9px !important;
    letter-spacing: 0.18em !important;
    color: #888 !important;
    text-align: center !important;
    padding: 20px 0 32px !important;
    margin-top: 0 !important;
}

/* Better card shadows — samo widget, ne cart-table */
.widget {
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: box-shadow 0.3s ease;
}

.widget:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

.cart-table,
.order-details-confirmation {
    box-shadow: none !important;
}

/* Smooth transitions - samo za određene elemente */
/* Postojeći CSS već ima dobre transition stilove */

/* =====================================================
   SHOP PAGE — LUXURY REFINEMENTS (mobile + desktop)
   ===================================================== */

/* ---- Isotope override ----
   Isotope applies position:absolute + top/left/width as inline styles.
   CSS !important overrides inline styles (CSS Cascading spec §6.4.2).
   This defeats Isotope's layout on the shop page without any JS timing tricks.
   The container's inline height is also reset so the footer doesn't float up.
   Scoped to .shop_grid_area so collection/other pages keep Isotope working.
------------------------------ */
.shop_grid_area .portfolio-container {
    height: auto !important;
}
.shop_grid_area .portfolio-container > .portfolio-item {
    position: static !important;
    top: auto !important;
    left: auto !important;
}

/* Section top spacing */
.shop_grid_area.section_padding_100 {
    padding-top: 140px !important;
    padding-bottom: 80px !important;
}

/* Shop naslov — isti stil i razmak kao .widget-title u sidebar-u */
.shop_grid_product_area::before {
    content: 'SHOP';
    display: block;
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #aaa;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f0f0f0;
}

/* Product hover overlay — elegantni "VIEW" umjesto + ikone */
.product-quicview {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(255,255,255,0) !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    padding-bottom: 20px !important;
    transition: background 0.35s ease !important;
    z-index: 2 !important;
}

.product-quicview a {
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.3em !important;
    text-transform: uppercase !important;
    color: #fff !important;
    background: rgba(0,0,0,0.55) !important;
    border: none !important;
    padding: 10px 24px !important;
    opacity: 0 !important;
    transform: translateY(6px) !important;
    transition: opacity 0.3s ease, transform 0.3s ease !important;
    text-decoration: none !important;
    backdrop-filter: blur(2px) !important;
}

.product-quicview a i {
    display: none !important;
}

.product-quicview a::after {
    content: 'VIEW' !important;
    font-size: 9px !important;
    letter-spacing: 0.3em !important;
}

.single_gallery_item:hover .product-quicview a {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* jQuery UI price slider — crn umjesto zelen */
.ui-slider {
    background: #ebebeb !important;
    border: none !important;
    height: 1px !important;
    border-radius: 0 !important;
    margin: 16px 0 12px !important;
}

.ui-slider .ui-slider-range {
    background: #111 !important;
}

.ui-slider .ui-slider-handle {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: #111 !important;
    border: none !important;
    top: -4px !important;
    cursor: pointer !important;
    outline: none !important;
}

.ui-slider .ui-slider-handle:focus {
    outline: none !important;
}

/* Sidebar widget bez box shadowa */
.single_product_desc .widget {
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 40px !important;
}

/* --- Filter panel — sve veličine --- */
.showSortBtn {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #111 !important;
  border-radius: 0 !important;
  letter-spacing: 0.18em;
  font-size: 10px;
  text-transform: uppercase;
  color: #111 !important;
  padding: 6px 0 !important;
  box-shadow: none !important;
  font-weight: 400;
  width: auto !important;
}

/* Widget titles — identičan stil kao shop::before za savršeno poravnanje */
.widget-title {
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.22em !important;
  color: #aaa !important;
  border-bottom: 1px solid #f0f0f0 !important;
  padding-bottom: 10px !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

/* Category list items */
.shop_grid_area #portfolio-flters li {
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em;
  color: #999 !important;
  padding: 7px 0 !important;
  border-bottom: 1px solid transparent;
  transition: all 0.2s ease !important;
}

.shop_grid_area #portfolio-flters li:hover,
.shop_grid_area #portfolio-flters li.filter-collection-active,
.shop_grid_area #portfolio-flters li.filter-active {
  color: #111 !important;
  border-bottom: 1px solid #111 !important;
}

.collection-new-badge {
  display: inline-block;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: #fff;
  background: #111;
  padding: 2px 5px;
  margin-left: 6px;
  vertical-align: middle;
  line-height: 1.4;
}

/* Size filter — text-only, bez bordera */
.widget.size .widget-desc {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
}

.widget.size .widget-desc li {
  list-style: none !important;
}

.widget.size .widget-desc a {
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  padding: 6px 12px 6px 0 !important;
  color: #bbb !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  transition: color 0.2s ease !important;
  display: block !important;
}

.widget.size .widget-desc a:hover {
  color: #111 !important;
  background: transparent !important;
}

.widget.size .widget-desc li.filter-active a,
.widget.size .widget-desc li.filter-size-active a {
  color: #111 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* Price range */
.widget.price .range-price {
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em;
  color: #999 !important;
}

/* Price inputs */
#min-price, #max-price {
  font-size: 11px;
  border: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  padding: 4px 2px;
  width: 45%;
  outline: none;
  letter-spacing: 0.06em;
}

#min-price:focus, #max-price:focus {
  border-bottom-color: #111;
}

/* Remove widget box shadows */
.widget {
  box-shadow: none !important;
}

/* --- Product cards — sve veličine --- */
.product-img {
  border-radius: 0 !important;
}

.product-description {
  text-align: left;
}

.product-description p.product-name {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 14px !important;
  font-style: italic !important;
  font-weight: 300 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  color: #222 !important;
  line-height: 1.4 !important;
  margin-bottom: 5px !important;
  display: block !important;
  width: auto !important;
}

.product-description h5.product-price {
  font-size: 10px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #777 !important;
  font-weight: 400 !important;
  margin: 0 !important;
}

/* --- Uniform 3:4 portrait ratio — sve veličine --- */
.product-img {
  aspect-ratio: 3 / 4;
}
.product-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

/* --- Mobile only --- */
@media (max-width: 768px) {

  /* Editorial grid — 8px gap between cards */
  .shop_grid_product_area .row.portfolio-container {
    margin-left: -4px;
    margin-right: -4px;
  }
  .shop_grid_product_area .col-6 {
    padding-left: 4px;
    padding-right: 4px;
  }

  /* More space between rows of cards */
  .single_gallery_item {
    margin-bottom: 28px !important;
  }

  /* No hover lift on mobile (no cursor) */
  .single_gallery_item:hover {
    transform: none;
  }

  /* Product info block */
  .product-description {
    margin-top: 12px;
    padding: 0 2px 0;
  }

  /* Product name — slightly larger on mobile */
  .product-description .product-name {
    font-size: 10px !important;
    letter-spacing: 0.1em !important;
  }

  /* Price */
  .product-description .product-price {
    font-size: 10px !important;
    letter-spacing: 0.06em !important;
    margin-top: 4px !important;
  }

  /* Center filter button on mobile */
  .col-12.col-md-4.col-lg-3 {
    text-align: center;
    margin-bottom: 24px;
  }

}

/* --- Desktop only --- */
@media (min-width: 769px) {

  /* Tighter editorial grid on desktop */
  .shop_grid_product_area .row.portfolio-container {
    margin-left: -6px;
    margin-right: -6px;
  }
  .shop_grid_product_area [class*="col-"] {
    padding-left: 6px;
    padding-right: 6px;
  }

  /* Info block on desktop */
  .product-description {
    margin-top: 12px;
    padding: 0 0 24px;
  }

}

/* ===== Luxury Search Bar ===== */
/* ===== Luxury Search Bar ===== */
.luxury-search-bar {
  padding: 16px 0 32px;
  border-bottom: 1px solid #ebebeb;
  margin-bottom: 44px;
}

.lsb-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 12px;
}

/* Static thin grey line */
.lsb-wrap::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: #d8d8d8;
  transition: opacity 0.3s ease;
}

/* Black line that grows from center on focus */
.lsb-wrap::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  right: 50%;
  height: 1px;
  background: #111;
  transition: left 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              right 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.lsb-wrap:focus-within::after {
  left: 0;
  right: 0;
}

.lsb-icon {
  flex-shrink: 0;
  opacity: 0.35;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.lsb-wrap:focus-within .lsb-icon {
  opacity: 0.8;
  transform: scale(1.08);
}

.lsb-input {
  flex: 1;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background: transparent !important;
  font-size: 10px;
  letter-spacing: 0.26em;
  color: #111;
  font-family: inherit;
  font-weight: 400;
  padding: 0;
  caret-color: #111;
  -webkit-tap-highlight-color: transparent !important;
  transition: letter-spacing 0.3s ease;
}

.lsb-input:focus {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
  letter-spacing: 0.30em;
}

/* Nuclear override — ID wins over everything except !important */
#shop-search,
#shop-search:focus,
#shop-search:active {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
  -webkit-tap-highlight-color: transparent !important;
  -webkit-appearance: none !important;
}

.lsb-input::placeholder {
  color: #c0c0c0;
  letter-spacing: 0.26em;
  transition: opacity 0.3s ease;
}

.lsb-wrap:focus-within .lsb-input::placeholder {
  opacity: 0.5;
}

.lsb-clear {
  background: none;
  border: none;
  outline: none;
  font-size: 16px;
  color: #bbb;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease, color 0.2s ease, transform 0.2s ease;
  font-family: inherit;
  transform: rotate(45deg);
}

.lsb-clear:hover {
  color: #111;
  transform: rotate(0deg);
}

/* ===== MOBILE SEARCH BAR — bulletproof, no pseudo-elements ===== */
@media screen and (max-width: 991px) {
  /* Search bar — full-width with clear border, generous height */
  .luxury-search-bar {
    padding: 0 !important;
    margin-bottom: 0 !important;
    border-top: 1px solid #ebebeb !important;
    border-bottom: 1px solid #ebebeb !important;
    background: #fff;
  }

  /* Pseudo-element lines — off on mobile, real border handles it */
  .lsb-wrap::before,
  .lsb-wrap::after {
    display: none !important;
  }

  .lsb-wrap {
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    padding: 0 4px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    position: relative;
  }

  /* 16px prevents iOS Safari auto-zoom on focus */
  .lsb-input {
    font-size: 16px !important;
    line-height: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    color: #111 !important;
    letter-spacing: 0.14em !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
  }

  .lsb-input::placeholder {
    color: #888 !important;
    font-size: 11px;
    letter-spacing: 0.24em;
    opacity: 1 !important;
    -webkit-text-fill-color: #888;
  }

  .lsb-icon {
    flex-shrink: 0;
    width: 16px !important;
    height: 16px !important;
    opacity: 0.5 !important;
    display: block !important;
  }

  .lsb-clear {
    flex-shrink: 0;
  }
}

/* =====================================================
   SHOP PAGE — LUXURY MOBILE LAYOUT
   ===================================================== */

/* Desktop: enough top space for sticky header + breathing room */
/* Mobile: reduce 160px padding, but keep enough to clear sticky header (~60px) */
@media screen and (max-width: 991px) {
  .shop_grid_area.section_padding_100 {
    padding: 90px 0 60px !important;
  }
}

/* ===== Luxury "Refine" button — replaces Bootstrap btn ===== */
.shop-refine-btn {
  display: none; /* hidden on desktop */
  background: none;
  border: none;
  border-top: 1px solid #ebebeb;
  border-bottom: 1px solid #ebebeb;
  width: 100%;
  padding: 14px 0;
  cursor: pointer;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0;
  outline: none !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
  transition: border-color 0.2s ease;
}

.shop-refine-btn:focus,
.shop-refine-btn:active {
  outline: none !important;
  box-shadow: none !important;
}

.shop-refine-label {
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #111;
}

/* Two-line filter icon (like Toteme) */
.shop-refine-icon {
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: flex-end;
}

.shop-refine-icon span {
  display: block;
  height: 1px;
  background: #111;
  transition: width 0.2s ease;
}

.shop-refine-icon span:first-child {
  width: 18px;
}

.shop-refine-icon span:last-child {
  width: 12px;
}

.shop-refine-btn.active .shop-refine-icon span:last-child {
  width: 18px;
}

@media screen and (max-width: 991px) {
  /* Show refine button on mobile/tablet */
  .shop-refine-btn {
    display: flex !important;
    margin-top: 24px !important;
    margin-bottom: 0 !important;
  }

  /* Kill the 100px margin-top from responsive.css, add generous space */
  .shop_grid_product_area {
    margin-top: 48px !important;
  }

  /* "SHOP" label above products */
  .shop_grid_product_area::before {
    display: block !important;
    content: 'SHOP' !important;
    font-size: 8px !important;
    letter-spacing: 0.36em !important;
    color: #bbb !important;
    margin-bottom: 28px !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
  }

  /* Sidebar — always display:block, hide/show via max-height only.
     !important beats responsive.css .hide-sort { display:none } */
  .single_product_desc,
  .single_product_desc.hide-sort,
  .single_product_desc.show-sort {
    display: block !important;
    overflow: hidden !important;
    margin-top: 0 !important;
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.3s ease;
  }

  .single_product_desc,
  .single_product_desc.hide-sort {
    max-height: 0 !important;
    opacity: 0;
  }

  .single_product_desc.show-sort {
    max-height: 2000px !important;
    opacity: 1;
  }

  /* Sidebar column — no bottom gap when filter is closed */
  .col-12.col-md-4.col-lg-3 {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Widgets inside open filter panel */
  .single_product_desc .widget {
    padding-top: 24px !important;
    margin-bottom: 0 !important;
  }

  .single_product_desc .widget.mb-50 {
    margin-bottom: 16px !important;
  }

  .single_product_desc .widget-title {
    font-size: 8px !important;
    letter-spacing: 0.32em !important;
    margin-bottom: 16px !important;
  }

  .luxury-size-filter {
    gap: 8px !important;
    flex-wrap: wrap !important;
  }
}

/* Product-details page — override shop filter sidebar rules that hide .single_product_desc */
@media screen and (max-width: 991px) {
    .single_product_details_area .single_product_desc {
        max-height: none !important;
        opacity: 1 !important;
        overflow: visible !important;
        display: block !important;
        margin-top: 32px !important;
    }
}

/* ===== Luxury Price Slider ===== */
.luxury-price-slider {
  padding: 0 2px;
}

.lps-track-wrap {
  position: relative;
  height: 1px;
  margin: 28px 6px 18px;
}

.lps-track {
  position: absolute;
  inset: 0;
  background: #e0e0e0;
}

.lps-fill {
  position: absolute;
  height: 100%;
  background: #111;
  pointer-events: none;
}

.lps-input {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  height: 20px;
  background: transparent;
  pointer-events: none;
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
}

.lps-input::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #111;
  cursor: pointer;
  pointer-events: all;
  transition: transform 0.15s ease;
}

.lps-input::-webkit-slider-thumb:hover,
.lps-input:active::-webkit-slider-thumb {
  transform: scale(1.5);
}

.lps-input::-moz-range-thumb {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #111;
  border: none;
  cursor: pointer;
  pointer-events: all;
  transition: transform 0.15s ease;
}

.lps-values {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: 9px;
  letter-spacing: 0.12em;
  color: #888;
  margin-top: 6px;
}

.lps-dash {
  margin: 0 3px;
  color: #ccc;
}

.lps-currency {
  margin-left: 2px;
  color: #bbb;
}

/* ===== Luxury Size Filter ===== */
.luxury-size-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}

.lsf-btn {
  background: none;
  border: none;
  border-bottom: 1px solid transparent;
  padding: 5px 0;
  margin-right: 20px;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.16em;
  color: #aaa;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease;
  outline: none;
  font-family: inherit;
  line-height: 1.6;
}

.lsf-btn:hover,
.lsf-btn.active {
  color: #111;
  border-bottom-color: #111;
}

/* --- Luxury pagination — sve veličine --- */
.shop_pagination_area {
  text-align: center;
  margin-top: 32px;
}
.pagination-sm .page-link {
  border: none !important;
  border-bottom: 1px solid transparent !important;
  border-radius: 0 !important;
  width: auto !important;
  padding: 4px 10px !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em;
  color: #999 !important;
  background: transparent !important;
  line-height: 1.8 !important;
  margin: 0 2px !important;
}
.pagination-sm .page-item.active .page-link,
.pagination-sm .page-link:hover {
  color: #111 !important;
  border-bottom: 1px solid #111 !important;
  background: transparent !important;
}
