:root {
  --ag-green-900: #143f2a;
  --ag-green-700: #227241;
  --ag-green-600: #2f8b4c;
  --ag-leaf-100: #eef7ec;
  --ag-amber-500: #f2b632;
  --ag-soil-700: #5d4936;
  --ag-ink: #1f2a24;
  --ag-muted: #66736b;
  --ag-border: #dde6dc;
  --ag-panel: #ffffff;
  --ag-soft: #f7faf6;
  --ag-shadow: 0 16px 38px rgba(31, 42, 36, 0.11);
  --ag-radius: 8px;
}

body.site {
  color: var(--ag-ink);
  background: var(--ag-soft);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a {
  color: var(--ag-green-700);
}

a:hover,
a:focus {
  color: var(--ag-green-900);
}

.container-header {
  background: var(--ag-panel);
  border-bottom: 1px solid var(--ag-border);
  box-shadow: 0 10px 24px rgba(31, 42, 36, 0.06);
}

.container-header .grid-child,
.site-grid,
.footer .grid-child {
  max-width: 1320px;
}

.navbar-brand .brand-logo {
  color: var(--ag-green-900);
  font-weight: 800;
}

.container-nav {
  gap: 16px;
}

.container-search input,
.vmajaxlivesearch-box,
.form-control,
.form-select,
select,
textarea,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"] {
  border: 1px solid var(--ag-border);
  border-radius: 6px;
  min-height: 42px;
}

.container-search input:focus,
.form-control:focus,
.form-select:focus,
select:focus,
textarea:focus,
input:focus {
  border-color: var(--ag-green-600);
  box-shadow: 0 0 0 3px rgba(47, 139, 76, 0.16);
  outline: 0;
}

.btn-primary,
.vm-button-correct,
.addtocart-button,
button[name="checkout"],
input.highlight-button {
  background: var(--ag-green-700) !important;
  border-color: var(--ag-green-700) !important;
  border-radius: 6px !important;
  color: #fff !important;
  font-weight: 750;
}

.btn-primary:hover,
.vm-button-correct:hover,
.addtocart-button:hover,
button[name="checkout"]:hover,
input.highlight-button:hover {
  background: var(--ag-green-900) !important;
  border-color: var(--ag-green-900) !important;
}

.btn-secondary,
.details,
.continue_link {
  border-radius: 6px;
}

.container-component > main {
  background: transparent;
}

.vm-page-title,
.vm-category-title {
  color: var(--ag-green-900);
  font-weight: 800 !important;
  letter-spacing: 0;
}

.category-view,
.productdetails-view,
#cart-view {
  margin-block: 18px 42px;
}

.productdetails-view .row.gy-4 {
  align-items: flex-start;
}

.vm-product-media-container,
.vm-product-details-container,
.browse-view,
#cart-view form > [class*="col-"],
.vm-cart-header-container {
  background: var(--ag-panel);
  border: 1px solid var(--ag-border);
  border-radius: var(--ag-radius);
  box-shadow: 0 8px 22px rgba(31, 42, 36, 0.06);
}

.vm-product-media-container {
  padding: 18px;
}

.vm-product-details-container {
  padding: 22px;
}

.vm-product-media-container img,
.featured-view img,
.browse-view img {
  border-radius: 6px;
}

.product-short-description {
  color: var(--ag-muted) !important;
  font-size: 1rem;
  line-height: 1.55;
}

.product-price,
.PricesalesPrice,
.PricebasePriceWithTax,
.PricepriceWithoutTax {
  color: var(--ag-green-900);
  font-weight: 850;
}

.productdetails-view .product-price {
  font-size: clamp(1.25rem, 1rem + 1vw, 1.8rem);
}

.vm-stock-status {
  color: var(--ag-green-700);
}

.addtocart-area,
.addtocart-bar {
  background: var(--ag-leaf-100);
  border: 1px solid #cfe3cf;
  border-radius: var(--ag-radius);
  margin-top: 18px;
  padding: 14px;
}

.addtocart-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.quantity-box,
.quantity-controls {
  display: inline-flex;
  align-items: center;
}

.quantity-input,
input.quantity-input {
  max-width: 86px;
  text-align: center;
}

.product-fields,
.vm-customfields-wrap {
  display: grid;
  gap: 10px;
}

.product-field,
.product-fields .product-field {
  border: 1px solid var(--ag-border);
  border-radius: 6px;
  padding: 10px 12px;
  background: #fff;
}

.product-field-display select {
  width: 100%;
}

.virtuemart_search,
.orderby-displaynumber,
.vm-pagination {
  background: var(--ag-panel) !important;
  border: 1px solid var(--ag-border) !important;
  border-radius: var(--ag-radius);
}

.browse-view {
  padding: 16px;
}

.browse-view .product,
.browse-view .vm-product,
.browse-view .product-container {
  border: 1px solid var(--ag-border);
  border-radius: var(--ag-radius);
  background: #fff;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.browse-view .product:hover,
.browse-view .vm-product:hover,
.browse-view .product-container:hover {
  border-color: #b9d6bd;
  box-shadow: var(--ag-shadow);
  transform: translateY(-2px);
}

#cart-view {
  background: var(--ag-panel);
  border: 1px solid var(--ag-border);
  border-radius: var(--ag-radius);
  padding: 16px;
}

#checkoutForm fieldset {
  margin: 0;
}

#checkoutForm h2,
#checkoutForm .h5 {
  color: var(--ag-green-900);
  font-weight: 800 !important;
}

#checkoutForm .sticky-top {
  top: 88px;
}

.vm-cart-header .vm-page-title {
  text-align: left !important;
}

.vm-cart-item,
.cart-summary,
.vm-fieldset-pricelist {
  border-color: var(--ag-border) !important;
}

.ag-cart-drawer {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 1100;
  width: min(420px, 92vw);
  pointer-events: none;
  transform: translateX(102%);
  transition: transform 0.22s ease;
}

.ag-cart-drawer.is-open {
  pointer-events: auto;
  transform: translateX(0);
}

.ag-cart-drawer__panel {
  height: 100%;
  background: #fff;
  border-left: 1px solid var(--ag-border);
  box-shadow: var(--ag-shadow);
  padding: 20px;
}

.ag-cart-drawer__title {
  color: var(--ag-green-900);
  font-size: 1.1rem;
  font-weight: 850;
  margin: 0 0 8px;
}

.ag-cart-drawer__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: 1px solid var(--ag-border);
  border-radius: 50%;
  background: #fff;
}

@media (max-width: 991.98px) {
  .container-header {
    position: sticky;
    top: 0;
    z-index: 1000;
  }

  .container-nav {
    align-items: stretch;
  }

  .vm-product-media-container,
  .vm-product-details-container,
  .browse-view,
  #cart-view {
    border-radius: 0;
    margin-inline: -12px;
  }

  .vm-product-details-container {
    padding: 18px 14px;
  }

  .addtocart-bar .addtocart-button,
  .addtocart-bar input.addtocart-button {
    width: 100%;
  }

  #checkoutForm .sticky-top {
    position: static !important;
  }
}

@media (min-width: 992px) {
  .productdetails-view .vm-product-media-container {
    top: 96px;
  }

  .browse-view {
    padding: 22px;
  }
}

/* Agrofen layout shell */
.ag-top-strip {
  background: var(--ag-green-900);
  color: #fff;
  font-size: 0.9rem;
}

.ag-top-strip a {
  color: #fff;
}

.ag-top-strip__inner,
.ag-header-main,
.ag-primary-nav,
.ag-home-hero__inner,
.ag-footer__columns,
.ag-footer__bottom {
  max-width: 1320px;
  margin-inline: auto;
}

.ag-top-strip__inner {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding-block: 8px;
}

.ag-top-strip__message,
.ag-top-strip__meta {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.ag-top-strip p,
.ag-header-actions p,
.ag-home-hero p,
.ag-footer p {
  margin: 0;
}

.ag-header-main {
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(280px, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding-block: 18px;
}

.ag-brand .brand-logo {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  font-size: 1.7rem;
  letter-spacing: 0;
}

.ag-header-search .vmajaxlivesearch,
.ag-header-search .ajax-search-container,
.ag-header-search .search-input-container,
.ag-header-search .search-input,
.ag-header-search .vmajaxlivesearch-box {
  width: 100% !important;
}

.ag-header-search .search-input-container {
  float: none !important;
  display: flex !important;
}

.ag-header-search .vmajaxlivesearch-box {
  min-height: 46px !important;
  border-color: var(--ag-border) !important;
  border-radius: 8px 0 0 8px !important;
  color: var(--ag-ink) !important;
  padding-inline: 14px;
}

.ag-header-search .search-image {
  min-width: 48px;
  border-color: var(--ag-border) !important;
  border-radius: 0 8px 8px 0;
}

.ag-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.ag-header-actions > div {
  min-height: 42px;
}

.ag-header-actions .custom,
.ag-header-actions .vmCartModule {
  border: 1px solid var(--ag-border);
  border-radius: 8px;
  background: #fff;
  padding: 9px 12px;
  box-shadow: 0 6px 16px rgba(31, 42, 36, 0.06);
}

.ag-header-actions .vmCartModule {
  color: var(--ag-green-900);
  font-weight: 750;
}

.ag-nav-wrap {
  border-top: 1px solid var(--ag-border);
  background: #fff;
}

.ag-primary-nav {
  padding-block: 0;
}

.ag-primary-nav ul,
.ag-primary-nav .mod-menu {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ag-primary-nav li {
  position: relative;
  margin: 0;
}

.ag-primary-nav a,
.ag-primary-nav .nav-header,
.ag-primary-nav .separator {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 6px;
  color: var(--ag-ink);
  font-size: 0.95rem;
  font-weight: 750;
  text-decoration: none;
}

.ag-primary-nav a:hover,
.ag-primary-nav a:focus,
.ag-primary-nav .active > a {
  background: var(--ag-leaf-100);
  color: var(--ag-green-900);
}

.ag-primary-nav li ul {
  display: none;
  position: absolute;
  z-index: 40;
  top: 100%;
  left: 0;
  min-width: 230px;
  padding: 8px;
  border: 1px solid var(--ag-border);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--ag-shadow);
}

.ag-primary-nav li:hover > ul,
.ag-primary-nav li:focus-within > ul {
  display: grid;
  gap: 2px;
}

.ag-primary-nav li ul a {
  width: 100%;
  min-height: 36px;
  justify-content: flex-start;
  white-space: normal;
}

.ag-nav-mobile {
  display: none;
}

.ag-home-hero {
  background: linear-gradient(135deg, #f7faf6 0%, #eef7ec 54%, #fff 100%);
  border-bottom: 1px solid var(--ag-border);
}

.ag-home-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 26px;
  align-items: stretch;
  padding-block: 34px;
}

.ag-home-hero__copy,
.ag-home-hero__panel,
.ag-home-intro,
.ag-home-products > .card,
.ag-home-products > .moduletable {
  border: 1px solid var(--ag-border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(31, 42, 36, 0.08);
}

.ag-home-hero__copy {
  padding: clamp(22px, 4vw, 44px);
}

.ag-eyebrow {
  color: var(--ag-soil-700);
  font-size: 0.85rem;
  font-weight: 850;
  text-transform: uppercase;
}

.ag-home-hero h1 {
  max-width: 780px;
  margin: 8px 0 12px;
  color: var(--ag-green-900);
  font-size: clamp(2rem, 1.6rem + 1.8vw, 3.4rem);
  line-height: 1.05;
  letter-spacing: 0;
}

.ag-home-hero__intro {
  max-width: 660px;
  color: var(--ag-muted);
  font-size: 1.05rem;
  line-height: 1.55;
}

.ag-home-hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 22px;
}

.ag-home-hero__actions .btn {
  min-height: 44px;
  border-radius: 8px;
  padding-inline: 18px;
  font-weight: 800;
}

.ag-home-hero__panel {
  padding: 22px;
}

.ag-home-hero__panel h2,
.ag-home-intro h3,
.ag-home-products h3 {
  color: var(--ag-green-900);
  font-size: 1.25rem;
  font-weight: 850;
  letter-spacing: 0;
}

.ag-category-quicklinks {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 16px;
}

.ag-category-quicklinks a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--ag-border);
  border-radius: 8px;
  background: var(--ag-soft);
  color: var(--ag-ink);
  font-weight: 750;
  text-decoration: none;
}

.ag-category-quicklinks a::after {
  content: ">";
  color: var(--ag-amber-500);
  font-weight: 900;
}

.ag-category-quicklinks a:hover,
.ag-category-quicklinks a:focus {
  border-color: #bdd7bd;
  background: var(--ag-leaf-100);
  color: var(--ag-green-900);
}

.ag-home-intro {
  margin-block: 24px;
  padding: 22px;
  color: var(--ag-muted);
  line-height: 1.65;
}

.ag-home-products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-block: 24px 44px;
}

.ag-home-products > .card,
.ag-home-products > .moduletable {
  min-width: 0;
  padding: 18px;
}

.ag-home-products .vmgroup,
.ag-home-products .vmproduct,
.ag-home-products .featuredProductImage,
.ag-home-products .product-field-display {
  min-width: 0;
}

.ag-home-products .vmproduct,
.ag-home-products .product-container {
  border-top: 1px solid var(--ag-border);
  padding-block: 12px;
}

.ag-home-products .vmproduct:first-child,
.ag-home-products .product-container:first-child {
  border-top: 0;
}

.ag-home-products img {
  max-width: 96px;
  height: auto;
  border-radius: 6px;
  object-fit: contain;
}

.ag-home-products a {
  font-weight: 750;
  text-decoration: none;
}

.ag-home-products .PricesalesPrice,
.ag-home-products .product-price {
  color: var(--ag-green-900);
  font-weight: 850;
}

.ag-footer {
  margin-top: 34px;
  background: var(--ag-green-900);
  color: #edf6ee;
}

.ag-footer a {
  color: #fff;
  text-decoration: none;
}

.ag-footer a:hover,
.ag-footer a:focus {
  color: var(--ag-amber-500);
}

.ag-footer__columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  padding-block: 34px 22px;
}

.ag-footer__columns h3,
.ag-footer__columns h4 {
  color: #fff;
  font-size: 1rem;
  font-weight: 850;
}

.ag-footer__columns ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ag-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  padding-block: 14px;
  color: #d7e8d9;
  font-size: 0.9rem;
}

.blog-featured:empty {
  display: none;
}

@media (max-width: 980px) {
  .ag-header-main {
    grid-template-columns: 1fr;
  }

  .ag-header-actions {
    justify-content: stretch;
  }

  .ag-header-actions > div,
  .ag-header-actions .custom,
  .ag-header-actions .vmCartModule {
    flex: 1;
  }

  .ag-nav-main {
    display: none;
  }

  .ag-nav-mobile {
    display: block;
  }

  .ag-primary-nav ul,
  .ag-primary-nav .mod-menu {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding-block: 8px;
  }

  .ag-primary-nav li ul {
    position: static;
    display: grid;
    min-width: 0;
    box-shadow: none;
  }

  .ag-home-hero__inner,
  .ag-home-products,
  .ag-footer__columns {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .ag-top-strip__inner,
  .ag-top-strip__meta,
  .ag-header-actions,
  .ag-footer__bottom {
    display: grid;
    grid-template-columns: 1fr;
  }

  .ag-home-hero__inner {
    padding-block: 18px;
  }

  .ag-home-hero__copy,
  .ag-home-hero__panel,
  .ag-home-intro,
  .ag-home-products > .card,
  .ag-home-products > .moduletable {
    border-radius: 0;
    border-inline: 0;
  }

  .ag-primary-nav ul,
  .ag-primary-nav .mod-menu {
    grid-template-columns: 1fr;
  }
}
/* Watch24-style footer polish */
.ag-footer {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: none;
  margin-top: 42px;
  background:
    linear-gradient(135deg, rgba(20, 63, 42, 0.98) 0%, rgba(16, 50, 34, 1) 54%, rgba(9, 33, 22, 1) 100%);
  color: #edf6ee;
  isolation: isolate;
}

.ag-footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #8fd27f 0%, #2f8b4c 34%, #143f2a 68%, #0a2418 100%);
  z-index: 2;
}

.ag-footer::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(560px, 48vw);
  height: min(360px, 42vw);
  background: linear-gradient(135deg, rgba(47, 139, 76, 0) 0%, rgba(18, 69, 42, 0.35) 48%, rgba(6, 25, 17, 0.9) 100%);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  pointer-events: none;
  z-index: 0;
}

.ag-footer__columns,
.ag-footer__bottom,
.ag-footer__bottom-inner {
  position: relative;
  z-index: 1;
}

.ag-footer__columns {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 40px clamp(18px, 4vw, 56px) 28px;
}

.ag-footer__bottom {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(5, 24, 16, 0.34);
  color: #dceee0;
}

.ag-footer__bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  max-width: none;
  min-height: 58px;
  padding: 14px clamp(18px, 4vw, 56px);
}

.ag-footer__copyright,
.ag-footer__credit {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.45;
}

.ag-footer__credit {
  text-align: right;
}

.ag-footer__credit a {
  color: #ffffff;
  font-weight: 850;
  letter-spacing: 0.02em;
  text-decoration: none;
}

.ag-footer__credit a:hover,
.ag-footer__credit a:focus {
  color: var(--ag-amber-500);
}

@media (max-width: 640px) {
  .ag-footer__bottom-inner {
    display: grid;
    justify-items: start;
  }

  .ag-footer__credit {
    text-align: left;
  }

  .ag-footer::after {
    width: 78vw;
    height: 260px;
  }
}
/* Agrofen logo assets */
.ag-logo-img {
  display: block;
  width: min(210px, 44vw);
  height: auto;
  max-height: 92px;
  object-fit: contain;
}

.ag-brand .brand-logo {
  align-items: center;
  padding: 0;
}

@media (max-width: 640px) {
  .ag-logo-img {
    width: min(188px, 62vw);
    max-height: 82px;
  }
}
/* Footer contact module */
.ag-footer-contact {
  display: grid;
  gap: 8px;
  color: #dceee0;
  line-height: 1.55;
}

.ag-footer-contact__intro {
  max-width: 360px;
  color: #eaf6ec;
}

.ag-footer-contact__company {
  margin-top: 6px;
  color: #fff;
  font-weight: 850;
  letter-spacing: 0.01em;
}

.ag-footer-contact__phone {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  margin-top: 8px;
  color: #fff;
  font-weight: 850;
  text-decoration: none;
}

.ag-footer-contact__phone:hover,
.ag-footer-contact__phone:focus {
  color: var(--ag-amber-500);
}

.ag-contact-phone-icon {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: linear-gradient(135deg, #bfe9b8 0%, #ffffff 100%);
  color: var(--ag-green-900);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.18);
  flex: 0 0 auto;
}

.ag-contact-phone-icon::before {
  content: "\260E";
  font-size: 15px;
  line-height: 1;
  transform: translateY(-1px);
}
/* Footer brand and quick links */
.ag-footer__columns {
  grid-template-columns: minmax(220px, 1.15fr) minmax(160px, 0.75fr) minmax(190px, 0.85fr) minmax(240px, 1fr);
  align-items: start;
}

.ag-footer__columns .moduletable,
.ag-footer__columns .moduletable_menu,
.ag-footer__columns [class*="moduletable"] {
  min-width: 0;
}

.ag-footer-brand-card {
  display: grid;
  gap: 16px;
  max-width: 330px;
}

.ag-footer-brand-card__logo {
  display: inline-flex;
  width: fit-content;
  max-width: 220px;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16);
}

.ag-footer-brand-card__logo img {
  display: block;
  width: min(190px, 52vw);
  height: auto;
}

.ag-footer-brand-card p {
  color: #eaf6ec;
  line-height: 1.6;
}

.ag-footer-socials {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.ag-footer-social {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
  transition: transform 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.ag-footer-social--instagram {
  font-size: 1.35rem;
}

.ag-footer-social--tiktok {
  font-size: 1.25rem;
}

.ag-footer-social:hover,
.ag-footer-social:focus-visible,
.ag-footer-brand-card__logo:hover,
.ag-footer-brand-card__logo:focus-visible {
  transform: translateY(-2px);
}

.ag-footer-social:hover,
.ag-footer-social:focus-visible {
  border-color: rgba(242, 182, 50, 0.7);
  background: rgba(242, 182, 50, 0.16);
  color: var(--ag-amber-500);
}

.ag-footer-quicklinks,
.ag-footer__columns .mod-menu {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ag-footer-quicklinks a,
.ag-footer__columns .mod-menu a {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 28px;
  padding-left: 0;
  color: #edf6ee;
  text-decoration: none;
  transition: color 0.18s ease, transform 0.18s ease, padding-left 0.18s ease;
}

.ag-footer-quicklinks a::before,
.ag-footer__columns .mod-menu a::before {
  content: "";
  width: 0;
  height: 2px;
  margin-right: 0;
  border-radius: 999px;
  background: var(--ag-amber-500);
  transition: width 0.18s ease, margin-right 0.18s ease;
}

@media (hover: hover) {
  .ag-footer-quicklinks a:hover,
  .ag-footer-quicklinks a:focus-visible,
  .ag-footer__columns .mod-menu a:hover,
  .ag-footer__columns .mod-menu a:focus-visible {
    color: var(--ag-amber-500);
    transform: translateX(3px);
  }

  .ag-footer-quicklinks a:hover::before,
  .ag-footer-quicklinks a:focus-visible::before,
  .ag-footer__columns .mod-menu a:hover::before,
  .ag-footer__columns .mod-menu a:focus-visible::before {
    width: 14px;
    margin-right: 8px;
  }
}

@media (max-width: 1180px) {
  .ag-footer__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .ag-footer__columns {
    grid-template-columns: 1fr;
  }

  .ag-footer-brand-card,
  .ag-footer-brand-card__logo {
    margin-inline: auto;
  }

  .ag-footer-brand-card {
    text-align: center;
  }

  .ag-footer-socials {
    justify-content: center;
  }
}

/* Footer spacing and Font Awesome social icons */
.ag-footer__columns ul.mod-menu,
.ag-footer__columns ul.mod-menu.nav,
.ag-footer__columns .mod-menu,
.ag-footer-quicklinks {
  gap: 7px;
}

.ag-footer__columns ul.mod-menu > li,
.ag-footer__columns .mod-menu > li {
  margin: 0;
  padding: 0;
}

.ag-footer__columns ul.mod-menu a,
.ag-footer__columns .mod-menu a,
.ag-footer-quicklinks a {
  min-height: 28px;
  padding-block: 0;
  line-height: 1.35;
}

.ag-footer-social i {
  display: block;
  font-size: 1.08rem;
  line-height: 1;
}

.ag-footer-social--instagram i {
  font-size: 1.18rem;
}

.ag-footer-social--tiktok i {
  font-size: 1.1rem;
}

/* Footer mobile accordion and BW logo */
a,
a:focus,
a:focus-visible,
img,
img:focus,
img:focus-visible,
a img,
a:focus img,
a:focus-visible img {
  outline: 0 !important;
}

.ag-footer-brand-card {
  justify-items: start;
}

.ag-footer-brand-card__logo {
  max-width: 260px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.ag-footer-brand-card__logo img {
  width: min(240px, 62vw);
  border-radius: 8px;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.22);
}

.ag-footer-social {
  text-decoration: none;
  outline: 0 !important;
}

.ag-footer-accordion__trigger {
  all: unset;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font: inherit;
  font-weight: 850;
  line-height: 1.25;
}

.ag-footer-accordion__plus {
  display: none;
  position: relative;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}

.ag-footer-accordion__plus::before,
.ag-footer-accordion__plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 2px;
  border-radius: 999px;
  background: #fff;
  transform: translate(-50%, -50%);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.ag-footer-accordion__plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

@media (min-width: 1181px) {
  .ag-footer-accordion__panel {
    display: block !important;
  }
}

@media (max-width: 1180px) {
  .ag-footer__columns {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 24px;
    padding-block: 34px 26px;
    text-align: center;
  }

  .ag-footer__columns > * {
    width: 100%;
    max-width: 540px;
  }

  .ag-footer-brand-card,
  .ag-footer-brand-card__logo {
    margin-inline: auto;
  }

  .ag-footer-brand-card {
    justify-items: center;
    max-width: 460px;
    gap: 14px;
    text-align: center;
  }

  .ag-footer-brand-card__logo img {
    width: min(250px, 68vw);
  }

  .ag-footer-socials {
    justify-content: center;
  }

  .ag-footer-contact {
    justify-items: center;
    gap: 10px;
    text-align: center;
  }

  .ag-footer-contact__intro {
    margin-inline: auto;
  }

  .ag-footer-quicklinks,
  .ag-footer__columns .mod-menu {
    justify-items: center;
  }

  .ag-footer-quicklinks a,
  .ag-footer__columns .mod-menu a {
    width: auto;
  }

  .ag-footer-accordion h3,
  .ag-footer-accordion h4 {
    margin-bottom: 0;
  }

  .ag-footer-accordion__trigger {
    width: 100%;
    min-height: 42px;
    justify-content: center;
    cursor: pointer;
  }

  .ag-footer-accordion__plus {
    display: inline-block;
  }

  .ag-footer-accordion__panel {
    display: none;
    padding-top: 12px;
  }

  .ag-footer-accordion.is-open .ag-footer-accordion__panel {
    display: block;
  }

  .ag-footer-accordion.is-open .ag-footer-accordion__plus::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(90deg) scaleX(0.2);
  }

  .ag-footer__bottom-inner {
    display: grid;
    justify-items: center;
    text-align: center;
  }

  .ag-footer__credit {
    text-align: center;
  }
}

/* Footer alignment fixes after BW logo */
.ag-footer-brand-card__logo,
.ag-footer-brand-card__logo:hover,
.ag-footer-brand-card__logo:focus-visible,
.ag-footer-brand-card__logo img,
.ag-footer-brand-card__logo:hover img,
.ag-footer-brand-card__logo:focus-visible img {
  box-shadow: none !important;
}

.ag-footer__bottom-inner {
  display: grid;
  justify-content: center;
  justify-items: center;
  gap: 6px;
  min-height: 64px;
  text-align: center;
}

.ag-footer__copyright,
.ag-footer__credit {
  text-align: center;
}

@media (max-width: 1180px) {
  .ag-footer__columns {
    justify-items: stretch;
    gap: 0;
    text-align: left;
  }

  .ag-footer__columns > * {
    max-width: none;
    padding-block: 16px;
    border-bottom: 1px solid rgba(143, 210, 127, 0.38);
  }

  .ag-footer__columns > *:first-child {
    padding-top: 0;
  }

  .ag-footer-brand-card,
  .ag-footer-brand-card__logo {
    margin-inline: 0;
  }

  .ag-footer-brand-card {
    justify-items: start;
    max-width: none;
    text-align: left;
  }

  .ag-footer-socials {
    justify-content: flex-start;
  }

  .ag-footer-contact {
    justify-items: start;
    text-align: left;
  }

  .ag-footer-contact__intro {
    margin-inline: 0;
  }

  .ag-footer-quicklinks,
  .ag-footer__columns .mod-menu {
    justify-items: start;
  }

  .ag-footer-accordion__trigger {
    justify-content: space-between;
    width: 100%;
    padding-block: 4px;
    text-align: left;
  }

  .ag-footer-accordion__panel {
    text-align: left;
  }
}

/* Footer final responsive alignment */
@media (min-width: 1181px) {
  .ag-footer-brand-card,
  .ag-footer-brand-card p {
    text-align: left;
  }

  .ag-footer-brand-card {
    justify-items: start;
  }

  .ag-footer-brand-card,
  .ag-footer-brand-card__logo {
    margin-inline: 0;
  }

  .ag-footer-socials {
    justify-content: flex-start;
  }

  .ag-footer__bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    justify-items: stretch;
    gap: 16px;
    text-align: left;
  }

  .ag-footer__copyright {
    text-align: left;
  }

  .ag-footer__credit {
    text-align: right;
  }
}

@media (max-width: 1180px) {
  .ag-footer-brand-card,
  .ag-footer-brand-card p {
    text-align: center;
  }

  .ag-footer-brand-card {
    justify-items: center;
  }

  .ag-footer-brand-card,
  .ag-footer-brand-card__logo {
    margin-inline: auto;
  }

  .ag-footer-socials {
    justify-content: center;
  }

  .ag-footer__bottom-inner {
    display: grid;
    justify-content: center;
    justify-items: center;
    gap: 6px;
    text-align: center;
  }

  .ag-footer__copyright,
  .ag-footer__credit {
    text-align: center;
  }
}

/* Header Watch24-style search and actions */
.ag-top-strip {
  background: linear-gradient(90deg, #143f2a 0%, #227241 50%, #143f2a 100%);
}

.ag-top-strip__inner {
  width: 100%;
  max-width: none;
  justify-content: center;
  padding: 8px clamp(18px, 4vw, 56px);
  text-align: center;
}

.ag-top-strip__message {
  width: 100%;
  justify-content: center;
  text-align: center;
}

.ag-top-strip__message .custom,
.ag-top-strip__message p {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #ffffff;
  font-weight: 750;
  line-height: 1.35;
}

.ag-header-main {
  width: 100%;
  max-width: none;
  grid-template-columns: minmax(170px, 260px) minmax(420px, 1fr) auto;
  gap: clamp(18px, 3vw, 42px);
  padding: 18px clamp(18px, 4vw, 56px);
}

.ag-brand {
  justify-self: start;
}

.ag-brand .brand-logo {
  justify-content: flex-start;
}

.ag-logo-img {
  width: min(230px, 18vw);
  max-height: 96px;
}

.ag-header-search {
  position: relative;
  justify-self: center;
  width: 100%;
  max-width: 820px;
  z-index: 25;
}

.ag-header-search .vmajaxlivesearch,
.ag-header-search form,
.ag-header-search .ajax-search-container,
.ag-header-search .search-input-container,
.ag-header-search .search-input {
  width: 100% !important;
}

.ag-header-search .search-input-container {
  position: relative;
  display: block !important;
  float: none !important;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(31, 42, 36, 0.1);
}

.ag-header-search .vmajaxlivesearch-box {
  width: 100% !important;
  min-height: 56px !important;
  border: 1px solid #cfe3cf !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--ag-ink) !important;
  font-size: 1rem !important;
  font-weight: 650;
  padding: 0 54px 0 22px !important;
}

.ag-header-search .vmajaxlivesearch-box::placeholder {
  color: #708078;
  opacity: 1;
}

.ag-header-search .vmajaxlivesearch-box:focus {
  border-color: var(--ag-green-600) !important;
  box-shadow: 0 0 0 4px rgba(47, 139, 76, 0.16) !important;
}

.ag-header-search .search-image {
  display: none !important;
}

.ag-header-search .search-area-close {
  position: absolute;
  top: 50%;
  right: 18px;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  min-width: 28px;
  border: 0;
  border-radius: 999px;
  background: #eef7ec;
  color: var(--ag-green-900);
  transform: translateY(-50%);
  cursor: pointer;
}

.ag-header-search .search-results {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  border: 1px solid #d9e8d8 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 20px 46px rgba(31, 42, 36, 0.18) !important;
  overflow: hidden;
  z-index: 1200;
}

.ag-header-search .jtvms-results-container {
  display: grid;
  gap: 0;
}

.ag-header-search .jtvms-results-header {
  min-height: auto !important;
  padding: 10px 14px !important;
  border: 0 !important;
  background: #eef7ec !important;
  color: var(--ag-green-900) !important;
  font-size: 0.82rem !important;
  font-weight: 850 !important;
  text-transform: uppercase;
}

.ag-header-search .ag-search-used-variant {
  padding: 9px 14px;
  border-bottom: 1px solid #e3efe2;
  background: #fbfdf9;
  color: var(--ag-muted);
  font-size: 0.86rem;
}

.ag-header-search .jtvs-products-list,
.ag-header-search .jtvs-categories-list,
.ag-header-search .jtvs-brands-list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ag-header-search li.jtvs-product,
.ag-header-search li.jtvs-category,
.ag-header-search li.jtvs-brand {
  margin: 0 !important;
  border-bottom: 1px solid #edf4ec !important;
}

.ag-header-search li.jtvs-product:last-child,
.ag-header-search li.jtvs-category:last-child,
.ag-header-search li.jtvs-brand:last-child {
  border-bottom: 0 !important;
}

.ag-header-search li.jtvs-product a,
.ag-header-search li.jtvs-category a,
.ag-header-search li.jtvs-brand a {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 72px;
  padding: 10px 14px !important;
  color: var(--ag-ink) !important;
  text-decoration: none !important;
}

.ag-header-search li.jtvs-category a,
.ag-header-search li.jtvs-brand a {
  grid-template-columns: 1fr;
  min-height: 48px;
}

.ag-header-search li.jtvs-product a:hover,
.ag-header-search li.jtvs-category a:hover,
.ag-header-search li.jtvs-brand a:hover {
  background: #f4faf2 !important;
  color: var(--ag-green-900) !important;
}

.ag-header-search .jtvs-product-img img,
.ag-header-search .jtvs-category-img img,
.ag-header-search .jtvs-brand-img img {
  width: 58px !important;
  height: 58px !important;
  border-radius: 8px !important;
  object-fit: contain;
  background: #f7faf6;
}

.ag-header-search .jtvs-product-data,
.ag-header-search .jtvs-category-data,
.ag-header-search .jtvs-brand-data {
  display: grid !important;
  gap: 3px;
  min-width: 0;
}

.ag-header-search .jtvs-product-name,
.ag-header-search .jtvs-category-name,
.ag-header-search .jtvs-brand-name {
  color: var(--ag-green-900) !important;
  font-size: 0.96rem !important;
  font-weight: 850 !important;
  line-height: 1.25;
}

.ag-header-search .jtvs-product-sdesc,
.ag-header-search .jtvs-product-sku {
  color: var(--ag-muted) !important;
  font-size: 0.84rem !important;
  line-height: 1.25;
}

.ag-header-search .jtvs-product-price {
  color: var(--ag-green-700) !important;
  font-size: 0.9rem !important;
  font-weight: 850;
}

.ag-header-actions {
  justify-self: end;
  justify-content: flex-end;
  gap: 10px;
  min-width: 172px;
}

.ag-header-actions > div,
.ag-header-actions .custom,
.ag-header-actions .vmCartModule {
  min-height: 0;
}

.ag-header-actions .custom,
.ag-header-actions .vmCartModule {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0 !important;
  border: 1px solid #d7e6d4;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 10px 22px rgba(31, 42, 36, 0.09);
}

.ag-header-icon,
.ag-header-actions .vmCartModule {
  color: var(--ag-green-900) !important;
  text-decoration: none !important;
  transition: transform 0.18s ease, border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}

.ag-header-icon {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  font-size: 1.12rem;
}

.ag-header-icon:hover,
.ag-header-icon:focus-visible,
.ag-header-actions .vmCartModule:hover,
.ag-header-actions .vmCartModule:focus-visible {
  border-color: #a8cea7;
  background: #eef7ec;
  color: var(--ag-green-700) !important;
  transform: translateY(-1px);
}

.ag-header-actions .vmCartModule {
  position: relative;
  cursor: pointer;
  font-size: 0;
  color: transparent !important;
}

.ag-header-actions .vmCartModule::before {
  content: "\f290";
  color: var(--ag-green-900);
  font-family: "Font Awesome 6 Free";
  font-size: 1.12rem;
  font-weight: 900;
  line-height: 1;
}

.ag-header-actions .vmCartModule > * {
  display: none !important;
}

@media (max-width: 980px) {
  .ag-header-main {
    grid-template-columns: 1fr;
    gap: 14px;
    padding-block: 14px;
  }

  .ag-brand,
  .ag-header-actions,
  .ag-header-search {
    justify-self: stretch;
  }

  .ag-brand .brand-logo {
    justify-content: center;
  }

  .ag-logo-img {
    width: min(210px, 58vw);
  }

  .ag-header-actions {
    order: 3;
    justify-content: center;
    min-width: 0;
  }

  .ag-header-search {
    order: 2;
    max-width: none;
  }

  .ag-header-search .vmajaxlivesearch-box {
    min-height: 52px !important;
  }
}

/* Header search dropdown and full-width polish */
.container-header,
.container-header .grid-child {
  width: 100% !important;
  max-width: none !important;
}

.container-header .grid-child {
  margin-inline: 0 !important;
}

.container-header .ag-top-strip__inner,
.container-header .ag-header-main,
.container-header .ag-primary-nav {
  max-width: none !important;
}

.ag-header-search .search-results:not(.is-visible) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.ag-header-search .search-results.is-visible {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
}

.ag-header-icon {
  border-radius: 999px;
  background: transparent !important;
}

.ag-header-icon:hover,
.ag-header-icon:focus-visible {
  background: transparent !important;
  transform: none;
}

.ag-header-actions .custom:hover,
.ag-header-actions .custom:focus-within {
  border-color: #a8cea7;
  background: #eef7ec;
  color: var(--ag-green-700) !important;
  transform: translateY(-1px);
}

.ag-header-actions .custom:hover .ag-header-icon,
.ag-header-actions .custom:focus-within .ag-header-icon {
  color: var(--ag-green-700) !important;
}

/* Desktop green gradient main navigation */
@media (min-width: 981px) {
  .ag-nav-wrap {
    position: relative;
    overflow: visible;
    border: 0;
    background:
      linear-gradient(135deg, rgba(20, 63, 42, 1) 0%, rgba(34, 114, 65, 1) 46%, rgba(10, 36, 24, 1) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 14px 28px rgba(20, 63, 42, 0.18);
    isolation: isolate;
  }

  .ag-nav-wrap::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg, #b9e7ad 0%, #8fd27f 28%, #2f8b4c 62%, #0a2418 100%);
    pointer-events: none;
    z-index: 1;
  }

  .container-header .ag-primary-nav {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 clamp(18px, 4vw, 56px);
  }

  .ag-nav-main {
    width: 100%;
  }

  .ag-nav-main > ul,
  .ag-nav-main > .mod-menu {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 56px;
    margin: 0;
    padding: 6px 0;
  }

  .ag-nav-main > .mod-menu > li > a,
  .ag-nav-main > ul > li > a,
  .ag-nav-main > .mod-menu > li > .nav-header,
  .ag-nav-main > .mod-menu > li > .separator {
    position: relative;
    min-height: 42px;
    padding: 10px 14px;
    border-radius: 6px;
    color: #f6fff7;
    font-weight: 850;
    letter-spacing: 0;
    text-decoration: none;
    overflow: hidden;
    transition: color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
  }

  .ag-nav-main > .mod-menu > li > a::before,
  .ag-nav-main > ul > li > a::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.18) 0%, rgba(143, 210, 127, 0.18) 100%);
    opacity: 0;
    transition: opacity 0.18s ease;
    z-index: -1;
  }

  .ag-nav-main > .mod-menu > li > a:hover,
  .ag-nav-main > .mod-menu > li > a:focus,
  .ag-nav-main > ul > li > a:hover,
  .ag-nav-main > ul > li > a:focus {
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18), 0 10px 20px rgba(0, 0, 0, 0.12);
  }

  .ag-nav-main > .mod-menu > li > a:hover::before,
  .ag-nav-main > .mod-menu > li > a:focus::before,
  .ag-nav-main > ul > li > a:hover::before,
  .ag-nav-main > ul > li > a:focus::before {
    opacity: 1;
  }

  .ag-nav-main > .mod-menu > li.active > a,
  .ag-nav-main > .mod-menu > li.current > a,
  .ag-nav-main > ul > li.active > a,
  .ag-nav-main > ul > li.current > a {
    color: #ffffff;
    background: linear-gradient(135deg, rgba(143, 210, 127, 0.34) 0%, rgba(255, 255, 255, 0.14) 100%);
    box-shadow: inset 0 0 0 1px rgba(223, 245, 218, 0.42), 0 10px 22px rgba(0, 0, 0, 0.14);
  }

  .ag-nav-main > .mod-menu > li.active > a::after,
  .ag-nav-main > .mod-menu > li.current > a::after,
  .ag-nav-main > ul > li.active > a::after,
  .ag-nav-main > ul > li.current > a::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 6px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ffffff 0%, #f2b632 100%);
  }

  .ag-primary-nav li ul {
    top: calc(100% + 8px);
    min-width: 280px;
    padding: 10px;
    border: 1px solid #cfe3cf;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 22px 52px rgba(20, 63, 42, 0.22);
  }

  .ag-primary-nav li.item-113 > ul,
  .ag-primary-nav li.deeper.parent > ul.mod-menu__sub {
    min-width: min(560px, calc(100vw - 40px));
    grid-template-columns: repeat(2, minmax(190px, 1fr));
    gap: 4px;
  }

  .ag-primary-nav li:hover > ul,
  .ag-primary-nav li:focus-within > ul {
    display: grid;
    gap: 4px;
  }

  .ag-primary-nav li ul a {
    min-height: 38px;
    padding: 9px 10px;
    border-radius: 6px;
    color: var(--ag-ink);
    font-size: 0.93rem;
    font-weight: 760;
  }

  .ag-primary-nav li ul a:hover,
  .ag-primary-nav li ul a:focus,
  .ag-primary-nav li ul .active > a,
  .ag-primary-nav li ul .current > a {
    background: #eef7ec;
    color: var(--ag-green-900);
    box-shadow: inset 3px 0 0 #8fd27f;
    transform: none;
  }
}

/* Desktop navigation no-fill hover active polish */
@media (min-width: 981px) {
  .ag-nav-main > .mod-menu > li > a::before,
  .ag-nav-main > ul > li > a::before {
    display: none;
  }

  .ag-nav-main > .mod-menu > li > a:hover,
  .ag-nav-main > .mod-menu > li > a:focus,
  .ag-nav-main > ul > li > a:hover,
  .ag-nav-main > ul > li > a:focus {
    background: transparent !important;
    box-shadow: inset 0 0 0 1px rgba(223, 245, 218, 0.5), 0 8px 18px rgba(0, 0, 0, 0.1);
  }

  .ag-nav-main > .mod-menu > li.active > a,
  .ag-nav-main > .mod-menu > li.current > a,
  .ag-nav-main > ul > li.active > a,
  .ag-nav-main > ul > li.current > a {
    background: transparent !important;
    box-shadow: inset 0 0 0 1px rgba(223, 245, 218, 0.68), 0 8px 18px rgba(0, 0, 0, 0.08);
  }
}

/* Desktop navigation underline-only hover active */
@media (min-width: 981px) {
  .ag-nav-main > .mod-menu > li > a,
  .ag-nav-main > ul > li > a {
    box-shadow: none !important;
  }

  .ag-nav-main > .mod-menu > li > a:hover,
  .ag-nav-main > .mod-menu > li > a:focus,
  .ag-nav-main > ul > li > a:hover,
  .ag-nav-main > ul > li > a:focus,
  .ag-nav-main > .mod-menu > li.active > a,
  .ag-nav-main > .mod-menu > li.current > a,
  .ag-nav-main > ul > li.active > a,
  .ag-nav-main > ul > li.current > a {
    background: transparent !important;
    box-shadow: none !important;
    transform: none;
  }

  .ag-nav-main > .mod-menu > li > a::after,
  .ag-nav-main > ul > li > a::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 6px;
    height: 2px;
    border-radius: 999px;
    background: #f2b632;
    opacity: 0;
    transform: scaleX(0.35);
    transform-origin: center;
    transition: opacity 0.18s ease, transform 0.18s ease;
  }

  .ag-nav-main > .mod-menu > li > a:hover::after,
  .ag-nav-main > .mod-menu > li > a:focus::after,
  .ag-nav-main > ul > li > a:hover::after,
  .ag-nav-main > ul > li > a:focus::after,
  .ag-nav-main > .mod-menu > li.active > a::after,
  .ag-nav-main > .mod-menu > li.current > a::after,
  .ag-nav-main > ul > li.active > a::after,
  .ag-nav-main > ul > li.current > a::after {
    opacity: 1;
    transform: scaleX(1);
  }
}

/* Desktop navigation yellow underline only final */
@media (min-width: 981px) {
  .ag-nav-wrap::before {
    display: none !important;
  }

  .ag-nav-main > .mod-menu > li > a::before,
  .ag-nav-main > ul > li > a::before {
    display: none !important;
    opacity: 0 !important;
    background: transparent !important;
  }

  .ag-nav-main > .mod-menu > li > a:hover,
  .ag-nav-main > .mod-menu > li > a:focus,
  .ag-nav-main > ul > li > a:hover,
  .ag-nav-main > ul > li > a:focus,
  .ag-nav-main > .mod-menu > li.active > a,
  .ag-nav-main > .mod-menu > li.current > a,
  .ag-nav-main > ul > li.active > a,
  .ag-nav-main > ul > li.current > a {
    background: transparent !important;
    box-shadow: none !important;
    border-color: transparent !important;
  }

  .ag-nav-main > .mod-menu > li > a:hover::after,
  .ag-nav-main > .mod-menu > li > a:focus::after,
  .ag-nav-main > ul > li > a:hover::after,
  .ag-nav-main > ul > li > a:focus::after,
  .ag-nav-main > .mod-menu > li.active > a::after,
  .ag-nav-main > .mod-menu > li.current > a::after,
  .ag-nav-main > ul > li.active > a::after,
  .ag-nav-main > ul > li.current > a::after {
    background: #f2b632 !important;
    box-shadow: none !important;
  }
}

/* Desktop menu links yellow-only state final */
@media (min-width: 981px) {
  .ag-primary-nav li ul a {
    position: relative;
    box-shadow: none !important;
    border-color: transparent !important;
  }

  .ag-primary-nav li ul a::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 5px;
    height: 2px;
    border-radius: 999px;
    background: #f2b632;
    opacity: 0;
    transform: scaleX(0.35);
    transform-origin: center;
    transition: opacity 0.18s ease, transform 0.18s ease;
  }

  .ag-primary-nav li ul a:hover,
  .ag-primary-nav li ul a:focus,
  .ag-primary-nav li ul .active > a,
  .ag-primary-nav li ul .current > a {
    background: transparent !important;
    box-shadow: none !important;
    border-color: transparent !important;
    color: var(--ag-green-900);
  }

  .ag-primary-nav li ul a:hover::after,
  .ag-primary-nav li ul a:focus::after,
  .ag-primary-nav li ul .active > a::after,
  .ag-primary-nav li ul .current > a::after {
    opacity: 1;
    transform: scaleX(1);
  }
}


/* Desktop main nav single yellow underline final */
@media (min-width: 981px) {
  .ag-nav-main > .mod-menu > li,
  .ag-nav-main > ul > li {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .ag-nav-main > .mod-menu > li::before,
  .ag-nav-main > .mod-menu > li::after,
  .ag-nav-main > ul > li::before,
  .ag-nav-main > ul > li::after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .ag-nav-main > .mod-menu > li > a,
  .ag-nav-main > ul > li > a {
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    text-decoration: none !important;
  }

  .ag-nav-main > .mod-menu > li > a::before,
  .ag-nav-main > ul > li > a::before {
    content: none !important;
    display: none !important;
  }

  .ag-nav-main > .mod-menu > li > a::after,
  .ag-nav-main > ul > li > a::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 6px !important;
    height: 2px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #f2b632 !important;
    box-shadow: none !important;
    opacity: 0 !important;
    transform: scaleX(0.35) !important;
    transform-origin: center !important;
    transition: opacity 0.18s ease, transform 0.18s ease !important;
  }

  .ag-nav-main > .mod-menu > li > a:hover::after,
  .ag-nav-main > .mod-menu > li > a:focus::after,
  .ag-nav-main > ul > li > a:hover::after,
  .ag-nav-main > ul > li > a:focus::after,
  .ag-nav-main > .mod-menu > li.active > a::after,
  .ag-nav-main > .mod-menu > li.current > a::after,
  .ag-nav-main > ul > li.active > a::after,
  .ag-nav-main > ul > li.current > a::after {
    opacity: 1 !important;
    transform: scaleX(1) !important;
  }
}
/* Manufacturers page logo grid */
body.itemid-323 .site-grid,
body.itemid-323 .grid-child.container-component,
body.itemid-323 .container-component {
  width: 100%;
  max-width: none !important;
  margin-inline: 0 !important;
}

body.itemid-323 .container-component {
  padding-inline: 0 !important;
}

body.itemid-323 .container-component > main {
  width: 100%;
}

body.itemid-323 .category-view {
  width: 100%;
  max-width: 1240px;
  margin-inline: auto;
  padding: 0 clamp(16px, 4vw, 28px);
  text-align: center;
}

body.itemid-323 .vm-category-title {
  margin: 0 0 clamp(24px, 4vw, 42px) !important;
  color: var(--ag-green-900);
  font-size: clamp(1.85rem, 3vw, 2.7rem);
  font-weight: 900 !important;
  line-height: 1.12;
}

body.itemid-323 .vm-category-subcategories {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto clamp(28px, 4vw, 46px) !important;
}

body.itemid-323 .vm-category-subcategories > .row {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: clamp(22px, 3vw, 38px) clamp(18px, 3vw, 34px);
  width: 100%;
  margin: 0 auto !important;
}

body.itemid-323 .vm-category-subcategories .vm-subcategory {
  width: auto !important;
  max-width: 230px;
  flex: 0 1 210px !important;
  padding: 0 !important;
  text-align: center !important;
}

body.itemid-323 .vm-category-subcategories .vm-subcategory > a {
  --ag-brand-circle: clamp(136px, 13vw, 178px);
  --ag-brand-ring: 8px;
  --ag-brand-image-inset: clamp(24px, 2.4vw, 34px);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-height: 100%;
  color: var(--ag-green-900);
  text-decoration: none !important;
}

body.itemid-323 .vm-category-subcategories .vm-subcategory > a::before {
  content: "";
  display: block;
  width: var(--ag-brand-circle);
  height: var(--ag-brand-circle);
  margin: 0 auto 14px;
  border: var(--ag-brand-ring) solid var(--ag-green-700, #116b39);
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(20, 63, 42, 0.12), inset 0 0 0 1px rgba(255, 255, 255, 0.9);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

body.itemid-323 .vm-category-subcategories .browseCategoryImage {
  position: absolute;
  top: calc(var(--ag-brand-ring) + (var(--ag-brand-image-inset) / 2));
  left: 50%;
  z-index: 1;
  display: block;
  width: calc(var(--ag-brand-circle) - var(--ag-brand-image-inset)) !important;
  height: calc(var(--ag-brand-circle) - var(--ag-brand-image-inset)) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: cover;
  object-position: center;
  clip-path: inset(4px 4px 4px 4px);
  transform: translateX(-50%) scale(1.08);
  transition: transform 0.2s ease;
}

body.itemid-323 .vm-category-subcategories .vm-subcategory-title {
  position: relative;
  z-index: 2;
  max-width: 100%;
  margin: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
  color: var(--ag-green-900);
  font-size: clamp(0.98rem, 1.2vw, 1.12rem);
  font-weight: 850 !important;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

body.itemid-323 .vm-category-subcategories .vm-subcategory > a:hover::before,
body.itemid-323 .vm-category-subcategories .vm-subcategory > a:focus::before {
  border-color: #f2b632;
  box-shadow: 0 20px 42px rgba(20, 63, 42, 0.18), 0 0 0 6px rgba(143, 210, 127, 0.22);
  transform: translateY(-3px);
}

body.itemid-323 .vm-category-subcategories .vm-subcategory > a:hover .browseCategoryImage,
body.itemid-323 .vm-category-subcategories .vm-subcategory > a:focus .browseCategoryImage {
  transform: translateX(-50%) translateY(-3px) scale(1.1);
}

body.itemid-323 .vm-category-subcategories .vm-subcategory > a:hover .vm-subcategory-title,
body.itemid-323 .vm-category-subcategories .vm-subcategory > a:focus .vm-subcategory-title {
  color: var(--ag-green-700, #116b39);
}

body.itemid-323 .browse-view .virtuemart_search {
  max-width: 760px;
  margin-inline: auto;
}

@media (max-width: 980px) {
  body.itemid-323 .vm-category-subcategories > .row {
    gap: 28px 24px;
  }

  body.itemid-323 .vm-category-subcategories .vm-subcategory {
    max-width: 210px;
    flex-basis: calc((100% - 48px) / 3) !important;
  }
}

@media (max-width: 680px) {
  body.itemid-323 .category-view {
    padding-inline: 12px;
  }

  body.itemid-323 .vm-category-subcategories > .row {
    gap: 24px 12px;
  }

  body.itemid-323 .vm-category-subcategories .vm-subcategory {
    max-width: 168px;
    flex-basis: calc((100% - 12px) / 2) !important;
  }

  body.itemid-323 .vm-category-subcategories .vm-subcategory > a {
    --ag-brand-circle: min(38vw, 136px);
    --ag-brand-ring: 6px;
    --ag-brand-image-inset: 24px;
  }

  body.itemid-323 .vm-category-subcategories .browseCategoryImage {
    clip-path: inset(3px 3px 3px 3px);
  }
}
/* Manufacturers logo containment final */
body.itemid-323 .vm-category-subcategories .vm-subcategory > a {
  --ag-brand-image-size: calc(var(--ag-brand-circle) - var(--ag-brand-ring) - var(--ag-brand-ring) - 8px);
  --ag-brand-image-offset: calc(var(--ag-brand-ring) + 4px);
}

body.itemid-323 .vm-category-subcategories .browseCategoryImage {
  top: var(--ag-brand-image-offset) !important;
  width: var(--ag-brand-image-size) !important;
  height: var(--ag-brand-image-size) !important;
  border-radius: 999px !important;
  object-fit: contain !important;
  clip-path: circle(47% at 50% 50%) !important;
  transform: translateX(-50%) !important;
}

body.itemid-323 .vm-category-subcategories .vm-subcategory > a:hover .browseCategoryImage,
body.itemid-323 .vm-category-subcategories .vm-subcategory > a:focus .browseCategoryImage {
  transform: translateX(-50%) translateY(-3px) !important;
}

@media (max-width: 680px) {
  body.itemid-323 .vm-category-subcategories .vm-subcategory > a {
    --ag-brand-image-size: calc(var(--ag-brand-circle) - var(--ag-brand-ring) - var(--ag-brand-ring) - 6px);
    --ag-brand-image-offset: calc(var(--ag-brand-ring) + 3px);
  }
}
/* Manufacturers logo edge cleanup final */
body.itemid-323 .vm-category-subcategories .browseCategoryImage {
  clip-path: circle(43.5% at 50% 50%) !important;
  transform: translateX(-50%) scale(1.035) !important;
}

body.itemid-323 .vm-category-subcategories .vm-subcategory > a:hover .browseCategoryImage,
body.itemid-323 .vm-category-subcategories .vm-subcategory > a:focus .browseCategoryImage {
  transform: translateX(-50%) translateY(-3px) scale(1.035) !important;
}
/* Informational Joomla article pages */
body.com_content.view-article.itemid-102 .container-component > main,
body.com_content.view-article.itemid-103 .container-component > main,
body.com_content.view-article.itemid-104 .container-component > main,
body.com_content.view-article.itemid-107 .container-component > main,
body.com_content.view-article.itemid-115 .container-component > main,
body.com_content.view-article.itemid-116 .container-component > main {
  width: 100%;
  max-width: 980px;
  margin-inline: auto;
  padding: 0 clamp(16px, 4vw, 28px);
}

body.com_content.view-article.itemid-102 .com-content-article.item-page,
body.com_content.view-article.itemid-103 .com-content-article.item-page,
body.com_content.view-article.itemid-104 .com-content-article.item-page,
body.com_content.view-article.itemid-107 .com-content-article.item-page,
body.com_content.view-article.itemid-115 .com-content-article.item-page,
body.com_content.view-article.itemid-116 .com-content-article.item-page {
  max-width: 880px;
  margin-inline: auto;
}

body.com_content.view-article.itemid-102 .com-content-article .article-info,
body.com_content.view-article.itemid-103 .com-content-article .article-info,
body.com_content.view-article.itemid-104 .com-content-article .article-info,
body.com_content.view-article.itemid-107 .com-content-article .article-info,
body.com_content.view-article.itemid-115 .com-content-article .article-info,
body.com_content.view-article.itemid-116 .com-content-article .article-info {
  display: none !important;
}

body.com_content.view-article.itemid-102 .com-content-article .page-header,
body.com_content.view-article.itemid-103 .com-content-article .page-header,
body.com_content.view-article.itemid-104 .com-content-article .page-header,
body.com_content.view-article.itemid-107 .com-content-article .page-header,
body.com_content.view-article.itemid-115 .com-content-article .page-header,
body.com_content.view-article.itemid-116 .com-content-article .page-header {
  margin: 0 0 clamp(22px, 4vw, 38px);
  text-align: center;
}

body.com_content.view-article.itemid-102 .com-content-article .page-header h1,
body.com_content.view-article.itemid-103 .com-content-article .page-header h1,
body.com_content.view-article.itemid-104 .com-content-article .page-header h1,
body.com_content.view-article.itemid-107 .com-content-article .page-header h1,
body.com_content.view-article.itemid-115 .com-content-article .page-header h1,
body.com_content.view-article.itemid-116 .com-content-article .page-header h1 {
  margin: 0;
  color: var(--ag-green-900);
  font-size: clamp(1.9rem, 3.4vw, 3rem);
  font-weight: 900;
  line-height: 1.1;
}

body.com_content.view-article.itemid-102 .com-content-article__body,
body.com_content.view-article.itemid-103 .com-content-article__body,
body.com_content.view-article.itemid-104 .com-content-article__body,
body.com_content.view-article.itemid-107 .com-content-article__body,
body.com_content.view-article.itemid-115 .com-content-article__body,
body.com_content.view-article.itemid-116 .com-content-article__body {
  color: var(--ag-ink);
  font-size: clamp(1rem, 1.15vw, 1.08rem);
  line-height: 1.78;
}

body.com_content.view-article.itemid-102 .com-content-article__body p,
body.com_content.view-article.itemid-103 .com-content-article__body p,
body.com_content.view-article.itemid-104 .com-content-article__body p,
body.com_content.view-article.itemid-107 .com-content-article__body p,
body.com_content.view-article.itemid-115 .com-content-article__body p,
body.com_content.view-article.itemid-116 .com-content-article__body p {
  margin: 0 0 1.25em;
}



/* Informational article wrapper centering final */
body.com_content.view-article.itemid-102 .site-grid,
body.com_content.view-article.itemid-103 .site-grid,
body.com_content.view-article.itemid-104 .site-grid,
body.com_content.view-article.itemid-107 .site-grid,
body.com_content.view-article.itemid-115 .site-grid,
body.com_content.view-article.itemid-116 .site-grid,
body.com_content.view-article.itemid-102 .grid-child.container-component,
body.com_content.view-article.itemid-103 .grid-child.container-component,
body.com_content.view-article.itemid-104 .grid-child.container-component,
body.com_content.view-article.itemid-107 .grid-child.container-component,
body.com_content.view-article.itemid-115 .grid-child.container-component,
body.com_content.view-article.itemid-116 .grid-child.container-component,
body.com_content.view-article.itemid-102 .container-component,
body.com_content.view-article.itemid-103 .container-component,
body.com_content.view-article.itemid-104 .container-component,
body.com_content.view-article.itemid-107 .container-component,
body.com_content.view-article.itemid-115 .container-component,
body.com_content.view-article.itemid-116 .container-component {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

body.com_content.view-article.itemid-102 .container-component,
body.com_content.view-article.itemid-103 .container-component,
body.com_content.view-article.itemid-104 .container-component,
body.com_content.view-article.itemid-107 .container-component,
body.com_content.view-article.itemid-115 .container-component,
body.com_content.view-article.itemid-116 .container-component {
  padding-inline: 0 !important;
}

body.com_content.view-article.itemid-102 .container-component > main,
body.com_content.view-article.itemid-103 .container-component > main,
body.com_content.view-article.itemid-104 .container-component > main,
body.com_content.view-article.itemid-107 .container-component > main,
body.com_content.view-article.itemid-115 .container-component > main,
body.com_content.view-article.itemid-116 .container-component > main {
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Inner shop account compact spacing final */
body.com_virtuemart .container-component > :first-child,
body.com_virtuemart .container-component > * + *,
body.com_users .container-component > :first-child,
body.com_users .container-component > * + *,
body.com_content.view-article.itemid-102 .container-component > :first-child,
body.com_content.view-article.itemid-102 .container-component > * + *,
body.com_content.view-article.itemid-103 .container-component > :first-child,
body.com_content.view-article.itemid-103 .container-component > * + *,
body.com_content.view-article.itemid-104 .container-component > :first-child,
body.com_content.view-article.itemid-104 .container-component > * + *,
body.com_content.view-article.itemid-107 .container-component > :first-child,
body.com_content.view-article.itemid-107 .container-component > * + *,
body.com_content.view-article.itemid-115 .container-component > :first-child,
body.com_content.view-article.itemid-115 .container-component > * + *,
body.com_content.view-article.itemid-116 .container-component > :first-child,
body.com_content.view-article.itemid-116 .container-component > * + * {
  margin-top: 0 !important;
}

body.com_virtuemart .container-component > main,
body.com_users .container-component > main {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.com_virtuemart .category-view,
body.com_virtuemart .productdetails-view,
body.com_virtuemart #cart-view,
body.com_users .com-users-login,
body.com_users .com-users-profile,
body.com_users .com-users-registration,
body.com_users .com-users-remind,
body.com_users .com-users-reset {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

body.com_virtuemart.view-category .category-view,
body.com_virtuemart.view-productdetails .productdetails-view,
body.com_virtuemart.view-cart #cart-view,
body.com_users .com-users-login,
body.com_users .com-users-profile,
body.com_users .com-users-registration {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.itemid-323 .category-view {
  padding: 0 clamp(16px, 4vw, 28px) !important;
}

@media (max-width: 680px) {
  body.itemid-323 .category-view {
    padding-inline: 12px !important;
  }

  body.com_virtuemart .category-view,
  body.com_virtuemart .productdetails-view,
  body.com_virtuemart #cart-view,
  body.com_users .com-users-login,
  body.com_users .com-users-profile,
  body.com_users .com-users-registration,
  body.com_users .com-users-remind,
  body.com_users .com-users-reset {
    margin-bottom: 18px !important;
  }
}
/* Watch24-style mobile header and offcanvas final */
.ag-mobile-menu-toggle {
  display: none;
  position: relative;
  width: 56px;
  height: 56px;
  border: 1px solid #dbe5d9;
  border-radius: 10px;
  background: #ffffff;
  color: #111111;
  box-shadow: 0 8px 18px rgba(31, 42, 36, 0.06);
  cursor: pointer;
}

.ag-mobile-menu-toggle span {
  position: absolute;
  left: 14px;
  right: 14px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.ag-mobile-menu-toggle span:nth-child(1) { top: 17px; }
.ag-mobile-menu-toggle span:nth-child(2) { top: 26px; }
.ag-mobile-menu-toggle span:nth-child(3) { top: 35px; }

body.ag-menu-open .ag-mobile-menu-toggle span:nth-child(1) {
  transform: translateY(9px) rotate(45deg);
}

body.ag-menu-open .ag-mobile-menu-toggle span:nth-child(2) {
  opacity: 0;
}

body.ag-menu-open .ag-mobile-menu-toggle span:nth-child(3) {
  transform: translateY(-9px) rotate(-45deg);
}

.ag-page-scrim {
  position: fixed;
  inset: 0;
  z-index: 1190;
  visibility: hidden;
  background: rgba(0, 0, 0, 0.48);
  opacity: 0;
  transition: opacity 0.22s ease, visibility 0.22s ease;
}

.ag-page-scrim.is-visible {
  visibility: visible;
  opacity: 1;
}

body.ag-offcanvas-open {
  overflow: hidden;
}

.ag-menu-offcanvas,
.ag-cart-offcanvas {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: 1200;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  color: #111111;
  visibility: hidden;
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.22);
  transition: transform 0.26s ease, visibility 0.26s ease;
  will-change: transform;
}

.ag-menu-offcanvas {
  left: 0;
  width: min(560px, 88vw);
  transform: translateX(-104%);
}

.ag-cart-offcanvas {
  right: 0;
  width: min(620px, calc(100vw - 58px));
  transform: translateX(104%);
}

.ag-menu-offcanvas.is-open,
.ag-cart-offcanvas.is-open {
  visibility: visible;
  transform: translateX(0);
}

.ag-menu-offcanvas__head,
.ag-cart-offcanvas__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 104px;
  padding: 20px 26px;
  border-bottom: 1px solid #edf1ec;
}

.ag-menu-offcanvas__logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.ag-menu-offcanvas__logo .ag-logo-img {
  width: min(250px, 58vw);
  max-height: 82px;
  object-fit: contain;
}

.ag-offcanvas-close {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #111111;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  transition: color 0.18s ease, transform 0.18s ease;
}

.ag-offcanvas-close:hover,
.ag-offcanvas-close:focus-visible {
  color: var(--ag-green-700);
  transform: scale(1.04);
}

.ag-menu-offcanvas__nav {
  flex: 1 1 auto;
  overflow-y: auto;
}

.ag-menu-offcanvas__nav ul,
.ag-menu-offcanvas__nav .mod-menu {
  display: grid !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ag-menu-offcanvas__nav li {
  margin: 0 !important;
  border-bottom: 1px solid #edf1ec;
}

.ag-menu-offcanvas__nav a,
.ag-menu-offcanvas__nav .nav-header,
.ag-menu-offcanvas__nav .separator {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  min-height: 70px;
  padding: 18px 26px !important;
  color: #333333 !important;
  background: #ffffff !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: 1.12rem;
  font-weight: 900;
  line-height: 1.2;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0;
}

.ag-menu-offcanvas__nav a:hover,
.ag-menu-offcanvas__nav a:focus-visible,
.ag-menu-offcanvas__nav .active > a,
.ag-menu-offcanvas__nav .current > a {
  color: var(--ag-green-900) !important;
  background: #f6fbf4 !important;
}

.ag-menu-offcanvas__nav li ul {
  display: grid !important;
  position: static !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.ag-menu-offcanvas__nav li ul a {
  min-height: 52px;
  padding-left: 42px !important;
  color: #555555 !important;
  font-size: 0.98rem;
  font-weight: 780;
  text-transform: none;
}

.ag-menu-offcanvas__bottom {
  padding: 18px 24px 22px;
  border-top: 1px solid #edf1ec;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%);
}

.ag-menu-offcanvas__phone {
  display: grid;
  justify-items: center;
  gap: 3px;
  min-height: 82px;
  padding: 13px 16px;
  border-radius: 8px;
  background: #1fa84f;
  color: #ffffff !important;
  text-align: center;
  text-decoration: none !important;
  box-shadow: 0 14px 30px rgba(31, 168, 79, 0.28);
}

.ag-menu-offcanvas__phone span {
  font-size: 0.88rem;
  font-weight: 850;
  text-transform: uppercase;
}

.ag-menu-offcanvas__phone strong {
  font-size: clamp(1.35rem, 5vw, 2rem);
  font-weight: 950;
  line-height: 1;
}

.ag-cart-offcanvas__head {
  min-height: 102px;
}

.ag-cart-offcanvas__title {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #111111;
  font-size: clamp(1.55rem, 4vw, 2rem);
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}

.ag-cart-offcanvas__title i {
  color: #1fa84f;
  font-size: 1.65rem;
}

.ag-cart-offcanvas__body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 26px;
}

.ag-cart-offcanvas__empty {
  margin: 0;
  color: #5d665f;
  font-size: 1rem;
  line-height: 1.5;
}

.ag-cart-offcanvas__products {
  display: grid;
  gap: 16px;
}

.ag-cart-offcanvas__products .product_row,
.ag-cart-offcanvas__products .vmcontainer {
  display: grid;
  gap: 8px;
  padding-bottom: 16px;
  border-bottom: 1px solid #edf1ec;
  color: #111111;
  font-weight: 800;
}

.ag-cart-offcanvas__footer {
  display: grid;
  gap: 18px;
  padding: 24px 26px 28px;
  border-top: 1px solid #edf1ec;
  background: #ffffff;
}

.ag-cart-offcanvas__total {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  color: #111111;
  font-size: 1.15rem;
}

.ag-cart-offcanvas__total strong {
  font-size: clamp(1.55rem, 4vw, 2rem);
  font-weight: 950;
  line-height: 1;
  text-align: right;
}

.ag-cart-offcanvas__checkout,
.ag-cart-offcanvas__continue {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 66px;
  width: 100%;
  border-radius: 8px;
  font-size: 1.05rem;
  font-weight: 950;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  cursor: pointer;
}

.ag-cart-offcanvas__checkout {
  border: 1px solid #1fa84f;
  background: #1fa84f;
  color: #ffffff !important;
}

.ag-cart-offcanvas__continue {
  border: 1px solid #d3d8d2;
  background: #ffffff;
  color: #111111;
}

.ag-cart-offcanvas__checkout:hover,
.ag-cart-offcanvas__checkout:focus-visible {
  background: var(--ag-green-900);
  border-color: var(--ag-green-900);
}

.ag-cart-offcanvas__continue:hover,
.ag-cart-offcanvas__continue:focus-visible {
  border-color: #a9b7a8;
  color: var(--ag-green-900);
}

.ag-header-actions .vmCartModule .ag-cart-count {
  position: absolute;
  top: -7px;
  right: -7px;
  z-index: 3;
  display: none;
  min-width: 24px;
  height: 24px;
  padding: 0 6px;
  border-radius: 999px;
  background: #df1235;
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 950;
  line-height: 24px;
  text-align: center;
  box-shadow: 0 6px 14px rgba(223, 18, 53, 0.28);
}

.ag-header-actions .vmCartModule .ag-cart-count.is-visible {
  display: block !important;
}

@media (min-width: 981px) {
  .ag-page-scrim,
  .ag-menu-offcanvas {
    display: none;
  }
}

@media (max-width: 980px) {
  .container-header {
    position: sticky;
    top: 0;
    z-index: 1100;
    transition: transform 0.24s ease, box-shadow 0.24s ease;
    will-change: transform;
  }

  body.ag-header-hidden .container-header {
    transform: translateY(calc(-100% - 8px));
  }

  body.ag-offcanvas-open .container-header {
    transform: translateY(0) !important;
  }

  .ag-top-strip {
    display: none !important;
  }

  .ag-header-main {
    display: grid !important;
    grid-template-columns: 66px minmax(0, 1fr) auto;
    grid-template-areas:
      "menu brand actions"
      "search search search";
    align-items: center;
    gap: 14px 12px;
    padding: 16px 16px 18px !important;
    background: #ffffff;
  }

  .ag-mobile-menu-toggle {
    grid-area: menu;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .ag-brand {
    grid-area: brand;
    justify-self: start !important;
    min-width: 0;
  }

  .ag-brand .brand-logo {
    justify-content: flex-start !important;
    min-height: 0;
  }

  .ag-logo-img {
    width: min(220px, 48vw) !important;
    max-height: 70px;
    object-fit: contain;
  }

  .ag-header-actions {
    grid-area: actions;
    display: flex !important;
    justify-self: end !important;
    justify-content: flex-end !important;
    gap: 10px;
    min-width: 0 !important;
    order: initial !important;
  }

  .ag-header-actions > div,
  .ag-header-actions .custom,
  .ag-header-actions .vmCartModule {
    flex: 0 0 auto !important;
  }

  .ag-header-actions .custom,
  .ag-header-actions .vmCartModule {
    width: 44px;
    height: 44px;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .ag-header-icon,
  .ag-header-actions .vmCartModule::before {
    color: #101510 !important;
    font-size: 1.85rem !important;
  }

  .ag-header-search {
    grid-area: search;
    justify-self: stretch !important;
    max-width: none !important;
    order: initial !important;
  }

  .ag-header-search .search-input-container {
    border-radius: 9px;
    box-shadow: none !important;
  }

  .ag-header-search .vmajaxlivesearch-box {
    min-height: 68px !important;
    border-radius: 9px !important;
    border-color: #d7dcd5 !important;
    color: #111111 !important;
    font-size: 1.28rem !important;
    font-weight: 650 !important;
    padding: 0 46px 0 24px !important;
  }

  .ag-header-search .vmajaxlivesearch-box::placeholder {
    color: #cfcfcf;
  }

  .ag-header-search .search-results {
    top: calc(100% + 8px) !important;
    border-radius: 9px !important;
  }

  .ag-nav-wrap,
  .ag-nav-mobile {
    display: none !important;
  }

  .ag-menu-offcanvas {
    width: min(552px, 86vw);
  }

  .ag-cart-offcanvas {
    width: min(630px, calc(100vw - 58px));
  }
}

@media (max-width: 520px) {
  .ag-header-main {
    grid-template-columns: 66px minmax(0, 1fr) auto;
    padding-inline: 14px !important;
  }

  .ag-header-actions {
    gap: 6px;
  }

  .ag-header-actions .custom,
  .ag-header-actions .vmCartModule {
    width: 40px;
    height: 40px;
  }

  .ag-header-icon,
  .ag-header-actions .vmCartModule::before {
    font-size: 1.62rem !important;
  }

  .ag-logo-img {
    width: min(205px, 44vw) !important;
  }

  .ag-menu-offcanvas__head,
  .ag-cart-offcanvas__head {
    min-height: 96px;
    padding: 18px 24px;
  }

  .ag-menu-offcanvas__nav a,
  .ag-menu-offcanvas__nav .nav-header,
  .ag-menu-offcanvas__nav .separator {
    min-height: 62px;
    padding-inline: 24px !important;
    font-size: 1.02rem;
  }

  .ag-cart-offcanvas__body,
  .ag-cart-offcanvas__footer {
    padding-inline: 24px;
  }
}
/* Mobile menu accordion, compact header, product and cart polish - 2026-07-06 */
.ag-menu-offcanvas__nav .ag-has-submenu {
  position: relative;
}

.ag-menu-offcanvas__nav .ag-has-submenu > a,
.ag-menu-offcanvas__nav .ag-has-submenu > .nav-header,
.ag-menu-offcanvas__nav .ag-has-submenu > .separator {
  padding-right: 78px !important;
}

.ag-menu-subtoggle {
  position: absolute;
  top: 10px;
  right: 18px;
  z-index: 2;
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(34, 114, 65, 0.2);
  border-radius: 50%;
  background: #f4fbf2;
  color: var(--ag-green-900);
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.ag-menu-subtoggle:hover,
.ag-menu-subtoggle:focus-visible {
  background: #e9f7e6;
  border-color: rgba(242, 182, 50, 0.85);
  transform: translateY(-1px);
}

.ag-menu-subtoggle span,
.ag-menu-subtoggle span::before {
  display: block;
  width: 14px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
}

.ag-menu-subtoggle span::before {
  transform: rotate(90deg);
  transition: transform 0.18s ease;
}

.ag-menu-offcanvas__nav .ag-has-submenu.is-open > .ag-menu-subtoggle span::before {
  transform: rotate(0deg);
}

.ag-menu-offcanvas__nav .ag-submenu-panel {
  display: none !important;
  margin: 0 !important;
  padding: 2px 0 12px !important;
  background: #f7fbf4 !important;
  border-top: 1px solid rgba(34, 114, 65, 0.08) !important;
}

.ag-menu-offcanvas__nav .ag-has-submenu.is-open > .ag-submenu-panel {
  display: block !important;
}

.ag-menu-offcanvas__nav .ag-submenu-panel a,
.ag-menu-offcanvas__nav .ag-submenu-panel .nav-header,
.ag-menu-offcanvas__nav .ag-submenu-panel .separator {
  min-height: 48px !important;
  padding: 12px 28px 12px 42px !important;
  color: #274434 !important;
  font-size: 0.96rem !important;
  font-weight: 760 !important;
}

.ag-cart-offcanvas__products .product_row,
.ag-cart-offcanvas__products .vmcontainer,
.ag-cart-offcanvas__products li {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #eef2eb;
}

.ag-cart-offcanvas__products img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  border: 1px solid #edf2ea;
  border-radius: 8px;
  background: #fff;
}

.ag-cart-offcanvas__products a {
  color: #111711;
  font-weight: 850;
  text-decoration: none;
}

@media (max-width: 980px) {
  .ag-header-main {
    grid-template-columns: 52px minmax(0, 1fr) auto !important;
    gap: 8px 8px !important;
    padding: 9px 12px 11px !important;
  }

  .ag-mobile-menu-toggle {
    width: 50px !important;
    height: 50px !important;
    border-radius: 8px !important;
  }

  .ag-mobile-menu-toggle span:nth-child(1) { top: 15px; }
  .ag-mobile-menu-toggle span:nth-child(2) { top: 24px; }
  .ag-mobile-menu-toggle span:nth-child(3) { top: 33px; }

  .ag-brand {
    margin-left: -2px;
  }

  .ag-logo-img {
    width: min(176px, 43vw) !important;
    max-height: 56px !important;
  }

  .ag-header-actions {
    gap: 4px !important;
  }

  .ag-header-actions .custom,
  .ag-header-actions .vmCartModule {
    width: 36px !important;
    height: 36px !important;
  }

  .ag-header-icon,
  .ag-header-actions .vmCartModule::before {
    font-size: 1.42rem !important;
  }

  .ag-header-actions .vmCartModule .ag-cart-count {
    top: -8px;
    right: -8px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    font-size: 0.72rem;
  }

  .ag-header-search .search-input-container,
  .ag-header-search .vmajaxlivesearch,
  .ag-header-search .vmajaxlivesearch-box {
    min-height: 48px !important;
    border-radius: 8px !important;
  }

  .ag-header-search .vmajaxlivesearch-box {
    height: 48px !important;
    font-size: 1rem !important;
    font-weight: 650 !important;
    padding: 0 38px 0 18px !important;
  }

  .ag-header-search .vmajaxlivesearch-box::placeholder {
    color: #c5cbc4 !important;
  }

  .ag-menu-offcanvas__head,
  .ag-cart-offcanvas__head {
    min-height: 82px !important;
    padding: 16px 22px !important;
  }

  .ag-menu-offcanvas__logo .ag-logo-img {
    width: min(210px, 58vw) !important;
    max-height: 62px !important;
  }

  .ag-menu-offcanvas__nav a,
  .ag-menu-offcanvas__nav .nav-header,
  .ag-menu-offcanvas__nav .separator {
    min-height: 62px !important;
    padding-block: 18px !important;
  }
}

@media (max-width: 520px) {
  .ag-header-main {
    grid-template-columns: 50px minmax(0, 1fr) auto !important;
    padding-inline: 10px !important;
  }

  .ag-logo-img {
    width: min(162px, 41vw) !important;
  }

  .ag-header-actions .custom,
  .ag-header-actions .vmCartModule {
    width: 34px !important;
    height: 34px !important;
  }

  .ag-header-search .vmajaxlivesearch-box {
    height: 46px !important;
    min-height: 46px !important;
  }
}

body.view-productdetails .productdetails-view {
  max-width: 1280px;
  margin: 0 auto 44px !important;
  padding: 0 clamp(12px, 2vw, 18px);
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.view-productdetails .productdetails-view > .row {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
  gap: clamp(18px, 3vw, 36px);
  align-items: start;
  margin: 0 !important;
}

body.view-productdetails .productdetails-view > .row > .vm-product-media-container,
body.view-productdetails .productdetails-view > .row > .vm-product-details-container {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
}

body.view-productdetails .vm-product-media-container,
body.view-productdetails .vm-product-details-container,
body.view-productdetails .product-description {
  border: 1px solid #e2eadf !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(31, 42, 36, 0.07) !important;
}

body.view-productdetails .vm-product-media-container {
  top: 118px;
  padding: clamp(12px, 2.2vw, 22px) !important;
}

body.view-productdetails .main-image {
  min-height: clamp(310px, 43vw, 560px) !important;
  padding: clamp(10px, 2vw, 22px);
  border: 1px solid #edf3ea;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdf9 100%);
}

body.view-productdetails .main-image a {
  display: grid;
  place-items: center;
  width: 100%;
  height: clamp(310px, 43vw, 560px);
  min-height: 0;
}

body.view-productdetails .main-image img {
  width: 100% !important;
  height: clamp(280px, 40vw, 510px) !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.view-productdetails .vm-btn-expand {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid #dbe8d8;
  border-radius: 50%;
  background: #fff;
  color: var(--ag-green-900);
  box-shadow: 0 8px 20px rgba(20, 63, 42, 0.1);
}

body.view-productdetails .additional-images {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(70px, 88px));
  gap: 10px !important;
  justify-content: center;
  margin: 14px 0 0 !important;
}

body.view-productdetails .additional-images > [class*="col"] {
  width: 88px !important;
  max-width: 88px !important;
  min-width: 0 !important;
  padding: 0 !important;
}

body.view-productdetails .additional-images img.product-image,
body.view-productdetails .additional-images .img-thumbnail {
  display: block;
  width: 100% !important;
  aspect-ratio: 1 / 1;
  height: auto !important;
  padding: 8px !important;
  object-fit: contain;
  border: 1px solid #dfe9dc !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

body.view-productdetails .additional-images .ag-gallery-thumb.is-active img,
body.view-productdetails .additional-images img.product-image.is-active,
body.view-productdetails .additional-images img.product-image:hover {
  border-color: var(--ag-amber-500) !important;
  box-shadow: 0 0 0 3px rgba(242, 182, 50, 0.17) !important;
  transform: translateY(-1px);
}

body.view-productdetails .vm-product-details-container {
  padding: clamp(18px, 2.4vw, 30px) !important;
}

body.view-productdetails .product-neighbours {
  position: absolute;
  top: 16px;
  right: 16px;
}

body.view-productdetails .vm-page-title {
  margin: 0 0 14px !important;
  padding: 0 70px 14px 0 !important;
  color: var(--ag-green-900) !important;
  border-bottom: 1px solid #e7eee4 !important;
  font-size: clamp(1.55rem, 1.05rem + 1.7vw, 2.55rem) !important;
  line-height: 1.08;
}

body.view-productdetails .product-short-description {
  margin-bottom: 18px !important;
  color: #526159 !important;
  font-size: 1.02rem;
  line-height: 1.6;
}

body.view-productdetails .product-price,
body.view-productdetails .PricesalesPrice {
  color: var(--ag-green-900) !important;
  font-size: clamp(1.52rem, 1.16rem + 1.3vw, 2.15rem) !important;
  font-weight: 920 !important;
}

body.view-productdetails .product-fields,
body.view-productdetails .vm-customfields-wrap,
body.view-productdetails .cf-position-normal {
  gap: 8px !important;
}

body.view-productdetails .product-field,
body.view-productdetails .product-fields .product-field,
body.view-productdetails .cf-position-normal li {
  border: 1px solid #e2eadf !important;
  border-radius: 8px !important;
  background: #fbfdf9 !important;
}

body.view-productdetails .addtocart-area {
  margin-top: 20px !important;
  padding: 14px !important;
  border: 1px solid #d8e8d3 !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, #f4fbf1 0%, #ffffff 100%) !important;
}

body.view-productdetails .addtocart-bar {
  display: grid !important;
  grid-template-columns: minmax(116px, auto) 1fr;
  gap: 12px !important;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.view-productdetails .quantity-box,
body.view-productdetails .quantity-controls,
body.view-productdetails .addtocart-bar .input-group {
  min-height: 50px;
  border: 1px solid #d8e2d4;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

body.view-productdetails .addtocart-button,
body.view-productdetails input.addtocart-button {
  width: 100%;
  min-height: 52px;
  border-radius: 8px !important;
  font-size: 1.02rem;
}

body.view-productdetails .product-description {
  margin-top: 24px;
  padding: clamp(18px, 2.4vw, 28px);
}

body.view-productdetails .product-description .vm-section-title {
  color: var(--ag-green-900);
  font-size: clamp(1.25rem, 1rem + 0.8vw, 1.65rem);
}

body.view-cart .vm-cart-header-container {
  max-width: 1280px;
  margin: 0 auto 14px;
  padding: 0 clamp(12px, 2vw, 18px);
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.view-cart .vm-cart-header .vm-page-title {
  margin: 0 !important;
  color: var(--ag-green-900);
  text-align: left !important;
  font-size: clamp(1.55rem, 1.1rem + 1.5vw, 2.3rem);
}

body.view-cart #cart-view {
  max-width: 1280px;
  margin: 0 auto 44px !important;
  padding: 0 clamp(12px, 2vw, 18px) !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.view-cart #checkoutForm {
  display: grid !important;
  grid-template-columns: minmax(0, 1.06fr) minmax(350px, 0.94fr);
  gap: clamp(16px, 3vw, 34px) !important;
  margin: 0 !important;
}

body.view-cart #checkoutForm > .col-12,
body.view-cart #checkoutForm > [class*="col-"] {
  width: 100% !important;
  max-width: none !important;
}

body.view-cart #checkoutForm > .border-end,
body.view-cart #checkoutForm > .sticky-top {
  padding: clamp(16px, 2.2vw, 24px) !important;
  border: 1px solid #e2eadf !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(31, 42, 36, 0.07) !important;
}

body.view-cart #checkoutForm > .border-end {
  border-right: 1px solid #e2eadf !important;
}

body.view-cart #checkoutForm > .sticky-top {
  top: 112px !important;
}

body.view-cart #checkoutForm h2,
body.view-cart #checkoutForm .h5 {
  color: var(--ag-green-900) !important;
  font-weight: 880 !important;
}

body.view-cart .vm-fieldset-pricelist {
  margin: 0;
  padding: 0;
  border: 0 !important;
}

body.view-cart .vm-checkout-products > .row {
  margin: 0 0 14px !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid #eef2eb;
}

body.view-cart .cart-images img,
body.view-cart .cart-images .img-thumbnail {
  width: 72px !important;
  height: 72px !important;
  padding: 7px !important;
  object-fit: contain;
  border: 1px solid #e1eadf !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.view-cart .vm-cart-item-name a {
  color: #111711;
  font-weight: 860;
  line-height: 1.22;
  text-decoration: none;
}

body.view-cart .vm-cart-item-sku,
body.view-cart .vm-cart-item-cfields {
  color: #6b756e;
}

body.view-cart .vm-cart-item-quantity .input-group {
  display: inline-grid !important;
  grid-template-columns: 34px 46px 34px;
  width: auto;
  min-height: 38px;
  overflow: hidden;
  border: 1px solid #dce6d8;
  border-radius: 8px;
  background: #fff;
}

body.view-cart .vm-cart-item-quantity .btn,
body.view-cart .vm-cart-item-quantity .quantity-input {
  min-height: 38px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.view-cart .vm-cart-item-basicprice {
  color: var(--ag-green-900);
  font-size: 1.05rem;
  font-weight: 900;
}

body.view-cart .vm2-remove_from_cart {
  border: 0;
  background: transparent;
  color: #7a837d;
  font-weight: 760;
}

body.view-cart .vm2-remove_from_cart:hover {
  color: #b22626;
}

body.view-cart .vm-checkout-subtotals {
  margin-bottom: 18px !important;
  padding: 16px !important;
  border: 1px solid #e2eadf;
  border-radius: 8px;
  background: #f8fbf5 !important;
}

body.view-cart .checkout-button-top .vm-button-correct,
body.view-cart .checkout-button-top .btn-primary {
  min-height: 58px;
  border-radius: 8px !important;
  font-size: 1.05rem;
  text-transform: uppercase;
}

@media (max-width: 991.98px) {
  body.view-productdetails .productdetails-view {
    padding: 0 10px;
  }

  body.view-productdetails .productdetails-view > .row,
  body.view-cart #checkoutForm {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.view-productdetails .vm-product-media-container,
  body.view-productdetails .vm-product-details-container,
  body.view-productdetails .product-description,
  body.view-cart #checkoutForm > .border-end,
  body.view-cart #checkoutForm > .sticky-top {
    margin-inline: 0 !important;
    border-radius: 8px !important;
  }

  body.view-productdetails .vm-product-media-container {
    position: static !important;
  }

  body.view-productdetails .main-image {
    min-height: 280px !important;
  }

  body.view-productdetails .main-image a {
    height: 280px;
  }

  body.view-productdetails .main-image img {
    height: 260px !important;
  }

  body.view-productdetails .additional-images {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body.view-productdetails .addtocart-bar {
    grid-template-columns: 1fr !important;
  }

  body.view-cart .vm-cart-header-container,
  body.view-cart #cart-view {
    padding-inline: 10px !important;
  }

  body.view-cart #checkoutForm > .sticky-top {
    position: static !important;
  }
}
/* Mobile menu pre-JS submenu guard */
.ag-menu-offcanvas__nav li > ul,
.ag-menu-offcanvas__nav li > .mod-menu__sub,
.ag-menu-offcanvas__nav li > .metismenu-submenu {
  display: none !important;
}

.ag-menu-offcanvas__nav .ag-has-submenu.is-open > ul,
.ag-menu-offcanvas__nav .ag-has-submenu.is-open > .mod-menu__sub,
.ag-menu-offcanvas__nav .ag-has-submenu.is-open > .metismenu-submenu {
  display: block !important;
}
/* Category/product centering, compact menu and manufacturer badge fixes - 2026-07-06 */
body.com_virtuemart.view-category .site-grid,
body.com_virtuemart.view-productdetails .site-grid,
body.com_virtuemart.view-cart .site-grid {
  grid-template-columns: [full-start] minmax(0, 1fr) [full-end] !important;
}

body.com_virtuemart.view-category .container-component,
body.com_virtuemart.view-productdetails .container-component,
body.com_virtuemart.view-cart .container-component,
body.com_virtuemart.view-category .container-component > main,
body.com_virtuemart.view-productdetails .container-component > main,
body.com_virtuemart.view-cart .container-component > main {
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
}

body.view-category .category-view,
body.view-category .browse-view {
  width: 100%;
  max-width: 1280px;
  margin-inline: auto !important;
}

body.view-category .browse-view {
  padding: clamp(12px, 2vw, 20px) !important;
}

body.view-category .vm-product-grid {
  width: min(100%, 1120px) !important;
  max-width: 1120px !important;
  margin: 22px auto 44px !important;
  padding: 0 !important;
}

body.view-category .vm-product-grid > .row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(14px, 2.3vw, 28px) !important;
  justify-content: center;
  align-items: stretch;
  margin: 0 !important;
}

body.view-category .vm-product-grid .product {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.view-category .vm-product-grid .product-container {
  border-radius: 8px !important;
  overflow: hidden;
}

body.view-category .vm-product-grid .vm-product-media-container {
  min-height: 220px !important;
  padding: 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #edf2ea !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.view-category .vm-product-grid .browseProductImage {
  max-height: 210px;
  object-fit: contain;
}

body.view-category .vm-product-grid .vm-product-title {
  padding-inline: 14px;
  font-size: clamp(0.96rem, 0.9rem + 0.25vw, 1.08rem);
  line-height: 1.24;
}

body.view-category .vm-product-grid .addtocart-area {
  margin: 12px 14px 14px !important;
  padding: 10px !important;
}

.ag-product-manufacturers {
  display: grid;
  gap: 8px;
  margin: 0 0 16px;
  padding: 10px 0 14px;
  border-bottom: 1px solid #e7eee4;
}

.ag-product-manufacturers__label {
  color: #68756c;
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.ag-product-manufacturers__items {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ag-product-manufacturer {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 5px 11px 5px 6px;
  border: 1px solid #dfeadc;
  border-radius: 999px;
  background: #fff;
  color: var(--ag-green-900);
  font-weight: 850;
  text-decoration: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.ag-product-manufacturer:hover,
.ag-product-manufacturer:focus-visible {
  color: var(--ag-green-900);
  border-color: var(--ag-amber-500);
  box-shadow: 0 8px 20px rgba(31, 42, 36, 0.09);
  transform: translateY(-1px);
}

.ag-product-manufacturer__logo {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #f7fbf4;
  overflow: hidden;
}

.ag-product-manufacturer__logo img {
  max-width: 26px;
  max-height: 22px;
  object-fit: contain;
  box-shadow: none !important;
}

.ag-product-manufacturer__name {
  line-height: 1.1;
}

@media (max-width: 980px) {
  .ag-menu-offcanvas__nav a,
  .ag-menu-offcanvas__nav .nav-header,
  .ag-menu-offcanvas__nav .separator {
    min-height: 52px !important;
    padding: 14px 22px !important;
    font-size: 0.96rem !important;
    line-height: 1.16 !important;
  }

  .ag-menu-offcanvas__nav .ag-has-submenu > a,
  .ag-menu-offcanvas__nav .ag-has-submenu > .nav-header,
  .ag-menu-offcanvas__nav .ag-has-submenu > .separator {
    padding-right: 66px !important;
  }

  .ag-menu-subtoggle {
    top: 8px;
    right: 14px;
    width: 36px;
    height: 36px;
  }

  .ag-menu-offcanvas__nav .ag-submenu-panel a,
  .ag-menu-offcanvas__nav .ag-submenu-panel .nav-header,
  .ag-menu-offcanvas__nav .ag-submenu-panel .separator {
    min-height: 42px !important;
    padding: 10px 22px 10px 34px !important;
    font-size: 0.9rem !important;
  }

  .ag-menu-offcanvas__bottom {
    padding: 16px 18px 18px;
  }

  .ag-menu-offcanvas__phone {
    min-height: 70px;
    padding: 12px 14px;
  }

  body.view-category .browse-view {
    padding-inline: 10px !important;
  }

  body.view-category .vm-product-grid {
    margin-top: 14px !important;
  }

  body.view-category .vm-product-grid > .row {
    gap: 12px !important;
  }

  body.view-category .vm-product-grid .vm-product-media-container {
    min-height: 168px !important;
    padding: 10px !important;
  }

  body.view-category .vm-product-grid .browseProductImage {
    max-height: 154px;
  }

  body.view-category .vm-product-grid .vm-product-rating-container,
  body.view-category .vm-product-grid .vm-product-s-desc {
    display: none !important;
  }

  body.view-category .vm-product-grid .product-price {
    padding-inline: 10px;
    text-align: center;
  }

  body.view-category .vm-product-grid .addtocart-area {
    margin: 10px !important;
    padding: 8px !important;
  }
}

@media (max-width: 480px) {
  body.view-category .vm-product-grid > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
  }

  body.view-category .vm-product-grid .vm-product-title {
    padding-inline: 8px;
    font-size: 0.88rem;
  }

  body.view-category .vm-product-grid .vm-product-media-container {
    min-height: 136px !important;
  }

  body.view-category .vm-product-grid .browseProductImage {
    max-height: 124px;
  }

  body.view-category .vm-product-grid .addtocart-bar .row {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 7px;
  }

  body.view-category .vm-product-grid .addtocart-button {
    min-height: 42px !important;
    font-size: 0.9rem;
  }
}
/* Inner pages top breathing room - 2026-07-06 */
body.com_content:not(.view-featured) .container-component,
body.com_virtuemart .container-component,
body.com_users .container-component,
body.itemid-323 .container-component {
  margin-top: 10px !important;
}

body.com_virtuemart.view-category .category-view,
body.com_virtuemart.view-productdetails .productdetails-view,
body.com_virtuemart.view-cart #cart-view,
body.itemid-323 .com-content-article,
body.itemid-102 .com-content-article,
body.itemid-103 .com-content-article,
body.itemid-104 .com-content-article,
body.itemid-107 .com-content-article,
body.itemid-115 .com-content-article,
body.itemid-116 .com-content-article {
  margin-top: 10px !important;
}
/* VirtueMart desktop shell centering fix - 2026-07-06 */
@media (min-width: 992px) {
  body.com_virtuemart.view-category .site-grid,
  body.com_virtuemart.view-productdetails .site-grid {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.com_virtuemart.view-category .grid-child.container-component,
  body.com_virtuemart.view-productdetails .grid-child.container-component,
  body.com_virtuemart.view-category .container-component,
  body.com_virtuemart.view-productdetails .container-component {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.com_virtuemart.view-category .container-component > main,
  body.com_virtuemart.view-productdetails .container-component > main {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.com_virtuemart.view-category .category-view,
  body.com_virtuemart.view-category .browse-view,
  body.com_virtuemart.view-productdetails .productdetails-view {
    width: min(100% - 32px, 1280px) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.com_virtuemart.view-category .vm-product-grid {
    width: min(100%, 1120px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.com_virtuemart.view-productdetails .productdetails-view > .row > .offset-lg-1,
  body.com_virtuemart.view-productdetails .vm-product-details-container.offset-lg-1 {
    margin-left: 0 !important;
  }

  body.com_virtuemart.view-productdetails .productdetails-view > .row {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.92fr) !important;
    justify-content: center !important;
  }
}
/* Category cards cleanup - 2026-07-06 */
body.view-category .virtuemart_search,
body.view-category .vm-pagination-top,
body.view-category .vm-product-grid .vm-product-rating-container,
body.view-category .vm-product-grid .vm-product-s-desc,
body.view-category .vm-product-grid .vm-stock-handle,
body.view-category .vm-product-grid .addtocart-area {
  display: none !important;
}

body.view-category .browse-view {
  width: min(100%, 1320px) !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
  padding-inline: clamp(10px, 2vw, 18px) !important;
}

body.view-category .orderby-displaynumber {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  margin-inline: auto !important;
  border-color: #dbe8da !important;
  border-radius: 8px;
  padding-inline: clamp(12px, 1.8vw, 20px) !important;
}

body.view-category .vm-product-grid,
body.view-category .vm-product-grid.container {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  margin: 18px auto 36px !important;
  padding: 0 !important;
}

body.view-category .vm-product-grid > .row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(14px, 1.7vw, 22px) !important;
  margin: 0 !important;
}

body.view-category .vm-product-grid .product {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.view-category .vm-product-grid .product-container {
  border: 1px solid #dce9da !important;
  border-radius: 8px !important;
  background: #fff !important;
  overflow: hidden;
  box-shadow: 0 12px 26px rgba(13, 59, 33, 0.055);
}

body.view-category .vm-product-grid .vm-product-media-container {
  min-height: 178px !important;
  padding: 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #eef4ed !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.view-category .vm-product-grid .browseProductImage {
  width: 100%;
  max-height: 160px !important;
  object-fit: contain;
}

body.view-category .vm-product-grid .vm-product-title {
  margin-top: 12px !important;
  padding-inline: 14px !important;
  color: var(--ag-green-900) !important;
  font-size: clamp(0.92rem, 0.86rem + 0.18vw, 1rem) !important;
  line-height: 1.24 !important;
  text-align: left !important;
}

body.view-category .vm-product-grid .vm-product-title a {
  display: inline;
  color: inherit !important;
  text-align: left !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

body.view-category .vm-product-grid .product-price {
  margin-top: auto !important;
  padding: 6px 14px 16px !important;
  color: var(--ag-green-900) !important;
  text-align: left !important;
}

.product-price .ag-price-main,
.product-price .ag-price-main .PricesalesPrice {
  display: block;
  color: var(--ag-green-900) !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}

.product-price .ag-price-main .vm-price-desc,
.product-price .ag-price-main span.vm-price-desc {
  display: none !important;
}

.product-price .ag-price-bgn {
  margin-top: 3px;
  color: #68766c;
  font-size: 0.84em;
  font-weight: 800;
  line-height: 1.2;
}

body.view-category .ag-category-pagination {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  margin-inline: auto !important;
  padding: 12px 14px !important;
  border: 1px solid #dce9da;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(13, 59, 33, 0.045);
}

body.view-category .ag-category-pagination__counter {
  flex: 0 0 auto;
  color: #53635a;
  font-size: 0.9rem;
  font-weight: 750;
  white-space: nowrap;
}

body.view-category .ag-category-pagination__links nav,
body.view-category .ag-category-pagination .pagination {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin: 0 !important;
}

body.view-category .ag-category-pagination .page-item,
body.view-category .ag-category-pagination li {
  margin: 0 !important;
}

body.view-category .ag-category-pagination__links .page-link,
body.view-category .ag-category-pagination__links .pagenav,
body.view-category .ag-category-pagination__links a,
body.view-category .ag-category-pagination__links span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 34px;
  padding: 5px 9px;
  border: 1px solid #d7e4d5;
  border-radius: 7px;
  color: var(--ag-green-900);
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

body.view-category .ag-category-pagination__links .active .page-link,
body.view-category .ag-category-pagination__links .active span,
body.view-category .ag-category-pagination__links a:hover {
  border-color: var(--ag-amber-500);
  color: var(--ag-green-900);
  background: #fffdf2;
}

body.view-category .ag-category-pagination__links .disabled .page-link,
body.view-category .ag-category-pagination__links .disabled span {
  color: #a5aea8;
  background: #f7faf6;
}

@media (max-width: 991.98px) {
  body.view-category .vm-product-grid > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body.view-category .vm-product-grid .vm-product-media-container {
    min-height: 146px !important;
    padding: 10px !important;
  }

  body.view-category .vm-product-grid .browseProductImage {
    max-height: 128px !important;
  }
}

@media (max-width: 767.98px) {
  body.view-category .orderby-displaynumber {
    padding: 10px !important;
  }

  body.view-category .vm-product-grid,
  body.view-category .vm-product-grid.container {
    margin-top: 12px !important;
  }

  body.view-category .vm-product-grid .vm-product-title {
    padding-inline: 10px !important;
    font-size: 0.86rem !important;
  }

  body.view-category .vm-product-grid .product-price {
    padding: 4px 10px 12px !important;
  }

  body.view-category .ag-category-pagination {
    justify-content: flex-start;
    gap: 8px;
    margin-block: 24px 32px !important;
    padding: 8px !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.view-category .ag-category-pagination__counter {
    font-size: 0.76rem;
  }

  body.view-category .ag-category-pagination__links .page-link,
  body.view-category .ag-category-pagination__links .pagenav,
  body.view-category .ag-category-pagination__links a,
  body.view-category .ag-category-pagination__links span {
    min-width: 28px;
    min-height: 28px;
    padding: 3px 7px;
    font-size: 0.78rem;
  }
}
/* VirtueMart child category links layout - 2026-07-06 */
body.view-category:not(.itemid-323) .vm-category-subcategories {
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  margin: 0 auto clamp(22px, 3vw, 38px) !important;
  padding-inline: clamp(8px, 2vw, 16px);
  overflow: hidden;
}

body.view-category:not(.itemid-323) .vm-category-subcategories > .row {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 300px));
  justify-content: center;
  align-items: start;
  gap: clamp(16px, 2vw, 26px);
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
}

body.view-category:not(.itemid-323) .vm-category-subcategories .vm-subcategory {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
}

body.view-category:not(.itemid-323) .vm-category-subcategories .vm-subcategory > a {
  display: block;
  min-width: 0;
  color: var(--ag-green-900);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

body.view-category:not(.itemid-323) .vm-category-subcategories .browseCategoryImage {
  display: block;
  width: 100% !important;
  max-width: 280px;
  height: auto !important;
  aspect-ratio: 1 / 1;
  margin: 0 auto 12px !important;
  border-radius: 8px;
  object-fit: cover;
}

body.view-category:not(.itemid-323) .vm-category-subcategories .vm-subcategory-title {
  max-width: 100%;
  margin: 0 !important;
  padding-top: 10px !important;
  color: var(--ag-green-900);
  font-size: clamp(1.05rem, 1rem + 0.45vw, 1.45rem);
  line-height: 1.15;
  overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
  body.view-category:not(.itemid-323) .vm-category-subcategories {
    padding-inline: 8px;
    overflow: clip;
  }

  body.view-category:not(.itemid-323) .vm-category-subcategories > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 10px;
  }

  body.view-category:not(.itemid-323) .vm-category-subcategories .browseCategoryImage {
    max-width: 100%;
    margin-bottom: 8px !important;
    border-radius: 7px;
  }

  body.view-category:not(.itemid-323) .vm-category-subcategories .vm-subcategory-title {
    padding-top: 7px !important;
    font-size: 0.92rem;
    line-height: 1.18;
  }
}

@media (max-width: 390px) {
  body.view-category:not(.itemid-323) .vm-category-subcategories > .row {
    gap: 12px 8px;
  }

  body.view-category:not(.itemid-323) .vm-category-subcategories .vm-subcategory-title {
    font-size: 0.84rem;
  }
}
/* VirtueMart child categories circular grid - 2026-07-06 */
body.view-category:not(.itemid-323) .vm-category-subcategories {
  width: min(100%, 1240px) !important;
  max-width: 1240px !important;
  margin: 0 auto clamp(26px, 3.4vw, 46px) !important;
  padding-inline: clamp(8px, 2vw, 16px) !important;
  overflow: visible !important;
}

body.view-category:not(.itemid-323) .vm-category-subcategories > .row {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  justify-content: center !important;
  align-items: start !important;
  gap: clamp(18px, 2.2vw, 34px) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

body.view-category:not(.itemid-323) .vm-category-subcategories .vm-subcategory {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
}

body.view-category:not(.itemid-323) .vm-category-subcategories .vm-subcategory > a {
  --ag-child-circle: clamp(148px, 13vw, 210px);
  --ag-child-ring: 8px;
  display: flex !important;
  min-width: 0 !important;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  color: var(--ag-green-900) !important;
  text-decoration: none !important;
}

body.view-category:not(.itemid-323) .vm-category-subcategories .browseCategoryImage {
  display: block !important;
  width: var(--ag-child-circle) !important;
  height: var(--ag-child-circle) !important;
  max-width: var(--ag-child-circle) !important;
  max-height: var(--ag-child-circle) !important;
  margin: 0 auto 14px !important;
  padding: 0 !important;
  border: var(--ag-child-ring) solid var(--ag-green-700, #116b39) !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 16px 34px rgba(20, 63, 42, 0.12), inset 0 0 0 1px rgba(255, 255, 255, 0.9) !important;
  object-fit: cover !important;
  object-position: center !important;
  aspect-ratio: 1 / 1;
  clip-path: none !important;
  transform: none !important;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

body.view-category:not(.itemid-323) .vm-category-subcategories .vm-subcategory-title {
  position: relative;
  max-width: min(100%, 230px);
  margin: 0 auto !important;
  padding-top: 0 !important;
  border-top: 0 !important;
  color: var(--ag-green-900) !important;
  font-size: clamp(1rem, 0.92rem + 0.45vw, 1.35rem) !important;
  font-weight: 850 !important;
  line-height: 1.18 !important;
  overflow-wrap: anywhere;
}

body.view-category:not(.itemid-323) .vm-category-subcategories .vm-subcategory > a:hover .browseCategoryImage,
body.view-category:not(.itemid-323) .vm-category-subcategories .vm-subcategory > a:focus .browseCategoryImage {
  border-color: var(--ag-amber-500, #f2b632) !important;
  box-shadow: 0 20px 42px rgba(20, 63, 42, 0.18), 0 0 0 6px rgba(143, 210, 127, 0.22) !important;
  transform: translateY(-3px) !important;
}

body.view-category:not(.itemid-323) .vm-category-subcategories .vm-subcategory > a:hover .vm-subcategory-title,
body.view-category:not(.itemid-323) .vm-category-subcategories .vm-subcategory > a:focus .vm-subcategory-title {
  color: var(--ag-green-700, #116b39) !important;
}

@media (max-width: 991.98px) {
  body.view-category:not(.itemid-323) .vm-category-subcategories > .row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px 14px !important;
  }

  body.view-category:not(.itemid-323) .vm-category-subcategories .vm-subcategory > a {
    --ag-child-circle: clamp(128px, 24vw, 176px);
    --ag-child-ring: 7px;
  }
}

@media (max-width: 767.98px) {
  body.view-category:not(.itemid-323) .vm-category-subcategories {
    padding-inline: 8px !important;
    overflow: clip !important;
  }

  body.view-category:not(.itemid-323) .vm-category-subcategories > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 10px !important;
  }

  body.view-category:not(.itemid-323) .vm-category-subcategories .vm-subcategory > a {
    --ag-child-circle: min(39vw, 142px);
    --ag-child-ring: 6px;
  }

  body.view-category:not(.itemid-323) .vm-category-subcategories .browseCategoryImage {
    margin-bottom: 9px !important;
  }

  body.view-category:not(.itemid-323) .vm-category-subcategories .vm-subcategory-title {
    max-width: 150px;
    font-size: 0.88rem !important;
    line-height: 1.16 !important;
  }
}

@media (max-width: 390px) {
  body.view-category:not(.itemid-323) .vm-category-subcategories .vm-subcategory > a {
    --ag-child-circle: min(38vw, 128px);
    --ag-child-ring: 5px;
  }

  body.view-category:not(.itemid-323) .vm-category-subcategories .vm-subcategory-title {
    font-size: 0.82rem !important;
  }
}
/* Mobile category overflow containment - 2026-07-06 */
@media (max-width: 767.98px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  body.com_virtuemart.view-category .site-grid,
  body.com_virtuemart.view-category .grid-child.container-component,
  body.com_virtuemart.view-category .container-component,
  body.com_virtuemart.view-category .container-component > main,
  body.com_virtuemart.view-category .category-view,
  body.com_virtuemart.view-category .browse-view,
  body.com_virtuemart.view-category .orderby-displaynumber,
  body.com_virtuemart.view-category .vm-product-grid,
  body.com_virtuemart.view-category .vm-category-subcategories,
  body.com_virtuemart.view-category .ag-category-pagination {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.com_virtuemart.view-category .grid-child.container-component,
  body.com_virtuemart.view-category .container-component,
  body.com_virtuemart.view-category .container-component > main {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.com_virtuemart.view-category .category-view {
    padding-left: 8px !important;
    padding-right: 8px !important;
    overflow-x: clip;
  }

  body.com_virtuemart.view-category .vm-category-title {
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 4px;
    padding-right: 4px;
  }

  body.com_virtuemart.view-category .vm-category-subcategories {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.com_virtuemart.view-category .vm-category-subcategories > .row,
  body.com_virtuemart.view-category .vm-product-grid > .row,
  body.com_virtuemart.view-category .vm-order-list {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.com_virtuemart.view-category .orderby-displaynumber {
    padding: 10px !important;
    overflow: hidden !important;
  }

  body.com_virtuemart.view-category .vm-order-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.com_virtuemart.view-category .vm-order-list > [class*="col"],
  body.com_virtuemart.view-category .vm-order-list .display-number {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.com_virtuemart.view-category .orderby-displaynumber label,
  body.com_virtuemart.view-category .orderby-displaynumber select,
  body.com_virtuemart.view-category .orderby-displaynumber .form-select,
  body.com_virtuemart.view-category .orderby-displaynumber .inputbox {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.com_virtuemart.view-category .display-number {
    text-align: left !important;
  }

  body.com_virtuemart.view-category .vm-product-grid,
  body.com_virtuemart.view-category .vm-product-grid.container,
  body.com_virtuemart.view-category .browse-view {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.com_virtuemart.view-category .vm-product-grid .product,
  body.com_virtuemart.view-category .vm-product-grid .product-container {
    min-width: 0 !important;
  }
}
/* Mobile VirtueMart shell full-width fix - 2026-07-06 */
@media (max-width: 767.98px) {
  body.com_virtuemart.view-category .site-grid,
  body.com_virtuemart.view-productdetails .site-grid,
  body.com_virtuemart.view-cart .site-grid {
    display: block !important;
    grid-template-columns: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.com_virtuemart.view-category .grid-child.container-component,
  body.com_virtuemart.view-productdetails .grid-child.container-component,
  body.com_virtuemart.view-cart .grid-child.container-component,
  body.com_virtuemart.view-category .container-component,
  body.com_virtuemart.view-productdetails .container-component,
  body.com_virtuemart.view-cart .container-component,
  body.com_virtuemart.view-category .container-component > main,
  body.com_virtuemart.view-productdetails .container-component > main,
  body.com_virtuemart.view-cart .container-component > main {
    display: block !important;
    grid-column: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.com_virtuemart.view-category .category-view,
  body.com_virtuemart.view-category .browse-view,
  body.com_virtuemart.view-productdetails .productdetails-view,
  body.com_virtuemart.view-cart #cart-view {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.com_virtuemart.view-category .ag-category-pagination__links {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
/* Product details cleanup and buy controls - 2026-07-07 */
body.view-productdetails .productdetails-view {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.view-productdetails .productdetails-view > .row {
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.88fr) !important;
  gap: clamp(12px, 1.8vw, 24px) !important;
}

body.view-productdetails .vm-product-details-container {
  padding: clamp(16px, 2vw, 26px) !important;
}

body.view-productdetails .product-neighbours,
body.view-productdetails .vm-ratingbox-container,
body.view-productdetails .vm-ratingbox-unrated,
body.view-productdetails .vm-ratingbox-rated,
body.view-productdetails .vm-modal-buttons,
body.view-productdetails .icons,
body.view-productdetails .printModal,
body.view-productdetails .pdf-btn,
body.view-productdetails .recommened-to-friend,
body.view-productdetails .vm-stock-status,
body.view-productdetails .vm-stock-handle,
body.view-productdetails .stockhandle,
body.view-productdetails .stock-level {
  display: none !important;
}

body.view-productdetails .vm-page-title {
  padding-right: 0 !important;
  border-bottom: 0 !important;
  font-size: clamp(1.42rem, 1.05rem + 1.25vw, 2.12rem) !important;
  line-height: 1.12 !important;
}

body.view-productdetails .ag-product-manufacturer-block {
  margin-bottom: 16px !important;
}

body.view-productdetails .ag-product-manufacturers {
  margin-bottom: 12px !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

body.view-productdetails .ag-product-price-wrap,
body.view-productdetails .product-price {
  text-align: left !important;
}

body.view-productdetails .product-price {
  margin: 0 0 20px !important;
  padding: 0 !important;
}

body.view-productdetails .product-price,
body.view-productdetails .PricesalesPrice {
  font-size: clamp(1.38rem, 1rem + 1vw, 1.92rem) !important;
  line-height: 1.15 !important;
}

body.view-productdetails .product-price .ag-price-bgn {
  font-size: 0.78em !important;
  font-weight: 850 !important;
}

body.view-productdetails .addtocart-area {
  margin-top: 6px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.view-productdetails .addtocart-area form.product {
  display: block !important;
  height: auto !important;
}

body.view-productdetails .addtocart-bar {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.view-productdetails .addtocart-bar > .row {
  display: grid !important;
  grid-template-columns: minmax(118px, 142px) minmax(170px, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  margin: 0 !important;
}

body.view-productdetails .addtocart-bar > .row > [class*="col"] {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

body.view-productdetails .quantity-box,
body.view-productdetails .addtocart-bar .input-group {
  display: grid !important;
  grid-template-columns: 38px minmax(42px, 1fr) 38px !important;
  width: 100% !important;
  min-height: 48px !important;
  border: 1px solid #d8e2d4 !important;
  border-radius: 8px !important;
  background: #fff !important;
  overflow: hidden !important;
}

body.view-productdetails .quantity-box .quantity-controls,
body.view-productdetails .quantity-box .quantity-input {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.view-productdetails .quantity-box .quantity-input {
  border-left: 1px solid #e4ece1 !important;
  border-right: 1px solid #e4ece1 !important;
  color: var(--ag-green-900) !important;
  font-weight: 850 !important;
}

body.view-productdetails .addtocart-button,
body.view-productdetails input.addtocart-button {
  width: 100% !important;
  min-height: 48px !important;
  border-radius: 8px !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
}

body.view-productdetails .ag-product-zoom-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: clamp(14px, 4vw, 34px);
  background: rgba(10, 22, 15, 0.82);
}

body.ag-product-zoom-open {
  overflow: hidden !important;
}

body.view-productdetails .ag-product-zoom-frame {
  position: relative;
  display: grid;
  place-items: center;
  width: min(94vw, 980px);
  max-height: 92vh;
  padding: clamp(12px, 2vw, 22px);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.32);
}

body.view-productdetails .ag-product-zoom-frame img {
  display: block;
  max-width: 100%;
  max-height: calc(92vh - 44px);
  object-fit: contain;
  border-radius: 6px;
}

body.view-productdetails .ag-product-zoom-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 999px;
  background: var(--ag-green-900);
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
}

@media (max-width: 991.98px) {
  body.view-productdetails .productdetails-view > .row {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.view-productdetails .vm-page-title {
    font-size: clamp(1.28rem, 1.06rem + 1.1vw, 1.58rem) !important;
  }
}

@media (max-width: 520px) {
  body.view-productdetails .productdetails-view {
    padding-inline: 8px !important;
  }

  body.view-productdetails .vm-product-media-container,
  body.view-productdetails .vm-product-details-container {
    padding: 12px !important;
  }

  body.view-productdetails .addtocart-bar > .row {
    grid-template-columns: 118px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  body.view-productdetails .quantity-box,
  body.view-productdetails .addtocart-bar .input-group,
  body.view-productdetails .quantity-box .quantity-controls,
  body.view-productdetails .quantity-box .quantity-input,
  body.view-productdetails .addtocart-button,
  body.view-productdetails input.addtocart-button {
    min-height: 46px !important;
  }
}
/* Product details add-to-cart block placement final - 2026-07-07 */
body.view-productdetails .ag-product-price-wrap {
  display: block !important;
  width: 100% !important;
  clear: both !important;
  margin: 0 0 14px !important;
}

body.view-productdetails .addtocart-area {
  float: none !important;
  clear: both !important;
  display: block !important;
  width: min(100%, 430px) !important;
  max-width: 100% !important;
  margin: 0 !important;
}

body.view-productdetails .addtocart-bar,
body.view-productdetails .addtocart-bar > .row {
  width: 100% !important;
  max-width: 430px !important;
}

@media (max-width: 520px) {
  body.view-productdetails .addtocart-area,
  body.view-productdetails .addtocart-bar,
  body.view-productdetails .addtocart-bar > .row {
    max-width: none !important;
  }
}
/* Product details UX refinements - 2026-07-07 evening */
body.view-productdetails .ag-product-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  width: min(100%, 1320px);
  margin: 10px auto 14px;
  padding: 0 clamp(8px, 2vw, 16px);
  color: var(--ag-muted);
  font-size: 0.88rem;
  line-height: 1.35;
}

body.view-productdetails .ag-product-breadcrumb a,
body.view-productdetails .ag-back-to-category-link {
  color: var(--ag-green-700) !important;
  font-weight: 800;
  text-decoration: none;
}

body.view-productdetails .ag-product-breadcrumb a:hover,
body.view-productdetails .ag-product-breadcrumb a:focus,
body.view-productdetails .ag-back-to-category-link:hover,
body.view-productdetails .ag-back-to-category-link:focus {
  color: var(--ag-green-900) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.view-productdetails .ag-product-price-label {
  margin-bottom: 5px;
  color: var(--ag-muted);
  font-size: 0.8rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.view-productdetails .main-image a,
body.view-productdetails .main-image img {
  cursor: zoom-in;
}

body.view-productdetails .quantity-controls.js-recalculate:not(button) {
  display: none !important;
}

body.view-productdetails .addtocart-bar > .row {
  display: grid !important;
  grid-template-columns: minmax(126px, 150px) minmax(180px, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
}

body.view-productdetails .quantity-box,
body.view-productdetails .addtocart-bar .input-group {
  min-height: 48px !important;
  border-radius: 10px !important;
}

body.view-productdetails .quantity-box .quantity-controls,
body.view-productdetails .quantity-box .quantity-input {
  min-height: 48px !important;
}

body.view-productdetails .quantity-box .quantity-controls {
  color: #1b5f36 !important;
  cursor: pointer;
  transition: background-color 0.16s ease, color 0.16s ease;
}

body.view-productdetails .quantity-box .quantity-controls:hover,
body.view-productdetails .quantity-box .quantity-controls:focus {
  background: var(--ag-leaf-100) !important;
  color: var(--ag-green-900) !important;
}

body.view-productdetails .addtocart-button,
body.view-productdetails input.addtocart-button {
  border-radius: 10px !important;
}

body.view-productdetails .product-fields,
body.view-productdetails .vm-customfields-wrap {
  margin-bottom: 16px;
}

body.view-productdetails .product-field {
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.view-productdetails .product-field-display,
body.view-productdetails .product-field-type-S,
body.view-productdetails .product-field-type-E,
body.view-productdetails .product-field-type-A {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

body.view-productdetails .product-field-display select,
body.view-productdetails .product-field-display .chzn-single,
body.view-productdetails .product-field-display a,
body.view-productdetails .product-field-display label {
  border: 1px solid #d8e7d5 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--ag-green-900) !important;
  font-weight: 800 !important;
}

body.view-productdetails .product-field-display a,
body.view-productdetails .product-field-display label {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 14px;
  text-decoration: none !important;
}

body.view-productdetails .product-field-display a:hover,
body.view-productdetails .product-field-display a:focus,
body.view-productdetails .product-field-display label:hover {
  border-color: var(--ag-green-700) !important;
  background: var(--ag-leaf-100) !important;
}

body.view-productdetails .product-fields-title,
body.view-productdetails .product-field-display .product-field-desc {
  color: var(--ag-muted) !important;
  font-size: 0.82rem;
  font-weight: 850;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

body.view-productdetails .ag-related-products,
body.view-productdetails .product-related-products {
  width: min(100%, 1320px);
  margin: 22px auto 26px !important;
  padding: 0 clamp(8px, 2vw, 16px);
}

body.view-productdetails .ag-related-products__title,
body.view-productdetails .product-related-products > h4,
body.view-productdetails .product-related-products > h3,
body.view-productdetails .product-related-products .product-fields-title-wrapper {
  margin: 0 0 14px !important;
  color: var(--ag-green-900) !important;
  font-size: clamp(1.18rem, 1rem + 0.55vw, 1.55rem) !important;
  font-weight: 900 !important;
  line-height: 1.15;
}

body.view-productdetails .ag-related-products__grid,
body.view-productdetails .product-related-products .product-fields {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(12px, 1.5vw, 20px) !important;
}

body.view-productdetails .product-related-products .product-field {
  min-width: 0 !important;
}

body.view-productdetails .ag-related-product-card,
body.view-productdetails .vm-related-product-container {
  display: grid !important;
  grid-template-rows: auto auto 1fr;
  gap: 9px;
  height: 100%;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--ag-border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(20, 63, 42, 0.07);
}

body.view-productdetails .ag-related-product-card__media {
  display: grid;
  place-items: center;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 7px;
  background: var(--ag-soft);
}

body.view-productdetails .ag-related-product-card__media img,
body.view-productdetails .vm-related-product-container img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 190px;
  object-fit: contain;
}

body.view-productdetails .ag-related-product-card__title,
body.view-productdetails .vm-related-product-container .ag-related-product-card__title {
  margin: 0;
  text-align: left !important;
  font-size: 0.95rem !important;
  line-height: 1.25;
  font-weight: 850;
}

body.view-productdetails .ag-related-product-card__title a {
  color: var(--ag-green-900) !important;
  text-decoration: none !important;
}

body.view-productdetails .ag-related-product-card__title a:hover,
body.view-productdetails .ag-related-product-card__title a:focus {
  color: var(--ag-green-700) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

body.view-productdetails .ag-related-product-card__price,
body.view-productdetails .vm-related-product-container .ag-related-product-card__price {
  margin: 0 !important;
  text-align: left !important;
  font-size: 0.92rem !important;
  line-height: 1.25 !important;
}

body.view-productdetails .ag-related-product-card__price .PricesalesPrice,
body.view-productdetails .ag-related-product-card__price .PricebasePriceWithTax {
  font-size: 1em !important;
}

body.view-productdetails .ag-related-product-card__price .ag-price-bgn {
  margin-top: 2px;
  color: var(--ag-muted);
  font-size: 0.88em !important;
  font-weight: 850;
}

body.view-productdetails .product-related-products .btn,
body.view-productdetails .product-related-products .vm-product-rating-container,
body.view-productdetails .product-related-products .vm-stock-status,
body.view-productdetails .product-related-products .addtocart-area {
  display: none !important;
}

@media (max-width: 991.98px) {
  body.view-productdetails .ag-related-products__grid,
  body.view-productdetails .product-related-products .product-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  body.view-productdetails .ag-product-breadcrumb {
    margin-top: 8px;
    margin-bottom: 10px;
    padding-inline: 8px;
    font-size: 0.78rem;
  }

  body.view-productdetails .addtocart-bar > .row {
    grid-template-columns: 118px minmax(0, 1fr) !important;
    gap: 9px !important;
  }

  body.view-productdetails .ag-related-products,
  body.view-productdetails .product-related-products {
    padding-inline: 8px;
  }

  body.view-productdetails .ag-related-product-card,
  body.view-productdetails .vm-related-product-container {
    padding: 9px;
  }

  body.view-productdetails .ag-related-product-card__title,
  body.view-productdetails .vm-related-product-container .ag-related-product-card__title {
    font-size: 0.82rem !important;
  }

  body.view-productdetails .ag-related-product-card__price,
  body.view-productdetails .vm-related-product-container .ag-related-product-card__price {
    font-size: 0.82rem !important;
  }
}
/* CF4All packaging buttons - 2026-07-07 */
body.view-productdetails .cf4all_error_msg {
  display: none !important;
}

body.view-productdetails .product-field-display .cf4all_button,
body.view-productdetails .product-field-display label.cf4all_button {
  min-height: 40px;
  border-color: var(--ag-green-700) !important;
  background: var(--ag-green-700) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(34, 114, 65, 0.18);
}

body.view-productdetails .product-field-display .cf4all_button:hover,
body.view-productdetails .product-field-display .cf4all_button:focus,
body.view-productdetails .product-field-display .cf4all_radio:checked + .cf4all_button {
  border-color: var(--ag-green-900) !important;
  background: var(--ag-green-900) !important;
  color: #fff !important;
}

body.view-productdetails .product-field-display .cf4all_radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
/* Agrofen home shopfront */
.site-grid > .ag-home-shell {
  grid-column: 1 / -1;
}

.ag-home-shell {
  --ag-home-green: #0e5432;
  --ag-home-green-2: #1f7a43;
  --ag-home-lime: #78b83b;
  --ag-home-amber: #e0ae23;
  --ag-home-ink: #103d29;
  --ag-home-muted: #66766f;
  --ag-home-soft: #f3f9f4;
  width: 100%;
  background:
    linear-gradient(180deg, rgba(242, 250, 244, .96), rgba(255, 255, 255, .98) 42%, rgba(244, 250, 245, .88));
  padding: clamp(10px, 1.8vw, 24px) 0 clamp(28px, 4vw, 56px);
  overflow: hidden;
}

.ag-home-shopfront,
.ag-home-service-strip,
.ag-home-category-tiles,
.ag-home-product-section,
.ag-home-banner-pair,
.ag-home-info-band {
  width: min(1480px, calc(100vw - 32px));
  margin-inline: auto;
}

.ag-home-shopfront {
  display: grid;
  grid-template-columns: minmax(245px, 300px) minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(12px, 1.7vw, 22px);
}

.ag-home-mega {
  background: #ffffff;
  border: 1px solid rgba(31, 122, 67, .16);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(15, 74, 42, .08);
  min-width: 0;
  overflow: hidden;
}

.ag-home-mega__head {
  padding: 18px 20px 16px;
  background: linear-gradient(135deg, var(--ag-home-green), var(--ag-home-green-2));
  color: #ffffff;
}

.ag-home-mega__head span,
.ag-home-kicker {
  display: block;
  color: var(--ag-home-amber);
  font-size: .74rem;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: uppercase;
}

.ag-home-mega__head strong {
  display: block;
  margin-top: 6px;
  font-size: 1.28rem;
  line-height: 1.1;
}

.ag-home-mega__list {
  display: grid;
  padding: 8px;
}

.ag-home-mega__list a {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  min-width: 0;
  padding: 11px 10px;
  border-radius: 8px;
  color: var(--ag-home-ink);
  text-decoration: none;
  transition: transform .18s ease, background-color .18s ease, color .18s ease;
}

.ag-home-mega__list a:hover,
.ag-home-mega__list a:focus-visible {
  background: rgba(120, 184, 59, .12);
  color: #0b6a39;
  transform: translateX(3px);
}

.ag-home-mega__icon {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(31, 122, 67, .11);
  color: var(--ag-home-green-2);
}

.ag-home-mega__list strong,
.ag-home-mega__list small {
  display: block;
  min-width: 0;
}

.ag-home-mega__list strong {
  font-size: .98rem;
  line-height: 1.16;
}

.ag-home-mega__list small {
  margin-top: 4px;
  color: var(--ag-home-muted);
  font-size: .78rem;
  line-height: 1.24;
}

.ag-home-slider {
  position: relative;
  min-width: 0;
  border-radius: 8px;
  overflow: hidden;
  background: #eaf3ec;
  box-shadow: 0 18px 44px rgba(14, 84, 50, .12);
  aspect-ratio: 2172 / 724;
}

.ag-home-slider__track,
.ag-home-slide,
.ag-home-slide picture,
.ag-home-slide img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.ag-home-slide {
  opacity: 0;
  visibility: hidden;
  transform: scale(1.012);
  transition: opacity .46s ease, visibility .46s ease, transform .72s ease;
}

.ag-home-slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
  z-index: 1;
}

.ag-home-slide img {
  display: block;
  object-fit: cover;
}

.ag-home-slider__arrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  color: var(--ag-home-green);
  box-shadow: 0 10px 25px rgba(14, 84, 50, .16);
  transform: translateY(-50%);
}

.ag-home-slider__arrow:hover,
.ag-home-slider__arrow:focus-visible {
  background: var(--ag-home-amber);
  color: #173b27;
}

.ag-home-slider__arrow--prev {
  left: 14px;
}

.ag-home-slider__arrow--next {
  right: 14px;
}

.ag-home-slider__dots {
  position: absolute;
  right: 18px;
  bottom: 14px;
  z-index: 4;
  display: flex;
  gap: 7px;
  align-items: center;
}

.ag-home-slider__dots button {
  width: 26px;
  height: 6px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .68);
  box-shadow: 0 1px 8px rgba(0, 0, 0, .12);
  transition: width .2s ease, background-color .2s ease;
}

.ag-home-slider__dots button.is-active {
  width: 38px;
  background: var(--ag-home-amber);
}

.ag-home-service-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.ag-home-service-strip > div {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  column-gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid rgba(31, 122, 67, .14);
  border-radius: 8px;
  background: #ffffff;
}

.ag-home-service-strip i {
  grid-row: span 2;
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(224, 174, 35, .16);
  color: var(--ag-home-green);
}

.ag-home-service-strip strong,
.ag-home-service-strip span {
  display: block;
  min-width: 0;
}

.ag-home-service-strip strong {
  color: var(--ag-home-ink);
  font-size: .95rem;
  line-height: 1.16;
}

.ag-home-service-strip span {
  color: var(--ag-home-muted);
  font-size: .78rem;
  line-height: 1.22;
}

.ag-home-category-tiles,
.ag-home-product-section,
.ag-home-info-band {
  margin-top: clamp(22px, 3vw, 42px);
}

.ag-home-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.ag-home-section-head h2,
.ag-home-info-band h2 {
  margin: 5px 0 0;
  color: var(--ag-home-ink);
  font-size: clamp(1.5rem, 2.4vw, 2.35rem);
  line-height: 1.12;
}

.ag-home-section-head p:not(.ag-home-kicker),
.ag-home-info-band p:not(.ag-home-kicker) {
  max-width: 720px;
  margin: 7px 0 0;
  color: var(--ag-home-muted);
  font-size: .98rem;
  line-height: 1.5;
}

.ag-home-section-head > a,
.ag-home-info-band > a {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  background: var(--ag-home-green-2);
  color: #ffffff;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 12px 24px rgba(31, 122, 67, .16);
}

.ag-home-section-head > a:hover,
.ag-home-info-band > a:hover {
  background: var(--ag-home-green);
  color: #ffffff;
}

.ag-home-category-tiles__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.ag-home-category-tile {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-width: 0;
  min-height: 82px;
  padding: 14px;
  border: 1px solid rgba(31, 122, 67, .15);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ag-home-ink);
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.ag-home-category-tile:hover,
.ag-home-category-tile:focus-visible {
  border-color: rgba(224, 174, 35, .9);
  box-shadow: 0 16px 32px rgba(14, 84, 50, .1);
  transform: translateY(-2px);
}

.ag-home-category-tile span {
  display: inline-grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(31, 122, 67, .14), rgba(224, 174, 35, .16));
  color: var(--ag-home-green);
  font-size: 1.15rem;
}

.ag-home-category-tile strong {
  display: block;
  min-width: 0;
  font-size: 1rem;
  line-height: 1.16;
}

.ag-home-banner-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: clamp(20px, 3vw, 40px);
}

.ag-home-banner-pair a {
  display: block;
  min-width: 0;
  border-radius: 8px;
  overflow: hidden;
  background: #eef6ee;
  box-shadow: 0 16px 34px rgba(14, 84, 50, .1);
}

.ag-home-banner-pair img {
  display: block;
  width: 100%;
  height: auto;
}

.ag-home-product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.4vw, 18px);
}

.ag-home-product-card {
  min-width: 0;
  border: 1px solid rgba(31, 122, 67, .14);
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.ag-home-product-card:hover {
  border-color: rgba(224, 174, 35, .78);
  box-shadow: 0 18px 34px rgba(14, 84, 50, .1);
  transform: translateY(-2px);
}

.ag-home-product-card__media {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  padding: 18px;
  background: linear-gradient(180deg, #ffffff, #f5faf5);
}

.ag-home-product-card__media img,
.ag-home-product-card__image {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
}

.ag-home-product-card__placeholder {
  display: inline-grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(31, 122, 67, .1);
  color: var(--ag-home-green-2);
  font-size: 1.8rem;
}

.ag-home-product-card__title {
  margin: 0;
  padding: 14px 14px 8px;
  font-size: .98rem;
  line-height: 1.24;
}

.ag-home-product-card__title a {
  color: var(--ag-home-ink);
  text-decoration: none;
}

.ag-home-product-card__title a:hover {
  color: var(--ag-home-green-2);
}

.ag-home-product-card__price {
  padding: 0 14px 16px;
  text-align: left;
}

.ag-home-product-card__price .ag-price-main,
.ag-home-product-card__price .PricesalesPrice,
.ag-home-product-card__price .vm-price-desc {
  color: var(--ag-home-green);
  font-weight: 900;
}

.ag-home-product-card__price .ag-price-main {
  font-size: 1.08rem;
  line-height: 1.18;
}

.ag-home-product-card__price .vm-price-desc {
  display: none;
}

.ag-home-product-card__price .ag-price-bgn {
  margin-top: 2px;
  color: #6c746d;
  font-size: .92rem;
  font-weight: 800;
}

.ag-home-info-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: clamp(22px, 3vw, 38px);
  border-radius: 8px;
  background: linear-gradient(135deg, #0e5432, #1f7a43 62%, #78b83b);
  color: #ffffff;
  box-shadow: 0 20px 42px rgba(14, 84, 50, .16);
}

.ag-home-info-band .ag-home-kicker,
.ag-home-info-band h2,
.ag-home-info-band p:not(.ag-home-kicker) {
  color: #ffffff;
}

.ag-home-info-band > a {
  background: #ffffff;
  color: var(--ag-home-green);
  box-shadow: none;
}

.ag-home-info-band > a:hover {
  background: var(--ag-home-amber);
  color: #14321f;
}

@media (min-width: 981px) {
  .ag-primary-nav li {
    position: relative;
  }

  .ag-primary-nav li > ul {
    position: absolute;
    top: calc(100% + 14px);
    left: 0;
    z-index: 1200;
    display: none;
    grid-template-columns: repeat(3, minmax(190px, 1fr));
    gap: 7px;
    width: min(880px, calc(100vw - 48px));
    padding: 14px;
    margin: 0;
    list-style: none;
    border: 1px solid rgba(31, 122, 67, .18);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 24px 55px rgba(6, 50, 28, .18);
  }

  .ag-primary-nav li:hover > ul,
  .ag-primary-nav li:focus-within > ul {
    display: grid;
  }

  .ag-primary-nav li > ul::before {
    content: "";
    position: absolute;
    top: -15px;
    left: 0;
    width: 100%;
    height: 15px;
  }

  .ag-primary-nav li > ul li,
  .ag-primary-nav li > ul a {
    width: 100%;
  }

  .ag-primary-nav li > ul a {
    display: flex;
    align-items: center;
    min-height: 42px;
    padding: 10px 12px;
    border-radius: 8px;
    color: #123f29;
    font-size: .92rem;
    line-height: 1.16;
    text-decoration: none;
  }

  .ag-primary-nav li > ul a:hover,
  .ag-primary-nav li > ul a:focus-visible,
  .ag-primary-nav li > ul .active > a {
    background: rgba(224, 174, 35, .14);
    color: #0e5432;
  }
}

@media (max-width: 1180px) {
  .ag-home-shopfront {
    grid-template-columns: 1fr;
  }

  .ag-home-mega__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ag-home-service-strip,
  .ag-home-category-tiles__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .ag-home-shell {
    padding-top: 8px;
  }

  .ag-home-shopfront,
  .ag-home-service-strip,
  .ag-home-category-tiles,
  .ag-home-product-section,
  .ag-home-banner-pair,
  .ag-home-info-band {
    width: min(100%, calc(100vw - 16px));
  }

  .ag-home-mega__head {
    display: none;
  }

  .ag-home-mega__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .ag-home-mega__list a {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 8px;
    padding: 8px;
  }

  .ag-home-mega__icon {
    width: 34px;
    height: 34px;
    font-size: .86rem;
  }

  .ag-home-mega__list strong {
    font-size: .82rem;
  }

  .ag-home-mega__list small {
    display: none;
  }

  .ag-home-slider {
    border-radius: 8px;
  }

  .ag-home-slider__arrow {
    display: none;
  }

  .ag-home-slider__dots {
    right: 10px;
    bottom: 8px;
    gap: 5px;
  }

  .ag-home-slider__dots button {
    width: 18px;
    height: 5px;
  }

  .ag-home-slider__dots button.is-active {
    width: 28px;
  }

  .ag-home-service-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
  }

  .ag-home-service-strip > div {
    grid-template-columns: 1fr;
    gap: 5px;
    padding: 11px;
  }

  .ag-home-service-strip i {
    grid-row: auto;
    width: 34px;
    height: 34px;
  }

  .ag-home-service-strip strong {
    font-size: .82rem;
  }

  .ag-home-service-strip span {
    font-size: .72rem;
  }

  .ag-home-section-head,
  .ag-home-info-band {
    display: block;
  }

  .ag-home-section-head h2,
  .ag-home-info-band h2 {
    font-size: 1.35rem;
  }

  .ag-home-section-head p:not(.ag-home-kicker),
  .ag-home-info-band p:not(.ag-home-kicker) {
    font-size: .88rem;
  }

  .ag-home-section-head > a,
  .ag-home-info-band > a {
    width: 100%;
    margin-top: 12px;
  }

  .ag-home-category-tiles__grid,
  .ag-home-product-grid,
  .ag-home-banner-pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .ag-home-category-tile {
    grid-template-columns: 36px minmax(0, 1fr);
    min-height: 64px;
    padding: 10px;
  }

  .ag-home-category-tile span {
    width: 36px;
    height: 36px;
    font-size: .9rem;
  }

  .ag-home-category-tile strong {
    font-size: .82rem;
  }

  .ag-home-product-card__media {
    padding: 10px;
  }

  .ag-home-product-card__title {
    padding: 10px 10px 6px;
    font-size: .82rem;
  }

  .ag-home-product-card__price {
    padding: 0 10px 12px;
  }

  .ag-home-product-card__price .ag-price-main {
    font-size: .92rem;
  }

  .ag-home-product-card__price .ag-price-bgn {
    font-size: .78rem;
  }
}

@media (max-width: 430px) {
  .ag-home-service-strip {
    grid-template-columns: 1fr;
  }

  .ag-home-banner-pair {
    grid-template-columns: 1fr;
  }
}
/* Homepage wide-screen overflow correction */
body.view-featured .site-grid {
  width: 100%;
  max-width: none;
}

body.view-featured .site-grid > .ag-home-shell.full-width {
  grid-column: full-start / full-end !important;
  justify-self: stretch;
  width: 100%;
  max-width: none;
}

.ag-home-shopfront,
.ag-home-service-strip,
.ag-home-category-tiles,
.ag-home-product-section,
.ag-home-banner-pair,
.ag-home-info-band {
  width: min(1880px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  margin-left: auto;
  margin-right: auto;
}

.ag-home-shopfront {
  grid-template-columns: minmax(230px, 270px) minmax(0, 1fr);
  align-items: start;
}

.ag-home-slider {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  align-self: start;
}

.ag-home-mega__list a {
  grid-template-columns: 38px minmax(0, 1fr);
  padding-top: 8px;
  padding-bottom: 8px;
}

.ag-home-mega__icon {
  width: 38px;
  height: 38px;
}

.ag-home-mega__list small {
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 1180px) {
  .ag-home-shopfront {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .ag-home-shopfront,
  .ag-home-service-strip,
  .ag-home-category-tiles,
  .ag-home-product-section,
  .ag-home-banner-pair,
  .ag-home-info-band {
    width: min(100%, calc(100vw - 16px));
    max-width: calc(100vw - 16px);
  }
}
/* Homepage desktop dense product grid */
@media (min-width: 1181px) {
  .ag-home-product-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 12px;
  }

  .ag-home-product-card__media {
    padding: 12px;
  }

  .ag-home-product-card__title {
    padding: 10px 10px 6px;
    font-size: .82rem;
    line-height: 1.22;
  }

  .ag-home-product-card__price {
    padding: 0 10px 12px;
  }

  .ag-home-product-card__price .ag-price-main {
    font-size: .92rem;
  }

  .ag-home-product-card__price .ag-price-bgn {
    font-size: .78rem;
  }
}

@media (min-width: 768px) and (max-width: 1180px) {
  .ag-home-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
/* Homepage desktop balanced product grid */
@media (min-width: 1181px) {
  .ag-home-product-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
  }

  .ag-home-product-card__media {
    padding: 14px;
  }

  .ag-home-product-card__title {
    padding: 12px 12px 7px;
    font-size: .9rem;
    line-height: 1.24;
  }

  .ag-home-product-card__price {
    padding: 0 12px 14px;
  }

  .ag-home-product-card__price .ag-price-main {
    font-size: 1rem;
  }

  .ag-home-product-card__price .ag-price-bgn {
    font-size: .84rem;
  }
}
/* Homepage product card text and price alignment */
.ag-home-product-card__title,
.ag-home-product-card__price {
  text-align: left !important;
}

.ag-home-product-card__title {
  display: block;
}

.ag-home-product-card__title a {
  display: block;
}

.ag-home-product-card__price {
  display: block;
  margin: 0;
  color: inherit;
}

.ag-home-product-card__price .ag-price-main,
.ag-home-product-card__price .ag-price-bgn {
  display: block;
  margin: 0;
  padding: 0;
  text-align: left;
  line-height: 1.16;
  white-space: nowrap;
}

.ag-home-product-card__price .ag-price-main {
  color: var(--ag-home-green);
  font-size: 1.12rem;
  font-weight: 900;
}

.ag-home-product-card__price .ag-price-bgn {
  margin-top: 3px;
  color: #6c746d;
  font-size: .84rem;
  font-weight: 600;
}

@media (min-width: 1181px) {
  .ag-home-product-card__price .ag-price-main {
    font-size: 1.08rem;
  }

  .ag-home-product-card__price .ag-price-bgn {
    font-size: .82rem;
    font-weight: 600;
  }
}

@media (max-width: 767px) {
  .ag-home-product-card__price .ag-price-main {
    font-size: .98rem;
  }

  .ag-home-product-card__price .ag-price-bgn {
    font-size: .76rem;
    font-weight: 600;
  }
}
/* Internal page grid centering */
body:not(.view-featured) .site-grid {
  margin-left: auto;
  margin-right: auto;
}
/* Category pagination design colors */
body.view-category .ag-category-pagination {
  border-color: rgba(31, 122, 67, .18) !important;
  background: linear-gradient(180deg, #ffffff, #fbfefb) !important;
  box-shadow: 0 12px 28px rgba(14, 84, 50, .07) !important;
}

body.view-category .ag-category-pagination__counter {
  color: #0e5432 !important;
}

body.view-category .ag-category-pagination__links .page-link,
body.view-category .ag-category-pagination__links .pagenav,
body.view-category .ag-category-pagination__links a,
body.view-category .ag-category-pagination__links span {
  border-color: rgba(31, 122, 67, .22) !important;
  background: #ffffff !important;
  color: #0e5432 !important;
  box-shadow: none !important;
  transition: border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease;
}

body.view-category .ag-category-pagination__links a:hover,
body.view-category .ag-category-pagination__links a:focus-visible,
body.view-category .ag-category-pagination__links .page-link:hover,
body.view-category .ag-category-pagination__links .page-link:focus-visible {
  border-color: #e0ae23 !important;
  background: rgba(224, 174, 35, .13) !important;
  color: #0b3f28 !important;
  transform: translateY(-1px);
}

body.view-category .ag-category-pagination__links .active .page-link,
body.view-category .ag-category-pagination__links .active span,
body.view-category .ag-category-pagination__links li.active a,
body.view-category .ag-category-pagination__links li.active span {
  border-color: #e0ae23 !important;
  background: linear-gradient(135deg, #0e5432, #1f7a43) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(14, 84, 50, .18) !important;
}

body.view-category .ag-category-pagination__links .disabled .page-link,
body.view-category .ag-category-pagination__links .disabled span,
body.view-category .ag-category-pagination__links li.disabled a,
body.view-category .ag-category-pagination__links li.disabled span {
  border-color: rgba(31, 122, 67, .12) !important;
  background: #f4f8f4 !important;
  color: #9aa89f !important;
  box-shadow: none !important;
  transform: none !important;
}
/* VirtueMart legacy pagination active/disabled states */
body.view-category .ag-category-pagination__links li:not([class]) > span.pagenav {
  border-color: #e0ae23 !important;
  background: linear-gradient(135deg, #0e5432, #1f7a43) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(14, 84, 50, .18) !important;
}

body.view-category .ag-category-pagination__links li.pagination-start > span.pagenav,
body.view-category .ag-category-pagination__links li.pagination-prev > span.pagenav,
body.view-category .ag-category-pagination__links li.pagination-next > span.pagenav,
body.view-category .ag-category-pagination__links li.pagination-end > span.pagenav {
  border-color: rgba(31, 122, 67, .12) !important;
  background: #f4f8f4 !important;
  color: #9aa89f !important;
  box-shadow: none !important;
  transform: none !important;
}
/* Global Joomla pagination color override */
body .pagination .page-link,
body .pagination .pagenav,
body .pagination a.page-link,
body .pagination a.pagenav,
body .pagination span.page-link,
body .pagination span.pagenav,
body .pagination__wrapper .page-link,
body .com-content-category-blog__pagination .page-link {
  border-color: rgba(31, 122, 67, .22) !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: #0e5432 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

body .pagination a.page-link:hover,
body .pagination a.pagenav:hover,
body .pagination a.page-link:focus-visible,
body .pagination a.pagenav:focus-visible,
body .pagination__wrapper a.page-link:hover,
body .com-content-category-blog__pagination a.page-link:hover {
  border-color: #e0ae23 !important;
  background-color: rgba(224, 174, 35, .13) !important;
  color: #0b3f28 !important;
}

body .pagination .active > .page-link,
body .pagination .active > .pagenav,
body .pagination [aria-current="true"].page-link,
body .pagination [aria-current="page"].page-link,
body .pagination li:not([class]) > span.pagenav,
body .pagination__wrapper [aria-current="true"].page-link,
body .com-content-category-blog__pagination [aria-current="true"].page-link {
  border-color: #e0ae23 !important;
  background-color: #0e5432 !important;
  background-image: linear-gradient(135deg, #0e5432, #1f7a43) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(14, 84, 50, .18) !important;
}

body .pagination .disabled > .page-link,
body .pagination .disabled > .pagenav,
body .pagination .pagination-start > span.pagenav,
body .pagination .pagination-prev > span.pagenav,
body .pagination .pagination-next > span.pagenav,
body .pagination .pagination-end > span.pagenav,
body .pagination span.page-link[aria-hidden="true"],
body .pagination__wrapper span.page-link[aria-hidden="true"],
body .com-content-category-blog__pagination span.page-link[aria-hidden="true"] {
  border-color: rgba(31, 122, 67, .12) !important;
  background-color: #f4f8f4 !important;
  background-image: none !important;
  color: #9aa89f !important;
  box-shadow: none !important;
}
/* Homepage desktop menu/slider height pairing */
@media (min-width: 1181px) and (max-width: 1800px) {
  .ag-home-shopfront {
    align-items: stretch;
  }

  .ag-home-mega {
    height: 100%;
  }

  .ag-home-mega__head {
    padding: 12px 16px 10px;
  }

  .ag-home-mega__head span {
    font-size: .68rem;
  }

  .ag-home-mega__head strong {
    margin-top: 4px;
    font-size: 1.08rem;
  }

  .ag-home-mega__list {
    height: calc(100% - 60px);
    min-height: 0;
    padding: 6px;
    grid-auto-rows: minmax(0, 1fr);
  }

  .ag-home-mega__list a {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 8px;
    min-height: 0;
    padding: 4px 8px;
  }

  .ag-home-mega__icon {
    width: 30px;
    height: 30px;
    font-size: .8rem;
  }

  .ag-home-mega__list strong {
    font-size: .86rem;
    line-height: 1.08;
  }

  .ag-home-mega__list small {
    display: none;
  }
}

@media (min-width: 1801px) {
  .ag-home-shopfront {
    align-items: stretch;
  }

  .ag-home-slider {
    align-self: stretch;
    height: 100%;
    aspect-ratio: auto;
  }
}
/* Compact primary navigation for small desktop screens */
@media (min-width: 1021px) and (max-width: 1320px) {
  .ag-nav-wrap {
    min-height: 48px !important;
  }

  .container-header .ag-primary-nav {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .ag-nav-main > ul,
  .ag-nav-main > .mod-menu {
    flex-wrap: nowrap !important;
    justify-content: center !important;
    gap: clamp(18px, 2.2vw, 34px) !important;
    min-width: 0;
  }

  .ag-nav-main > .mod-menu > li,
  .ag-nav-main > ul > li {
    flex: 0 1 auto;
    min-width: 0;
  }

  .ag-nav-main > .mod-menu > li > a,
  .ag-nav-main > ul > li > a,
  .ag-nav-main > .mod-menu > li > .nav-header,
  .ag-nav-main > .mod-menu > li > .separator {
    min-height: 46px !important;
    padding: 8px 2px !important;
    font-size: clamp(.9rem, 1.45vw, 1.02rem) !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 981px) and (max-width: 1020px) {
  .ag-mobile-menu-toggle {
    display: flex !important;
  }

  .ag-nav-wrap,
  .ag-nav-main,
  .ag-nav-mobile {
    display: none !important;
  }

  .ag-header-main {
    min-height: 92px;
  }
}
/* Global manufacturer slider before footer */
.ag-brand-slider {
  box-sizing: border-box;
  width: 100%;
  max-width: 100vw;
  margin: 0;
  padding: clamp(24px, 3.5vw, 48px) 20px clamp(26px, 4vw, 54px);
  background: linear-gradient(180deg, rgba(245, 251, 247, .9), rgba(255, 255, 255, .98));
  overflow: hidden;
}

.ag-brand-slider__inner {
  width: min(1880px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  margin-inline: auto;
}

.ag-brand-slider__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: clamp(14px, 2vw, 22px);
}

.ag-brand-slider__kicker {
  margin: 0 0 6px;
  color: #e0ae23;
  font-size: .74rem;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: uppercase;
}

.ag-brand-slider__head h2 {
  max-width: 860px;
  margin: 0;
  color: var(--ag-green-900, #103d29);
  font-size: clamp(1.35rem, 2.2vw, 2.25rem);
  font-weight: 900;
  line-height: 1.12;
}

.ag-brand-slider__controls {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.ag-brand-slider__controls button {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(31, 122, 67, .22);
  border-radius: 50%;
  background: #ffffff;
  color: var(--ag-green-800, #0e5432);
  box-shadow: 0 12px 28px rgba(15, 74, 42, .1);
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.ag-brand-slider__controls button:hover,
.ag-brand-slider__controls button:focus-visible {
  border-color: #f2b632;
  background: #f2b632;
  color: #173b27;
  transform: translateY(-1px);
}

.ag-brand-slider__viewport {
  position: relative;
  min-width: 0;
}

.ag-brand-slider__track {
  display: flex;
  align-items: flex-start;
  gap: clamp(16px, 2vw, 30px);
  min-width: 0;
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 4px 2px 10px;
}

.ag-brand-slider__track::-webkit-scrollbar {
  display: none;
}

.ag-brand-slider__item {
  --ag-slider-brand-circle: clamp(112px, 8.4vw, 148px);
  --ag-slider-brand-ring: 7px;
  flex: 0 0 clamp(128px, 10vw, 174px);
  min-width: 0;
  color: var(--ag-green-900, #103d29);
  text-align: center;
  text-decoration: none !important;
  scroll-snap-align: start;
}

.ag-brand-slider__circle {
  display: grid;
  place-items: center;
  width: var(--ag-slider-brand-circle);
  height: var(--ag-slider-brand-circle);
  margin: 0 auto 10px;
  border: var(--ag-slider-brand-ring) solid var(--ag-green-700, #116b39);
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(20, 63, 42, .11), inset 0 0 0 1px rgba(255, 255, 255, .9);
  overflow: hidden;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.ag-brand-slider__circle img {
  display: block;
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  margin: 0;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 999px;
  box-shadow: none !important;
  object-fit: contain;
  object-position: center;
  clip-path: circle(45% at 50% 50%);
}

.ag-brand-slider__circle i {
  color: var(--ag-green-700, #116b39);
  font-size: clamp(1.55rem, 2vw, 2.1rem);
}

.ag-brand-slider__name {
  display: block;
  max-width: 100%;
  color: var(--ag-green-900, #103d29);
  font-size: clamp(.88rem, 1vw, 1rem);
  font-weight: 850;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.ag-brand-slider__item:hover .ag-brand-slider__circle,
.ag-brand-slider__item:focus-visible .ag-brand-slider__circle {
  border-color: #f2b632;
  box-shadow: 0 20px 42px rgba(20, 63, 42, .17), 0 0 0 6px rgba(143, 210, 127, .18);
  transform: translateY(-3px);
}

.ag-brand-slider__item:hover .ag-brand-slider__name,
.ag-brand-slider__item:focus-visible .ag-brand-slider__name {
  color: var(--ag-green-700, #116b39);
}

@media (max-width: 767px) {
  .ag-brand-slider {
    padding-top: 22px;
    padding-bottom: 28px;
  }

  .ag-brand-slider__inner {
    width: min(100%, calc(100vw - 16px));
    max-width: calc(100vw - 16px);
  }

  .ag-brand-slider__head {
    align-items: flex-start;
    margin-bottom: 12px;
  }

  .ag-brand-slider__head h2 {
    font-size: 1.25rem;
  }

  .ag-brand-slider__controls button {
    width: 36px;
    height: 36px;
  }

  .ag-brand-slider__track {
    gap: 12px;
    padding-bottom: 8px;
  }

  .ag-brand-slider__item {
    --ag-slider-brand-circle: min(34vw, 128px);
    --ag-slider-brand-ring: 6px;
    flex-basis: min(39vw, 146px);
  }

  .ag-brand-slider__circle {
    margin-bottom: 8px;
  }

  .ag-brand-slider__circle img {
    width: calc(100% - 18px);
    height: calc(100% - 18px);
  }

  .ag-brand-slider__name {
    font-size: .82rem;
  }
}
/* Modern account login and registration pages */
body.com_users.view-login .container-component,
body.com_virtuemart.view-user .container-component {
  width: 100%;
  max-width: none !important;
  margin-inline: 0 !important;
  padding: 12px 0 0 !important;
}

body.com_users.view-login .container-component > main,
body.com_virtuemart.view-user .container-component > main {
  width: min(1160px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  margin: 12px auto clamp(30px, 4vw, 54px);
  display: grid;
  grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
  gap: clamp(14px, 2.4vw, 26px);
  align-items: start;
}

body.com_users.view-login .container-component > main::before,
body.com_virtuemart.view-user .container-component > main::before {
  content: "";
  position: sticky;
  top: 16px;
  min-height: 430px;
  border-radius: 8px;
  background:
    linear-gradient(145deg, rgba(9, 62, 35, .94), rgba(20, 126, 67, .92)),
    url('/media/templates/site/agrofen/images/logo-mono.png') center 54% / 72% auto no-repeat;
  box-shadow: 0 22px 54px rgba(12, 57, 34, .18);
}

body.com_users.view-login .com-users-login,
body.com_virtuemart.view-user #com-form-login,
body.com_virtuemart.view-user #adminForm {
  min-width: 0;
  border: 1px solid rgba(31, 122, 67, .14);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 44px rgba(14, 84, 50, .10);
}

body.com_users.view-login .com-users-login {
  grid-column: 2;
  padding: clamp(22px, 3vw, 34px);
}

body.com_users.view-login .com-users-login::before,
body.com_virtuemart.view-user main > h1 {
  display: block;
  margin: 0 0 18px;
  color: var(--ag-green-900, #103d29);
  font-size: clamp(1.6rem, 2.45vw, 2.35rem);
  font-weight: 900;
  line-height: 1.12;
}

body.com_users.view-login .com-users-login::before {
  content: "Вход в профила";
}

body.com_users.view-login .com-users-login.is-registration::before {
  content: "Регистрация";
}
body.com_users.view-login .com-users-login::after {
  content: "";
  display: table;
  clear: both;
}

body.com_users.view-login #com-users-login__form,
body.com_users.view-login #com-users-login__form fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.com_users.view-login #com-users-login__form.well {
  border: 0 !important;
  background: transparent !important;
}

body.com_users.view-login .control-group,
body.com_users.view-login .com-users-login__remember,
body.com_virtuemart.view-user #com-form-login .userdata > div,
body.com_virtuemart.view-user #adminForm tr,
body.com_virtuemart.view-user #adminForm fieldset {
  margin: 0 0 14px;
}

body.com_users.view-login .control-label,
body.com_virtuemart.view-user #adminForm .key,
body.com_virtuemart.view-user #adminForm label {
  display: block;
  margin: 0 0 6px;
  color: #39574a;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.25;
}

body.com_users.view-login .optional {
  display: none !important;
}

body.com_users.view-login input.form-control,
body.com_users.view-login .input-group > .form-control,
body.com_virtuemart.view-user input[type="text"],
body.com_virtuemart.view-user input[type="email"],
body.com_virtuemart.view-user input[type="password"],
body.com_virtuemart.view-user input[type="tel"],
body.com_virtuemart.view-user select,
body.com_virtuemart.view-user textarea {
  width: 100% !important;
  min-height: 48px;
  border: 1px solid rgba(31, 122, 67, .22) !important;
  border-radius: 8px !important;
  background: #fbfdfb !important;
  color: #163d28;
  font-size: .98rem;
  font-weight: 650;
  line-height: 1.35;
  box-shadow: none !important;
  outline: 0 !important;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

body.com_users.view-login input.form-control:focus,
body.com_virtuemart.view-user input:focus,
body.com_virtuemart.view-user select:focus,
body.com_virtuemart.view-user textarea:focus {
  border-color: #1f7a43 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 4px rgba(122, 184, 59, .16) !important;
}

body.com_users.view-login .input-group {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48px;
}

body.com_users.view-login .input-password-toggle {
  width: 48px;
  min-height: 48px;
  border: 1px solid rgba(31, 122, 67, .22) !important;
  border-left: 0 !important;
  border-radius: 0 8px 8px 0 !important;
  background: #f3f8f4 !important;
  color: #0e5432 !important;
}

body.com_users.view-login .input-group > .form-control {
  border-radius: 8px 0 0 8px !important;
}

body.com_users.view-login .plg_system_webauthn_login_button {
  display: none !important;
}

body.com_users.view-login .form-check,
body.com_virtuemart.view-user #com-form-login #com-form-login-remember,
body.com_virtuemart.view-user #adminForm .form-check {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #51685d;
  font-weight: 750;
}

body.com_users.view-login input[type="checkbox"],
body.com_virtuemart.view-user input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  accent-color: #1f7a43;
}

body.com_users.view-login .com-users-login__submit .controls,
body.com_users.view-login .com-users-login__submit,
body.com_virtuemart.view-user .buttonBar-right {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 18px;
}

body.com_users.view-login .com-users-login__submit button[type="submit"],
body.com_virtuemart.view-user input[type="submit"],
body.com_virtuemart.view-user button[type="submit"],
body.com_virtuemart.view-user #com-form-login input.default,
body.com_virtuemart.view-user #adminForm .buttonBar-right .button:first-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border: 0 !important;
  border-radius: 8px !important;
  background: linear-gradient(135deg, #116b39, #238344) !important;
  color: #ffffff !important;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 14px 30px rgba(17, 107, 57, .22);
}

body.com_users.view-login .com-users-login__submit button[type="submit"] {
  width: 100%;
}

body.com_users.view-login .com-users-login__submit button[type="submit"]:hover,
body.com_users.view-login .com-users-login__submit button[type="submit"]:focus-visible,
body.com_virtuemart.view-user input[type="submit"]:hover,
body.com_virtuemart.view-user button[type="submit"]:hover,
body.com_virtuemart.view-user #com-form-login input.default:hover,
body.com_virtuemart.view-user #adminForm .buttonBar-right .button:first-child:hover {
  background: linear-gradient(135deg, #0d5630, #1f7a43) !important;
  transform: translateY(-1px);
}

body.com_virtuemart.view-user #adminForm .buttonBar-right .button[type="reset"],
body.com_virtuemart.view-user #adminForm .buttonBar-right .button:last-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid rgba(31, 122, 67, .24) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #103d29 !important;
  font-weight: 900;
}

body.com_users.view-login .com-users-login__options,
body.com_users.view-login .list-group,
body.com_virtuemart.view-user #com-form-login > div:not(:first-child) {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin: 16px 0 0;
  padding: 0;
  border: 0;
}

body.com_users.view-login .list-group-item,
body.com_virtuemart.view-user #com-form-login a {
  width: auto;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #1f7a43 !important;
  font-size: .9rem;
  font-weight: 850;
  text-decoration: none !important;
}

body.com_users.view-login .list-group-item:hover,
body.com_users.view-login .list-group-item:focus-visible,
body.com_virtuemart.view-user #com-form-login a:hover,
body.com_virtuemart.view-user #com-form-login a:focus-visible {
  color: #e0ae23 !important;
}

body.com_virtuemart.view-user main > h1 {
  grid-column: 2;
  margin-bottom: 0;
}

body.com_virtuemart.view-user #com-form-login,
body.com_virtuemart.view-user #adminForm {
  grid-column: 2;
  padding: clamp(18px, 2.4vw, 28px);
}

body.com_virtuemart.view-user #com-form-login {
  display: grid;
  gap: 10px;
}

body.com_virtuemart.view-user #com-form-login .userdata {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
}

body.com_virtuemart.view-user #com-form-login .userdata > div:first-child {
  grid-column: 1 / -1;
  margin: 0;
}

body.com_virtuemart.view-user #com-form-login h2,
body.com_virtuemart.view-user main > h2 {
  margin: 0 0 12px;
  color: #103d29;
  font-size: clamp(1.08rem, 1.4vw, 1.28rem);
  font-weight: 900;
  line-height: 1.18;
}

body.com_virtuemart.view-user main > h2 {
  grid-column: 2;
  margin-top: 4px;
}

body.com_virtuemart.view-user #com-form-login .width30,
body.com_virtuemart.view-user #com-form-login .floatleft {
  width: auto !important;
  float: none !important;
}

body.com_virtuemart.view-user #com-form-login .clr {
  display: none !important;
}

body.com_virtuemart.view-user #adminForm {
  overflow: hidden;
}

body.com_virtuemart.view-user #adminForm .buttonBar-right {
  justify-content: flex-start;
  padding-top: 18px;
  border-top: 1px solid rgba(31, 122, 67, .12);
}

body.com_virtuemart.view-user #adminForm table.adminForm,
body.com_virtuemart.view-user #adminForm table.user-details,
body.com_virtuemart.view-user #adminForm tbody,
body.com_virtuemart.view-user #adminForm tr,
body.com_virtuemart.view-user #adminForm td {
  display: block;
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
}

body.com_virtuemart.view-user #adminForm table.adminForm {
  margin: 0;
}

body.com_virtuemart.view-user #adminForm tbody {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
}

body.com_virtuemart.view-user #adminForm tr {
  margin: 0;
}

body.com_virtuemart.view-user #adminForm fieldset {
  margin: 20px 0 0;
  padding: 18px;
  border: 1px solid rgba(31, 122, 67, .12);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(246, 251, 247, .9), #ffffff);
}

body.com_virtuemart.view-user #adminForm legend.userfields_info {
  float: none;
  width: auto;
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  color: #103d29;
  font-size: 1.08rem;
  font-weight: 900;
}

body.com_virtuemart.view-user #adminForm select {
  appearance: auto;
}

body.com_virtuemart.view-user #adminForm .asterisk,
body.com_users.view-login .star {
  color: #e0ae23;
  font-weight: 900;
}

body.com_virtuemart.view-user #adminForm script,
body.com_virtuemart.view-user main > script {
  display: none !important;
}

@media (max-width: 980px) {
  body.com_users.view-login .container-component > main,
  body.com_virtuemart.view-user .container-component > main {
    grid-template-columns: 1fr;
    gap: 12px;
    width: min(100%, calc(100vw - 16px));
    max-width: calc(100vw - 16px);
    margin-top: 10px;
  }

  body.com_users.view-login .container-component > main::before,
  body.com_virtuemart.view-user .container-component > main::before {
    position: relative;
    top: auto;
    min-height: 112px;
    background:
      linear-gradient(135deg, rgba(9, 62, 35, .94), rgba(20, 126, 67, .92)),
      url('/media/templates/site/agrofen/images/logo-mono.png') center / auto 78% no-repeat;
  }

  body.com_users.view-login .com-users-login,
  body.com_virtuemart.view-user main > h1,
  body.com_virtuemart.view-user main > h2,
  body.com_virtuemart.view-user #com-form-login,
  body.com_virtuemart.view-user #adminForm {
    grid-column: 1;
  }

  body.com_virtuemart.view-user #com-form-login .userdata,
  body.com_virtuemart.view-user #adminForm tbody {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  body.com_users.view-login .com-users-login,
  body.com_virtuemart.view-user #com-form-login,
  body.com_virtuemart.view-user #adminForm {
    padding: 16px;
  }

  body.com_users.view-login .com-users-login__submit .controls,
  body.com_users.view-login .com-users-login__submit,
  body.com_virtuemart.view-user .buttonBar-right {
    flex-direction: column;
    align-items: stretch;
  }

  body.com_virtuemart.view-user #adminForm .buttonBar-right .button,
  body.com_virtuemart.view-user #com-form-login input.default {
    width: 100% !important;
  }
}
/* Account tabs on /index.php/vhod */
body.com_users.view-login .ag-account-card {
  overflow: hidden;
}

body.com_users.view-login .ag-account-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 22px;
  padding: 6px;
  border: 1px solid rgba(31, 122, 67, .14);
  border-radius: 8px;
  background: #f3f8f4;
}

body.com_users.view-login .ag-account-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 8px;
  color: #103d29 !important;
  font-size: .98rem;
  font-weight: 900;
  text-decoration: none !important;
  transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

body.com_users.view-login .ag-account-tab.is-active {
  background: linear-gradient(135deg, #116b39, #238344);
  color: #ffffff !important;
  box-shadow: 0 10px 24px rgba(17, 107, 57, .18);
}

body.com_users.view-login .ag-account-tab:not(.is-active):hover,
body.com_users.view-login .ag-account-tab:not(.is-active):focus-visible {
  background: rgba(224, 174, 35, .16);
}

body.com_users.view-login .ag-account-panel[hidden] {
  display: none !important;
}

body.com_users.view-login .ag-account-tab-heading {
  margin: 0 0 16px;
  color: #103d29;
  font-size: clamp(1.22rem, 1.7vw, 1.55rem);
  font-weight: 900;
  line-height: 1.16;
}

body.com_users.view-login .ag-account-loading {
  padding: 18px;
  border: 1px solid rgba(31, 122, 67, .14);
  border-radius: 8px;
  background: #f6fbf7;
  color: #39574a;
  font-weight: 800;
}

body.com_users.view-login .ag-account-loading a {
  color: #1f7a43 !important;
  font-weight: 900;
  text-decoration: none !important;
}

body.com_users.view-login .ag-account-register #adminForm {
  margin: 0;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible;
}

body.com_users.view-login .ag-account-register #adminForm table.adminForm,
body.com_users.view-login .ag-account-register #adminForm table.user-details,
body.com_users.view-login .ag-account-register #adminForm tbody,
body.com_users.view-login .ag-account-register #adminForm tr,
body.com_users.view-login .ag-account-register #adminForm td {
  display: block;
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
}

body.com_users.view-login .ag-account-register #adminForm table.adminForm {
  margin: 0;
}

body.com_users.view-login .ag-account-register #adminForm tbody {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
}

body.com_users.view-login .ag-account-register #adminForm tr,
body.com_users.view-login .ag-account-register #adminForm fieldset {
  margin: 0 0 14px;
}

body.com_users.view-login .ag-account-register #adminForm fieldset {
  padding: 16px;
  border: 1px solid rgba(31, 122, 67, .12);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(246, 251, 247, .9), #ffffff);
}

body.com_users.view-login .ag-account-register #adminForm legend.userfields_info {
  float: none;
  width: auto;
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  color: #103d29;
  font-size: 1.04rem;
  font-weight: 900;
}

body.com_users.view-login .ag-account-register #adminForm .key,
body.com_users.view-login .ag-account-register #adminForm label {
  display: block;
  margin: 0 0 6px;
  color: #39574a;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.25;
}

body.com_users.view-login .ag-account-register input[type="text"],
body.com_users.view-login .ag-account-register input[type="email"],
body.com_users.view-login .ag-account-register input[type="password"],
body.com_users.view-login .ag-account-register input[type="tel"],
body.com_users.view-login .ag-account-register select,
body.com_users.view-login .ag-account-register textarea {
  width: 100% !important;
  min-height: 48px;
  border: 1px solid rgba(31, 122, 67, .22) !important;
  border-radius: 8px !important;
  background: #fbfdfb !important;
  color: #163d28;
  font-size: .98rem;
  font-weight: 650;
  line-height: 1.35;
  box-shadow: none !important;
  outline: 0 !important;
}

body.com_users.view-login .ag-account-register input:focus,
body.com_users.view-login .ag-account-register select:focus,
body.com_users.view-login .ag-account-register textarea:focus {
  border-color: #1f7a43 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 4px rgba(122, 184, 59, .16) !important;
}

body.com_users.view-login .ag-account-register #adminForm .buttonBar-right {
  display: flex;
  justify-content: flex-start;
  gap: 10px;
  align-items: center;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(31, 122, 67, .12);
}

body.com_users.view-login .ag-account-register #adminForm .buttonBar-right .button:first-child,
body.com_users.view-login .ag-account-register #adminForm input[type="submit"],
body.com_users.view-login .ag-account-register #adminForm button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border: 0 !important;
  border-radius: 8px !important;
  background: linear-gradient(135deg, #116b39, #238344) !important;
  color: #ffffff !important;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 14px 30px rgba(17, 107, 57, .22);
}

body.com_users.view-login .ag-account-register #adminForm .buttonBar-right .button:last-child,
body.com_users.view-login .ag-account-register #adminForm .button[type="reset"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid rgba(31, 122, 67, .24) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #103d29 !important;
  font-weight: 900;
}

@media (max-width: 980px) {
  body.com_users.view-login .ag-account-register #adminForm tbody {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  body.com_users.view-login .ag-account-tabs {
    gap: 6px;
    margin-bottom: 16px;
  }

  body.com_users.view-login .ag-account-tab {
    min-height: 40px;
    padding: 0 10px;
    font-size: .92rem;
  }

  body.com_users.view-login .ag-account-register #adminForm .buttonBar-right {
    flex-direction: column;
    align-items: stretch;
  }

  body.com_users.view-login .ag-account-register #adminForm .buttonBar-right .button,
  body.com_users.view-login .ag-account-register #adminForm input[type="submit"] {
    width: 100% !important;
  }
}
/* Account page: compact single-column layout without the green promo block */
body.com_users.view-login .container-component > main,
body.com_virtuemart.view-user .container-component > main {
  grid-template-columns: minmax(0, min(100%, 760px));
  justify-content: center;
}

body.com_users.view-login .container-component > main::before,
body.com_virtuemart.view-user .container-component > main::before {
  content: none !important;
  display: none !important;
}

body.com_users.view-login .com-users-login,
body.com_virtuemart.view-user main > h1,
body.com_virtuemart.view-user main > h2,
body.com_virtuemart.view-user #com-form-login,
body.com_virtuemart.view-user #adminForm {
  grid-column: 1;
}

body.com_users.view-login .com-users-login__submit,
body.com_users.view-login .ag-account-register #adminForm .buttonBar-right,
body.com_virtuemart.view-user .buttonBar-right {
  margin-bottom: 12px;
}
/* Account page: more breathing room inside bordered panels */
body.com_users.view-login .com-users-login {
  padding-block: clamp(28px, 3vw, 42px) !important;
}

body.com_virtuemart.view-user #com-form-login,
body.com_virtuemart.view-user #adminForm {
  padding-block: clamp(24px, 2.6vw, 36px) !important;
}

body.com_users.view-login .ag-account-register #adminForm fieldset,
body.com_virtuemart.view-user #adminForm fieldset {
  padding-block: clamp(18px, 2vw, 26px);
}
/* VirtueMart custom option validation */
body.com_virtuemart .cf4all_has_error .cf4all_error_msg {
  display: block !important;
  margin: 0 0 10px;
  color: #b3261e;
  font-size: .88rem;
  font-weight: 800;
}

/* Agrofen cart/search/checkout active polish - 2026-07-25 */
.container-header {
  position: sticky;
  top: 0;
  z-index: 1100;
  transition: transform .24s ease, box-shadow .24s ease;
  will-change: transform;
}

body.ag-header-hidden .container-header {
  transform: translateY(calc(-100% - 8px));
}

body.ag-offcanvas-open .container-header {
  transform: translateY(0) !important;
}

/* Mobile fixed header reveal */
@media (max-width: 980px) {
  :root {
    --ag-header-height: 162px;
  }

  body {
    padding-top: var(--ag-header-height);
  }

  .container-header {
    position: fixed !important;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
  }
}

@media (min-width: 981px) {
  .ag-primary-nav ul,
  .ag-primary-nav .mod-menu {
    flex-wrap: nowrap !important;
    justify-content: center;
    gap: clamp(10px, 1.15vw, 28px) !important;
  }

  .ag-primary-nav a,
  .ag-primary-nav .nav-header,
  .ag-primary-nav .separator {
    min-height: 54px;
    padding-inline: clamp(6px, .9vw, 16px) !important;
    font-size: clamp(.84rem, .86vw, 1rem) !important;
    white-space: nowrap;
  }
}

.ag-cart-offcanvas__body {
  overflow-y: auto;
}

.ag-cart-drawer-products {
  display: grid;
  gap: 0;
}

.ag-cart-drawer-product {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid #edf3ea;
}

.ag-cart-drawer-product__image {
  display: grid;
  place-items: center;
  width: 78px;
  height: 78px;
  border: 1px solid #e1eadf;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.ag-cart-drawer-product__image img {
  width: 100%;
  height: 100%;
  padding: 7px;
  object-fit: contain;
}

.ag-cart-drawer-product__body {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.ag-cart-drawer-product__title {
  color: #111711 !important;
  font-size: .98rem;
  font-weight: 900;
  line-height: 1.2;
  text-decoration: none !important;
}

.ag-cart-drawer-product__title:hover,
.ag-cart-drawer-product__title:focus-visible {
  color: var(--ag-green-700) !important;
}

.ag-cart-drawer-product__custom {
  color: #66736b;
  font-size: .84rem;
  line-height: 1.28;
}

.ag-cart-drawer-product__meta {
  color: var(--ag-green-900);
  font-size: .94rem;
  font-weight: 850;
}

.ag-header-search .ag-search-results-panel {
  display: grid;
  max-height: min(62vh, 520px);
  overflow-y: auto;
}

.ag-header-search .ag-search-heading,
.ag-header-search .ag-search-loading,
.ag-header-search .ag-search-empty {
  padding: 12px 16px;
  border-bottom: 1px solid #e4efe3;
  background: #f4faf2;
  color: var(--ag-green-900);
  font-size: .86rem;
  font-weight: 900;
}

.ag-header-search .ag-search-empty,
.ag-header-search .ag-search-loading {
  border-bottom: 0;
  background: #fff;
  color: #66736b;
}

.ag-header-search .ag-search-result {
  display: grid !important;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 11px 14px !important;
  border-bottom: 1px solid #edf4ec;
  color: #15251b !important;
  text-decoration: none !important;
}

.ag-header-search .ag-search-result:hover,
.ag-header-search .ag-search-result:focus-visible {
  background: #f7fbf4;
}

.ag-header-search .ag-search-result__image {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border: 1px solid #e1eadf;
  border-radius: 8px;
  background: #fff;
}

.ag-header-search .ag-search-result__image img {
  width: 100%;
  height: 100%;
  padding: 5px;
  object-fit: contain;
}

.ag-header-search .ag-search-result__body {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.ag-header-search .ag-search-result__body strong {
  color: var(--ag-green-900);
  font-size: .98rem;
  font-weight: 900;
  line-height: 1.22;
}

.ag-header-search .ag-search-result__body small {
  color: #66736b;
  font-size: .8rem;
  font-weight: 650;
  line-height: 1.25;
}

.ag-header-search .ag-search-result__prices {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.ag-header-search .ag-search-result__prices b {
  color: var(--ag-green-700);
  font-size: .94rem;
  font-weight: 950;
}

.ag-header-search .ag-search-result__prices em {
  color: #6f776f;
  font-size: .8rem;
  font-style: normal;
  font-weight: 750;
}

.ag-header-search .ag-search-all {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 14px;
  background: #f4faf2;
  color: var(--ag-green-900) !important;
  font-weight: 950;
  text-decoration: none !important;
}

.ag-header-search .ag-search-all:hover,
.ag-header-search .ag-search-all:focus-visible {
  background: #eaf6e8;
  color: var(--ag-green-700) !important;
}

.ag-header-search .ag-search-count {
  padding: 10px 14px 12px;
  background: #fff;
  color: #66736b;
  font-size: .78rem;
  font-weight: 750;
  text-align: center;
}

body.view-cart .ag-checkout-form {
  align-items: start;
}

body.view-cart .ag-checkout-details,
body.view-cart .ag-checkout-summary {
  border-color: #dfeade !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}

body.view-cart .ag-checkout-panel-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 20px;
  padding: 0 0 16px;
  border-bottom: 1px solid #edf3ea;
}

body.view-cart .ag-checkout-panel-heading span {
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: linear-gradient(135deg, #116b39, #238344);
  color: #fff;
  font-weight: 950;
}

body.view-cart .ag-checkout-panel-heading strong {
  display: block;
  color: var(--ag-green-900);
  font-size: 1.12rem;
  font-weight: 950;
  line-height: 1.12;
}

body.view-cart .ag-checkout-panel-heading small {
  display: block;
  margin-top: 3px;
  color: #66736b;
  font-size: .88rem;
  font-weight: 650;
}

body.view-cart .vm-checkout-register-userfields,
body.view-cart .vm-checkout-billing-userfields,
body.view-cart .vm-checkout-shipping-userfields,
body.view-cart .vm-checkout-shipping,
body.view-cart .vm-checkout-payment {
  margin-bottom: 18px !important;
  padding: 16px;
  border: 1px solid #edf3ea;
  border-radius: 8px;
  background: #fbfdfb;
}

body.view-cart .vm-checkout-register-userfields .bg-light,
body.view-cart .vm-checkout-billing-userfields .bg-light,
body.view-cart .vm-checkout-shipping-userfields .bg-light {
  padding: 0 !important;
  background: transparent !important;
}

body.view-cart #checkoutForm input[type="text"],
body.view-cart #checkoutForm input[type="email"],
body.view-cart #checkoutForm input[type="tel"],
body.view-cart #checkoutForm input[type="password"],
body.view-cart #checkoutForm select,
body.view-cart #checkoutForm textarea {
  width: 100% !important;
  min-height: 48px;
  border: 1px solid rgba(31, 122, 67, .2) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #163d28;
  box-shadow: none !important;
}

body.view-cart #checkoutForm label,
body.view-cart #checkoutForm .form-label {
  color: #365648;
  font-weight: 850;
}

body.view-cart .vm-shipment-select .list-group,
body.view-cart .vm-payment-shipment-select .list-group {
  display: grid;
  gap: 10px;
  margin: 0;
}

body.view-cart .vm-shipment-plugin-single,
body.view-cart .vm-payment-plugin-single {
  align-items: flex-start !important;
  gap: 10px;
  border: 1px solid #dfeade !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #163d28;
  font-weight: 800;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

body.view-cart .vm-shipment-plugin-single.list-group-item-primary,
body.view-cart .vm-payment-plugin-single.list-group-item-primary,
body.view-cart .vm-shipment-plugin-single:has(input:checked),
body.view-cart .vm-payment-plugin-single:has(input:checked) {
  border-color: #1f7a43 !important;
  background: #eef8ed !important;
  box-shadow: 0 0 0 3px rgba(31, 122, 67, .09);
}

body.view-cart .vm-shipment-plugin-single input,
body.view-cart .vm-payment-plugin-single input {
  flex: 0 0 auto;
  margin-top: 4px;
  accent-color: #1f7a43;
}

body.view-cart .vm-checkout-products > .row {
  display: grid !important;
  grid-template-columns: 86px minmax(0, 1fr) !important;
  gap: 14px;
  align-items: center !important;
}

body.view-cart .vm-checkout-products > .row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

body.view-cart .vm-checkout-products > .row > .col-md-10 > .row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center !important;
  margin: 0 !important;
}

body.view-cart .vm-checkout-products > .row > .col-md-10 > .row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

body.view-cart .vm-cart-item-quantity .input-group {
  justify-content: center !important;
}

@media (max-width: 720px) {
  .ag-cart-drawer-product {
    grid-template-columns: 66px minmax(0, 1fr);
    gap: 12px;
  }

  .ag-cart-drawer-product__image {
    width: 66px;
    height: 66px;
  }

  .ag-header-search .ag-search-result {
    grid-template-columns: 54px minmax(0, 1fr);
    padding: 10px 12px !important;
  }

  .ag-header-search .ag-search-result__image {
    width: 54px;
    height: 54px;
  }

  body.view-cart .vm-checkout-products > .row,
  body.view-cart .vm-checkout-products > .row > .col-md-10 > .row {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  body.view-cart .vm-cart-item-basicprice,
  body.view-cart .vm-checkout-products .text-end {
    text-align: left !important;
  }
}
body.view-cart .vm-checkout-login,
body.view-cart .payments-signin-button {
  display: none !important;
}
/* Agrofen cart drawer order item polish - 2026-07-25 */
.ag-cart-drawer-product {
  grid-template-columns: 78px minmax(0, 1fr) minmax(84px, auto);
  align-items: start;
}

.ag-cart-drawer-product__body {
  align-self: center;
}

.ag-cart-drawer-product__meta {
  display: inline-flex;
  width: fit-content;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  padding: 3px 10px;
  border: 1px solid #e5eee2;
  border-radius: 8px;
  background: #fbfdf9;
  color: #111711;
  font-weight: 900;
}

.ag-cart-drawer-product__price {
  display: grid;
  gap: 4px;
  justify-items: end;
  align-self: center;
  min-width: 78px;
  color: #111711;
  line-height: 1.05;
  text-align: right;
}

.ag-cart-drawer-product__price strong {
  color: #111711;
  font-size: 1.03rem;
  font-weight: 950;
  white-space: nowrap;
}

.ag-cart-drawer-product__price em {
  color: #26352d;
  font-size: .82rem;
  font-style: normal;
  font-weight: 850;
  white-space: nowrap;
}

.ag-cart-offcanvas__total strong {
  white-space: normal;
}

@media (max-width: 560px) {
  .ag-cart-offcanvas {
    width: min(100vw, 648px) !important;
  }

  .ag-cart-drawer-product {
    grid-template-columns: 66px minmax(0, 1fr);
    align-items: center;
  }

  .ag-cart-drawer-product__price {
    grid-column: 2;
    justify-items: start;
    text-align: left;
    min-width: 0;
  }

  .ag-cart-drawer-product__price strong {
    font-size: 1rem;
  }
}
/* Politiv cut-to-size product */
body.view-productdetails .ag-cut-product {
  gap: 14px;
}

body.view-productdetails .ag-cut-product .ag-cut-guide,
body.view-productdetails .ag-cut-product .ag-cut-calculator {
  width: 100%;
  border: 1px solid #d9ead7;
  border-radius: 10px;
  background: linear-gradient(180deg, #fbfef9, #f3faf1);
  box-shadow: 0 14px 34px rgba(15, 74, 42, .08);
}

body.view-productdetails .ag-cut-product .ag-cut-guide {
  padding: 16px 18px;
  color: var(--ag-green-900);
}

body.view-productdetails .ag-cut-product .ag-cut-guide strong {
  display: block;
  margin-bottom: 6px;
  font-size: 1.05rem;
  font-weight: 950;
}

body.view-productdetails .ag-cut-product .ag-cut-guide p {
  margin: 0 0 12px;
  color: #607063;
  font-size: .92rem;
  line-height: 1.45;
}

body.view-productdetails .ag-cut-product .ag-cut-guide ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.view-productdetails .ag-cut-product .ag-cut-guide li {
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid rgba(31, 122, 67, .16);
  border-radius: 8px;
  background: #fff;
  color: var(--ag-green-900);
  font-size: .84rem;
  font-weight: 850;
  line-height: 1.25;
}

body.view-productdetails .ag-cut-product .product-field-type-E {
  display: grid !important;
  width: 100%;
  gap: 10px !important;
}

body.view-productdetails .ag-cut-product .product-fields-title-wrapper,
body.view-productdetails .ag-cut-product .product-field-display,
body.view-productdetails .ag-cut-product .cf4all_wrapper {
  width: 100%;
}

body.view-productdetails .ag-cut-product .product-fields-title {
  color: var(--ag-green-900) !important;
  font-size: .98rem !important;
  font-weight: 950 !important;
  text-transform: none !important;
}

body.view-productdetails .ag-cut-product .ag-cut-option-hint {
  margin-top: 3px;
  color: #68786b;
  font-size: .84rem;
  font-weight: 650;
  line-height: 1.35;
}

body.view-productdetails .ag-cut-product .cf4all_wrapper.cf4all_buttons {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(78px, 1fr));
  gap: 8px;
}

body.view-productdetails .ag-cut-product .inline-control-group {
  display: block !important;
  margin: 0 !important;
}

body.view-productdetails .ag-cut-product .product-field-display label.cf4all_button {
  display: grid !important;
  place-items: center;
  min-height: 58px !important;
  padding: 9px 10px !important;
  border: 1px solid #cfe3cf !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: var(--ag-green-900) !important;
  box-shadow: 0 8px 20px rgba(16, 61, 41, .06);
  text-align: center;
  transition: transform .16s ease, border-color .16s ease, background-color .16s ease, color .16s ease, box-shadow .16s ease;
}

body.view-productdetails .ag-cut-product .product-field-display label.cf4all_button span {
  font-size: 1rem;
  font-weight: 950;
  line-height: 1.1;
}

body.view-productdetails .ag-cut-product .product-field-display label.cf4all_button small {
  margin-top: 3px;
  color: inherit;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1;
  opacity: .72;
}

body.view-productdetails .ag-cut-product .product-field-display label.cf4all_button:hover,
body.view-productdetails .ag-cut-product .product-field-display label.cf4all_button:focus-visible {
  border-color: #f2b632 !important;
  transform: translateY(-1px);
}

body.view-productdetails .ag-cut-product .product-field-display .cf4all_radio:checked + label.cf4all_button {
  border-color: var(--ag-green-800) !important;
  background: linear-gradient(135deg, var(--ag-green-800), var(--ag-green-700)) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 28px rgba(31, 122, 67, .2);
}

body.view-productdetails .ag-cut-product .ag-cut-price-note {
  max-width: 460px;
  margin-top: 7px;
  color: #68786b;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.35;
}

body.view-productdetails .ag-cut-product .ag-cut-calculator {
  display: grid;
  gap: 12px;
  margin: 2px 0 14px;
  padding: 14px;
}

body.view-productdetails .ag-cut-product .ag-cut-calculator__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

body.view-productdetails .ag-cut-product .ag-cut-calculator__head strong {
  color: var(--ag-green-900);
  font-size: 1.02rem;
  font-weight: 950;
}

body.view-productdetails .ag-cut-product .ag-cut-calculator__head span {
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(31, 122, 67, .1);
  color: var(--ag-green-800);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

body.view-productdetails .ag-cut-product .ag-cut-calculator__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

body.view-productdetails .ag-cut-product .ag-cut-calculator__grid > div {
  min-height: 72px;
  padding: 11px 12px;
  border: 1px solid rgba(31, 122, 67, .14);
  border-radius: 8px;
  background: #ffffff;
}

body.view-productdetails .ag-cut-product .ag-cut-calculator__grid span {
  display: block;
  margin-bottom: 5px;
  color: #68786b;
  font-size: .72rem;
  font-weight: 850;
  text-transform: uppercase;
}

body.view-productdetails .ag-cut-product .ag-cut-calculator__grid strong {
  display: block;
  color: var(--ag-green-900);
  font-size: 1rem;
  font-weight: 950;
  line-height: 1.15;
}

body.view-productdetails .ag-cut-product .ag-cut-calculator__grid em {
  display: block;
  margin-top: 3px;
  color: #69746b;
  font-size: .82rem;
  font-style: normal;
  font-weight: 800;
}

body.view-productdetails .ag-cut-product .ag-cut-calculator p,
body.view-productdetails .ag-cut-product .ag-cut-validation {
  margin: 0;
  color: #607063;
  font-size: .86rem;
  font-weight: 750;
  line-height: 1.35;
}

body.view-productdetails .ag-cut-product .ag-cut-validation {
  padding: 10px 12px;
  border: 1px solid rgba(179, 38, 30, .22);
  border-radius: 8px;
  background: #fff5f3;
  color: #b3261e;
}

body.view-productdetails .ag-cut-product .addtocart-bar,
body.view-productdetails .ag-cut-product .addtocart-bar > .row {
  max-width: none !important;
}

body.view-productdetails .ag-cut-product .addtocart-bar > .row {
  grid-template-columns: minmax(148px, 180px) minmax(0, 1fr) !important;
}

body.view-productdetails .ag-cut-product .addtocart-bar > .row > .col-auto {
  display: grid !important;
  gap: 6px;
}

body.view-productdetails .ag-cut-product .ag-cut-length-label {
  display: block !important;
  margin: 0;
  color: var(--ag-green-900);
  font-size: .84rem;
  font-weight: 950;
}

body.view-productdetails .ag-cut-product .quantity-box,
body.view-productdetails .ag-cut-product .addtocart-bar .input-group {
  border-color: #cfe3cf !important;
  box-shadow: 0 8px 20px rgba(16, 61, 41, .06);
}

body.view-productdetails .ag-cut-product .addtocart-button,
body.view-productdetails .ag-cut-product input.addtocart-button {
  min-height: 52px !important;
  border-radius: 10px !important;
}

@media (max-width: 720px) {
  body.view-productdetails .ag-cut-product .ag-cut-guide ol,
  body.view-productdetails .ag-cut-product .ag-cut-calculator__grid {
    grid-template-columns: 1fr 1fr;
  }

  body.view-productdetails .ag-cut-product .addtocart-bar > .row {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 460px) {
  body.view-productdetails .ag-cut-product .cf4all_wrapper.cf4all_buttons,
  body.view-productdetails .ag-cut-product .ag-cut-guide ol,
  body.view-productdetails .ag-cut-product .ag-cut-calculator__grid {
    grid-template-columns: 1fr 1fr;
  }

  body.view-productdetails .ag-cut-product .ag-cut-guide,
  body.view-productdetails .ag-cut-product .ag-cut-calculator {
    padding: 12px;
  }
}
/* Politiv cut-to-size refinements */
body.view-productdetails .ag-cut-product .ag-cut-guide {
  margin-bottom: 16px !important;
  padding: 20px 22px !important;
}

body.view-productdetails .ag-cut-product .product-field-type-E {
  margin-top: 2px !important;
  margin-bottom: 14px !important;
  padding: 18px 20px !important;
  border: 1px solid #d9ead7 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 26px rgba(15, 74, 42, .06);
}

body.view-productdetails .ag-cut-product .ag-cut-price-note {
  display: block;
  max-width: none;
  margin: 12px 0 2px !important;
  padding: 11px 13px !important;
  border: 1px solid rgba(31, 122, 67, .18);
  border-radius: 8px;
  background: #f3faf1;
  color: var(--ag-green-900) !important;
  font-size: .88rem !important;
  font-weight: 850 !important;
}

body.view-productdetails .ag-cut-product .product-field-display input.cf4all_radio:checked + label.cf4all_button,
body.view-productdetails .ag-cut-product .product-field-display input.cf4all_radio:checked ~ label.cf4all_button,
body.view-productdetails .ag-cut-product .product-field-display .inline-control-group:has(input.cf4all_radio:checked) label.cf4all_button,
body.view-productdetails .ag-cut-product .product-field-display label.cf4all_button.active,
body.view-productdetails .ag-cut-product .product-field-display label.cf4all_button.checked,
body.view-productdetails .ag-cut-product .product-field-display label.cf4all_button.cf4all_selected,
body.view-productdetails .ag-cut-product .product-field-display label.cf4all_button.is-active {
  border-color: var(--ag-green-800) !important;
  background: linear-gradient(135deg, var(--ag-green-800), var(--ag-green-700)) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 28px rgba(31, 122, 67, .22) !important;
}

body.view-productdetails .ag-cut-product .product-field-display input.cf4all_radio:checked + label.cf4all_button span,
body.view-productdetails .ag-cut-product .product-field-display input.cf4all_radio:checked + label.cf4all_button small,
body.view-productdetails .ag-cut-product .product-field-display input.cf4all_radio:checked ~ label.cf4all_button span,
body.view-productdetails .ag-cut-product .product-field-display input.cf4all_radio:checked ~ label.cf4all_button small,
body.view-productdetails .ag-cut-product .product-field-display .inline-control-group:has(input.cf4all_radio:checked) label.cf4all_button span,
body.view-productdetails .ag-cut-product .product-field-display .inline-control-group:has(input.cf4all_radio:checked) label.cf4all_button small {
  color: #ffffff !important;
  opacity: .95;
}

@media (max-width: 460px) {
  body.view-productdetails .ag-cut-product .ag-cut-guide,
  body.view-productdetails .ag-cut-product .product-field-type-E {
    padding: 15px !important;
  }
}
body.ag-cut-product-page.view-productdetails .ag-cut-price-note,
body.ag-cut-product-page .ag-cut-price-note {
  display: block !important;
  max-width: none !important;
  margin: 12px 0 2px !important;
  padding: 11px 13px !important;
  border: 1px solid rgba(31, 122, 67, .18) !important;
  border-radius: 8px !important;
  background: #f3faf1 !important;
  color: var(--ag-green-900) !important;
  font-size: .88rem !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
}

body.ag-cut-product-page.view-productdetails .cf4all_wrapper input.cf4all_radio:checked + label.cf4all_button,
body.ag-cut-product-page.view-productdetails .cf4all_wrapper input.cf4all_radio:checked ~ label.cf4all_button {
  border-color: var(--ag-green-800) !important;
  background-color: var(--ag-green-800) !important;
  background-image: linear-gradient(135deg, var(--ag-green-800), var(--ag-green-700)) !important;
  color: #ffffff !important;
}
body.ag-cut-product-page.view-productdetails .cf4all_wrapper input.cf4all_radio:checked + label.cf4all_button,
body.ag-cut-product-page.view-productdetails .cf4all_wrapper input.cf4all_radio:checked ~ label.cf4all_button,
body.view-productdetails .ag-cut-product .product-field-display input.cf4all_radio:checked + label.cf4all_button,
body.view-productdetails .ag-cut-product .product-field-display input.cf4all_radio:checked ~ label.cf4all_button {
  --button-background-color: var(--ag-green-800) !important;
  --button-text-color: #ffffff !important;
  --button-border-color: var(--ag-green-800) !important;
  background-color: var(--ag-green-800) !important;
  border-color: var(--ag-green-800) !important;
  color: #ffffff !important;
}
/* Politiv full-width cut controls */
body.ag-cut-product-page.view-productdetails .vm-product-details-container {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

body.ag-cut-product-page.view-productdetails .vm-product-details-container > *,
body.ag-cut-product-page.view-productdetails .product-price,
body.ag-cut-product-page.view-productdetails .ag-cut-price-note,
body.ag-cut-product-page.view-productdetails .ag-cut-guide,
body.ag-cut-product-page.view-productdetails .product-fields,
body.ag-cut-product-page.view-productdetails .product-field-type-E,
body.ag-cut-product-page.view-productdetails .product-field-display,
body.ag-cut-product-page.view-productdetails .cf4all_wrapper,
body.ag-cut-product-page.view-productdetails .ag-cut-calculator,
body.ag-cut-product-page.view-productdetails .addtocart-area,
body.ag-cut-product-page.view-productdetails .addtocart-bar {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.ag-cut-product-page.view-productdetails .ag-cut-guide,
body.ag-cut-product-page.view-productdetails .product-field-type-E,
body.ag-cut-product-page.view-productdetails .ag-cut-calculator,
body.ag-cut-product-page.view-productdetails .ag-cut-price-note {
  align-self: stretch !important;
}

body.ag-cut-product-page.view-productdetails .ag-cut-product .cf4all_wrapper.cf4all_buttons {
  grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)) !important;
}
/* Standard product option spacing */
body.view-productdetails:not(.ag-cut-product-page) .product-fields,
body.view-productdetails:not(.ag-cut-product-page) .vm-customfields-wrap,
body.view-productdetails:not(.ag-cut-product-page) .cf-position-normal {
  display: grid !important;
  gap: 12px !important;
  width: 100% !important;
}

body.view-productdetails:not(.ag-cut-product-page) .product-field,
body.view-productdetails:not(.ag-cut-product-page) .product-fields .product-field,
body.view-productdetails:not(.ag-cut-product-page) .cf-position-normal li {
  padding: 12px 14px !important;
}

body.view-productdetails:not(.ag-cut-product-page) .product-field .product-fields-title-wrapper,
body.view-productdetails:not(.ag-cut-product-page) .product-field .product-fields-title {
  margin: 0 !important;
}

body.view-productdetails:not(.ag-cut-product-page) .product-field .product-field-display {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

body.view-productdetails:not(.ag-cut-product-page) .product-field .product-field-display label.cf4all_button,
body.view-productdetails:not(.ag-cut-product-page) .product-field .product-field-display .cf4all_button {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media (max-width: 560px) {
  body.view-productdetails:not(.ag-cut-product-page) .product-field,
  body.view-productdetails:not(.ag-cut-product-page) .product-fields .product-field,
  body.view-productdetails:not(.ag-cut-product-page) .cf-position-normal li {
    padding: 12px !important;
  }
}
/* Contact page */
body.com_content.view-article.itemid-119 .site-grid,
body.com_content.view-article.itemid-119 .grid-child.container-component,
body.com_content.view-article.itemid-119 .container-component {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

body.com_content.view-article.itemid-119 .container-component {
  padding-inline: 0 !important;
}

body.com_content.view-article.itemid-119 .container-component > main {
  width: 100%;
  max-width: 1480px;
  margin: 10px auto 0 !important;
  padding: 0 clamp(12px, 2.6vw, 32px) 38px !important;
}

body.com_content.view-article.itemid-119 .com-content-article.item-page {
  margin-inline: auto;
}

body.com_content.view-article.itemid-119 .com-content-article .article-info {
  display: none !important;
}

body.com_content.view-article.itemid-119 .com-content-article .page-header {
  margin: 0 0 18px;
  text-align: center;
}

body.com_content.view-article.itemid-119 .com-content-article .page-header h1 {
  margin: 0;
  color: var(--ag-green-900);
  font-size: clamp(2rem, 3.4vw, 3.25rem);
  font-weight: 950;
  line-height: 1.08;
}

body.com_content.view-article.itemid-119 .com-content-article__body {
  width: 100%;
}

.ag-contact-page {
  color: var(--ag-ink);
}

.ag-contact-hero {
  max-width: 940px;
  margin: 0 auto 24px;
  text-align: center;
}

.ag-contact-kicker {
  margin: 0 0 8px !important;
  color: var(--ag-amber-500);
  font-size: .86rem;
  font-weight: 950;
  text-transform: uppercase;
}

.ag-contact-hero h2 {
  margin: 0 0 10px;
  color: var(--ag-green-900);
  font-size: clamp(1.55rem, 2.6vw, 2.45rem);
  font-weight: 950;
  line-height: 1.12;
}

.ag-contact-hero p:not(.ag-contact-kicker) {
  margin: 0 auto !important;
  max-width: 760px;
  color: var(--ag-muted);
  font-size: clamp(1rem, 1.1vw, 1.08rem);
  line-height: 1.65;
}

.ag-contact-grid {
  display: grid;
  grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr);
  gap: clamp(16px, 2.4vw, 28px);
  align-items: start;
}

.ag-contact-info-card,
.ag-contact-form-card {
  border: 1px solid rgba(31, 122, 67, .14);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(20, 63, 42, .08);
}

.ag-contact-info-card {
  overflow: hidden;
}

.ag-contact-call-card {
  position: relative;
  padding: clamp(22px, 3vw, 34px);
  background: linear-gradient(135deg, var(--ag-green-900), var(--ag-green-700));
  color: #fff;
}

.ag-contact-call-card::after {
  content: "";
  position: absolute;
  right: -54px;
  bottom: -70px;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .08);
}

.ag-contact-call-card > * {
  position: relative;
  z-index: 1;
}

.ag-contact-call-card__icon {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-bottom: 18px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .16);
  color: #fff;
  font-size: 1.25rem;
}

.ag-contact-call-card h3 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  font-weight: 950;
  line-height: 1.14;
}

.ag-contact-call-card p {
  margin: 0 0 18px !important;
  color: rgba(255, 255, 255, .86);
  line-height: 1.55;
}

.ag-contact-phone-main {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  padding: 0 20px;
  border-radius: 999px;
  background: #fff;
  color: var(--ag-green-900) !important;
  font-size: clamp(1.25rem, 2.4vw, 1.6rem);
  font-weight: 950;
  text-decoration: none !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .16);
}

.ag-contact-phone-main:hover,
.ag-contact-phone-main:focus {
  transform: translateY(-1px);
}

.ag-contact-info-list {
  display: grid;
  gap: 12px;
  padding: clamp(18px, 2.4vw, 26px);
}

.ag-contact-info-item {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(31, 122, 67, .12);
  border-radius: 8px;
  background: #fbfdf9;
}

.ag-contact-info-item i {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: linear-gradient(135deg, #eef7ec, #f7f0dc);
  color: var(--ag-green-700);
}

.ag-contact-info-item span {
  display: block;
  color: var(--ag-muted);
  font-size: .9rem;
  font-weight: 800;
}

.ag-contact-info-item strong,
.ag-contact-info-item a {
  display: inline-block;
  margin-top: 2px;
  color: var(--ag-green-900) !important;
  font-size: 1.06rem;
  font-weight: 950;
  line-height: 1.25;
  text-decoration: none !important;
}

.ag-contact-form-card {
  padding: clamp(18px, 2.6vw, 32px);
}

.ag-contact-form-head {
  margin-bottom: 18px;
}

.ag-contact-form-head h3 {
  margin: 0 0 7px;
  color: var(--ag-green-900);
  font-size: clamp(1.45rem, 2.1vw, 2.05rem);
  font-weight: 950;
  line-height: 1.14;
}

.ag-contact-form-head p {
  margin: 0 !important;
  color: var(--ag-muted);
  line-height: 1.55;
}

.ag-contact-form-card #userForm,
.ag-contact-form-card .formContainer,
.ag-contact-form-card .formContainer .row,
.ag-contact-form-card .formContainer [class*="col-sm-"] {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ag-contact-form-card .formContainer {
  border: 0 !important;
}

.ag-contact-form-card .rsform-block-header {
  display: none !important;
}

.ag-contact-form-card .form-group.rsform-block {
  display: block !important;
  margin: 0 0 14px !important;
}

.ag-contact-form-card .formControlLabel {
  display: block !important;
  width: 100% !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  color: var(--ag-green-900);
  font-size: .95rem;
  font-weight: 900;
  line-height: 1.25;
  text-align: left !important;
}

.ag-contact-form-card .formControls {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ag-contact-form-card .form-control,
.ag-contact-form-card input.rsform-input-box,
.ag-contact-form-card select.rsform-select-box,
.ag-contact-form-card textarea.rsform-text-box {
  width: 100% !important;
  min-height: 52px;
  border: 1px solid rgba(31, 122, 67, .2) !important;
  border-radius: 8px !important;
  background: #fff;
  color: var(--ag-ink);
  font-size: 1rem;
  font-weight: 750;
  box-shadow: none !important;
}

.ag-contact-form-card textarea.rsform-text-box {
  min-height: 128px;
  resize: vertical;
}

.ag-contact-form-card .form-control:focus,
.ag-contact-form-card input.rsform-input-box:focus,
.ag-contact-form-card select.rsform-select-box:focus,
.ag-contact-form-card textarea.rsform-text-box:focus {
  border-color: var(--ag-green-700) !important;
  box-shadow: 0 0 0 3px rgba(47, 139, 76, .15) !important;
}

.ag-contact-form-card .checkbox-inline {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  margin: 0 0 8px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(31, 122, 67, .12);
  border-radius: 8px;
  background: #fbfdf9;
  color: var(--ag-ink);
  font-weight: 750;
  white-space: normal;
}

.ag-contact-form-card .checkbox-inline input {
  position: static !important;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 2px 0 0 !important;
  accent-color: var(--ag-green-700);
}

.ag-contact-form-card .formValidation {
  margin: 6px 0 0 !important;
  color: #b44c1f;
  font-size: .88rem;
  font-weight: 750;
}

.ag-contact-form-card .rsform-submit-button,
.ag-contact-form-card .btn-primary {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  width: 100%;
  border: 0 !important;
  border-radius: 8px !important;
  background: linear-gradient(135deg, var(--ag-green-700), var(--ag-green-900)) !important;
  color: #fff !important;
  font-size: 1.08rem;
  font-weight: 950;
  text-transform: uppercase;
  box-shadow: 0 16px 32px rgba(31, 122, 67, .22);
}

.ag-contact-form-card .rsform-submit-button:hover,
.ag-contact-form-card .rsform-submit-button:focus {
  transform: translateY(-1px);
}

.ag-contact-form-card .rsform-block-footer {
  margin-top: 14px;
  padding: 13px 14px;
  border-radius: 8px;
  background: #f3faf1;
  color: var(--ag-muted);
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.5;
}

@media (max-width: 960px) {
  .ag-contact-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  body.com_content.view-article.itemid-119 .container-component > main {
    padding-inline: 12px !important;
  }

  .ag-contact-hero {
    margin-bottom: 16px;
    text-align: left;
  }

  body.com_content.view-article.itemid-119 .com-content-article .page-header {
    text-align: left;
  }

  .ag-contact-call-card,
  .ag-contact-info-list,
  .ag-contact-form-card {
    padding: 16px;
  }

  .ag-contact-phone-main {
    width: 100%;
  }

  .ag-contact-info-item {
    grid-template-columns: 40px minmax(0, 1fr);
    padding: 12px;
  }

  .ag-contact-info-item i {
    width: 40px;
    height: 40px;
  }
}
/* Product quick order */
.ag-quick-order {
  margin-top: 14px;
}

.ag-quick-order__toggle,
.ag-quick-order__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 54px;
  border: 0;
  border-radius: 8px;
  font-weight: 950;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.ag-quick-order__toggle {
  background: linear-gradient(135deg, #f2b632, #f6cf62);
  color: var(--ag-green-900);
  box-shadow: 0 14px 28px rgba(242, 182, 50, .22);
}

.ag-quick-order__toggle:hover,
.ag-quick-order__toggle:focus,
.ag-quick-order__submit:hover,
.ag-quick-order__submit:focus {
  transform: translateY(-1px);
}

.ag-quick-order__form {
  margin-top: 12px;
  padding: 16px;
  border: 1px solid rgba(31, 122, 67, .16);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(20, 63, 42, .08);
}

.ag-quick-order__head {
  display: grid;
  gap: 4px;
  margin-bottom: 12px;
}

.ag-quick-order__head strong {
  color: var(--ag-green-900);
  font-size: 1.03rem;
  font-weight: 950;
  line-height: 1.22;
}

.ag-quick-order__head span {
  color: var(--ag-muted);
  font-size: .94rem;
  line-height: 1.42;
}

.ag-quick-order__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.ag-quick-order__grid label {
  display: grid;
  gap: 6px;
  margin: 0;
  color: var(--ag-green-900);
  font-size: .9rem;
  font-weight: 900;
}

.ag-quick-order__grid input {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(31, 122, 67, .2);
  border-radius: 8px;
  padding: 0 12px;
  background: #fff;
  color: var(--ag-ink);
  font-weight: 800;
}

.ag-quick-order__submit {
  margin-top: 12px;
  background: linear-gradient(135deg, var(--ag-green-700), var(--ag-green-900));
  color: #fff;
  box-shadow: 0 14px 30px rgba(31, 122, 67, .22);
}

.ag-quick-order__submit.is-loading,
.ag-quick-order__submit:disabled {
  opacity: .72;
  cursor: progress;
}

.ag-quick-order__message {
  min-height: 0;
  margin-top: 10px;
  font-size: .94rem;
  font-weight: 850;
  line-height: 1.42;
}

.ag-quick-order__message.is-success {
  padding: 10px 12px;
  border: 1px solid rgba(31, 122, 67, .18);
  border-radius: 8px;
  background: #f3faf1;
  color: var(--ag-green-900);
}

.ag-quick-order__message.is-error {
  padding: 10px 12px;
  border: 1px solid rgba(183, 52, 33, .18);
  border-radius: 8px;
  background: #fff5f2;
  color: #9d2f20;
}

@media (max-width: 560px) {
  .ag-quick-order__grid {
    grid-template-columns: 1fr;
  }

  .ag-quick-order__form {
    padding: 14px;
  }
}
.ag-quick-order__grid input[aria-invalid="true"] {
  border-color: rgba(183, 52, 33, .52);
  background: #fff8f6;
  box-shadow: 0 0 0 3px rgba(183, 52, 33, .08);
}
/* Product option validation */
body.view-productdetails .ag-option-has-error,
body.view-productdetails .cf4all_has_error {
  border-color: rgba(183, 52, 33, .34) !important;
  background: #fffaf8 !important;
}

body.view-productdetails .cf4all_error_msg,
body.view-productdetails .ag-option-error-msg {
  display: none;
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(183, 52, 33, .18);
  border-radius: 8px;
  background: #fff4f1;
  color: #9f2f20;
  font-size: .94rem;
  font-weight: 800;
  line-height: 1.35;
}

body.view-productdetails .ag-option-has-error .cf4all_error_msg,
body.view-productdetails .cf4all_has_error .cf4all_error_msg {
  display: block;
}
/* Hide the native browser clear button; Agrofen uses its own search close control. */
.vmajaxlivesearch-box::-webkit-search-cancel-button,
.vmajaxlivesearch-box::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

.vmajaxlivesearch-box::-ms-clear,
.vmajaxlivesearch-box::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}

/* Product option amber active/hover state - 2026-07-29 */
body.view-productdetails .product-field-display label.cf4all_button:hover,
body.view-productdetails .product-field-display label.cf4all_button:focus,
body.view-productdetails .product-field-display label.cf4all_button:focus-visible,
body.view-productdetails .product-field-display input.cf4all_radio:checked + label.cf4all_button,
body.view-productdetails .product-field-display input.cf4all_radio:checked ~ label.cf4all_button,
body.view-productdetails .product-field-display .inline-control-group:has(input.cf4all_radio:checked) label.cf4all_button,
body.view-productdetails .product-field-display label.cf4all_button.active,
body.view-productdetails .product-field-display label.cf4all_button.checked,
body.view-productdetails .product-field-display label.cf4all_button.cf4all_selected,
body.view-productdetails .product-field-display label.cf4all_button.is-active {
  border-color: #f2b632 !important;
  background-color: #f2b632 !important;
  background-image: linear-gradient(135deg, #f2b632, #f6cf62) !important;
  color: var(--ag-green-900) !important;
  box-shadow: 0 14px 30px rgba(242, 182, 50, .32) !important;
  transform: translateY(-1px);
}

body.view-productdetails .product-field-display label.cf4all_button:hover span,
body.view-productdetails .product-field-display label.cf4all_button:hover small,
body.view-productdetails .product-field-display label.cf4all_button:focus span,
body.view-productdetails .product-field-display label.cf4all_button:focus small,
body.view-productdetails .product-field-display label.cf4all_button:focus-visible span,
body.view-productdetails .product-field-display label.cf4all_button:focus-visible small,
body.view-productdetails .product-field-display input.cf4all_radio:checked + label.cf4all_button span,
body.view-productdetails .product-field-display input.cf4all_radio:checked + label.cf4all_button small,
body.view-productdetails .product-field-display input.cf4all_radio:checked ~ label.cf4all_button span,
body.view-productdetails .product-field-display input.cf4all_radio:checked ~ label.cf4all_button small,
body.view-productdetails .product-field-display .inline-control-group:has(input.cf4all_radio:checked) label.cf4all_button span,
body.view-productdetails .product-field-display .inline-control-group:has(input.cf4all_radio:checked) label.cf4all_button small {
  color: var(--ag-green-900) !important;
  opacity: 1 !important;
}

/* Product option JS selected state alias - 2026-07-29 */
body.view-productdetails .product-field-display label.cf4all_button.is-selected {
  border-color: #f2b632 !important;
  background-color: #f2b632 !important;
  background-image: linear-gradient(135deg, #f2b632, #f6cf62) !important;
  color: var(--ag-green-900) !important;
  box-shadow: 0 14px 30px rgba(242, 182, 50, .32) !important;
}

body.view-productdetails .product-field-display label.cf4all_button.is-selected span,
body.view-productdetails .product-field-display label.cf4all_button.is-selected small {
  color: var(--ag-green-900) !important;
  opacity: 1 !important;
}

/* Politiv width options amber hover/active final - 2026-07-29 */
body.ag-cut-product-page.view-productdetails .ag-cut-product .product-field-display label.cf4all_button:hover,
body.ag-cut-product-page.view-productdetails .ag-cut-product .product-field-display label.cf4all_button:focus,
body.ag-cut-product-page.view-productdetails .ag-cut-product .product-field-display label.cf4all_button:focus-visible,
body.ag-cut-product-page.view-productdetails .ag-cut-product .product-field-display label.cf4all_button.is-selected,
body.ag-cut-product-page.view-productdetails .ag-cut-product .product-field-display input.cf4all_radio:checked + label.cf4all_button,
body.ag-cut-product-page.view-productdetails .ag-cut-product .product-field-display input.cf4all_radio:checked ~ label.cf4all_button,
body.ag-cut-product-page.view-productdetails .ag-cut-product .product-field-display .inline-control-group:has(input.cf4all_radio:checked) label.cf4all_button {
  border-color: #f2b632 !important;
  background-color: #f2b632 !important;
  background-image: linear-gradient(135deg, #f2b632, #f6cf62) !important;
  color: var(--ag-green-900) !important;
  box-shadow: 0 14px 30px rgba(242, 182, 50, .32) !important;
}

body.ag-cut-product-page.view-productdetails .ag-cut-product .product-field-display label.cf4all_button:hover span,
body.ag-cut-product-page.view-productdetails .ag-cut-product .product-field-display label.cf4all_button:hover small,
body.ag-cut-product-page.view-productdetails .ag-cut-product .product-field-display label.cf4all_button.is-selected span,
body.ag-cut-product-page.view-productdetails .ag-cut-product .product-field-display label.cf4all_button.is-selected small,
body.ag-cut-product-page.view-productdetails .ag-cut-product .product-field-display input.cf4all_radio:checked + label.cf4all_button span,
body.ag-cut-product-page.view-productdetails .ag-cut-product .product-field-display input.cf4all_radio:checked + label.cf4all_button small,
body.ag-cut-product-page.view-productdetails .ag-cut-product .product-field-display input.cf4all_radio:checked ~ label.cf4all_button span,
body.ag-cut-product-page.view-productdetails .ag-cut-product .product-field-display input.cf4all_radio:checked ~ label.cf4all_button small,
body.ag-cut-product-page.view-productdetails .ag-cut-product .product-field-display .inline-control-group:has(input.cf4all_radio:checked) label.cf4all_button span,
body.ag-cut-product-page.view-productdetails .ag-cut-product .product-field-display .inline-control-group:has(input.cf4all_radio:checked) label.cf4all_button small {
  color: var(--ag-green-900) !important;
  opacity: 1 !important;
}

/* Stock badges - 2026-07-29 */
.ag-stock-badge,
.ag-card-stock-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: max-content;
  min-height: 30px;
  padding: 6px 12px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: .86rem;
  font-weight: 900;
  line-height: 1;
}

.ag-stock-badge {
  margin: 0 0 16px;
}

.ag-stock-badge__dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
}

.ag-stock-badge.is-available,
.ag-card-stock-badge.is-available {
  border-color: rgba(31, 122, 67, .22);
  background: #f0faee;
  color: var(--ag-green-900);
}

.ag-stock-badge.is-empty,
.ag-card-stock-badge.is-empty {
  border-color: rgba(183, 52, 33, .22);
  background: #fff4f1;
  color: #9d2f20;
}

.ag-card-stock-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 4;
  min-height: 26px;
  padding: 5px 9px;
  font-size: .74rem;
  box-shadow: 0 8px 18px rgba(20, 63, 42, .08);
}

body.view-category .vm-product-grid .product-container,
.ag-home-products .product-container {
  position: relative;
}

.ag-out-of-stock-panel {
  display: grid;
  gap: 6px;
  margin: 18px 0 0;
  padding: 15px 16px;
  border: 1px solid rgba(183, 52, 33, .18);
  border-radius: 8px;
  background: #fff4f1;
  color: #9d2f20;
}

.ag-out-of-stock-panel strong {
  color: #7f2419;
  font-size: 1rem;
  font-weight: 950;
}

.ag-out-of-stock-panel span {
  color: #7f4a42;
  font-size: .94rem;
  font-weight: 700;
  line-height: 1.35;
}
/* CF4All option stock state - 2026-07-29 */
body.view-productdetails .product-field-display .cf4all_out_of_stock label.cf4all_button,
body.view-productdetails .product-field-display label.cf4all_button[aria-disabled="true"] {
  border-color: #e2d8d2 !important;
  background: #f6f1ee !important;
  color: #9d7b6c !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  opacity: .74;
  transform: none !important;
}

body.view-productdetails .product-field-display .cf4all_out_of_stock label.cf4all_button:hover,
body.view-productdetails .product-field-display label.cf4all_button[aria-disabled="true"]:hover {
  border-color: #d9c8bf !important;
  background: #f6f1ee !important;
  color: #9d7b6c !important;
}

body.view-productdetails .cf4all_stock_empty {
  display: block;
  margin-top: 4px;
  color: #9d2f20 !important;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
}