/**
* 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
*/
.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;
    -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%;
}

.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%;
    }

    .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: 45px !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: 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: 20px;
    font-weight: 400;
    line-height: 1.2;
    color: #585858;
    margin: 10px 0 20px 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: 10px !important;
    margin-bottom: 20px !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;
}

@media (max-width: 768px) {
    .diamond-short-description {
        font-size: 18px;
        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;
}

/* 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;
    }
}