/* ======================================================
   Tanie Nawigowanie — sklep "Pole" theme
   Hummingbird customization (light, cream + ink-green + gold)
   ====================================================== */

/* ── Fonts (MUST be first — @import only works before other rules) ── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,600;12..96,700;12..96,800&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap');

/* ── Design tokens (Pole palette) ── */
:root,
[data-bs-theme=light] {
  --tn-cream:      #F5EFE2;
  --tn-cream-2:    #ECE3D0;
  --tn-cream-3:    #E0D5BC;
  --tn-ink:        #15331C;
  --tn-ink-2:      #1C3F25;
  --tn-ink-soft:   rgba(21,51,28,.70);
  --tn-ink-muted:  rgba(21,51,28,.55);
  --tn-rule:       rgba(21,51,28,.16);
  --tn-rule-soft:  rgba(21,51,28,.08);
  --tn-green:      #1F6B33;
  --tn-green-deep: #0E3A1B;
  --tn-green-soft: rgba(31,107,51,.10);
  --tn-gold:       #E5A92E;
  --tn-gold-deep:  #B8841D;

  /* Bootstrap overrides */
  --bs-body-bg: var(--tn-cream);
  --bs-body-bg-rgb: 245,239,226;
  --bs-body-color: var(--tn-ink);
  --bs-body-color-rgb: 21,51,28;
  --bs-primary: var(--tn-green);
  --bs-primary-rgb: 31,107,51;
  --bs-secondary: var(--tn-ink-2);
  --bs-secondary-bg: #fff;
  --bs-tertiary-bg: var(--tn-cream-2);
  --bs-link-color: var(--tn-green-deep);
  --bs-link-hover-color: var(--tn-green);
  --bs-border-color: var(--tn-rule);
  --bs-border-color-translucent: var(--tn-rule-soft);
  --bs-heading-color: var(--tn-ink);
  --bs-emphasis-color: var(--tn-ink);
  --bs-gray-100: #FAF6EC;
  --bs-gray-200: var(--tn-cream-2);
  --bs-gray-300: var(--tn-cream-3);
  --bs-gray-600: var(--tn-ink-muted);
  --bs-gray-700: var(--tn-ink-soft);
  --bs-gray-800: var(--tn-ink);
  --bs-gray-900: var(--tn-ink);
  --bs-white: #ffffff;
  --bs-secondary-color: rgba(21,51,28,.55);
  --bs-secondary-color-rgb: 21,51,28;
  color-scheme: light;
  --tn-danger: #B33B1E;
}

/* ── Base ── */
html, body {
  background-color: var(--tn-cream) !important;
  color: var(--tn-ink) !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-feature-settings: "ss01","cv11" !important;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  color: var(--tn-ink) !important;
}

/* ── Header ── */
.header {
  --header-bg: var(--tn-cream);
  --header-top-bg: var(--tn-cream);
  --header-color: var(--tn-ink);
  --header-top-color: var(--tn-ink-soft);
  background-color: var(--tn-cream) !important;
  border-bottom: 1px solid var(--tn-rule-soft) !important;
}
.header-top, .header-bottom {
  background-color: var(--tn-cream) !important;
  border-bottom: 1px solid var(--tn-rule-soft) !important;
}
.header-top .form-select {
  background-color: #fff !important;
  color: var(--tn-ink) !important;
  border-color: var(--tn-rule-soft) !important;
}
.header a:not(.dropdown-item):not(.btn) {
  color: var(--tn-ink) !important;
}
.header a:hover { color: var(--tn-green-deep) !important; }
.header__banner { display: none !important; }

/* ── Search ── */
#search_widget input, .search-widgets input {
  background: #fff !important;
  border: 1px solid var(--tn-rule-soft) !important;
  color: var(--tn-ink) !important;
  border-radius: 11px !important;
}
#search_widget input:focus, .search-widgets input:focus {
  border-color: var(--tn-green) !important;
  box-shadow: 0 0 0 3px rgba(31,107,51,.12) !important;
}
#search_widget input::placeholder { color: rgba(21,51,28,.35) !important; }
.search-widgets__dropdown {
  background: #fff !important;
  border-color: var(--tn-rule) !important;
  box-shadow: 0 14px 36px rgba(21,51,28,.10) !important;
}
.search-result__link:hover { background: var(--tn-green-soft) !important; }
.search-result__name { color: var(--tn-ink) !important; }
.search-result__reference { color: var(--tn-ink-muted) !important; }

/* ── Nav ── */
nav, .nav, .navbar {
  --bs-nav-link-color: var(--tn-ink-soft);
  --bs-nav-link-hover-color: var(--tn-green-deep);
  --bs-nav-link-disabled-color: var(--tn-ink-muted);
}
.main-menu__tree > li .menu-container {
  background-color: #fff !important;
  border-top: 1px solid var(--tn-rule-soft) !important;
  box-shadow: 0 14px 36px rgba(21,51,28,.10) !important;
}
.main-menu a, .top-menu a { color: var(--tn-ink) !important; }
.main-menu a:hover, .top-menu a:hover { color: var(--tn-green-deep) !important; }
.main-menu__offcanvas, .offcanvas {
  background-color: var(--tn-cream) !important;
  color: var(--tn-ink) !important;
}

/* ── Dropdowns ── */
.dropdown-menu {
  background-color: #fff !important;
  border-color: var(--tn-rule) !important;
  box-shadow: 0 14px 36px rgba(21,51,28,.10) !important;
}
.dropdown-item { color: var(--tn-ink) !important; }
.dropdown-item:hover, .dropdown-item:focus {
  background-color: var(--tn-green-soft) !important;
  color: var(--tn-green-deep) !important;
}
.dropdown-divider { border-color: var(--tn-rule-soft) !important; }

/* ── Buttons ── */
.btn-primary, .add-to-cart, [data-button-action="add-to-cart"] {
  background-color: var(--tn-green) !important;
  border-color: var(--tn-green) !important;
  color: #fff !important;
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 800 !important;
  border-radius: 12px !important;
  letter-spacing: .005em !important;
  box-shadow: 0 8px 22px rgba(31,107,51,.30) !important;
  transition: background .15s, transform .12s, box-shadow .15s !important;
}
.btn-primary:hover, .add-to-cart:hover {
  background-color: var(--tn-green-deep) !important;
  border-color: var(--tn-green-deep) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 30px rgba(31,107,51,.42) !important;
}
.btn-secondary {
  background-color: #fff !important;
  border-color: var(--tn-rule) !important;
  color: var(--tn-ink) !important;
  border-radius: 12px !important;
}
.btn-secondary:hover {
  background-color: var(--tn-cream-2) !important;
  border-color: var(--tn-ink) !important;
  color: var(--tn-ink) !important;
}
.btn-outline-primary {
  border: 1.5px solid var(--tn-green) !important;
  color: var(--tn-green-deep) !important;
  background: transparent !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
}
.btn-outline-primary:hover {
  background-color: var(--tn-green) !important;
  color: #fff !important;
}

/* ── Product cards ── */
.card {
  background-color: #fff !important;
  border: 1px solid var(--tn-rule-soft) !important;
  border-radius: 18px !important;
  transition: transform .2s, box-shadow .2s, border-color .2s !important;
}
.card:hover {
  border-color: rgba(31,107,51,.25) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 14px 36px rgba(21,51,28,.10) !important;
}
.card-body { background-color: transparent !important; }
.card-footer, .card-header {
  background-color: var(--tn-cream) !important;
  border-color: var(--tn-rule-soft) !important;
}
.product-miniature__image-container, .thumbnail-container {
  background-color: var(--tn-cream-2) !important;
  border-radius: 16px 16px 0 0 !important;
}
.product-miniature .product-miniature__quickview,
.product-miniature .product-miniature__quickview_touch {
  display: none !important;
}

/* ── Product title & price ── */
.product-miniature__infos .product-title a,
.product-title a {
  color: var(--tn-ink) !important;
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
}
.product-title a:hover { color: var(--tn-green-deep) !important; }
.price, .product-price, .current-price,
.product-miniature__price, .product-miniature__price .price {
  color: var(--tn-gold-deep) !important;
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
}
.regular-price, .old-price {
  color: var(--tn-ink-muted) !important;
  text-decoration: line-through;
}
.product-flag, .badge:not(.discount) {
  background-color: var(--tn-green) !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: .68rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  padding: .35em 1em !important;
}
.badge.discount {
  background-color: var(--tn-gold) !important;
  color: var(--tn-ink) !important;
  border: none !important;
}

/* ── Featured product card (Pole-style standalone) ── */
.product-card-tn {
  flex: 0 0 auto !important;
  width: min(96vw, 760px) !important;
  margin: 1.5rem auto !important;
}
.product-card-inner {
  background: #fff !important;
  border: 1px solid var(--tn-rule-soft) !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  transition: transform .25s, box-shadow .25s, border-color .25s !important;
  box-shadow: 0 14px 36px rgba(21,51,28,.08) !important;
}
.product-card-inner:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(31,107,51,.25) !important;
  box-shadow: 0 30px 60px rgba(21,51,28,.14) !important;
}
@media (min-width: 640px) {
  .product-card-inner { display: flex !important; flex-direction: row !important; }
  .product-card-img-link { flex: 0 0 320px !important; width: 320px !important; }
  .product-card-img-wrap {
    aspect-ratio: unset !important;
    min-height: 280px !important;
    height: 100% !important;
    border-radius: 22px 0 0 22px !important;
  }
}
.product-card-img-wrap {
  background: radial-gradient(circle at 50% 60%, #fff 0%, var(--tn-cream-2) 100%);
  aspect-ratio: 4/3;
  height: 320px;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.product-card-img {
  width: 100%; height: 100%; object-fit: contain;
  padding: 1.25rem;
  filter: drop-shadow(0 10px 22px rgba(21,51,28,.20));
  transition: transform .35s ease !important;
}
.product-card-inner:hover .product-card-img { transform: scale(1.04) !important; }

/* Thumbnails below the hero image */
.product-card-thumbs{
  display:flex; gap:8px; padding:12px;
  background:#fff;
  border-top:1px solid var(--tn-rule-soft);
}
.product-card-thumb{
  flex:1; aspect-ratio:1;
  display:grid; place-items:center;
  background:var(--tn-cream-2);
  border:1px solid var(--tn-rule-soft);
  border-radius:10px;
  overflow:hidden;
  transition:border-color .15s, transform .15s, box-shadow .15s;
  cursor:pointer;
  padding:0;
}
.product-card-thumb:hover{ border-color:var(--tn-green); transform:translateY(-2px); }
.product-card-thumb.is-active{ border-color:var(--tn-green); box-shadow:0 0 0 2px var(--tn-green-soft); }
.product-card-thumb img{
  max-width:78%; max-height:78%;
  object-fit:contain;
  filter:drop-shadow(0 4px 8px rgba(21,51,28,.15));
}
@media (min-width: 640px){
  .product-card-img-link{ display:flex !important; flex-direction:column !important; height:100% !important; }
  .product-card-img-wrap{ flex:1; height:auto; min-height:280px !important; aspect-ratio:unset; }
  .product-card-thumbs{ border-top:1px solid var(--tn-rule-soft); border-radius:0 0 0 22px; }
}

.product-card-body {
  padding: 1.5rem 1.75rem !important;
  display: flex; flex-direction: column; gap: .85rem;
}
.product-card-name {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  color: var(--tn-ink) !important;
  letter-spacing: -.02em !important;
  margin: 0 !important;
  line-height: 1.15 !important;
}
.product-card-name-link { text-decoration: none !important; }
.product-card-name-link:hover .product-card-name { color: var(--tn-green-deep) !important; }

.product-card-prices { display: flex; flex-direction: column; gap: .5rem; }

/* Netto box — gold price tag aesthetic */
.product-card-price-netto {
  background: linear-gradient(135deg, rgba(229,169,46,.14), rgba(229,169,46,.06));
  border: 1px solid rgba(229,169,46,.32);
  border-radius: 14px;
  padding: .9rem 1.1rem;
  display: flex; align-items: center; gap: .75rem; flex-wrap: nowrap;
}
.product-card-netto-label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--tn-ink-muted) !important;
}
.product-card-netto-value {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-size: 2.1rem !important;
  font-weight: 800 !important;
  color: var(--tn-gold-deep) !important;
  letter-spacing: -.03em !important;
  line-height: 1;
  white-space: nowrap;
}
.product-card-vat-pill {
  font-family: 'IBM Plex Mono', monospace;
  font-size: .68rem;
  font-weight: 700;
  background: var(--tn-green-soft);
  color: var(--tn-green-deep) !important;
  border: 1px solid rgba(31,107,51,.25);
  border-radius: 999px;
  padding: .25em .7em;
  white-space: nowrap;
}
.product-card-brutto-label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--tn-ink-muted) !important;
}
.product-card-brutto-value {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--tn-ink) !important;
}
.product-card-cta-btn {
  width: 100% !important;
  padding: .9rem 1.5rem !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  border-radius: 12px !important;
  display: flex !important; align-items: center !important;
  justify-content: center !important; gap: .5rem !important;
}

/* ── Breadcrumb ── */
.breadcrumb__wrapper, .breadcrumb-wrapper { background: transparent !important; }
.breadcrumb-item a { color: var(--tn-ink-muted) !important; }
.breadcrumb-item.active { color: var(--tn-ink) !important; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--tn-ink-muted) !important; }

/* ── Wrappers ── */
#wrapper.wrapper, #content-wrapper, #content {
  background-color: var(--tn-cream) !important;
}
.container, .container-md, .container-fluid { color: var(--tn-ink); }

/* ── Forms ── */
.form-control, .form-select,
input[type="text"], input[type="email"], input[type="password"],
input[type="number"], input[type="tel"], input[type="search"],
textarea, select {
  background-color: #fff !important;
  border: 1px solid var(--tn-rule-soft) !important;
  color: var(--tn-ink) !important;
  border-radius: 11px !important;
}
.form-check-label, .custom-radio + label, label.psgdpr_consent_message,
.delivery-option label, .payment-option label,
.form-check label, label.radio-inline, label.checkbox-inline {
  font-family: 'Inter', system-ui !important;
  font-size: .9rem !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  color: var(--tn-ink) !important;
  font-weight: 500 !important;
}

.form-control:focus, .form-select:focus {
  background-color: #fff !important;
  border-color: var(--tn-green) !important;
  box-shadow: 0 0 0 3px rgba(31,107,51,.12) !important;
  color: var(--tn-ink) !important;
}
.form-control::placeholder { color: rgba(21,51,28,.35) !important; }
label, .form-label, .col-form-label {
  color: var(--tn-ink-muted) !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.form-check-input {
  background-color: #fff !important;
  border-color: var(--tn-rule) !important;
}
.form-check-input:checked {
  background-color: var(--tn-green) !important;
  border-color: var(--tn-green) !important;
}
.text-muted, .text-body-secondary { color: var(--tn-ink-muted) !important; }
small, .small { color: var(--tn-ink-muted) !important; }

/* ── Sidebar & filters (scoped to sidebars only) ── */
aside .block, #left-column .block, #right-column .block,
.faceted-search, .left-block,
.block-categories, .category-tree,
[id*="faceted-search"] {
  background-color: #fff !important;
  border: 1px solid var(--tn-rule-soft) !important;
  border-radius: 16px !important;
}
.facet__title, .block .title, .block-categories .h6 {
  color: var(--tn-ink) !important;
  font-family: 'Bricolage Grotesque', sans-serif !important;
}
.facet__label { color: var(--tn-ink-soft) !important; }
.noUi-connect { background: var(--tn-green) !important; }
.noUi-handle {
  background: var(--tn-green) !important;
  border: 3px solid #fff !important;
  box-shadow: 0 0 0 2px var(--tn-green) !important;
}

/* ── Product page ── */
.page-product {
  background-color: var(--tn-cream) !important;
  color: var(--tn-ink) !important;
}
.product__name {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
  color: var(--tn-ink) !important;
}
.product__details, .product__features {
  background: #fff !important;
  border: 1px solid var(--tn-rule-soft) !important;
  border-radius: 16px !important;
  padding: 1.25rem !important;
}
.product-description, .product-description-short { color: var(--tn-ink-soft) !important; }
.product-manufacturer a, .product-reference span { color: var(--tn-ink-muted) !important; }
.product__images__modal-opener {
  background-color: rgba(255,255,255,0.85) !important;
  color: var(--tn-ink) !important;
}

/* ── Tabs ── */
.nav-tabs { border-color: var(--tn-rule-soft) !important; }
.nav-tabs .nav-link {
  color: var(--tn-ink-muted) !important;
  border-color: transparent !important;
  border-radius: 10px 10px 0 0 !important;
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 700 !important;
}
.nav-tabs .nav-link:hover {
  color: var(--tn-ink) !important;
  background: var(--tn-cream-2) !important;
}
.nav-tabs .nav-link.active {
  background-color: #fff !important;
  border-color: var(--tn-rule-soft) var(--tn-rule-soft) #fff !important;
  color: var(--tn-green-deep) !important;
}
.tab-content {
  background-color: #fff !important;
  border: 1px solid var(--tn-rule-soft);
  border-top: none;
  padding: 1.5rem !important;
  border-radius: 0 0 12px 12px;
}

/* ── Accordion (product details) ── */
.accordion-item {
  background-color: #fff !important;
  border-color: var(--tn-rule-soft) !important;
  border-radius: 14px !important;
  margin-bottom: .5rem !important;
}
.accordion-button {
  background-color: #fff !important;
  color: var(--tn-ink) !important;
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 700 !important;
  border-radius: 14px !important;
}
.accordion-button:not(.collapsed) {
  background-color: var(--tn-green-soft) !important;
  color: var(--tn-green-deep) !important;
}
.accordion-body { background-color: #fff !important; color: var(--tn-ink-soft) !important; }

/* ── Tables ── */
.table, .table * { color: var(--tn-ink) !important; }
.table > :not(caption) > * > * { background-color: transparent !important; }
.table-bordered > :not(caption) > * { border-color: var(--tn-rule-soft) !important; }
.table thead th, .table th {
  color: var(--tn-ink-muted) !important;
  border-color: var(--tn-rule-soft) !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: .72rem !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}
.table td { border-color: var(--tn-rule-soft) !important; }

/* ── Pagination ── */
.page-link {
  background-color: #fff !important;
  border-color: var(--tn-rule-soft) !important;
  color: var(--tn-ink) !important;
  border-radius: 8px !important;
  margin: 0 2px !important;
}
.page-link:hover { background-color: var(--tn-green-soft) !important; color: var(--tn-green-deep) !important; }
.page-item.active .page-link {
  background-color: var(--tn-green) !important;
  border-color: var(--tn-green) !important;
  color: #fff !important;
}
.page-item.disabled .page-link { color: var(--tn-ink-muted) !important; }

/* ── Checkout ── */
.step dl, .checkout__steps, .checkout-step {
  background: #fff !important;
  border: 1px solid var(--tn-rule-soft) !important;
  border-radius: 16px !important;
  color: var(--tn-ink) !important;
}
.checkout__steps__number {
  background: var(--tn-green) !important;
  color: #fff !important;
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 800 !important;
}
.checkout__steps__step--done .checkout__steps__number {
  background: var(--tn-green-deep) !important;
}
.checkout__steps__step--disabled .checkout__steps__number {
  background: var(--tn-cream-2) !important;
  color: var(--tn-ink-muted) !important;
}

/* ── Cart page ── */
.page-cart #main { padding-top: 1.5rem; }
.cart-page-title, .cart-summary-title {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  color: var(--tn-ink) !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
  margin-bottom: 1rem !important;
}
.cart-container, .cart-overview, .card.cart-summary {
  background-color: #fff !important;
  border: 1px solid var(--tn-rule-soft) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

/* Cart product line */
.tn-cart-item {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  padding: 1.25rem 1.25rem !important;
  border-bottom: 1px solid var(--tn-rule-soft) !important;
}
.tn-cart-item:last-child { border-bottom: none !important; }
.tn-cart-item__img {
  flex: 0 0 88px !important;
  width: 88px !important; height: 88px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: var(--tn-cream-2) !important;
}
.tn-cart-item__img img {
  width: 100% !important; height: 100% !important;
  object-fit: contain !important;
  padding: .35rem !important;
}
.tn-cart-item__body { flex: 1 1 0 !important; min-width: 0 !important; }
.tn-cart-item__name {
  display: block !important;
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  color: var(--tn-ink) !important;
  text-decoration: none !important;
  margin-bottom: .2rem !important;
  line-height: 1.3 !important;
  letter-spacing: -.01em !important;
}
.tn-cart-item__name:hover { color: var(--tn-green-deep) !important; }
.tn-cart-item__attr {
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: .72rem !important;
  letter-spacing: .04em !important;
  color: var(--tn-ink-muted) !important;
  margin-bottom: .1rem !important;
}
.tn-cart-item__remove {
  display: inline-block !important;
  margin-top: .45rem !important;
  font-size: .75rem !important;
  color: var(--tn-ink-muted) !important;
  text-decoration: none !important;
}
.tn-cart-item__remove:hover { color: var(--tn-danger, #B33B1E) !important; }
.tn-cart-item__qty { flex: 0 0 110px !important; width: 110px !important; }
.tn-cart-item__price {
  flex: 0 0 130px !important;
  text-align: right !important;
  display: flex !important; flex-direction: column !important;
  align-items: flex-end !important; gap: .15rem !important;
}
.tn-cart-item__total {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: var(--tn-gold-deep) !important;
  letter-spacing: -.02em !important;
  white-space: nowrap !important;
}
.tn-cart-item__unit, .tn-cart-item__regular {
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: .72rem !important;
  color: var(--tn-ink-muted) !important;
}
.tn-cart-item__regular { text-decoration: line-through !important; }
.tn-cart-item__badge {
  background: var(--tn-gold) !important;
  color: var(--tn-ink) !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  border-radius: 4px !important;
  padding: 2px 6px !important;
}

@media (max-width: 575px) {
  .tn-cart-item { flex-wrap: wrap !important; gap: .75rem !important; }
  .tn-cart-item__img { flex: 0 0 64px !important; width: 64px !important; height: 64px !important; }
  .tn-cart-item__body { flex: 1 1 calc(100% - 80px) !important; }
  .tn-cart-item__qty { flex: 0 0 110px !important; margin-left: 76px !important; }
  .tn-cart-item__price { flex: 1 1 auto !important; }
}

/* Quantity input — hide native browser spinners */
input[type="number"].js-cart-line-product-quantity,
.input-group input[type="number"],
.product__quantity input[type="number"] {
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}
input[type="number"].js-cart-line-product-quantity::-webkit-outer-spin-button,
input[type="number"].js-cart-line-product-quantity::-webkit-inner-spin-button,
.input-group input[type="number"]::-webkit-outer-spin-button,
.input-group input[type="number"]::-webkit-inner-spin-button,
.product__quantity input[type="number"]::-webkit-outer-spin-button,
.product__quantity input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Quantity input */
.input-group .form-control, .js-cart-line-product-quantity {
  background: #fff !important;
  border-color: var(--tn-rule-soft) !important;
  color: var(--tn-ink) !important;
  text-align: center !important;
  font-weight: 700 !important;
}
.input-group .btn {
  background: #fff !important;
  border-color: var(--tn-rule-soft) !important;
  color: var(--tn-ink) !important;
}
.input-group .btn:hover {
  border-color: var(--tn-green) !important;
  color: var(--tn-green-deep) !important;
  background: var(--tn-green-soft) !important;
}

/* Cart summary lines */
.cart-summary__line {
  display: flex !important;
  justify-content: space-between !important;
  padding: .75rem 1.25rem !important;
  border-bottom: 1px solid var(--tn-rule-soft) !important;
}
.cart-summary__label {
  color: var(--tn-ink-muted) !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: .78rem !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
.cart-summary__value { color: var(--tn-ink) !important; font-weight: 700 !important; }
.cart-summary__line.cart-total {
  background: var(--tn-green-soft) !important;
  border-bottom: none !important;
}
.cart-total .cart-summary__label { color: var(--tn-ink) !important; font-weight: 800 !important; }
.cart-total .cart-summary__value {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  color: var(--tn-gold-deep) !important;
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
}
.cart-detailed__actions {
  background: var(--tn-cream) !important;
  border-top: 1px solid var(--tn-rule-soft) !important;
  padding: 1.25rem !important;
}
.cart-detailed__actions .btn-primary {
  width: 100% !important;
  padding: 1rem 1.5rem !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  border-radius: 12px !important;
}

/* Header cart badge */
.header-block__badge {
  background: var(--tn-green) !important;
  color: #fff !important;
  font-family: 'IBM Plex Mono', monospace !important;
}

/* ── Modals ── */
.modal-content {
  background-color: #fff !important;
  border-color: var(--tn-rule) !important;
  color: var(--tn-ink) !important;
  border-radius: 16px !important;
}
.modal-header, .modal-footer { border-color: var(--tn-rule-soft) !important; }
.btn-close { filter: none !important; }

/* ── Alerts ── */
.alert-success {
  background-color: var(--tn-green-soft) !important;
  border-color: rgba(31,107,51,.25) !important;
  color: var(--tn-green-deep) !important;
}
.alert-danger {
  background-color: rgba(179,59,30,.10) !important;
  border-color: rgba(179,59,30,.25) !important;
  color: #B33B1E !important;
}
.alert-warning {
  background-color: rgba(229,169,46,.14) !important;
  border-color: rgba(229,169,46,.32) !important;
  color: var(--tn-gold-deep) !important;
}

/* ── Footer ── */
#footer, .footer, .footer__main, .page-footer {
  background-color: var(--tn-ink) !important;
  color: rgba(245,239,226,.75) !important;
}
.footer__block { border-color: rgba(245,239,226,.10) !important; }
#footer a, .footer a { color: rgba(245,239,226,.75) !important; }
#footer a:hover, .footer a:hover { color: var(--tn-gold) !important; }
#footer h3, #footer h4, .footer h3, .footer h4,
.footer__block__title {
  color: var(--tn-cream) !important;
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 800 !important;
}
.footer hr { border-color: rgba(245,239,226,.10) !important; }
.footer .copyright { color: rgba(245,239,226,.50) !important; }

/* ── Reassurance block ── */
.block-reassurance, .blockreassurance_product, .blockreassurance {
  background-color: transparent !important;
}
.block-reassurance li, .blockreassurance li {
  border-color: var(--tn-rule-soft) !important;
  color: var(--tn-ink) !important;
}
.block-reassurance .block-reassurance-item p { color: var(--tn-ink-muted) !important; }
.block-reassurance .block-reassurance-item__title {
  color: var(--tn-ink) !important;
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 700 !important;
}

/* ── My account ── */
.page-customer-account .card,
.address-item .card {
  background-color: #fff !important;
  border-color: var(--tn-rule-soft) !important;
  border-radius: 16px !important;
}
.page-customer-account .page-header,
.page-general .page-header,
.page-history .page-header {
  text-align: center !important;
  margin-bottom: 2rem !important;
}
.page-customer-account .page-header h1 {
  color: var(--tn-ink) !important;
  font-weight: 800 !important;
}
.login, .login__form-wrapper, .login__register-prompt,
#login-form, #customer-form, .register-form {
  background-color: #fff !important;
  border: 1px solid var(--tn-rule-soft) !important;
  border-radius: 16px !important;
  padding: 2rem !important;
  margin: 0 auto 1.5rem !important;
  max-width: 560px !important;
  color: var(--tn-ink) !important;
  box-shadow: 0 4px 12px rgba(21,51,28,.06) !important;
}
.login hr { border-color: var(--tn-rule-soft) !important; }
.login__forgot-password a { color: var(--tn-gold-deep) !important; }
.login__forgot-password a:hover { color: var(--tn-green-deep) !important; }
