/**
* Theme Name: Goldsmith Child
* Theme URI:  http://ninetheme.com/
* Description: This is a child theme of Goldsmith.
* Author: <a href="http://ninetheme.com/about">Ninetheme</a>
* Author URI: http://ninetheme.com/about
* Template: goldsmith
* Version: 1.4.0
* License: GNU General Public License version 3.0
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
* Tested up to: 6.5
* Requires PHP: 7.4
* Tags: custom-colors, custom-menu, editor-style, featured-images, post-formats, threaded-comments, translation-ready
* Copyright: ninetheme.com
*/
/* Hide Special Offers block */
.shop-after-content-template-wrapper {
    display: none !important;
}
.quantity.type-hidden {
    display: none !important;
}
.goldsmith-loop-product .goldsmith-product-labels {
    position: absolute;
    top: 15px;
    right: 15px;
    gap: 8px;
}
.goldsmith-label {
    color: var(--goldsmith-light);
    background-color: var(--goldsmith-dark);
    height: 29px;
    padding: 0px 10px;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.4;
    border-radius: 0;
    text-transform: none;
    letter-spacing: 1px;
    display: flex
;
    align-items: center;
    justify-content: center;
}
.goldsmith-loop-product .goldsmith-product-labels {
    position: absolute;
    top: 15px!important;
    right: 15px!important;
    left: auto!important;
    flex-direction: row!important;
}

@media (min-width: 992px) {
    .goldsmith-swiper-slider-wrapper {
        margin-left: auto;
        margin-right: auto;
    }

}

/* Limit product gallery max width to 580px */
.goldsmith-product-gallery,
.goldsmith-swiper-slider-wrapper {
    max-width: 580px;
}

.goldsmith-product-gallery-thumbs {
    margin-top: 15px;
}

.goldsmith-thumbs-items .swiper-slide {
    width: 100px; /* Ширина миниатюры */
    height: 100px; /* Высота миниатюры */
    margin-right: 10px;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.goldsmith-thumbs-items .swiper-slide:hover {
    border-color: #ccc;
}

.goldsmith-thumbs-items .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Чтобы картинка заполнила всю миниатюру */
}


/* --- Стили для миниатюры вьювера --- */
.viewer-thumbnail-wrapper {
    position: relative; /* Необходимо для позиционирования иконки */
}

/* Иконка "360" поверх миниатюры */
.viewer-thumbnail-wrapper::after {
    content: '360°';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    font-weight: bold;
    color: white;
    background: rgba(0, 0, 0, 0.6);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    pointer-events: none;
    transition: background 0.2s ease;
    border: 2px solid white;
    box-sizing: border-box;
}

.viewer-thumbnail-wrapper:hover::after {
    background: rgba(0, 0, 0, 0.8);
}

/* --- Стили для контейнера с вьювером --- */
.viewer-iframe-container {
    position: relative;
    padding-bottom: 100%; /* Соотношение сторон 1:1 */
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

.viewer-iframe-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/*
 * Стили для отображения цены Рапапорта и скидки
 * рядом с основной ценой товара.
 */

/* Главный блок цены в WooCommerce обычно имеет класс .price */
.woocommerce-variation-price .price, /* для вариативных товаров */
.summary .price:not(.rapaport-price-info .price) {
    margin-bottom: 5px !important; /* Добавим небольшой отступ снизу */
    font-size: 24px !important;
}

/* Наш контейнер для дополнительной информации */
.rapaport-price-info {
    margin-bottom: 15px; /* Отступ после блока с ценами */
    border-left: 2px solid #DAD4D0; /* Декоративная линия слева */
    padding-left: 10px;
}

/* Стиль для строки с ценой Рапапорта */
.rapaport-price-info .rap-price {
    font-size: 16px !important;
    color: #666;
    line-height: 1.5;
}

/* Стиль для строки со скидкой */
.rapaport-price-info .off-rap {
    font-size: 20px !important;
    color: #28a745;
    line-height: 1.5;
}

/* ================================
   DIAMOND FILTER INTERFACE STYLES
   (Extracted from products element.html)
   Scoped under .diamond-filter-interface to prevent WordPress conflicts
   ================================ */

.diamond-filter-interface {
    --bg: #FEF8F3;
    --panel: #F9EADF;
    --chip: #fff;
    --accent: #c3936f;
    --text: #000;
    --muted: #806c5f;
    --line: #F1DECF;
    --shadow: 0 1px 0 rgba(0, 0, 0, .04), 0 8px 30px rgba(0, 0, 0, .06);
    background: var(--bg);
    color: var(--text);
    font-family: "Marcellus", serif;
    font-weight: 400;
}

.diamond-filter-interface * {
    box-sizing: border-box
}

.diamond-filter-interface .wrap {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0px 10px 0px
}

/* Header */
.diamond-filter-interface .brand {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 8px
}

.diamond-filter-interface .sparkle {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    position: relative;
    display: inline-block
}

.diamond-filter-interface .sparkle::before,
.diamond-filter-interface .sparkle::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 2px solid var(--accent);
    transform: rotate(45deg);
    border-radius: 3px
}

.diamond-filter-interface .brand .title {
    font-family: "Marcellus", serif;
    font-weight: 400;
    font-size: 32px;
    line-height: 1.1;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 3px solid #c3936f;
    padding-bottom: 14px;
    margin: 14px 0 30px;
}

.diamond-filter-interface .underline {
    width: 160px;
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(90deg, var(--accent), #d7a985);
    margin: 14px 0 26px
}

/* Top buttons */
.diamond-filter-interface .top-actions {
    display: flex;
    gap: 14px;
    margin-bottom: 24px;
    flex-wrap: wrap
}

.diamond-filter-interface .custom-checkbox-container {
    display: flex;
    position: relative;
    padding-right: 30px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    align-items: center;
    gap: 8px;
}

/* Hide default checkbox */
.diamond-filter-interface .custom-checkbox-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Create custom checkbox */
.diamond-filter-interface .checkmark {
    position: absolute;
    top: 2px;
    right: 0;
    height: 20px;
    width: 20px;
    background-color: #fef8f3;
    border: 2px solid #0000005c;
    border-radius: 4px;
}

/* On hover over checkbox */
.diamond-filter-interface .custom-checkbox-container:hover input~.checkmark {
    background-color: #ccc;
}

/* Style changes when checkbox is selected */
.diamond-filter-interface .custom-checkbox-container input:checked~.checkmark {
    background-color: #C69774;
    border-color: #C69774;
}

/* Create checkmark */
.diamond-filter-interface .checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show checkmark when checkbox is selected */
.diamond-filter-interface .custom-checkbox-container input:checked~.checkmark:after {
    display: block;
}

/* Styles for the checkmark itself */
.diamond-filter-interface .custom-checkbox-container .checkmark:after {
    left: 5px;
    top: 0px;
    width: 7px;
    height: 12px;
    border: solid white;
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.diamond-filter-interface .btn {
    border: 0;
    cursor: pointer;
    background: var(--accent);
    color: #fff;
    padding: 4px 22px;
    font-weight: 400;
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 0;
}

.diamond-filter-interface .btn.secondary {
    background: var(--panel);
    color: var(--text);
    border: 1px solid var(--line)
}

.diamond-filter-interface .btn .carret {
    font-size: 18px;
    opacity: .8;
    display: flex;
    align-items: center;
}

.diamond-filter-interface .filter-section h3 {
    font-family: "Marcellus", serif;
    font-size: 24px;
    margin: 0 0 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 400;
}

/* Base hint icon styles */
.diamond-filter-interface .hint {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid var(--line);
    color: var(--muted);
    font-size: 14px;
    cursor: help;
}

/* Main filter sections - larger icons (25px) */
.diamond-filter-interface .slider-head .hint {
    width: 25px;
    height: 25px;
}

/* Advanced filter dropdowns - smaller icons (17px) */
.diamond-filter-interface .btn-dd .hint {
    width: 17px;
    height: 17px;
}

/* Ensure SVG inherits container size */
.diamond-filter-interface .hint svg {
    width: 100%;
    height: 100%;
}

/* Shape */
.diamond-filter-interface .shape-grid {
    display: grid;
    grid-template-columns: repeat(14, 1fr);
    gap: 6px;
    max-height: 85px;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.diamond-filter-interface .shape-grid.expanded {
    max-height: none;
}

.diamond-filter-interface .shape-grid-hidden {
    display: none;
    grid-template-columns: repeat(14, 1fr);
    gap: 6px;
    max-height: 85px;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.diamond-filter-interface .shape-grid-hidden.active {
    display: grid;
}

.diamond-filter-interface .shape-grid-hidden.expanded {
    max-height: none;
}

.diamond-filter-interface .shape-header-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 16px;
}

.diamond-filter-interface .shape-toggle-buttons {
    display: flex;
    gap: 10px;
}

.diamond-filter-interface .toggle-btn {
    padding: 6px 16px;
    border: 1px solid var(--line);
    background: var(--panel);
    cursor: pointer;
    font-family: "Marcellus", serif;
    font-size: 16px;
    border-radius: 8px;
    transition: .15s;
}

.diamond-filter-interface .toggle-btn.active {
    background: var(--accent);
    color: #fff;
    border-color: var(--accent);
}

.diamond-filter-interface .shape {
    background: #F9EADF;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 6px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    transition: .15s;
    min-width: 0;
    min-height: 85px;
}

.diamond-filter-interface .shape.active {
    background: #F5DECC;
    border-color: var(--accent);
    box-shadow: 0 0 0 2px rgba(195, 147, 111, .15) inset
}

.diamond-filter-interface .shape .label {
    font-size: 12px;
    font-weight: 400;
    color: #000;
    font-family: "Marcellus", serif;
    line-height: 1.2;
    margin-top: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: calc(1.2em * 2);
}

/* More button for shape grid */
.diamond-filter-interface .shape-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 4px 8px;
    margin-top: 8px;
    background: transparent;
    border: none;
    font-family: "Marcellus", serif;
    font-size: 14px;
    color: var(--text);
    cursor: pointer;
    transition: all 0.15s ease;
}

.diamond-filter-interface .shape-more-btn:hover {
    color: var(--accent);
}

.diamond-filter-interface .shape-more-btn .arrow {
    transition: transform 0.3s ease;
    font-size: 12px;
}

.diamond-filter-interface .shape-more-btn.expanded .arrow {
    transform: rotate(180deg);
}

/* Hide More buttons for inactive sections */
.diamond-filter-interface .shape-more-container {
    display: none;
}

.diamond-filter-interface .shape-grid:not(.shape-grid-hidden) + .shape-more-container,
.diamond-filter-interface .shape-grid-hidden.active + .shape-more-container {
    display: block;
}

/* Main sliders */
.diamond-filter-interface .row-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 36px;
    align-items: start
}

/* Новая структура с двумя рядами */
.diamond-filter-interface .filters-layout {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.diamond-filter-interface .row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: start
}

.diamond-filter-interface .bar-holder {
    padding: 12px 16px 9px 5px;
}

.diamond-filter-interface .inline-inputs {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    margin-top: 10px
}

.diamond-filter-interface .filter-section .input {
    flex: 1;
    background: #fff;
    border: 1px solid #AAAAAA !important;
    border-radius: 0px;
    padding: 6px 16px !important;
    font-weight: 500;
    max-width: 110px !important;
    text-align: center;
    min-height: 37px !important;
}

/* noUi slider styling */
.diamond-filter-interface .noUi-target {
    position: relative;
    border: none;
    background: #ead7c7;
    height: 8px;
    border-radius: 999px
}

.diamond-filter-interface .noUi-connect {
    background: var(--accent);
    border-radius: 999px
}

.diamond-filter-interface .noUi-horizontal .noUi-handle {
    width: 24px;
    height: 24px;
    right: -17px;
    top: -8px;
    border: 4px solid #FEF8F3;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .15);
    background: var(--accent);
    cursor: pointer;
    z-index: 2
}

.diamond-filter-interface .noUi-handle:before,
.diamond-filter-interface .noUi-handle:after {
    display: none
}

.diamond-filter-interface .grade-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 9px;
    margin-top: 8px;
    color: #6d5a4f;
    font-size: 11px;
    text-align: center
}

.diamond-filter-interface .stone-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0px;
    margin-top: 5px
}

.diamond-filter-interface .gem {
    display: flex;
    justify-content: center;
}

.diamond-filter-interface .stone-row .gem svg {
    width: 40px !important;
    height: 30px !important;
}

/* Advanced Filters - simple show/hide logic */
.diamond-filter-interface .adv {
    margin-top: 24px
}

.diamond-filter-interface .adv-toggle {
    background: #f9eadf;
    border: 1px solid #f9eadf;
    border-radius: 14px;
    padding: 10px 5px;
    font-weight: 400;
    display: flex;
    align-items: center;
    cursor: pointer;
    width: auto;
    height: 35px;
    white-space: nowrap;
    font-family: "Marcellus", serif;
    font-size: 18px;
    gap: 5px;
}

.diamond-filter-interface .adv-panel {
    background: var(--panel);
    border-radius: 0;
    padding: 12px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.diamond-filter-interface .adv-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

/* Dropdown tiles */
.diamond-filter-interface .dd {
    position: relative
}

.diamond-filter-interface .dd .btn-dd {
    width: 100%;
    border: 1px solid #C69774;
    border-radius: 0;
    padding: 9px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
    cursor: pointer;
    font-size: 14px;
    white-space: nowrap;
    height: 38px;
}

.diamond-filter-interface .dd .label {
    font-weight: 400;
    display: flex;
    align-items: center;
    gap: 5px;
}

.diamond-filter-interface .dd .label a {
    display: flex;
    align-items: center;
}

.diamond-filter-interface .dd .arr {
    opacity: .7;
    display: flex;
}

.diamond-filter-interface .menu {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 6px);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: var(--shadow);
    padding: 10px;
    display: none;
    z-index: 50;
    width: 220px;
}

.diamond-filter-interface .dd.open .menu {
    display: block
}

.diamond-filter-interface .menu .opt {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px;
    border-radius: 8px;
    cursor: pointer
}

.diamond-filter-interface .menu .opt:hover {
    background: #f8efe7
}

.diamond-filter-interface .menu .opt input {
    width: 16px;
    height: 16px
}

.diamond-filter-interface .menu .slider-row {
    padding: 12px 16px 9px 5px;
}

.diamond-filter-interface .menu .range-values {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #6d5a4f;
    margin-top: 8px
}

/* Chips */
.diamond-filter-interface .chips {
    display: none; /* Initially hidden, shown via JavaScript when filters are applied */
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 16px;
    width: 65%;
}

/* Chips toggle - transparent on desktop so #clearAll flows into the flex row */
.diamond-filter-interface .chips-toggle {
    display: contents;
}

/* Info and chevron only relevant on mobile */
.diamond-filter-interface .chips-toggle-info,
.diamond-filter-interface .chips-toggle-chevron {
    display: none;
}

/* Chips body - transparent wrapper on desktop */
.diamond-filter-interface .chips-body {
    display: contents;
}

.diamond-filter-interface .chip {
    padding: 0px 8px;
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    border: 1px solid #C69774;
    color: #000;
    font-size: 14px;
}

.diamond-filter-interface .chip_clear {
    padding: 4px 0px;
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.diamond-filter-interface .chip .x {
    cursor: pointer;
    color: #000000;
    font-size: 18px;
}

/* Footer */
.diamond-filter-interface .footer-row {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 20px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.diamond-filter-interface .toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #000000
}

.diamond-filter-interface .toggle label.opt {
    display: flex;
    gap: 9px;
    font-size: 16px;
    color: #000;
}

.diamond-filter-interface .footer_filter {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 14px;
}

.diamond-filter-interface .square {
    width: 18px;
    height: 18px;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: #fff
}

.diamond-filter-interface .search-box {
    position: relative;
    width: 280px;
    height: 38px;
    background: #fff;
    display: none;
}

.diamond-filter-interface .search-box input {
    width: 100%;
    padding: 10px 40px 10px 10px;
    border: 1px solid #929292;
    border-radius: 0;
    font-size: 13px;
    outline: none;
    height: 38px;
    min-height: 38px !important;
    font-family: "Marcellus", serif;
}

.diamond-filter-interface .filter_select__block {
    display: flex;
    gap: 5px;
}

.diamond-filter-interface .search-box button {
    position: absolute;
    right: 10px;
    top: 60%;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
}

.diamond-filter-interface .search-box button svg {
    width: 20px;
    height: 20px;
}

.diamond-filter-interface .color-toggle-buttons {
    display: flex;
    gap: 10px;
}

.diamond-filter-interface .slider-head {
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Responsive */
@media (max-width:1100px) {
    .diamond-filter-interface .shape-grid,
    .diamond-filter-interface .shape-grid-hidden,
    .diamond-filter-interface .shape-grid-hidden.active {
        grid-template-columns: repeat(10, 1fr);
        gap: 5px;
        max-height: 90px;
    }

    .diamond-filter-interface .row-3 {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .diamond-filter-interface .row-2 {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .diamond-filter-interface .adv-row {
        grid-template-columns: repeat(3, 1fr);
        display: grid;
    }
}

@media (max-width:860px) {
    .diamond-filter-interface #fancyColorFilters .adv-row {
        grid-template-columns: 1fr;
    }

    .diamond-filter-interface .footer_filter {
        flex-direction: column;
    }

    .diamond-filter-interface .filter_select__block {
        display: flex;
        gap: 5px;
        flex-direction: column;
    }

    .diamond-filter-interface .chips {
        width: 100%;
        flex-direction: column;
        gap: 0;
    }

    .diamond-filter-interface .chips-toggle {
        display: flex;
        align-items: center;
        gap: 8px;
        background: none;
        border: none;
        padding: 4px 0;
        font-family: "Marcellus", serif;
        font-size: 16px;
        cursor: pointer;
        width: 100%;
        text-align: left;
    }

    .diamond-filter-interface .chips-toggle-info {
        display: inline;
        font-size: inherit;
        color: #6d5a4f;
    }

    .diamond-filter-interface .chips-toggle-chevron {
        display: block;
        margin-left: auto;
        transition: transform 0.2s;
        flex-shrink: 0;
    }

    .diamond-filter-interface .chips.chips-expanded .chips-toggle-chevron {
        transform: rotate(180deg);
    }

    .diamond-filter-interface #clearAll {
        order: -1;
    }

    .diamond-filter-interface .chips-body {
        display: none;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 10px;
    }

    .diamond-filter-interface .chips.chips-expanded .chips-body {
        display: flex;
    }

    .diamond-filter-interface .footer-row {
        display: flex;
        align-items: center;
        gap: 30px;
        margin-top: 20px;
        flex-wrap: wrap;
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width:768px) {
    .diamond-filter-interface .shape-grid,
    .diamond-filter-interface .shape-grid-hidden,
    .diamond-filter-interface .shape-grid-hidden.active {
        grid-template-columns: repeat(7, 1fr);
        gap: 4px;
        max-height: 85px;
    }
}

@media (max-width:680px) {
    .diamond-filter-interface .adv-panel {
        flex-direction: column;
    }

    .diamond-filter-interface .search-box {
        position: relative;
        width: 100%;
        height: 38px;
    }

    .diamond-filter-interface .gem{
        width: 30px;
    }
}

@media (max-width:620px) {
    .diamond-filter-interface .shape-grid,
    .diamond-filter-interface .shape-grid-hidden,
    .diamond-filter-interface .shape-grid-hidden.active {
        grid-template-columns: repeat(7, 1fr);
        gap: 4px;
        max-height: 80px;
    }

    .diamond-filter-interface .shape {
        padding: 4px;
        min-height: 76px;
    }

    .diamond-filter-interface .shape .label {
        font-size: 10px;
    }

    .diamond-filter-interface .adv-row {
        grid-template-columns: 1fr
    }
}

.diamond-filter-interface .goldsmith-products-wrapper.loading-products .goldsmith-products {
    opacity: 0.5;
    transition: opacity 0.3s;
}

/* Generic dimming effect for product search - works without .diamond-filter-interface wrapper */
.goldsmith-products-wrapper.loading-products .goldsmith-products {
    opacity: 0.5;
    transition: opacity 0.3s;
}

.diamond-filter-interface #fancyColorFilters .adv-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
}

/* ================================
   DIAMOND DETAILS STYLES
   ================================ */

.diamond-attributes-section {
    margin: 15px 0;
    padding: 15px 0;
    border-bottom: 1px solid #C69774;
}

.diamond-details-header {
    display: flex;
    align-items: center;
    cursor: pointer;
    margin-bottom: 14px;
    gap: 10px;
}

.diamond-details-title {
    margin: 0 !important;
    font-family: "Marcellus", serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    color: #000 !important;
    line-height: 1.2 !important;
}

.diamond-details-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.diamond-details-arrow svg {
    transition: transform 0.3s ease;
}

.diamond-details-header.collapsed .diamond-details-arrow svg {
    transform: rotate(-90deg);
}

.diamond-details-content {
    max-height: 1000px;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
}

.diamond-details-content.collapsed {
    max-height: 0;
}

.diamond-attributes-table {
    width: 100%;
    border-collapse: collapse;
    font-family: "Marcellus", serif;
}

.diamond-attributes-table th {
    background: #F9EADF;
    padding: 12px 15px;
    text-align: left;
    font-weight: 400;
    color: #000;
    border: 1px solid #E8DDD6;
    width: 40%;
    vertical-align: middle;
    font-size: 16px;
    line-height: 1.2;
}

.diamond-attributes-table td {
    padding: 12px 15px;
    border: 1px solid #E8DDD6;
    color: #666;
    vertical-align: middle;
    font-size: 16px;
    line-height: 1.2;
}

.diamond-attributes-table td a {
    color: #c3936f;
    text-decoration: none;
}

.diamond-attributes-table td a:hover {
    text-decoration: underline;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .diamond-details-title {
        font-size: 18px;
    }

    .diamond-attributes-table th,
    .diamond-attributes-table td {
        padding: 10px 12px;
        font-size: 16px;
    }
}

/* ================================
   GOLDSMITH PRODUCT ELEMENTS FONT SIZES
   ================================ */

/* Product title in summary */
.goldsmith-summary-item .goldsmith-product-title,
.goldsmith-product-title {
    font-size: 40px !important;
}

/* Product price - все возможные селекторы, исключая rapaport */
.goldsmith-summary-item .goldsmith-price .price,
.goldsmith-price .price,
.woocommerce .price:not(.rapaport-price-info .price),
.woocommerce-Price-amount:not(.rapaport-price-info .woocommerce-Price-amount):not(.cart-total-price.subtotal .woocommerce-Price-amount):not(.cart-total-price.vat-row .woocommerce-Price-amount):not(.cart-item-actions .woocommerce-Price-amount),
.price .amount:not(.rapaport-price-info .amount):not(.cart-item-actions .amount),
.entry-summary .price:not(.rapaport-price-info .price),
.product-price .price:not(.cart-item-actions .price) {
    font-size: clamp(18px, 2vw, 24px) !important;
    align-items: flex-start !important;
}

/* Rapaport price должна оставаться 16px */
.rapaport-price-info .price,
.rapaport-price-info .woocommerce-Price-amount,
.rapaport-price-info .amount {
    font-size: 16px !important;
}

/* ================================
   DIAMOND SHORT DESCRIPTION STYLES
   ================================ */

.diamond-short-description {
    font-family: "Marcellus", serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    color: #585858;
    margin: 5px 0 5px 0;
    text-align: left;
    order: -1; /* Move before other elements in flex container */
}

/* Target Goldsmith theme specific containers */
.goldsmith-summary-item,
.goldsmith-summary,
.goldsmith-product-summary,
div.summary.entry-summary,
.entry-summary {
    display: flex !important;
    flex-direction: column !important;
}

/* Ensure title stays at top with higher specificity */
.goldsmith-summary-item .goldsmith-product-title,
.goldsmith-product-title,
.product_title.entry-title,
.entry-title h1 {
    order: -10 !important;
}

/* Move description right after title with higher specificity */
.goldsmith-summary-item .diamond-short-description,
.entry-summary .diamond-short-description,
.diamond-short-description {
    order: -9 !important;
    margin-top: 4px !important;
    margin-bottom: 5px !important;
}

/* Target all other elements specifically */
.goldsmith-summary-item > *:not(.goldsmith-product-title):not(.diamond-short-description),
.entry-summary > *:not(.goldsmith-product-title):not(.diamond-short-description):not(.entry-title) {
    order: 0 !important;
}

.goldsmith-product-name{
    line-height: 1.2 !important;
}

@media (max-width: 768px) {
    .diamond-short-description {
        font-size: 12px;
        margin: 8px 0 16px 0;
    }
}

/* ================================
   DIAMOND PARAMETERS IN CART
   ================================ */

/* Hide price display in cart when showing diamond parameters */
.woocommerce-cart .product-name .product-price.goldsmith-price {
    display: none !important;
}

/* ================================
   MINI-CART 3-COLUMN GRID LAYOUT
   ================================ */

/* Mini-cart item 3-column grid layout */
.woocommerce-mini-cart-item.goldsmith-cart-item {
    display: grid;
    grid-template-columns: 80px 1fr auto;
    gap: 16px;
    align-items: start;
}

/* Column 1: Image */
.woocommerce-mini-cart .cart-item-image {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
}

.woocommerce-mini-cart .cart-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

/* Column 2: Info (title + description) */
.woocommerce-mini-cart .cart-item-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0; /* Allow text truncation */
}

.woocommerce-mini-cart .cart-item-info .cart-item-title {
    margin: 0;
}

/* Column 3: Actions (delete + price) */
.woocommerce-mini-cart .cart-item-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    min-width: 80px;
}

.woocommerce-mini-cart .cart-item-actions .product-price {
    text-align: center;
    font-weight: 600;
}

.woocommerce-mini-cart .cart-item-actions .product-price .price,
.woocommerce-mini-cart .cart-item-actions .woocommerce-Price-amount {
    font-size: 16px !important;
}

/* Hide cart quantity (X 1) text */
.woocommerce-mini-cart .cart-quantity {
    display: none !important;
}

/* Responsive adjustments */
@media (max-width: 480px) {
    .woocommerce-mini-cart-item.goldsmith-cart-item {
        grid-template-columns: 60px 1fr auto;
        gap: 12px;
    }

    .woocommerce-mini-cart .cart-item-image {
        width: 60px;
        height: 60px;
    }
}

/* Style diamond parameters in cart */
.diamond-cart-params {
    font-family: "Marcellus", serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    color: #585858;
    margin: 0 0 0 0;
}

/* Prevent word breaks within each parameter */
.diamond-cart-params .param {
    white-space: nowrap;
}

/* Style separator */
.diamond-cart-params .separator {
    white-space: nowrap;
}

/* Responsive adjustments for mobile */
@media (max-width: 768px) {
    .diamond-cart-params {
        font-size: 14px;
        line-height: 1.3;
        margin: 6px 0 0 0;
    }
}

/* Limit product thumbnail width in cart */
.woocommerce-cart .product-thumbnail {
    max-width: 120px;
}

/* Hide product quantity on checkout page */
.woocommerce-checkout .product-quantity {
    display: none !important;
}

/* Wrapper for product name and diamond params on checkout */
.woocommerce-checkout .product-info-wrapper {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

/* Style diamond parameters on checkout page */
.woocommerce-checkout .diamond-cart-params {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
    font-size: 13px;
    color: #666666;
    margin: 4px 0 0 0;
    line-height: 1.4;
}

/* Style individual parameter spans */
.woocommerce-checkout .diamond-cart-params .param {
    display: inline-block;
}

/* Style separators between parameters */
.woocommerce-checkout .diamond-cart-params .separator {
    display: inline-block;
}

/* ================================
   HIDE STOCK STATUS AND ALIGN ADD-TO-CART
   ================================ */

/* Hide stock status label */
p.stock.goldsmith-stock-status {
    display: none !important;
}

.goldsmith-summary-item.goldsmith-product-info {
	margin-top: 0 !important;
	width: 50%;
}

.goldsmith-product-info-top {
    padding: 25px 0 !important;
}

/* ================================
   PRODUCT PAGE MAX WIDTH
   ================================ */

/* Limit product page content to 1200px and center it */
.single-product .product,
.single-product div.product {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

/* ================================
   HIDE MIDDLE LI ELEMENTS IN FILTER COLUMNS
   ================================ */

/* Hide all li elements in the filter columns block */
.goldsmith-filter-action.goldsmith-filter-columns.goldsmith-mini-icon li {
    display: none !important;
}

/* Show only first and last li elements */
.goldsmith-filter-action.goldsmith-filter-columns.goldsmith-mini-icon li:first-child,
.goldsmith-filter-action.goldsmith-filter-columns.goldsmith-mini-icon li:last-child {
    display: block !important;
}
/* ================================
   CART POPUP HEADER CUSTOMIZATION
   ================================ */

/* Hide cart icon button from cart popup header */
.panel-header-cart.panel-header-btn {
    display: none !important;
}

/* Style for "My basket" title in cart popup header */
.panel-header-title {
    font-family: "Marcellus", serif;
    font-size: 24px;
    font-weight: 400;
    color: #000;
    line-height: 1.2;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
}

/* Hide "Clear All" button from cart popup */
.goldsmith_clear_cart_button {
    display: none !important;
}

/* ================================
   ACCOUNT USER NAME DISPLAY STYLES
   ================================ */

/* Style for user's first name displayed next to account icon */
.account-user-name {
    display: inline-block;
    margin-left: 8px;
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    line-height: 1;
    vertical-align: middle;
    white-space: nowrap;
}

/* Ensure proper layout for account icon container */
.top-action-btn {
    display: flex;
    align-items: center;
}

/* Mobile responsive - keep showing name */
@media (max-width: 768px) {
    .account-user-name {
        margin-left: 6px;
    }
}

/* ================================
   MOBILE TABLE VIEW (≤992px)
   Move columns to second row
   ================================ */

@media (max-width: 992px) {
    /* Hide target column headers */
    .product-is-table-header .product-price-per-carat,
    .product-is-table-header .product-price,
    .product-is-table-header .product-certificate,
    .product-is-table-header .product-type,
    .product-is-table-header .product-add-to-cart {
        display: none;
    }

    /* Create second row for moved columns using flexbox order */
    .product-is-table-row:not(.product-is-table-header)::after {
        content: '';
        display: block;
        width: 100%;
        height: 0;
        order: 999;
        flex-basis: 100%;
    }

    /* Certificate in second row - positioned first (under Stone ID) */
    .product-is-table-row:not(.product-is-table-header) .product-certificate {
        order: 1000;
        flex: 0 1 auto;
        margin-top: 8px;
        font-size: 11px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 150px;
    }

    /* Type in second row */
    .product-is-table-row:not(.product-is-table-header) .product-type {
        order: 1001;
        flex: 0 0 auto;
        margin-top: 8px;
        margin-left: 8px;
        min-width: 30px;
        font-size: 12px;
    }

    /* Move Price € (with €/carat) to second row - positioned after Type */
    .product-is-table-row:not(.product-is-table-header) .product-price {
        order: 1002;
        flex: 0 0 auto;
        margin-left: auto;
        margin-top: 8px;
        display: flex;
        align-items: center;
        gap: 6px;
        font-size: 13px;
    }

    /* Show €/carat value before Price with unit */
    .product-is-table-row:not(.product-is-table-header) .product-price::before {
        font-size: 12px;
        font-weight: 400;
        color: #666;
    }

    /* Hide the actual price-per-carat cell */
    .product-is-table-row:not(.product-is-table-header) .product-price-per-carat {
        display: none;
    }

    /* Add to cart button in second row - positioned last */
    .product-is-table-row:not(.product-is-table-header) .product-add-to-cart {
        order: 1003;
        flex: 0 0 auto;
        margin-left: 8px;
        margin-top: 8px;
    }

    /* Ensure second row items are visible and aligned to the right */
    .product-is-table-row:not(.product-is-table-header) {
        align-items: flex-start;
    }
}

/* ========================================================================
   VAT AND CART POPUP STYLES
   ======================================================================== */

/* Cart popup footer area */
.header-cart-footer {
    margin-top: 25px;
}

.cart-bottom-btn {
    margin-top: 20px;
}

.header-cart-footer .cart-total-amount{
    font-size: 24px;
}

.cart-area .cart-total {
    margin-bottom: 0px !important;
}

.cart-area .cart-total-price {
    margin-top: -10px !important;
}

.cart-total-extended .cart-total-price {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    flex-direction: row !important;
    border: none !important;
    padding-top: 0;
    margin-top: 0;
}

/* VAT row */
.cart-total-price.vat-row {
    margin-top: 0;
    padding-top: 0;
    border: none;
}

/* VAT amount display */
.vat-amount {
    font-weight: normal;
}

/* Insured Delivery row */
.cart-total-price.insured-delivery-row {
    margin-top: 0;
    padding-top: 0;
    border: none;
}

/* Total row - bold styling */
.cart-total-price.total-row {
    margin-top: 0;
    padding-top: 0;
    border: none;
    font-weight: 600;
}

.cart-total-price.total-row .cart-total-price-left,
.cart-total-price.total-row .cart-total-price-right {
    font-weight: 600;
}

/* ========================================================================
   VAT Label Styling (Product Pages)
   ======================================================================== */

/**
 * Style for '(Inc. VAT)' label displayed next to product prices
 * Applies to all price displays: product pages, catalog, cart, checkout
 */
.inc-vat-label {
    font-size: 0.70em;
    font-weight: normal;
    color: #666;
    white-space: nowrap;
    text-transform: none;
}

/* Responsive adjustments for mobile */
@media (max-width: 768px) {
    .inc-vat-label {
        font-size: 0.6em;
    }
}

/* ================================
   SHIPPING BLOCK CUSTOMIZATION
   ================================ */

/* Hide shipping destination address on cart page */
.woocommerce-shipping-totals .woocommerce-shipping-destination {
    display: none !important;
}

/* Remove gray background from shipping block on both cart and checkout */
.goldsmith-checkout-footer-item.woocommerce-shipping-totals.shipping,
.goldsmith-cart-total.woocommerce-shipping-totals.shipping {
    background: transparent !important;
    padding: 0 !important;
    margin-top: 0 !important;
}

/* Make shipping block display as single row with flex layout */
.goldsmith-checkout-footer-item.woocommerce-shipping-totals.shipping {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    flex-direction: row !important;
}

/* Make VAT tax block display as single row with flex layout */
.goldsmith-tax-rate {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    flex-direction: row !important;
}

/* Shipping label (left side) */
.goldsmith-checkout-footer-item.shipping > div:first-child {
    font-weight: normal;
    flex: 0 0 auto;
    display: block;
}

/* Shipping value (right side) */
.goldsmith-checkout-footer-item.shipping > div:last-child {
    font-weight: normal;
    text-align: right;
    flex: 0 0 auto;
    display: flex !important;
    align-items: center;
    flex-direction: row !important;
}

/* Hide the ul list styling and show only label text */
.goldsmith-checkout-footer-item.shipping .woocommerce-shipping-methods {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    line-height: 1;
}

.goldsmith-checkout-footer-item.shipping .woocommerce-shipping-methods li {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    line-height: 1;
    margin-bottom: 0 !important;
}

/* Ensure label is inline */
.goldsmith-checkout-footer-item.shipping .woocommerce-shipping-methods label {
    margin: 0;
    padding: 0;
    line-height: inherit;
    display: inline;
}

.goldsmith-cart-totals .goldsmith-cart-totals-inner {
    text-transform:uppercase;
    color:var(--goldsmith-dark) !important;
}

/* Hide the input field */
.goldsmith-checkout-footer-item.shipping .woocommerce-shipping-methods input {
    display: none;
}

/* Cart page shipping block - same single row layout */
.goldsmith-cart-totals .woocommerce-shipping-totals.shipping {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    flex-direction: row !important;
}

.goldsmith-cart-totals .woocommerce-shipping-totals.shipping > div:first-child {
    font-weight: normal;
    flex: 0 0 auto;
    display: block;
}

.goldsmith-cart-totals .woocommerce-shipping-totals.shipping > div:last-child {
    font-weight: normal;
    text-align: right;
    flex: 0 0 auto;
    display: flex !important;
    align-items: center;
    flex-direction: row !important;
}

/* Cart page - hide ul list styling */
.goldsmith-cart-totals .shipping .woocommerce-shipping-methods {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    line-height: 1;
}

.goldsmith-cart-totals .shipping .woocommerce-shipping-methods li {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    line-height: 1;
}

/* Ensure label is centered on cart page too */
.goldsmith-cart-totals .shipping .woocommerce-shipping-methods label {
    margin: 0;
    padding: 0;
    line-height: inherit;
    display: inline;
}

.goldsmith-cart-totals .shipping .woocommerce-shipping-methods input {
    display: none;
}

/* ================================
   CHECKOUT INLINE VALIDATION STYLES
   ================================ */

/* Hide global error blocks on checkout page */
.woocommerce-checkout .goldsmith-before-checkout-form-warapper .woocommerce-NoticeGroup,
.woocommerce-checkout .goldsmith-before-checkout-form-warapper .woocommerce-error,
.woocommerce-checkout .woocommerce-NoticeGroup-checkout {
    display: none !important;
}

/* Hide WooCommerce's default inline error messages - we use custom ones */
.woocommerce-checkout .checkout-inline-error-message,
.woocommerce-checkout p[id$="_description"].checkout-inline-error-message {
    display: none !important;
}

/* Prevent scroll jumping on validation errors */
.woocommerce-checkout {
    scroll-behavior: auto !important;
}

html.woocommerce-checkout-scroll-disabled,
html.woocommerce-checkout-scroll-disabled body {
    scroll-behavior: auto !important;
}

/* Inline error message styling */
.inline-error-message {
    display: block;
    color: #ff0000;
    font-size: 12px;
    margin-top: 5px;
    line-height: 1.4;
    font-weight: 400;
}

/* Payment error specific styling */
.inline-error-message.payment-error {
    background: #ffefee;
    border: 1px solid #ff0000;
    border-left: 3px solid #ff0000;
    padding: 10px 15px;
    margin-bottom: 15px;
    font-size: 14px;
}

/* Invalid field styling - red border and pink background */
.woocommerce-checkout .woocommerce-invalid-required-field input:not(:focus),
.woocommerce-checkout .woocommerce-invalid-required-field select:not(:focus),
.woocommerce-checkout .woocommerce-invalid-required-field textarea:not(:focus),
.woocommerce-checkout .woocommerce-invalid input:not(:focus),
.woocommerce-checkout .woocommerce-invalid select:not(:focus),
.woocommerce-checkout .woocommerce-invalid textarea:not(:focus) {
    border-color: #ff0000 !important;
    background-color: #ffefee !important;
}

/* For select2 dropdowns */
.woocommerce-checkout .woocommerce-invalid-required-field .select2-container--default .select2-selection--single,
.woocommerce-checkout .woocommerce-invalid .select2-container--default .select2-selection--single {
    border-color: #ff0000 !important;
    background-color: #ffefee !important;
}

/* Remove error styling on focus */
.woocommerce-checkout .woocommerce-invalid-required-field input:focus,
.woocommerce-checkout .woocommerce-invalid-required-field select:focus,
.woocommerce-checkout .woocommerce-invalid-required-field textarea:focus,
.woocommerce-checkout .woocommerce-invalid input:focus,
.woocommerce-checkout .woocommerce-invalid select:focus,
.woocommerce-checkout .woocommerce-invalid textarea:focus {
    border-color: var(--goldsmith-gray) !important;
    background-color: #fff !important;
}

/* Asterisk for required fields - keep red color */
.woocommerce-checkout .form-row .required {
    color: #ff0000;
    text-decoration: none;
}

/* Ensure error message is visible below field */
.woocommerce-checkout .form-row {
    position: relative;
    margin-bottom: 25px;
}

/* Multi-step checkout compatibility */
.goldsmith-checkout-content-wrapper .woocommerce-invalid-required-field input:not(:focus),
.goldsmith-checkout-content-wrapper .woocommerce-invalid-required-field select:not(:focus),
.goldsmith-checkout-content-wrapper .woocommerce-invalid-required-field textarea:not(:focus) {
    border-color: #ff0000 !important;
    background: #ffefee !important;
}

.goldsmith-checkout-footer-item.order-total .goldsmith-checkout-footer-item-value{
    font-size: 24px !important;
}

/* ================================
   STICKY FOOTER LAYOUT
   Pin footer to bottom on all pages
   ================================ */

/* Make body a flex container with full viewport height */
html {
    height: 100%;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Make wrapper fill available space and be a flex container */
#wrapper.page-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Make main content area grow to push footer down */
.site-content {
    flex: 1 0 auto;
}

/* Footer stays at bottom naturally */
#nt-footer {
    flex-shrink: 0;
}

/* ================================
   Language Switcher in Header
   ================================ */

/* Language switcher button styling */
.top-action-btn.language-switcher-btn {
    display: inline-flex !important;
    align-items: center;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
}

/* Ensure language switcher content is visible */
.language-switcher-btn .trp-shortcode-switcher__wrapper {
    display: block !important;
    visibility: visible !important;
}

/* Ensure language switcher aligns with other header buttons */
.language-switcher-btn a,
.language-switcher-btn span {
    display: inline-flex;
    align-items: center;
    font-size: inherit;
    color: inherit;
    text-decoration: none;
}

/* Responsive spacing for mobile devices */
@media (max-width: 768px) {
    .top-action-btn.language-switcher-btn {
        margin-right: 0;
    }
}

/* ================================
   BUSINESS DETAILS (B2B) DOC UPLOAD
   ================================ */
.woocommerce-account.woocommerce-endpoint-business-details .b2b-doc-row {
    display: flex !important;
    align-items: center;
    gap: 12px;
}
.woocommerce-account.woocommerce-endpoint-business-details .b2b-doc-row > label:first-child {
    flex: 1 1 auto;
    min-width: 0;
}
.woocommerce-account.woocommerce-endpoint-business-details .b2b-doc-status {
    margin-left: auto;
}
.woocommerce-account.woocommerce-endpoint-business-details .b2b-doc-upload-btn {
    width: auto !important;
    flex: 0 0 auto;
    display: inline-flex !important;
    justify-content: center;
    float: none !important;
}

/* B2B pending/rejected notice on cart & checkout */
.azena-b2b-checkout-notice {
    background-color: #fce4e4 !important;
    border: 1px solid #d8000c !important;
    color: #d8000c !important;
    padding: 12px 16px !important;
    margin-bottom: 16px !important;
    list-style: none !important;
}
.azena-b2b-checkout-notice::before {
    display: none !important;
}
.azena-b2b-checkout-notice a {
    color: #d8000c !important;
    text-decoration: underline;
}

/* ================================
   NSL BUTTON GOOGLE STYLES
   ================================ */

.nsl-button.nsl-button-google .nsl-button-label-container b{
    color: var(--goldsmith-black);
}

/* Product page labels */
.azena-only-one-available {
    margin-bottom: 0;
    vertical-align: middle;
}
.azena-only-one-available svg,
.azena-30-day-returns svg {
    margin-top: -4px;
    margin-right: 10px;
    vertical-align: middle;
}

/* ── Cookie Banner ── */
#azena-cookie-banner {
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: 99998;
    background: #F9EADF;
    padding: 18px 24px;
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    font-size: 14px;
    line-height: 1.5;
    color: #060606;
    transform: translateY(100%);
    transition: transform 0.35s ease;
    box-shadow: 0 -2px 12px rgba(0,0,0,0.15);
}
#azena-cookie-banner.azena-cookie-banner--visible {
    display: flex;
    transform: translateY(0);
}
.azena-cookie-banner__text { flex: 1 1 280px; margin: 0; }
.azena-cookie-banner__text a { color: #c9a96e; text-decoration: underline; }
.azena-cookie-banner__actions { display: flex; gap: 10px; flex-wrap: wrap; flex-shrink: 0; align-items: center; }
.azena-cookie-banner__link {
    background: none; border: none; padding: 0;
    color: #7d7d7d; font-size: 12px; cursor: pointer;
    text-decoration: underline; text-underline-offset: 2px;
}
.azena-cookie-banner__link:hover { color: #060606; }

/* Cookie banner buttons — site style */
.azena-cookie__btn {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.3px;
    padding: 0 20px;
    min-height: 38px;
    border: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s;
    white-space: nowrap;
}
#azena-cookie-accept { background: #060606; color: #fff; }
#azena-cookie-accept:hover { opacity: 0.8; }
#azena-cookie-decline { background: transparent; color: #060606; border: 1px solid #060606; }
#azena-cookie-decline:hover { opacity: 0.7; }

/* ── Cookie Settings Modal ── */
#azena-cookie-modal {
    display: none;
    position: fixed; inset: 0;
    z-index: 100000;
    align-items: center; justify-content: center;
    opacity: 0; transition: opacity 0.3s ease;
}
#azena-cookie-modal.azena-cookie-modal--open { opacity: 1; }
#azena-cookie-modal-overlay {
    position: absolute; inset: 0;
    background: rgba(0,0,0,0.5);
}
.azena-cookie-modal__box {
    position: relative;
    background: rgba( 245, 231, 214, 1.00 );
    color: #000000;
    width: 100%; max-width: 500px;
    margin: 16px;
    padding: 18px;
    border-radius: 3px;
    box-shadow: -1px 0px 30px 0px rgba(2, 2, 2, 0.37);
    transform: translateY(12px);
    transition: transform 0.3s ease;
}
#azena-cookie-modal.azena-cookie-modal--open .azena-cookie-modal__box { transform: translateY(0); }
.azena-cookie-modal__close {
    position: absolute; top: -13px; right: -13px;
    height: 26px; width: 26px; padding: 0;
    background: rgba(0, 0, 0, 1.00); border: 2px solid #ffffff; border-radius: 26px;
    color: #ffffff; font-family: Arial; font-weight: 100; font-size: 24px; line-height: 24px;
    box-shadow: 0px 0px 15px 1px rgba(2, 2, 2, 0.75);
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    transition: opacity 0.2s;
}
.azena-cookie-modal__close:hover { opacity: 0.8; }
.azena-cookie-modal__title { font-size: 18px; font-weight: 100; margin: 0 0 8px; letter-spacing: 0.02em; }
.azena-cookie-modal__desc { font-size: 13px; color: #3a2010; margin: 0 0 24px; line-height: 1.6; }
.azena-cookie-modal__desc a { color: #3a2010; text-decoration: underline; }

/* Cookie rows */
.azena-cookie-row {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 16px; padding: 16px 0; border-top: 1px solid rgba(0,0,0,0.2);
}
.azena-cookie-row__info { flex: 1; }
.azena-cookie-row__label { font-size: 14px; font-weight: 600; display: block; margin-bottom: 4px; }
.azena-cookie-row__note { font-size: 12px; color: rgba(0,0,0,0.55); }

/* Toggle switch */
.azena-toggle { position: relative; display: inline-block; width: 44px; height: 24px; flex-shrink: 0; margin-top: 2px; }
.azena-toggle input { opacity: 0; width: 0; height: 0; }
.azena-toggle__slider {
    position: absolute; inset: 0;
    background: rgba(0,0,0,0.25); cursor: pointer;
    transition: background 0.25s;
    border-radius: 24px;
}
.azena-toggle__slider::before {
    content: ''; position: absolute;
    width: 18px; height: 18px; left: 3px; bottom: 3px;
    background: rgba(255,255,255,0.8); border-radius: 50%;
    transition: transform 0.25s, background 0.25s;
}
.azena-toggle input:checked + .azena-toggle__slider { background: rgba(0,0,0,0.5); }
.azena-toggle input:checked + .azena-toggle__slider::before { transform: translateX(20px); background: #ffffff; }
.azena-toggle input:disabled + .azena-toggle__slider { opacity: 0.5; cursor: not-allowed; }

/* Modal action buttons */
.azena-cookie-modal__actions {
    display: flex; gap: 10px; justify-content: flex-end;
    flex-wrap: wrap; margin-top: 24px; padding-top: 20px;
    border-top: 1px solid rgba(0,0,0,0.2);
}
#azena-cookie-modal-save {
    background: transparent; color: #3a2010;
    border: 1px solid rgba(0,0,0,0.4);
    padding: 0 20px; min-height: 38px;
    font-size: 14px; font-weight: 400; letter-spacing: 0.3px;
    cursor: pointer; display: inline-flex; align-items: center;
    transition: color 0.2s, border-color 0.2s;
}
#azena-cookie-modal-save:hover { color: #000; border-color: rgba(0,0,0,0.7); }
#azena-cookie-modal-accept-all {
    background: rgba(0,0,0,0.8); color: rgba(198, 151, 116, 1.00);
    border: none;
    padding: 0 20px; min-height: 38px;
    font-size: 14px; font-weight: 400; letter-spacing: 0.3px;
    cursor: pointer; display: inline-flex; align-items: center;
    transition: opacity 0.2s;
}

/* =============================================================
   Azena Design System — Shared design tokens
   Used by: B2B page, blog listing, single post
   ============================================================= */
:root {
    --bronze:  #C69774;
    --bronze2: #E3BC9F;
    --sand:    #F6E0CF;
    --cream:   #FEF8F3;
    --ink:     #000000;
    --dark:    #1A1715;
    --mid:     #4D494A;
    --stone:   #797777;
    --rule:    #DDD0C0;
    --white:   #FFFFFF;
}
#azena-cookie-modal-accept-all:hover { opacity: 0.8; }

/* ==========================================================================
   Blog shared utilities — home.php, single.php, page-b2b.php
   ========================================================================== */

/* Base reset */
.az-page { background: var(--cream); color: var(--ink); font-family: 'Ibarra Real Nova', serif; overflow-x: hidden; }
.az-page *, .az-page *::before, .az-page *::after { box-sizing: border-box; }

/* Eyebrow label */
.az-eyebrow { font-family: 'Ibarra Real Nova', serif; font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--bronze); display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.az-eyebrow::before { content: ''; width: 24px; height: 1px; background: var(--bronze); flex-shrink: 0; }

/* Meta labels */
.az-label-cat { font-family: 'Ibarra Real Nova', serif; font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--bronze); text-decoration: none; }
.az-label-cat:hover { color: var(--dark); }
.az-label-date { font-family: 'Ibarra Real Nova', serif; font-size: 10px; letter-spacing: 0.12em; color: var(--stone); }

/* Meta row */
.az-meta-row { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; }
.az-meta-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--rule); flex-shrink: 0; }

/* Containers */
.az-wrap-1100 { max-width: 1100px; margin: 0 auto; }
.az-wrap-860  { max-width: 860px;  margin: 0 auto; }

/* Hero H1 */
.az-hero-h1 { font-family: 'Marcellus', serif; font-size: clamp(40px, 5vw, 68px); line-height: 1.08; color: var(--ink); letter-spacing: 0.01em; margin-bottom: 16px; }

/* Read-more arrow link */
.az-read-link { font-family: 'Ibarra Real Nova', serif; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--bronze); text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.az-read-link::after { content: '→'; transition: transform 0.2s; }
.az-read-link:hover::after { transform: translateX(4px); }

/* Card hover */
.az-card-hover { transition: background 0.2s; }
.az-card-hover:hover { background: var(--sand); }

/* Pagination */
.az-pagination { display: flex; align-items: center; justify-content: center; border-top: 1px solid var(--rule); padding-top: 48px; margin-top: 48px; }
.az-pagination .page-numbers { font-family: 'Ibarra Real Nova', serif; font-size: 13px; letter-spacing: 0.1em; color: var(--stone); text-decoration: none; padding: 10px 16px; border: 1px solid var(--rule); border-right: none; transition: background 0.15s, color 0.15s; }
.az-pagination .page-numbers:last-child { border-right: 1px solid var(--rule); }
.az-pagination .page-numbers.current { background: var(--bronze); color: var(--white); border-color: var(--bronze); }
.az-pagination .page-numbers:hover:not(.current) { background: var(--sand); color: var(--ink); }

/* Geometric SVG hero background */
.az-geo-bg { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 0; }
.az-geo-bg svg { width: 100%; height: 100%; opacity: 0.06; }

/* ── Shared subnav link style (used by both persistent bar and hover dropdown) ── */
.azena-subnav-link-style {
    display: inline-flex;
    align-items: center;
    padding: 13px 28px;
    font-family: 'Ibarra Real Nova', serif;
    border-bottom: 2px solid transparent;
    background: none;
}

/* ── Persistent section subnav bar ─────────────────────────────────────── */
/*
 * Sits inside .site-content, right after .header-spacer.
 * The spacer height = header height, so the subnav naturally starts right
 * below the fixed header in the DOM flow.
 * position:sticky keeps it visible while scrolling.
 * top = JS-measured header height via --azena-header-h.
 */
.azena-section-subnav {
    position: sticky;
    z-index: 997;
    width: fit-content;
    margin: -20px auto 0;
    padding: 0;
}
.azena-section-subnav__inner {
    display: flex;
    align-items: stretch;
}
.azena-section-subnav__link {
    display: inline-flex;
    align-items: center;
    padding: 6px 28px;
    font-family: 'Ibarra Real Nova', serif;
    border-bottom: 2px solid transparent;
}
.azena-section-subnav__link:hover,
.azena-section-subnav__link.is-current {
    color: var(--bronze, #c69774);
    border-bottom-color: var(--bronze, #c69774);
}

/* ── Hover dropdown → horizontal full-width strip ───────────────────────── */
/*
 * Same technique the goldsmith mega-menu uses for full-width:
 *   left:50% + margin-left:-50vw + width:100vw
 * The submenu stays a DOM child of li.has-dropdown so CSS :hover still
 * propagates up the tree — no JS needed for show/hide.
 */
.goldsmith-header-top-menu-area > ul > li.has-dropdown > ul.submenu.depth_0 {
    /* Full-viewport-width strip anchored below the header row */
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    margin-left: -50vw !important;
    margin-top: -20px !important;
    width: 100vw !important;
    /* Force GPU compositing layer — snaps to whole pixels, fixes sub-pixel blur
       from the left:50% + margin-left:-50vw fractional-pixel positioning */
    transform: translateZ(0) !important;
    z-index: 9999 !important;
    min-width: unset !important;
    /* Horizontal layout */
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    /* Styling */
    background: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

/* Strip list items — let them sit in a row */
.goldsmith-header-top-menu-area > ul > li.has-dropdown > ul.submenu.depth_0 > li {
    border: none !important;
    padding: 0 !important;
    background: var(--cream) !important;
    float: none !important;
    width: auto !important;
    display: flex !important;
    align-items: stretch !important;
    position: static !important;
}

/* Links — identical style to the persistent subnav links */
.goldsmith-header-top-menu-area > ul > li.has-dropdown > ul.submenu.depth_0 > li > a,
.goldsmith-header-top-menu-area > ul > li.has-dropdown > ul.submenu.depth_0 > li > a:visited {
    display: inline-flex !important;
    align-items: center !important;
    padding: 13px 28px !important;
    font-family: 'Marcellus', serif !important;
    border-bottom: 2px solid transparent !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    background: none !important;
    width: auto !important;
}

.goldsmith-header-top-menu-area > ul > li.has-dropdown > ul.submenu.depth_0 > li > a:hover,
.goldsmith-header-top-menu-area > ul > li.has-dropdown > ul.submenu.depth_0 > li.active > a,
.goldsmith-header-top-menu-area > ul > li.has-dropdown > ul.submenu.depth_0 > li.current-menu-item > a {
    color: var(--bronze, #c69774) !important;
    border-bottom-color: var(--bronze, #c69774) !important;
    background: none !important;
}

/* Suppress hover dropdown when its section is already active (persistent subnav
   is visible). WordPress adds .active to the li when the page is current or an
   ancestor — no JS needed. */
.goldsmith-header-top-menu-area > ul > li.has-dropdown.active > ul.submenu.depth_0 {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: none !important;
}

/* Hide on mobile — theme handles mobile nav separately */
@media (max-width: 1280px) {
    .azena-section-subnav { display: none; }
}
