/* ==========================================================================
   IBA Beauty · Aurora — premium skin
   A visual layer over the existing theme: same markup and structure, new look.
   ========================================================================== */

:root {
    --ink: #17121c;
    --ink-2: #2a2230;
    --ink-soft: #4d4452;
    --muted: #857a86;
    --paper: #fbf8f3;
    --shea: #f4ede3;
    --shea-2: #ece2d4;
    --line: rgba(23, 18, 28, .1);
    --line-strong: rgba(23, 18, 28, .2);
    --gold: #d4a04a;
    --gold-soft: #ecd3a0;
    --gold-ink: #8d6420;
    --ember: #a9502f;

    --f-display: "Bodoni Moda", "Didot", "Bodoni 72", Georgia, serif;
    --f-ui: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
    --r: 18px;
    --r-lg: 28px;
    --ease: cubic-bezier(.2, .7, .2, 1);
    --shadow: 0 24px 50px -28px rgba(23, 18, 28, .38);
    --shadow-soft: 0 14px 34px -24px rgba(23, 18, 28, .32);

    /* the theme reads these, re-pointed at the new palette */
    --color-text: var(--ink);
    --color-body-text: var(--ink-soft);
    --color-body: var(--paper);
    --color-text-hover-field: var(--gold-ink);
    --color-text-breadcrumb: var(--gold-ink);
    --color-bg-breadcrumb: var(--shea);
    --color-btn-primary: var(--ink);
    --color-btn-primary-text: var(--paper);
    --color-btn-secondary: var(--gold);
    --color-btn-secondary-text: var(--ink);
    --color-product-primary: var(--ink);
    --color-product-primary-text: var(--paper);
    --color-product-secondary: var(--gold);
    --color-product-secondary-text: var(--ink);
    --font-stack-header: var(--f-display);
    --font-stack-body: var(--f-ui);
    --font-stack-subheading: var(--f-ui);
    --font-letterspace: 0;
    --colorFooterbg: var(--ink);
    --colorFooterBottombg: #100c14;
}

/* ---------- foundations ---------- */
html body {
    background: var(--paper) !important;
    color: var(--ink-soft);
    font-family: var(--f-ui) !important;
    font-size: 15px;
    letter-spacing: 0 !important;
    -webkit-font-smoothing: antialiased;
}
html body p, html body li, html body a, html body span, html body div,
html body input, html body select, html body textarea, html body button, html body label, html body td, html body th {
    font-family: inherit;
    letter-spacing: inherit;
}
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body .h1, html body .h2, html body .h3, html body .h4 {
    font-family: var(--f-display) !important;
    font-weight: 500;
    color: var(--ink);
    letter-spacing: -.01em !important;
}
html body a { transition: color .25s var(--ease), background-color .25s var(--ease), border-color .25s var(--ease); }
html body a:hover { color: var(--gold-ink); }
html body ::selection { background: var(--gold-soft); color: var(--ink); }
html body :focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.page-wrapper, .main-content { background: var(--paper) !important; }

/* shared buttons */
html body .btn,
html body a.btn,
html body button.btn,
html body input.btn {
    font-family: var(--f-ui) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    transition: background-color .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease) !important;
}
html body .btn:hover { transform: translateY(-1px); }
html body .btn::after, html body .btn::before { border-radius: 999px !important; }

/* section titles everywhere: script/condensed replaced by an editorial serif with a gold eyebrow */
html body .section-header .tt-title,
html body .tthometab-title .tt-title,
html body .section-header h2,
html body .brand-bar .tt-title {
    font-family: var(--f-display) !important;
    font-size: clamp(34px, 4vw, 54px) !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
    text-transform: none !important;
    letter-spacing: -.02em !important;
    color: var(--ink) !important;
    margin: 0 0 14px !important;
}
html body .section-header .tt-title::first-letter { text-transform: uppercase; }
html body .ttsub-title,
html body .section-header .ttsub-title {
    font-family: var(--f-ui) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .28em !important;
    text-transform: uppercase !important;
    color: var(--gold-ink) !important;
    line-height: 1 !important;
    margin-bottom: 14px !important;
    display: inline-flex !important;
    align-items: center;
    gap: 12px;
}
html body .ttsub-title::before, html body .ttsub-title::after { content: ""; width: 28px; height: 1px; background: currentColor; opacity: .6; }
html body .section-header { margin-bottom: 40px !important; text-align: center; }
html body .section-header .tt-title::after,
html body .tthometab-title::after,
html body .section-header::after { display: none !important; }

/* carousel dots & arrows */
html body .owl-dots { margin-top: 34px !important; display: flex; justify-content: center; gap: 8px; }
html body .owl-dots .owl-dot span,
html body .owl-theme .owl-dots .owl-dot span {
    width: 8px !important; height: 8px !important; margin: 0 !important; border-radius: 99px !important;
    background: var(--line-strong) !important; transition: width .35s var(--ease), background .35s var(--ease) !important;
}
html body .owl-dots .owl-dot.active span,
html body .owl-theme .owl-dots .owl-dot.active span { width: 30px !important; background: var(--ink) !important; }

/* ==========================================================================
   Header
   ========================================================================== */
html body .site-header.header_2,
html body .site-header.header_2 .sticky_header,
html body .site-header.header_2 .sticky_header.fixed {
    background: rgba(251, 248, 243, .94) !important;
    -webkit-backdrop-filter: saturate(1.4) blur(14px);
    backdrop-filter: saturate(1.4) blur(14px);
    box-shadow: 0 1px 0 var(--line) !important;
}
html body .site-header.header_2 .sticky_header.fixed { box-shadow: 0 12px 30px -22px rgba(23, 18, 28, .45) !important; }
html body .header_2 .main-header { min-height: 86px; display: flex; align-items: center; }
html body .header_2 .header-logo img { max-height: 54px; width: auto; transition: transform .4s var(--ease); }
html body .header_2 .header-logo a:hover img { transform: scale(1.02); }

@media (min-width: 992px) {
    html body #tt-megamenu .tt-mega_menu .tt_menus_ul > li > a,
    html body #tt-megamenu .tt-mega_menu .tt_menus_ul > li > a .tt_menu_item_heading_title {
        color: var(--ink) !important;
        font-family: var(--f-ui) !important;
        font-size: 12.5px !important;
        font-weight: 600 !important;
        letter-spacing: .18em !important;
    }
    html body #tt-megamenu .tt-mega_menu .tt_menus_ul > li:hover > a,
    html body #tt-megamenu .tt-mega_menu .tt_menus_ul > li:hover > a .tt_menu_item_heading_title { color: var(--gold-ink) !important; }
    html body .site-header.header_2 #tt-megamenu .tt-mega_menu .tt_menus_ul > li > a::before {
        background-color: var(--gold) !important; height: 1px !important; bottom: 22px !important;
    }
    html body .site-header.header_2 #tt-megamenu .tt-mega_menu li.tt_menu_item .tt_sub_menu_wrap,
    html body .header_style_2 .more_menu .tt_sub_menu_wrap {
        border-top: 0 !important;
        border-radius: 0 0 var(--r) var(--r) !important;
        background: var(--paper) !important;
        box-shadow: var(--shadow) !important;
        padding: 26px 28px !important;
    }
    html body #tt-megamenu .tt_sub_menu .sub_mn_title,
    html body #tt-megamenu .tt_sub_menu .sub_mn_title a {
        font-family: var(--f-display) !important;
        font-size: 22px !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        color: var(--ink) !important;
    }
    html body #tt-megamenu .tt_sub_menu .sub_mn_title a:hover { color: var(--gold-ink) !important; }
    html body #tt-megamenu .tt_sub_menu_linklist li a {
        font-size: 14px !important; letter-spacing: .02em !important; text-transform: none !important; color: var(--ink-soft) !important; padding: 6px 0 !important;
    }
    html body #tt-megamenu .tt_sub_menu_linklist li a:hover { color: var(--gold-ink) !important; padding-left: 4px !important; }
}

/* icons */
html body .site-header__search .serach_icon > i,
html body .myaccount.icon-btn .dropdown-toggle > i,
html body .header_2 .wrapper-top-cart > .site-header_cart_link::before,
html body .header_2 .wrapper-top-cart > .site-header_cart_link i,
html body .nav-menu-wrap .menu_toggle_wrap > button,
html body .nav-menu-wrap .menu_toggle_wrap > button i { color: var(--ink) !important; font-size: 23px; }
html body .tt-right-icon .icon-btn > span,
html body .tt-right-icon .icon-btn .site-header_cart_link {
    width: 44px; height: 44px; border-radius: 50%; display: inline-flex !important; align-items: center; justify-content: center;
    transition: background .25s var(--ease);
}
html body .tt-right-icon .icon-btn > span:hover,
html body .tt-right-icon .icon-btn .site-header_cart_link:hover { background: var(--shea); }
html body .site-header__search .serach_icon:hover > i,
html body .site-header__search .serach_icon.active > i,
html body .myaccount .dropdown-toggle:hover > i,
html body .myaccount .dropdown-toggle.open > i { color: var(--gold-ink) !important; }
html body .site-header__cart-count .cart-products-count,
html body #CartCount_sticky .cart-products-count {
    background: var(--ink) !important; color: var(--gold-soft) !important; font-family: var(--f-ui) !important;
    font-weight: 700 !important; font-size: 10px !important; min-width: 18px; height: 18px; line-height: 18px !important; border-radius: 99px !important;
    box-shadow: 0 0 0 2px var(--paper);
}

/* dropdown panels: search, account, mini cart */
html body .site-header__search.icon-btn .search_wrapper,
html body .myaccount .customer_account,
html body #slidedown-cart {
    border-top: 0 !important;
    border-radius: var(--r) !important;
    background: var(--paper) !important;
    box-shadow: var(--shadow) !important;
    border: 1px solid var(--line) !important;
    margin-top: 10px;
}
html body .site-header__search.icon-btn .search_wrapper::before,
html body .myaccount .customer_account::before,
html body .header_2 .site-header__cart #slidedown-cart::after { display: none !important; }
html body .search_wrapper .search-bar { border-radius: 999px !important; border: 1px solid var(--line-strong) !important; overflow: hidden; background: #fff; }
html body .search_wrapper .input-group-field {
    border: 0 !important; background: transparent !important; font-size: 15px !important; color: var(--ink) !important; height: 50px !important; padding: 0 20px !important; box-shadow: none !important;
}
html body .search_wrapper .search-submit { background: var(--ink) !important; color: var(--paper) !important; border-radius: 999px !important; width: 42px; height: 42px; margin: 4px !important; padding: 0 !important; }
html body .search_wrapper .search-submit:hover { background: var(--gold) !important; color: var(--ink) !important; }
html body .search-results {
    background: var(--paper) !important; border: 1px solid var(--line) !important; border-radius: var(--r) !important;
    box-shadow: var(--shadow) !important; padding: 8px !important; margin-top: 10px !important; overflow: hidden;
}
html body .search-results li { border: 0 !important; border-radius: 12px; }
html body .search-results li a { display: flex !important; align-items: center; gap: 14px; padding: 8px !important; color: var(--ink) !important; }
html body .search-results li:hover, html body .search-results li.ac_over { background: var(--shea) !important; }
html body .search-results .thumbnail img { width: 54px; height: 54px; object-fit: contain; background: #fff; border-radius: 10px; mix-blend-mode: multiply; }
html body .search-results .title { font-size: 14px !important; color: var(--ink) !important; text-transform: none !important; letter-spacing: 0 !important; }
html body .search-results .price { color: var(--gold-ink) !important; font-weight: 600; }
html body .ui-autocomplete.ui-menu { display: none !important; }

html body .myaccount .customer_account { padding: 14px !important; min-width: 220px; }
html body .myaccount .customer_account ul li a,
html body .myaccount .customer_account a {
    display: flex !important; align-items: center; gap: 10px; padding: 10px 12px !important; border-radius: 10px;
    color: var(--ink) !important; font-size: 14px !important; letter-spacing: .02em !important; text-transform: none !important;
}
html body .myaccount .customer_account a:hover { background: var(--shea) !important; color: var(--ink) !important; }
html body .myaccount .customer_account .wishlist-icon-div,
html body .myaccount .customer_account .compare-icon-div,
html body .myaccount .customer_account .logout-icon-div { border-top: 1px solid var(--line) !important; margin-top: 6px; padding-top: 6px; }
html body .myaccount .customer_account .wishlist-icon { display: inline !important; }

html body #slidedown-cart { width: 360px !important; padding: 18px !important; }
html body #slidedown-cart .mini-products-list .item { display: flex; gap: 14px; padding: 12px 0 !important; border-bottom: 1px solid var(--line) !important; position: relative; }
html body #slidedown-cart .product-image img { width: 72px !important; height: 72px !important; object-fit: contain; background: #fff; border-radius: 12px; mix-blend-mode: multiply; }
html body #slidedown-cart .product-name a { font-family: var(--f-display) !important; font-size: 16px !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--ink) !important; }
html body #slidedown-cart .variants { display: none !important; }
html body #slidedown-cart .cart-collateral { color: var(--muted) !important; font-size: 13px; }
html body #slidedown-cart .cart-collateral .price { color: var(--ink) !important; font-weight: 600; }
html body #slidedown-cart .btn-remove { color: var(--muted) !important; }
html body #slidedown-cart .btn-remove:hover { color: var(--ember) !important; }
html body #slidedown-cart .summary { padding: 14px 0 !important; }
html body #slidedown-cart .summary .total .label { font-size: 11px !important; letter-spacing: .2em !important; text-transform: uppercase; color: var(--muted) !important; }
html body #slidedown-cart .summary .total .price { font-family: var(--f-display) !important; font-size: 22px !important; color: var(--ink) !important; }
html body #slidedown-cart .actions { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px; }
html body #slidedown-cart .actions .btn { width: 100% !important; min-height: 46px; background: var(--ink) !important; color: var(--paper) !important; border: 1px solid var(--ink) !important; margin: 0 !important; }
html body #slidedown-cart .actions .btn.text-cart { background: transparent !important; color: var(--ink) !important; }
html body #slidedown-cart .actions .btn:hover { background: var(--gold) !important; border-color: var(--gold) !important; color: var(--ink) !important; }
html body #slidedown-cart .actions .btn i { display: none; }
html body #slidedown-cart .no-items p { font-family: var(--f-display); font-size: 20px; color: var(--ink); text-align: center; margin: 14px 0; }

/* ==========================================================================
   Delivery strip (usps)
   ========================================================================== */
html body .usp-section,
html body .usps {
    background: var(--ink) !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
}
html body .usps { min-height: 44px; }
html body .usps .usp {
    color: var(--gold-soft) !important;
    font-family: var(--f-ui) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: .2em !important;
    text-transform: uppercase;
    padding: 13px 0;
}
html body .usps .usp img { filter: invert(1) sepia(.6) saturate(2.5) hue-rotate(-12deg) brightness(.95); width: 20px; height: 20px; margin-right: 14px; }

/* ==========================================================================
   Hero slider
   ========================================================================== */
html body .home-slider .homeslider .slides .slide { position: relative; }
html body .home-slider .homeslider .slides .slide > a { display: block; position: relative; }
html body .home-slider .homeslider .slides .slide > a::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background:
        linear-gradient(90deg, rgba(23, 18, 28, .66) 0%, rgba(23, 18, 28, .28) 42%, rgba(23, 18, 28, 0) 70%),
        linear-gradient(0deg, rgba(23, 18, 28, .35) 0%, rgba(23, 18, 28, 0) 35%);
}
html body .home-slider .homeslider .slides .slide img { max-height: 86vh; width: 100%; object-fit: cover; }
html body .home-slider .slider-content-wrap { z-index: 2; }
html body .home-slider .slider-content-wrap.content-right { text-align: left !important; }
html body .home-slider .slider-subtitle {
    font-family: var(--f-ui) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: .3em !important;
    text-transform: uppercase !important;
    color: var(--gold-soft) !important;
    line-height: 1.4 !important;
    margin-bottom: 22px !important;
    display: inline-flex; align-items: center; gap: 14px;
}
html body .home-slider .slider-subtitle::before { content: ""; width: 36px; height: 1px; background: currentColor; flex: none; }
html body .home-slider .slider-title {
    font-family: var(--f-display) !important;
    font-size: clamp(40px, 5.4vw, 84px) !important;
    font-weight: 400 !important;
    line-height: 1.02 !important;
    letter-spacing: -.02em !important;
    text-transform: none !important;
    color: #fff !important;
    max-width: 11ch;
    text-shadow: 0 2px 30px rgba(0, 0, 0, .25);
}
html body .home-slider .slider-button { margin-top: 34px !important; }
html body .home-slider .slider-button > a.btn {
    background: var(--paper) !important; color: var(--ink) !important;
    padding: 0 34px !important; min-height: 54px; line-height: 54px !important; height: auto !important;
}
html body .home-slider .slider-button > a.btn::after { display: none !important; }
html body .home-slider .slider-button > a.btn:hover { background: var(--gold) !important; color: var(--ink) !important; }
html body .homeslider .slides .slick-arrow {
    width: 54px !important; height: 54px !important; border-radius: 50% !important;
    background: rgba(251, 248, 243, .16) !important; color: #fff !important;
    border: 1px solid rgba(255, 255, 255, .35) !important;
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
html body .homeslider .slides .slick-arrow:hover { background: var(--paper) !important; color: var(--ink) !important; }
html body .homeslider .slick-dots li button { background: rgba(255, 255, 255, .45) !important; border-radius: 99px !important; }
html body .homeslider .slick-dots li.slick-active button { background: var(--gold) !important; }

/* ==========================================================================
   Trending products: tabs + cards
   ========================================================================== */
html body .product-tab-type-1.has_bg { background: transparent !important; }
html body #shopify-section-template--15269797789851__product-tab-model { padding-top: clamp(64px, 8vw, 110px) !important; }
html body .tthometab-title .tt-title::before {
    content: "The edit"; display: block; margin: 0 auto 16px;
    font-family: var(--f-ui); font-size: 12px; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: var(--gold-ink);
}
html body .TTProduct-Tab .nav-tabs {
    display: inline-flex !important; gap: 4px; padding: 5px !important; margin: 0 auto 44px !important;
    border: 1px solid var(--line) !important; border-radius: 999px; background: #fff;
    position: relative; left: 50%; transform: translateX(-50%);
}
html body .TTProduct-Tab .nav-tabs > li { margin: 0 !important; float: none !important; }
html body .TTProduct-Tab .nav-tabs > li > a {
    border: 0 !important; border-radius: 999px !important; background: transparent !important; color: var(--ink-soft) !important;
    font-family: var(--f-ui) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase;
    padding: 12px 26px !important; margin: 0 !important; line-height: 1 !important;
}
html body .TTProduct-Tab .nav-tabs > li > a::after { display: none !important; }
html body .TTProduct-Tab .nav-tabs > li > a:hover { color: var(--ink) !important; background: var(--shea) !important; }
html body .TTProduct-Tab .nav-tabs > li.active > a,
html body .TTProduct-Tab .nav-tabs > li.active > a:focus,
html body .TTProduct-Tab .nav-tabs > li.active > a:hover { background: var(--ink) !important; color: var(--paper) !important; }

/* product card */
html body .product-wrapper,
html body .product_container {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}
html body .grid-view-item, html body .item-row { padding-left: 12px !important; padding-right: 12px !important; }
html body .product-wrapper .product-thumb {
    position: relative; border-radius: var(--r) !important; overflow: hidden !important;
    background: #fff !important; border: 0 !important;
    box-shadow: 0 0 0 1px var(--line) inset;
    transition: box-shadow .5s var(--ease), transform .5s var(--ease);
}
html body .product-wrapper:hover .product-thumb { box-shadow: var(--shadow); transform: translateY(-4px); }
html body .product-wrapper .product-thumb::after {
    content: ""; position: absolute; inset: auto 0 0 0; height: 55%; pointer-events: none; z-index: 1;
    background: radial-gradient(90% 80% at 50% 120%, rgba(212, 160, 74, .2), transparent 70%);
    opacity: 0; transition: opacity .5s var(--ease);
}
html body .product-wrapper:hover .product-thumb::after { opacity: 1; }
html body .product-wrapper .product-image,
html body .product-image {
    width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; background: #fff !important; border: 0 !important;
}
html body .product-wrapper .product-image img,
html body .product-wrapper .product-image .second-productimg img {
    width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 10%;
    transition: transform .9s var(--ease), opacity .5s var(--ease);
}
html body .product-wrapper:hover .product-image img { transform: scale(1.05); }
html body .product-wrapper .grid-view-item__link { display: block; height: 100%; }
html body .flip-countdown, html body .product-wrapper .loader, html body .product-qty { display: none !important; }
html body .labels-wrap { position: absolute; left: 14px; top: 14px; z-index: 3; display: flex; flex-direction: column; gap: 6px; }
html body .labels-wrap > div {
    background: var(--ink) !important; color: var(--gold-soft) !important; border-radius: 999px !important; padding: 6px 12px !important;
    font-size: 10px !important; font-weight: 700 !important; letter-spacing: .16em !important; text-transform: uppercase; line-height: 1 !important;
}
html body .sold-out-tag .tag { background: var(--paper) !important; color: var(--ink) !important; border-radius: 999px; padding: 6px 14px !important; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }

/* action buttons: a floating glass dock that rises on hover */
html body .product-wrapper .btn_wrapper {
    position: absolute !important; left: 50% !important; bottom: 16px !important; top: auto !important; z-index: 4;
    transform: translate(-50%, 14px); opacity: 0;
    display: flex !important; gap: 6px; padding: 6px !important; min-height: 0 !important; width: auto !important;
    border-radius: 999px; background: rgba(251, 248, 243, .9); box-shadow: var(--shadow-soft);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    transition: transform .45s var(--ease), opacity .45s var(--ease);
}
html body .product-wrapper:hover .btn_wrapper,
html body .product-wrapper:focus-within .btn_wrapper { transform: translate(-50%, 0); opacity: 1; }
html body .product-wrapper .btn_wrapper .pro_btn { margin: 0 !important; position: static !important; opacity: 1 !important; transform: none !important; }
html body .product-wrapper .btn_wrapper .btn,
html body .product-wrapper .btn_wrapper .pro_btn > a,
html body .product-wrapper .btn_wrapper .added-wishlist,
html body .product-wrapper .btn_wrapper .add_to_wishlist {
    width: 42px !important; height: 42px !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important;
    border-radius: 50% !important; display: inline-flex !important; align-items: center; justify-content: center;
    background: transparent !important; color: var(--ink) !important; border: 0 !important; font-size: 19px !important; line-height: 1 !important;
}
html body .product-wrapper .btn_wrapper .add_tocart .btn { background: var(--ink) !important; color: var(--paper) !important; }
html body .product-wrapper .btn_wrapper .btn:hover,
html body .product-wrapper .btn_wrapper .added-wishlist:hover { background: var(--gold) !important; color: var(--ink) !important; transform: none; }
html body .product-wrapper .btn_wrapper .added-wishlist { color: var(--ember) !important; }
html body .product-wrapper .btn_wrapper i { font-size: 19px !important; margin: 0 !important; line-height: 1 !important; }
html body .product-wrapper .btn_wrapper .mdi-cached { display: none !important; }
html body .product-wrapper .btn_wrapper .tooltip-label {
    position: absolute; bottom: calc(100% + 10px); left: 50%; transform: translateX(-50%) translateY(4px);
    background: var(--ink) !important; color: var(--paper) !important; border-radius: 8px; padding: 6px 10px !important;
    font-size: 10px !important; letter-spacing: .14em !important; text-transform: uppercase; white-space: nowrap; line-height: 1 !important;
    opacity: 0; visibility: hidden; transition: .25s var(--ease); pointer-events: none;
}
html body .product-wrapper .btn_wrapper .tooltip-label::after, html body .product-wrapper .btn_wrapper .tooltip-label::before { display: none !important; }
html body .product-wrapper .btn_wrapper .pro_btn { position: relative !important; }
html body .product-wrapper .btn_wrapper .pro_btn:hover .tooltip-label { opacity: 1; visibility: visible; transform: translateX(-50%); }
html body .add-to-cart-disable { opacity: .35; pointer-events: none; }

/* text */
html body .product-wrapper .product-description { padding: 18px 4px 6px !important; text-align: left !important; background: transparent !important; }
html body .product-wrapper .grid-view-item__vendor { display: none !important; }
html body .product-wrapper .h4.grid-view-item__title {
    display: block !important; -webkit-line-clamp: unset !important; overflow: visible !important; margin: 0 !important;
    font-family: var(--f-display) !important; font-size: 18px !important; font-weight: 400 !important; line-height: 1.32 !important;
    text-transform: none !important; letter-spacing: 0 !important; text-align: left !important;
}
html body .product-wrapper .h4.grid-view-item__title::first-line {
    font-family: var(--f-ui); font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--gold-ink);
}
html body .product-wrapper .h4.grid-view-item__title a { color: var(--ink) !important; text-transform: none !important; }
html body .product-wrapper .h4.grid-view-item__title a:hover { color: var(--gold-ink) !important; }
html body .product-wrapper .grid-view-item__meta { text-align: left !important; }
html body .product-wrapper .grid-view-item__meta .product-price__price,
html body .grid-link__org_price .price { font-family: var(--f-ui) !important; font-size: 15px !important; font-weight: 600 !important; color: var(--ink) !important; }
html body .grid-link__org_price .compare_price { color: var(--muted) !important; font-weight: 400 !important; font-size: 13px !important; }
html body .grid-link__org_price .discount-percentage { background: var(--ember) !important; color: #fff !important; border-radius: 99px; padding: 3px 8px; font-size: 11px; }
html body .spr-badges { display: none !important; }

/* carousel navigation (prev/next) */
html body .customNavigation .navigation_wrap a,
html body .customNavigation a.prev,
html body .customNavigation a.next {
    width: 50px !important; height: 50px !important; border-radius: 50% !important; border: 1px solid var(--line-strong) !important;
    background: var(--paper) !important; color: var(--ink) !important; display: inline-flex !important; align-items: center; justify-content: center;
    font-size: 0 !important; transition: .25s var(--ease);
}
html body .customNavigation .navigation_wrap a span,
html body .customNavigation .navigation_wrap a::before { font-size: 20px !important; }
html body .customNavigation .navigation_wrap a:hover { background: var(--ink) !important; color: var(--paper) !important; border-color: var(--ink) !important; }

/* ==========================================================================
   Campaign banners
   ========================================================================== */
html body .ttcms-banner { padding: clamp(56px, 7vw, 100px) 0 0 !important; }
html body .ttcms-banner .ttcmsbanner .ttbanner .banner-block {
    position: relative; border-radius: var(--r-lg) !important; overflow: hidden !important; isolation: isolate;
    box-shadow: var(--shadow-soft);
}
html body .ttcms-banner .ttcmsbanner .ttbanner .banner-block > a { height: clamp(240px, 24vw, 340px) !important; display: block; overflow: hidden; }
html body .ttcms-banner .ttcmsbanner .ttbanner .banner-block > a img {
    width: 100%; height: 100% !important; object-fit: cover !important; transition: transform 1.4s var(--ease);
}
html body .ttcms-banner .ttcmsbanner .ttbanner .banner-block:hover > a img { transform: scale(1.05); }
html body .ttcms-banner .ttcmsbanner .ttbanner .banner-block::after {
    content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25);
}
html body .ttcmsbanner .ttbanner-wrap .ttbanner-content .ttbanner-button a.subbtn {
    background: var(--ink) !important; color: var(--paper) !important; min-height: 48px; padding: 0 28px !important; line-height: 48px !important; height: auto !important;
}
html body .ttcmsbanner .ttbanner-wrap .ttbanner-content .ttbanner-button a.subbtn::after { display: none !important; }
html body .ttcmsbanner .ttbanner-wrap .ttbanner-content .ttbanner-button a.subbtn:hover { background: var(--gold) !important; color: var(--ink) !important; }

/* ==========================================================================
   Testimonials
   ========================================================================== */
html body .testimonials { padding-top: clamp(64px, 8vw, 110px) !important; }
html body .tt-testimonial-wrap,
html body .testimonials .tt-testimonial-wrap {
    background: var(--shea) !important; border: 0 !important; border-radius: var(--r-lg) !important;
    padding: clamp(36px, 5vw, 70px) clamp(20px, 4vw, 60px) !important; position: relative; overflow: hidden;
}
html body .tt-testimonial-wrap::before {
    content: "\201C"; position: absolute; right: 4%; top: -40px; font-family: var(--f-display); font-style: italic;
    font-size: 320px; line-height: 1; color: rgba(212, 160, 74, .22); pointer-events: none;
}
html body .tt-testimonial-wrap > .container { border: 0 !important; background: transparent !important; outline: 0 !important; box-shadow: none !important; }
html body .testimonials_wrap .owl-stage-outer { height: auto !important; }
html body .tt-testimonial-wrap .testimonial-block { max-height: none !important; display: flex !important; align-items: center; gap: 20px; background: transparent !important; border: 0 !important; }
html body .tt-testimonial-wrap .testimonial-block .authorimg img {
    width: 120px !important; height: 120px !important; object-fit: cover; border-radius: 50% !important;
    border: 0 !important; box-shadow: 0 0 0 6px var(--paper), 0 0 0 7px var(--gold);
}
html body .tt-testimonial-wrap .testimonial-img::before,
html body .tt-testimonial-wrap .testimonial-img::after { display: none !important; }
html body .tt-testimonial-wrap .testimonial-img { border: 0 !important; text-align: center; }
html body .tt-testimonial-wrap .testimonial-user-title,
html body .tt-testimonial-wrap .testimonial-block .testimonial-user-title span {
    font-family: var(--f-ui) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .14em !important;
    text-transform: uppercase !important; color: var(--ink) !important; margin-top: 18px;
}
html body .tt-testimonial-wrap .testimonial-user-desc span { font-size: 13px !important; color: var(--muted) !important; font-style: normal !important; }
html body .tt-testimonial-wrap .testimonial-detail { border: 0 !important; }
html body .tt-testimonial-wrap .testimonial-detail::before, html body .tt-testimonial-wrap .testimonial-detail::after { display: none !important; }
html body .tt-testimonial-wrap .testimonial-desc {
    font-family: var(--f-display) !important; font-style: italic !important; font-weight: 400 !important;
    font-size: clamp(20px, 2.1vw, 30px) !important; line-height: 1.4 !important; color: var(--ink) !important; letter-spacing: -.005em !important;
}
html body .testimonials .owl-dots { margin-top: 26px !important; }

/* ==========================================================================
   Blogs
   ========================================================================== */
html body .feature-blog { padding-top: clamp(64px, 8vw, 110px) !important; }
html body #blog_slider .tt-blog-content { padding: 0 12px !important; }
html body #blog_slider .tt-blog-content .blog_image_holder {
    border-radius: var(--r) !important; overflow: hidden !important; position: relative; background: var(--shea);
}
html body #blog_slider.grid-blog-slider .article__grid-image img {
    height: 300px !important; width: 100%; object-fit: cover !important; transition: transform 1.2s var(--ease);
}
html body #blog_slider .tt-blog-content:hover .article__grid-image img { transform: scale(1.06); }
html body #blog_slider .tt-blog-content .blog_image_holder .bloglinks a {
    border-radius: 50% !important; background: var(--paper) !important; color: var(--ink) !important; border: 0 !important;
}
html body #blog_slider .tt-blog-content .blog_image_holder .bloglinks a:hover { background: var(--gold) !important; color: var(--ink) !important; }
html body #blog_slider .blog-content-wrap { padding: 22px 2px 0 !important; text-align: left !important; background: transparent !important; }
html body #blog_slider .article__title,
html body #blog_slider .article__title a {
    font-family: var(--f-display) !important; font-size: 22px !important; font-weight: 400 !important; line-height: 1.25 !important;
    text-transform: none !important; letter-spacing: 0 !important; color: var(--ink) !important;
}
html body #blog_slider .article__title a:hover { color: var(--gold-ink) !important; }
html body #blog_slider .article__title { display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 10px !important; }
html body #blog_slider .article__grid-excerpt,
html body #blog_slider .article__grid-excerpt * {
    font-family: var(--f-ui) !important; font-size: 14px !important; line-height: 1.6 !important; color: var(--ink-soft) !important;
    font-style: normal !important; font-weight: 400 !important; margin: 0 !important; background: none !important;
}
html body .design_1 #blog_slider .tt-blog-content .article__meta-buttons a.read-more {
    display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; color: var(--ink) !important;
    font-size: 11px !important; font-weight: 700 !important; letter-spacing: .2em !important; text-transform: uppercase;
    border-bottom: 1px solid var(--gold); padding-bottom: 4px;
}
html body .design_1 #blog_slider .tt-blog-content .article__meta-buttons a.read-more:hover { color: var(--gold-ink) !important; }
html body .feature-blog .section-header .ttsub-title { font-family: var(--f-ui) !important; }

/* ==========================================================================
   Brands
   ========================================================================== */
html body .brand-bar { padding: clamp(64px, 8vw, 110px) clamp(16px, 4vw, 56px) clamp(40px, 5vw, 70px) !important; background: var(--paper); }
html body .brand-bar .section-header { margin-bottom: 36px !important; }
html body .brand-bar .section-header .tt-title::before {
    content: "The houses we carry"; display: block; margin: 0 auto 16px;
    font-family: var(--f-ui); font-size: 12px; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: var(--gold-ink);
}
html body .brand-bar .owl-stage-outer { height: auto !important; }
html body .brand-bar .owl-item { padding: 0 8px; }
html body .brand-bar__item { height: auto !important; }
html body .brand-bar__link {
    display: flex !important; align-items: center; justify-content: center; aspect-ratio: 16 / 10; padding: 18% !important;
    background: #fff; border-radius: var(--r); box-shadow: 0 0 0 1px var(--line) inset; transition: box-shadow .4s var(--ease), transform .4s var(--ease);
}
html body .brand-bar__link:hover { box-shadow: var(--shadow-soft); transform: translateY(-3px); }
html body .brand-bar__image {
    width: 100% !important; max-width: 150px; height: 100% !important; max-height: 90px; object-fit: contain;
    filter: grayscale(1) contrast(1.05); opacity: .62; mix-blend-mode: multiply; transition: opacity .4s var(--ease), filter .4s var(--ease);
}
html body .brand-bar__link:hover .brand-bar__image { opacity: 1; filter: none; }

/* ==========================================================================
   Footer
   ========================================================================== */
html body .site-footer {
    background: var(--ink) !important; color: #cbbfb2 !important; margin-top: clamp(40px, 6vw, 90px); position: relative; overflow: hidden;
}
html body .site-footer::before {
    content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px;
    background: linear-gradient(90deg, transparent, var(--gold), var(--gold-soft), var(--gold), transparent);
}
html body .site-footer::after {
    content: ""; position: absolute; width: 900px; height: 900px; left: 50%; top: -620px; transform: translateX(-50%); border-radius: 50%;
    background: radial-gradient(circle, rgba(212, 160, 74, .16), transparent 62%); pointer-events: none;
}
html body .site-footer .footer-wrap { position: relative; z-index: 1; padding-top: clamp(56px, 7vw, 96px) !important; background: transparent !important; }
html body .site-footer .footer-logo img { width: 210px !important; }
html body .site-footer .footer-desc {
    font-family: var(--f-display) !important; font-size: clamp(18px, 1.6vw, 23px) !important; line-height: 1.5 !important;
    color: #efe6da !important; max-width: 680px; margin: 22px auto 0 !important; font-weight: 400;
}
html body .site-footer .footer-section { border-color: rgba(255, 255, 255, .1) !important; }
html body .site-footer .widget-title { display: none; }
html body .site-footer .contact-us ul { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 12px; }
html body .site-footer .contact-us li {
    width: auto !important; float: none !important; flex: 1 1 260px; max-width: 360px;
    display: flex !important; align-items: center; justify-content: center; gap: 12px;
    padding: 18px 22px !important; border: 1px solid rgba(255, 255, 255, .1); border-radius: var(--r); background: rgba(255, 255, 255, .03);
    font-size: 14px !important; color: #e6dccf !important;
}
html body .site-footer .contact-us li i,
html body .site-footer .contact-us li .mdi {
    color: var(--ink) !important; background: var(--gold); width: 36px; height: 36px; border-radius: 50%;
    display: inline-flex !important; align-items: center; justify-content: center; font-size: 17px !important; flex: none; position: static !important;
}
html body .site-footer .contact-us li p, html body .site-footer .contact-us li a { color: #e6dccf !important; margin: 0 !important; text-align: left; font-size: 14px !important; }
html body .site-footer .contact-us li .address { display: flex; align-items: center; gap: 12px; }
html body .site-footer .contact-us li a:hover { color: var(--gold-soft) !important; }
html body .site-footer .footer-bottom { border-top: 1px solid rgba(255, 255, 255, .1) !important; padding: 26px 0 30px !important; }
html body .site-footer .nav-secondary { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 6px 30px; }
html body .site-footer .nav-secondary li { margin: 0 !important; }
html body .site-footer .nav-secondary li::after, html body .site-footer .nav-secondary li::before { display: none !important; content: none !important; }
html body .site-footer .nav-secondary li a {
    color: #efe6da !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .2em !important; text-transform: uppercase;
}
html body .site-footer .nav-secondary li a:hover { color: var(--gold-soft) !important; }
html body .site-footer .copyright, html body .site-footer .copyright a, html body .site-footer .copyright small { color: #8f8478 !important; font-size: 12px !important; }
html body .site-footer .copyright { margin-top: 18px; }
html body .site-footer .copyright a:hover { color: var(--gold-soft) !important; }
html body #GotoTop {
    border-radius: 50% !important; background: var(--ink) !important; color: var(--gold-soft) !important; width: 48px !important; height: 48px !important;
    box-shadow: var(--shadow-soft); border: 1px solid rgba(255, 255, 255, .12);
}
html body #GotoTop:hover { background: var(--gold) !important; color: var(--ink) !important; }

/* ==========================================================================
   Popups kept by the theme: quick view, added-to-cart, compare, toasts
   ========================================================================== */
html body .quick-view .overlay, html body .ajax-success-modal .overlay { background: rgba(23, 18, 28, .55) !important; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
html body .quick-view .content,
html body .ajax-success-modal .cart-content,
html body .ajax-success-modal .modal-cart .content {
    background: var(--paper) !important; border-radius: var(--r-lg) !important; border: 0 !important; box-shadow: var(--shadow) !important; overflow: hidden;
}
html body .quick-view .product-img { background: #fff; }
html body .quick-view .product-title a, html body .ajax-success-modal .ajax-product-title {
    font-family: var(--f-display) !important; font-size: 28px !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--ink) !important;
}
html body .quick-view #QProductPrice { font-family: var(--f-display) !important; font-size: 26px !important; color: var(--ink) !important; }
html body .quick-view .add-to-cart-btn, html body .ajax-success-modal .btn {
    background: var(--ink) !important; color: var(--paper) !important; border: 0 !important; min-height: 50px; padding: 0 28px !important;
}
html body .quick-view .add-to-cart-btn:hover, html body .ajax-success-modal .btn:hover { background: var(--gold) !important; color: var(--ink) !important; }
html body .ajax-success-modal .added-to-cart.info { font-size: 11px !important; letter-spacing: .24em !important; color: var(--gold-ink) !important; font-weight: 700; }
html body .ajax-success-modal .continue-shopping { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); cursor: pointer; }
html body .ajax-success-modal .ajax-product-image { border-radius: 14px; background: #fff; }
html body #modalCompare1 .modal-content { border-radius: var(--r) !important; border: 0 !important; box-shadow: var(--shadow) !important; background: var(--paper) !important; }
html body .qty-box-set { border: 1px solid var(--line-strong) !important; border-radius: 999px !important; overflow: hidden; background: #fff; }
html body .qty-box-set input.quantity, html body .qty-box-set input.quantity1 { border: 0 !important; background: transparent !important; font-weight: 600; }
html body .qty-box-set .button { border: 0 !important; background: transparent !important; color: var(--ink) !important; }
html body .qty-box-set .button:hover { color: var(--gold-ink) !important; }
html body #toast-container > div {
    background-image: none !important; border-radius: 14px !important; padding: 16px 20px !important; opacity: 1 !important;
    box-shadow: var(--shadow) !important; font-family: var(--f-ui) !important;
}
html body #toast-container > .toast-info, html body #toast-container > .toast-success { background-color: var(--ink) !important; color: var(--paper) !important; }
html body #toast-container > .toast-warning, html body #toast-container > .toast-error { background-color: var(--ember) !important; }

/* ==========================================================================
   Inner pages: breadcrumb, shop, product, cart, account, content
   ========================================================================== */
html body .breadcrumb-block { background: var(--shea) !important; border: 0 !important; position: relative; overflow: hidden; }
html body .breadcrumb-block::after {
    content: ""; position: absolute; width: 520px; height: 520px; right: -140px; top: -300px; border-radius: 50%;
    background: radial-gradient(circle, rgba(212, 160, 74, .28), transparent 65%); pointer-events: none;
}
html body .breadcrumb-block .breadcrumb-wrapper { background: transparent !important; padding: clamp(34px, 5vw, 64px) 0 !important; position: relative; z-index: 1; }
html body .breadcrumb-wrap .title,
html body .breadcrumb-wrap h1 {
    font-family: var(--f-display) !important; font-size: clamp(30px, 4vw, 54px) !important; font-weight: 400 !important;
    text-transform: none !important; letter-spacing: -.02em !important; color: var(--ink) !important; line-height: 1.05 !important;
}
html body .breadcrumb, html body .breadcrumb a, html body .breadcrumb span {
    font-size: 11px !important; font-weight: 600 !important; letter-spacing: .2em !important; text-transform: uppercase; color: var(--muted) !important; background: none !important;
}
html body .breadcrumb a:hover { color: var(--gold-ink) !important; }

/* shop sidebar & toolbar */
html body .sidebar .widget-title,
html body .sidebar h4,
html body .sidebar .widget h4,
html body .sidebar-widget h4,
html body .collection-sidebar h4 {
    font-family: var(--f-ui) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .24em !important;
    text-transform: uppercase !important; color: var(--ink) !important;
}
html body .sidebar .widget-title::after, html body .sidebar h4::after, html body .sidebar h4::before { background: var(--gold) !important; }
html body .sidebar a, html body .sidebar label, html body .sidebar li {
    font-size: 14px !important; text-transform: none !important; letter-spacing: .01em !important; color: var(--ink-soft) !important;
}
html body .sidebar a:hover, html body .cat-active > a, html body .active-cat { color: var(--gold-ink) !important; }
html body .sidebar input[type="checkbox"] { accent-color: var(--ink); }
html body #view-option-sort {
    border-radius: 999px !important; border: 1px solid var(--line-strong) !important; color: var(--ink) !important; background-color: #fff !important; min-height: 42px;
}
html body .products-grid-view .product-image { height: auto !important; border: 0 !important; background: #fff !important; }
html body .products-grid-view .product-image a img { object-fit: contain !important; padding: 10%; }
html body .pagination li a, html body .pagination li span, html body .pagination > * {
    border-radius: 999px !important; border: 1px solid var(--line) !important; color: var(--ink) !important; background: transparent !important; margin: 0 3px;
}
html body .pagination li.active a, html body .pagination li.active span, html body .pagination li a:hover { background: var(--ink) !important; color: var(--paper) !important; border-color: var(--ink) !important; }

/* product page */
html body .product-single__title,
html body .product-detail-section .product-title,
html body .product_title,
html body .product-single__meta h1 {
    font-family: var(--f-display) !important; font-size: clamp(30px, 3.4vw, 48px) !important; font-weight: 400 !important;
    text-transform: none !important; letter-spacing: -.015em !important; color: var(--ink) !important; line-height: 1.1 !important;
}
html body .product-single__photos img, html body #productPhotoImg { border-radius: var(--r); background: #fff; }
html body .product-single__thumbs img, html body #productThumbs img { border-radius: 12px; }
html body .product-single__price, html body #ProductPrice, html body .product-single .product-price__price { font-family: var(--f-display) !important; color: var(--ink) !important; }
html body #AddToCart, html body .product-form__submit {
    background: var(--ink) !important; color: var(--paper) !important; border: 1px solid var(--ink) !important; min-height: 54px;
}
html body #AddToCart:hover, html body .product-form__submit:hover { background: var(--gold) !important; color: var(--ink) !important; border-color: var(--gold) !important; }
html body .buy-it-now-btn {
    background: transparent !important; color: var(--ink) !important; border: 1px solid var(--ink) !important; border-radius: 999px !important;
    min-height: 54px; font-family: var(--f-ui) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase;
}
html body .buy-it-now-btn:hover { background: var(--ink) !important; color: var(--paper) !important; }
html body .nav-tabs { border-color: var(--line) !important; }
html body .nav-tabs > li > a {
    font-family: var(--f-ui) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .18em !important;
    text-transform: uppercase; color: var(--muted) !important; border: 0 !important; background: none !important;
}
html body .nav-tabs > li.active > a, html body .nav-tabs > li > a:hover { color: var(--ink) !important; box-shadow: inset 0 -2px 0 var(--gold); }

/* forms */
html body input[type="text"], html body input[type="email"], html body input[type="password"], html body input[type="tel"],
html body input[type="number"]:not(.quantity):not(.quantity1), html body select, html body textarea {
    border-radius: 12px !important; border: 1px solid var(--line-strong) !important; background-color: #fff !important; color: var(--ink) !important;
    font-family: var(--f-ui) !important; font-size: 15px !important; box-shadow: none !important;
}
html body input:focus, html body select:focus, html body textarea:focus { border-color: var(--ink) !important; box-shadow: 0 0 0 3px rgba(212, 160, 74, .25) !important; outline: 0 !important; }

/* cart & tables */
html body .cart__image, html body .cart-items-row-inner img { border-radius: 12px; background: #fff; }
html body .cart-items-row-inner { border-color: var(--line) !important; }
html body .totals__subtotal-value { font-family: var(--f-display) !important; font-size: 24px !important; color: var(--ink) !important; }
html body table th {
    font-family: var(--f-ui) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .18em !important;
    text-transform: uppercase; color: var(--muted) !important; background: var(--shea) !important;
}
html body table td, html body table th { border-color: var(--line) !important; }

/* ==========================================================================
   Gentle motion
   ========================================================================== */
@media (prefers-reduced-motion: no-preference) {
    html body .hb-animate-element.hb-in-viewport { animation: ibaRise .9s var(--ease) both; }
    @keyframes ibaRise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
}
@media (prefers-reduced-motion: reduce) {
    html body *, html body *::before, html body *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 991px) {
    html body .header_2 .main-header { min-height: 70px; }
    html body .header_2 .header-logo img { max-height: 42px; }
    html body #tt-megamenu .tt-mega_menu .tt_menus_ul > li > a .tt_menu_item_heading_title {
        font-family: var(--f-display) !important; font-size: 24px !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ink) !important;
    }
    html body .home-slider .slider-title { font-size: clamp(30px, 7vw, 52px) !important; }
    html body .home-slider .slider-subtitle { font-size: 11px !important; margin-bottom: 12px !important; }
    html body .home-slider .slider-button { margin-top: 18px !important; }
    html body .home-slider .slider-button > a.btn { min-height: 44px; line-height: 44px !important; padding: 0 22px !important; }
    html body .tt-testimonial-wrap .testimonial-block { flex-direction: column; text-align: center; }
    html body .tt-testimonial-wrap .testimonial-img, html body .tt-testimonial-wrap .testimonial-detail { width: 100% !important; }
    /* on touch screens the action dock is always visible */
    html body .product-wrapper .btn_wrapper { opacity: 1; transform: translate(-50%, 0); bottom: 10px !important; }
}
@media (max-width: 640px) {
    html body .usps .usp { font-size: 10px !important; letter-spacing: .14em !important; margin: 0 16px !important; text-align: center; }
    html body .home-slider .homeslider .slides .slide > a::after {
        background: linear-gradient(0deg, rgba(23, 18, 28, .75) 0%, rgba(23, 18, 28, .2) 60%, rgba(23, 18, 28, 0) 100%);
    }
    html body .TTProduct-Tab .nav-tabs > li > a { padding: 10px 16px !important; font-size: 11px !important; }
    html body .product-wrapper .h4.grid-view-item__title { font-size: 16px !important; }
    html body .product-wrapper .btn_wrapper .btn, html body .product-wrapper .btn_wrapper .pro_btn > a { width: 36px !important; height: 36px !important; }
    html body .product-wrapper .btn_wrapper .add-to-compare { display: none !important; }
    html body .site-footer .contact-us li { justify-content: flex-start; }
    html body .tt-testimonial-wrap::before { font-size: 200px; }
}

/* ---------- refinements after review ---------- */
html body .testimonials_wrap { border: 0 !important; background: transparent !important; }
html body .tt-testimonial-wrap { max-width: 1170px; margin: 0 auto !important; width: calc(100% - 32px); }
html body .tt-testimonial-wrap::before { top: 0; font-size: 260px; line-height: .9; }

html body .TTProduct-Tab .nav-tabs { left: auto; transform: none; display: flex !important; width: max-content; max-width: 100%; margin-left: auto !important; margin-right: auto !important; float: none !important; }
html body .TTProduct-Tab { text-align: center; }
html body .TTProduct-Tab .tab-content { text-align: left; }

/* product name: the stored names are capitals, set them as refined small caps in the serif */
html body .product-wrapper .h4.grid-view-item__title a,
html body .product-wrapper .grid-view-item__title > a {
    font-family: var(--f-display) !important; font-size: 15px !important; font-weight: 500 !important; line-height: 1.45 !important;
    letter-spacing: .04em !important; color: var(--ink) !important;
}
html body .product-wrapper .h4.grid-view-item__title a::first-line {
    font-family: var(--f-ui); font-size: 10.5px; font-weight: 700; letter-spacing: .24em; color: var(--gold-ink);
}

/* campaign banners keep their full artwork (the text is part of the image) */
html body .ttcms-banner .ttcmsbanner .ttbanner .banner-block > a { height: auto !important; }
html body .ttcms-banner .ttcmsbanner .ttbanner .banner-block > a img { height: auto !important; object-fit: initial !important; display: block; }

/* brand tiles */
html body .brand-bar__link { padding: 10% 14% !important; aspect-ratio: 16 / 9; }
html body .brand-bar__image { max-width: 100% !important; max-height: 110px !important; }

/* uppercase headings coming from the content get gentle tracking */
html body .section-header .tt-title, html body .tthometab-title .tt-title { letter-spacing: .02em !important; }
html body .tt-testimonial-wrap { float: none !important; }
html body .product-wrapper .h4.grid-view-item__title a,
html body .product-wrapper .grid-view-item__title > a { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; display: block !important; }
html body .ttcms-banner .ttcmsbanner .ttbanner .banner-block > a { aspect-ratio: 2.1 / 1; }
html body .ttcms-banner .ttcmsbanner .ttbanner .banner-block > a img { height: 100% !important; width: 100%; object-fit: cover !important; object-position: right center; }
html body .owl-dots { flex-wrap: wrap; padding: 0 16px; }
@media (max-width: 640px) { html body .brand-bar .owl-dots { display: none !important; } }
@media (max-width: 767px) {
    html body .homeslider .slides .slick-arrow { display: none !important; }
    html body .TTProduct-Tab .nav-tabs > li > a { white-space: nowrap; padding: 11px 18px !important; }
    html body #shopify-section-template--15269797789851__product-tab-model,
    html body .testimonials, html body .feature-blog { padding-top: 56px !important; }
    html body .ttcms-banner { padding-top: 40px !important; }
    html body .brand-bar { padding-top: 56px !important; }
    html body .section-header { margin-bottom: 26px !important; }
    html body .home-slider .slider-content-wrap { left: 20px !important; right: 20px !important; }
    html body .tt-testimonial-wrap::before { right: 2%; }
}
/* the header floats inside its section; contain it so page titles start below it instead of underneath */
html body #shopify-section-header-model-2 { display: flow-root; }
/* related products show only the name, no brand line */
html body .related-products .product-wrapper .h4.grid-view-item__title a::first-line {
    font-family: var(--f-display); font-size: 15px; font-weight: 500; letter-spacing: .04em; color: var(--ink);
}
/* product page details */
html body .product-single__photos { border: 0 !important; border-radius: var(--r-lg); overflow: hidden; background: #fff; box-shadow: 0 0 0 1px var(--line) inset; }
html body .product-single__photos img { padding: 6%; }
html body [class*="product-single__thumbnail"] { border: 1px solid var(--line) !important; border-radius: 12px !important; overflow: hidden; background: #fff; }
html body .slick-current [class*="product-single__thumbnail"], html body [class*="product-single__thumbnail"]:hover { border-color: var(--ink) !important; }
html body .product-single hr.hr, html body main hr.hr { border-color: var(--line) !important; }
html body .product-info {
    background: var(--shea) !important; border-radius: var(--r) !important; padding: 18px 22px !important;
}
html body .product-info label, html body .product-info .label { font-size: 11px !important; letter-spacing: .18em !important; text-transform: uppercase; color: var(--muted) !important; font-weight: 600 !important; }
html body .product-info .in_stock, html body .product-info .text-success { color: #2f7a4f !important; }
html body .product_tab_wrapper { border: 0 !important; border-top: 1px solid var(--line) !important; border-radius: 0 !important; padding-top: 10px; }
html body .product_tab_wrapper .nav-tabs > li > a::after, html body .product_tab_wrapper .nav-tabs > li > a::before { display: none !important; }
html body .product_tab_wrapper .tab-content { font-size: 15px; line-height: 1.75; color: var(--ink-soft); }
html body .product-single__meta .wishlist, html body .product-single__meta .compare, html body .product-single .add-to-wishlist a, html body .product-single .add-to-compare a {
    font-size: 12px !important; letter-spacing: .14em !important; text-transform: uppercase; color: var(--ink-soft) !important;
}
/* empty states */
html body #cartEmpty, html body .empty-page-content {
    background: var(--shea) !important; border: 0 !important; border-radius: var(--r-lg) !important;
    padding: clamp(40px, 6vw, 80px) 24px !important; color: var(--ink-soft) !important; margin: 40px 0 !important;
}
html body #cartEmpty .cart__title, html body .empty-page-content h1 {
    font-family: var(--f-display) !important; font-size: clamp(30px, 3.4vw, 46px) !important; font-weight: 400 !important;
    color: var(--ink) !important; text-transform: none !important; letter-spacing: -.01em !important; margin-bottom: 12px !important;
}
html body #cartEmpty p, html body .empty-page-content p { color: var(--ink-soft) !important; font-size: 16px !important; }
html body #cartEmpty a, html body .empty-page-content a { color: var(--ink) !important; border-bottom: 1px solid var(--gold); font-weight: 600; }
/* breadcrumb: the theme already draws a chevron before each link */
html body .breadcrumb .breadcrumb__sep { display: none !important; }

/* ==========================================================================
   Home page — premium pass (scoped to the home sections, markup unchanged)
   ========================================================================== */

/* hero: taller, cinematic slow zoom, text arrives in sequence */
html body [id$="__slideshow"] .homeslider .slides .slide img { height: min(82vh, 820px); max-height: none; }
html body [id$="__slideshow"] .home-slider .homeslider .slides .slide > a::after {
    background:
        linear-gradient(90deg, rgba(23, 18, 28, .78) 0%, rgba(23, 18, 28, .38) 38%, rgba(23, 18, 28, 0) 66%),
        linear-gradient(0deg, rgba(23, 18, 28, .45) 0%, rgba(23, 18, 28, 0) 30%),
        radial-gradient(60% 80% at 85% 10%, rgba(212, 160, 74, .18), transparent 60%);
}
html body [id$="__slideshow"] .slides .slide > a { overflow: hidden; }
@media (prefers-reduced-motion: no-preference) {
    html body [id$="__slideshow"] .slick-active > a img { animation: ibaKenBurns 10s ease-out both; }
    html body [id$="__slideshow"] .slick-active .slider-subtitle { animation: ibaUp .9s .25s var(--ease) both; }
    html body [id$="__slideshow"] .slick-active .slider-title { animation: ibaUp 1s .4s var(--ease) both; }
    html body [id$="__slideshow"] .slick-active .slider-button { animation: ibaUp 1s .6s var(--ease) both; }
}
@keyframes ibaKenBurns { from { transform: scale(1.1); } to { transform: scale(1); } }
@keyframes ibaUp { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
html body [id$="__slideshow"] .slider-title { font-size: clamp(44px, 5.6vw, 88px) !important; max-width: 12.5ch; }
html body [id$="__slideshow"] .slider-title::after {
    content: ""; display: block; width: 64px; height: 1px; margin-top: 28px; background: linear-gradient(90deg, var(--gold), transparent);
}
html body [id$="__slideshow"] .slider-button > a.btn { box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .5) !important; }
html body [id$="__slideshow"] .slider-button > a.btn::before {
    content: "" !important; display: inline-block !important; width: 7px; height: 7px; border-radius: 50%;
    background: var(--gold); margin-right: 12px; position: static !important; transform: none !important; opacity: 1 !important;
}
html body [id$="__slideshow"] .homeslider .slick-dots { bottom: 30px !important; }
html body [id$="__slideshow"] .homeslider .slick-dots li button { width: 34px !important; height: 3px !important; padding: 0 !important; }

/* delivery strip: quiet luxury line */
html body .usp-section { background: linear-gradient(90deg, var(--ink) 0%, #241b2b 50%, var(--ink) 100%) !important; border-bottom: 1px solid rgba(212, 160, 74, .25); }
html body .usps { background: transparent !important; }

/* trending: a warm stage that lets the white product tiles glow */
html body [id$="__product-tab-model"] { position: relative; padding-bottom: clamp(60px, 7vw, 100px) !important; }
html body [id$="__product-tab-model"]::before {
    content: ""; position: absolute; left: clamp(0px, 2vw, 32px); right: clamp(0px, 2vw, 32px); top: clamp(40px, 5vw, 70px); bottom: 0;
    background: linear-gradient(180deg, var(--shea) 0%, var(--paper) 100%); border-radius: 48px 48px 0 0; z-index: 0;
}
html body [id$="__product-tab-model"]::after {
    content: ""; position: absolute; left: 50%; top: 0; width: min(720px, 90vw); height: 300px; transform: translateX(-50%);
    background: radial-gradient(50% 60% at 50% 40%, rgba(212, 160, 74, .22), transparent 70%); pointer-events: none; z-index: 0;
}
html body [id$="__product-tab-model"] > * { position: relative; z-index: 1; }
html body [id$="__product-tab-model"] .tthometab-title { padding-top: clamp(30px, 4vw, 60px); }
html body [id$="__product-tab-model"] .tt-title { font-size: clamp(38px, 4.6vw, 64px) !important; }
html body [id$="__product-tab-model"] .owl-stage-outer { padding: 12px 0 28px; }
html body [id$="__product-tab-model"] .product-wrapper .product-thumb { box-shadow: 0 18px 40px -30px rgba(23, 18, 28, .35), 0 0 0 1px rgba(23, 18, 28, .05) inset; }
html body [id$="__product-tab-model"] .product-wrapper .product-image img { padding: 7% !important; }
html body [id$="__product-tab-model"] .product-wrapper .product-description { padding-top: 20px !important; }
/* gold hairline that draws in under the name on hover */
html body [id$="__product-tab-model"] .product-wrapper .product-description::after {
    content: ""; display: block; height: 1px; margin-top: 14px; background: var(--gold);
    transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease);
}
html body [id$="__product-tab-model"] .product-wrapper:hover .product-description::after { transform: scaleX(1); }

/* campaign banners: framed like gallery prints */
html body [id$="__ttcmsbanner"] { padding-top: clamp(30px, 4vw, 60px) !important; }
html body [id$="__ttcmsbanner"] .ttbanner { padding: 0 10px; }
html body [id$="__ttcmsbanner"] .banner-block { transition: transform .6s var(--ease), box-shadow .6s var(--ease); }
html body [id$="__ttcmsbanner"] .banner-block:hover { transform: translateY(-6px); box-shadow: var(--shadow) !important; }
html body [id$="__ttcmsbanner"] .banner-block::after { transition: box-shadow .6s var(--ease); }
html body [id$="__ttcmsbanner"] .banner-block:hover::after { box-shadow: inset 0 0 0 10px rgba(251, 248, 243, .55) !important; }

/* testimonial: a cleaner quote mark, tighter panel, gold signature line */
html body [id$="__tt-testimonial"] .tt-testimonial-wrap::before { display: none !important; }
html body [id$="__tt-testimonial"] .tt-testimonial-wrap {
    background: radial-gradient(70% 90% at 100% 0%, rgba(212, 160, 74, .18), transparent 60%), var(--shea) !important;
    padding: clamp(40px, 5vw, 64px) clamp(24px, 5vw, 72px) clamp(26px, 3vw, 40px) !important;
}
html body [id$="__tt-testimonial"] .testimonial-detail { position: relative; padding-left: clamp(0px, 3vw, 40px) !important; }
html body [id$="__tt-testimonial"] .testimonial-detail::before {
    content: "\201C" !important; display: block !important; position: static !important;
    font-family: Georgia, "Times New Roman", serif; font-style: normal; font-size: 92px; line-height: .8; height: 46px;
    color: var(--gold); margin-bottom: 8px; border: 0 !important; background: none !important; width: auto !important;
}
html body [id$="__tt-testimonial"] .testimonial-desc { font-size: clamp(22px, 2.3vw, 32px) !important; }
html body [id$="__tt-testimonial"] .testimonial-desc::after { content: ""; display: block; width: 48px; height: 1px; background: var(--gold); margin-top: 26px; }
html body [id$="__tt-testimonial"] .owl-dots { margin-top: 30px !important; }

/* journal: aligned header, editorial cards that lift */
html body [id$="__feature-blogs"] .section-header { text-align: center !important; }
html body [id$="__feature-blogs"] .section-header .ttsub-title { display: flex !important; justify-content: center; width: 100%; }
html body [id$="__feature-blogs"] #blog_slider .tt-blog-content { transition: transform .6s var(--ease); }
html body [id$="__feature-blogs"] #blog_slider .tt-blog-content:hover { transform: translateY(-6px); }
html body [id$="__feature-blogs"] #blog_slider .blog_image_holder { box-shadow: var(--shadow-soft); }
html body [id$="__feature-blogs"] #blog_slider .blog_image_holder::after {
    content: "Journal"; position: absolute; left: 14px; top: 14px; padding: 7px 12px; border-radius: 999px;
    background: rgba(251, 248, 243, .92); color: var(--ink); font-family: var(--f-ui); font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
}
html body [id$="__feature-blogs"] #blog_slider .tt-blog-content .blog_image_holder .bloglinks { opacity: 0; transition: opacity .4s var(--ease); }
html body [id$="__feature-blogs"] #blog_slider .tt-blog-content:hover .blog_image_holder .bloglinks { opacity: 1; }

/* brands: a calm gallery band, logos float without boxes and wake on hover */
/* logos are jpgs on white, so the band is white and they blend in */
html body .brand-bar { background: #fff !important; border-top: 1px solid var(--line); display: flow-root; }
html body .brand-bar .owl-stage-outer, html body .brand-bar .owl-stage, html body .brand-bar .owl-item, html body .brand-bar__item { background: #fff !important; }
html body .brand-bar .owl-item { padding: 0 !important; }
html body .brand-bar__link {
    background: #fff !important; box-shadow: none !important; border-radius: 0 !important;
    border-left: 1px solid var(--line); aspect-ratio: 16 / 9; padding: 6% 16% !important;
}
html body .brand-bar__link:hover { transform: none; }
html body .brand-bar__image { opacity: .55; width: auto !important; max-width: 100% !important; max-height: 100% !important; mix-blend-mode: normal; }

@media (max-width: 991px) {
    html body [id$="__slideshow"] .homeslider .slides .slide img { height: 62vh; }
    html body [id$="__product-tab-model"]::before { border-radius: 28px 28px 0 0; left: 0; right: 0; }
    html body [id$="__tt-testimonial"] .testimonial-detail { padding-left: 0 !important; }
    html body [id$="__tt-testimonial"] .testimonial-detail::before { margin: 0 auto 8px; text-align: center; }
    html body [id$="__tt-testimonial"] .testimonial-desc::after { margin: 22px auto 0; }
}
@media (max-width: 640px) {
    html body [id$="__slideshow"] .homeslider .slides .slide img { height: 72vh; }
    html body [id$="__slideshow"] .slider-title { font-size: clamp(36px, 10vw, 48px) !important; }
    html body [id$="__slideshow"] .slider-title::after { margin-top: 18px; }
    html body [id$="__slideshow"] .home-slider .slider-content-wrap { width: auto !important; max-width: none !important; }
    html body [id$="__slideshow"] .home-slider .homeslider .slides .slide > a::after {
        background: linear-gradient(0deg, rgba(23, 18, 28, .85) 0%, rgba(23, 18, 28, .35) 55%, rgba(23, 18, 28, .1) 100%);
    }
}

/* ==========================================================================
   Pass 3 — header, testimonials, news, footer, spacing rhythm
   ========================================================================== */
:root { --sec: clamp(64px, 7vw, 104px); --sec-sm: clamp(40px, 4.5vw, 64px); }

/* ---------- header: aligned to the content width, slimmer, calmer ---------- */
@media (min-width: 992px) {
    html body .header_2 .main-header {
        max-width: 1230px; margin: 0 auto !important; padding: 0 !important; min-height: 92px;
        display: flex !important; align-items: center; justify-content: space-between; gap: 32px;
    }
    html body .header_2 .main-header > .header-logo { width: auto !important; flex: none; margin: 0 !important; padding: 0 !important; float: none !important; }
    html body .header_2 .main-header > .header-logo .container-fluid { padding: 0 !important; width: auto !important; }
    html body .header_2 .header-logo img { max-height: 50px; }
    html body .header_2 .main-header > .menu_wrapper { flex: 1; width: auto !important; float: none !important; display: flex; justify-content: center; position: static; }
    html body .header_2 .main-header > .tt-right-icon { width: auto !important; flex: none; float: none !important; display: flex; align-items: center; position: static !important; }
    html body .header_2 .tt-right-icon .tt-nav-right-div { display: flex !important; align-items: center; gap: 2px; padding-left: 22px; border-left: 1px solid var(--line); height: 28px; }
    html body #tt-megamenu .tt-mega_menu .tt_menus_ul { display: flex !important; align-items: center; gap: clamp(18px, 2.4vw, 38px); margin: 0 !important; }
    html body #tt-megamenu .tt-mega_menu .tt_menus_ul > li { float: none !important; margin: 0 !important; padding: 0 !important; }
    html body #tt-megamenu .tt-mega_menu .tt_menus_ul > li > a { padding: 36px 0 !important; line-height: 20px !important; display: inline-flex !important; align-items: center; gap: 6px; }
    html body .site-header.header_2 #tt-megamenu .tt-mega_menu .tt_menus_ul > li > a::before { top: auto !important; bottom: 28px !important; left: 0 !important; width: 100% !important; height: 1px !important; transform: scaleX(0) !important; transform-origin: left; transition: transform .4s var(--ease) !important; }
    html body .site-header.header_2 #tt-megamenu .tt-mega_menu .tt_menus_ul > li:hover > a::before { transform: scaleX(1) !important; }
    html body #tt-megamenu .tt-mega_menu .tt_menus_ul > li > a::after { position: static !important; transform: none !important; margin: 0 !important; line-height: 1 !important; }
    html body .header_2 .main-header > .menu_wrapper { flex: 1 1 auto !important; }
    html body .header_2 .menu_wrapper .tt-mega-menu, html body .header_2 .menu_wrapper #tt-megamenu, html body .header_2 .menu_wrapper .tt-mega_menu { width: 100% !important; }
    html body #tt-megamenu .tt-mega_menu .tt_menus_ul { justify-content: center; width: 100%; }
    html body #tt-megamenu .tt_menus_ul > li > a .mdi, html body #tt-megamenu .tt_menus_ul > li > a::after { font-size: 14px !important; color: var(--muted) !important; }
    html body .site-header.header_2 #tt-megamenu .tt-mega_menu li.tt_menu_item .tt_sub_menu_wrap { top: 100% !important; margin-top: 0 !important; }
}
html body .site-header.header_2 { border-bottom: 1px solid var(--line); box-shadow: none !important; }
html body .site-header.header_2 .sticky_header.fixed { border-bottom: 1px solid var(--line); }
html body .tt-right-icon .icon-btn > span, html body .tt-right-icon .icon-btn .site-header_cart_link { width: 42px; height: 42px; }
html body .tt-right-icon i.mdi { font-size: 21px !important; line-height: 1 !important; }
html body .site-header__cart-count, html body #CartCount_sticky { position: absolute !important; top: 4px !important; right: 2px !important; left: auto !important; }
html body .site-header__cart-count .hidden-sm-down { display: none !important; }
html body .site-header__cart .wrapper-top-cart { position: relative; }
html body .usps { min-height: 40px; }
html body .usps .usp { padding: 11px 0; font-size: 11.5px !important; }

/* ---------- section rhythm on the home page ---------- */
html body [id$="__category-feature"]:not(:has(.collection_cat_item)) { display: none !important; }
html body [id$="__category-feature"] { margin: 0 !important; }
html body [id$="__product-tab-model"] { padding-top: var(--sec) !important; padding-bottom: var(--sec) !important; margin: 0 !important; }
html body [id$="__product-tab-model"]::before { top: calc(var(--sec) * .55); }
html body [id$="__product-tab-model"] .tthometab-title { padding-top: calc(var(--sec) * .45) !important; margin-bottom: 0 !important; }
html body [id$="__product-tab-model"] .TTProduct-Tab .nav-tabs { margin-bottom: 36px !important; }
html body [id$="__product-tab-model"] .owl-dots { margin-top: 28px !important; }
html body [id$="__ttcmsbanner"] { padding: 0 !important; margin: 0 !important; }
html body [id$="__tt-testimonial"] { padding-top: var(--sec) !important; margin: 0 !important; }
html body [id$="__feature-blogs"] { padding-top: var(--sec) !important; margin: 0 !important; }
html body [id$="__feature-blogs"] .customNavigation { display: none; }
html body .brand-bar { margin-top: var(--sec) !important; padding: var(--sec-sm) clamp(16px, 4vw, 56px) var(--sec-sm) !important; }
html body .brand-bar .section-header { margin-bottom: 28px !important; }
html body .section-header, html body .tthometab-title { margin-bottom: 36px !important; }

/* ---------- testimonials: a centred editorial quote ---------- */
html body [id$="__tt-testimonial"] .tt-testimonial-wrap { max-width: 1230px; padding: var(--sec-sm) clamp(20px, 6vw, 90px) calc(var(--sec-sm) * .8) !important; }
html body [id$="__tt-testimonial"] .tt-testimonial-wrap > .container { padding: 0 !important; width: 100% !important; max-width: none !important; }
html body [id$="__tt-testimonial"] .tt-testimonial-wrap > .container::before {
    content: "In their words"; display: flex; justify-content: center; align-items: center; gap: 12px; margin-bottom: 18px;
    font-family: var(--f-ui); font-size: 12px; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: var(--gold-ink);
}
html body [id$="__tt-testimonial"] .testimonials_wrap .owl-stage { display: flex !important; align-items: center; }
html body [id$="__tt-testimonial"] .testimonials_wrap .owl-item { display: flex; justify-content: center; flex: 0 0 auto !important; }
html body [id$="__tt-testimonial"] .tt-testimonial-wrap .testimonial-block {
    float: none !important; width: 100% !important; max-width: 860px; margin: 0 auto !important;
    display: flex !important; flex-direction: column-reverse !important; align-items: center !important; text-align: center; gap: 26px;
}
html body [id$="__tt-testimonial"] .testimonial-detail { width: 100% !important; float: none !important; padding: 0 !important; text-align: center; }
html body [id$="__tt-testimonial"] .testimonial-detail::before { margin: 0 auto 6px !important; text-align: center; height: 40px; }
html body [id$="__tt-testimonial"] .testimonial-desc { text-align: center !important; font-size: clamp(22px, 2.4vw, 34px) !important; line-height: 1.38 !important; }
html body [id$="__tt-testimonial"] .testimonial-desc::after { display: none !important; }
html body [id$="__tt-testimonial"] .testimonial-img {
    width: auto !important; float: none !important; padding: 0 !important; display: flex !important; align-items: center; gap: 14px; text-align: left;
}
html body [id$="__tt-testimonial"] .testimonial-img > .grid__item { width: auto !important; float: none !important; padding: 0 !important; }
html body [id$="__tt-testimonial"] .tt-testimonial-wrap .testimonial-block .authorimg img { width: 58px !important; height: 58px !important; box-shadow: 0 0 0 3px var(--paper), 0 0 0 4px var(--gold); }
html body [id$="__tt-testimonial"] .tt-testimonial-wrap .testimonial-user-title { margin: 0 0 2px !important; }
html body [id$="__tt-testimonial"] .tt-testimonial-wrap .authorimg img[src*="default"] { object-fit: contain; background: #fff; padding: 8px; }
html body [id$="__tt-testimonial"] .owl-dots { margin-top: 28px !important; }

/* ---------- news on the home page ---------- */
html body [id$="__feature-blogs"] #blog_slider .tt-blog-content { padding: 0 14px !important; }
html body [id$="__feature-blogs"] #blog_slider.grid-blog-slider .article__grid-image img { height: auto !important; aspect-ratio: 4 / 3; }
html body [id$="__feature-blogs"] #blog_slider .blog-content-wrap { padding: 22px 2px 0 !important; }
html body [id$="__feature-blogs"] #blog_slider .article__title,
html body [id$="__feature-blogs"] #blog_slider .article__title a { font-size: 20px !important; line-height: 1.3 !important; letter-spacing: .01em !important; }
html body [id$="__feature-blogs"] #blog_slider .article__grid-excerpt { -webkit-line-clamp: 2 !important; margin-bottom: 0 !important; }
html body [id$="__feature-blogs"] #blog_slider .article__meta-buttons { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
html body [id$="__feature-blogs"] #blog_slider .article__meta-buttons a.read-more { margin-top: 0 !important; border-bottom: 0 !important; padding-bottom: 0 !important; }
html body [id$="__feature-blogs"] #blog_slider .article__meta-buttons a.read-more::after { content: "\2192"; margin-left: 4px; transition: transform .3s var(--ease); display: inline-block; }
html body [id$="__feature-blogs"] #blog_slider .tt-blog-content:hover a.read-more::after { transform: translateX(4px); }
html body [id$="__feature-blogs"] #blog_slider .article__meta-buttons a.read-more i { display: none; }

/* ---------- inner pages: space below the title band ---------- */
html body .breadcrumb-block { margin-bottom: var(--sec-sm) !important; }
html body .breadcrumb-block .breadcrumb-wrapper { padding: clamp(36px, 4.5vw, 60px) 0 !important; }

/* ---------- journal list & article (blog pages have no title in the markup) ---------- */
html body:has(.blogleft_inner_content) .breadcrumb-wrap::before,
html body:has(.blog-post-single) .breadcrumb-wrap::before {
    content: "The Journal"; font-family: var(--f-display); font-size: clamp(36px, 4.4vw, 58px); line-height: 1.05; color: var(--ink); letter-spacing: -.02em;
}
html body:has(.blog-post-single) .breadcrumb-wrap, html body:has(.blogleft_inner_content) .breadcrumb-wrap { display: flex !important; align-items: center; justify-content: space-between; gap: 20px; }
html body .blogleft_inner_content .tt-blog-content { padding-bottom: 44px; }
html body .blogleft_inner_content .blog_image_holder { border-radius: var(--r) !important; overflow: hidden; position: relative; background: var(--shea); box-shadow: var(--shadow-soft); }
html body .blogleft_inner_content .blog_image_holder img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 1.2s var(--ease); display: block; }
html body .blogleft_inner_content .tt-blog-content:hover .blog_image_holder img { transform: scale(1.05); }
html body .blogleft_inner_content .blogs-sub-title { position: absolute; left: 14px; top: 14px; margin: 0 !important; }
html body .blogleft_inner_content .blog-date {
    margin: 0 !important; padding: 7px 12px; border-radius: 999px; background: rgba(251, 248, 243, .94); color: var(--ink) !important;
    font-size: 10.5px !important; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
}
html body .blogleft_inner_content .blog-date .mdi { display: none; }
html body .blogleft_inner_content .bloglinks a { border-radius: 50% !important; background: var(--paper) !important; color: var(--ink) !important; border: 0 !important; }
html body .blogleft_inner_content .tt-blog-description { padding: 20px 2px 0 !important; text-align: left; }
html body .blogleft_inner_content .article__title, html body .blogleft_inner_content .article__title a {
    font-family: var(--f-display) !important; font-size: 21px !important; font-weight: 400 !important; line-height: 1.3 !important; text-transform: none !important; letter-spacing: .01em !important; color: var(--ink) !important; margin: 0 0 10px !important;
}
html body .blogleft_inner_content .article__title a:hover { color: var(--gold-ink) !important; }
html body .blogleft_inner_content .home-blog-content p { font-size: 14px !important; line-height: 1.65 !important; color: var(--ink-soft) !important; margin: 0 !important; }
html body .blogleft_inner_content .home-blog-content { -webkit-line-clamp: 4 !important; }
html body .blogleft_inner_content .blog-btn { margin-top: 16px; padding-top: 14px !important; border-top: 1px solid var(--line); }
html body .blogleft_inner_content .blog-btn a { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .2em !important; text-transform: uppercase; color: var(--ink) !important; }
html body .blogleft_inner_content .blog-btn a::after { content: "\2192"; margin-left: 6px; }
html body .blogleft_inner_content .blog-btn a:hover { color: var(--gold-ink) !important; }

html body .blog-post-single .blog-post__full-image { display: block; border-radius: var(--r-lg); overflow: hidden; background: var(--shea); margin-bottom: 26px; }
html body .blog-post-single .blog-post__full-image img { width: 100%; max-height: 520px; object-fit: cover; display: block; }
html body .blog-post-single .blog-meta { margin-bottom: 10px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
html body .blog-post-single .blog-meta .mdi { color: var(--gold); }
html body .blog-post-single h1 {
    font-family: var(--f-display) !important; font-size: clamp(32px, 3.6vw, 52px) !important; font-weight: 400 !important; line-height: 1.1 !important;
    text-transform: none !important; letter-spacing: -.01em !important; color: var(--ink) !important; margin: 0 0 28px !important; text-align: left;
}
html body .blog-post-single .rte { max-width: 740px; }
html body .blog-post-single .rte, html body .blog-post-single .rte * {
    font-family: var(--f-ui) !important; font-size: 17px !important; line-height: 1.8 !important; color: var(--ink-soft) !important; background: none !important;
}
html body .blog-post-single .rte b, html body .blog-post-single .rte strong { color: var(--ink) !important; font-weight: 700 !important; }
html body .blog-post-single .rte p { margin: 0 0 18px !important; }
html body .left-sidebar .recent_article h4 { font-size: 11px !important; letter-spacing: .24em !important; }
html body .left-sidebar .recent_article li { padding: 12px 0 !important; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 12px; }
html body .left-sidebar .recent_article .artical-image img { border-radius: 10px; aspect-ratio: 1; object-fit: cover; }
html body .left-sidebar .recent_article .article__title a { font-family: var(--f-display) !important; font-size: 15px !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--ink) !important; }
html body .left-sidebar .recent_article .article_date { font-size: 12px; color: var(--muted); }

/* ---------- footer: one aligned composition ---------- */
html body:has(.brand-bar) .site-footer { margin-top: 0 !important; }
html body .site-footer .footer-wrap { padding-top: var(--sec) !important; }
html body .site-footer .footer-wrap > .container { max-width: 1230px; padding: 0 !important; }
html body .site-footer .footer-logo-content { max-width: 620px; margin: 0 auto !important; text-align: center; float: none !important; width: 100% !important; }
html body .site-footer .footer-wrap > .container > .grid, html body .site-footer .footer-bottom { float: none !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
html body .site-footer .footer-logo img { width: 190px !important; }
html body .site-footer .footer-desc { font-size: clamp(17px, 1.4vw, 20px) !important; line-height: 1.6 !important; color: #d9cfc2 !important; margin-top: 20px !important; }
html body .site-footer .footer-section { padding: var(--sec-sm) 0 0 !important; border: 0 !important; margin: 0 !important; }
html body .site-footer .footer-column.contactus { margin: 0 !important; padding: 0 !important; border: 0 !important; }
html body .site-footer .contact-us ul { gap: 14px !important; align-items: stretch; margin: 0 !important; padding: 0 !important; }
html body .site-footer .contact-us li {
    flex: 1 1 0 !important; max-width: none !important; justify-content: flex-start !important; align-items: center !important; min-height: 92px;
    padding: 20px 22px !important; background: rgba(255, 255, 255, .035) !important; border: 1px solid rgba(255, 255, 255, .09) !important;
    transition: border-color .3s var(--ease), background .3s var(--ease);
}
html body .site-footer .contact-us li:hover { border-color: rgba(212, 160, 74, .45) !important; background: rgba(255, 255, 255, .06) !important; }
html body .site-footer .contact-us li .address { display: flex; align-items: center; gap: 14px; }
html body .site-footer .contact-us li .contact-address p { line-height: 1.55 !important; }
html body .site-footer .payment-icon { display: none !important; }
html body .site-footer .footer-bottom { margin-top: var(--sec-sm) !important; padding: 26px 0 32px !important; border-top: 1px solid rgba(255, 255, 255, .09) !important; }
html body .site-footer .footer-bottom > * { float: none !important; width: 100% !important; padding: 0 !important; }
html body .site-footer .footer-bottom .links { margin-bottom: 14px !important; }
html body .site-footer .nav-secondary { gap: 8px 34px !important; margin: 0 !important; }
html body .site-footer .copyright { margin: 0 !important; text-align: center; }

@media (max-width: 991px) {
    html body .site-footer .contact-us ul { flex-direction: column; }
    html body .site-footer .contact-us li { min-height: 0; }
    html body .site-footer .footer-wrap > .container { padding: 0 20px !important; }
    html body:has(.blog-post-single) .breadcrumb-wrap, html body:has(.blogleft_inner_content) .breadcrumb-wrap { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
    html body [id$="__tt-testimonial"] .tt-testimonial-wrap { width: calc(100% - 24px); border-radius: 22px !important; }
    html body [id$="__tt-testimonial"] .testimonial-desc { font-size: 21px !important; }
    html body .site-footer .nav-secondary { gap: 10px 22px !important; }
}

/* footer: full-width description, equal contact cards */
html body .site-footer .footer-logo-content .footer-desc { width: auto !important; max-width: 600px !important; margin-left: auto !important; margin-right: auto !important; float: none !important; padding: 0 !important; }
html body .site-footer .footer-logo-content .footer-logo { float: none !important; width: auto !important; margin: 0 auto !important; }
html body .site-footer .contact-us li { height: auto !important; align-self: stretch !important; margin: 0 !important; }
html body .site-footer .contact-us ul { display: flex !important; align-items: stretch !important; }

/* journal list: no grey veil over images, compact date tag */
html body .blogleft_inner_content .blog_image_holder::before, html body .blogleft_inner_content .blog_image_holder::after { display: none !important; }
html body .blogleft_inner_content .bloglinks { background: transparent !important; opacity: 0; transition: opacity .4s var(--ease); }
html body .blogleft_inner_content .tt-blog-content:hover .bloglinks { opacity: 1; }
html body .blogleft_inner_content .blogs-sub-title { width: auto !important; right: auto !important; background: none !important; padding: 0 !important; }
html body .blogleft_inner_content .blog-date { display: inline-flex !important; width: auto !important; }

/* mobile header & footer alignment */
@media (max-width: 991px) {
    html body .header_2 .main-header { display: flex !important; align-items: center; justify-content: space-between; gap: 8px; min-height: 72px; padding: 0 16px !important; }
    html body .header_2 .main-header > .header-logo { flex: 1; width: auto !important; float: none !important; padding: 0 !important; margin: 0 !important; text-align: left !important; }
    html body .header_2 .main-header > .header-logo .container-fluid { padding: 0 !important; }
    html body .header_2 .main-header > .tt-right-icon, html body .header_2 .main-header > .menu_toggle_wrap { position: static !important; float: none !important; width: auto !important; height: auto !important; margin: 0 !important; display: flex !important; align-items: center; top: auto !important; transform: none !important; }
    html body .header_2 .tt-right-icon .tt-nav-right-div { display: flex !important; align-items: center; gap: 0; }
    html body .header_2 .tt-right-icon .icon-btn { margin: 0 !important; float: none !important; position: relative; }
    html body .header_2 .menu_toggle_wrap button { width: 42px; height: 42px; display: inline-flex !important; align-items: center; justify-content: center; padding: 0 !important; margin: 0 !important; }
    html body .header_2 .menu_toggle_wrap .menu-text { display: none !important; }
    html body .site-footer .footer-column h5, html body .site-footer .widget-title { display: flex !important; justify-content: space-between; align-items: center; padding: 16px 4px !important; margin: 0 !important; border-top: 1px solid rgba(255, 255, 255, .1); border-bottom: 1px solid rgba(255, 255, 255, .1); font-family: var(--f-ui) !important; font-size: 11px !important; letter-spacing: .22em !important; text-transform: uppercase; color: #efe6da !important; }
    html body .site-footer .footer-bottom .links ul, html body .site-footer .nav-secondary { display: flex !important; flex-wrap: wrap; justify-content: center !important; text-align: center; }
    html body .site-footer .nav-secondary li { width: auto !important; float: none !important; }
    html body .site-footer .footer-bottom .links h5 { display: none !important; }
}

/* ==========================================================================
   Pass 4 — icons, header, hero, testimonials
   ========================================================================== */

/* footer contact icons: perfect gold circles */
html body .site-footer .contact-us li i, html body .site-footer .contact-us li .mdi {
    flex: 0 0 38px !important; width: 38px !important; height: 38px !important; min-width: 38px; margin: 0 !important; padding: 0 !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important; line-height: 1 !important; top: 0 !important;
}
html body .site-footer .contact-us li i::before, html body .site-footer .contact-us li .mdi::before { line-height: 1 !important; font-size: 18px !important; }

/* header: one row of equal round icon buttons */
@media (min-width: 992px) {
    html body .header_2 .main-header { min-height: 84px !important; height: 84px; }
    html body #tt-megamenu .tt-mega_menu .tt_menus_ul > li > a { padding: 32px 0 !important; }
    html body .site-header.header_2 #tt-megamenu .tt-mega_menu .tt_menus_ul > li > a::before { bottom: 24px !important; }
    html body .header_2 .tt-right-icon .tt-nav-right-div { height: 44px; gap: 6px; padding-left: 20px; }
}
html body .header_2 .tt-right-icon .icon-btn { padding: 0 !important; margin: 0 !important; height: 44px !important; width: 44px !important; display: flex !important; align-items: center; justify-content: center; }
html body .header_2 .tt-right-icon .icon-btn > span,
html body .header_2 .tt-right-icon .wrapper-top-cart,
html body .header_2 .tt-right-icon .site-header_cart_link {
    width: 44px !important; height: 44px !important; padding: 0 !important; margin: 0 !important; border-radius: 50%;
    display: inline-flex !important; align-items: center !important; justify-content: center !important; position: relative !important; top: 0 !important;
}
html body .header_2 .tt-right-icon .icon-btn > span:hover, html body .header_2 .tt-right-icon .site-header_cart_link:hover { background: var(--shea) !important; }
html body .header_2 .tt-right-icon .icon-btn i.mdi { font-size: 22px !important; line-height: 1 !important; margin: 0 !important; position: static !important; color: var(--ink) !important; }
html body .header_2 .tt-right-icon .serach_icon .mdi-window-close { display: none !important; }
html body .header_2 .tt-right-icon .serach_icon.active .mdi-magnify { display: none !important; }
html body .header_2 .tt-right-icon .serach_icon.active .mdi-window-close { display: inline-block !important; }
html body .header_2 .wrapper-top-cart > .site-header_cart_link::before { display: none !important; content: none !important; }
html body .header_2 .site-header_cart_link i.mdi-cart { display: inline-block !important; }
html body .header_2 .site-header_cart_link i.mdi-cart::before { content: "\F111" !important; }
html body .header_2 .site-header__cart-count, html body .header_2 #CartCount_sticky { position: absolute !important; top: 3px !important; right: 1px !important; left: auto !important; margin: 0 !important; }
html body .header_2 .site-header__cart-count .cart-products-count, html body .header_2 #CartCount_sticky .cart-products-count {
    display: block !important; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 99px; text-align: center;
    background: var(--gold) !important; color: var(--ink) !important; font: 700 10px/18px var(--f-ui) !important; box-shadow: 0 0 0 2px var(--paper) !important;
}
html body .site-header.header_2 { height: auto !important; }
html body .header_2 .nav-menu-wrap, html body .header_2 #header-sticky { height: auto !important; min-height: 0 !important; }

/* hero: gallery frame, paired arrows, aligned dots */
html body [id$="__slideshow"] .homeslider .slides .slide > a::before {
    content: ""; position: absolute; inset: clamp(12px, 1.8vw, 26px); z-index: 2; pointer-events: none;
    border: 1px solid rgba(255, 247, 236, .22); border-radius: clamp(14px, 2vw, 26px);
}
html body [id$="__slideshow"] .slider-content-wrap { left: max(calc((100vw - 1230px) / 2), 7vw) !important; }
@media (min-width: 768px) {
    html body [id$="__slideshow"] .homeslider .slides .slick-arrow {
        top: auto !important; bottom: clamp(36px, 4vw, 58px) !important; transform: none !important; margin: 0 !important;
        width: 52px !important; height: 52px !important; z-index: 5;
    }
    html body [id$="__slideshow"] .homeslider .slides .slick-prev { left: auto !important; right: calc(max(calc((100vw - 1230px) / 2), 7vw) + 62px) !important; }
    html body [id$="__slideshow"] .homeslider .slides .slick-next { right: max(calc((100vw - 1230px) / 2), 7vw) !important; left: auto !important; }
    html body [id$="__slideshow"] .homeslider .slick-dots { left: max(calc((100vw - 1230px) / 2), 7vw) !important; right: auto !important; width: auto !important; bottom: clamp(56px, 5vw, 78px) !important; text-align: left !important; }
}
html body [id$="__slideshow"] .homeslider .slick-dots li { margin: 0 6px 0 0 !important; width: auto !important; }

/* testimonials: an after-dark interlude */
html body [id$="__tt-testimonial"] .tt-testimonial-wrap {
    background:
        radial-gradient(60% 80% at 85% -10%, rgba(212, 160, 74, .28), transparent 60%),
        radial-gradient(50% 70% at 0% 110%, rgba(169, 80, 47, .22), transparent 60%),
        var(--ink) !important;
    color: #efe6da; box-shadow: 0 40px 80px -50px rgba(23, 18, 28, .8);
}
html body [id$="__tt-testimonial"] .tt-testimonial-wrap::after {
    content: "\201C"; position: absolute; left: clamp(16px, 4vw, 60px); top: -20px; pointer-events: none;
    font-family: Georgia, serif; font-size: clamp(180px, 22vw, 320px); line-height: 1; color: rgba(212, 160, 74, .12);
}
html body [id$="__tt-testimonial"] .tt-testimonial-wrap > .container { position: relative; z-index: 1; }
html body [id$="__tt-testimonial"] .tt-testimonial-wrap > .container::before { color: var(--gold) !important; }
html body [id$="__tt-testimonial"] .tt-testimonial-wrap > .container::after {
    content: "Words from the people who wear us"; display: block; text-align: center; margin: -6px 0 30px; order: -1;
    font-family: var(--f-display); font-size: clamp(26px, 3vw, 42px); color: #fff; letter-spacing: -.01em;
}
html body [id$="__tt-testimonial"] .tt-testimonial-wrap > .container { display: flex; flex-direction: column; }
html body [id$="__tt-testimonial"] .tt-testimonial-wrap > .container::before { order: -2; }
html body [id$="__tt-testimonial"] .testimonial-detail::before { display: none !important; }
html body [id$="__tt-testimonial"] .testimonial-desc { color: #f4ece1 !important; font-size: clamp(20px, 2vw, 28px) !important; }
html body [id$="__tt-testimonial"] .tt-testimonial-wrap .testimonial-block {
    padding: clamp(24px, 3vw, 40px) clamp(20px, 4vw, 56px) !important; border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 22px !important; background: rgba(255, 255, 255, .035) !important;
}
html body [id$="__tt-testimonial"] .tt-testimonial-wrap .testimonial-user-title,
html body [id$="__tt-testimonial"] .tt-testimonial-wrap .testimonial-block .testimonial-user-title span { color: #fff !important; }
html body [id$="__tt-testimonial"] .tt-testimonial-wrap .testimonial-user-desc span { color: #a99d90 !important; }
html body [id$="__tt-testimonial"] .tt-testimonial-wrap .testimonial-block .authorimg img { box-shadow: 0 0 0 3px var(--ink), 0 0 0 4px var(--gold) !important; }
html body [id$="__tt-testimonial"] .owl-dots .owl-dot span { background: rgba(255, 255, 255, .25) !important; }
html body [id$="__tt-testimonial"] .owl-dots .owl-dot.active span { background: var(--gold) !important; }

/* header: drop the theme min-height and centre every glyph */
html body .site-header.header_2 { min-height: 0 !important; }
html body .header_2 .tt-right-icon .icon-btn i.mdi { display: inline-flex !important; align-items: center; justify-content: center; height: auto !important; width: auto !important; }
html body .header_2 .tt-right-icon .serach_icon .mdi-window-close { display: none !important; }
html body .header_2 .tt-right-icon .serach_icon.active .mdi-window-close { display: inline-flex !important; }
html body .header_2 .tt-right-icon .icon-btn .serach_icon i.mdi.mdi-window-close { display: none !important; }
html body .header_2 .tt-right-icon .icon-btn .serach_icon.active i.mdi.mdi-window-close { display: inline-flex !important; }
html body .header_2 .tt-right-icon .icon-btn .serach_icon.active i.mdi.mdi-magnify { display: none !important; }

/* ==========================================================================
   Pass 5 — inner pages
   ========================================================================== */

/* ---------- account forms: login, sign up, reset password ---------- */
html body .register-page {
    position: relative; max-width: 480px; margin: 0 auto var(--sec) !important; padding: clamp(30px, 4vw, 48px) !important;
    background: #fff !important; border: 1px solid var(--line) !important; border-radius: var(--r-lg) !important;
    box-shadow: 0 40px 80px -50px rgba(23, 18, 28, .35) !important; overflow: hidden;
}
html body .register-page::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--gold), var(--gold-soft), var(--gold)); }
html body .register-page .tt-innerpagetitle, html body .register-page h1, html body .register-page h2 {
    font-family: var(--f-display) !important; font-size: 34px !important; font-weight: 400 !important; text-transform: none !important;
    letter-spacing: -.01em !important; color: var(--ink) !important; margin: 0 0 6px !important; text-align: left !important;
}
html body .register-page .tt-innerpagetitle::after { content: "Welcome to IBA Beauty"; display: block; margin-top: 8px; font-family: var(--f-ui); font-size: 14px; color: var(--muted); letter-spacing: 0; }
html body .register-page form { margin-top: 26px; }
html body .register-page input[type="text"], html body .register-page input[type="email"], html body .register-page input[type="password"], html body .register-page input[type="tel"] {
    width: 100% !important; height: 52px !important; margin: 0 0 14px !important; padding: 0 18px !important; background: var(--paper) !important; border-radius: 14px !important;
}
html body .register-page input:focus { background: #fff !important; }
html body .register-page .btn, html body .register-page input[type="submit"] { width: 100% !important; min-height: 54px !important; margin-top: 8px !important; font-size: 12.5px !important; }
html body .register-page .btn:hover { background: var(--gold) !important; border-color: var(--gold) !important; color: var(--ink) !important; }
html body .register-page a { color: var(--ink) !important; font-size: 14px; font-weight: 500; }
html body .register-page a:hover { color: var(--gold-ink) !important; }
html body .register-page .grid { display: flex !important; justify-content: space-between; align-items: center; margin: 2px 0 6px !important; }
html body .register-page .grid::before, html body .register-page .grid::after { display: none !important; }
html body .register-page .grid-item { width: auto !important; padding: 0 !important; float: none !important; }
html body .register-page .grid-item p { margin: 0 !important; }
html body .register-page #customer_register_link { border-bottom: 1px solid var(--gold); padding-bottom: 2px; }
html body .register-page .text-center { text-align: center !important; }
html body .register-page .errors, html body .register-page .note { border-radius: 12px !important; }

/* ---------- empty states: bag, wishlist, compare ---------- */
html body .empty-page-content, html body #cartEmpty {
    display: flex !important; flex-direction: column; align-items: center; justify-content: center; text-align: center !important;
    max-width: 720px; margin: 0 auto var(--sec) !important; padding: clamp(48px, 6vw, 80px) 24px !important;
    background: radial-gradient(70% 90% at 50% 0%, rgba(212, 160, 74, .16), transparent 70%), var(--shea) !important;
}
html body .empty-page-content.hidden, html body .empty-page-content.hide, html body #cartEmpty.hide { display: none !important; }
html body .empty-page-content::before, html body #cartEmpty::before {
    content: "\F111"; font-family: "Material Design Icons"; font-size: 30px; line-height: 1; color: var(--gold-ink);
    width: 78px; height: 78px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    background: #fff; box-shadow: 0 0 0 1px var(--line), 0 18px 40px -24px rgba(23, 18, 28, .4); margin-bottom: 22px;
}
html body #wishlistEmpty::before { content: "\F2D5"; }
html body #compareEmpty::before { content: "\F4E1"; }
html body .empty-page-content h1, html body .empty-page-content .cart__title, html body #cartEmpty .cart__title { float: none !important; width: auto !important; margin: 0 0 10px !important; text-align: center !important; }
html body .empty-page-content p, html body #cartEmpty p { margin: 0 !important; max-width: 440px; }
html body .empty-page-content a, html body #cartEmpty a {
    display: inline-flex; margin-top: 4px; border-bottom: 0 !important; padding: 0 !important;
}

/* ---------- contact ---------- */
html body .contact-us-page .address-container { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 40px !important; }
html body .contact-us-page .address-text {
    width: auto !important; float: none !important; margin: 0 !important; padding: 28px 24px !important; text-align: left !important;
    display: flex !important; gap: 18px; align-items: flex-start; background: #fff; border: 1px solid var(--line); border-radius: var(--r);
    transition: box-shadow .4s var(--ease), transform .4s var(--ease);
}
html body .contact-us-page .address-text:hover { box-shadow: var(--shadow-soft); transform: translateY(-3px); }
html body .contact-us-page .address-text .icon {
    flex: 0 0 52px; width: 52px !important; height: 52px !important; border-radius: 50% !important; border: 0 !important; margin: 0 !important;
    background: var(--ink) !important; color: var(--gold) !important; display: flex !important; align-items: center; justify-content: center;
}
html body .contact-us-page .address-text .icon i { font-size: 22px !important; color: var(--gold) !important; line-height: 1 !important; }
html body .contact-us-page .address-text .content { font-size: 15px !important; color: var(--ink-soft) !important; line-height: 1.6; text-align: left !important; }
html body .contact-us-page .address-label { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .2em !important; text-transform: uppercase; color: var(--gold-ink) !important; margin-bottom: 6px !important; }
html body .contact-us-page .address-text .content a { color: var(--ink) !important; font-weight: 600; }
html body .contact_wrapper { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(20px, 3vw, 36px); margin-bottom: var(--sec); overflow: hidden; }
html body .contact_wrapper > .row { display: flex; flex-wrap: wrap; align-items: stretch; }
html body .contact_wrapper textarea { min-height: 170px !important; }
html body .contact_wrapper input, html body .contact_wrapper textarea { background: var(--paper) !important; margin-bottom: 14px !important; }
html body .contact_wrapper iframe, html body .contact_wrapper .map, html body .contact-us-page [id*="map"] { border-radius: var(--r) !important; overflow: hidden; width: 100% !important; }
html body .contact_wrapper .btn { min-width: 160px; }

/* ---------- about ---------- */
html body .ttabout1 .about_img img, html body .ttabout1 .aboutr_img img, html body .ttabout1 img, html body .ttabout-img img { border-radius: var(--r-lg); width: 100%; object-fit: cover; }
html body .ttabout-description, html body .ttabout-content { max-width: 860px; margin-left: auto !important; margin-right: auto !important; }
html body .ttabout-description, html body .ttabout-description p, html body .ttabout-content p {
    font-size: 17px !important; line-height: 1.85 !important; color: var(--ink-soft) !important; text-align: left;
}
html body .ttabout-description { padding: clamp(28px, 4vw, 52px) 0 !important; }
html body .ttabout-description p:first-child::first-letter { font-family: var(--f-display); font-size: 3.4em; float: left; line-height: .9; margin: 6px 10px 0 0; color: var(--gold-ink); }
html body .ttabout-title { font-family: var(--f-display) !important; font-size: clamp(28px, 3vw, 40px) !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: -.01em !important; color: var(--ink) !important; }
html body .ttabout-subtitle { font-size: 12px !important; font-weight: 600 !important; letter-spacing: .26em !important; text-transform: uppercase; color: var(--gold-ink) !important; }

/* ---------- terms & privacy: a readable document ---------- */
html body .page-content { max-width: 880px; margin: 0 auto var(--sec) !important; padding: clamp(28px, 5vw, 64px) !important; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); }
html body .page-content .tt-innerpagetitle, html body .page-content > h1, html body .page-content > h2 {
    font-family: var(--f-display) !important; font-size: clamp(28px, 3vw, 40px) !important; font-weight: 400 !important; text-transform: none !important;
    color: var(--ink) !important; margin: 0 0 24px !important; padding-bottom: 20px !important; border-bottom: 1px solid var(--line) !important;
}
html body .page-content .rte, html body .page-content .rte p, html body .page-content .rte li { font-size: 16px !important; line-height: 1.85 !important; color: var(--ink-soft) !important; }
html body .page-content .rte p { margin: 0 0 16px !important; }
html body .page-content .rte strong, html body .page-content .rte b, html body .page-content .rte h2, html body .page-content .rte h3, html body .page-content .rte h4 { color: var(--ink) !important; font-weight: 700 !important; }

/* ---------- product page ---------- */
html body .product-single__thumbs, html body #productThumbs { height: auto !important; max-height: 520px; background: transparent !important; border: 0 !important; box-shadow: none !important; }
html body .product-single__photos + div, html body .product-single .thumbnails-wrapper { background: transparent !important; border: 0 !important; }
html body .product-single__thumbs .slick-list { height: auto !important; }
html body .product-single__meta .product-single__title, html body .product-single .product-single__title { margin-bottom: 20px !important; padding-bottom: 20px !important; border-bottom: 1px solid var(--line) !important; }
html body .product-info { border: 0 !important; }
html body .product-info .table td, html body .product-info td { border: 0 !important; padding: 7px 14px 7px 0 !important; background: transparent !important; }
html body .product_tab_wrapper .nav-tabs { display: flex !important; justify-content: center; gap: 30px; border-bottom: 1px solid var(--line) !important; }
html body .product_tab_wrapper .nav-tabs > li { float: none !important; }
html body .product_tab_wrapper .nav-tabs > li > a { padding: 16px 0 !important; }
html body .product_tab_wrapper .tab-content { max-width: 860px; margin: 0 auto; padding: 28px 0 !important; border: 0 !important; }

/* ---------- shop toolbar ---------- */
html body .filters-toolbar-wrapper, html body .collection-view-wrap, html body .filters-toolbar, html body .toolbar, html body .sort-by {
    border: 0 !important; background: transparent !important;
}
html body .collection_template .filter-wrapper {
    background: #fff !important; border: 1px solid var(--line) !important; border-radius: 999px !important; padding: 8px 10px 8px 18px !important; margin-bottom: 30px !important;
}
html body .collection_template .filter-wrapper .view-mode a { border-radius: 50%; width: 36px; height: 36px; display: inline-flex !important; align-items: center; justify-content: center; }
html body .collection_template .filter-wrapper .view-mode a.active, html body .collection_template .filter-wrapper .view-mode a:hover { background: var(--shea); }
html body .collection_template .filter-wrapper { display: flex !important; align-items: center; justify-content: space-between; border-radius: 999px !important; }
html body .collection_template .filter-wrapper::before, html body .collection_template .filter-wrapper::after { display: none !important; }

@media (max-width: 991px) {
    html body .contact-us-page .address-container { grid-template-columns: 1fr; }
}

/* pass 5 fixes */
html body .register-page input, html body .register-page .btn { box-sizing: border-box !important; max-width: 100% !important; }
html body .register-page form > * { max-width: 100%; }
html body .contact_wrapper input[type="submit"], html body .contact_wrapper button, html body .contact_wrapper .btn { background: var(--ink) !important; color: var(--paper) !important; border: 1px solid var(--ink) !important; min-height: 50px; padding: 0 34px !important; }
html body .contact_wrapper input[type="submit"]:hover, html body .contact_wrapper button:hover, html body .contact_wrapper .btn:hover { background: var(--gold) !important; border-color: var(--gold) !important; color: var(--ink) !important; }
html body .empty-page-content, html body #cartEmpty { float: none !important; width: 100% !important; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; }
html body .empty-page-content .cart--continue-message, html body #cartEmpty .cart--continue-message { font-size: 16px; color: var(--ink-soft) !important; }
html body .register-page input, html body .register-page select, html body .register-page textarea { min-width: 0 !important; width: 100% !important; }

/* ==========================================================================
   Pass 6 — bag page, menu at in-between widths
   ========================================================================== */
html body #tt-megamenu .tt_menus_ul > li > a, html body #tt-megamenu .tt_menus_ul > li > a .tt_menu_item_heading_title { white-space: nowrap !important; }
@media (min-width: 768px) and (max-width: 1100px) {
    html body #tt-megamenu .tt-mega_menu .tt_menus_ul { gap: 16px !important; }
    html body #tt-megamenu .tt-mega_menu .tt_menus_ul > li > a .tt_menu_item_heading_title { font-size: 11px !important; letter-spacing: .12em !important; }
    html body .header_2 .header-logo img { max-height: 40px; }
}

/* bag: a clean ledger on the left, a totals card on the right */
html body #cart-div { display: flex; flex-wrap: wrap; align-items: flex-start; margin-bottom: var(--sec); }
html body #cart-div.hide { display: none !important; }
html body #cart-div .main-cart { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 8px clamp(14px, 2vw, 28px) 24px; }
html body #main-cart-items .row { margin: 0 !important; }
html body #main-cart-items .row::before, html body #main-cart-items .row::after { display: none !important; }
html body #main-cart-items .cart-items-row {
    border: 0 !important; border-bottom: 1px solid var(--line) !important; padding: 16px 0 !important;
    font-size: 11px !important; font-weight: 700 !important; letter-spacing: .2em !important; text-transform: uppercase; color: var(--muted) !important;
}
html body #main-cart-items .cart-items-row-inner { border: 0 !important; border-bottom: 1px solid var(--line) !important; padding: 20px 0 !important; position: relative; }
html body #main-cart-items .cart-items-row-inner:last-child { border-bottom: 0 !important; }
@media (min-width: 992px) {
    html body #main-cart-items .cart-items-row, html body #main-cart-items .cart-items-row-inner {
        display: grid !important; grid-template-columns: 110px minmax(0, 1.6fr) 1fr 150px 1fr; gap: 20px; align-items: center;
    }
    html body #main-cart-items .row > [class*="col-"] { width: auto !important; float: none !important; padding: 0 !important; max-width: none !important; flex: none !important; }
    html body #main-cart-items .cart-items-row > :nth-child(3), html body #main-cart-items .cart-items-row > :nth-child(4) { text-align: center; }
    html body #main-cart-items .cart-items-row > :last-child, html body #main-cart-items .cart__final-price { text-align: right !important; }
}
html body #main-cart-items .cart__image-wrapper { width: 100% !important; padding: 0 !important; }
html body #main-cart-items .cart__image { width: 100% !important; max-width: 110px; aspect-ratio: 1; object-fit: contain; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 8px; mix-blend-mode: normal; }
html body #main-cart-items .cart-items-row-inner > :first-child { position: relative; }
html body #main-cart-items cart-remove-button { position: absolute; top: -8px; left: -8px; z-index: 2; }
html body #main-cart-items .cart__remove {
    width: 30px; height: 30px; border-radius: 50%; background: #fff !important; border: 1px solid var(--line) !important; color: var(--ink-soft) !important;
    display: inline-flex; align-items: center; justify-content: center; padding: 0 !important; box-shadow: 0 6px 14px -8px rgba(23, 18, 28, .4);
}
html body #main-cart-items .cart__remove:hover { background: var(--ember) !important; color: #fff !important; border-color: var(--ember) !important; }
html body #main-cart-items .cart__remove i { font-size: 15px !important; }
html body #main-cart-items .cart__product-title { font-family: var(--f-display) !important; font-size: 18px !important; line-height: 1.35 !important; color: var(--ink) !important; text-transform: none !important; letter-spacing: .02em !important; }
html body #main-cart-items .cart__product-title:hover { color: var(--gold-ink) !important; }
html body #main-cart-items .product-details { display: none !important; }
html body #main-cart-items dl, html body #main-cart-items dd { margin: 0 !important; }
html body #main-cart-items .cart-main-price, html body #main-cart-items .cart__price { font-weight: 600; color: var(--ink) !important; font-size: 15px; }
html body #main-cart-items s { color: var(--muted); font-size: 13px; }
html body #main-cart-items .cart__final-price .cart-main-price { font-family: var(--f-display) !important; font-size: 19px; font-weight: 500; }
html body #main-cart-items quantity-input, html body #main-cart-items .cart-qty-box-set {
    display: inline-flex !important; align-items: center; justify-content: space-between; width: 130px !important; height: 46px; margin: 0 auto;
    border: 1px solid var(--line-strong) !important; border-radius: 999px !important; background: #fff; padding: 0 4px; overflow: hidden;
}
html body #main-cart-items .quantity__button { width: 36px; height: 36px; border: 0 !important; background: none !important; color: var(--ink) !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; padding: 0 !important; }
html body #main-cart-items .quantity__button:hover { background: var(--shea) !important; }
html body #main-cart-items .quantity__button svg { width: 11px; height: 11px; }
html body #main-cart-items .quantity__input { width: 40px !important; min-height: 0 !important; height: 36px !important; border: 0 !important; background: transparent !important; text-align: center; padding: 0 !important; font-weight: 600 !important; box-shadow: none !important; -moz-appearance: textfield; }
html body #main-cart-items .quantity__input::-webkit-inner-spin-button { -webkit-appearance: none; }
html body #cart-div #update_cart { margin-top: 18px !important; background: transparent !important; color: var(--ink) !important; border: 1px solid var(--line-strong) !important; }
html body #cart-div #update_cart:hover { background: var(--ink) !important; color: var(--paper) !important; }

html body #cart-footer { position: sticky; top: 110px; }
html body #cart-footer .cart__footer { display: grid; gap: 16px; }
html body #cart-footer .cart__note {
    display: grid !important; grid-template-columns: 1fr auto; gap: 8px; align-items: end; width: 100% !important;
    background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 18px !important; margin: 0 !important;
}
html body #cart-footer .cart__note label { grid-column: 1 / -1; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .2em !important; text-transform: uppercase; color: var(--muted) !important; margin: 0 !important; text-align: left !important; }
html body #cart-footer .cart__note input { min-height: 46px !important; height: 46px !important; margin: 0 !important; border-radius: 999px !important; padding: 0 18px !important; }
html body #cart-footer .cart__note .btn { min-height: 46px !important; margin: 0 !important; float: none !important; }
html body #cart-footer .cart__blocks, html body #cart-footer .totals {
    background: var(--shea) !important; border: 0 !important; border-radius: var(--r-lg) !important; padding: clamp(20px, 2.4vw, 30px) !important;
}
html body #cart-footer .totals { padding: 0 !important; background: transparent !important; }
html body #cart-footer .totals__subtotal { font-family: var(--f-display) !important; font-size: 26px !important; font-weight: 400 !important; text-align: left !important; margin: 0 0 6px !important; color: var(--ink) !important; }
html body #cart-footer hr { border-color: var(--line-strong) !important; margin: 14px 0 !important; }
html body #cart-footer .totals p, html body #cart-footer .totals span, html body #cart-footer .totals div { text-align: left; }
html body #cart-footer .totals__subtotal-value { font-size: 28px !important; }
html body #cart-footer .cart__ctas .btn, html body #cart-footer a.btn, html body #cart-footer #checkout, html body #cart-footer .cart__checkout-button:not(#submit_coupon) {
    width: 100% !important; min-height: 56px !important; margin-top: 10px !important; font-size: 13px !important;
}
html body #cart-footer .cart__checkout-button:not(#submit_coupon):hover, html body #cart-footer a.btn:hover { background: var(--gold) !important; border-color: var(--gold) !important; color: var(--ink) !important; }

@media (max-width: 991px) {
    html body #cart-div > * { width: 100% !important; float: none !important; }
    html body #main-cart-items .cart-items-row { display: none !important; }
    html body #main-cart-items .cart-items-row-inner { display: grid !important; grid-template-columns: 90px 1fr; gap: 10px 16px; align-items: center; }
    html body #main-cart-items .cart-items-row-inner > [class*="col-"] { width: auto !important; float: none !important; padding: 0 !important; text-align: left !important; }
    html body #main-cart-items .cart-items-row-inner > :first-child { grid-row: span 4; align-self: start; }
    html body #main-cart-items quantity-input, html body #main-cart-items .cart-qty-box-set { margin: 0; }
    html body #cart-footer { position: static; margin-top: 20px; }
}

/* ==========================================================================
   Pass 7 — same-day delivery strip
   ========================================================================== */
html body .usp-section {
    position: relative; overflow: hidden; padding: 0 !important; margin: 0 !important;
    background: linear-gradient(90deg, #120e17 0%, #241a2c 50%, #120e17 100%) !important;
    border-top: 1px solid rgba(212, 160, 74, .18); border-bottom: 1px solid rgba(212, 160, 74, .28) !important;
}
/* a slow gold sheen travelling along the bottom edge */
html body .usp-section::after {
    content: ""; position: absolute; left: 0; bottom: -1px; height: 1px; width: 40%;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    animation: ibaSheen 7s ease-in-out infinite; pointer-events: none;
}
@keyframes ibaSheen { 0% { transform: translateX(-100%); } 100% { transform: translateX(260%); } }
html body .usps {
    position: relative; display: flex !important; align-items: center; justify-content: center; gap: 22px;
    min-height: 54px; max-width: 1230px; margin: 0 auto; padding: 0 16px; background: transparent !important;
}
/* fading gold rules either side of the message */
html body .usps::before, html body .usps::after { content: ""; flex: 0 1 120px; height: 1px; }
html body .usps::before { background: linear-gradient(90deg, transparent, rgba(212, 160, 74, .55)); }
html body .usps::after { background: linear-gradient(90deg, rgba(212, 160, 74, .55), transparent); }
html body .usps .usp {
    display: inline-flex !important; align-items: center; gap: 14px; margin: 0 !important; padding: 10px 0 !important;
    color: #f1e7da !important; opacity: 1 !important; transform: none !important;
}
/* the hotlinked third-party icon is replaced by the site's own icon font */
html body .usps .usp img { display: none !important; }
html body .usps .usp::before {
    content: "\F787"; font-family: "Material Design Icons"; font-size: 17px; line-height: 1;
    flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--gold-soft), var(--gold)); color: var(--ink);
    box-shadow: 0 0 0 4px rgba(212, 160, 74, .14);
}
html body .usps .usp p {
    margin: 0 !important; font-family: var(--f-ui) !important; font-size: 12px !important; font-weight: 600 !important;
    letter-spacing: .2em !important; text-transform: uppercase; color: #f1e7da !important; line-height: 1.5 !important;
}
/* a gentle "service live" pulse */
html body .usps .usp::after {
    content: ""; flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--gold);
    box-shadow: 0 0 0 0 rgba(212, 160, 74, .6); animation: ibaPulse 2.4s ease-out infinite;
}
@keyframes ibaPulse { 0% { box-shadow: 0 0 0 0 rgba(212, 160, 74, .6); } 70% { box-shadow: 0 0 0 8px rgba(212, 160, 74, 0); } 100% { box-shadow: 0 0 0 0 rgba(212, 160, 74, 0); } }
@media (prefers-reduced-motion: reduce) {
    html body .usp-section::after, html body .usps .usp::after { animation: none; }
}
@media (max-width: 767px) {
    html body .usps { gap: 0; min-height: 0; padding: 0 14px; }
    html body .usps::before, html body .usps::after { display: none; }
    html body .usps .usp { gap: 12px; padding: 11px 0 !important; text-align: left; }
    html body .usps .usp::before { flex-basis: 28px; width: 28px; height: 28px; font-size: 15px; }
    html body .usps .usp p { font-size: 10.5px !important; letter-spacing: .13em !important; }
    html body .usps .usp::after { display: none; }
}

/* sections are always visible: the theme in-view script can miss sections after fast scrolls or jumps */
html body .hb-animate-element, html body .hb-animate-element.hb-in-viewport { opacity: 1 !important; transform: none !important; animation: none !important; visibility: visible !important; }

/* product action bar: always one tidy row of round icons */
html body .product-wrapper .btn_wrapper { flex-wrap: nowrap !important; width: max-content !important; max-width: calc(100% - 20px); justify-content: center !important; align-items: center !important; }
html body .product-wrapper .btn_wrapper .pro_btn, html body .product-wrapper .btn_wrapper .add-to-wishlist, html body .product-wrapper .btn_wrapper .add-to-compare, html body .product-wrapper .btn_wrapper .quick-view-wrap { flex: 0 0 auto !important; width: 42px !important; height: 42px !important; display: flex !important; align-items: center; justify-content: center; float: none !important; }
html body .product-wrapper .btn_wrapper .show, html body .product-wrapper .btn_wrapper .default-wishbutton, html body .product-wrapper .btn_wrapper .loadding-wishbutton:not(.hidden), html body .product-wrapper .btn_wrapper [class*="default-comparebutton"] { display: flex !important; align-items: center; justify-content: center; width: 42px; height: 42px; }
html body .product-wrapper .btn_wrapper .hidden { display: none !important; }
html body .product-wrapper .btn_wrapper .btn:hover, html body .product-wrapper .btn_wrapper .pro_btn > a:hover { transform: translateY(-2px); }
html body .product-wrapper .btn_wrapper .add-to-compare .added { background: var(--gold) !important; color: var(--ink) !important; }
html body div.product-wrapper div.btn_wrapper.btn_wrapper { width: auto !important; min-width: 0 !important; inline-size: max-content !important; gap: 6px !important; padding: 6px !important; }
html body .product-layouts .product-wrapper .product-thumb .btn_wrapper, html body .product-wrapper .product-thumb .btn_wrapper { right: auto !important; left: 50% !important; }
html body .product-wrapper .btn_wrapper .pro_btn a::after, html body .product-wrapper .btn_wrapper .pro_btn a::before { display: none !important; }
html body .product-wrapper .btn_wrapper .pro_btn a > i { float: none !important; width: auto !important; height: auto !important; line-height: 1 !important; }
html body .product-layouts .product-wrapper .btn_wrapper, html body .product-layouts.style3 .product-wrapper .btn_wrapper, html body .product-wrapper .btn_wrapper { max-width: none !important; max-height: none !important; height: auto !important; min-height: 0 !important; }

/* ==========================================================================
   Pass 8 — wishlist & compare tables
   ========================================================================== */
html body .wishlist-table > .container, html body .wishlist-table .container { max-width: 1230px; }
html body .wishlist-table .wishlist-head-row, html body .wishlist-table .wishlist-inner-row { margin: 0 !important; }
html body .wishlist-table .wishlist-head-row::before, html body .wishlist-table .wishlist-head-row::after,
html body .wishlist-table .wishlist-inner-row::before, html body .wishlist-table .wishlist-inner-row::after { display: none !important; }
html body .wishlist-table .wishlist-head-row {
    background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--line) !important;
    font-size: 11px !important; font-weight: 700 !important; letter-spacing: .2em !important; text-transform: uppercase; color: var(--muted) !important;
}
html body .wishlist-table .wishlist-inner-row {
    background: #fff; border: 1px solid var(--line) !important; border-radius: var(--r); margin-top: 14px !important; transition: box-shadow .4s var(--ease);
}
html body .wishlist-table .wishlist-inner-row:hover { box-shadow: var(--shadow-soft); }
@media (min-width: 992px) {
    html body .wishlist-table .wishlist-head-row, html body .wishlist-table .wishlist-inner-row {
        display: grid !important; grid-template-columns: 64px 120px minmax(0, 2fr) 1fr 1fr 80px; align-items: center; gap: 12px; padding: 12px 18px !important;
    }
    html body .wishlist-table .wishlist-head-row > *, html body .wishlist-table .wishlist-inner-row > * { width: auto !important; max-width: none !important; flex: none !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
}
html body .wishlist-table .detail { border: 0 !important; background: transparent !important; }
html body .wishlist-table .product-thumbnail img { width: 96px !important; height: 96px !important; object-fit: contain; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 6px; }
html body .wishlist-table .product-name a, html body .wishlist-table .wishlist-item-link { font-family: var(--f-display) !important; font-size: 17px !important; color: var(--ink) !important; text-transform: none !important; letter-spacing: .02em !important; line-height: 1.35; }
html body .wishlist-table .product-price { font-weight: 600; color: var(--ink) !important; }
html body .wishlist-table .in_stock { color: #2f7a4f !important; background: rgba(47, 122, 79, .09); border-radius: 999px; padding: 5px 12px; font-size: 12px; font-weight: 600; }
html body .wishlist-table .out_of_stock { color: var(--ember) !important; background: rgba(169, 80, 47, .09); border-radius: 999px; padding: 5px 12px; font-size: 12px; font-weight: 600; }
html body .wishlist-table .remove_from_wishlist {
    width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--line); color: var(--ink-soft) !important; background: #fff;
}
html body .wishlist-table .remove_from_wishlist:hover { background: var(--ember); border-color: var(--ember); color: #fff !important; }
html body .wishlist-table .wishlist-add-cart-btn { width: 46px !important; min-height: 46px !important; height: 46px; padding: 0 !important; border-radius: 50% !important; }
html body .wishlist-table .wishlist-add-cart-btn i { font-size: 19px; }
html body .wishlist-table .wishlist-add-cart-btn:hover { background: var(--gold) !important; border-color: var(--gold) !important; color: var(--ink) !important; }

html body .compare_table { border: 0 !important; border-collapse: separate !important; border-spacing: 0; background: #fff; border-radius: var(--r-lg); overflow: hidden; box-shadow: 0 0 0 1px var(--line); width: 100%; }
html body .compare_table th, html body .compare_table td { border: 0 !important; border-bottom: 1px solid var(--line) !important; padding: 16px 20px !important; vertical-align: middle !important; }
html body .compare_table tr:last-child th, html body .compare_table tr:last-child td { border-bottom: 0 !important; }
html body .compare_table th { background: var(--shea) !important; width: 200px; }
html body .compare_table td { text-align: center; }
html body .compare_table img { width: 180px !important; height: 180px !important; object-fit: contain; border-radius: 14px; }
html body .compare_table .compare-item-link { font-family: var(--f-display) !important; font-size: 18px; color: var(--ink) !important; letter-spacing: .02em; }
html body .compare_table .productprice td, html body .compare_table .productprice td * { color: var(--ink) !important; font-weight: 600; font-size: 16px; }
html body .compare_table .compare-in-stock { color: #2f7a4f !important; font-weight: 600; }
html body .compare_table .remove_from_compare {
    width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--line); color: var(--ink-soft) !important; background: #fff;
}
html body .compare_table .remove_from_compare:hover { background: var(--ember); border-color: var(--ember); color: #fff !important; }
html body .compare-box .cart__title, html body .page-content-wrapper > .cart__title { font-family: var(--f-display) !important; font-size: 30px !important; font-weight: 400 !important; text-transform: none !important; margin-bottom: 20px !important; }

/* ==========================================================================
   Pass 9 — journal (home news, blog list, article)
   ========================================================================== */

/* shared card */
html body [id$="__feature-blogs"] #blog_slider .tt-blog-content > *,
html body .blogleft_inner_content .tt-blog-content > * { position: relative; }
html body [id$="__feature-blogs"] #blog_slider .tt-blog-content,
html body .blogleft_inner_content .article.tt-blog-content { padding: 0 !important; }
/*html body [id$="__feature-blogs"] #blog_slider .article__grid__inner { padding: 10px 12px 26px !important; }*/
html body [id$="__feature-blogs"] #blog_slider .tt-blog-content,
html body .blogleft_inner_content .article.tt-blog-content {
    background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden;
    transition: transform .6s var(--ease), box-shadow .6s var(--ease), border-color .6s var(--ease);
}
html body [id$="__feature-blogs"] #blog_slider .tt-blog-content:hover,
html body .blogleft_inner_content .article.tt-blog-content:hover { transform: translateY(-6px); box-shadow: 0 34px 60px -40px rgba(23, 18, 28, .45); border-color: rgba(212, 160, 74, .45); }
html body [id$="__feature-blogs"] #blog_slider .blog_image_holder,
html body .blogleft_inner_content .blog_image_holder { border-radius: 0 !important; box-shadow: none !important; }
/* soft gradient so labels read on any photo */
html body [id$="__feature-blogs"] #blog_slider .blog_image_holder > a::after,
html body .blogleft_inner_content .blog_image_holder > a::after {
    content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(23, 18, 28, .25) 0%, transparent 35%, transparent 70%, rgba(23, 18, 28, .25) 100%);
    pointer-events: none; opacity: .8; transition: opacity .5s var(--ease);
}
html body [id$="__feature-blogs"] #blog_slider .blog_image_holder > a, html body .blogleft_inner_content .blog_image_holder > a { display: block; position: relative; overflow: hidden; }
html body [id$="__feature-blogs"] #blog_slider .blog-content-wrap,
html body .blogleft_inner_content .tt-blog-description { padding: 22px 24px 24px !important; }
html body [id$="__feature-blogs"] #blog_slider .article__title,
html body [id$="__feature-blogs"] #blog_slider .article__title a,
html body .blogleft_inner_content .article__title, html body .blogleft_inner_content .article__title a {
    font-size: 19px !important; line-height: 1.32 !important; letter-spacing: .015em !important;
    background-image: linear-gradient(var(--gold), var(--gold)); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%;
    transition: background-size .6s var(--ease), color .3s var(--ease);
}
html body [id$="__feature-blogs"] #blog_slider .tt-blog-content:hover .article__title a,
html body .blogleft_inner_content .article.tt-blog-content:hover .article__title a { background-size: 100% 1px; }
html body [id$="__feature-blogs"] #blog_slider .article__meta-buttons a.read-more,
html body .blogleft_inner_content .blog-btn a { display: inline-flex !important; align-items: center; gap: 8px; color: var(--ink) !important; }
html body [id$="__feature-blogs"] #blog_slider .article__meta-buttons a.read-more { font-size: 0 !important; }
html body [id$="__feature-blogs"] #blog_slider .article__meta-buttons a.read-more::before { content: "Read story"; font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
html body [id$="__feature-blogs"] #blog_slider .article__meta-buttons a.read-more::after { font-size: 14px !important; }
html body .blogleft_inner_content .blog-btn a { font-size: 0 !important; }
html body .blogleft_inner_content .blog-btn a::before { content: "Read story"; font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
html body .blogleft_inner_content .blog-btn a::after { font-size: 14px; }
html body [id$="__feature-blogs"] #blog_slider .blog_image_holder::after { left: 16px !important; top: 16px !important; }
html body [id$="__feature-blogs"] #blog_slider .owl-stage { display: flex !important; }
html body [id$="__feature-blogs"] #blog_slider .owl-item { display: flex; flex: 0 0 auto !important; margin: 10px;}
html body [id$="__feature-blogs"] #blog_slider .owl-item > * { width: 100%; }

/* blog list: a calm header line above the grid */
html body .blogleft_inner_content { padding-bottom: var(--sec); }
html body .blogleft_inner_content::before {
    content: "Stories on fragrance, skin and hair, written for life in Ghana."; display: block; text-align: center;
    max-width: 620px; margin: 0 auto 40px; font-family: var(--f-display); font-style: italic; font-size: clamp(20px, 2vw, 26px); color: var(--ink-soft);
}
html body .blogleft_inner_content .blogs-sub-title { left: 16px; top: 16px; z-index: 2; }
html body .blogleft_inner_content .bloglinks { z-index: 2; }

/* article: title first, then the image, then a comfortable reading column */
html body .blog-post-single { max-width: 820px; }
html body .blog-post-single > header.section-header { display: flex !important; flex-direction: column; margin-bottom: 34px !important; text-align: left !important; }
html body .blog-post-single > header.section-header h1 { order: 1; font-size: clamp(32px, 3.8vw, 54px) !important; margin: 0 0 14px !important; }
html body .blog-post-single > header.section-header .blog-meta { order: 2; margin: 0 0 26px !important; display: flex; align-items: center; gap: 10px; }
html body .blog-post-single > header.section-header .blog-meta::before { content: "The Journal"; color: var(--gold-ink); font-weight: 700; padding-right: 12px; border-right: 1px solid var(--line-strong); }
html body .blog-post-single > header.section-header .blog-meta .meta { float: none !important; width: auto !important; padding: 0 !important; }
html body .blog-post-single > header.section-header .blog-meta .circle-divider::after, html body .blog-post-single .article_date .mdi { display: none !important; }
html body .blog-post-single > header.section-header .blog-post__full-image { order: 3; margin: 0 !important; box-shadow: 0 40px 70px -50px rgba(23, 18, 28, .55); }
html body .blog-post-single > header.section-header .blog-post__full-image img { max-height: 560px; }
html body .blog-post-single .rte { max-width: 700px; margin: 0 auto; }
html body .blog-post-single .rte > p:first-child, html body .blog-post-single .rte > p:first-child * { font-size: 20px !important; line-height: 1.7 !important; color: var(--ink) !important; font-family: var(--f-display) !important; }
html body .blog-post-single .rte b, html body .blog-post-single .rte strong { font-family: var(--f-display) !important; font-size: 22px !important; font-weight: 500 !important; display: inline-block; margin-top: 12px; }
html body .blog-post-single .rte blockquote { border-left: 2px solid var(--gold) !important; padding: 6px 0 6px 22px !important; margin: 28px 0 !important; font-family: var(--f-display) !important; font-style: italic; font-size: 22px !important; }
html body .blog-post-single .rte a { color: var(--gold-ink) !important; border-bottom: 1px solid currentColor; }
html body .blog-post-single .rte img { border-radius: var(--r); margin: 18px 0; }
html body .blog-post-single .rte ul, html body .blog-post-single .rte ol { padding-left: 22px; }
html body .blog-post-single .rte li { margin-bottom: 8px; }
html body .blog-post-single .rte li::marker { color: var(--gold); }
html body .blog-post-single > hr { display: none; }
html body .left-sidebar .recent_article {
    background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 22px 20px 8px !important;
}
html body .left-sidebar .recent_article h4 { margin: 0 0 6px !important; padding-bottom: 14px !important; border-bottom: 1px solid var(--line) !important; color: var(--ink) !important; }
html body .left-sidebar .recent_article h4::after { display: none !important; }
html body .left-sidebar .recent_article li { flex-wrap: nowrap; }
html body .left-sidebar .recent_article li:last-child { border-bottom: 0; }
html body .left-sidebar .recent_article .artical-image { flex: 0 0 64px; width: 64px !important; padding: 0 !important; }
html body .left-sidebar .recent_article .article-detail { width: auto !important; padding: 0 !important; flex: 1; min-width: 0; }
html body .left-sidebar .recent_article .article__title { margin: 0 0 4px !important; white-space: normal !important; }
html body .left-sidebar .recent_article .article__title a { display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal !important; line-height: 1.35 !important; }
html body .left-sidebar .recent_article .article_date .mdi { color: var(--gold); }
@media (min-width: 992px) { html body .left-sidebar .theiaStickySidebar { padding-top: 6px !important; } }

/* ==========================================================================
   Pass 10 — account (profile) page
   ========================================================================== */
html body .profile__area { padding: 0 0 var(--sec) !important; position: relative; }
html body .profile__area::before {
    content: "My account"; display: block; margin-bottom: var(--sec-sm);
    padding: clamp(36px, 4.5vw, 60px) max(calc((100vw - 1230px) / 2), 20px); margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
    background: radial-gradient(520px 520px at 92% -40%, rgba(212, 160, 74, .28), transparent 65%), var(--shea);
    font-family: var(--f-display); font-size: clamp(36px, 4.4vw, 58px); line-height: 1.05; color: var(--ink); letter-spacing: -.02em;
}
html body .profile__shape { display: none !important; }
html body .profile__area .container { max-width: 1230px; }

/* side menu */
html body .profile__tab { margin-right: 0 !important; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 12px !important; box-shadow: none !important; }
html body .profile__tab .nav-tabs { display: flex !important; flex-direction: column; gap: 4px; border: 0 !important; padding: 0 !important; margin: 0 !important; background: transparent !important; box-shadow: none !important; }
html body .profile__tab .nav-tabs .nav-link, html body .profile__tab .nav-tabs > li > a, html body .profile__tab .nav-tabs button {
    display: flex !important; align-items: center; gap: 12px; width: 100%; text-align: left !important; padding: 14px 16px !important; margin: 0 !important;
    border: 0 !important; border-radius: 14px !important; background: transparent !important; color: var(--ink-soft) !important;
    font-family: var(--f-ui) !important; font-size: 14px !important; font-weight: 600 !important; letter-spacing: .02em !important; text-transform: none !important; box-shadow: none !important;
}
html body .profile__tab .nav-tabs .nav-link::after, html body .profile__tab .nav-tabs .nav-link::before { display: none !important; }
html body .profile__tab .nav-tabs .nav-link:hover { background: var(--shea) !important; color: var(--ink) !important; }
html body .profile__tab .nav-tabs .nav-link.active, html body .profile__tab .nav-tabs .active > a {
    background: var(--ink) !important; color: var(--paper) !important;
}
html body .profile__tab .nav-tabs .nav-link.active i, html body .profile__tab .nav-tabs .nav-link.active span { color: var(--gold) !important; }
html body .profile__tab #marker-vertical { display: none !important; }
html body .profile__tab .tp-tab-menu { display: flex !important; }

/* content panel */
html body .profile__tab-content { background: #fff !important; border: 1px solid var(--line) !important; border-radius: var(--r-lg) !important; padding: clamp(24px, 3.4vw, 44px) !important; box-shadow: 0 40px 80px -60px rgba(23, 18, 28, .4) !important; }
html body .profile__main-top { padding-bottom: 32px !important; margin-bottom: 32px; border-bottom: 1px solid var(--line); }
html body .profile__main-inner { align-items: center !important; gap: 20px; }
html body .profile__main-thumb img { width: 76px !important; height: 76px !important; border-radius: 50% !important; object-fit: cover; box-shadow: 0 0 0 4px #fff, 0 0 0 5px var(--gold) !important; background: var(--shea); }
html body .profile__main-thumb { margin: 0 !important; }
html body .profile__main-title { font-family: var(--f-display) !important; font-size: clamp(28px, 3vw, 40px) !important; font-weight: 400 !important; color: var(--ink) !important; margin: 0 !important; letter-spacing: -.01em; }
html body .profile__main-content::after { content: "Your orders, details and favourites in one place."; display: block; margin-top: 6px; color: var(--muted); font-size: 14px; }
html body .profile__main-logout a, html body .profile__main-logout .btn, html body .profile__main-logout .tp-btn {
    background: transparent !important; color: var(--ink) !important; border: 1px solid var(--line-strong) !important; min-height: 44px; padding: 0 22px !important;
}
html body .profile__main-logout a:hover, html body .profile__main-logout .btn:hover { background: var(--ink) !important; color: var(--paper) !important; border-color: var(--ink) !important; }

/* quick tiles: bag, orders, wishlist */
html body .profile__main-info .row { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 0 !important; }
html body .profile__main-info .row::before, html body .profile__main-info .row::after { display: none !important; }
html body .profile__main-info .row > [class*="col-"] { width: auto !important; padding: 0 !important; max-width: none !important; flex: none !important; }
html body .profile__main-info-item {
    position: relative; height: 100%; margin: 0 !important; padding: 30px 20px !important; text-align: center; border: 0 !important; border-radius: var(--r) !important;
    background: radial-gradient(90% 80% at 50% 0%, rgba(212, 160, 74, .16), transparent 70%), var(--shea) !important;
    transition: transform .4s var(--ease), box-shadow .4s var(--ease);
}
html body .profile__main-info-item:hover { transform: translateY(-4px); box-shadow: var(--shadow-soft); }
html body .profile__main-info-icon { display: inline-flex !important; align-items: center; justify-content: center; position: relative; width: 64px; height: 64px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px var(--line); margin-bottom: 14px !important; }
html body .profile__main-info-icon > span:not(.profile-icon-count) { display: inline-flex !important; }
html body .profile__main-info-icon img, html body .profile__main-info-icon svg { width: 28px !important; height: 28px !important; filter: none; }
html body .profile__main-info-icon svg * { stroke: var(--ink); }
html body .profile__main-info-icon .profile-icon-count {
    position: absolute !important; top: -4px !important; right: -6px !important; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 99px !important;
    background: var(--ink) !important; color: var(--gold-soft) !important; font: 700 11px/24px var(--f-ui) !important; box-shadow: 0 0 0 3px var(--shea);
}
html body .profile__main-info-title { font-family: var(--f-display) !important; font-size: 20px !important; font-weight: 400 !important; color: var(--ink) !important; margin: 0 !important; }

/* forms in the information and password tabs */
html body .profile__tab-content h3, html body .profile__tab-content .profile__info-title, html body .profile__tab-content h4:not(.profile__main-title) {
    font-family: var(--f-display) !important; font-size: 28px !important; font-weight: 400 !important; color: var(--ink) !important; margin: 0 0 24px !important; text-transform: none !important;
}
html body .profile__input-box, html body .tp-profile-input-box { margin-bottom: 18px !important; }
html body .profile__input-box h5, html body .profile__input-box label, html body .tp-profile-input-title, html body .tp-profile-input-title label {
    display: block; margin: 0 0 8px !important; font-family: var(--f-ui) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .18em !important; text-transform: uppercase; color: var(--muted) !important;
}
html body .profile__input input, html body .profile__input select, html body .profile__input textarea, html body .tp-profile-input input {
    width: 100% !important; min-height: 52px; background: var(--paper) !important; border-radius: 14px !important; padding: 0 18px !important;
}
html body .profile__input textarea { padding: 14px 18px !important; }
html body .profile__input input:focus, html body .tp-profile-input input:focus { background: #fff !important; }
html body .profile__input > span, html body .profile__input i { color: var(--muted); }
html body #submit_update_profile, html body #submit_change_password { min-height: 54px; padding: 0 36px !important; }
html body #submit_update_profile:hover, html body #submit_change_password:hover { background: var(--gold) !important; border-color: var(--gold) !important; color: var(--ink) !important; }

/* orders */
html body #nav-order table { width: 100%; border-collapse: separate !important; border-spacing: 0; border: 1px solid var(--line) !important; border-radius: var(--r); overflow: hidden; }
html body #nav-order table td, html body #nav-order table th { padding: 14px 16px !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; vertical-align: middle !important; }
html body #nav-order table tr:last-child td { border-bottom: 0 !important; }
html body #nav-order table tbody tr:hover td { background: var(--paper) !important; }
html body #nav-order .btn, html body #nav-order a.btn { min-height: 36px !important; padding: 0 16px !important; font-size: 11px !important; }
html body .cms-pagination-list a, html body .cms-pagination-list span { border-radius: 999px !important; }

/* modals on this page */
html body .tp-cancel-order-modal .modal-content, html body #DeleteAccountModal .modal-content, html body #addMoneytoWalletModal .modal-content { border-radius: var(--r-lg) !important; border: 0 !important; box-shadow: var(--shadow) !important; }

@media (max-width: 991px) {
    html body .profile__tab { margin-bottom: 20px; }
    html body .profile__tab .nav-tabs { flex-direction: row; overflow-x: auto; flex-wrap: nowrap; }
    html body .profile__tab .nav-tabs .nav-link { white-space: nowrap; width: auto; }
    html body .profile__main-info .row { grid-template-columns: 1fr; }
}
html body .profile__main-info-icon > span:not(.profile-icon-count) { position: static !important; width: 100% !important; height: 100% !important; align-items: center !important; justify-content: center !important; margin: 0 !important; padding: 0 !important; transform: none !important; }
html body .blogleft_inner_content::before { text-wrap: balance; max-width: 700px; }
html body [id$="__feature-blogs"] #blog_slider .article__meta-buttons a.read-more::before { content: none !important; display: none !important; }

/* ==========================================================================
   Pass 11 — journal cards: one design on home and blog list, equal heights
   ========================================================================== */
/* both pages: the same image ratio, two-line titles, three-line excerpts, link pinned to the bottom */
html body [id$="__feature-blogs"] #blog_slider .tt-blog-content,
html body .blogleft_inner_content .article.tt-blog-content { display: flex !important; flex-direction: column; height: 100%; }
html body [id$="__feature-blogs"] #blog_slider .blog-content-wrap,
html body .blogleft_inner_content .tt-blog-description { flex: 1 1 auto; display: flex !important; flex-direction: column; }
html body [id$="__feature-blogs"] #blog_slider .blog_image_holder img,
html body .blogleft_inner_content .blog_image_holder img { width: 100% !important; height: auto !important; aspect-ratio: 16 / 10 !important; object-fit: cover !important; display: block; }
html body [id$="__feature-blogs"] #blog_slider .article__title,
html body .blogleft_inner_content .article__title {
    display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    min-height: calc(19px * 1.32 * 2); margin: 0 0 10px !important;
}
html body [id$="__feature-blogs"] #blog_slider .article__grid-excerpt,
html body .blogleft_inner_content .home-blog-content p {
    display: -webkit-box !important; -webkit-line-clamp: 3 !important; -webkit-box-orient: vertical; overflow: hidden;
    min-height: calc(14px * 1.65 * 3); line-height: 1.65 !important;
}
html body .blogleft_inner_content .home-blog-content { display: block !important; -webkit-line-clamp: unset !important; overflow: visible !important; }
html body [id$="__feature-blogs"] #blog_slider .article__meta-buttons,
html body .blogleft_inner_content .blog-btn { margin-top: auto !important; padding-top: 14px !important; border-top: 1px solid var(--line); }
html body [id$="__feature-blogs"] #blog_slider .blog-content-wrap .article__grid-excerpt { margin-bottom: 16px !important; }
html body .blogleft_inner_content .home-blog-content { margin-bottom: 16px; }

/* home carousel: every slide stretches to the tallest so neighbours line up */
html body [id$="__feature-blogs"] #blog_slider .owl-stage { display: flex !important; align-items: stretch; }
html body [id$="__feature-blogs"] #blog_slider .owl-item { display: flex !important; height: auto !important; }
html body [id$="__feature-blogs"] #blog_slider .owl-item > .tt-blog-content { width: 100%; }
/* same "Journal" tag position and the same read link on both */
html body [id$="__feature-blogs"] #blog_slider .tt-blog-content { margin: 0 12px; }
html body [id$="__feature-blogs"] #blog_slider .owl-stage-outer { padding: 10px 0 30px; }
html body .blogleft_inner_content .home-blog-content { height: auto !important; max-height: none !important; }
html body .blogleft_inner_content .home-blog-content p { display: -webkit-box !important; }
html body .blogleft_inner_content .blog_image_holder, html body [id$="__feature-blogs"] #blog_slider .blog_image_holder { height: auto !important; min-height: 0 !important; }
html body .blogleft_inner_content .home-blog-content .article__title { float: none !important; width: 100% !important; } html body .blogleft_inner_content .home-blog-content p { clear: both; }

/* ==========================================================================
   Pass 12 — page loader
   ========================================================================== */
html body .ttloader {
    position: fixed !important; inset: 0; z-index: 99999 !important; display: flex !important; align-items: center; justify-content: center;
    background: radial-gradient(60% 60% at 50% 45%, #2a1f31 0%, var(--ink) 70%) !important;
    opacity: 1; transition: opacity .55s var(--ease), visibility .55s;
    /* safety net: never stays up longer than 4s, even if a script fails */
    animation: ibaLoaderOut .6s 4s forwards;
}
html body .ttloader.is-done { opacity: 0; visibility: hidden; pointer-events: none; }
@keyframes ibaLoaderOut { to { opacity: 0; visibility: hidden; pointer-events: none; } }
html body .ttloader .rotating {
    position: relative !important; inset: auto !important; width: 64px !important; height: 64px !important; margin: 0 !important;
    background: none !important; border-radius: 50%;
    border: 1.5px solid rgba(212, 160, 74, .18); border-top-color: var(--gold); border-right-color: var(--gold-soft);
    animation: ibaSpin 1s cubic-bezier(.55, .15, .45, .85) infinite;
}
html body .ttloader .rotating::after {
    content: ""; position: absolute; inset: 0; margin: auto; width: 10px; height: 10px; border-radius: 50%;
    background: var(--gold); box-shadow: 0 0 18px rgba(212, 160, 74, .7);
    animation: ibaGlow 1.4s ease-in-out infinite;
}
html body .ttloader::after {
    content: "IBA Beauty · Aurora"; position: absolute; left: 0; right: 0; top: calc(50% + 56px); text-align: center;
    font-family: var(--f-ui); font-size: 11px; font-weight: 600; letter-spacing: .32em; text-transform: uppercase; color: rgba(241, 231, 218, .7);
}
@keyframes ibaSpin { to { transform: rotate(360deg); } }
@keyframes ibaGlow { 50% { transform: scale(.6); opacity: .55; } }
@media (prefers-reduced-motion: reduce) {
    html body .ttloader .rotating, html body .ttloader .rotating::after { animation: none !important; }
}
@media (max-width: 767px) { html body .product-wrapper, html body .product_container { height: auto !important; min-height: 0 !important; } html body .product-wrapper .product-description { min-height: 0 !important; max-height: none !important; } }

/* ==========================================================================
   Pass 13 — mobile
   ========================================================================== */
@media (max-width: 991px) {
    /* mobile menu: a clean dropdown card under the header */
    html body .header_2 .tt-mega_menu {
        left: 12px !important; right: 12px !important; width: auto !important; top: calc(100% + 8px) !important;
        background: var(--paper) !important; border: 1px solid var(--line) !important; border-radius: 20px !important;
        box-shadow: 0 30px 60px -30px rgba(23, 18, 28, .45) !important; padding: 8px !important; z-index: 60 !important;
        max-height: calc(100vh - 120px); overflow-y: auto;
    }
    html body .header_2 .tt-mega_menu .tt_menus_ul { display: block !important; margin: 0 !important; padding: 0 !important; }
    html body .header_2 .tt-mega_menu .tt_menus_ul > li { position: relative !important; border-bottom: 1px solid var(--line) !important; padding: 0 !important; margin: 0 !important; width: 100% !important; float: none !important; }
    html body .header_2 .tt-mega_menu .tt_menus_ul > li:last-child { border-bottom: 0 !important; }
    html body .header_2 .tt-mega_menu .tt_menus_ul > li > a {
        display: flex !important; align-items: center; justify-content: space-between; padding: 16px 14px !important; line-height: 1.2 !important;
    }
    html body #tt-megamenu .tt-mega_menu .tt_menus_ul > li > a .tt_menu_item_heading_title {
        font-family: var(--f-ui) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .18em !important; color: var(--ink) !important;
    }
    html body .header_2 .tt-mega_menu .tt_menus_ul > li > a::before, html body .header_2 .tt-mega_menu .tt_menus_ul > li > a::after { display: none !important; }
    html body .header_2 .tt-mega_menu .mobile-nav__sublist-trigger { position: absolute !important; right: 6px; top: 6px; width: 40px; height: 40px; display: flex !important; align-items: center; justify-content: center; border-radius: 50%; color: var(--ink); }
    html body .header_2 .tt-mega_menu .mobile-nav__sublist-trigger:active { background: var(--shea); }
    html body .header_2 .tt-mega_menu .tt_sub_menu_wrap { position: static !important; width: auto !important; box-shadow: none !important; border: 0 !important; padding: 0 14px 12px !important; background: transparent !important; }
    html body .header_2 .tt-mega_menu .tt_sub_menu_wrap .col-md-4 { width: 100% !important; padding: 0 !important; }
    html body #tt-megamenu .tt_sub_menu .sub_mn_title, html body #tt-megamenu .tt_sub_menu .sub_mn_title a { font-size: 18px !important; padding: 8px 0 !important; margin: 0 !important; }
    html body #tt-megamenu .tt_sub_menu_linklist li a { padding: 8px 0 !important; font-size: 15px !important; }

    /* shop toolbar: view switch + sort on one tidy line */
    html body .collection_template .filter-wrapper { flex-wrap: nowrap; gap: 8px; padding: 6px 6px 6px 10px !important; border-radius: 999px !important; }
    html body .collection_template .filter-wrapper .view-mode { display: flex !important; align-items: center; gap: 2px; flex: none; }
    html body .collection_template .filter-wrapper .view-mode a.list, html body .collection_template .filter-wrapper .view-mode a.short-list { display: none !important; }
    html body .collection_template .sorting_wrapper { display: flex !important; align-items: center; gap: 8px; margin-left: auto; min-width: 0; }
    html body .collection_template .sorting_wrapper label, html body .collection_template .sorting_wrapper > span { font-size: 12px; white-space: nowrap; }
    html body #view-option-sort { max-width: 170px; font-size: 14px !important; }

    /* filters: the closed drawer takes no room; boxes become soft cards */
    html body details.mobile-facets__disclosure:not([open]) > :not(summary) { display: none !important; }
    html body .facets-container, html body .collection_template .widget, html body .collection_template .facets__disclosure {
        border: 1px solid var(--line) !important; border-radius: 16px !important; background: #fff !important; margin-bottom: 10px !important; overflow: hidden;
    }
    html body .collection_template .widget h4, html body .collection_template .facets__disclosure h4, html body .collection_template .facets__disclosure summary {
        font-family: var(--f-ui) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .2em !important; text-transform: uppercase; padding: 14px 16px !important; margin: 0 !important; color: var(--ink) !important;
    }
    html body .mobile-facets__open { display: flex !important; align-items: center; gap: 8px; padding: 14px 16px !important; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ink) !important; }
    html body .brand_filter_search { margin: 0 16px 14px !important; width: calc(100% - 32px) !important; }

    /* product grids: 2 tidy columns, comfortable tap targets */
    html body .products-grid-view .grid-view-item, html body .product-grid .grid-view-item { padding-left: 6px !important; padding-right: 6px !important; }
    html body .product-wrapper .product-description { padding: 12px 2px 4px !important; }
    html body .product-wrapper .h4.grid-view-item__title a { font-size: 14px !important; }

    /* product page */
    html body .product-single__meta { margin-top: 24px; }
    html body .product-single__meta .product-single__title, html body .product-single .product-single__title { font-size: 28px !important; }
    html body #AddToCart, html body .buy-it-now-btn { width: 100% !important; margin: 6px 0 !important; }
    html body .product-single .product-form__item, html body .product-single .qty-box-set { width: 100%; }

    /* general: section titles and spacing */
    html body .section-header .tt-title, html body .tthometab-title .tt-title { font-size: clamp(30px, 8.5vw, 40px) !important; }
    html body .breadcrumb-wrap .title, html body .breadcrumb-wrap h1 { font-size: clamp(30px, 9vw, 40px) !important; }
    html body .breadcrumb-block .breadcrumb-wrapper { padding: 28px 0 !important; }
    html body .breadcrumb-block { margin-bottom: 28px !important; }
    html body .breadcrumb-wrap { align-items: center !important; text-align: center !important; }
    html body .container { padding-left: 16px !important; padding-right: 16px !important; }
}
@media (max-width: 767px) {
    /* home banners: one per view, full width */
    html body [id$="__ttcmsbanner"] .ttbanner { padding: 0 !important; }
    html body .ttcmsbanner .ttbanner-wrap .ttbanner-content .ttbanner-button { margin: 0 !important; position: absolute !important; left: 16px; bottom: 16px; }
    html body .ttcmsbanner .ttbanner-wrap .ttbanner-content .ttbanner-button a.subbtn { min-height: 40px; line-height: 40px !important; padding: 0 18px !important; font-size: 11px !important; }
    /* cart and wishlist rows */
    html body .wishlist-table .wishlist-head-row { display: none !important; }
    html body .wishlist-table .wishlist-inner-row { display: grid !important; grid-template-columns: 84px 1fr auto; gap: 8px 14px; align-items: center; padding: 14px !important; }
    html body .wishlist-table .wishlist-inner-row > * { width: auto !important; padding: 0 !important; justify-content: flex-start !important; }
    html body .wishlist-table .wishlist-inner-row .product-remove { grid-column: 3; grid-row: 1; justify-content: flex-end !important; }
    html body .wishlist-table .wishlist-inner-row .product-thumbnail { grid-column: 1; grid-row: 1 / span 3; }
    html body .wishlist-table .product-thumbnail img { width: 84px !important; height: 84px !important; }
    html body .wishlist-table .wishlist-inner-row .product-add-to-cart { grid-column: 3; justify-content: flex-end !important; }
    html body .compare_table th { width: 110px; font-size: 10px !important; }
    html body .compare_table img { width: 120px !important; height: 120px !important; }
    /* footer: comfortable tap targets */
    html body .site-footer .nav-secondary li a { display: inline-block; padding: 8px 4px; }
    /* touch targets on product cards */
    html body .product-wrapper .btn_wrapper .btn, html body .product-wrapper .btn_wrapper .pro_btn > a { width: 40px !important; height: 40px !important; }
    /* hero text safe area */
    html body [id$="__slideshow"] .home-slider .slider-content-wrap { left: 22px !important; right: 22px !important; }
    html body #GotoTop { right: 14px !important; bottom: 14px !important; width: 44px !important; height: 44px !important; }
}
/* inputs at 16px stop iOS from zooming in on focus */
@media (max-width: 767px) {
    html body input[type="text"], html body input[type="email"], html body input[type="tel"], html body input[type="password"], html body input[type="search"], html body input[type="number"], html body select, html body textarea { font-size: 16px !important; }
}
@media (max-width: 991px) {
    html body .collection_template .sidebar-block { border: 0 !important; background: transparent !important; padding: 0 !important; }
    html body .menu-opening .mobile-facets__inner, html body details[open] .mobile-facets__inner { background: var(--paper) !important; color: var(--ink) !important; box-shadow: 30px 0 60px -30px rgba(23, 18, 28, .4) !important; }
    html body .mobile-facets__inner h4, html body .mobile-facets__inner label, html body .mobile-facets__inner a, html body .mobile-facets__inner span { color: var(--ink) !important; }
    html body .mobile-facets__inner h4 { font-family: var(--f-ui) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .2em !important; text-transform: uppercase; }
    html body .mobile-facets__close { color: var(--ink) !important; }
}
@media (max-width: 991px) { html body .header_2 .tt-mega_menu .tt_menus_ul > li { display: block !important; height: auto !important; } html body .header_2 .tt-mega_menu .tt_menus_ul > li > a { float: none !important; position: relative !important; width: 100% !important; } }
@media (max-width: 767px) { html body #main-cart-items .cart__product-title { font-size: 16px !important; text-align: left !important; display: block; } html body #main-cart-items .cart-items-row-inner > [class*="col-"] { text-align: left !important; } html body #main-cart-items .cart__final-price .cart-main-price { font-size: 18px; } }

/* ==========================================================================
   Pass 14 — notifications (bag, wishlist, compare)
   ========================================================================== */
/* added-to-bag: a calm card that slides in under the header */
html body .ajax-success-modal .overlay { background: rgba(23, 18, 28, .35) !important; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
html body .ajax-success-modal .cart-content {
    top: 96px !important; right: 24px !important; left: auto !important; width: min(380px, calc(100vw - 32px)) !important; height: auto !important;
    background: var(--paper) !important; border: 1px solid var(--line) !important; border-radius: 22px !important;
    box-shadow: 0 40px 80px -36px rgba(23, 18, 28, .55) !important; overflow: hidden; animation: ibaNotify .45s var(--ease);
}
@keyframes ibaNotify { from { opacity: 0; transform: translateY(-12px) scale(.98); } to { opacity: 1; transform: none; } }
html body .ajax-success-modal .cart-content .content { padding: 18px 20px 20px !important; background: transparent !important; }
html body .ajax-success-modal .added-to-cart.info {
    display: flex !important; align-items: center; gap: 10px; margin: 0 0 16px !important; padding: 0 30px 14px 0 !important; border-bottom: 1px solid var(--line);
    font-size: 11px !important; font-weight: 700 !important; letter-spacing: .2em !important; text-transform: uppercase; color: var(--ink) !important;
}
html body .ajax-success-modal .added-to-cart.info::before {
    content: "\F12C"; font-family: "Material Design Icons"; font-size: 14px; width: 26px; height: 26px; border-radius: 50%; flex: none;
    display: inline-flex; align-items: center; justify-content: center; background: var(--gold); color: var(--ink); letter-spacing: 0;
}
html body .ajax-success-modal .close-modal {
    position: absolute !important; top: 14px !important; right: 14px !important; width: 32px; height: 32px; border-radius: 50%;
    display: inline-flex !important; align-items: center; justify-content: center; color: var(--ink) !important; background: transparent; transition: background .25s;
}
html body .ajax-success-modal .close-modal:hover { background: var(--shea); }
html body .ajax-success-modal .ajax-content { display: flex !important; gap: 14px; align-items: center; margin: 0 0 18px !important; }
html body .ajax-success-modal .ajax-left { flex: 0 0 72px; width: 72px !important; padding: 0 !important; float: none !important; }
html body .ajax-success-modal .ajax-product-image { width: 72px !important; height: 72px !important; object-fit: contain; background: #fff; border: 1px solid var(--line); border-radius: 14px !important; padding: 6px; }
html body .ajax-success-modal .ajax-right { flex: 1; min-width: 0; width: auto !important; padding: 0 !important; float: none !important; display: flex; flex-direction: column; gap: 4px; position: relative; }
html body .ajax-success-modal .ajax-product-title {
    font-family: var(--f-display) !important; font-size: 16px !important; line-height: 1.3 !important; letter-spacing: .02em !important; font-weight: 500 !important;
    margin: 0 !important; max-width: none !important; display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
html body .ajax-success-modal .product-title { margin: 0 !important; }
html body .ajax-success-modal .total_itmes { position: static !important; order: 3; font-size: 12px !important; color: var(--muted) !important; margin: 0 !important; float: none !important; }
html body .ajax-success-modal .ajax_price { order: 2; display: block; }
html body .ajax-success-modal .regular-price:not(.hidden), html body .ajax-success-modal .sale-price:not(.hidden) { display: block !important; }
html body .ajax-success-modal .ajax_price .regular_price, html body .ajax-success-modal .ajax_price .product-price__price { font-weight: 700 !important; font-size: 15px !important; color: var(--ink) !important; float: none !important; }
html body .ajax-success-modal .ajax_price .compare_price { color: var(--muted) !important; font-size: 13px; margin-left: 6px; }
html body .ajax-success-modal .discount-percentage { display: none !important; }
html body .ajax-success-modal .success-message { margin: 0 !important; }
html body .ajax-success-modal .success-message .btn { width: 100% !important; min-height: 50px !important; margin: 0 !important; background: var(--ink) !important; color: var(--paper) !important; }
html body .ajax-success-modal .success-message .btn:hover { background: var(--gold) !important; color: var(--ink) !important; }
html body .ajax-success-modal .continue-shopping {
    display: block; width: 100%; margin-top: 10px; padding: 12px 0; text-align: center; border-radius: 999px; border: 1px solid var(--line-strong);
    font-size: 12px !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ink) !important; cursor: pointer; transition: background .25s;
}
html body .ajax-success-modal .continue-shopping:hover { background: var(--shea); }

/* wishlist and other toasts */
html body #toast-container { z-index: 99990 !important; }
html body #toast-container.toast-top-right { top: 96px !important; right: 24px !important; }
html body #toast-container > div {
    width: min(340px, calc(100vw - 32px)) !important; padding: 16px 18px 16px 56px !important; margin: 0 0 10px !important;
    border-radius: 16px !important; font-size: 14px !important; font-weight: 500; line-height: 1.4; position: relative; opacity: 1 !important;
    box-shadow: 0 30px 60px -30px rgba(23, 18, 28, .55) !important; animation: ibaNotify .4s var(--ease);
}
html body #toast-container > div::before {
    font-family: "Material Design Icons"; font-size: 15px; position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
    width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
}
html body #toast-container > .toast-info, html body #toast-container > .toast-success { background-color: var(--ink) !important; color: #f1e7da !important; }
html body #toast-container > .toast-info::before, html body #toast-container > .toast-success::before { content: "\F2D1"; background: var(--gold); color: var(--ink); }
html body #toast-container > .toast-success::before { content: "\F12C"; }
html body #toast-container > .toast-warning, html body #toast-container > .toast-error { background-color: #fff !important; color: var(--ink) !important; border: 1px solid var(--line) !important; }
html body #toast-container > .toast-warning::before, html body #toast-container > .toast-error::before { content: "\F026"; background: rgba(169, 80, 47, .12); color: var(--ember); }
html body #toast-container .toast-message, html body #toast-container .toast-title { color: inherit !important; }
html body #toast-container .toast-progress { background: var(--gold) !important; opacity: .6 !important; }

/* compare: the same card style, no full-screen box */
html body #modalCompare1 { inset: 96px 24px auto auto !important; width: min(360px, calc(100vw - 32px)) !important; height: auto !important; overflow: visible !important; background: transparent !important; }
html body #modalCompare1 .modal-dialog { width: 100% !important; margin: 0 !important; transform: none !important; }
html body #modalCompare1 .modal-content {
    border-radius: 18px !important; background: var(--ink) !important; color: #f1e7da !important; border: 0 !important;
    box-shadow: 0 30px 60px -30px rgba(23, 18, 28, .6) !important; animation: ibaNotify .4s var(--ease);
}
html body #modalCompare1 .modal-body { display: flex; align-items: center; gap: 12px; padding: 14px 14px 14px 18px !important; }
html body #modalCompare1 .modal-header { display: flex; align-items: center; gap: 12px; flex: 1; padding: 0 !important; border: 0 !important; min-width: 0; }
html body #modalCompare1 .modal-header::before {
    content: "\F4E1"; font-family: "Material Design Icons"; font-size: 15px; width: 28px; height: 28px; border-radius: 50%; flex: none;
    display: inline-flex; align-items: center; justify-content: center; background: var(--gold); color: var(--ink);
}
html body #modalCompare1 .max_compare { margin: 0 !important; font-size: 14px; font-weight: 500; color: #f1e7da !important; flex: 1; }
html body #modalCompare1 .close { order: 3; position: static !important; opacity: .7 !important; color: #f1e7da !important; text-shadow: none !important; font-size: 18px; margin: 0 0 0 4px !important; float: none !important; }
html body #modalCompare1 .close:hover { opacity: 1 !important; }
html body #modalCompare1 .compare-button { flex: none; }
html body #modalCompare1 .compare-button .btn { min-height: 38px !important; padding: 0 16px !important; font-size: 11px !important; background: var(--paper) !important; color: var(--ink) !important; border-color: var(--paper) !important; }
html body #modalCompare1 .compare-button .btn:hover { background: var(--gold) !important; border-color: var(--gold) !important; }
@media (max-width: 767px) {
    html body .ajax-success-modal .cart-content, html body #modalCompare1 { top: auto !important; bottom: 16px !important; right: 16px !important; left: 16px !important; width: auto !important; inset: auto 16px 16px 16px !important; }
    html body #toast-container.toast-top-right { top: auto !important; bottom: 16px !important; right: 16px !important; left: 16px !important; }
    html body #toast-container > div { width: 100% !important; }
}
@media (min-width: 768px) { html body #modalCompare1 { inset: auto 24px 24px auto !important; } }
html body #modalCompare1 .modal-content, html body .ajax-success-modal .cart-content, html body #toast-container > div { opacity: 1 !important; }
/* compare notice: light card, same family as the bag notice */
html body #modalCompare1 .modal-content, html body #modalCompare1 .modal-body, html body #modalCompare1 .modal-header { background: var(--paper) !important; }
html body #modalCompare1 .modal-content { border: 1px solid var(--line) !important; }
html body #modalCompare1 .max_compare { color: var(--ink) !important; }
html body #modalCompare1 .close, html body #modalCompare1 .close span { color: var(--ink) !important; }
html body #modalCompare1 .compare-button .btn { background: var(--ink) !important; color: var(--paper) !important; border-color: var(--ink) !important; }
html body #modalCompare1 .compare-button .btn:hover { background: var(--gold) !important; border-color: var(--gold) !important; color: var(--ink) !important; }
html body #modalCompare1 { width: min(420px, calc(100vw - 32px)) !important; }

/* ==========================================================================
   Pass 15 — bag page update button, mini bag
   ========================================================================== */
/* the card now contains its own footer: Update Cart sits inside, clearly visible */
html body #cart-div .main-cart { display: flow-root; }
html body #cart-div #update_cart {
    float: none !important; display: flex !important; align-items: center; justify-content: center; gap: 10px;
    margin: 18px 0 0 auto !important; min-height: 46px !important; padding: 0 24px !important;
    background: var(--shea) !important; color: var(--ink) !important; border: 1px solid var(--line-strong) !important;
}
html body #cart-div #update_cart::before { content: "\F450"; font-family: "Material Design Icons"; font-size: 17px; line-height: 1; display: inline-block !important; position: static !important; background: none !important; width: auto !important; height: auto !important; }
html body #cart-div #update_cart:hover { background: var(--ink) !important; color: var(--paper) !important; border-color: var(--ink) !important; }
html body #cart-div .main-cart > #update_cart { border-top: 0; }
html body #cart-div .main-cart::after { content: ""; display: block; clear: both; }
html body #main-cart-items + #update_cart { margin-top: 20px !important; }
@media (min-width: 992px) {
    html body #main-cart-items .cart-items-row, html body #main-cart-items .cart-items-row-inner { grid-template-columns: 96px minmax(0, 2fr) 120px 140px 120px !important; }
}
html body #main-cart-items .cart-main-price, html body #main-cart-items .cart__price, html body #main-cart-items .cart__final-price { white-space: nowrap; }
html body #main-cart-items .cart__product-title { font-size: 17px !important; }

/* mini bag */
html body #slidedown-cart i.mdi, html body #slidedown-cart .actions .btn i { color: inherit !important; font-size: 17px !important; display: inline-flex !important; margin: 0 !important; }
html body #slidedown-cart .actions .btn { gap: 8px; }
html body #slidedown-cart .mini-products-list { max-height: 320px; overflow-y: auto; margin: 0 !important; padding: 0 !important; }
html body #slidedown-cart .mini-products-list .item { display: grid !important; grid-template-columns: 64px 1fr 28px; gap: 12px; align-items: center; padding: 12px 0 !important; }
html body #slidedown-cart .mini-products-list .item > * { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
html body #slidedown-cart .product-image img { width: 64px !important; height: 64px !important; }
html body #slidedown-cart .product-name { margin: 0 0 4px !important; }
html body #slidedown-cart .product-name a { font-size: 14px !important; line-height: 1.35 !important; display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
html body #slidedown-cart .btn-remove {
    position: static !important; width: 28px !important; height: 28px !important; border-radius: 50%; display: inline-flex !important; align-items: center; justify-content: center;
    background: transparent !important; border: 1px solid var(--line) !important; color: var(--ink-soft) !important;
}
html body #slidedown-cart .btn-remove:hover { background: var(--ember) !important; border-color: var(--ember) !important; color: #fff !important; }
html body #slidedown-cart .btn-remove .mdi, html body #slidedown-cart .btn-remove span { font-size: 14px !important; color: inherit !important; }
html body #slidedown-cart .btn-remove::before, html body #slidedown-cart .btn-remove::after { display: none !important; }
html body #slidedown-cart .summary .total { display: flex; justify-content: space-between; align-items: baseline; margin: 0 !important; }
@media (min-width: 992px) { html body #main-cart-items .cart-items-row, html body #main-cart-items .cart-items-row-inner { grid-template-columns: 80px minmax(0, 1fr) 92px 124px 96px !important; gap: 14px !important; } html body #main-cart-items .cart__image { max-width: 80px; } }
@media (min-width: 992px) { html body #main-cart-items .cart-items-row, html body #main-cart-items .cart-items-row-inner { grid-template-columns: 76px minmax(0, 1fr) 88px 120px 112px !important; } html body #main-cart-items .cart__final-price .cart-main-price { font-size: 17px; } }
html body .register-page { width: 100% !important; max-width: 560px !important; padding: clamp(28px, 4vw, 52px) !important; } html body .register-page form { width: 100% !important; }

/* ==========================================================================
   Pass 16 — account page icons and buttons
   ========================================================================== */
/* menu icons: the page asks for Font Awesome, which the site doesn't load, so draw them with the site's icon font */
html body .profile__tab .nav-link > span { display: inline-flex !important; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--shea); flex: none; }
html body .profile__tab .nav-link.active > span { background: rgba(212, 160, 74, .2); }
html body .profile__tab .nav-link > span i { font-style: normal; display: inline-flex !important; }
html body .profile__tab .nav-link > span i::before { font-family: "Material Design Icons" !important; font-size: 16px; line-height: 1; content: "\F013"; }
html body .profile__tab #nav-profile-tab > span i::before { content: "\F6BB"; }
html body .profile__tab #nav-information-tab > span i::before { content: "\F2FD"; }
html body .profile__tab #nav-order-tab > span i::before { content: "\F3D7"; }
html body .profile__tab #nav-password-tab > span i::before { content: "\F341"; }
html body .profile__tab .nav-link { gap: 12px !important; }

/* welcome row: avatar beside the greeting, logout aligned with it */
html body .profile__main-top .row { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin: 0 !important; }
html body .profile__main-top .row::before, html body .profile__main-top .row::after { display: none !important; }
html body .profile__main-top .row > [class*="col-"] { width: auto !important; padding: 0 !important; flex: 0 1 auto !important; max-width: 100% !important; }
html body .profile__main-inner { display: flex !important; flex-wrap: nowrap !important; align-items: center !important; text-align: left; }
html body .profile__main-content { min-width: 0; }
html body .profile__main-logout { margin: 0 !important; float: none !important; text-align: right; }
html body .profile__main-logout a, html body .profile__main-logout .btn, html body .profile__main-logout .tp-btn {
    display: inline-flex !important; align-items: center !important; justify-content: center; gap: 8px; height: 44px !important; min-height: 44px; line-height: 1 !important;
    padding: 0 22px !important; border-radius: 999px !important; white-space: nowrap; font-size: 12px !important; letter-spacing: .14em !important; text-transform: uppercase;
}
html body .profile__main-logout a::before { content: "\F343"; font-family: "Material Design Icons"; font-size: 16px; letter-spacing: 0; }

/* tiles: keep icons and badges inside their circles */
html body .profile__main-info-icon { overflow: visible; }
html body .profile__main-info-icon > span:not(.profile-icon-count) svg, html body .profile__main-info-icon > span:not(.profile-icon-count) img { max-width: 28px; max-height: 28px; }
html body .profile__main-info-icon .profile-icon-count { top: -2px !important; right: -4px !important; }

/* orders: the table scrolls sideways on narrow screens instead of running off the edge */
html body #nav-order .table-responsive, html body #nav-order table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
html body #nav-order table thead, html body #nav-order table tbody { display: table; width: 100%; min-width: 560px; table-layout: auto; }
html body #nav-order table td, html body #nav-order table th { white-space: nowrap; }

/* form buttons in the tabs never exceed the panel */
html body .profile__tab-content .btn, html body .profile__tab-content button { max-width: 100%; white-space: normal; }
html body .profile__tab-content .row { margin-left: -8px !important; margin-right: -8px !important; }
html body .profile__tab-content .row > [class*="col-"] { padding-left: 8px !important; padding-right: 8px !important; }

@media (max-width: 767px) {
    html body .profile__main-top .row { flex-direction: column; align-items: stretch; }
    html body .profile__main-logout { text-align: left; }
    html body .profile__main-inner { gap: 14px !important; }
    html body .profile__main-thumb img { width: 60px !important; height: 60px !important; }
    html body .profile__main-title { font-size: 26px !important; }
    html body .profile__tab .nav-tabs { flex-direction: column !important; overflow: visible !important; }
    html body .profile__tab .nav-tabs .nav-link { width: 100% !important; }
    html body .profile__main-info .row { grid-template-columns: repeat(3, 1fr) !important; gap: 10px !important; }
    html body .profile__main-info-item { padding: 18px 8px !important; }
    html body .profile__main-info-icon { width: 50px; height: 50px; margin-bottom: 10px !important; }
    html body .profile__main-info-title { font-size: 15px !important; }
    html body #submit_update_profile, html body #submit_change_password { width: 100%; }
}
html body .profile__main-info .row { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } html body .profile__main-info .row > [class*="col-"], html body .profile__main-info-item { min-width: 0 !important; } html body .profile__main-info-title { overflow-wrap: anywhere; }
html body .profile__main-info .profile__main-info-title { overflow-wrap: normal !important; word-break: normal !important; } @media (max-width: 767px) { html body .profile__main-info .profile__main-info-item .profile__main-info-title { font-size: 15px !important; line-height: 1.25 !important; } }

/* ==========================================================================
   Pass 17 — pagination
   ========================================================================== */
html body .pagination-wrap { border: 0 !important; background: transparent !important; padding: 36px 0 8px !important; margin: 24px 0 0 !important; border-top: 1px solid var(--line) !important; }
html body .cms-pagination-main-cntnr { display: flex !important; flex-direction: column; align-items: center; gap: 14px; }
html body ul.pagination.cms-pagination-list { display: flex !important; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; margin: 0 !important; padding: 0 !important; border: 0 !important; }
html body ul.pagination.cms-pagination-list > li { font-size: 0 !important; margin: 0 !important; padding: 0 !important; float: none !important; display: inline-flex !important; }
html body ul.pagination.cms-pagination-list > li > a.page-link {
    width: 42px !important; height: 42px !important; padding: 0 !important; margin: 0 !important; border-radius: 50% !important;
    display: inline-flex !important; align-items: center; justify-content: center; font-family: var(--f-ui) !important; font-size: 14px !important; font-weight: 600 !important;
    color: var(--ink) !important; background: #fff !important; border: 1px solid var(--line) !important; box-shadow: none !important; line-height: 1 !important;
    transition: background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease) !important;
}
html body ul.pagination.cms-pagination-list > li > a.page-link i { font-size: 18px !important; line-height: 1 !important; }
html body ul.pagination.cms-pagination-list > li > a.page-link:hover { background: var(--shea) !important; border-color: var(--line-strong) !important; }
html body ul.pagination.cms-pagination-list > li.active > a.page-link { background: var(--ink) !important; color: var(--paper) !important; border-color: var(--ink) !important; }
html body ul.pagination.cms-pagination-list > li.disabled > a.page-link { opacity: .35; pointer-events: none; }
html body .cms-pagination-main-cntnr ~ *, html body .pagination-wrap .pagination-detail, html body .cms-pagination-main-cntnr > div:not(.pagination) {
    font-size: 12px !important; letter-spacing: .14em; text-transform: uppercase; color: var(--muted) !important; text-align: center;
}
@media (max-width: 480px) {
    html body ul.pagination.cms-pagination-list > li > a.page-link { width: 38px !important; height: 38px !important; }
}

/* ==========================================================================
   Pass 18 — shop filter wrapper (toolbar + sidebar filters)
   ========================================================================== */
/* toolbar: view switch on the left, "Sort by" + select centred on the right */
html body .collection_template .filter-wrapper {
    display: flex !important; align-items: center !important; justify-content: space-between; gap: 16px;
    min-height: 64px; padding: 10px 12px 10px 16px !important; margin-bottom: 30px !important;
    background: #fff !important; border: 1px solid var(--line) !important; border-radius: 999px !important; box-shadow: none !important;
}
html body .collection_template .filter-wrapper > * { float: none !important; margin: 0 !important; width: auto !important; }
html body .collection_template .filter-wrapper .view-mode { display: flex !important; align-items: center; gap: 4px; padding: 0 !important; }
html body .collection_template .filter-wrapper .view-mode a {
    width: 40px !important; height: 40px !important; border-radius: 50% !important; display: inline-flex !important; align-items: center; justify-content: center;
    color: var(--muted) !important; background: transparent; margin: 0 !important; padding: 0 !important; border: 0 !important; transition: background .25s, color .25s;
}
html body .collection_template .filter-wrapper .view-mode a.active, html body .collection_template .filter-wrapper .view-mode a:hover { background: var(--ink) !important; color: var(--paper) !important; }
html body .collection_template .filter-wrapper .view-mode a i, html body .collection_template .filter-wrapper .view-mode a::before { font-size: 18px !important; color: inherit !important; }
html body .collection_template .sorting_wrapper, html body .collection_template .sorting_wrapper > div, html body .collection_template .filter-sortby {
    display: flex !important; align-items: center !important; gap: 12px; float: none !important; height: auto !important; margin: 0 !important; padding: 0 !important; width: auto !important;
}
html body .collection_template .filter-sortby label {
    display: inline-flex !important; align-items: center; height: auto !important; margin: 0 !important; padding: 0 !important; line-height: 1 !important;
    font-size: 11px !important; font-weight: 700 !important; letter-spacing: .2em !important; text-transform: uppercase; color: var(--muted) !important; white-space: nowrap;
}
html body .collection_template .sorting-section { margin: 0 !important; padding: 0 !important; float: none !important; }
html body #view-option-sort { margin: 0 !important; min-height: 44px !important; height: 44px !important; padding: 0 40px 0 18px !important; background-color: var(--paper) !important; font-weight: 500; cursor: pointer; }

/* sidebar filters: soft cards with a clear title, consistent checkboxes */
@media (min-width: 992px) {
    html body .left-sidebar .widget, html body .left-sidebar .facets__disclosure {
        background: #fff !important; border: 1px solid var(--line) !important; border-radius: 20px !important;
        padding: 20px 20px 18px !important; margin: 0 0 16px !important; box-shadow: none !important;
    }
    html body .left-sidebar .widget h4, html body .left-sidebar .facets__disclosure h4, html body .left-sidebar .widget-title {
        margin: 0 0 14px !important; padding: 0 0 12px !important; border-bottom: 1px solid var(--line) !important;
    }
    html body .left-sidebar .widget h4::after, html body .left-sidebar .facets__disclosure h4::after { display: none !important; }
    html body .left-sidebar .widget ul, html body .left-sidebar .facets__disclosure ul { margin: 0 !important; padding: 0 !important; }
    html body .left-sidebar .cat-item a { display: flex !important; justify-content: space-between; padding: 7px 10px !important; border-radius: 10px; }
    html body .left-sidebar .cat-item a:hover, html body .left-sidebar .cat-active > a { background: var(--shea) !important; }
    html body .left-sidebar .brand-filter-list { max-height: 260px !important; overflow-y: auto !important; padding-right: 6px; scrollbar-width: thin; }
    html body .left-sidebar .brand_filter_search { width: 100% !important; margin: 0 0 12px !important; border-radius: 999px !important; min-height: 42px !important; }
}
html body .left-sidebar input[type="checkbox"], html body .mobile-facets input[type="checkbox"] {
    -webkit-appearance: none; appearance: none; width: 18px !important; height: 18px !important; min-height: 0 !important; margin: 0 10px 0 0 !important; padding: 0 !important;
    border: 1.5px solid var(--line-strong) !important; border-radius: 5px !important; background: #fff !important; display: inline-grid !important; place-content: center;
    vertical-align: -4px; cursor: pointer; flex: none; position: static !important; opacity: 1 !important;
}
html body .left-sidebar input[type="checkbox"]::before, html body .mobile-facets input[type="checkbox"]::before {
    content: ""; width: 10px; height: 10px; border-radius: 2px; transform: scale(0); transition: transform .15s ease; background: var(--paper);
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}
html body .left-sidebar input[type="checkbox"]:checked, html body .mobile-facets input[type="checkbox"]:checked { background: var(--ink) !important; border-color: var(--ink) !important; }
html body .left-sidebar input[type="checkbox"]:checked::before, html body .mobile-facets input[type="checkbox"]:checked::before { transform: scale(1); }
html body .left-sidebar .facet-checkbox, html body .left-sidebar .input-check, html body .left-sidebar label { display: flex !important; align-items: center; padding: 4px 0 !important; margin: 0 !important; }
html body .left-sidebar .facet-checkbox > svg, html body .left-sidebar .input-check__checkbox, html body .left-sidebar .icon-checkmark { display: none !important; }
/* clear / apply */
html body .left-sidebar .clear_all_btn, html body .left-sidebar .apply_all_btn, html body .left-sidebar .facets__footer .btn, html body .left-sidebar .sidebar-block .btn { min-height: 44px !important; flex: 1; }
html body .left-sidebar .facets__footer, html body .left-sidebar .filter-actions { display: flex !important; gap: 8px; }
html body .left-sidebar .clear_all_btn { background: transparent !important; color: var(--ink) !important; border: 1px solid var(--line-strong) !important; }
html body .left-sidebar .clear_all_btn:hover { background: var(--ink) !important; color: var(--paper) !important; }
@media (max-width: 991px) {
    html body .collection_template .filter-wrapper { min-height: 56px; padding: 6px 6px 6px 10px !important; }
    html body .collection_template .filter-sortby label { display: none !important; }
    html body #view-option-sort { max-width: 190px; }
}
/* view switch icons sit in the centre of their circles */
html body .collection_template .filter-wrapper .view-mode a::before { position: static !important; inset: auto !important; margin: 0 !important; transform: none !important; line-height: 1 !important; display: block !important; font-size: 18px !important; width: auto !important; height: auto !important; }
/* even spacing between the sidebar filter cards */
html body .left-sidebar .shopify-section, html body .left-sidebar .sidebar-block, html body .left-sidebar .theiaStickySidebar > div { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
html body .left-sidebar .widget_product_categories { margin-bottom: 16px !important; }
html body .left-sidebar .widget_product_categories ul { margin-bottom: 0 !important; }

/* ==========================================================================
   Pass 19 — notice buttons (bag, compare) and quick view
   ========================================================================== */
/* bag notice: product row on top, two equal pill actions underneath */
html body .ajax-success-modal .content-wrap { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; border: 0 !important; padding: 0 !important; margin: 0 !important; }
html body .ajax-success-modal .content-wrap::before, html body .ajax-success-modal .content-wrap::after,
html body .ajax-success-modal .cart-content .content::before, html body .ajax-success-modal .cart-content .content::after { display: none !important; content: none !important; }
html body .ajax-success-modal .content-wrap > .ajax-content { grid-column: 1 / -1; margin: 0 0 6px !important; padding: 0 !important; border: 0 !important; }
html body .ajax-success-modal .content-wrap hr, html body .ajax-success-modal .cart-content hr { display: none !important; }
html body .ajax-success-modal .ajax-product-image { border: 1px solid var(--line) !important; box-shadow: none !important; }
html body .ajax-success-modal .success-message, html body .ajax-success-modal .continue-shopping { grid-row: 2; margin: 0 !important; }
html body .ajax-success-modal .success-message { grid-column: 1; display: block !important; }
html body .ajax-success-modal .continue-shopping { grid-column: 2; }
html body .ajax-success-modal .success-message .btn,
html body .ajax-success-modal .continue-shopping {
    display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px;
    width: 100% !important; height: 48px !important; min-height: 48px !important; padding: 0 14px !important; margin: 0 !important;
    border-radius: 999px !important; line-height: 1 !important; white-space: nowrap; box-sizing: border-box;
    font-family: var(--f-ui) !important; font-size: 11.5px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase; text-align: center;
}
html body .ajax-success-modal .success-message .btn { background: var(--ink) !important; color: var(--paper) !important; border: 1px solid var(--ink) !important; }
html body .ajax-success-modal .success-message .btn span { color: inherit !important; font: inherit !important; }
html body .ajax-success-modal .success-message .btn:hover { background: var(--gold) !important; border-color: var(--gold) !important; color: var(--ink) !important; }
html body .ajax-success-modal .success-message .btn::before, html body .ajax-success-modal .success-message .btn::after { display: none !important; content: none !important; }
html body .ajax-success-modal .continue-shopping { background: transparent !important; color: var(--ink) !important; border: 1px solid var(--line-strong) !important; cursor: pointer; }
html body .ajax-success-modal .continue-shopping:hover { background: var(--shea) !important; border-color: var(--ink) !important; }

/* compare notice: a single row, the two controls the same height */
html body #modalCompare1 .modal-body { flex-wrap: nowrap; }
html body #modalCompare1 .max_compare { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.3 !important; }
html body #modalCompare1 .compare-button { margin: 0 !important; padding: 0 !important; float: none !important; }
html body #modalCompare1 .compare-button .btn {
    display: inline-flex !important; align-items: center !important; justify-content: center !important; height: 40px !important; min-height: 40px !important;
    padding: 0 18px !important; line-height: 1 !important; border-radius: 999px !important; margin: 0 !important; white-space: nowrap;
    font-size: 11px !important; font-weight: 700 !important; letter-spacing: .14em !important;
}
html body #modalCompare1 .compare-button .btn::before, html body #modalCompare1 .compare-button .btn::after { display: none !important; content: none !important; }
html body #modalCompare1 .close {
    width: 36px !important; height: 36px !important; border-radius: 50% !important; display: inline-flex !important; align-items: center; justify-content: center;
    padding: 0 !important; background: transparent !important; border: 0 !important; line-height: 1 !important; opacity: 1 !important; transition: background .25s;
}
html body #modalCompare1 .close:hover { background: var(--shea) !important; }
html body #modalCompare1 .close span { font-size: 18px !important; line-height: 1 !important; }
html body .ajax-success-modal .ajax-left img.ajax-product-image, html body .ajax-success-modal .ajax-content .ajax-left img { border: 1px solid var(--line) !important; outline: 0 !important; box-shadow: none !important; }
/* compare notice laid out as one row: icon · message · Compare · close */
html body #modalCompare1 .modal-content { height: auto !important; display: block !important; }
html body #modalCompare1 .modal-body {
    display: grid !important; grid-template-columns: 28px minmax(0, 1fr) auto 36px; align-items: center; gap: 12px;
    padding: 14px 12px 14px 16px !important; height: auto !important;
}
html body #modalCompare1 .modal-header { display: contents !important; }
html body #modalCompare1 .modal-header::before { grid-column: 1; grid-row: 1; }
html body #modalCompare1 .max_compare { grid-column: 2; grid-row: 1; width: auto !important; min-width: 0; white-space: normal !important; overflow: visible !important; font-size: 14px !important; line-height: 1.35 !important; float: none !important; }
html body #modalCompare1 .compare-button { grid-column: 3; grid-row: 1; }
html body #modalCompare1 .close { grid-column: 4; grid-row: 1; justify-self: end; float: none !important; width: 36px !important; flex: none; }

/* Pass 20 - quick view: a centred window fixed to the screen (it used to open at the top of the page, out of view) */
html body .quick-view { position: fixed !important; inset: 0 !important; z-index: 2100 !important; display: none !important; align-items: center; justify-content: center; padding: 24px; opacity: 1 !important; visibility: visible !important; transform: none !important; width: auto !important; height: auto !important; }
html body .quick-view.open-in { display: flex !important; }
html body .quick-view .overlay { position: fixed !important; inset: 0 !important; width: auto !important; height: auto !important; background: rgba(23, 18, 28, .55) !important; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 1 !important; visibility: visible !important; }
html body .quick-view .content {
    position: relative !important; inset: auto !important; top: auto !important; left: auto !important; transform: none !important; margin: 0 !important;
    width: 940px !important; max-width: 100% !important; height: auto !important; max-height: calc(100vh - 48px); overflow-y: auto; padding: 0 !important;
    display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); background: var(--paper) !important;
    border: 0 !important; border-radius: 28px !important; box-shadow: 0 50px 100px -40px rgba(0, 0, 0, .6) !important;
}
html body .quick-view .content::before, html body .quick-view .content::after { display: none !important; }
html body .quick-view .quick-shop-modal-bg { display: none !important; }
html body .quick-view .product-img { width: auto !important; float: none !important; margin: 0 !important; padding: 36px !important; background: #fff !important; display: flex !important; align-items: center; justify-content: center; min-height: 420px; border-radius: 28px 0 0 28px; border: 0 !important; }
html body .quick-view .quickview-featured-image { width: 100%; text-align: center; border: 0 !important; padding: 0 !important; }
html body .quick-view .quickview-featured-image img { width: 100% !important; max-width: 380px; height: auto !important; max-height: 420px; object-fit: contain; }
html body .quick-view .more-view-wrapper { display: none !important; }
html body .quick-view .product-shop { width: auto !important; float: none !important; margin: 0 !important; padding: 56px 44px 44px !important; display: flex !important; flex-direction: column; justify-content: center; background: transparent !important; border: 0 !important; }
html body .quick-view .product-item { display: flex !important; flex-direction: column; gap: 14px; background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; }
html body .quick-view .product-item::before { content: "Quick look"; font-size: 11px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: var(--gold-ink); }
html body .quick-view .product-title { margin: 0 !important; padding: 0 !important; border: 0 !important; }
html body .quick-view .product-title a { font-family: var(--f-display) !important; font-size: 30px !important; line-height: 1.15 !important; letter-spacing: .01em !important; text-transform: none !important; color: var(--ink) !important; font-weight: 500 !important; }
html body .quick-view .product-title a:hover { color: var(--gold-ink) !important; }
html body .quick-view .product-description { margin: 0 !important; color: var(--muted) !important; font-size: 15px !important; line-height: 1.65 !important; display: -webkit-box !important; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; white-space: normal !important; }
html body .quick-view .product-description:empty { display: none !important; }
html body .quick-view .prices { display: flex !important; align-items: baseline; gap: 12px; padding: 0 !important; margin: 0 !important; }
html body .quick-view #QProductPrice { font-family: var(--f-display) !important; font-size: 28px !important; color: var(--ink) !important; font-weight: 500 !important; margin: 0 !important; }
html body .quick-view #QComparePrice { color: var(--muted) !important; text-decoration: line-through; font-size: 16px !important; }
html body .quick-view #QComparePrice:empty { display: none !important; }
html body .quick-view .product-info { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
html body .quick-view .product-inventory { display: flex !important; align-items: center; gap: 10px; margin: 0 !important; opacity: 1 !important; }
html body .quick-view .product-inventory label { margin: 0 !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .18em !important; text-transform: uppercase; color: var(--muted) !important; }
html body .quick-view .in_stock { color: #2f7a4f !important; background: rgba(47, 122, 79, .1); border-radius: 999px; padding: 5px 12px; font-size: 12px; font-weight: 700; }
html body .quick-view .out_of_stock { color: var(--ember) !important; background: rgba(169, 80, 47, .1); border-radius: 999px; padding: 5px 12px; font-size: 12px; font-weight: 700; }
html body .quick-view .in_stock.hide, html body .quick-view .out_of_stock.hide { display: none !important; }
html body .quick-view .details { margin: 6px 0 0 !important; padding: 20px 0 0 !important; border-top: 1px solid var(--line) !important; background: transparent !important; }
html body .quick-view .details form, html body .quick-view .details .product-action { display: flex !important; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 !important; }
html body .quick-view .qty-section { display: flex !important; align-items: center; gap: 12px; margin: 0 !important; padding: 0 !important; float: none !important; }
html body .quick-view .qty-section > label { display: none !important; }
html body .quick-view .qty-box-set { display: inline-flex !important; align-items: center; height: 52px !important; border-radius: 999px !important; padding: 0 6px !important; background: #fff !important; border: 1px solid var(--line-strong) !important; float: none !important; margin: 0 !important; width: auto !important; }
html body .quick-view .qty-box-set .qnt_wrap { display: contents !important; }
html body .quick-view .qty-box-set .button, html body .quick-view .qty-box-set .qtyplus, html body .quick-view .qty-box-set .qtyminus { position: static !important; width: 40px !important; height: 40px !important; display: inline-flex !important; align-items: center; justify-content: center; border-radius: 50% !important; cursor: pointer; border: 0 !important; background: transparent !important; color: var(--ink) !important; margin: 0 !important; line-height: 1 !important; }
html body .quick-view .qty-box-set .button:hover, html body .quick-view .qty-box-set .qtyplus:hover, html body .quick-view .qty-box-set .qtyminus:hover { background: var(--shea) !important; }
html body .quick-view .qty-box-set .qtyminus, html body .quick-view .qty-box-set .dec { order: 1; }
html body .quick-view .qty-box-set input { order: 2; }
html body .quick-view .qty-box-set .qtyplus, html body .quick-view .qty-box-set .inc { order: 3; }
html body .quick-view .qty-box-set input { width: 44px !important; height: 40px !important; min-height: 0 !important; text-align: center; border: 0 !important; background: transparent !important; padding: 0 !important; margin: 0 !important; font-weight: 700; box-shadow: none !important; -moz-appearance: textfield; }
html body .quick-view .qty-box-set input::-webkit-inner-spin-button, html body .quick-view .qty-box-set input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
html body .quick-view .actions { flex: 1 1 200px; margin: 0 !important; padding: 0 !important; float: none !important; }
html body .quick-view .add-to-cart-btn {
    width: 100% !important; height: 52px !important; min-height: 52px !important; padding: 0 24px !important; margin: 0 !important; border-radius: 999px !important;
    display: inline-flex !important; align-items: center; justify-content: center; gap: 10px; line-height: 1 !important;
    background: var(--ink) !important; color: var(--paper) !important; border: 0 !important; font-size: 12.5px !important; font-weight: 700 !important; letter-spacing: .14em !important; text-transform: uppercase;
}
html body .quick-view .add-to-cart-btn:hover:not(:disabled) { background: var(--gold) !important; color: var(--ink) !important; }
html body .quick-view .add-to-cart-btn:disabled { opacity: .45; cursor: not-allowed; }
html body .quick-view .close-window {
    position: absolute !important; top: 16px !important; right: 16px !important; left: auto !important; bottom: auto !important; z-index: 5;
    width: 42px !important; height: 42px !important; min-width: 42px; border-radius: 50% !important; display: block !important; padding: 0 !important; margin: 0 !important;
    background: #fff !important; border: 1px solid var(--line) !important; box-shadow: 0 10px 24px -14px rgba(23, 18, 28, .5); cursor: pointer; transition: background .25s, transform .25s; font-size: 0 !important; color: transparent !important; text-indent: -999px; overflow: hidden;
}
html body .quick-view .close-window::before, html body .quick-view .close-window::after {
    content: "" !important; position: absolute !important; left: 50% !important; top: 50% !important; width: 16px !important; height: 1.5px !important; background: var(--ink) !important; border-radius: 2px; display: block !important; margin: 0 !important;
    transform: translate(-50%, -50%) rotate(45deg) !important;
}
html body .quick-view .close-window::after { transform: translate(-50%, -50%) rotate(-45deg) !important; }
html body .quick-view .close-window:hover { background: var(--shea) !important; transform: rotate(90deg); }
@media (max-width: 767px) {
    html body .quick-view { padding: 12px; align-items: flex-end; }
    html body .quick-view .content { grid-template-columns: 1fr; max-height: calc(100vh - 24px); border-radius: 24px !important; }
    html body .quick-view .product-img { min-height: 0; padding: 24px !important; border-radius: 24px 24px 0 0; }
    html body .quick-view .quickview-featured-image img { max-height: 220px; }
    html body .quick-view .product-shop { padding: 24px 22px 26px !important; }
    html body .quick-view .product-title a { font-size: 24px !important; }
    html body .quick-view .actions { flex-basis: 100%; }
}
html body .quick-view .product-title, html body .quick-view .product-title a { text-transform: none !important; }
html body .quick-view .product-single__addtocart { width: 100%; }

/* Pass 21 - wishlist heart: after adding, the emptied "add" slot no longer shares the round button with the filled heart */
html body .product-wrapper .btn_wrapper .add-to-wishlist .show { position: relative; }
html body .product-wrapper .btn_wrapper .add-to-wishlist .show > * { position: absolute !important; inset: 0; margin: auto !important; }
html body .product-wrapper .btn_wrapper .add-to-wishlist .default-wishbutton { pointer-events: none; }
html body .product-wrapper .btn_wrapper .add-to-wishlist .default-wishbutton > a:not(.hidden) { pointer-events: auto; }
html body .product-wrapper .btn_wrapper .add-to-wishlist .default-wishbutton:has(> a.hidden) { display: none !important; }
html body .product-wrapper .btn_wrapper .added-wishlist:not(.hidden) { background: rgba(169, 80, 47, .1) !important; color: var(--ember) !important; }
html body .product-wrapper .btn_wrapper .added-wishlist:not(.hidden):hover { background: var(--ember) !important; color: #fff !important; }
html body .product-wrapper .btn_wrapper .loadding-wishbutton i { color: var(--gold-ink); }

/* Pass 22 - home news cards show the post date in the tag (it used to say "Journal") */
html body [id$="__feature-blogs"] #blog_slider .blog_image_holder::after { content: attr(data-date) !important; letter-spacing: .14em !important; }
html body [id$="__feature-blogs"] #blog_slider .blog_image_holder[data-date=""]::after { display: none !important; }

/* ==========================================================================
   Pass 23 - home harmony: one heading system, one content width, one rhythm
   ========================================================================== */
/* every section opens the same way: a gold eyebrow framed by two short rules, then one title size */
html body .tthometab-title .tt-title::before,
html body .brand-bar .section-header .tt-title::before,
html body [id$="__tt-testimonial"] .tt-testimonial-wrap > .container::before,
html body [id$="__feature-blogs"] .section-header .ttsub-title {
    display: table !important; width: auto !important; margin: 0 auto 18px !important; padding: 0 42px !important;
    font-family: var(--f-ui) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .28em !important; line-height: 1 !important; text-transform: uppercase !important;
    background: linear-gradient(currentColor, currentColor) left center / 28px 1px no-repeat, linear-gradient(currentColor, currentColor) right center / 28px 1px no-repeat !important;
}
html body [id$="__feature-blogs"] .section-header .ttsub-title::before, html body [id$="__feature-blogs"] .section-header .ttsub-title::after { display: none !important; }
html body [id$="__tt-testimonial"] .tt-testimonial-wrap > .container::before { align-self: center; }
html body .tthometab-title .tt-title,
html body .section-header .tt-title,
html body .brand-bar .tt-title,
html body [id$="__tt-testimonial"] .tt-testimonial-wrap > .container::after {
    font-family: var(--f-display) !important; font-size: clamp(32px, 3.6vw, 50px) !important; font-weight: 400 !important;
    line-height: 1.08 !important; letter-spacing: .02em !important; text-transform: uppercase !important;
}
html body .tthometab-title, html body .section-header { margin-bottom: 40px !important; }
html body [id$="__tt-testimonial"] .tt-testimonial-wrap > .container::after { margin: 0 0 36px !important; }

/* one content width for every home section, so the edges line up from the hero down to the footer */
html body [id$="__ttcmsbanner"] .container, html body [id$="__ttcmsbanner"] .page-width,
html body [id$="__feature-blogs"] > .page-width > .container,
html body .brand-bar > .section-header, html body .brand-bar #brands_list_slider { max-width: 1230px !important; margin-left: auto !important; margin-right: auto !important; }
html body .brand-bar #brands_list_slider { overflow: hidden; border-left: 1px solid var(--line); }

/* one vertical rhythm between sections */
html body [id$="__ttcmsbanner"] { padding-top: var(--sec-sm) !important; padding-bottom: 0 !important; }
html body [id$="__tt-testimonial"] { padding-top: var(--sec) !important; padding-bottom: 0 !important; margin: 0 !important; }
html body [id$="__feature-blogs"] { padding-top: var(--sec) !important; padding-bottom: var(--sec-sm) !important; }
html body [id$="__feature-blogs"] .customNavigation, html body [id$="__feature-blogs"] .owl-dots { margin-top: 8px !important; }

/* news carousel: the theme put a 10px margin on each slide on top of the carousel's own spacing, which pushed the third card past the edge */
html body [id$="__feature-blogs"] #blog_slider .owl-item { margin: 0 !important; padding: 0 10px !important; box-sizing: border-box !important; }
html body [id$="__feature-blogs"] #blog_slider .tt-blog-content { margin: 0 !important; width: 100% !important; }
html body [id$="__feature-blogs"] .blog-grid-wrapper > .row { margin-left: -10px !important; margin-right: -10px !important; }

/* the same card language everywhere: radius, hairline and soft shadow */
html body [id$="__ttcmsbanner"] .ttcmsbanner img, html body [id$="__ttcmsbanner"] .banner-img, html body [id$="__ttcmsbanner"] a img { border-radius: var(--r-lg) !important; }
html body [id$="__feature-blogs"] #blog_slider .tt-blog-content { border-radius: var(--r-lg) !important; overflow: hidden; border: 1px solid var(--line) !important; box-shadow: var(--shadow-soft) !important; background: #fff; }
html body [id$="__feature-blogs"] #blog_slider .blog_image_holder { border-radius: 0 !important; box-shadow: none !important; }
html body [id$="__feature-blogs"] .section-header .ttsub-title { float: none !important; }
html body [id$="__feature-blogs"] .section-header .tt-title { clear: both; }
html body [id$="__feature-blogs"] { padding-bottom: 0 !important; }
html body [id$="__tt-testimonial"] .tt-testimonial-wrap > .container::after { font-size: clamp(26px, 2.8vw, 40px) !important; }
html body [id$="__ttcmsbanner"] { padding-top: 0 !important; }
html body .brand-bar #brands_list_slider { border-left: 0 !important; }
html body .brand-bar > .section-header, html body .brand-bar #brands_list_slider { float: none !important; width: 100% !important; }

/* ==========================================================================
   Pass 24 - one type scale for every page: 16px reading text, no label under 12.5px
   ========================================================================== */
html body:not(#iba) { font-size: 16px !important; }
html body:not(#iba) main.main-content p,
html body:not(#iba) main.main-content .rte,
html body:not(#iba) main.main-content .rte p,
html body:not(#iba) main.main-content .rte li,
html body:not(#iba) .product-single__description, html body:not(#iba) .product-single__description p,
html body:not(#iba) .article__grid-excerpt, html body:not(#iba) .home-blog-content p {
    font-size: 16px !important; line-height: 1.7 !important;
}
html body:not(#iba) .blog-post-single .rte, html body:not(#iba) .blog-post-single .rte p, html body:not(#iba) .blog-post-single .rte li,
html body:not(#iba) .article .rte, html body:not(#iba) .article .rte p, html body:not(#iba) .article .rte li { font-size: 17px !important; line-height: 1.8 !important; }
html body:not(#iba) main.main-content .ttabout-subtitle + p, html body:not(#iba) main.main-content .about-content p { font-size: 17px !important; }

/* small caps labels: buttons, menus, tabs, breadcrumbs, dates and form labels */
html body:not(#iba) .btn, html body:not(#iba) button.btn, html body:not(#iba) .button, html body:not(#iba) .subbtn,
html body:not(#iba) .cart__checkout-button, html body:not(#iba) .shopify-payment-button__button,
html body:not(#iba) .read-more, html body:not(#iba) .TTProduct-Tab .nav-tabs a,
html body:not(#iba) .tt_menu_item_heading_title, html body:not(#iba) .site-nav a,
html body:not(#iba) .breadcrumb a, html body:not(#iba) .breadcrumb span, html body:not(#iba) .breadcrumb__item-link,
html body:not(#iba) .widget-title, html body:not(#iba) h4.toggle, html body:not(#iba) .sidebar h4,
html body:not(#iba) main.main-content label, html body:not(#iba) .tooltip-label,
html body:not(#iba) .ttsub-title, html body:not(#iba) .address-label, html body:not(#iba) .ttabout-subtitle,
html body:not(#iba) .blog-date .date, html body:not(#iba) .blog-date span {
    font-size: 12.5px !important;
}
html body:not(#iba) .btn, html body:not(#iba) button.btn, html body:not(#iba) .button, html body:not(#iba) .subbtn, html body:not(#iba) .cart__checkout-button,
html body:not(#iba) .shopify-payment-button__button, html body:not(#iba) .read-more, html body:not(#iba) .TTProduct-Tab .nav-tabs a { font-size: 12.5px !important; }
html body:not(#iba) .site-footer a, html body:not(#iba) .site-footer li { font-size: 14px !important; }
html body:not(#iba) .site-footer small, html body:not(#iba) .site-footer .copyright, html body:not(#iba) .site-footer [class*="copyright"] a { font-size: 13px !important; }
html body:not(#iba) .usp p, html body:not(#iba) .usp { font-size: 13px !important; }
/* product cards */
html body:not(#iba) .product-wrapper .product-title a, html body:not(#iba) .product-wrapper .product-name a { font-size: 15.5px !important; line-height: 1.4 !important; }
html body:not(#iba) .product-wrapper .price, html body:not(#iba) .product-wrapper .money { font-size: 15.5px !important; }

@media (max-width: 767px) {
    html body:not(#iba) main.main-content p, html body:not(#iba) main.main-content .rte, html body:not(#iba) main.main-content .rte p, html body:not(#iba) main.main-content .rte li,
    html body:not(#iba) .product-single__description, html body:not(#iba) .product-single__description p,
    html body:not(#iba) .article__grid-excerpt, html body:not(#iba) .home-blog-content p { font-size: 15.5px !important; }
    html body:not(#iba) .blog-post-single .rte, html body:not(#iba) .blog-post-single .rte p, html body:not(#iba) .article .rte p { font-size: 16.5px !important; }
    html body:not(#iba) .btn, html body:not(#iba) button.btn, html body:not(#iba) .button, html body:not(#iba) .subbtn, html body:not(#iba) .cart__checkout-button,
    html body:not(#iba) .shopify-payment-button__button, html body:not(#iba) .read-more, html body:not(#iba) .TTProduct-Tab .nav-tabs a { font-size: 13px !important; }
    html body:not(#iba) .breadcrumb a, html body:not(#iba) .breadcrumb span, html body:not(#iba) .breadcrumb__item-link, html body:not(#iba) .widget-title, html body:not(#iba) h4.toggle,
    html body:not(#iba) main.main-content label, html body:not(#iba) .ttsub-title, html body:not(#iba) .address-label, html body:not(#iba) .ttabout-subtitle, html body:not(#iba) .blog-date .date { font-size: 13px !important; }
    html body:not(#iba) .product-wrapper .product-title a, html body:not(#iba) .product-wrapper .product-name a { font-size: 14.5px !important; }
    html body:not(#iba) .product-wrapper .price, html body:not(#iba) .product-wrapper .money { font-size: 14.5px !important; }
    /* fields at 16px so phones do not zoom in when they are tapped */
    html body:not(#iba) input[type="text"], html body:not(#iba) input[type="email"], html body:not(#iba) input[type="tel"], html body:not(#iba) input[type="password"],
    html body:not(#iba) input[type="search"], html body:not(#iba) input[type="number"], html body:not(#iba) select, html body:not(#iba) textarea { font-size: 16px !important; }
}
html body:not(#iba) .site-footer a, html body:not(#iba) .site-footer small, html body:not(#iba) .site-footer small a { font-size: 13.5px !important; }
html body:not(#iba) main.main-content h4, html body:not(#iba) .sidebar h4 { font-size: 13px !important; }
html body:not(#iba) .cart-header, html body:not(#iba) .cart-header *, html body:not(#iba) .cart__header-labels, html body:not(#iba) .cart__header-labels * { font-size: 12.5px !important; }
html body:not(#iba) .blog-list-grid p, html body:not(#iba) .blogleft_inner_content p { font-size: 15px !important; }
html body:not(#iba) [id$="__feature-blogs"] .read-more, html body:not(#iba) .article__meta-buttons .read-more { font-size: 12.5px !important; }
html body:not(#iba) main.main-content .row.bordered > div { font-size: 12.5px !important; }
html body:not(#iba) .product-single .nav-tabs a, html body:not(#iba) .product-tabs a, html body:not(#iba) [class*="pagination"] div, html body:not(#iba) [class*="pagination"] a, html body:not(#iba) [class*="pagination"] span { font-size: 13px !important; }
html body:not(#iba) .design_1 #blog_slider .tt-blog-content .article__meta-buttons a.read-more { font-size: 12.5px !important; }

/* ==========================================================================
   Pass 25 - search: a roomy panel with live suggestions
   ========================================================================== */
html body .site-header__search.icon-btn .search_wrapper {
    width: 520px !important; max-width: calc(100vw - 32px) !important; padding: 16px !important; right: 0 !important; left: auto !important;
    z-index: 1200 !important; box-sizing: border-box;
}
html body .search_wrapper .search-bar {
    display: flex !important; align-items: center; width: 100% !important; margin: 0 !important; padding: 0 !important; position: relative;
    border: 1.5px solid var(--line-strong) !important; transition: border-color .2s ease, box-shadow .2s ease;
}
html body .search_wrapper .search-bar:focus-within { border-color: var(--ink) !important; box-shadow: 0 0 0 4px rgba(212, 160, 74, .22); }
html body .search_wrapper .search-bar::before {
    content: "\F349"; font-family: "Material Design Icons"; font-size: 20px; color: var(--muted); position: absolute; left: 18px; top: 50%; transform: translateY(-50%); pointer-events: none;
}
html body .search_wrapper .input-group-field {
    flex: 1 1 auto; min-width: 0; width: auto !important; height: 54px !important; padding: 0 12px 0 48px !important; font-size: 16px !important; float: none !important;
}
html body .search_wrapper .input-group-field::placeholder { color: var(--muted); opacity: 1; }
html body .search_wrapper .input-group-field::-webkit-search-cancel-button { -webkit-appearance: none; }
html body .search_wrapper .input-group-btn { display: block !important; width: auto !important; flex: 0 0 auto; }
html body .search_wrapper .search-submit {
    width: auto !important; height: 44px !important; padding: 0 20px !important; margin: 4px 5px 4px 0 !important; display: inline-flex !important; align-items: center; gap: 6px;
    font-size: 12.5px !important; font-weight: 700 !important; letter-spacing: .14em !important; text-transform: uppercase; line-height: 1 !important;
}
html body .search_wrapper .search-submit i { display: none !important; }
html body .search_wrapper .search-submit .fallback-text { position: static !important; width: auto !important; height: auto !important; clip: auto !important; overflow: visible !important; margin: 0 !important; color: inherit !important; }
/* a thin gold bar runs along the field while suggestions load */
html body .search_wrapper .search-bar:has(.s-loading)::after {
    content: ""; position: absolute; left: 24px; right: 24px; bottom: -1px; height: 2px; border-radius: 2px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent); background-size: 200% 100%; animation: ibaSearchLoad 1s linear infinite;
}
@keyframes ibaSearchLoad { from { background-position: 200% 0; } to { background-position: -200% 0; } }

/* the suggestion list sits in the panel under the field */
html body .search_wrapper .search-results {
    position: static !important; width: auto !important; margin: 12px 0 0 !important; padding: 0 !important; list-style: none;
    background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    max-height: min(62vh, 470px); overflow-y: auto; overscroll-behavior: contain;
}
html body .search_wrapper .search-results li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
html body .search_wrapper .search-results li[role="option"] > a {
    display: grid !important; grid-template-columns: 56px minmax(0, 1fr); align-items: center; gap: 14px; padding: 8px !important; border-radius: 14px;
    color: var(--ink) !important; text-decoration: none !important; transition: background .15s ease;
}
html body .search_wrapper .search-results li[role="option"] > a:hover,
html body .search_wrapper .search-results li[role="option"] > a.is-active { background: var(--shea) !important; }
html body .search_wrapper .search-results .thumbnail { display: block; width: 56px; height: 56px; padding: 0 !important; border: 1px solid var(--line); border-radius: 12px; background: #fff; overflow: hidden; }
html body .search_wrapper .search-results .thumbnail img { width: 100% !important; height: 100% !important; object-fit: contain; border-radius: 0 !important; background: transparent !important; mix-blend-mode: normal; padding: 4px; }
html body .search_wrapper .search-results .name-price { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
html body .search_wrapper .search-results .brand { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-ink); }
html body .search_wrapper .search-results .title {
    font-family: var(--f-ui) !important; font-size: 14.5px !important; font-weight: 600 !important; line-height: 1.35 !important; color: var(--ink) !important;
    text-transform: none !important; letter-spacing: 0 !important; width: auto !important;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
html body .search_wrapper .search-results .price-wrap { display: flex; align-items: baseline; gap: 8px; }
html body .search_wrapper .search-results .price { font-size: 14px !important; font-weight: 700 !important; color: var(--ink) !important; }
html body .search_wrapper .search-results .compare_price { font-size: 12.5px; color: var(--muted); }
html body .search_wrapper .search-results .empty-search-result { padding: 18px 10px !important; text-align: center; }
html body .search_wrapper .search-results .empty-search-result .title { font-weight: 500 !important; color: var(--muted) !important; -webkit-line-clamp: 3; }
html body .search_wrapper .search-results li.total { margin-top: 6px !important; padding-top: 10px !important; border-top: 1px solid var(--line) !important; }
html body .search_wrapper .search-results li.total > a {
    display: flex !important; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 16px !important; border-radius: 999px;
    background: var(--ink) !important; color: var(--paper) !important; font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; text-decoration: none !important;
}
html body .search_wrapper .search-results li.total > a::after { content: "\F054"; font-family: "Material Design Icons"; font-size: 16px; letter-spacing: 0; }
html body .search_wrapper .search-results li.total > a:hover, html body .search_wrapper .search-results li.total > a.is-active { background: var(--gold) !important; color: var(--ink) !important; }

/* phones: the panel spans the screen under the header */
@media (max-width: 767px) {
    html body .site-header__search.icon-btn .search_wrapper {
        position: fixed !important; top: var(--iba-panel-top, 72px) !important; left: 12px !important; right: 12px !important; width: auto !important; max-width: none !important;
        margin: 0 !important; padding: 12px !important;
    }
    html body .search_wrapper .search-submit { padding: 0 14px !important; }
    html body .search_wrapper .search-results { max-height: calc(100vh - var(--iba-panel-top, 72px) - 120px); }
}
html body .search_wrapper .search-results li[role="option"] > a, html body .search_wrapper .search-results .name-price { text-align: left !important; }
html body .search_wrapper .search-results .thumbnail { border: 1px solid var(--line) !important; box-shadow: none !important; outline: 0 !important; }
html body .search_wrapper .search-results .thumbnail img { border: 0 !important; box-shadow: none !important; }
html body:not(#iba) .search_wrapper .search-results .name-price .title {
    white-space: normal !important; padding: 0 !important; margin: 0 !important; width: auto !important; max-width: none !important; text-overflow: clip !important;
    display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden !important; font-size: 14.5px !important;
}
html body:not(#iba) .search_wrapper .search-results .name-price, html body:not(#iba) .search_wrapper .search-results .name-price > * { width: auto !important; max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; float: none !important; }
html body:not(#iba) .search_wrapper .search-results .price-wrap > * { padding: 0 !important; margin: 0 !important; }

/* ==========================================================================
   Pass 26 - product card icons on touch screens and phones
   ========================================================================== */
/* cards no longer shrink to a third and zoom back in every time they load or the carousel moves */
html body .product-wrapper, html body .product-wrapper.imgloaded { animation: none !important; }

/* touch screens have no hover, so the icon bar is always shown */
@media (hover: none), (max-width: 767px) {
    html body:not(#iba) div.product-wrapper div.btn_wrapper.btn_wrapper { opacity: 1 !important; visibility: visible !important; }
}

/* phones: the bar is centred inside the image and never wider than the card */
@media (max-width: 767px) {
    html body:not(#iba) div.product-wrapper div.btn_wrapper.btn_wrapper,
    html body:not(#iba) .product-wrapper .product-thumb .btn_wrapper {
        left: 50% !important; right: auto !important; bottom: 8px !important; top: auto !important;
        transform: translateX(-50%) !important; width: max-content !important; inline-size: max-content !important; max-width: calc(100% - 12px) !important;
        gap: 4px !important; padding: 4px !important; justify-content: center !important;
        background: rgba(251, 248, 243, .94) !important; box-shadow: 0 8px 20px -12px rgba(23, 18, 28, .45) !important;
    }
    html body:not(#iba) .product-wrapper .btn_wrapper .pro_btn,
    html body:not(#iba) .product-wrapper .btn_wrapper .add-to-wishlist,
    html body:not(#iba) .product-wrapper .btn_wrapper .quick-view-wrap,
    html body:not(#iba) .product-wrapper .btn_wrapper .show,
    html body:not(#iba) .product-wrapper .btn_wrapper .default-wishbutton,
    html body:not(#iba) .product-wrapper .btn_wrapper .loadding-wishbutton:not(.hidden),
    html body:not(#iba) .product-wrapper .btn_wrapper .btn,
    html body:not(#iba) .product-wrapper .btn_wrapper .pro_btn > a,
    html body:not(#iba) .product-wrapper .btn_wrapper .added-wishlist,
    html body:not(#iba) .product-wrapper .btn_wrapper .add_to_wishlist {
        width: 36px !important; height: 36px !important; min-width: 36px !important; flex: 0 0 36px !important;
    }
    html body:not(#iba) .product-wrapper .btn_wrapper i { font-size: 18px !important; }
    /* four icons do not fit a two-column card, compare stays on the product page and on larger screens */
    html body:not(#iba) .product-wrapper .btn_wrapper .add-to-compare { display: none !important; }
    html body:not(#iba) .product-wrapper .btn_wrapper .btn:hover, html body:not(#iba) .product-wrapper .btn_wrapper .pro_btn > a:hover { transform: none !important; }
    html body:not(#iba) .product-wrapper .btn_wrapper .tooltip-label { display: none !important; }
}
/* very small phones: a little tighter still */
@media (max-width: 360px) {
    html body:not(#iba) .product-wrapper .btn_wrapper .pro_btn,
    html body:not(#iba) .product-wrapper .btn_wrapper .add-to-wishlist,
    html body:not(#iba) .product-wrapper .btn_wrapper .quick-view-wrap,
    html body:not(#iba) .product-wrapper .btn_wrapper .show,
    html body:not(#iba) .product-wrapper .btn_wrapper .default-wishbutton,
    html body:not(#iba) .product-wrapper .btn_wrapper .btn,
    html body:not(#iba) .product-wrapper .btn_wrapper .pro_btn > a,
    html body:not(#iba) .product-wrapper .btn_wrapper .added-wishlist,
    html body:not(#iba) .product-wrapper .btn_wrapper .add_to_wishlist { width: 32px !important; height: 32px !important; min-width: 32px !important; flex-basis: 32px !important; }
}

/* Pass 27 - "added to cart" notice on phones */
html body:not(#iba) .ajax-success-modal .ajax-left { border: 0 !important; box-shadow: none !important; background: transparent !important; }
html body:not(#iba) .ajax-success-modal .ajax-right, html body:not(#iba) .ajax-success-modal .ajax-right * { white-space: normal !important; }
html body:not(#iba) .ajax-success-modal .ajax-product-title {
    display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden !important; text-overflow: clip !important;
    word-break: break-word; max-width: 100% !important;
}
@media (max-width: 480px) {
    html body:not(#iba) .ajax-success-modal .content-wrap { grid-template-columns: 1fr !important; gap: 8px !important; }
    html body:not(#iba) .ajax-success-modal .success-message, html body:not(#iba) .ajax-success-modal .continue-shopping { grid-column: 1 !important; grid-row: auto !important; }
    html body:not(#iba) .ajax-success-modal .continue-shopping { min-height: 46px !important; letter-spacing: .1em !important; }
    html body:not(#iba) .ajax-success-modal .ajax-product-title { font-size: 15.5px !important; }
}

/* Pass 28 - phones: mini cart and account menu open as full-width panels under the header, like the search */
@media (max-width: 767px) {
    html body:not(#iba) #slidedown-cart, html body:not(#iba) #Sticky-slidedown-cart, html body:not(#iba) .myaccount .customer_account {
        position: fixed !important; top: var(--iba-panel-top, 72px) !important; left: 12px !important; right: 12px !important;
        width: auto !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; transform: none !important;
        max-height: calc(100vh - var(--iba-panel-top, 72px) - 16px); overflow-y: auto; overscroll-behavior: contain; z-index: 1200 !important; box-sizing: border-box;
    }
    html body:not(#iba) #slidedown-cart .mini-products-list { max-height: none !important; }
    html body:not(#iba) #slidedown-cart .summary .buttons, html body:not(#iba) #slidedown-cart .mini_cart_footer .buttons { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px; }
    html body:not(#iba) #slidedown-cart .summary .buttons .btn, html body:not(#iba) #slidedown-cart .mini_cart_footer .buttons .btn { width: 100% !important; min-width: 0 !important; margin: 0 !important; padding-left: 8px !important; padding-right: 8px !important; }
}
html body:not(#iba) #slidedown-cart .summary, html body:not(#iba) #slidedown-cart .total, html body:not(#iba) #slidedown-cart hr { border-color: var(--line) !important; }
html body:not(#iba) #slidedown-cart .summary { border-top: 1px solid var(--line) !important; }
html body:not(#iba) #slidedown-cart .summary .total { border-top: 0 !important; }
@media (max-width: 767px) {
    html body:not(#iba) .quick-view .qty-section { flex-wrap: nowrap !important; gap: 10px !important; }
    html body:not(#iba) .quick-view .actions { flex: 1 1 auto !important; min-width: 0 !important; }
    html body:not(#iba) .quick-view .add-to-cart-btn { width: 100% !important; min-width: 0 !important; padding: 0 14px !important; }
    html body:not(#iba) .quick-view .qty-box-set { flex: 0 0 auto; }
    html body:not(#iba) .quick-view .product-img { padding: 18px !important; }
    html body:not(#iba) .quick-view .quickview-featured-image img { max-height: 190px !important; }
}

/* Pass 29 - home on phones: banner gutter, calmer quote */
@media (max-width: 767px) {
    html body:not(#iba) [id$="__ttcmsbanner"] .container { padding-left: 16px !important; padding-right: 16px !important; }
    html body:not(#iba) [id$="__ttcmsbanner"] .container > .row { margin-left: 0 !important; margin-right: 0 !important; }
    html body:not(#iba) [id$="__ttcmsbanner"] .owl-stage-outer { border-radius: 20px; }
    html body:not(#iba) [id$="__tt-testimonial"] .testimonial-desc, html body:not(#iba) [id$="__tt-testimonial"] .testimonial-desc p { font-size: 17.5px !important; line-height: 1.5 !important; }
    html body:not(#iba) [id$="__tt-testimonial"] .tt-testimonial-wrap > .container::after { font-size: 24px !important; }
}

/* Pass 30 - product page: the price shows (the theme hid it on every product), and the page reads well on phones */
html body:not(#iba) .product-single__price .regular-price, html body:not(#iba) .product-single__price .sale-price { display: flex !important; align-items: baseline; flex-wrap: wrap; gap: 10px; }
html body:not(#iba) .product-single__price { margin: 6px 0 18px !important; height: auto !important; }
html body:not(#iba) .product-single__price .product-price__price { font-family: var(--f-display) !important; font-size: 30px !important; font-weight: 500 !important; color: var(--ink) !important; line-height: 1.1 !important; }
html body:not(#iba) .product-single__price .compare_price { font-family: var(--f-ui) !important; font-size: 17px !important; color: var(--muted) !important; text-decoration: line-through; }
html body:not(#iba) .product-single__price .discount-percentage { order: 3; font-size: 12px !important; font-weight: 700; color: var(--ember) !important; background: rgba(169, 80, 47, .1); border-radius: 999px; padding: 4px 10px; }
html body:not(#iba) .product-single .product-info, html body:not(#iba) .product-single .product-info * { font-family: var(--f-ui) !important; }
@media (max-width: 767px) {
    html body:not(#iba) .product-single__price .product-price__price { font-size: 26px !important; }
    html body:not(#iba) .product-single .product-info { width: 100% !important; max-width: none !important; display: block !important; box-sizing: border-box; }
}
@media (max-width: 767px) {
    /* one photo: no thumbnail strip, the photo takes the full width */
    html body:not(#iba) .product-single .text-center:not(:has(product-thumb li:nth-child(2))) product-thumb { display: none !important; }
    html body:not(#iba) .product-single .text-center:not(:has(product-thumb li:nth-child(2))) .product-single__photos { float: none !important; width: 100% !important; }
    /* several photos: the strip stays on the right but narrower, so the main photo gets more room */
    html body:not(#iba) .product-single .text-center:has(product-thumb li:nth-child(2)) .product-single__photos { width: calc(100% - 84px) !important; }
    html body:not(#iba) .product-single .text-center:has(product-thumb li:nth-child(2)) .product-single__thumbs { width: 76px !important; }
    html body:not(#iba) .product-single__photos .product__media img { width: 100% !important; height: auto !important; max-height: 380px; object-fit: contain; }
}

/* Pass 31 - cart on phones: price, quantity and total line up under the product name */
@media (max-width: 767px) {
    html body:not(#iba) .cart-items-row-inner > *, html body:not(#iba) .cart-items-row-inner .cart-main-price, html body:not(#iba) .cart-items-row-inner dd, html body:not(#iba) .cart-items-row-inner dl { text-align: left !important; justify-content: flex-start !important; margin-left: 0 !important; }
    html body:not(#iba) .cart-items-row-inner .qty-box-set, html body:not(#iba) .cart-items-row-inner .cart__qty { margin-left: 0 !important; margin-right: auto !important; }
    html body:not(#iba) #vuchr_code { min-width: 0 !important; }
}
@media (max-width: 767px) {
    html body:not(#iba) .cart-items-row-inner .text-center, html body:not(#iba) .cart-items-row-inner .text-center *, html body:not(#iba) .cart-items-row-inner [class*="total"], html body:not(#iba) .cart-items-row-inner [class*="total"] * { text-align: left !important; justify-content: flex-start !important; }
}

/* Pass 32 - about page: the paragraphs inside the subtitle block read as body text, not as tracked gold capitals */
html body:not(#iba) .ttabout-subtitle .ttabout-subtitle {
    font-family: var(--f-ui) !important; font-size: 16px !important; font-weight: 400 !important; line-height: 1.75 !important;
    text-transform: none !important; letter-spacing: 0 !important; color: var(--ink) !important; margin: 0 0 14px !important;
}
html body:not(#iba) .ttabout-subtitle .ttabout-subtitle:empty { display: none !important; }
@media (max-width: 767px) { html body:not(#iba) .ttabout-subtitle .ttabout-subtitle { font-size: 15.5px !important; } }
