/**
 * The Provenance — prov-base.css
 * Tokens · Global · Buttons · Forms · Messages · Breadcrumbs · Toolbar · Pagination · Filters
 * Load order: 1 of 4
 */

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Montserrat:wght@300;400;500&display=swap');

/* ── TOKENS ── */
:root {
    --cream:        #F2ECDF;
    --cream-dark:   #E8DFC9;
    --cream-deeper: #D5C9B0;
    --brown:        #3A2C1B;
    --brown-mid:    #5C4530;
    --brown-light:  #8B6E52;
    --gold:         #B8965A;
    --gold-light:   #D4B07A;
    --white:        #FAF8F4;
    --text-body:    #2E2016;
    --text-muted:   #7A6248;
    --red:          #C0392B;
    --font-serif:   'EB Garamond', Georgia, serif;
    --font-sans:    'Montserrat', sans-serif;
    --ui-xs:    11px;
    --ui-sm:    13px;
    --ui-base:  16px;
    --ui-md:    18px;
    --ui-lg:    24px;
    --ui-xl:    32px;
    --ui-2xl:   44px;
    --sp-1:  4px;
    --sp-2:  8px;
    --sp-3:  12px;
    --sp-4:  16px;
    --sp-5:  24px;
    --sp-6:  32px;
    --sp-7:  48px;
    --sp-8:  64px;
    --sp-9:  96px;
    --max-w:    1440px;
    --gutter:   56px;
    --header-h: 88px;
    --nav-h:    48px;
    --card-bg:     var(--white);
    --card-border: var(--cream-deeper);
    --card-shadow: 0 2px 12px rgba(58,44,27,0.06);
    --text-hero-lg:  clamp(3.8rem, 7.5vw, 7.5rem);
    --text-hero-sub: 1.65rem;
    --text-h2:       clamp(2.4rem, 3.5vw, 3.2rem);
    --text-h3:       1.6rem;
    --text-p-hp:     1.7rem;
    --text-step:     1.55rem;
    --text-nav-hp:   11px;
    --text-stats:    clamp(2.8rem, 4.5vw, 4.2rem);
}

/* ── GLOBAL BASE ── */
html { font-size: 62.5%; box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }

body {
    background:              var(--cream) !important;
    color:                   var(--text-body) !important;
    font-family:             var(--font-sans) !important;
    font-size:               1.6rem !important;
    line-height:             1.7 !important;
    -webkit-font-smoothing:  antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--font-serif); font-weight: 400; color: var(--brown); line-height: 1.2; margin-top: 0; }
a         { color: var(--brown); transition: color 0.2s; text-decoration: none; }
a:hover   { color: var(--gold); }
a:visited { color: inherit; }
img       { max-width: 100%; height: auto; display: block; }
.page-wrapper { background: var(--cream) !important; }
.page-main    { background: transparent !important; }
.page-header  { display: none !important; }
.nav-sections { display: none !important; }

/* word-break safety on product names everywhere */
.product-item-name, .product-item-name a,
.cart.items .product-item-name, .opc-block-summary .product-item-name {
    word-break: break-word !important; overflow-wrap: break-word !important; hyphens: auto !important;
}

/* ── BUTTONS ── */
.action.primary, button.action.primary {
    background: var(--gold) !important; border: 1px solid var(--gold) !important; color: var(--brown) !important;
    font-family: var(--font-sans) !important; font-size: var(--ui-xs) !important; font-weight: 500 !important;
    letter-spacing: 0.2em !important; text-transform: uppercase !important; padding: 14px 40px !important;
    border-radius: 0 !important; box-shadow: none !important; cursor: pointer !important; line-height: 1.4 !important;
    display: inline-block !important; text-align: center !important;
    transition: background 0.25s, color 0.25s, border-color 0.25s !important;
}
.action.primary:hover, button.action.primary:hover {
    background: transparent !important; color: var(--gold) !important;
}
.action.primary:disabled, button.action.primary:disabled,
.action.primary[disabled], button.action.primary[disabled] {
    opacity: 0.45 !important; cursor: not-allowed !important; pointer-events: none !important;
}

.action.tocart, button.tocart {
    background: var(--brown) !important; border: 1px solid var(--brown) !important; color: var(--cream) !important;
    font-family: var(--font-sans) !important; font-size: var(--ui-xs) !important; font-weight: 500 !important;
    letter-spacing: 0.2em !important; text-transform: uppercase !important; padding: 14px 40px !important;
    border-radius: 0 !important; box-shadow: none !important; cursor: pointer !important; line-height: 1.4 !important;
    display: inline-block !important; text-align: center !important;
    transition: background 0.25s, color 0.25s, border-color 0.25s !important;
}
.action.tocart:hover, button.tocart:hover {
    background: transparent !important; color: var(--brown) !important;
}
.action.tocart:disabled, button.tocart:disabled,
.action.tocart[disabled], button.tocart[disabled] {
    opacity: 0.45 !important; cursor: not-allowed !important;
}

.action.secondary, button.action.secondary {
    background: transparent !important; border: 1px solid var(--cream-deeper) !important;
    color: var(--text-muted) !important; font-family: var(--font-sans) !important;
    font-size: var(--ui-xs) !important; font-weight: 400 !important; letter-spacing: 0.16em !important;
    text-transform: uppercase !important; padding: 12px 28px !important; border-radius: 0 !important;
    box-shadow: none !important; cursor: pointer !important; line-height: 1.4 !important; text-align: center !important;
    transition: border-color 0.25s, color 0.25s !important;
}
.action.secondary:hover, button.action.secondary:hover {
    border-color: var(--gold) !important; color: var(--gold) !important;
}

/* Update cart */
.checkout-cart-index .action.update, .cart-container .action.update {
    background: var(--brown) !important; border: 1px solid var(--brown) !important; color: var(--cream) !important;
    font-family: var(--font-sans) !important; font-size: var(--ui-xs) !important; font-weight: 500 !important;
    letter-spacing: 0.2em !important; text-transform: uppercase !important; padding: 14px 40px !important;
    border-radius: 0 !important; box-shadow: none !important; cursor: pointer !important; line-height: 1.4 !important;
    display: inline-block !important; text-align: center !important;
    transition: background 0.25s, color 0.25s, border-color 0.25s !important;
}
.checkout-cart-index .action.update:hover, .cart-container .action.update:hover {
    background: transparent !important; color: var(--brown) !important;
}

/* Wishlist / Compare */
.action.towishlist, .action.tocompare {
    background: transparent !important; border: 1px solid var(--cream-deeper) !important;
    color: var(--text-muted) !important; font-family: var(--font-sans) !important;
    font-size: var(--ui-xs) !important; letter-spacing: 0.14em !important; text-transform: uppercase !important;
    padding: 10px 20px !important; border-radius: 0 !important; cursor: pointer !important;
    transition: border-color 0.25s, color 0.25s !important;
}
.action.towishlist:hover, .action.tocompare:hover {
    border-color: var(--gold) !important; color: var(--gold) !important;
}

/* Wishlist page buttons */
.wishlist-index-index .action.share, .wishlist-index-index .action.update {
    background: var(--brown) !important; border: 1px solid var(--brown) !important; color: var(--cream) !important;
    font-family: var(--font-sans) !important; font-size: var(--ui-xs) !important; font-weight: 500 !important;
    letter-spacing: 0.2em !important; text-transform: uppercase !important; padding: 12px 28px !important;
    border-radius: 0 !important; cursor: pointer !important;
    transition: background 0.25s, color 0.25s, border-color 0.25s !important;
}
.wishlist-index-index .action.share:hover, .wishlist-index-index .action.update:hover {
    background: transparent !important; color: var(--brown) !important;
}
.wishlist-index-index .btn-remove, .wishlist-index-index .action.delete {
    background: transparent !important; border: 1px solid var(--cream-deeper) !important;
    color: var(--text-muted) !important; font-family: var(--font-sans) !important;
    font-size: var(--ui-xs) !important; letter-spacing: 0.14em !important; text-transform: uppercase !important;
    padding: 8px 16px !important; border-radius: 0 !important; cursor: pointer !important;
    transition: border-color 0.25s, color 0.25s !important;
}
.wishlist-index-index .btn-remove:hover, .wishlist-index-index .action.delete:hover {
    border-color: var(--red) !important; color: var(--red) !important;
}

/* Homepage CTAs */
.prov-btn-gold {
    display: inline-block; padding: 16px 42px; background: var(--gold); color: var(--brown);
    font-family: var(--font-sans); font-size: var(--text-nav-hp); font-weight: 500;
    letter-spacing: 0.2em; text-transform: uppercase; border: 1px solid var(--gold);
    text-decoration: none; transition: background 0.25s, color 0.25s; cursor: pointer; text-align: center;
}
.prov-btn-gold:hover { background: transparent; color: var(--gold) !important; }
.prov-btn-outline {
    display: inline-block; padding: 16px 42px; background: rgba(242,236,223,0.1);
    color: var(--white) !important; font-family: var(--font-sans); font-size: var(--text-nav-hp);
    letter-spacing: 0.2em; text-transform: uppercase; border: 1px solid rgba(242,236,223,0.75);
    text-decoration: none; transition: background 0.25s, border-color 0.25s; text-align: center;
}
.prov-btn-outline:hover { background: rgba(242,236,223,0.2); color: var(--white) !important; }

/* ── FORMS ── */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
textarea {
    font-family: var(--font-sans) !important; font-size: var(--ui-base) !important;
    color: var(--text-body) !important; background: var(--white) !important;
    border: 1px solid var(--cream-deeper) !important; border-radius: 0 !important;
    padding: 11px 16px !important; line-height: 1.5 !important; width: 100% !important;
    box-sizing: border-box !important; box-shadow: none !important;
    transition: border-color 0.2s !important; appearance: none !important; -webkit-appearance: none !important;
}
/* QTY exception — covers all qty inputs across the site */
input[type="number"].qty, .box-tocart input[type="number"],
.field.qty input, .cart.items input[type="number"],
.col.qty input[type="number"], .input-text.qty {
    width: 60px !important; min-width: 60px !important; max-width: 60px !important;
    text-align: center !important; padding: 10px 6px !important;
}
input[type="checkbox"], input[type="radio"] {
    accent-color: var(--gold) !important;
    width: 16px !important; height: 16px !important; cursor: pointer !important; flex-shrink: 0 !important;
}

select {
    font-family: var(--font-sans) !important; font-size: var(--ui-base) !important;
    color: var(--text-body) !important; background: var(--white) !important;
    border: 1px solid var(--cream-deeper) !important; border-radius: 0 !important;
    padding: 11px 36px 11px 16px !important; line-height: 1.5 !important; width: 100% !important;
    box-sizing: border-box !important; box-shadow: none !important;
    transition: border-color 0.2s !important; appearance: none !important; -webkit-appearance: none !important;
    text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%237A6248'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important; background-position: right 14px center !important;
}
.toolbar select, .toolbar-sorter select, .limiter select {
    width: auto !important; min-width: 80px !important; max-width: 180px !important;
}
.purpletree-lblryt select, .marketplace-index-productedit select,
.marketplace-index-productcreate select, #weightoptn {
    width: auto !important; max-width: 200px !important; font-size: 13px !important;
    padding: 7px 32px 7px 10px !important;
}

input:focus, textarea:focus, select:focus {
    border-color: var(--gold) !important; outline: none !important; box-shadow: none !important;
}
input::placeholder, textarea::placeholder { color: rgba(58,44,27,0.35) !important; }

label, .label {
    font-family: var(--font-sans) !important; font-size: var(--ui-xs) !important;
    letter-spacing: 0.16em !important; text-transform: uppercase !important;
    color: var(--text-muted) !important; font-weight: 400 !important;
    margin-bottom: 6px !important; display: block !important;
}
/* QTY label — not uppercase */
.field.qty > .label, .box-tocart .label[for*="qty"], label[for*="qty"] {
    letter-spacing: 0.08em !important; text-transform: none !important; font-size: var(--ui-xs) !important;
}
.required > .label::after, ._required > .label::after { color: var(--gold) !important; }

.field-error, div.mage-error[generated] {
    font-family: var(--font-sans) !important; font-size: 12px !important;
    color: var(--red) !important; margin-top: 4px !important; display: block !important;
}

fieldset { border: none !important; padding: 0 !important; margin: 0 !important; }
legend {
    font-family: var(--font-sans) !important; font-size: var(--ui-xs) !important;
    letter-spacing: 0.2em !important; text-transform: uppercase !important; color: var(--gold) !important;
    margin-bottom: var(--sp-5) !important; padding-bottom: var(--sp-3) !important;
    border-bottom: 1px solid var(--cream-deeper) !important; width: 100% !important;
    display: block !important; float: none !important;
}
.field-note, .note {
    font-family: var(--font-sans) !important; font-size: var(--ui-xs) !important;
    color: var(--text-muted) !important; margin-top: 4px !important;
    line-height: 1.5 !important; display: block !important;
}

/* ── MESSAGES ── */
.message.success, .message-success, .message.error, .message-error,
.message.notice, .message-notice, .message.info, .message-info {
    border-radius: 0 !important; font-family: var(--font-sans) !important;
    font-size: var(--ui-sm) !important; padding: 12px 20px !important; margin-bottom: var(--sp-4) !important;
}
.message > div, .message > *:first-child {
    display: flex !important; align-items: center !important; gap: 10px !important;
}
.message > div::before, .message > *:first-child::before {
    display: inline-flex !important; align-items: center !important; flex-shrink: 0 !important;
    margin: 0 !important; line-height: 1 !important;
}
.message.success, .message-success {
    background: var(--cream-dark) !important; border: 1px solid var(--gold) !important; color: var(--brown) !important;
}
.message.error, .message-error {
    background: #fbf0f0 !important; border: 1px solid var(--red) !important; color: var(--red) !important;
}
.message.notice, .message-notice, .message.info, .message-info {
    background: var(--cream-dark) !important; border: 1px solid var(--cream-deeper) !important;
    color: var(--text-muted) !important;
}

/* ── LUMA MISC ── */
.toolbar-products { border: none !important; }
.pages { margin-top: var(--sp-6) !important; }
.actions-toolbar { margin-top: var(--sp-5) !important; }
.account .box { width: auto !important; max-width: none !important; float: none !important; }
.cms-index-index .column.main, .cms-page-view .column.main { padding-bottom: 0 !important; }
.page-main { padding-bottom: 0 !important; }

/* ── BREADCRUMBS ── */
.breadcrumbs {
    background: transparent !important; padding: var(--sp-5) var(--gutter) var(--sp-2) !important;
    max-width: var(--max-w); margin: 0 auto !important; box-sizing: border-box !important;
}
.breadcrumbs .item, .breadcrumbs .item a, .breadcrumbs .item strong {
    font-family: var(--font-sans) !important; font-size: var(--ui-xs) !important;
    letter-spacing: 0.14em !important; text-transform: uppercase !important;
    color: var(--text-muted) !important; text-decoration: none !important;
}
.breadcrumbs .item a:hover { color: var(--gold) !important; }
.breadcrumbs .item::after  { color: var(--cream-deeper) !important; }

/* ── TOOLBAR & PAGINATION ── */
.toolbar, .toolbar-amount {
    font-family: var(--font-sans) !important; font-size: var(--ui-xs) !important;
    letter-spacing: 0.12em !important; color: var(--text-muted) !important;
}
.toolbar select, .toolbar-sorter select {
    font-family: var(--font-sans) !important; font-size: var(--ui-sm) !important;
    color: var(--text-body) !important; background-color: var(--cream-dark) !important;
    border: 1px solid var(--cream-deeper) !important; border-radius: 0 !important;
    box-shadow: none !important; padding: 8px 36px 8px 12px !important;
}
.sorter-label {
    font-family: var(--font-sans) !important; font-size: var(--ui-xs) !important;
    letter-spacing: 0.12em !important; text-transform: uppercase !important; color: var(--text-muted) !important;
}
.pages .items {
    display: flex !important; gap: 4px !important; align-items: center !important;
    flex-wrap: wrap !important; list-style: none !important; padding: 0 !important; margin: 0 !important;
}
.pages .item a, .pages .item strong {
    font-family: var(--font-sans) !important; font-size: var(--ui-xs) !important;
    letter-spacing: 0.12em !important; color: var(--text-muted) !important; background: transparent !important;
    border: 1px solid var(--cream-deeper) !important; border-radius: 0 !important; padding: 8px 14px !important;
    text-decoration: none !important; display: inline-flex !important; align-items: center !important;
    justify-content: center !important; min-width: 36px !important; min-height: 36px !important;
    line-height: 1 !important; transition: border-color 0.2s, color 0.2s !important; box-sizing: border-box !important;
}
.pages .item.current strong {
    background: var(--brown) !important; color: var(--cream) !important; border-color: var(--brown) !important;
}
.pages .item a:hover { border-color: var(--gold) !important; color: var(--gold) !important; }

/* ── FILTER SIDEBAR ── */
.filter-title strong {
    font-family: var(--font-serif) !important; font-size: var(--ui-lg) !important;
    font-weight: 400 !important; color: var(--brown) !important;
}
.filter-options-title {
    font-family: var(--font-sans) !important; font-size: var(--ui-xs) !important;
    letter-spacing: 0.16em !important; text-transform: uppercase !important; color: var(--brown) !important;
    font-weight: 500 !important; padding: 14px 0 10px !important;
    border-bottom: 1px solid var(--cream-deeper) !important; margin-bottom: 8px !important;
    display: flex !important; align-items: center !important; justify-content: space-between !important;
    cursor: pointer !important;
}
.filter-options-title::after {
    content: '−'; font-family: var(--font-sans); font-size: 14px; color: var(--gold);
    font-weight: 400; line-height: 1; flex-shrink: 0;
}
.filter-options-item.active .filter-options-title::after,
.filter-options-item._active .filter-options-title::after { content: '+'; }
.filter-options-item {
    border-bottom: 1px solid var(--cream-dark) !important;
    padding-bottom: var(--sp-4) !important; margin-bottom: var(--sp-4) !important;
}
.filter-options-content .item a, .filter-options-content .item a:visited {
    font-family: var(--font-sans) !important; font-size: var(--ui-sm) !important;
    color: var(--text-muted) !important; display: flex !important; align-items: center !important;
    justify-content: space-between !important; padding: 6px 0 6px 8px !important;
    text-decoration: none !important; border-left: 2px solid transparent !important;
    transition: color 0.2s, border-color 0.2s, padding-left 0.2s !important;
}
.filter-options-content .item a:hover {
    color: var(--gold) !important; border-color: var(--gold) !important; padding-left: 12px !important;
}
.filter-options-content .item.active a, .filter-options-content .item._active a {
    color: var(--brown) !important; font-weight: 500 !important;
    border-color: var(--gold) !important; padding-left: 12px !important;
}
.filter-options-content .count { font-size: 10px !important; opacity: 0.45 !important; margin-left: 4px !important; }
.filter-current {
    margin-bottom: var(--sp-4) !important; padding-bottom: var(--sp-4) !important;
    border-bottom: 1px solid var(--cream-dark) !important;
}
.filter-current .item {
    background: var(--cream-dark) !important; border: 1px solid var(--cream-deeper) !important;
    display: inline-flex !important; align-items: center !important; gap: var(--sp-2) !important;
    padding: 5px 10px 5px 12px !important; margin: 0 4px 8px 0 !important;
    font-family: var(--font-sans) !important; font-size: var(--ui-xs) !important;
    color: var(--text-muted) !important; transition: border-color 0.2s, background 0.2s !important;
}
.filter-current .item:hover { border-color: var(--red) !important; background: #fbf0f0 !important; }
.filter-current .action.remove {
    color: var(--text-muted) !important; font-size: 14px !important; line-height: 1 !important;
    text-decoration: none !important; transition: color 0.2s !important; display: inline-flex !important;
    align-items: center !important; padding: 0 !important; border: none !important;
    background: none !important; cursor: pointer !important;
}
.filter-current .action.remove:hover,
.filter-current .item:hover .action.remove { color: var(--red) !important; }
.filter-clear, .action.clear-all {
    font-family: var(--font-sans) !important; font-size: var(--ui-xs) !important;
    letter-spacing: 0.14em !important; text-transform: uppercase !important;
    color: var(--text-muted) !important; text-decoration: none !important;
    border-bottom: 1px solid var(--cream-deeper) !important; padding-bottom: 1px !important;
    transition: color 0.2s, border-color 0.2s !important;
}
.filter-clear:hover, .action.clear-all:hover {
    color: var(--red) !important; border-color: var(--red) !important;
}

/* ── PRINT ── */
@media print {
    .prov-header, .prov-nav, .prov-footer-wrap, .sidebar, .toolbar,
    .breadcrumbs, .action.tocart, .action.primary, .block-minicart, .modal-popup { display: none !important; }
    body { background: #fff !important; color: #000 !important; font-size: 11pt !important; -webkit-font-smoothing: auto !important; }
    a { color: #000 !important; text-decoration: underline !important; }
    .page-main { max-width: 100% !important; padding: 0 !important; }
    .data.table { font-size: 9pt !important; }
}