/*
Theme Name:   Crystal World
Theme URI:    https://crystal-world.net
Description:  Crystal World — Fine Mineral Specimens. Dark collector theme. Child of Storefront.
Author:       Crystal World
Author URI:   https://crystal-world.net
Template:     storefront
Version:      4.0.2
License:      GNU General Public License v2 or later
Text Domain:  crystal-world
*/

/* ── VARIABLES ────────────────────────────────────────────── */
:root {
    --black:   #0a0a0a;
    --dark:    #111111;
    --dark2:   #1a1a1a;
    --dark3:   #242424;
    --gold:    #c9a96e;
    --gold2:   #e8c98a;
    --text:    #e0ddd8;
    --muted:   #888880;
    --border:  #2a2a2a;
    --white:   #f5f2ed;

    /* Override WooCommerce CSS vars */
    --wc-content-bg: #0a0a0a;
    --wc-secondary: #1a1a1a;
    --wc-secondary-text: #e0ddd8;
    --wc-subtext: #888880;
}

/* ── RESET & BASE ─────────────────────────────────────────── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    background: var(--black) !important;
    color: var(--text) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif !important;
    color: var(--white) !important;
    margin: 0;
}

/* ── STOREFRONT OVERRIDES ─────────────────────────────────── */
.storefront-handheld-footer-bar { display: none !important; }
.site-info { display: none !important; }
#footer-widgets { display: none !important; }
.storefront-breadcrumb { display: none !important; }
.site-footer { display: none !important; }
.col-full { max-width: none !important; padding: 0 !important; width: 100% !important; }
#content.site-content { padding: 0 !important; margin: 0 !important; }
#page.hfeed.site { margin: 0 !important; }
.hentry { border: none !important; margin: 0 !important; padding: 0 !important; }
.entry-content { margin: 0 !important; }
.cw-page-content { display: block !important; width: 100% !important; max-width: none !important; float: none !important; }

/* Storefront header — completely hidden, replaced by our nav */
header#masthead { display: none !important; }

/* ── NAVIGATION ───────────────────────────────────────────── */
nav.cw-nav {
    position: sticky; top: 0; z-index: 100;
    background: rgba(10,10,10,0.96);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border);
}
.cw-nav-inner {
    max-width: 1280px; margin: 0 auto;
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 2rem; height: 64px;
}
.cw-logo {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.3rem; letter-spacing: 0.08em;
    color: var(--white) !important; text-decoration: none;
}
.cw-logo span { color: var(--gold); }
.cw-nav-links { display: flex; gap: 0; list-style: none; margin: 0; padding: 0; }
.cw-nav-links > li { position: relative; }
.cw-nav-links > li > a {
    display: block; padding: 0 1.1rem; height: 64px;
    line-height: 64px; font-size: 0.8rem; letter-spacing: 0.12em;
    text-transform: uppercase; color: #aaa !important;
    transition: color 0.2s; text-decoration: none;
}
.cw-nav-links > li > a:hover { color: var(--gold) !important; }
.cw-nav-links > li:hover .cw-dropdown { opacity: 1; pointer-events: all; transform: translateY(0); }
.cw-dropdown {
    position: absolute; top: 64px; left: 0;
    background: var(--dark2); border: 1px solid var(--border);
    min-width: 220px; padding: 0.5rem 0;
    opacity: 0; pointer-events: none;
    transform: translateY(-8px);
    transition: all 0.2s; z-index: 99;
}
.cw-dropdown a {
    display: block; padding: 0.6rem 1.4rem;
    font-size: 0.82rem; color: var(--muted) !important;
    transition: color 0.2s, background 0.2s; text-decoration: none;
}
.cw-dropdown a:hover { color: var(--gold) !important; background: var(--dark3); }
.cw-nav-right { display: flex; align-items: center; gap: 1.2rem; }
.cw-lang-switch { display: flex; gap: 0.3rem; }
.cw-lang-switch a {
    font-size: 0.72rem; letter-spacing: 0.08em;
    color: var(--muted) !important; padding: 0.2rem 0.4rem;
    border: 1px solid transparent; transition: all 0.2s;
    text-decoration: none;
}
.cw-lang-switch a:hover,
.cw-lang-switch a.active { color: var(--gold) !important; border-color: var(--gold); }
.cw-nav-search { color: var(--muted); cursor: pointer; transition: color 0.2s; background: none; border: none; padding: 0; line-height: 1; }
.cw-nav-search:hover { color: var(--gold); }
.cw-nav-search svg { display: block; }
.cw-cart-btn {
    display: flex; align-items: center; gap: 0.4rem;
    font-size: 0.78rem; letter-spacing: 0.08em;
    color: var(--muted) !important; cursor: pointer; transition: color 0.2s;
    text-decoration: none;
}
.cw-cart-btn:hover { color: var(--gold) !important; }
.cw-cart-count {
    background: var(--gold); color: var(--black);
    font-size: 0.65rem; font-weight: 700;
    width: 18px; height: 18px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
}
.cw-mobile-menu-btn {
    display: none; background: none; border: none;
    color: var(--muted); cursor: pointer; padding: 0.3rem;
}
.cw-mobile-menu-btn svg { display: block; }
.cw-mobile-lang { display: none; }

/* ── HERO ─────────────────────────────────────────────────── */
.cw-hero { background: var(--black); overflow: hidden; }
.cw-hero-inner {
    display: grid; grid-template-columns: 1fr 1.5fr;
    align-items: stretch; gap: 0;
    max-width: 1280px; margin: 0 auto; padding: 0 2rem;
}
.cw-hero-content {
    padding: 5rem 0 4rem 0;
    display: flex; flex-direction: column; justify-content: center;
    position: relative; z-index: 2;
    margin-right: -3rem;
}
.cw-hero-photo {
    position: relative; z-index: 1;
    overflow: hidden; background: var(--black);
    transform: translateX(-10%);
    width: calc(100% + 10%);
}
.cw-hero-photo::before {
    content: '';
    position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(to right,
        var(--black) 0%,
        rgba(10,10,10,0.8) 15%,
        rgba(10,10,10,0.2) 30%,
        transparent 50%);
    pointer-events: none;
}
.cw-hero-photo img {
    width: 100%; height: 100%;
    object-fit: contain; object-position: center;
    display: block;
}
.cw-hero-img-label {
    position: absolute; z-index: 2;
    bottom: 10%; right: 1.5rem;
    text-align: right;
}
.cw-hero-img-mineral {
    font-family: 'Playfair Display', serif;
    font-size: 1rem; color: rgba(255,255,255,0.88) !important;
    display: block; margin-bottom: 0.3rem;
}
.cw-hero-img-origin {
    font-size: 0.62rem; letter-spacing: 0.18em;
    text-transform: uppercase; color: var(--gold) !important;
    display: block;
}
.cw-hero-label {
    font-size: 0.72rem; letter-spacing: 0.25em; text-transform: uppercase;
    color: var(--gold) !important; margin-bottom: 1.5rem;
    font-family: 'Inter', sans-serif !important;
}
.cw-hero-title {
    font-family: 'Playfair Display', serif !important;
    font-size: clamp(2.2rem, 3.5vw, 3.8rem);
    line-height: 1.15; font-weight: 600;
    color: var(--white) !important;
    margin-bottom: 1.5rem;
    width: calc(100% + 6rem);
}
.cw-hero-title em { color: var(--gold) !important; font-style: italic; }
.cw-hero-sub {
    font-size: 0.95rem; color: var(--muted) !important;
    line-height: 1.7; margin-bottom: 2.5rem;
    max-width: 88%;
    font-family: 'Inter', sans-serif !important;
}
.cw-hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; }

/* Stats bar */
.cw-stats-wrap { max-width: 1280px; margin: 0 auto; padding: 0 2rem; }
.cw-stats-bar {
    display: flex; gap: 3rem;
    padding: 2rem 0;
    border-top: 1px solid var(--border);
}
.cw-stat { text-align: left; }
.cw-stat-num {
    font-family: 'Playfair Display', serif !important;
    font-size: 2rem; color: var(--gold) !important; display: block;
}
.cw-stat-label {
    font-size: 0.7rem; letter-spacing: 0.15em; text-transform: uppercase;
    color: var(--muted) !important;
    font-family: 'Inter', sans-serif !important;
}

/* ── BUTTONS ──────────────────────────────────────────────── */
.cw-btn {
    display: inline-flex; align-items: center; gap: 0.5rem;
    padding: 0.85rem 2rem; font-size: 0.8rem;
    letter-spacing: 0.12em; text-transform: uppercase;
    cursor: pointer; transition: all 0.25s; border: none;
    font-family: 'Inter', sans-serif !important;
    text-decoration: none;
}
.cw-btn-gold {
    background: var(--gold); color: var(--black) !important; font-weight: 600;
}
.cw-btn-gold:hover { background: var(--gold2); color: var(--black) !important; }
.cw-btn-outline {
    background: transparent; color: var(--text) !important;
    border: 1px solid var(--border);
}
.cw-btn-outline:hover { border-color: var(--gold); color: var(--gold) !important; }

/* ── SECTION COMMON ───────────────────────────────────────── */
.cw-section { padding: 5rem 0; }
.cw-container { max-width: 1280px; margin: 0 auto; padding: 0 2rem; }
.cw-section-label {
    font-size: 0.7rem; letter-spacing: 0.25em; text-transform: uppercase;
    color: var(--gold) !important; margin-bottom: 0.8rem;
    font-family: 'Inter', sans-serif !important; display: block;
}
.cw-section-title {
    font-family: 'Playfair Display', serif !important;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    color: var(--white) !important; margin-bottom: 1rem;
}
.cw-section-sub { color: var(--muted) !important; max-width: 480px; line-height: 1.7; margin-bottom: 3rem; }
.cw-section-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 3rem; }
.cw-view-all {
    font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--gold) !important; border-bottom: 1px solid transparent;
    transition: border-color 0.2s; text-decoration: none;
    font-family: 'Inter', sans-serif !important;
}
.cw-view-all:hover { border-color: var(--gold); }
.cw-divider { width: 40px; height: 1px; background: var(--gold); margin: 0.8rem 0; }

/* ── FEATURED SECTION ─────────────────────────────────────── */
.cw-featured-section { background: var(--dark); }
.cw-featured-inner {
    display: grid; grid-template-columns: 1fr 1fr;
    min-height: 420px; align-items: stretch;
    max-width: 1280px; margin: 0 auto; padding: 0 2rem;
}
.cw-featured-img-col {
    position: relative; overflow: hidden;
}
.cw-featured-img-col::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(to left, var(--dark) 0%, transparent 35%);
    pointer-events: none;
}
.cw-featured-img-col img {
    width: 100%;
    height: auto;
    display: block;
}
.cw-featured-text {
    padding: 4rem 0 4rem 3rem;
    display: flex; flex-direction: column; justify-content: center;
}
.cw-featured-desc {
    font-size: 0.92rem; color: var(--muted) !important;
    line-height: 1.8; max-width: 360px; margin-bottom: 2rem;
    font-family: 'Inter', sans-serif !important;
}

/* ── MINERAL GRID ─────────────────────────────────────────── */
.cw-minerals-section { padding: 3rem 0; }
.cw-minerals-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5px; }
.cw-mineral-card { position: relative; overflow: hidden; cursor: pointer; }
.cw-mineral-card a { display: block; text-decoration: none; }
.cw-mineral-card:hover .cw-mineral-img { transform: scale(1.06); }
.cw-mineral-card:hover .cw-mineral-overlay { opacity: 1; }
.cw-mineral-img {
    aspect-ratio: 4/3;
    transition: transform 0.5s ease;
    object-fit: contain; width: 100%; display: block;
}
.cw-mineral-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, transparent 60%);
    opacity: 0; transition: opacity 0.3s;
    display: flex; flex-direction: column; justify-content: flex-end;
    padding: 1.5rem 1.5rem 3.4rem;
    z-index: 2;
}
.cw-mineral-info { z-index: 1; }
.cw-atc-btn {
    position: absolute; bottom: 0; left: 0; right: 0; z-index: 3;
    padding: 0.65rem 1rem;
    background: var(--gold); color: var(--black) !important;
    text-align: center; font-size: 0.7rem; letter-spacing: 0.12em;
    text-transform: uppercase; font-weight: 700;
    font-family: 'Inter', sans-serif !important;
    text-decoration: none; display: block;
    opacity: 0; transform: translateY(4px);
    transition: opacity 0.25s ease, transform 0.25s ease, background 0.15s;
}
.cw-mineral-card:hover .cw-atc-btn { opacity: 1; transform: translateY(0); }
.cw-atc-btn:hover { background: #d4a84b !important; }
.cw-atc-btn.loading { opacity: 0.7; pointer-events: none; }
.cw-mineral-badge {
    position: absolute; top: 1rem; right: 1rem;
    background: var(--gold); color: var(--black) !important;
    font-size: 0.62rem; letter-spacing: 0.1em; text-transform: uppercase;
    padding: 0.25rem 0.6rem; font-weight: 600;
    font-family: 'Inter', sans-serif !important;
}
.cw-mineral-badge.new-arrival { background: #2a6a3a; color: var(--white) !important; }
.cw-mineral-name { font-family: 'Playfair Display', serif !important; font-size: 1.1rem; color: var(--white) !important; margin-bottom: 0.2rem; }
.cw-mineral-loc { font-size: 0.75rem; color: var(--gold) !important; letter-spacing: 0.08em; margin-bottom: 0.8rem; }
.cw-mineral-price { font-size: 0.9rem; color: var(--white) !important; font-weight: 500; }
.cw-mineral-info {
    position: absolute; bottom: 0; left: 0; right: 0;
    padding: 1rem 1.2rem;
    background: linear-gradient(to top, rgba(0,0,0,0.85), transparent);
}
.cw-mineral-name-sm { font-family: 'Playfair Display', serif !important; font-size: 0.95rem; color: var(--white) !important; }
.cw-mineral-loc-sm { font-size: 0.7rem; color: var(--gold) !important; }
.cw-mineral-placeholder {
    aspect-ratio: 4/3;
    background: var(--dark2);
    display: flex; align-items: center; justify-content: center;
    color: var(--border);
    font-size: 0.75rem; letter-spacing: 0.05em;
    text-align: center; padding: 1rem;
}

/* ── NEW ARRIVALS ─────────────────────────────────────────── */
.cw-new-arrivals { background: var(--dark); }
.cw-arrivals-list { display: flex; flex-direction: column; }
.cw-arrival-row {
    display: flex; align-items: center; gap: 0;
    border-bottom: 1px solid var(--border);
    transition: background 0.2s;
}
.cw-arrival-row-link {
    flex: 1; min-width: 0;
    display: flex; align-items: center;
    text-decoration: none; cursor: pointer;
}
.cw-arrival-row:first-child { border-top: 1px solid var(--border); }
.cw-arrival-row:hover { background: rgba(255,255,255,0.025); }
.cw-arrival-thumb {
    width: 100px; height: 72px; flex-shrink: 0;
    object-fit: cover;
}
.cw-arrival-thumb-placeholder {
    width: 100px; height: 72px; flex-shrink: 0;
    background: var(--dark3);
}
.cw-arrival-info {
    flex: 1; min-width: 0; max-width: 480px;
    padding: 0 2rem;
    border-left: 1px solid var(--border);
}
.cw-arrival-species {
    font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase;
    color: var(--gold) !important; margin-bottom: 0.2rem;
    font-family: 'Inter', sans-serif !important;
}
.cw-arrival-name {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.15rem; color: var(--gold) !important;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cw-arrival-meta { font-size: 0.72rem; color: var(--muted) !important; margin-top: 0.15rem; font-family: 'Inter', sans-serif !important; }
.cw-arrival-price {
    font-size: 1.1rem; color: var(--white) !important; font-weight: 500;
    white-space: nowrap; padding: 0 2rem;
    border-left: 1px solid var(--border);
    font-family: 'Playfair Display', serif !important;
}
.cw-arrival-price span { font-size: 0.68rem; color: var(--muted) !important; display: block; font-family: 'Inter', sans-serif !important; }
.cw-btn-sm {
    font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase;
    padding: 0 1.8rem; height: 72px;
    border: none; border-left: 1px solid var(--border);
    color: var(--muted) !important; background: transparent;
    cursor: pointer; transition: all 0.2s; font-family: 'Inter', sans-serif !important;
    white-space: nowrap; text-decoration: none;
    display: flex; align-items: center;
}
.cw-btn-sm:hover { background: var(--gold); color: var(--black) !important; border-color: var(--gold); }

/* ── LOCALITIES ───────────────────────────────────────────── */
.cw-localities-section { padding: 3rem 0; }
.cw-localities-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5px; }
.cw-locality-card { position: relative; overflow: hidden; cursor: pointer; }
.cw-locality-card:hover .cw-locality-img { transform: scale(1.04); }
.cw-locality-img {
    aspect-ratio: 16/9;
    transition: transform 0.5s;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.7rem; color: rgba(255,255,255,0.15);
    letter-spacing: 0.05em;
}
.loc-brazil { background: linear-gradient(160deg, #0d1f0d, #1a3d1a, #2d4a0d); }
.loc-namibia { background: linear-gradient(160deg, #2d1a0d, #4a3000, #2d2d0d); }
.loc-indonesia { background: linear-gradient(160deg, #0d1f2d, #002d4a, #0d2d1f); }
.loc-europe { background: linear-gradient(160deg, #1a0d2d, #2d1a4a, #0d1a2d); }
.cw-locality-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.1) 60%);
    display: flex; flex-direction: column; justify-content: flex-end;
    padding: 2rem;
}
.cw-locality-tag {
    font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase;
    color: var(--gold) !important; margin-bottom: 0.4rem;
    font-family: 'Inter', sans-serif !important;
}
.cw-locality-name { font-family: 'Playfair Display', serif !important; font-size: 1.6rem; color: var(--white) !important; margin-bottom: 0.3rem; }
.cw-locality-sub { font-size: 0.78rem; color: rgba(255,255,255,0.6) !important; margin-bottom: 1rem; font-family: 'Inter', sans-serif !important; }
.cw-locality-count { font-size: 0.72rem; letter-spacing: 0.1em; color: var(--gold) !important; font-family: 'Inter', sans-serif !important; }

/* ── ABOUT ────────────────────────────────────────────────── */
.cw-about-section { background: var(--dark); }
.cw-about-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; }
.cw-about-img-wrap { position: relative; }
.cw-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.cw-about-grid-img { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; }
.cw-about-badge {
    position: absolute; bottom: -1.5rem; right: -1.5rem;
    background: var(--gold); color: var(--black) !important;
    padding: 1.5rem; text-align: center;
}
.cw-about-badge-num { font-family: 'Playfair Display', serif !important; font-size: 2.2rem; font-weight: 700; display: block; color: var(--black) !important; }
.cw-about-badge-txt { font-size: 0.65rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--black) !important; font-family: 'Inter', sans-serif !important; }
.cw-about-content { padding-left: 2rem; }
.cw-about-title { font-family: 'Playfair Display', serif !important; font-size: 2.2rem; color: var(--white) !important; margin-bottom: 1.5rem; line-height: 1.2; }
.cw-about-text { color: var(--muted) !important; line-height: 1.8; margin-bottom: 1.2rem; font-family: 'Inter', sans-serif !important; }
.cw-about-highlights { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 2rem 0; }
.cw-highlight { border-left: 2px solid var(--gold); padding-left: 1rem; }
.cw-highlight-num { font-family: 'Playfair Display', serif !important; font-size: 1.4rem; color: var(--gold) !important; display: block; }
.cw-highlight-txt { font-size: 0.72rem; letter-spacing: 0.08em; color: var(--muted) !important; text-transform: uppercase; font-family: 'Inter', sans-serif !important; }

/* ── SHOWS ────────────────────────────────────────────────── */
.cw-shows-section { padding: 5rem 0; }
.cw-shows-featured { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5px; margin-bottom: 1.5px; }
.cw-shows-card {
    background: var(--dark2); padding: 2.5rem;
    display: flex; align-items: center; gap: 2rem;
    text-decoration: none; transition: border-color 0.2s, background 0.2s;
}
.cw-shows-card.featured { border: 1px solid var(--gold); }
.cw-shows-card.standard { border: 1px solid var(--border); }
.cw-shows-card.standard:hover { border-color: var(--gold); }
.cw-shows-card.featured:hover { background: rgba(201,169,110,0.06); }
.cw-shows-card-num { font-family: 'Playfair Display', serif !important; font-size: 3rem; color: var(--gold) !important; line-height: 1; }
.cw-shows-card-tag { font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold) !important; margin-bottom: 0.3rem; font-family: 'Inter', sans-serif !important; }
.cw-shows-card-name { font-family: 'Playfair Display', serif !important; font-size: 1.3rem; color: var(--white) !important; }
.cw-shows-card-sub { font-size: 0.78rem; color: var(--muted) !important; margin-top: 0.3rem; font-family: 'Inter', sans-serif !important; }
.cw-shows-grid {
    background: var(--dark2); border: 1px solid var(--border); padding: 2.5rem;
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem;
}
.cw-shows-country-title { font-size: 0.68rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold) !important; margin-bottom: 0.8rem; font-family: 'Inter', sans-serif !important; }
.cw-shows-cities { font-size: 0.82rem; color: var(--muted) !important; line-height: 2; font-family: 'Inter', sans-serif !important; }
.cw-shows-cities a { color: var(--muted) !important; text-decoration: none; border-bottom: 1px solid transparent; transition: color 0.15s, border-color 0.15s; }
.cw-shows-cities a:hover { color: var(--gold) !important; border-bottom-color: var(--gold); }
.cw-shows-totals {
    margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--border);
    display: flex; gap: 3rem;
}
.cw-shows-total { text-align: center; }
.cw-shows-total-num { font-family: 'Playfair Display', serif !important; font-size: 1.8rem; color: var(--gold) !important; }
.cw-shows-total-label { font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted) !important; font-family: 'Inter', sans-serif !important; }

/* ── FIELD TRIPS ──────────────────────────────────────────── */
.cw-fieldtrips { background: var(--dark); }
/* old grid (legacy) */
.cw-trips-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 1.5px; }
.cw-trip-card { position: relative; overflow: hidden; cursor: pointer; }
.cw-trip-card:hover .cw-trip-img { transform: scale(1.04); }
.cw-trip-img {
    height: 100%; min-height: 280px;
    transition: transform 0.5s;
}
.trip1 { background: linear-gradient(160deg, #0d1f0d, #1a4a1a, #2d3a0d); }
.trip2 { background: linear-gradient(160deg, #2d1a0d, #4a2d00, #3a2800); }
.trip3 { background: linear-gradient(160deg, #0d0d2d, #1a2040, #101830); }
.cw-trip-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 50%);
    display: flex; flex-direction: column; justify-content: flex-end;
    padding: 1.8rem;
}
.cw-trip-year { font-size: 0.65rem; letter-spacing: 0.2em; color: var(--gold) !important; margin-bottom: 0.3rem; font-family: 'Inter', sans-serif !important; }
.cw-trip-name { font-family: 'Playfair Display', serif !important; font-size: 1.3rem; color: var(--white) !important; margin-bottom: 0.3rem; }
.cw-trip-desc { font-size: 0.75rem; color: rgba(255,255,255,0.55) !important; font-family: 'Inter', sans-serif !important; }

/* New field trips layout */
.cw-trips-layout {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 4px;
    min-height: 440px;
}
.cw-trip-big {
    position: relative;
    overflow: hidden;
    display: block;
    text-decoration: none;
}
.cw-trip-big-img {
    position: absolute; inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s ease;
}
.cw-trip-big:hover .cw-trip-big-img { transform: scale(1.04); }
.cw-trip-big-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.2) 55%, transparent 100%);
    display: flex; flex-direction: column; justify-content: flex-end;
    padding: 2.2rem;
}
.cw-trip-big-region {
    font-size: 0.65rem; letter-spacing: 0.18em; text-transform: uppercase;
    color: var(--gold) !important; margin-bottom: 0.5rem;
}
.cw-trip-big-name {
    font-family: 'Playfair Display', serif !important;
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 400; line-height: 1.1;
    color: #fff !important; margin: 0 0 0.8rem;
}
.cw-trip-big-name em { color: var(--gold) !important; font-style: italic; }
.cw-trip-big-desc {
    font-size: 0.82rem; color: rgba(255,255,255,0.7) !important;
    line-height: 1.55; max-width: 360px;
}
.cw-trips-small-col {
    display: flex; flex-direction: column; gap: 4px;
}
.cw-trip-small {
    position: relative; overflow: hidden; flex: 1;
    display: block; text-decoration: none;
    min-height: 200px;
}
.cw-trip-small-img {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    transition: transform 0.6s ease;
}
.cw-trip-small:hover .cw-trip-small-img { transform: scale(1.05); }
.cw-trip-namibia { background: linear-gradient(155deg, #3d1e00, #5c3200, #2a1a00); }
.cw-trip-alpine  { background: linear-gradient(155deg, #0d1a2d, #162840, #0a1220); }
.cw-trip-small-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.15) 60%, transparent 100%);
    display: flex; flex-direction: column; justify-content: flex-end;
    padding: 1.5rem;
}
.cw-trip-small-region {
    font-size: 0.6rem; letter-spacing: 0.16em; text-transform: uppercase;
    color: var(--gold) !important; margin-bottom: 0.3rem;
}
.cw-trip-small-name {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.15rem; font-weight: 400;
    color: #fff !important; margin: 0 0 0.4rem;
}
.cw-trip-small-desc {
    font-size: 0.74rem; color: rgba(255,255,255,0.6) !important;
    line-height: 1.45;
}

/* ── NEWSLETTER ───────────────────────────────────────────── */
.cw-newsletter {
    background: var(--dark2); border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 4rem 0; text-align: center;
}
.cw-newsletter-title { font-family: 'Playfair Display', serif !important; font-size: 1.8rem; color: var(--white) !important; margin-bottom: 0.5rem; }
.cw-newsletter-sub { color: var(--muted) !important; margin-bottom: 2rem; font-family: 'Inter', sans-serif !important; }
.cw-newsletter-form { display: flex; gap: 0; max-width: 480px; margin: 0 auto; }
.cw-newsletter-input {
    flex: 1; background: #1a1a1a !important; border: 1px solid var(--border);
    border-right: none; padding: 0.85rem 1.2rem;
    color: #e0ddd8 !important; font-family: 'Inter', sans-serif !important; font-size: 0.85rem;
    outline: none; -webkit-appearance: none; appearance: none;
    /* override browser autofill white */
    -webkit-box-shadow: 0 0 0 1000px #1a1a1a inset !important;
    -webkit-text-fill-color: #e0ddd8 !important;
}
.cw-newsletter-input::placeholder { color: #666660 !important; }
.cw-newsletter-input:focus { border-color: var(--gold) !important; outline: none !important; }
.cw-newsletter-btn {
    background: var(--gold); color: var(--black) !important;
    border: none; padding: 0.85rem 1.8rem;
    font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase;
    font-weight: 600; cursor: pointer; font-family: 'Inter', sans-serif !important;
    transition: background 0.2s;
}
.cw-newsletter-btn:hover { background: var(--gold2); }

/* ── FOOTER ───────────────────────────────────────────────── */
.cw-footer { background: var(--dark); padding: 4rem 0 2rem; }
.cw-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; margin-bottom: 3rem; }
.cw-footer-logo { font-family: 'Playfair Display', serif !important; font-size: 1.2rem; color: var(--white) !important; margin-bottom: 1rem; }
.cw-footer-logo span { color: var(--gold); }
.cw-footer-desc { color: var(--muted) !important; font-size: 0.82rem; line-height: 1.7; margin-bottom: 1.5rem; font-family: 'Inter', sans-serif !important; }
.cw-footer-addr { color: var(--muted) !important; font-size: 0.75rem; font-family: 'Inter', sans-serif !important; }
.cw-footer-col-title { font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold) !important; margin-bottom: 1rem; font-family: 'Inter', sans-serif !important; }
.cw-footer-links { list-style: none; display: flex; flex-direction: column; gap: 0.5rem; margin: 0; padding: 0; }
.cw-footer-links a { font-size: 0.82rem; color: var(--muted) !important; transition: color 0.2s; text-decoration: none; font-family: 'Inter', sans-serif !important; }
.cw-footer-links a:hover { color: var(--text) !important; }
.cw-footer-bottom {
    border-top: 1px solid var(--border); padding-top: 1.5rem;
    display: flex; justify-content: space-between; align-items: center;
}
.cw-footer-copy { font-size: 0.75rem; color: var(--muted) !important; font-family: 'Inter', sans-serif !important; }
.cw-footer-social { display: flex; gap: 0.6rem; align-items: center; }
.cw-footer-social a {
    display: flex; align-items: center; justify-content: center;
    width: 34px; height: 34px;
    border: 1px solid var(--border);
    color: var(--muted) !important;
    transition: color 0.2s, border-color 0.2s;
    text-decoration: none;
}
.cw-footer-social a:hover { color: var(--gold) !important; border-color: var(--gold) !important; }

/* Social buttons in footer top section */
.cw-footer-social-top { display: flex; gap: 0.75rem; margin-top: 1.25rem; flex-wrap: wrap; }
.cw-social-btn {
    display: inline-flex; align-items: center; gap: 0.5rem;
    padding: 0.5rem 1rem;
    border: 1px solid var(--border);
    color: var(--muted) !important;
    font-size: 0.78rem; letter-spacing: 0.06em;
    text-decoration: none;
    transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.cw-social-btn:hover { color: var(--gold) !important; border-color: var(--gold) !important; background: rgba(201,169,110,0.06); }

/* ── WOOCOMMERCE — SHOP PAGE ──────────────────────────────── */
.woocommerce-page .cw-page-content,
.woocommerce .cw-page-content {
    max-width: 1280px; margin: 0 auto;
    padding: 3rem 2rem 5rem;
}

.woocommerce-page h1.page-title,
.woocommerce h1.page-title {
    font-family: 'Playfair Display', serif !important;
    color: var(--white) !important;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    margin-bottom: 2rem;
}

/* Product grid */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.5px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Storefront clearfix pseudo-elements become grid items — collapse them */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
    content: none !important;
}

.woocommerce ul.products li.product {
    position: relative !important;
    overflow: hidden !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: var(--dark2) !important;
    float: none !important;
    width: auto !important;
    grid-column: span 1 !important;
    grid-row: span 1 !important;
}

.woocommerce ul.products li.product:hover img { transform: scale(1.04); }

.woocommerce ul.products li.product img {
    aspect-ratio: 4/3 !important;
    object-fit: contain !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    transition: transform 0.5s ease;
    display: block !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Playfair Display', serif !important;
    font-size: 0.95rem !important;
    color: var(--white) !important;
    padding: 0.8rem 1rem 0.2rem !important;
    margin: 0 !important;
}

.woocommerce ul.products li.product .price {
    color: var(--gold) !important;
    font-size: 0.9rem !important;
    padding: 0 1rem 1rem !important;
    display: block;
}

.woocommerce ul.products li.product .price del { color: var(--muted) !important; }
.woocommerce ul.products li.product .price ins { color: var(--gold) !important; text-decoration: none; }

.woocommerce ul.products li.product .cw-atc-btn {
    position: static !important;
    opacity: 1 !important;
    transform: none !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
    background: var(--dark3) !important;
    color: var(--muted) !important;
    border: 1px solid var(--border) !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    padding: 0.6rem 1rem !important;
    margin: 0 1rem 1rem !important;
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif !important;
    transition: all 0.2s !important;
    display: block !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
    background: var(--gold) !important;
    color: var(--black) !important;
    border-color: var(--gold) !important;
}

/* Badges */
.woocommerce span.onsale {
    background: var(--gold) !important;
    color: var(--black) !important;
    border-radius: 0 !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    font-family: 'Inter', sans-serif !important;
    min-height: auto !important;
    min-width: auto !important;
    padding: 0.25rem 0.6rem !important;
    line-height: 1.5 !important;
    top: 1rem !important; left: auto !important; right: 1rem !important;
}

/* Woo ordering/result count */
.woocommerce-ordering select,
.woocommerce .woocommerce-ordering select {
    background: var(--dark2) !important;
    color: var(--text) !important;
    border: 1px solid var(--border) !important;
    border-radius: 0 !important;
    padding: 0.5rem 1rem !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.82rem !important;
}
.woocommerce-result-count { color: var(--muted) !important; font-size: 0.82rem !important; font-family: 'Inter', sans-serif !important; }

/* Breadcrumbs */
.woocommerce-breadcrumb { color: var(--muted) !important; font-size: 0.8rem !important; font-family: 'Inter', sans-serif !important; margin-bottom: 1.5rem !important; }
.woocommerce-breadcrumb a { color: var(--gold) !important; }

/* ── WOOCOMMERCE — SINGLE PRODUCT ─────────────────────────── */

/* ── CUSTOM PRODUCT GALLERY ───────────────────────────────── */
.cw-gallery-wrap { width: 100%; }

.cw-gallery-main { margin-bottom: 1.5rem; cursor: zoom-in; }
.cw-gallery-main-img { width: 100%; height: auto; display: block; border: 1px solid var(--border); }

/* ── LIGHTBOX ─────────────────────────────────────────────── */
#cw-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.92);
    z-index: 99999;
}
#cw-lb-inner {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: auto;
    padding: 4.5rem 1rem 1rem;
    cursor: default;
}
#cw-lb-img {
    max-width: 90vw;
    max-height: 85vh;
    object-fit: contain;
    display: block;
    cursor: zoom-in;
}
#cw-lightbox.cw-lb-zoomed #cw-lb-img {
    max-width: none;
    max-height: none;
    cursor: zoom-out;
}
#cw-lb-close,
#cw-lb-zoom {
    position: fixed;
    top: 1rem;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #fff;
    font-size: 1.2rem;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    cursor: pointer;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    padding: 0;
    line-height: 1;
}
#cw-lb-close:hover,
#cw-lb-zoom:hover { background: rgba(255, 255, 255, 0.28); }
#cw-lb-close { right: 1.5rem; font-size: 1.4rem; }
#cw-lb-zoom  { right: 4.5rem; }
body.cw-lb-open { overflow: hidden; }

.cw-gallery-thumbs {
    display: flex;
    gap: 1.8rem;
    margin-bottom: 1.5rem;
}
.cw-gallery-thumb {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    cursor: pointer;
    border: 2px solid transparent;
    overflow: hidden;
    opacity: 0.6;
    transition: opacity 0.2s, border-color 0.2s;
}
.cw-gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.cw-gallery-thumb:hover,
.cw-gallery-thumb.active {
    border-color: var(--gold);
    opacity: 1;
}

/* Two-column top area: left (gallery + video) | right (summary) */
.cw-product-top {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    column-gap: 4rem;
    align-items: start;
    margin-bottom: 3rem;
}

.cw-product-left {
    min-width: 0;
}

.woocommerce div.product div.images img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    border: 1px solid var(--border) !important;
}

.woocommerce-product-gallery {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
}

.woocommerce-product-gallery__wrapper {
    width: 100% !important;
}

/* slide div-i: pustimo flexslider-ju da nastavi širino, le display popravimo */
.woocommerce-product-gallery .woocommerce-product-gallery__image:nth-child(n+2) {
    display: block !important;
}

/* img znotraj slidov: polna širina znotraj slide kontejnerja */
.woocommerce-product-gallery .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    opacity: 1 !important;
}

.flex-viewport { overflow: hidden !important; }

.flex-control-thumbs { margin-top: 0 !important; margin-bottom: 0 !important; }

.woocommerce div.product .product_title {
    font-family: 'Playfair Display', serif !important;
    font-size: 2rem !important;
    color: var(--white) !important;
    margin-bottom: 1rem !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--gold) !important;
    font-size: 1.5rem !important;
    font-family: 'Playfair Display', serif !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
    color: var(--muted) !important;
    font-family: 'Inter', sans-serif !important;
    line-height: 1.8 !important;
    margin-bottom: 1.5rem !important;
}

.woocommerce div.product .cart .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background: var(--gold) !important;
    color: var(--black) !important;
    border-radius: 0 !important;
    font-size: 0.8rem !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    padding: 0.85rem 2rem !important;
    border: none !important;
    transition: background 0.2s !important;
}
.woocommerce div.product .cart .single_add_to_cart_button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background: var(--gold2) !important;
    color: var(--black) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 1px solid var(--border) !important;
    padding: 0 !important; margin: 0 0 2rem !important;
    background: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: none !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    margin: 0 !important; padding: 0 !important;
    border-radius: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border-bottom-color: var(--gold) !important;
    background: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: var(--muted) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 0.8rem 1.2rem !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--gold) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }

.woocommerce div.product .woocommerce-tabs .panel {
    color: var(--muted) !important;
    font-family: 'Inter', sans-serif !important;
    line-height: 1.8 !important;
    background: none !important;
    border: none !important;
    padding: 0 !important; margin: 0 !important;
}

/* Tab wrapper — brez bele/svetle podlage */
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-tabs > div,
.woocommerce-tabs .wc-tab,
#tab-description,
#tab-additional_information,
#tab-specimen_data,
#tab-reviews {
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.woocommerce div.product .woocommerce-tabs .panel p,
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs .panel h3 {
    color: var(--muted) !important;
    font-family: 'Inter', sans-serif !important;
}

/* Specimen Data tab vsebina */
#tab-specimen_data {
    padding: 0 !important;
}
#tab-specimen_data .cw-specimen-rows {
    margin-top: 0.5rem;
}

/* Skrij WooCommerce default "X na zalogi" — imamo lasten prikaz */
.woocommerce div.product .stock {
    display: none !important;
}

/* Related products */
.related.products > h2 {
    font-family: 'Playfair Display', serif !important;
    color: var(--white) !important;
    font-size: 1.6rem !important;
    margin-bottom: 1.5rem !important;
}

/* ── CART — LAYOUT ────────────────────────────────────────── */
body.woocommerce-cart .cw-info-container,
body.woocommerce-checkout .cw-info-container {
    max-width: 1140px;
}

/* Two-column wrapper — CSS grid za zanesljivo poravnavo */
@media (min-width: 861px) {
    .cw-cart-layout {
        display: grid;
        grid-template-columns: 1fr 320px;
        gap: 2rem;
        align-items: start;
        margin-top: 0 !important;
    }
}
@media (max-width: 860px) {
    .cw-cart-layout {
        display: block;
    }
    .cw-cart-totals-col {
        margin-top: 2rem;
    }
}

/* Reset vseh margin/padding na kolonah */
.cw-cart-items-col,
.cw-cart-totals-col {
    margin: 0 !important;
    padding: 0 !important;
    align-self: start !important;
}
.cw-cart-items-col > *:first-child,
.cw-cart-totals-col > *:first-child {
    margin-top: 0 !important;
}
.woocommerce-cart-form { margin: 0 !important; }
.woocommerce-cart-form > *:first-child { margin-top: 0 !important; }

/* ── CART — TABELA PRODUKTOV ───────────────────────────────── */
.cw-cart-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--dark2);
    border: 1px solid var(--border);
}
.cw-cart-table thead tr {
    border-bottom: 1px solid var(--border);
}
.cw-cart-table thead th {
    font-family: 'Inter', sans-serif;
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
    padding: 0.9rem 0.75rem;
    text-align: left;
    font-weight: 500;
    background: var(--dark3);
}
.cw-cart-table thead .cw-col-price,
.cw-cart-table thead .cw-col-subtotal { text-align: right; }
.cw-cart-table thead .cw-col-qty { text-align: center; }
.cw-cart-table thead .cw-col-remove,
.cw-cart-table thead .cw-col-thumb { width: 1px; padding: 0; }

/* Vrstice */
.cw-cart-row { border-bottom: 1px solid var(--border); transition: background 0.15s; }
.cw-cart-row:last-of-type { border-bottom: none; }
.cw-cart-row:hover { background: rgba(255,255,255,0.02); }

.cw-cart-table td {
    padding: 1rem 0.75rem;
    vertical-align: middle;
    color: var(--text);
    font-family: 'Inter', sans-serif;
    font-size: 0.9rem;
}

/* Stolpci */
.cw-col-remove { width: 32px; padding: 0.5rem 0.5rem 0.5rem 0.75rem !important; }
.cw-col-thumb  { width: 72px; padding: 0.75rem !important; }
.cw-col-price, .cw-col-subtotal { text-align: right; white-space: nowrap; }
.cw-col-qty    { text-align: center; }

/* Remove link pod imenom */
.cw-remove-link {
    display: inline-block;
    margin-top: 0.5rem;
    color: var(--muted);
    font-family: 'Inter', sans-serif;
    font-size: 0.62rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color 0.15s, border-color 0.15s;
}
.cw-remove-link:hover { color: #c0392b; border-bottom-color: #c0392b; }

/* Thumbnail */
.cw-col-thumb img {
    width: 64px; height: 64px;
    object-fit: contain;
    display: block;
    background: var(--dark3);
}

/* Ime produkta */
.cw-product-link {
    color: var(--white);
    text-decoration: none;
    font-family: 'Playfair Display', serif;
    font-size: 1.05rem;
    line-height: 1.4;
    display: block;
}
.cw-product-link:hover { color: var(--gold); }

/* Lokacija izdelka */
.cw-cart-origin {
    font-family: 'Inter', sans-serif;
    font-size: 0.72rem;
    color: var(--muted);
    margin: 0.2rem 0 0;
    letter-spacing: 0.05em;
}

.cw-backorder { color: var(--muted); font-size: 0.75rem; margin: 0.25rem 0 0; }

/* Cena */
.cw-col-price .amount,
.cw-col-subtotal .amount {
    color: var(--text);
    font-family: 'Inter', sans-serif;
    font-size: 0.88rem;
}
.cw-col-subtotal .amount { color: var(--gold); font-weight: 500; }

/* Količina — +/- stepper */
.cw-qty-stepper {
    display: inline-flex !important;
    align-items: stretch !important;
    border: 1px solid var(--border) !important;
    background: var(--dark3) !important;
}
.cw-qty-btn {
    background: transparent !important;
    border: none !important;
    color: var(--muted) !important;
    width: 30px !important;
    font-size: 1rem !important;
    cursor: pointer !important;
    line-height: 1 !important;
    transition: color 0.15s, background 0.15s !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.cw-qty-btn:hover { color: var(--gold) !important; background: rgba(201,169,110,0.08) !important; }
.cw-qty-input {
    width: 44px !important;
    background: transparent !important;
    border: none !important;
    border-left: 1px solid var(--border) !important;
    border-right: 1px solid var(--border) !important;
    color: var(--text) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.88rem !important;
    text-align: center !important;
    padding: 0.4rem 0 !important;
    -moz-appearance: textfield !important;
    border-radius: 0 !important;
}
.cw-qty-input::-webkit-inner-spin-button,
.cw-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; }

/* Update cart vrstica */
.cw-cart-actions-row td { border-top: 1px solid var(--border) !important; background: var(--dark3); padding: 0.75rem 1rem !important; }
.cw-cart-actions { display: flex; justify-content: flex-end; gap: 0.75rem; }
.cw-update-btn {
    background: transparent;
    border: 1px solid var(--border);
    color: var(--muted);
    font-family: 'Inter', sans-serif;
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 0.5rem 1.2rem;
    cursor: pointer;
    transition: all 0.2s;
}
.cw-update-btn:hover { border-color: var(--gold); color: var(--gold); }

/* ── CART — TOTALS BOX (desni stolpec) ─────────────────────── */
.cw-cart-totals-box {
    background: var(--dark2);
    border: 1px solid var(--border);
    border-top: 3px solid var(--gold);
    position: sticky;
    top: 2rem;
    overflow: hidden;
}

/* Kuponsko polje */
.cw-coupon-section {
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--border);
}
.cw-coupon-label {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 0.5rem;
}
.cw-coupon-row { display: flex; gap: 0; }
.cw-coupon-input {
    flex: 1 1 0;
    background: var(--dark3) !important;
    border: 1px solid var(--border) !important;
    border-right: none !important;
    color: var(--text) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.85rem !important;
    padding: 0.65rem 0.75rem !important;
    outline: none !important;
    border-radius: 0 !important;
    transition: border-color 0.15s !important;
}
.cw-coupon-input:focus { border-color: var(--gold) !important; }
.cw-coupon-input::placeholder { color: var(--muted) !important; }
.cw-coupon-btn {
    background: transparent !important;
    border: 1px solid var(--border) !important;
    color: var(--gold) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    padding: 0.65rem 1rem !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: all 0.2s !important;
    border-radius: 0 !important;
}
.cw-coupon-btn:hover { background: var(--gold) !important; color: var(--black) !important; border-color: var(--gold) !important; }

/* Totals rows */
.cw-totals-rows {
    padding: 0.5rem 0;
}
.cw-totals-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.6rem 1.5rem;
    gap: 0.5rem;
}
.cw-totals-label {
    font-family: 'Inter', sans-serif;
    font-size: 0.82rem;
    color: var(--muted);
    font-weight: 400;
}
.cw-totals-value {
    font-family: 'Inter', sans-serif;
    font-size: 0.85rem;
    color: var(--text);
    text-align: right;
}
.cw-totals-discount .cw-totals-value { color: #6abf7e; }
.cw-totals-discount .cw-totals-value a { color: var(--muted); margin-left: 0.35rem; font-size: 0.78rem; }
.cw-shipping-free { color: #6abf7e; font-weight: 500; }
.cw-shipping-later { color: var(--muted); font-size: 0.78rem; font-style: italic; }

/* Total block — prominenten */
.cw-total-block {
    background: rgba(201,169,110,0.07);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 1rem 1.5rem;
    margin-top: 0.25rem;
}
.cw-total-inner {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
}
.cw-total-label {
    font-family: 'Playfair Display', serif;
    font-size: 1rem;
    color: var(--white);
    font-weight: 600;
    letter-spacing: 0.02em;
}
.cw-total-amount {
    font-family: 'Inter', sans-serif;
    font-size: 1.3rem;
    color: var(--gold);
    font-weight: 700;
}
.cw-total-amount .woocommerce-Price-amount { color: inherit !important; font-size: inherit !important; }
.cw-vat-note {
    font-family: 'Inter', sans-serif;
    font-size: 0.72rem;
    color: var(--muted);
    margin-top: 0.35rem;
    text-align: right;
}
.cw-vat-note strong { color: var(--muted); font-weight: 500; }
.cw-vat-note .woocommerce-Price-amount { color: var(--muted) !important; font-size: inherit !important; }

/* Secure note */
.cw-secure-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.65rem 1.5rem;
    font-family: 'Inter', sans-serif;
    font-size: 0.7rem;
    color: var(--muted);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.cw-secure-note svg { opacity: 0.6; flex-shrink: 0; }

/* Proceed to checkout */
.wc-proceed-to-checkout { padding: 1rem 1.5rem 0 !important; margin: 0 !important; }
.wc-proceed-to-checkout .checkout-button,
a.checkout-button {
    display: block !important;
    width: 100% !important;
    background: var(--gold) !important;
    color: var(--black) !important;
    text-align: center !important;
    padding: 1rem 1.5rem !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    transition: background 0.2s, color 0.2s !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}
.wc-proceed-to-checkout .checkout-button:hover,
a.checkout-button:hover { background: var(--gold2) !important; color: var(--black) !important; }

/* Shipping calculator */
.shipping-calculator-button { color: var(--gold) !important; font-size: 0.8rem !important; text-decoration: underline !important; cursor: pointer !important; }
.shipping-calculator-form { background: var(--dark3) !important; border: 1px solid var(--border) !important; padding: 0.75rem !important; margin-top: 0.5rem !important; }
.shipping-calculator-form select,
.shipping-calculator-form input {
    background: var(--dark2) !important; color: var(--text) !important;
    border: 1px solid var(--border) !important; border-radius: 0 !important;
    font-family: 'Inter', sans-serif !important; width: 100% !important;
    padding: 0.5rem !important; margin-bottom: 0.5rem !important;
}
.shipping-calculator-form button {
    background: var(--dark3) !important; color: var(--muted) !important;
    border: 1px solid var(--border) !important; font-family: 'Inter', sans-serif !important;
    font-size: 0.75rem !important; letter-spacing: 0.1em !important; text-transform: uppercase !important;
    padding: 0.5rem 1rem !important; cursor: pointer !important; transition: all 0.2s !important;
}
.shipping-calculator-form button:hover { background: var(--gold) !important; color: var(--black) !important; border-color: var(--gold) !important; }

/* ── CHECKOUT — LAYOUT ───────────────────────────────────── */
body.woocommerce-checkout .cw-info-container { max-width: 1200px; }

/* ── CHECKOUT — LEVA STRAN (forma) ──────────────────────── */
.cw-checkout-section { display: flex; flex-direction: column; gap: 0; }

/* Naslovi sekcij */
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 {
    font-family: 'Playfair Display', serif !important;
    font-size: 1rem !important;
    color: var(--white) !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    margin: 0 0 1.25rem !important;
    padding-bottom: 0.75rem !important;
    border-bottom: 1px solid var(--border) !important;
}
.woocommerce-checkout .woocommerce-shipping-fields { margin-top: 2rem !important; }
.woocommerce-checkout .woocommerce-additional-fields { margin-top: 2rem !important; }

/* Form field wrapper */
.woocommerce-checkout .form-row {
    margin-bottom: 0.85rem !important;
}
.woocommerce-checkout .form-row label {
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--muted) !important;
    margin-bottom: 0.35rem !important;
    font-weight: 400 !important;
}
.woocommerce-checkout .form-row label .required { color: var(--gold) !important; }

/* Input fields */
.woocommerce-checkout .input-text,
.woocommerce-checkout input[type=text],
.woocommerce-checkout input[type=email],
.woocommerce-checkout input[type=tel],
.woocommerce-checkout input[type=password],
.woocommerce-checkout textarea,
.woocommerce-checkout select {
    background: var(--dark3) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.875rem !important;
    padding: 0.7rem 0.875rem !important;
    width: 100% !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.15s !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    border-color: var(--gold) !important;
    outline: none !important;
    box-shadow: none !important;
}
.woocommerce-checkout .input-text::placeholder,
.woocommerce-checkout textarea::placeholder { color: var(--muted) !important; opacity: 1 !important; }

/* Select arrow */
.woocommerce-checkout select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888880'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.875rem center !important;
    padding-right: 2.5rem !important;
}

/* Half-width fields side by side */
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
    width: calc(50% - 0.4rem) !important;
    float: left !important;
}
.woocommerce-checkout .form-row-first { margin-right: 0.8rem !important; }
.woocommerce-checkout .form-row-wide { clear: both !important; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::after,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper::after { content: ''; display: table; clear: both; }

/* Error state */
.woocommerce-checkout .form-row.woocommerce-invalid .input-text,
.woocommerce-checkout .form-row.woocommerce-invalid input,
.woocommerce-checkout .form-row.woocommerce-invalid select { border-color: #c0392b !important; }
.woocommerce-checkout .form-row.woocommerce-invalid label { color: #c0392b !important; }

/* Shipping address checkbox */
.woocommerce-checkout #ship-to-different-address { margin-bottom: 1rem !important; }
.woocommerce-checkout #ship-to-different-address label {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.82rem !important;
    color: var(--text) !important;
    cursor: pointer !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin-bottom: 0 !important;
}
.woocommerce-checkout #ship-to-different-address input[type=checkbox] {
    width: auto !important;
    padding: 0 !important;
    border: 1px solid var(--border) !important;
    accent-color: var(--gold) !important;
}

/* Additional info / order notes */
.woocommerce-checkout .woocommerce-additional-fields textarea {
    min-height: 80px !important;
    resize: vertical !important;
}

/* ── CHECKOUT — DESNI STOLPEC (order summary) ────────────── */
.cw-checkout-summary-box {
    background: var(--dark2) !important;
    border: 1px solid var(--border) !important;
    border-top: 3px solid var(--gold) !important;
    overflow: hidden !important;
}

/* Heading nad summary bo skrit — imamo ga v boxu */
h3#order_review_heading { display: none !important; }

/* Produkti v summary */
.cw-co-products {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.cw-co-product-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}
.cw-co-product-thumb {
    position: relative;
    flex-shrink: 0;
    width: 48px;
    height: 48px;
}
.cw-co-product-thumb img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    background: var(--dark3);
    display: block;
}
.cw-co-qty {
    position: absolute;
    top: -6px;
    right: -6px;
    background: var(--gold);
    color: var(--black);
    font-family: 'Inter', sans-serif;
    font-size: 0.62rem;
    font-weight: 700;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.cw-co-product-name {
    flex: 1 1 0;
    min-width: 0;
    font-family: 'Inter', sans-serif;
    font-size: 0.82rem;
    color: var(--text);
    line-height: 1.4;
    word-break: break-word;
    overflow-wrap: break-word;
}
.cw-co-product-price {
    font-family: 'Inter', sans-serif;
    font-size: 0.85rem;
    color: var(--text);
    font-weight: 500;
    white-space: nowrap;
    text-align: right;
    flex-shrink: 0;
}

/* Totals rows */
.cw-co-totals-rows {
    padding: 0.5rem 0;
}
.cw-co-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.55rem 1.5rem;
    gap: 0.5rem;
}
.cw-co-label {
    font-family: 'Inter', sans-serif;
    font-size: 0.82rem;
    color: var(--muted);
    font-weight: 400;
}
.cw-co-value {
    font-family: 'Inter', sans-serif;
    font-size: 0.85rem;
    color: var(--text);
    text-align: right;
}
.cw-co-discount .cw-co-value { color: #6abf7e; }
.cw-co-discount .cw-co-value a { color: var(--muted); margin-left: 0.35rem; font-size: 0.78rem; }

/* Shipping row (WC outputs its own HTML via wc_cart_totals_shipping_html) */
.cw-co-row .shipping { display: flex; justify-content: space-between; align-items: center; width: 100%; }
.cw-co-row .shipping th,
.cw-co-row .shipping td { background: transparent !important; color: var(--muted) !important; font-family: 'Inter', sans-serif !important; font-size: 0.82rem !important; font-weight: 400 !important; padding: 0 !important; border: none !important; }
.cw-co-row .shipping td { color: var(--text) !important; text-align: right; }
.cw-co-row .shipping ul { list-style: none; padding: 0; margin: 0; text-align: right; }
.cw-co-row .shipping li label { font-size: 0.82rem !important; color: var(--text) !important; }

/* WooCommerce shipping methods — tabela in seznam (cart + checkout) */
/* WC renders <tr class="woocommerce-shipping-totals"> — NOT a <table> with that class */
tr.woocommerce-shipping-totals,
table.woocommerce-shipping-totals {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.82rem !important;
}
tr.woocommerce-shipping-totals th,
tr.woocommerce-shipping-totals td,
table.woocommerce-shipping-totals th,
table.woocommerce-shipping-totals td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0.4rem 0 !important;
    background: transparent !important;
    border: none !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}
tr.woocommerce-shipping-totals th,
table.woocommerce-shipping-totals th {
    color: var(--muted) !important;
    font-weight: 400 !important;
    text-align: left !important;
}

/* Shipping method radio seznam */
ul#shipping_method,
.woocommerce-shipping-methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
ul#shipping_method li,
.woocommerce-shipping-methods li {
    margin-bottom: 0.4rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
    flex-wrap: wrap !important;
}
ul#shipping_method li label,
.woocommerce-shipping-methods li label {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.82rem !important;
    color: var(--text) !important;
    cursor: pointer !important;
    display: inline !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 400 !important;
}
ul#shipping_method input[type="radio"],
.woocommerce-shipping-methods input[type="radio"] {
    accent-color: var(--gold) !important;
    flex-shrink: 0 !important;
}
.woocommerce-shipping-destination {
    font-size: 0.75rem !important;
    color: var(--muted) !important;
    margin-top: 0.5rem !important;
}

/* Custom div-based cart-shipping.php output */
.cw-shipping-totals { width: 100% !important; max-width: 100% !important; overflow: hidden !important; }
.cw-shipping-totals-label { color: var(--muted) !important; font-size: 0.82rem !important; font-weight: 400 !important; margin-bottom: 0.35rem !important; }
.cw-shipping-totals-content { width: 100% !important; max-width: 100% !important; overflow: hidden !important; }
.cw-shipping-totals-content .woocommerce-shipping-methods { max-width: 100% !important; overflow: hidden !important; }

/* Total block */
.cw-co-total-block {
    background: rgba(201,169,110,0.07);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 1rem 1.5rem;
}
.cw-co-total-inner {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
}
.cw-co-total-label {
    font-family: 'Playfair Display', serif;
    font-size: 1rem;
    color: var(--white);
    font-weight: 600;
}
.cw-co-total-amount {
    font-family: 'Inter', sans-serif;
    font-size: 1.3rem;
    color: var(--gold);
    font-weight: 700;
}
.cw-co-total-amount .woocommerce-Price-amount { color: inherit !important; font-size: inherit !important; }

/* ── CHECKOUT — PLAČILO ──────────────────────────────────── */
#payment.woocommerce-checkout-payment {
    background: var(--dark2) !important;
    border: none !important;
    padding: 0 !important;
}

/* Payment methods list */
#payment .payment_methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid var(--border) !important;
}
#payment .payment_methods li.payment_method {
    border-top: 1px solid var(--border) !important;
    padding: 0 !important;
}
#payment .payment_methods li.payment_method label {
    display: flex !important;
    align-items: center !important;
    gap: 0.6rem !important;
    padding: 0.85rem 1.5rem !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.85rem !important;
    color: var(--text) !important;
    cursor: pointer !important;
    transition: background 0.15s !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    font-weight: 500 !important;
}
#payment .payment_methods li.payment_method label:hover { background: rgba(255,255,255,0.03) !important; }
#payment .payment_methods li.payment_method input[type=radio] {
    width: auto !important;
    padding: 0 !important;
    accent-color: var(--gold) !important;
    flex-shrink: 0 !important;
}
#payment .payment_methods li.payment_method img {
    max-height: 22px !important;
    width: auto !important;
    vertical-align: middle !important;
    filter: brightness(0.9) !important;
}
#payment .payment_box {
    padding: 0.75rem 1.5rem 1rem !important;
    background: var(--dark3) !important;
    border-top: none !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.82rem !important;
    color: var(--muted) !important;
}
#payment .payment_box p,
#payment .payment_box span,
#payment .payment_box label,
#payment .payment_box div { color: var(--muted) !important; background-color: transparent !important; font-family: 'Inter', sans-serif !important; font-size: 0.82rem !important; }
#payment .payment_box a { color: var(--gold) !important; }

/* Stripe card element containers */
#payment .payment_box input,
#payment .payment_box select,
#payment .payment_box textarea {
    background: var(--dark2) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
    border-radius: 0 !important;
    padding: 0.6rem 0.75rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.85rem !important;
}
#payment .payment_box input:focus,
#payment .payment_box select:focus { border-color: var(--gold) !important; outline: none !important; }

/* Stripe Elements — wrapper divji (override stripe-styles.css ki loada po našem CSS) */
.wc-stripe-elements-field,
#payment .wc-stripe-elements-field,
.woocommerce-checkout .wc-stripe-elements-field {
    background-color: var(--dark3) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
    border-radius: 0 !important;
    margin: 4px 0 !important;
    padding: 8px !important;
}
#payment #wc-stripe-card-element,
#payment #wc-stripe-expiry-element,
#payment #wc-stripe-cvc-element,
#payment .wc-stripe-card-element-container,
#payment .StripeElement {
    background: var(--dark3) !important;
    border: 1px solid var(--border) !important;
    padding: 0.65rem 0.75rem !important;
    border-radius: 0 !important;
}
#payment .StripeElement--focus,
#payment .wc-stripe-elements-field:focus-within { border-color: var(--gold) !important; }
#payment .StripeElement--invalid,
#payment .wc-stripe-elements-field.wc-stripe-elements-field--invalid { border-color: #c0392b !important; }

/* Stripe UPE wrapper */
#payment #wc-stripe-upe-element,
#payment .wc-stripe-upe-element { background: var(--dark2) !important; padding: 0 !important; border: none !important; }

/* Stripe error / info messages */
#payment .wc-stripe-error,
#payment .stripe-error,
#payment .wc-braintree-hosted-fields-styleable-wrapper { color: #c0392b !important; background: transparent !important; font-size: 0.78rem !important; }

/* PayPal button area */
#payment .payment_box .paypal-button,
#payment .payment_box .zoid-outlet,
#payment .payment_box .paypal-checkout-sandbox { background: transparent !important; }
#payment .payment_box #paypal-button-container,
#payment .payment_box .ppcp-button-container { background: transparent !important; }
#payment .payment_box .woocommerce-SavedPaymentMethods-saveNew label { color: var(--text) !important; }

/* Place order button */
#payment .form-row.place-order {
    padding: 1.25rem 1.5rem !important;
    margin: 0 !important;
}
#place_order,
button#place_order {
    display: block !important;
    width: 100% !important;
    background: var(--gold) !important;
    color: var(--black) !important;
    text-align: center !important;
    padding: 1rem 1.5rem !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    box-sizing: border-box !important;
}
#place_order:hover,
button#place_order:hover { background: var(--gold2) !important; }

/* Terms checkbox */
#payment .woocommerce-terms-and-conditions-wrapper {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.78rem !important;
    color: var(--muted) !important;
    margin-bottom: 0.75rem !important;
}
#payment .woocommerce-terms-and-conditions-wrapper a { color: var(--gold) !important; }
#payment .woocommerce-terms-and-conditions-wrapper input[type=checkbox] { accent-color: var(--gold) !important; }

/* WC validation notices na checkout */
.woocommerce-checkout .woocommerce-NoticeGroup { margin-bottom: 1.5rem !important; }

/* ── ORDER CONFIRMATION (hvala za naročilo stran) ─────────── */
.wc-block-order-confirmation-summary,
.wc-block-order-confirmation-summary.has-background {
    background: var(--dark2) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
    padding: 1.5rem !important;
    border-radius: 0 !important;
}
.wc-block-order-confirmation-summary ul li .wc-block-order-confirmation-summary-list-item__key {
    color: var(--muted) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}
.wc-block-order-confirmation-summary ul li .wc-block-order-confirmation-summary-list-item__value {
    color: var(--white) !important;
    font-family: 'Inter', sans-serif !important;
}

.wc-block-order-confirmation-status,
.wc-block-order-confirmation-status p {
    color: var(--text) !important;
}

.wc-block-order-confirmation-totals table,
.wc-block-order-confirmation-totals table td,
.wc-block-order-confirmation-totals table th {
    background: var(--dark2) !important;
    color: var(--text) !important;
    border-color: var(--border) !important;
}
.wc-block-order-confirmation-totals table thead {
    background: var(--dark3) !important;
}
.wc-block-order-confirmation-totals table thead th {
    color: var(--muted) !important;
    background: var(--dark3) !important;
}
.wc-block-order-confirmation-totals table tfoot th,
.wc-block-order-confirmation-totals table tfoot td {
    color: var(--gold) !important;
    background: var(--dark2) !important;
}

.wc-block-order-confirmation-billing-address,
.wc-block-order-confirmation-shipping-address {
    background: transparent !important;
    color: var(--text) !important;
}
.wc-block-order-confirmation-billing-address address,
.wc-block-order-confirmation-shipping-address address {
    color: var(--muted) !important;
    font-style: normal !important;
}

/* ── ORDER THANK-YOU (klasični template) ─────────────────── */
ul.order_details,
.woocommerce-thankyou-order-details {
    background-color: var(--dark2) !important;
    color: var(--text) !important;
}
ul.order_details::before,
ul.order_details::after,
ul.order_details:before,
ul.order_details:after {
    background:
        linear-gradient(transparent 0, transparent 0),
        linear-gradient(135deg, var(--dark2) 33.33%, transparent 33.33%),
        linear-gradient(45deg, var(--dark2) 33.33%, transparent 33.33%) !important;
}
ul.order_details > li {
    border-bottom-color: var(--border) !important;
    color: var(--muted) !important;
}
ul.order_details li strong {
    color: var(--white) !important;
    font-family: 'Playfair Display', serif !important;
}

/* ── CHECKOUT — ORDER SUMMARY DESNI STOLPEC ──────────────── */
/* Skrij kratek opis izdelka v order summary (je predolg) */
.wc-block-components-order-summary-item__description p,
.wc-block-order-summary .wc-block-components-order-summary-item__description > p {
    display: none !important;
}
/* Prepreči overflow cene iz stolpca */
/* Ključni fix: tabela brez fixed-layout se razširi na vsebino in zlomi layout */
.wc-block-components-order-summary__content {
    table-layout: fixed !important;
    width: 100% !important;
    max-width: 100% !important;
}
.wc-block-components-order-summary-item {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
.wc-block-components-order-summary-item__image {
    flex: 0 0 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
}
.wc-block-components-order-summary-item__description {
    flex: 1 1 0px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    padding: 4px 8px 8px 12px !important;
}
.wc-block-components-order-summary-item__total-price {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    padding-left: 8px !important;
    text-align: right !important;
}
.wc-block-components-order-summary-item__individual-prices {
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
}
/* Količinska oznaka — preoblikovana v temen dizajn */
.wc-block-components-order-summary-item__quantity {
    background: var(--gold) !important;
    color: var(--black) !important;
    border: none !important;
    box-shadow: none !important;
    font-weight: 700 !important;
    font-size: 0.7rem !important;
    min-width: 18px !important;
    min-height: 18px !important;
}

/* Cart shipping calculator */
.shipping-calculator-button,
.shipping-calculator-button:hover {
    color: var(--gold) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.82rem !important;
    text-decoration: underline !important;
    cursor: pointer !important;
}
.shipping-calculator-form {
    background: var(--dark3) !important;
    border: 1px solid var(--border) !important;
    padding: 1rem !important;
    margin-top: 0.5rem !important;
}
.shipping-calculator-form select,
.shipping-calculator-form input {
    background: var(--dark2) !important;
    color: var(--text) !important;
    border: 1px solid var(--border) !important;
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif !important;
    width: 100% !important;
    padding: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}
.shipping-calculator-form button {
    background: var(--dark3) !important;
    color: var(--muted) !important;
    border: 1px solid var(--border) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    padding: 0.5rem 1rem !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
}
.shipping-calculator-form button:hover {
    background: var(--gold) !important;
    color: var(--black) !important;
    border-color: var(--gold) !important;
}

/* ── WOO — NOTICES ────────────────────────────────────────── */
.woocommerce-message {
    background: var(--dark2) !important;
    border-top: 3px solid var(--gold) !important;
    color: var(--text) !important;
    font-family: 'Inter', sans-serif !important;
}
.woocommerce-info {
    background: var(--dark2) !important;
    border-top: 3px solid #4a9a7a !important;
    color: var(--text) !important;
}
.woocommerce-error {
    background: var(--dark2) !important;
    border-top: 3px solid #9a4a4a !important;
    color: var(--text) !important;
}

/* ── WOO — PAGINATION ─────────────────────────────────────── */
.woocommerce nav.woocommerce-pagination ul {
    border: none !important;
    margin-top: 3rem !important;
}
.woocommerce nav.woocommerce-pagination ul li { border: none !important; }
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li a {
    background: var(--dark2) !important;
    color: var(--muted) !important;
    border: 1px solid var(--border) !important;
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: var(--gold) !important;
    color: var(--black) !important;
    border-color: var(--gold) !important;
}

/* ── WOO PAGES GENERAL ────────────────────────────────────── */
.woocommerce-page .woocommerce-ordering,
.woocommerce-page .woocommerce-result-count {
    margin-bottom: 2rem !important;
}

/* ── PRODUCT VIDEO ────────────────────────────────────────── */
.cw-product-video {
    position: relative; width: 100%;
    padding-bottom: 56.25%; height: 0; overflow: hidden;
    margin-top: 2.5rem;
    margin-bottom: 0;
    border: 1px solid var(--border);
}
.cw-product-video iframe {
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100%;
    border: none;
}

/* Direktni video (MP4) */
.cw-product-video--direct {
    padding-bottom: 0;
    height: auto;
    background: #000;
    display: flex;
    justify-content: center;
}
.cw-product-video--direct video {
    display: block;
    width: 100%;
    height: auto;
    max-height: 75vh;
    object-fit: contain;
}

/* ── SPECIMEN DATA PANEL ──────────────────────────────────── */
.cw-specimen-panel {
    margin: 1.5rem 0 2rem;
    border: 1px solid var(--border);
    border-top: 2px solid var(--gold);
    background: var(--dark2);
}

.cw-specimen-header {
    padding: 0.55rem 1.2rem;
    font-size: 0.62rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--gold);
    font-family: 'Inter', sans-serif;
    border-bottom: 1px solid var(--border);
}

.cw-specimen-rows {
    margin: 0;
    padding: 0;
}

.cw-specimen-row {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    padding: 0.55rem 1.2rem;
    border-bottom: 1px solid var(--border);
}
.cw-specimen-row:last-child { border-bottom: none; }

.cw-specimen-row dt {
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
    font-family: 'Inter', sans-serif;
    min-width: 108px;
    flex-shrink: 0;
}

.cw-specimen-row dd {
    font-size: 0.88rem;
    color: var(--white);
    font-family: 'Inter', sans-serif;
    margin: 0;
}

/* ── PRODUCT META (za product kartice na homepage) ────────── */
.cw-product-meta {
    display: flex; gap: 1.5rem; margin: 1rem 0 1.5rem;
    padding: 1rem 1.2rem;
    background: var(--dark2); border: 1px solid var(--border);
    flex-wrap: wrap;
}
.cw-meta-item { font-size: 0.85rem; color: var(--muted) !important; font-family: 'Inter', sans-serif !important; }
.cw-meta-item strong { color: var(--gold) !important; }

/* ── SHOP LOOP — LOKACIJA + UNIQUE BADGE ─────────────────── */
.cw-single-origin {
    font-size: 0.78rem;
    color: var(--muted);
    font-family: 'Inter', sans-serif;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 0 0 0.6rem !important;
    padding: 0 !important;
}

.cw-loop-origin {
    font-size: 0.72rem !important;
    color: var(--muted) !important;
    font-family: 'Inter', sans-serif !important;
    padding: 0 1rem 0.6rem !important;
    margin: 0 !important;
    letter-spacing: 0.03em !important;
    line-height: 1.4 !important;
}

.cw-unique-badge {
    position: absolute !important;
    top: 0.75rem !important;
    left: 0.75rem !important;
    background: rgba(201,169,110,0.15) !important;
    border: 1px solid rgba(201,169,110,0.5) !important;
    color: var(--gold) !important;
    font-size: 0.6rem !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    font-family: 'Inter', sans-serif !important;
    padding: 0.2rem 0.55rem !important;
    z-index: 2 !important;
}

.cw-view-btn {
    background: transparent !important;
    color: var(--muted) !important;
    border: 1px solid var(--border) !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    padding: 0.55rem 1rem !important;
    margin: 0 1rem 1rem !important;
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif !important;
    transition: all 0.2s !important;
    display: block !important;
    text-align: center !important;
}
.cw-view-btn:hover {
    background: var(--gold) !important;
    color: var(--black) !important;
    border-color: var(--gold) !important;
}

/* ── SINGLE PRODUCT — UNIQUE NOTICE ──────────────────────── */
.cw-unique-notice {
    font-size: 0.78rem !important;
    font-family: 'Inter', sans-serif !important;
    color: var(--gold) !important;
    letter-spacing: 0.06em !important;
    margin: 0 0 1rem !important;
    padding: 0 !important;
}
.cw-low-stock {
    color: #c97a4a !important;
}

/* ── TRUST BADGES — single product ───────────────────────── */
.cw-trust-badges {
    display: flex;
    gap: 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    margin: 1.6rem 0 0.4rem;
    padding: 1rem 0;
    flex-wrap: wrap;
}
.cw-trust-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
    flex: 1;
    min-width: 70px;
    padding: 0.3rem 0.5rem;
    text-align: center;
}
.cw-trust-badge + .cw-trust-badge {
    border-left: 1px solid var(--border);
}
.cw-trust-badge svg {
    width: 22px;
    height: 22px;
    color: var(--gold);
    flex-shrink: 0;
}
.cw-trust-badge span {
    font-family: 'Inter', sans-serif;
    font-size: 0.62rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--muted);
    line-height: 1.3;
}

/* ── KOŠARICA — SKRIJ WC DEFAULT EMPTY ELEMENTS ──────────── */
.woocommerce-cart .wc-empty-cart-message,
.woocommerce-cart .wc-empty-cart-message *,
.woocommerce-cart .cart-empty,
.woocommerce-cart .woocommerce-info.cart-empty,
.woocommerce-cart p.cart-empty,
.woocommerce-cart .empty-cart-image,
.woocommerce-cart img[src*="empty-cart"] {
    display: none !important;
}

/* Skrij ::before ikono na info obvestilih v prazni košarici */
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .cart-empty::before,
.woocommerce-cart .wc-empty-cart-message::before {
    display: none !important;
    content: none !important;
}

/* ── KOŠARICA — PRAZNA ────────────────────────────────────── */
.cw-cart-empty {
    text-align: center;
    padding: 5rem 2rem;
}
.cw-cart-empty-icon {
    font-size: 3rem;
    color: var(--border);
    margin-bottom: 1.5rem;
    line-height: 1;
}
.cw-cart-empty-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.8rem !important;
    color: var(--white) !important;
    margin-bottom: 0.75rem !important;
    font-weight: 400 !important;
}
.cw-cart-empty-sub {
    color: var(--muted) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.9rem !important;
    max-width: 420px;
    margin: 0 auto 2rem !important;
    line-height: 1.7 !important;
}

/* ── KOŠARICA — YOU MAY ALSO LIKE ────────────────────────── */
.cw-cart-upsell {
    margin-top: 3rem;
    padding-top: 2.5rem;
    border-top: 1px solid var(--border);
}

.cw-upsell-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

.cw-cart-upsell-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.3rem !important;
    color: var(--white) !important;
    margin: 0 !important;
    font-weight: 400 !important;
}

.cw-upsell-arrows {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.cw-upsell-prev,
.cw-upsell-next {
    background: transparent;
    border: 1px solid #333;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #888;
    transition: border-color 0.2s, color 0.2s;
    padding: 0;
    flex-shrink: 0;
}
.cw-upsell-prev:hover,
.cw-upsell-next:hover {
    border-color: var(--gold);
    color: var(--gold);
}
.cw-upsell-prev:disabled,
.cw-upsell-next:disabled {
    opacity: 0.25;
    cursor: default;
}
.cw-upsell-prev svg,
.cw-upsell-next svg { display: block; }

.cw-cart-upsell-viewport {
    overflow-x: auto;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.cw-cart-upsell-viewport::-webkit-scrollbar { display: none; }

.cw-cart-upsell-track {
    display: flex;
    gap: 1px;
}

.cw-cart-upsell-card {
    background: var(--dark2);
    display: flex;
    flex-direction: column;
    transition: background 0.2s;
    flex: 0 0 25%;
    min-width: 0;
}
.cw-cart-upsell-card:hover { background: var(--dark3); }
.cw-cart-upsell-card-link {
    text-decoration: none;
    display: block;
    flex: 1;
}
.cw-cart-upsell-atc {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 0.6rem 1rem !important;
    margin: 0 !important;
    background: transparent !important;
    border: 1px solid var(--gold) !important;
    color: var(--gold) !important;
    font-size: 0.75rem !important;
    font-family: 'Inter', sans-serif !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    transition: background 0.2s, color 0.2s !important;
}
.cw-cart-upsell-atc:hover {
    background: var(--gold) !important;
    color: var(--dark1) !important;
}

.cw-cart-upsell-img img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: contain;
    display: block;
}

.cw-cart-upsell-info {
    padding: 0.8rem 1rem 1rem;
}

.cw-cart-upsell-name {
    font-family: 'Playfair Display', serif !important;
    font-size: 0.9rem !important;
    color: var(--white) !important;
    margin: 0 0 0.25rem !important;
    line-height: 1.3 !important;
}

.cw-cart-upsell-origin {
    font-size: 0.7rem !important;
    color: var(--muted) !important;
    font-family: 'Inter', sans-serif !important;
    margin: 0 0 0.5rem !important;
}

.cw-cart-upsell-price {
    font-size: 0.9rem !important;
    color: var(--gold) !important;
    font-family: 'Inter', sans-serif !important;
    margin: 0 !important;
}

@media (max-width: 768px) {
    .cw-cart-upsell-card { flex: 0 0 50%; }
}

.cw-mineral-price-mobile { display: none; }

/* ── TOUCH / MOBILE — ATC gumb pod sliko (hover ne deluje) ── */
@media (hover: none) {
    .cw-minerals-grid {
        gap: 12px 1.5px;
    }
    .cw-mineral-card {
        overflow: visible !important;
        display: flex !important;
        flex-direction: column !important;
    }
    .cw-mineral-card > a {
        position: relative !important;
        overflow: hidden !important;
        display: block !important;
    }
    .cw-atc-btn {
        position: static !important;
        opacity: 1 !important;
        transform: none !important;
        margin-top: 3px !important;
        border-radius: 0 !important;
        display: block !important;
    }
    .cw-mineral-price-mobile {
        display: block !important;
        padding: 0.4rem 1rem 0 !important;
        font-size: 0.9rem !important;
        color: var(--gold) !important;
        font-family: 'Inter', sans-serif !important;
        background: var(--dark2) !important;
    }
}

/* ── RESPONSIVE ───────────────────────────────────────────── */
@media (max-width: 1024px) {
    .cw-minerals-grid { grid-template-columns: repeat(2, 1fr); }
    .woocommerce ul.products { grid-template-columns: repeat(3, 1fr) !important; }
    .cw-footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
    .cw-shows-grid { grid-template-columns: 1fr 1fr; }
    .cw-trips-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
    .cw-nav-links {
        display: none;
        position: fixed; top: 64px; left: 0; right: 0; bottom: 0;
        background: rgba(10,10,10,0.98); border-top: 1px solid var(--border);
        flex-direction: column; overflow-y: auto;
        padding: 0.5rem 0 3rem; z-index: 99;
    }
    .cw-nav-links.is-open { display: flex; }
    .cw-nav-links > li > a {
        height: auto; line-height: 1.4;
        padding: 1rem 1.5rem; font-size: 0.88rem;
        border-bottom: 1px solid var(--border);
    }
    .cw-dropdown {
        position: static; opacity: 1; pointer-events: all;
        transform: none; border: none; border-bottom: 1px solid var(--border);
        background: var(--dark2); padding: 0.25rem 0;
    }
    .cw-dropdown a { padding: 0.6rem 2.5rem; }
    .cw-mobile-menu-btn { display: flex; }
    .cw-lang-switch { display: none; }
    .cw-cart-btn span:first-child { display: none; }
    nav.cw-nav { backdrop-filter: none; -webkit-backdrop-filter: none; }
    .cw-mobile-lang { display: flex !important; gap: 0.75rem; padding: 1.2rem 1.5rem; border-top: 1px solid var(--border); margin-top: auto; }
    .cw-hero-inner { grid-template-columns: 1fr; }
    .cw-hero-content { padding: 2rem 0; margin-right: 0; }
    .cw-hero-photo { transform: none; width: 100%; min-height: 260px; order: -1; }
    .cw-hero-title { width: 100%; font-size: 2rem !important; }
    .cw-stats-bar { flex-wrap: wrap; }
    .cw-stat { min-width: 50%; }
    .cw-featured-inner { grid-template-columns: 1fr; }
    .cw-featured-img-col { height: auto; min-height: unset; }
    .cw-featured-text { padding: 2.5rem 0; }
    .cw-minerals-grid { grid-template-columns: repeat(2, 1fr); }
    .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
    .cw-localities-grid { grid-template-columns: 1fr; }
    .cw-about-inner { grid-template-columns: 1fr; gap: 3rem; }
    .cw-about-content { padding-left: 0; }
    .cw-shows-featured { grid-template-columns: 1fr; }
    .cw-shows-grid { grid-template-columns: 1fr; }
    .cw-trips-grid { grid-template-columns: 1fr; }
    .cw-footer-grid { grid-template-columns: 1fr; }
    .cw-product-top { grid-template-columns: 1fr; }
    .cw-product-top .summary { margin-top: 2rem; }
    .cw-arrival-info { padding: 0 1rem; }
    .cw-arrival-price { padding: 0 1rem; }
    .cw-section-header { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
}

@media (max-width: 480px) {
    .cw-minerals-grid { grid-template-columns: 1fr; }
    .woocommerce ul.products { grid-template-columns: 1fr !important; }
    .cw-about-highlights { grid-template-columns: 1fr; }
    .cw-newsletter-form { flex-direction: column; }
    .cw-newsletter-input { border-right: 1px solid var(--border); border-bottom: none; }
    .cw-btn-sm { display: none; }
    .cw-arrival-info { padding: 0 0.75rem; }
    .cw-arrival-price { padding: 0 0.75rem; }
}

/* =====================================================
   GDPR COOKIE BANNER
   ===================================================== */
#cw-cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: #141414;
    border-top: 1px solid var(--gold);
    padding: 1rem 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    font-size: 0.85rem;
    color: var(--muted);
}
#cw-cookie-banner p { margin: 0; }
#cw-cookie-banner a { color: var(--gold); }
.cw-cookie-actions button {
    background: var(--gold);
    color: #0a0a0a;
    border: none;
    padding: 0.5rem 1.5rem;
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    white-space: nowrap;
}
.cw-cookie-actions button:hover { opacity: 0.85; }
@media (max-width: 600px) {
    #cw-cookie-banner { flex-direction: column; text-align: center; padding: 1.2rem; }
}

/* ── CART — MOBILE RESPONSIVE TABLE ──────────────────────── */
@media (max-width: 640px) {
    .cw-cart-table thead { display: none; }

    .cw-cart-table,
    .cw-cart-table tbody,
    .cw-cart-table tr,
    .cw-cart-table td { display: block; width: 100%; box-sizing: border-box; }

    .cw-cart-row {
        display: grid !important;
        grid-template-columns: 72px 1fr;
        grid-template-rows: auto auto;
        gap: 0;
        padding: 1rem 0;
        border-bottom: 1px solid var(--border) !important;
    }

    /* Slika — levi stolpec, obe vrstici */
    .cw-col-thumb {
        grid-column: 1;
        grid-row: 1 / 3;
        padding: 0 0.75rem 0 0 !important;
        width: auto !important;
    }
    .cw-col-thumb img { width: 64px; height: 64px; }

    /* Ime + lokacija — desno zgoraj */
    .cw-col-name {
        grid-column: 2;
        grid-row: 1;
        padding: 0 0 0.5rem 0 !important;
    }

    /* Cena na enoto — skrij, vidna je v subtotalu */
    .cw-col-price { display: none !important; }

    /* Količina + subtotal — desno spodaj, drug ob drugem */
    .cw-col-qty,
    .cw-col-subtotal {
        grid-column: 2;
        grid-row: 2;
        padding: 0 !important;
        text-align: left !important;
        display: inline-block !important;
        width: auto !important;
    }
    .cw-col-qty { margin-right: 1rem !important; }
    .cw-col-subtotal {
        float: right;
        text-align: right !important;
    }

    /* Update gumb */
    .cw-cart-actions-row td { padding: 0.75rem 0 !important; background: transparent !important; }
    .cw-cart-actions { justify-content: flex-start; }
}

/* =====================================================
   INFO STRANI (Shipping, Returns, Privacy, Contact)
   ===================================================== */

/* Prepiši Storefront container-je ki dodajo belo ozadje */
#primary.content-area,
#main.site-main,
.site-main,
.content-area {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    width: 100% !important;
}

.cw-info-page {
    background: var(--black);
    min-height: 60vh;
    padding: 4rem 0 6rem;
}

.cw-info-container {
    max-width: 860px;
    margin: 0 auto;
    padding: 0 2rem;
}

.cw-info-header {
    margin-bottom: 3rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--border);
}

.cw-info-title {
    font-family: 'Playfair Display', serif !important;
    font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
    color: var(--white) !important;
    margin: 0 0 1rem 0 !important;
    font-weight: 600;
}

/* Vsebina info strani */
.cw-info-content h2 {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.3rem !important;
    color: var(--white) !important;
    margin: 2.5rem 0 1rem !important;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid var(--border);
}

.cw-info-content h3 {
    font-family: 'Inter', sans-serif !important;
    font-size: 1rem !important;
    color: var(--gold) !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 2rem 0 0.8rem !important;
}

.cw-info-content p {
    color: var(--muted) !important;
    line-height: 1.8 !important;
    margin-bottom: 1rem !important;
}

.cw-info-content ul,
.cw-info-content ol {
    color: var(--muted) !important;
    line-height: 1.8 !important;
    padding-left: 1.5rem;
    margin-bottom: 1.2rem;
}

.cw-info-content li {
    margin-bottom: 0.3rem;
}

.cw-info-content strong {
    color: var(--text) !important;
}

.cw-info-content a {
    color: var(--gold) !important;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s;
}
.cw-info-content a:hover {
    border-color: var(--gold);
}

/* Tabela (Shipping rates) */
.cw-info-content table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 1.5rem 0 2rem !important;
    font-size: 0.9rem !important;
    background: var(--dark2) !important;
    border: 1px solid var(--border) !important;
}

.cw-info-content table thead,
.cw-info-content table tbody,
.cw-info-content table tr {
    background: transparent !important;
}

.cw-info-content table th {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--gold) !important;
    padding: 0.8rem 1.2rem !important;
    border-bottom: 2px solid var(--border) !important;
    text-align: left !important;
    font-weight: 600 !important;
    background: var(--dark3) !important;
}

.cw-info-content table td {
    color: var(--text) !important;
    background: var(--dark2) !important;
    padding: 0.9rem 1.2rem !important;
    border-bottom: 1px solid var(--border) !important;
    vertical-align: middle !important;
}

.cw-info-content table tr:last-child td {
    border-bottom: none;
}

.cw-info-content table tr:hover td {
    background: rgba(255,255,255,0.025);
}

/* Contact sekcija */
.cw-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin: 2rem 0;
}

.cw-contact-block {
    background: var(--dark2);
    border: 1px solid var(--border);
    padding: 2rem;
}

.cw-contact-block-label {
    font-size: 0.68rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--gold) !important;
    margin-bottom: 0.8rem;
    display: block;
    font-family: 'Inter', sans-serif;
}

.cw-contact-block p {
    color: var(--muted) !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}

.cw-contact-block a {
    color: var(--gold) !important;
}

/* Responsive */
@media (max-width: 640px) {
    .cw-info-page { padding: 2.5rem 0 4rem; }
    .cw-contact-grid { grid-template-columns: 1fr; }
    .cw-info-content table { font-size: 0.8rem; }
    .cw-info-content table th,
    .cw-info-content table td { padding: 0.6rem 0.8rem; }
}

/* =====================================================
   SHIPPING POLICY TABLE — responsive (portrait mobile)
   ===================================================== */
.cw-shipping-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}
.cw-shipping-table th {
    background: #1e1e1e;
    color: var(--gold, #c9a96e);
    font-weight: 600;
    text-align: left;
    padding: 0.65rem 0.9rem;
    border-bottom: 2px solid #2a2a2a;
    white-space: nowrap;
}
.cw-shipping-table td {
    padding: 0.6rem 0.9rem;
    border-bottom: 1px solid #1e1e1e;
    color: #c8c5be;
    vertical-align: middle;
}
.cw-shipping-table tbody tr:hover { background: #141414; }

@media (max-width: 700px) {
    .cw-shipping-table,
    .cw-shipping-table thead,
    .cw-shipping-table tbody,
    .cw-shipping-table tr,
    .cw-shipping-table th,
    .cw-shipping-table td { display: block !important; }

    .cw-shipping-table thead { display: none !important; }

    .cw-shipping-table tbody tr {
        border: 1px solid #2a2a2a !important;
        margin-bottom: 0.85rem !important;
        padding: 0.6rem 0.75rem !important;
        border-radius: 6px !important;
        background: #141414 !important;
    }

    .cw-shipping-table td {
        padding: 0.22rem 0 !important;
        border: none !important;
        display: flex !important;
        gap: 0.5rem !important;
        font-size: 0.82rem !important;
        line-height: 1.4 !important;
        color: #c8c5be !important;
    }

    .cw-shipping-table td::before {
        content: attr(data-label);
        color: #888880;
        font-weight: 600;
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        min-width: 95px;
        flex-shrink: 0;
        padding-top: 2px;
    }

    /* Destination = naslov kartice */
    .cw-shipping-table td[data-label="Destination"] {
        font-weight: 600 !important;
        color: #e0ddd8 !important;
        font-size: 0.9rem !important;
        padding-bottom: 0.45rem !important;
        margin-bottom: 0.25rem !important;
        border-bottom: 1px solid #2a2a2a !important;
    }
    .cw-shipping-table td[data-label="Destination"]::before {
        display: none !important;
    }
}

/* Field trips layout — responsive */
@media (max-width: 860px) {
    .cw-trips-layout {
        grid-template-columns: 1fr;
        min-height: auto;
    }
    .cw-trip-big { min-height: 380px; }
    .cw-trips-small-col { flex-direction: row; }
    .cw-trip-small { min-height: 200px; flex: 1; }
}
@media (max-width: 560px) {
    .cw-trips-small-col { flex-direction: column; }
    .cw-trip-small { min-height: 170px; }
}
