/* =========================================================================
   BS3->BS5 / jQuery->Alpine bridge for the ported Antikvarnya theme.
   The original style.css/custom.css stay untouched; this file covers what
   the removed legacy JS/CSS (owl, revolution, off-canvas) used to provide.
   ========================================================================= */

[x-cloak] { display: none !important; }
.noo-spinner { display: none !important; }

/* --- Horizontal main menu: BS5 .navbar-nav defaults to column --- */
.noo-main-menu .navbar-nav { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; }
.noo-main-menu .navbar-nav > li { float: none; }
/* the original markup relies on BS3 .navbar paddings; flatten BS5's */
.noo-header .navbar { padding: 0; margin: 0; border: 0; min-height: 0; }
.noo-header .navbar > .container-fluid { display: flex; align-items: center; justify-content: space-between; flex-wrap: nowrap; gap: 20px; }

/* --- Header meta icons (search / account / cart on the black bar) --- */
.navbar-meta { display: flex; align-items: center; gap: 16px; }
.ak-meta-icon {
    background: none; border: 0; padding: 0; cursor: pointer;
    color: #fff; font-size: 20px; line-height: 1; text-decoration: none;
}
.ak-meta-icon:hover { color: #d2a637; }
.navbar-meta a, .navbar-meta button { color: #fff; }
.navbar-meta .badge { background: #d2a637 !important; color: #000 !important; }

/* --- Banner slider (Swiper instead of owl/Revolution) --- */
.ak-banner-slider .swiper-slide { position: relative; }
.ak-banner-slider a.banner {
    display: block; height: 700px;
    background-repeat: no-repeat; background-size: cover; background-position: center center;
    -webkit-filter: brightness(80%); filter: brightness(70%);
}
.ak-banner-slider .desc-block { position: absolute; right: 60px; top: 20%; text-align: right; z-index: 2; }
.ak-banner-slider .desc-block .header { padding: 10px; color: #fff; font-size: 3em; text-transform: uppercase; }
.ak-banner-slider .banner-description { color: #fff; padding: 6px; }
.ak-banner-slider a.btn-action {
    border-radius: 0; font-size: 1.2em; color: #fff; display: inline-block; border: 1px solid #fff;
}
.ak-banner-slider .swiper-button-prev,
.ak-banner-slider .swiper-button-next { color: #fff; }
.ak-banner-slider .swiper-pagination-bullet-active { background: #d2a637; }
@media (max-width: 1199px) { .ak-banner-slider a.banner { height: 600px; } }
@media (max-width: 600px) {
    .ak-banner-slider a.banner { height: 300px; }
    .ak-banner-slider .desc-block .header { font-size: 1.2em; }
    .ak-banner-slider .banner-description { display: none; }
    .ak-banner-slider a.btn-action { font-size: 1em; }
}
@media (min-width: 1400px) { .ak-banner-slider a.banner { height: 700px; } }
@media (min-width: 1600px) { .ak-banner-slider a.banner { height: 860px; } }

/* --- Product grids (CSS grid instead of isotope) --- */
.products-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
}
@media (max-width: 991px) { .products-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .products-grid { grid-template-columns: repeat(2, 1fr); } }
.products-grid .noo-product-item { float: none; width: 100%; }
.noo-product-inner { position: relative; }
.noo-product-inner img { max-width: 100%; height: auto; }
.noo-product-inner .price { color: #d2a637; font-size: 20px; font-weight: 700; }
.product-name-block { overflow: hidden; position: relative; }
.product-name { white-space: nowrap; }

/* --- Collections grid hover (image-zoom used to rely on theme JS) --- */
.features .image-zoom { display: block; overflow: hidden; }
.features .image-zoom img { width: 100%; height: auto; transition: transform .35s ease; }
.features .image-zoom:hover img { transform: scale(1.05); }

/* --- Search bar (Alpine x-show instead of jQuery slide) --- */
.search-header { position: relative; background: #111; padding: 24px 0; z-index: 98; }
.search-header .note-search { color: #aaa; display: block; margin-bottom: 8px; }
.search-header form { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.search-header .form-control { flex: 1; background: #1c1c1c; border: 1px solid #333; color: #fff; }
.search-header .noo-search-submit { background: none; border: 0; color: #fff; font-size: 20px; cursor: pointer; }

/* --- Mobile menu (Alpine instead of off-canvas.js) --- */
@media (max-width: 991px) {
    .noo-main-menu .navbar-nav { display: none; }
    .noo-main-menu .navbar-nav.ak-mobile-open {
        display: block; position: absolute; left: 0; right: 0; top: 100%;
        background: #000; z-index: 999; padding: 10px 20px; margin: 0;
    }
    .noo-main-menu .navbar-nav.ak-mobile-open > li {
        float: none; line-height: 2.6; margin: 0; border-bottom: 1px solid #222;
    }
    .noo-main-menu .navbar-nav.ak-mobile-open .sub-menu {
        position: static; opacity: 1; visibility: visible; transform: none;
        background: transparent; border: 0; padding-left: 16px;
    }
    .noo-main-menu .navbar-nav.ak-mobile-open .sub-menu li a { color: #ccc; }
}

/* --- Cart widget inside the black header --- */
.navbar-meta [data-bs-toggle], .navbar-meta svg { color: #fff; }

/* iteration 2: keep menu items on one line; cart button on dark bar */
.noo-main-menu .navbar-nav > li > a { white-space: nowrap; }
.noo-main-menu .navbar-nav > li { margin: 0 14px; }
.navbar-meta .btn { color: #fff; border: 0; }
.navbar-meta .btn:hover { color: #d2a637; }

/* iteration 3: header proportions (logo | menu | meta) on flex instead of BS3 floats */
.header-1 .navbar-logo { width: auto; flex: 0 0 auto; float: none; display: flex; align-items: center; }
.navbar-logo img { height: 48px; width: auto; display: block; }
.header-1 .noo-main-menu { width: auto; flex: 1 1 auto; float: none; min-width: 0; }
.navbar-meta { flex: 0 0 auto; }
.noo-header .navbar > .container-fluid { padding-left: 24px; padding-right: 24px; }

/* iteration 4: overflowing centered flex menu spilled over the logo; original flows left */
.header-1 .noo-main-menu { justify-content: flex-start; }
.header-1 .noo-main-menu .navbar-nav { justify-content: flex-start; }
.noo-main-menu .navbar-nav > li { margin: 0 12px; }
.noo-main-menu .navbar-nav > li:first-child { margin-left: 24px; }

/* iteration 5: fit all 11 items at 1440px like the live site */
@media (max-width: 1700px) {
    header .noo-main-menu .navbar-nav > li > a { font-size: 17px; letter-spacing: 1.2px; }
    .noo-main-menu .navbar-nav > li { margin: 0 9px; }
}
.navbar-meta { gap: 12px; padding-left: 8px; }

/* pagination: old theme css makes list items block-level; restore BS5 inline pagination */
.pagination { display: flex; flex-direction: row; list-style: none; padding: 0; }
.pagination li { display: inline-block; margin: 0; }
.pagination .page-link { color: #333; }
.pagination .active .page-link { background: #d2a637; border-color: #d2a637; color: #fff; }

/* ===================== mobile UX pass ===================== */
/* Burger on the left, logo centered on mobile */
.ak-burger { background: none; border: 0; color: #fff; font-size: 22px; padding: 4px 8px; cursor: pointer; }
@media (max-width: 991.98px) {
    .noo-header .navbar > .container-fluid { gap: 8px; }
    .ak-burger { order: 0; }
    .header-1 .navbar-logo { order: 1; margin: 0 auto; }
    .navbar-meta { order: 2; gap: 10px; }
    .navbar-logo img { height: 40px; }
    body { padding-bottom: 74px; } /* room for the bottom nav (70px) */
}

/* Bottom mobile navigation */
.ak-bottom-nav {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1040;
    /* свой слой композитинга: без него iOS Safari перерисовывает панель с лагом при скролле */
    transform: translateZ(0); -webkit-transform: translateZ(0);
    height: calc(70px + env(safe-area-inset-bottom));
    display: flex; justify-content: flex-start; align-items: center;
    background: #fff; border-top: 1px solid #e5e5e5;
    /* справа резерв под стороннюю кнопку чата 70x70 */
    padding: 0 78px env(safe-area-inset-bottom) 2px;
}
.ak-bottom-nav__item {
    display: flex; flex-direction: column; align-items: center; gap: 2px;
    flex: 1; color: #444; text-decoration: none; font-size: 11px; line-height: 1.2;
}
.ak-bottom-nav__item i { font-size: 19px; }
.ak-bottom-nav__item:hover, .ak-bottom-nav__item:active { color: #d2a637; }
.ak-bottom-nav__icon-wrap { position: relative; display: inline-block; }
.ak-bottom-nav__badge {
    position: absolute; top: -6px; right: -10px; background: #d2a637; color: #fff;
    border-radius: 10px; font-size: 10px; min-width: 16px; height: 16px; line-height: 16px; text-align: center; padding: 0 4px;
}

/* Favorites heart on product cards — no circle, white icon, black when active */
.ak-fav {
    position: absolute; top: 8px; right: 8px; z-index: 5;
    background: transparent; border: 0; padding: 0;
    width: 30px; height: 30px; line-height: 1; cursor: pointer;
    color: #fff; font-size: 20px;
    transition: color .15s, transform .15s;
}
.ak-fav:hover { transform: scale(1.12); }
.ak-fav.is-active { color: #000; }

/* Product page: open description + one-click */
.ak-product-description { font-size: 15px; color: #444; }
.ak-product-text { white-space: normal; }
.ak-one-click { border: 1px solid #d2a637; color: #af8827; border-radius: 0; }
.ak-one-click:hover { background: #d2a637; color: #fff; }

/* Recommendations under the product: same card sizing as catalog grids */
.products-grid { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 991px) { .products-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .products-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; } }
.products-grid .noo-product-inner img { width: 100%; object-fit: cover; }

/* Override the legacy mobile header rules (old theme used 50%/50% + absolute burger) */
@media (max-width: 991px) {
    .noo-header div.navbar-logo { width: auto !important; flex: 1 1 auto; display: flex; justify-content: center; }
    .noo-header .navbar-meta { width: auto !important; flex: 0 0 auto; display: flex !important; }
    .noo-header .navbar-default { padding: 0 !important; min-height: 56px; }
    /* фиксированная шапка на мобилке: липнет к верху при скролле */
    .noo-header { position: sticky; top: 0; z-index: 1035; }
    .ak-burger { flex: 0 0 auto; display: block; }
    /* hide desktop-only icons in the top bar on mobile: search stays, account/cart live in the bottom nav */
    .navbar-meta .ak-header__icon[aria-label="Личный кабинет"] { display: none; }
}

/* Burger as pure CSS bars (icon-font-independent) */
.ak-burger { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 40px; height: 40px; }
.ak-burger span { display: block; width: 22px; height: 2px; background: #fff; margin: 0 auto; }
@media (max-width: 991.98px) {
    .ak-burger { display: flex !important; }
    .noo-header .navbar > .container-fluid { padding-left: 12px; padding-right: 12px; }
}

/* ===================== Pinterest masonry catalog ===================== */
.ak-masonry {
    column-count: 5;
    column-gap: 16px;
    margin: 0;
}
@media (max-width: 1400px) { .ak-masonry { column-count: 4; } }
@media (max-width: 1100px) { .ak-masonry { column-count: 3; } }
@media (max-width: 767px)  { .ak-masonry { column-count: 2; column-gap: 10px; } }

.ak-masonry .noo-product-item {
    width: 100%;
    float: none;
    display: inline-block;          /* play nicely with CSS columns */
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    margin: 0 0 16px;
    padding: 0;
}
/* white card so it reads as a card; subtle resting shadow, deeper on hover */
.ak-masonry .noo-product-inner {
    border: 1px solid #f0eeea;
    padding: 8px 8px 12px;
    background: #fff;
    text-align: left;
    box-shadow: 0 1px 4px rgba(0,0,0,.04);
    transition: box-shadow .25s ease, transform .25s ease;
}
.ak-masonry .noo-product-item:hover .noo-product-inner {
    box-shadow: 0 8px 26px rgba(0,0,0,.12);
    transform: translateY(-2px);
}
.ak-masonry .noo-product-thumbnail {
    position: relative;
    overflow: hidden;
    background: #f5f5f3;
}
/* no top gap and no rounding on product photos */
.noo-product-item .noo-product-inner .noo-product-thumbnail { margin-top: 0; }
.noo-product-thumbnail, .noo-product-thumbnail img { border-radius: 0 !important; }
.ak-masonry .noo-product-thumbnail img {
    width: 100%;
    height: auto;                   /* variable height — keeps the real ratio */
    display: block;
    transition: transform .4s ease;
}
.ak-masonry .noo-product-item:hover .noo-product-thumbnail img { transform: scale(1.04); }
.ak-masonry .product-name-block { margin-top: 8px; }
.ak-masonry .product-name {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    white-space: normal;            /* WB-style: up to 2 lines, grey, smaller than the price */
    font-size: 13px;
    color: #707070;
    line-height: 1.35;
}
.ak-masonry .price { text-align: left; margin-top: 2px; }
.noo-product-item .onsale, span.onsale {
    position: absolute; top: 8px; left: 8px; right: auto; bottom: auto; z-index: 3;
    display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; border-radius: 50%; padding: 0;
    background: rgba(51, 51, 51, .75); color: #fff;
    font-size: 12px; font-weight: 600; letter-spacing: .02em;
    /* сброс легаси-ленты: квадрат 3.236em + rotate(45deg) */
    min-width: 0; min-height: 0; line-height: 1;
    transform: none; -webkit-transform: none;
}

/* ===================== add-to-cart + toast + header favorites ===================== */
.ak-masonry .ak-price-row { padding-bottom: 4px; }

/* header favorites heart */
.ak-meta-fav { position: relative; }
.ak-meta-fav__badge {
    position: absolute; top: -6px; right: -8px; background: #d2a637; color: #fff;
    border-radius: 10px; font-size: 10px; min-width: 16px; height: 16px; line-height: 16px; text-align: center; padding: 0 4px;
}
/* mobile top header: keep only search + city icon (profile/favorites/cart live in the bottom nav) */
@media (max-width: 991.98px) {
    .navbar-meta .ak-meta-account,
    .navbar-meta .ak-meta-fav,
    .navbar-meta .col-auto.position-relative { display: none !important; }   /* profile, favorites, cart */
    .ak-city { display: inline-flex !important; }
    .ak-city__btn { gap: 4px; }
    .ak-city__btn span { display: inline; max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
    .ak-city__btn svg, .ak-city__btn .icon { width: 20px; height: 20px; }
}

/* toast */
.ak-toast {
    position: fixed; right: 20px; bottom: 20px; z-index: 1090; width: 320px; max-width: calc(100vw - 40px);
    background: #fff; box-shadow: 0 10px 40px rgba(0,0,0,.2); border-radius: 6px; overflow: hidden;
}
@media (max-width: 991.98px) { .ak-toast { bottom: 86px; } } /* above the bottom nav (70px) */
.ak-toast__body { display: flex; align-items: center; gap: 10px; padding: 14px 16px; }
.ak-toast__check { width: 28px; height: 28px; flex: 0 0 auto; border-radius: 50%; background: #d2a637; color: #fff; text-align: center; line-height: 28px; font-weight: 700; }
.ak-toast__text { flex: 1; line-height: 1.2; }
.ak-toast__text small { display: block; color: #888; }
.ak-toast__close { background: none; border: 0; font-size: 22px; color: #aaa; cursor: pointer; line-height: 1; }
.ak-toast__go { display: block; text-align: center; background: #1f1f1f; color: #fff; padding: 10px; text-decoration: none; }
.ak-toast__go:hover { background: #000; color: #d2a637; }

/* show-more button width */
.ak-load-more { min-width: 220px; }

/* ===================== product page (match live) ===================== */
.ak-product-crumbs { padding: 14px 0; color: #888; }
.ak-product-crumbs a { color: #555; text-decoration: none; }
.ak-product-crumbs a:hover { color: #d2a637; }
/* gallery: main photo on top, thumbnails horizontal below */
.ak-thumbs { }
.ak-thumb { width: 88px; }
.ak-thumb img { width: 100%; height: auto; cursor: pointer; border: 1px solid #eee; }
.ak-thumb img:hover { border-color: #d2a637; }
#main-image { object-fit: contain; max-height: 640px; }
/* description block */
.ak-product-description { font-size: 15px; color: #444; margin-top: 16px; }

/* ===================== card price + cart button (refinement) ===================== */
/* WB-style: bold price on top with the cart button, product name below in grey */
.ak-price-row {
    display: flex; align-items: center; justify-content: space-between;
    gap: 8px; padding: 10px 6px 0;
}
.ak-card-price { display: flex; align-items: baseline; gap: 6px; min-width: 0; }
.ak-card-price__now { font-size: 19px; font-weight: 800; color: #1f1f1f; letter-spacing: -.2px; white-space: nowrap; }
.ak-card-price__old { font-size: 13px; color: #b9b9b9; text-decoration: line-through; white-space: nowrap; }
.ak-price-row .price {
    color: #1f1f1f;                              /* main text color, not orange */
    font-weight: 700; font-size: 18px;
    white-space: nowrap;                         /* keep "2 800 ₽" on one line */
}
.ak-price-row .price .old { color: #b4b4b4; font-weight: 400; font-size: 14px; text-decoration: line-through; margin-right: 6px; }

.ak-add-to-cart {
    flex: 0 0 auto; width: 40px; height: 40px;
    background: transparent; border: 0; color: #000;   /* no bg/border, black icon */
    border-radius: 4px; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    transition: background .15s, color .15s, transform .1s;
}
.ak-add-to-cart .icon, .ak-add-to-cart svg { width: 22px; height: 22px; color: currentColor; }
.ak-add-to-cart:active { transform: scale(.92); }
/* fills on click (Alpine toggles .is-added for ~1.2s) */
.ak-add-to-cart.is-added { background: #000; color: #fff; }

/* ===================== category breadcrumb (white, clickable, over the dark heading) ===================== */
.noo-page-heading .noo-page-breadcrumb { position: relative; z-index: 3; color: #fff; }
.noo-page-heading .noo-page-breadcrumb a { color: #fff; text-decoration: none; }
.noo-page-heading .noo-page-breadcrumb a:hover { color: #d2a637; text-decoration: underline; }
.noo-page-heading .noo-heading-content { position: relative; z-index: 3; }

/* the dark overlay on the page heading must not eat clicks on the breadcrumb links */
.noo-page-heading:before { pointer-events: none; z-index: 1; }

/* ===================== refinements batch ===================== */
/* price: main ink color, beat original .noo-product-item .noo-product-inner .price (0,3,0) */
.noo-product-item .noo-product-inner .ak-price-row .price { color: #1f1f1f; margin: 0; font-size: 18px; }
.ak-price-row .price .old { color: #b4b4b4; }

/* add-to-cart: transparent, black icon, hover only scales, fills on click */
.ak-add-to-cart { background: transparent !important; border: 0 !important; color: #000; }
.ak-add-to-cart:hover { background: transparent !important; color: #000; transform: scale(1.12); }
.ak-add-to-cart.is-added { color: #000; }
.ak-add-to-cart.is-added svg, .ak-add-to-cart.is-added .icon { fill: #000; }
.ak-add-to-cart .icon, .ak-add-to-cart svg { color: currentColor; }
/* qty badge on the quick-add button */
.ak-add-to-cart { position: relative; }
.ak-cart-qty {
    position: absolute; top: -4px; right: -4px; background: #d2a637; color: #1f1f1f;
    border-radius: 10px; min-width: 16px; height: 16px; line-height: 16px; font-size: 10px;
    text-align: center; padding: 0 4px; font-weight: 700;
}

/* favorite heart contours via text-stroke (not a filter) */
.ak-fav .fa, .ak-fav i { -webkit-text-stroke: 1px #000; }      /* white heart, black contour */
.ak-fav.is-active .fa, .ak-fav.is-active i { color: #000; -webkit-text-stroke: 1px #fff; } /* black heart, white contour */

/* unified header badge (cart === favorites): small gold circle */
.ak-meta-badge, .ak-meta-fav__badge {
    position: absolute; top: -6px; right: -8px;
    background: #d2a637; color: #1f1f1f;
    border-radius: 50%; min-width: 18px; height: 18px; line-height: 18px;
    font-size: 11px; font-weight: 700; text-align: center; padding: 0 4px;
}
.ak-meta-cart { background: none; border: 0; color: #fff; font-size: 20px; padding: 0; cursor: pointer; }
.ak-meta-cart:hover { color: #d2a637; }

/* ===================== search dropdown (clean, replaces legacy .search-header) ===================== */
.ak-search { position: absolute; left: 0; right: 0; top: 100%; z-index: 1050; }
.ak-search__backdrop { position: fixed; inset: 0; top: 0; background: rgba(0,0,0,.35); z-index: -1; }
.ak-search__panel { background: #111; padding: 18px 0; box-shadow: 0 8px 24px rgba(0,0,0,.3); }
.ak-search__input { height: 46px; background: #1c1c1c; border: 1px solid #333; color: #fff; }
.ak-search__input::placeholder { color: #888; }
.ak-search__input:focus { background: #1c1c1c; color: #fff; border-color: #d2a637; box-shadow: none; }
.ak-search__close { background: none; border: 0; color: #aaa; font-size: 26px; line-height: 1; cursor: pointer; padding: 0 6px; }
.ak-search__close:hover { color: #fff; }
.ak-search .btn-primary { height: 46px; display: inline-flex; align-items: center; }
/* line search icon, same visual weight as cart/fav */
.ak-meta-search .icon, .ak-meta-search svg { width: 22px; height: 22px; }
.noo-header { position: sticky; }   /* ensure .ak-search positions under the bar */

/* product title in list — left aligned */
.ak-masonry .product-name-block, .noo-product-grid .product-name-block { text-align: left; }
.ak-masonry .product-name, .noo-product-grid .product-name { text-align: left; }

/* sidebar category widget — tighter line spacing */
.widget_categories ul > li { line-height: 1.25; margin-bottom: 6px; }
.widget_categories ul > li a { line-height: 1.25; }

/* ===================== JS masonry layout ===================== */
.ak-masonry.ak-masonry--js { display: flex; column-count: auto; column-gap: 18px; }
.ak-masonry.ak-masonry--js .ak-col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; row-gap: 18px; }
@media (max-width: 767px) { .ak-masonry.ak-masonry--js { column-gap: 12px; } .ak-masonry.ak-masonry--js .ak-col { row-gap: 12px; } }

/* ===================== sidebar bullets aligned to first text line ===================== */
.widget_categories ul > li { display: flex; align-items: flex-start; gap: 10px; padding-left: 0; line-height: 1.3; margin-bottom: 7px; }
.widget_categories ul > li:before { position: static; flex: 0 0 6px; margin-top: .55em; }

/* ===================== product name padding (match price row sides: 6px) ===================== */
.noo-product-grid .product-name-block, .ak-masonry .product-name-block { padding: 0 6px; }

/* ===================== quantity badges ===================== */
/* card quick-add: qty badge closer to the bag icon */
.ak-cart-qty { top: 0; right: 2px; }
/* header cart + favorites: badge farther from the icon */
.ak-meta-badge, .ak-meta-fav__badge { top: -9px; right: -12px; }

/* header cart icon = same line bag as the card button */
.ak-meta-cart .icon, .ak-meta-cart svg { width: 22px; height: 22px; color: #fff; }

/* card quick-add quantity: plain number, no circle */
.ak-cart-qty {
    background: none; color: #1f1f1f; border-radius: 0; padding: 0;
    min-width: 0; height: auto; line-height: 1; font-size: 12px; font-weight: 700;
    top: -2px; right: -6px;
}

/* qty next to the bag icon — inline, not an absolute badge */
.ak-add-to-cart { width: auto; min-width: 40px; padding: 0; gap: 3px; }
.ak-cart-qty { position: static; top: auto; right: auto; margin: 0; font-size: 13px; font-weight: 700; color: #1f1f1f; }

/* consistent spacing: let column row-gap handle vertical spacing */
.ak-masonry.ak-masonry--js .noo-product-item { margin: 0; }
/* qty number: smaller and raised */
.ak-cart-qty { font-size: 10px; position: relative; top: -6px; left: -1px; }

/* "Показать ещё" — black, square */
.ak-load-more {
    background: #000; border: 1px solid #000; border-radius: 0; color: #fff;
    padding: 12px 36px; font-family: 'Dosis', sans-serif; font-weight: 600; letter-spacing: .5px; font-size: 1.6rem;
    text-transform: uppercase;
}
.ak-load-more:hover { background: #2b2b2b; border-color: #2b2b2b; color: #fff; }

/* remove the orange bar on the left of widget titles */
.widget-title:before { display: none !important; }
.widget-title { padding-left: 0; }

/* ===================== sidebar category list — clean & modern (no bullets) ===================== */
.noo-sidebar-wrap .widget ul { list-style: none; margin: 0; padding: 0; }
.noo-sidebar-wrap .widget ul > li { display: block; margin: 0; padding: 0; line-height: 1.3; }
.noo-sidebar-wrap .widget ul > li:before { display: none !important; }   /* kill the grey dots */
.noo-sidebar-wrap .widget ul > li a {
    display: block; padding: 9px 0 9px 14px; position: relative;
    color: #555; font-size: 15px; text-decoration: none;
    border-left: 2px solid transparent; transition: color .15s, border-color .15s, padding-left .15s;
}
.noo-sidebar-wrap .widget ul > li a:hover { color: #d2a637; padding-left: 18px; }
.noo-sidebar-wrap .widget ul > li.active > a {
    color: #1f1f1f; font-weight: 700;
}
.noo-sidebar-wrap .widget ul > li + li { border-top: 1px solid #f0f0f0; }

/* ===================== de-orange all buttons (black, hover = lighter + slight grow) ===================== */
.btn-primary, .ak-hero__cta, .btn-subscribe, .ak-search .btn-primary {
    --bs-btn-bg: #000; --bs-btn-border-color: #000; --bs-btn-color: #fff;
    --bs-btn-hover-bg: #2b2b2b; --bs-btn-hover-border-color: #2b2b2b; --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: #2b2b2b; --bs-btn-active-border-color: #2b2b2b;
    background-color: #000; border-color: #000; color: #fff;
    transition: background-color .15s, transform .12s;
}
.btn-primary:hover, .ak-hero__cta:hover, .btn-subscribe:hover, .ak-search .btn-primary:hover,
.ak-load-more:hover {
    background-color: #2b2b2b !important; border-color: #2b2b2b !important; color: #fff !important;
    transform: scale(1.03);
}

/* ===================== header count badges — no orange fill, plain white number ===================== */
.ak-meta-badge, .ak-meta-fav__badge {
    background: transparent !important; color: #fff; font-weight: 700;
    border-radius: 0; min-width: 0; height: auto; line-height: 1; padding: 0;
    top: -8px; right: -10px; font-size: 11px;
}

/* sidebar: drop the orange vertical accent, keep grey horizontal dividers */
.noo-sidebar-wrap .widget ul > li a { border-left: 0; padding-left: 0; }
.noo-sidebar-wrap .widget ul > li a:hover { padding-left: 4px; }
.noo-sidebar-wrap .widget ul > li.active > a { border-left: 0; }

/* inside the white card, let the card padding handle horizontal spacing */
.ak-masonry .product-name-block { padding-left: 0; padding-right: 0; }
.ak-masonry .ak-price-row { padding-left: 0; padding-right: 0; }

/* price on the left, cart button on the right (WB-style) */
.ak-price-row { justify-content: space-between; }

/* smaller quick-add button */
.ak-add-to-cart { height: 25px; }
.ak-add-to-cart .icon, .ak-add-to-cart svg { width: 18px; height: 18px; }

/* logo 1.5x */
.navbar-logo img { height: 72px; }
@media (max-width: 991.98px) { .navbar-logo img { height: 52px; } }

/* top menu hover underline: white, not orange; keep text white on hover */
.noo-main-menu .navbar-nav > li > a:before { background: #fff !important; }
.noo-main-menu .navbar-nav > li:hover > a,
.noo-main-menu .navbar-nav > li.is-active > a { color: #fff !important; }

/* header icons hover: no orange — stay white, slight dim */
.ak-meta-icon:hover, .ak-meta-cart:hover, .ak-meta-fav:hover { color: #fff; opacity: .7; }
.ak-meta-fav.is-active, .ak-meta-fav:hover .fa-heart { color: #fff; }

/* search dropdown: square, no orange focus, transparent submit button */
.ak-search__input { border-radius: 0; }
.ak-search__input:focus { border-color: #777 !important; box-shadow: none !important; }
.ak-search .btn-primary {
    border-radius: 0; background: transparent !important; border: 1px solid #444 !important;
    color: #fff !important; transform: none !important;
}
.ak-search .btn-primary:hover { background: #2b2b2b !important; }

/* slider active dot — white */
.ak-banner-slider .swiper-pagination-bullet-active { background: #fff !important; }

/* bottom-nav icons: unified tabler line set, consistent size */
.ak-bottom-nav__item svg, .ak-bottom-nav__item .icon { width: 22px; height: 22px; }

/* mobile main menu: parent nav was display:none, so the open class never showed.
   Keep the nav rendered and drop the open list as a fixed panel under the bar. */
@media (max-width: 991.98px) {
    .noo-header nav.noo-main-menu { display: block !important; position: static; width: auto; flex: 0 0 auto; }
    .noo-main-menu .navbar-nav { display: none; }
    .noo-main-menu .navbar-nav.ak-mobile-open {
        display: block; position: fixed; left: 0; right: 0; top: 56px;
        background: #000; z-index: 1035; padding: 8px 18px 16px; margin: 0;
        max-height: calc(100vh - 56px); overflow-y: auto;
    }
    .noo-main-menu .navbar-nav.ak-mobile-open > li { float: none; margin: 0; line-height: 2.4; border-bottom: 1px solid #222; }
    .noo-main-menu .navbar-nav.ak-mobile-open > li > a { color: #fff; display: block; }
    .noo-main-menu .navbar-nav.ak-mobile-open .sub-menu {
        position: static; opacity: 1; visibility: visible; transform: none;
        background: transparent; border: 0; box-shadow: none; padding: 0 0 6px 14px; min-width: 0;
    }
    .noo-main-menu .navbar-nav.ak-mobile-open .sub-menu li a { color: #bbb; }
}

/* ===================== product page (custom, minimalist) ===================== */
.ak-product { padding-top: 8px; }
.ak-product-crumbs { padding: 16px 0; color: #888; font-size: 14px; }
.ak-product-crumbs a { color: #777; text-decoration: none; }
.ak-product-crumbs a:hover { color: #1f1f1f; }
.ak-product-crumbs .sep { margin: 0 8px; color: #ccc; }
.ak-product-crumbs .current { color: #1f1f1f; }
.ak-product__main { margin-bottom: 48px; }

/* gallery */
.ak-gallery__main { background: #f5f5f3; cursor: zoom-in; overflow: hidden; }
.ak-gallery__main img { width: 100%; height: auto; display: block; object-fit: contain; max-height: 680px; }
.ak-gallery__thumbs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.ak-gallery__thumb { width: 84px; height: 84px; padding: 0; border: 1px solid #e6e4e0; background: #fff; cursor: pointer; overflow: hidden; }
.ak-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.ak-gallery__thumb.is-active { border-color: #1f1f1f; }
.ak-lightbox { position: fixed; inset: 0; background: rgba(0,0,0,.9); z-index: 1090; display: flex; align-items: center; justify-content: center; }
.ak-lightbox img { max-width: 90vw; max-height: 90vh; object-fit: contain; }
.ak-lightbox__close { position: absolute; top: 18px; right: 24px; background: none; border: 0; color: #fff; font-size: 40px; line-height: 1; cursor: pointer; }
.ak-lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); background: none; border: 0; color: #fff; font-size: 40px; cursor: pointer; padding: 0 20px; opacity: .8; }
.ak-lightbox__nav:hover { opacity: 1; }
.ak-lightbox__nav.prev { left: 10px; }
.ak-lightbox__nav.next { right: 10px; }

/* info column */
.ak-product__title { font-family: 'Dosis', sans-serif; font-weight: 600; text-transform: uppercase; font-size: 1.9rem; line-height: 1.15; margin: 6px 0 16px; }
.ak-incart { background: #f6f4ef; border-left: 2px solid #d2a637; padding: 8px 12px; font-size: 13px; color: #6a5a2a; margin-bottom: 18px; }
.ak-buy { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 16px 0; border-top: 1px solid #eee; border-bottom: 1px solid #eee; }
.ak-buy__price { font-size: 1.7rem; font-weight: 700; color: #1f1f1f; }
.ak-buy__price .old { font-size: 1rem; color: #b4b4b4; text-decoration: line-through; margin-right: 8px; font-weight: 400; }
.ak-qty { display: inline-flex; align-items: center; border: 1px solid #ddd; }
.ak-qty button { width: 38px; height: 40px; background: #fff; border: 0; font-size: 18px; cursor: pointer; color: #333; }
.ak-qty button:hover { background: #f3f3f3; }
.ak-qty input { width: 44px; height: 40px; border: 0; border-left: 1px solid #eee; border-right: 1px solid #eee; text-align: center; font-size: 15px; }
.ak-buy__add { display: inline-flex; align-items: center; gap: 8px; background: #000; color: #fff; border: 0; padding: 0 22px; height: 42px; cursor: pointer; transition: background .15s, transform .12s; }
.ak-buy__add:hover { background: #2b2b2b; transform: scale(1.02); }
.ak-buy__add svg, .ak-buy__add .icon { width: 20px; height: 20px; }
/* mobile: pin the buy block (price + qty + add) as a bar above the bottom nav */
@media (max-width: 991.98px) {
    .ak-buy {
        position: fixed; left: 0; right: 0; z-index: 1039;
        bottom: calc(70px + env(safe-area-inset-bottom));
        margin: 0; padding: 10px 14px; gap: 10px; flex-wrap: nowrap;
        background: #fff; border-top: 1px solid #eee; border-bottom: 0;
        box-shadow: 0 -4px 16px rgba(0,0,0,.07);
    }
    .ak-buy__price { font-size: 1.25rem; white-space: nowrap; }
    .ak-buy__add { flex: 1 1 auto; justify-content: center; height: 44px; padding: 0 14px; }
    .ak-product { padding-bottom: 144px; }   /* clear the fixed buy bar + bottom nav (70px) */
}
.ak-collection-link { display: inline-block; margin: 18px 0 8px; color: #777; text-decoration: underline; font-size: 14px; }
.ak-collection-link:hover { color: #1f1f1f; }
.ak-product-description { font-size: 15px; color: #444; line-height: 1.6; margin-top: 16px; }
.ak-related { margin-top: 16px; }
@media (max-width: 991.98px) { .ak-product__main { margin-bottom: 28px; } }

/* product page fixes: full-width main photo (no letterbox), wider qty input, delivery note */
.ak-gallery__main { text-align: left; }
.ak-gallery__main img { width: 100%; height: auto; max-height: none; object-fit: cover; margin: 0; }
.ak-qty input { width: 56px; }
.ak-delivery { display: flex; align-items: center; gap: 8px; margin-top: 14px; color: #555; font-size: 14px; }
.ak-delivery svg, .ak-delivery .icon { width: 20px; height: 20px; color: #777; }


/* ===== header cart offcanvas: flex column so the items list scrolls, header/footer pinned ===== */
/* id + !important beats the legacy global `.show { display:block!important }` (style.css) that BS adds on open */
#offcanvasCart { display: flex !important; flex-direction: column; width: 420px; max-width: 92vw; }
#offcanvasCart .offcanvas-header { flex: 0 0 auto; border-bottom: 1px solid #eee; padding: 16px; }
#offcanvasCart .offcanvas-title { font-size: 20px; }
#offcanvasCart .offcanvas-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 0; }
#offcanvasCart .offcanvas-footer, #offcanvasCart .p-3.pb-5 { flex: 0 0 auto; }
#offcanvasCart .p-3.pb-5 { padding: 16px !important; border-top: 1px solid #eee; }
#offcanvasCart .offcanvas-footer .py-4 { padding-top: 0 !important; padding-bottom: 16px !important; }
/* subtotal: the theme's .h5 forces the 'Dosis' display font which looks odd on numbers — use the body font */
#offcanvasCart .offcanvas-footer .h5 { font-family: 'Arial', sans-serif; font-weight: 700; font-size: 19px; color: #1f1f1f; margin: 0; }

.ak-cart-empty { padding: 28px 16px; color: #777; }
.ak-cart-list { list-style: none; margin: 0; padding: 0; }
.ak-cart-item { display: flex; gap: 12px; padding: 14px 16px; border-bottom: 1px solid #f1f1f1; }
.ak-cart-item__thumb { flex: 0 0 60px; width: 60px; height: 56px; overflow: hidden; background: #f5f5f5; display: block; }
.ak-cart-item__thumb img { width: 100%; height: 100%; object-fit: cover; }
.ak-cart-item__info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.ak-cart-item__name { color: #1f1f1f; font-size: 16px; font-weight: 600; line-height: 1.3; text-decoration: none; }
.ak-cart-item__name:hover { color: #d2a637; }
.ak-cart-item__meta { margin-top: auto; padding-top: 8px; display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.ak-cart-item__qty { color: #777; font-size: 15px; }
.ak-cart-item__total { color: #1f1f1f; font-weight: 700; font-size: 17px; white-space: nowrap; }

/* product gallery: smaller block + right gap on desktop */
@media (min-width: 992px) {
    .ak-gallery { padding-right: 40px; }
    .ak-gallery__main img { max-height: 560px; object-fit: contain; background: #f5f5f3; }
}
/* mobile: swipeable photo strip under a mask (no thumbnails) */
.ak-gallery__strip {
    display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.ak-gallery__strip::-webkit-scrollbar { display: none; }
.ak-gallery__slide { flex: 0 0 88%; scroll-snap-align: center; }
.ak-gallery__slide img { width: 100%; height: auto; display: block; background: #f5f5f3; }

/* ===== product page batch 2 ===== */
/* incart note: no orange bar */
.ak-incart { border-left: 0; background: #f6f4ef; padding: 8px 12px; }

/* related title: ~half the section-title size, no gold side borders */
.ak-related__title {
    font-family: 'Dosis', sans-serif; font-weight: 600; text-transform: uppercase;
    font-size: 1.3rem; letter-spacing: 1px; color: #1f1f1f; text-align: center; margin-bottom: 24px;
}
/* see-all (NOT the JS load-more): plain dark link-button */
.ak-seeall {
    display: inline-block; background: #000; color: #fff; text-decoration: none;
    padding: 11px 30px; font-family: 'Dosis', sans-serif; font-weight: 600; font-size: 1.05rem; text-transform: uppercase;
    transition: background .15s;
}
.ak-seeall:hover { background: #2b2b2b; color: #fff; }

/* quantity stepper — minimal, no boxy borders/backgrounds */
.ak-qty { display: inline-flex; align-items: center; gap: 2px; }
.ak-qty button { width: 32px; height: 36px; background: none; border: 0; font-size: 20px; color: #aaa; cursor: pointer; transition: color .15s; }
.ak-qty button:hover { color: #000; }
.ak-qty input { width: 40px; height: 36px; background: none; border: 0; text-align: center; font-size: 16px; color: #1f1f1f; }
.ak-qty input:focus { outline: none; }

/* static info blocks under the description */
.ak-info-block { margin-top: 22px; }
.ak-info-block h4 { font-family: 'Dosis', sans-serif; font-weight: 600; font-size: 1.1rem; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 8px; }
.ak-info-block p { color: #555; font-size: 14px; line-height: 1.6; margin-bottom: 8px; }

/* ===== Zara-style product gallery: vertical scroll under a mask (mobile + desktop) ===== */
.ak-gallery__scroller {
    height: 82vh; overflow-y: auto; scroll-snap-type: y mandatory; background: #f5f5f3;
    scrollbar-width: none;
}
.ak-gallery__scroller::-webkit-scrollbar { display: none; }
.ak-gallery__frame { height: 82vh; scroll-snap-align: start; display: flex; align-items: center; justify-content: center; }
.ak-gallery__frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 991.98px) {
    /* mobile: one photo per screen, swipe horizontally (no more endless vertical stack) */
    .ak-gallery__scroller {
        height: auto; display: flex; overflow-x: auto; overflow-y: hidden;
        scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
    }
    .ak-gallery__frame { height: auto; flex: 0 0 100%; scroll-snap-align: center; }
    .ak-gallery__frame img { height: auto; object-fit: contain; }
}
/* mobile title sits above the photo; keep the desktop rhythm untouched */
.ak-product__title--mobile { margin-bottom: 12px; }

/* ----- desktop affordance: the photos scroll vertically ----- */
.ak-gallery { position: relative; }
/* dots on the right mark how many photos and which one is centered */
.ak-gallery__dots {
    position: absolute; top: 50%; right: 12px; transform: translateY(-50%);
    display: none; flex-direction: column; gap: 7px; z-index: 4; pointer-events: none;
}
.ak-gallery__dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(0,0,0,.22); transition: transform .2s, background .2s; }
.ak-gallery__dot.is-active { background: #1f1f1f; transform: scale(1.35); }
/* bouncing chevron + bottom fade hint the vertical scroll; both fade out on first scroll */
.ak-gallery__hint {
    position: absolute; left: 50%; bottom: 16px; transform: translateX(-50%); z-index: 4;
    width: 40px; height: 40px; border-radius: 50%; color: #1f1f1f; background: rgba(255,255,255,.9);
    display: none; align-items: center; justify-content: center; box-shadow: 0 3px 12px rgba(0,0,0,.18);
    animation: akGalleryBounce 1.6s ease-in-out infinite; pointer-events: none;
}
.ak-gallery__hint svg, .ak-gallery__hint .icon { width: 22px; height: 22px; }
@keyframes akGalleryBounce { 0%, 100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(6px); } }
.ak-gallery::after {
    content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 90px; z-index: 3;
    background: linear-gradient(to top, rgba(245,245,243,.95), rgba(245,245,243,0));
    pointer-events: none; opacity: 0; transition: opacity .3s;
}
@media (min-width: 992px) {
    .ak-gallery__dots { display: flex; }
    .ak-gallery__hint { display: flex; }
    .ak-gallery:not(.is-scrolled)::after { opacity: 1; }
}
/* mobile: dots become a horizontal row centered at the bottom of the swiped photo */
@media (max-width: 991.98px) {
    .ak-gallery__dots {
        display: flex; flex-direction: row; gap: 6px;
        top: auto; right: auto; left: 50%; bottom: 10px; transform: translateX(-50%);
    }
    .ak-gallery__dot { background: rgba(255,255,255,.75); box-shadow: 0 0 2px rgba(0,0,0,.4); }
    .ak-gallery__dot.is-active { background: #fff; transform: scale(1.35); }
}

/* ===================== auth popup (login + registration) ===================== */
.ak-authmodal { position: fixed; inset: 0; z-index: 1100; display: flex; align-items: center; justify-content: center; }
.ak-authmodal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.5); }
.ak-authmodal__panel {
    position: relative; z-index: 1; width: 400px; max-width: calc(100vw - 32px); max-height: calc(100vh - 48px);
    overflow-y: auto; background: #fff; border-radius: 14px; padding: 30px 26px 26px; box-shadow: 0 20px 60px rgba(0,0,0,.3);
}
.ak-authmodal__close { position: absolute; top: 10px; right: 14px; background: none; border: 0; font-size: 28px; line-height: 1; color: #aaa; cursor: pointer; }
.ak-authmodal__close:hover { color: #1f1f1f; }
.ak-authmodal__tabs { display: flex; margin-bottom: 22px; border-bottom: 1px solid #eee; }
.ak-authmodal__tabs button {
    flex: 1; background: none; border: 0; padding: 8px 0 12px; font-size: 16px; font-weight: 600; color: #9a9a9a;
    cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color .15s;
}
.ak-authmodal__tabs button.is-active { color: #1f1f1f; border-bottom-color: #1f1f1f; }

.ak-authform { display: flex; flex-direction: column; gap: 14px; }
.ak-authform__field { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: #666; }
.ak-authform__field input { height: 44px; border: 1px solid #ddd; border-radius: 8px; padding: 0 12px; font-size: 15px; color: #1f1f1f; }
.ak-authform__field input:focus { outline: none; border-color: #1f1f1f; }
.ak-authform__remember { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #555; cursor: pointer; }
.ak-authform__remember input { width: 16px; height: 16px; }
.ak-authform__submit { height: 46px; background: #1f1f1f; color: #fff; border: 0; border-radius: 8px; font-size: 15px; font-weight: 600; cursor: pointer; transition: background .15s; }
.ak-authform__submit:hover { background: #000; }
.ak-authform__submit:disabled { opacity: .6; cursor: default; }
.ak-authform__link { text-align: center; color: #888; font-size: 13px; text-decoration: none; margin-top: 2px; }
.ak-authform__link:hover { color: #1f1f1f; text-decoration: underline; }
.ak-authform__error { background: #fdecea; color: #b3261e; border-radius: 8px; padding: 10px 12px; font-size: 14px; }
.ak-authform__loading { text-align: center; color: #999; padding: 24px 0; }
/* injected Sylius forms (registration, password reset): match the login form look */
.ak-authmodal .ak-authform--register form,
.ak-authmodal .ak-authform--reset form { display: block; }
.ak-authmodal .ak-authform--register .row,
.ak-authmodal .ak-authform--register .col,
.ak-authmodal .ak-authform--reset .row,
.ak-authmodal .ak-authform--reset .col { margin: 0 !important; padding: 0 !important; width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
.ak-authmodal .ak-authform--register .mb-5,
.ak-authmodal .ak-authform--reset .mb-5 { margin-bottom: 0 !important; }
.ak-authmodal .field, .ak-authmodal .mb-3 { margin-bottom: 14px !important; }
.ak-authmodal .form-label { display: block; font-size: 13px; color: #666; margin-bottom: 6px; font-weight: 400; }
.ak-authmodal .form-label.required:after { content: ' *'; color: #b3261e; }
.ak-authmodal .form-control {
    height: 44px; border: 1px solid #ddd; border-radius: 8px; padding: 0 12px;
    font-size: 15px; color: #1f1f1f; background: #fff; box-shadow: none; width: 100%;
}
.ak-authmodal textarea.form-control { height: auto; padding: 10px 12px; }
.ak-authmodal .form-control:focus { border-color: #1f1f1f; box-shadow: none; outline: none; }
.ak-authmodal .form-check { display: flex; align-items: center; gap: 8px; margin: 4px 0 14px; }
.ak-authmodal .form-check-input { width: 16px; height: 16px; margin: 0; }
.ak-authmodal .form-check-label { font-size: 14px; color: #555; margin: 0; }
.ak-authmodal .invalid-feedback, .ak-authmodal .d-block.invalid-feedback { display: block; color: #b3261e; font-size: 13px; margin-top: 5px; }
.ak-authmodal .form-control.is-invalid { border-color: #e0563d; }
.ak-authmodal .btn { width: 100%; height: 46px; border-radius: 8px; font-size: 15px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; }
.ak-authmodal .btn-primary { background: #1f1f1f; border-color: #1f1f1f; }
.ak-authmodal .btn-primary:hover { background: #000; border-color: #000; }

/* qty input: keep the typed number visible */
.ak-qty input { width: 48px; min-width: 48px; color: #1f1f1f; opacity: 1; }

/* ===== city selector (header) ===== */
.ak-city { position: relative; align-items: center; }
.ak-city__btn { display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; color: #fff; cursor: pointer; font-size: 14px; white-space: nowrap; }
.ak-city__btn:hover { color: #d2a637; }
.ak-city__btn svg, .ak-city__btn .icon { width: 18px; height: 18px; }

/* ===== city picker popup ===== */
.ak-citymodal { position: fixed; inset: 0; z-index: 1100; display: flex; align-items: flex-start; justify-content: center; }
.ak-citymodal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.ak-citymodal__panel {
    position: relative; z-index: 1; margin-top: 12vh; width: 480px; max-width: calc(100vw - 32px);
    background: #fff; border-radius: 4px; box-shadow: 0 24px 60px rgba(0,0,0,.32); padding: 24px;
}
.ak-citymodal__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.ak-citymodal__title { font-size: 20px; margin: 0; color: #1f1f1f; }
.ak-citymodal__close { background: none; border: 0; font-size: 28px; line-height: 1; color: #888; cursor: pointer; padding: 0 4px; }
.ak-citymodal__close:hover { color: #1f1f1f; }
.ak-citymodal__field { position: relative; display: flex; align-items: center; }
.ak-citymodal__input { width: 100%; height: 46px; padding: 0 14px; border: 1px solid #ddd; border-radius: 4px; font-size: 15px; color: #1f1f1f; }
.ak-citymodal__input:focus { outline: none; border-color: #d2a637; }
.ak-citymodal__suggest { list-style: none; margin: 8px 0 0; padding: 0; max-height: 280px; overflow-y: auto; border: 1px solid #eee; border-radius: 4px; }
.ak-citymodal__suggest li + li { border-top: 1px solid #f1f1f1; }
.ak-citymodal__suggest button { display: block; width: 100%; text-align: left; background: none; border: 0; padding: 10px 14px; font-size: 15px; color: #333; cursor: pointer; }
.ak-citymodal__suggest button:hover { background: #faf6ec; color: #1f1f1f; }
.ak-citymodal__popular { margin-top: 18px; }
.ak-citymodal__popular-title { font-size: 13px; text-transform: uppercase; letter-spacing: .5px; color: #999; margin-bottom: 10px; }
.ak-citymodal__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ak-citymodal__chip { background: #f3f3f3; border: 1px solid transparent; border-radius: 20px; padding: 6px 14px; font-size: 14px; color: #333; cursor: pointer; }
.ak-citymodal__chip:hover { background: #faf6ec; }
.ak-citymodal__chip.is-active { background: #fff; border-color: #d2a637; color: #1f1f1f; font-weight: 600; }

/* product page spacing + bigger related title */
.ak-related__title { font-size: 2rem; }
.ak-related { padding-bottom: 20px; }
@media (min-width: 992px) { .ak-product__main { padding-top: 40px; } }
@media (max-width: 991.98px) { .ak-product__main { padding-top: 20px; } }

/* ===== header meta: smaller menu + uniform icons (city back in the main row) ===== */
/* smaller menu type so more items fit before the overflow-hider kicks in */
.noo-main-menu .navbar-nav > li > a { font-size: 14px; letter-spacing: .6px; }
@media (max-width: 1700px) {
    header .noo-main-menu .navbar-nav > li > a { font-size: 14px; letter-spacing: .6px; }
}
.noo-main-menu .navbar-nav > li { margin: 0 10px; }
/* items that overflow are hidden by JS (display:none) — no overflow clip here so dropdowns stay visible */

/* uniform icon row: same box + size for search (svg), account/fav (fa) and cart */
.navbar-meta { gap: 18px; }
.ak-city { margin-right: 4px; }
.ak-meta-icon, .ak-meta-cart {
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 19px; line-height: 1;
}
.ak-meta-icon svg, .ak-meta-icon .icon,
.ak-meta-cart svg, .ak-meta-cart .icon { display: block; width: 20px; height: 20px; }

/* ===== cart page: Ozon-style item cards + sticky checkout summary ===== */
.ak-cart-page h1 { font-weight: 800; }
.ak-cartlist { display: flex; flex-direction: column; gap: 12px; }
.ak-cartcard { display: flex; gap: 16px; align-items: flex-start; background: #fff; border: 1px solid #ececec; border-radius: 12px; padding: 16px; }
.ak-cartcard__thumb { flex: 0 0 92px; width: 92px; height: 92px; border-radius: 8px; overflow: hidden; background: #f5f5f5; display: block; }
.ak-cartcard__thumb img { width: 100%; height: 100%; object-fit: cover; }
.ak-cartcard__main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 12px; align-self: stretch; }
.ak-cartcard__name { color: #1f1f1f; font-size: 15px; font-weight: 600; line-height: 1.3; text-decoration: none; }
.ak-cartcard__name:hover { color: #d2a637; }
.ak-cartcard__opts { color: #999; font-size: 13px; display: flex; gap: 10px; flex-wrap: wrap; }
.ak-cartcard__actions { display: flex; align-items: center; gap: 12px; margin-top: auto; }
/* qty stepper (Ozon pill) */
.ak-qtybox { display: inline-flex; align-items: center; background: #f4f4f5; border-radius: 10px; padding: 2px; }
.ak-qtybox__btn { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 0; background: transparent; border-radius: 8px; font-size: 20px; line-height: 1; color: #1f1f1f; cursor: pointer; }
.ak-qtybox__btn:hover { background: #e7e7e9; }
/* double class beats Bootstrap's .form-control (padding + line-height:1.5 push the digit up) */
.ak-qtybox__input.ak-qtybox__input {
    width: 42px; height: 34px; min-height: 0; padding: 0; margin: 0;
    border: 0; background: transparent; box-shadow: none;
    text-align: center; font-size: 15px; font-weight: 600; line-height: 34px; color: #1f1f1f;
    -moz-appearance: textfield; appearance: textfield;
}
.ak-qtybox__input::-webkit-outer-spin-button, .ak-qtybox__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ak-cartcard__remove { background: none; border: 0; color: #b4b4b4; cursor: pointer; padding: 6px; display: inline-flex; }
.ak-cartcard__remove:hover { color: #d9534f; }
.ak-cartcard__remove svg, .ak-cartcard__remove .icon { width: 20px; height: 20px; }
/* price column */
.ak-cartcard__price { flex: 0 0 auto; text-align: right; min-width: 96px; }
.ak-cartcard__total { font-size: 18px; font-weight: 800; color: #1f1f1f; white-space: nowrap; }
.ak-cartcard__unit { font-size: 12px; color: #999; margin-top: 3px; white-space: nowrap; }
/* checkout summary (right column) — column is sticky so summary + coupon + checkout stay in view */
.ak-cart-page .row > [class*="col-xl-4"] { position: sticky; top: 90px; align-self: flex-start; }
.ak-cart-page .bg-light { background: #fff !important; border: 1px solid #ececec; }
.ak-cart-page .bg-light h3 { font-size: 20px; font-weight: 800; }
.ak-cart-page .hstack .h5 { font-family: 'Arial', sans-serif; font-weight: 800; font-size: 20px; }
.ak-cart-page .col-xl-4 .d-grid { margin-bottom: 16px; }   /* gap between the checkout button and the summary below */
.ak-cart-page .btn-primary { background: #1f1f1f; border-color: #1f1f1f; padding: 12px; font-weight: 700; font-size: 16px; border-radius: 10px; }
.ak-cart-page .btn-primary:hover { background: #000; border-color: #000; }
.ak-cart-page .btn-outline-gray { border-radius: 10px; }
.ak-cart-page .btn-transparent, .ak-cart-page .btn-light { color: #999; }
.ak-cart-page .btn-transparent:hover, .ak-cart-page .btn-light:hover { color: #d9534f; }

/* tighten the oversized Bootstrap spacing in the summary + coupon boxes */
.ak-cart-page .p-4 { padding: 18px !important; }
.ak-cart-page .bg-light h3 { margin-bottom: 14px !important; }
.ak-cart-page .hstack.border-top { padding-top: 14px !important; margin-top: 14px !important; }
.ak-cart-page .mb-5 { margin-bottom: 20px !important; }

/* motivating message under the cart title */
.ak-cart-head h1 { margin-bottom: 8px; }
.ak-cart-motivate { color: #555; font-size: 15px; line-height: 1.5; max-width: 640px; }
.ak-cart-motivate b { color: #1f1f1f; }

/* coupon — clean, matches the (square) cart style */
.ak-coupon { margin-bottom: 16px; }
.ak-coupon__row { display: flex; gap: 8px; }
.ak-coupon__input.ak-coupon__input {
    flex: 1 1 auto; height: 46px; border: 1px solid #ddd; padding: 0 14px;
    font-size: 15px; box-shadow: none; background: #fff; color: #1f1f1f;
}
.ak-coupon__input.ak-coupon__input:focus { border-color: #1f1f1f; outline: none; }
.ak-coupon__apply {
    flex: 0 0 auto; height: 46px; padding: 0 20px; border: 0;
    background: #1f1f1f; color: #fff; font-weight: 600; font-size: 15px; cursor: pointer;
}
.ak-coupon__apply:hover { background: #000; }
.ak-coupon__applied {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    border: 1px solid #e6e6e6; padding: 12px 14px; background: #fafafa;
}
.ak-coupon__label { color: #777; font-size: 14px; }
.ak-coupon__code { font-weight: 700; color: #1f1f1f; margin-left: 6px; }
.ak-coupon__remove { display: inline-flex; align-items: center; gap: 4px; background: none; border: 0; color: #b4b4b4; font-size: 14px; cursor: pointer; white-space: nowrap; }
.ak-coupon__remove:hover { color: #d9534f; }
.ak-coupon__remove svg, .ak-coupon__remove .icon { width: 16px; height: 16px; }

@media (max-width: 1199.98px) { .ak-cart-page .row > [class*="col-xl-4"] { position: static; } }
/* no rounded corners anywhere on the cart page */
.ak-cart-page, .ak-cart-page *, .ak-cart-page .bg-light { border-radius: 0 !important; }

/* ===================== accented card CTAs (add-to-cart + favorite) ===================== */
/* Add-to-cart: solid dark pill instead of a bare icon — reads clearly as the primary action. */
.ak-price-row .ak-add-to-cart {
    background: #1f1f1f !important; color: #fff !important; border: 0 !important;
    border-radius: 0; height: 40px; min-width: 44px; padding: 0 12px; gap: 4px;
    box-shadow: 0 3px 10px rgba(0,0,0,.18);
    transition: transform .12s ease, box-shadow .15s ease, background .15s ease;
}
.ak-price-row .ak-add-to-cart svg, .ak-price-row .ak-add-to-cart .icon { width: 20px; height: 20px; color: #fff !important; fill: #fff !important; }
.ak-price-row .ak-add-to-cart:hover { background: #000 !important; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(0,0,0,.26); }
.ak-price-row .ak-add-to-cart:active { transform: scale(.94); }
.ak-price-row .ak-add-to-cart.is-added { background: #d2a637 !important; }
.ak-price-row .ak-add-to-cart .ak-cart-qty { position: static; top: auto; left: auto; right: auto; color: #fff !important; font-size: 13px; font-weight: 700; }

/* Favorite: no chip — faded heart by default, solid filled when in favorites. */
.noo-product-inner .ak-fav {
    width: 34px; height: 34px; border-radius: 0;
    background: transparent; box-shadow: none;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 20px; filter: drop-shadow(0 1px 2px rgba(0,0,0,.3));
    transition: transform .12s ease, color .15s ease;
}
.noo-product-inner .ak-fav .fa, .noo-product-inner .ak-fav i { -webkit-text-stroke: 0; color: rgba(255,255,255,.55); }
.noo-product-inner .ak-fav:hover { transform: scale(1.12); }
.noo-product-inner .ak-fav:hover .fa, .noo-product-inner .ak-fav:hover i { color: #fff; }
.noo-product-inner .ak-fav.is-active { background: transparent; }
.noo-product-inner .ak-fav.is-active .fa, .noo-product-inner .ak-fav.is-active i { color: #d2a637; -webkit-text-stroke: 0; }

@media (max-width: 600px) {
    .ak-price-row .ak-add-to-cart { height: 34px; min-width: 38px; padding: 0 9px; border-radius: 0; }
    .ak-price-row .ak-add-to-cart svg, .ak-price-row .ak-add-to-cart .icon { width: 18px; height: 18px; }
    .noo-product-inner .ak-fav { width: 32px; height: 32px; font-size: 15px; }
}

/* ===================== redesigned footer (dark bookend) ===================== */
.ak-footer.wrap-footer { background: #1a1a1a; color: #b9b6b0; padding: 64px 0 24px; font-size: 14px; line-height: 1.7; }
.ak-footer a { color: #cfccc6; text-decoration: none; transition: color .15s; }
.ak-footer a:hover { color: #fff; }
.ak-footer__top {
    display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px;
    padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.1);
}
.ak-footer__logo { display: inline-block; }
.ak-footer__logo img { height: 42px; width: auto; }
.ak-footer__tagline { margin: 16px 0 20px; color: #8f8c86; max-width: 240px; }
.ak-footer__social { display: flex; gap: 12px; }
.ak-footer__social a {
    display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px;
    border-radius: 50%; background: rgba(255,255,255,.08); transition: background .15s, transform .15s;
}
.ak-footer__social a:hover { background: #d2a637; transform: translateY(-2px); }
.ak-footer__social svg { width: 19px; height: 19px; }
.ak-footer__social svg path { fill: #fff; }
.ak-footer__title { color: #fff; font-family: 'Dosis', sans-serif; font-size: 15px; font-weight: 600; text-transform: uppercase; letter-spacing: .6px; margin: 4px 0 16px; padding: 0; }
.ak-footer__title:before { display: none !important; }
.ak-footer__links { list-style: none; margin: 0; padding: 0; }
.ak-footer__links li { margin-bottom: 10px; }
.ak-footer__links li a { display: inline-block; }
.ak-footer__links li a:before { content: none !important; }
.ak-footer__bottom {
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px;
    padding-top: 22px; color: #7c7972; font-size: 13px;
}
@media (max-width: 991.98px) {
    .ak-footer.wrap-footer { padding-top: 44px; }
    .ak-footer__top { grid-template-columns: 1fr 1fr; gap: 28px 24px; }
    .ak-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 575.98px) {
    .ak-footer__top { grid-template-columns: 1fr; gap: 26px; }
    .ak-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* qty input on the product page: drop the legacy input[type=text] margin-bottom */
.ak-qty input { margin: 0 !important; }
/* delivery note city as a link to the city popup */
.ak-delivery__city { color: #1f1f1f; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.ak-delivery__city:hover { color: #d2a637; }

/* ===================== cookie notice ===================== */
.ak-cookie {
    position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1200;
    max-width: 720px; margin: 0 auto; display: flex; align-items: center; gap: 16px;
    background: #1a1a1a; color: #e8e6e2; padding: 14px 18px; border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,.28); font-size: 13px; line-height: 1.5;
}
.ak-cookie__text { flex: 1 1 auto; }
.ak-cookie__text a { color: #d2a637; text-decoration: underline; }
.ak-cookie__btn {
    flex: 0 0 auto; border: 0; background: #fff; color: #1a1a1a; font-weight: 600;
    padding: 10px 20px; border-radius: 8px; cursor: pointer; font-size: 14px; transition: background .15s;
}
.ak-cookie__btn:hover { background: #d2a637; color: #fff; }
@media (max-width: 991.98px) {
    .ak-cookie { flex-direction: column; align-items: stretch; text-align: center; bottom: 86px; gap: 10px; }
    .ak-cookie__btn { width: 100%; }
}

/* ===================== account: top tabs (was a left sidebar) ===================== */
.ak-account-tabs { display: flex; flex-wrap: wrap; gap: 2px; border-bottom: 1px solid #eee; }
.ak-account-tab {
    display: inline-flex; align-items: center; gap: 7px; padding: 11px 16px;
    color: #808080; text-decoration: none; font-weight: 600; font-size: 15px;
    border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color .15s;
}
.ak-account-tab:hover { color: #1f1f1f; }
.ak-account-tab.is-active { color: #1f1f1f; border-bottom-color: #1f1f1f; }
.ak-account-tab .icon, .ak-account-tab svg { width: 18px; height: 18px; }
.ak-account-main { padding-top: 8px; }
@media (max-width: 767.98px) {
    .ak-account-tabs { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
    .ak-account-tabs::-webkit-scrollbar { display: none; }
    .ak-account-tab { white-space: nowrap; padding: 10px 12px; font-size: 14px; }
}

/* ===================== account content: match the site style ===================== */
.ak-account-main .card { background: #fff; border: 1px solid #ececec !important; border-radius: 0 !important; box-shadow: 0 1px 4px rgba(0,0,0,.03); }
.ak-account-main .card-body { padding: 22px 24px; }
.ak-account-main .bg-body-tertiary, .ak-account-main .bg-light { background: #fff !important; }
.ak-account-main h1, .ak-account-main h2, .ak-account-main h3, .ak-account-main .h1, .ak-account-main .h2, .ak-account-main .h3 { font-weight: 800; color: #1f1f1f; }
/* buttons */
.ak-account-main .btn { border-radius: 0; font-weight: 600; }
.ak-account-main .btn-primary { background: #1f1f1f; border-color: #1f1f1f; padding: 11px 22px; }
.ak-account-main .btn-primary:hover { background: #000; border-color: #000; }
.ak-account-main .btn-outline-gray, .ak-account-main .btn-outline-secondary { border-color: #ddd; color: #555; background: #fff; }
.ak-account-main .btn-outline-gray:hover, .ak-account-main .btn-outline-secondary:hover { border-color: #1f1f1f; color: #1f1f1f; background: #fff; }
.ak-account-main .btn-danger, .ak-account-main .btn-outline-danger { border-radius: 0; }
/* forms */
.ak-account-main .form-control, .ak-account-main .form-select {
    min-height: 44px; border: 1px solid #ddd; border-radius: 0; box-shadow: none; font-size: 15px; color: #1f1f1f;
}
.ak-account-main textarea.form-control { min-height: 90px; }
.ak-account-main .form-control:focus, .ak-account-main .form-select:focus { border-color: #1f1f1f; box-shadow: none; outline: none; }
.ak-account-main .form-label { font-size: 13px; color: #666; font-weight: 400; margin-bottom: 6px; }
.ak-account-main .invalid-feedback { color: #b3261e; font-size: 13px; }
.ak-account-main .form-control.is-invalid { border-color: #e0563d; }
/* alerts / info */
.ak-account-main .alert { border-radius: 0; border: 1px solid #ececec; background: #fafafa; color: #555; }
.ak-account-main .alert-info { background: #f6f7f9; border-color: #e6e9ee; }
/* tables (orders list) */
.ak-account-main table { border-color: #ececec; }
.ak-account-main .table > :not(caption) > * > * { padding: 12px 14px; }
.ak-account-main .table thead th { color: #888; font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: .3px; border-bottom: 1px solid #ececec; }
.ak-account-main .badge { border-radius: 0; font-weight: 600; }
/* address book cards */
.ak-account-main .list-group-item { border-color: #ececec; border-radius: 0 !important; }

/* ===================== account dashboard ===================== */
.ak-dash { max-width: 720px; }
.ak-dash__head { margin-bottom: 22px; }
.ak-dash__hello { font-weight: 800; font-size: 26px; color: #1f1f1f; margin: 0 0 6px; }
.ak-dash__stat { color: #777; font-size: 15px; margin: 0; }
.ak-dash__stat b { color: #1f1f1f; }
/* email-not-verified nudge */
.ak-dash__verify {
    display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
    background: #fdf6e6; border: 1px solid #f0e2bd; padding: 14px 16px; margin-bottom: 22px;
}
.ak-dash__verify-text { display: flex; align-items: center; gap: 10px; color: #7a6320; font-size: 14px; }
.ak-dash__verify-text .icon, .ak-dash__verify-text svg { width: 22px; height: 22px; flex: 0 0 auto; }
.ak-dash__verify-btn { border: 0; background: #1f1f1f; color: #fff; font-weight: 600; font-size: 14px; padding: 9px 16px; cursor: pointer; white-space: nowrap; }
.ak-dash__verify-btn:hover { background: #000; }
/* action cards */
.ak-dash__cards { display: flex; flex-direction: column; gap: 10px; }
.ak-dash__card {
    display: flex; align-items: center; gap: 14px; padding: 16px 18px;
    background: #fff; border: 1px solid #ececec; text-decoration: none; transition: border-color .15s, box-shadow .15s, transform .05s;
}
.ak-dash__card:hover { border-color: #d7d7d7; box-shadow: 0 4px 14px rgba(0,0,0,.06); }
.ak-dash__card-ic { flex: 0 0 auto; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; background: #f4f4f5; color: #1f1f1f; }
.ak-dash__card-ic .icon, .ak-dash__card-ic svg { width: 22px; height: 22px; }
.ak-dash__card-body { flex: 1 1 auto; display: flex; flex-direction: column; gap: 2px; }
.ak-dash__card-title { color: #1f1f1f; font-weight: 700; font-size: 16px; }
.ak-dash__card-sub { color: #999; font-size: 13px; }
.ak-dash__card-arrow { color: #c4c4c4; width: 20px; height: 20px; flex: 0 0 auto; }
.ak-dash__card:hover .ak-dash__card-arrow { color: #1f1f1f; }
@media (max-width: 575.98px) {
    .ak-dash__hello { font-size: 22px; }
    .ak-dash__verify { flex-direction: column; align-items: stretch; }
    .ak-dash__verify-btn { width: 100%; }
}
/* account page title (non-dashboard) — Ozon/WB-ish typography */
.ak-account-header h1, .ak-account-header .h3, .ak-account-header h3 { font-weight: 800; font-size: 24px; color: #1f1f1f; margin: 0 0 4px; }
.ak-account-header { margin-bottom: 20px !important; }

/* ===================== account order history (Ozon-style cards) ===================== */
.ak-orders { display: flex; flex-direction: column; gap: 12px; }
.ak-order { display: block; background: #fff; border: 1px solid #ececec; padding: 16px 18px; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.ak-order:hover { border-color: #d7d7d7; box-shadow: 0 4px 14px rgba(0,0,0,.06); }
.ak-order__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.ak-order__meta { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.ak-order__num { font-weight: 700; color: #1f1f1f; font-size: 15px; }
.ak-order__date { color: #999; font-size: 13px; }
.ak-order__status { font-size: 12px; font-weight: 700; padding: 4px 10px; background: #f1f1f2; color: #555; white-space: nowrap; }
.ak-order__status--paid, .ak-order__status--authorized { background: #e7f6ee; color: #1f8a4c; }
.ak-order__status--awaiting_payment { background: #fdf3e3; color: #b5811f; }
.ak-order__status--cancelled, .ak-order__status--refunded { background: #fdeceb; color: #c0392b; }
.ak-order__thumbs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.ak-order__thumb { width: 56px; height: 56px; flex: 0 0 auto; background: #f5f5f3; overflow: hidden; border: 1px solid #f0eeea; }
.ak-order__thumb img { width: 100%; height: 100%; object-fit: cover; }
.ak-order__thumb--more { display: inline-flex; align-items: center; justify-content: center; color: #888; font-weight: 700; font-size: 14px; background: #f1f1f2; }
.ak-order__foot { display: flex; align-items: center; gap: 14px; }
.ak-order__count { color: #888; font-size: 14px; }
.ak-order__total { font-weight: 800; color: #1f1f1f; font-size: 17px; }
.ak-order__link { margin-left: auto; display: inline-flex; align-items: center; gap: 2px; color: #1f1f1f; font-weight: 600; font-size: 14px; }
.ak-order__link .icon, .ak-order__link svg { width: 16px; height: 16px; }
/* empty state */
.ak-orders-empty { text-align: center; padding: 50px 20px; color: #999; }
.ak-orders-empty .icon, .ak-orders-empty svg { width: 48px; height: 48px; color: #ccc; margin-bottom: 12px; }
.ak-orders-empty p { font-size: 16px; margin-bottom: 18px; }
.ak-orders-empty__btn { display: inline-block; background: #1f1f1f; color: #fff; padding: 12px 26px; text-decoration: none; font-weight: 600; }
.ak-orders-empty__btn:hover { background: #000; color: #fff; }

/* ===================== checkout (one-step, site style) ===================== */
.ak-checkout__title { font-weight: 800; font-size: 28px; margin-bottom: 20px; color: #1f1f1f; }
.ak-checkout__login { display: flex; align-items: center; gap: 10px; background: #f6f7f9; border: 1px solid #e6e9ee; padding: 12px 16px; margin-bottom: 20px; color: #555; }
.ak-checkout__login .icon, .ak-checkout__login svg { width: 22px; height: 22px; color: #1f1f1f; }
.ak-checkout__login a { color: #1f1f1f; font-weight: 700; text-decoration: underline; }
.ak-checkout__block { background: #fff; border: 1px solid #ececec; padding: 20px 22px; margin-bottom: 14px; }
.ak-checkout__block-head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.ak-checkout__step { flex: 0 0 auto; width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; background: #1f1f1f; color: #fff; font-size: 14px; font-weight: 700; }
.ak-checkout__block-head h3 { margin: 0; font-size: 18px; font-weight: 700; color: #1f1f1f; }
.ak-checkout__hint { color: #999; font-size: 13px; margin: 10px 0 0; }
/* city */
.ak-checkout__city { display: flex; align-items: baseline; gap: 12px; }
.ak-checkout__city-name { font-size: 18px; font-weight: 700; color: #1f1f1f; }
.ak-checkout__city a { color: #1f1f1f; text-decoration: underline; font-size: 14px; }
/* inputs */
.ak-inp { width: 100%; height: 46px; border: 1px solid #ddd; padding: 0 14px; font-size: 15px; color: #1f1f1f; background: #fff; }
.ak-inp:focus { outline: none; border-color: #1f1f1f; }
.ak-checkout__grid3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
.ak-checkout__grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ak-checkout .mb-2 { margin-bottom: 10px; }
/* radio options */
.ak-checkout__options { display: flex; flex-direction: column; gap: 8px; }
.ak-opt { display: flex; align-items: center; gap: 10px; border: 1px solid #ddd; padding: 13px 15px; cursor: pointer; transition: border-color .15s, background .15s; }
.ak-opt:hover { border-color: #bdbdbd; }
.ak-opt.is-active { border-color: #1f1f1f; background: #fafafa; }
.ak-opt input { width: 18px; height: 18px; accent-color: #1f1f1f; }
.ak-opt__title { font-size: 15px; color: #1f1f1f; }
/* terms */
.ak-checkout__terms { display: flex; align-items: flex-start; gap: 10px; margin-top: 6px; font-size: 14px; color: #555; }
.ak-checkout__terms input { width: 18px; height: 18px; margin-top: 1px; accent-color: #1f1f1f; }
.ak-checkout__terms a { color: #1f1f1f; text-decoration: underline; }
/* summary */
.ak-checkout__summary { background: #fff; border: 1px solid #ececec; padding: 22px; position: sticky; top: 90px; }
.ak-checkout__summary h3 { font-size: 18px; font-weight: 800; margin-bottom: 16px; }
.ak-checkout__line { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.ak-checkout__line-name { color: #555; font-size: 14px; }
.ak-checkout__line-name small { display: block; color: #aaa; }
.ak-checkout__line-total { white-space: nowrap; font-weight: 600; color: #1f1f1f; }
.ak-checkout__total { display: flex; justify-content: space-between; border-top: 1px solid #eee; padding-top: 14px; margin-top: 6px; font-weight: 800; font-size: 20px; color: #1f1f1f; }
.ak-checkout__note { color: #999; font-size: 13px; margin: 12px 0 16px; }
.ak-checkout__submit { width: 100%; height: 52px; background: #1f1f1f; color: #fff; border: 0; font-weight: 700; font-size: 16px; cursor: pointer; transition: background .15s; }
.ak-checkout__submit:hover { background: #000; }
.ak-checkout__submit:disabled { opacity: .6; cursor: default; }
@media (max-width: 575.98px) {
    .ak-checkout__grid3 { grid-template-columns: 1fr; }
    .ak-checkout__grid2 { grid-template-columns: 1fr; }
}

/* ===================== standalone auth pages (login / register / forgot) ===================== */
.ak-auth-page { display: flex; justify-content: center; padding: 48px 16px 64px; }
.ak-auth-card { width: 420px; max-width: 100%; background: #fff; border: 1px solid #ececec; padding: 34px 30px 28px; }
.ak-auth-card--wide { width: 560px; }
.ak-auth-card__title { font-weight: 800; font-size: 24px; margin: 0 0 22px; color: #1f1f1f; }
.ak-auth-card h1, .ak-auth-card .h1, .ak-auth-card h2 { font-weight: 800; font-size: 24px; color: #1f1f1f; margin-bottom: 8px; }
.ak-auth-card__alt { margin-top: 22px; padding-top: 18px; border-top: 1px solid #eee; text-align: center; color: #888; font-size: 14px; }
.ak-auth-card__alt a { color: #1f1f1f; font-weight: 700; text-decoration: underline; }
/* style the default Sylius forms rendered inside the card (register / forgot) */
.ak-auth-card .form-label { display: block; font-size: 13px; color: #666; margin-bottom: 6px; font-weight: 400; }
.ak-auth-card .form-control { height: 44px; border: 1px solid #ddd; border-radius: 0; padding: 0 12px; font-size: 15px; color: #1f1f1f; box-shadow: none; width: 100%; }
.ak-auth-card .form-control:focus { border-color: #1f1f1f; box-shadow: none; outline: none; }
.ak-auth-card .field, .ak-auth-card .mb-3 { margin-bottom: 14px !important; }
.ak-auth-card .mb-5 { margin-bottom: 10px !important; }
.ak-auth-card .form-check { display: flex; align-items: center; gap: 8px; margin: 4px 0 14px; }
.ak-auth-card .form-check-input { width: 16px; height: 16px; margin: 0; }
.ak-auth-card .form-check-label { font-size: 14px; color: #555; }
.ak-auth-card .invalid-feedback { display: block; color: #b3261e; font-size: 13px; margin-top: 5px; }
.ak-auth-card .btn { width: 100%; height: 46px; border-radius: 0; font-weight: 700; font-size: 15px; }
.ak-auth-card .btn-primary { background: #1f1f1f; border-color: #1f1f1f; }
.ak-auth-card .btn-primary:hover { background: #000; border-color: #000; }
.ak-auth-card .alert { border-radius: 0; font-size: 14px; }

/* ===================== order item row (order page, shared component) ===================== */
.ak-cartrow { display: flex; align-items: center; gap: 14px; }
.ak-cartrow__thumb { flex: 0 0 64px; width: 64px; height: 64px; overflow: hidden; background: #f5f5f3; border: 1px solid #f0eeea; display: block; }
.ak-cartrow__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ak-cartrow__name { color: #1f1f1f; font-weight: 600; font-size: 14px; line-height: 1.35; text-decoration: none; }
.ak-cartrow__name:hover { color: #d2a637; }
.ak-cartrow__opts { color: #999; font-size: 12px; display: flex; gap: 8px; flex-wrap: wrap; margin-top: 3px; }

/* ===================== order show page ===================== */
.ak-ordershow__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.ak-ordershow__title { font-weight: 800; font-size: 24px; color: #1f1f1f; margin: 0; }
.ak-ordershow__date { color: #999; font-size: 14px; margin-top: 3px; }
/* payments / shipments / addresses cards: flatten the dashed default look */
.ak-account-main .card { margin-bottom: 14px; }
.ak-account-main .card .card-header { background: none; border-bottom: 1px solid #f0f0f0; font-weight: 700; color: #1f1f1f; padding: 14px 18px; }
.ak-account-main .card .card-body { padding: 16px 18px; }
/* neutralize loud bootstrap badges on the order page */
.ak-account-main .badge { border-radius: 0; font-weight: 700; font-size: 12px; padding: 4px 10px; }
.ak-account-main .badge.text-bg-success, .ak-account-main .badge.bg-success { background: #e7f6ee !important; color: #1f8a4c !important; }
.ak-account-main .badge.text-bg-primary, .ak-account-main .badge.bg-primary { background: #eef1f6 !important; color: #33507a !important; }
.ak-account-main .badge.text-bg-secondary, .ak-account-main .badge.bg-secondary { background: #f1f1f2 !important; color: #555 !important; }
.ak-account-main .badge.text-bg-danger, .ak-account-main .badge.bg-danger { background: #fdeceb !important; color: #c0392b !important; }
.ak-account-main .badge.text-bg-warning, .ak-account-main .badge.bg-warning { background: #fdf3e3 !important; color: #b5811f !important; }
/* items table: keep media compact, right-align numbers, strike old price */
.ak-account-main table img { max-width: 64px; max-height: 64px; object-fit: cover; }
.ak-account-main td span[data-old-price], .ak-account-main td .old-price { text-decoration: line-through; color: #b4b4b4; }
.ak-account-main td.text-end span:first-child:not(:only-child) { text-decoration: line-through; color: #b4b4b4; font-size: 13px; margin-right: 6px; }

/* ===================== order history cards v2 ===================== */
.ak-order__titles { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ak-order__title { font-weight: 800; font-size: 17px; color: #1f1f1f; }
.ak-order__sub { color: #999; font-size: 13px; }
.ak-order__right { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex: 0 0 auto; }
.ak-order__head { margin-bottom: 12px; align-items: flex-start; }
.ak-order__thumbs { margin-bottom: 0; }
.ak-order__thumb { width: 64px; height: 64px; position: relative; }
.ak-order__thumb b { position: absolute; right: 2px; bottom: 2px; background: rgba(31,31,31,.85); color: #fff; font-size: 10px; font-weight: 700; padding: 1px 5px; }
@media (max-width: 575.98px) {
    .ak-order__head { flex-direction: column; gap: 8px; }
    .ak-order__right { flex-direction: row; align-items: center; gap: 10px; }
}
/* status chips (order page, shared macro) */
.ak-state { display: inline-block; font-size: 12px; font-weight: 700; padding: 4px 10px; white-space: nowrap; }
.ak-state--ok { background: #e7f6ee; color: #1f8a4c; }
.ak-state--info { background: #eef1f6; color: #33507a; }
.ak-state--wait { background: #fdf3e3; color: #b5811f; }
.ak-state--bad { background: #fdeceb; color: #c0392b; }
.ak-state--muted { background: #f1f1f2; color: #555; }

/* ============================================================
   ACCOUNT BEAUTY PASS — brand language: Dosis caps, gold accent
   ============================================================ */
/* tabs: uppercase Dosis, gold active underline, logout pinned right */
.ak-account-tabs { gap: 26px; border-bottom: 1px solid #e8e6e2; align-items: center; }
.ak-account-tab {
    font-family: 'Dosis', sans-serif; text-transform: uppercase; letter-spacing: .9px;
    font-size: 14px; font-weight: 600; color: #8f8c86; padding: 15px 2px 13px;
    border-bottom: 2px solid transparent; gap: 8px;
}
.ak-account-tab .icon, .ak-account-tab svg { width: 17px; height: 17px; opacity: .75; }
.ak-account-tab:hover { color: #1f1f1f; }
.ak-account-tab.is-active { color: #1f1f1f; border-bottom-color: #d2a637; }
.ak-account-tab--logout { margin-left: auto; color: #b0ada7; }
.ak-account-tab--logout:hover { color: #c0392b; }
@media (max-width: 767.98px) { .ak-account-tab--logout { margin-left: 0; } }

/* section headers: bold title + short gold bar */
.ak-account-header h1, .ak-account-header .h3, .ak-account-header h3 { font-size: 26px; letter-spacing: -.3px; }
.ak-account-header h1:after, .ak-account-header .h3:after {
    content: ''; display: block; width: 38px; height: 3px; background: #d2a637; margin-top: 12px;
}
.ak-account-header > div > div:not(:first-child), .ak-account-header .text-muted { color: #979289; }

/* dashboard hero */
.ak-dash { max-width: none; }
.ak-dash__head { margin-bottom: 26px; }
.ak-dash__hello { font-size: 30px; letter-spacing: -.4px; margin-bottom: 14px; }
.ak-dash__hello:after { content: ''; display: block; width: 38px; height: 3px; background: #d2a637; margin-top: 14px; }
.ak-dash__chips { display: flex; gap: 10px; flex-wrap: wrap; }
.ak-dash__chip {
    display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px;
    background: #fff; border: 1px solid #e8e6e2; color: #555; font-size: 13px; font-weight: 600; text-decoration: none;
    transition: border-color .15s, color .15s;
}
.ak-dash__chip .icon, .ak-dash__chip svg { width: 16px; height: 16px; color: #d2a637; }
a.ak-dash__chip:hover { border-color: #d2a637; color: #1f1f1f; }
.ak-dash__chip--ok { color: #1f8a4c; }
.ak-dash__chip--ok .icon, .ak-dash__chip--ok svg { color: #1f8a4c; }

/* dashboard tiles: 3-col grid, icon tile with warm gold wash */
.ak-dash__tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ak-tile {
    display: flex; flex-direction: column; gap: 3px; padding: 22px;
    background: #fff; border: 1px solid #ececea; text-decoration: none;
    transition: border-color .18s, box-shadow .18s, transform .18s;
}
.ak-tile:hover { border-color: #d2a637; box-shadow: 0 10px 28px rgba(0,0,0,.08); transform: translateY(-2px); }
.ak-tile__ic {
    width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center;
    background: #f8f3e7; color: #b0861f; margin-bottom: 14px;
}
.ak-tile__ic .icon, .ak-tile__ic svg { width: 22px; height: 22px; }
.ak-tile__title { font-family: 'Dosis', sans-serif; text-transform: uppercase; letter-spacing: .7px; font-weight: 700; font-size: 15px; color: #1f1f1f; }
.ak-tile__sub { color: #9b968d; font-size: 13px; }
@media (max-width: 991.98px) { .ak-dash__tiles { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575.98px) { .ak-dash__tiles { grid-template-columns: 1fr; } .ak-dash__hello { font-size: 24px; } }

/* verify nudge: warmer, brandier */
.ak-dash__verify { border: 0; border-left: 3px solid #d2a637; background: #faf6ec; padding: 16px 18px; margin-bottom: 26px; }
.ak-dash__verify-text { color: #6d5a1e; }
.ak-dash__verify-text .icon, .ak-dash__verify-text svg { color: #b0861f; }
.ak-dash__verify-btn:hover { background: #d2a637; }

/* order history cards: more air, gold hover */
.ak-orders { gap: 14px; }
.ak-order { padding: 20px 22px; }
.ak-order:hover { border-color: #d2a637; box-shadow: 0 10px 28px rgba(0,0,0,.08); }
.ak-order__title { font-size: 18px; }
.ak-order__sub { font-size: 13px; color: #9b968d; margin-top: 2px; }
.ak-order__total { font-size: 19px; letter-spacing: -.2px; }
.ak-order__thumb { width: 72px; height: 72px; }

/* order page: info grid (recipient / address / payment / shipping) */
.ak-orderinfo { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin-bottom: 14px; }
.ak-orderinfo__col { background: #fff; border: 1px solid #ececea; padding: 18px 20px; font-size: 14px; color: #555; line-height: 1.55; }
.ak-orderinfo__label {
    font-family: 'Dosis', sans-serif; text-transform: uppercase; letter-spacing: .8px;
    font-size: 12px; font-weight: 700; color: #b0ada7; margin-bottom: 9px;
}
.ak-orderinfo__name { font-weight: 700; color: #1f1f1f; }
.ak-orderinfo__row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 2px; }
/* order items list */
.ak-orderitems { background: #fff; border: 1px solid #ececea; padding: 18px 20px; margin-bottom: 14px; }
.ak-orderitems > .ak-orderinfo__label { margin-bottom: 4px; }
.ak-orderitems__row { display: flex; align-items: center; gap: 14px; padding: 13px 0; border-bottom: 1px solid #f3f2ef; }
.ak-orderitems__row:last-child { border-bottom: 0; padding-bottom: 4px; }
.ak-orderitems__thumb { flex: 0 0 60px; width: 60px; height: 60px; overflow: hidden; background: #f5f5f3; border: 1px solid #f0eeea; }
.ak-orderitems__info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ak-orderitems__name { color: #1f1f1f; font-weight: 600; font-size: 14px; line-height: 1.35; text-decoration: none; }
.ak-orderitems__name:hover { color: #d2a637; }
.ak-orderitems__meta { color: #9b968d; font-size: 13px; }
.ak-orderitems__meta s { color: #c4c0b8; margin-right: 2px; }
.ak-orderitems__total { font-weight: 800; color: #1f1f1f; white-space: nowrap; font-size: 15px; }
/* order totals */
.ak-ordertotals { background: #fff; border: 1px solid #ececea; padding: 18px 20px; max-width: 380px; margin-left: auto; }
.ak-ordertotals__row { display: flex; justify-content: space-between; gap: 14px; padding: 5px 0; font-size: 14px; color: #555; }
.ak-ordertotals__row--discount span:last-child { color: #1f8a4c; }
.ak-ordertotals__row--grand { border-top: 1px solid #eee; margin-top: 8px; padding-top: 13px; font-weight: 800; font-size: 19px; color: #1f1f1f; }
/* order page head: pay button beside title */
.ak-ordershow__head { margin-bottom: 14px; }
.ak-ordershow__title { font-size: 26px; }
.ak-account-main form[action*='pay'] .btn, .ak-account-main .btn-icon { border-radius: 0; }

/* account buttons: gold hover (brand) */
.ak-account-main .btn-primary:hover { background: #d2a637; border-color: #d2a637; }
.ak-dash__verify-btn, .ak-orders-empty__btn { transition: background .15s; }
.ak-orders-empty__btn:hover { background: #d2a637; }

/* alerts: warm neutral with gold edge */
.ak-account-main .alert, .ak-account-main .alert-info {
    border: 0; border-left: 3px solid #d2a637; background: #faf9f6; color: #6b675f; border-radius: 0;
}
.ak-account-main .alert .fw-bold { color: #1f1f1f; }

/* auth pages: flatten vendor grid columns inside the card + centered brand title */
.ak-auth-card .row { margin: 0 !important; }
.ak-auth-card .row > [class*='col'] { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; padding: 0 !important; margin: 0 !important; }
.ak-auth-card h1, .ak-auth-card .h1, .ak-auth-card h2, .ak-auth-card__title { font-size: 24px; }
.ak-auth-card h1:after, .ak-auth-card__title:after, .ak-auth-card h2:after { content: ''; display: block; width: 38px; height: 3px; background: #d2a637; margin-top: 12px; }
.ak-auth-card .btn-primary:hover { background: #d2a637; border-color: #d2a637; }
.ak-authform__submit:hover { background: #d2a637; }
/* forgot-password: vendor col-* wrappers are not inside a .row — flatten any col inside the auth card */
.ak-auth-card [class*='col-'] { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
.ak-auth-card .btn { margin-top: 4px; }
/* dashboard logout tile: quieter than action tiles, red on hover */
.ak-tile--logout .ak-tile__ic { background: #f4f4f3; color: #9b968d; }
.ak-tile--logout .ak-tile__title { color: #8f8c86; }
.ak-tile--logout:hover { border-color: #dd6a5f; box-shadow: 0 10px 28px rgba(192,57,43,.10); }
.ak-tile--logout:hover .ak-tile__ic { background: #fdeceb; color: #c0392b; }
.ak-tile--logout:hover .ak-tile__title { color: #c0392b; }

/* ===================== checkout v2: delivery cards, PVZ map/list, suggest ===================== */
.ak-checkout__calc { margin-left: auto; color: #b0861f; font-size: 13px; }
.ak-opt--delivery { align-items: center; }
.ak-opt__body { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; min-width: 0; }
.ak-opt__sub { color: #9b968d; font-size: 13px; }
.ak-opt__price { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; flex: 0 0 auto; }
.ak-opt__price b { font-size: 15px; color: #1f1f1f; white-space: nowrap; }
.ak-opt__price small { color: #9b968d; font-size: 12px; white-space: nowrap; }
.ak-opt.is-disabled { opacity: .45; cursor: default; }
.ak-opt.is-disabled:hover { border-color: #ddd; }
/* picked PVZ */
.ak-checkout__picked { background: #faf6ec; border-left: 3px solid #d2a637; padding: 12px 14px; font-size: 14px; color: #555; }
.ak-checkout__picked a { margin-left: 8px; color: #1f1f1f; text-decoration: underline; }
/* map + points list */
.ak-map { width: 100%; height: 300px; background: #f4f4f3; margin-bottom: 12px; }
.ak-points { max-height: 260px; overflow-y: auto; border: 1px solid #eee; }
.ak-points__item { display: block; width: 100%; text-align: left; background: #fff; border: 0; border-bottom: 1px solid #f3f2ef; padding: 10px 14px; cursor: pointer; }
.ak-points__item:hover { background: #faf6ec; }
.ak-points__addr { display: block; font-size: 14px; color: #1f1f1f; font-weight: 600; }
.ak-points__desc { display: block; font-size: 12px; color: #9b968d; margin-top: 2px; }
/* street suggest dropdown */
.ak-suggest { position: relative; }
.ak-suggest__list { position: absolute; top: 100%; left: 0; right: 0; z-index: 30; margin: -8px 0 0; padding: 0; list-style: none; background: #fff; border: 1px solid #ddd; box-shadow: 0 10px 30px rgba(0,0,0,.12); max-height: 240px; overflow-y: auto; }
.ak-suggest__list button { display: block; width: 100%; text-align: left; background: none; border: 0; padding: 10px 14px; font-size: 14px; color: #333; cursor: pointer; }
.ak-suggest__list button:hover { background: #faf6ec; }
/* saved addresses */
.ak-checkout__saved { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
/* summary delivery line + error */
.ak-checkout__line--delivery .ak-checkout__line-name { color: #1f1f1f; }
.ak-checkout__error { background: #fdeceb; color: #b3261e; padding: 10px 12px; font-size: 14px; margin-bottom: 12px; }
.ak-checkout .mt-2 { margin-top: 10px; }

/* ===================== checkout v3: tabs, logos, later, validation, mapsearch ===================== */
/* courier / pickup tabs */
.ak-checkout__tabs { display: flex; gap: 2px; border-bottom: 1px solid #eee; margin-bottom: 14px; }
.ak-checkout__tabs button {
    background: none; border: 0; padding: 10px 16px 12px; font-size: 15px; font-weight: 700; color: #9b968d;
    cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color .15s;
}
.ak-checkout__tabs button:hover { color: #1f1f1f; }
.ak-checkout__tabs button.is-active { color: #1f1f1f; border-bottom-color: #d2a637; }
/* provider / payment logos */
.ak-opt__logo { flex: 0 0 auto; width: 52px; height: 26px; object-fit: contain; }
/* "решу потом" */
.ak-checkout__later { display: flex; align-items: center; gap: 9px; margin-top: 12px; font-size: 13px; color: #9b968d; cursor: pointer; }
.ak-checkout__later input { width: 16px; height: 16px; accent-color: #d2a637; }
/* validation states */
.ak-checkout__block.is-error { border-color: #dd6a5f; }
.ak-inp.is-invalid { border-color: #dd6a5f; background: #fef7f6; }
.ak-checkout__terms.is-error span { color: #b3261e; }
.ak-checkout__terms.is-error a { color: #b3261e; }
/* map search row */
.ak-mapsearch { display: flex; gap: 8px; margin-bottom: 10px; }
.ak-mapsearch__field { flex: 1 1 auto; }
.ak-mapsearch__field .ak-inp { margin-bottom: 0; }
.ak-mapsearch__geo {
    flex: 0 0 auto; width: 46px; height: 46px; border: 1px solid #ddd; background: #fff; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center; color: #1f1f1f; transition: border-color .15s, color .15s;
}
.ak-mapsearch__geo:hover { border-color: #d2a637; color: #b0861f; }
.ak-mapsearch__geo .icon, .ak-mapsearch__geo svg { width: 20px; height: 20px; }
/* summary: kill stray margins so it lines up with the left column */
.ak-checkout__summary { margin: 0; }
.ak-checkout__summary h3 { margin-top: 0; }
.ak-checkout__summary .ak-checkout__terms { margin: 0 0 14px; }
.ak-checkout .row.g-4 { --bs-gutter-y: 0; }

/* cart recommendations: contain the masonry, match product-page look */
.ak-cart-recommend { overflow-x: hidden; }
.ak-cart-recommend__title { font-weight: 800; font-size: 22px; margin-bottom: 18px; text-align: center; }

/* single-photo gallery: nothing to scroll — no fade, no hint */
.ak-gallery--single::after { display: none !important; }
.ak-gallery--single .ak-gallery__hint { display: none !important; }

/* ===================== mobile fixed order bar (checkout) ===================== */
.ak-mobilebar {
    position: fixed; left: 0; right: 0; bottom: calc(70px + env(safe-area-inset-bottom)); z-index: 1039;
    display: flex; align-items: center; gap: 14px;
    background: #fff; border-top: 1px solid #e8e6e2; padding: 10px 14px;
    box-shadow: 0 -6px 20px rgba(0,0,0,.08);
}
.ak-mobilebar__total { display: flex; flex-direction: column; line-height: 1.15; }
.ak-mobilebar__total span { font-size: 12px; color: #9b968d; }
.ak-mobilebar__total b { font-size: 18px; color: #1f1f1f; white-space: nowrap; }
.ak-mobilebar__btn {
    flex: 1 1 auto; height: 46px; background: #1f1f1f; color: #fff; border: 0;
    font-weight: 700; font-size: 15px; cursor: pointer;
}
.ak-mobilebar__btn:disabled { opacity: .6; }
.ak-checkout__terms--mobile { margin: 4px 0 12px; }
@media (max-width: 991.98px) {
    /* room for the fixed bar above the bottom nav (70px) */
    .ak-checkout { padding-bottom: 140px; }
}

/* ===================== cart: fixed checkout button on mobile ===================== */
@media (max-width: 991.98px) {
    .ak-cart-page .col-xl-4 .d-grid {
        position: fixed; left: 12px; right: 12px; z-index: 1039;
        bottom: calc(66px + env(safe-area-inset-bottom)); margin: 0 !important;
    }
    .ak-cart-page .col-xl-4 .d-grid .btn-primary { box-shadow: 0 6px 20px rgba(0,0,0,.25); }
    .ak-cart-page { padding-bottom: 70px; }
}

/* cart recommendations: the legacy grid ships -15px side margins — they push it
   past the container edge on mobile (the real "выходит за экран" bug) */
.ak-cart-recommend .noo-product-grid { margin-left: 0; margin-right: 0; margin-top: 0; }

/* ===================== HoReCa landing ===================== */
.ak-hrk { max-width: 1080px; margin: 0 auto; }
.ak-hrk__hero { display: flex; gap: 36px; align-items: center; padding: 10px 0 34px; }
.ak-hrk__hero-text { flex: 1 1 55%; }
.ak-hrk__hero-img { flex: 1 1 45%; }
.ak-hrk__hero-img img { width: 100%; display: block; }
.ak-hrk__badge { display: inline-block; font-family: 'Dosis', sans-serif; text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 700; color: #b0861f; background: #f8f3e7; padding: 6px 12px; margin-bottom: 14px; }
.ak-hrk__hero h1 { font-weight: 800; font-size: 34px; line-height: 1.15; margin: 0 0 14px; color: #1f1f1f; }
.ak-hrk__hero p { color: #555; font-size: 16px; line-height: 1.6; }
.ak-hrk__cta { display: inline-block; background: #1f1f1f; color: #fff !important; font-weight: 700; padding: 14px 30px; text-decoration: none !important; margin-top: 6px; transition: background .15s; }
.ak-hrk__cta:hover { background: #d2a637; }
.ak-hrk__stats { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 20px; }
.ak-hrk__stat { border: 1px solid #ececea; padding: 10px 16px; display: inline-flex; flex-direction: column; }
.ak-hrk__stat b { color: #1f1f1f; font-size: 16px; }
.ak-hrk__stat small { color: #9b968d; font-size: 12px; }
.ak-hrk__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; padding: 8px 0 34px; }
.ak-hrk__card { background: #fff; border: 1px solid #ececea; padding: 22px; }
.ak-hrk__card h3 { font-family: 'Dosis', sans-serif; text-transform: uppercase; letter-spacing: .6px; font-size: 16px; font-weight: 700; color: #1f1f1f; margin: 0 0 8px; }
.ak-hrk__card p { color: #555; font-size: 14px; line-height: 1.6; margin: 0; }
.ak-hrk__lead { background: #faf6ec; border-left: 3px solid #d2a637; padding: 30px 28px; margin-bottom: 30px; }
.ak-hrk__lead h2 { font-weight: 800; font-size: 24px; color: #1f1f1f; margin: 0 0 8px; }
.ak-hrk__lead > p { color: #6d5a1e; }
.ak-hrk__form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 14px; }
.ak-hrk__form input { height: 46px; border: 1px solid #ddd; padding: 0 14px; font-size: 15px; background: #fff; }
.ak-hrk__form input:focus { outline: none; border-color: #1f1f1f; }
.ak-hrk__form button { grid-column: 1 / -1; height: 48px; background: #1f1f1f; color: #fff; border: 0; font-weight: 700; font-size: 15px; cursor: pointer; transition: background .15s; }
.ak-hrk__form button:hover { background: #d2a637; }
.ak-hrk__err { color: #b3261e; margin-top: 10px; }
.ak-hrk__done { background: #e7f6ee; color: #1f8a4c; padding: 16px 18px; margin-top: 12px; }
.ak-hrk__note { color: #9b968d; font-size: 12px; margin-top: 12px; }
.ak-hrk__note a { color: #6d5a1e; }
@media (max-width: 767.98px) {
    .ak-hrk__hero { flex-direction: column-reverse; gap: 18px; }
    .ak-hrk__hero h1 { font-size: 26px; }
    .ak-hrk__grid { grid-template-columns: 1fr; }
    .ak-hrk__form { grid-template-columns: 1fr; }
}

/* category heading: parallax background (DB image with the legacy photo as default) */
.ak-parallax { background-size: cover; background-position: center; background-attachment: fixed; }
@media (max-width: 991.98px) { .ak-parallax { background-attachment: scroll; } } /* iOS не умеет fixed */

/* homepage taxon tiles: name over the photo, zoom on hover */
.ak-hometile { position: relative; display: block; overflow: hidden; }
.ak-hometile img { width: 100%; display: block; transition: transform .4s ease; }
.ak-hometile:hover img { transform: scale(1.05); }
.ak-hometile__name {
    position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 14px 12px;
    color: #fff; font-family: 'Dosis', sans-serif; font-weight: 700; font-size: 17px;
    text-transform: uppercase; letter-spacing: .6px; text-align: center;
    background: linear-gradient(to top, rgba(0,0,0,.55), transparent);
}

/* PVZ preview card: ознакомиться перед выбором */
.ak-pvz { background: #fff; border: 1px solid #d2a637; padding: 18px 20px; }
.ak-pvz__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.ak-pvz__head b { color: #1f1f1f; font-size: 15px; line-height: 1.4; }
.ak-pvz__back { flex: 0 0 auto; background: none; border: 0; color: #9b968d; font-size: 13px; cursor: pointer; white-space: nowrap; }
.ak-pvz__back:hover { color: #1f1f1f; }
.ak-pvz__row { display: flex; gap: 12px; padding: 6px 0; font-size: 14px; color: #555; border-top: 1px solid #f3f2ef; }
.ak-pvz__label { flex: 0 0 110px; color: #9b968d; font-size: 13px; }
.ak-pvz__row--desc span:last-child { line-height: 1.5; }
.ak-pvz__pick { width: 100%; height: 46px; margin-top: 14px; background: #1f1f1f; color: #fff; border: 0; font-weight: 700; font-size: 15px; cursor: pointer; transition: background .15s; }
.ak-pvz__pick:hover { background: #d2a637; }

/* ===================== thank-you page ===================== */
.ak-thanks { text-align: center; padding: 30px 16px 10px; }
.ak-thanks__icon .icon, .ak-thanks__icon svg { width: 64px; height: 64px; color: #1f8a4c; }
.ak-thanks__title { font-weight: 800; font-size: 30px; color: #1f1f1f; margin: 14px 0 8px; }
.ak-thanks__number { font-size: 17px; color: #555; }
.ak-thanks__number b { color: #1f1f1f; }
.ak-thanks__link a { color: #1f1f1f; text-decoration: underline; font-weight: 600; }
.ak-thanks__note { color: #9b968d; margin-top: 10px; }
.ak-thanks__pay {
    display: inline-flex; align-items: center; gap: 10px; margin-top: 18px;
    background: #faf6ec; border-left: 3px solid #d2a637; padding: 14px 18px; color: #6d5a1e;
}
.ak-thanks__pay a { color: #1f1f1f; font-weight: 700; text-decoration: underline; }
.ak-thanks__spinner {
    width: 18px; height: 18px; border: 2px solid #d2a637; border-top-color: transparent;
    border-radius: 50%; animation: akspin .8s linear infinite; flex: 0 0 auto;
}
@keyframes akspin { to { transform: rotate(360deg); } }
