/**
 * The Provenance — prov-content.css
 * CMS Pages · Contact · Homepage Sections · Animations · Purpletree · Responsive
 *
 * Load order: 4 of 4
 * Requires: prov-base.css (tokens)
 *
 * Fixes vs original:
 * - .prov-split.reverse mobile order conflict resolved
 * - FAQ summary Firefox marker fix (list-style: none)
 * - .prov-cat-grid rows use auto not forced repeat(8) to prevent empty row space
 * - Removed duplicate shop page padding rules (those live in prov-shop.css)
 */


/* ─────────────────────────────────────────────────────────────
   CMS PAGES
───────────────────────────────────────────────────────────── */
.cms-page-view .page-main {
    max-width:  960px !important;
    margin:     0 auto !important;
    padding:    0 !important;
    float:      none !important;
    width:      100% !important;
    box-sizing: border-box !important;
}
.cms-page-view .page-title-wrapper {
    padding:       48px 56px 20px !important;
    margin:        0 !important;
    border-bottom: 1px solid var(--cream-deeper) !important;
    box-sizing:    border-box !important;
}
.cms-page-view .page-title,
.cms-page-view .page-title-wrapper .page-title {
    font-family: var(--font-serif) !important;
    font-size:   44px !important;
    font-weight: 400 !important;
    color:       var(--brown) !important;
    line-height: 1.15 !important;
    text-align:  left !important;
    margin:      0 !important;
    padding:     0 !important;
    border:      none !important;
}
.cms-page-view .columns { display: block !important; max-width: 100% !important; }
.cms-page-view .column.main {
    float:      none !important;
    width:      100% !important;
    padding:    32px 56px 96px !important;
    box-sizing: border-box !important;
}

/* Body copy */
.cms-page-view .column.main p {
    font-family:   var(--font-serif) !important;
    font-size:     var(--ui-md) !important;
    line-height:   1.85 !important;
    color:         var(--text-muted) !important;
    margin-bottom: 1.3em !important;
}
.cms-page-view .column.main h2 {
    font-family:    var(--font-serif) !important;
    font-size:      var(--ui-xl) !important;
    color:          var(--brown) !important;
    font-weight:    400 !important;
    margin:         2.2em 0 0.5em !important;
    padding-bottom: var(--sp-3) !important;
    border-bottom:  1px solid var(--cream-dark) !important;
}
.cms-page-view .column.main h3 {
    font-family:    var(--font-sans) !important;
    font-size:      var(--ui-xs) !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color:          var(--gold) !important;
    font-weight:    500 !important;
    margin:         0 0 var(--sp-3) !important;
}
.cms-page-view .column.main a {
    color:                 var(--gold) !important;
    text-decoration:       underline !important;
    text-underline-offset: 3px !important;
}
.cms-page-view .column.main a:hover { color: var(--brown) !important; }
.cms-page-view .column.main ul,
.cms-page-view .column.main ol { margin: 0.8em 0 1.4em 1.5em !important; padding: 0 !important; }
.cms-page-view .column.main li {
    font-family:   var(--font-serif) !important;
    font-size:     var(--ui-md) !important;
    color:         var(--text-muted) !important;
    line-height:   1.75 !important;
    margin-bottom: 0.4em !important;
}
.cms-page-view .column.main hr { border: none !important; border-top: 1px solid var(--cream-deeper) !important; margin: 3em 0 !important; }
.cms-page-view .column.main [data-content-type="row"] { margin-left: 0 !important; margin-right: 0 !important; }

/* Pull quote */
.cms-page-view .prov-cms-pullquote {
    background: var(--brown) !important;
    margin:     2.5em 0 !important;
    padding:    48px 40px !important;
}
.cms-page-view .prov-cms-pullquote p {
    font-family:  var(--font-serif) !important;
    font-size:    clamp(1.1rem, 2vw, 1.5rem) !important;
    font-style:   italic !important;
    color:        var(--cream) !important;
    line-height:  1.75 !important;
    max-width:    640px;
    margin:       0 auto !important;
    padding-left: var(--sp-6) !important;
    border-left:  2px solid var(--gold) !important;
}

/* Eyebrow label */
.prov-cms-eyebrow-row p, p.prov-cms-eyebrow {
    font-family:    var(--font-sans) !important;
    font-size:      var(--ui-xs) !important;
    letter-spacing: 0.26em !important;
    text-transform: uppercase !important;
    color:          var(--gold) !important;
    display:        flex !important;
    align-items:    center !important;
    gap:            14px !important;
    margin-bottom:  0.3em !important;
}
.prov-cms-eyebrow-row p::before, p.prov-cms-eyebrow::before {
    content:    '';
    display:    inline-block;
    width:      36px;
    height:     1px;
    background: var(--gold);
    opacity:    0.5;
    flex-shrink: 0;
}

/* Info cards */
.prov-cms-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border:  1px solid var(--cream-deeper);
    margin:  2em 0;
}
.prov-cms-card {
    background:   var(--cream);
    padding:      var(--sp-7) var(--sp-6);
    border-right: 1px solid var(--cream-deeper);
}
.prov-cms-card:last-child { border-right: none; }
.prov-cms-card h3 {
    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:         0 0 var(--sp-3) !important;
}
.prov-cms-card p {
    font-family: var(--font-sans) !important;
    font-size:   var(--ui-sm) !important;
    line-height: 1.75 !important;
    color:       var(--text-muted) !important;
    margin:      0 !important;
}

/* FAQ accordion */
.prov-faq-group-title {
    font-family:    var(--font-sans);
    font-size:      var(--ui-xs);
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color:          var(--gold);
    margin:         2.5em 0 0;
    padding-bottom: var(--sp-3);
    border-bottom:  1px solid var(--cream-deeper);
    display:        flex;
    align-items:    center;
    gap:            14px;
}
.prov-faq-group-title::before {
    content:    '';
    display:    inline-block;
    width:      36px;
    height:     1px;
    background: var(--gold);
    opacity:    0.5;
    flex-shrink: 0;
}
details.prov-faq { border-bottom: 1px solid var(--cream-deeper); }
details.prov-faq summary {
    font-family:  var(--font-serif);
    font-size:    var(--ui-md);
    color:        var(--brown);
    padding:      var(--sp-5) var(--sp-7) var(--sp-5) 0;
    cursor:       pointer;
    /* Firefox: hide default marker */
    list-style:   none;
    position:     relative;
    line-height:  1.4;
    transition:   color 0.2s;
}
/* Chrome/Safari: hide default marker */
details.prov-faq summary::-webkit-details-marker { display: none; }
/* Firefox: hide default marker (must be on the element, not ::before) */
details.prov-faq summary::marker { display: none; content: ''; }

details.prov-faq summary::after {
    content:     '+';
    position:    absolute;
    right:       0;
    top:         50%;
    transform:   translateY(-50%);
    font-family: var(--font-serif);
    font-size:   1.5rem;
    color:       var(--gold);
    font-weight: 300;
    line-height: 1;
}
details.prov-faq[open] summary::after { content: '−'; }
details.prov-faq summary:hover { color: var(--gold); }
.prov-faq-body {
    padding:     0 var(--sp-7) var(--sp-5) 0;
    font-family: var(--font-serif);
    font-size:   var(--ui-md);
    color:       var(--text-muted);
    line-height: 1.85;
}
.prov-faq-body p            { margin-bottom: 0.9em; }
.prov-faq-body p:last-child { margin-bottom: 0; }
.prov-faq-body ul           { margin: 0.8em 0 0.8em 1.2em; padding: 0; }
.prov-faq-body li           { margin-bottom: 0.5em; }
.prov-faq-body strong       { color: var(--brown); font-weight: 500; }
.prov-faq-body a            { color: var(--gold); text-decoration: underline; text-underline-offset: 3px; }


/* ─────────────────────────────────────────────────────────────
   CONTACT PAGE
───────────────────────────────────────────────────────────── */
.contact-index-index .page-title-wrapper {
    max-width:     860px !important;
    margin:        0 auto !important;
    padding:       48px var(--gutter) 24px !important;
    box-sizing:    border-box !important;
    width:         100% !important;
    border-bottom: 1px solid var(--cream-deeper) !important;
}
.contact-index-index .page-main {
    max-width:  860px !important;
    margin:     0 auto !important;
    padding:    32px var(--gutter) 96px !important;
    float:      none !important;
    width:      100% !important;
    box-sizing: border-box !important;
}
.contact-index-index fieldset { border: none !important; padding: 0 !important; margin: 0 !important; }
.contact-index-index .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-6) !important;
    padding-bottom: var(--sp-3) !important;
    border-bottom:  1px solid var(--cream-deeper) !important;
    display:        block !important;
}
.contact-index-index .field { margin-bottom: var(--sp-5) !important; }


/* ─────────────────────────────────────────────────────────────
   ANIMATIONS
───────────────────────────────────────────────────────────── */
@keyframes provFadeUp   { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
@keyframes provPulse    { 0%, 100% { opacity: 0.35; } 50% { opacity: 1; } }
@keyframes provHeroZoom { from { transform: scale(1.04); } to { transform: scale(1); } }

.prov-reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.75s ease, transform 0.75s ease; }
.prov-reveal.prov-visible { opacity: 1; transform: none; }
.prov-d1 { transition-delay: 0.1s; }
.prov-d2 { transition-delay: 0.2s; }
.prov-d3 { transition-delay: 0.3s; }
.prov-d4 { transition-delay: 0.4s; }

/* Respect reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
    .prov-reveal { transition: none !important; opacity: 1 !important; transform: none !important; }
    .prov-hero-img { animation: none !important; }
    .prov-hero-eyebrow, .prov-hero-title, .prov-hero-sub,
    .prov-hero-ctas, .prov-hero-scroll { animation: none !important; opacity: 1 !important; }
    .prov-scroll-line { animation: none !important; }
}


/* ─────────────────────────────────────────────────────────────
   HOMEPAGE SECTIONS
───────────────────────────────────────────────────────────── */

/* Hero */
.prov-hero {
    position:    relative;
    height:      88vh;
    min-height:  600px;
    display:     flex;
    align-items: center;
    overflow:    hidden;
    background:  #1a0f07;
}
.prov-hero-img {
    position:            absolute;
    inset:               0;
    background-position: center;
    background-size:     cover;
    transform:           scale(1.04);
    animation:           provHeroZoom 12s ease forwards;
    filter:              blur(10px);
}
.prov-hero-overlay {
    position:   absolute;
    inset:      0;
    background: linear-gradient(105deg, rgba(15,8,3,0.80) 0%, rgba(15,8,3,0.52) 50%, rgba(15,8,3,0.12) 100%);
}
.prov-hero-content {
    position:  relative;
    z-index:   2;
    max-width: var(--max-w);
    margin:    0 auto;
    padding:   0 var(--gutter);
    width:     100%;
}
.prov-hero-eyebrow {
    display:        flex;
    align-items:    center;
    gap:            16px;
    font-family:    var(--font-sans);
    font-size:      var(--text-nav-hp);
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color:          var(--gold);
    margin-bottom:  26px;
    opacity:        0;
    animation:      provFadeUp 1s ease forwards 0.4s;
}
.prov-hero-eyebrow::before { content: ''; display: block; width: 44px; height: 1px; background: var(--gold); opacity: 0.5; }
.prov-hero-title {
    font-size:     var(--text-hero-lg);
    line-height:   1.06;
    color:         var(--white);
    max-width:     780px;
    margin-bottom: 30px;
    opacity:       0;
    animation:     provFadeUp 1s ease forwards 0.6s;
}
.prov-hero-title em { font-style: italic; color: var(--gold-light); }
.prov-hero-sub {
    font-size:     var(--text-hero-sub);
    color:         rgba(242,236,223,0.85);
    max-width:     580px;
    line-height:   1.5;
    margin-bottom: 48px;
    opacity:       0;
    animation:     provFadeUp 1s ease forwards 0.8s;
}
.prov-hero-ctas  { display: flex; gap: 18px; flex-wrap: wrap; opacity: 0; animation: provFadeUp 1s ease forwards 1s; }
.prov-hero-scroll {
    position:    absolute;
    bottom:      40px;
    left:        var(--gutter);
    z-index:     2;
    display:     flex;
    align-items: center;
    gap:         14px;
    opacity:     0;
    animation:   provFadeUp 1s ease forwards 1.4s;
}
.prov-scroll-line { width: 1px; height: 52px; background: linear-gradient(to bottom, var(--gold), transparent); animation: provPulse 2.2s ease-in-out infinite; }
.prov-hero-scroll span { font-family: var(--font-sans); font-size: var(--text-nav-hp); letter-spacing: 0.26em; text-transform: uppercase; color: rgba(242,236,223,0.6); writing-mode: vertical-rl; }

/* Trust band */
.prov-trust { background: var(--brown); }
.prov-trust-inner {
    max-width:   var(--max-w);
    margin:      0 auto;
    padding:     0 var(--gutter);
    display:     grid;
    grid-template-columns: repeat(4, 1fr);
    border-left: 1px solid rgba(255,255,255,0.06);
}
.prov-trust-item  { padding: 26px 30px; border-right: 1px solid rgba(255,255,255,0.06); }
.prov-trust-label { font-family: var(--font-sans); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); margin-bottom: 6px; opacity: 0.8; }
.prov-trust-value { font-family: var(--font-sans); font-size: 0.9rem; color: var(--cream); text-transform: uppercase; letter-spacing: 0.16em; }

/* Splits */
.prov-split { display: grid; grid-template-columns: 1fr 1fr; }
.prov-split-img { overflow: hidden; position: relative; min-height: 480px; }
.prov-split-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s ease; }
.prov-split-img:hover img { transform: scale(1.03); }
.prov-split-body { background: var(--cream); display: flex; align-items: center; padding: 80px var(--gutter); }
.prov-split-body-inner { max-width: 520px; }
.prov-eyebrow {
    font-family:    var(--font-sans);
    font-size:      var(--text-nav-hp);
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color:          var(--gold);
    margin-bottom:  14px;
    display:        flex;
    align-items:    center;
    gap:            14px;
}
.prov-eyebrow::before { content: ''; display: inline-block; width: 36px; height: 1px; background: var(--gold); opacity: 0.5; flex-shrink: 0; }
.prov-split-body h2    { font-size: var(--text-h2); margin-bottom: 24px; }
.prov-split-body h2 em { font-style: italic; color: var(--brown-light); }
.prov-split-body p     { font-size: var(--text-p-hp); color: var(--text-muted); line-height: 1.55; margin-bottom: 20px; }
.prov-text-link {
    display:         inline-flex;
    align-items:     center;
    gap:             12px;
    margin-top:      22px;
    font-family:     var(--font-sans);
    font-size:       var(--text-nav-hp);
    letter-spacing:  0.2em;
    text-transform:  uppercase;
    color:           var(--brown);
    text-decoration: none;
    border-bottom:   1px solid var(--gold);
    padding-bottom:  3px;
    transition:      all 0.25s;
}
.prov-text-link:hover { color: var(--gold); gap: 18px; }

/* Reverse variant — desktop only. Mobile always stacks img-top, body-bottom. */
.prov-split.reverse .prov-split-img  { order: 2; }
.prov-split.reverse .prov-split-body { order: 1; }
.prov-split.alt-bg .prov-split-body  { background: var(--cream-dark); }

/* Categories grid */
.prov-categories { padding: 100px 0; background: var(--cream-dark); }
.prov-section-head {
    max-width:       var(--max-w);
    margin:          0 auto;
    padding:         0 var(--gutter) 52px;
    display:         flex;
    align-items:     flex-end;
    justify-content: space-between;
}
.prov-section-head h2    { font-size: var(--text-h2); line-height: 1.18; }
.prov-section-head h2 em { font-style: italic; color: var(--brown-light); }
.prov-view-all {
    font-family:     var(--font-sans);
    font-size:       var(--text-nav-hp);
    letter-spacing:  0.2em;
    text-transform:  uppercase;
    color:           var(--text-muted);
    text-decoration: none;
    border-bottom:   1px solid var(--cream-deeper);
    padding-bottom:  3px;
    transition:      color 0.2s, border-color 0.2s;
    white-space:     nowrap;
}
.prov-view-all:hover { color: var(--gold); border-color: var(--gold); }
.prov-cat-grid {
    max-width: var(--max-w);
    margin:    0 auto;
    padding:   0 var(--gutter);
    display:   grid;
    grid-template-columns: repeat(6, 1fr);
    /* auto rows — let content determine height, not hardcoded repeat */
    grid-auto-rows:        200px;
    gap:       12px;
}
.prov-cat       { position: relative; overflow: hidden; display: block; background: var(--brown); text-decoration: none; }
.prov-cat.span2 { grid-column: span 2; grid-row: span 2; }
.prov-cat-bg    { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 0.6s ease; filter: brightness(0.65); }
.prov-cat:hover .prov-cat-bg { transform: scale(1.05); filter: brightness(0.5); }
.prov-cat-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(20,10,3,0.8), transparent 55%); }
.prov-cat-label { position: absolute; bottom: 0; left: 0; right: 0; padding: 16px 18px; }
.prov-cat-label span { font-family: var(--font-sans); font-size: 9.5px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(242,236,223,0.6); margin-bottom: 2px; display: block; }
.prov-cat-label h3       { font-size: var(--text-h3); color: var(--white); margin: 0; }
.prov-cat.span2 .prov-cat-label h3 { font-size: 2.4rem; }

/* Promise / authenticity */
.prov-promise { background: var(--brown); }
.prov-promise-split { display: grid; grid-template-columns: 1fr 1fr; }
.prov-promise-img { position: relative; overflow: hidden; min-height: 400px; }
.prov-promise-img img { filter: brightness(0.6) sepia(0.15); width: 100% !important; height: 100% !important; object-fit: cover !important; }
.prov-promise-img-overlay { position: absolute; inset: 0; background: linear-gradient(to right, transparent 60%, var(--brown)); }
.prov-promise-content { padding: 72px 64px; display: flex; flex-direction: column; justify-content: center; }
.prov-promise-content h2    { font-size: var(--text-h2); color: var(--cream); margin-bottom: 48px; }
.prov-promise-content h2 em { font-style: italic; color: var(--gold-light); }
.prov-steps    { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 40px; }
.prov-step-num   { font-size: 3.2rem; color: rgba(184,150,90,0.18); line-height: 1; margin-bottom: 10px; }
.prov-step-title { font-family: var(--font-sans); font-size: var(--text-nav-hp); letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; }
.prov-step-body  { font-size: var(--text-step); color: rgba(242,236,223,0.65); line-height: 1.55; margin: 0; }

/* Stats */
.prov-stats {
    background:    var(--cream-dark);
    border-top:    1px solid var(--cream-deeper);
    border-bottom: 1px solid var(--cream-deeper);
    padding:       64px var(--gutter);
}
.prov-stats-inner {
    max-width:             var(--max-w);
    margin:                0 auto;
    display:               grid;
    grid-template-columns: 1fr 1px 1fr 1px 1fr;
    align-items:           center;
    text-align:            center;
}
.prov-stat-div { background: var(--cream-deeper); height: 60px; }
.prov-stat-n   { font-size: var(--text-stats); color: var(--brown); line-height: 1; margin-bottom: 8px; }
.prov-stat-l   { font-family: var(--font-sans); font-size: var(--text-nav-hp); letter-spacing: 0.2em; text-transform: uppercase; color: var(--text-muted); }


/* ─────────────────────────────────────────────────────────────
   PURPLETREE MARKETPLACE
───────────────────────────────────────────────────────────── */
.pts-newbtn {
    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;
    border-radius:  0 !important;
    padding:        12px 24px !important;
    display:        inline-block !important;
    cursor:         pointer !important;
    transition:     background 0.25s, color 0.25s !important;
}
.pts-newbtn:hover { background: transparent !important; color: var(--gold) !important; }

.pts-newbtn-next, a.pts-newbtn-next, button.pts-newbtn-next {
    background:     var(--gold) !important;
    border:         1px solid var(--gold) !important;
    border-radius:  0 !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:        12px 24px !important;
    display:        inline-block !important;
    cursor:         pointer !important;
    transition:     background 0.25s, color 0.25s !important;
}
.pts-newbtn-next:hover, a.pts-newbtn-next:hover, button.pts-newbtn-next:hover {
    background: transparent !important; color: var(--gold) !important;
}
.pts-newbtn-next span, .pts-newbtn-next > span,
a.pts-newbtn-next span, button.pts-newbtn-next span {
    background: transparent !important; color: inherit !important; font-family: inherit !important;
    font-size: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important;
    font-weight: inherit !important; border: none !important; padding: 0 !important;
    display: inline !important; line-height: inherit !important; white-space: normal !important;
}

/* Seller cards */
.purpletree_seller {
    border: 1px solid var(--cream-deeper) !important; border-radius: 0 !important;
    background: var(--white) !important; margin: var(--sp-4) 0 !important;
    padding: var(--sp-5) !important; transition: box-shadow 0.3s !important; display: flex !important;
}
.purpletree_seller:hover { box-shadow: 0 4px 24px rgba(58,44,27,0.09) !important; }
.purpletree_seller .product_count {
    background: var(--cream-dark) !important; color: var(--text-muted) !important;
    font-family: var(--font-sans) !important; font-size: var(--ui-xs) !important;
    letter-spacing: 0.12em !important; padding: 4px 10px !important; border-radius: 0 !important;
}

/* Mobile seller/account menu */
.pts-block-collapsible-nav, .pts-block-collapsible-nav .content {
    background: var(--white) !important; border: 1px solid var(--cream-deeper) !important;
    border-top: 3px solid var(--gold) !important;
}
.pts-block-collapsible-nav .item a, .pts-block-collapsible-nav .item a:visited {
    color: var(--brown-mid) !important; font-family: var(--font-sans) !important; font-size: 13px !important;
    padding: 10px 20px !important; display: block !important; border-left: 3px solid transparent !important;
    transition: color 0.2s, border-color 0.2s, background 0.2s !important;
}
.pts-block-collapsible-nav .item a:hover {
    color: var(--brown) !important; border-left-color: var(--gold) !important; background: var(--cream) !important;
}
.pts-block-collapsible-nav .item.current a,
.pts-block-collapsible-nav .item.current strong {
    color: var(--brown) !important; font-weight: 500 !important;
    border-left: 3px solid var(--gold) !important; background: var(--cream-dark) !important;
}

/* Browse-sellers layout */
.row-browes-pts { display: flex !important; }
.column1 { flex: 0 0 20% !important; padding: 10px !important; }
.column2 { flex: 1 !important; padding: 10px !important; }
.pts-store-banner        { width: 100% !important; height: auto !important; display: block !important; }
.pts-rating-box, .pts-rating-review { filter: sepia(1) saturate(2) hue-rotate(5deg) brightness(0.85) !important; }
.pts-input-group-addon   { background: var(--cream-dark) !important; border: 1px solid var(--cream-deeper) !important; color: var(--text-muted) !important; font-family: var(--font-sans) !important; border-radius: 0 !important; padding: 6px 12px !important; }
.purpletree-txtred       { color: var(--red) !important; font-family: var(--font-sans) !important; font-size: var(--ui-sm) !important; }
.purpletree-seprator     { border-bottom: 1px solid var(--cream-deeper) !important; margin-bottom: var(--sp-5) !important; cursor: pointer !important; }
.pts-menu-heading        { font-family: var(--font-sans) !important; font-size: var(--ui-xs) !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: var(--gold) !important; padding: var(--sp-4) var(--sp-5) !important; }
.pts-seller-payment      { border: 1px solid var(--cream-deeper) !important; border-radius: 0 !important; }
.pts-payment-tr td       { font-family: var(--font-sans) !important; font-size: var(--ui-sm) !important; color: var(--text-muted) !important; border: none !important; padding: 10px 0 !important; }
.productcategorytree li label { font-family: var(--font-sans) !important; font-size: var(--ui-sm) !important; color: var(--text-muted) !important; cursor: pointer !important; }
.pts-filter-label { font-family: var(--font-sans) !important; font-size: var(--ui-xs) !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; color: var(--brown) !important; font-weight: 500 !important; }
.pts-filter-value { font-family: var(--font-sans) !important; color: var(--text-muted) !important; font-size: var(--ui-sm) !important; }
.group22          { color: var(--brown) !important; font-family: var(--font-sans) !important; }
.seller_groups2   { font-family: var(--font-sans) !important; font-size: var(--ui-md) !important; line-height: 1.75 !important; color: var(--text-muted) !important; }
.img-thumbnail    { border: 1px solid var(--cream-deeper) !important; border-radius: 0 !important; background: var(--white) !important; padding: 4px !important; }
.pts-pagination   { font-family: var(--font-sans) !important; font-size: var(--ui-xs) !important; letter-spacing: 0.12em !important; }
.purpletree-tableproduct { background-color: var(--cream-dark) !important; }
.custom-pager .limiter { display: block !important; }


/* ─────────────────────────────────────────────────────────────
   GLOBAL RESPONSIVE
   Note: shop page padding rules live in prov-shop.css.
   This section covers homepage + CMS only.
───────────────────────────────────────────────────────────── */

/* ── Tablet ≤1024px ── */
@media (max-width: 1024px) {
    :root { --gutter: 32px; }

    .breadcrumbs { padding-left: 32px !important; padding-right: 32px !important; }

    .prov-hero-content, .prov-hero-scroll { padding-left: 32px; padding-right: 32px; }
    .prov-hero-scroll  { left: 32px; }
    .prov-trust-inner  { padding-left: 0; padding-right: 0; }
    .prov-split-body   { padding: 56px 40px; }
    .prov-promise-content { padding: 52px 36px; }
    .prov-section-head, .prov-cat-grid { padding-left: 32px; padding-right: 32px; }
    .prov-stats        { padding-left: 32px; padding-right: 32px; }

    .cms-page-view .page-title-wrapper { padding-left: 32px !important; padding-right: 32px !important; }
    .cms-page-view .column.main        { padding-left: 32px !important; padding-right: 32px !important; }
}

/* ── Mobile ≤768px ── */
@media (max-width: 768px) {
    :root { --gutter: 20px; --header-h: 64px; }

    body { overflow-x: hidden !important; }

    .breadcrumbs { padding-left: 20px !important; padding-right: 20px !important; }

    /* Hero */
    .prov-hero { height: 78vh; min-height: 480px; }
    .prov-hero-content, .prov-hero-scroll { padding-left: 20px; padding-right: 20px; }
    .prov-hero-scroll  { left: 20px; }
    .prov-hero-ctas    { flex-direction: column; gap: 12px; }
    .prov-btn-gold, .prov-btn-outline { text-align: center; padding: 14px 28px; }

    .prov-trust-inner { padding: 0; grid-template-columns: repeat(2, 1fr); border-left: none; }
    .prov-trust-item  { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.06); }
    .prov-trust-item:nth-child(odd)  { border-right: 1px solid rgba(255,255,255,0.06); }
    .prov-trust-item:nth-child(3),
    .prov-trust-item:nth-child(4)    { border-bottom: none; }

    .prov-split, .prov-promise-split { grid-template-columns: 1fr; }
    /* On mobile: always img top, body below — regardless of .reverse */
    .prov-split .prov-split-img,
    .prov-split.reverse .prov-split-img  { min-height: 280px; height: 280px; order: 1 !important; }
    .prov-split .prov-split-body,
    .prov-split.reverse .prov-split-body { order: 2 !important; padding: 40px 20px; }
    .prov-promise-img  { min-height: 280px; height: 280px; }
    .prov-promise-content { padding: 40px 20px; }
    .prov-promise-img-overlay { background: linear-gradient(to bottom, transparent 60%, var(--brown)); }
    .prov-steps { grid-template-columns: 1fr; gap: 28px; }

    .prov-section-head { flex-direction: column; align-items: flex-start; gap: 12px; padding-left: 20px; padding-right: 20px; }
    /* Cat grid — 2 col, auto rows */
    .prov-cat-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 140px; gap: 8px; padding-left: 20px; padding-right: 20px; }
    .prov-cat.span2 { grid-column: span 1; grid-row: span 1; }

    .prov-stats { padding: 48px 20px; }
    .prov-stats-inner { grid-template-columns: 1fr; gap: 32px; }
    .prov-stat-div    { display: none; }

    /* CMS */
    .cms-page-view .page-title-wrapper { padding-left: 20px !important; padding-right: 20px !important; padding-top: 32px !important; }
    .cms-page-view .column.main        { padding-left: 20px !important; padding-right: 20px !important; overflow-x: hidden !important; }
    .cms-page-view .prov-cms-pullquote { padding: 36px 24px !important; }
    .prov-cms-cards { grid-template-columns: 1fr; }
    .prov-cms-card  { border-right: none; border-bottom: 1px solid var(--cream-deeper); }
    .prov-cms-card:last-child { border-bottom: none; }

    /* Purpletree */
    .row-browes-pts { flex-direction: column-reverse !important; }
    .column1, .column2 { flex: none !important; width: 100% !important; padding: 8px 0 !important; }
}

/* ── Small phones ≤480px ── */
@media (max-width: 480px) {
    .prov-hero { height: 75vh; min-height: 380px; }

    .prov-trust-inner { grid-template-columns: 1fr; }
    .prov-trust-item:nth-child(odd) { border-right: none !important; }
    .prov-trust-item:nth-child(3)   { border-bottom: 1px solid rgba(255,255,255,0.06) !important; }

    /* Single column cat grid on very small screens — auto rows avoid fixed 1280px height */
    .prov-cat-grid { grid-template-columns: 1fr; grid-auto-rows: 160px; }
    .prov-cat.span2 { grid-column: span 1; }
}

/* ── Tablet ≤1024px — Purpletree ── */
@media (max-width: 1024px) {
    .column1 { flex: 0 0 26% !important; }
}