/* ============================================================
   FregranceX theme — supplemental styles (fx.css)
   Core design system: assets/css/site.css (original)
   ============================================================ */

/* --- Marquee keyframes (were injected via JS on the original site) --- */
@keyframes marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* --- Base resets for WP/Woo on top of the design system --- */
body {
  background-color: #0a0a0a;
  color: #f5f0e8;
  font-family: 'Jost', system-ui, sans-serif;
}

/* Neutralise default WordPress paragraph/heading margins so the
   original Tailwind spacing classes remain authoritative */
h1, h2, h3, h4, h5, h6, p, ul, ol, figure, blockquote {
  margin: 0;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }

/* --- Typography helpers (mirror original) --- */
.font-serif, h1, h2, h3, .fx-heading {
  font-family: 'Cormorant Garamond', Georgia, serif;
}
.eyebrow {
  font-family: 'Jost', sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: #c9a84c;
  font-weight: 500;
}

/* --- Buttons --- */
.btn-gold, .btn-outline-gold {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: 'Jost', sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.9rem 1.9rem;
  border-radius: 2px;
  transition: all 0.25s ease;
  cursor: pointer;
  border: 1px solid transparent;
}
.btn-gold {
  background: #c9a84c;
  color: #0a0a0a;
  border-color: #c9a84c;
}
.btn-gold:hover {
  background: #e8c86a;
  border-color: #e8c86a;
  color: #0a0a0a;
}
.btn-outline-gold {
  background: transparent;
  color: #d4a843;
  border-color: rgba(201, 168, 76, 0.5);
}
.btn-outline-gold:hover {
  border-color: #c9a84c;
  color: #e8c86a;
  background: rgba(201, 168, 76, 0.06);
}

/* --- Nav dropdowns (CSS hover, like the original) --- */
.nav-dropdown { position: relative; }
.nav-dropdown > .dropdown-panel {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  min-width: 190px;
  background: #121212;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 4px;
  padding: 0.5rem 0;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  z-index: 60;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
}
.nav-dropdown:hover > .dropdown-panel {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.nav-dropdown .dropdown-panel a {
  display: block;
  padding: 0.5rem 1.25rem;
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  color: #dfd3bc;
  white-space: nowrap;
  transition: color 0.15s ease, background 0.15s ease;
}
.nav-dropdown .dropdown-panel a:hover {
  color: #e8c86a;
  background: rgba(201, 168, 76, 0.07);
}

/* --- Product card (matches the original Best Sellers grid) --- */
.fx-product-card {
  position: relative;
  background: #121212;
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 4px;
  overflow: hidden;
  transition: border-color 0.25s ease, transform 0.25s ease;
}
.fx-product-card:hover {
  border-color: rgba(201, 168, 76, 0.35);
  transform: translateY(-3px);
}
.fx-product-card .card-media {
  position: relative;
  aspect-ratio: 4 / 5;
  background: #0a0a0a;
  overflow: hidden;
}
.fx-product-card .card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.fx-product-card:hover .card-media img { transform: scale(1.05); }
.fx-product-card .card-actions {
  position: absolute;
  inset: auto 0 0 0;
  display: flex;
  gap: 0.5rem;
  padding: 0.75rem;
  transform: translateY(100%);
  transition: transform 0.25s ease;
}
.fx-product-card:hover .card-actions { transform: translateY(0); }
.fx-product-card .card-actions button,
.fx-product-card .card-actions a {
  flex: 1;
  font-family: 'Jost', sans-serif;
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.65rem 0.5rem;
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.fx-product-card .btn-quickview {
  background: rgba(10, 10, 10, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #f5f0e8;
  backdrop-filter: blur(4px);
}
.fx-product-card .btn-quickview:hover { border-color: #c9a84c; color: #e8c86a; }
.fx-product-card .btn-addbag {
  background: #c9a84c;
  border: 1px solid #c9a84c;
  color: #0a0a0a;
}
.fx-product-card .btn-addbag:hover { background: #e8c86a; }
.fx-product-card .card-body { padding: 1rem 1.1rem 1.2rem; }
.fx-product-card .card-brand {
  font-size: 0.65rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #ccc0a4;
  margin-bottom: 0.3rem;
}
.fx-product-card .card-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.25rem;
  font-weight: 500;
  color: #f9f6f0;
  line-height: 1.25;
}
.fx-product-card .card-name a:hover { color: #e8c86a; }
.fx-product-card .card-price {
  margin-top: 0.45rem;
  font-size: 1rem;
  color: #c9a84c;
  font-weight: 500;
}
.fx-product-card .card-price del {
  color: #6b6353;
  margin-left: 0.5rem;
  font-weight: 400;
}
.fx-product-card .card-badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 5;
  font-size: 0.6rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 0.3rem 0.7rem;
  background: #c9a84c;
  color: #0a0a0a;
  border-radius: 2px;
  font-weight: 600;
}
.fx-product-card .card-rating {
  font-size: 0.7rem;
  color: #ccc0a4;
  margin-top: 0.2rem;
}
.fx-product-card .card-rating .stars { color: #c9a84c; }

/* --- Category / collection cards --- */
.fx-cat-card {
  position: relative;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.05);
  aspect-ratio: 4 / 5;
  display: block;
}
.fx-cat-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.fx-cat-card:hover img { transform: scale(1.06); }
.fx-cat-card .cat-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,10,10,0.1) 0%, rgba(10,10,10,0.35) 55%, rgba(10,10,10,0.92) 100%);
}
.fx-cat-card .cat-content {
  position: absolute;
  inset: auto 0 0 0;
  padding: 1.4rem;
}
.fx-cat-card .cat-kicker {
  font-size: 0.62rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #c9a84c;
  margin-bottom: 0.4rem;
}
.fx-cat-card .cat-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.7rem;
  color: #f9f6f0;
  font-weight: 500;
}
.fx-cat-card .cat-count {
  font-size: 0.72rem;
  color: #dfd3bc;
  margin-top: 0.3rem;
  letter-spacing: 0.08em;
}
.fx-cat-card .cat-cta {
  margin-top: 0.8rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #e8c86a;
}

/* --- Filter tabs (Best Sellers) --- */
.fx-tabs { display: flex; gap: 0.4rem; flex-wrap: wrap; }
.fx-tabs a {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 0.5rem 1.1rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 2px;
  color: #dfd3bc;
  transition: all 0.2s ease;
}
.fx-tabs a:hover, .fx-tabs a.active {
  border-color: #c9a84c;
  color: #e8c86a;
  background: rgba(201, 168, 76, 0.08);
}

/* --- Trust cards --- */
.fx-trust-card {
  background: #121212;
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 4px;
  padding: 1.8rem 1.5rem;
  transition: border-color 0.25s ease;
}
.fx-trust-card:hover { border-color: rgba(201, 168, 76, 0.3); }
.fx-trust-card .trust-icon {
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid rgba(201, 168, 76, 0.4);
  border-radius: 50%;
  color: #c9a84c;
  margin-bottom: 1.1rem;
}
.fx-trust-card h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.3rem;
  color: #f9f6f0;
  margin-bottom: 0.5rem;
  font-weight: 500;
}
.fx-trust-card p { font-size: 0.85rem; line-height: 1.65; color: #ccc0a4; }

/* --- Testimonials --- */
.fx-review-card {
  background: #121212;
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 4px;
  padding: 1.6rem;
}
.fx-review-card .review-text {
  font-size: 0.88rem;
  line-height: 1.7;
  color: #dfd3bc;
  font-style: italic;
}
.fx-review-card .review-name {
  margin-top: 1.1rem;
  font-size: 0.85rem;
  color: #f9f6f0;
  font-weight: 500;
}
.fx-review-card .review-meta {
  font-size: 0.72rem;
  color: #ccc0a4;
  margin-top: 0.2rem;
  letter-spacing: 0.05em;
}

/* --- Newsletter --- */
.fx-newsletter-box {
  background: linear-gradient(135deg, #121212 0%, #1c1c1c 100%);
  border: 1px solid rgba(201, 168, 76, 0.25);
  border-radius: 6px;
  padding: 3rem 2rem;
}
.fx-newsletter-box form { display: flex; gap: 0.6rem; max-width: 520px; }
.fx-newsletter-box input[type="email"] {
  flex: 1;
  background: rgba(10, 10, 10, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 2px;
  padding: 0.9rem 1.1rem;
  color: #f9f6f0;
  font-family: 'Jost', sans-serif;
  font-size: 0.85rem;
}
.fx-newsletter-box input[type="email"]::placeholder { color: #8a8272; }
.fx-newsletter-box input[type="email"]:focus { outline: none; border-color: #c9a84c; }

/* --- Blog cards --- */
.fx-post-card {
  position: relative;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.05);
  background: #121212;
  display: block;
  transition: border-color 0.25s ease, transform 0.25s ease;
}
.fx-post-card:hover { border-color: rgba(201, 168, 76, 0.35); transform: translateY(-3px); }
.fx-post-card .post-media { aspect-ratio: 16 / 9; overflow: hidden; }
.fx-post-card .post-media img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.5s ease;
}
.fx-post-card:hover .post-media img { transform: scale(1.05); }
.fx-post-card .post-body { padding: 1.4rem 1.5rem 1.6rem; }
.fx-post-card .post-cat {
  font-size: 0.62rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #c9a84c;
}
.fx-post-card h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.45rem;
  font-weight: 500;
  color: #f9f6f0;
  margin: 0.5rem 0 0.6rem;
  line-height: 1.3;
}
.fx-post-card h3 a:hover { color: #e8c86a; }
.fx-post-card .post-excerpt {
  font-size: 0.85rem;
  line-height: 1.65;
  color: #ccc0a4;
}
.fx-post-card .post-meta {
  margin-top: 1rem;
  font-size: 0.7rem;
  color: #8a8272;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* --- Single post prose --- */
.fx-prose {
  font-size: 1rem;
  line-height: 1.85;
  color: #dfd3bc;
}
.fx-prose p { margin-bottom: 1.4rem; }
.fx-prose h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.9rem;
  color: #f9f6f0;
  margin: 2.2rem 0 1rem;
  font-weight: 500;
}
.fx-prose h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  color: #f9f6f0;
  margin: 1.8rem 0 0.8rem;
  font-weight: 500;
}
.fx-prose ul, .fx-prose ol { margin: 0 0 1.4rem 1.4rem; }
.fx-prose li { margin-bottom: 0.5rem; }
.fx-prose a { color: #e8c86a; border-bottom: 1px solid rgba(201, 168, 76, 0.4); }
.fx-prose a:hover { border-color: #e8c86a; }
.fx-prose strong { color: #f9f6f0; }
.fx-prose blockquote {
  border-left: 2px solid #c9a84c;
  padding: 0.5rem 0 0.5rem 1.5rem;
  margin: 1.6rem 0;
  font-style: italic;
  color: #f5f0e8;
}
.fx-prose img { border-radius: 4px; margin: 1.5rem 0; }

/* FAQ accordion on single posts */
.fx-faq details {
  background: #121212;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 4px;
  margin-bottom: 0.6rem;
}
.fx-faq summary {
  padding: 1rem 1.3rem;
  cursor: pointer;
  font-size: 0.92rem;
  color: #f9f6f0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.fx-faq summary::-webkit-details-marker { display: none; }
.fx-faq summary::after { content: '+'; color: #c9a84c; font-size: 1.2rem; }
.fx-faq details[open] summary::after { content: '−'; }
.fx-faq .faq-a { padding: 0 1.3rem 1.1rem; font-size: 0.88rem; line-height: 1.7; color: #ccc0a4; }

/* --- Single product --- */
.fx-product-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; }
@media (max-width: 900px) { .fx-product-grid { grid-template-columns: 1fr; } }
.fx-product-gallery .main-img {
  aspect-ratio: 4 / 5;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 4px;
  overflow: hidden;
  background: #121212;
}
.fx-product-gallery .main-img img { width: 100%; height: 100%; object-fit: contain; }
.fx-product-info h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.4rem;
  font-weight: 500;
  color: #f9f6f0;
  line-height: 1.2;
}
.fx-product-info .p-brand {
  font-size: 0.72rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #c9a84c;
  margin-bottom: 0.6rem;
}
.fx-product-info .p-price {
  font-size: 1.6rem;
  color: #c9a84c;
  font-weight: 500;
  margin: 1rem 0;
}
.fx-product-info .p-price del { color: #6b6353; font-size: 1.1rem; margin-left: 0.6rem; }
.fx-notes-table { width: 100%; margin: 1.4rem 0; border-top: 1px solid rgba(255,255,255,0.08); }
.fx-notes-table tr td {
  padding: 0.7rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  font-size: 0.85rem;
  vertical-align: top;
}
.fx-notes-table tr td:first-child {
  width: 34%;
  color: #c9a84c;
  text-transform: uppercase;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  padding-top: 0.85rem;
}
.fx-notes-table tr td:last-child { color: #dfd3bc; line-height: 1.6; }

/* Woo quantity + add to cart */
.quantity { display: inline-flex; border: 1px solid rgba(255,255,255,0.15); border-radius: 2px; }
.quantity input[type="number"] {
  width: 3rem;
  background: transparent;
  border: none;
  color: #f9f6f0;
  text-align: center;
  font-family: 'Jost', sans-serif;
}
.quantity input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; }
.quantity .qty-btn {
  background: transparent;
  border: none;
  color: #dfd3bc;
  width: 2.4rem;
  height: 2.8rem;
  cursor: pointer;
  font-size: 1rem;
}
.quantity .qty-btn:hover { color: #e8c86a; }
.button.add_to_cart_button, .btn-add-cart {
  background: #c9a84c;
  color: #0a0a0a;
  border: 1px solid #c9a84c;
  font-family: 'Jost', sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 0.95rem 2.2rem;
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.25s ease;
}
.button.add_to_cart_button:hover, .btn-add-cart:hover { background: #e8c86a; border-color: #e8c86a; }

/* --- Cart / checkout --- */
.fx-cart-table { width: 100%; border-collapse: collapse; }
.fx-cart-table th {
  text-align: left;
  font-size: 0.68rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #ccc0a4;
  padding: 0.9rem 0.75rem;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  font-weight: 500;
}
.fx-cart-table td {
  padding: 1.1rem 0.75rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  font-size: 0.9rem;
  color: #f5f0e8;
  vertical-align: middle;
}
.fx-cart-table .remove a { color: #ef4444; }
.wc-proceed-to-checkout { text-align: right; margin-top: 1.5rem; }
.fx-checkout-wrap { max-width: 640px; margin: 0 auto; }
.wc-form-login .form-row, .wc-checkout .form-row, .wc-form-row {
  margin-bottom: 1.1rem;
}
.wc-checkout label, .wc-form-login label {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #ccc0a4;
  margin-bottom: 0.45rem;
}
input.input-text, .wc-checkout input.input-text, select, textarea {
  width: 100%;
  background: rgba(10, 10, 10, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 2px;
  padding: 0.85rem 1rem;
  color: #f9f6f0;
  font-family: 'Jost', sans-serif;
  font-size: 0.9rem;
}
input.input-text:focus, select:focus, textarea:focus { outline: none; border-color: #c9a84c; }
.wc-proceed-to-checkout a.checkout-button, #place_order {
  background: #c9a84c !important;
  color: #0a0a0a !important;
  border: 1px solid #c9a84c;
  font-family: 'Jost', sans-serif;
  font-size: 0.8rem !important;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 1rem 2.4rem !important;
  border-radius: 2px;
  cursor: pointer;
}
#place_order:hover { background: #e8c86a !important; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  background: #121212;
  border: 1px solid rgba(201, 168, 76, 0.3);
  border-radius: 4px;
  padding: 1rem 1.3rem;
  color: #f5f0e8;
  font-size: 0.88rem;
  margin-bottom: 1.5rem;
}
.woocommerce-error { border-color: rgba(239, 68, 68, 0.4); }
.woocommerce-notices-wrapper { margin-bottom: 2rem; }

/* Woo order review table */
.wc-checkout-review-item-name { color: #f5f0e8 !important; font-family: 'Jost', sans-serif !important; }
table.shop_table { background: transparent; }
table.shop_table td, table.shop_table th { border-color: rgba(255,255,255,0.08) !important; color: #dfd3bc; }
table.shop_table th { background: transparent !important; color: #ccc0a4; }
.order_details { background: #121212 !important; border: 1px solid rgba(255,255,255,0.06); border-radius: 4px; padding: 1.5rem; }
.order_details h2, .order_details h3 { color: #f9f6f0; font-family: 'Cormorant Garamond', serif; }
.order_details .order_details h3, .order_details strong { color: #e8c86a; }

/* --- Footer --- */
.fx-footer {
  background: #0a0a0a;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}
.fx-footer a:hover { color: #e8c86a; }
.fx-footer .foot-title {
  font-size: 0.72rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #f9f6f0;
  margin-bottom: 1.2rem;
  font-weight: 500;
}
.fx-footer ul { list-style: none; padding: 0; margin: 0; }
.fx-footer ul li { margin-bottom: 0.55rem; }
.fx-footer ul li a { font-size: 0.84rem; color: #ccc0a4; transition: color 0.15s ease; }
.fx-payment-badges { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.fx-payment-badges span {
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  color: #ccc0a4;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 3px;
  padding: 0.35rem 0.65rem;
}

/* --- Pagination ---
.wc-pagination, .nav-links { display: flex; gap: 0.4rem; justify-content: center; margin-top: 2.5rem; flex-wrap: wrap; }
.wc-pagination a, .wc-pagination span.page-numbers, .nav-links a, .nav-links span.page-numbers {
  min-width: 2.4rem; height: 2.4rem;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 2px;
  font-size: 0.8rem;
  color: #dfd3bc;
  padding: 0 0.6rem;
}
.wc-pagination a:hover, .wc-pagination span.current, .nav-links .current {
  border-color: #c9a84c; color: #e8c86a; background: rgba(201,168,76,0.08);
}

/* --- Misc WP fixes --- */
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignleft { float: left; margin: 0.5rem 1.5rem 1rem 0; }
.alignright { float: right; margin: 0.5rem 0 1rem 1.5rem; }
.wp-caption { max-width: 100%; }
.screen-reader-text {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px; height: 1px;
  overflow: hidden;
}
.wp-block-button__link { border-radius: 2px; }

/* Mobile nav */
.fx-mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(10, 10, 10, 0.98);
  display: none;
  flex-direction: column;
  padding: 5rem 2rem 2rem;
  overflow-y: auto;
}
.fx-mobile-menu.open { display: flex; }
.fx-mobile-menu a {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.6rem;
  color: #f5f0e8;
  padding: 0.6rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.fx-mobile-menu a:hover { color: #e8c86a; }
.fx-mobile-menu .sub { padding-left: 1.2rem; font-family: 'Jost', sans-serif; font-size: 1rem; }
.fx-menu-toggle { display: none; background: none; border: none; color: #f5f0e8; cursor: pointer; }
@media (max-width: 1024px) {
  .fx-menu-toggle { display: block; }
  .fx-primary-nav { display: none !important; }
}

/* ---- shop filter chips ---- */
.fx-chip {
    display: inline-block;
    padding: 8px 18px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.14);
    color: #ccc0a4;
    font-size: 13px;
    letter-spacing: .04em;
    text-decoration: none;
    transition: all .18s ease;
    background: rgba(255,255,255,.02);
}
.fx-chip:hover {
    border-color: rgba(201,168,76,.6);
    color: #c9a84c;
}
.fx-chip.is-active {
    background: #c9a84c;
    border-color: #c9a84c;
    color: #0a0a0a;
    font-weight: 600;
}

/* ------------------------------------------------------------------
   WooCommerce product loop grid — true catalogue layout.
   content-product.php outputs .fx-product-card directly inside
   <ul class="products">, so the list itself is the grid.
   2 -> 3 -> 4 -> 5 -> 6 across breakpoints.
   ------------------------------------------------------------------ */
.woocommerce ul.products,
ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 640px) {
  .woocommerce ul.products, ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .woocommerce ul.products, ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1440px) {
  .woocommerce ul.products, ul.products { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 1700px) {
  .woocommerce ul.products, ul.products { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after { display: none; }

/* Neutralise Woo's float-based defaults */
.woocommerce ul.products li.product,
ul.products li.product,
.woocommerce ul.products > .fx-product-card,
ul.products > .fx-product-card {
  width: 100%;
  margin: 0;
  float: none;
  clear: none;
}

/* Tighter card typography so 5-6 across stays readable */
@media (min-width: 1440px) {
  .fx-product-card .card-body { padding: 0.85rem 0.9rem 1rem; }
  .fx-product-card .card-name { font-size: 0.92rem; }
  .fx-product-card .card-price { font-size: 0.9rem; }
}

/* Result count + ordering row */
.woocommerce-result-count,
.woocommerce-ordering { display: inline-block; vertical-align: middle; }
.woocommerce-result-count {
  color: #8a8578;
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  margin: 0 0 1.5rem;
}
.woocommerce-ordering { float: right; }
.woocommerce-ordering select {
  background: #14130f;
  color: #e8dcc8;
  border: 1px solid rgba(255,255,255,0.12);
  padding: 0.5rem 0.9rem;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  border-radius: 2px;
}

/* Pagination */
.woocommerce-pagination ul.page-numbers {
  display: flex; flex-wrap: wrap; gap: 0.4rem;
  justify-content: center; list-style: none;
  margin: 3rem 0 0; padding: 0; border: 0;
}
.woocommerce-pagination ul.page-numbers li { border: 0; margin: 0; }
.woocommerce-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2.4rem; height: 2.4rem; padding: 0 0.6rem;
  border: 1px solid rgba(255,255,255,0.12);
  color: #e8dcc8; font-size: 0.82rem; text-decoration: none;
  background: transparent; border-radius: 2px;
}
.woocommerce-pagination .page-numbers.current,
.woocommerce-pagination .page-numbers:hover {
  background: #c9a84c; border-color: #c9a84c; color: #14130f;
}

/* card-media is an <a> (inline by default) — aspect-ratio and overflow only
   apply to block-level boxes, so force it. Without this the image renders at
   natural height and pushes .card-body outside the card's overflow:hidden. */
.fx-product-card { display: flex; flex-direction: column; }
.fx-product-card .card-media {
  display: block;
  width: 100%;
  flex: 0 0 auto;
}
.fx-product-card .card-body { flex: 1 1 auto; }

/* Woo's shop page template prints its own <h1 class="page-title">; the hero
   band above already shows the title. */
.woocommerce-page .page-title,
.post-type-archive-product .page-title { display: none; }

/* ------------------------------------------------------------------
   Single product: WooCommerce add-to-cart form, themed
   ------------------------------------------------------------------ */
.single-product form.cart {
  display: flex;
  align-items: stretch;
  gap: 0.75rem;
  margin: 1.75rem 0 0;
  flex-wrap: wrap;
}
.single-product form.cart .quantity { display: flex; }
.single-product form.cart .quantity input.qty,
.single-product form.cart input[type="number"] {
  width: 5rem;
  height: 3rem;
  padding: 0 0.75rem;
  background: #14130f;
  color: #e8dcc8;
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 2px;
  font-size: 0.95rem;
  text-align: center;
}
.single-product form.cart button.single_add_to_cart_button,
.single-product form.cart .single_add_to_cart_button.button {
  height: 3rem;
  padding: 0 2.25rem;
  background: #c9a84c;
  color: #14130f;
  border: 0;
  border-radius: 2px;
  font-family: 'Jost', system-ui, sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s ease;
}
.single-product form.cart button.single_add_to_cart_button:hover,
.single-product form.cart .single_add_to_cart_button.button:hover {
  background: #e8c86a;
}
.single-product form.cart .single_add_to_cart_button.disabled,
.single-product form.cart .single_add_to_cart_button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* Woo notices, themed to the dark palette */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: #14130f;
  border-top: 2px solid #c9a84c;
  color: #e8dcc8;
  border-radius: 2px;
  padding: 1rem 1.25rem;
  list-style: none;
}
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a { color: #e8c86a; }

/* ------------------------------------------------------------------
   Brands A–Z directory
   ------------------------------------------------------------------ */
.fx-az-nav {
  display: flex; flex-wrap: wrap; gap: 0.35rem;
  justify-content: center; margin-top: 1.75rem;
}
.fx-az-nav a {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2rem; height: 2rem;
  border: 1px solid rgba(255,255,255,0.12);
  color: #e8dcc8; font-size: 0.75rem; letter-spacing: 0.06em;
  text-decoration: none; border-radius: 2px;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.fx-az-nav a:hover { background: #c9a84c; border-color: #c9a84c; color: #14130f; }

.fx-az-group { margin-bottom: 2.75rem; }
.fx-az-letter {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.9rem; color: #c9a84c;
  padding-bottom: 0.5rem; margin-bottom: 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.fx-az-list {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: 0.5rem;
  grid-template-columns: repeat(1, minmax(0,1fr));
}
@media (min-width: 640px)  { .fx-az-list { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 1024px) { .fx-az-list { grid-template-columns: repeat(4, minmax(0,1fr)); } }
.fx-az-list a {
  display: flex; align-items: center; justify-content: space-between; gap: 0.75rem;
  padding: 0.7rem 0.9rem;
  background: #121212;
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 3px;
  color: #e8dcc8; text-decoration: none;
  font-size: 0.86rem;
  transition: border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.fx-az-list a:hover {
  border-color: rgba(201,168,76,0.4); color: #e8c86a; transform: translateY(-2px);
}
.fx-az-count {
  font-size: 0.68rem; letter-spacing: 0.08em;
  color: #8a8578; background: rgba(255,255,255,0.04);
  padding: 0.15rem 0.45rem; border-radius: 2px;
}

/* ------------------------------------------------------------------
   Cart & Checkout blocks — themed to the dark palette
   ------------------------------------------------------------------ */
.woocommerce-cart .fx-prose,
.woocommerce-checkout .fx-prose { max-width: none; }
.woocommerce-cart main .max-w-3xl,
.woocommerce-checkout main .max-w-3xl,
.woocommerce-cart section > .max-w-3xl,
.woocommerce-checkout section > .max-w-3xl {
  max-width: 80rem;
}
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout { max-width: 80rem; margin-inline: auto; }

/* Headings + labels */
.wc-block-components-title,
.wp-block-woocommerce-checkout h2,
.wc-block-components-checkout-step__title {
  color: #f5f0e8 !important;
  font-family: 'Cormorant Garamond', Georgia, serif;
}
.wc-block-components-checkout-step__description,
.wc-block-components-text-input label,
.wc-block-components-address-form label,
.wc-block-components-totals-item__label,
.wc-block-components-product-name,
.wc-block-components-product-metadata,
.wc-block-components-order-summary-item__description,
.wc-block-checkout__terms,
.wc-block-components-checkbox__label { color: #cfc7b8 !important; }

/* Inputs */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-select__select,
.wc-block-components-combobox input,
.wc-block-components-address-form input,
.woocommerce-input-wrapper input,
.wc-block-components-form input[type="text"],
.wc-block-components-form input[type="email"],
.wc-block-components-form input[type="tel"] {
  background: #14130f !important;
  color: #f5f0e8 !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 2px !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select__select:focus {
  border-color: #c9a84c !important;
  box-shadow: 0 0 0 1px #c9a84c !important;
  outline: none !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input label { color: #8a8578 !important; }

/* Panels / totals / summary */
.wc-block-components-panel,
.wc-block-components-totals-wrapper,
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-order-summary,
.wc-block-components-sidebar {
  background: #121212;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 3px;
  color: #e8dcc8;
}
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-formatted-money-amount { color: #e8c86a !important; }

/* Primary buttons */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  background: #c9a84c !important;
  color: #14130f !important;
  border: 0 !important;
  border-radius: 2px !important;
  font-family: 'Jost', system-ui, sans-serif !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font-size: 0.74rem !important;
  font-weight: 500 !important;
  min-height: 3rem;
}
.wc-block-components-button:not(.is-link):hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover { background: #e8c86a !important; }

/* Radio / payment rows */
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option {
  background: #14130f;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 2px;
  color: #e8dcc8;
  margin-bottom: 0.5rem;
}
.wc-block-components-radio-control__label { color: #e8dcc8 !important; }

/* Table rows in the cart */
.wc-block-cart-items__header,
.wc-block-cart-items__row,
.wc-block-cart-item__wrap { color: #e8dcc8; border-color: rgba(255,255,255,0.08) !important; }
.wc-block-cart-items__header { color: #8a8578; letter-spacing: 0.1em; }
.wc-block-components-product-name { text-decoration: none; }

/* ------------------------------------------------------------------
   Classic (shortcode) cart & checkout — SnapScan needs these, the
   block checkout cannot render it.
   ------------------------------------------------------------------ */
.woocommerce form .form-row label,
.woocommerce-checkout h3,
.woocommerce-billing-fields h3,
.woocommerce table.shop_table th,
.woocommerce table.cart th { color: #e8dcc8; }
.woocommerce-checkout h3,
#order_review_heading {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.6rem; color: #f5f0e8; margin: 1.5rem 0 1rem;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
  background: #14130f !important;
  color: #f5f0e8 !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 2px !important;
  padding: 0.7rem 0.85rem !important;
  height: auto !important;
  line-height: 1.4 !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { color: #f5f0e8 !important; line-height: 1.4 !important; }
.select2-dropdown { background: #14130f; color: #f5f0e8; border-color: rgba(255,255,255,0.15); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: #c9a84c; color: #14130f; }

.woocommerce table.shop_table,
.woocommerce table.cart,
.woocommerce-checkout-review-order-table {
  background: #121212;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 3px;
  color: #e8dcc8;
}
.woocommerce table.shop_table td,
.woocommerce table.shop_table th { border-color: rgba(255,255,255,0.07) !important; }
.woocommerce table.shop_table .order-total .amount,
.woocommerce .woocommerce-Price-amount { color: #e8c86a; }

#payment, .woocommerce-checkout #payment {
  background: #121212 !important;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 3px;
}
#payment ul.payment_methods { border-bottom: 1px solid rgba(255,255,255,0.07); }
#payment ul.payment_methods li { list-style: none; color: #e8dcc8; }
#payment div.payment_box {
  background: #14130f !important;
  color: #cfc7b8;
  border-radius: 2px;
}
#payment div.payment_box::before { border-bottom-color: #14130f !important; }

.woocommerce #payment #place_order,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
  background: #c9a84c !important;
  color: #14130f !important;
  border: 0 !important;
  border-radius: 2px !important;
  font-family: 'Jost', system-ui, sans-serif !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font-size: 0.76rem !important;
  padding: 1rem 2rem !important;
}
.woocommerce #payment #place_order:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover { background: #e8c86a !important; }

.woocommerce-cart table.cart img { width: 64px; border-radius: 2px; }
.woocommerce .cart-collaterals .cart_totals > h2 {
  font-family: 'Cormorant Garamond', Georgia, serif; color: #f5f0e8;
}
.woocommerce form.checkout_coupon,
.woocommerce .cart_totals {
  background: #121212;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 3px;
  padding: 1.25rem;
}

/* Cart/checkout need the full content width, not the narrow prose column */
.woocommerce-cart .fx-prose > .woocommerce,
.woocommerce-checkout .fx-prose > .woocommerce { max-width: none; }
body.woocommerce-cart section .max-w-3xl,
body.woocommerce-checkout section .max-w-3xl { max-width: 72rem; }
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button {
  background: #c9a84c !important; color: #14130f !important;
  border-radius: 2px !important; font-size: 0.72rem !important;
  letter-spacing: 0.14em; text-transform: uppercase; padding: 0.6rem 1.2rem !important;
}

/* ------------------------------------------------------------------
   Hero scroll indicator — the prebuilt utility CSS lacks some of these
   classes, so pin it explicitly and hide it on small screens where it
   collided with the hero copy.
   ------------------------------------------------------------------ */
.fx-hero .fx-scroll-indicator,
section .fx-scroll-indicator {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  pointer-events: none;
}
@media (max-width: 767px) { .fx-scroll-indicator { display: none; } }

/* No page should scroll sideways on mobile */
html, body { max-width: 100%; overflow-x: hidden; }

/* ------------------------------------------------------------------
   Real product photography is shot on a white studio background.
   On the obsidian theme those tiles read as "blank white boxes", and
   object-fit:cover was cropping the bottles. Give real photos a light
   tile, contain them so the whole bottle is visible, and pad them.
   (The generated SVG placeholders are already dark — exclude them.)
   ------------------------------------------------------------------ */
.fx-product-card .card-media { background: #0a0a0a; }

.fx-product-card .card-media img.wp-post-image,
.fx-product-card .card-media img[src*="/wp-content/uploads/"],
.fx-single-gallery img {
  object-fit: contain;
  background: #f5f2ed;          /* matches the photos' own white ground */
  padding: 0.75rem;
}

/* Rounded inner edge so the light tile sits inside the card frame */
.fx-product-card .card-media img[src*="/wp-content/uploads/"] {
  border-radius: 3px 3px 0 0;
}

/* Single product gallery: give the studio-white photos a light ground so the
   bottle is legible, and keep the whole bottle in frame. */
.fx-product-gallery .main-img { background: #f5f2ed; }
.fx-product-gallery .main-img img {
  object-fit: contain;
  padding: 1.5rem;
  background: #f5f2ed;
}
/* Placeholder SVGs are dark by design — don't wash them out */
.fx-product-gallery .main-img img[src^="data:image"] {
  background: #121212;
  padding: 0;
}
.fx-product-gallery .mt-4 img {
  object-fit: contain;
  background: #f5f2ed;
  padding: 0.35rem;
}

/* ------------------------------------------------------------------
   WooCommerce notices use a WooCommerce icon font for the leading
   glyph; the theme doesn't load it, so it renders as a tofu box.
   Replace with plain typographic marks.
   ------------------------------------------------------------------ */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  font-family: inherit !important;
  content: "" !important;
  display: none !important;
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error { padding-left: 1.25rem !important; }

/* Secondary buttons (Apply coupon, Update cart, Return to shop) */
.woocommerce a.button:not(.alt):not(.checkout-button),
.woocommerce button.button:not(.alt):not(#place_order),
.woocommerce input.button:not(.alt) {
  background: transparent !important;
  color: #e8dcc8 !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  border-radius: 2px !important;
  font-family: 'Jost', system-ui, sans-serif !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 0.75rem 1.25rem !important;
  transition: border-color .2s ease, color .2s ease;
}
.woocommerce a.button:not(.alt):hover,
.woocommerce button.button:not(.alt):not(#place_order):hover,
.woocommerce input.button:not(.alt):hover {
  border-color: #c9a84c !important;
  color: #e8c86a !important;
}
.woocommerce .button:disabled,
.woocommerce .button[disabled] { opacity: .45 !important; }

/* Coupon field sizing */
.woocommerce form.woocommerce-cart-form .coupon input#coupon_code {
  min-width: 12rem;
  padding: 0.75rem 0.85rem !important;
}
.woocommerce .cart .actions .coupon { display: flex; gap: 0.5rem; align-items: stretch; }

/* SnapScan's payment box sits on a light logo — keep its text readable */
#payment .payment_box p { color: #cfc7b8 !important; margin: 0; }
#payment li.wc_payment_method > label { color: #e8dcc8 !important; font-weight: 500; }

/* Shop archive gets a wider container than editorial pages so 5-6 columns
   have room to breathe on large monitors. */
@media (min-width: 1440px) {
  .post-type-archive-product .max-w-7xl,
  .tax-product_cat .max-w-7xl,
  .tax-product_tag .max-w-7xl,
  .tax-product_brand .max-w-7xl { max-width: 1600px; }
}
@media (min-width: 1700px) {
  .post-type-archive-product .max-w-7xl,
  .tax-product_cat .max-w-7xl,
  .tax-product_tag .max-w-7xl,
  .tax-product_brand .max-w-7xl { max-width: 1840px; }
}

/* ------------------------------------------------------------------
   Catalogue pagination — clearly separated below the grid
   ------------------------------------------------------------------ */
.woocommerce nav.woocommerce-pagination {
  margin-top: 3.5rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255,255,255,0.07);
  text-align: center;
}
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul.page-numbers {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
}
.woocommerce nav.woocommerce-pagination ul li {
  border: 0 !important;
  margin: 0;
  overflow: visible;
}
.woocommerce nav.woocommerce-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.6rem;
  height: 2.6rem;
  padding: 0 0.7rem;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 2px;
  background: transparent;
  color: #e8dcc8;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.woocommerce nav.woocommerce-pagination .page-numbers.current {
  background: #c9a84c;
  border-color: #c9a84c;
  color: #14130f;
  font-weight: 500;
}
.woocommerce nav.woocommerce-pagination a.page-numbers:hover {
  border-color: #c9a84c;
  color: #e8c86a;
}
.woocommerce nav.woocommerce-pagination .page-numbers.dots {
  border-color: transparent;
  color: #8a8578;
}

/* ------------------------------------------------------------------
   Journal / blog index — image, summary, Read More
   ------------------------------------------------------------------ */
.fx-post-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.75rem;
}
@media (min-width: 640px)  { .fx-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .fx-post-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* The card is a column so the Read More button can pin to the bottom,
   keeping buttons aligned across a row of uneven titles. */
.fx-post-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.fx-post-card .post-media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  flex: 0 0 auto;
  background: #0f0f0f;
}
.fx-post-card .post-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.fx-post-card .post-excerpt {
  margin-top: 0.15rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.fx-post-card .post-meta { margin-top: auto; padding-top: 1rem; }
.fx-post-card .post-meta .sep { margin: 0 0.4rem; color: #5f5a50; }

.fx-post-card .post-readmore {
  align-self: flex-start;
  margin-top: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.62rem 1.15rem;
  border: 1px solid rgba(201, 168, 76, 0.55);
  border-radius: 2px;
  background: transparent;
  color: #e8c86a;
  font-family: 'Jost', system-ui, sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.fx-post-card .post-readmore span[aria-hidden] { transition: transform .2s ease; }
.fx-post-card .post-readmore:hover {
  background: #c9a84c;
  border-color: #c9a84c;
  color: #14130f;
}
.fx-post-card .post-readmore:hover span[aria-hidden] { transform: translateX(3px); }

/* Blog pagination */
.fx-post-pagination { margin-top: 3.5rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,0.07); }
.fx-post-pagination .nav-links {
  display: flex; flex-wrap: wrap; gap: 0.4rem; justify-content: center;
}
.fx-post-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2.6rem; height: 2.6rem; padding: 0 0.7rem;
  border: 1px solid rgba(255,255,255,0.14); border-radius: 2px;
  color: #e8dcc8; font-size: 0.82rem; text-decoration: none;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.fx-post-pagination .page-numbers.current { background: #c9a84c; border-color: #c9a84c; color: #14130f; }
.fx-post-pagination a.page-numbers:hover { border-color: #c9a84c; color: #e8c86a; }
.fx-post-pagination .page-numbers.dots { border-color: transparent; color: #8a8578; }
.fx-post-pagination h2.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Accessible-but-hidden helper text */
.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0; padding: 0; margin: -1px;
}

/* ------------------------------------------------------------------
   Contact page — header, three info cards, quick links, form
   ------------------------------------------------------------------ */
.fx-contact-head { max-width: 640px; margin-bottom: 2.5rem; }
.fx-eyebrow {
  font-size: .68rem; letter-spacing: .32em; text-transform: uppercase;
  color: #c9a84c; margin: 0 0 .6rem;
}
.fx-contact-head h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 2.4rem; line-height: 1.15; color: #f5f0e8; margin: 0 0 .9rem;
}
.fx-contact-lede { color: #ccc0a4; font-size: 1rem; line-height: 1.7; margin: 0; }

.fx-contact-cards {
  display: grid; gap: 1.1rem; margin: 0 0 1.75rem;
  grid-template-columns: 1fr;
}
@media (min-width: 720px)  { .fx-contact-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .fx-contact-cards { grid-template-columns: repeat(3, 1fr); } }

.fx-ccard {
  background: #121212;
  border: 1px solid rgba(255,255,255,.07);
  border-top: 2px solid #c9a84c;
  border-radius: 4px;
  padding: 1.6rem 1.5rem 1.7rem;
  transition: border-color .25s ease, transform .25s ease;
}
.fx-ccard:hover { border-color: rgba(201,168,76,.4); transform: translateY(-2px); }
.fx-ccard-ico {
  display: block; font-size: 1.35rem; color: #c9a84c;
  line-height: 1; margin-bottom: .85rem;
}
.fx-ccard h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.3rem; color: #f5f0e8; margin: 0 0 1rem;
}
.fx-ccard-lbl {
  font-size: .6rem; letter-spacing: .22em; text-transform: uppercase;
  color: #8a8578; margin: 1rem 0 .3rem;
}
.fx-ccard-lbl:first-of-type { margin-top: 0; }
.fx-ccard a, .fx-ccard-txt {
  display: block; color: #e8dcc8; font-size: .92rem;
  line-height: 1.6; text-decoration: none; word-break: break-word;
}
.fx-ccard a:hover { color: #e8c86a; text-decoration: underline; }
.fx-ccard .fx-ccard-big {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.35rem; color: #e8c86a; letter-spacing: .02em;
}

.fx-contact-quick {
  display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.1rem;
  padding: 1rem 1.25rem; margin-bottom: 2.75rem;
  background: rgba(201,168,76,.05);
  border-left: 2px solid #c9a84c; border-radius: 2px;
  font-size: .85rem;
}
.fx-contact-quick span { color: #8a8578; }
.fx-contact-quick a { color: #e8c86a; text-decoration: none; }
.fx-contact-quick a:hover { text-decoration: underline; }

.fx-contact-formwrap {
  background: #121212;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 4px;
  padding: 2rem 1.9rem 2.2rem;
  max-width: 780px;
}
.fx-contact-formwrap h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.6rem; color: #f5f0e8; margin: 0 0 .35rem;
}
.fx-contact-sub { color: #8a8578; font-size: .88rem; margin: 0 0 1.5rem; }

/* Fluent Forms, themed to match the site */
.fluentform .ff-el-input--label label { color: #dfd3bc !important; font-size: .82rem; letter-spacing: .04em; }
.fluentform .ff-el-form-control {
  background: #14130f !important; color: #f5f0e8 !important;
  border: 1px solid rgba(255,255,255,.15) !important; border-radius: 2px !important;
  padding: .7rem .85rem !important;
}
.fluentform .ff-el-form-control:focus { border-color: #c9a84c !important; box-shadow: 0 0 0 1px #c9a84c !important; }
.fluentform .ff-btn-submit {
  background: #c9a84c !important; color: #14130f !important; border: 0 !important;
  border-radius: 2px !important; font-family: 'Jost', system-ui, sans-serif !important;
  letter-spacing: .16em !important; text-transform: uppercase !important;
  font-size: .74rem !important; padding: .9rem 2rem !important;
}
.fluentform .ff-btn-submit:hover { background: #e8c86a !important; }
.fluentform .ff-el-group { margin-bottom: 1.1rem; }
.ff-message-success {
  background: #14130f; border-left: 3px solid #c9a84c;
  color: #e8dcc8; padding: 1rem 1.2rem;
}

/* Order tracking */
.fx-track { max-width: 760px; }
.fx-track-form { margin-top: 1.5rem; }
.fx-track-row { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 640px) { .fx-track-row { grid-template-columns: 1fr 1fr; } }
.fx-track-form label {
  display: block; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase;
  color: #8a8578; margin-bottom: 1rem;
}
.fx-track-form label .opt { text-transform: none; letter-spacing: 0; color: #6f6a5f; }
.fx-track-form input, .fx-track-form textarea {
  display: block; width: 100%; margin-top: .45rem;
  background: #14130f; color: #f5f0e8;
  border: 1px solid rgba(255,255,255,.15); border-radius: 2px;
  padding: .75rem .85rem; font-size: .95rem; font-family: inherit;
  text-transform: none; letter-spacing: normal;
}
.fx-track-form input:focus, .fx-track-form textarea:focus { border-color: #c9a84c; outline: none; }
.fx-track-form .btn-gold {
  background: #c9a84c; color: #14130f; border: 0; border-radius: 2px;
  padding: .9rem 2rem; font-size: .74rem; letter-spacing: .16em;
  text-transform: uppercase; cursor: pointer; font-family: 'Jost', system-ui, sans-serif;
}
.fx-track-form .btn-gold:hover { background: #e8c86a; }
.fx-track-help { font-size: .78rem; color: #8a8578; margin-top: 1rem; }
.fx-track-help a { color: #e8c86a; }
.fx-track-result, .fx-track-error {
  background: #121212; border: 1px solid rgba(255,255,255,.07);
  border-left: 3px solid #c9a84c; border-radius: 3px; padding: 1.5rem 1.75rem; margin-bottom: 1.5rem;
}
.fx-track-error { border-left-color: #b32d2e; }
.fx-track-eyebrow { font-size: .65rem; letter-spacing: .25em; text-transform: uppercase; color: #8a8578; margin: 0; }
.fx-track-result h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.8rem; color: #f5f0e8; margin: .35rem 0 .6rem; }
.fx-track-meta { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; gap: .55rem; }
.fx-track-meta li { font-size: .9rem; color: #dfd3bc; }
.fx-track-meta li span {
  display: inline-block; min-width: 92px; font-size: .62rem; letter-spacing: .2em;
  text-transform: uppercase; color: #8a8578;
}
.fx-track-note { font-size: .8rem; color: #8a8578; margin-top: 1.25rem; }

/* ------------------------------------------------------------------
   Shop search
   ------------------------------------------------------------------ */
.fx-shop-search {
  display: flex; align-items: center; gap: .6rem;
  margin: 1.5rem 0 0; position: relative;
  max-width: 680px;
}
.fx-shop-search-ico {
  position: absolute; left: .95rem; top: 50%; transform: translateY(-50%);
  width: 1.05rem; height: 1.05rem; color: #8a8578; pointer-events: none;
}
.fx-shop-search input[type="search"] {
  flex: 1 1 auto; min-width: 0;
  background: #14130f; color: #f5f0e8;
  border: 1px solid rgba(255,255,255,.14); border-radius: 2px;
  padding: .8rem 1rem .8rem 2.6rem; font-size: .9rem; font-family: inherit;
}
.fx-shop-search input[type="search"]::placeholder { color: #6f6a5f; }
.fx-shop-search input[type="search"]:focus { border-color: #c9a84c; outline: none; }
.fx-shop-search button {
  flex: 0 0 auto; background: #c9a84c; color: #14130f; border: 0;
  border-radius: 2px; padding: .82rem 1.5rem; cursor: pointer;
  font-family: 'Jost', system-ui, sans-serif; font-size: .72rem;
  letter-spacing: .16em; text-transform: uppercase;
}
.fx-shop-search button:hover { background: #e8c86a; }
.fx-shop-search-clear { color: #8a8578; font-size: .8rem; text-decoration: none; white-space: nowrap; }
.fx-shop-search-clear:hover { color: #e8c86a; text-decoration: underline; }

/* ------------------------------------------------------------------
   Buy Now
   ------------------------------------------------------------------ */
.fx-product-card .card-actions { flex-wrap: wrap; }
.fx-product-card .btn-buynow {
  display: block; width: 100%; text-align: center;
  margin-top: .4rem; padding: .58rem .7rem;
  background: transparent; color: #e8c86a;
  border: 1px solid rgba(201,168,76,.55); border-radius: 2px;
  font-family: 'Jost', system-ui, sans-serif; font-size: .62rem;
  letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
  transition: background .2s ease, color .2s ease;
}
.fx-product-card .btn-buynow:hover { background: #c9a84c; color: #14130f; }

.fx-buynow-single {
  display: inline-block; margin-top: .9rem; padding: .95rem 2rem;
  background: transparent; color: #e8c86a;
  border: 1px solid rgba(201,168,76,.6); border-radius: 2px;
  font-family: 'Jost', system-ui, sans-serif; font-size: .74rem;
  letter-spacing: .16em; text-transform: uppercase; text-decoration: none;
  transition: background .2s ease, color .2s ease;
}
.fx-buynow-single:hover { background: #c9a84c; color: #14130f; }

/* ------------------------------------------------------------------
   Side cart
   ------------------------------------------------------------------ */
.fx-cart-count {
  position: absolute; top: -.4rem; right: -.55rem;
  min-width: 18px; height: 18px; padding: 0 4px;
  background: #c9a84c; color: #0a0a0a;
  font-size: .6rem; font-weight: 600; line-height: 18px;
  text-align: center; border-radius: 999px;
}
.fx-cart-count.is-empty { display: none; }

.fx-sidecart-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,.6);
  opacity: 0; transition: opacity .28s ease; z-index: 998;
}
.fx-sidecart-overlay.is-open { opacity: 1; }

.fx-sidecart {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: 400px; max-width: 92vw; z-index: 999;
  background: #0f0f0f; border-left: 1px solid rgba(255,255,255,.08);
  display: flex; flex-direction: column;
  transform: translateX(100%); transition: transform .28s ease;
}
.fx-sidecart.is-open { transform: translateX(0); }
.fx-sidecart-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.35rem 1.5rem; border-bottom: 1px solid rgba(255,255,255,.08);
}
.fx-sidecart-head h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.45rem; color: #f5f0e8; margin: 0;
}
#fx-sidecart-close {
  background: none; border: 0; color: #8a8578;
  font-size: 1.7rem; line-height: 1; cursor: pointer; padding: 0 .2rem;
}
#fx-sidecart-close:hover { color: #e8c86a; }

.fx-sidecart-body { flex: 1 1 auto; display: flex; flex-direction: column; overflow: hidden; }
.fx-sidecart-empty { padding: 3rem 1.5rem; text-align: center; color: #8a8578; }
.fx-sidecart-empty .btn-gold {
  display: inline-block; margin-top: 1rem; padding: .8rem 1.6rem;
  background: #c9a84c; color: #14130f; text-decoration: none;
  border-radius: 2px; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase;
}
.fx-sidecart-items {
  list-style: none; margin: 0; padding: .5rem 0;
  overflow-y: auto; flex: 1 1 auto;
}
.fx-sidecart-items li {
  display: grid; grid-template-columns: 62px 1fr auto;
  gap: .85rem; align-items: center;
  padding: .9rem 1.5rem; border-bottom: 1px solid rgba(255,255,255,.05);
}
.fx-sc-img img {
  width: 62px; height: 62px; object-fit: contain;
  background: #f5f2ed; border-radius: 2px; padding: 3px; display: block;
}
.fx-sc-name { display: block; color: #e8dcc8; font-size: .86rem; line-height: 1.4; text-decoration: none; }
.fx-sc-name:hover { color: #e8c86a; }
.fx-sc-meta { display: block; color: #8a8578; font-size: .76rem; margin-top: .2rem; }
.fx-sc-remove { color: #6f6a5f; font-size: 1.25rem; text-decoration: none; line-height: 1; }
.fx-sc-remove:hover { color: #b32d2e; }

.fx-sidecart-foot {
  padding: 1.25rem 1.5rem 1.6rem;
  border-top: 1px solid rgba(255,255,255,.08); background: #121212;
}
.fx-sc-total {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: 1rem; color: #dfd3bc; font-size: .9rem;
}
.fx-sc-total strong { color: #e8c86a; font-size: 1.15rem; font-family: 'Cormorant Garamond', Georgia, serif; }
.fx-sc-checkout {
  display: block; text-align: center; padding: .95rem;
  background: #c9a84c; color: #14130f; text-decoration: none; border-radius: 2px;
  font-family: 'Jost', system-ui, sans-serif; font-size: .74rem;
  letter-spacing: .16em; text-transform: uppercase;
}
.fx-sc-checkout:hover { background: #e8c86a; }
.fx-sc-viewcart {
  display: block; text-align: center; margin-top: .7rem;
  color: #8a8578; font-size: .78rem; text-decoration: none;
}
.fx-sc-viewcart:hover { color: #e8c86a; text-decoration: underline; }

/* Footer: independence disclaimer + social links
   Google reviewers look for a clear statement that the store is not the
   similarly named international brand. */
.fx-disclaimer {
  display: block; margin-top: .5rem; max-width: 62ch;
  font-size: .72rem; line-height: 1.6; color: #6f6a5f;
}
.fx-social {
  list-style: none; display: flex; flex-wrap: wrap; gap: 1.1rem;
  margin: 0 0 .9rem; padding: 0;
}
.fx-social a {
  color: #8a8578; font-size: .74rem; letter-spacing: .14em;
  text-transform: uppercase; text-decoration: none;
}
.fx-social a:hover { color: #e8c86a; }

/* ------------------------------------------------------------------
   NEW: Product page – SEO description tabs & trust badges
   ------------------------------------------------------------------ */
.fx-product-summary {
  background: rgba(255,255,255,0.02);
  border-left: 2px solid #c9a84c;
  padding: 1rem 1.2rem;
  border-radius: 2px;
}
.fx-product-summary p { margin-bottom: 0.8rem; }
.fx-product-summary p:last-child { margin-bottom: 0; }

.fx-trust-badges {
  background: linear-gradient(135deg, #121212 0%, #1a1a1a 100%);
  border: 1px solid rgba(201,168,76,0.15);
  border-radius: 4px;
}
.fx-trust-badges .text-green-400 { color: #4ade80; }

/* Tab buttons */
.fx-tab-btn {
  flex: 1;
  padding: 1rem 1.5rem;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: #8a8578;
  font-family: 'Jost', sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.fx-tab-btn:hover { color: #e8dcc8; background: rgba(255,255,255,0.02); }
.fx-tab-btn.active {
  color: #e8c86a;
  border-bottom-color: #c9a84c;
  background: rgba(201,168,76,0.06);
}

/* Tab content */
.fx-tab-content { display: none; }
.fx-tab-content.active { display: block; animation: fxFadeIn 0.3s ease; }
@keyframes fxFadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* SEO prose – improved for long descriptions */
.fx-prose-seo {
  font-size: 0.95rem;
  line-height: 1.8;
}
.fx-prose-seo h2 {
  font-size: 1.6rem;
  margin: 2rem 0 1rem;
  color: #f9f6f0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  padding-bottom: 0.6rem;
}
.fx-prose-seo h2:first-child { margin-top: 0; }
.fx-prose-seo h3 {
  font-size: 1.25rem;
  margin: 1.8rem 0 0.8rem;
  color: #f9f6f0;
}
.fx-prose-seo ul { list-style: none; padding: 0; }
.fx-prose-seo ul li {
  position: relative;
  padding-left: 1.4rem;
  margin-bottom: 0.6rem;
}
.fx-prose-seo ul li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #c9a84c;
  font-weight: bold;
}
.fx-prose-seo small {
  display: block;
  margin-top: 2rem;
  padding: 1rem;
  background: rgba(255,255,255,0.02);
  border-radius: 3px;
  font-size: 0.7rem;
  color: #6f6a5f;
  line-height: 1.6;
}

/* --- Official Payfast trust badge --- */
.fx-trust-badges-official {
  background: #0f0f0f;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 6px;
  padding: 16px;
}
.fx-secure-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8a8578;
  margin-bottom: 12px;
  font-weight: 500;
}
.fx-secure-label svg { color: #4ade80; }

/* Official payment logo – compact */
.fx-trust-badges-official {
  background: #0f0f0f;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 6px;
  padding: 12px 14px;
}
.fx-secure-label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8a8578;
  margin-bottom: 8px;
  font-weight: 500;
}
.fx-secure-label-small {
  font-size: 0.58rem;
  letter-spacing: 0.10em;
  margin-bottom: 6px;
  color: #7a756e;
}
.fx-secure-label svg { color: #4ade80; }

.fx-payments-official-row {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  padding: 5px 8px;
  background: #ffffff;
  border-radius: 5px;
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  max-width: 240px;
}
.fx-payments-compact {
  padding: 4px 8px;
  max-width: 240px;
  border-radius: 4px;
}
.fx-payments-official-row:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0,0,0,0.10);
}
.fx-official-payment-img {
  width: auto;
  max-width: 220px;
  height: 24px;
  object-fit: contain;
  display: block;
}
.fx-official-payment-img-small {
  max-width: 200px;
  height: 22px;
}
.fx-payfast-logo {
  width: 112px;
  max-width: 112px;
  height: 40px;
  object-fit: contain;
}
.fx-payfast-payment-strip {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  width: max-content;
  max-width: 100%;
  padding: 7px 10px;
}
.fx-payfast-payment-strip .fx-payfast-primary {
  width: 84px;
  max-width: 84px;
  height: 30px;
  flex: 0 0 auto;
}
.fx-payfast-separator {
  width: 1px;
  height: 24px;
  background: #e2e5e9;
  flex: 0 0 auto;
}
.fx-payfast-method-logos {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.fx-payfast-method-logos img {
  display: block;
  object-fit: contain;
  flex: 0 0 auto;
  max-width: none;
}
.fx-payfast-method-logos .fx-payfast-visa { width: 54px; height: 18px; }
.fx-payfast-method-logos .fx-payfast-mastercard { width: 29px; height: 18px; }
.fx-payfast-method-logos .fx-payfast-instant-eft { width: 53px; height: 18px; }
.fx-payfast-method-logos .fx-payfast-snapscan { width: 71px; height: 18px; }
@media (max-width: 480px) {
  .fx-payfast-payment-strip { gap: 7px; padding: 7px 8px; }
  .fx-payfast-method-logos { gap: 7px; }
}

/* Legacy support – old row styles */
.fx-payments-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
  padding: 12px;
  background: rgba(255,255,255,0.02);
  border-radius: 4px;
  border: 1px solid rgba(255,255,255,0.04);
}
.fx-snapscan-official {
  display: flex;
  align-items: center;
  background: white;
  border-radius: 4px;
  padding: 6px 10px;
  height: 36px;
}
.fx-snapscan-official img {
  height: 24px;
  width: auto;
  object-fit: contain;
}
.fx-payment-divider {
  width: 1px;
  height: 24px;
  background: rgba(255,255,255,0.1);
}
.fx-payment-methods {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.fx-pay-icon {
  background: white;
  border-radius: 3px;
  padding: 2px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 2px rgba(0,0,0,0.1);
  transition: transform 0.15s ease;
}
.fx-pay-icon:hover { transform: translateY(-1px); }
.fx-pay-icon svg { height: 20px; width: auto; }
.fx-pay-icon-eft { width: 52px; }

.fx-trust-points {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 12px;
}
.fx-trust-points span {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.72rem;
  color: #a8a29e;
  letter-spacing: 0.02em;
}
.fx-trust-points span i {
  color: #c9a84c;
  font-style: normal;
  font-weight: bold;
  font-size: 0.75rem;
}
.fx-powered-by {
  font-size: 0.62rem;
  color: #6b6560;
  letter-spacing: 0.06em;
  border-top: 1px solid rgba(255,255,255,0.04);
  padding-top: 10px;
  margin-top: 4px;
}

/* Responsive */
@media (max-width: 768px) {
  .fx-tab-btn { padding: 0.8rem 1rem; font-size: 0.7rem; }
  .fx-trust-badges { padding: 1rem; }
  .fx-trust-badges-official { padding: 12px; }
  .fx-payments-row { padding: 10px; gap: 10px; }
  .fx-payments-official-row { padding: 8px; }
  .fx-trust-points { grid-template-columns: 1fr; }
  .fx-payment-methods { gap: 6px; }
}
