/* ==========================================================================
   _utilities.css
   Print styles, reduced-motion (system-level only), dark-mode helpers,
   and miscellaneous golden utilities.
   
   Reduced motion scope:
   - @media (prefers-reduced-motion: reduce) suppresses animations and
     transform-based UI motion while preserving layout and state changes.
   ========================================================================== */

/* ==========================================================================
   PRINT
   ========================================================================== */

@media print {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    body {
        font-size: 11pt;
        line-height: 1.45;
        background: #fff;
        color: #000;
    }
    h1, h2, h3, h4, h5, h6 {
        color: #000;
        page-break-after: avoid;
    }
    a {
        color: #000;
        text-decoration: underline;
    }
    a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 0.9em;
        color: #555;
    }
    img, svg {
        max-width: 100%;
        page-break-inside: avoid;
    }
    table {
        page-break-inside: avoid;
    }
    .nav-sections,
    .nav-bar,
    .page-header,
    .footer,
    .footer-container,
    .modal-popup,
    .modal-slide,
    .block-minicart,
    .toolbar,
    .actions-toolbar,
    .product-item-actions,
    .btn-remove,
    .action.tocart,
    .action.checkout,
    .action.update,
    .action.delete,
    .action.remind,
    .action.print {
        display: none !important;
    }
    .page-wrapper,
    .page-main {
        max-width: 100%;
        margin: 0;
        padding: 0;
        background: #fff;
    }
    .product-item-info,
    .block,
    .box {
        border: 1px solid #ccc;
        margin-bottom: 1rem;
    }
}


/* ==========================================================================
   REDUCED MOTION (system-level only)
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    button.action.primary,
    a.action.primary,
    .action.primary,
    .gold-cta,
    .action.secondary,
    .action.outline,
    .action.ghost,
    .products-grid .product-item-info,
    .wishlist-index-index .product-item,
    .block-minicart .product-item {
        transition: none !important;
    }
    button.action.primary:hover,
    a.action.primary:hover,
    .action.primary:hover,
    .gold-cta:hover,
    .gold-cta:active,
    .action.primary.gold:hover,
    .action.primary.gold:active,
    .products-grid .product-item-info:hover,
    .wishlist-index-index .product-item:hover {
        transform: none !important;
    }
    .products-grid .product-item-info:hover .product-item-photo img,
    .wishlist-index-index .product-item:hover .product-item-photo img {
        transform: none !important;
    }
}

/* ==========================================================================
   DARK MODE HELPERS
   ========================================================================== */

body.dark {
    background: var(--background, #0F0D0A);
    color: var(--foreground, #F0EAD8);
}

.dark img {
    opacity: 0.95;
}

.dark .block-minicart,
.dark .modal-popup,
.dark .modal-slide,
.dark .product-item-info,
.dark .block,
.dark .box {
    border-color: rgba(240, 234, 216, 0.1);
}

.dark hr {
    border-top-color: rgba(240, 234, 216, 0.15);
}

.dark a {
    color: var(--gold, #C4963A);
}
.dark a:hover {
    color: var(--gold-light, #D4A85C);
}


/* ==========================================================================
   MISC UTILITIES
   ========================================================================== */

/* Force no-wrap */
.nowrap {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Visually hidden (a11y) */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* Gold horizontal rule (reserved for future CMS sections) */
hr.gold-divider {
    border-top-color: var(--gold, #B8893A);
    opacity: 0.4;
}

/* Card surface micro-interaction lift (reusable utility) */
.lift-on-hover {
    transition:
        transform var(--motion-duration-normal, 0.3s) cubic-bezier(0.25, 0.46, 0.45, 0.94),
        box-shadow var(--motion-duration-normal, 0.3s) cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform, box-shadow;
    backface-visibility: hidden;
}
.lift-on-hover:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-lg, 0 12px 40px rgba(28, 22, 18, 0.15));
}

@media (max-width: 768px) {
    .lift-on-hover:hover {
        transform: none;
        box-shadow: var(--shadow-sm, 0 1px 2px rgba(28, 22, 18, 0.06));
    }
}

/* ==========================================================================
   FINAL PRODUCT LISTING OVERRIDES
   ========================================================================== */

.catalog-category-view.page-products main.page-main,
.catalogsearch-result-index.page-products main.page-main {
    padding-top: 0 !important;
}

.catalog-category-view.page-products .page-main > .page-title-wrapper,
.catalogsearch-result-index.page-products .page-main > .page-title-wrapper {
    margin-bottom: 0.75rem !important;
    padding-bottom: 0.75rem !important;
}

.catalog-category-view.page-products .page.messages,
.catalogsearch-result-index.page-products .page.messages {
    margin: 0 !important;
    padding: 0 !important;
}

.catalog-category-view.page-products .columns,
.catalogsearch-result-index.page-products .columns {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(15rem, 17.5rem) !important;
    column-gap: 1.5rem !important;
    row-gap: 1rem !important;
    align-items: start !important;
    padding-top: 0 !important;
}

.catalog-category-view.page-products .columns::before,
.catalog-category-view.page-products .columns::after,
.catalogsearch-result-index.page-products .columns::before,
.catalogsearch-result-index.page-products .columns::after {
    content: none !important;
    display: none !important;
}

.catalog-category-view.page-products .column.main,
.catalogsearch-result-index.page-products .column.main {
    grid-column: 1 !important;
    grid-row: 1 / span 20 !important;
    width: auto !important;
    min-width: 0 !important;
    float: none !important;
    padding: 0 !important;
}

.catalog-category-view.page-products .sidebar-main,
.catalogsearch-result-index.page-products .sidebar-main,
.catalog-category-view.page-products .sidebar-additional,
.catalogsearch-result-index.page-products .sidebar-additional {
    grid-column: 2 !important;
    width: auto !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.catalog-category-view.page-products .sidebar-main,
.catalogsearch-result-index.page-products .sidebar-main {
    grid-row: 1 !important;
}

.catalog-category-view.page-products .sidebar-additional,
.catalogsearch-result-index.page-products .sidebar-additional {
    grid-row: 2 !important;
}

.catalog-category-view.page-products .products-grid .products.list.items.product-items,
.catalog-category-view.page-products .products-grid .product-items,
.catalogsearch-result-index.page-products .products-grid .products.list.items.product-items,
.catalogsearch-result-index.page-products .products-grid .product-items {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)) !important;
    gap: 1.5rem !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.catalog-category-view.page-products .products-grid .product-item,
.catalog-category-view.page-products.page-layout-1column .products-grid .product-item,
.catalog-category-view.page-products.page-layout-3columns .products-grid .product-item,
.catalogsearch-result-index.page-products .products-grid .product-item,
.catalogsearch-result-index.page-products.page-layout-1column .products-grid .product-item,
.catalogsearch-result-index.page-products.page-layout-3columns .products-grid .product-item {
    display: flex !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.catalog-category-view.page-products .products-grid .product-item:nth-child(n),
.catalogsearch-result-index.page-products .products-grid .product-item:nth-child(n) {
    margin-left: 0 !important;
}

.catalog-category-view.page-products .products-grid .product-item-info,
.catalogsearch-result-index.page-products .products-grid .product-item-info {
    width: 100% !important;
}

.catalog-category-view.page-products .products-grid .product-item-info:hover,
.catalog-category-view.page-products .products-grid .product-item-info.active,
.catalogsearch-result-index.page-products .products-grid .product-item-info:hover,
.catalogsearch-result-index.page-products .products-grid .product-item-info.active {
    margin: 0 !important;
    padding: 0 !important;
}

.catalog-category-view.page-products .products-grid .product-item-inner,
.catalog-category-view.page-products .products-grid .product-item-info:not(:hover):not(.active) .product-item-inner,
.catalogsearch-result-index.page-products .products-grid .product-item-inner,
.catalogsearch-result-index.page-products .products-grid .product-item-info:not(:hover):not(.active) .product-item-inner {
    display: block !important;
    position: static !important;
    clip: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.catalog-category-view.page-products .products-grid .product-item-inner::before,
.catalogsearch-result-index.page-products .products-grid .product-item-inner::before {
    content: none !important;
    display: none !important;
}

.catalog-category-view.page-products .products-grid .product-item-actions,
.catalogsearch-result-index.page-products .products-grid .product-item-actions {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin: 0.75rem 0 0 !important;
    width: 100% !important;
}

.catalog-category-view.page-products .products-grid .product-item-actions .actions-primary,
.catalogsearch-result-index.page-products .products-grid .product-item-actions .actions-primary {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.catalog-category-view.page-products .products-grid .product-item-actions .action.tocart.primary,
.catalogsearch-result-index.page-products .products-grid .product-item-actions .action.tocart.primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 2.5rem !important;
    background: var(--primary, #1c1612) !important;
    border-color: var(--primary, #1c1612) !important;
    color: var(--primary-foreground, #f5f0e8) !important;
}

.catalog-category-view.page-products .products-grid .product-item-actions .action.tocart.primary:hover,
.catalog-category-view.page-products .products-grid .product-item-actions .action.tocart.primary:focus,
.catalogsearch-result-index.page-products .products-grid .product-item-actions .action.tocart.primary:hover,
.catalogsearch-result-index.page-products .products-grid .product-item-actions .action.tocart.primary:focus {
    background: var(--walnut, #3d3020) !important;
    border-color: var(--walnut, #3d3020) !important;
    color: var(--primary-foreground, #f5f0e8) !important;
}

.catalog-category-view.page-products .products-grid .product-item-actions .actions-secondary,
.catalogsearch-result-index.page-products .products-grid .product-item-actions .actions-secondary {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    gap: 0.25rem !important;
}

.catalog-category-view.page-products .products-grid .product-item-actions .actions-secondary > .action,
.catalogsearch-result-index.page-products .products-grid .product-item-actions .actions-secondary > .action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 2.5rem !important;
    min-width: 2.5rem !important;
    height: 2.5rem !important;
    line-height: 1 !important;
    margin: 0 !important;
}

.catalog-category-view.page-products .sidebar .block,
.catalogsearch-result-index.page-products .sidebar .block {
    margin: 0 !important;
    padding: 1rem !important;
    background: var(--card, #fff) !important;
    border: 1px solid var(--border, #e4ded4) !important;
    border-radius: var(--radius-lg, 8px) !important;
    box-shadow: var(--shadow-xs, 0 1px 2px rgba(28, 22, 18, 0.06)) !important;
}

.catalog-category-view.page-products .sidebar .block + .block,
.catalogsearch-result-index.page-products .sidebar .block + .block {
    margin-top: 1rem !important;
}

.catalog-category-view.page-products .sidebar .filter-content,
.catalog-category-view.page-products .sidebar .filter-options,
.catalogsearch-result-index.page-products .sidebar .filter-content,
.catalogsearch-result-index.page-products .sidebar .filter-options {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.catalog-category-view.page-products .sidebar .block-title,
.catalogsearch-result-index.page-products .sidebar .block-title {
    margin: 0 0 0.75rem !important;
    padding: 0 0 0.75rem !important;
    border-bottom: 1px solid var(--border, #e4ded4) !important;
}

.catalog-category-view.page-products .sidebar .block-title strong,
.catalog-category-view.page-products .sidebar .filter-subtitle,
.catalogsearch-result-index.page-products .sidebar .block-title strong,
.catalogsearch-result-index.page-products .sidebar .filter-subtitle {
    display: block !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.4 !important;
    text-transform: uppercase !important;
    color: var(--color-text, #1c1612) !important;
}

.catalog-category-view.page-products .sidebar .block-content,
.catalog-category-view.page-products .sidebar .empty,
.catalogsearch-result-index.page-products .sidebar .block-content,
.catalogsearch-result-index.page-products .sidebar .empty {
    font-size: 0.8125rem !important;
    line-height: 1.55 !important;
    color: var(--color-text-muted, #6f665b) !important;
}

@media (max-width: 1024px) {
    .catalog-category-view.page-products .columns,
    .catalogsearch-result-index.page-products .columns {
        grid-template-columns: minmax(0, 1fr) minmax(13.5rem, 15rem) !important;
        column-gap: 1rem !important;
    }

    .catalog-category-view.page-products .products-grid .products.list.items.product-items,
    .catalog-category-view.page-products .products-grid .product-items,
    .catalogsearch-result-index.page-products .products-grid .products.list.items.product-items,
    .catalogsearch-result-index.page-products .products-grid .product-items {
        grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)) !important;
    }
}

@media (max-width: 768px) {
    .catalog-category-view.page-products .columns,
    .catalogsearch-result-index.page-products .columns {
        display: block !important;
    }

    .catalog-category-view.page-products .column.main,
    .catalogsearch-result-index.page-products .column.main,
    .catalog-category-view.page-products .sidebar-main,
    .catalogsearch-result-index.page-products .sidebar-main,
    .catalog-category-view.page-products .sidebar-additional,
    .catalogsearch-result-index.page-products .sidebar-additional {
        display: block !important;
        width: 100% !important;
        margin-top: 1rem !important;
    }

    .catalog-category-view.page-products .column.main,
    .catalogsearch-result-index.page-products .column.main {
        margin-top: 0 !important;
    }
}

/* ==========================================================================
   PLP DESIGN EXPERIMENT
   ========================================================================== */

.catalog-category-view.page-products .page-main > .page-title-wrapper,
.catalogsearch-result-index.page-products .page-main > .page-title-wrapper {
    border-bottom: 1px solid rgba(28, 22, 18, 0.12) !important;
    margin-bottom: 1rem !important;
    padding-bottom: 1rem !important;
}

.catalog-category-view.page-products .page-main > .page-title-wrapper::after,
.catalogsearch-result-index.page-products .page-main > .page-title-wrapper::after {
    content: "Curated objects selected for material presence, rarity, and provenance.";
    display: block;
    max-width: 34rem;
    margin-top: 0.5rem;
    color: var(--color-text-muted, #7a6a52);
    font-family: var(--font-sans, 'Outfit', system-ui, sans-serif);
    font-size: 0.875rem;
    line-height: 1.55;
}

.catalog-category-view.page-products .toolbar.toolbar-products,
.catalogsearch-result-index.page-products .toolbar.toolbar-products {
    display: flex !important;
    align-items: center !important;
    gap: 0.875rem !important;
    min-height: 2.75rem !important;
    margin-bottom: 1.25rem !important;
    padding: 0 0 0.75rem !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(28, 22, 18, 0.1) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.catalog-category-view.page-products .toolbar .modes,
.catalogsearch-result-index.page-products .toolbar .modes {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    gap: 0.25rem !important;
    margin: 0 !important;
    opacity: 0.72;
}

.catalog-category-view.page-products .toolbar .modes-mode,
.catalogsearch-result-index.page-products .toolbar .modes-mode {
    border-radius: 4px !important;
    margin: 0 !important;
}

.catalog-category-view.page-products .toolbar .toolbar-amount,
.catalogsearch-result-index.page-products .toolbar .toolbar-amount {
    color: var(--color-text-muted, #7a6a52) !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.04em !important;
    margin: 0 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.catalog-category-view.page-products .toolbar .toolbar-sorter,
.catalogsearch-result-index.page-products .toolbar .toolbar-sorter,
.catalog-category-view.page-products .toolbar .limiter,
.catalogsearch-result-index.page-products .toolbar .limiter {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin: 0 0 0 auto !important;
    white-space: nowrap !important;
}

.catalog-category-view.page-products .toolbar .sorter-label,
.catalog-category-view.page-products .toolbar .limiter-label,
.catalogsearch-result-index.page-products .toolbar .sorter-label,
.catalogsearch-result-index.page-products .toolbar .limiter-label {
    color: var(--color-text-muted, #7a6a52) !important;
    font-size: 0.75rem !important;
}

.catalog-category-view.page-products .toolbar select,
.catalogsearch-result-index.page-products .toolbar select {
    min-height: 2rem !important;
    border-color: rgba(28, 22, 18, 0.14) !important;
    border-radius: 4px !important;
    background-color: rgba(253, 250, 244, 0.68) !important;
}

.catalog-category-view.page-products .products-grid .product-item-info,
.catalogsearch-result-index.page-products .products-grid .product-item-info {
    background: rgba(253, 250, 244, 0.82) !important;
    border-color: rgba(28, 22, 18, 0.075) !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 2px rgba(28, 22, 18, 0.04) !important;
}

.catalog-category-view.page-products .products-grid .product-item-info:hover,
.catalog-category-view.page-products .products-grid .product-item-info.active,
.catalogsearch-result-index.page-products .products-grid .product-item-info:hover,
.catalogsearch-result-index.page-products .products-grid .product-item-info.active {
    box-shadow: 0 10px 24px rgba(28, 22, 18, 0.09) !important;
}

.catalog-category-view.page-products .products-grid .product-item-photo,
.catalogsearch-result-index.page-products .products-grid .product-item-photo {
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
    background: transparent !important;
    border-bottom-color: rgba(28, 22, 18, 0.08) !important;
    box-sizing: border-box !important;
}

.catalog-category-view.page-products .products-grid .product-item-photo img,
.catalog-category-view.page-products .products-grid .product-image-photo,
.catalogsearch-result-index.page-products .products-grid .product-item-photo img,
.catalogsearch-result-index.page-products .products-grid .product-image-photo {
    object-fit: cover !important;
}

.catalog-category-view.page-products .products-grid .product-item-details,
.catalogsearch-result-index.page-products .products-grid .product-item-details {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
    padding: 0.875rem 0.9375rem 0.9375rem !important;
}

.catalog-category-view.page-products .products-grid .product-item-name,
.catalogsearch-result-index.page-products .products-grid .product-item-name {
    min-height: 3.125rem !important;
    font-size: 1.0625rem !important;
    line-height: 1.22 !important;
}

.catalog-category-view.page-products .products-grid .product-item-name a,
.catalogsearch-result-index.page-products .products-grid .product-item-name a {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
}

.catalog-category-view.page-products .products-grid .price-box,
.catalogsearch-result-index.page-products .products-grid .price-box {
    font-size: 1.1875rem !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.catalog-category-view.page-products .products-grid .product-item-actions,
.catalogsearch-result-index.page-products .products-grid .product-item-actions {
    margin-top: 0.625rem !important;
    padding-top: 0 !important;
}

.catalog-category-view.page-products .sidebar .block,
.catalogsearch-result-index.page-products .sidebar .block {
    border-color: rgba(28, 22, 18, 0.08) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: 0.9375rem !important;
}

.catalog-category-view.page-products .sidebar .block + .block,
.catalogsearch-result-index.page-products .sidebar .block + .block {
    margin-top: 0.75rem !important;
}

.catalog-category-view.page-products .sidebar .block:has(.empty),
.catalogsearch-result-index.page-products .sidebar .block:has(.empty) {
    display: none !important;
}

.catalog-category-view.page-products .sidebar .block-title,
.catalogsearch-result-index.page-products .sidebar .block-title {
    margin-bottom: 0.625rem !important;
    padding-bottom: 0.625rem !important;
}

.catalog-category-view.page-products .sidebar .block-title strong,
.catalog-category-view.page-products .sidebar .filter-subtitle,
.catalogsearch-result-index.page-products .sidebar .block-title strong,
.catalogsearch-result-index.page-products .sidebar .filter-subtitle {
    font-size: 0.6875rem !important;
}

.catalog-category-view.page-products .sidebar .product-item-name,
.catalogsearch-result-index.page-products .sidebar .product-item-name {
    font-family: var(--font-sans, 'Outfit', system-ui, sans-serif) !important;
    font-size: 0.8125rem !important;
    line-height: 1.4 !important;
}

.catalog-category-view.page-products .sidebar .product-item-actions,
.catalogsearch-result-index.page-products .sidebar .product-item-actions {
    margin-top: 0.625rem !important;
}

.catalog-category-view.page-products .sidebar .block-reorder input[type="checkbox"],
.catalogsearch-result-index.page-products .sidebar .block-reorder input[type="checkbox"] {
    display: none !important;
}

.catalog-category-view.page-products .sidebar .block-reorder .actions-toolbar,
.catalogsearch-result-index.page-products .sidebar .block-reorder .actions-toolbar {
    display: flex !important;
    align-items: center !important;
    gap: 0.625rem !important;
    margin-top: 0.75rem !important;
}

.catalog-category-view.page-products .sidebar .block-reorder .action.tocart,
.catalogsearch-result-index.page-products .sidebar .block-reorder .action.tocart {
    min-height: 2.25rem !important;
    padding: 0 0.875rem !important;
    background: var(--primary, #1c1612) !important;
    border-color: var(--primary, #1c1612) !important;
    color: var(--primary-foreground, #f5f0e8) !important;
    font-size: 0.75rem !important;
}

.catalog-category-view.page-products .sidebar .block-reorder .action.view,
.catalogsearch-result-index.page-products .sidebar .block-reorder .action.view {
    color: var(--gold-dark, #8b6220) !important;
    font-size: 0.75rem !important;
}

@media (min-width: 1180px) {
    .catalog-category-view.page-products .products-grid .products.list.items.product-items,
    .catalog-category-view.page-products .products-grid .product-items,
    .catalogsearch-result-index.page-products .products-grid .products.list.items.product-items,
    .catalogsearch-result-index.page-products .products-grid .product-items {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 1.25rem !important;
    }

    .catalog-category-view.page-products .products-grid .product-item-details,
    .catalogsearch-result-index.page-products .products-grid .product-item-details {
        min-height: 0 !important;
        padding: 0.8125rem 0.875rem 0.875rem !important;
    }

    .catalog-category-view.page-products .products-grid .product-item-name,
    .catalogsearch-result-index.page-products .products-grid .product-item-name {
        min-height: 3.75rem !important;
        font-size: 1rem !important;
    }

    .catalog-category-view.page-products .products-grid .product-item-name a,
    .catalogsearch-result-index.page-products .products-grid .product-item-name a {
        -webkit-line-clamp: 3 !important;
    }

    .catalog-category-view.page-products .products-grid .product-item-actions,
    .catalogsearch-result-index.page-products .products-grid .product-item-actions {
        gap: 0.5rem !important;
        margin-top: 0.625rem !important;
    }

    .catalog-category-view.page-products .products-grid .product-item-actions .actions-secondary > .action,
    .catalogsearch-result-index.page-products .products-grid .product-item-actions .actions-secondary > .action {
        width: 2.25rem !important;
        min-width: 2.25rem !important;
    }
}

/* ==========================================================================
   PDP DESIGN OVERRIDES
   ========================================================================== */

.catalog-product-view .columns::before,
.catalog-product-view .columns::after,
.catalog-product-view .column.main::before,
.catalog-product-view .column.main::after {
    content: none !important;
    display: none !important;
}

.catalog-product-view .column.main {
    display: grid !important;
    grid-template-columns: minmax(30rem, 1.05fr) minmax(24rem, 0.78fr) !important;
    column-gap: clamp(2.25rem, 3.5vw, 3.75rem) !important;
    row-gap: 2.5rem !important;
    align-items: start !important;
    width: 100% !important;
}

.catalog-product-view .product.media,
.catalog-product-view .product-info-main,
.catalog-product-view .product.info.detailed {
    float: none !important;
    width: auto !important;
    max-width: none !important;
}

.catalog-product-view .product.media {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.catalog-product-view .product-info-main {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: start !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0.25rem 0 0 !important;
}

.catalog-product-view .product.info.detailed {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
}

.catalog-product-view .product.media {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.catalog-product-view .fotorama__stage,
.catalog-product-view .fotorama__nav-wrap {
    background: transparent !important;
}

.catalog-product-view .fotorama__stage {
    aspect-ratio: 1 / 1 !important;
    border: 1px solid rgba(28, 22, 18, 0.08) !important;
    border-radius: 8px !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
}

.catalog-product-view .fotorama__stage__shaft,
.catalog-product-view .fotorama__stage__frame {
    height: 100% !important;
    width: 100% !important;
}

.catalog-product-view .fotorama__stage .fotorama__img,
.catalog-product-view .gallery-placeholder__image {
    height: 100% !important;
    left: 0 !important;
    object-fit: contain !important;
    top: 0 !important;
    transform: scale(1.12) !important;
    transform-origin: center center !important;
    width: 100% !important;
}

.catalog-product-view .fotorama__nav-wrap {
    margin-top: 0.75rem !important;
}

.catalog-product-view .fotorama__thumb-border {
    border-color: var(--gold, #b8893a) !important;
}

.catalog-product-view .fotorama__arr {
    background-color: transparent !important;
    opacity: 0.56 !important;
    width: 5rem !important;
}

.catalog-product-view .fotorama__arr:hover,
.catalog-product-view .fotorama__arr:focus,
.catalog-product-view .fotorama__arr:focus-visible,
.catalog-product-view .fotorama__stage .fotorama__arr--prev:hover,
.catalog-product-view .fotorama__stage .fotorama__arr--next:hover {
    background-color: rgba(255, 255, 255, 0.3) !important;
    opacity: 0.9 !important;
}

.catalog-product-view .fotorama__arr--prev {
    left: 0 !important;
    right: auto !important;
}

.catalog-product-view .fotorama__arr--next {
    left: auto !important;
    right: 0 !important;
}

.catalog-product-view .fotorama__arr .fotorama__arr__arr {
    height: 5rem !important;
    left: 0 !important;
    right: auto !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 5rem !important;
}

.catalog-product-view .fotorama__arr--next .fotorama__arr__arr {
    left: auto !important;
    right: 0 !important;
}

.catalog-product-view .product-info-main .page-title-wrapper {
    order: 1 !important;
}

.catalog-product-view .product-info-main .pts-rating-box {
    display: none !important;
}

.catalog-product-view .product-info-main .pts-review-txt,
.catalog-product-view .product-info-main .pts-review-txt a,
.catalog-product-view .product-info-main > .page-title-wrapper p,
.catalog-product-view .product-info-main #my_form {
    color: var(--color-text-muted, #7a6a52) !important;
    font-family: var(--font-sans, 'Outfit', system-ui, sans-serif) !important;
    font-size: 0.8125rem !important;
    line-height: 1.5 !important;
}

.catalog-product-view .product-info-main > .page-title-wrapper p {
    margin: 0.5rem 0 0 !important;
}

.catalog-product-view .product-info-main > .page-title-wrapper b {
    color: var(--color-text-muted, #7a6a52) !important;
    font-size: 0.6875rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.catalog-product-view .product-info-main a {
    color: var(--gold-dark, #8b6220) !important;
    text-decoration: none !important;
}

.catalog-product-view .product-info-main a:hover {
    color: var(--color-text, #1c1612) !important;
}

.catalog-product-view .product-info-main #my_form {
    margin: 0.375rem 0 0 !important;
}

.catalog-product-view .product-info-main > .product-reviews-summary.empty {
    display: none !important;
}

.catalog-product-view .product-info-main .product-info-price {
    order: 2 !important;
    border-bottom-color: rgba(28, 22, 18, 0.12) !important;
    margin: 1.25rem 0 0 !important;
    padding: 0 0 1.125rem !important;
}

.catalog-product-view .product-info-main .product-info-price .price-box {
    display: block !important;
    float: none !important;
    margin: 0 0 0.75rem !important;
}

.catalog-product-view .product-info-main .product-info-price .price {
    color: var(--color-text, #1c1612) !important;
    font-size: clamp(2rem, 3vw, 2.75rem) !important;
    line-height: 1 !important;
}

.catalog-product-view .product-info-main .product-info-stock-sku {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 0.375rem 1rem !important;
    clear: both !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    width: 100% !important;
    color: var(--color-text-muted, #7a6a52) !important;
    font-family: var(--font-sans, 'Outfit', system-ui, sans-serif) !important;
    font-size: 0.8125rem !important;
    line-height: 1.5 !important;
}

.catalog-product-view .product-info-main .product-info-stock-sku .stock,
.catalog-product-view .product-info-main .product.attribute.sku {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 0.35rem !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: inherit !important;
    font: inherit !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.catalog-product-view .product-info-main .stock span,
.catalog-product-view .product-info-main .product.attribute.sku .type {
    color: var(--color-text-muted, #7a6a52) !important;
    font-size: 0.6875rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.catalog-product-view .product-info-main .product.attribute.sku .value {
    color: var(--color-text, #1c1612) !important;
    font-size: 0.8125rem !important;
}

.catalog-product-view .product-info-main .overview,
.catalog-product-view .product-info-main .product.attribute.overview {
    order: 3 !important;
    margin: 1.125rem 0 0 !important;
    color: var(--color-text-muted, #7a6a52) !important;
    font-size: 0.9375rem !important;
    line-height: 1.7 !important;
}

.catalog-product-view .product-add-form {
    order: 4 !important;
    margin-top: 1.5rem !important;
}

.catalog-product-view .box-tocart {
    border-top-color: rgba(28, 22, 18, 0.12) !important;
    margin-top: 0 !important;
    padding-top: 1.25rem !important;
}

.catalog-product-view .box-tocart .fieldset {
    display: grid !important;
    grid-template-columns: 5rem minmax(12rem, 1fr) !important;
    grid-template-rows: auto 3rem !important;
    gap: 0.5rem 0.75rem !important;
    align-items: stretch !important;
}

.catalog-product-view .box-tocart .field.qty {
    display: contents !important;
    min-width: 0 !important;
}

.catalog-product-view .box-tocart .field.qty .label {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
}

.catalog-product-view .box-tocart .field.qty .control {
    grid-column: 1 !important;
    grid-row: 2 !important;
    max-width: none !important;
}

.catalog-product-view .box-tocart .input-text.qty {
    height: 3rem !important;
    text-align: center !important;
    width: 100% !important;
}

.catalog-product-view .box-tocart .actions {
    align-self: stretch !important;
    display: flex !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
    padding: 0 !important;
}

.catalog-product-view .box-tocart .action.tocart.primary {
    background: var(--primary, #1c1612) !important;
    border-color: var(--primary, #1c1612) !important;
    color: var(--primary-foreground, #f5f0e8) !important;
    display: inline-flex !important;
    height: 100% !important;
    justify-content: center !important;
    margin: 0 !important;
    min-height: 3rem !important;
    min-width: 12rem !important;
    padding: 0 1.5rem !important;
    white-space: nowrap !important;
    width: 100% !important;
}

.catalog-product-view .box-tocart .action.tocart.primary:hover {
    background: var(--walnut, #3d3020) !important;
    border-color: var(--walnut, #3d3020) !important;
}

.catalog-product-view .product-social-links {
    order: 5 !important;
    border-top-color: rgba(28, 22, 18, 0.12) !important;
    margin-top: 1.25rem !important;
    padding-top: 1rem !important;
}

.catalog-product-view .product-social-links .product-addto-links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.75rem 1.25rem !important;
}

.catalog-product-view .product-social-links .action {
    color: var(--color-text-muted, #7a6a52) !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

.catalog-product-view .product.info.detailed .product.data.items {
    display: block !important;
    margin: 0.5rem 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.catalog-product-view .product.info.detailed .product.data.items > .item.title {
    display: block !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.catalog-product-view .product.info.detailed .product.data.items > .item.title:not(:first-child) {
    margin-top: 2.25rem !important;
}

.catalog-product-view .product.info.detailed .product.data.items > .item.title > .switch {
    display: block !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 0 0.75rem !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(28, 22, 18, 0.12) !important;
    background: transparent !important;
    color: var(--color-text, #1c1612) !important;
    font-family: var(--font-sans, 'Outfit', system-ui, sans-serif) !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}

.catalog-product-view .product.info.detailed .product.data.items > .item.content {
    display: block !important;
    float: none !important;
    position: static !important;
    visibility: visible !important;
    height: auto !important;
    margin: 0 !important;
    max-width: 68rem !important;
    padding: 1rem 0 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.catalog-product-view .product.info.detailed .product.attribute.description .value,
.catalog-product-view .product.info.detailed .data.item.content {
    color: var(--color-text, #1c1612) !important;
    font-size: 0.9375rem !important;
    line-height: 1.75 !important;
}

.catalog-product-view .product.info.detailed .product.attribute.description .value {
    max-width: 62rem !important;
}

.catalog-product-view .product.info.detailed .review-add,
.catalog-product-view .product.info.detailed #product-review-container {
    max-width: 48rem !important;
}

.catalog-product-view .product.info.detailed .review-add .block-title strong {
    font-size: 1rem !important;
    font-weight: 600 !important;
}

input:focus,
input:focus-visible,
textarea:focus,
textarea:focus-visible,
select:focus,
select:focus-visible,
.input-text:focus,
.input-text:focus-visible {
    border-color: var(--ring, #b8893a) !important;
    box-shadow: 0 0 0 2px rgba(184, 137, 58, 0.22) !important;
    outline: none !important;
}

/* ==========================================================================
   HEADER ACTIONS / MINICART POLISH
   ========================================================================== */

.provenance-actions {
    align-items: center !important;
    gap: 0.375rem !important;
}

.provenance-action,
.provenance-action--cart .action.showcart {
    border-radius: 9999px !important;
    height: 2.25rem !important;
    min-height: 2.25rem !important;
    min-width: 2.25rem !important;
    width: 2.25rem !important;
}

.provenance-action svg {
    display: block !important;
    height: 1.125rem !important;
    width: 1.125rem !important;
}

.provenance-action--cart {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.provenance-action--cart .minicart-wrapper {
    display: inline-flex !important;
    float: none !important;
    height: 2.25rem !important;
    line-height: 0 !important;
    margin: 0 !important;
    position: relative !important;
    width: 2.25rem !important;
}

.provenance-action--cart .action.showcart {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    color: var(--foreground, #1c1612) !important;
    display: inline-flex !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.provenance-action--cart .action.showcart.active,
.provenance-action--cart .action.showcart:hover,
.provenance-action--cart .action.showcart:focus-visible {
    background: var(--secondary, #ede4d0) !important;
    color: var(--gold-dark, #8b6220) !important;
    box-shadow: none !important;
}

.provenance-action--cart .action.showcart::before {
    background-color: currentColor !important;
    content: "" !important;
    display: block !important;
    font-size: 0 !important;
    height: 1.125rem !important;
    line-height: 1 !important;
    margin: 0 !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h8.9a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h8.9a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center / contain no-repeat;
    width: 1.125rem !important;
}

.provenance-action--cart .counter.qty {
    background: var(--gold, #b8893a) !important;
    color: var(--obsidian, #1c1612) !important;
    font-family: var(--font-sans, 'Outfit', system-ui, sans-serif) !important;
    font-size: 0.5625rem !important;
    height: 0.875rem !important;
    min-width: 0.875rem !important;
    padding: 0 0.1875rem !important;
    right: -0.0625rem !important;
    top: -0.0625rem !important;
}

.provenance-action-separator {
    margin: 0 0.125rem !important;
}

.provenance-action--cart .block-minicart {
    background: var(--card, #fdfaf4) !important;
    border: 1px solid rgba(28, 22, 18, 0.12) !important;
    border-radius: 1rem !important;
    box-shadow: 0 18px 48px rgba(28, 22, 18, 0.16) !important;
    color: var(--color-text, #1c1612) !important;
    font-family: var(--font-sans, 'Outfit', system-ui, sans-serif) !important;
    line-height: 1.5 !important;
    margin-top: 0.625rem !important;
    padding: 0 !important;
    right: -0.25rem !important;
    width: min(24.5rem, calc(100vw - 2rem)) !important;
}

.provenance-action--cart .block-minicart::before,
.provenance-action--cart .block-minicart::after {
    right: 1.125rem !important;
}

.block-minicart .action.close {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 9999px !important;
    color: var(--color-text-muted, #7a6a52) !important;
    display: inline-flex !important;
    height: 2rem !important;
    justify-content: center !important;
    padding: 0 !important;
    right: 0.75rem !important;
    top: 0.625rem !important;
    width: 2rem !important;
}

.block-minicart .action.close:hover,
.block-minicart .action.close:focus-visible {
    background: var(--secondary, #ede4d0) !important;
    color: var(--color-text, #1c1612) !important;
    box-shadow: none !important;
}

.block-minicart .block-content {
    padding: 2.5rem 1rem 1rem !important;
}

.block-minicart .items-total,
.block-minicart .subtotal {
    color: var(--color-text-muted, #7a6a52) !important;
    font-size: 0.8125rem !important;
}

.block-minicart .minicart-items-wrapper {
    border: 0 !important;
    margin: 0 !important;
    max-height: min(28rem, calc(100vh - 15rem)) !important;
    padding: 0 0.125rem !important;
}

.block-minicart .minicart-items {
    margin: 0 !important;
    padding: 0 !important;
}

.block-minicart .minicart-items .product-item {
    border-bottom: 1px solid rgba(28, 22, 18, 0.14) !important;
    margin: 0 !important;
    padding: 1.125rem 0.125rem !important;
}

.block-minicart .minicart-items .product-item:last-child {
    border-bottom: 0 !important;
}

.block-minicart .minicart-items .product {
    align-items: start !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
}

.block-minicart .minicart-items .product-item-photo {
    display: none !important;
}

.block-minicart .minicart-items .product-item-details {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto auto !important;
    gap: 0.625rem 0.75rem !important;
    padding: 0 !important;
    width: 100% !important;
}

.block-minicart .minicart-items .product-item-name {
    grid-column: 1 / -1 !important;
    margin: 0 !important;
    padding-right: 1.75rem !important;
}

.block-minicart .minicart-items .product-item-name a {
    color: var(--color-text, #1c1612) !important;
    display: inline !important;
    font-family: var(--font-serif, 'Playfair Display', Georgia, serif) !important;
    font-size: 1.0625rem !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
}

.block-minicart .minicart-items .product-item-name a:hover,
.block-minicart .minicart-items .product-item-name a:focus-visible {
    color: var(--gold-dark, #8b6220) !important;
    text-decoration: none !important;
}

.block-minicart .details-qty {
    align-items: center !important;
    display: inline-flex !important;
    gap: 0.5rem !important;
    grid-column: 1 / 3 !important;
    margin: 0 !important;
}

.block-minicart .details-qty .label {
    color: var(--color-text, #1c1612) !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    margin: 0 !important;
}

.block-minicart .details-qty .item-qty {
    background: rgba(255, 255, 255, 0.56) !important;
    border: 1px solid rgba(28, 22, 18, 0.14) !important;
    border-radius: 0.625rem !important;
    box-shadow: none !important;
    color: var(--color-text, #1c1612) !important;
    font-family: var(--font-sans, 'Outfit', system-ui, sans-serif) !important;
    height: 2rem !important;
    padding: 0 0.625rem !important;
    text-align: center !important;
    width: 3.75rem !important;
}

.block-minicart .minicart-items .product.actions {
    align-items: center !important;
    display: inline-flex !important;
    gap: 0.375rem !important;
    grid-column: 3 / 5 !important;
    justify-content: flex-end !important;
    margin: 0 !important;
}

.block-minicart .minicart-items .product.actions .action {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 9999px !important;
    color: var(--color-text-muted, #7a6a52) !important;
    display: inline-flex !important;
    height: 2rem !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 2rem !important;
}

.block-minicart .minicart-items .product.actions .action:hover,
.block-minicart .minicart-items .product.actions .action:focus-visible {
    background: var(--secondary, #ede4d0) !important;
    color: var(--color-text, #1c1612) !important;
    box-shadow: none !important;
}

.block-minicart .minicart-items .product.actions .action.delete:hover,
.block-minicart .minicart-items .product.actions .action.delete:focus-visible {
    background: rgba(151, 47, 45, 0.1) !important;
    color: #972f2d !important;
}

.block-minicart .message,
.block-minicart .message.warning {
    align-items: flex-start !important;
    background: #fbefd0 !important;
    border: 1px solid rgba(184, 137, 58, 0.18) !important;
    border-radius: 0.75rem !important;
    color: #6f4508 !important;
    display: flex !important;
    font-size: 0.9375rem !important;
    gap: 0.625rem !important;
    line-height: 1.5 !important;
    margin: 0.5rem 0 0 !important;
    padding: 0.875rem 1rem !important;
}

.block-minicart .message > *:first-child::before,
.block-minicart .message.warning > *:first-child::before {
    color: var(--gold-dark, #8b6220) !important;
}

.block-minicart .actions .primary .action.primary,
.block-minicart .action.viewcart {
    border-radius: 9999px !important;
    font-family: var(--font-sans, 'Outfit', system-ui, sans-serif) !important;
}

@media (max-width: 1024px) {
    .catalog-product-view .column.main {
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 1.75rem !important;
    }

    .catalog-product-view .product.media,
    .catalog-product-view .product-info-main,
    .catalog-product-view .product.info.detailed {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    .catalog-product-view .fotorama__stage {
        max-height: none !important;
    }
}

@media (max-width: 640px) {
    .catalog-product-view .box-tocart .fieldset {
        grid-template-columns: 1fr !important;
    }
}
