/*
Theme Name: D0 E-SHOP Theme
Theme URI: https://fpvdronas.lt
Author: FPV Dronas
Author URI: https://fpvdronas.lt
Description: Custom WordPress/WooCommerce theme with editable FPV ecommerce layout, Lithuanian cart/checkout/account UX, live product search, product actions, stock notifications and question popups.
Version: 4.4.116
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fpvdronas
Tags: ecommerce, woocommerce, custom-colors, custom-logo, custom-menu, featured-images, responsive-layout
*/

:root {
  --c-bg: #F1F1F1;
  --c-surface: #ffffff;
  --c-surface2: #e8e8e8;
  --c-border: #d0d0d0;
  --c-border2: #bbbbbb;
  --c-accent: #FF6A00;
  --c-accent2: #E65F00;
  --c-accent-light: #fff3eb;
  --c-text: #3A3A3A;
  --c-muted: #777777;
  --c-subtle: #aaaaaa;
  --c-dark: #2a2a2a;
  --c-success: #2e7d32;
  --c-success-bg: #e8f5e9;
  --c-error: #c62828;
  --c-error-bg: #fce4ec;
  --c-warning: #ffb300;
  --c-info: #1565c0;
  --c-info-bg: #e3f2fd;
  --c-white: #ffffff;
  --c-black: #111111;
  --c-topbar-border: #444444;
  --c-footer-muted: #888888;
  --c-top-footer-text: #969696;
  --c-footer-border: #333333;
  --c-border-light: #eeeeee;
  --c-border-soft: #e6e6e6;
  --c-accent-border: #ffb37a;
  --c-success-border: #a5d6a7;
  --c-error-border: #ef9a9a;
  --c-info-border: #90caf9;
  --radius-xs: 3px;
  --radius-sm: 5px;
  --radius-md: 8px;
  --radius-lg: 10px;
  --radius-xl: 14px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --z-dropdown: 1000;
  --z-overlay: 9000;
  --z-modal: 99900;
  --z-toast: 999999;
  --font-display: 'Barlow Condensed', sans-serif;
  --font-body: 'Barlow', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--c-bg);
  color: var(--c-text);
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.6;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--c-accent); }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font-family: inherit; }
.screen-reader-text { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(1px,1px,1px,1px)!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; left:-9999px!important; top:auto!important; }

.alignwide, .site-container { max-width: 1380px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; }
.site-main { min-height: 55vh; }

/* Topbar */
.topbar {
  background: var(--c-dark);
  border-bottom: 1px solid var(--c-topbar-border);
  padding: 7px 0;
  font-size: 12px;
  color: var(--c-bg);
  font-family: var(--font-mono);
}
.topbar-inner { max-width: 1380px; margin: 0 auto; padding: 0 24px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.topbar a { color: var(--c-bg); transition: color .2s; }
.topbar a:hover { color: var(--c-accent); }
.topbar-links { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }


/* Optional orange notice bar under the dark topbar */
.fpvdronas-orange-notice {
  width: 100%;
  background: var(--c-accent);
  color: var(--c-text);
  border-bottom: 1px solid rgba(0,0,0,.08);
  padding: 7px 0;
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
  min-height: 31px;
  display: flex;
  align-items: center;
}
.fpvdronas-orange-notice-inner {
  width: 100%;
  max-width: 1380px;
  margin: 0 auto;
  padding: 0 32px;
  box-sizing: border-box;
  white-space: pre-wrap;
}

.fpvdronas-orange-notice--align-left .fpvdronas-orange-notice-inner {
  text-align: left;
}
.fpvdronas-orange-notice--align-center .fpvdronas-orange-notice-inner {
  text-align: center;
}
.fpvdronas-orange-notice--align-right .fpvdronas-orange-notice-inner {
  text-align: right;
}
.fpvdronas-orange-notice.is-bold {
  font-weight: 700;
}
.fpvdronas-orange-notice.is-italic {
  font-style: italic;
}
.fpvdronas-orange-notice.is-underlined .fpvdronas-orange-notice-inner {
  text-decoration: underline;
}


/* Notice bar formatting hard overrides */
.fpvdronas-orange-notice.is-bold .fpvdronas-orange-notice-inner { font-weight: 700 !important; }
.fpvdronas-orange-notice.is-italic .fpvdronas-orange-notice-inner { font-style: italic !important; }
.fpvdronas-orange-notice.is-underlined .fpvdronas-orange-notice-inner { text-decoration: underline !important; }
.fpvdronas-orange-notice--align-left .fpvdronas-orange-notice-inner { text-align: left !important; }
.fpvdronas-orange-notice--align-center .fpvdronas-orange-notice-inner { text-align: center !important; }
.fpvdronas-orange-notice--align-right .fpvdronas-orange-notice-inner { text-align: right !important; }

/* Header */
.site-header {
  background: var(--c-surface);
  border-bottom: 2px solid var(--c-border);
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  position: sticky;
  top: 0;
  z-index: 100;
}
.admin-bar .site-header { top: 32px; }
.header-inner { max-width: 1380px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; gap: 28px; min-height: 68px; }
.site-branding { flex-shrink: 0; }
.logo, .custom-logo-link { font-family: var(--font-display); font-size: 28px; font-weight: 800; letter-spacing: 1px; display: inline-flex; align-items: center; gap: 8px; color: var(--c-text); text-transform: uppercase; }
.custom-logo { max-height: 46px; width: auto; }
.logo-accent { color: var(--c-accent); }
.logo-icon { width: 36px; height: 36px; background: var(--c-accent); clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%); display: flex; align-items: center; justify-content: center; font-size: 17px; color: var(--c-white); font-weight: 800; }
.search-bar { flex: 1; max-width: 520px; display: flex; border: 1.5px solid var(--c-border2); border-radius: 5px; overflow: hidden; background: var(--c-bg); transition: border-color .2s; }
.search-bar:focus-within { border-color: var(--c-accent); }
.search-bar input { flex: 1; background: none; border: none; outline: none; padding: 10px 16px; color: var(--c-text); font-family: var(--font-body); font-size: 14px; min-width: 0; }
.search-bar input::placeholder { color: var(--c-subtle); }
.search-bar button { background: var(--c-accent); border: none; cursor: pointer; padding: 10px 20px; color: var(--c-white); font-weight: 700; font-family: var(--font-display); font-size: 14px; letter-spacing: .5px; transition: background .2s; text-transform: uppercase; }
.search-bar button:hover { background: var(--c-accent2); }
.header-actions { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.header-button { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 12px; border-radius: 5px; cursor: pointer; transition: background .2s; font-size: 10px; color: var(--c-muted); font-family: var(--font-mono); border: none; background: none; }
.header-button svg { width: 22px; height: 22px; stroke: var(--c-muted); transition: stroke .2s; }
.header-button:hover { background: var(--c-bg); color: var(--c-accent); }
.header-button:hover svg { stroke: var(--c-accent); }
.mobile-search-toggle { display: none; }
.cart-button { display: flex; align-items: center; gap: 10px; background: var(--c-accent); border: none; cursor: pointer; padding: 10px 18px; border-radius: 5px; color: var(--c-white); font-family: var(--font-display); font-weight: 700; font-size: 15px; letter-spacing: .5px; transition: background .2s; }
.cart-button:hover { background: var(--c-accent2); color: var(--c-white); }
.cart-count { background: var(--c-white); color: var(--c-accent); width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; }
.mobile-nav-toggle { display: none; width: 42px; height: 42px; border: 1.5px solid var(--c-border); background: var(--c-surface); border-radius: 5px; cursor: pointer; align-items: center; justify-content: center; color: var(--c-dark); }

/* Navigation */
.main-nav { background: var(--c-surface); border-bottom: 2px solid var(--c-border); position: relative; z-index: 90; }
.nav-inner { max-width: 1380px; margin: 0 auto; padding: 0 24px; display: flex; align-items: stretch; }
.nav-menu, .nav-menu ul { list-style: none; padding: 0; margin: 0; }
.nav-menu { display: flex; align-items: stretch; flex-wrap: wrap; }
.nav-menu li { position: relative; }
.nav-menu > li > a { display: flex; align-items: center; gap: 5px; padding: 0 14px; min-height: 44px; font-family: var(--font-display); font-size: 14px; font-weight: 700; letter-spacing: .3px; color: var(--c-text); cursor: pointer; white-space: nowrap; border-bottom: 2px solid transparent; transition: all .15s; text-transform: uppercase; margin-bottom: -2px; }
.nav-menu > li:hover > a, .nav-menu > li.current-menu-item > a, .nav-menu > li.current-menu-ancestor > a { color: var(--c-accent); border-bottom-color: var(--c-accent); }
.nav-menu .sub-menu { position: absolute; top: 100%; left: 0; background: var(--c-surface); border: 1.5px solid var(--c-border); border-top: 2px solid var(--c-accent); border-radius: 0 0 6px 6px; min-width: 220px; box-shadow: 0 8px 24px rgba(0,0,0,.12); display: none; flex-direction: column; z-index: 200; padding: 6px 0; }
.nav-menu li:hover > .sub-menu { display: flex; }
.nav-menu .sub-menu li { position: relative; }
.nav-menu .sub-menu a { display: flex; align-items: center; justify-content: space-between; padding: 9px 18px; font-size: 13px; font-family: var(--font-body); color: var(--c-text); cursor: pointer; font-weight: 500; transition: all .15s; text-transform: none; white-space: nowrap; }
.nav-menu .sub-menu a:hover { background: var(--c-accent-light); color: var(--c-accent); padding-left: 22px; }
.nav-menu .sub-menu .sub-menu { position: absolute; left: 100%; top: 0; border-radius: 0 6px 6px 6px; border-top: 2px solid var(--c-accent); }

/* Hero */
.hero { position: relative; overflow: hidden; background: var(--c-surface); border-bottom: 1px solid var(--c-border); min-height: 480px; display: flex; }
.hero-grid { position: absolute; inset: 0; opacity: .06; background-image: linear-gradient(var(--c-border2) 1px, transparent 1px), linear-gradient(90deg, var(--c-border2) 1px, transparent 1px); background-size: 36px 36px; }
.hero-accent-line { position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--c-accent); }
.hero-inner { position: relative; max-width: 1380px; margin: 0 auto; padding: 56px 24px; display: flex; align-items: center; gap: 60px; width: 100%; }
.hero-content { flex: 1; max-width: 580px; }
.hero-tag { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 11px; color: var(--c-accent); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 18px; background: var(--c-accent-light); padding: 5px 12px; border-radius: 4px; border-left: 3px solid var(--c-accent); }
.hero h1 { font-family: var(--font-display); font-size: clamp(42px, 5vw, 68px); font-weight: 800; line-height: .95; letter-spacing: -1px; margin: 0 0 18px; color: var(--c-dark); text-transform: uppercase; }
.hero h1 em { font-style: normal; color: var(--c-accent); display: block; }
.hero-desc { color: var(--c-muted); font-size: 16px; line-height: 1.7; margin-bottom: 32px; max-width: 500px; }
.hero-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.btn-primary, .button, button.button, input.button, .wp-block-button__link { background: var(--c-accent); color: var(--c-white); font-family: var(--font-display); font-weight: 700; font-size: 16px; letter-spacing: 1px; text-transform: uppercase; padding: 13px 28px; border-radius: 5px; border: none; cursor: pointer; transition: all .2s; display: inline-flex; align-items: center; gap: 8px; line-height: 1.2; }
.btn-primary:hover, .button:hover, button.button:hover, input.button:hover, .wp-block-button__link:hover { background: var(--c-accent2); transform: translateY(-1px); box-shadow: 0 4px 14px rgba(246,106,0,.3); color: var(--c-white); }
.btn-secondary { background: none; color: var(--c-text); font-family: var(--font-display); font-weight: 600; font-size: 16px; letter-spacing: 1px; text-transform: uppercase; padding: 12px 28px; border-radius: 5px; border: 1.5px solid var(--c-border2); cursor: pointer; transition: all .2s; display: inline-flex; align-items: center; }
.btn-secondary:hover { border-color: var(--c-accent); color: var(--c-accent); }
.hero-stats { display: flex; gap: 32px; margin-top: 44px; padding-top: 32px; border-top: 1px solid var(--c-border); flex-wrap: wrap; }
.stat-num { font-family: var(--font-display); font-size: 30px; font-weight: 800; color: var(--c-accent); line-height: 1; }
.stat-label { font-size: 12px; color: var(--c-muted); font-family: var(--font-mono); margin-top: 3px; }
.hero-visual { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 340px; }
.hero-image-card { width: min(440px, 100%); aspect-ratio: 1 / 1; border-radius: 18px; background: var(--c-bg); border: 1.5px solid var(--c-border); display: flex; align-items: center; justify-content: center; box-shadow: 0 18px 50px rgba(0,0,0,.08); position: relative; overflow: hidden; animation: float 6s ease-in-out infinite; }
.hero-image-card img { width: 100%; height: 100%; object-fit: cover; }
.drone-mark { width: 72%; height: 72%; position: relative; }
.drone-ring { position: absolute; inset: 0; border: 1px solid rgba(246,106,0,.16); border-radius: 50%; animation: spin-slow 20s linear infinite; }
.drone-ring:nth-child(2) { inset: 26px; border-color: rgba(246,106,0,.26); animation-direction: reverse; animation-duration: 15s; }
.drone-core { position:absolute; inset: 28%; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:84px; font-weight:800; color:var(--c-accent); }
@keyframes float { 0%,100% { transform: translateY(0) rotate(0deg); } 33% { transform: translateY(-10px) rotate(1deg); } 66% { transform: translateY(-5px) rotate(-1deg); } }
@keyframes spin-slow { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* Category strip */
.categories { background: var(--c-bg); padding: 36px 0; }
.cat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; }
.cat-card { background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 8px; padding: 20px 14px; text-align: center; cursor: pointer; transition: all .2s; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.cat-card:hover { border-color: var(--c-accent); box-shadow: 0 4px 16px rgba(246,106,0,.1); transform: translateY(-2px); color: inherit; }
.cat-icon { width: 48px; height: 48px; border-radius: 8px; background: var(--c-bg); display: flex; align-items: center; justify-content: center; font-size: 24px; transition: background .2s; }
.cat-card:hover .cat-icon { background: var(--c-accent-light); }
.cat-name { font-family: var(--font-display); font-size: 12px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--c-text); }
.cat-count { font-family: var(--font-mono); font-size: 10px; color: var(--c-subtle); }

.section-inner { max-width: 1380px; margin: 0 auto; padding: 0 24px; }
.section-header { display: flex; align-items: baseline; gap: 16px; margin-bottom: 24px; padding-bottom: 14px; border-bottom: 2px solid var(--c-border); }
.section-title { font-family: var(--font-display); font-size: 26px; font-weight: 800; letter-spacing: -.3px; text-transform: uppercase; color: var(--c-dark); margin: 0; }
.section-title span { color: var(--c-accent); }
.section-sub { font-family: var(--font-mono); font-size: 11px; color: var(--c-subtle); }
.section-link { margin-left: auto; font-family: var(--font-mono); font-size: 12px; color: var(--c-accent); display: flex; align-items: center; gap: 6px; transition: gap .2s; }
.section-link:hover { gap: 10px; }
.products-section { padding: 40px 0; }

/* Product cards */
.product-grid, .woocommerce ul.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; padding: 0; margin: 0; }
.product-card, .woocommerce ul.products li.product { background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 8px; overflow: hidden; cursor: pointer; transition: all .22s; display: flex; flex-direction: column; position: relative; margin: 0 !important; width: auto !important; float: none !important; clear: none !important; }
.product-card:hover, .woocommerce ul.products li.product:hover { border-color: var(--c-accent); transform: translateY(-3px); box-shadow: 0 8px 28px rgba(246,106,0,.12); }
.product-img, .woocommerce ul.products li.product a img { background: var(--c-bg); aspect-ratio: 4/3; object-fit: contain; display: flex; align-items: center; justify-content: center; font-size: 64px; position: relative; border-bottom: 1px solid var(--c-border); margin: 0; width: 100%; }
.product-badge, .onsale { position: absolute; top: 10px; left: 10px; right: auto; min-height: auto; min-width: auto; line-height: 1.2; font-family: var(--font-mono); font-size: 10px; font-weight: 600; letter-spacing: .8px; text-transform: uppercase; padding: 3px 8px; border-radius: 3px; z-index: 1; background: var(--c-accent-light); color: var(--c-accent); border: 1px solid var(--c-accent-border); }
.badge-new { background: var(--c-success-bg); color: var(--c-success); border: 1px solid var(--c-success-border); }
.badge-sale { background: var(--c-error-bg); color: var(--c-error); border: 1px solid var(--c-error-border); }
.badge-hot { background: var(--c-accent-light); color: var(--c-accent); border: 1px solid var(--c-accent-border); }
.badge-stock { background: var(--c-info-bg); color: var(--c-info); border: 1px solid var(--c-info-border); }
.product-body { padding: 14px; flex: 1; display: flex; flex-direction: column; gap: 6px; }
.product-brand { font-family: var(--font-mono); font-size: 10px; color: var(--c-accent); letter-spacing: 2px; text-transform: uppercase; }
.product-name, .woocommerce-loop-product__title { font-family: var(--font-display); font-size: 16px !important; font-weight: 700; line-height: 1.2; color: var(--c-dark); padding: 0 !important; margin: 0 !important; }
.product-sku { font-family: var(--font-mono); font-size: 10px; color: var(--c-subtle); }
.product-specs { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.spec-tag { background: var(--c-bg); color: var(--c-muted); border: 1px solid var(--c-border); font-family: var(--font-mono); font-size: 10px; padding: 2px 6px; border-radius: 3px; }
.product-footer { padding: 11px 14px; border-top: 1px solid var(--c-border); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.price-main, .woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { font-family: var(--font-display); font-size: 22px; font-weight: 800; color: var(--c-text); }
.price-old, .woocommerce ul.products li.product .price del { font-size: 11px; color: var(--c-subtle); text-decoration: line-through; font-family: var(--font-mono); opacity: 1; }
.add-to-cart, .product-card .button, .woocommerce ul.products li.product .button { background: var(--c-accent); border: none; cursor: pointer; width: 36px; height: 36px; border-radius: 5px; display: flex; align-items: center; justify-content: center; transition: background .2s; padding: 0; color: var(--c-white); font-size: 0; margin: 0; }
.add-to-cart:hover, .product-card .button:hover, .woocommerce ul.products li.product .button:hover { background: var(--c-accent2); color: var(--c-white); }
.add-to-cart svg { width: 17px; height: 17px; stroke: var(--c-white); }

/* Promo */
.promo-banner { margin: 0 0 40px; background: var(--c-surface); border: 1.5px solid var(--c-border); border-left: 4px solid var(--c-accent); border-radius: 8px; overflow: hidden; padding: 36px 48px; display: flex; align-items: center; gap: 40px; position: relative; }
.promo-banner::after { content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: 200px; background: linear-gradient(to left, var(--c-accent-light), transparent); }
.promo-content { flex: 1; position: relative; z-index: 1; }
.promo-tag { font-family: var(--font-mono); font-size: 11px; color: var(--c-accent); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 10px; }
.promo-title { font-family: var(--font-display); font-size: 36px; font-weight: 800; line-height: 1; margin-bottom: 10px; color: var(--c-dark); text-transform: uppercase; }
.promo-title span { color: var(--c-accent); }
.promo-desc { color: var(--c-muted); font-size: 14px; margin-bottom: 18px; max-width: 650px; }

/* Brand and features */
.brands-section { padding: 36px 0; background: var(--c-surface); border-top: 1px solid var(--c-border); border-bottom: 1px solid var(--c-border); }
.brands-label { font-family: var(--font-mono); font-size: 11px; color: var(--c-subtle); letter-spacing: 2px; text-transform: uppercase; text-align: center; margin-bottom: 20px; }
.brands-row { display: flex; align-items: center; justify-content: center; gap: 48px; flex-wrap: wrap; }
.brand-item { font-family: var(--font-display); font-size: 18px; font-weight: 800; letter-spacing: 2px; color: var(--c-subtle); text-transform: uppercase; transition: color .2s; }
.brand-item:hover { color: var(--c-accent); }
.features-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--c-border); border-bottom: 1px solid var(--c-border); background: var(--c-surface); }
.feature-item { padding: 22px 24px; border-right: 1px solid var(--c-border); display: flex; align-items: flex-start; gap: 14px; }
.feature-item:last-child { border-right: none; }
.feature-icon { width: 40px; height: 40px; flex-shrink: 0; background: var(--c-accent-light); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 20px; }
.feature-title { font-family: var(--font-display); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 3px; color: var(--c-dark); }
.feature-desc { font-size: 12px; color: var(--c-muted); line-height: 1.5; }

/* Content */
.content-area { max-width: 980px; margin: 40px auto; padding: 0 24px; }
.entry-card { background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 8px; padding: 28px; margin-bottom: 18px; }
.entry-title { font-family: var(--font-display); font-size: clamp(28px, 4vw, 44px); line-height: 1.05; margin: 0 0 16px; color: var(--c-dark); text-transform: uppercase; }
.entry-title a { color: var(--c-dark); }
.entry-meta { font-family: var(--font-mono); font-size: 11px; color: var(--c-muted); margin-bottom: 14px; text-transform: uppercase; letter-spacing: .6px; }
.entry-content h1, .entry-content h2, .entry-content h3 { font-family: var(--font-display); color: var(--c-dark); line-height: 1.1; }
.entry-content p { margin: 0 0 1em; }
.entry-content a { color: var(--c-accent); text-decoration: underline; text-underline-offset: 3px; }
.post-thumbnail { margin: -28px -28px 22px; border-bottom: 1px solid var(--c-border); }
.post-thumbnail img { width: 100%; }
.pagination, .posts-navigation, .woocommerce-pagination { max-width: 1380px; margin: 28px auto; padding: 0 24px; }

/* Product page / WooCommerce */
.woocommerce .woocommerce-breadcrumb, .breadcrumb { max-width: 1380px; margin: 16px auto; padding: 0 24px; font-size: 12px; color: var(--c-muted); font-family: var(--font-mono); }
.woocommerce div.product { max-width: 1380px; margin: 0 auto 48px; padding: 0 24px; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 8px; overflow: hidden; }
.woocommerce div.product div.images img { background: var(--c-bg); }
.woocommerce div.product .product_title { font-family: var(--font-display); font-size: 42px; font-weight: 800; line-height: 1.05; color: var(--c-dark); text-transform: uppercase; margin-bottom: 10px; }
.woocommerce-product-details__short-description { color: var(--c-muted); font-size: 16px; }
.woocommerce div.product form.cart { display: flex; gap: 10px; align-items: center; margin: 24px 0; }
.woocommerce .quantity .qty { height: 48px; border: 1.5px solid var(--c-border); border-radius: 5px; background: var(--c-surface); color: var(--c-dark); font-family: var(--font-mono); }
.woocommerce div.product form.cart .button { height: 48px; width: auto; font-size: 18px; padding: 0 28px; }
.woocommerce-tabs { background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 8px; margin-bottom: 40px; overflow: hidden; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0; border-bottom: 2px solid var(--c-border); background: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: none; background: none; border-radius: 0; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 14px 28px; font-family: var(--font-display); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--c-muted); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--c-accent); }
.woocommerce div.product .woocommerce-tabs .panel { padding: 28px 32px; margin: 0; }
.woocommerce table.shop_attributes tr:nth-child(odd) th, .woocommerce table.shop_attributes tr:nth-child(odd) td { background: var(--c-bg); }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { padding: 10px 16px; border: 1px solid var(--c-border); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--c-accent); background: var(--c-surface); color: var(--c-text); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--c-accent); }

/* Footer */
.site-footer { background: var(--c-dark); color: var(--c-border); padding: 56px 0 28px; }
.footer-inner { max-width: 1380px; margin: 0 auto; padding: 0 24px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 48px; }
.footer-logo { font-family: var(--font-display); font-size: 24px; font-weight: 800; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; color: var(--c-white); text-transform: uppercase; }
.footer-desc { color: var(--c-footer-muted); font-size: 13px; line-height: 1.7; margin-bottom: 20px; }
.footer-social { display: flex; gap: 8px; }
.social-btn { min-width: 34px; height: 34px; padding: 0 8px; border: 1px solid var(--c-topbar-border); border-radius: 4px; display: flex; align-items: center; justify-content: center; color: var(--c-footer-muted); transition: all .2s; font-size: 12px; font-family: var(--font-mono); }
.social-btn:hover { border-color: var(--c-accent); color: var(--c-accent); }
.footer-col-title { font-family: var(--font-display); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--c-white); margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid var(--c-footer-border); }
.footer-links, .footer-menu { list-style: none; display: flex; flex-direction: column; gap: 7px; padding: 0; margin: 0; }
.footer-links a, .footer-menu a { font-size: 13px; color: var(--c-footer-muted); transition: color .2s; }
.footer-links a:hover, .footer-menu a:hover { color: var(--c-accent); }
.footer-bottom { border-top: 1px solid var(--c-footer-border); padding-top: 22px; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-family: var(--font-mono); font-size: 11px; color: var(--c-muted); flex-wrap: wrap; }

.fade-up { opacity: 0; transform: translateY(16px); transition: opacity .5s ease, transform .5s ease; }
.fade-up.visible { opacity: 1; transform: none; }

@media (max-width: 1100px) {
  .header-inner { gap: 14px; }
  .search-bar { max-width: none; }
  .header-button span, .cart-button .cart-label { display: none; }
  .hero-inner { gap: 30px; }
  .features-strip { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
  .topbar-inner { align-items: flex-start; }
  .topbar-links:last-child { display: none; }
  .header-inner { min-height: auto; padding-top: 12px; padding-bottom: 12px; flex-wrap: wrap; }
  .search-bar { order: 3; flex-basis: 100%; }
  .mobile-nav-toggle { display: flex; }
  .main-nav { display: none; }
  .main-nav.is-open { display: block; }
  .nav-menu { flex-direction: column; width: 100%; padding: 10px 0; }
  .nav-menu > li > a { min-height: 40px; }
  .nav-menu .sub-menu { position: static; display: none; box-shadow: none; border: none; border-left: 2px solid var(--c-accent); margin-left: 18px; }
  .nav-menu li.is-open > .sub-menu, .nav-menu li:hover > .sub-menu { display: flex; }
  .hero-inner { flex-direction: column; align-items: flex-start; padding: 42px 24px; }
  .hero-visual { width: 100%; min-height: 260px; }
  .hero-stats { gap: 22px; }
  .promo-banner { padding: 28px 24px; }
  .features-strip { grid-template-columns: 1fr; }
  .feature-item { border-right: none; border-bottom: 1px solid var(--c-border); }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .section-header { flex-wrap: wrap; }
  .section-link { margin-left: 0; }
  .woocommerce div.product .product_title { font-size: 34px; }
}
@media (max-width: 520px) {
  .alignwide, .site-container, .section-inner, .header-inner, .topbar-inner, .nav-inner, .fpvdronas-orange-notice-inner { padding-left: 16px; padding-right: 16px; }
  .logo { font-size: 23px; }
  .logo-icon { width: 32px; height: 32px; }
  .cart-button { padding: 9px 12px; }
  .hero h1 { font-size: 42px; }
  .product-grid, .woocommerce ul.products { grid-template-columns: 1fr 1fr; gap: 10px; }
  .product-body { padding: 11px; }
  .promo-title { font-size: 30px; }
}

/* =========================================================
   FPV Dronas V2 controls and WooCommerce overrides
   ========================================================= */
body,
button,
input,
textarea,
select { font-family: var(--font-body) !important; }

h1,h2,h3,h4,h5,h6,
.logo,
.section-title,
.product-name,
.price-main,
.footer-col-title,
.cart-button,
.btn-primary,
.btn-secondary { font-family: var(--font-display) !important; }

.header-widget-band,
.front-widget-area,
.pre-footer-widget-area,
.front-page-content,
.fpv-product-widget-area { padding: 26px 0; background: var(--c-bg); }
.header-widget-band { padding: 8px 0; border-bottom: 1px solid var(--c-border); }
.header-widget-band .widget,
.front-widget-area .widget,
.pre-footer-widget-area .widget,
.fpv-product-widget-area .widget { margin: 0; }
.widget-title { font-family: var(--font-display); text-transform: uppercase; color: var(--c-dark); margin-bottom: 10px; }

.custom-logo-link img,
.site-branding img { max-height: 46px; width: auto; }
.footer-logo-image { max-height: 58px; width: auto; object-fit: contain; }
.footer-brand-col .wp-block-image img { max-height: 72px; width: auto; }

.topbar-menu,
.footer-menu,
.footer-bottom-menu { list-style: none; display: flex; gap: 18px; margin: 0; padding: 0; }
.topbar-menu li,
.footer-menu li,
.footer-bottom-menu li { list-style: none; }
.footer-menu { display: flex; flex-direction: column; gap: 7px; }
.footer-bottom-menu { flex-wrap: wrap; justify-content: flex-end; }

.nav-menu,
.nav-menu ul { list-style: none; margin: 0; padding: 0; }
.nav-menu { display: flex; align-items: stretch; flex-wrap: wrap; }
.nav-menu > li { position: relative; }
.nav-menu a { display: flex; align-items: center; gap: 6px; }
.nav-menu .menu-icon { line-height: 1; font-size: 15px; }
.nav-menu .menu-arrow { font-size: 13px; transition: transform .2s; }
.nav-menu > li:hover > a .menu-arrow { transform: rotate(180deg); }
.nav-menu .sub-menu li:hover > a .menu-arrow { transform: rotate(-90deg); }
.nav-menu .sub-menu { position: absolute; top: 100%; left: 0; display: none; min-width: 230px; background: var(--c-surface); border: 1.5px solid var(--c-border); border-top: 2px solid var(--c-accent); border-radius: 0 0 6px 6px; box-shadow: 0 8px 24px rgba(0,0,0,.12); z-index: 300; }
.nav-menu li:hover > .sub-menu { display: block; }
.nav-menu .sub-menu li { position: relative; }
.nav-menu .sub-menu a { padding: 10px 16px; font-family: var(--font-body); text-transform: none; font-size: 13px; color: var(--c-text); }
.nav-menu .sub-menu a:hover { background: var(--c-accent-light); color: var(--c-accent); }
.nav-menu .sub-menu li { position: relative; }
.nav-menu .sub-menu .sub-menu { position: absolute; left: 100%; top: 0; border-radius: 0 6px 6px 6px; border-top: 2px solid var(--c-accent); }

.hero-widget-card { background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 10px; padding: 24px; width: min(100%, 460px); box-shadow: 0 8px 26px rgba(0,0,0,.08); }
.front-page-content { background: var(--c-bg); }
.front-page-content > * { max-width: 100%; }

/* WooCommerce color/font fixes */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order,
.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart button.single_add_to_cart_button,
button.single_add_to_cart_button,
.added_to_cart,
.wc-block-components-button,
.wp-block-button__link { background: var(--c-accent) !important; border-color: var(--c-accent) !important; color: var(--c-white) !important; font-family: var(--font-display) !important; border-radius: 5px !important; }
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce div.product form.cart .button:hover,
button.single_add_to_cart_button:hover { background: var(--c-accent2) !important; color: var(--c-white) !important; }
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price { color: var(--c-text) !important; }
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  color: var(--c-muted) !important;
  opacity: 1 !important;
  text-decoration: line-through !important;
  text-decoration-thickness: 1px !important;
}
.woocommerce div.product p.price del .amount,
.woocommerce div.product span.price del .amount {
  color: inherit !important;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins,
.woocommerce div.product p.price ins .amount,
.woocommerce div.product span.price ins .amount {
  color: var(--c-text) !important;
  background: transparent !important;
  text-decoration: none !important;
}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs { background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 8px; overflow: hidden; margin-top: 34px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; justify-content: center; flex-wrap: wrap; gap: 0; padding: 0 !important; margin: 0 !important; border-bottom: 2px solid var(--c-border); background: var(--c-surface); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: none !important; background: transparent !important; margin: 0 !important; border-radius: 0 !important; padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 15px 26px !important; font-family: var(--font-display) !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: .5px; color: var(--c-muted) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--c-accent) !important; box-shadow: inset 0 -2px 0 var(--c-accent); }
.woocommerce div.product .woocommerce-tabs .panel { padding: 30px 34px !important; margin: 0 !important; }
.fpvdronas-spec-table { width: 100%; border-collapse: collapse; }
.fpvdronas-spec-table th,
.fpvdronas-spec-table td { border: 1px solid var(--c-border); padding: 12px 16px; text-align: left; }
.fpvdronas-spec-table th { width: 32%; background: var(--c-bg); color: var(--c-dark); font-family: var(--font-body); }

/* Product action buttons next to cart */
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.woocommerce div.product form.cart .quantity { margin-right: 0 !important; }
.fpvdronas-product-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.fpv-product-action { min-height: 44px; border: 1.5px solid var(--c-border2); background: var(--c-white); color: var(--c-text); border-radius: 5px; padding: 10px 14px; cursor: pointer; font-size: 13px; font-weight: 700; display: inline-flex; align-items: center; gap: 6px; transition: all .18s; }
.fpv-product-action:hover,
.fpv-product-action.is-active { border-color: var(--c-accent); color: var(--c-accent); background: var(--c-accent-light); }
.fpv-product-action.is-active { box-shadow: inset 0 0 0 1px var(--c-accent); }

.fpv-product-widget-area { max-width: 1380px; margin: 0 auto; padding: 20px 24px; }
.fpvdronas-related-products,
.fpvdronas-product-news { max-width: 1380px; margin: 44px auto; padding: 0 24px; }
.fpvdronas-related-products h2,
.fpvdronas-product-news h2 { font-family: var(--font-display); text-transform: uppercase; font-size: 26px; color: var(--c-dark); }

.fpv-news-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: 18px; }
.fpv-news-card { background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 8px; overflow: hidden; transition: all .22s; }
.fpv-news-card:hover { border-color: var(--c-accent); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.fpv-news-image { display: flex; align-items: center; justify-content: center; min-height: 160px; background: var(--c-bg); color: var(--c-subtle); font-size: 54px; overflow: hidden; }
.fpv-news-image img { width: 100%; height: 100%; object-fit: cover; }
.fpv-news-body { padding: 16px; }
.fpv-news-date { font-family: var(--font-mono); font-size: 11px; color: var(--c-subtle); margin-bottom: 8px; }
.fpv-news-body h3 { font-family: var(--font-display); font-size: 20px; line-height: 1.15; margin-bottom: 8px; color: var(--c-dark); }
.fpv-news-body p { color: var(--c-muted); font-size: 13px; line-height: 1.6; }

.footer-grid { grid-template-columns: 2fr repeat(3, 1fr); }
.footer-grid:has(.widget) { align-items: start; }
.footer-widget,
.fpvdronas-widget { color: inherit; }

@media (max-width: 900px) {
  .topbar-inner { flex-direction: column; gap: 8px; align-items: flex-start; }
  .topbar-menu { flex-wrap: wrap; }
  .nav-menu { display: none; width: 100%; flex-direction: column; }
  .main-nav.open .nav-menu { display: flex; }
  .nav-menu .sub-menu { position: static; display: none; box-shadow: none; border-left: 2px solid var(--c-accent); border-top: 0; }
  .nav-menu li:hover > .sub-menu { display: block; }
  .fpvdronas-product-actions { width: 100%; }
  .fpv-product-action { flex: 1 1 190px; justify-content: center; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; }
  .footer-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .main-nav.is-open .nav-menu { display: flex; }
  .nav-menu li.is-open > .sub-menu { display: block; }
}

/* ===== FPV Dronas current refinements ===== */

/* Make WordPress/WooCommerce inherit the chosen theme font more reliably. */
body, body *:not(.dashicons), button, input, select, textarea,
.woocommerce, .woocommerce * { font-family: var(--font-body) !important; }
.logo, .site-title, h1, h2, h3, h4, h5, h6,
.section-title, .product-name, .woocommerce-loop-product__title,
.price-main, .woocommerce div.product p.price, .woocommerce div.product span.price,
.btn-primary, .btn-secondary, .cart-button { font-family: var(--font-display) !important; }

/* Editable page header */
.fpv-page-main { background: var(--c-bg); }
.fpv-page-hero { padding: 42px 0 18px; background: var(--c-bg); position: relative; overflow: hidden; }
.fpv-page-hero::before { content: ''; position: absolute; inset: 0; opacity: .04; background-image: linear-gradient(var(--c-border2) 1px, transparent 1px), linear-gradient(90deg, var(--c-border2) 1px, transparent 1px); background-size: 36px 36px; pointer-events: none; }
.fpv-page-title-badge { position: relative; display: inline-flex; align-items: center; min-height: 28px; padding: 6px 14px 6px 18px; border-left: 3px solid var(--c-accent); border-radius: 4px; background: var(--c-accent-light); color: var(--c-accent); font-family: var(--font-mono) !important; font-size: 11px; font-weight: 500; line-height: 1.25; letter-spacing: 2.2px; text-transform: uppercase; margin: 0; }
.fpv-page-content-wrap { padding: 18px 0 52px; }
.fpv-page-content-card { background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 8px; padding: 10px 32px; max-width: 980px; margin: 0 auto 28px; box-shadow: 0 2px 8px rgba(0,0,0,.035); }
.fpv-page-content-card .entry-content { font-size: 16px; line-height: 1.75; }
.page-widget-area { padding: 20px 0; }

/* Deep navigation cards for child pages/product subcategories */
.fpv-card-grid-section { margin: 34px auto 0; }
.fpv-card-grid-title { font-family: var(--font-display) !important; font-size: 24px; text-transform: uppercase; letter-spacing: .2px; color: var(--c-dark); margin: 0 0 18px; padding-bottom: 12px; border-bottom: 2px solid var(--c-border); }
.fpv-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.fpv-navigation-card { background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; transition: all .22s ease; color: inherit; }
.fpv-navigation-card:hover { border-color: var(--c-accent); transform: translateY(-3px); box-shadow: 0 8px 28px rgba(255,106,0,.12); color: inherit; }
.fpv-navigation-card-image { aspect-ratio: 16/10; background: var(--c-bg); border-bottom: 1px solid var(--c-border); display: flex; align-items: center; justify-content: center; color: var(--c-accent); font-size: 38px; }
.fpv-navigation-card-image img { width: 100%; height: 100%; object-fit: cover; }
.fpv-navigation-card-body { padding: 18px; }
.fpv-navigation-card-body h3 { font-family: var(--font-display) !important; text-transform: uppercase; font-size: 18px; line-height: 1.1; color: var(--c-dark); margin: 0 0 8px; }
.fpv-navigation-card-body p { color: var(--c-muted); font-size: 13px; line-height: 1.55; margin: 0 0 14px; }
.btn-card { display: inline-flex; padding: 8px 12px; font-size: 12px; }

/* Editable custom widgets */
.fpv-editable-card { display: grid; grid-template-columns: 180px 1fr; gap: 18px; background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 8px; padding: 16px; align-items: center; }
.fpv-editable-card-image { display: block; background: var(--c-bg); border-radius: 6px; overflow: hidden; aspect-ratio: 4/3; }
.fpv-editable-card-image img { width: 100%; height: 100%; object-fit: cover; }
.fpv-editable-card-body h3 { font-family: var(--font-display) !important; font-size: 22px; text-transform: uppercase; color: var(--c-dark); margin: 0 0 6px; }
.fpv-editable-card-body p { color: var(--c-muted); margin: 0 0 14px; }
.btn-small { padding: 9px 16px; font-size: 13px; }
.front-brands-widget-area { display: grid; gap: 14px; }
.features-strip .fpvdronas-widget { margin: 0; }
.features-strip .fpvdronas-widget .feature-item { height: 100%; }

/* Product page - tabs and actions */
.woocommerce div.product .woocommerce-tabs { clear: both; max-width: 1180px; margin: 44px auto 0; background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 8px; overflow: hidden; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex !important; justify-content: center !important; gap: 0 !important; padding: 0 !important; margin: 0 !important; border-bottom: 1.5px solid var(--c-border) !important; background: var(--c-surface) !important; overflow-x: auto; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0 !important; background: transparent !important; border-radius: 0 !important; margin: 0 !important; padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block !important; padding: 16px 20px !important; color: var(--c-muted) !important; font-family: var(--font-display) !important; font-size: 14px !important; font-weight: 800 !important; letter-spacing: .5px; text-transform: uppercase; border-bottom: 3px solid transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--c-accent) !important; border-bottom-color: var(--c-accent); }
.woocommerce div.product .woocommerce-tabs .panel { padding: 32px 34px !important; margin: 0 !important; color: var(--c-text); }
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { display: none; }
.woocommerce table.shop_attributes, .fpvdronas-spec-table { width: 100%; border-collapse: collapse; border: 1px solid var(--c-border); }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td, .fpvdronas-spec-table th, .fpvdronas-spec-table td { border: 1px solid var(--c-border); padding: 12px 14px; font-size: 14px; }
.woocommerce table.shop_attributes th, .fpvdronas-spec-table th { width: 34%; background: var(--c-bg); color: var(--c-dark); font-family: var(--font-mono) !important; }

.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 14px; }
.woocommerce div.product form.cart .quantity { margin: 0 !important; }
.fpv-qty-enhanced { display: inline-flex; align-items: center; border: 1.5px solid var(--c-border); border-radius: 5px; overflow: hidden; background: var(--c-white); height: 48px; }
.fpv-qty-enhanced .qty { width: 54px !important; height: 48px !important; border: 0 !important; border-left: 1px solid var(--c-border) !important; border-right: 1px solid var(--c-border) !important; text-align: center; font-weight: 700; color: var(--c-dark); -moz-appearance: textfield; }
.fpv-qty-enhanced .qty::-webkit-outer-spin-button, .fpv-qty-enhanced .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.fpv-qty-btn { width: 40px; height: 48px; border: 0; background: var(--c-white); color: var(--c-dark); font-size: 20px; cursor: pointer; line-height: 1; transition: all .18s; }
.fpv-qty-btn:hover { background: var(--c-accent-light); color: var(--c-accent); }
.woocommerce div.product form.cart .single_add_to_cart_button { height: 48px; border-radius: 5px !important; padding: 0 26px !important; font-family: var(--font-display) !important; font-size: 17px !important; text-transform: uppercase; letter-spacing: .5px; }
.fpvdronas-product-actions { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; margin-top: 4px; }
.fpv-product-action { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 40px; padding: 9px 14px; background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 5px; color: var(--c-text); font-family: var(--font-display) !important; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .35px; cursor: pointer; transition: all .18s; }
.fpv-product-action:hover, .fpv-product-action.is-active { border-color: var(--c-accent); color: var(--c-accent); background: var(--c-accent-light); }
.fpvdronas-related-products, .fpvdronas-product-news { max-width: 1380px; margin: 42px auto 0; padding: 0 24px; }
.fpvdronas-related-products > h2 { font-family: var(--font-display) !important; font-size: 26px; text-transform: uppercase; color: var(--c-dark); padding-bottom: 14px; margin: 0 0 20px; border-bottom: 2px solid var(--c-border); }
.fpv-news-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.fpv-news-card { background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 8px; overflow: hidden; transition: all .2s; }
.fpv-news-card:hover { border-color: var(--c-accent); transform: translateY(-2px); box-shadow: 0 8px 22px rgba(0,0,0,.08); }
.fpv-news-image { aspect-ratio: 16/9; background: var(--c-bg); display: flex; align-items: center; justify-content: center; font-size: 44px; color: var(--c-accent); border-bottom: 1px solid var(--c-border); }
.fpv-news-image img { width: 100%; height: 100%; object-fit: cover; }
.fpv-news-body { padding: 16px; }
.fpv-news-date { font-family: var(--font-mono) !important; font-size: 11px; color: var(--c-subtle); margin-bottom: 8px; }
.fpv-news-body h3 { font-family: var(--font-display) !important; font-size: 20px; line-height: 1.15; margin: 0 0 8px; }
.fpv-news-body p { color: var(--c-muted); font-size: 13px; line-height: 1.55; margin: 0; }

/* Cart page */
.fpv-cart-page { padding: 42px 0 60px; background: var(--c-bg); }
.fpv-cart-layout { margin-top: 20px; }
.fpv-cart-table-card, .woocommerce .cart_totals, .fpv-cross-sells { background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 8px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.035); }
.woocommerce .fpv-cart-table { margin: 0 !important; border: 0 !important; border-collapse: collapse !important; }
.woocommerce .fpv-cart-table th { background: var(--c-dark); color: var(--c-white); font-family: var(--font-display) !important; font-size: 13px; text-transform: uppercase; letter-spacing: .5px; padding: 14px !important; }
.woocommerce .fpv-cart-table td { padding: 16px 14px !important; border-top: 1px solid var(--c-border) !important; vertical-align: middle; }
.woocommerce .fpv-cart-table .product-thumbnail img { width: 74px; height: 74px; object-fit: contain; background: var(--c-bg); border: 1px solid var(--c-border); border-radius: 6px; }
.woocommerce .fpv-cart-table .product-name a { font-family: var(--font-display) !important; font-size: 17px; font-weight: 800; color: var(--c-dark); text-transform: uppercase; }
.woocommerce .fpv-cart-table .product-price, .woocommerce .fpv-cart-table .product-subtotal { font-family: var(--font-display) !important; font-size: 18px; font-weight: 800; color: var(--c-accent); }
.woocommerce .fpv-cart-table .remove { width: 32px; height: 32px; border: 1.5px solid var(--c-border); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--c-muted) !important; background: var(--c-white); font-size: 22px; }
.woocommerce .fpv-cart-table .remove:hover { color: var(--c-white) !important; background: var(--c-error); border-color: var(--c-error); }
.woocommerce .fpv-cart-table .actions { background: var(--c-bg); }
.woocommerce .fpv-cart-table .actions .coupon { display: inline-flex; gap: 8px; flex-wrap: wrap; float: left; }
.woocommerce .fpv-cart-table .actions .input-text { min-height: 42px; border: 1.5px solid var(--c-border); border-radius: 5px; padding: 8px 12px; }
.fpv-cart-collaterals { display: grid; grid-template-columns: minmax(0,1fr) 380px; gap: 22px; align-items: start; margin-top: 24px; }
.woocommerce .cart_totals { width: 100% !important; float: none !important; padding: 22px; }
.woocommerce .cart_totals h2 { font-family: var(--font-display) !important; font-size: 24px; text-transform: uppercase; color: var(--c-dark); margin: 0 0 14px; }
.woocommerce .cart_totals table { border-collapse: collapse; width: 100%; }
.woocommerce .cart_totals th, .woocommerce .cart_totals td { border-top: 1px solid var(--c-border); padding: 12px 0; }
.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button { width: 100%; text-align: center; border-radius: 5px; font-family: var(--font-display) !important; text-transform: uppercase; letter-spacing: .5px; }
.fpv-cross-sells { padding: 22px; }
.fpv-cross-sells .section-header { margin-bottom: 18px; }
.fpv-cross-sells ul.products { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.cart-widget-area { margin: 22px 0; }

/* My account page */
.woocommerce-account .woocommerce { max-width: 1180px; margin: 42px auto; padding: 0 24px; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content,
.woocommerce form.login, .woocommerce form.register { background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 8px; padding: 22px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 10px 12px; border: 1px solid var(--c-border); border-radius: 5px; font-family: var(--font-display) !important; text-transform: uppercase; font-weight: 800; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { color: var(--c-accent); border-color: var(--c-accent); background: var(--c-accent-light); }

/* Global orange button override */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce-page a.button, .woocommerce-page button.button, .checkout-button, #place_order {
  background: var(--c-accent) !important; border-color: var(--c-accent) !important; color: var(--c-white) !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover,
.checkout-button:hover, #place_order:hover { background: var(--c-accent2) !important; border-color: var(--c-accent2) !important; color: var(--c-white) !important; }

@media (max-width: 900px) {
  .fpv-cart-collaterals { grid-template-columns: 1fr; }
  .fpv-editable-card { grid-template-columns: 1fr; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { justify-content: flex-start !important; }
  .features-strip { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .fpv-page-content-card { padding: 10px 18px; }
  .features-strip { grid-template-columns: 1fr; }
  .fpv-page-title-badge { font-size: 10px; letter-spacing: 1.5px; }
  .woocommerce .fpv-cart-table .actions .coupon { float: none; width: 100%; margin-bottom: 10px; }
}

/* V4 refinements */
.fpv-search-wrap { position: relative; flex: 1; max-width: 560px; }
.fpv-search-wrap .search-bar { max-width: none; width: 100%; }
.fpv-search-dropdown { position: absolute; left: 0; right: 0; top: calc(100% + 8px); background: var(--c-surface); border: 1.5px solid var(--c-border); border-top: 3px solid var(--c-accent); border-radius: 0 0 8px 8px; box-shadow: 0 14px 34px rgba(0,0,0,.14); z-index: 500; display: none; overflow: hidden; }
.fpv-search-dropdown.is-visible { display: block; }
.fpv-search-result-item { display: grid; grid-template-columns: 58px minmax(0,1fr) auto auto; gap: 12px; align-items: center; padding: 10px 12px; border-bottom: 1px solid var(--c-border); }
.fpv-search-result-item:last-child { border-bottom: 0; }
.fpv-search-result-image img { width: 52px; height: 52px; object-fit: contain; background: var(--c-bg); border: 1px solid var(--c-border); border-radius: 6px; }
.fpv-search-result-title { font-family: var(--font-display); font-weight: 800; color: var(--c-dark); text-transform: uppercase; line-height: 1.15; }
.fpv-search-result-title:hover { color: var(--c-accent); }
.fpv-search-result-price { font-family: var(--font-display); font-weight: 800; color: var(--c-accent); white-space: nowrap; }
.fpv-search-add { padding: 8px 11px !important; font-size: 12px !important; min-height: auto !important; white-space: nowrap; }
.fpv-search-empty { padding: 14px 16px; color: var(--c-muted); font-family: var(--font-mono); font-size: 12px; }
.footer-logo-image { max-height: 40px !important; width: auto; object-fit: contain; }
.site-footer .custom-logo { max-height: 40px !important; width: auto; }

.fpv-continue-shopping, .fpv-block-continue-shopping { display: inline-flex !important; align-items: center; justify-content: center; margin-left: 10px !important; background: var(--c-dark) !important; border-color: var(--c-dark) !important; color: var(--c-white) !important; border-radius: 5px !important; font-family: var(--font-display) !important; text-transform: uppercase; letter-spacing: .5px; font-weight: 800 !important; }
.fpv-block-continue-shopping { margin-top: 12px !important; width: 100%; text-align: center; padding: 12px 16px !important; text-decoration: none !important; }

/* Better styling for WooCommerce block cart/checkout, if site uses Blocks instead of classic shortcodes. */
.wc-block-cart, .wc-block-checkout { max-width: 1180px; margin: 38px auto 60px; background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 8px; padding: 28px; box-shadow: 0 2px 8px rgba(0,0,0,.04); }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--c-accent) !important; color: var(--c-white) !important; border-radius: 5px !important; font-family: var(--font-display) !important; text-transform: uppercase; font-weight: 800 !important; }
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover { background: var(--c-accent2) !important; color: var(--c-white) !important; }
.wc-block-components-text-input input, .wc-block-components-combobox-control input, .wc-block-components-country-input input, .wc-block-components-state-input input { border-color: var(--c-border2) !important; border-radius: 5px !important; }


/* Product popups */
.fpv-modal { position: fixed; inset: 0; z-index: 9999; display: none; }
.fpv-modal.is-open { display: block; }
.fpv-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.46); }
.fpv-modal-card { position: relative; width: min(520px, calc(100vw - 32px)); margin: 8vh auto; background: var(--c-white); border: 1.5px solid var(--c-border); border-top: 4px solid var(--c-accent); border-radius: 10px; box-shadow: 0 22px 60px rgba(0,0,0,.22); padding: 26px; }
.fpv-modal-close { position: absolute; top: 10px; right: 12px; width: 32px; height: 32px; border: 1px solid var(--c-border); border-radius: 50%; background: var(--c-white); cursor: pointer; font-size: 22px; line-height: 1; color: var(--c-muted); }
.fpv-modal-content h3 { margin: 0 34px 4px 0; font-family: var(--font-display); font-size: 26px; text-transform: uppercase; color: var(--c-dark); }
.fpv-modal-sub { color: var(--c-muted); margin-bottom: 18px; }
.fpv-modal form { display: grid; gap: 9px; }
.fpv-modal label { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; color: var(--c-muted); letter-spacing: .8px; }
.fpv-modal input, .fpv-modal textarea { width: 100%; border: 1.5px solid var(--c-border2); border-radius: 5px; padding: 11px 12px; font-family: var(--font-body); font-size: 14px; }
.fpv-modal input:focus, .fpv-modal textarea:focus { outline: none; border-color: var(--c-accent); }
.fpv-modal button[type="submit"] { margin-top: 6px; background: var(--c-accent); color: var(--c-white); border: 0; border-radius: 5px; padding: 12px 18px; cursor: pointer; font-family: var(--font-display); font-weight: 800; text-transform: uppercase; letter-spacing: .5px; }
.fpv-modal button[type="submit"]:hover { background: var(--c-accent2); }
.fpv-form-message { min-height: 18px; font-size: 13px; font-family: var(--font-mono); }
.fpv-form-message.is-success { color: var(--c-success); }
.fpv-form-message.is-error { color: var(--c-error); }

/* My account page */
.fpv-account-top-actions { max-width: 1180px; margin: 28px auto 0; padding: 0 24px; display: flex; gap: 10px; flex-wrap: wrap; }
.fpv-account-main-action { display: inline-flex; align-items: center; justify-content: center; background: var(--c-accent); color: var(--c-white) !important; border: 1.5px solid var(--c-accent); border-radius: 5px; padding: 12px 22px; font-family: var(--font-display); font-weight: 800; text-transform: uppercase; letter-spacing: .7px; text-decoration: none !important; }
.fpv-account-secondary-action { background: var(--c-dark); border-color: var(--c-dark); }
.fpv-account-main-action:hover { background: var(--c-accent2); border-color: var(--c-accent2); }
.woocommerce-account .woocommerce-MyAccount-navigation a { min-height: 50px; display: flex !important; align-items: center; padding: 12px 14px !important; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a { background: var(--c-dark); border-color: var(--c-dark); color: var(--c-white) !important; }
.woocommerce-account .woocommerce-MyAccount-content label, .woocommerce-account .woocommerce-form-row label { color: var(--c-dark); }
.woocommerce-account .woocommerce-MyAccount-content input, .woocommerce-account .woocommerce-form input { min-height: 42px; border: 1.5px solid var(--c-border2); border-radius: 4px; padding: 8px 10px; }

/* Reviews */
.woocommerce #reviews #comments h2, .woocommerce #review_form #reply-title { font-family: var(--font-display); text-transform: uppercase; color: var(--c-dark); }
.woocommerce #review_form #respond textarea { border: 1.5px solid var(--c-border2); border-radius: 5px; padding: 12px; }
.woocommerce p.stars a { color: var(--c-accent) !important; }

@media (max-width: 760px) {
  .fpv-search-wrap { order: 3; flex-basis: 100%; max-width: none; }
  .fpv-search-result-item { grid-template-columns: 50px minmax(0,1fr); }
  .fpv-search-result-price, .fpv-search-add { grid-column: 2; justify-self: start; }
  .wc-block-cart, .wc-block-checkout { padding: 18px; margin-left: 12px; margin-right: 12px; }
}

/* V5 cart/account/checkout refinements */
.fpv-cart-bottom-actions { display: flex; justify-content: flex-end; margin-top: 20px; }
.fpv-continue-shopping, .fpv-block-continue-shopping,
.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button,
.wc-block-cart__submit-button {
  background: var(--c-accent) !important;
  border-color: var(--c-accent) !important;
  color: var(--c-white) !important;
  text-decoration: none !important;
  min-height: 52px;
  border-radius: 5px !important;
  font-family: var(--font-display) !important;
  text-transform: uppercase;
  letter-spacing: .5px;
  font-weight: 800 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
.fpv-block-continue-shopping { width: auto !important; min-width: 260px; padding: 14px 24px !important; margin: 0 !important; }
.fpv-continue-shopping:hover, .fpv-block-continue-shopping:hover,
.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button:hover,
.wc-block-cart__submit-button:hover { background: var(--c-accent2) !important; border-color: var(--c-accent2) !important; color: var(--c-white) !important; text-decoration: none !important; }
.woocommerce .fpv-cart-table .actions { text-align: right; }
.woocommerce .fpv-cart-table .actions .fpv-continue-shopping { float: right; margin: 10px 0 0 12px !important; }
.fpv-search-dropdown .added_to_cart, .added_to_cart.wc-forward { display: none !important; }
.theme-toast { font-family: var(--font-display) !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: .4px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { display: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation a,
.woocommerce-account .woocommerce-MyAccount-content a,
.woocommerce-account .fpv-account-main-action { text-decoration: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-content a:hover { text-decoration: none !important; }
.fpv-account-top-actions { margin: 28px auto 8px; }
.fpv-account-main-action.is-logout { background: var(--c-dark) !important; border-color: var(--c-dark) !important; color: var(--c-white) !important; }
.fpv-account-main-action.is-logout:hover { background: var(--c-black) !important; border-color: var(--c-black) !important; }
.fpv-account-secondary-action { background: var(--c-accent-light) !important; border-color: var(--c-accent) !important; color: var(--c-accent) !important; }
.woocommerce #reviews #reply-title, .woocommerce #reviews .comment-reply-title { text-transform: none !important; }
.woocommerce #reviews label { color: var(--c-dark); }

/* V6 refinements */
.fpv-empty-cart-page .section-inner { padding-top: 48px; padding-bottom: 56px; }
.fpv-empty-cart-card { background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 10px; padding: 44px 24px; text-align: center; box-shadow: 0 8px 24px rgba(0,0,0,.04); }
.fpv-empty-drone-icon { width: 118px; height: 118px; margin: 0 auto 18px; color: var(--c-dark); display: flex; align-items: center; justify-content: center; transform: rotate(-10deg); }
.fpv-empty-drone-icon svg { width: 100%; height: 100%; }
.fpv-empty-cart-card h1 { font-family: var(--font-display); font-size: 30px; text-transform: uppercase; margin: 0 0 8px; color: var(--c-dark); }
.fpv-empty-cart-card p { color: var(--c-muted); margin: 0 auto 20px; max-width: 520px; }
.fpv-empty-cart-button { background: var(--c-accent) !important; border-color: var(--c-accent) !important; color: var(--c-white) !important; text-decoration: none !important; }
.fpv-empty-cart-products { margin-top: 36px; }
.fpv-empty-cart-products h2 { font-family: var(--font-display); text-transform: uppercase; text-align: center; margin-bottom: 20px; }
.theme-toast { top: 24px !important; bottom: auto !important; right: 24px !important; min-width: 220px; text-align: center; }
.fpv-search-add.is-loading { opacity: .65; pointer-events: none; }
.woocommerce-account .fpv-account-top-actions { max-width: 1180px; margin: 28px auto 10px; }
.woocommerce-account.logged-in .fpv-account-top-actions { display: none !important; }
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a { background: var(--c-dark) !important; color: var(--c-white) !important; border-color: var(--c-dark) !important; }
.woocommerce-MyAccount-navigation ul li a, .fpv-account-main-action { text-decoration: none !important; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { font-family: var(--font-body); }
.woocommerce-message .button.wc-forward { display: none !important; }
.wc-block-cart__empty-cart__icon, .wc-block-empty-cart__icon { width: 110px !important; height: 110px !important; margin: 0 auto 20px !important; color: var(--c-dark) !important; background: currentColor; -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120"><g fill="none" stroke="black" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"><path d="M60 38 L45 57 L60 76 L75 57 Z"/><path d="M45 57 L24 38"/><path d="M75 57 L96 38"/><path d="M45 57 L24 76"/><path d="M75 57 L96 76"/><circle cx="20" cy="34" r="10"/><circle cx="100" cy="34" r="10"/><circle cx="20" cy="80" r="10"/><circle cx="100" cy="80" r="10"/><path d="M48 90 C60 100 76 99 88 88"/><path d="M87 88 L87 103"/><path d="M87 88 L102 88"/></g></svg>') center / contain no-repeat; mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120"><g fill="none" stroke="black" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"><path d="M60 38 L45 57 L60 76 L75 57 Z"/><path d="M45 57 L24 38"/><path d="M75 57 L96 38"/><path d="M45 57 L24 76"/><path d="M75 57 L96 76"/><circle cx="20" cy="34" r="10"/><circle cx="100" cy="34" r="10"/><circle cx="20" cy="80" r="10"/><circle cx="100" cy="80" r="10"/><path d="M48 90 C60 100 76 99 88 88"/><path d="M87 88 L87 103"/><path d="M87 88 L102 88"/></g></svg>') center / contain no-repeat; transform: rotate(-10deg); }
.wc-block-cart__empty-cart__icon svg, .wc-block-empty-cart__icon svg { display: none !important; }

/* V7 refinements */
.fpv-breadcrumb-bar { background: var(--c-bg); border-top: 1px solid var(--c-border); border-bottom: 1px solid var(--c-border); }
.fpv-breadcrumb-bar .section-inner { max-width: 1380px; margin: 0 auto; padding: 9px 24px; font-family: var(--font-mono); font-size: 11px; color: var(--c-accent); letter-spacing: .2px; }
.fpv-breadcrumb-bar a, .fpv-breadcrumb-bar span { color: var(--c-accent); text-decoration: none !important; }
.fpv-breadcrumb-sep { color: var(--c-accent); opacity: .85; }

/* Cart action alignment - block cart and classic cart */
.wc-block-cart__submit-container .fpv-cart-bottom-actions,
.wc-block-cart__submit .fpv-cart-bottom-actions { margin-top: 12px !important; width: 100%; display: block !important; }
.wc-block-cart__submit-container .fpv-block-continue-shopping,
.wc-block-cart__submit .fpv-block-continue-shopping,
.wc-block-cart__submit-button,
.fpv-continue-shopping-totals,
.woocommerce .wc-proceed-to-checkout a.checkout-button { min-height: 53px !important; display: flex !important; align-items: center !important; justify-content: center !important; border-radius: 5px !important; font-family: var(--font-display) !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: .5px !important; text-decoration: none !important; }
.wc-block-cart__submit-container .fpv-block-continue-shopping,
.wc-block-cart__submit .fpv-block-continue-shopping { width: 100% !important; margin: 0 !important; background: var(--c-accent) !important; border-color: var(--c-accent) !important; color: var(--c-white) !important; }
.woocommerce .wc-proceed-to-checkout { display: grid; gap: 12px; }
.woocommerce .wc-proceed-to-checkout .fpv-continue-shopping-totals { width: 100%; margin: 0 !important; background: var(--c-accent) !important; color: var(--c-white) !important; border-color: var(--c-accent) !important; }

/* Account navigation - keep all auth actions inside one button block */
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { display: block !important; }
.woocommerce-account.logged-in .fpv-account-top-actions { display: none !important; }
.woocommerce-account .woocommerce-message { display: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a,
.woocommerce-account .fpv-account-auth-nav a.fpv-account-login-link,
.woocommerce-account .fpv-account-auth-nav a.fpv-account-register-link { background: var(--c-dark) !important; border-color: var(--c-dark) !important; color: var(--c-white) !important; text-decoration: none !important; }
.woocommerce-account .fpv-account-auth-nav { max-width: 1180px; margin: 28px auto 12px; padding: 0 24px; }
.woocommerce-account .fpv-account-auth-nav ul { list-style: none; margin: 0; padding: 12px; border: 1px solid var(--c-border); border-radius: 8px; display: grid; gap: 8px; max-width: 260px; background: var(--c-white); }
.woocommerce-account .woocommerce-MyAccount-navigation a { text-decoration: none !important; }

/* Search dropdown buttons must never look like navigation links */
.fpv-search-dropdown .fpv-search-add { cursor: pointer; border: 0 !important; text-decoration: none !important; }
.fpv-search-dropdown .added_to_cart { display: none !important; }

/* Woo product gallery arrows */
.woocommerce div.product div.images.woocommerce-product-gallery,
.woocommerce-product-gallery { position: relative; }
.fpv-gallery-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 8; width: 42px; height: 42px; border-radius: 50%; border: 1.5px solid var(--c-border); background: rgba(255,255,255,.92); color: var(--c-dark); font-family: var(--font-display); font-size: 34px; line-height: 1; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 6px 18px rgba(0,0,0,.12); transition: all .18s ease; }
.fpv-gallery-arrow:hover { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-white); }
.fpv-gallery-prev { left: 16px; }
.fpv-gallery-next { right: 16px; }

/* Footer bottom editable blocks */
.footer-bottom > div:first-child,
.footer-bottom > div:last-child { min-width: 220px; }
.footer-bottom a { color: inherit; }

/* V8 footer lower-left image and final polish */
.footer-bottom-left { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.footer-bottom-image { max-width: 120px; max-height: 34px; width: auto; height: auto; object-fit: contain; display: inline-block; }
.woocommerce-MyAccount-navigation ul { display: flex; flex-direction: column; gap: 10px; }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a,
.woocommerce-MyAccount-navigation li a[href*="customer-logout"] { background: var(--c-dark) !important; color: var(--c-white) !important; border-color: var(--c-dark) !important; }
.woocommerce-MyAccount-navigation li a { text-decoration: none !important; }
.fpvdronas-theme .woocommerce-message,
.fpvdronas-theme .woocommerce-info,
.fpvdronas-theme .woocommerce-error { font-family: var(--font-body) !important; }
.theme-toast.is-success { background: var(--c-success) !important; }
.theme-toast.is-error { background: var(--c-error) !important; }
.wc-block-cart__submit-container,
.wc-block-cart__submit { display: grid !important; gap: 12px !important; }
.wc-block-cart__submit-button,
.wc-block-cart__submit-container .fpv-block-continue-shopping,
.wc-block-cart__submit .fpv-block-continue-shopping,
.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button,
.fpvdronas-theme .fpv-continue-shopping-totals { min-height: 54px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; text-decoration: none !important; line-height: 1.1 !important; }

/* V9 footer image on right and account/cart refinements */
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.footer-bottom-left { display: flex; align-items: center; min-width: 0; }
.footer-bottom-right { display: inline-flex; align-items: center; justify-content: flex-end; gap: 12px; margin-left: auto; text-align: right; }
.footer-bottom-right .footer-bottom-image { max-width: 120px; max-height: 34px; width: auto; height: auto; object-fit: contain; display: inline-block; }
.footer-bottom-left .footer-bottom-image { display: none !important; }

/* Ensure classic/blocks add/remove feedback never inherits WooCommerce notice colors */
#fpvdronasToast.is-success { background: var(--c-success) !important; color: var(--c-white) !important; }
#fpvdronasToast.is-error { background: var(--c-error) !important; color: var(--c-white) !important; }
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error { border-top-color: var(--c-accent); }

/* Account auth buttons: keep same card/block language and no duplicate top bar */
.woocommerce-account .fpv-account-auth-nav { max-width: 1180px; margin: 28px auto 12px; padding: 0 24px; }
.woocommerce-account .fpv-account-auth-nav ul,
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; }
.woocommerce-account .fpv-account-auth-nav a,
.woocommerce-account .woocommerce-MyAccount-navigation a { text-decoration: none !important; }
.woocommerce-account .fpv-account-auth-nav a { min-height: 50px; display: flex !important; align-items: center; padding: 12px 14px !important; border-radius: 5px; font-family: var(--font-display) !important; text-transform: uppercase; font-weight: 800; }

/* V11 checkout validation polish */
.fpv-field-error { border-color: var(--c-error) !important; box-shadow: 0 0 0 1px var(--c-error) inset !important; }
.woocommerce-billing-fields input#billing_phone[aria-required="true"],
.woocommerce-billing-fields input#billing_phone:required { border-color: var(--c-border2); }

/* V13 final cart/button/toast/footer fixes */
a.button, button.button, .button, .wp-element-button, .add_to_cart_button, .single_add_to_cart_button, .checkout-button, .fpv-search-add, .fpv-block-continue-shopping, .fpv-continue-shopping, .wc-block-components-button { text-decoration: none !important; }
.theme-toast { position: fixed !important; top: 24px !important; right: 24px !important; bottom: auto !important; z-index: 999999 !important; color: var(--c-white) !important; padding: 13px 18px !important; border-radius: 8px !important; font-family: var(--font-mono) !important; font-size: 12px !important; font-weight: 800 !important; box-shadow: 0 8px 24px rgba(0,0,0,.22) !important; max-width: 340px !important; opacity: 0; transform: translateY(10px); transition: all .25s ease; }
.theme-toast.is-success { background: var(--c-success) !important; }
.theme-toast.is-error { background: var(--c-error) !important; }
.add_to_cart_button, .single_add_to_cart_button, .fpv-search-add, button[name="add-to-cart"], a[href*="add-to-cart"].button { min-height: 42px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; background: var(--c-accent) !important; border-color: var(--c-accent) !important; color: var(--c-white) !important; border-radius: 5px !important; font-family: var(--font-display) !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: .4px !important; }
.add_to_cart_button:hover, .single_add_to_cart_button:hover, .fpv-search-add:hover, button[name="add-to-cart"]:hover, a[href*="add-to-cart"].button:hover { background: var(--c-accent2) !important; border-color: var(--c-accent2) !important; color: var(--c-white) !important; }
.fpv-cart-bottom-actions { margin-top: 12px !important; width: 100% !important; display: block !important; }
.fpv-block-continue-shopping, .fpv-continue-shopping-totals { width: 100% !important; min-height: 53px !important; margin: 0 !important; background: var(--c-accent) !important; border-color: var(--c-accent) !important; color: var(--c-white) !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.wc-block-cart__submit-container, .wc-block-cart__submit, .woocommerce .wc-proceed-to-checkout { display: grid !important; gap: 12px !important; }
.woocommerce .wc-proceed-to-checkout .fpv-continue-shopping-totals { order: 2; }
.footer-col-title { text-transform: uppercase; }
.fpv-gallery-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 5; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--c-border); background: rgba(255,255,255,.94); color: var(--c-accent); font-size: 32px; line-height: 1; cursor: pointer; box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.fpv-gallery-prev { left: 14px; }
.fpv-gallery-next { right: 14px; }
.woocommerce-product-gallery { position: relative; }
.fpv-modal { display: none; position: fixed; inset: 0; z-index: 999998; }
.fpv-modal.is-open { display: block; }
.fpv-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.fpv-modal-card { position: relative; width: min(520px, calc(100% - 32px)); margin: 9vh auto; background: var(--c-white); border: 1px solid var(--c-border); border-radius: 8px; padding: 26px; box-shadow: 0 18px 60px rgba(0,0,0,.28); }
.fpv-modal-card input, .fpv-modal-card textarea { width: 100%; margin: 8px 0 12px; min-height: 44px; }
.fpv-modal-card textarea { min-height: 120px; }
.fpv-modal-close { position: absolute; right: 12px; top: 10px; border: 0; background: transparent; font-size: 26px; cursor: pointer; }

/* V15 brand logo carousel - continuous moving 250x150 logos */
.brands-section { overflow: hidden; }
.fpv-carousel-wrap {
  width: 100%;
  overflow: hidden;
  position: relative;
  padding: 14px 0;
  background: transparent;
}
.fpv-carousel-wrap::before,
.fpv-carousel-wrap::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 90px;
  z-index: 2;
  pointer-events: none;
}
.fpv-carousel-wrap::before { left: 0; background: linear-gradient(to right, var(--c-surface), transparent); }
.fpv-carousel-wrap::after { right: 0; background: linear-gradient(to left, var(--c-surface), transparent); }
.fpv-carousel-track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: fpvScroll var(--fpv-carousel-speed, 45s) linear infinite;
  will-change: transform;
}
.fpv-carousel-set {
  display: flex;
  align-items: center;
  gap: 24px;
  width: max-content;
  padding-right: 24px;
  flex-shrink: 0;
}
.logo-box {
  width: 250px;
  height: 150px;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  text-decoration: none !important;
  cursor: pointer;
  background: transparent;
  transition: transform .18s ease, opacity .18s ease;
}
.logo-box:hover {
  transform: translateY(-2px);
  opacity: .86;
}
.logo-box img {
  width: 250px;
  height: 150px;
  object-fit: contain;
  display: block;
}
.fpv-carousel-wrap:hover .fpv-carousel-track { animation-play-state: paused; }
@keyframes fpvScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@media (max-width: 768px) {
  .fpv-carousel-set { gap: 16px; padding-right: 16px; }
  .logo-box { width: 180px; height: 108px; border-radius: 18px; }
  .logo-box img { width: 180px; height: 108px; }
  .fpv-carousel-track { animation-duration: 32s; }
}

/* V16: reliable company invoice fields visibility for both classic and block checkout. */

/* V17 checkout/account/cart final polish */
.fpv-block-continue-shopping,
.fpv-continue-shopping-totals,
.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button,
.wc-block-cart__submit-button,
.wc-block-components-button.wc-block-cart__submit-button {
  width: 100% !important;
  min-height: 54px !important;
  height: 54px !important;
  padding: 0 24px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--c-accent) !important;
  border: 1px solid var(--c-accent) !important;
  border-radius: 5px !important;
  color: var(--c-white) !important;
  font-family: var(--font-display) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .5px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}
.fpv-block-continue-shopping:hover,
.fpv-continue-shopping-totals:hover,
.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button:hover,
.wc-block-cart__submit-button:hover {
  background: var(--c-accent2) !important;
  border-color: var(--c-accent2) !important;
  color: var(--c-white) !important;
  text-decoration: none !important;
}
.woocommerce .wc-proceed-to-checkout,
.wc-block-cart__submit-container,
.wc-block-cart__submit { display: grid !important; gap: 12px !important; }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.button,
a.button,
.wc-block-components-button,
.add_to_cart_button,
.single_add_to_cart_button { text-decoration: none !important; }

/* V18 - restored live product search dropdown */
.fpv-search-dropdown.is-open,
.fpv-search-dropdown.is-visible {
  display: block !important;
}
.fpv-search-result-item {
  grid-template-columns: 64px minmax(0,1fr) auto auto !important;
  gap: 14px !important;
  align-items: center !important;
}
.fpv-search-result-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.fpv-search-result-title,
.fpv-search-result-title:visited,
.fpv-search-result-image,
.fpv-search-result-image:visited {
  text-decoration: none !important;
}
.fpv-search-result-stock {
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  letter-spacing: .4px !important;
  text-transform: uppercase !important;
}
.fpv-search-result-stock.is-in-stock { color: var(--c-success) !important; }
.fpv-search-result-stock.is-out-stock { color: var(--c-error) !important; }
.fpv-search-view {
  min-height: 38px !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
  text-decoration: none !important;
}
.fpv-search-add,
.fpv-search-dropdown .fpv-search-add {
  min-height: 38px !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}
@media (max-width: 768px) {
  .fpv-search-result-item { grid-template-columns: 58px minmax(0,1fr) !important; }
  .fpv-search-result-price,
  .fpv-search-add,
  .fpv-search-view { grid-column: 2 !important; justify-self: start !important; }
}


/* V20 toast positioning - lower below header cart button; exact desktop position is refined by JS */
.theme-toast {
  top: 120px !important;
  right: 24px !important;
  bottom: auto !important;
}
@media (max-width: 768px) {
  .theme-toast {
    top: 118px !important;
    right: 12px !important;
    left: 12px !important;
    max-width: none !important;
  }
}


/* V22 - empty cart popup/page restored to simple sad-face state and controlled recommendation products */
.fpv-empty-drone-icon { display: none !important; }
.fpv-empty-face {
  width: 86px;
  height: 86px;
  margin: 0 auto 22px;
  border-radius: 50%;
  background: var(--c-dark);
  position: relative;
  color: var(--c-white);
}
.fpv-empty-face-eye {
  position: absolute;
  top: 27px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--c-white);
}
.fpv-empty-face-eye-left { left: 27px; }
.fpv-empty-face-eye-right { right: 27px; }
.fpv-empty-face-tear {
  position: absolute;
  left: 25px;
  top: 45px;
  width: 14px;
  height: 20px;
  background: var(--c-white);
  border-radius: 50% 50% 55% 55%;
  transform: rotate(35deg);
}
.fpv-empty-face-mouth {
  position: absolute;
  right: 20px;
  bottom: 26px;
  width: 28px;
  height: 18px;
  border-top: 5px solid var(--c-white);
  border-radius: 50% 50% 0 0;
  transform: rotate(22deg);
}
.fpv-empty-cart-card h1 { letter-spacing: .02em; }
.fpv-empty-products-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  max-width: 1120px;
  margin: 0 auto;
}
.fpv-empty-product-card {
  background: var(--c-surface);
  border: 1.5px solid var(--c-border);
  border-radius: 8px;
  overflow: hidden;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.fpv-empty-product-image {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  background: var(--c-bg);
  text-decoration: none !important;
}
.fpv-empty-product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.fpv-empty-product-title {
  font-family: var(--font-display);
  font-weight: 800;
  text-transform: uppercase;
  color: var(--c-dark);
  padding: 12px 12px 4px;
  text-decoration: none !important;
}
.fpv-empty-product-title:hover { color: var(--c-accent); }
.fpv-empty-product-price {
  color: var(--c-accent);
  font-weight: 800;
  font-size: 18px;
  padding: 0 12px 12px;
}
.fpv-empty-product-button {
  margin: auto 14px 14px !important;
  text-decoration: none !important;
}
@media (max-width: 900px) { .fpv-empty-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .fpv-empty-products-grid { grid-template-columns: 1fr; } }


/* Product page only: vertical gallery thumbnails and parent-category related products */
@media (min-width: 769px) {
  .woocommerce div.product div.images.woocommerce-product-gallery,
  .woocommerce div.product div.images {
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: start !important;
  }

  .woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
  .woocommerce div.product div.images .flex-viewport {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
  }

  .woocommerce div.product div.images .flex-control-thumbs {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 96px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    max-height: 620px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .woocommerce div.product div.images .flex-control-thumbs li {
    width: 96px !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .woocommerce div.product div.images .flex-control-thumbs li img {
    width: 96px !important;
    height: 96px !important;
    object-fit: contain !important;
    padding: 8px !important;
    background: var(--c-surface) !important;
    border: 1.5px solid var(--c-border) !important;
    border-radius: 8px !important;
    opacity: .72 !important;
    transition: border-color .18s ease, opacity .18s ease, background .18s ease !important;
  }

  .woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
  .woocommerce div.product div.images .flex-control-thumbs li img:hover {
    opacity: 1 !important;
    border-color: var(--c-accent) !important;
    background: var(--c-accent-light) !important;
  }

  .woocommerce div.product div.images .woocommerce-product-gallery__trigger {
    right: 18px !important;
    left: auto !important;
  }

  .woocommerce div.product div.images .fpv-gallery-prev {
    left: 112px !important;
  }

  .woocommerce div.product div.images .fpv-gallery-next {
    right: 16px !important;
  }
}

@media (max-width: 768px) {
  .woocommerce div.product div.images .flex-control-thumbs {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 8px 0 0 !important;
  }

  .woocommerce div.product div.images .flex-control-thumbs li {
    width: 72px !important;
    flex: 0 0 72px !important;
  }

  .woocommerce div.product div.images .flex-control-thumbs li img {
    width: 72px !important;
    height: 72px !important;
    object-fit: contain !important;
    padding: 6px !important;
    border: 1.5px solid var(--c-border) !important;
    border-radius: 7px !important;
    background: var(--c-surface) !important;
  }
}


/* Force product gallery thumbnails to the LEFT vertically.
   This overrides WooCommerce/Flexslider's default bottom thumbnail layout. */
@media (min-width: 769px) {
  body.single-product .woocommerce div.product div.images,
  body.single-product .woocommerce div.product div.images.woocommerce-product-gallery,
  body.single-product .woocommerce-product-gallery {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 16px !important;
    width: 100% !important;
  }

  body.single-product .woocommerce div.product div.images .flex-control-nav.flex-control-thumbs,
  body.single-product .woocommerce div.product div.images ol.flex-control-thumbs,
  body.single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs,
  body.single-product .woocommerce-product-gallery ol.flex-control-thumbs {
    order: 0 !important;
    flex: 0 0 104px !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    max-height: 640px !important;
    list-style: none !important;
  }

  body.single-product .woocommerce div.product div.images .flex-control-thumbs li,
  body.single-product .woocommerce-product-gallery .flex-control-thumbs li {
    width: 104px !important;
    height: 104px !important;
    flex: 0 0 104px !important;
    float: none !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body.single-product .woocommerce div.product div.images .flex-control-thumbs li img,
  body.single-product .woocommerce-product-gallery .flex-control-thumbs li img {
    width: 104px !important;
    height: 104px !important;
    object-fit: contain !important;
    padding: 8px !important;
    background: var(--c-white) !important;
    border: 1.5px solid var(--c-border) !important;
    border-radius: 8px !important;
    opacity: .68 !important;
    transition: opacity .18s ease, border-color .18s ease, background .18s ease !important;
  }

  body.single-product .woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
  body.single-product .woocommerce div.product div.images .flex-control-thumbs li img:hover,
  body.single-product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
  body.single-product .woocommerce-product-gallery .flex-control-thumbs li img:hover {
    opacity: 1 !important;
    border-color: var(--c-accent) !important;
    background: var(--c-accent-light) !important;
  }

  body.single-product .woocommerce div.product div.images .flex-viewport,
  body.single-product .woocommerce-product-gallery .flex-viewport,
  body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    order: 1 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
  }

  body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
    width: 100% !important;
  }

  body.single-product .woocommerce div.product div.images .fpv-gallery-prev,
  body.single-product .woocommerce-product-gallery .fpv-gallery-prev {
    left: 124px !important;
  }

  body.single-product .woocommerce div.product div.images .fpv-gallery-next,
  body.single-product .woocommerce-product-gallery .fpv-gallery-next {
    right: 16px !important;
  }
}

@media (max-width: 768px) {
  body.single-product .woocommerce div.product div.images,
  body.single-product .woocommerce-product-gallery {
    display: block !important;
  }

  body.single-product .woocommerce div.product div.images .flex-control-nav.flex-control-thumbs,
  body.single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding-top: 10px !important;
  }
}

/* Single product layout: gallery left, product information right */
@media (min-width: 900px) {
  body.single-product .woocommerce div.product {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr) !important;
    column-gap: 48px !important;
    row-gap: 36px !important;
    align-items: start !important;
    max-width: 1380px !important;
  }

  body.single-product .woocommerce div.product div.images,
  body.single-product .woocommerce div.product div.images.woocommerce-product-gallery,
  body.single-product .woocommerce-product-gallery {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    clear: none !important;
  }

  body.single-product .woocommerce div.product div.summary,
  body.single-product .woocommerce div.product .summary.entry-summary {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    align-self: start !important;
    position: sticky;
    top: 118px;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs,
  body.single-product .woocommerce div.product .fpvdronas-related-products,
  body.single-product .woocommerce div.product .related,
  body.single-product .woocommerce div.product .upsells,
  body.single-product .woocommerce div.product .fpvdronas-product-news,
  body.single-product .woocommerce div.product .fpv-product-widget-area,
  body.single-product .woocommerce div.product > .woocommerce-Tabs-panel,
  body.single-product .woocommerce div.product > section {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    clear: both !important;
  }

  body.single-product .woocommerce div.product div.images .flex-viewport,
  body.single-product .woocommerce-product-gallery .flex-viewport {
    border: 1.5px solid var(--c-border) !important;
    border-radius: 8px !important;
    background: var(--c-white) !important;
    overflow: hidden !important;
  }

  body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.single-product .woocommerce div.product div.images img,
  body.single-product .woocommerce-product-gallery img {
    width: 100% !important;
    height: auto !important;
    max-height: 680px !important;
    object-fit: contain !important;
  }

  body.single-product .woocommerce div.product .product_title {
    margin-top: 0 !important;
  }
}

@media (max-width: 899px) {
  body.single-product .woocommerce div.product div.images,
  body.single-product .woocommerce div.product div.summary {
    width: 100% !important;
    float: none !important;
    clear: both !important;
  }

  body.single-product .woocommerce div.product div.summary,
  body.single-product .woocommerce div.product .summary.entry-summary {
    margin-top: 22px !important;
  }
}

/* Fixed single product top layout: gallery left, product summary right */
@media (min-width: 900px) {
  body.single-product .woocommerce div.product.fpvdronas-single-product-layout {
    display: block !important;
    max-width: 1380px !important;
    margin: 0 auto 48px !important;
    padding: 0 24px !important;
  }

  body.single-product .fpvdronas-single-product-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr) !important;
    gap: 44px !important;
    align-items: start !important;
    width: 100% !important;
  }

  body.single-product .fpvdronas-single-product-top > .woocommerce-product-gallery,
  body.single-product .fpvdronas-single-product-top > div.images,
  body.single-product .fpvdronas-single-product-top > div.images.woocommerce-product-gallery {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    align-self: start !important;
  }

  body.single-product .fpvdronas-single-product-top > .summary.entry-summary,
  body.single-product .fpvdronas-single-product-top > div.summary {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    align-self: start !important;
    position: static !important;
  }

  body.single-product .fpvdronas-single-product-layout .woocommerce-tabs,
  body.single-product .fpvdronas-single-product-layout .fpvdronas-related-products,
  body.single-product .fpvdronas-single-product-layout .related,
  body.single-product .fpvdronas-single-product-layout .upsells,
  body.single-product .fpvdronas-single-product-layout .fpvdronas-product-news,
  body.single-product .fpvdronas-single-product-layout .fpv-product-widget-area {
    width: 100% !important;
    clear: both !important;
    margin-top: 42px !important;
  }

  body.single-product .fpvdronas-single-product-top .woocommerce-product-gallery {
    display: flex !important;
    flex-direction: row !important;
    gap: 16px !important;
    align-items: flex-start !important;
  }

  body.single-product .fpvdronas-single-product-top .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs {
    order: 0 !important;
    flex: 0 0 104px !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    max-height: 640px !important;
    list-style: none !important;
  }

  body.single-product .fpvdronas-single-product-top .woocommerce-product-gallery .flex-viewport,
  body.single-product .fpvdronas-single-product-top .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    order: 1 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
  }
}

@media (max-width: 899px) {
  body.single-product .fpvdronas-single-product-top {
    display: block !important;
  }
  body.single-product .fpvdronas-single-product-top > .summary.entry-summary {
    margin-top: 22px !important;
  }
}

/* Single product gallery: centered arrows and max 5 vertical thumbnails */
@media (min-width: 900px) {
  body.single-product .fpvdronas-single-product-top .woocommerce-product-gallery {
    --fpv-thumb-size: 96px;
    --fpv-thumb-gap: 18px;
    --fpv-thumb-column: 96px;
    --fpv-gallery-gap: 18px;
    position: relative !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: var(--fpv-gallery-gap) !important;
  }

  body.single-product .fpvdronas-single-product-top .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs,
  body.single-product .fpvdronas-single-product-top .woocommerce-product-gallery ol.flex-control-thumbs {
    order: 0 !important;
    flex: 0 0 var(--fpv-thumb-column) !important;
    width: var(--fpv-thumb-column) !important;
    min-width: var(--fpv-thumb-column) !important;
    max-width: var(--fpv-thumb-column) !important;
    max-height: calc((var(--fpv-thumb-size) * 5) + (var(--fpv-thumb-gap) * 4)) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    gap: var(--fpv-thumb-gap) !important;
    padding: 0 4px 0 0 !important;
    margin: 0 !important;
    list-style: none !important;
    scrollbar-width: thin;
  }

  body.single-product .fpvdronas-single-product-top .woocommerce-product-gallery .flex-control-thumbs li {
    width: var(--fpv-thumb-size) !important;
    height: var(--fpv-thumb-size) !important;
    min-width: var(--fpv-thumb-size) !important;
    min-height: var(--fpv-thumb-size) !important;
    max-width: var(--fpv-thumb-size) !important;
    max-height: var(--fpv-thumb-size) !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    flex: 0 0 var(--fpv-thumb-size) !important;
  }

  body.single-product .fpvdronas-single-product-top .woocommerce-product-gallery .flex-control-thumbs li img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border-radius: 8px !important;
  }

  body.single-product .fpvdronas-single-product-top .woocommerce-product-gallery .flex-viewport {
    order: 1 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    align-self: stretch !important;
  }

  body.single-product .fpvdronas-single-product-top .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    height: 100% !important;
  }

  body.single-product .fpvdronas-single-product-top .woocommerce-product-gallery .fpv-gallery-arrow {
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  body.single-product .fpvdronas-single-product-top .woocommerce-product-gallery .fpv-gallery-prev {
    left: calc(var(--fpv-thumb-column) + var(--fpv-gallery-gap) + 16px) !important;
  }

  body.single-product .fpvdronas-single-product-top .woocommerce-product-gallery .fpv-gallery-next {
    right: 16px !important;
  }
}


/* Center gallery arrow icon inside circular buttons */
body.single-product .fpvdronas-single-product-top .woocommerce-product-gallery .fpv-gallery-arrow,
body.single-product .woocommerce-product-gallery .fpv-gallery-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: 0 !important;
  text-align: center !important;
}
body.single-product .fpvdronas-single-product-top .woocommerce-product-gallery .fpv-gallery-arrow::before,
body.single-product .woocommerce-product-gallery .fpv-gallery-arrow::before {
  content: "" !important;
  display: block !important;
  width: 9px !important;
  height: 9px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  box-sizing: border-box !important;
}
body.single-product .fpvdronas-single-product-top .woocommerce-product-gallery .fpv-gallery-prev::before,
body.single-product .woocommerce-product-gallery .fpv-gallery-prev::before {
  transform: rotate(135deg) !important;
  margin-left: 4px !important;
}
body.single-product .fpvdronas-single-product-top .woocommerce-product-gallery .fpv-gallery-next::before,
body.single-product .woocommerce-product-gallery .fpv-gallery-next::before {
  transform: rotate(-45deg) !important;
  margin-right: 4px !important;
}


/* Editable product ribbon */
.fpvdronas-product-card-v30 .fpvdronas-product-card-image {
  position: relative !important;
  overflow: hidden !important;
}
.fpvdronas-product-ribbon {
  position: absolute !important;
  top: 12px !important;
  right: -34px !important;
  z-index: 5 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 132px !important;
  min-height: 28px !important;
  padding: 5px 14px !important;
  transform: rotate(35deg) !important;
  background: var(--c-accent) !important;
  color: var(--c-white) !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  box-shadow: 0 8px 18px rgba(255, 106, 0, .22) !important;
  pointer-events: none !important;
}
body.single-product .fpvdronas-single-ribbon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  margin-left: 12px !important;
  margin-top: 8px !important;
  padding: 0 18px !important;
  border-radius: 10px !important;
  background: rgba(255, 106, 0, .10) !important;
  border: 1px solid rgba(255, 106, 0, .38) !important;
  color: var(--c-accent) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  vertical-align: middle !important;
}
body.single-product form.cart .button + .fpvdronas-single-ribbon,
body.single-product form.cart .single_add_to_cart_button + .fpvdronas-single-ribbon {
  margin-left: 12px !important;
}
@media (max-width: 520px) {
  .fpvdronas-product-ribbon {
    width: 118px !important;
    right: -32px !important;
    font-size: 9px !important;
  }
  body.single-product .fpvdronas-single-ribbon {
    margin-left: 0 !important;
    margin-top: 10px !important;
    width: 100% !important;
  }
}


/* Product ribbon sizing and single-product alignment fix */
.fpvdronas-product-card-v30 .fpvdronas-product-card-image {
  position: relative !important;
  overflow: hidden !important;
}
.fpvdronas-product-ribbon {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 7 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 24px) !important;
  min-height: 28px !important;
  padding: 6px 12px !important;
  transform: none !important;
  background: var(--c-accent) !important;
  color: var(--c-white) !important;
  border-radius: 0 8px 0 8px !important;
  font-size: 10px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  box-shadow: 0 8px 18px rgba(255, 106, 0, .18) !important;
  pointer-events: none !important;
}
body.single-product form.cart {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}
body.single-product .fpvdronas-single-ribbon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  min-height: 48px !important;
  height: 48px !important;
  margin: 0 0 0 12px !important;
  padding: 0 18px !important;
  border-radius: 10px !important;
  background: rgba(255, 106, 0, .10) !important;
  border: 1px solid rgba(255, 106, 0, .38) !important;
  color: var(--c-accent) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  line-height: 1.15 !important;
  text-transform: uppercase !important;
  vertical-align: middle !important;
  white-space: normal !important;
  text-align: center !important;
}
@media (max-width: 520px) {
  .fpvdronas-product-ribbon {
    top: 10px !important;
    right: 10px !important;
    max-width: calc(100% - 20px) !important;
    font-size: 9px !important;
    padding: 5px 10px !important;
  }
  body.single-product .fpvdronas-single-ribbon {
    margin-left: 0 !important;
    width: 100% !important;
  }
}


/* Single product action button row alignment */
.fpvdronas-product-actions .fpv-action-row-break {
  flex: 0 0 100%;
  width: 100%;
  height: 0;
  margin: 0;
  padding: 0;
  display: block;
}
.fpvdronas-product-actions [data-fpv-product-question],
.fpvdronas-product-actions [data-fpv-review-trigger] {
  align-self: stretch;
}
@media (max-width: 640px) {
  .fpvdronas-product-actions .fpv-action-row-break { display: none; }
  .fpvdronas-product-actions [data-fpv-product-question],
  .fpvdronas-product-actions [data-fpv-review-trigger] { flex: 1 1 100%; }
}

/* Ensure compact title badges are real H1 elements without changing visual size */
.woocommerce-products-header .fpv-page-title-badge,
.fpvdronas-page-badge h1.fpv-page-title-badge,
.archive .page-header h1.fpv-page-title-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 14px 6px 18px;
  border-left: 3px solid var(--c-accent);
  border-radius: 4px;
  background: var(--c-accent-light);
  color: var(--c-accent);
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  margin: 0;
}
.fpv-products-header { margin: 22px 0 24px; }


/* Align page/category content card top with the title badge */
.fpv-page-content-wrap {
  margin-top: -64px;
  position: relative;
  z-index: 2;
}
.fpv-page-hero {
  position: relative;
  z-index: 1;
}
.fpv-page-content-card {
  margin-top: 0;
}

/* WooCommerce category/archive description: keep H1 badge and description card on the same top line */
.fpv-products-header:has(.term-description),
.fpv-products-header:has(.page-description) {
  display: grid;
  grid-template-columns: minmax(130px, 160px) minmax(0, 980px);
  column-gap: 48px;
  align-items: start;
  margin: 42px auto 52px;
  max-width: 1180px;
}
.fpv-products-header .term-description,
.fpv-products-header .page-description {
  background: var(--c-surface);
  border: 1.5px solid var(--c-border);
  border-radius: 8px;
  padding: 10px 32px;
  box-shadow: 0 2px 8px rgba(0,0,0,.035);
  margin: 0;
}
.fpv-products-header .term-description p,
.fpv-products-header .page-description p {
  margin: 0;
  font-size: 16px;
  line-height: 1.75;
}
@media (max-width: 900px) {
  .fpv-page-content-wrap { margin-top: 0; }
  .fpv-products-header:has(.term-description),
  .fpv-products-header:has(.page-description) {
    display: block;
    margin: 28px 0 32px;
  }
  .fpv-products-header .term-description,
  .fpv-products-header .page-description {
    margin-top: 18px;
    padding: 10px 18px;
  }
}


/* Product category archive layout: H1 badge + description card + current category product grid */
body.tax-product_cat .fpv-category-archive-main,
body.post-type-archive-product .fpv-category-archive-main {
  background: var(--c-bg);
}

body.tax-product_cat .fpv-category-header-row,
body.post-type-archive-product .fpv-category-header-row {
  display: grid !important;
  grid-template-columns: 130px minmax(0, 980px) !important;
  column-gap: 46px !important;
  align-items: start !important;
  max-width: 1180px !important;
  margin: 18px auto 18px !important;
  padding: 0 !important;
}

body.tax-product_cat .fpv-category-title-col,
body.post-type-archive-product .fpv-category-title-col {
  display: flex !important;
  align-items: flex-start !important;
  min-width: 0 !important;
}

body.tax-product_cat .fpv-category-header-row .fpv-page-title-badge,
body.post-type-archive-product .fpv-category-header-row .fpv-page-title-badge {
  margin: 0 !important;
  min-height: 28px !important;
  height: auto !important;
  align-self: start !important;
}

body.tax-product_cat .fpv-category-description-card,
body.post-type-archive-product .fpv-category-description-card {
  width: 100% !important;
  max-width: none !important;
  min-height: 24px !important;
  margin: 0 !important;
  padding: 8px 24px !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

body.tax-product_cat .fpv-category-description-card .entry-content,
body.post-type-archive-product .fpv-category-description-card .entry-content {
  width: 100% !important;
  min-height: 16px !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: var(--c-text) !important;
}

body.tax-product_cat .fpv-category-description-card .entry-content > :first-child,
body.post-type-archive-product .fpv-category-description-card .entry-content > :first-child {
  margin-top: 0 !important;
}

body.tax-product_cat .fpv-category-description-card .entry-content > :last-child,
body.post-type-archive-product .fpv-category-description-card .entry-content > :last-child {
  margin-bottom: 0 !important;
}

body.tax-product_cat .fpv-category-products-section,
body.post-type-archive-product .fpv-category-products-section {
  max-width: 1180px !important;
  margin: 10px auto 52px !important;
  padding: 0 !important;
}

body.tax-product_cat .fpv-category-products-section ul.products,
body.post-type-archive-product .fpv-category-products-section ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.tax-product_cat .fpv-category-products-section .woocommerce-result-count,
body.post-type-archive-product .fpv-category-products-section .woocommerce-result-count {
  margin: 0 0 12px !important;
}

body.tax-product_cat .fpv-category-products-section .woocommerce-ordering,
body.post-type-archive-product .fpv-category-products-section .woocommerce-ordering {
  margin: 0 0 12px !important;
}

@media (max-width: 900px) {
  body.tax-product_cat .fpv-category-header-row,
  body.post-type-archive-product .fpv-category-header-row {
    grid-template-columns: 1fr !important;
    row-gap: 14px !important;
    margin: 20px 16px 18px !important;
  }

  body.tax-product_cat .fpv-category-products-section,
  body.post-type-archive-product .fpv-category-products-section {
    margin: 8px 16px 42px !important;
  }

  body.tax-product_cat .fpv-category-products-section ul.products,
  body.post-type-archive-product .fpv-category-products-section ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}

@media (max-width: 560px) {
  body.tax-product_cat .fpv-category-products-section ul.products,
  body.post-type-archive-product .fpv-category-products-section ul.products {
    grid-template-columns: 1fr !important;
  }
}


/* Product category pages: same visual model as normal pages */
body.tax-product_cat main.fpv-product-category-page,
body.post-type-archive-product main.fpv-product-category-page {
  background: var(--c-bg);
}

body.tax-product_cat .fpv-category-page-hero,
body.post-type-archive-product .fpv-category-page-hero {
  padding-top: 40px !important;
  padding-bottom: 14px !important;
}

body.tax-product_cat .fpv-category-content-wrap,
body.post-type-archive-product .fpv-category-content-wrap {
  padding-top: 12px !important;
  padding-bottom: 52px !important;
  margin-top: -64px !important;
  position: relative;
  z-index: 2;
}

body.tax-product_cat .fpv-category-description-card,
body.post-type-archive-product .fpv-category-description-card {
  min-height: 24px !important;
  padding: 8px 32px !important;
  margin: 0 auto 22px !important;
  display: flex !important;
  align-items: center !important;
}

body.tax-product_cat .fpv-category-description-card .entry-content,
body.post-type-archive-product .fpv-category-description-card .entry-content {
  width: 100% !important;
  min-height: 14px !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}

body.tax-product_cat .fpv-category-description-card .entry-content > :first-child,
body.post-type-archive-product .fpv-category-description-card .entry-content > :first-child {
  margin-top: 0 !important;
}

body.tax-product_cat .fpv-category-description-card .entry-content > :last-child,
body.post-type-archive-product .fpv-category-description-card .entry-content > :last-child {
  margin-bottom: 0 !important;
}

body.tax-product_cat .fpv-category-products-section,
body.post-type-archive-product .fpv-category-products-section {
  max-width: 980px;
  margin: 0 auto 0;
}

body.tax-product_cat .fpv-category-products-section .woocommerce-result-count,
body.post-type-archive-product .fpv-category-products-section .woocommerce-result-count,
body.tax-product_cat .fpv-category-products-section .woocommerce-ordering,
body.post-type-archive-product .fpv-category-products-section .woocommerce-ordering {
  display: none !important;
}

body.tax-product_cat .fpv-category-products-section ul.products,
body.post-type-archive-product .fpv-category-products-section ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.tax-product_cat .fpv-category-products-section ul.products::before,
body.tax-product_cat .fpv-category-products-section ul.products::after,
body.post-type-archive-product .fpv-category-products-section ul.products::before,
body.post-type-archive-product .fpv-category-products-section ul.products::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 900px) {
  body.tax-product_cat .fpv-category-content-wrap,
  body.post-type-archive-product .fpv-category-content-wrap {
    margin-top: 0 !important;
    padding-top: 18px !important;
  }

  body.tax-product_cat .fpv-category-description-card,
  body.post-type-archive-product .fpv-category-description-card {
    padding: 10px 18px !important;
  }

  body.tax-product_cat .fpv-category-products-section ul.products,
  body.post-type-archive-product .fpv-category-products-section ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}

@media (max-width: 560px) {
  body.tax-product_cat .fpv-category-products-section ul.products,
  body.post-type-archive-product .fpv-category-products-section ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* ===== V2.3.28 clean shared page/category base ===== */
.fpv-page-main,
.fpv-product-category-page {
  background: var(--c-bg);
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.fpv-page-intro,
.fpv-category-page-intro {
  position: relative;
  overflow: hidden;
  padding: 28px 0 12px !important;
  margin: 0 !important;
  background: var(--c-bg);
}

.fpv-page-intro::before,
.fpv-category-page-intro::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: .04;
  background-image: linear-gradient(var(--c-border2) 1px, transparent 1px), linear-gradient(90deg, var(--c-border2) 1px, transparent 1px);
  background-size: 36px 36px;
  pointer-events: none;
}

.fpv-page-intro-row {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(160px, max-content) minmax(0, 980px) !important;
  column-gap: 28px !important;
  row-gap: 14px !important;
  align-items: start !important;
  width: 100%;
  max-width: 100%;
}

.fpv-page-intro-row .fpv-page-title-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 116px !important;
  max-width: 220px !important;
  margin: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.fpv-page-intro-card,
.fpv-category-description-card {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 24px !important;
  margin: 0 !important;
  padding: 10px 18px !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

.fpv-page-intro-card .entry-content,
.fpv-category-description-card .entry-content {
  width: 100%;
  min-width: 0;
  font-size: 14px;
  line-height: 1.5;
}

.fpv-page-intro-card .entry-content > :first-child,
.fpv-category-description-card .entry-content > :first-child { margin-top: 0; }
.fpv-page-intro-card .entry-content > :last-child,
.fpv-category-description-card .entry-content > :last-child { margin-bottom: 0; }

.fpv-page-lower-content,
.fpv-category-products-wrap {
  padding-top: 22px !important;
  padding-bottom: 52px !important;
  margin-top: 0 !important;
  clear: both !important;
}

body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat .term-description,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_tag .woocommerce-products-header,
body.tax-product_tag .term-description,
body.tax-product_tag .woocommerce-result-count,
body.tax-product_tag .woocommerce-ordering,
.fpv-product-category-page .woocommerce-products-header,
.fpv-product-category-page .term-description,
.fpv-product-category-page .woocommerce-result-count,
.fpv-product-category-page .woocommerce-ordering {
  display: none !important;
}

.fpv-category-products-section {
  min-width: 0 !important;
  margin-top: 0 !important;
  clear: both !important;
}

.fpv-category-products-section ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products,
body.post-type-archive-product ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 14px !important;
  margin-top: 0 !important;
}

.fpv-category-products-section ul.products::before,
.fpv-category-products-section ul.products::after {
  display: none !important;
}

.fpv-empty-category-message {
  margin: 0;
  font-size: 14px;
  color: var(--c-muted);
}

/* Notice bar selected-text formatting and spacing */
.fpvdronas-orange-notice-inner {
  padding-left: 32px !important;
  padding-right: 32px !important;
  box-sizing: border-box;
  white-space: pre-wrap;
}
.fpvdronas-orange-notice-inner strong,
.fpvdronas-orange-notice-inner b { font-weight: 700; }
.fpvdronas-orange-notice-inner em,
.fpvdronas-orange-notice-inner i { font-style: italic; }
.fpvdronas-orange-notice-inner u { text-decoration: underline; }

/* Configurable product filter sidebar for category pages */
body.tax-product_cat .fpvdronas-category-layout-with-filter {
  max-width: 1180px !important;
  margin: 0 auto 52px !important;
  display: grid !important;
  grid-template-columns: 210px minmax(0, 1fr) !important;
  column-gap: 28px !important;
  align-items: start !important;
}

body.tax-product_cat .fpvdronas-category-layout-with-filter:not(:has(.fpvdronas-filter-sidebar)) {
  display: block !important;
  max-width: 980px !important;
}

body.tax-product_cat .fpvdronas-filter-sidebar {
  width: 210px !important;
  max-width: 210px !important;
  background: transparent !important;
  color: var(--c-text) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

body.tax-product_cat .fpvdronas-filter-form {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.tax-product_cat .fpvdronas-filter-group {
  border-top: 1px solid rgba(58,58,58,.16) !important;
  margin: 0 0 22px !important;
  padding: 14px 0 0 !important;
}

body.tax-product_cat .fpvdronas-filter-group:first-child {
  border-top: 0 !important;
  padding-top: 0 !important;
}

body.tax-product_cat .fpvdronas-filter-group h3 {
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: var(--c-black) !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .02em !important;
}

body.tax-product_cat .fpvdronas-filter-group label {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 3px 0 !important;
  color: var(--c-text) !important;
  font-size: 12px !important;
  cursor: pointer !important;
}

body.tax-product_cat .fpvdronas-filter-group input[type="checkbox"] {
  width: 12px !important;
  height: 12px !important;
  margin: 0 !important;
  accent-color: var(--c-accent) !important;
}

body.tax-product_cat .fpvdronas-filter-group label span {
  display: inline-flex !important;
  min-width: 18px !important;
  height: 13px !important;
  padding: 0 5px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: var(--c-white) !important;
  color: var(--c-text) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  margin-left: 4px !important;
}

body.tax-product_cat .fpvdronas-price-inputs {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}

body.tax-product_cat .fpvdronas-price-inputs input {
  width: 100% !important;
  min-height: 32px !important;
  border: 1px solid rgba(58,58,58,.22) !important;
  border-radius: 4px !important;
  padding: 6px 8px !important;
  font-size: 12px !important;
  background: var(--c-white) !important;
  color: var(--c-text) !important;
}

body.tax-product_cat .fpvdronas-filter-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border-top: 1px solid rgba(58,58,58,.16) !important;
  padding-top: 14px !important;
  margin-top: 6px !important;
}

body.tax-product_cat .fpvdronas-filter-actions button {
  border: 0 !important;
  border-radius: 4px !important;
  background: var(--c-accent) !important;
  color: var(--c-white) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .02em !important;
  padding: 9px 12px !important;
  cursor: pointer !important;
}

body.tax-product_cat .fpvdronas-filter-actions a {
  color: var(--c-accent) !important;
  font-size: 12px !important;
  text-decoration: none !important;
}

body.tax-product_cat .fpvdronas-category-layout-with-filter .fpv-category-products-section {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
}

@media (max-width: 900px) {
  body.tax-product_cat .fpvdronas-category-layout-with-filter {
    display: block !important;
    margin: 0 16px 42px !important;
  }
  body.tax-product_cat .fpvdronas-filter-sidebar {
    width: 100% !important;
    max-width: none !important;
    margin-bottom: 24px !important;
  }
}

/* Category filter customizer visibility fix */
body.tax-product_cat .fpvdronas-filter-title{
  margin:0 0 18px;
  font-size:18px;
  font-weight:800;
  color:var(--c-text);
  text-transform:uppercase;
  letter-spacing:.02em;
}

/* Filter/sidebar layout and dual price range UI */
body.tax-product_cat .fpv-category-products-wrap {
  padding-top: 56px !important;
  clear: both !important;
}

body.tax-product_cat .fpvdronas-category-layout-with-filter {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto 56px !important;
  display: grid !important;
  grid-template-columns: 210px minmax(0, 1fr) !important;
  column-gap: 28px !important;
  align-items: start !important;
}

body.tax-product_cat .fpvdronas-category-layout-with-filter .fpvdronas-filter-sidebar {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

body.tax-product_cat .fpvdronas-category-layout-with-filter .fpv-category-products-section {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.tax-product_cat .fpvdronas-category-layout-with-filter .products,
body.tax-product_cat .fpv-category-products-section ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

body.tax-product_cat .fpvdronas-category-layout-with-filter ul.products li.product,
body.tax-product_cat .fpv-category-products-section ul.products li.product {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
}

body.tax-product_cat .fpvdronas-filter-sidebar {
  width: 210px !important;
  max-width: 210px !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--c-text) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  overflow: visible !important;
}

body.tax-product_cat .fpvdronas-filter-group {
  border-top: 1px solid rgba(58,58,58,.16) !important;
  margin: 0 0 24px !important;
  padding: 16px 0 0 !important;
}

body.tax-product_cat .fpvdronas-price-values {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin: 0 0 12px !important;
  color: var(--c-text) !important;
  font-size: 12px !important;
}

body.tax-product_cat .fpvdronas-range-wrap {
  position: relative !important;
  height: 28px !important;
  margin: 4px 0 2px !important;
}

body.tax-product_cat .fpvdronas-range-track {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 12px !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: rgba(58,58,58,.16) !important;
}

body.tax-product_cat .fpvdronas-range-track span {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  border-radius: 999px !important;
  background: var(--c-accent) !important;
}

body.tax-product_cat .fpvdronas-range-wrap input[type="range"] {
  position: absolute !important;
  left: 0 !important;
  top: 4px !important;
  width: 100% !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background: transparent !important;
  border: 0 !important;
}

body.tax-product_cat .fpvdronas-range-wrap input[type="range"]::-webkit-slider-runnable-track {
  height: 4px !important;
  background: transparent !important;
  border: 0 !important;
}

body.tax-product_cat .fpvdronas-range-wrap input[type="range"]::-moz-range-track {
  height: 4px !important;
  background: transparent !important;
  border: 0 !important;
}

body.tax-product_cat .fpvdronas-range-wrap input[type="range"]::-webkit-slider-thumb {
  pointer-events: auto !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 999px !important;
  border: 2px solid var(--c-accent) !important;
  background: var(--c-white) !important;
  cursor: pointer !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.18) !important;
  margin-top: -5px !important;
}

body.tax-product_cat .fpvdronas-range-wrap input[type="range"]::-moz-range-thumb {
  pointer-events: auto !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 999px !important;
  border: 2px solid var(--c-accent) !important;
  background: var(--c-white) !important;
  cursor: pointer !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.18) !important;
}

body.tax-product_cat .fpvdronas-filter-actions button {
  border: 0 !important;
  border-radius: 7px !important;
  background: var(--c-accent) !important;
  color: var(--c-white) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .03em !important;
  padding: 9px 13px !important;
  cursor: pointer !important;
  transition: background .15s ease, transform .15s ease !important;
}

body.tax-product_cat .fpvdronas-filter-actions button:hover {
  background: var(--c-accent2) !important;
  transform: translateY(-1px) !important;
}

body.tax-product_cat .fpvdronas-filter-actions a {
  color: var(--c-accent) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

@media (max-width: 1100px) {
  body.tax-product_cat .fpvdronas-category-layout-with-filter .products,
  body.tax-product_cat .fpv-category-products-section ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  body.tax-product_cat .fpvdronas-category-layout-with-filter {
    display: block !important;
    margin: 0 16px 42px !important;
  }
  body.tax-product_cat .fpvdronas-filter-sidebar {
    width: 100% !important;
    max-width: none !important;
    margin-bottom: 24px !important;
  }
  body.tax-product_cat .fpvdronas-category-layout-with-filter .products,
  body.tax-product_cat .fpv-category-products-section ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  body.tax-product_cat .fpvdronas-category-layout-with-filter .products,
  body.tax-product_cat .fpv-category-products-section ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* Corrected category filter layout, Lithuanian UI, auto-apply filters */
body.tax-product_cat .fpv-category-products-wrap {
  padding-top: 28px !important;
  clear: both !important;
}

body.tax-product_cat .fpvdronas-category-layout-with-filter {
  width: 100% !important;
  max-width: 1218px !important;
  margin: 0 auto 56px !important;
  display: grid !important;
  grid-template-columns: 210px 28px minmax(0, 980px) !important;
  column-gap: 0 !important;
  align-items: start !important;
}

body.tax-product_cat .fpvdronas-category-layout-with-filter .fpvdronas-filter-sidebar {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 210px !important;
  max-width: 210px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.tax-product_cat .fpvdronas-category-layout-with-filter .fpv-category-products-section {
  grid-column: 3 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: 980px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.tax-product_cat .fpvdronas-category-layout-with-filter .products,
body.tax-product_cat .fpv-category-products-section ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
}

body.tax-product_cat .fpvdronas-category-layout-with-filter ul.products li.product,
body.tax-product_cat .fpv-category-products-section ul.products li.product {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body.tax-product_cat .fpvdronas-filter-title {
  margin: 0 0 18px !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  color: var(--c-text) !important;
  font-weight: 800 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

body.tax-product_cat .fpvdronas-filter-sidebar {
  color: var(--c-text) !important;
  font-size: 12px !important;
}

body.tax-product_cat .fpvdronas-filter-form {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.tax-product_cat .fpvdronas-filter-group {
  border-top: 1px solid rgba(58,58,58,.16) !important;
  margin: 0 0 22px !important;
  padding: 16px 0 0 !important;
}

body.tax-product_cat .fpvdronas-filter-group:first-child {
  border-top: 0 !important;
  padding-top: 0 !important;
}

body.tax-product_cat .fpvdronas-filter-group h3 {
  margin: 0 0 12px !important;
  color: var(--c-black) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
  letter-spacing: .02em !important;
}

body.tax-product_cat .fpvdronas-filter-group label {
  display: grid !important;
  grid-template-columns: 13px minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 7px !important;
  margin: 6px 0 !important;
  color: var(--c-text) !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  cursor: pointer !important;
}

body.tax-product_cat .fpvdronas-filter-label-text {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

body.tax-product_cat .fpvdronas-filter-group input[type="checkbox"] {
  width: 13px !important;
  height: 13px !important;
  margin: 0 !important;
  accent-color: var(--c-accent) !important;
}

body.tax-product_cat .fpvdronas-filter-count {
  display: inline-flex !important;
  min-width: 18px !important;
  height: 15px !important;
  padding: 0 6px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: var(--c-white) !important;
  color: var(--c-text) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
}

body.tax-product_cat .fpvdronas-price-values {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin: 0 0 12px !important;
  color: var(--c-text) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

body.tax-product_cat .fpvdronas-range-wrap {
  position: relative !important;
  height: 32px !important;
  width: 100% !important;
  margin: 2px 0 0 !important;
}

body.tax-product_cat .fpvdronas-range-track {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 14px !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: rgba(58,58,58,.18) !important;
  overflow: hidden !important;
}

body.tax-product_cat .fpvdronas-range-track span {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  border-radius: 999px !important;
  background: var(--c-accent) !important;
}

body.tax-product_cat .fpvdronas-range-wrap input[type="range"] {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  pointer-events: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.tax-product_cat .fpvdronas-range-wrap input[type="range"]::-webkit-slider-runnable-track {
  height: 4px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.tax-product_cat .fpvdronas-range-wrap input[type="range"]::-moz-range-track {
  height: 4px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.tax-product_cat .fpvdronas-range-wrap input[type="range"]::-webkit-slider-thumb {
  pointer-events: auto !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 999px !important;
  border: 2px solid var(--c-accent) !important;
  background: var(--c-white) !important;
  cursor: pointer !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.18) !important;
  margin-top: -5px !important;
}

body.tax-product_cat .fpvdronas-range-wrap input[type="range"]::-moz-range-thumb {
  pointer-events: auto !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 999px !important;
  border: 2px solid var(--c-accent) !important;
  background: var(--c-white) !important;
  cursor: pointer !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.18) !important;
}

body.tax-product_cat .fpvdronas-filter-actions {
  border-top: 1px solid rgba(58,58,58,.16) !important;
  padding-top: 14px !important;
  margin-top: 2px !important;
}

body.tax-product_cat .fpvdronas-filter-actions button {
  display: none !important;
}

body.tax-product_cat .fpvdronas-filter-clear {
  display: inline-flex !important;
  align-items: center !important;
  color: var(--c-accent) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

body.tax-product_cat .fpvdronas-filter-clear:hover {
  text-decoration: underline !important;
}

@media (max-width: 1100px) {
  body.tax-product_cat .fpvdronas-category-layout-with-filter .products,
  body.tax-product_cat .fpv-category-products-section ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  body.tax-product_cat .fpvdronas-category-layout-with-filter {
    display: block !important;
    max-width: none !important;
    margin: 0 16px 42px !important;
  }
  body.tax-product_cat .fpvdronas-category-layout-with-filter .fpvdronas-filter-sidebar {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 24px !important;
  }
  body.tax-product_cat .fpvdronas-category-layout-with-filter .fpv-category-products-section {
    max-width: none !important;
  }
  body.tax-product_cat .fpvdronas-category-layout-with-filter .products,
  body.tax-product_cat .fpv-category-products-section ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: none !important;
  }
}

@media (max-width: 560px) {
  body.tax-product_cat .fpvdronas-category-layout-with-filter .products,
  body.tax-product_cat .fpv-category-products-section ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* Final category filter/product grid refinements */
body.tax-product_cat .fpvdronas-category-layout-with-filter .fpv-category-products-section,
body.tax-product_cat .fpv-category-products-section {
  width: 100% !important;
  max-width: 980px !important;
  min-width: 0 !important;
}

body.tax-product_cat .fpv-product-category-page ul.products,
body.tax-product_cat .fpv-product-category-page ul.products.columns-4,
body.tax-product_cat .fpvdronas-category-layout-with-filter ul.products,
body.tax-product_cat .fpv-category-products-section ul.products,
body.tax-product_cat .woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  column-gap: 16px !important;
  row-gap: 20px !important;
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
}

body.tax-product_cat .fpv-product-category-page ul.products::before,
body.tax-product_cat .fpv-product-category-page ul.products::after,
body.tax-product_cat .fpv-category-products-section ul.products::before,
body.tax-product_cat .fpv-category-products-section ul.products::after {
  display: none !important;
  content: none !important;
}

body.tax-product_cat .fpv-product-category-page ul.products li.product,
body.tax-product_cat .fpv-product-category-page ul.products.columns-4 li.product,
body.tax-product_cat .fpvdronas-category-layout-with-filter ul.products li.product,
body.tax-product_cat .fpv-category-products-section ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  grid-column: auto !important;
}

@media (min-width: 1380px) {
  body.tax-product_cat .fpv-product-category-page ul.products,
  body.tax-product_cat .fpv-category-products-section ul.products {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

body.tax-product_cat .fpvdronas-range-wrap {
  position: relative !important;
  height: 30px !important;
  width: 100% !important;
}

body.tax-product_cat .fpvdronas-range-track {
  top: 13px !important;
  height: 4px !important;
  background: rgba(58,58,58,.18) !important;
  border-radius: 999px !important;
  overflow: visible !important;
}

body.tax-product_cat .fpvdronas-range-track span {
  background: var(--c-accent) !important;
  height: 4px !important;
  border-radius: 999px !important;
}

body.tax-product_cat .fpvdronas-range-wrap input[type="range"] {
  top: 0 !important;
  height: 30px !important;
  background: none !important;
  color: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
  pointer-events: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

body.tax-product_cat .fpvdronas-range-wrap input[type="range"]::-webkit-slider-runnable-track {
  height: 4px !important;
  background: transparent !important;
  color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.tax-product_cat .fpvdronas-range-wrap input[type="range"]::-moz-range-track {
  height: 4px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.tax-product_cat .fpvdronas-range-wrap input[type="range"]::-moz-range-progress {
  background: transparent !important;
}

body.tax-product_cat .fpvdronas-range-wrap input[type="range"]::-webkit-slider-thumb {
  pointer-events: auto !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  border: 2px solid var(--c-accent) !important;
  background: var(--c-white) !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  margin-top: -5px !important;
  cursor: pointer !important;
}

body.tax-product_cat .fpvdronas-range-wrap input[type="range"]::-moz-range-thumb {
  pointer-events: auto !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  border: 2px solid var(--c-accent) !important;
  background: var(--c-white) !important;
  cursor: pointer !important;
}

/* FPVDronas-WP-Theme-V89 - hard fix for category product grid columns */
body .fpv-product-category-page .fpvdronas-category-layout-with-filter,
body .fpvdronas-category-layout-with-filter {
  width: 100% !important;
  max-width: 1218px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: grid !important;
  grid-template-columns: 210px 28px minmax(0, 980px) !important;
  column-gap: 0 !important;
  align-items: start !important;
}

body .fpv-product-category-page .fpvdronas-category-layout-with-filter .fpvdronas-filter-sidebar,
body .fpvdronas-category-layout-with-filter .fpvdronas-filter-sidebar {
  grid-column: 1 !important;
  width: 210px !important;
  max-width: 210px !important;
  min-width: 210px !important;
}

body .fpv-product-category-page .fpvdronas-category-layout-with-filter .fpv-category-products-section,
body .fpvdronas-category-layout-with-filter .fpv-category-products-section,
body .fpv-category-products-section {
  grid-column: 3 !important;
  width: 100% !important;
  max-width: 980px !important;
  min-width: 0 !important;
  overflow: visible !important;
}

/* Use flex as the final enforced layout because some WooCommerce column rules override CSS grid in this theme stack. */
body .fpv-product-category-page .fpv-category-products-section > ul.products,
body .fpv-product-category-page ul.products.columns-4,
body .fpvdronas-category-layout-with-filter .fpv-category-products-section > ul.products,
body .fpv-category-products-section > ul.products,
body.woocommerce .fpv-category-products-section > ul.products,
body.tax-product_cat .fpv-category-products-section > ul.products {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 20px 16px !important;
  width: 100% !important;
  max-width: 980px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
  clear: none !important;
}

body .fpv-product-category-page .fpv-category-products-section > ul.products::before,
body .fpv-product-category-page .fpv-category-products-section > ul.products::after,
body .fpvdronas-category-layout-with-filter .fpv-category-products-section > ul.products::before,
body .fpvdronas-category-layout-with-filter .fpv-category-products-section > ul.products::after {
  display: none !important;
  content: none !important;
}

body .fpv-product-category-page .fpv-category-products-section > ul.products > li.product,
body .fpv-product-category-page ul.products.columns-4 > li.product,
body .fpvdronas-category-layout-with-filter .fpv-category-products-section > ul.products > li.product,
body .fpv-category-products-section > ul.products > li.product,
body.woocommerce .fpv-category-products-section > ul.products > li.product,
body.tax-product_cat .fpv-category-products-section > ul.products > li.product {
  flex: 0 0 calc((100% - 48px) / 4) !important;
  width: calc((100% - 48px) / 4) !important;
  max-width: calc((100% - 48px) / 4) !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
  position: relative !important;
}

@media (min-width: 1380px) {
  body .fpv-product-category-page .fpv-category-products-section > ul.products > li.product,
  body .fpvdronas-category-layout-with-filter .fpv-category-products-section > ul.products > li.product,
  body .fpv-category-products-section > ul.products > li.product {
    flex-basis: calc((100% - 64px) / 5) !important;
    width: calc((100% - 64px) / 5) !important;
    max-width: calc((100% - 64px) / 5) !important;
  }
}

@media (max-width: 1100px) {
  body .fpv-product-category-page .fpv-category-products-section > ul.products > li.product,
  body .fpvdronas-category-layout-with-filter .fpv-category-products-section > ul.products > li.product,
  body .fpv-category-products-section > ul.products > li.product {
    flex-basis: calc((100% - 16px) / 2) !important;
    width: calc((100% - 16px) / 2) !important;
    max-width: calc((100% - 16px) / 2) !important;
  }
}

@media (max-width: 900px) {
  body .fpv-product-category-page .fpvdronas-category-layout-with-filter,
  body .fpvdronas-category-layout-with-filter {
    display: block !important;
    max-width: none !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
  body .fpv-product-category-page .fpvdronas-category-layout-with-filter .fpvdronas-filter-sidebar,
  body .fpvdronas-category-layout-with-filter .fpvdronas-filter-sidebar {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-bottom: 24px !important;
  }
  body .fpv-product-category-page .fpvdronas-category-layout-with-filter .fpv-category-products-section,
  body .fpvdronas-category-layout-with-filter .fpv-category-products-section,
  body .fpv-category-products-section {
    max-width: none !important;
  }
  body .fpv-product-category-page .fpv-category-products-section > ul.products,
  body .fpvdronas-category-layout-with-filter .fpv-category-products-section > ul.products,
  body .fpv-category-products-section > ul.products {
    max-width: none !important;
  }
}

@media (max-width: 560px) {
  body .fpv-product-category-page .fpv-category-products-section > ul.products > li.product,
  body .fpvdronas-category-layout-with-filter .fpv-category-products-section > ul.products > li.product,
  body .fpv-category-products-section > ul.products > li.product {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* V92 - filter label alignment cleanup */
body.tax-product_cat .fpvdronas-filter-group label,
body .fpvdronas-category-layout-with-filter .fpvdronas-filter-group label {
  display: grid !important;
  grid-template-columns: 16px minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 8px !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 3px 0 !important;
  min-height: 22px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.tax-product_cat .fpvdronas-filter-group input[type="checkbox"],
body .fpvdronas-category-layout-with-filter .fpvdronas-filter-group input[type="checkbox"] {
  grid-column: 1 !important;
  margin: 0 !important;
  justify-self: start !important;
}

body.tax-product_cat .fpvdronas-filter-label-text,
body .fpvdronas-category-layout-with-filter .fpvdronas-filter-label-text {
  grid-column: 2 !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
  text-align: left !important;
  justify-self: start !important;
  display: block !important;
  width: auto !important;
  font-weight: 500 !important;
  color: var(--c-text) !important;
}

body.tax-product_cat .fpvdronas-filter-count,
body .fpvdronas-category-layout-with-filter .fpvdronas-filter-count {
  grid-column: 3 !important;
  justify-self: end !important;
  background: var(--c-white) !important;
  color: var(--c-text) !important;
  border-radius: 999px !important;
  min-width: 22px !important;
  height: 18px !important;
  padding: 0 7px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

body.tax-product_cat .fpvdronas-filter-group h3,
body .fpvdronas-category-layout-with-filter .fpvdronas-filter-group h3 {
  text-align: left !important;
}

html body .fpv-carousel-wrap {
  height: calc(var(--fpv-brand-logo-height, 150px) + (var(--fpv-brand-carousel-padding, 14px) * 2)) !important;
  min-height: calc(var(--fpv-brand-logo-height, 150px) + (var(--fpv-brand-carousel-padding, 14px) * 2)) !important;
  max-height: calc(var(--fpv-brand-logo-height, 150px) + (var(--fpv-brand-carousel-padding, 14px) * 2)) !important;
  padding-top: var(--fpv-brand-carousel-padding, 14px) !important;
  padding-bottom: var(--fpv-brand-carousel-padding, 14px) !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
}
html body .fpv-carousel-track,
html body .fpv-carousel-set {
  height: var(--fpv-brand-logo-height, 150px) !important;
  align-items: center !important;
}
html body .fpv-carousel-set {
  gap: var(--fpv-brand-logo-gap, 24px) !important;
  padding-right: var(--fpv-brand-logo-gap, 24px) !important;
}
html body .logo-box,
html body .logo-box img {
  width: var(--fpv-brand-logo-width, 250px) !important;
  height: var(--fpv-brand-logo-height, 150px) !important;
  max-width: var(--fpv-brand-logo-width, 250px) !important;
  max-height: var(--fpv-brand-logo-height, 150px) !important;
}

/* V102 - brand carousel segment height follows logo height + Customizer spacing; footer headings use accent */
html body .brands-section {
  padding-top: var(--fpv-brand-carousel-padding, 14px) !important;
  padding-bottom: var(--fpv-brand-carousel-padding, 14px) !important;
  min-height: auto !important;
  height: auto !important;
  overflow: hidden !important;
}
html body .brands-section .container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
html body .fpv-carousel-wrap {
  height: calc(var(--fpv-brand-logo-height, 150px) + (var(--fpv-brand-carousel-padding, 14px) * 2)) !important;
  min-height: 0 !important;
  max-height: calc(var(--fpv-brand-logo-height, 150px) + (var(--fpv-brand-carousel-padding, 14px) * 2)) !important;
  padding-top: var(--fpv-brand-carousel-padding, 14px) !important;
  padding-bottom: var(--fpv-brand-carousel-padding, 14px) !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
html body .fpv-carousel-track,
html body .fpv-carousel-set {
  height: var(--fpv-brand-logo-height, 150px) !important;
  min-height: 0 !important;
  max-height: var(--fpv-brand-logo-height, 150px) !important;
}
html body .logo-box {
  width: var(--fpv-brand-logo-width, 250px) !important;
  height: var(--fpv-brand-logo-height, 150px) !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
html body .logo-box img {
  width: 100% !important;
  height: 100% !important;
  max-width: var(--fpv-brand-logo-width, 250px) !important;
  max-height: var(--fpv-brand-logo-height, 150px) !important;
  object-fit: contain !important;
  display: block !important;
}
html body .footer-col-title,
html body footer .footer-col-title,
html body .site-footer .footer-col-title,
html body .footer h3,
html body footer h3 {
  color: var(--c-accent, #FF6A00) !important;
  -webkit-text-fill-color: var(--c-accent, #FF6A00) !important;
}

/* V103 - category description card accent hover glow */
html body .fpv-category-description-card,
html body .fpv-page-intro-card,
html body .term-description {
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
html body .fpv-category-description-card:hover,
html body .fpv-page-intro-card:hover,
html body .term-description:hover {
  border-color: var(--c-accent, #FF6A00) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--c-accent, #FF6A00) 55%, transparent), 0 0 18px color-mix(in srgb, var(--c-accent, #FF6A00) 28%, transparent) !important;
}

/* V103 - category description card accent glow on hover */
body .fpv-category-description-card,
body .fpv-page-intro-card.fpv-category-description-card,
body.tax-product_cat .fpv-category-description-card,
body.tax-product_tag .fpv-category-description-card,
body.post-type-archive-product .fpv-category-description-card {
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
  overflow: visible !important;
}

body .fpv-category-description-card:hover,
body .fpv-category-description-card:focus-within,
body .fpv-page-intro-card.fpv-category-description-card:hover,
body .fpv-page-intro-card.fpv-category-description-card:focus-within,
body.tax-product_cat .fpv-category-description-card:hover,
body.tax-product_cat .fpv-category-description-card:focus-within,
body.tax-product_tag .fpv-category-description-card:hover,
body.tax-product_tag .fpv-category-description-card:focus-within,
body.post-type-archive-product .fpv-category-description-card:hover,
body.post-type-archive-product .fpv-category-description-card:focus-within {
  border-color: var(--c-accent, #FF6A00) !important;
  box-shadow: 0 0 0 1px var(--c-accent, #FF6A00), 0 0 22px var(--c-accent-glow, rgba(255,106,0,.42)), 0 14px 34px var(--c-accent-glow-soft, rgba(255,106,0,.18)) !important;
  transform: translateY(-1px) !important;
}


/* Unified standard page intro layout for STEM KLASE, PASLAUGOS, REMONTAS, PJOVIMAS, KOMPLEKTAVIMAS */
body.page main.fpv-page-main .fpv-page-intro-row {
  display: grid !important;
  grid-template-columns: 210px minmax(0, 980px) !important;
  column-gap: 28px !important;
  row-gap: 0 !important;
  align-items: start !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.page main.fpv-page-main .fpv-page-intro-row .fpv-page-title-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 116px !important;
  max-width: 210px !important;
  min-height: 28px !important;
  height: 28px !important;
  padding: 6px 14px 6px 18px !important;
  margin: 0 !important;
  border-left: 3px solid var(--c-accent) !important;
  border-radius: 4px !important;
  background: var(--c-accent-light) !important;
  color: var(--c-accent) !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  letter-spacing: 2.2px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  box-sizing: border-box !important;
}

body.page main.fpv-page-main .fpv-page-intro-card {
  width: 100% !important;
  max-width: 980px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

body.page main.fpv-page-main .fpv-page-intro-card .entry-content {
  width: 100% !important;
  min-height: 16px !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}

body.page main.fpv-page-main .fpv-page-intro-card .entry-content > :first-child { margin-top: 0 !important; }
body.page main.fpv-page-main .fpv-page-intro-card .entry-content > :last-child { margin-bottom: 0 !important; }

@media (max-width: 900px) {
  body.page main.fpv-page-main .fpv-page-intro-row {
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
    row-gap: 12px !important;
    max-width: none !important;
  }
  body.page main.fpv-page-main .fpv-page-intro-row .fpv-page-title-badge {
    width: auto !important;
    max-width: 100% !important;
  }
}

/* Fix standard page intro horizontal alignment after D0 rename */
html body.page main.fpv-page-main > .fpv-page-intro > .section-inner {
  max-width: 1380px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

html body.page main.fpv-page-main .fpv-page-intro-row {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  display: grid !important;
  grid-template-columns: 210px minmax(0, 980px) !important;
  column-gap: 28px !important;
  row-gap: 0 !important;
  justify-content: start !important;
  align-items: start !important;
}

html body.page main.fpv-page-main .fpv-page-intro-row .fpv-page-title-badge {
  justify-self: start !important;
  width: 210px !important;
  min-width: 210px !important;
  max-width: 210px !important;
  height: 28px !important;
  min-height: 28px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

html body.page main.fpv-page-main .fpv-page-intro-card {
  justify-self: start !important;
  width: 980px !important;
  max-width: 980px !important;
  min-height: 28px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  html body.page main.fpv-page-main > .fpv-page-intro > .section-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  html body.page main.fpv-page-main .fpv-page-intro-row {
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
    row-gap: 12px !important;
  }
  html body.page main.fpv-page-main .fpv-page-intro-row .fpv-page-title-badge,
  html body.page main.fpv-page-main .fpv-page-intro-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* Align standard page intro blocks with product/category intro blocks */
html body.page main.fpv-page-main > .fpv-page-intro > .section-inner {
  overflow: visible !important;
}

html body.page main.fpv-page-main .fpv-page-intro-row {
  position: relative !important;
  left: -124px !important;
}

@media (max-width: 900px) {
  html body.page main.fpv-page-main .fpv-page-intro-row {
    left: 0 !important;
  }
}


/* Final correction: standard pages moved further left to match product category pages */
html body.page main.fpv-page-main > .fpv-page-intro > .section-inner {
  max-width: 1380px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}
html body.page main.fpv-page-main .fpv-page-intro-row {
  left: -176px !important;
  transform: none !important;
}
@media (max-width: 900px) {
  html body.page main.fpv-page-main .fpv-page-intro-row {
    left: 0 !important;
  }
}


/* Alignment and shiny text-card edge for STEM KLASE / PASLAUGOS / REMONTAS / PJOVIMAS / KOMPLEKTAVIMAS */
html body.fpv-d0-align-page main.fpv-page-main > .fpv-page-intro > .section-inner,
html body.page main.fpv-page-main > .fpv-page-intro > .section-inner {
  max-width: 1380px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-row {
  display: grid !important;
  grid-template-columns: 210px minmax(0, 980px) !important;
  column-gap: 28px !important;
  gap: 28px !important;
  align-items: start !important;
  justify-content: start !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
  left: -67px !important;
  transform: none !important;
}

html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-row .fpv-page-title-badge {
  justify-self: start !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 210px !important;
  min-width: 210px !important;
  max-width: 210px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 6px 14px 6px 18px !important;
  margin: 0 !important;
  border-left: 3px solid var(--c-accent, #FF6A00) !important;
  border-radius: 4px !important;
  background: var(--c-accent-light, #fff3eb) !important;
  color: var(--c-accent, #FF6A00) !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  letter-spacing: 2.2px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card,
html body.fpv-d0-align-page main.fpv-page-main .fpv-category-description-card,
html body.fpv-d0-align-page main.fpv-page-main article.fpv-page-content-card {
  justify-self: start !important;
  width: 980px !important;
  max-width: 980px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  overflow: hidden !important;
  background: var(--c-white) !important;
  border: 1.5px solid var(--c-border, #d0d0d0) !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.035) !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
  box-sizing: border-box !important;
}

html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card::after,
html body.fpv-d0-align-page main.fpv-page-main .fpv-category-description-card::after,
html body.fpv-d0-align-page main.fpv-page-main article.fpv-page-content-card::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  opacity: 0 !important;
  background: linear-gradient(120deg, transparent 0%, rgba(255,106,0,.08) 32%, rgba(255,106,0,.40) 50%, rgba(255,106,0,.08) 68%, transparent 100%) !important;
  transform: translateX(-120%) !important;
  transition: opacity .18s ease, transform .55s ease !important;
}

html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card:hover,
html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card:focus-within,
html body.fpv-d0-align-page main.fpv-page-main .fpv-category-description-card:hover,
html body.fpv-d0-align-page main.fpv-page-main .fpv-category-description-card:focus-within,
html body.fpv-d0-align-page main.fpv-page-main article.fpv-page-content-card:hover,
html body.fpv-d0-align-page main.fpv-page-main article.fpv-page-content-card:focus-within {
  border-color: var(--c-accent, #FF6A00) !important;
  box-shadow: 0 0 0 1px rgba(255,106,0,.70), 0 0 22px rgba(255,106,0,.38), 0 14px 34px rgba(255,106,0,.16) !important;
  transform: translateY(-1px) !important;
}

html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card:hover::after,
html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card:focus-within::after,
html body.fpv-d0-align-page main.fpv-page-main .fpv-category-description-card:hover::after,
html body.fpv-d0-align-page main.fpv-page-main .fpv-category-description-card:focus-within::after,
html body.fpv-d0-align-page main.fpv-page-main article.fpv-page-content-card:hover::after,
html body.fpv-d0-align-page main.fpv-page-main article.fpv-page-content-card:focus-within::after {
  opacity: 1 !important;
  transform: translateX(120%) !important;
}

html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card .entry-content {
  width: 100% !important;
  min-height: 16px !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  position: relative !important;
  z-index: 1 !important;
}

@media (max-width: 900px) {
  html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-row {
    left: 0 !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-row .fpv-page-title-badge,
  html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card,
  html body.fpv-d0-align-page main.fpv-page-main .fpv-category-description-card,
  html body.fpv-d0-align-page main.fpv-page-main article.fpv-page-content-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}


/* Exact page intro alignment to product category layout */
html body.fpv-d0-align-page main.fpv-page-main > .fpv-page-intro > .section-inner {
  max-width: 1380px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}
html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-row {
  display: grid !important;
  grid-template-columns: 210px minmax(0, 980px) !important;
  column-gap: 28px !important;
  gap: 28px !important;
  align-items: start !important;
  justify-content: start !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
  left: 0 !important;
  transform: none !important;
}
html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-row .fpv-page-title-badge {
  justify-self: start !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 210px !important;
  min-width: 210px !important;
  max-width: 210px !important;
  height: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card,
html body.fpv-d0-align-page main.fpv-page-main article.fpv-page-content-card {
  justify-self: start !important;
  width: 980px !important;
  max-width: 980px !important;
  min-height: 28px !important;
  margin: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card::after,
html body.fpv-d0-align-page main.fpv-page-main article.fpv-page-content-card::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  opacity: 0 !important;
  background: linear-gradient(120deg, transparent 0%, rgba(255,106,0,.08) 32%, rgba(255,106,0,.40) 50%, rgba(255,106,0,.08) 68%, transparent 100%) !important;
  transform: translateX(-120%) !important;
  transition: opacity .18s ease, transform .55s ease !important;
}
html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card:hover,
html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card:focus-within,
html body.fpv-d0-align-page main.fpv-page-main article.fpv-page-content-card:hover,
html body.fpv-d0-align-page main.fpv-page-main article.fpv-page-content-card:focus-within {
  border-color: var(--c-accent, #FF6A00) !important;
  box-shadow: 0 0 0 1px rgba(255,106,0,.70), 0 0 22px rgba(255,106,0,.38), 0 14px 34px rgba(255,106,0,.16) !important;
  transform: translateY(-1px) !important;
}
html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card:hover::after,
html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card:focus-within::after,
html body.fpv-d0-align-page main.fpv-page-main article.fpv-page-content-card:hover::after,
html body.fpv-d0-align-page main.fpv-page-main article.fpv-page-content-card:focus-within::after {
  opacity: 1 !important;
  transform: translateX(120%) !important;
}
@media (max-width: 900px) {
  html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-row { left: 0 !important; grid-template-columns: 1fr !important; gap: 12px !important; }
  html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-row .fpv-page-title-badge,
  html body.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card,
  html body.fpv-d0-align-page main.fpv-page-main article.fpv-page-content-card { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
}


/* v110 - SEO blog and flexible page templates */
.fpv-blog-index-page,
.fpv-article-page { width: 100%; max-width: 100%; }
.fpv-blog-index-page { padding: 30px 0 56px; }
.fpv-article-page { padding: 30px 0 58px; }
.fpv-blog-container,
.fpv-seo-wrap,
.fpv-article-wrap { width: 100%; max-width: 1380px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; box-sizing: border-box; }
.fpv-seo-hero { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: stretch; margin-bottom: 28px; }
.fpv-seo-hero-main, .fpv-seo-panel, .fpv-seo-card, .fpv-article-shell, .fpv-flex-shell { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 18px; box-shadow: 0 16px 42px rgba(0,0,0,.06); }
.fpv-seo-hero-main { padding: 30px; position: relative; overflow: hidden; }
.fpv-seo-hero-main::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 5px; background: var(--c-accent); }
.fpv-kicker { font-family: var(--font-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--c-accent); font-weight: 700; margin-bottom: 10px; }
.fpv-seo-title { margin: 0 0 12px; font-family: var(--font-display); font-size: clamp(34px, 5vw, 64px); line-height: .94; letter-spacing: -.02em; text-transform: uppercase; color: var(--c-dark); }
.fpv-seo-description { max-width: 760px; color: var(--c-muted); font-size: 17px; margin: 0; }
.fpv-seo-panel { padding: 22px; }
.fpv-seo-panel .widget { margin-bottom: 18px; }
.fpv-seo-panel .widget:last-child { margin-bottom: 0; }
.fpv-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.fpv-blog-card { display: flex; flex-direction: column; min-height: 100%; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.fpv-blog-card:hover { transform: translateY(-2px); border-color: var(--c-accent); box-shadow: 0 18px 46px rgba(255,106,0,.13); }
.fpv-blog-card-thumb { aspect-ratio: 16 / 9; background: var(--c-surface2); overflow: hidden; }
.fpv-blog-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.fpv-blog-card-body { padding: 20px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.fpv-post-meta { display: flex; flex-wrap: wrap; gap: 8px 12px; color: var(--c-muted); font-size: 13px; }
.fpv-blog-card h2, .fpv-blog-card h3 { margin: 0; font-family: var(--font-display); font-size: 28px; line-height: 1.02; text-transform: uppercase; }
.fpv-blog-card h2 a, .fpv-blog-card h3 a { color: var(--c-dark); }
.fpv-blog-card p { margin: 0; color: var(--c-muted); }
.fpv-read-more { margin-top: auto; font-weight: 800; color: var(--c-accent); text-transform: uppercase; font-size: 13px; letter-spacing: .04em; }
.fpv-pagination { margin-top: 30px; }
.fpv-pagination .nav-links { display: flex; gap: 12px; flex-wrap: wrap; }
.fpv-pagination a, .fpv-pagination span { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 999px; padding: 9px 14px; font-weight: 700; }
.fpv-pagination .current { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-white); }
.fpv-article-shell { overflow: hidden; }
.fpv-article-hero { padding: 32px 34px 24px; border-bottom: 1px solid var(--c-border); }
.fpv-article-title { margin: 0 0 12px; font-family: var(--font-display); font-size: clamp(36px, 5vw, 72px); line-height: .92; text-transform: uppercase; letter-spacing: -.02em; color: var(--c-dark); }
.fpv-article-featured img { width: 100%; max-height: 520px; object-fit: cover; }
.fpv-article-content { max-width: 820px; margin: 0 auto; padding: 34px 28px; font-size: 17px; line-height: 1.75; }
.fpv-article-content h2, .fpv-article-content h3 { font-family: var(--font-display); text-transform: uppercase; color: var(--c-dark); line-height: 1.05; margin-top: 1.7em; }
.fpv-article-content a { color: var(--c-accent); text-decoration: underline; text-underline-offset: 3px; }
.fpv-article-content img { border-radius: 14px; }
.fpv-post-tags { max-width: 820px; margin: 0 auto; padding: 0 28px 28px; display: flex; gap: 8px; flex-wrap: wrap; }
.fpv-post-tags a { border: 1px solid var(--c-border); border-radius: 999px; padding: 7px 11px; color: var(--c-muted); font-size: 13px; }
.fpv-flex-wrap { max-width: 1240px; margin: 0 auto; padding: 30px 24px 58px; }
.fpv-flex-hero { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 18px; padding: 30px; margin-bottom: 24px; box-shadow: 0 16px 42px rgba(0,0,0,.06); }
.fpv-flex-title { margin: 0 0 10px; font-family: var(--font-display); font-size: clamp(34px, 5vw, 64px); line-height: .94; text-transform: uppercase; color: var(--c-dark); }
.fpv-flex-summary { margin: 0; color: var(--c-muted); max-width: 780px; font-size: 17px; }
.fpv-flex-shell { padding: 30px; }
.fpv-flex-content { max-width: 940px; }
.fpv-flex-content .wp-block-button__link, .fpv-flex-content button, .fpv-flex-content input[type="submit"] { border-radius: 999px; background: var(--c-accent); border: 0; color: var(--c-white); font-weight: 800; padding: 12px 18px; cursor: pointer; }
.fpv-flex-content input[type="text"], .fpv-flex-content input[type="email"], .fpv-flex-content input[type="tel"], .fpv-flex-content input[type="url"], .fpv-flex-content input[type="file"], .fpv-flex-content textarea, .fpv-flex-content select { width: 100%; max-width: 100%; border: 1px solid var(--c-border); border-radius: 12px; background: var(--c-white); padding: 12px 14px; color: var(--c-text); }
.fpv-flex-content input:focus, .fpv-flex-content textarea:focus, .fpv-flex-content select:focus { outline: none; border-color: var(--c-accent); box-shadow: 0 0 0 3px rgba(255,106,0,.14); }
.fpv-flex-content .wp-block-image img { border-radius: 16px; }
.fpv-flex-content .alignwide { max-width: 1120px; }
.fpv-template-note { margin-top: 18px; padding: 14px 16px; background: var(--c-accent-light); border: 1px solid rgba(255,106,0,.25); border-radius: 14px; color: var(--c-text); }
@media (max-width: 980px) { .fpv-seo-hero { grid-template-columns: 1fr; } .fpv-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .fpv-blog-container, .fpv-seo-wrap, .fpv-article-wrap, .fpv-flex-wrap { padding-left: 16px; padding-right: 16px; } .fpv-blog-grid { grid-template-columns: 1fr; } .fpv-seo-hero-main, .fpv-flex-hero, .fpv-flex-shell, .fpv-article-hero { padding: 22px; } }

/* v112 SEO blog article framework */
.fpv-article-content .fpv-post-lead{font-size:1.08rem;line-height:1.75;padding:18px 20px;border-left:4px solid var(--c-accent);background:var(--c-accent-light);border-radius:0 14px 14px 0;margin:0 0 24px}
.fpv-article-content .fpv-post-toc{padding:18px 24px;border:1px solid var(--c-border-light);border-radius:14px;background:var(--c-bg);margin:0 0 28px}
.fpv-article-content .fpv-spec-table table{width:100%;border-collapse:collapse;background:var(--c-white)}
.fpv-article-content .fpv-spec-table td{border:1px solid var(--c-border-light);padding:11px 13px;vertical-align:top}
.fpv-article-content .fpv-pros-cons{gap:18px;margin:18px 0 28px}
.fpv-article-content .fpv-pros-cons .wp-block-column{padding:18px;border:1px solid var(--c-border-light);border-radius:14px;background:var(--c-white)}
.fpv-article-content .fpv-post-cta{margin:30px 0}.fpv-article-content .fpv-post-cta .wp-block-button__link{background:var(--c-accent);color:var(--c-white);border-radius:999px;font-weight:700}.fpv-article-content details.wp-block-details{padding:16px 18px;border:1px solid var(--c-border-light);border-radius:14px;background:var(--c-white);margin:12px 0}.fpv-article-content details.wp-block-details summary{font-weight:700;cursor:pointer}


/* v113 - Clickable SEO blog table of contents */
.single-post .fpv-post-toc,
.fpv-single-blog .fpv-post-toc,
.entry-content .fpv-post-toc {
  border: 1px solid rgba(58,58,58,.12);
  border-radius: 14px;
  background: var(--c-white);
  padding: 18px 22px;
}
.single-post .fpv-post-toc a,
.fpv-single-blog .fpv-post-toc a,
.entry-content .fpv-post-toc a {
  color: var(--c-text);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.single-post .fpv-post-toc a:hover,
.fpv-single-blog .fpv-post-toc a:hover,
.entry-content .fpv-post-toc a:hover {
  color: var(--c-accent);
  border-bottom-color: var(--c-accent);
}
.single-post .entry-content h2[id],
.fpv-single-blog .entry-content h2[id] {
  scroll-margin-top: 120px;
}
html { scroll-behavior: smooth; }


/* v114 blog summary/cards stabilization */
.fpv-article-summary {
	font-size: 1.08rem;
	line-height: 1.65;
	max-width: 860px;
	margin: 14px 0 0;
	color: var(--c-muted);
}
.fpv-blog-card .fpv-blog-card-body p[itemprop="description"] {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.fpv-blog-card-thumb-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 210px;
	background: linear-gradient(135deg, rgba(255,106,0,.18), rgba(58,58,58,.08));
	text-decoration: none;
}
.fpv-blog-card-thumb-placeholder span {
	font-size: 64px;
	font-weight: 800;
	color: var(--c-accent);
}

/* v116 - compact homepage blog cards */
.fpv-home-blog-cards {
	width: 100%;
	margin: 28px 0;
}
.fpv-home-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
.fpv-home-blog-card {
	background: var(--c-white);
	border: 1px solid rgba(58, 58, 58, .14);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 10px 28px rgba(0, 0, 0, .04);
}
.fpv-home-blog-card-image {
	display: block;
	aspect-ratio: 16 / 9;
	background: var(--c-surface2);
	overflow: hidden;
}
.fpv-home-blog-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fpv-home-blog-card-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-family: var(--font-display);
	font-size: 44px;
	font-weight: 800;
	color: var(--c-accent);
}
.fpv-home-blog-card-content {
	padding: 16px 18px 18px;
}
.fpv-home-blog-card-content h3 {
	margin: 0 0 8px;
	font-family: var(--font-display);
	font-size: 22px;
	line-height: 1.05;
	text-transform: uppercase;
}
.fpv-home-blog-card-content h3 a {
	color: var(--c-dark);
	text-decoration: none;
}
.fpv-home-blog-card-content p {
	margin: 0;
	font-size: 15px;
	line-height: 1.45;
	color: var(--c-muted);
}
@media (max-width: 900px) {
	.fpv-home-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.fpv-home-blog-grid { grid-template-columns: 1fr; }
}


/* v117 - Homepage blog cards and carousel */
.front-blog-section{margin-top:72px;margin-bottom:56px;}
.fpv-blog-carousel{position:relative;width:100%;}
.fpv-blog-carousel-viewport{overflow:hidden;width:100%;}
.fpv-blog-carousel-track{display:flex;transition:transform .35s ease;will-change:transform;}
.fpv-blog-carousel-page{min-width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;}
.fpv-blog-card{background:var(--c-white);border:1px solid var(--c-border-soft);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;min-height:100%;box-shadow:0 1px 0 rgba(0,0,0,.02);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.fpv-blog-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.08);border-color:var(--c-border);}
.fpv-blog-card-thumb{display:block;aspect-ratio:4/3;background:var(--c-surface2);overflow:hidden;text-decoration:none;}
.fpv-blog-card-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease;}
.fpv-blog-card:hover .fpv-blog-card-thumb img{transform:scale(1.03);}
.fpv-blog-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:52px;font-weight:800;color:var(--c-accent);background:linear-gradient(135deg,var(--c-bg),var(--c-surface2));}
.fpv-blog-card-body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px;}
.fpv-blog-card-kicker{font-size:11px;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:var(--c-accent);font-weight:800;}
.fpv-blog-card-title{margin:0;font-size:18px;line-height:1.25;font-weight:800;text-transform:uppercase;}
.fpv-blog-card-title a{color:var(--c-black);text-decoration:none;}
.fpv-blog-card-title a:hover{color:var(--c-accent);}
.fpv-blog-card-summary{margin:0;color:var(--c-muted);font-size:14px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.fpv-blog-carousel-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:22px;}
.fpv-blog-carousel-btn{width:42px;height:42px;border-radius:999px;border:1px solid var(--c-border);background:var(--c-white);color:var(--c-footer-border);font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.fpv-blog-carousel-btn:hover{background:var(--c-accent);color:var(--c-white);border-color:var(--c-accent);}
.fpv-blog-carousel-dots{display:flex;align-items:center;gap:8px;}
.fpv-blog-carousel-dot{width:9px;height:9px;border-radius:999px;border:0;background:var(--c-border2);cursor:pointer;padding:0;}
.fpv-blog-carousel-dot.is-active{width:24px;background:var(--c-accent);}
.blog .fpv-blog-grid,.archive .fpv-blog-grid,.search .fpv-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
@media (max-width:900px){.fpv-blog-carousel-page,.blog .fpv-blog-grid,.archive .fpv-blog-grid,.search .fpv-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:620px){.fpv-blog-carousel-page,.blog .fpv-blog-grid,.archive .fpv-blog-grid,.search .fpv-blog-grid{grid-template-columns:1fr;}.front-blog-section{margin-top:42px;}.fpv-blog-card-title{font-size:16px;}}

/* v118 - clean Oscar-Liang-style blog cards for homepage/blog sections */
.front-blog-section.section-inner{
  max-width:1120px;
  margin:72px auto 48px;
  padding-left:24px;
  padding-right:24px;
}
.front-blog-section .section-header{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px 24px;
  align-items:end;
  margin-bottom:26px;
}
.front-blog-section .section-sub{grid-column:1 / 2;}
.fpv-blog-carousel{position:relative;width:100%;}
.fpv-blog-carousel-viewport{overflow:hidden;width:100%;}
.fpv-blog-carousel-track{display:flex;transition:transform .35s ease;will-change:transform;align-items:stretch;}
.fpv-blog-carousel-page{
  min-width:100%;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:46px 52px !important;
  align-items:start;
}
.fpv-blog-card,
.fpv-blog-card-clean{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
  transition:none !important;
}
.fpv-blog-card:hover,
.fpv-blog-card-clean:hover{
  transform:none !important;
  box-shadow:none !important;
  border-color:transparent !important;
}
.fpv-blog-card-thumb{
  display:block !important;
  width:100% !important;
  aspect-ratio:16/9 !important;
  background:var(--c-surface2) !important;
  overflow:hidden !important;
  border-radius:0 !important;
  margin:0 0 18px !important;
  text-decoration:none !important;
}
.fpv-blog-card-thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  transform:none !important;
  transition:none !important;
}
.fpv-blog-card:hover .fpv-blog-card-thumb img{transform:none !important;}
.fpv-blog-card-placeholder{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  font-size:48px;font-weight:800;color:var(--c-accent);background:var(--c-surface2);
}
.fpv-blog-card-body{
  padding:0 !important;
  display:block !important;
}
.fpv-blog-card-kicker{display:none !important;}
.fpv-blog-card-title{
  margin:0 0 10px !important;
  font-family:var(--font-display, inherit) !important;
  font-size:20px !important;
  line-height:1.18 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
.fpv-blog-card-title a{color:var(--c-black) !important;text-decoration:none !important;}
.fpv-blog-card-title a:hover{color:var(--c-accent) !important;}
.fpv-blog-card-summary{
  margin:0 0 12px !important;
  color:var(--c-muted) !important;
  font-size:14px !important;
  line-height:1.45 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
.fpv-blog-card-meta{
  color:var(--c-footer-border);
  font-size:13px;
  line-height:1.3;
}
.fpv-blog-carousel-controls{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  margin:26px 0 0 !important;
}
.fpv-blog-carousel-btn{
  width:auto !important;height:auto !important;border:0 !important;background:transparent !important;
  color:var(--c-black) !important;font-size:28px !important;line-height:1 !important;cursor:pointer !important;
  padding:4px 8px !important;border-radius:0 !important;
}
.fpv-blog-carousel-btn:hover{background:transparent !important;color:var(--c-accent) !important;}
.fpv-blog-carousel-dots{display:flex !important;gap:18px !important;align-items:center !important;}
.fpv-blog-carousel-dot{
  width:auto !important;height:auto !important;border:0 !important;background:transparent !important;
  color:var(--c-black) !important;font-size:12px !important;line-height:1 !important;padding:4px !important;
  border-radius:0 !important;cursor:pointer !important;
}
.fpv-blog-carousel-dot::before{content:attr(data-label);}
.fpv-blog-carousel-dot.is-active{width:auto !important;background:transparent !important;color:var(--c-accent) !important;}
.home .wp-block-latest-posts__post-full-content,
.front-page-content .wp-block-latest-posts__post-full-content,
.home .wp-block-post-content,
.front-page-content .wp-block-post-content{display:none !important;}
@media (max-width:900px){
  .fpv-blog-carousel-page{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:34px 28px !important;}
}
@media (max-width:620px){
  .front-blog-section.section-inner{padding-left:16px;padding-right:16px;margin-top:44px;}
  .front-blog-section .section-header{grid-template-columns:1fr;}
  .fpv-blog-carousel-page{grid-template-columns:1fr !important;gap:30px !important;}
  .fpv-blog-card-title{font-size:18px !important;}
}

/* v119 - STRICT homepage blog cards only: 3 columns x 2 rows, max 3 carousel pages */
.front-blog-section.fpv-v119-blog-section{margin-top:72px;margin-bottom:56px;}
.front-blog-section.fpv-v119-blog-section .section-header{display:grid;grid-template-columns:1fr auto;gap:10px 24px;align-items:end;margin-bottom:42px;}
.front-blog-section.fpv-v119-blog-section .section-sub{grid-column:1 / 2;}
.fpv-v119-blog-carousel{position:relative;width:100%;}
.fpv-v119-blog-viewport{overflow:hidden;width:100%;}
.fpv-v119-blog-track{display:flex !important;align-items:stretch;transition:transform .35s ease;will-change:transform;}
.fpv-v119-blog-page{min-width:100% !important;display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;grid-template-rows:repeat(2,auto) !important;gap:46px 52px !important;align-items:start !important;}
.fpv-v119-blog-card{background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;padding:0 !important;margin:0 !important;min-height:0 !important;display:block !important;overflow:visible !important;transform:none !important;transition:none !important;}
.fpv-v119-blog-card:hover{background:transparent !important;border:0 !important;box-shadow:none !important;transform:none !important;}
.fpv-v119-blog-card .entry-content,.fpv-v119-blog-card .wp-block-group,.fpv-v119-blog-card .fpv-article-content,.fpv-v119-blog-card .post-content{display:none !important;}
.fpv-v119-blog-image{display:block !important;width:100% !important;aspect-ratio:16/9 !important;margin:0 0 18px !important;background:var(--c-surface2) !important;overflow:hidden !important;text-decoration:none !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;}
.fpv-v119-blog-image img{width:100% !important;height:100% !important;display:block !important;object-fit:cover !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;transform:none !important;transition:none !important;}
.fpv-v119-blog-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--c-surface2);color:var(--c-accent);font-weight:800;font-size:48px;}
.fpv-v119-blog-title{margin:0 0 10px !important;padding:0 !important;font-family:var(--font-display, inherit) !important;font-size:20px !important;line-height:1.18 !important;font-weight:800 !important;letter-spacing:0 !important;text-transform:none !important;color:var(--c-black) !important;}
.fpv-v119-blog-title a{color:var(--c-black) !important;text-decoration:none !important;}
.fpv-v119-blog-title a:hover{color:var(--c-accent) !important;}
.fpv-v119-blog-summary{margin:0 0 12px !important;padding:0 !important;color:var(--c-muted) !important;font-size:14px !important;line-height:1.45 !important;font-weight:400 !important;display:-webkit-box !important;-webkit-line-clamp:3 !important;-webkit-box-orient:vertical !important;overflow:hidden !important;}
.fpv-v119-blog-meta{margin:0 !important;padding:0 !important;color:var(--c-footer-border) !important;font-size:13px !important;line-height:1.3 !important;font-weight:400 !important;}
.fpv-v119-blog-controls{display:flex !important;align-items:center !important;justify-content:center !important;gap:18px !important;margin:28px 0 0 !important;}
.fpv-v119-blog-btn{width:auto !important;height:auto !important;border:0 !important;background:transparent !important;color:var(--c-black) !important;font-size:28px !important;line-height:1 !important;cursor:pointer !important;padding:4px 8px !important;border-radius:0 !important;box-shadow:none !important;}
.fpv-v119-blog-btn:hover{background:transparent !important;color:var(--c-accent) !important;}
.fpv-v119-blog-dots{display:flex !important;align-items:center !important;gap:18px !important;}
.fpv-v119-blog-dots .fpv-blog-carousel-dot{width:auto !important;height:auto !important;border:0 !important;background:transparent !important;color:var(--c-black) !important;font-size:12px !important;line-height:1 !important;padding:4px !important;border-radius:0 !important;cursor:pointer !important;box-shadow:none !important;}
.fpv-v119-blog-dots .fpv-blog-carousel-dot::before{content:attr(data-label);}
.fpv-v119-blog-dots .fpv-blog-carousel-dot.is-active{width:auto !important;background:transparent !important;color:var(--c-accent) !important;}
.home .wp-block-latest-posts__post-full-content,.home .wp-block-post-content,.home .wp-block-query .wp-block-post-excerpt__more-text{display:none !important;}
@media (max-width:900px){.fpv-v119-blog-page{grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-template-rows:auto !important;gap:34px 28px !important;}.front-blog-section.fpv-v119-blog-section .section-header{grid-template-columns:1fr;}}
@media (max-width:620px){.front-blog-section.fpv-v119-blog-section{padding-left:16px;padding-right:16px;margin-top:44px;}.fpv-v119-blog-page{grid-template-columns:1fr !important;gap:30px !important;}.fpv-v119-blog-title{font-size:18px !important;}}

/* v120 - hard homepage blog cards: no full post content, 3 columns x 2 rows, max 3 pages */
.front-blog-section.fpv-v120-blog-section{
  max-width:1120px !important;
  margin:72px auto 56px !important;
  padding-left:24px !important;
  padding-right:24px !important;
  overflow:hidden !important;
}
.front-blog-section.fpv-v120-blog-section .fpv-v120-blog-header{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  gap:10px 24px !important;
  align-items:end !important;
  margin-bottom:42px !important;
  border-bottom:1px solid rgba(58,58,58,.22) !important;
  padding-bottom:18px !important;
}
.front-blog-section.fpv-v120-blog-section .section-title{margin:0 !important;}
.front-blog-section.fpv-v120-blog-section .section-sub{margin-top:0 !important;}
.fpv-v120-blog-all-link{white-space:nowrap !important;color:var(--c-accent) !important;text-decoration:none !important;font-size:13px !important;}
.fpv-v120-blog-carousel{position:relative !important;width:100% !important;}
.fpv-v120-blog-viewport{overflow:hidden !important;width:100% !important;}
.fpv-v120-blog-track{display:flex !important;align-items:stretch !important;transition:transform .35s ease !important;will-change:transform !important;}
.fpv-v120-blog-page{
  min-width:100% !important;
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-template-rows:repeat(2,auto) !important;
  gap:46px 52px !important;
  align-items:start !important;
}
.fpv-v120-blog-card{
  display:block !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
  overflow:visible !important;
  transform:none !important;
}
.fpv-v120-blog-card *{box-sizing:border-box !important;}
.fpv-v120-blog-card .entry-content,
.fpv-v120-blog-card .wp-block-group,
.fpv-v120-blog-card .fpv-article-content,
.fpv-v120-blog-card .post-content,
.fpv-v120-blog-card .wp-block-latest-posts__post-excerpt{display:none !important;}
.fpv-v120-blog-thumb{
  display:block !important;
  width:100% !important;
  aspect-ratio:16/9 !important;
  margin:0 0 18px !important;
  background:var(--c-surface2) !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:0 !important;
  text-decoration:none !important;
}
.fpv-v120-blog-thumb img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;}
.fpv-v120-blog-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--c-surface2);color:var(--c-accent);font-weight:800;font-size:48px;}
.fpv-v120-blog-title{margin:0 0 10px !important;padding:0 !important;font-size:20px !important;line-height:1.18 !important;font-weight:800 !important;letter-spacing:0 !important;text-transform:none !important;color:var(--c-black) !important;}
.fpv-v120-blog-title a{color:var(--c-black) !important;text-decoration:none !important;}
.fpv-v120-blog-title a:hover{color:var(--c-accent) !important;}
.fpv-v120-blog-summary{margin:0 0 12px !important;padding:0 !important;color:var(--c-muted) !important;font-size:14px !important;line-height:1.45 !important;font-weight:400 !important;display:-webkit-box !important;-webkit-line-clamp:3 !important;-webkit-box-orient:vertical !important;overflow:hidden !important;}
.fpv-v120-blog-meta{margin:0 !important;padding:0 !important;color:var(--c-footer-border) !important;font-size:13px !important;line-height:1.3 !important;font-weight:400 !important;}
.fpv-v120-blog-controls{display:flex !important;align-items:center !important;justify-content:center !important;gap:18px !important;margin:28px 0 0 !important;}
.fpv-v120-blog-btn{width:auto !important;height:auto !important;border:0 !important;background:transparent !important;color:var(--c-black) !important;font-size:28px !important;line-height:1 !important;cursor:pointer !important;padding:4px 8px !important;border-radius:0 !important;box-shadow:none !important;}
.fpv-v120-blog-btn:hover{background:transparent !important;color:var(--c-accent) !important;}
.fpv-v120-blog-dots{display:flex !important;align-items:center !important;gap:18px !important;}
.fpv-v120-blog-dots .fpv-blog-carousel-dot{width:auto !important;height:auto !important;border:0 !important;background:transparent !important;color:var(--c-black) !important;font-size:12px !important;line-height:1 !important;padding:4px !important;border-radius:0 !important;cursor:pointer !important;box-shadow:none !important;}
.fpv-v120-blog-dots .fpv-blog-carousel-dot::before{content:attr(data-label);}
.fpv-v120-blog-dots .fpv-blog-carousel-dot.is-active{width:auto !important;background:transparent !important;color:var(--c-accent) !important;}
@media (max-width:900px){.fpv-v120-blog-page{grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-template-rows:auto !important;gap:34px 28px !important;}.front-blog-section.fpv-v120-blog-section .fpv-v120-blog-header{grid-template-columns:1fr !important;}}
@media (max-width:620px){.front-blog-section.fpv-v120-blog-section{padding-left:16px !important;padding-right:16px !important;margin-top:44px !important;}.fpv-v120-blog-page{grid-template-columns:1fr !important;gap:30px !important;}.fpv-v120-blog-title{font-size:18px !important;}}

/* v121 - editable SEO page layouts and page cards */
.fpv-v121-page{max-width:1120px;margin:0 auto;padding:0 24px 72px;}
.fpv-v121-page-hero{padding:34px 0 28px;}
.fpv-v121-breadcrumb{font-size:12px;color:var(--c-accent);margin-bottom:10px;}
.fpv-v121-breadcrumb a{color:var(--c-accent);text-decoration:none;}
.fpv-v121-page-hero h1{margin:0 0 14px;font-size:42px;line-height:1.05;font-weight:800;color:var(--c-dark);}
.fpv-v121-page-summary,.fpv-page-lead{max-width:860px;font-size:18px;line-height:1.55;color:var(--c-muted);margin:0 0 26px;}
.fpv-v121-page-content{font-size:16px;line-height:1.65;color:var(--c-footer-border);}
.fpv-v121-page-content h2{margin:42px 0 16px;font-size:28px;line-height:1.15;font-weight:800;color:var(--c-dark);}
.fpv-v121-page-content h3{margin:18px 0 8px;font-size:20px;line-height:1.2;font-weight:800;color:var(--c-black);}
.fpv-section-one{max-width:900px;margin:28px 0 38px;}
.fpv-section-two-col{align-items:center !important;gap:54px !important;margin:48px 0 !important;}
.fpv-section-two-col .wp-block-column{min-width:0;}
.fpv-rounded-image img,.fpv-page-card-image img{width:100%;height:auto;display:block;border-radius:14px;object-fit:cover;background:var(--c-surface2);}
.fpv-rounded-image{margin:0;}
.fpv-page-card-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:24px !important;margin:32px 0 44px !important;}
.fpv-page-card-grid > .wp-block-column{background:var(--c-white);border:1px solid rgba(58,58,58,.13);border-radius:14px;padding:16px 16px 18px;box-shadow:0 8px 24px rgba(0,0,0,.04);transition:transform .18s ease,box-shadow .18s ease;}
.fpv-page-card-grid > .wp-block-column:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.08);}
.fpv-page-card-grid .wp-block-image{margin:0 0 14px;}
.fpv-page-card-grid .wp-block-image img{aspect-ratio:4/3;object-fit:cover;}
.fpv-page-card-grid p{font-size:14px;line-height:1.45;color:var(--c-muted);margin:0 0 14px;}
.fpv-page-card-grid .wp-block-button__link,.fpv-cta-panel .wp-block-button__link{background:var(--c-accent);color:var(--c-white);border-radius:999px;padding:10px 24px;font-weight:800;text-decoration:none;}
.fpv-cta-panel{background:var(--c-white);border:1px solid rgba(58,58,58,.13);border-radius:18px;padding:32px;margin:52px 0 0;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.04);}
.fpv-cta-panel h2{margin-top:0;}
.fpv-cta-panel p{max-width:680px;margin-left:auto;margin-right:auto;}
.fpv-v121-page-content .wpcf7,.fpv-v121-page-content .wpforms-container,.fpv-v121-page-content .fluentform{max-width:760px;margin:32px auto;background:var(--c-white);border:1px solid rgba(58,58,58,.13);border-radius:18px;padding:26px;box-shadow:0 8px 24px rgba(0,0,0,.04);}
.fpv-v121-page-content input[type="text"],.fpv-v121-page-content input[type="email"],.fpv-v121-page-content input[type="tel"],.fpv-v121-page-content input[type="file"],.fpv-v121-page-content textarea,.fpv-v121-page-content select{max-width:100%;border:1px solid rgba(58,58,58,.22);border-radius:10px;padding:11px 13px;background:var(--c-white);color:var(--c-footer-border);}
@media (max-width:900px){.fpv-v121-page-hero h1{font-size:34px}.fpv-section-two-col{gap:28px !important}.fpv-page-card-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}
@media (max-width:680px){.fpv-v121-page{padding-left:16px;padding-right:16px}.fpv-page-card-grid{grid-template-columns:1fr !important}.fpv-section-two-col{display:block !important}.fpv-section-two-col .wp-block-column{margin-bottom:22px}.fpv-section-reverse-mobile{display:flex !important;flex-direction:column-reverse}.fpv-v121-page-hero h1{font-size:30px}.fpv-page-lead{font-size:16px}}


/* v127 - Footer bottom image: preserve original aspect ratio.
   Uses full-size media instead of cropped thumbnail and constrains height only. */
.footer-bottom .footer-bottom-image,
.footer-bottom-right .footer-bottom-image {
	height: 34px !important;
	max-height: 34px !important;
	width: auto !important;
	max-width: none !important;
	object-fit: contain !important;
	object-position: center !important;
	display: inline-block !important;
	flex: 0 0 auto;
}

@media (max-width: 640px) {
	.footer-bottom .footer-bottom-image,
	.footer-bottom-right .footer-bottom-image {
		height: 28px !important;
		max-height: 28px !important;
	}
}


/* v129 - Native homepage image slider. Strictly one visible slide. */
.fpv-home-native-slider {
	margin: 10px auto 12px;
}
.fpv-native-slider {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: 18px;
	background: var(--c-surface2);
	box-shadow: 0 14px 38px rgba(0,0,0,.08);
}
.fpv-native-slider-viewport {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: var(--fpv-slider-height, 320px);
}
.fpv-native-slider-track {
	position: relative;
	width: 100%;
	height: 100%;
}
.fpv-native-slider-slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity var(--fpv-slider-speed, 450ms) ease, visibility var(--fpv-slider-speed, 450ms) ease;
}
.fpv-native-slider-slide.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	z-index: 1;
}
.fpv-native-slider-link {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
}
.fpv-native-slider-link img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.fpv-native-slider-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255,255,255,.65);
	border-radius: 999px;
	background: rgba(255,255,255,.88);
	color: var(--fpv-text, var(--c-text));
	font-size: 30px;
	line-height: 36px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 8px 22px rgba(0,0,0,.12);
}
.fpv-native-slider-prev { left: 18px; }
.fpv-native-slider-next { right: 18px; }
.fpv-native-slider-arrow:hover {
	background: var(--fpv-accent, var(--c-accent));
	color: var(--c-white);
}
.fpv-native-slider-dots {
	position: absolute;
	left: 50%;
	bottom: 14px;
	transform: translateX(-50%);
	display: flex;
	gap: 8px;
	z-index: 4;
}
.fpv-native-slider-dot {
	width: 8px;
	height: 8px;
	border: 0;
	border-radius: 999px;
	background: rgba(255,255,255,.72);
	box-shadow: 0 1px 5px rgba(0,0,0,.18);
	cursor: pointer;
	padding: 0;
}
.fpv-native-slider-dot.is-active {
	width: 24px;
	background: var(--fpv-accent, var(--c-accent));
}
@media (max-width: 768px) {
	.fpv-home-native-slider { margin: 10px auto 12px; }
	.fpv-native-slider-viewport { height: min(var(--fpv-slider-height, 320px), 220px); }
	.fpv-native-slider-arrow { width: 34px; height: 34px; font-size: 24px; line-height: 28px; }
	.fpv-native-slider-prev { left: 10px; }
	.fpv-native-slider-next { right: 10px; }
}


/* v130 - hard native homepage slider fix. Horizontal, one slide visible. */
.fpv-native-slider-v130 .fpv-native-slider-viewport{position:relative!important;overflow:hidden!important;width:100%!important;}
.fpv-native-slider-v130 .fpv-native-slider-track{display:flex!important;flex-wrap:nowrap!important;width:100%!important;height:100%!important;}
.fpv-native-slider-v130 .fpv-native-slider-slide{position:relative!important;inset:auto!important;flex:0 0 100%!important;min-width:100%!important;width:100%!important;height:100%!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
.fpv-native-slider-v130 .fpv-native-slider-link,.fpv-native-slider-v130 .fpv-native-slider-link img{display:block!important;width:100%!important;height:100%!important;}
.fpv-native-slider-v130 .fpv-native-slider-link img{object-fit:cover!important;}
.fpv-native-slider-v130 .fpv-native-slider-arrow{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;z-index:10!important;width:42px!important;height:42px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.65)!important;background:rgba(255,255,255,.88)!important;color:var(--c-text)!important;font-size:30px!important;line-height:36px!important;font-weight:700!important;cursor:pointer!important;}
.fpv-native-slider-v130 .fpv-native-slider-prev{left:18px!important;}
.fpv-native-slider-v130 .fpv-native-slider-next{right:18px!important;}
.fpv-native-slider-v130 .fpv-native-slider-dots{position:absolute!important;left:50%!important;bottom:14px!important;transform:translateX(-50%)!important;display:flex!important;gap:8px!important;z-index:11!important;}
.fpv-native-slider-v130 .fpv-native-slider-dot{width:8px!important;height:8px!important;border:0!important;border-radius:999px!important;background:rgba(255,255,255,.72)!important;padding:0!important;cursor:pointer!important;}
.fpv-native-slider-v130 .fpv-native-slider-dot.is-active{width:24px!important;background:var(--fpv-accent,var(--c-accent))!important;}
@media(max-width:768px){.fpv-home-native-slider-v130{margin:10px auto 12px!important}.fpv-native-slider-v130 .fpv-native-slider-viewport{height:min(var(--fpv-slider-height,320px),220px)!important}}


/* v132 - homepage native slider spacing controlled from Customizer. Default fallback: compact natural gap. */
.fpv-home-native-slider.fpvdronas-section,
.fpv-home-native-slider {
  margin-top: 10px;
  margin-bottom: 12px;
}


/* v133 - homepage category cards visibility and spacing fix */
.fpv-home-category-cards .cat-card,
.fpv-home-category-cards .cat-card.fade-up {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}
.fpv-home-category-cards {
  padding: 12px 0 28px;
}
@media (max-width: 768px) {
  .fpv-home-category-cards { padding: 10px 0 18px; }
}

/* V134 - fully editable homepage category/page cards */
.fpv-home-editable-cards {
	padding-top: 32px;
	padding-bottom: 32px;
}
.fpv-editable-card-grid {
	align-items: stretch;
}
.fpv-editable-home-card {
	min-height: 148px;
	justify-content: center;
}
.fpv-editable-card-media {
	width: 56px;
	height: 56px;
	padding: 0;
	overflow: hidden;
}
.fpv-editable-card-media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.fpv-editable-card-media span {
	font-size: 26px;
	line-height: 1;
}
.fpv-editable-card-desc {
	max-width: 170px;
	font-size: 11px;
	line-height: 1.35;
	color: var(--c-muted);
}

/* v135 - fully controllable homepage promo banner */
.fpvd-promo-section {
  margin-top: 24px;
  margin-bottom: 24px;
}
.fpvd-editable-promo {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  padding: 32px 48px;
}
.fpvd-editable-promo::after {
  pointer-events: none;
}
.fpvd-editable-promo .promo-content {
  max-width: 620px;
}
.fpvd-editable-promo[style*="background-image"] .promo-tag,
.fpvd-editable-promo[style*="background-image"] .promo-title,
.fpvd-editable-promo[style*="background-image"] .promo-desc {
  color: var(--c-white);
  text-shadow: 0 1px 8px rgba(0,0,0,.22);
}
@media (max-width: 768px) {
  .fpvd-editable-promo {
    padding: 24px 18px;
  }
}


/* v136 - promo banner visibility fallback and tighter default rendering */
.fpvd-promo-section:empty { display: none !important; }
.fpvd-promo-section .fpvd-editable-promo { min-height: 160px; }
.fpvd-editable-promo .promo-title { font-size: clamp(28px, 3vw, 48px); font-weight: 800; line-height: 1.05; }
.fpvd-editable-promo .promo-desc { margin-top: 10px; max-width: 620px; }
.fpvd-editable-promo .btn-primary { margin-top: 18px; display: inline-flex; }

/* v138 - Rebuilt homepage promo banner. Uses unique classes and no fade-up dependency. */
.fpvd-promo-v138-wrap {
  width: 100%;
  padding: 18px 0;
  margin: 0;
  clear: both;
}
.fpvd-promo-v138 {
  display: flex !important;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none !important;
  background-color: var(--c-surface, var(--c-white));
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border: 1px solid var(--c-border, var(--c-border));
  padding: 30px 42px;
  color: var(--c-text, var(--c-black));
  position: relative;
  box-shadow: 0 18px 40px rgba(0,0,0,.08);
}
.fpvd-promo-v138-left { justify-content: flex-start; text-align: left; }
.fpvd-promo-v138-center { justify-content: center; text-align: center; }
.fpvd-promo-v138-right { justify-content: flex-end; text-align: right; }
.fpvd-promo-v138-content {
  max-width: 620px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  z-index: 2;
}
.fpvd-promo-v138-tag {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border-radius: 999px;
  padding: 6px 10px;
  background: var(--c-accent, #FF6A00);
  color: var(--c-white);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.fpvd-promo-v138-center .fpvd-promo-v138-tag { margin-inline: auto; }
.fpvd-promo-v138-right .fpvd-promo-v138-tag { margin-left: auto; }
.fpvd-promo-v138-title {
  display: block;
  font-size: clamp(24px, 3vw, 46px);
  line-height: 1.02;
  font-weight: 900;
  color: inherit;
}
.fpvd-promo-v138-desc {
  display: block;
  font-size: 15px;
  line-height: 1.55;
  color: inherit;
  max-width: 58ch;
}
.fpvd-promo-v138-button {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  margin-top: 6px;
  padding: 12px 18px;
  border-radius: 999px;
  background: var(--c-accent, #FF6A00);
  color: var(--c-white);
  font-weight: 900;
  font-size: 14px;
}
.fpvd-promo-v138-center .fpvd-promo-v138-button { margin-inline: auto; }
.fpvd-promo-v138-right .fpvd-promo-v138-button { margin-left: auto; }
.fpvd-promo-v138[style*="background-image"] {
  color: var(--c-white);
  border: 0;
}
@media (max-width: 768px) {
  .fpvd-promo-v138-wrap { padding: 12px 0; }
  .fpvd-promo-v138 { padding: 22px 18px; border-radius: 10px; }
  .fpvd-promo-v138-desc { font-size: 14px; }
}



/* V4.4.73 - Homepage hero background, copy visibility, fixed ribbon/image-card position and floating CTA */
/* Keep the small hero ribbon/label in the original left/top hero position even when the main hero text is hidden.
   Without this, the label becomes vertically centered because it is the only remaining item inside the flex column. */
body.home .hero.hero-main-copy-hidden .hero-content,
body.front-page .hero.hero-main-copy-hidden .hero-content {
  position: absolute !important;
  top: 56px !important;
  left: 24px !important;
  z-index: 4 !important;
  flex: none !important;
  max-width: 580px !important;
  pointer-events: none;
}
body.home .hero.hero-main-copy-hidden .hero-content .hero-tag,
body.front-page .hero.hero-main-copy-hidden .hero-content .hero-tag {
  margin-bottom: 0 !important;
  pointer-events: auto;
}
@media (max-width: 820px) {
  body.home .hero.hero-main-copy-hidden .hero-content,
  body.front-page .hero.hero-main-copy-hidden .hero-content {
    top: 42px !important;
    left: 24px !important;
    max-width: calc(100% - 48px) !important;
  }
}
.hero-floating-cta.btn-primary,
body.home .hero .hero-floating-cta.btn-primary,
body.front-page .hero .hero-floating-cta.btn-primary {
  position: absolute !important;
  z-index: 8 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 32px) !important;
  white-space: nowrap !important;
  text-align: center !important;
  transform: translate(-50%, -50%) !important;
}
.hero-floating-cta.btn-primary:hover,
body.home .hero .hero-floating-cta.btn-primary:hover,
body.front-page .hero .hero-floating-cta.btn-primary:hover {
  transform: translate(-50%, -50%) translateY(-1px) !important;
}
.hero-floating-cta--v-top { top: 16% !important; }
.hero-floating-cta--v-center { top: 50% !important; }
.hero-floating-cta--v-bottom { top: 84% !important; }
.hero-floating-cta--h-left { left: 14% !important; }
.hero-floating-cta--h-center { left: 50% !important; }
.hero-floating-cta--h-right { left: 86% !important; }
.hero-bg-mode-color,
.hero-bg-mode-image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
@media (max-width: 820px) {
  .hero-floating-cta.btn-primary,
  body.home .hero .hero-floating-cta.btn-primary,
  body.front-page .hero .hero-floating-cta.btn-primary {
    max-width: calc(100% - 24px) !important;
    padding: 12px 18px !important;
    font-size: 13px !important;
  }
  .hero-floating-cta--h-left { left: 22% !important; }
  .hero-floating-cta--h-right { left: 78% !important; }
  .hero-floating-cta--v-top { top: 18% !important; }
  .hero-floating-cta--v-bottom { top: 82% !important; }
}


/* Keep the right hero visual/card anchored on desktop when the main copy is hidden.
   Otherwise the visual becomes centered because the left content column is removed from the flex flow. */
@media (min-width: 821px) {
  body.home .hero.hero-main-copy-hidden .hero-inner,
  body.front-page .hero.hero-main-copy-hidden .hero-inner {
    display: block !important;
    position: relative !important;
    min-height: 452px !important;
  }

  body.home .hero.hero-main-copy-hidden .hero-visual,
  body.front-page .hero.hero-main-copy-hidden .hero-visual {
    position: absolute !important;
    top: 50% !important;
    right: 24px !important;
    transform: translateY(-50%) !important;
    width: min(440px, calc(100% - 48px)) !important;
    min-height: 340px !important;
    margin: 0 !important;
    justify-content: flex-end !important;
    z-index: 4 !important;
  }

  body.home .hero.hero-main-copy-hidden .hero-image-card.hero-aside-card,
  body.front-page .hero.hero-main-copy-hidden .hero-image-card.hero-aside-card {
    width: min(440px, 100%) !important;
    margin: 0 !important;
  }
}


/* V138.1 - Editable homepage hero right square: slider, gallery, text box, hidden */
.hero-aside-card { overflow: hidden; }
.hero-aside-hidden { display: none !important; }
.hero-square-slider,
.hero-square-gallery,
.hero-text-box { width: 100%; height: 100%; min-height: 320px; }
.hero-square-slider { position: relative; border-radius: inherit; overflow: hidden; background: var(--c-white); }
.hero-square-slider .hero-square-slide {
  position: absolute; inset: 0; opacity: 0; display: block; text-decoration: none;
  pointer-events: none; z-index: 1; transform: scale(1.025);
  transition: opacity var(--slide-speed, 600ms) ease, transform var(--slide-speed, 600ms) ease;
}
.hero-square-slider .hero-square-slide.is-active {
  opacity: 1; pointer-events: auto; z-index: 2; transform: scale(1);
}
.hero-square-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero-square-slide span {
  position: absolute; left: 18px; right: 18px; bottom: 18px; z-index: 2;
  padding: 10px 12px; border-radius: 16px; background: rgba(58,58,58,.82); color: var(--c-white);
  font-weight: 700; font-size: 14px; line-height: 1.25; backdrop-filter: blur(8px);
}
.hero-square-gallery {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;
  padding: 12px; box-sizing: border-box;
}
.hero-square-gallery .hero-square-slide {
  position: relative; display: block; min-height: 145px; overflow: hidden; border-radius: 18px;
  background: var(--c-white); text-decoration: none; border: 1px solid rgba(58,58,58,.08);
}
.hero-square-gallery .hero-square-slide:first-child:nth-last-child(1) { grid-column: 1 / -1; min-height: 300px; }
.hero-square-gallery .hero-square-slide:first-child:nth-last-child(3),
.hero-square-gallery .hero-square-slide:first-child:nth-last-child(5) { grid-column: 1 / -1; }
.hero-text-box {
  display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
  padding: 34px; box-sizing: border-box; background:
    radial-gradient(circle at top right, rgba(255,106,0,.16), transparent 36%), var(--c-white);
}
.hero-text-box-tag {
  color: var(--c-accent); font-weight: 800; text-transform: uppercase; letter-spacing: .08em;
  font-size: 12px; margin-bottom: 12px;
}
.hero-text-box h2 { margin: 0 0 12px; font-family: var(--font-display); font-size: clamp(28px, 4vw, 42px); line-height: .98; color: var(--c-text); }
.hero-text-box p { margin: 0 0 22px; color: rgba(58,58,58,.72); line-height: 1.55; font-size: 16px; }
.hero-text-box-button {
  display: inline-flex; align-items: center; justify-content: center; padding: 13px 18px; border-radius: 999px;
  background: var(--c-accent); color: var(--c-white) !important; text-decoration: none; font-weight: 800;
  box-shadow: 0 14px 32px rgba(255,106,0,.24);
}
.hero-aside-empty {
  width: 100%; height: 100%; min-height: 320px; display: flex; align-items: center; justify-content: center;
  padding: 24px; text-align: center; color: rgba(58,58,58,.62); font-weight: 700; box-sizing: border-box;
}
@media (max-width: 820px) {
  .hero-square-slider, .hero-square-gallery, .hero-text-box, .hero-aside-empty { min-height: 260px; }
  .hero-text-box { padding: 26px; }
}


/* v141 - Hero right square slider hard fix: exactly one visible slide, JS-controlled. */
.hero-square-slider[data-fpv-hero-square-slider] {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 320px !important;
  overflow: hidden !important;
}
.hero-square-slider[data-fpv-hero-square-slider] .hero-square-slide {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  display: block !important;
  transform: scale(1.015) !important;
}
.hero-square-slider[data-fpv-hero-square-slider] .hero-square-slide.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: scale(1) !important;
  z-index: 2 !important;
}
.hero-square-slider[data-fpv-hero-square-slider] .hero-square-slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.hero-square-slider[data-fpv-hero-square-slider] .hero-square-slide:not(.is-active) img {
  visibility: hidden !important;
}


/* v142 - Hero right square slider true horizontal slide transition. */
.hero-square-slider[data-fpv-hero-square-slider] .hero-square-slide {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  opacity: 1 !important;
  visibility: hidden !important;
  transform: translate3d(100%,0,0) !important;
  transition: transform var(--slide-speed, 600ms) ease !important;
  will-change: transform !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.hero-square-slider[data-fpv-hero-square-slider] .hero-square-slide.is-active,
.hero-square-slider[data-fpv-hero-square-slider] .hero-square-slide.is-next,
.hero-square-slider[data-fpv-hero-square-slider] .hero-square-slide.is-sliding {
  visibility: visible !important;
  opacity: 1 !important;
}
.hero-square-slider[data-fpv-hero-square-slider] .hero-square-slide.is-active {
  pointer-events: auto !important;
  z-index: 3 !important;
}
.hero-square-slider[data-fpv-hero-square-slider] .hero-square-slide.is-next,
.hero-square-slider[data-fpv-hero-square-slider] .hero-square-slide.is-sliding {
  z-index: 4 !important;
}
.hero-square-slider[data-fpv-hero-square-slider] .hero-square-slide:not(.is-active) img {
  visibility: visible !important;
}


/* Unified alignment for every normal WP page and future pages */
body.page main.fpv-page-main .fpv-page-intro-row {
  display: grid !important;
  grid-template-columns: 210px minmax(0, 980px) !important;
  column-gap: 28px !important;
  row-gap: 0 !important;
  align-items: start !important;
  justify-content: start !important;
  max-width: none !important;
  margin: 0 !important;
  left: 0 !important;
  transform: none !important;
}
body.page main.fpv-page-main .fpv-page-title-badge {
  width: 210px !important;
  min-width: 210px !important;
  max-width: 210px !important;
  height: 28px !important;
  min-height: 28px !important;
  justify-content: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  box-sizing: border-box !important;
}
body.page main.fpv-page-main .fpv-page-intro-card {
  width: 980px !important;
  max-width: 980px !important;
  min-height: 28px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
@media (max-width: 900px) {
  body.page main.fpv-page-main .fpv-page-intro-row {
    grid-template-columns: 1fr !important;
    row-gap: 12px !important;
  }
  body.page main.fpv-page-main .fpv-page-title-badge {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  body.page main.fpv-page-main .fpv-page-intro-card {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* Default WP page intro card uses the same premium effect as builder/category text boxes.
   Applies to all existing and future normal pages. Product category pages keep their own category layout/effect. */
html body.page main.fpv-page-main .fpv-page-intro-card,
html body.page main.fpv-page-main article.fpv-page-content-card {
  position: relative !important;
  overflow: hidden !important;
  background: var(--c-surface, var(--c-white)) !important;
  border: 1.5px solid var(--c-border, #d0d0d0) !important;
  border-top: 1.5px solid var(--c-border, #d0d0d0) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 18px rgba(255,106,0,.18) !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

html body.page main.fpv-page-main .fpv-page-intro-card:hover,
html body.page main.fpv-page-main .fpv-page-intro-card:focus-within,
html body.page main.fpv-page-main article.fpv-page-content-card:hover,
html body.page main.fpv-page-main article.fpv-page-content-card:focus-within {
  border-color: var(--c-accent, #FF6A00) !important;
  box-shadow: 0 12px 26px rgba(255,106,0,.24) !important;
  transform: translateY(-1px) !important;
}

html body.page main.fpv-page-main .fpv-page-intro-card::after,
html body.page main.fpv-page-main article.fpv-page-content-card::after {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  height: 1px !important;
  background: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html body.page main.fpv-page-main .fpv-page-intro-card .entry-content,
html body.page main.fpv-page-main article.fpv-page-content-card .entry-content {
  position: relative !important;
  z-index: 1 !important;
}


/* WooCommerce My Account LT + spacing */
.woocommerce-account .woocommerce {
  display:flex !important;
  gap:40px !important;
  align-items:flex-start !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  width:260px !important;
  flex:0 0 260px !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
  flex:1 !important;
  min-width:0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a {
  display:block !important;
  padding:18px 16px !important;
}

@media(max-width:900px){
  .woocommerce-account .woocommerce{
    flex-direction:column !important;
    gap:24px !important;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation{
    width:100% !important;
    flex:unset !important;
  }
}

/* remove english dashboard intro if translations fail */
.woocommerce-account .woocommerce-MyAccount-content p:first-child{
 line-height:1.8;
}

/* v146 - My Account inner block offset inside default page box */
body.woocommerce-account main.fpv-page-main .fpv-page-intro-card,
body.woocommerce-account main.fpv-page-main article.fpv-page-content-card {
  padding: 24px 36px 32px !important;
  box-sizing: border-box !important;
}

body.woocommerce-account main.fpv-page-main .fpv-page-intro-card .entry-content,
body.woocommerce-account main.fpv-page-main article.fpv-page-content-card .entry-content {
  padding: 0 !important;
  margin: 0 !important;
}

body.woocommerce-account main.fpv-page-main .fpv-page-intro-card .woocommerce,
body.woocommerce-account main.fpv-page-main article.fpv-page-content-card .woocommerce {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  gap: 40px !important;
  align-items: flex-start !important;
  box-sizing: border-box !important;
}

body.woocommerce-account main.fpv-page-main .fpv-page-intro-card .woocommerce-MyAccount-navigation,
body.woocommerce-account main.fpv-page-main article.fpv-page-content-card .woocommerce-MyAccount-navigation {
  margin: 0 !important;
}

body.woocommerce-account main.fpv-page-main .fpv-page-intro-card .woocommerce-MyAccount-content,
body.woocommerce-account main.fpv-page-main article.fpv-page-content-card .woocommerce-MyAccount-content {
  margin: 0 !important;
}

@media (max-width: 900px) {
  body.woocommerce-account main.fpv-page-main .fpv-page-intro-card,
  body.woocommerce-account main.fpv-page-main article.fpv-page-content-card {
    padding: 18px !important;
  }

  body.woocommerce-account main.fpv-page-main .fpv-page-intro-card .woocommerce,
  body.woocommerce-account main.fpv-page-main article.fpv-page-content-card .woocommerce {
    flex-direction: column !important;
    gap: 18px !important;
  }
}


/* Remove thick orange top stripe from normal WP page text boxes. Category cards keep their own accent effect. */
html body.page:not(.tax-product_cat):not(.tax-product_tag) main.fpv-page-main .fpv-page-intro-card,
html body.page:not(.tax-product_cat):not(.tax-product_tag) main.fpv-page-main article.fpv-page-content-card {
  border-top-color: var(--c-border, #d0d0d0) !important;
  border-top-width: 1.5px !important;
}

html body.page:not(.tax-product_cat):not(.tax-product_tag) main.fpv-page-main .fpv-page-intro-card::after,
html body.page:not(.tax-product_cat):not(.tax-product_tag) main.fpv-page-main article.fpv-page-content-card::after {
  content: none !important;
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}

/* Hard remove orange top stripe from normal WP page text boxes.
   Product category/archive description cards are intentionally untouched. */
html body.page main.fpv-page-main .fpv-page-intro-card,
html body.page main.fpv-page-main article.fpv-page-content-card,
html body.page main.fpv-page-main .fpv-page-intro-card:hover,
html body.page main.fpv-page-main article.fpv-page-content-card:hover,
html body.page main.fpv-page-main .fpv-page-intro-card:focus,
html body.page main.fpv-page-main article.fpv-page-content-card:focus,
html body.page main.fpv-page-main .fpv-page-intro-card:focus-within,
html body.page main.fpv-page-main article.fpv-page-content-card:focus-within {
  border-top-color: var(--c-border, #d0d0d0) !important;
  border-top-width: 1.5px !important;
  border-top-style: solid !important;
  outline: none !important;
  background-image: none !important;
}

html body.page main.fpv-page-main .fpv-page-intro-card::before,
html body.page main.fpv-page-main article.fpv-page-content-card::before,
html body.page main.fpv-page-main .fpv-page-intro-card::after,
html body.page main.fpv-page-main article.fpv-page-content-card::after,
html body.page main.fpv-page-main .fpv-page-intro-card:hover::before,
html body.page main.fpv-page-main article.fpv-page-content-card:hover::before,
html body.page main.fpv-page-main .fpv-page-intro-card:hover::after,
html body.page main.fpv-page-main article.fpv-page-content-card:hover::after,
html body.page main.fpv-page-main .fpv-page-intro-card:focus-within::before,
html body.page main.fpv-page-main article.fpv-page-content-card:focus-within::before,
html body.page main.fpv-page-main .fpv-page-intro-card:focus-within::after,
html body.page main.fpv-page-main article.fpv-page-content-card:focus-within::after {
  content: none !important;
  display: none !important;
  height: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  opacity: 0 !important;
}

/* v149 - remove fade/glow around normal WP page content boxes. Product/category pages keep their existing glow. */
html body.page main.fpv-page-main .fpv-page-intro-card,
html body.page main.fpv-page-main article.fpv-page-content-card,
html body.page main.fpv-page-main .fpv-page-intro-card:hover,
html body.page main.fpv-page-main article.fpv-page-content-card:hover,
html body.page main.fpv-page-main .fpv-page-intro-card:focus,
html body.page main.fpv-page-main article.fpv-page-content-card:focus,
html body.page main.fpv-page-main .fpv-page-intro-card:focus-within,
html body.page main.fpv-page-main article.fpv-page-content-card:focus-within {
  box-shadow: none !important;
  filter: none !important;
  background-image: none !important;
  transform: none !important;
}

html body.page main.fpv-page-main .fpv-page-intro-card::before,
html body.page main.fpv-page-main article.fpv-page-content-card::before,
html body.page main.fpv-page-main .fpv-page-intro-card::after,
html body.page main.fpv-page-main article.fpv-page-content-card::after {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
  filter: none !important;
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
}

body.woocommerce-account main.fpv-page-main .fpv-page-intro-card,
body.woocommerce-account main.fpv-page-main article.fpv-page-content-card {
  box-shadow: none !important;
  filter: none !important;
  background-image: none !important;
}

/* Remove hover border/fade effect from normal WP page text boxes only. Category pages untouched. */
html body.page main.fpv-page-main .fpv-page-intro-card,
html body.page main.fpv-page-main article.fpv-page-content-card,
html body.page main.fpv-page-main .fpv-page-intro-card:hover,
html body.page main.fpv-page-main article.fpv-page-content-card:hover,
html body.page main.fpv-page-main .fpv-page-intro-card:focus,
html body.page main.fpv-page-main article.fpv-page-content-card:focus,
html body.page main.fpv-page-main .fpv-page-intro-card:focus-within,
html body.page main.fpv-page-main article.fpv-page-content-card:focus-within,
html body.page.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card:hover,
html body.page.fpv-d0-align-page main.fpv-page-main article.fpv-page-content-card:hover,
html body.page.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card:focus-within,
html body.page.fpv-d0-align-page main.fpv-page-main article.fpv-page-content-card:focus-within {
  border-color: var(--c-border, #d0d0d0) !important;
  border-top-color: var(--c-border, #d0d0d0) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  background-image: none !important;
  transition: none !important;
  outline: none !important;
}

html body.page main.fpv-page-main .fpv-page-intro-card:hover::before,
html body.page main.fpv-page-main article.fpv-page-content-card:hover::before,
html body.page main.fpv-page-main .fpv-page-intro-card:hover::after,
html body.page main.fpv-page-main article.fpv-page-content-card:hover::after,
html body.page.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card:hover::before,
html body.page.fpv-d0-align-page main.fpv-page-main article.fpv-page-content-card:hover::before,
html body.page.fpv-d0-align-page main.fpv-page-main .fpv-page-intro-card:hover::after,
html body.page.fpv-d0-align-page main.fpv-page-main article.fpv-page-content-card:hover::after {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
  filter: none !important;
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
}


/* v151 - My Account content text box alignment with the navigation button top. */
body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-content {
  margin-top: 24px !important;
}

body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-content > p:first-child,
body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-content > div:first-child,
body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-content > section:first-child {
  margin-top: 0 !important;
}

body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-content a {
  color: var(--c-accent, #FF6A00) !important;
}

@media (max-width: 900px) {
  body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-content {
    margin-top: 0 !important;
  }
}

/* v152 - hard My Account LT dashboard layout fix. */
body.woocommerce-account main.fpv-page-main .fpv-page-intro-card .woocommerce,
body.woocommerce-account main.fpv-page-main article.fpv-page-content-card .woocommerce,
body.woocommerce-account .fpv-page-content-card .woocommerce {
  align-items: flex-start !important;
  gap: 40px !important;
}

body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-navigation,
body.woocommerce-account .fpv-page-content-card .woocommerce-MyAccount-navigation {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-content,
body.woocommerce-account .fpv-page-content-card .woocommerce-MyAccount-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
  align-self: flex-start !important;
}

body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-content > p:first-child,
body.woocommerce-account .fpv-page-content-card .woocommerce-MyAccount-content > p:first-child {
  margin-top: 0 !important;
}

body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-content .fpv-account-hello,
body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-content .fpv-account-dashboard-copy,
body.woocommerce-account .fpv-page-content-card .woocommerce-MyAccount-content .fpv-account-hello,
body.woocommerce-account .fpv-page-content-card .woocommerce-MyAccount-content .fpv-account-dashboard-copy {
  color: var(--c-text, #3A3A3A) !important;
  line-height: 1.75 !important;
}

body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-content a,
body.woocommerce-account .fpv-page-content-card .woocommerce-MyAccount-content a {
  color: var(--c-accent, #FF6A00) !important;
  text-decoration: none !important;
}

@media (max-width: 900px) {
  body.woocommerce-account main.fpv-page-main .fpv-page-intro-card .woocommerce,
  body.woocommerce-account main.fpv-page-main article.fpv-page-content-card .woocommerce,
  body.woocommerce-account .fpv-page-content-card .woocommerce {
    gap: 20px !important;
  }
}

/* v153 - remove outer frame around My Account navigation buttons only. */
body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-navigation,
body.woocommerce-account .fpv-page-content-card .woocommerce-MyAccount-navigation,
body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-navigation ul,
body.woocommerce-account .fpv-page-content-card .woocommerce-MyAccount-navigation ul {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
}

body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-navigation::before,
body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-navigation::after,
body.woocommerce-account .fpv-page-content-card .woocommerce-MyAccount-navigation::before,
body.woocommerce-account .fpv-page-content-card .woocommerce-MyAccount-navigation::after,
body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-navigation ul::before,
body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-navigation ul::after,
body.woocommerce-account .fpv-page-content-card .woocommerce-MyAccount-navigation ul::before,
body.woocommerce-account .fpv-page-content-card .woocommerce-MyAccount-navigation ul::after {
  content: none !important;
  display: none !important;
}

/* v154 - make the My Account navigation outer frame invisible by matching it to button background. Buttons themselves are not changed. */
body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-navigation,
body.woocommerce-account .fpv-page-content-card .woocommerce-MyAccount-navigation,
body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-navigation ul,
body.woocommerce-account .fpv-page-content-card .woocommerce-MyAccount-navigation ul,
body.woocommerce-account main.fpv-page-main nav.woocommerce-MyAccount-navigation,
body.woocommerce-account nav.woocommerce-MyAccount-navigation {
  border-color: var(--c-surface, var(--c-white)) !important;
  outline-color: var(--c-surface, var(--c-white)) !important;
  box-shadow: none !important;
}

body.woocommerce-account main.fpv-page-main .woocommerce-MyAccount-navigation,
body.woocommerce-account .fpv-page-content-card .woocommerce-MyAccount-navigation,
body.woocommerce-account main.fpv-page-main nav.woocommerce-MyAccount-navigation,
body.woocommerce-account nav.woocommerce-MyAccount-navigation {
  background-color: var(--c-surface, var(--c-white)) !important;
}

/* =========================================================
   D0 E-SHOP 2.2.7 - systematic responsive front/back integration
   ========================================================= */
html, body { width: 100%; max-width: 100%; overflow-x: hidden !important; }
body * { min-width: 0; }
.site-header, .main-nav, .topbar, .fpvdronas-orange-notice, .site-main, .site-footer { width: 100%; max-width: 100%; }
.header-inner, .nav-inner, .topbar-inner, .section-inner, .footer-inner, .alignwide, .site-container { width: 100%; max-width: 1380px; margin-left: auto; margin-right: auto; }

/* Header layout - desktop/tablet/mobile share the same DOM order */
.header-inner { display: grid !important; grid-template-columns: auto minmax(280px, 1fr) auto !important; align-items: center !important; gap: 18px !important; }
.site-branding { grid-column: 1; display: flex !important; align-items: center !important; min-width: 0 !important; }
.fpv-search-wrap { grid-column: 2; width: 100% !important; min-width: 0 !important; }
.search-bar { width: 100% !important; max-width: none !important; display: flex !important; min-width: 0 !important; }
.search-bar input[type="search"] { min-width: 0 !important; width: 100% !important; }
.header-actions { grid-column: 3; display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 8px !important; min-width: max-content !important; }
.mobile-nav-toggle { order: 99; flex: 0 0 42px; }
.header-button, .cart-button, .mobile-nav-toggle { flex-shrink: 0 !important; }

/* Navigation - desktop dropdown, mobile accordion */
.main-nav { position: relative !important; z-index: 80 !important; }
.nav-menu { width: 100%; }
.nav-menu li { min-width: 0; }
.nav-menu a { min-width: 0; }
.nav-menu .sub-menu { z-index: 120 !important; }
.nav-submenu-toggle { display: none; }

/* Responsive media */
.fpv-home-native-slider, .fpv-square-slider, .fpv-hero-slider, .fpv-slider, .fpvdronas-slider { width: 100% !important; max-width: 100% !important; aspect-ratio: 3 / 1 !important; height: auto !important; overflow: hidden !important; }
.fpv-home-native-slider img, .fpv-square-slider img, .fpv-hero-slider img, .fpv-slider img, .fpvdronas-slider img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

/* Page/card grids */
.cat-grid, .fpv-editable-card-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important; gap: 14px !important; }
.product-grid, .woocommerce ul.products, .fpvdronas-related-products ul.products { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important; gap: 14px !important; width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
.woocommerce ul.products li.product, .product-grid li.product { width: auto !important; float: none !important; clear: none !important; margin: 0 !important; }
.fpv-page-card-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important; }

/* Category pages */
body.tax-product_cat .fpv-category-header-row,
body.post-type-archive-product .fpv-category-header-row { width: calc(100% - 32px) !important; max-width: 1180px !important; }
body.tax-product_cat .fpv-category-description-card,
body.post-type-archive-product .fpv-category-description-card { overflow: visible !important; }
body.tax-product_cat .fpv-category-description-card .entry-content,
body.post-type-archive-product .fpv-category-description-card .entry-content { overflow-wrap: anywhere !important; word-break: normal !important; }

/* Product tabs/specifications */
.woocommerce table.shop_attributes { width: 100% !important; table-layout: fixed !important; border-collapse: collapse !important; }
.woocommerce table.shop_attributes tr { display: grid !important; grid-template-columns: minmax(100px, 42%) minmax(0, 58%) !important; width: 100% !important; }
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td { display: block !important; width: 100% !important; text-align: left !important; vertical-align: top !important; padding: 10px 12px !important; overflow-wrap: anywhere !important; }
.woocommerce table.shop_attributes td p { margin: 0 !important; padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex !important; flex-wrap: wrap !important; width: 100% !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { flex: 1 1 auto !important; min-width: 150px !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { width: 100% !important; text-align: center !important; }

/* Notes / ribbons */
.fpv-note-ribbon, .note-ribbon, .fpv-page-title-badge, .fpv-product-note, .fpvdronas-product-note { text-align: center !important; justify-content: center !important; align-items: center !important; margin-left: auto !important; margin-right: auto !important; max-width: 100% !important; }

/* Blog and generic page templates */
.blog-card, .fpv-blog-card, .post-card, article, .entry-content, .page-content { max-width: 100% !important; overflow-wrap: anywhere; }
.blog-card img, .fpv-blog-card img, .post-card img { width: 100% !important; height: auto !important; object-fit: cover !important; }

@media (max-width: 1100px) {
  .header-inner { grid-template-columns: auto minmax(200px, 1fr) auto !important; gap: 12px !important; }
  .custom-logo-link img, .site-branding img { max-height: 42px !important; }
  .logo { font-size: 24px !important; white-space: nowrap !important; }
  .header-button span, .cart-button .cart-label { display: none !important; }
  .product-grid, .woocommerce ul.products, .fpvdronas-related-products ul.products { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important; }
}

@media (max-width: 782px) {
  body { font-size: 14px !important; }
  .topbar { display: none !important; }
  .fpvdronas-orange-notice-inner { padding-left: 12px !important; padding-right: 12px !important; text-align: center !important; }
  .site-header { position: relative !important; z-index: 100 !important; }
  .header-inner { grid-template-columns: minmax(0, 1fr) auto !important; grid-template-areas: "brand actions" "search search" !important; gap: 8px !important; padding: 12px 14px !important; }
  .site-branding { grid-area: brand !important; }
  .fpv-search-wrap { grid-area: search !important; display: none !important; width: 100% !important; max-width: none !important; }
  .fpv-search-wrap.is-mobile-search-open { display: block !important; }
  .header-actions { grid-area: actions !important; gap: 6px !important; min-width: 0 !important; display: inline-flex !important; align-items: center !important; }
  .custom-logo-link img, .site-branding img { max-width: 142px !important; max-height: 38px !important; object-fit: contain !important; }
  .logo { font-size: 18px !important; gap: 6px !important; max-width: 150px !important; overflow: hidden !important; }
  .logo-icon { width: 28px !important; height: 28px !important; flex: 0 0 28px !important; }
  .header-actions .header-button,
  .header-actions .mobile-search-toggle,
  .header-actions .cart-button,
  .header-actions .mobile-nav-toggle { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 32px !important; height: 32px !important; min-width: 32px !important; min-height: 32px !important; max-width: 32px !important; max-height: 32px !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 5px !important; background: transparent !important; color: var(--c-text) !important; box-shadow: none !important; }
  .header-actions .header-button span,
  .header-actions .cart-label { display: none !important; }
  .header-actions .header-button svg,
  .header-actions .mobile-search-toggle svg,
  .header-actions .cart-button svg { width: 20px !important; height: 20px !important; stroke: currentColor !important; color: var(--c-text) !important; }
  .header-actions .cart-button { position: relative !important; gap: 0 !important; font-size: 0 !important; letter-spacing: 0 !important; }
  .header-actions .cart-count { position: absolute !important; top: -3px !important; right: -4px !important; min-width: 15px !important; width: auto !important; height: 15px !important; padding: 0 4px !important; border-radius: 999px !important; background: var(--c-accent) !important; color: var(--c-bg) !important; font-size: 9px !important; line-height: 15px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
  .mobile-nav-toggle { font-size: 24px !important; }
  .search-bar { height: 44px !important; }
  .search-bar input[type="search"] { height: 44px !important; font-size: 14px !important; padding: 0 12px !important; }
  .search-bar button { height: 44px !important; min-width: 86px !important; padding: 0 12px !important; font-size: 13px !important; }

  .main-nav { display: none !important; max-height: calc(100vh - 114px) !important; overflow-y: auto !important; overflow-x: hidden !important; overscroll-behavior: contain !important; -webkit-overflow-scrolling: touch !important; border-bottom: 3px solid var(--c-accent) !important; background: var(--c-white) !important; }
  .main-nav.is-open { display: block !important; }
  .nav-inner { padding: 0 !important; max-width: 100% !important; }
  .nav-menu { display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch !important; padding: 0 !important; margin: 0 !important; width: 100% !important; }
  .nav-menu > li, .nav-menu li { display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; width: 100% !important; border-bottom: 1px solid var(--c-border) !important; position: relative !important; }
  .nav-menu li > a { min-height: 48px !important; padding: 0 16px !important; display: flex !important; align-items: center !important; width: 100% !important; font-size: 16px !important; line-height: 1.1 !important; }
  .nav-menu .menu-text { white-space: normal !important; overflow-wrap: anywhere !important; }
  .nav-menu .menu-arrow { display: inline !important; }
  .nav-submenu-toggle { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 38px !important; height: 38px !important; margin: 5px 10px 5px 0 !important; border: 1px solid var(--c-border) !important; border-radius: 6px !important; background: var(--c-white) !important; color: var(--c-dark) !important; font-weight: 900 !important; font-size: 18px !important; line-height: 1 !important; }
  .nav-menu .sub-menu { grid-column: 1 / -1 !important; position: static !important; display: none !important; width: 100% !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-left: 3px solid var(--c-accent) !important; border-radius: 0 !important; box-shadow: none !important; background: var(--c-bg) !important; }
  .nav-menu li.is-open > .sub-menu { display: flex !important; flex-direction: column !important; }
  .nav-menu li:hover > .sub-menu:not(.force-open) { display: none !important; }
  .nav-menu .sub-menu li > a { font-size: 14px !important; min-height: 42px !important; padding-left: 24px !important; text-transform: none !important; }

  .cat-grid, .fpv-editable-card-grid, .fpv-page-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .cat-card, .fpv-editable-home-card { padding: 16px 8px !important; min-height: 148px !important; }
  .cat-name { font-size: 12px !important; line-height: 1.15 !important; }
  .cat-count, .fpv-editable-card-desc { font-size: 11px !important; line-height: 1.35 !important; }

  .product-grid, .woocommerce ul.products, .fpvdronas-related-products ul.products,
  body.tax-product_cat .fpv-category-products-section ul.products,
  body.post-type-archive-product .fpv-category-products-section ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }

  body.tax-product_cat .fpv-category-header-row, body.post-type-archive-product .fpv-category-header-row { grid-template-columns: 1fr !important; width: calc(100% - 28px) !important; margin: 16px auto !important; gap: 12px !important; }
  body.tax-product_cat .fpv-category-header-row .fpv-page-title-badge, body.post-type-archive-product .fpv-category-header-row .fpv-page-title-badge { width: 100% !important; max-width: 100% !important; font-size: 24px !important; letter-spacing: 3px !important; padding: 6px 12px !important; }
  body.tax-product_cat .fpv-category-description-card, body.post-type-archive-product .fpv-category-description-card { width: 100% !important; padding: 14px 16px !important; }
  body.tax-product_cat .fpv-category-products-section, body.post-type-archive-product .fpv-category-products-section { width: calc(100% - 28px) !important; margin: 8px auto 36px !important; }

  .woocommerce div.product { padding-left: 14px !important; padding-right: 14px !important; }
  .woocommerce div.product .product_title { font-size: 30px !important; }
  .woocommerce div.product form.cart { flex-wrap: wrap !important; }
  .woocommerce div.product form.cart .button { flex: 1 1 100% !important; width: 100% !important; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { flex-direction: column !important; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li { width: 100% !important; min-width: 0 !important; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a { text-align: left !important; padding: 13px 18px !important; }
  .woocommerce div.product .woocommerce-tabs .panel { padding: 18px !important; }

  .fpv-home-native-slider, .fpv-square-slider, .fpv-hero-slider, .fpv-slider, .fpvdronas-slider { aspect-ratio: 3 / 1 !important; }
}

@media (max-width: 520px) {
  .section-inner, .footer-inner, .alignwide, .site-container { padding-left: 14px !important; padding-right: 14px !important; }
  .header-inner { padding-left: 12px !important; padding-right: 12px !important; }
  .custom-logo-link img, .site-branding img { max-width: 132px !important; }
  .logo { font-size: 16px !important; max-width: 132px !important; }
  .cat-grid, .fpv-editable-card-grid, .fpv-page-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .cat-card, .fpv-editable-home-card { min-height: 132px !important; }
  .fpv-editable-card-media, .cat-icon { width: 44px !important; height: 44px !important; }
  .woocommerce table.shop_attributes tr { grid-template-columns: minmax(86px, 43%) minmax(0, 57%) !important; }
  .woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { padding: 9px 10px !important; font-size: 13px !important; }
}

@media (max-width: 380px) {
  .custom-logo-link img, .site-branding img { max-width: 116px !important; }
  .logo { max-width: 116px !important; font-size: 15px !important; }
  .header-actions { gap: 4px !important; }
  .product-grid, .woocommerce ul.products, .fpvdronas-related-products ul.products { gap: 8px !important; }
}


/* =========================================================
   D0 E-SHOP 2.2.9 - consolidated WooCommerce product cards and product gallery cleanup
   Single source of truth for shop/category/homepage product cards.
   ========================================================= */
.woocommerce ul.products,
ul.products,
.product-grid,
.fpvdronas-related-products ul.products,
.fpd-category-products ul.products,
.fpv-category-products ul.products,
.fpvdronas-category-products ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after { content: none !important; display: none !important; }

.woocommerce ul.products li.product,
ul.products li.product,
.product-grid li.product {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 100% !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--c-white) !important;
  border: 1.5px solid var(--c-border, #d0d0d0) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
.woocommerce ul.products li.product:hover,
ul.products li.product:hover,
.product-grid li.product:hover {
  border-color: var(--c-accent, #FF6A00) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.08) !important;
  transform: translateY(-2px) !important;
}

.fpvdronas-product-card-link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  color: inherit !important;
  text-decoration: none !important;
}
.fpvdronas-product-card-image {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  padding: 12px !important;
  overflow: hidden !important;
  background: var(--c-bg) !important;
  border-bottom: 1px solid var(--c-border, #d0d0d0) !important;
}
.fpvdronas-product-card-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.fpvdronas-product-ribbon,
.fpvdronas-discount-ribbon {
  position: absolute !important;
  top: 10px !important;
  z-index: 6 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 23px !important;
  max-width: calc(50% - 12px) !important;
  padding: 4px 7px !important;
  border: 1px solid rgba(255,106,0,.42) !important;
  border-radius: 4px !important;
  background: var(--c-accent-light) !important;
  color: var(--c-accent, #FF6A00) !important;
  font-family: var(--font-mono, monospace) !important;
  font-size: 8.5px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: .35px !important;
  text-transform: uppercase !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  pointer-events: none !important;
}
.fpvdronas-product-ribbon:not(.fpvdronas-discount-ribbon) { left: 10px !important; }
.fpvdronas-discount-ribbon {
  right: 10px !important;
  background: var(--c-accent-light) !important;
  border-color: rgba(255,106,0,.42) !important;
  color: var(--c-accent, #FF6A00) !important;
}
.fpvdronas-discount-ribbon.has-main-ribbon { top: 10px !important; right: 10px !important; }
.woocommerce span.onsale,
.woocommerce .onsale { display: none !important; }

.fpvdronas-product-card-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: 10px 12px 9px !important;
  gap: 6px !important;
}
.fpvdronas-product-card-brand {
  margin: 0 !important;
  color: var(--c-accent, #FF6A00) !important;
  font-family: var(--font-mono, monospace) !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  overflow-wrap: anywhere !important;
}
.fpvdronas-product-card-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--c-dark, #2A2A2A) !important;
  font-family: var(--font-display, sans-serif) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  overflow-wrap: anywhere !important;
}
.fpvdronas-product-card-sku {
  color: var(--c-muted, #777) !important;
  font-family: var(--font-mono, monospace) !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
}
.fpvdronas-product-card-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin-top: 2px !important;
}
.fpvdronas-product-card-badges span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 22px !important;
  padding: 4px 7px !important;
  border: 1px solid var(--c-border, #d0d0d0) !important;
  border-radius: 4px !important;
  background: var(--c-white) !important;
  color: var(--c-text, #3A3A3A) !important;
  font-family: var(--font-mono, monospace) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.fpvdronas-product-card-footer {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) clamp(40px, 25%, 48px) !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  margin-top: auto !important;
  padding: 10px 12px 12px !important;
  border-top: 1px solid var(--c-border, #d0d0d0) !important;
  background: var(--c-white) !important;
}
.fpvdronas-product-card-price,
.woocommerce ul.products li.product .price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: var(--c-text, #3A3A3A) !important;
  font-family: var(--font-display, sans-serif) !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}
.fpvdronas-product-card-price .amount,
.woocommerce ul.products li.product .price .amount {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 3px !important;
  width: auto !important;
  max-width: 100% !important;
  color: inherit !important;
  font: inherit !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.fpvdronas-product-card-price .woocommerce-Price-currencySymbol,
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol {
  display: inline !important;
  margin-left: 2px !important;
  white-space: nowrap !important;
}
.fpvdronas-product-card-price > span,
.woocommerce ul.products li.product .price > span {
  white-space: nowrap !important;
}

.fpvdronas-product-card-price bdi,
.woocommerce ul.products li.product .price bdi {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 3px !important;
  white-space: nowrap !important;
}
.fpvdronas-product-card-price ins,
.woocommerce ul.products li.product .price ins {
  order: 1 !important;
  display: block !important;
  color: var(--c-text, #3A3A3A) !important;
  background: transparent !important;
  text-decoration: none !important;
}
.fpvdronas-product-card-price ins .amount,
.woocommerce ul.products li.product .price ins .amount {
  color: var(--c-text, #3A3A3A) !important;
  background: transparent !important;
  text-decoration: none !important;
}
.fpvdronas-product-card-price > .amount,
.woocommerce ul.products li.product .price > .amount {
  order: 1 !important;
}
.fpvdronas-product-card-price del,
.woocommerce ul.products li.product .price del {
  order: 2 !important;
  display: block !important;
  margin-top: 4px !important;
  color: var(--c-muted) !important;
  opacity: 1 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-decoration: line-through !important;
}
.fpvdronas-product-card-price del .amount,
.woocommerce ul.products li.product .price del .amount {
  color: inherit !important;
  font: inherit !important;
  line-height: 1 !important;
  text-decoration: line-through !important;
  white-space: nowrap !important;
}
.fpvdronas-product-card-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  min-width: 0 !important;
}
.fpvdronas-product-card-actions .button,
.woocommerce ul.products li.product .fpvdronas-card-cart-button,
ul.products li.product .fpvdronas-card-cart-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--c-accent, #FF6A00) !important;
  border-radius: 6px !important;
  background: var(--c-accent, #FF6A00) !important;
  color: var(--c-white) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
.fpvdronas-product-card-actions .button:hover,
.woocommerce ul.products li.product .fpvdronas-card-cart-button:hover,
ul.products li.product .fpvdronas-card-cart-button:hover {
  background: var(--c-accent2, #E65F00) !important;
  border-color: var(--c-accent2, #E65F00) !important;
  color: var(--c-white) !important;
}
.fpvdronas-card-cart-icon {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  fill: none !important;
}
.woocommerce ul.products li.product a.added_to_cart,
ul.products li.product a.added_to_cart { display: none !important; }

/* Single product gallery cleanup - arrows and thumbnail scrollbar are hidden globally. */
body.single-product .woocommerce-product-gallery .fpv-gallery-arrow,
body.single-product .woocommerce-product-gallery .flex-direction-nav,
body.single-product .woocommerce-product-gallery .flex-prev,
body.single-product .woocommerce-product-gallery .flex-next {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body.single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs,
body.single-product .woocommerce-product-gallery ol.flex-control-thumbs,
body.single-product .woocommerce div.product div.images .flex-control-thumbs {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
body.single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs::-webkit-scrollbar,
body.single-product .woocommerce-product-gallery ol.flex-control-thumbs::-webkit-scrollbar,
body.single-product .woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}


@media (min-width: 1200px) {
  .woocommerce ul.products,
  ul.products,
  .product-grid,
  .fpvdronas-related-products ul.products,
  .fpvdronas-category-products ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 900px) {
  .woocommerce ul.products,
  ul.products,
  .product-grid,
  .fpvdronas-related-products ul.products,
  .fpvdronas-category-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
}
@media (max-width: 520px) {
  .woocommerce ul.products,
  ul.products,
  .product-grid,
  .fpvdronas-related-products ul.products,
  .fpvdronas-category-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  .fpvdronas-product-card-image { padding: 10px !important; }
  .fpvdronas-product-ribbon,
  .fpvdronas-discount-ribbon {
    top: 8px !important;
    max-width: calc(50% - 9px) !important;
    min-height: 21px !important;
    padding: 3px 5px !important;
    font-size: 7.6px !important;
    letter-spacing: .25px !important;
  }
  .fpvdronas-product-ribbon:not(.fpvdronas-discount-ribbon) { left: 8px !important; }
  .fpvdronas-discount-ribbon { right: 8px !important; }
  .fpvdronas-discount-ribbon.has-main-ribbon { top: 8px !important; right: 8px !important; }
  .fpvdronas-product-card-content { padding: 10px 10px 8px !important; gap: 6px !important; }
  .fpvdronas-product-card-brand { font-size: 8.2px !important; letter-spacing: 1.25px !important; }
  .fpvdronas-product-card-title,
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 12.2px !important; line-height: 1.15 !important; }
  .fpvdronas-product-card-sku { font-size: 8.2px !important; }
  .fpvdronas-product-card-badges span { min-height: 18px !important; padding: 2px 5px !important; font-size: 8.2px !important; }
  .fpvdronas-product-card-footer {
    grid-template-columns: minmax(0, 1fr) clamp(36px, 25%, 42px) !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px !important;
  }
  .fpvdronas-product-card-price,
  .woocommerce ul.products li.product .price { font-size: 15.5px !important; min-height: 24px !important; }
  .fpvdronas-product-card-price .amount,
  .woocommerce ul.products li.product .price .amount { white-space: nowrap !important; }
  .fpvdronas-product-card-price del,
  .woocommerce ul.products li.product .price del { font-size: 9.5px !important; }
  .fpvdronas-product-card-actions {
    justify-content: flex-end !important;
    width: auto !important;
    min-width: 0 !important;
  }
  .fpvdronas-card-cart-icon { width: 20px !important; height: 20px !important; }
}
@media (max-width: 380px) {
  .fpvdronas-product-card-title,
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 12.5px !important; }
  .fpvdronas-product-card-price,
  .woocommerce ul.products li.product .price { font-size: 14.5px !important; }
}

/* ==========================================================
   D0 E-SHOP active product-card and palette normalization
   ========================================================== */

/* Basic safety without changing layout appearance. */
html, body { max-width: 100%; overflow-x: hidden; }
img, video, iframe { max-width: 100%; height: auto; }

/* Header top gray line: text follows background palette color. */
.fpv-topbar,
.fpv-topbar a,
.fpv-topbar span,
.topbar,
.topbar a,
.topbar span,
.site-topbar,
.site-topbar a,
.site-topbar span {
  color: var(--c-top-footer-text, #6D7F88) !important;
}

/* Product-card color bindings. */
.woocommerce ul.products li.product .fpvdronas-product-card-brand,
ul.products li.product .fpvdronas-product-card-brand,
.fpvdronas-product-card .fpvdronas-product-card-brand {
  color: var(--c-accent, #FF6A00) !important;
}

.woocommerce ul.products li.product .fpvdronas-product-card-price,
ul.products li.product .fpvdronas-product-card-price,
.fpvdronas-product-card .fpvdronas-product-card-price,
.woocommerce ul.products li.product .price,
ul.products li.product .price {
  color: var(--c-accent, #FF6A00) !important;
}

.woocommerce ul.products li.product .fpvdronas-product-card-price ins,
.woocommerce ul.products li.product .fpvdronas-product-card-price ins .amount,
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins .amount,
ul.products li.product .fpvdronas-product-card-price ins,
ul.products li.product .fpvdronas-product-card-price ins .amount,
ul.products li.product .price ins,
ul.products li.product .price ins .amount,
.fpvdronas-product-card .fpvdronas-product-card-price ins,
.fpvdronas-product-card .fpvdronas-product-card-price ins .amount {
  color: var(--c-accent, #FF6A00) !important;
  background: transparent !important;
  text-decoration: none !important;
}

.woocommerce ul.products li.product .fpvdronas-product-card-price del,
.woocommerce ul.products li.product .fpvdronas-product-card-price del .amount,
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del .amount,
ul.products li.product .fpvdronas-product-card-price del,
ul.products li.product .fpvdronas-product-card-price del .amount,
ul.products li.product .price del,
ul.products li.product .price del .amount,
.fpvdronas-product-card .fpvdronas-product-card-price del,
.fpvdronas-product-card .fpvdronas-product-card-price del .amount {
  color: var(--c-text, #3A3A3A) !important;
  opacity: 1 !important;
  text-decoration: line-through !important;
}

.woocommerce ul.products li.product .fpvdronas-product-card-price > .amount,
ul.products li.product .fpvdronas-product-card-price > .amount,
.fpvdronas-product-card .fpvdronas-product-card-price > .amount {
  color: var(--c-accent, #FF6A00) !important;
}

/* Product-card 3-block chip: one palette value controls text and border. */
.woocommerce ul.products li.product .fpvdronas-product-card-badges span,
ul.products li.product .fpvdronas-product-card-badges span,
.fpvdronas-product-card .fpvdronas-product-card-badges span {
  color: var(--c-card-chip, #3A3A3A) !important;
  border-color: var(--c-card-chip, #3A3A3A) !important;
  background: var(--c-card-chip-bg, rgba(58,58,58,.08)) !important;
}

/* Product-card ribbons: solid backgrounds from their own palette controls. */
.woocommerce ul.products li.product .fpvdronas-product-ribbon,
ul.products li.product .fpvdronas-product-ribbon,
.fpvdronas-product-card .fpvdronas-product-ribbon {
  color: var(--c-bg, #F1F1F1) !important;
  background: var(--c-note-ribbon, #FF6A00) !important;
  border-color: var(--c-note-ribbon, #FF6A00) !important;
  box-shadow: none !important;
}

.woocommerce ul.products li.product .fpvdronas-product-ribbon.fpvdronas-discount-ribbon,
ul.products li.product .fpvdronas-product-ribbon.fpvdronas-discount-ribbon,
.fpvdronas-product-card .fpvdronas-product-ribbon.fpvdronas-discount-ribbon {
  color: var(--c-bg, #F1F1F1) !important;
  background: var(--c-sale-ribbon, #FF6A00) !important;
  border-color: var(--c-sale-ribbon, #FF6A00) !important;
  box-shadow: none !important;
}

/* Single product ribbon palette binding. */
body.single-product .fpvdronas-single-ribbon,
body.single-product .fpvdronas-note-ribbon,
body.single-product .fpvdronas-product-ribbon:not(.fpvdronas-discount-ribbon) {
  color: var(--c-bg, #F1F1F1) !important;
  background: var(--c-note-ribbon, #FF6A00) !important;
  border-color: var(--c-note-ribbon, #FF6A00) !important;
}

body.single-product .fpvdronas-single-ribbon.is-sale,
body.single-product .fpvdronas-discount-ribbon,
body.single-product .onsale {
  color: var(--c-bg, #F1F1F1) !important;
  background: var(--c-sale-ribbon, #FF6A00) !important;
  border-color: var(--c-sale-ribbon, #FF6A00) !important;
}

/* Related/similar products are narrower than homepage grids, so mobile uses one column. */
@media (max-width: 520px) {
  body.single-product .related.products ul.products,
  body.single-product .fpvdronas-related-products ul.products,
  body.single-product .upsells.products ul.products,
  body.single-product .cross-sells ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* Homepage/category product cards keep two columns on mobile. */
@media (max-width: 520px) {
  body:not(.single-product) .woocommerce ul.products,
  body:not(.single-product) ul.products,
  body:not(.single-product) .product-grid,
  body:not(.single-product) .fpvdronas-category-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}

/* Canonical mobile homepage/product-card cart button sizing.
   This is the only active mobile size rule for product-card add-to-cart buttons. */
@media (max-width: 520px) {
  body:not(.single-product) .woocommerce ul.products li.product .fpvdronas-product-card-footer,
  body:not(.single-product) ul.products li.product .fpvdronas-product-card-footer,
  body:not(.single-product) .fpvdronas-product-card .fpvdronas-product-card-footer,
  body.single-product .related.products ul.products li.product .fpvdronas-product-card-footer,
  body.single-product .fpvdronas-related-products ul.products li.product .fpvdronas-product-card-footer {
    grid-template-columns: minmax(0, 1fr) 34px !important;
    gap: 8px !important;
    padding: 8px 10px 10px 10px !important;
  }

  body:not(.single-product) .woocommerce ul.products li.product .fpvdronas-product-card-actions,
  body:not(.single-product) ul.products li.product .fpvdronas-product-card-actions,
  body:not(.single-product) .fpvdronas-product-card .fpvdronas-product-card-actions,
  body.single-product .related.products ul.products li.product .fpvdronas-product-card-actions,
  body.single-product .fpvdronas-related-products ul.products li.product .fpvdronas-product-card-actions {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    inline-size: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    block-size: 34px !important;
    flex: 0 0 34px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body:not(.single-product) .woocommerce ul.products li.product .fpvdronas-card-cart-button,
  body:not(.single-product) ul.products li.product .fpvdronas-card-cart-button,
  body:not(.single-product) .fpvdronas-product-card .fpvdronas-card-cart-button,
  body.single-product .related.products ul.products li.product .fpvdronas-card-cart-button,
  body.single-product .fpvdronas-related-products ul.products li.product .fpvdronas-card-cart-button {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    inline-size: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    block-size: 34px !important;
    aspect-ratio: 1 / 1 !important;
    flex: 0 0 34px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 6px !important;
    line-height: 1 !important;
    font-size: 0 !important;
  }
}


/* V2.3.17 - Top/Footer text palette + mobile footer bottom order.
   Scope: topbar/footer text color and footer-bottom mobile layout only. */
.fpv-topbar,
.fpv-topbar a,
.fpv-topbar span,
.topbar,
.topbar a,
.topbar span,
.site-topbar,
.site-topbar a,
.site-topbar span,
.site-footer,
.site-footer p,
.site-footer li,
.site-footer span,
.site-footer a,
.site-footer .footer-desc,
.site-footer .footer-links a,
.site-footer .footer-menu a,
.site-footer .footer-bottom,
.site-footer .footer-bottom a,
.site-footer .footer-contact-col,
.site-footer .footer-contact-col li,
.site-footer .footer-contact-col a,
.site-footer .footer-contact-col p,
.site-footer .footer-contact-col span {
  color: var(--c-top-footer-text, #6D7F88) !important;
  -webkit-text-fill-color: var(--c-top-footer-text, #6D7F88) !important;
}

.topbar a:hover,
.site-topbar a:hover,
.fpv-topbar a:hover,
.site-footer a:hover {
  color: var(--c-accent, #FF6A00) !important;
  -webkit-text-fill-color: var(--c-accent, #FF6A00) !important;
}

.site-footer .footer-col-title,
.site-footer .footer-contact-col .footer-col-title,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6 {
  color: var(--c-accent, #FF6A00) !important;
  -webkit-text-fill-color: var(--c-accent, #FF6A00) !important;
}

.site-footer .footer-bottom-menu {
  display: none !important;
}

.site-footer .footer-bottom-media,
.site-footer .footer-bottom-left,
.site-footer .footer-bottom-right {
  min-width: 0 !important;
}

.site-footer .footer-bottom-media {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.site-footer .footer-bottom-right {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0 !important;
  margin-left: 0 !important;
  text-align: right !important;
}

.site-footer .footer-bottom-left {
  display: inline-flex !important;
  align-items: center !important;
}

@media (max-width: 782px) {
  .site-footer .footer-bottom {
    display: grid !important;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr) !important;
    grid-template-areas:
      "footerimage footerright"
      "footerleft footerleft" !important;
    align-items: center !important;
    gap: 10px 14px !important;
    width: 100% !important;
  }

  .site-footer .footer-bottom-media {
    grid-area: footerimage !important;
    justify-self: start !important;
    text-align: left !important;
  }

  .site-footer .footer-bottom-right {
    grid-area: footerright !important;
    justify-self: end !important;
    text-align: right !important;
    justify-content: flex-end !important;
  }

  .site-footer .footer-bottom-left {
    grid-area: footerleft !important;
    justify-self: center !important;
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    margin-top: 2px !important;
  }

  .site-footer .footer-bottom-left span {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }

  .site-footer .footer-bottom .footer-bottom-image {
    height: 28px !important;
    max-height: 28px !important;
    width: auto !important;
  }
}

/* Desktop product grid and content-sized product-card ribbons. */
@media (min-width: 1025px) {
  body.home .products-section .product-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  body.home .products-section .product-grid > li.product,
  body.home .products-section .product-grid > .product-card {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body.home .products-section .fpvdronas-product-ribbon,
  body.home .products-section .fpvdronas-discount-ribbon,
  body.archive .fpvdronas-product-ribbon,
  body.archive .fpvdronas-discount-ribbon,
  body.tax-product_cat .fpvdronas-product-ribbon,
  body.tax-product_cat .fpvdronas-discount-ribbon,
  body.post-type-archive-product .fpvdronas-product-ribbon,
  body.post-type-archive-product .fpvdronas-discount-ribbon {
    width: auto !important;
    min-width: 0 !important;
    min-height: 32px !important;
    padding: 6px 10px !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    border-radius: 5px !important;
    white-space: normal !important;
  }

  body.home .products-section .fpvdronas-product-ribbon:not(.fpvdronas-discount-ribbon),
  body.archive .fpvdronas-product-ribbon:not(.fpvdronas-discount-ribbon),
  body.tax-product_cat .fpvdronas-product-ribbon:not(.fpvdronas-discount-ribbon),
  body.post-type-archive-product .fpvdronas-product-ribbon:not(.fpvdronas-discount-ribbon) {
    left: 10px !important;
    right: auto !important;
    max-width: calc(100% - 20px) !important;
  }

  body.home .products-section .fpvdronas-product-ribbon.has-sale-ribbon:not(.fpvdronas-discount-ribbon),
  body.archive .fpvdronas-product-ribbon.has-sale-ribbon:not(.fpvdronas-discount-ribbon),
  body.tax-product_cat .fpvdronas-product-ribbon.has-sale-ribbon:not(.fpvdronas-discount-ribbon),
  body.post-type-archive-product .fpvdronas-product-ribbon.has-sale-ribbon:not(.fpvdronas-discount-ribbon) {
    max-width: calc(100% - 122px) !important;
  }

  body.home .products-section .fpvdronas-discount-ribbon,
  body.archive .fpvdronas-discount-ribbon,
  body.tax-product_cat .fpvdronas-discount-ribbon,
  body.post-type-archive-product .fpvdronas-discount-ribbon {
    left: auto !important;
    right: 10px !important;
    max-width: 96px !important;
  }
}

/* The slider section itself must not reserve aspect-ratio space; only the actual slider does. */
body.home section.fpv-home-native-slider,
body.home .fpv-home-native-slider.fpv-home-native-slider-v130,
body.home .fpv-home-native-slider.section-inner {
  aspect-ratio: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin-top: 10px !important;
  margin-bottom: 10px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.home section.fpv-home-native-slider + script + section.fpv-home-category-cards,
body.home section.fpv-home-native-slider + section.fpv-home-category-cards,
body.home .fpv-home-category-cards,
body.home section.fpv-home-category-cards,
body.home .categories.fpv-home-category-cards,
body.home .fpv-home-editable-cards {
  margin-top: 0 !important;
  padding-top: 10px !important;
}

/* Single product price and ribbon palette correction. */
body.single-product .summary .fpvdronas-single-price-row,
body.single-product .summary.entry-summary .fpvdronas-single-price-row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

body.single-product .summary .fpvdronas-single-price-row .price,
body.single-product .summary.entry-summary .fpvdronas-single-price-row .price {
  margin: 0 !important;
  color: var(--c-text, #3A3A3A) !important;
}

body.single-product .summary .fpvdronas-single-price-row .price del,
body.single-product .summary .fpvdronas-single-price-row .price del .amount,
body.single-product .summary .fpvdronas-single-price-row .price del .woocommerce-Price-amount,
body.single-product .summary.entry-summary .fpvdronas-single-price-row .price del,
body.single-product .summary.entry-summary .fpvdronas-single-price-row .price del .amount,
body.single-product .summary.entry-summary .fpvdronas-single-price-row .price del .woocommerce-Price-amount {
  color: var(--c-text, #3A3A3A) !important;
  opacity: 1 !important;
}

body.single-product .summary .fpvdronas-single-price-row .price ins,
body.single-product .summary .fpvdronas-single-price-row .price ins .amount,
body.single-product .summary .fpvdronas-single-price-row .price ins .woocommerce-Price-amount,
body.single-product .summary.entry-summary .fpvdronas-single-price-row .price ins,
body.single-product .summary.entry-summary .fpvdronas-single-price-row .price ins .amount,
body.single-product .summary.entry-summary .fpvdronas-single-price-row .price ins .woocommerce-Price-amount,
body.single-product .summary .fpvdronas-single-price-row .price > .amount,
body.single-product .summary .fpvdronas-single-price-row .price > .woocommerce-Price-amount,
body.single-product .summary.entry-summary .fpvdronas-single-price-row .price > .amount,
body.single-product .summary.entry-summary .fpvdronas-single-price-row .price > .woocommerce-Price-amount {
  color: var(--c-accent, #FF6A00) !important;
  background: transparent !important;
  text-decoration: none !important;
}

body.single-product .summary .fpvdronas-sale-text-badge,
body.single-product .summary.entry-summary .fpvdronas-sale-text-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 4px 9px !important;
  border-radius: 7px !important;
  background: var(--c-sale-ribbon, #008000) !important;
  border: 1px solid var(--c-sale-ribbon, #008000) !important;
  color: var(--c-bg, #F1F1F1) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  line-height: 1.05 !important;
  text-transform: uppercase !important;
  text-align: center !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

body.single-product .summary .fpvdronas-single-ribbon,
body.single-product .summary.entry-summary .fpvdronas-single-ribbon {
  background: var(--c-note-ribbon, #0057D9) !important;
  border: 1px solid var(--c-note-ribbon, #0057D9) !important;
  color: var(--c-bg, #F1F1F1) !important;
  box-shadow: none !important;
}


/* Mobile product tabs accordion and compact specification tables. */
@media (max-width: 782px) {
  body.single-product .woocommerce div.product .woocommerce-tabs {
    border-radius: 8px !important;
    overflow: hidden !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    border-bottom: 0 !important;
    background: var(--c-surface, #FFFFFF) !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
    width: 100% !important;
    min-width: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--c-border, #E0E0E0) !important;
    background: var(--c-surface, #FFFFFF) !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 38px !important;
    padding: 9px 18px !important;
    text-align: left !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    letter-spacing: .35px !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--c-accent, #FF6A00) !important;
    box-shadow: inset 0 -3px 0 var(--c-accent, #FF6A00) !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li .panel,
  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li .woocommerce-Tabs-panel {
    width: 100% !important;
    padding: 14px 18px 16px !important;
    margin: 0 !important;
    border-top: 1px solid var(--c-border, #E0E0E0) !important;
    background: var(--c-surface, #FFFFFF) !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs > .panel,
  body.single-product .woocommerce div.product .woocommerce-tabs > .woocommerce-Tabs-panel {
    padding: 14px 18px 16px !important;
    margin: 0 !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs .panel h2:first-child,
  body.single-product .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h2:first-child {
    display: none !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes,
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table {
    display: table !important;
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    border: 1px solid var(--c-border, #E0E0E0) !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes tr,
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table tr {
    display: table-row !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes th,
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table th {
    display: table-cell !important;
    width: 45% !important;
    padding: 9px 10px !important;
    text-align: left !important;
    vertical-align: top !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    word-break: break-word !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes td,
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table td {
    display: table-cell !important;
    width: 55% !important;
    padding: 9px 10px !important;
    text-align: right !important;
    vertical-align: top !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    word-break: break-word !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes td p,
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table td p {
    margin: 0 !important;
    padding: 0 !important;
    text-align: right !important;
  }
}
/* End mobile product tabs accordion */



/* V2.3.28 - Consolidated responsive framework for static pages, WooCommerce system pages, category pages and blog. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img, video, iframe, embed, object {
  max-width: 100%;
  height: auto;
}

.site-main,
.content-area,
.woocommerce-main,
.fpv-page-main,
.fpv-flex-wrap {
  width: 100%;
  max-width: 100%;
}

.entry-content,
.fpv-flex-content,
.fpv-article-content,
.fpv-page-content-card,
.woocommerce,
.woocommerce-page {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}

.entry-content table,
.fpv-flex-content table,
.fpv-article-content table,
.woocommerce table {
  width: 100%;
  max-width: 100%;
}

body.page:not(.home) .fpv-page-main .section-inner,
body.page:not(.home) .site-main > .section-inner,
body.blog .section-inner,
body.search .section-inner,
body.archive:not(.tax-product_cat):not(.tax-product_tag) .section-inner,
.fpv-product-category-page .section-inner {
  width: min(1180px, calc(100% - 32px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.page:not(.home) .fpv-page-content-card,
body.page:not(.home) .fpv-page-intro-card,
body.page:not(.home) .entry-card,
body.page:not(.home) .wp-block-group,
body.page:not(.home) .wp-block-cover,
.fpv-flex-shell,
.fpv-seo-card,
.fpv-article-shell {
  max-width: 100%;
  box-sizing: border-box;
}

body.page:not(.home) .wp-block-columns,
body.page:not(.home) .columns,
body.page:not(.home) .fpv-two-column,
body.page:not(.home) .fpv-section-row,
body.page:not(.home) .fpv-flex-row,
body.page:not(.home) .is-layout-flex {
  min-width: 0;
  max-width: 100%;
}

body.page:not(.home) .wp-block-column,
body.page:not(.home) .fpv-section-col,
body.page:not(.home) .fpv-flex-col {
  min-width: 0;
}

.fpv-card-grid,
.fpv-card-grid-list,
.fpv-home-category-grid,
.fpv-blog-grid {
  max-width: 100%;
}

.fpv-card-grid-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 18px;
}

.fpv-seo-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 340px);
  gap: 24px;
  align-items: start;
}

.fpv-blog-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.fpv-product-category-page .fpvdronas-category-layout-with-filter {
  display: grid !important;
  grid-template-columns: 210px minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: start !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
}

.fpv-product-category-page .fpvdronas-category-layout-with-filter:not(:has(.fpvdronas-filter-sidebar)) {
  display: block !important;
  max-width: 980px !important;
}

.fpv-product-category-page ul.products,
.fpv-product-category-page .woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.fpv-product-category-page ul.products::before,
.fpv-product-category-page ul.products::after {
  display: none !important;
}

.fpv-product-category-page ul.products li.product,
.fpv-product-category-page .woocommerce ul.products li.product {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-account .woocommerce {
  width: min(1180px, calc(100% - 32px)) !important;
  max-width: 1180px !important;
  margin: 32px auto 48px !important;
  min-width: 0 !important;
}

body.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
  gap: 28px;
  align-items: start;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .cart_totals {
  min-width: 0;
  max-width: 100%;
}

body.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
}

@media (max-width: 1180px) {
  .section-inner,
  .site-container,
  .fpv-flex-wrap,
  .woocommerce-main,
  .content-area {
    max-width: 100% !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .fpv-product-category-page .fpvdronas-category-layout-with-filter {
    grid-template-columns: 190px minmax(0, 1fr) !important;
    gap: 22px !important;
  }

  .fpv-product-category-page ul.products,
  .fpv-product-category-page .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .fpv-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1024px) {
  .fpv-page-main .fpv-page-intro-row,
  .fpv-product-category-page .fpv-page-intro-row {
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
    row-gap: 12px !important;
  }

  .fpv-page-main .fpv-page-title-badge,
  .fpv-product-category-page .fpv-page-title-badge {
    max-width: 100% !important;
    width: auto !important;
    white-space: normal !important;
  }

  .fpv-product-category-page .fpvdronas-category-layout-with-filter,
  .fpv-seo-hero,
  body.woocommerce-checkout form.checkout,
  body.woocommerce-account .woocommerce {
    grid-template-columns: 1fr !important;
  }

  .fpvdronas-filter-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
    top: auto !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important;
    gap: 8px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation li {
    list-style: none !important;
    margin: 0 !important;
  }
}

@media (max-width: 782px) {
  body.page:not(.home) .fpv-page-main .section-inner,
  body.page:not(.home) .site-main > .section-inner,
  body.blog .section-inner,
  body.search .section-inner,
  body.archive:not(.tax-product_cat):not(.tax-product_tag) .section-inner,
  .fpv-product-category-page .section-inner,
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .woocommerce,
  body.woocommerce-account .woocommerce {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .fpv-page-intro,
  .fpv-category-page-intro {
    padding-top: 14px !important;
    padding-bottom: 10px !important;
  }

  body.page:not(.home) .fpv-page-title-badge,
  .fpv-product-category-page .fpv-page-title-badge {
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 6px 12px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    letter-spacing: 1.5px !important;
  }

  body.page:not(.home) .fpv-page-content-card,
  body.page:not(.home) .fpv-page-intro-card,
  .fpv-product-category-page .fpv-category-description-card,
  .fpv-flex-shell,
  .fpv-seo-panel,
  .entry-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 16px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 10px !important;
  }

  body.page:not(.home) .entry-content,
  body.page:not(.home) .fpv-page-content-card .entry-content,
  body.page:not(.home) .fpv-page-intro-card .entry-content,
  .fpv-product-category-page .fpv-category-description-card .entry-content,
  body.blog .entry-content,
  body.single-post .entry-content,
  body.search .entry-summary {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .fpv-page-lower-content,
  .fpv-category-products-wrap {
    padding-top: 16px !important;
    padding-bottom: 32px !important;
  }

  .fpv-product-category-page .fpvdronas-filter-sidebar,
  .fpv-product-category-page .fpvdronas-filter-sidebar form,
  .fpv-product-category-page .fpvdronas-filter-sidebar .widget {
    width: 100% !important;
    max-width: 100% !important;
  }

  .fpv-product-category-page ul.products,
  .fpv-product-category-page .woocommerce ul.products,
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.page:not(.home) .fpv-card-grid,
  body.page:not(.home) .fpv-card-grid-list,
  body.archive:not(.tax-product_cat):not(.tax-product_tag) .fpv-blog-grid,
  body.blog .fpv-blog-grid,
  body.search .fpv-blog-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.page:not(.home) .wp-block-columns,
  body.page:not(.home) .columns,
  body.page:not(.home) .fpv-two-column,
  body.page:not(.home) .fpv-section-row,
  body.page:not(.home) .fpv-flex-row,
  body.page:not(.home) .is-layout-flex {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  body.page:not(.home) .wp-block-column,
  body.page:not(.home) .fpv-section-col,
  body.page:not(.home) .fpv-flex-col {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
  }

  body.page:not(.home) .entry-content h1,
  body.blog h1,
  body.single-post h1 {
    font-size: clamp(24px, 8vw, 34px) !important;
    line-height: 1.12 !important;
  }

  body.page:not(.home) .entry-content h2,
  body.blog h2,
  body.single-post h2 {
    font-size: clamp(20px, 6vw, 28px) !important;
    line-height: 1.18 !important;
  }

  body.woocommerce-checkout form.checkout,
  body.woocommerce-account .woocommerce {
    display: block !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation,
  body.woocommerce-account .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: flex !important;
    min-height: 40px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 8px 10px !important;
    border: 1px solid var(--c-border) !important;
    border-radius: 8px !important;
    background: var(--c-surface) !important;
  }

  body.woocommerce-cart table.shop_table,
  body.woocommerce-checkout table.shop_table,
  body.woocommerce-account table.shop_table {
    display: block !important;
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.woocommerce-cart .cart-collaterals,
  body.woocommerce-cart .cart_totals,
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout #order_review_heading {
    width: 100% !important;
    float: none !important;
    clear: both !important;
  }

  body.woocommerce form .form-row-first,
  body.woocommerce form .form-row-last,
  body.woocommerce-page form .form-row-first,
  body.woocommerce-page form .form-row-last {
    width: 100% !important;
    float: none !important;
  }

  body.woocommerce input.input-text,
  body.woocommerce textarea,
  body.woocommerce select,
  body.woocommerce button.button,
  body.woocommerce a.button,
  body.woocommerce input.button {
    max-width: 100% !important;
  }
}

@media (max-width: 520px) {
  .fpv-product-category-page ul.products,
  .fpv-product-category-page .woocommerce ul.products,
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  body.page:not(.home) .entry-content,
  body.page:not(.home) .fpv-page-content-card .entry-content,
  body.page:not(.home) .fpv-page-intro-card .entry-content,
  .fpv-product-category-page .fpv-category-description-card .entry-content {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    grid-template-columns: 1fr !important;
  }
}

/* ===== V2.3.29 category mobile UX fixes ===== */
body.tax-product_cat .fpv-category-description-toggle {
  cursor: pointer !important;
  user-select: none !important;
}

body.tax-product_cat .fpv-category-description-toggle:focus-visible {
  outline: 2px solid var(--c-accent) !important;
  outline-offset: 3px !important;
}

body.tax-product_cat .fpv-category-description-card[hidden] {
  display: none !important;
}

body.tax-product_cat .fpv-category-description-card.is-open {
  display: flex !important;
}

body.tax-product_cat .fpv-category-description-card .entry-content {
  font-size: 10.1px !important;
  line-height: 1.45 !important;
}

body.tax-product_cat .fpvdronas-mobile-filter-toggle {
  display: none !important;
}

@media (max-width: 900px) {
  body.tax-product_cat .fpv-page-intro-row {
    grid-template-columns: 1fr !important;
  }

  body.tax-product_cat .fpvdronas-mobile-filter-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    margin: 12px 0 0 !important;
    padding: 9px 18px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: var(--c-accent) !important;
    color: var(--c-white) !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
  }

  body.tax-product_cat .fpvdronas-category-layout-with-filter {
    display: block !important;
    margin: 0 auto 42px !important;
    padding: 0 12px !important;
  }

  body.tax-product_cat .fpvdronas-filter-sidebar {
    display: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 18px !important;
    padding: 14px !important;
    background: rgba(255,255,255,.55) !important;
    border: 1px solid rgba(58,58,58,.12) !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
  }

  body.tax-product_cat .fpvdronas-filter-sidebar.is-open {
    display: block !important;
  }

  body.tax-product_cat .fpvdronas-category-layout-with-filter .fpv-category-products-section,
  body.tax-product_cat .fpv-category-products-section {
    width: 100% !important;
    max-width: none !important;
  }

  body.tax-product_cat .fpvdronas-category-layout-with-filter .products,
  body.tax-product_cat .fpv-category-products-section ul.products,
  body.tax-product_cat ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.tax-product_cat .fpvdronas-category-layout-with-filter ul.products li.product,
  body.tax-product_cat .fpv-category-products-section ul.products li.product,
  body.tax-product_cat ul.products li.product {
    float: none !important;
    clear: none !important;
    flex: none !important;
    flex-basis: auto !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 560px) {
  body.tax-product_cat .fpvdronas-category-layout-with-filter .products,
  body.tax-product_cat .fpv-category-products-section ul.products,
  body.tax-product_cat ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.tax-product_cat .fpvdronas-category-layout-with-filter ul.products li.product,
  body.tax-product_cat .fpv-category-products-section ul.products li.product,
  body.tax-product_cat ul.products li.product {
    float: none !important;
    clear: none !important;
    flex: none !important;
    flex-basis: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}

/* ===== V2.3.32 - Product category mobile grid hard override =====
   Scope: WooCommerce product-category/tag/archive product loops only.
   Purpose: override WooCommerce .columns-* item widths with higher specificity,
   so mobile category grids render as two equal full-width columns instead of
   narrow content-sized cards. Older V2.3.31 duplicate rules are replaced here. */

.fpv-product-category-page .fpv-category-products-section,
.fpv-product-category-page .fpv-category-products-wrap,
body.tax-product_cat .fpv-category-products-section,
body.post-type-archive-product .fpv-category-products-section,
body.tax-product_tag .fpv-category-products-section {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.tax-product_cat.woocommerce .fpv-product-category-page .fpv-category-products-section ul.products,
body.tax-product_cat.woocommerce-page .fpv-product-category-page .fpv-category-products-section ul.products,
body.post-type-archive-product.woocommerce .fpv-product-category-page .fpv-category-products-section ul.products,
body.post-type-archive-product.woocommerce-page .fpv-product-category-page .fpv-category-products-section ul.products,
body.tax-product_tag.woocommerce .fpv-product-category-page .fpv-category-products-section ul.products,
body.tax-product_tag.woocommerce-page .fpv-product-category-page .fpv-category-products-section ul.products,
.fpv-product-category-page .fpv-category-products-section ul.products.products,
.fpv-product-category-page .woocommerce ul.products.products {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  box-sizing: border-box !important;
  align-items: stretch !important;
  justify-items: stretch !important;
}

body.tax-product_cat.woocommerce .fpv-product-category-page .fpv-category-products-section ul.products::before,
body.tax-product_cat.woocommerce .fpv-product-category-page .fpv-category-products-section ul.products::after,
body.tax-product_cat.woocommerce-page .fpv-product-category-page .fpv-category-products-section ul.products::before,
body.tax-product_cat.woocommerce-page .fpv-product-category-page .fpv-category-products-section ul.products::after,
.fpv-product-category-page .fpv-category-products-section ul.products::before,
.fpv-product-category-page .fpv-category-products-section ul.products::after {
  content: none !important;
  display: none !important;
}

body.tax-product_cat.woocommerce .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"] > li.product,
body.tax-product_cat.woocommerce-page .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"] > li.product,
body.post-type-archive-product.woocommerce .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"] > li.product,
body.post-type-archive-product.woocommerce-page .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"] > li.product,
body.tax-product_tag.woocommerce .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"] > li.product,
body.tax-product_tag.woocommerce-page .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"] > li.product,
.fpv-product-category-page .fpv-category-products-section ul.products.products > li.product.fpvdronas-product-card,
.fpv-product-category-page .woocommerce ul.products.products > li.product.fpvdronas-product-card {
  float: none !important;
  clear: none !important;
  display: flex !important;
  flex-direction: column !important;
  flex: initial !important;
  flex-basis: auto !important;
  justify-self: stretch !important;
  align-self: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.tax-product_cat .fpv-product-category-page ul.products > li.product.fpvdronas-product-card .fpvdronas-product-card-link,
body.post-type-archive-product .fpv-product-category-page ul.products > li.product.fpvdronas-product-card .fpvdronas-product-card-link,
body.tax-product_tag .fpv-product-category-page ul.products > li.product.fpvdronas-product-card .fpvdronas-product-card-link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  body.tax-product_cat .fpv-product-category-page .fpvdronas-category-layout-with-filter,
  body.post-type-archive-product .fpv-product-category-page .fpvdronas-category-layout-with-filter,
  body.tax-product_tag .fpv-product-category-page .fpvdronas-category-layout-with-filter {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.tax-product_cat.woocommerce .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"],
  body.tax-product_cat.woocommerce-page .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"],
  body.post-type-archive-product.woocommerce .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"],
  body.post-type-archive-product.woocommerce-page .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"],
  body.tax-product_tag.woocommerce .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"],
  body.tax-product_tag.woocommerce-page .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"],
  .fpv-product-category-page .fpv-category-products-section ul.products.products,
  .fpv-product-category-page .woocommerce ul.products.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 14px !important;
    row-gap: 16px !important;
  }
}

@media (max-width: 520px) {
  .fpv-product-category-page .section-inner,
  body.tax-product_cat .fpv-product-category-page .section-inner,
  body.post-type-archive-product .fpv-product-category-page .section-inner,
  body.tax-product_tag .fpv-product-category-page .section-inner {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
  }

  body.tax-product_cat.woocommerce .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"],
  body.tax-product_cat.woocommerce-page .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"],
  body.post-type-archive-product.woocommerce .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"],
  body.post-type-archive-product.woocommerce-page .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"],
  body.tax-product_tag.woocommerce .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"],
  body.tax-product_tag.woocommerce-page .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"],
  .fpv-product-category-page .fpv-category-products-section ul.products.products,
  .fpv-product-category-page .woocommerce ul.products.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 14px !important;
    row-gap: 16px !important;
  }

  body.tax-product_cat.woocommerce .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"] > li.product,
  body.tax-product_cat.woocommerce-page .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"] > li.product,
  body.post-type-archive-product.woocommerce .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"] > li.product,
  body.post-type-archive-product.woocommerce-page .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"] > li.product,
  body.tax-product_tag.woocommerce .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"] > li.product,
  body.tax-product_tag.woocommerce-page .fpv-product-category-page .fpv-category-products-section ul.products.products[class*="columns-"] > li.product,
  .fpv-product-category-page .fpv-category-products-section ul.products.products > li.product.fpvdronas-product-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-self: stretch !important;
  }

  body.tax-product_cat .fpv-product-category-page ul.products > li.product.fpvdronas-product-card .fpvdronas-product-card-image,
  body.post-type-archive-product .fpv-product-category-page ul.products > li.product.fpvdronas-product-card .fpvdronas-product-card-image,
  body.tax-product_tag .fpv-product-category-page ul.products > li.product.fpvdronas-product-card .fpvdronas-product-card-image {
    aspect-ratio: 4 / 3 !important;
    width: 100% !important;
    min-height: 0 !important;
  }
}


/* V2.3.33 - Mobile-only secondary client footer menu.
   Shows an assignable mobile footer menu under KLIENTAMS; defaults to Topbar right menu markup in footer.php. */
.footer-mobile-topbar-menu {
  display: none;
}

@media (max-width: 782px) {
  .site-footer .footer-mobile-topbar-menu {
    display: block !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--c-footer-border, #333333) !important;
  }

  .site-footer .footer-mobile-topbar-menu .footer-menu,
  .site-footer .footer-mobile-topbar-menu .footer-links {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
}

/* ===== V2.3.34 - responsive templates + click-to-open description boxes ===== */
.fpv-page-description-card[hidden],
.fpv-category-description-card[hidden],
.fpv-page-intro-card[hidden],
.fpv-page-content-card[hidden] {
  display: none !important;
}

.fpv-page-description-toggle,
.fpv-category-description-toggle {
  cursor: pointer !important;
  user-select: none !important;
}

.fpv-page-description-toggle:focus-visible,
.fpv-category-description-toggle:focus-visible {
  outline: 2px solid var(--c-accent, #FF6A00) !important;
  outline-offset: 3px !important;
}

html body .site,
html body .site-main,
html body .fpv-page-main,
html body .fpv-product-category-page,
html body .woocommerce,
html body .woocommerce-page {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: clip !important;
  box-sizing: border-box !important;
}

html body .section-inner,
html body .site-container,
html body .header-inner,
html body .topbar-inner,
html body .nav-inner,
html body .fpvdronas-orange-notice-inner {
  width: 100% !important;
  max-width: 1380px !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

html body .fpv-blog-container {
  width: 100% !important;
  max-width: 1380px !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

html body main.fpv-blog-index-page,
html body main.fpv-article-page {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
  box-sizing: border-box !important;
}

html body.page main.fpv-page-main > .fpv-page-intro > .section-inner,
html body.tax-product_cat main.fpv-product-category-page > .fpv-page-intro > .section-inner,
html body.tax-product_tag main.fpv-product-category-page > .fpv-page-intro > .section-inner,
html body.post-type-archive-product main.fpv-product-category-page > .fpv-page-intro > .section-inner {
  max-width: 1380px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

html body.page main.fpv-page-main .fpv-page-intro-row,
html body.tax-product_cat main.fpv-product-category-page .fpv-page-intro-row,
html body.tax-product_tag main.fpv-product-category-page .fpv-page-intro-row,
html body.post-type-archive-product main.fpv-product-category-page .fpv-page-intro-row {
  display: grid !important;
  grid-template-columns: minmax(150px, 210px) minmax(0, 980px) !important;
  gap: 14px 28px !important;
  align-items: start !important;
  justify-content: start !important;
  width: 100% !important;
  max-width: 1218px !important;
  min-width: 0 !important;
  margin: 0 !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}

html body.page main.fpv-page-main .fpv-page-intro-row .fpv-page-title-badge,
html body.tax-product_cat main.fpv-product-category-page .fpv-page-intro-row .fpv-page-title-badge,
html body.tax-product_tag main.fpv-product-category-page .fpv-page-intro-row .fpv-page-title-badge,
html body.post-type-archive-product main.fpv-product-category-page .fpv-page-intro-row .fpv-page-title-badge {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 210px !important;
  height: auto !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 6px 14px 6px 18px !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

html body.page main.fpv-page-main .fpv-page-description-card,
html body.tax-product_cat main.fpv-product-category-page .fpv-category-description-card,
html body.tax-product_tag main.fpv-product-category-page .fpv-category-description-card,
html body.post-type-archive-product main.fpv-product-category-page .fpv-category-description-card {
  justify-self: stretch !important;
  width: 100% !important;
  max-width: 980px !important;
  min-width: 0 !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 8px 18px !important;
  box-sizing: border-box !important;
}

html body.page main.fpv-page-main .fpv-page-description-card .entry-content,
html body.tax-product_cat main.fpv-product-category-page .fpv-category-description-card .entry-content,
html body.tax-product_tag main.fpv-product-category-page .fpv-category-description-card .entry-content,
html body.post-type-archive-product main.fpv-product-category-page .fpv-category-description-card .entry-content {
  width: 100% !important;
  min-width: 0 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: var(--c-text, #3A3A3A) !important;
}

html body .fpv-page-description-card .entry-content > :first-child,
html body .fpv-category-description-card .entry-content > :first-child { margin-top: 0 !important; }
html body .fpv-page-description-card .entry-content > :last-child,
html body .fpv-category-description-card .entry-content > :last-child { margin-bottom: 0 !important; }

html body .fpv-page-content-wrap,
html body .fpv-page-lower-content,
html body .fpv-category-products-wrap,
html body .page-widget-area {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-top: 0 !important;
  overflow-x: clip !important;
  box-sizing: border-box !important;
}

html body .fpv-page-content-wrap > .section-inner,
html body .fpv-page-lower-content > .section-inner,
html body .fpv-category-products-wrap > .section-inner,
html body .page-widget-area > .section-inner {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

html body .fpv-card-grid,
html body .fpv-v121-card-grid,
html body .fpv-v121-page-grid,
html body .wp-block-columns,
html body .wp-block-group,
html body .entry-content,
html body .woocommerce-MyAccount-content,
html body .woocommerce-cart-form,
html body .cart_totals,
html body form.checkout {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

html body .entry-content img,
html body .entry-content iframe,
html body .entry-content video,
html body .entry-content table,
html body .woocommerce table,
html body .woocommerce-page table {
  max-width: 100% !important;
}

html body .entry-content table,
html body .woocommerce table,
html body .woocommerce-page table {
  display: block !important;
  overflow-x: auto !important;
}

@media (min-width: 1101px) {
  html body.tax-product_cat .fpv-product-category-page .fpvdronas-category-layout-with-filter,
  html body.tax-product_tag .fpv-product-category-page .fpvdronas-category-layout-with-filter,
  html body.post-type-archive-product .fpv-product-category-page .fpvdronas-category-layout-with-filter {
    display: grid !important;
    grid-template-columns: minmax(190px, 240px) minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: start !important;
  }
}

@media (max-width: 1100px) {
  html body.page main.fpv-page-main .fpv-page-intro-row,
  html body.tax-product_cat main.fpv-product-category-page .fpv-page-intro-row,
  html body.tax-product_tag main.fpv-product-category-page .fpv-page-intro-row,
  html body.post-type-archive-product main.fpv-product-category-page .fpv-page-intro-row {
    grid-template-columns: minmax(130px, 190px) minmax(0, 1fr) !important;
    max-width: 100% !important;
  }

  html body.page main.fpv-page-main .fpv-page-description-card,
  html body.tax-product_cat main.fpv-product-category-page .fpv-category-description-card,
  html body.tax-product_tag main.fpv-product-category-page .fpv-category-description-card,
  html body.post-type-archive-product main.fpv-product-category-page .fpv-category-description-card {
    max-width: 100% !important;
  }
}

@media (max-width: 782px) {
  html body.page main.fpv-page-main > .fpv-page-intro > .section-inner,
  html body.tax-product_cat main.fpv-product-category-page > .fpv-page-intro > .section-inner,
  html body.tax-product_tag main.fpv-product-category-page > .fpv-page-intro > .section-inner,
  html body.post-type-archive-product main.fpv-product-category-page > .fpv-page-intro > .section-inner,
  html body .fpv-page-content-wrap > .section-inner,
  html body .fpv-page-lower-content > .section-inner,
  html body .fpv-category-products-wrap > .section-inner,
  html body .page-widget-area > .section-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  html body .fpv-blog-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  html body.page main.fpv-page-main .fpv-page-intro-row,
  html body.tax-product_cat main.fpv-product-category-page .fpv-page-intro-row,
  html body.tax-product_tag main.fpv-product-category-page .fpv-page-intro-row,
  html body.post-type-archive-product main.fpv-product-category-page .fpv-page-intro-row {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  html body.page main.fpv-page-main .fpv-page-intro-row .fpv-page-title-badge,
  html body.tax-product_cat main.fpv-product-category-page .fpv-page-intro-row .fpv-page-title-badge,
  html body.tax-product_tag main.fpv-product-category-page .fpv-page-intro-row .fpv-page-title-badge,
  html body.post-type-archive-product main.fpv-product-category-page .fpv-page-intro-row .fpv-page-title-badge {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body .wp-block-columns {
    flex-wrap: wrap !important;
  }

  html body .wp-block-column {
    flex-basis: 100% !important;
    min-width: 0 !important;
  }

  html body.tax-product_cat .fpv-product-category-page .fpvdronas-category-layout-with-filter,
  html body.tax-product_tag .fpv-product-category-page .fpvdronas-category-layout-with-filter,
  html body.post-type-archive-product .fpv-product-category-page .fpvdronas-category-layout-with-filter {
    display: block !important;
  }
}

@media (max-width: 520px) {
  html body.page main.fpv-page-main > .fpv-page-intro > .section-inner,
  html body.tax-product_cat main.fpv-product-category-page > .fpv-page-intro > .section-inner,
  html body.tax-product_tag main.fpv-product-category-page > .fpv-page-intro > .section-inner,
  html body.post-type-archive-product main.fpv-product-category-page > .fpv-page-intro > .section-inner,
  html body .fpv-page-content-wrap > .section-inner,
  html body .fpv-page-lower-content > .section-inner,
  html body .fpv-category-products-wrap > .section-inner,
  html body .page-widget-area > .section-inner {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  html body .fpv-blog-container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  html body.page main.fpv-page-main .fpv-page-description-card,
  html body.tax-product_cat main.fpv-product-category-page .fpv-category-description-card,
  html body.tax-product_tag main.fpv-product-category-page .fpv-category-description-card,
  html body.post-type-archive-product main.fpv-product-category-page .fpv-category-description-card {
    padding: 8px 12px !important;
  }
}

/* ===== V2.3.35 - clean responsive page/template correction =====
   Consolidated final override after removing obsolete inline JS/CSS from functions.php.
   Goal: no horizontal overflow; page description opens below ribbon on mobile; desktop/tablet remain aligned. */
html,
body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

html body.page main.fpv-page-main,
html body.tax-product_cat main.fpv-product-category-page,
html body.tax-product_tag main.fpv-product-category-page,
html body.post-type-archive-product main.fpv-product-category-page {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

html body.page main.fpv-page-main .fpv-page-intro,
html body.tax-product_cat main.fpv-product-category-page .fpv-page-intro,
html body.tax-product_tag main.fpv-product-category-page .fpv-page-intro,
html body.post-type-archive-product main.fpv-product-category-page .fpv-page-intro {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

html body.page main.fpv-page-main > .fpv-page-intro > .section-inner,
html body.tax-product_cat main.fpv-product-category-page > .fpv-page-intro > .section-inner,
html body.tax-product_tag main.fpv-product-category-page > .fpv-page-intro > .section-inner,
html body.post-type-archive-product main.fpv-product-category-page > .fpv-page-intro > .section-inner,
html body.page main.fpv-page-main .fpv-page-content-wrap > .section-inner,
html body.page main.fpv-page-main .fpv-page-lower-content > .section-inner,
html body.tax-product_cat main.fpv-product-category-page .fpv-category-products-wrap > .section-inner,
html body.tax-product_tag main.fpv-product-category-page .fpv-category-products-wrap > .section-inner,
html body.post-type-archive-product main.fpv-product-category-page .fpv-category-products-wrap > .section-inner {
  width: 100% !important;
  max-width: 1380px !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

html body.page main.fpv-page-main .fpv-page-intro-row,
html body.tax-product_cat main.fpv-product-category-page .fpv-page-intro-row,
html body.tax-product_tag main.fpv-product-category-page .fpv-page-intro-row,
html body.post-type-archive-product main.fpv-product-category-page .fpv-page-intro-row {
  display: grid !important;
  grid-template-columns: minmax(150px, 210px) minmax(0, 980px) !important;
  gap: 14px 28px !important;
  align-items: start !important;
  justify-content: start !important;
  width: 100% !important;
  max-width: 1218px !important;
  min-width: 0 !important;
  margin: 0 !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}

html body.page main.fpv-page-main .fpv-page-title-badge,
html body.tax-product_cat main.fpv-product-category-page .fpv-page-title-badge,
html body.tax-product_tag main.fpv-product-category-page .fpv-page-title-badge,
html body.post-type-archive-product main.fpv-product-category-page .fpv-page-title-badge {
  width: 100% !important;
  max-width: 210px !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

html body.page main.fpv-page-main .fpv-page-description-card,
html body.tax-product_cat main.fpv-product-category-page .fpv-category-description-card,
html body.tax-product_tag main.fpv-product-category-page .fpv-category-description-card,
html body.post-type-archive-product main.fpv-product-category-page .fpv-category-description-card {
  width: 100% !important;
  max-width: 980px !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow-wrap: anywhere !important;
}

html body.page main.fpv-page-main .fpv-page-description-card .entry-content,
html body.tax-product_cat main.fpv-product-category-page .fpv-category-description-card .entry-content,
html body.tax-product_tag main.fpv-product-category-page .fpv-category-description-card .entry-content,
html body.post-type-archive-product main.fpv-product-category-page .fpv-category-description-card .entry-content {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

html body.page main.fpv-page-main .fpv-page-content-wrap,
html body.page main.fpv-page-main .fpv-page-lower-content {
  clear: both !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-top: 0 !important;
  padding-top: 22px !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

html body.page main.fpv-page-main .fpv-card-grid-section,
html body.page main.fpv-page-main .fpv-card-grid,
html body.page main.fpv-page-main .fpv-navigation-card,
html body.page main.fpv-page-main .entry-content,
html body.page main.fpv-page-main .woocommerce,
html body.page main.fpv-page-main .woocommerce-cart-form,
html body.page main.fpv-page-main .cart_totals,
html body.page main.fpv-page-main form.checkout,
html body.page main.fpv-page-main .woocommerce-MyAccount-navigation,
html body.page main.fpv-page-main .woocommerce-MyAccount-content {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 782px) {
  html body.page main.fpv-page-main > .fpv-page-intro > .section-inner,
  html body.tax-product_cat main.fpv-product-category-page > .fpv-page-intro > .section-inner,
  html body.tax-product_tag main.fpv-product-category-page > .fpv-page-intro > .section-inner,
  html body.post-type-archive-product main.fpv-product-category-page > .fpv-page-intro > .section-inner,
  html body.page main.fpv-page-main .fpv-page-content-wrap > .section-inner,
  html body.page main.fpv-page-main .fpv-page-lower-content > .section-inner,
  html body.tax-product_cat main.fpv-product-category-page .fpv-category-products-wrap > .section-inner,
  html body.tax-product_tag main.fpv-product-category-page .fpv-category-products-wrap > .section-inner,
  html body.post-type-archive-product main.fpv-product-category-page .fpv-category-products-wrap > .section-inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  html body.page main.fpv-page-main .fpv-page-intro-row,
  html body.tax-product_cat main.fpv-product-category-page .fpv-page-intro-row,
  html body.tax-product_tag main.fpv-product-category-page .fpv-page-intro-row,
  html body.post-type-archive-product main.fpv-product-category-page .fpv-page-intro-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  html body.page main.fpv-page-main .fpv-page-title-badge,
  html body.tax-product_cat main.fpv-product-category-page .fpv-page-title-badge,
  html body.tax-product_tag main.fpv-product-category-page .fpv-page-title-badge,
  html body.post-type-archive-product main.fpv-product-category-page .fpv-page-title-badge {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
  }

  html body.page main.fpv-page-main .fpv-page-description-card,
  html body.tax-product_cat main.fpv-product-category-page .fpv-category-description-card,
  html body.tax-product_tag main.fpv-product-category-page .fpv-category-description-card,
  html body.post-type-archive-product main.fpv-product-category-page .fpv-category-description-card {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    padding: 8px 12px !important;
  }

  html body.page main.fpv-page-main .fpv-page-description-card[hidden],
  html body.tax-product_cat main.fpv-product-category-page .fpv-category-description-card[hidden],
  html body.tax-product_tag main.fpv-product-category-page .fpv-category-description-card[hidden],
  html body.post-type-archive-product main.fpv-product-category-page .fpv-category-description-card[hidden] {
    display: none !important;
  }

  html body.page main.fpv-page-main .fpv-card-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
  }

  html body.page main.fpv-page-main .fpv-navigation-card {
    width: 100% !important;
  }
}

@media (max-width: 520px) {
  html body.page main.fpv-page-main > .fpv-page-intro > .section-inner,
  html body.tax-product_cat main.fpv-product-category-page > .fpv-page-intro > .section-inner,
  html body.tax-product_tag main.fpv-product-category-page > .fpv-page-intro > .section-inner,
  html body.post-type-archive-product main.fpv-product-category-page > .fpv-page-intro > .section-inner,
  html body.page main.fpv-page-main .fpv-page-content-wrap > .section-inner,
  html body.page main.fpv-page-main .fpv-page-lower-content > .section-inner,
  html body.tax-product_cat main.fpv-product-category-page .fpv-category-products-wrap > .section-inner,
  html body.tax-product_tag main.fpv-product-category-page .fpv-category-products-wrap > .section-inner,
  html body.post-type-archive-product main.fpv-product-category-page .fpv-category-products-wrap > .section-inner {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}


/* ===== Fixed description visibility: pages always, categories click ===== */
.fpv-description-mode-always .fpv-page-title-badge {
  cursor: default !important;
}

.fpv-description-mode-always .fpv-page-description-card,
.fpv-description-mode-always .fpv-category-description-card {
  display: block !important;
}

.fpv-description-mode-click .fpv-page-title-badge {
  cursor: pointer !important;
}

@media (max-width: 782px) {
  html body.page main.fpv-page-main .fpv-description-mode-always,
  html body.tax-product_cat main.fpv-product-category-page .fpv-description-mode-always,
  html body.tax-product_tag main.fpv-product-category-page .fpv-description-mode-always,
  html body.post-type-archive-product main.fpv-product-category-page .fpv-description-mode-always {
    grid-template-columns: 1fr !important;
  }
}


/* ===== V2.3.45 - Clean Woo service pages and rebuilt mobile cart ===== */
body.woocommerce-cart main.fpv-page-main,
body.woocommerce-checkout main.fpv-page-main,
body.woocommerce-account main.fpv-page-main {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body.woocommerce-cart .fpv-woo-page-content,
body.woocommerce-checkout .fpv-woo-page-content,
body.woocommerce-account .fpv-woo-page-content {
  width: 100% !important;
  max-width: 100% !important;
  padding-top: 14px !important;
}

body.woocommerce-cart .fpv-woo-service-inner,
body.woocommerce-checkout .fpv-woo-service-inner,
body.woocommerce-account .fpv-woo-service-inner {
  width: min(1180px, calc(100vw - 32px)) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .fpv-woo-content-shell,
body.woocommerce-checkout .fpv-woo-content-shell,
body.woocommerce-account .fpv-woo-content-shell {
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .fpv-page-content-card,
body.woocommerce-cart .fpv-page-description-card {
  display: none !important;
}

body.woocommerce-cart .fpv-page-title-badge,
body.woocommerce-checkout .fpv-page-title-badge,
body.woocommerce-account .fpv-page-title-badge {
  max-width: 100% !important;
}

body.woocommerce-cart *,
body.woocommerce-checkout *,
body.woocommerce-account * {
  box-sizing: border-box !important;
}

body.woocommerce-cart a.button,
body.woocommerce-cart button.button,
body.woocommerce-cart .checkout-button,
body.woocommerce-checkout a.button,
body.woocommerce-checkout button.button,
body.woocommerce-checkout .checkout-button,
body.woocommerce-account a.button,
body.woocommerce-account button.button {
  border: 0 !important;
  border-radius: 9px !important;
  background: var(--c-accent, #FF6A00) !important;
  color: #fff !important;
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  line-height: 1.08 !important;
}

body.woocommerce-cart .fpv-cart-page {
  width: 100% !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 0 0 18px !important;
}

body.woocommerce-cart .fpv-cart-layout,
body.woocommerce-cart .fpv-cart-table-card,
body.woocommerce-cart .fpv-cart-items-card,
body.woocommerce-cart .fpv-cart-items {
  width: 100% !important;
  max-width: 100% !important;
}

body.woocommerce-cart .fpv-cart-table-card,
body.woocommerce-cart .cart_totals {
  border: 1px solid var(--c-border) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.woocommerce-cart .fpv-cart-table-card {
  padding: 14px !important;
  overflow: visible !important;
}

body.woocommerce-cart .fpv-cart-items {
  display: grid !important;
  gap: 12px !important;
}

body.woocommerce-cart .fpv-cart-item {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr) 128px !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  min-height: 112px !important;
  padding: 12px !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 12px !important;
  background: #fff !important;
}

body.woocommerce-cart .fpv-cart-item-image,
body.woocommerce-cart .fpv-cart-item-image a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 96px !important;
  height: 88px !important;
}

body.woocommerce-cart .fpv-cart-item-image img {
  width: 88px !important;
  max-width: 88px !important;
  height: 88px !important;
  object-fit: contain !important;
}

body.woocommerce-cart .fpv-cart-item-info {
  min-width: 0 !important;
}

body.woocommerce-cart .fpv-cart-item-name {
  display: block !important;
  margin: 0 0 5px !important;
  color: var(--c-text) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-decoration: none !important;
  overflow-wrap: anywhere !important;
}

body.woocommerce-cart .fpv-cart-item-price {
  color: var(--c-text) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

body.woocommerce-cart .fpv-cart-item-controls {
  display: grid !important;
  grid-template-columns: 1fr 34px !important;
  align-items: center !important;
  gap: 8px !important;
  justify-self: end !important;
  width: 128px !important;
}

body.woocommerce-cart .fpv-cart-item-controls .quantity,
body.woocommerce-cart .fpv-cart-item-controls .fpv-qty-enhanced {
  display: grid !important;
  grid-template-columns: 30px 38px 30px !important;
  align-items: center !important;
  width: 98px !important;
  height: 36px !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #fff !important;
}

body.woocommerce-cart .fpv-cart-item-controls .qty {
  width: 38px !important;
  min-width: 38px !important;
  height: 34px !important;
  padding: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-left: 1px solid var(--c-border) !important;
  border-right: 1px solid var(--c-border) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--c-text) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-align: center !important;
  -moz-appearance: textfield !important;
}

body.woocommerce-cart .fpv-cart-item-controls .qty::-webkit-outer-spin-button,
body.woocommerce-cart .fpv-cart-item-controls .qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

body.woocommerce-cart .fpv-cart-item-controls .fpv-qty-btn,
body.woocommerce-cart .fpv-cart-item-controls .quantity button,
body.woocommerce-cart .fpv-cart-item-controls .quantity .minus,
body.woocommerce-cart .fpv-cart-item-controls .quantity .plus {
  width: 30px !important;
  min-width: 30px !important;
  height: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--c-text) !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

body.woocommerce-cart .fpv-cart-item-remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--c-text) !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

body.woocommerce-cart .fpv-cart-coupon {
  display: block !important;
  width: 100% !important;
  margin: 14px 0 0 !important;
  padding: 14px !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 12px !important;
  background: #fff !important;
}

body.woocommerce-cart .fpv-cart-coupon-title {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--c-text) !important;
  font-family: var(--font-display) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

body.woocommerce-cart .fpv-cart-coupon-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
}

body.woocommerce-cart .fpv-cart-coupon input.input-text {
  width: 100% !important;
  min-height: 40px !important;
  padding: 9px 10px !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--c-text) !important;
}

body.woocommerce-cart .fpv-cart-coupon button.button,
body.woocommerce-cart .fpv-cart-actions-row button.button {
  min-height: 40px !important;
  padding: 9px 14px !important;
  font-size: 12px !important;
}

body.woocommerce-cart .fpv-cart-actions-row {
  display: flex !important;
  justify-content: flex-end !important;
  width: 100% !important;
  margin-top: 10px !important;
}

body.woocommerce-cart .fpv-mobile-cart-subtotal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 14px 16px !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--c-text) !important;
  font-family: var(--font-display) !important;
}

body.woocommerce-cart .fpv-mobile-cart-subtotal span,
body.woocommerce-cart .fpv-mobile-cart-subtotal strong {
  font-weight: 900 !important;
}

body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .cart_totals {
  width: 100% !important;
  max-width: 100% !important;
  margin: 14px 0 0 !important;
}

body.woocommerce-cart .cart_totals {
  padding: 16px !important;
}

body.woocommerce-cart .cart_totals h2 {
  margin: 0 0 12px !important;
  color: var(--c-text) !important;
  font-size: 20px !important;
}

body.woocommerce-cart .cart_totals table,
body.woocommerce-cart .cart_totals tbody,
body.woocommerce-cart .cart_totals tr,
body.woocommerce-cart .cart_totals th,
body.woocommerce-cart .cart_totals td {
  width: 100% !important;
  max-width: 100% !important;
}

body.woocommerce-cart .woocommerce .wc-proceed-to-checkout {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .woocommerce .wc-proceed-to-checkout .checkout-button,
body.woocommerce-cart .woocommerce .wc-proceed-to-checkout .fpv-continue-shopping-totals {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  font-size: 13px !important;
  line-height: 1.08 !important;
  text-align: center !important;
}

body.woocommerce-cart .woocommerce .wc-proceed-to-checkout .fpv-continue-shopping-totals {
  order: 1 !important;
  background: var(--c-dark, #2a2a2a) !important;
}

body.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .woocommerce .wc-proceed-to-checkout .checkout-button {
  order: 2 !important;
}

@media (max-width: 782px) {
  body.woocommerce-cart .fpv-woo-service-inner,
  body.woocommerce-checkout .fpv-woo-service-inner,
  body.woocommerce-account .fpv-woo-service-inner {
    width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body.woocommerce-cart .fpv-woo-page-content {
    padding-top: 8px !important;
    padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.woocommerce-cart .fpv-cart-page {
    max-width: 100% !important;
  }

  body.woocommerce-cart .fpv-cart-table-card {
    padding: 8px !important;
    border-radius: 11px !important;
  }

  body.woocommerce-cart .fpv-cart-items {
    gap: 9px !important;
  }

  body.woocommerce-cart .fpv-cart-item {
    grid-template-columns: 78px minmax(0, 1fr) 74px !important;
    gap: 8px !important;
    align-items: center !important;
    min-height: 88px !important;
    padding: 9px !important;
    border-radius: 10px !important;
  }

  body.woocommerce-cart .fpv-cart-item-image,
  body.woocommerce-cart .fpv-cart-item-image a {
    width: 78px !important;
    height: 72px !important;
  }

  body.woocommerce-cart .fpv-cart-item-image img {
    width: 70px !important;
    max-width: 70px !important;
    height: 70px !important;
  }

  body.woocommerce-cart .fpv-cart-item-name {
    margin-bottom: 3px !important;
    font-size: 13px !important;
    line-height: 1.12 !important;
  }

  body.woocommerce-cart .fpv-cart-item-price {
    font-size: 12px !important;
    line-height: 1.1 !important;
  }

  body.woocommerce-cart .fpv-cart-item-controls {
    grid-template-columns: 1fr 28px !important;
    gap: 5px !important;
    width: 74px !important;
  }

  body.woocommerce-cart .fpv-cart-item-controls .quantity,
  body.woocommerce-cart .fpv-cart-item-controls .fpv-qty-enhanced {
    grid-template-columns: 22px 26px 22px !important;
    width: 70px !important;
    height: 31px !important;
  }

  body.woocommerce-cart .fpv-cart-item-controls .qty {
    width: 26px !important;
    min-width: 26px !important;
    height: 29px !important;
    font-size: 12px !important;
  }

  body.woocommerce-cart .fpv-cart-item-controls .fpv-qty-btn,
  body.woocommerce-cart .fpv-cart-item-controls .quantity button,
  body.woocommerce-cart .fpv-cart-item-controls .quantity .minus,
  body.woocommerce-cart .fpv-cart-item-controls .quantity .plus {
    width: 22px !important;
    min-width: 22px !important;
    height: 29px !important;
    font-size: 12px !important;
  }

  body.woocommerce-cart .fpv-cart-item-remove {
    width: 28px !important;
    height: 31px !important;
    min-height: 31px !important;
    font-size: 20px !important;
  }

  body.woocommerce-cart .fpv-cart-coupon {
    margin-top: 10px !important;
    padding: 10px !important;
  }

  body.woocommerce-cart .fpv-cart-coupon-row {
    grid-template-columns: minmax(0, 1fr) 92px !important;
  }

  body.woocommerce-cart .fpv-cart-coupon input.input-text,
  body.woocommerce-cart .fpv-cart-coupon button.button,
  body.woocommerce-cart .fpv-cart-actions-row button.button {
    min-height: 38px !important;
    font-size: 11px !important;
  }

  body.woocommerce-cart .fpv-mobile-cart-subtotal {
    margin-top: 10px !important;
    padding: 12px 13px !important;
    border-radius: 11px !important;
  }

  body.woocommerce-cart .cart-collaterals,
  body.woocommerce-cart .cart_totals {
    margin-top: 10px !important;
  }

  body.woocommerce-cart .cart_totals {
    padding: 12px !important;
  }

  body.woocommerce-cart .woocommerce .wc-proceed-to-checkout {
    position: fixed !important;
    left: max(8px, env(safe-area-inset-left, 0px)) !important;
    right: max(8px, env(safe-area-inset-right, 0px)) !important;
    bottom: max(7px, env(safe-area-inset-bottom, 0px)) !important;
    z-index: 99990 !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 8px !important;
    border: 1px solid var(--c-border) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.18) !important;
  }

  body.woocommerce-cart .woocommerce .wc-proceed-to-checkout::before,
  body.woocommerce-cart .woocommerce .wc-proceed-to-checkout::after {
    content: none !important;
    display: none !important;
  }

  body.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button,
  body.woocommerce-cart .woocommerce .wc-proceed-to-checkout .checkout-button,
  body.woocommerce-cart .woocommerce .wc-proceed-to-checkout .fpv-continue-shopping-totals {
    min-height: 44px !important;
    padding: 8px 7px !important;
    border-radius: 9px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 374px) {
  body.woocommerce-cart .fpv-cart-item {
    grid-template-columns: 66px minmax(0, 1fr) 68px !important;
    gap: 6px !important;
    padding: 8px !important;
  }

  body.woocommerce-cart .fpv-cart-item-image,
  body.woocommerce-cart .fpv-cart-item-image a {
    width: 66px !important;
    height: 64px !important;
  }

  body.woocommerce-cart .fpv-cart-item-image img {
    width: 62px !important;
    max-width: 62px !important;
    height: 62px !important;
  }

  body.woocommerce-cart .fpv-cart-item-controls {
    width: 68px !important;
  }

  body.woocommerce-cart .fpv-cart-item-controls .quantity,
  body.woocommerce-cart .fpv-cart-item-controls .fpv-qty-enhanced {
    grid-template-columns: 20px 24px 20px !important;
    width: 64px !important;
  }

  body.woocommerce-cart .fpv-cart-item-controls .qty {
    width: 24px !important;
    min-width: 24px !important;
  }

  body.woocommerce-cart .fpv-cart-item-controls .fpv-qty-btn {
    width: 20px !important;
    min-width: 20px !important;
  }
}


/* V2.3.46 Woo wrapper cleanup - retained baseline */
body.woocommerce-cart .fpv-woo-content-shell,
body.woocommerce-checkout .fpv-woo-content-shell,
body.woocommerce-account .fpv-woo-content-shell{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

body.woocommerce-cart .fpv-woo-page-content .section-inner,
body.woocommerce-checkout .fpv-woo-page-content .section-inner,
body.woocommerce-account .fpv-woo-page-content .section-inner{
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding-top: 0 !important;
}

body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-account .woocommerce{
  margin-top: 18px !important;
}


/* V2.3.47 Mobile service-page hardening
   Final mobile-only layer for cart, checkout and account pages. Desktop rules are left intact. */
@media (max-width: 782px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
    overscroll-behavior-x: none !important;
  }

  body.woocommerce-cart,
  body.woocommerce-checkout,
  body.woocommerce-account {
    min-width: 0 !important;
  }

  body.woocommerce-cart *,
  body.woocommerce-checkout *,
  body.woocommerce-account * {
    box-sizing: border-box !important;
    min-width: 0;
  }

  body.woocommerce-cart .site-main,
  body.woocommerce-checkout .site-main,
  body.woocommerce-account .site-main,
  body.woocommerce-cart .fpv-woo-page-content,
  body.woocommerce-checkout .fpv-woo-page-content,
  body.woocommerce-account .fpv-woo-page-content {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  body.woocommerce-cart .fpv-woo-service-inner,
  body.woocommerce-checkout .fpv-woo-service-inner,
  body.woocommerce-account .fpv-woo-service-inner,
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .woocommerce,
  body.woocommerce-account .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    overflow-x: clip !important;
  }

  body.woocommerce-cart .fpv-woo-content-shell,
  body.woocommerce-checkout .fpv-woo-content-shell,
  body.woocommerce-account .fpv-woo-content-shell {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  body.woocommerce-cart .fpv-page-title-badge,
  body.woocommerce-checkout .fpv-page-title-badge,
  body.woocommerce-account .fpv-page-title-badge {
    max-width: 100% !important;
    width: 100% !important;
    white-space: normal !important;
    text-align: left !important;
    line-height: 1.12 !important;
  }

  body.woocommerce-cart .woocommerce-message,
  body.woocommerce-cart .woocommerce-info,
  body.woocommerce-cart .woocommerce-error,
  body.woocommerce-checkout .woocommerce-message,
  body.woocommerce-checkout .woocommerce-info,
  body.woocommerce-checkout .woocommerce-error,
  body.woocommerce-account .woocommerce-message,
  body.woocommerce-account .woocommerce-info,
  body.woocommerce-account .woocommerce-error {
    width: 100% !important;
    margin: 10px 0 !important;
    padding: 12px 14px !important;
    border-radius: 10px !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
  }

  body.woocommerce-cart input,
  body.woocommerce-cart select,
  body.woocommerce-cart textarea,
  body.woocommerce-checkout input,
  body.woocommerce-checkout select,
  body.woocommerce-checkout textarea,
  body.woocommerce-account input,
  body.woocommerce-account select,
  body.woocommerce-account textarea {
    max-width: 100% !important;
    min-height: 44px !important;
    font-size: 16px !important;
  }

  body.woocommerce-cart a.button,
  body.woocommerce-cart button.button,
  body.woocommerce-cart input.button,
  body.woocommerce-checkout a.button,
  body.woocommerce-checkout button.button,
  body.woocommerce-checkout input.button,
  body.woocommerce-account a.button,
  body.woocommerce-account button.button,
  body.woocommerce-account input.button {
    max-width: 100% !important;
    min-height: 44px !important;
    padding: 11px 13px !important;
    white-space: normal !important;
    line-height: 1.15 !important;
  }

  /* Cart - compact non-overlapping card layout. */
  body.woocommerce-cart .fpv-cart-page {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 0 18px !important;
    overflow-x: clip !important;
  }

  body.woocommerce-cart .fpv-cart-layout,
  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .fpv-cart-table-card,
  body.woocommerce-cart .fpv-cart-items-card,
  body.woocommerce-cart .fpv-cart-items {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  body.woocommerce-cart .fpv-cart-table-card {
    padding: 10px !important;
    border-radius: 12px !important;
  }

  body.woocommerce-cart .fpv-cart-items {
    display: grid !important;
    gap: 10px !important;
  }

  body.woocommerce-cart .fpv-cart-item {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) 74px !important;
    gap: 8px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 86px !important;
    padding: 9px !important;
    border-radius: 11px !important;
    overflow: hidden !important;
  }

  body.woocommerce-cart .fpv-cart-item-image,
  body.woocommerce-cart .fpv-cart-item-image a {
    width: 72px !important;
    height: 70px !important;
  }

  body.woocommerce-cart .fpv-cart-item-image img {
    width: 66px !important;
    max-width: 66px !important;
    height: 66px !important;
    object-fit: contain !important;
  }

  body.woocommerce-cart .fpv-cart-item-info {
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body.woocommerce-cart .fpv-cart-item-name {
    display: -webkit-box !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    max-width: 100% !important;
    margin: 0 0 4px !important;
    font-size: 12.5px !important;
    line-height: 1.15 !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  body.woocommerce-cart .fpv-cart-item-price {
    font-size: 12px !important;
    line-height: 1.15 !important;
  }

  body.woocommerce-cart .fpv-cart-item-controls {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    justify-items: stretch !important;
    justify-self: end !important;
    width: 74px !important;
    max-width: 74px !important;
  }

  body.woocommerce-cart .fpv-cart-item-controls .quantity,
  body.woocommerce-cart .fpv-cart-item-controls .fpv-qty-enhanced {
    display: grid !important;
    grid-template-columns: 22px 28px 22px !important;
    width: 72px !important;
    height: 32px !important;
    overflow: hidden !important;
  }

  body.woocommerce-cart .fpv-cart-item-controls .qty {
    width: 28px !important;
    min-width: 28px !important;
    height: 30px !important;
    font-size: 12px !important;
    text-align: center !important;
  }

  body.woocommerce-cart .fpv-cart-item-controls .fpv-qty-btn,
  body.woocommerce-cart .fpv-cart-item-controls .quantity button,
  body.woocommerce-cart .fpv-cart-item-controls .quantity .minus,
  body.woocommerce-cart .fpv-cart-item-controls .quantity .plus {
    width: 22px !important;
    min-width: 22px !important;
    height: 30px !important;
    font-size: 12px !important;
  }

  body.woocommerce-cart .fpv-cart-item-remove {
    width: 72px !important;
    max-width: 72px !important;
    height: 30px !important;
    min-height: 30px !important;
    border-radius: 8px !important;
    font-size: 20px !important;
  }

  body.woocommerce-cart .fpv-cart-coupon,
  body.woocommerce-cart .fpv-mobile-cart-subtotal,
  body.woocommerce-cart .cart-collaterals,
  body.woocommerce-cart .cart_totals {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: clip !important;
  }

  body.woocommerce-cart .fpv-cart-coupon-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  body.woocommerce-cart .fpv-cart-actions-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    justify-content: stretch !important;
  }

  body.woocommerce-cart .fpv-cart-actions-row button.button {
    width: 100% !important;
  }

  body.woocommerce-cart .woocommerce .wc-proceed-to-checkout {
    position: static !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button,
  body.woocommerce-cart .woocommerce .wc-proceed-to-checkout .checkout-button,
  body.woocommerce-cart .woocommerce .wc-proceed-to-checkout .fpv-continue-shopping-totals {
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border-radius: 9px !important;
    font-size: 13px !important;
  }

  /* Checkout - one clean column, no table-caused horizontal scrollbar. */
  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout .col2-set,
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields,
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout #order_review_heading {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    overflow-x: clip !important;
  }

  body.woocommerce-checkout .col2-set .col-1,
  body.woocommerce-checkout .col2-set .col-2,
  body.woocommerce-checkout .form-row,
  body.woocommerce-checkout .form-row-first,
  body.woocommerce-checkout .form-row-last,
  body.woocommerce-account .form-row,
  body.woocommerce-account .form-row-first,
  body.woocommerce-account .form-row-last {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout .woocommerce-checkout-review-order,
  body.woocommerce-account .woocommerce-MyAccount-navigation,
  body.woocommerce-account .woocommerce-MyAccount-content,
  body.woocommerce form.login,
  body.woocommerce form.register {
    padding: 14px !important;
    border-radius: 12px !important;
  }

  body.woocommerce-checkout table.shop_table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
    border-collapse: separate !important;
  }

  body.woocommerce-checkout table.shop_table thead,
  body.woocommerce-checkout table.shop_table tbody,
  body.woocommerce-checkout table.shop_table tfoot,
  body.woocommerce-checkout table.shop_table tr,
  body.woocommerce-checkout table.shop_table th,
  body.woocommerce-checkout table.shop_table td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  body.woocommerce-checkout table.shop_table tr {
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--c-border) !important;
  }

  body.woocommerce-checkout table.shop_table th,
  body.woocommerce-checkout table.shop_table td {
    padding: 6px 0 !important;
    border: 0 !important;
    overflow-wrap: anywhere !important;
  }

  body.woocommerce-checkout #payment,
  body.woocommerce-checkout .woocommerce-checkout-payment,
  body.woocommerce-checkout .payment_methods,
  body.woocommerce-checkout .place-order {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  body.woocommerce-checkout #payment ul.payment_methods li,
  body.woocommerce-checkout #payment div.payment_box {
    width: 100% !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  body.woocommerce-checkout #place_order {
    width: 100% !important;
    min-height: 50px !important;
  }

  /* My Account - single-column mobile panel instead of cramped grid. */
  body.woocommerce-account .woocommerce {
    display: block !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation,
  body.woocommerce-account .woocommerce-MyAccount-content {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 0 0 12px !important;
    overflow-x: clip !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation li {
    width: 100% !important;
    max-width: 100% !important;
    list-style: none !important;
    margin: 0 !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation a {
    width: 100% !important;
    min-height: 44px !important;
    justify-content: flex-start !important;
    text-align: left !important;
    padding: 11px 12px !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-content table,
  body.woocommerce-account .woocommerce-orders-table,
  body.woocommerce-account .shop_table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-content table thead,
  body.woocommerce-account .woocommerce-MyAccount-content table tbody,
  body.woocommerce-account .woocommerce-MyAccount-content table tr,
  body.woocommerce-account .woocommerce-MyAccount-content table th,
  body.woocommerce-account .woocommerce-MyAccount-content table td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-content table tr {
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--c-border) !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-content table th,
  body.woocommerce-account .woocommerce-MyAccount-content table td {
    padding: 6px 0 !important;
    border: 0 !important;
    overflow-wrap: anywhere !important;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs {
    overflow-x: clip !important;
    flex-wrap: wrap !important;
  }
}

@media (max-width: 374px) {
  body.woocommerce-cart .fpv-cart-item {
    grid-template-columns: 62px minmax(0, 1fr) 66px !important;
    gap: 6px !important;
    padding: 8px !important;
  }

  body.woocommerce-cart .fpv-cart-item-image,
  body.woocommerce-cart .fpv-cart-item-image a {
    width: 62px !important;
    height: 60px !important;
  }

  body.woocommerce-cart .fpv-cart-item-image img {
    width: 58px !important;
    max-width: 58px !important;
    height: 58px !important;
  }

  body.woocommerce-cart .fpv-cart-item-controls,
  body.woocommerce-cart .fpv-cart-item-remove {
    width: 66px !important;
    max-width: 66px !important;
  }

  body.woocommerce-cart .fpv-cart-item-controls .quantity,
  body.woocommerce-cart .fpv-cart-item-controls .fpv-qty-enhanced {
    grid-template-columns: 20px 24px 20px !important;
    width: 64px !important;
  }

  body.woocommerce-cart .fpv-cart-item-controls .qty {
    width: 24px !important;
    min-width: 24px !important;
  }

  body.woocommerce-cart .fpv-cart-item-controls .fpv-qty-btn,
  body.woocommerce-cart .fpv-cart-item-controls .quantity button,
  body.woocommerce-cart .fpv-cart-item-controls .quantity .minus,
  body.woocommerce-cart .fpv-cart-item-controls .quantity .plus {
    width: 20px !important;
    min-width: 20px !important;
  }
}


/* ==========================================================================
   V4.4.1 – Desktop two-column cart layout
   Left: 60% (items + coupon)  |  Right: 40% (totals + buttons)
   Mobile is completely unchanged – all new rules are min-width: 783px
   ========================================================================== */

/* ── Shared: hide the mobile-only duplicates on desktop ── */
@media (min-width: 783px) {
  body.woocommerce-cart .fpv-mobile-only-subtotal,
  body.woocommerce-cart .fpv-mobile-only-collaterals,
  body.woocommerce-cart .fpv-mobile-only-widget {
    display: none !important;
  }
}

/* ── Mobile: hide the desktop-right column elements ── */
@media (max-width: 782px) {
  body.woocommerce-cart .fpv-cart-desktop-right {
    display: none !important;
  }
  body.woocommerce-cart .fpv-desktop-cart-actions {
    display: none !important;
  }
  body.woocommerce-cart .fpv-cart-desktop-columns {
    display: block !important;
  }
}

/* ── Desktop two-column grid ── */
@media (min-width: 783px) {
  body.woocommerce-cart .fpv-cart-page {
    max-width: 1200px !important;
    padding: 32px 0 48px !important;
  }

  body.woocommerce-cart .fpv-cart-desktop-columns {
    display: grid !important;
    grid-template-columns: 60% 40% !important;
    gap: 28px !important;
    align-items: start !important;
    width: 100% !important;
  }

  body.woocommerce-cart .fpv-cart-desktop-left {
    min-width: 0 !important;
  }

  body.woocommerce-cart .fpv-cart-layout {
    margin-top: 0 !important;
  }

  body.woocommerce-cart .fpv-cart-desktop-right {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    min-width: 0 !important;
    position: sticky !important;
    top: 24px !important;
  }

  /* Totals card in right column */
  body.woocommerce-cart .fpv-cart-desktop-right .fpv-desktop-totals,
  body.woocommerce-cart .fpv-cart-desktop-right .fpv-cart-collaterals {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body.woocommerce-cart .fpv-cart-desktop-right .cart_totals {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 20px !important;
    border: 1px solid var(--c-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.woocommerce-cart .fpv-cart-desktop-right .cart_totals h2 {
    margin: 0 0 16px !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--c-text) !important;
  }

  body.woocommerce-cart .fpv-cart-desktop-right .cart_totals table {
    width: 100% !important;
    border-collapse: collapse !important;
  }

  body.woocommerce-cart .fpv-cart-desktop-right .cart_totals table tr {
    border-bottom: 1px solid var(--c-border) !important;
  }

  body.woocommerce-cart .fpv-cart-desktop-right .cart_totals table tr:last-child {
    border-bottom: none !important;
  }

  body.woocommerce-cart .fpv-cart-desktop-right .cart_totals table th,
  body.woocommerce-cart .fpv-cart-desktop-right .cart_totals table td {
    padding: 12px 4px !important;
    font-size: 14px !important;
    color: var(--c-text) !important;
    vertical-align: middle !important;
    width: auto !important;
    max-width: none !important;
  }

  body.woocommerce-cart .fpv-cart-desktop-right .cart_totals table th {
    font-weight: 700 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  body.woocommerce-cart .fpv-cart-desktop-right .cart_totals table td {
    text-align: right !important;
    font-weight: 800 !important;
  }

  body.woocommerce-cart .fpv-cart-desktop-right .cart_totals .order-total th,
  body.woocommerce-cart .fpv-cart-desktop-right .cart_totals .order-total td {
    font-size: 16px !important;
    font-weight: 900 !important;
    padding-top: 14px !important;
    padding-bottom: 4px !important;
  }

  /* Hide the WooCommerce-generated checkout button inside totals on desktop
     because we render our own fpv-desktop-cart-actions below */
  body.woocommerce-cart .fpv-cart-desktop-right .wc-proceed-to-checkout {
    display: none !important;
  }

  /* ── Desktop action buttons ── */
  body.woocommerce-cart .fpv-desktop-cart-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 14px !important;
  }

  body.woocommerce-cart .fpv-desktop-cart-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 10px 12px !important;
    border-radius: 9px !important;
    font-family: var(--font-display) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 0.4px !important;
    text-transform: uppercase !important;
    text-align: center !important;
    line-height: 1.1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: opacity .15s ease, background .15s ease !important;
  }

  body.woocommerce-cart .fpv-desktop-cart-btn:hover {
    opacity: 0.88 !important;
  }

  /* "Tęsti apsipirkimą" – dark outlined style matching mobile */
  body.woocommerce-cart .fpv-desktop-cart-continue {
    background: var(--c-dark, #1a1a1a) !important;
    color: #fff !important;
    border: 2px solid var(--c-dark, #1a1a1a) !important;
  }

  /* "Apmokėti" – orange accent style matching mobile */
  body.woocommerce-cart .fpv-desktop-cart-checkout {
    background: var(--c-accent, #ff6900) !important;
    color: #fff !important;
    border: 2px solid var(--c-accent, #ff6900) !important;
  }
}
/* End V4.4.1 desktop cart layout */


/* V4.4.16 wishlist integration base */
.fpvdronas-theme-wishlist { display: inline-flex; align-items: center; justify-content: center; }
.fpvdronas-theme-wishlist .yith-wcwl-add-to-wishlist { margin: 0; }
/* End V4.4.16 wishlist integration base */


/* V4.4.17 - Wishlist button cleanup: hide duplicate YITH output and keep only one heart in theme button */
html body.single-product .fpvdronas-hidden-duplicate-wishlist,
html body.single-product .entry-summary .fpvdronas-hidden-duplicate-wishlist,
html body.single-product .summary .fpvdronas-hidden-duplicate-wishlist {
  display: none !important;
  visibility: hidden !important;
}

html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-icon,
html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-add-to-wishlist i,
html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-add-to-wishlist svg,
html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-add-to-wishlist img,
html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-add-to-wishlist .feedback,
html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-add-to-wishlist .separator,
html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-add-to-wishlist .view-wishlist,
html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-add-to-wishlist span:not(.fpv-wishlist-text),
html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .fpv-wishlist-text {
  display: none !important;
  visibility: hidden !important;
}

html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-add-to-wishlist a,
html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-add-to-wishlist button {
  font-size: 0 !important;
  overflow: hidden !important;
}

html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only a::before,
html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only button::before {
  content: "♡" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  font-size: 25px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  color: currentColor !important;
}

html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-wishlistaddedbrowse a::before,
html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-wishlistexistsbrowse a::before,
html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only a.added_to_wishlist::before,
html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only a.exists::before {
  content: "♥" !important;
  color: var(--c-accent, #FF6A00) !important;
}
/* End V4.4.17 wishlist button cleanup */


/* V4.4.24 - My Account > Sąskaitos invoice list */
body.woocommerce-account .fpv-account-invoices-note {
  margin: 0 0 16px !important;
  color: var(--c-text, #3A3A3A) !important;
  font-size: 14px !important;
}

body.woocommerce-account .fpv-invoices-empty {
  width: 100% !important;
  padding: 22px 24px !important;
  border: 1px solid var(--c-border, #d0d0d0) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: var(--c-text, #3A3A3A) !important;
}

body.woocommerce-account .fpv-invoices-empty p {
  margin: 0 0 12px !important;
}

body.woocommerce-account .fpv-invoices-table {
  width: 100% !important;
  table-layout: auto !important;
  border: 1px solid var(--c-border, #d0d0d0) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

body.woocommerce-account .fpv-invoices-table th,
body.woocommerce-account .fpv-invoices-table td {
  padding: 14px 16px !important;
  vertical-align: middle !important;
  text-align: left !important;
  border-color: var(--c-border-light, #eeeeee) !important;
}

body.woocommerce-account .fpv-invoices-table th {
  font-family: var(--font-display, inherit) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  color: var(--c-text, #3A3A3A) !important;
  background: #f6f6f6 !important;
}

body.woocommerce-account .fpv-invoice-download-button,
body.woocommerce-account .fpv-invoices-shop-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 10px 18px !important;
  border-radius: 8px !important;
  border: 2px solid var(--c-accent, #FF6A00) !important;
  background: var(--c-accent, #FF6A00) !important;
  color: #ffffff !important;
  font-family: var(--font-display, inherit) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

body.woocommerce-account .fpv-invoice-unavailable {
  color: var(--c-muted, #777777) !important;
  font-size: 13px !important;
}

@media (max-width: 767px) {
  body.woocommerce-account .fpv-invoices-table,
  body.woocommerce-account .fpv-invoices-table thead,
  body.woocommerce-account .fpv-invoices-table tbody,
  body.woocommerce-account .fpv-invoices-table tr,
  body.woocommerce-account .fpv-invoices-table th,
  body.woocommerce-account .fpv-invoices-table td {
    display: block !important;
    width: 100% !important;
  }

  body.woocommerce-account .fpv-invoices-table thead {
    display: none !important;
  }

  body.woocommerce-account .fpv-invoices-table tr {
    padding: 14px !important;
    border-bottom: 1px solid var(--c-border-light, #eeeeee) !important;
  }

  body.woocommerce-account .fpv-invoices-table td {
    display: grid !important;
    grid-template-columns: 110px 1fr !important;
    gap: 10px !important;
    padding: 8px 0 !important;
    border: 0 !important;
  }

  body.woocommerce-account .fpv-invoices-table td::before {
    content: attr(data-title) ":" !important;
    font-family: var(--font-display, inherit) !important;
    font-weight: 900 !important;
    color: var(--c-text, #3A3A3A) !important;
    text-transform: uppercase !important;
  }

  body.woocommerce-account .fpv-invoice-download-button,
  body.woocommerce-account .fpv-invoices-shop-button {
    width: 100% !important;
  }
}
/* End V4.4.24 invoices */

/* V4.4.35 - Single product wishlist active state from account wishlist */
html body.single-product .fpvdronas-theme-wishlist.is-active a,
html body.single-product .fpvdronas-theme-wishlist.is-active button,
html body.single-product .fpvdronas-theme-wishlist.is-active .fpv-wishlist-static-button,
html body.single-product .fpvdronas-theme-wishlist[data-wishlist-active="1"] a,
html body.single-product .fpvdronas-theme-wishlist[data-wishlist-active="1"] button,
html body.single-product .fpvdronas-theme-wishlist[data-wishlist-active="1"] .fpv-wishlist-static-button {
  border-color: var(--c-accent, #FF6A00) !important;
  color: var(--c-accent, #FF6A00) !important;
  background: var(--c-accent-light, #fff3eb) !important;
}

html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only.is-active a::before,
html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only.is-active button::before,
html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only.is-active .fpv-wishlist-static-button::before,
html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only[data-wishlist-active="1"] a::before,
html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only[data-wishlist-active="1"] button::before,
html body.single-product .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only[data-wishlist-active="1"] .fpv-wishlist-static-button::before {
  content: "♥" !important;
  color: var(--c-accent, #FF6A00) !important;
}
/* End V4.4.35 single product wishlist active state */

/* V4.4.36 - Single product Patinka button height and active-state alignment
   Scope: product page action row only. Keeps wishlist heart button the same height/style
   as the neighbouring action buttons on desktop and mobile. */
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-product-action {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  flex: 0 0 44px !important;
  align-self: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
}

html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .yith-wcwl-add-to-wishlist,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .yith-wcwl-add-button,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .yith-wcwl-wishlistaddedbrowse,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .yith-wcwl-wishlistexistsbrowse {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  flex: 0 0 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
}

html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist a,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist button,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .fpv-wishlist-static-button {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  flex: 0 0 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  border: 1.5px solid var(--c-border, #d8d8d8) !important;
  border-radius: 5px !important;
  background: var(--c-surface, #ffffff) !important;
  color: var(--c-text, #3A3A3A) !important;
  box-shadow: none !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist a::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist button::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .fpv-wishlist-static-button::before {
  width: auto !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist a:hover,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist button:hover,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .fpv-wishlist-static-button:hover,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.is-active a,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.is-active button,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.is-active .fpv-wishlist-static-button,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist[data-wishlist-active="1"] a,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist[data-wishlist-active="1"] button,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist[data-wishlist-active="1"] .fpv-wishlist-static-button {
  border-color: var(--c-accent, #FF6A00) !important;
  color: var(--c-accent, #FF6A00) !important;
  background: var(--c-accent-light, #fff3eb) !important;
}

html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only.is-active a::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only.is-active button::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only.is-active .fpv-wishlist-static-button::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only[data-wishlist-active="1"] a::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only[data-wishlist-active="1"] button::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only[data-wishlist-active="1"] .fpv-wishlist-static-button::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-wishlistaddedbrowse a::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-wishlistexistsbrowse a::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only a.added_to_wishlist::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only a.exists::before {
  content: "♥" !important;
  color: var(--c-accent, #FF6A00) !important;
}
/* End V4.4.36 single product Patinka button height and active-state alignment */

/* V4.4.37 - Single product action row compact spacing and Patinka button alignment
   Scope: product page action row only. Makes the wishlist heart box the same 40px
   height as the neighbouring buttons and reduces the vertical gap between rows. */
html body.single-product .fpvdronas-product-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  column-gap: 8px !important;
  row-gap: 3px !important;
  width: 100% !important;
  margin-top: 4px !important;
}

html body.single-product .fpvdronas-product-actions .fpv-product-action:not(.fpvdronas-theme-wishlist) {
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
  align-self: center !important;
}

html body.single-product .fpvdronas-product-actions .fpv-action-row-break {
  flex: 0 0 100% !important;
  width: 100% !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
}

html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-product-action,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only {
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  flex: 0 0 40px !important;
  align-self: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
}

html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .yith-wcwl-add-to-wishlist,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .yith-wcwl-add-button,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .yith-wcwl-wishlistaddedbrowse,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .yith-wcwl-wishlistexistsbrowse,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-add-to-wishlist,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-add-button,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-wishlistaddedbrowse,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-wishlistexistsbrowse {
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  flex: 0 0 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
}

html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist a,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist button,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .fpv-wishlist-static-button,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only a,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only button,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .fpv-wishlist-static-button {
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  flex: 0 0 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.5px solid var(--c-border, #d8d8d8) !important;
  border-radius: 5px !important;
  background: var(--c-surface, #ffffff) !important;
  color: var(--c-text, #3A3A3A) !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  font-size: 0 !important;
  gap: 0 !important;
}

html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .yith-wcwl-icon,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .yith-wcwl-add-to-wishlist i,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .yith-wcwl-add-to-wishlist svg,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .yith-wcwl-add-to-wishlist img,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .yith-wcwl-add-to-wishlist .feedback,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .yith-wcwl-add-to-wishlist .separator,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .yith-wcwl-add-to-wishlist .view-wishlist,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .yith-wcwl-add-to-wishlist span:not(.fpv-wishlist-text),
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .fpv-wishlist-text {
  display: none !important;
  visibility: hidden !important;
}

html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist a::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist button::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .fpv-wishlist-static-button::before {
  content: "♡" !important;
  width: auto !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 23px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  color: currentColor !important;
}

html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist a:hover,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist button:hover,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist .fpv-wishlist-static-button:hover,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.is-active a,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.is-active button,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.is-active .fpv-wishlist-static-button,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist[data-wishlist-active="1"] a,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist[data-wishlist-active="1"] button,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist[data-wishlist-active="1"] .fpv-wishlist-static-button {
  border-color: var(--c-accent, #FF6A00) !important;
  color: var(--c-accent, #FF6A00) !important;
  background: var(--c-accent-light, #fff3eb) !important;
}

html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only.is-active a::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only.is-active button::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only.is-active .fpv-wishlist-static-button::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only[data-wishlist-active="1"] a::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only[data-wishlist-active="1"] button::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only[data-wishlist-active="1"] .fpv-wishlist-static-button::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-wishlistaddedbrowse a::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only .yith-wcwl-wishlistexistsbrowse a::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only a.added_to_wishlist::before,
html body.single-product .fpvdronas-product-actions .fpvdronas-theme-wishlist.fpv-wishlist-mode-icon-only a.exists::before {
  content: "♥" !important;
  color: var(--c-accent, #FF6A00) !important;
}

@media (max-width: 640px) {
  html body.single-product .fpvdronas-product-actions {
    row-gap: 6px !important;
  }
}
/* End V4.4.37 single product action row compact spacing and Patinka button alignment */



/* V4.4.39 - Product card wishlist heart overlay selector fix */
.fpv-product-card-component .fpvdronas-product-card-media {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.fpv-product-card-component .fpvdronas-product-card-image-link {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  color: inherit !important;
  text-decoration: none !important;
}

.fpv-product-card-component .fpvdronas-product-card-content-link {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-width: 0 !important;
  color: inherit !important;
  text-decoration: none !important;
}

.fpv-product-card-component .fpvdronas-product-card-wishlist {
  position: absolute !important;
  right: 9px !important;
  bottom: 9px !important;
  z-index: 8 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: auto !important;
}

.fpv-product-card-component .fpvdronas-product-card-wishlist .fpvdronas-theme-wishlist,
.fpv-product-card-component .fpvdronas-product-card-wishlist .yith-wcwl-add-to-wishlist,
.fpv-product-card-component .fpvdronas-product-card-wishlist .yith-wcwl-add-button,
.fpv-product-card-component .fpvdronas-product-card-wishlist .yith-wcwl-wishlistaddedbrowse,
.fpv-product-card-component .fpvdronas-product-card-wishlist .yith-wcwl-wishlistexistsbrowse {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.fpv-product-card-component .fpvdronas-product-card-wishlist a,
.fpv-product-card-component .fpvdronas-product-card-wishlist button,
.fpv-product-card-component .fpvdronas-product-card-wishlist .fpv-wishlist-static-button {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--c-dark, #2A2A2A) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
}

.fpv-product-card-component .fpvdronas-product-card-wishlist a::before,
.fpv-product-card-component .fpvdronas-product-card-wishlist button::before,
.fpv-product-card-component .fpvdronas-product-card-wishlist .fpv-wishlist-static-button::before {
  content: '♡' !important;
  display: block !important;
  width: 34px !important;
  height: 34px !important;
  color: var(--c-dark, #2A2A2A) !important;
  font-size: 25px !important;
  font-weight: 900 !important;
  line-height: 34px !important;
  text-align: center !important;
  text-indent: 0 !important;
  transition: color .16s ease, transform .16s ease !important;
}

.fpv-product-card-component .fpvdronas-product-card-wishlist a:hover::before,
.fpv-product-card-component .fpvdronas-product-card-wishlist button:hover::before,
.fpv-product-card-component .fpvdronas-product-card-wishlist .fpv-wishlist-static-button:hover::before {
  color: var(--c-accent, #FF6A00) !important;
  transform: scale(1.04) !important;
}

.fpv-product-card-component .fpvdronas-product-card-wishlist .fpvdronas-theme-wishlist.is-active a::before,
.fpv-product-card-component .fpvdronas-product-card-wishlist .fpvdronas-theme-wishlist.is-active button::before,
.fpv-product-card-component .fpvdronas-product-card-wishlist .fpvdronas-theme-wishlist.is-active .fpv-wishlist-static-button::before,
.fpv-product-card-component .fpvdronas-product-card-wishlist .fpvdronas-theme-wishlist[data-wishlist-active="1"] a::before,
.fpv-product-card-component .fpvdronas-product-card-wishlist .fpvdronas-theme-wishlist[data-wishlist-active="1"] button::before,
.fpv-product-card-component .fpvdronas-product-card-wishlist .fpvdronas-theme-wishlist[data-wishlist-active="1"] .fpv-wishlist-static-button::before,
.fpv-product-card-component .fpvdronas-product-card-wishlist .yith-wcwl-wishlistaddedbrowse a::before,
.fpv-product-card-component .fpvdronas-product-card-wishlist .yith-wcwl-wishlistexistsbrowse a::before,
.fpv-product-card-component .fpvdronas-product-card-wishlist a.added_to_wishlist::before,
.fpv-product-card-component .fpvdronas-product-card-wishlist a.exists::before {
  content: '♥' !important;
  color: var(--c-accent, #FF6A00) !important;
}

.fpv-product-card-component .fpvdronas-product-card-wishlist .yith-wcwl-icon,
.fpv-product-card-component .fpvdronas-product-card-wishlist i,
.fpv-product-card-component .fpvdronas-product-card-wishlist svg,
.fpv-product-card-component .fpvdronas-product-card-wishlist img,
.fpv-product-card-component .fpvdronas-product-card-wishlist .feedback,
.fpv-product-card-component .fpvdronas-product-card-wishlist .separator,
.fpv-product-card-component .fpvdronas-product-card-wishlist .view-wishlist,
.fpv-product-card-component .fpvdronas-product-card-wishlist span:not(.fpvdronas-theme-wishlist) {
  display: none !important;
  visibility: hidden !important;
}

@media (max-width: 640px) {
  .fpv-product-card-component .fpvdronas-product-card-wishlist {
    right: 7px !important;
    bottom: 7px !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
  }

  .fpv-product-card-component .fpvdronas-product-card-wishlist .fpvdronas-theme-wishlist,
  .fpv-product-card-component .fpvdronas-product-card-wishlist .yith-wcwl-add-to-wishlist,
  .fpv-product-card-component .fpvdronas-product-card-wishlist .yith-wcwl-add-button,
  .fpv-product-card-component .fpvdronas-product-card-wishlist .yith-wcwl-wishlistaddedbrowse,
  .fpv-product-card-component .fpvdronas-product-card-wishlist .yith-wcwl-wishlistexistsbrowse,
  .fpv-product-card-component .fpvdronas-product-card-wishlist a,
  .fpv-product-card-component .fpvdronas-product-card-wishlist button,
  .fpv-product-card-component .fpvdronas-product-card-wishlist .fpv-wishlist-static-button {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
  }

  .fpv-product-card-component .fpvdronas-product-card-wishlist a::before,
  .fpv-product-card-component .fpvdronas-product-card-wishlist button::before,
  .fpv-product-card-component .fpvdronas-product-card-wishlist .fpv-wishlist-static-button::before {
    width: 32px !important;
    height: 32px !important;
    font-size: 24px !important;
    line-height: 32px !important;
  }
}
/* End V4.4.39 product card wishlist heart overlay selector fix */


/* V4.4.40 - Product card attribute chips visible and gray on mobile/desktop */
.woocommerce ul.products li.product.fpv-product-card-component .fpvdronas-product-card-badges,
ul.products li.product.fpv-product-card-component .fpvdronas-product-card-badges,
.fpv-product-card-component .fpvdronas-product-card-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 5px !important;
  margin-top: 2px !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.woocommerce ul.products li.product.fpv-product-card-component .fpvdronas-product-card-badges span,
ul.products li.product.fpv-product-card-component .fpvdronas-product-card-badges span,
.fpv-product-card-component .fpvdronas-product-card-badges span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 20px !important;
  padding: 3px 7px !important;
  border: 1px solid rgba(58, 58, 58, .42) !important;
  border-radius: 4px !important;
  background: rgba(58, 58, 58, .08) !important;
  color: var(--c-text, #3A3A3A) !important;
  font-family: var(--font-mono, monospace) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

@media (max-width: 782px) {
  .woocommerce ul.products li.product.fpv-product-card-component .fpvdronas-product-card-badges,
  ul.products li.product.fpv-product-card-component .fpvdronas-product-card-badges,
  .fpv-product-card-component .fpvdronas-product-card-badges {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    margin-top: 2px !important;
  }

  .woocommerce ul.products li.product.fpv-product-card-component .fpvdronas-product-card-badges span,
  ul.products li.product.fpv-product-card-component .fpvdronas-product-card-badges span,
  .fpv-product-card-component .fpvdronas-product-card-badges span {
    min-height: 18px !important;
    padding: 2px 5px !important;
    font-size: 8.2px !important;
    border-color: rgba(58, 58, 58, .42) !important;
    background: rgba(58, 58, 58, .08) !important;
    color: var(--c-text, #3A3A3A) !important;
  }
}
/* End V4.4.40 product card attribute chips visible and gray */

/* V4.4.41 - Single product specification table: clean, full-width layout */
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-specifications-content,
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-additional-info-content {
  width: 100% !important;
  max-width: none !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes,
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table,
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-structured-spec-table,
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-additional-info-table {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  border: 0 !important;
  background: transparent !important;
  margin: 0 !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes tbody,
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table tbody,
body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes tr,
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table tr,
body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes tr:nth-child(odd),
body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes tr:nth-child(even),
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table tr:nth-child(odd),
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table tr:nth-child(even) {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes th,
body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes td,
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table th,
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table td {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 7px 0 !important;
  text-align: left !important;
  vertical-align: top !important;
  line-height: 1.45 !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes th,
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table th {
  width: 26% !important;
  min-width: 0 !important;
  padding-right: 24px !important;
  color: var(--c-text, #3A3A3A) !important;
  font-weight: 700 !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes td,
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table td {
  width: 74% !important;
  color: var(--c-text, #3A3A3A) !important;
  font-style: normal !important;
  overflow-wrap: anywhere !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes td p,
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table td p {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

@media (max-width: 782px) {
  body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes,
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table {
    display: table !important;
    width: 100% !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes tr,
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table tr {
    display: table-row !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes th,
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table th,
  body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes td,
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table td {
    display: table-cell !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    font-size: 13px !important;
    text-align: left !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes th,
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table th {
    width: 36% !important;
    padding-right: 14px !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes td,
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-spec-table td {
    width: 64% !important;
  }
}
/* End V4.4.41 single product specification table */

/* V4.4.42 - Product tabs specifications: replace table look with clean full-width rows */
body.single-product .woocommerce div.product .woocommerce-tabs .panel,
body.single-product .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel,
body.single-product .woocommerce div.product .woocommerce-tabs #tab-fpvdronas_specifications,
body.single-product .woocommerce div.product .woocommerce-tabs #tab-additional_information,
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-specifications-content,
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-additional-info-content {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-list {
  display: grid !important;
  grid-template-columns: 100% !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-row {
  display: grid !important;
  grid-template-columns: minmax(160px, 22%) minmax(0, 78%) !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 6px 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-label,
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-value {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--c-text, #3A3A3A) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  text-align: left !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-label {
  font-weight: 800 !important;
  padding-right: 22px !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-value {
  font-weight: 400 !important;
  font-style: normal !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-custom-content,
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-custom-content * {
  background: transparent !important;
}

@media (max-width: 782px) {
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-row {
    grid-template-columns: minmax(104px, 38%) minmax(0, 62%) !important;
    padding: 5px 0 !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-label,
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-value {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-label {
    padding-right: 12px !important;
  }
}
/* End V4.4.42 product tabs specifications */


/* V4.4.43 - Specifications rows: enforce one-line label/value layout */
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-list {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-row {
  display: grid !important;
  grid-template-columns: minmax(160px, 22%) minmax(0, 1fr) !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 5px 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-label,
body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-value {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--c-text, #3A3A3A) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  text-align: left !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  box-sizing: border-box !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-label {
  font-weight: 800 !important;
  font-style: normal !important;
  padding: 0 22px 0 0 !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-value {
  font-weight: 400 !important;
  font-style: normal !important;
  padding: 0 !important;
}

@media (max-width: 782px) {
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-row {
    grid-template-columns: minmax(112px, 38%) minmax(0, 1fr) !important;
    padding: 4px 0 !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-label,
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-value {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-clean-spec-label {
    padding-right: 12px !important;
  }
}
/* End V4.4.43 specifications rows */


/* v154 - homepage card media size and background controls */
body.home .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  padding: 0 !important;
  background: var(--fpv-home-card-media-bg, var(--c-bg)) !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  transition: background .2s ease, width .2s ease, height .2s ease, max-width .2s ease !important;
}
body.home .fpv-home-category-cards .fpv-editable-home-card:hover .fpv-home-card-media:not(.fpv-home-card-media--no-bg) {
  background: var(--fpv-home-card-media-bg, var(--c-accent-light)) !important;
}
body.home .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--no-bg,
body.home .fpv-home-category-cards .fpv-editable-home-card:hover .fpv-home-card-media--no-bg {
  background: transparent !important;
}
body.home .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
body.home .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
body.home .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--small {
  width: 56px !important;
  height: 56px !important;
  max-width: 56px !important;
}
body.home .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--small span {
  font-size: 26px !important;
}
body.home .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--medium {
  width: 78px !important;
  height: 78px !important;
  max-width: 78px !important;
}
body.home .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--medium span {
  font-size: 34px !important;
}
body.home .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--max {
  width: 100% !important;
  max-width: 170px !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  padding: 8px !important;
}
body.home .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--max span {
  font-size: 42px !important;
}
body.home .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--max img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
@media (max-width: 782px) {
  body.home .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--small {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
  }
  body.home .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--medium {
    width: 66px !important;
    height: 66px !important;
    max-width: 66px !important;
  }
  body.home .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--max {
    width: 100% !important;
    max-width: 132px !important;
    min-height: 54px !important;
    padding: 6px !important;
  }
}
@media (max-width: 380px) {
  body.home .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--max {
    max-width: 118px !important;
  }
}


/* v155 - homepage category media controls: cache-busted and no body.home dependency */
html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media,
html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  border-radius: 8px !important;
  padding: 0 !important;
  background: var(--fpv-home-card-media-bg, var(--c-bg)) !important;
  background-color: var(--fpv-home-card-media-bg, var(--c-bg)) !important;
}
html body .fpv-home-category-cards .fpv-editable-home-card:hover .fpv-home-card-media:not(.fpv-home-card-media--no-bg),
html body .categories.fpv-home-category-cards .cat-card:hover .fpv-home-card-media:not(.fpv-home-card-media--no-bg) {
  background: var(--fpv-home-card-media-bg, var(--c-accent-light)) !important;
  background-color: var(--fpv-home-card-media-bg, var(--c-accent-light)) !important;
}
html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--no-bg,
html body .fpv-home-category-cards .fpv-editable-home-card:hover .fpv-home-card-media--no-bg,
html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media--no-bg,
html body .categories.fpv-home-category-cards .cat-card:hover .fpv-home-card-media--no-bg {
  background: transparent !important;
  background-color: transparent !important;
}
html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media img,
html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
}
html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media span,
html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--small,
html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media--small {
  width: 56px !important;
  height: 56px !important;
  max-width: 56px !important;
  aspect-ratio: 1 / 1 !important;
}
html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--small span,
html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media--small span {
  font-size: 26px !important;
}
html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--medium,
html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media--medium {
  width: clamp(70px, 7vw, 92px) !important;
  height: clamp(70px, 7vw, 92px) !important;
  max-width: 92px !important;
  aspect-ratio: 1 / 1 !important;
}
html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--medium span,
html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media--medium span {
  font-size: 34px !important;
}
html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--max,
html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media--max {
  width: min(100%, 170px) !important;
  max-width: 170px !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  padding: 8px !important;
}
html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--max span,
html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media--max span {
  font-size: 42px !important;
}
@media (max-width: 782px) {
  html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--small,
  html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media--small {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
  }
  html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--medium,
  html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media--medium {
    width: 70px !important;
    height: 70px !important;
    max-width: 70px !important;
  }
  html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media--max,
  html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media--max {
    width: min(100%, 132px) !important;
    max-width: 132px !important;
    min-height: 54px !important;
    padding: 6px !important;
  }
}


/* v156 - homepage category media max size fix
   Max now fills the usable card content width instead of being capped to a small square. */
html body .fpv-home-category-cards .fpv-editable-home-card--media-max,
html body .categories.fpv-home-category-cards .cat-card.fpv-editable-home-card--media-max {
  align-items: stretch !important;
}
html body .fpv-home-category-cards .fpv-editable-home-card--media-max .cat-name,
html body .fpv-home-category-cards .fpv-editable-home-card--media-max .fpv-editable-card-desc,
html body .categories.fpv-home-category-cards .cat-card.fpv-editable-home-card--media-max .cat-name,
html body .categories.fpv-home-category-cards .cat-card.fpv-editable-home-card--media-max .fpv-editable-card-desc {
  align-self: center !important;
  width: 100% !important;
  max-width: 170px !important;
}
html body .fpv-home-category-cards .fpv-editable-home-card--media-max .fpv-home-card-media--max,
html body .categories.fpv-home-category-cards .cat-card.fpv-editable-home-card--media-max .fpv-home-card-media--max,
html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media[data-fpv-media-size="max"],
html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media[data-fpv-media-size="max"] {
  align-self: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 74px !important;
  aspect-ratio: 16 / 9 !important;
  padding: 8px !important;
  flex-basis: auto !important;
}
html body .fpv-home-category-cards .fpv-editable-home-card--media-max .fpv-home-card-media--max img,
html body .categories.fpv-home-category-cards .cat-card.fpv-editable-home-card--media-max .fpv-home-card-media--max img,
html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media[data-fpv-media-size="max"] img,
html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media[data-fpv-media-size="max"] img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}
html body .fpv-home-category-cards .fpv-editable-home-card--media-max .fpv-home-card-media--max span,
html body .categories.fpv-home-category-cards .cat-card.fpv-editable-home-card--media-max .fpv-home-card-media--max span,
html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media[data-fpv-media-size="max"] span,
html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media[data-fpv-media-size="max"] span {
  width: 100% !important;
  min-height: 58px !important;
  font-size: clamp(36px, 4vw, 54px) !important;
}
@media (max-width: 782px) {
  html body .fpv-home-category-cards .fpv-editable-home-card--media-max .fpv-home-card-media--max,
  html body .categories.fpv-home-category-cards .cat-card.fpv-editable-home-card--media-max .fpv-home-card-media--max,
  html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media[data-fpv-media-size="max"],
  html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media[data-fpv-media-size="max"] {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 60px !important;
    padding: 6px !important;
  }
}
@media (max-width: 520px) {
  html body .fpv-home-category-cards .fpv-editable-home-card--media-max .fpv-home-card-media--max,
  html body .categories.fpv-home-category-cards .cat-card.fpv-editable-home-card--media-max .fpv-home-card-media--max,
  html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media[data-fpv-media-size="max"],
  html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media[data-fpv-media-size="max"] {
    min-height: 54px !important;
  }
}


/* v157 - homepage category card Max mode: full-width square image area.
   Previous 16:9 max area made square product photos appear smaller because object-fit: contain
   scaled them by height. Max now uses a square area up to the same width as card text. */
html body .fpv-home-category-cards .fpv-editable-home-card--media-max,
html body .categories.fpv-home-category-cards .cat-card.fpv-editable-home-card--media-max {
  align-items: center !important;
}

html body .fpv-home-category-cards .fpv-editable-home-card--media-max .fpv-home-card-media--max,
html body .categories.fpv-home-category-cards .cat-card.fpv-editable-home-card--media-max .fpv-home-card-media--max,
html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media[data-fpv-media-size="max"],
html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media[data-fpv-media-size="max"] {
  align-self: center !important;
  width: min(100%, 170px) !important;
  max-width: 170px !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
}

html body .fpv-home-category-cards .fpv-editable-home-card--media-max .fpv-home-card-media--max img,
html body .categories.fpv-home-category-cards .cat-card.fpv-editable-home-card--media-max .fpv-home-card-media--max img,
html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media[data-fpv-media-size="max"] img,
html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media[data-fpv-media-size="max"] img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
}

html body .fpv-home-category-cards .fpv-editable-home-card--media-max .fpv-home-card-media--max span,
html body .categories.fpv-home-category-cards .cat-card.fpv-editable-home-card--media-max .fpv-home-card-media--max span,
html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media[data-fpv-media-size="max"] span,
html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media[data-fpv-media-size="max"] span {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  font-size: clamp(42px, 6vw, 74px) !important;
}

@media (max-width: 782px) {
  html body .fpv-home-category-cards .fpv-editable-home-card--media-max .fpv-home-card-media--max,
  html body .categories.fpv-home-category-cards .cat-card.fpv-editable-home-card--media-max .fpv-home-card-media--max,
  html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media[data-fpv-media-size="max"],
  html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media[data-fpv-media-size="max"] {
    width: min(100%, 150px) !important;
    max-width: 150px !important;
  }
}

@media (max-width: 520px) {
  html body .fpv-home-category-cards .fpv-editable-home-card--media-max .fpv-home-card-media--max,
  html body .categories.fpv-home-category-cards .cat-card.fpv-editable-home-card--media-max .fpv-home-card-media--max,
  html body .fpv-home-category-cards .fpv-editable-home-card .fpv-home-card-media[data-fpv-media-size="max"],
  html body .categories.fpv-home-category-cards .cat-card .fpv-home-card-media[data-fpv-media-size="max"] {
    width: 100% !important;
    max-width: 128px !important;
  }
}


/* v158 - compact homepage category card frame.
   Does not change Small/Medium/Max image sizing; only reduces card padding, vertical gap and inherited min-height. */
html body .fpv-home-category-cards .cat-card,
html body .fpv-home-category-cards .fpv-editable-home-card,
html body .categories.fpv-home-category-cards .cat-card {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  gap: 7px !important;
  min-height: 0 !important;
}

html body .fpv-home-category-cards .fpv-editable-home-card .cat-name,
html body .categories.fpv-home-category-cards .cat-card .cat-name {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.12 !important;
}

html body .fpv-home-category-cards .fpv-editable-home-card .fpv-editable-card-desc,
html body .fpv-home-category-cards .fpv-editable-home-card .cat-count,
html body .categories.fpv-home-category-cards .cat-card .fpv-editable-card-desc,
html body .categories.fpv-home-category-cards .cat-card .cat-count {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.22 !important;
}

@media (max-width: 782px) {
  html body .fpv-home-category-cards .cat-card,
  html body .fpv-home-category-cards .fpv-editable-home-card,
  html body .categories.fpv-home-category-cards .cat-card {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    gap: 6px !important;
  }
}

@media (max-width: 520px) {
  html body .fpv-home-category-cards .cat-card,
  html body .fpv-home-category-cards .fpv-editable-home-card,
  html body .categories.fpv-home-category-cards .cat-card {
    padding-top: 9px !important;
    padding-bottom: 9px !important;
    gap: 6px !important;
  }
}

/* v159 - Hero right square slider direction fix.
   Existing stylesheet rules used !important transforms, so JS inline transforms were ignored.
   The JS now writes transform/transition with !important and this block normalises the base state. */
.hero-square-slider[data-fpv-hero-square-slider] {
  isolation: isolate !important;
  background: var(--c-white) !important;
}
.hero-square-slider[data-fpv-hero-square-slider] .hero-square-slide {
  left: 0 !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  transform-origin: center center !important;
  overflow: hidden !important;
}
.hero-square-slider[data-fpv-hero-square-slider] .hero-square-slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}


/* v160 - Mobile hero order: right square slider/visual appears first, directly under the header.
   Desktop/tablet layout stays unchanged. */
@media (max-width: 782px) {
  html body.home .hero {
    min-height: 0 !important;
  }

  html body.home .hero-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 20px !important;
    padding-top: 18px !important;
    padding-bottom: 34px !important;
  }

  html body.home .hero-visual {
    order: 0 !important;
    width: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto 2px !important;
  }

  html body.home .hero-content {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.home .hero-image-card.hero-aside-card {
    width: min(100%, 420px) !important;
    max-width: 420px !important;
    margin-inline: auto !important;
  }
}

@media (max-width: 520px) {
  html body.home .hero-inner {
    padding-top: 14px !important;
    padding-bottom: 28px !important;
    gap: 18px !important;
  }

  html body.home .hero-image-card.hero-aside-card {
    width: min(100%, 360px) !important;
    max-width: 360px !important;
  }
}


/* v161 - Mobile hero ribbon order fix.
   The hero tag must appear directly under the header, before the mobile slider/image block.
   Desktop layout remains unchanged. */
@media (max-width: 782px) {
  html body.home .hero-inner {
    gap: 14px !important;
  }

  html body.home .hero-content {
    display: contents !important;
  }

  html body.home .hero-content > .hero-tag {
    order: 0 !important;
    align-self: flex-start !important;
    margin: 0 0 2px 0 !important;
  }

  html body.home .hero-visual {
    order: 1 !important;
    margin: 0 auto 12px !important;
  }

  html body.home .hero-content > h1 {
    order: 2 !important;
    width: 100% !important;
    margin-top: 0 !important;
  }

  html body.home .hero-content > .hero-desc {
    order: 3 !important;
    width: 100% !important;
  }

  html body.home .hero-content > .hero-btns {
    order: 4 !important;
    width: 100% !important;
  }

  html body.home .hero-content > .hero-stats {
    order: 5 !important;
    width: 100% !important;
  }
}

@media (max-width: 520px) {
  html body.home .hero-inner {
    padding-top: 10px !important;
    gap: 12px !important;
  }

  html body.home .hero-content > .hero-tag {
    margin-bottom: 0 !important;
  }

  html body.home .hero-visual {
    margin-bottom: 10px !important;
  }
}


/* V4.4.62 - Primary Header Menu desktop alignment control. */
@media (min-width: 901px) {
  .main-nav.main-nav--align-left .nav-inner {
    justify-content: flex-start !important;
  }
  .main-nav.main-nav--align-center .nav-inner {
    justify-content: center !important;
  }
  .main-nav.main-nav--align-right .nav-inner {
    justify-content: flex-end !important;
  }
  .main-nav.main-nav--align-left .nav-menu {
    justify-content: flex-start !important;
  }
  .main-nav.main-nav--align-center .nav-menu {
    justify-content: center !important;
  }
  .main-nav.main-nav--align-right .nav-menu {
    justify-content: flex-end !important;
  }
}
@media (max-width: 900px) {
  .main-nav.main-nav--align-left .nav-inner,
  .main-nav.main-nav--align-center .nav-inner,
  .main-nav.main-nav--align-right .nav-inner {
    justify-content: flex-start !important;
  }
  .main-nav.main-nav--align-left .nav-menu,
  .main-nav.main-nav--align-center .nav-menu,
  .main-nav.main-nav--align-right .nav-menu {
    justify-content: flex-start !important;
  }
}


/* V4.4.63 - Product tab order safety.
   PHP controls the real WooCommerce tab order. These selectors only protect flex layouts
   if a browser/plugin applies visual ordering later. */
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.description_tab { order: 10 !important; }
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.fpvdronas_specifications_tab { order: 20 !important; }
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.additional_information_tab { order: 30 !important; }
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.reviews_tab { order: 99 !important; }

/* V4.4.64 - Product action buttons: text-only for stock notice, question and review buttons; wishlist icon unchanged. */


/* V4.4.67 - stronger visual tab order fallback for WooCommerce/plugin tab classes and ids. */
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.description_tab,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li#tab-title-description { order: 10 !important; }
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.fpvdronas_specifications_tab,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.specifications_tab,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li#tab-title-fpvdronas_specifications,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li[id*="spec"] { order: 20 !important; }
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.additional_information_tab,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li#tab-title-additional_information { order: 30 !important; }
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.reviews_tab,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li#tab-title-reviews { order: 999 !important; }

/* V4.4.67 - Mobile review rating stars fix. Keep WooCommerce rating links out of tab-link styling. */
@media (max-width: 782px) {
  body.single-product .woocommerce div.product .woocommerce-tabs #reviews #review_form,
  body.single-product .woocommerce div.product .woocommerce-tabs #reviews #respond,
  body.single-product .woocommerce div.product .woocommerce-tabs #reviews .comment-form-rating {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs #reviews .comment-form-rating label {
    display: block !important;
    margin: 0 0 8px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    color: var(--c-dark, #202A44) !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs #reviews p.stars,
  body.single-product .woocommerce div.product .woocommerce-tabs #review_form p.stars {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    line-height: 1 !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs #reviews p.stars span,
  body.single-product .woocommerce div.product .woocommerce-tabs #review_form p.stars span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li #reviews p.stars a,
  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li #review_form p.stars a,
  body.single-product .woocommerce div.product .woocommerce-tabs #reviews p.stars a,
  body.single-product .woocommerce div.product .woocommerce-tabs #review_form p.stars a {
    display: inline-block !important;
    flex: 0 0 auto !important;
    width: 1.15em !important;
    min-width: 1.15em !important;
    max-width: 1.15em !important;
    height: 1.15em !important;
    min-height: 1.15em !important;
    max-height: 1.15em !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: var(--c-accent, #FF6A00) !important;
    font-size: 24px !important;
    line-height: 1 !important;
    text-align: left !important;
    text-indent: -999em !important;
    overflow: hidden !important;
    text-decoration: none !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs #reviews p.stars a::before,
  body.single-product .woocommerce div.product .woocommerce-tabs #review_form p.stars a::before {
    color: var(--c-accent, #FF6A00) !important;
    font-size: 24px !important;
    line-height: 1 !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs #reviews .comment-form-comment textarea,
  body.single-product .woocommerce div.product .woocommerce-tabs #review_form textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 92px !important;
  }
}


/* V4.4.67 - Mobile WooCommerce review stars: force one horizontal row and remove inherited tab underlines. */
@media (max-width: 782px) {
  body.single-product .woocommerce div.product .woocommerce-tabs .comment-form-rating p.stars,
  body.single-product .woocommerce div.product .woocommerce-tabs #reviews p.stars,
  body.single-product .woocommerce div.product .woocommerce-tabs #review_form p.stars,
  body.single-product .woocommerce div.product .woocommerce-tabs #tab-reviews p.stars,
  body.single-product .woocommerce div.product .woocommerce-tabs p.stars.fpv-review-stars-inline {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    width: auto !important;
    max-width: max-content !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 6px 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: visible !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    clear: both !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs .comment-form-rating p.stars span,
  body.single-product .woocommerce div.product .woocommerce-tabs #reviews p.stars span,
  body.single-product .woocommerce div.product .woocommerce-tabs #review_form p.stars span,
  body.single-product .woocommerce div.product .woocommerce-tabs #tab-reviews p.stars span,
  body.single-product .woocommerce div.product .woocommerce-tabs p.stars.fpv-review-stars-inline span {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: auto !important;
    max-width: max-content !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: visible !important;
    white-space: nowrap !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li .comment-form-rating p.stars a,
  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active .comment-form-rating p.stars a,
  body.single-product .woocommerce div.product .woocommerce-tabs .comment-form-rating p.stars a,
  body.single-product .woocommerce div.product .woocommerce-tabs #reviews p.stars a,
  body.single-product .woocommerce div.product .woocommerce-tabs #review_form p.stars a,
  body.single-product .woocommerce div.product .woocommerce-tabs #tab-reviews p.stars a,
  body.single-product .woocommerce div.product .woocommerce-tabs p.stars.fpv-review-stars-inline a {
    display: inline-block !important;
    position: relative !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 26px !important;
    min-height: 26px !important;
    max-height: 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: var(--c-accent, #FF6A00) !important;
    font-size: 24px !important;
    line-height: 26px !important;
    text-align: left !important;
    text-decoration: none !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
    float: none !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li .comment-form-rating p.stars a:hover,
  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active .comment-form-rating p.stars a:hover,
  body.single-product .woocommerce div.product .woocommerce-tabs .comment-form-rating p.stars a:hover,
  body.single-product .woocommerce div.product .woocommerce-tabs .comment-form-rating p.stars a.active,
  body.single-product .woocommerce div.product .woocommerce-tabs .comment-form-rating p.stars a:focus {
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: var(--c-accent, #FF6A00) !important;
    text-decoration: none !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs .comment-form-rating p.stars a::before,
  body.single-product .woocommerce div.product .woocommerce-tabs #reviews p.stars a::before,
  body.single-product .woocommerce div.product .woocommerce-tabs #review_form p.stars a::before,
  body.single-product .woocommerce div.product .woocommerce-tabs #tab-reviews p.stars a::before,
  body.single-product .woocommerce div.product .woocommerce-tabs p.stars.fpv-review-stars-inline a::before {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 24px !important;
    height: 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: var(--c-accent, #FF6A00) !important;
    font-size: 24px !important;
    line-height: 26px !important;
    text-indent: 0 !important;
  }
}

/* V4.4.68 - Mobile specifications rows: keep label and value on the same row. */
@media (max-width: 782px) {
  body.single-product .woocommerce div.product .woocommerce-tabs #tab-fpvdronas_specifications .fpvdronas-clean-spec-list,
  body.single-product .woocommerce div.product .woocommerce-tabs .d0-pif-specifications-content .fpvdronas-clean-spec-list,
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-specifications-content .fpvdronas-clean-spec-list {
    display: block !important;
    width: 100% !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs #tab-fpvdronas_specifications .fpvdronas-clean-spec-row,
  body.single-product .woocommerce div.product .woocommerce-tabs .d0-pif-specifications-content .fpvdronas-clean-spec-row,
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-specifications-content .fpvdronas-clean-spec-row {
    display: grid !important;
    grid-template-columns: minmax(116px, 42%) minmax(0, 1fr) !important;
    column-gap: 10px !important;
    align-items: baseline !important;
    width: 100% !important;
    padding: 6px 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs #tab-fpvdronas_specifications .fpvdronas-clean-spec-label,
  body.single-product .woocommerce div.product .woocommerce-tabs #tab-fpvdronas_specifications .fpvdronas-clean-spec-value,
  body.single-product .woocommerce div.product .woocommerce-tabs .d0-pif-specifications-content .fpvdronas-clean-spec-label,
  body.single-product .woocommerce div.product .woocommerce-tabs .d0-pif-specifications-content .fpvdronas-clean-spec-value,
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-specifications-content .fpvdronas-clean-spec-label,
  body.single-product .woocommerce div.product .woocommerce-tabs .fpvdronas-specifications-content .fpvdronas-clean-spec-value {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
}


/* V4.4.73 - Hero image background positioning/transparency/tint and solid label on image */
body.home .hero.hero-bg-mode-image,
body.front-page .hero.hero-bg-mode-image {
  background-size: auto;
  background-position: initial;
  isolation: isolate;
}
body.home .hero.hero-bg-mode-image::before,
body.front-page .hero.hero-bg-mode-image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: var(--fpv-hero-bg-image);
  background-size: cover;
  background-position: calc(50% + var(--fpv-hero-bg-x, 0px)) calc(50% + var(--fpv-hero-bg-y, 0px));
  background-repeat: no-repeat;
  background-attachment: fixed;
  opacity: var(--fpv-hero-bg-opacity, 1);
}
body.home .hero.hero-bg-mode-image::after,
body.front-page .hero.hero-bg-mode-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: var(--fpv-hero-bg-tint, rgba(0,0,0,0));
}
body.home .hero.hero-bg-mode-image .hero-tag,
body.front-page .hero.hero-bg-mode-image .hero-tag {
  background: var(--c-accent) !important;
  color: var(--c-white) !important;
  border-left-color: var(--c-accent2) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}
body.home .hero.hero-bg-mode-image .hero-accent-line,
body.front-page .hero.hero-bg-mode-image .hero-accent-line {
  z-index: 3;
}
body.home .hero.hero-bg-mode-image .hero-inner,
body.front-page .hero.hero-bg-mode-image .hero-inner,
body.home .hero.hero-bg-mode-image .hero-floating-cta,
body.front-page .hero.hero-bg-mode-image .hero-floating-cta {
  z-index: 3;
}
body.home .site-header > .header-inner,
body.front-page .site-header > .header-inner,
body.home .main-nav > .nav-inner,
body.front-page .main-nav > .nav-inner {
  position: relative;
}


/* V4.4.74 - Homepage native slider corner cleanup.
   Removes grey/dark corner artefacts caused by the outer slider background/shadow showing behind rounded image edges. */
body.home .fpv-native-slider,
body.front-page .fpv-native-slider,
body.home .fpv-native-slider-v130,
body.front-page .fpv-native-slider-v130 {
  background: transparent !important;
  box-shadow: none !important;
}

body.home .fpv-native-slider-viewport,
body.front-page .fpv-native-slider-viewport {
  background: transparent !important;
  overflow: hidden !important;
  border-radius: inherit !important;
}

body.home .fpv-native-slider-link,
body.front-page .fpv-native-slider-link {
  background: transparent !important;
}

body.home .fpv-native-slider-link img,
body.front-page .fpv-native-slider-link img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}


/* V4.4.75 - Hero image automatic contrast, surface secondary button and integrated header/menu lines. */
body.fpv-hero-bg-image-active {
  --fpv-hero-on-bg-text: #111111;
  --fpv-hero-on-bg-muted: #111111;
  --fpv-hero-on-bg-border: rgba(0,0,0,.18);
  --fpv-hero-header-line: color-mix(in srgb, var(--c-surface) 78%, rgba(0,0,0,.10));
}

body.fpv-hero-bg-image-active.fpv-hero-contrast-dark {
  --fpv-hero-on-bg-text: rgba(255,255,255,.96);
  --fpv-hero-on-bg-muted: rgba(255,255,255,.88);
  --fpv-hero-on-bg-border: rgba(255,255,255,.24);
  --fpv-hero-header-line: color-mix(in srgb, var(--c-surface) 70%, rgba(255,255,255,.18));
}

body.fpv-hero-bg-image-active .site-header .header-button,
body.fpv-hero-bg-image-active .site-header .header-button span,
body.fpv-hero-bg-image-active .site-header .header-button svg,
body.fpv-hero-bg-image-active .hero .hero-desc,
body.fpv-hero-bg-image-active .hero .stat-label {
  color: var(--fpv-hero-on-bg-muted) !important;
  stroke: var(--fpv-hero-on-bg-muted) !important;
}

body.fpv-hero-bg-image-active .hero .hero-stats {
  border-top-color: var(--fpv-hero-on-bg-border) !important;
}

body.fpv-hero-bg-image-active.fpv-hero-contrast-dark .hero h1,
body.fpv-hero-bg-image-active.fpv-hero-contrast-dark .main-nav .nav-menu > li > a {
  color: var(--fpv-hero-on-bg-text) !important;
}

body.fpv-hero-bg-image-active.fpv-hero-contrast-light .main-nav .nav-menu > li > a {
  color: #111111 !important;
}

body.fpv-hero-bg-image-active .main-nav .nav-menu > li:hover > a,
body.fpv-hero-bg-image-active .main-nav .nav-menu > li.current-menu-item > a,
body.fpv-hero-bg-image-active .main-nav .nav-menu > li.current-menu-ancestor > a {
  color: var(--c-accent) !important;
  border-bottom-color: var(--c-accent) !important;
}

/* The secondary hero CTA, e.g. “Surink savo droną”, must always read as a card/surface button. */
body.home .hero .btn-secondary,
body.front-page .hero .btn-secondary {
  background: var(--c-surface) !important;
  color: var(--c-text) !important;
  border-color: var(--c-border2) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.08) !important;
}

body.home .hero .btn-secondary:hover,
body.front-page .hero .btn-secondary:hover {
  color: var(--c-accent) !important;
  border-color: var(--c-accent) !important;
  background: var(--c-surface) !important;
}

/* When the header/menu are joined to the hero image, keep only thin surface-colored separators. */
body.fpv-hero-bg-image-active.fpv-hero-header-integrated .site-header {
  border-bottom: 1px solid var(--fpv-hero-header-line) !important;
  box-shadow: none !important;
}

body.fpv-hero-bg-image-active.fpv-hero-header-integrated .main-nav {
  border-top: 1px solid var(--fpv-hero-header-line) !important;
  border-bottom: 1px solid var(--fpv-hero-header-line) !important;
  box-shadow: none !important;
}

body.fpv-hero-bg-image-active.fpv-hero-header-integrated .hero .hero-accent-line {
  height: 1px !important;
  background: var(--fpv-hero-header-line) !important;
}

/* V4.4.78 - Thin header/menu/breadcrumb separators.
   Keeps existing layout and colors, only reduces the thick grey separator bars to 1px. */
.site-header {
  border-bottom-width: 1px !important;
}

.main-nav {
  border-top-width: 0 !important;
  border-bottom-width: 1px !important;
}

.breadcrumb-bar,
.fpvd-breadcrumb-bar,
.woocommerce-breadcrumb,
.fpv-breadcrumbs {
  border-top-width: 1px !important;
  border-bottom-width: 1px !important;
}

/* Avoid a doubled 2px-looking separator when adjacent header/menu/breadcrumb borders meet. */
.site-header + .main-nav {
  margin-top: 0 !important;
}

.main-nav + .breadcrumb-bar,
.main-nav + .fpvd-breadcrumb-bar,
.main-nav + .woocommerce-breadcrumb,
.main-nav + .fpv-breadcrumbs {
  margin-top: 0 !important;
}

/* V4.4.79 - Kontaktai page template. Standard intro + editable contact block. */
.fpvd-contact-page .fpvd-contact-intro {
  padding-bottom: 10px !important;
}

.fpvd-contact-section {
  background: var(--c-bg);
  padding: 12px 0 72px;
  position: relative;
  overflow: hidden;
}

.fpvd-contact-section::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: .04;
  background-image: linear-gradient(var(--c-border2) 1px, transparent 1px), linear-gradient(90deg, var(--c-border2) 1px, transparent 1px);
  background-size: 36px 36px;
  pointer-events: none;
}

.fpvd-contact-section-inner {
  position: relative;
  display: grid;
  grid-template-columns: 210px minmax(0, 980px);
  column-gap: 28px;
  justify-content: start;
  align-items: start;
}

.fpvd-contact-body {
  grid-column: 2;
  width: min(815px, 100%);
  max-width: 815px;
}

.fpvd-contact-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 50px;
  align-items: stretch;
  margin: 14px 0 38px;
}

.fpvd-contact-card {
  min-height: 90px;
  background: #dedede;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.02);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 68px;
  align-items: center;
  gap: 10px;
  padding: 12px 12px 12px 28px;
  color: var(--c-text);
  box-sizing: border-box;
}

.fpvd-contact-card-copy h2 {
  margin: 0 0 17px;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--c-text);
  text-transform: none;
  letter-spacing: 0;
}

.fpvd-contact-card-copy a,
.fpvd-contact-card-copy p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--c-text);
  text-decoration: none;
}

.fpvd-contact-card-copy a:hover {
  color: var(--c-accent);
}

.fpvd-contact-icon {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: var(--c-accent);
  color: var(--c-white);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 68px;
}

.fpvd-contact-icon svg {
  width: 42px;
  height: 42px;
  display: block;
}

.fpvd-contact-main-row {
  display: grid;
  grid-template-columns: 320px minmax(0, 403px);
  column-gap: 92px;
  align-items: start;
}

.fpvd-contact-form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 320px;
  max-width: 100%;
}

.fpvd-contact-form label {
  margin: 0 0 4px;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--c-accent);
}

.fpvd-contact-form input[type="text"],
.fpvd-contact-form input[type="email"],
.fpvd-contact-form textarea {
  width: 100%;
  border: 1.5px solid #2d2d2d;
  border-radius: 20px;
  background: var(--c-surface);
  color: var(--c-text);
  min-height: 40px;
  padding: 10px 16px;
  font-family: var(--font-body);
  font-size: 12px;
  box-shadow: none;
  outline: none;
  box-sizing: border-box;
  margin: 0 0 8px;
}

.fpvd-contact-form textarea {
  min-height: 77px;
  resize: vertical;
  border-radius: 20px;
}

.fpvd-contact-form input[type="text"]:focus,
.fpvd-contact-form input[type="email"]:focus,
.fpvd-contact-form textarea:focus {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 1px var(--c-accent-glow-soft, rgba(255,106,0,.16));
}

.fpvd-contact-form ::placeholder {
  color: #8d8d8d;
  opacity: 1;
}

.fpvd-contact-submit {
  align-self: center;
  min-width: 102px;
  min-height: 40px;
  margin-top: 3px;
  padding: 11px 24px;
  border: 0;
  border-radius: 19px;
  background: var(--c-accent);
  color: var(--c-white);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.fpvd-contact-submit:hover,
.fpvd-contact-submit:focus-visible {
  background: var(--c-accent2, var(--c-accent));
  color: var(--c-white);
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(246,106,0,.24);
}

.fpvd-contact-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
}

.fpvd-contact-notice {
  margin: 0 0 10px;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 600;
}

.fpvd-contact-notice-success {
  background: var(--c-success-bg, rgba(16,185,129,.10));
  color: var(--c-success, #047857);
  border: 1px solid var(--c-success-border, rgba(16,185,129,.22));
}

.fpvd-contact-notice-error {
  background: var(--c-error-bg, rgba(239,68,68,.10));
  color: var(--c-error, #b91c1c);
  border: 1px solid var(--c-error-border, rgba(239,68,68,.22));
}

.fpvd-contact-delivery {
  width: 403px;
  max-width: 100%;
  min-height: 282px;
  background: #dedede;
  border-radius: 18px;
  padding: 28px 12px 26px;
  color: var(--c-text);
  box-sizing: border-box;
}

.fpvd-contact-delivery h2 {
  margin: 0 0 31px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-transform: none;
  color: var(--c-text);
  letter-spacing: 0;
}

.fpvd-contact-delivery-content {
  padding: 0 0;
  font-size: 13px;
  line-height: 1.48;
  color: var(--c-text);
}

.fpvd-contact-delivery-content p {
  margin: 0 0 20px;
}

.fpvd-contact-delivery-content p:last-child {
  margin-bottom: 0;
}

.fpvd-contact-delivery-content a {
  color: var(--c-text);
  font-weight: 700;
  text-decoration: underline;
}

.fpvd-contact-delivery-content a:hover {
  color: var(--c-accent);
}

@media (max-width: 1180px) {
  .fpvd-contact-section-inner {
    grid-template-columns: 210px minmax(0, 1fr);
  }

  .fpvd-contact-body {
    width: 100%;
    max-width: 815px;
  }

  .fpvd-contact-cards {
    gap: 24px;
  }

  .fpvd-contact-main-row {
    grid-template-columns: minmax(280px, 320px) minmax(0, 403px);
    column-gap: 42px;
  }
}

@media (max-width: 900px) {
  .fpvd-contact-section-inner {
    grid-template-columns: 1fr;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .fpvd-contact-body {
    grid-column: 1;
    width: 100%;
    max-width: 100%;
  }

  .fpvd-contact-cards {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 8px;
    margin-bottom: 28px;
  }

  .fpvd-contact-card {
    min-height: 84px;
  }

  .fpvd-contact-main-row {
    grid-template-columns: 1fr;
    row-gap: 28px;
  }

  .fpvd-contact-form,
  .fpvd-contact-delivery {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .fpvd-contact-section {
    padding-bottom: 48px;
  }

  .fpvd-contact-card {
    grid-template-columns: minmax(0, 1fr) 58px;
    padding: 12px 12px 12px 18px;
    border-radius: 16px;
  }

  .fpvd-contact-icon {
    width: 58px;
    height: 58px;
    flex-basis: 58px;
  }

  .fpvd-contact-icon svg {
    width: 36px;
    height: 36px;
  }

  .fpvd-contact-delivery {
    padding: 24px 18px;
  }
}


/* V4.4.81 - Account loyalty level summary */
body.woocommerce-account .fpv-account-loyalty-card {
  background: var(--c-surface2);
  border-radius: 18px;
  padding: 22px 24px;
  margin: 22px 0 24px;
  border: 1px solid rgba(0,0,0,.04);
}
body.woocommerce-account .fpv-account-loyalty-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
body.woocommerce-account .fpv-account-loyalty-kicker {
  display: block;
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
body.woocommerce-account .fpv-account-loyalty-title {
  margin: 0;
  color: var(--c-dark);
  font-size: 24px;
  line-height: 1.18;
}
body.woocommerce-account .fpv-account-loyalty-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  min-height: 42px;
  padding: 9px 16px;
  border-radius: 999px;
  background: var(--c-accent);
  color: var(--c-white);
  font-family: var(--font-display);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  white-space: nowrap;
}
body.woocommerce-account .fpv-account-loyalty-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0 16px;
}
body.woocommerce-account .fpv-account-loyalty-metric {
  background: rgba(255,255,255,.64);
  border: 1px solid rgba(0,0,0,.05);
  border-radius: 12px;
  padding: 12px 14px;
}
body.woocommerce-account .fpv-account-loyalty-metric span {
  display: block;
  color: var(--c-muted);
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 4px;
}
body.woocommerce-account .fpv-account-loyalty-metric strong {
  display: block;
  color: var(--c-dark);
  font-size: 16px;
}
body.woocommerce-account .fpv-account-loyalty-text {
  margin: 0 0 14px;
  color: var(--c-text);
}
body.woocommerce-account .fpv-account-loyalty-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--c-accent);
  color: var(--c-white) !important;
  border: 1.5px solid var(--c-accent);
  border-radius: 5px;
  padding: 11px 18px;
  font-family: var(--font-display);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .7px;
  text-decoration: none !important;
}
body.woocommerce-account .fpv-account-loyalty-link:hover {
  background: var(--c-accent2);
  border-color: var(--c-accent2);
}
@media (max-width: 760px) {
  body.woocommerce-account .fpv-account-loyalty-card-head {
    align-items: flex-start;
    flex-direction: column;
  }
  body.woocommerce-account .fpv-account-loyalty-grid {
    grid-template-columns: 1fr;
  }
}


/* V4.4.82 - Editable Kontaktai template block layout. */
.fpvd-contact-page .fpvd-contact-content,
.fpvd-contact-page .fpvd-contact-template-content,
.fpvd-contact-page .fpvd-contact-template-content > .wp-block-group.fpvd-contact-editor-layout {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

.fpvd-contact-page .fpvd-contact-editor-layout,
.fpvd-contact-page .fpvd-contact-intro,
.fpvd-contact-page .fpvd-contact-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.fpvd-contact-page .fpv-page-intro-card .wp-block-group.entry-content {
  width: 100% !important;
  min-width: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

.fpvd-contact-page .fpv-page-intro-card .wp-block-heading,
.fpvd-contact-page .fpv-page-intro-card p {
  width: 100%;
}

.fpvd-contact-page .fpv-page-intro-card h2 {
  margin: 0 0 10px !important;
  color: var(--c-dark);
  font-size: 22px;
  line-height: 1.25;
  text-align: center;
}

.fpvd-contact-page .fpv-page-intro-card p {
  margin: 0 !important;
  text-align: center;
}

.fpvd-contact-page .fpvd-contact-card-copy .wp-block-heading {
  margin: 0 0 17px !important;
}

.fpvd-contact-page .fpvd-contact-card-copy p {
  margin: 0 !important;
}

.fpvd-contact-page .fpvd-contact-card-copy a {
  color: var(--c-text);
  text-decoration: none;
}

.fpvd-contact-page .fpvd-contact-card-copy a:hover {
  color: var(--c-accent);
}

.fpvd-contact-page .fpvd-contact-delivery .wp-block-heading {
  margin: 0 0 31px !important;
}

.fpvd-contact-page .fpvd-contact-delivery-content {
  width: 100%;
}

.fpvd-contact-page .fpvd-contact-main-row > .wp-block-group,
.fpvd-contact-page .fpvd-contact-main-row > .wp-block-shortcode {
  margin: 0 !important;
}

@media (max-width: 900px) {
  .fpvd-contact-page .fpv-page-intro-card h2,
  .fpvd-contact-page .fpv-page-intro-card p {
    text-align: left;
  }
}


/* V4.4.83 - Kontaktai editable slot system under intro card. */
.fpvd-contact-page .fpvd-contact-slots-section {
  padding-top: 10px !important;
}

.fpvd-contact-page .fpvd-contact-layout-slots {
  min-height: 280px;
}

.fpvd-contact-page .fpvd-contact-slot-card .fpvd-contact-card-copy h2,
.fpvd-contact-page .fpvd-contact-slot-card .fpvd-contact-card-copy .wp-block-heading {
  margin-bottom: 12px !important;
}

.fpvd-contact-icon-slot {
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: center;
}

.fpvd-contact-icon-slot p {
  margin: 0 !important;
  color: var(--c-white) !important;
  line-height: 1 !important;
}

.fpvd-contact-form-slot {
  width: 320px;
  max-width: 100%;
  box-sizing: border-box;
}

.fpvd-contact-form-slot > .fpvd-contact-slot-heading,
.fpvd-contact-wide-slot .fpvd-contact-slot-heading {
  margin: 0 0 10px !important;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.25;
  color: var(--c-text);
  text-transform: none;
  letter-spacing: 0;
}

.fpvd-contact-placeholder-text {
  margin: 0 0 12px !important;
  font-size: 12px;
  line-height: 1.45;
  color: var(--c-muted);
}

.fpvd-contact-wide-slot {
  margin-top: 32px !important;
}

.fpvd-contact-extra-columns {
  gap: 24px;
  margin: 0 !important;
}

.fpvd-contact-extra-columns > .wp-block-column {
  background: #dedede;
  border-radius: 18px;
  padding: 24px;
  min-height: 150px;
  box-sizing: border-box;
}

.fpvd-contact-extra-columns p {
  margin-top: 0;
  font-size: 13px;
  line-height: 1.5;
}

.fpvd-contact-image-slot {
  min-height: 118px;
  border: 1.5px dashed rgba(58,58,58,.28);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 18px;
  box-sizing: border-box;
  color: var(--c-muted);
  background: rgba(255,255,255,.24);
}

.fpvd-contact-image-slot p {
  margin: 0 !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .fpvd-contact-form-slot,
  .fpvd-contact-form {
    width: 100%;
  }
  .fpvd-contact-extra-columns {
    gap: 16px;
  }
}


/* V4.4.84 - Kontaktai fixed intro/ribbon coordinate system.
   The intro ribbon and white card remain locked to the same grid positions even
   when the page content is managed as editable Gutenberg blocks. */
html body.page main.fpvd-contact-page .fpvd-contact-template-content,
html body.page main.fpvd-contact-page .fpvd-contact-template-content > *,
html body.page main.fpvd-contact-page .fpvd-contact-editor-layout {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-intro {
  position: relative !important;
  overflow: hidden !important;
  padding: 28px 0 12px !important;
  margin: 0 !important;
  background: var(--c-bg, #f1f1f1) !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-intro > .section-inner,
html body.page main.fpvd-contact-page .fpvd-contact-intro .section-inner,
html body.page main.fpvd-contact-page .fpvd-contact-section > .section-inner,
html body.page main.fpvd-contact-page .fpvd-contact-section .section-inner.fpvd-contact-section-inner {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-row {
  display: grid !important;
  grid-template-columns: 210px 980px !important;
  column-gap: 28px !important;
  row-gap: 0 !important;
  align-items: start !important;
  justify-content: start !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  left: 0 !important;
  transform: none !important;
  position: relative !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-title-badge {
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-self: start !important;
  align-self: start !important;
  width: 210px !important;
  min-width: 210px !important;
  max-width: 210px !important;
  height: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-intro .fpvd-contact-intro-card,
html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-card {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: start !important;
  align-self: start !important;
  width: 980px !important;
  max-width: 980px !important;
  min-width: 980px !important;
  min-height: 116px !important;
  margin: 0 !important;
  padding: 18px 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  background: var(--c-white, #fff) !important;
  border: 1.5px solid var(--c-border, #d0d0d0) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-card .entry-content {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  position: relative !important;
  z-index: 1 !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-card h2,
html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-card p {
  text-align: center !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-slots-section {
  padding: 10px 0 72px !important;
  margin: 0 !important;
  background: var(--c-bg, #f1f1f1) !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-section-inner {
  display: grid !important;
  grid-template-columns: 210px 980px !important;
  column-gap: 28px !important;
  row-gap: 0 !important;
  align-items: start !important;
  justify-content: start !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  left: 0 !important;
  transform: none !important;
  box-sizing: border-box !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-section-inner > .fpvd-contact-body,
html body.page main.fpvd-contact-page .fpvd-contact-body.fpvd-contact-layout-slots {
  grid-column: 2 !important;
  justify-self: start !important;
  width: 815px !important;
  max-width: 815px !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 1230px) {
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-row,
  html body.page main.fpvd-contact-page .fpvd-contact-section-inner {
    grid-template-columns: 210px minmax(0, 1fr) !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpvd-contact-intro-card,
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 980px !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-section-inner > .fpvd-contact-body,
  html body.page main.fpvd-contact-page .fpvd-contact-body.fpvd-contact-layout-slots {
    width: min(815px, 100%) !important;
    max-width: 815px !important;
  }
}

@media (max-width: 900px) {
  html body.page main.fpvd-contact-page .fpvd-contact-intro > .section-inner,
  html body.page main.fpvd-contact-page .fpvd-contact-intro .section-inner,
  html body.page main.fpvd-contact-page .fpvd-contact-section > .section-inner,
  html body.page main.fpvd-contact-page .fpvd-contact-section .section-inner.fpvd-contact-section-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-row,
  html body.page main.fpvd-contact-page .fpvd-contact-section-inner {
    grid-template-columns: 1fr !important;
    row-gap: 12px !important;
    column-gap: 0 !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-title-badge,
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpvd-contact-intro-card,
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-card,
  html body.page main.fpvd-contact-page .fpvd-contact-section-inner > .fpvd-contact-body,
  html body.page main.fpvd-contact-page .fpvd-contact-body.fpvd-contact-layout-slots {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpvd-contact-intro-card,
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-card {
    min-height: 0 !important;
    padding: 18px !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-card h2,
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-card p {
    text-align: left !important;
  }
}

/* V4.4.85 - Kontaktai fixed page-grid alignment.
   Keeps the Kontaktai ribbon and intro card in the same X coordinates as the
   other page templates, while the editable slot system remains below it. */
html body.page main.fpvd-contact-page .fpvd-contact-content,
html body.page main.fpvd-contact-page .fpvd-contact-template-content,
html body.page main.fpvd-contact-page .fpvd-contact-editor-layout {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-intro,
html body.page main.fpvd-contact-page .fpvd-contact-section {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-intro > .section-inner,
html body.page main.fpvd-contact-page .fpvd-contact-intro .section-inner,
html body.page main.fpvd-contact-page .fpvd-contact-section > .section-inner,
html body.page main.fpvd-contact-page .fpvd-contact-section .section-inner.fpvd-contact-section-inner {
  width: 100% !important;
  max-width: 1460px !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-row,
html body.page main.fpvd-contact-page .fpvd-contact-section-inner {
  display: grid !important;
  grid-template-columns: 210px 980px !important;
  column-gap: 28px !important;
  row-gap: 0 !important;
  align-items: start !important;
  justify-content: start !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  left: 0 !important;
  right: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-title-badge {
  grid-column: 1 !important;
  justify-self: start !important;
  width: 210px !important;
  min-width: 210px !important;
  max-width: 210px !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-intro .fpvd-contact-intro-card,
html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-card {
  grid-column: 2 !important;
  justify-self: start !important;
  width: 980px !important;
  min-width: 980px !important;
  max-width: 980px !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-section-inner > .fpvd-contact-body,
html body.page main.fpvd-contact-page .fpvd-contact-body.fpvd-contact-layout-slots {
  grid-column: 2 !important;
  justify-self: start !important;
  width: 815px !important;
  max-width: 815px !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 1230px) {
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-row,
  html body.page main.fpvd-contact-page .fpvd-contact-section-inner {
    grid-template-columns: 210px minmax(0, 1fr) !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpvd-contact-intro-card,
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 980px !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-section-inner > .fpvd-contact-body,
  html body.page main.fpvd-contact-page .fpvd-contact-body.fpvd-contact-layout-slots {
    width: min(815px, 100%) !important;
    max-width: 815px !important;
  }
}

@media (max-width: 900px) {
  html body.page main.fpvd-contact-page .fpvd-contact-intro > .section-inner,
  html body.page main.fpvd-contact-page .fpvd-contact-intro .section-inner,
  html body.page main.fpvd-contact-page .fpvd-contact-section > .section-inner,
  html body.page main.fpvd-contact-page .fpvd-contact-section .section-inner.fpvd-contact-section-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-row,
  html body.page main.fpvd-contact-page .fpvd-contact-section-inner {
    grid-template-columns: 1fr !important;
    row-gap: 12px !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-title-badge,
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpvd-contact-intro-card,
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-card,
  html body.page main.fpvd-contact-page .fpvd-contact-section-inner > .fpvd-contact-body,
  html body.page main.fpvd-contact-page .fpvd-contact-body.fpvd-contact-layout-slots {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}


/* V4.4.86 - Kontaktai alignment and compact grey blocks.
   Match the normal page template grid, then keep the editable contact slots compact. */
html body.page main.fpvd-contact-page .fpvd-contact-content,
html body.page main.fpvd-contact-page .fpvd-contact-template-content,
html body.page main.fpvd-contact-page .fpvd-contact-editor-layout {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-intro,
html body.page main.fpvd-contact-page .fpvd-contact-section {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-intro {
  padding: 28px 0 12px !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-slots-section {
  padding: 10px 0 72px !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-intro > .section-inner,
html body.page main.fpvd-contact-page .fpvd-contact-intro .section-inner,
html body.page main.fpvd-contact-page .fpvd-contact-section > .section-inner,
html body.page main.fpvd-contact-page .fpvd-contact-section .section-inner.fpvd-contact-section-inner {
  width: 100% !important;
  max-width: 1380px !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-row,
html body.page main.fpvd-contact-page .fpvd-contact-section-inner {
  display: grid !important;
  grid-template-columns: minmax(150px, 210px) minmax(0, 980px) !important;
  gap: 14px 28px !important;
  align-items: start !important;
  justify-content: start !important;
  width: 100% !important;
  max-width: 1218px !important;
  min-width: 0 !important;
  margin: 0 !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-title-badge {
  grid-column: 1 !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: 210px !important;
  min-width: 0 !important;
  min-height: 28px !important;
  height: auto !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-intro .fpvd-contact-intro-card,
html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-card {
  grid-column: 2 !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: 980px !important;
  min-width: 0 !important;
  min-height: 116px !important;
  margin: 0 !important;
  padding: 18px 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-section-inner > .fpvd-contact-body,
html body.page main.fpvd-contact-page .fpvd-contact-body.fpvd-contact-layout-slots {
  grid-column: 2 !important;
  justify-self: start !important;
  width: 815px !important;
  max-width: 815px !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 50px !important;
  align-items: start !important;
  margin: 12px 0 38px !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-card {
  min-height: 90px !important;
  height: auto !important;
  padding: 10px 12px 10px 28px !important;
  border-radius: 18px !important;
  grid-template-columns: minmax(0, 1fr) 68px !important;
  gap: 10px !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-slot-card .fpvd-contact-card-copy h2,
html body.page main.fpvd-contact-page .fpvd-contact-slot-card .fpvd-contact-card-copy .wp-block-heading,
html body.page main.fpvd-contact-page .fpvd-contact-card-copy h2,
html body.page main.fpvd-contact-page .fpvd-contact-card-copy .wp-block-heading {
  margin: 0 0 8px !important;
  font-size: 15px !important;
  line-height: 1.12 !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-card-copy p,
html body.page main.fpvd-contact-page .fpvd-contact-card-copy a {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-icon,
html body.page main.fpvd-contact-page .fpvd-contact-icon-slot {
  width: 68px !important;
  height: 68px !important;
  min-width: 68px !important;
  min-height: 68px !important;
  flex: 0 0 68px !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-delivery,
html body.page main.fpvd-contact-page .fpvd-contact-text-slot {
  min-height: 250px !important;
  padding: 24px 12px !important;
  box-sizing: border-box !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-delivery h2,
html body.page main.fpvd-contact-page .fpvd-contact-delivery .wp-block-heading {
  margin-bottom: 24px !important;
}

@media (max-width: 1100px) {
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-row,
  html body.page main.fpvd-contact-page .fpvd-contact-section-inner {
    grid-template-columns: minmax(130px, 190px) minmax(0, 1fr) !important;
    max-width: 100% !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-section-inner > .fpvd-contact-body,
  html body.page main.fpvd-contact-page .fpvd-contact-body.fpvd-contact-layout-slots {
    width: min(815px, 100%) !important;
    max-width: 815px !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-cards {
    gap: 24px !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-main-row {
    column-gap: 42px !important;
  }
}

@media (max-width: 782px) {
  html body.page main.fpvd-contact-page .fpvd-contact-intro > .section-inner,
  html body.page main.fpvd-contact-page .fpvd-contact-intro .section-inner,
  html body.page main.fpvd-contact-page .fpvd-contact-section > .section-inner,
  html body.page main.fpvd-contact-page .fpvd-contact-section .section-inner.fpvd-contact-section-inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-row,
  html body.page main.fpvd-contact-page .fpvd-contact-section-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-title-badge,
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpvd-contact-intro-card,
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-card,
  html body.page main.fpvd-contact-page .fpvd-contact-section-inner > .fpvd-contact-body,
  html body.page main.fpvd-contact-page .fpvd-contact-body.fpvd-contact-layout-slots {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpvd-contact-intro-card,
  html body.page main.fpvd-contact-page .fpvd-contact-intro .fpv-page-intro-card {
    min-height: 0 !important;
    padding: 18px !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-cards,
  html body.page main.fpvd-contact-page .fpvd-contact-main-row {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-card {
    min-height: 82px !important;
    padding: 10px 14px 10px 18px !important;
    grid-template-columns: minmax(0, 1fr) 58px !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-icon,
  html body.page main.fpvd-contact-page .fpvd-contact-icon-slot {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
    flex-basis: 58px !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-form-slot,
  html body.page main.fpvd-contact-page .fpvd-contact-form,
  html body.page main.fpvd-contact-page .fpvd-contact-delivery,
  html body.page main.fpvd-contact-page .fpvd-contact-text-slot {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 520px) {
  html body.page main.fpvd-contact-page .fpvd-contact-intro > .section-inner,
  html body.page main.fpvd-contact-page .fpvd-contact-intro .section-inner,
  html body.page main.fpvd-contact-page .fpvd-contact-section > .section-inner,
  html body.page main.fpvd-contact-page .fpvd-contact-section .section-inner.fpvd-contact-section-inner {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-card {
    border-radius: 16px !important;
  }
  html body.page main.fpvd-contact-page .fpvd-contact-delivery,
  html body.page main.fpvd-contact-page .fpvd-contact-text-slot {
    min-height: 0 !important;
    padding: 22px 16px !important;
  }
}

/* V4.4.88 - Blog template container normalization.
   Single blog and SEO blog listing templates now use .fpv-blog-container so article/card edges align with header/footer inner containers.
   Duplicate single-post PHP markup was moved to template-parts/layout-single-blog-seo.php. */

/* V4.4.87 - Mobile homepage hero order fix.
   Keep the orange hero ribbon/tag first, then show the right-side hero visual/slider immediately after it.
   The main hero copy and stats move below the visual on mobile only. */
@media (max-width: 782px) {
  html body.home .hero .hero-inner,
  html body.front-page .hero .hero-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    padding-top: 10px !important;
    padding-bottom: 28px !important;
  }

  html body.home .hero .hero-content,
  html body.front-page .hero .hero-content {
    display: contents !important;
    max-width: none !important;
    width: auto !important;
  }

  html body.home .hero .hero-content > .hero-tag,
  html body.front-page .hero .hero-content > .hero-tag {
    order: 0 !important;
    align-self: flex-start !important;
    margin: 0 !important;
  }

  html body.home .hero .hero-visual,
  html body.front-page .hero .hero-visual {
    order: 1 !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 auto 8px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  html body.home .hero .hero-content > .hero-main-copy,
  html body.front-page .hero .hero-content > .hero-main-copy {
    order: 2 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.home .hero .hero-image-card.hero-aside-card,
  html body.front-page .hero .hero-image-card.hero-aside-card {
    width: min(100%, 360px) !important;
    max-width: 360px !important;
    margin-inline: auto !important;
  }
}

@media (max-width: 420px) {
  html body.home .hero .hero-inner,
  html body.front-page .hero .hero-inner {
    gap: 10px !important;
    padding-top: 8px !important;
    padding-bottom: 24px !important;
  }

  html body.home .hero .hero-visual,
  html body.front-page .hero .hero-visual {
    margin-bottom: 6px !important;
  }
}

/* V4.4.95 - D0 Discussions stable theme slots */
.fpv-single-discussion-slot {
  margin: 36px 0 0;
}
.fpv-single-related-blog {
  margin: 42px 0 0;
  padding-top: 30px;
  border-top: 1px solid var(--c-border, #d0d0d0);
}
.fpvdronas-product-tabs-discussion-grid {
  width: min(100%, 1180px);
  margin: 46px auto 0;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: 26px;
  align-items: start;
}
.fpvdronas-product-tabs-column,
.fpvdronas-product-discussion-column {
  min-width: 0;
}
body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs,
body.single-product .woocommerce div.product .woocommerce-tabs {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
  width: auto !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
  text-align: center !important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 12px 8px !important;
  white-space: normal !important;
  line-height: 1.15 !important;
  box-sizing: border-box !important;
}
body.single-product .woocommerce div.product .woocommerce-tabs .panel {
  width: 100% !important;
  box-sizing: border-box !important;
}
.fpvdronas-tab-empty {
  margin: 0;
  color: var(--c-muted, #777777);
}
@media (max-width: 1100px) {
  .fpvdronas-product-tabs-discussion-grid {
    grid-template-columns: 1fr;
    width: min(100% - 32px, 920px);
  }
}
@media (max-width: 640px) {
  .fpvdronas-product-tabs-discussion-grid {
    width: min(100% - 24px, 920px);
    margin-top: 30px;
    gap: 18px;
  }
  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
    flex: 0 0 auto !important;
    min-width: 138px !important;
  }
  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    min-height: 50px !important;
    font-size: 12px !important;
    padding: 10px 8px !important;
  }
  .fpv-single-discussion-slot {
    margin-top: 28px;
  }
  .fpv-single-related-blog {
    margin-top: 32px;
    padding-top: 24px;
  }
}


/* V4.4.96 - compact product info tabs + D0 Discussions visual alignment */
body.single-product .fpvdronas-product-tabs-discussion-grid {
  width: min(100% - 32px, 1180px) !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 26px !important;
  align-items: start !important;
  margin-top: 42px !important;
}
body.single-product .fpvdronas-product-tabs-column,
body.single-product .fpvdronas-product-discussion-column {
  min-width: 0 !important;
}
body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs,
body.single-product .fpvdronas-single-product-layout .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs,
body.single-product .woocommerce div.product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs {
  margin: 0 !important;
  border: 1px solid var(--c-border, #d6d6d6) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: var(--c-surface, #ffffff) !important;
  min-height: 188px !important;
}
body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs,
body.single-product .fpvdronas-single-product-layout .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs,
body.single-product .woocommerce div.product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(0, 1fr) !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: stretch !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--c-border, #d6d6d6) !important;
  background: var(--c-surface, #ffffff) !important;
  overflow: hidden !important;
}
body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs::before,
body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs::after,
body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs li::before,
body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs li::after {
  display: none !important;
  content: none !important;
}
body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs li,
body.single-product .fpvdronas-single-product-layout .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs li,
body.single-product .woocommerce div.product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs li {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: initial !important;
  float: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  background: transparent !important;
}
body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs li a,
body.single-product .fpvdronas-single-product-layout .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs li a,
body.single-product .woocommerce div.product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs li a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  padding: 10px 6px !important;
  box-sizing: border-box !important;
  font-size: 11px !important;
  line-height: 1.05 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  border-bottom: 3px solid transparent !important;
  box-shadow: none !important;
}
body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs li.active a,
body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs li a:hover {
  color: var(--c-accent, #ff6a00) !important;
  border-bottom-color: var(--c-accent, #ff6a00) !important;
}
body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs .panel,
body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs .woocommerce-Tabs-panel {
  padding: 22px 26px !important;
  margin: 0 !important;
}

@media (min-width: 1101px) and (max-width: 1280px) {
  body.single-product .fpvdronas-product-tabs-discussion-grid {
    gap: 22px !important;
  }
  body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs li a {
    font-size: 10px !important;
    letter-spacing: .02em !important;
    padding-inline: 4px !important;
  }
}
@media (max-width: 1100px) {
  body.single-product .fpvdronas-product-tabs-discussion-grid {
    grid-template-columns: 1fr !important;
    width: min(100% - 32px, 920px) !important;
    gap: 18px !important;
  }
}
@media (max-width: 640px) {
  body.single-product .fpvdronas-product-tabs-discussion-grid {
    width: min(100% - 22px, 920px) !important;
    margin-top: 28px !important;
  }
  body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs,
  body.single-product .fpvdronas-single-product-layout .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs,
  body.single-product .woocommerce div.product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
  }
  body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs li {
    flex: 0 0 auto !important;
    min-width: 142px !important;
  }
  body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs ul.tabs li a {
    min-height: 44px !important;
    font-size: 11px !important;
    padding: 9px 10px !important;
  }
  body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs .panel,
  body.single-product .fpvdronas-product-tabs-discussion-grid .woocommerce-tabs .woocommerce-Tabs-panel {
    padding: 18px !important;
  }
}


/* V4.4.99 - YITH Wishlist default popup suppression.
   Wishlist feedback is routed through the theme .theme-toast component. */
#yith-wcwl-popup-message,
#yith-wcwl-message,
.yith-wcwl-popup-message,
.yith-wcwl-popup-message-wrapper,
.fpvdronas-yith-notice-suppressed {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* V4.4.100 - Final D0/YITH wishlist visual state and popup suppression */
html body #yith-wcwl-popup-message,
html body #yith-wcwl-popup-message[style],
html body #yith-wcwl-popup-message *,
html body #yith-wcwl-message,
html body #yith-wcwl-message[style],
html body .yith-wcwl-popup-message,
html body .yith-wcwl-popup-message-wrapper,
html body .fpvdronas-yith-notice-suppressed {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transform: scale(0) !important;
}

html body [data-fpv-wishlist-wrap].is-active a,
html body [data-fpv-wishlist-wrap].is-active button,
html body [data-fpv-wishlist-wrap].is-active .fpv-wishlist-static-button,
html body [data-fpv-wishlist-wrap][data-wishlist-active="1"] a,
html body [data-fpv-wishlist-wrap][data-wishlist-active="1"] button,
html body [data-fpv-wishlist-wrap][data-wishlist-active="1"] .fpv-wishlist-static-button {
  color: var(--c-accent, #FF6A00) !important;
}

html body [data-fpv-wishlist-wrap].is-active a::before,
html body [data-fpv-wishlist-wrap].is-active button::before,
html body [data-fpv-wishlist-wrap].is-active .fpv-wishlist-static-button::before,
html body [data-fpv-wishlist-wrap][data-wishlist-active="1"] a::before,
html body [data-fpv-wishlist-wrap][data-wishlist-active="1"] button::before,
html body [data-fpv-wishlist-wrap][data-wishlist-active="1"] .fpv-wishlist-static-button::before,
html body .fpv-product-card-component .fpvdronas-product-card-wishlist [data-fpv-wishlist-wrap].is-active a::before,
html body .fpv-product-card-component .fpvdronas-product-card-wishlist [data-fpv-wishlist-wrap].is-active button::before,
html body .fpv-product-card-component .fpvdronas-product-card-wishlist [data-fpv-wishlist-wrap][data-wishlist-active="1"] a::before,
html body .fpv-product-card-component .fpvdronas-product-card-wishlist [data-fpv-wishlist-wrap][data-wishlist-active="1"] button::before {
  content: "♥" !important;
  color: var(--c-accent, #FF6A00) !important;
}

html body.single-product .fpvdronas-product-actions [data-fpv-wishlist-wrap].is-active a,
html body.single-product .fpvdronas-product-actions [data-fpv-wishlist-wrap].is-active button,
html body.single-product .fpvdronas-product-actions [data-fpv-wishlist-wrap][data-wishlist-active="1"] a,
html body.single-product .fpvdronas-product-actions [data-fpv-wishlist-wrap][data-wishlist-active="1"] button {
  border-color: var(--c-accent, #FF6A00) !important;
  background: var(--c-accent-light, #fff3eb) !important;
  color: var(--c-accent, #FF6A00) !important;
}
/* End V4.4.100 wishlist fixes */

/* V4.4.101 - Final D0-owned wishlist visual override */
html body [data-fpv-wishlist-wrap].is-loading {
  opacity: .72 !important;
  pointer-events: none !important;
}

html body [data-fpv-wishlist-wrap].is-active a,
html body [data-fpv-wishlist-wrap].is-active button,
html body [data-fpv-wishlist-wrap].is-active .fpv-wishlist-static-button,
html body [data-fpv-wishlist-wrap].exists a,
html body [data-fpv-wishlist-wrap].exists button,
html body [data-fpv-wishlist-wrap].exists .fpv-wishlist-static-button,
html body [data-fpv-wishlist-wrap].added_to_wishlist a,
html body [data-fpv-wishlist-wrap].added_to_wishlist button,
html body [data-fpv-wishlist-wrap].added_to_wishlist .fpv-wishlist-static-button,
html body [data-fpv-wishlist-wrap][data-wishlist-active="1"] a,
html body [data-fpv-wishlist-wrap][data-wishlist-active="1"] button,
html body [data-fpv-wishlist-wrap][data-wishlist-active="1"] .fpv-wishlist-static-button {
  color: var(--c-accent, #FF6A00) !important;
}

html body [data-fpv-wishlist-wrap].is-active a::before,
html body [data-fpv-wishlist-wrap].is-active button::before,
html body [data-fpv-wishlist-wrap].is-active .fpv-wishlist-static-button::before,
html body [data-fpv-wishlist-wrap].exists a::before,
html body [data-fpv-wishlist-wrap].exists button::before,
html body [data-fpv-wishlist-wrap].exists .fpv-wishlist-static-button::before,
html body [data-fpv-wishlist-wrap].added_to_wishlist a::before,
html body [data-fpv-wishlist-wrap].added_to_wishlist button::before,
html body [data-fpv-wishlist-wrap].added_to_wishlist .fpv-wishlist-static-button::before,
html body [data-fpv-wishlist-wrap][data-wishlist-active="1"] a::before,
html body [data-fpv-wishlist-wrap][data-wishlist-active="1"] button::before,
html body [data-fpv-wishlist-wrap][data-wishlist-active="1"] .fpv-wishlist-static-button::before,
html body [data-fpv-wishlist-wrap] .yith-wcwl-add-to-wishlist.exists a::before,
html body [data-fpv-wishlist-wrap] .yith-wcwl-add-to-wishlist.added_to_wishlist a::before,
html body [data-fpv-wishlist-wrap] a.exists::before,
html body [data-fpv-wishlist-wrap] a.added_to_wishlist::before {
  content: "♥" !important;
  color: var(--c-accent, #FF6A00) !important;
}

html body.single-product .fpvdronas-product-actions [data-fpv-wishlist-wrap].is-active a,
html body.single-product .fpvdronas-product-actions [data-fpv-wishlist-wrap].is-active button,
html body.single-product .fpvdronas-product-actions [data-fpv-wishlist-wrap].exists a,
html body.single-product .fpvdronas-product-actions [data-fpv-wishlist-wrap].exists button,
html body.single-product .fpvdronas-product-actions [data-fpv-wishlist-wrap][data-wishlist-active="1"] a,
html body.single-product .fpvdronas-product-actions [data-fpv-wishlist-wrap][data-wishlist-active="1"] button {
  border-color: var(--c-accent, #FF6A00) !important;
  background: var(--c-accent-light, #fff3eb) !important;
  color: var(--c-accent, #FF6A00) !important;
}
/* End V4.4.101 wishlist visual override */


/* V4.4.102 - Kontaktai template lower-content centering.
   Keep editable content below the intro card horizontally centered inside the same
   980px white-card column instead of locking it to the card's left edge. */
html body.page main.fpvd-contact-page .fpvd-contact-section-inner > .fpvd-contact-body,
html body.page main.fpvd-contact-page .fpvd-contact-body.fpvd-contact-layout-slots {
  justify-self: center !important;
  width: min(815px, 100%) !important;
  max-width: 815px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html body.page main.fpvd-contact-page .fpvd-contact-section-inner > .fpvd-contact-body > :where(p, h1, h2, h3, h4, h5, h6, figure, .wp-block-image, .wp-block-group, .wp-block-columns),
html body.page main.fpvd-contact-page .fpvd-contact-body.fpvd-contact-layout-slots > :where(p, h1, h2, h3, h4, h5, h6, figure, .wp-block-image, .wp-block-group, .wp-block-columns) {
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 782px) {
  html body.page main.fpvd-contact-page .fpvd-contact-section-inner > .fpvd-contact-body,
  html body.page main.fpvd-contact-page .fpvd-contact-body.fpvd-contact-layout-slots {
    justify-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}
/* End V4.4.102 Kontaktai template lower-content centering */

/* V4.4.103 - Gutenberg D0 Product Card Grid block */
.d0-product-grid-block {
  width: 100%;
  margin: 32px 0;
}

.d0-product-grid-block .d0-product-grid-block-inner {
  width: 100%;
}

.d0-product-grid-block .d0-product-grid-block-header {
  margin-bottom: 14px;
}

.d0-product-grid-block .d0-product-grid-block-list.product-grid,
.d0-product-grid-block ul.products.d0-product-grid-block-list {
  display: grid !important;
  grid-template-columns: repeat(var(--d0-product-grid-columns, 4), minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.d0-product-grid-block .d0-product-grid-empty {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  color: var(--c-muted);
  padding: 18px;
  text-align: center;
}

@media (max-width: 980px) {
  .d0-product-grid-block .d0-product-grid-block-list.product-grid,
  .d0-product-grid-block ul.products.d0-product-grid-block-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  .d0-product-grid-block {
    margin: 24px 0;
  }

  .d0-product-grid-block .d0-product-grid-block-list.product-grid,
  .d0-product-grid-block ul.products.d0-product-grid-block-list {
    gap: 10px !important;
  }
}


/* V4.4.104 - enhanced D0 Product Card Grid block controls and carousel layout */
.d0-product-grid-block {
  --d0-product-grid-gap: 14px;
}

.d0-product-grid-block .d0-product-grid-block-header {
  align-items: end;
  gap: 12px;
}

.d0-product-grid-block .d0-product-grid-block-title {
  margin-bottom: 0;
}

.d0-product-grid-block .d0-product-grid-block-subtitle {
  line-height: 1.35;
}

.d0-product-grid-block .d0-product-grid-block-list.product-grid,
.d0-product-grid-block ul.products.d0-product-grid-block-list {
  display: grid !important;
  grid-template-columns: repeat(var(--d0-product-grid-columns, 4), minmax(0, 1fr)) !important;
  gap: var(--d0-product-grid-gap, 14px) !important;
  width: 100% !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.d0-product-grid-block .d0-product-grid-block-list.product-grid::before,
.d0-product-grid-block .d0-product-grid-block-list.product-grid::after,
.d0-product-grid-block ul.products.d0-product-grid-block-list::before,
.d0-product-grid-block ul.products.d0-product-grid-block-list::after {
  display: none !important;
  content: none !important;
}

.d0-product-grid-block .d0-product-grid-block-list > li.product,
.d0-product-grid-block .d0-product-grid-block-list > .product-card {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
}

.d0-product-grid-carousel-shell {
  position: relative;
  width: 100%;
}

.d0-product-grid-block--layout-carousel .d0-product-grid-block-list.product-grid,
.d0-product-grid-block--layout-carousel ul.products.d0-product-grid-block-list {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  gap: var(--d0-product-grid-gap, 14px) !important;
  scroll-snap-type: x mandatory;
  scroll-padding: 2px;
  -webkit-overflow-scrolling: touch;
  padding: 2px 2px 12px !important;
  scrollbar-width: thin;
}

.d0-product-grid-block--layout-carousel .d0-product-grid-block-list > li.product,
.d0-product-grid-block--layout-carousel .d0-product-grid-block-list > .product-card {
  flex: 0 0 var(--d0-product-card-basis, 220px) !important;
  width: var(--d0-product-card-basis, 220px) !important;
  scroll-snap-align: start;
}

.d0-product-grid-carousel-btn {
  position: absolute;
  z-index: 3;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 42px;
  border: 1px solid var(--c-border, #d8d8d8);
  border-radius: 9px;
  background: var(--c-surface, #fff);
  color: var(--c-text, #202A44);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .12);
  cursor: pointer;
  font-family: var(--font-display, inherit);
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.d0-product-grid-carousel-btn:hover {
  border-color: var(--c-accent, #ff6a00);
  color: var(--c-accent, #ff6a00);
}

.d0-product-grid-carousel-btn--prev {
  left: -12px;
}

.d0-product-grid-carousel-btn--next {
  right: -12px;
}

@media (max-width: 980px) {
  .d0-product-grid-block:not(.d0-product-grid-block--layout-carousel) .d0-product-grid-block-list.product-grid,
  .d0-product-grid-block:not(.d0-product-grid-block--layout-carousel) ul.products.d0-product-grid-block-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .d0-product-grid-block--layout-carousel .d0-product-grid-block-list > li.product,
  .d0-product-grid-block--layout-carousel .d0-product-grid-block-list > .product-card {
    flex-basis: min(260px, 44vw) !important;
    width: min(260px, 44vw) !important;
  }
}

@media (max-width: 620px) {
  .d0-product-grid-block .d0-product-grid-block-header {
    align-items: flex-start;
  }

  .d0-product-grid-carousel-btn {
    display: none;
  }

  .d0-product-grid-block--layout-carousel .d0-product-grid-block-list > li.product,
  .d0-product-grid-block--layout-carousel .d0-product-grid-block-list > .product-card {
    flex-basis: min(250px, 78vw) !important;
    width: min(250px, 78vw) !important;
  }
}
/* End V4.4.104 enhanced D0 Product Card Grid block */

/* V4.4.105 - transparent separators when homepage hero image is used behind the header/menu.
   Applies only to the integrated hero-header mode so normal headers keep their borders. */
body.fpv-hero-bg-image-active.fpv-hero-header-integrated .site-header {
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}

body.fpv-hero-bg-image-active.fpv-hero-header-integrated .main-nav {
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}

body.fpv-hero-bg-image-active.fpv-hero-header-integrated .hero .hero-accent-line {
  background: transparent !important;
}



/* V4.4.106 - remove separator stripes completely on homepage hero image header/menu.
   Transparent borders still rendered as visible body-background gaps, so borders are removed. */
body.fpv-hero-bg-image-active .site-header,
body.fpv-hero-bg-image-active.fpv-hero-header-integrated .site-header,
body.home.fpv-hero-bg-image-active .site-header,
body.front-page.fpv-hero-bg-image-active .site-header {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

body.fpv-hero-bg-image-active .main-nav,
body.fpv-hero-bg-image-active.fpv-hero-header-integrated .main-nav,
body.home.fpv-hero-bg-image-active .main-nav,
body.front-page.fpv-hero-bg-image-active .main-nav {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

body.fpv-hero-bg-image-active .site-header::before,
body.fpv-hero-bg-image-active .site-header::after,
body.fpv-hero-bg-image-active .main-nav::before,
body.fpv-hero-bg-image-active .main-nav::after {
  border: 0 !important;
  outline: 0 !important;
}

body.fpv-hero-bg-image-active .hero .hero-accent-line,
body.home .hero.hero-bg-mode-image .hero-accent-line,
body.front-page .hero.hero-bg-mode-image .hero-accent-line {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* V4.4.108 - hero header polish: search button border + transparent account/wishlist hover */
.search-bar button,
.search-bar button:focus,
.search-bar button:active {
  background: var(--c-accent) !important;
  border: 1.5px solid var(--c-accent) !important;
  outline: 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.search-bar button:hover {
  background: var(--c-accent2) !important;
  border-color: var(--c-accent2) !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.header-actions .header-button,
.header-actions .header-button:hover,
.header-actions .header-button:focus,
.header-actions .header-button:active {
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.header-actions .header-button:hover,
.header-actions .header-button:focus,
.header-actions .header-button:hover span,
.header-actions .header-button:focus span {
  color: var(--c-accent) !important;
}

.header-actions .header-button:hover svg,
.header-actions .header-button:focus svg,
.header-actions .header-button:hover svg *,
.header-actions .header-button:focus svg * {
  stroke: var(--c-accent) !important;
  color: var(--c-accent) !important;
}

body.fpv-hero-bg-image-active .site-header .header-button:hover,
body.fpv-hero-bg-image-active .site-header .header-button:focus,
body.fpv-hero-bg-image-active .site-header .header-button:active {
  background: transparent !important;
}

body.fpv-hero-bg-image-active .site-header .header-button:hover,
body.fpv-hero-bg-image-active .site-header .header-button:focus,
body.fpv-hero-bg-image-active .site-header .header-button:hover span,
body.fpv-hero-bg-image-active .site-header .header-button:focus span {
  color: var(--c-accent) !important;
}

body.fpv-hero-bg-image-active .site-header .header-button:hover svg,
body.fpv-hero-bg-image-active .site-header .header-button:focus svg,
body.fpv-hero-bg-image-active .site-header .header-button:hover svg *,
body.fpv-hero-bg-image-active .site-header .header-button:focus svg * {
  stroke: var(--c-accent) !important;
  color: var(--c-accent) !important;
}
/* End V4.4.108 */



/* V4.4.108 - Hero image contrast logo variants from Site Identity. */
.fpvdronas-contrast-logo-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

.fpvdronas-text-logo {
  font-family: var(--font-display) !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--c-text) !important;
  text-transform: uppercase !important;
}

.fpvdronas-contrast-logo-link img,
.fpvdronas-contrast-logo-link .custom-logo {
  display: block;
  max-height: 46px;
  width: auto;
  object-fit: contain;
}

.fpvdronas-contrast-logo-link .fpvdronas-hero-logo {
  display: none !important;
}

body.fpv-hero-bg-image-active.fpv-hero-contrast-light .fpvdronas-contrast-logo-link.has-hero-light-logo .fpvdronas-logo-default {
  display: none !important;
}
body.fpv-hero-bg-image-active.fpv-hero-contrast-light .fpvdronas-contrast-logo-link.has-hero-light-logo .fpvdronas-hero-logo--light-bg {
  display: block !important;
}

body.fpv-hero-bg-image-active.fpv-hero-contrast-dark .fpvdronas-contrast-logo-link.has-hero-dark-logo .fpvdronas-logo-default {
  display: none !important;
}
body.fpv-hero-bg-image-active.fpv-hero-contrast-dark .fpvdronas-contrast-logo-link.has-hero-dark-logo .fpvdronas-hero-logo--dark-bg {
  display: block !important;
}

@media (max-width: 640px) {
  .fpvdronas-text-logo { font-size: 18px !important; max-width: 150px !important; overflow: hidden !important; }
  .fpvdronas-contrast-logo-link img,
  .fpvdronas-contrast-logo-link .custom-logo { max-width: 142px !important; max-height: 38px !important; }
}

@media (max-width: 380px) {
  .fpvdronas-contrast-logo-link img,
  .fpvdronas-contrast-logo-link .custom-logo { max-width: 116px !important; }
  .fpvdronas-text-logo { max-width: 116px !important; font-size: 15px !important; }
}

/* End V4.4.108 */

/* V4.4.109 - search submit border must inherit the active accent color, not the white search field border. */
body.fpv-hero-bg-image-active .site-header .search-bar,
body.home .site-header .search-bar,
body.front-page .site-header .search-bar {
  border-color: var(--c-accent) !important;
}

body.fpv-hero-bg-image-active .site-header .search-bar:focus-within,
body.home .site-header .search-bar:focus-within,
body.front-page .site-header .search-bar:focus-within {
  border-color: var(--c-accent) !important;
}

body.fpv-hero-bg-image-active .site-header .search-bar button,
body.fpv-hero-bg-image-active .site-header .search-bar button:focus,
body.fpv-hero-bg-image-active .site-header .search-bar button:active,
body.home .site-header .search-bar button,
body.home .site-header .search-bar button:focus,
body.home .site-header .search-bar button:active,
body.front-page .site-header .search-bar button,
body.front-page .site-header .search-bar button:focus,
body.front-page .site-header .search-bar button:active {
  background: var(--c-accent) !important;
  border-color: var(--c-accent) !important;
  box-shadow: inset 0 0 0 1px var(--c-accent) !important;
}

body.fpv-hero-bg-image-active .site-header .search-bar button:hover,
body.home .site-header .search-bar button:hover,
body.front-page .site-header .search-bar button:hover {
  background: var(--c-accent2) !important;
  border-color: var(--c-accent2) !important;
  box-shadow: inset 0 0 0 1px var(--c-accent2) !important;
}
/* End V4.4.109 */



/* V4.4.110 - keep dropdown menus usable when header/menu use the hero image background.
   The customizer image-header CSS sets overflow:hidden on both header and nav to clip background pseudo layers.
   That clips desktop dropdown submenus below the nav. Keep header clipped, but allow nav dropdowns to overflow. */
body.fpv-hero-bg-image-active .main-nav,
body.fpv-hero-bg-image-active.fpv-hero-header-integrated .main-nav,
body.home.fpv-hero-bg-image-active .main-nav,
body.front-page.fpv-hero-bg-image-active .main-nav {
  overflow: visible !important;
  z-index: 250 !important;
}

body.fpv-hero-bg-image-active .site-header,
body.fpv-hero-bg-image-active.fpv-hero-header-integrated .site-header,
body.home.fpv-hero-bg-image-active .site-header,
body.front-page.fpv-hero-bg-image-active .site-header {
  z-index: 260 !important;
}

body.fpv-hero-bg-image-active .main-nav > .nav-inner,
body.home.fpv-hero-bg-image-active .main-nav > .nav-inner,
body.front-page.fpv-hero-bg-image-active .main-nav > .nav-inner {
  position: relative !important;
  z-index: 3 !important;
  overflow: visible !important;
}

body.fpv-hero-bg-image-active .main-nav .nav-menu,
body.fpv-hero-bg-image-active .main-nav .nav-menu > li {
  overflow: visible !important;
}

body.fpv-hero-bg-image-active .main-nav .nav-menu .sub-menu {
  z-index: 9999 !important;
  background: var(--c-surface) !important;
  color: var(--c-text) !important;
}

body.fpv-hero-bg-image-active .main-nav .nav-menu .sub-menu a {
  color: var(--c-text) !important;
}

body.fpv-hero-bg-image-active .main-nav .nav-menu .sub-menu a:hover,
body.fpv-hero-bg-image-active .main-nav .nav-menu .sub-menu li:hover > a {
  color: var(--c-accent) !important;
  background: var(--c-accent-light) !important;
}
/* End V4.4.110 */

/* V4.4.111 - Promotional banner label text should render exactly as entered.
   The previous uppercase transformation could make Lithuanian words look distorted
   in the Customizer preview on the small pill label. */
.fpvd-promo-v138-tag {
  text-transform: none !important;
  letter-spacing: .02em !important;
  font-family: var(--font-body, sans-serif) !important;
  line-height: 1.15 !important;
}

/* Keep manually entered uppercase labels still visually compact. */
.fpvd-promo-v138-tag strong {
  font: inherit;
}
/* End V4.4.111 */

/* V4.4.113 - Homepage hero background image slider.
   Keeps the existing single-image hero behavior, but adds an optional crossfade slider for the hero background. */
body.home .hero.hero-bg-mode-slider,
body.front-page .hero.hero-bg-mode-slider {
  background-size: auto;
  background-position: initial;
  isolation: isolate;
  background-image: none !important;
}

body.home .hero.hero-bg-mode-slider::before,
body.front-page .hero.hero-bg-mode-slider::before {
  content: none !important;
  display: none !important;
}

body.home .hero.hero-bg-mode-slider::after,
body.front-page .hero.hero-bg-mode-slider::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: var(--fpv-hero-bg-tint, rgba(0,0,0,0));
}

body.home .hero.hero-bg-mode-slider .hero-grid,
body.front-page .hero.hero-bg-mode-slider .hero-grid {
  display: none !important;
}

.hero-background-slider {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background-color: var(--c-surface);
}

.hero-background-slide {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0;
  background-image: var(--fpv-hero-bg-slide-image);
  background-size: cover;
  background-position: calc(50% + var(--fpv-hero-bg-x, 0px)) calc(50% + var(--fpv-hero-bg-y, 0px));
  background-repeat: no-repeat;
  background-attachment: fixed;
  transition: opacity var(--fpv-hero-bg-slide-speed, 700ms) ease;
  will-change: opacity;
}

.hero-background-slide.is-active {
  z-index: 2;
  opacity: var(--fpv-hero-bg-opacity, 1);
}

body.home .hero.hero-bg-mode-slider .hero-tag,
body.front-page .hero.hero-bg-mode-slider .hero-tag {
  background: var(--c-accent) !important;
  color: var(--c-white) !important;
  border-left-color: var(--c-accent2) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}

body.home .hero.hero-bg-mode-slider .hero-accent-line,
body.front-page .hero.hero-bg-mode-slider .hero-accent-line {
  display: none !important;
}

body.home .hero.hero-bg-mode-slider .hero-inner,
body.front-page .hero.hero-bg-mode-slider .hero-inner,
body.home .hero.hero-bg-mode-slider .hero-floating-cta,
body.front-page .hero.hero-bg-mode-slider .hero-floating-cta {
  position: relative;
  z-index: 3;
}

@media (max-width: 820px) {
  .hero-background-slide {
    background-attachment: scroll;
  }
}
/* End V4.4.113 */

/* V4.4.113 - Promo banner Lithuanian text rendering + selectable hero background slider effects. */
.fpvd-promo-v138-tag,
.fpvd-promo-v138-tag *,
.fpvd-editable-promo .promo-tag,
.fpvd-editable-promo .promo-tag * {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-variant: normal !important;
  font-variant-ligatures: none !important;
  font-feature-settings: "liga" 0, "clig" 0, "kern" 1 !important;
  text-rendering: geometricPrecision !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  line-height: 1.2 !important;
}

.fpvd-promo-v138-tag,
.fpvd-editable-promo .promo-tag {
  max-width: min(100%, 42ch) !important;
}

.hero-background-slider--fade .hero-background-slide {
  opacity: 0;
  transform: none;
  transition: opacity var(--fpv-hero-bg-slide-speed, 700ms) ease;
}

.hero-background-slider--fade .hero-background-slide.is-active {
  opacity: var(--fpv-hero-bg-opacity, 1);
}

.hero-background-slider--change .hero-background-slide {
  opacity: 0;
  transform: none;
  transition: none !important;
}

.hero-background-slider--change .hero-background-slide.is-active {
  opacity: var(--fpv-hero-bg-opacity, 1);
}

.hero-background-slider--slide_left .hero-background-slide,
.hero-background-slider--slide_right .hero-background-slide,
.hero-background-slider--slide_up .hero-background-slide,
.hero-background-slider--slide_down .hero-background-slide {
  opacity: var(--fpv-hero-bg-opacity, 1);
  transition: transform var(--fpv-hero-bg-slide-speed, 700ms) ease;
  will-change: transform;
}

.hero-background-slider--slide_left .hero-background-slide { transform: translate3d(100%, 0, 0); }
.hero-background-slider--slide_left .hero-background-slide.is-active { transform: translate3d(0, 0, 0); }
.hero-background-slider--slide_left .hero-background-slide.is-leaving { transform: translate3d(-100%, 0, 0); }

.hero-background-slider--slide_right .hero-background-slide { transform: translate3d(-100%, 0, 0); }
.hero-background-slider--slide_right .hero-background-slide.is-active { transform: translate3d(0, 0, 0); }
.hero-background-slider--slide_right .hero-background-slide.is-leaving { transform: translate3d(100%, 0, 0); }

.hero-background-slider--slide_up .hero-background-slide { transform: translate3d(0, 100%, 0); }
.hero-background-slider--slide_up .hero-background-slide.is-active { transform: translate3d(0, 0, 0); }
.hero-background-slider--slide_up .hero-background-slide.is-leaving { transform: translate3d(0, -100%, 0); }

.hero-background-slider--slide_down .hero-background-slide { transform: translate3d(0, -100%, 0); }
.hero-background-slider--slide_down .hero-background-slide.is-active { transform: translate3d(0, 0, 0); }
.hero-background-slider--slide_down .hero-background-slide.is-leaving { transform: translate3d(0, 100%, 0); }

.hero-background-slider--slide_left .hero-background-slide.is-active,
.hero-background-slider--slide_right .hero-background-slide.is-active,
.hero-background-slider--slide_up .hero-background-slide.is-active,
.hero-background-slider--slide_down .hero-background-slide.is-active {
  z-index: 3;
}

.hero-background-slider--slide_left .hero-background-slide.is-leaving,
.hero-background-slider--slide_right .hero-background-slide.is-leaving,
.hero-background-slider--slide_up .hero-background-slide.is-leaving,
.hero-background-slider--slide_down .hero-background-slide.is-leaving {
  z-index: 2;
}
/* End V4.4.113 */


/* V4.4.115 - Unified hero background slider behind integrated header/menu.
   Slider mode previously used two separate visual layers: static header/menu pseudo-backgrounds
   and a separate hero slider. This made the image appear split between header and hero.
   In integrated slider mode, the hero slider now bleeds upward behind the header/menu and
   the duplicated header/menu image layers are disabled. */
body.fpv-hero-bg-slider-active.fpv-hero-header-integrated .site-header,
body.fpv-hero-bg-slider-active.fpv-hero-header-integrated .main-nav {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.fpv-hero-bg-slider-active.fpv-hero-header-integrated .site-header::before,
body.fpv-hero-bg-slider-active.fpv-hero-header-integrated .site-header::after,
body.fpv-hero-bg-slider-active.fpv-hero-header-integrated .main-nav::before,
body.fpv-hero-bg-slider-active.fpv-hero-header-integrated .main-nav::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
}

body.fpv-hero-bg-slider-active.fpv-hero-header-integrated .hero.hero-bg-mode-slider,
body.home.fpv-hero-bg-slider-active.fpv-hero-header-integrated .hero.hero-bg-mode-slider,
body.front-page.fpv-hero-bg-slider-active.fpv-hero-header-integrated .hero.hero-bg-mode-slider {
  overflow: visible !important;
  background: transparent !important;
  background-image: none !important;
  --fpv-hero-bg-bleed-top: 0px;
}

body.fpv-hero-bg-slider-active.fpv-hero-header-integrated .hero.hero-bg-mode-slider .hero-background-slider {
  top: calc(-1 * var(--fpv-hero-bg-bleed-top, 0px)) !important;
  bottom: auto !important;
  height: calc(100% + var(--fpv-hero-bg-bleed-top, 0px)) !important;
  border-radius: 0 !important;
}

body.fpv-hero-bg-slider-active.fpv-hero-header-integrated .hero.hero-bg-mode-slider::after {
  top: calc(-1 * var(--fpv-hero-bg-bleed-top, 0px)) !important;
  bottom: 0 !important;
  height: auto !important;
}

body.fpv-hero-bg-slider-active.fpv-hero-header-integrated .site-header > .header-inner,
body.fpv-hero-bg-slider-active.fpv-hero-header-integrated .main-nav > .nav-inner {
  position: relative !important;
  z-index: 3 !important;
}

body.fpv-hero-bg-slider-active.fpv-hero-header-integrated .hero.hero-bg-mode-slider .hero-inner,
body.fpv-hero-bg-slider-active.fpv-hero-header-integrated .hero.hero-bg-mode-slider .hero-floating-cta {
  position: relative !important;
  z-index: 3 !important;
}
/* End V4.4.115 */
