/*
Theme Name: VinylMail Nova
Theme URI: https://www.vinylmail.com/
Author: VinylMail
Description: Tema WooCommerce moderno e performante per VinylMail, progettato per cataloghi musicali ampi e collezionisti di vinile.
Version: 2.3.16
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.1
Text Domain: vinylmail-nova
License: GNU General Public License v2 or later
*/

:root {
  --vm-orange: #ff5b21;
  --vm-orange-dark: #e74a13;
  --vm-charcoal: #161819;
  --vm-charcoal-2: #222526;
  --vm-ink: #17191a;
  --vm-muted: #6b7073;
  --vm-line: #e7e3dc;
  --vm-cream: #f7f4ee;
  --vm-white: #ffffff;
  --vm-green: #2fb35d;
  --vm-radius: 18px;
  --vm-radius-sm: 12px;
  --vm-shadow: 0 18px 50px rgba(17, 20, 22, 0.10);
  --vm-container: 1320px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--vm-ink);
  background: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.vm-container {
  width: min(calc(100% - 32px), var(--vm-container));
  margin-inline: auto;
}

/* Header */
.vm-site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(18,20,21,.96);
  color: #fff;
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.vm-topbar {
  border-bottom: 1px solid rgba(255,255,255,.08);
  font-size: 12px;
  color: rgba(255,255,255,.78);
}
.vm-topbar__inner {
  min-height: 36px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.vm-topbar nav ul,
.vm-mainnav ul,
.vm-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.vm-topbar nav ul { display: flex; gap: 22px; }
.vm-topbar a:hover { color: #fff; }
.vm-header-main {
  min-height: 88px;
  display: grid;
  grid-template-columns: auto minmax(260px, 1fr) auto;
  gap: 28px;
  align-items: center;
}
.vm-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 230px;
}
.vm-brand__mark {
  width: 48px;
  aspect-ratio: 1;
  border-radius: 12px;
  background:
    radial-gradient(circle at center, var(--vm-orange) 0 12%, #111 13% 34%, #2f3233 35% 36%, #111 37% 60%, #2f3233 61% 62%, #111 63% 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}
.vm-brand__name {
  display: block;
  font-size: 30px;
  line-height: .95;
  font-weight: 850;
  letter-spacing: -.045em;
}
.vm-brand__name strong { color: var(--vm-orange); font-weight: 850; }
.vm-brand__tagline {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  color: rgba(255,255,255,.64);
}
.custom-logo { max-height: 56px; width: auto; }

.vm-product-search { position: relative; }
.vm-product-search form { position: relative; }
.vm-product-search input[type="search"] {
  width: 100%;
  height: 48px;
  border-radius: 12px;
  border: 0;
  padding: 0 56px 0 18px;
  outline: none;
  background: #fff;
  color: #17191a;
  box-shadow: 0 0 0 1px rgba(255,255,255,.08);
}
.vm-product-search button {
  position: absolute;
  right: 4px;
  top: 4px;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 10px;
  background: var(--vm-orange);
  color: #fff;
  font-size: 18px;
}
.vm-cart-link {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  border-radius: 12px;
  background: var(--vm-orange);
  color: #fff;
  font-weight: 800;
  white-space: nowrap;
  box-shadow: 0 10px 28px rgba(255,91,33,.22);
}
.vm-cart-link:hover { background: var(--vm-orange-dark); }
.vm-mainnav {
  border-top: 1px solid rgba(255,255,255,.06);
  background: #121415;
}
.vm-mainnav__inner {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.vm-mainnav .menu {
  display: flex;
  align-items: center;
  gap: 28px;
}

/* Desktop dropdown navigation */
.vm-mainnav .menu > li {
  position: relative;
  flex: 0 0 auto;
}
.vm-mainnav .menu > li > a {
  position: relative;
  gap: 7px;
  white-space: nowrap;
}
.vm-mainnav .menu > li.menu-item-has-children > a::after {
  content: "⌄";
  display: inline-block;
  margin-top: -2px;
  color: rgba(255,255,255,.58);
  font-size: 12px;
  line-height: 1;
  transition: transform .18s ease, color .18s ease;
}
.vm-mainnav .menu > li.menu-item-has-children:hover > a::after,
.vm-mainnav .menu > li.menu-item-has-children:focus-within > a::after {
  color: var(--vm-orange);
  transform: rotate(180deg);
}
.vm-mainnav .sub-menu {
  position: absolute;
  z-index: 1200;
  top: calc(100% - 1px);
  left: -18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 2px 16px;
  width: max-content;
  min-width: 390px;
  max-width: min(620px, calc(100vw - 32px));
  max-height: min(68vh, 560px);
  overflow-y: auto;
  margin: 0;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 0 0 16px 16px;
  background: rgba(18,20,21,.985);
  box-shadow: 0 22px 60px rgba(0,0,0,.38);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
  scrollbar-width: thin;
  scrollbar-color: #4c5052 transparent;
}
.vm-mainnav .menu > li:nth-last-child(-n+3) > .sub-menu {
  left: auto;
  right: -18px;
}
.vm-mainnav .menu > li:hover > .sub-menu,
.vm-mainnav .menu > li:focus-within > .sub-menu,
.vm-mainnav .menu > li.is-submenu-open > .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.vm-mainnav .sub-menu li {
  min-width: 0;
}
.vm-mainnav .sub-menu a {
  width: 100%;
  min-height: 38px;
  padding: 7px 10px;
  border-radius: 9px;
  color: rgba(255,255,255,.78);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.2;
  text-transform: none;
  letter-spacing: 0;
}
.vm-mainnav .sub-menu a:hover,
.vm-mainnav .sub-menu a:focus-visible {
  color: #fff;
  background: rgba(255,91,33,.13);
  outline: none;
}
.vm-mainnav .sub-menu .current-menu-item > a,
.vm-mainnav .sub-menu .current-product_cat-ancestor > a {
  color: var(--vm-orange);
  background: rgba(255,91,33,.10);
}
.vm-mainnav a {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .02em;
  color: rgba(255,255,255,.9);
}
.vm-mainnav a:hover { color: var(--vm-orange); }
.vm-nav-cta {
  border: 1px solid var(--vm-orange);
  color: var(--vm-orange) !important;
  min-height: 34px !important;
  padding: 0 14px;
  border-radius: 9px;
}
.vm-mobile-toggle {
  display: none;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 26px;
}

/* Hero */
.vm-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(10,12,13,.98) 0%, rgba(10,12,13,.92) 35%, rgba(10,12,13,.35) 66%, rgba(10,12,13,.82) 100%),
    radial-gradient(circle at 76% 48%, #a53f18 0 2%, #ff7437 3% 5%, #121415 6% 18%, #282a2b 19% 20%, #101112 21% 35%, #292b2c 36% 37%, #101112 38% 55%, #1f2021 56% 57%, #0a0b0b 58% 100%);
  color: #fff;
  min-height: 470px;
}
.vm-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 70%, rgba(0,0,0,.35));
  pointer-events: none;
}
.vm-hero__inner {
  position: relative;
  z-index: 1;
  min-height: 470px;
  display: flex;
  align-items: center;
}
.vm-hero__content { max-width: 640px; padding: 72px 0; }
.vm-eyebrow {
  color: var(--vm-orange);
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.vm-hero h1 {
  margin: 10px 0 16px;
  font-size: clamp(48px, 6vw, 86px);
  line-height: .88;
  letter-spacing: -.055em;
  text-transform: uppercase;
}
.vm-hero h1 span { color: var(--vm-orange); display: block; }
.vm-hero p {
  margin: 0 0 28px;
  max-width: 560px;
  font-size: 18px;
  color: rgba(255,255,255,.78);
}
.vm-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 11px;
  border: 0;
  background: var(--vm-orange);
  color: #fff !important;
  font-weight: 850;
  transition: .2s ease;
}
.vm-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: var(--vm-orange-dark);
  transform: translateY(-1px);
}
.vm-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 26px;
  margin-top: 34px;
  font-size: 13px;
  color: rgba(255,255,255,.8);
}
.vm-trust-row span { display: inline-flex; align-items: center; gap: 8px; }

/* Sections */
.vm-section { padding: 64px 0; }
.vm-section--soft { background: var(--vm-cream); }
.vm-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 26px;
}
.vm-section-heading h2,
.vm-archive-header h1 {
  margin: 0;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1;
  letter-spacing: -.045em;
  text-transform: uppercase;
}
.vm-section-heading h2::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: .78em;
  margin-right: 12px;
  border-radius: 99px;
  background: var(--vm-orange);
}
.vm-section-link { color: var(--vm-orange); font-weight: 800; }

.vm-collection-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.vm-collection-card {
  min-height: 180px;
  position: relative;
  overflow: hidden;
  border-radius: var(--vm-radius);
  padding: 24px;
  background: #181a1b;
  color: #fff;
  box-shadow: var(--vm-shadow);
}
.vm-collection-card::after {
  content: "";
  position: absolute;
  width: 190px;
  aspect-ratio: 1;
  right: -55px;
  bottom: -70px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--vm-orange) 0 9%, #0b0c0c 10% 28%, #262829 29% 30%, #0b0c0c 31% 50%, #2b2d2e 51% 52%, #0b0c0c 53% 100%);
  opacity: .75;
}
.vm-collection-card h3 { margin: 0 0 8px; font-size: 24px; position: relative; z-index: 1; }
.vm-collection-card p { margin: 0; color: rgba(255,255,255,.65); position: relative; z-index: 1; }

/* WooCommerce product grids */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin: 0 !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  padding: 0 0 18px;
  float: none !important;
  background: #fff;
  border: 1px solid #ece8e1;
  border-radius: 16px;
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-5px);
  box-shadow: var(--vm-shadow);
  border-color: transparent;
}
.woocommerce ul.products li.product a img {
  margin: 0 0 15px !important;
  aspect-ratio: 1;
  object-fit: cover;
  background: #f1efea;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 0 16px !important;
  font-size: 15px !important;
  line-height: 1.2;
  min-height: 36px;
  font-weight: 850;
  text-transform: uppercase;
}
.vm-loop-meta {
  padding: 0 16px 4px;
  font-size: 13px;
  color: var(--vm-muted);
}
.vm-loop-badges { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 16px 8px; }
.vm-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: #f2eee6;
  color: #343739;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}
.vm-badge--accent { background: #fff0e9; color: var(--vm-orange-dark); }
.woocommerce ul.products li.product .price {
  padding: 0 16px;
  color: #111 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
}
.woocommerce ul.products li.product .button {
  margin: 8px 16px 0 !important;
  min-height: 40px;
  padding-inline: 14px;
}
.woocommerce span.onsale {
  min-height: 30px;
  min-width: auto;
  padding: 0 10px;
  line-height: 30px;
  border-radius: 999px;
  background: var(--vm-orange);
  top: 12px;
  left: 12px;
  right: auto;
}

/* Archive */
.vm-main { min-height: 60vh; }
.vm-archive-header {
  background: var(--vm-charcoal);
  color: #fff;
  padding: 46px 0;
}
.vm-archive-header p { margin: 10px 0 0; color: rgba(255,255,255,.68); }
.vm-content-shell { padding: 48px 0 72px; }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { margin-bottom: 28px; }
.woocommerce .woocommerce-ordering select {
  min-height: 44px;
  border: 1px solid var(--vm-line);
  border-radius: 10px;
  padding: 0 12px;
  background: #fff;
}
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 8px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  min-width: 42px;
  height: 42px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: #f3f0ea;
  color: #222;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--vm-orange); color: #fff; }

/* Single product */
.single-product .vm-content-shell { padding-top: 34px; }
.woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
  gap: 56px;
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary { width: auto !important; float: none !important; margin-bottom: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  border-radius: var(--vm-radius);
  overflow: hidden;
  background: #f3f0eb;
}
.woocommerce div.product div.summary {
  position: sticky;
  top: 165px;
  align-self: start;
  padding: 26px;
  border: 1px solid var(--vm-line);
  border-radius: var(--vm-radius);
  box-shadow: 0 16px 44px rgba(17,20,22,.06);
}
.woocommerce div.product .product_title {
  font-size: clamp(32px, 4vw, 52px);
  line-height: .98;
  letter-spacing: -.045em;
  text-transform: uppercase;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: #111;
  font-size: 28px;
  font-weight: 900;
}
.vm-product-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0 22px;
}
.vm-product-fact {
  padding: 12px 14px;
  background: #f7f4ee;
  border-radius: 10px;
}
.vm-product-fact span { display: block; font-size: 11px; text-transform: uppercase; color: #888; font-weight: 800; }
.vm-product-fact strong { display: block; margin-top: 3px; font-size: 14px; }
.woocommerce div.product form.cart { display: flex; gap: 10px; margin-top: 24px; }
.woocommerce .quantity .qty {
  min-height: 48px;
  border: 1px solid var(--vm-line);
  border-radius: 10px;
}
.woocommerce div.product .stock.in-stock { color: var(--vm-green); font-weight: 800; }
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; padding-top: 24px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; border-bottom: 1px solid var(--vm-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: 0;
  background: transparent;
  margin: 0 22px 0 0;
  padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 14px 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--vm-orange); }
.woocommerce div.product .related.products { grid-column: 1 / -1; padding-top: 32px; }

/* Cart / Checkout / Account */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
  padding: 44px 0 72px;
}
.woocommerce table.shop_table {
  border: 1px solid var(--vm-line);
  border-radius: 14px;
  overflow: hidden;
}
.woocommerce table.shop_table th { background: #f7f4ee; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single {
  min-height: 46px;
  border: 1px solid #ded9d1;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 24px; }
.woocommerce-checkout #payment {
  background: #f7f4ee;
  border-radius: 14px;
}
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-MyAccount-navigation a {
  display: block;
  padding: 12px 14px;
  border-bottom: 1px solid var(--vm-line);
  font-weight: 700;
}
.woocommerce-MyAccount-navigation .is-active a { color: var(--vm-orange); }

/* Generic content */
.vm-entry {
  max-width: 860px;
  margin: 0 auto;
  padding: 56px 0 80px;
}
.vm-entry h1 { font-size: clamp(38px, 5vw, 64px); line-height: 1; letter-spacing: -.04em; }
.vm-entry-content { font-size: 17px; }
.vm-entry-content > * + * { margin-top: 1.2em; }

/* Newsletter CTA */
.vm-newsletter {
  background: var(--vm-orange);
  color: #fff;
  padding: 50px 0;
}
.vm-newsletter__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: center;
}
.vm-newsletter h2 { margin: 0 0 8px; font-size: 36px; letter-spacing: -.035em; }
.vm-newsletter p { margin: 0; color: rgba(255,255,255,.85); }
.vm-newsletter .mailpoet_form { margin: 0 !important; }
.vm-newsletter input[type="email"] {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 10px;
  padding: 0 14px;
}

/* Footer */
.vm-footer {
  background: #111314;
  color: rgba(255,255,255,.78);
  padding: 58px 0 26px;
}
.vm-footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 40px;
}
.vm-footer h3 { color: #fff; font-size: 14px; text-transform: uppercase; letter-spacing: .08em; }
.vm-footer li + li { margin-top: 9px; }
.vm-footer a:hover { color: var(--vm-orange); }
.vm-footer-bottom {
  margin-top: 44px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 12px;
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top-color: var(--vm-orange);
  border-radius: 12px;
  background: #fff8f4;
}

/* Responsive */
@media (max-width: 1100px) {
  .vm-header-main { grid-template-columns: auto 1fr auto; gap: 16px; }
  .vm-brand__tagline { display: none; }
  .vm-mainnav .menu { gap: 18px; }
  .vm-collection-grid { grid-template-columns: repeat(2, 1fr); }
  .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
  .woocommerce div.product { grid-template-columns: 1fr 1fr; gap: 30px; }
}

@media (max-width: 820px) {
  .vm-topbar { display: none; }
  .vm-header-main {
    min-height: 72px;
    grid-template-columns: 1fr auto auto;
  }
  .vm-product-search { grid-column: 1 / -1; padding-bottom: 14px; }
  .vm-mobile-toggle { display: inline-flex; }
  .vm-mainnav { display: none; }
  .vm-mainnav.is-open { display: block; }
  .vm-mainnav__inner { display: block; padding: 10px 0 18px; }
  .vm-mainnav .menu { display: block; }
  .vm-mainnav .menu > li { border-bottom: 1px solid rgba(255,255,255,.06); }
  .vm-mainnav .menu > li > a { width: 100%; }
  .vm-mainnav .sub-menu {
    position: static;
    display: none;
    grid-template-columns: 1fr;
    width: auto;
    min-width: 0;
    max-width: none;
    max-height: none;
    overflow: visible;
    padding: 2px 0 10px 14px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }
  .vm-mainnav .menu > li.is-submenu-open > .sub-menu { display: grid; }
  .vm-mainnav .sub-menu a { min-height: 36px; padding: 6px 10px; }
  .vm-mainnav .menu > li.menu-item-has-children > a::after { margin-left: auto; }
  .vm-mainnav a { min-height: 42px; }
  .vm-nav-cta { display: inline-flex !important; }
  .vm-hero, .vm-hero__inner { min-height: 430px; }
  .vm-hero__content { padding: 52px 0; }
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
  .woocommerce div.product { display: block; }
  .woocommerce div.product div.summary { position: static; margin-top: 24px; }
  .vm-newsletter__inner,
  .vm-footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .vm-container { width: min(calc(100% - 22px), var(--vm-container)); }
  .vm-brand { min-width: 0; }
  .vm-brand__mark { width: 40px; }
  .vm-brand__name { font-size: 22px; }
  .vm-cart-link { width: 44px; padding: 0; justify-content: center; font-size: 0; }
  .vm-cart-link .vm-cart-count { font-size: 11px; }
  .vm-hero h1 { font-size: 48px; }
  .vm-hero p { font-size: 16px; }
  .vm-trust-row { gap: 10px 16px; }
  .vm-section { padding: 46px 0; }
  .vm-section-heading { align-items: start; }
  .vm-collection-grid,
  .woocommerce ul.products,
  .vm-newsletter__inner,
  .vm-footer-grid { grid-template-columns: 1fr; }
  .woocommerce ul.products { gap: 16px; }
  .vm-product-facts { grid-template-columns: 1fr; }
  .vm-footer-bottom { display: block; }
}


/* =========================================================
   VinylMail Nova 1.2 — WooCommerce hardening
   The homepage is not a native WooCommerce archive, so all
   product-loop rules must also work under vm-has-woocommerce.
   ========================================================= */

/* Product loops: homepage, search and archives */
.vm-has-woocommerce ul.products,
.vm-section ul.products,
.vm-content-shell ul.products {
  list-style: none !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  clear: both;
}
.vm-has-woocommerce ul.products::before,
.vm-has-woocommerce ul.products::after,
.vm-section ul.products::before,
.vm-section ul.products::after,
.vm-content-shell ul.products::before,
.vm-content-shell ul.products::after {
  display: none !important;
  content: none !important;
}
.vm-has-woocommerce ul.products > li.product,
.vm-section ul.products > li.product,
.vm-content-shell ul.products > li.product {
  list-style: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 0 18px !important;
  float: none !important;
  position: relative;
  background: #fff;
  border: 1px solid #ece8e1;
  border-radius: 16px;
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.vm-has-woocommerce ul.products > li.product:hover,
.vm-section ul.products > li.product:hover,
.vm-content-shell ul.products > li.product:hover {
  transform: translateY(-5px);
  box-shadow: var(--vm-shadow);
  border-color: transparent;
}
.vm-has-woocommerce ul.products > li.product > a.woocommerce-LoopProduct-link,
.vm-section ul.products > li.product > a.woocommerce-LoopProduct-link,
.vm-content-shell ul.products > li.product > a.woocommerce-LoopProduct-link {
  display: block;
}
.vm-has-woocommerce ul.products li.product a img,
.vm-section ul.products li.product a img,
.vm-content-shell ul.products li.product a img {
  display: block;
  width: 100% !important;
  margin: 0 0 15px !important;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: #f2f3f3;
}
.vm-has-woocommerce ul.products li.product .woocommerce-loop-product__title,
.vm-section ul.products li.product .woocommerce-loop-product__title,
.vm-content-shell ul.products li.product .woocommerce-loop-product__title {
  margin: 0 !important;
  padding: 0 16px !important;
  min-height: 38px;
  font-size: 15px !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  letter-spacing: -.015em;
  text-transform: uppercase;
}
.vm-has-woocommerce ul.products li.product .price,
.vm-section ul.products li.product .price,
.vm-content-shell ul.products li.product .price {
  display: block !important;
  margin: 8px 0 0 !important;
  padding: 0 16px !important;
  color: #111 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
}
.vm-has-woocommerce ul.products li.product .button,
.vm-section ul.products li.product .button,
.vm-content-shell ul.products li.product .button,
.vm-has-woocommerce ul.products li.product .added_to_cart {
  margin: 10px 16px 0 !important;
}

/* Make all WooCommerce CTA buttons respect the VinylMail palette,
   even when WooCommerce Blocks/global styles load after style.css. */
body.vm-has-woocommerce .wp-element-button,
body.vm-has-woocommerce .wc-block-components-button,
body.vm-has-woocommerce .woocommerce a.button,
body.vm-has-woocommerce .woocommerce button.button,
body.vm-has-woocommerce .woocommerce input.button,
body.vm-has-woocommerce .single_add_to_cart_button,
body.vm-has-woocommerce a.added_to_cart {
  background: var(--vm-orange) !important;
  background-color: var(--vm-orange) !important;
  border-color: var(--vm-orange) !important;
  color: #fff !important;
  border-radius: 11px !important;
  font-weight: 850 !important;
  box-shadow: none !important;
}
body.vm-has-woocommerce .wp-element-button:hover,
body.vm-has-woocommerce .wc-block-components-button:hover,
body.vm-has-woocommerce .woocommerce a.button:hover,
body.vm-has-woocommerce .woocommerce button.button:hover,
body.vm-has-woocommerce .single_add_to_cart_button:hover,
body.vm-has-woocommerce a.added_to_cart:hover {
  background: var(--vm-orange-dark) !important;
  background-color: var(--vm-orange-dark) !important;
  border-color: var(--vm-orange-dark) !important;
}

/* Product page polish */
.single-product .woocommerce-product-gallery {
  min-width: 0;
}
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image {
  background: #f4f5f5;
}
.single-product .woocommerce-product-gallery__image a {
  display: grid;
  place-items: center;
}
.single-product .woocommerce-product-gallery__image img {
  width: 100% !important;
  max-height: 680px;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  padding: 28px;
}
.single-product .summary.entry-summary {
  background: #fff;
}
.single-product .summary .product_meta {
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid var(--vm-line);
  color: var(--vm-muted);
  font-size: 14px;
}
.single-product .summary .product_meta > span {
  display: block;
  margin-top: 6px;
}
.single-product .summary .product_meta a {
  color: var(--vm-ink);
  font-weight: 700;
}
.single-product .summary .product_meta a:hover { color: var(--vm-orange); }
.single-product div.product form.cart .quantity { margin: 0 !important; }
.single-product div.product form.cart .single_add_to_cart_button { min-height: 48px; }

/* Better empty-image treatment */
.woocommerce-product-gallery .woocommerce-product-gallery__image--placeholder img,
.vm-has-woocommerce ul.products img.woocommerce-placeholder {
  opacity: .72;
  filter: grayscale(1);
}

/* Archive controls and spacing */
.woocommerce-shop .vm-content-shell,
.tax-product_cat .vm-content-shell,
.tax-product_tag .vm-content-shell,
.tax-artisti .vm-content-shell,
.tax-neg_grade .vm-content-shell,
.tax-neg_tipi_prodotto .vm-content-shell {
  max-width: var(--vm-container);
}
.woocommerce .woocommerce-result-count { color: var(--vm-muted); }
.woocommerce .woocommerce-ordering { float: right; }
.woocommerce .woocommerce-result-count { float: left; }
.woocommerce .products { clear: both; }

/* Homepage featured-products section should never collapse to a raw list */
.home .vm-section .products { margin-top: 2px !important; }

@media (max-width: 1100px) {
  .vm-has-woocommerce ul.products,
  .vm-section ul.products,
  .vm-content-shell ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 820px) {
  .vm-has-woocommerce ul.products,
  .vm-section ul.products,
  .vm-content-shell ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
  .single-product .woocommerce-product-gallery__image img { padding: 18px; }
  .woocommerce .woocommerce-ordering,
  .woocommerce .woocommerce-result-count { float: none; }
}
@media (max-width: 520px) {
  .vm-has-woocommerce ul.products,
  .vm-section ul.products,
  .vm-content-shell ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   VinylMail Nova 1.3 — Single-product layout + artists/offers
   ========================================================= */

/* Keep the summary in normal flow: sticky made it overlap related products
   because WooCommerce keeps related products inside the same .product node. */
.single-product .woocommerce div.product div.summary,
.single-product .summary.entry-summary {
  position: static !important;
  top: auto !important;
}
.single-product .woocommerce div.product {
  align-items: start;
}
.single-product .summary .product_meta .sku_wrapper {
  display: none;
}
.single-product .woocommerce div.product .related.products,
.single-product .woocommerce div.product .upsells.products {
  grid-column: 1 / -1;
  width: 100%;
  margin: 58px 0 0 !important;
  padding: 44px 0 0 !important;
  border-top: 1px solid var(--vm-line);
  clear: both;
}
.single-product .related.products > h2,
.single-product .upsells.products > h2 {
  margin: 0 0 24px;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
  letter-spacing: -.04em;
  text-transform: uppercase;
}
.single-product .related.products > h2::before,
.single-product .upsells.products > h2::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: .78em;
  margin-right: 11px;
  border-radius: 999px;
  background: var(--vm-orange);
}
.single-product .related.products ul.products,
.single-product .upsells.products ul.products {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* Artist directory */
.vm-directory-hero {
  padding: 54px 0 34px;
  background: linear-gradient(135deg, #17191a, #242728);
  color: #fff;
}
.vm-directory-hero h1 {
  margin: 0;
  font-size: clamp(42px, 6vw, 72px);
  line-height: .92;
  letter-spacing: -.055em;
  text-transform: uppercase;
}
.vm-directory-hero p {
  max-width: 720px;
  margin: 14px 0 0;
  color: rgba(255,255,255,.7);
  font-size: 17px;
}
.vm-directory {
  padding: 44px 0 76px;
}
.vm-directory-tools {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin-bottom: 24px;
}
.vm-artist-search {
  display: flex;
  gap: 8px;
}
.vm-artist-search input {
  width: 100%;
  min-height: 48px;
  padding: 0 15px;
  border: 1px solid var(--vm-line);
  border-radius: 11px;
  background: #fff;
  outline: none;
}
.vm-artist-search input:focus {
  border-color: var(--vm-orange);
  box-shadow: 0 0 0 3px rgba(255,91,33,.10);
}
.vm-artist-search button {
  min-height: 48px;
  padding: 0 18px;
  border: 0;
  border-radius: 11px;
  background: var(--vm-orange);
  color: #fff;
  font-weight: 850;
}
.vm-alpha {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 28px;
}
.vm-alpha a {
  display: grid;
  place-items: center;
  min-width: 38px;
  height: 38px;
  padding: 0 8px;
  border: 1px solid var(--vm-line);
  border-radius: 9px;
  background: #fff;
  font-size: 13px;
  font-weight: 850;
}
.vm-alpha a:hover,
.vm-alpha a.is-active {
  border-color: var(--vm-orange);
  background: var(--vm-orange);
  color: #fff;
}
.vm-directory-count {
  margin: 0;
  color: var(--vm-muted);
  font-size: 14px;
  text-align: right;
}
.vm-artist-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.vm-artist-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 68px;
  padding: 14px 16px;
  border: 1px solid var(--vm-line);
  border-radius: 12px;
  background: #fff;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.vm-artist-card:hover {
  transform: translateY(-2px);
  border-color: rgba(255,91,33,.45);
  box-shadow: 0 10px 28px rgba(17,20,22,.07);
}
.vm-artist-card strong {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.2;
}
.vm-artist-card span {
  flex: 0 0 auto;
  min-width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #f6f2ec;
  color: var(--vm-muted);
  font-size: 11px;
  font-weight: 850;
}
.vm-directory-empty {
  padding: 36px;
  border: 1px dashed var(--vm-line);
  border-radius: 14px;
  color: var(--vm-muted);
  text-align: center;
}
.vm-directory .page-numbers {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: center;
  margin: 34px 0 0;
  padding: 0;
  list-style: none;
}
.vm-directory .page-numbers a,
.vm-directory .page-numbers span {
  min-width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  padding: 0 10px;
  border-radius: 9px;
  background: #f3f0ea;
  font-weight: 800;
}
.vm-directory .page-numbers .current {
  background: var(--vm-orange);
  color: #fff;
}

/* Offers page */
.vm-offers-hero {
  padding: 50px 0 34px;
  background: linear-gradient(120deg, #17191a 0%, #242728 58%, #6b2710 100%);
  color: #fff;
}
.vm-offers-hero h1 {
  margin: 0;
  font-size: clamp(42px, 6vw, 72px);
  line-height: .92;
  letter-spacing: -.055em;
  text-transform: uppercase;
}
.vm-offers-hero p { margin: 12px 0 0; color: rgba(255,255,255,.72); }
.vm-offers-body { padding: 44px 0 76px; }

@media (max-width: 1100px) {
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products,
  .vm-artist-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 820px) {
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products,
  .vm-artist-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .vm-directory-tools { grid-template-columns: 1fr; }
  .vm-directory-count { text-align: left; }
}
@media (max-width: 520px) {
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products,
  .vm-artist-grid { grid-template-columns: 1fr !important; }
  .vm-artist-search { display: grid; grid-template-columns: 1fr auto; }
}

/* =========================================================
   VinylMail Nova 1.3.1 — Add-to-cart button containment fix
   Prevents long WooCommerce CTA labels from overflowing into
   adjacent product cards and keeps the single-product CTA neat.
   ========================================================= */
.vm-has-woocommerce ul.products li.product .button,
.vm-section ul.products li.product .button,
.vm-content-shell ul.products li.product .button,
.single-product .related.products ul.products li.product .button,
.single-product .upsells.products ul.products li.product .button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: calc(100% - 32px) !important;
  max-width: calc(100% - 32px) !important;
  min-height: 44px !important;
  margin: 12px 16px 0 !important;
  padding: 10px 12px !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow: hidden !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
  line-height: 1.15 !important;
  font-size: 14px !important;
  text-decoration: none !important;
}

/* AJAX “View cart” link: keep it inside the card too. */
.vm-has-woocommerce ul.products li.product .added_to_cart,
.vm-section ul.products li.product .added_to_cart,
.vm-content-shell ul.products li.product .added_to_cart,
.single-product .related.products ul.products li.product .added_to_cart,
.single-product .upsells.products ul.products li.product .added_to_cart {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: calc(100% - 32px) !important;
  max-width: calc(100% - 32px) !important;
  margin: 8px 16px 0 !important;
  padding: 9px 12px !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  text-align: center !important;
}

/* Main product CTA: compact, readable and never stretched oddly. */
.single-product div.product form.cart {
  align-items: stretch !important;
  flex-wrap: wrap;
}
.single-product div.product form.cart .single_add_to_cart_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 0 24px !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 520px) {
  .single-product div.product form.cart .quantity {
    flex: 0 0 64px;
  }
  .single-product div.product form.cart .single_add_to_cart_button {
    flex: 1 1 190px;
    padding-inline: 16px !important;
  }
}

/* =========================================================
   VinylMail Nova 1.4 — Chi siamo + News editorial experience
   ========================================================= */
.vm-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 18px;
  color: var(--vm-orange);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.vm-kicker::before {
  content: "";
  width: 28px;
  height: 2px;
  background: currentColor;
}
.vm-kicker--dark { color: var(--vm-ink); }

.vm-button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-weight: 900;
  letter-spacing: -.01em;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.vm-button:hover { transform: translateY(-2px); }
.vm-button--orange {
  background: var(--vm-orange);
  color: #fff;
  box-shadow: 0 12px 34px rgba(255,91,33,.24);
}
.vm-button--orange:hover { background: var(--vm-orange-dark); }
.vm-button--ghost-light {
  border-color: rgba(255,255,255,.2);
  color: #fff;
  background: rgba(255,255,255,.03);
}
.vm-button--ghost-light:hover { border-color: rgba(255,255,255,.48); background: rgba(255,255,255,.07); }

/* About */
.vm-about-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 45%, rgba(255,91,33,.18), transparent 28%),
    linear-gradient(120deg, #0d0f10 0%, #17191a 55%, #111314 100%);
  color: #fff;
}
.vm-about-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to right, transparent, #000 24%, #000 100%);
}
.vm-about-hero__grid {
  position: relative;
  z-index: 1;
  min-height: 670px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
  align-items: center;
  gap: 60px;
  padding-top: 84px;
  padding-bottom: 84px;
}
.vm-about-hero__copy { max-width: 790px; }
.vm-about-hero h1 {
  margin: 0;
  font-size: clamp(64px, 8.2vw, 132px);
  line-height: .78;
  letter-spacing: -.075em;
  text-transform: uppercase;
}
.vm-about-hero h1 em {
  display: inline-block;
  color: var(--vm-orange);
  font-style: normal;
}
.vm-about-hero__copy > p {
  max-width: 670px;
  margin: 34px 0 0;
  color: rgba(255,255,255,.72);
  font-size: clamp(17px, 1.55vw, 21px);
  line-height: 1.55;
}
.vm-about-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.vm-about-hero__record {
  position: relative;
  width: min(100%, 560px);
  aspect-ratio: 1;
  justify-self: end;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #ff5b21 0 10%, #111 10.5% 12%, #de4a17 12.5% 21%, #111 21.5% 28%, #202324 28.5% 100%);
  box-shadow: 0 45px 100px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.06);
  transform: rotate(-10deg);
}
.vm-about-hero__record::after {
  content: "";
  position: absolute;
  inset: 12%;
  border-radius: 50%;
  background: repeating-radial-gradient(circle, transparent 0 4px, rgba(255,255,255,.045) 5px 6px);
}
.vm-record-ring { position: absolute; inset: 6%; border-radius: 50%; border: 1px solid rgba(255,255,255,.08); }
.vm-record-ring--2 { inset: 20%; }
.vm-record-ring--3 { inset: 33%; }
.vm-record-label {
  position: absolute;
  z-index: 3;
  inset: 40%;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--vm-orange);
  color: #fff;
  font-size: clamp(24px, 3vw, 48px);
  font-weight: 950;
  letter-spacing: -.07em;
}
.vm-about-marquee {
  position: relative;
  z-index: 2;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,.09);
  border-bottom: 1px solid rgba(255,255,255,.09);
  padding: 14px 0 13px;
  color: rgba(255,255,255,.48);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
  white-space: nowrap;
}
.vm-about-marquee span { display: block; width: max-content; transform: translateX(-2%); }

.vm-about-video-section { padding: 96px 0 108px; background: #f4f1eb; }
.vm-about-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr);
  gap: 60px;
  align-items: end;
  margin-bottom: 42px;
}
.vm-about-section-head h2,
.vm-manifesto-title h2,
.vm-about-cta h2 {
  margin: 0;
  font-size: clamp(44px, 6.5vw, 86px);
  line-height: .9;
  letter-spacing: -.065em;
  text-transform: uppercase;
}
.vm-about-section-head > p {
  margin: 0 0 5px;
  color: var(--vm-muted);
  font-size: 17px;
  line-height: 1.55;
}
.vm-video-shell {
  overflow: hidden;
  border-radius: 24px;
  background: #0c0e0f;
  box-shadow: 0 35px 90px rgba(17,20,22,.18);
}
.vm-video-shell__topline {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.55);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .15em;
}
.vm-about-video {
  display: block;
  width: 100%;
  max-height: 760px;
  aspect-ratio: 16/9;
  object-fit: contain;
  background: #050606;
}

.vm-about-manifesto { padding: 100px 0; background: #151718; color: #fff; }
.vm-manifesto-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .68fr);
  gap: 80px;
  align-items: start;
}
.vm-manifesto-copy { padding-top: 42px; color: rgba(255,255,255,.68); font-size: 17px; }
.vm-manifesto-copy .vm-lead { color: #fff; font-size: 23px; line-height: 1.45; font-weight: 750; }
.vm-values-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 12px;
  margin-top: 70px;
}
.vm-value-card {
  min-height: 280px;
  display: flex;
  flex-direction: column;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  background: rgba(255,255,255,.025);
}
.vm-value-card--orange { background: var(--vm-orange); border-color: var(--vm-orange); }
.vm-value-card > span { color: rgba(255,255,255,.48); font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.vm-value-card h3 { margin: auto 0 14px; font-size: 30px; letter-spacing: -.04em; }
.vm-value-card p { margin: 0; color: rgba(255,255,255,.64); font-size: 14px; }
.vm-value-card--orange p, .vm-value-card--orange > span { color: rgba(255,255,255,.84); }

.vm-about-stats { padding: 26px 0; background: var(--vm-orange); color: #fff; }
.vm-about-stats__grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); }
.vm-about-stats__grid > div { padding: 22px 28px; border-right: 1px solid rgba(255,255,255,.22); }
.vm-about-stats__grid > div:last-child { border-right: 0; }
.vm-about-stats strong { display: block; font-size: clamp(34px,4vw,58px); line-height: 1; letter-spacing: -.055em; }
.vm-about-stats span { display: block; margin-top: 8px; color: rgba(255,255,255,.82); font-size: 12px; font-weight: 800; }

.vm-about-editor-section { padding: 70px 0; background: #fff; }
.vm-about-editor-content { max-width: 880px; font-size: 18px; }
.vm-about-cta { padding: 70px 0; background: #0e1011; color: #fff; }
.vm-about-cta__inner { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.vm-about-cta__actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }

/* News */
.vm-news-hero {
  position: relative;
  overflow: hidden;
  padding: 86px 0 80px;
  background:
    radial-gradient(circle at 82% 15%, rgba(255,91,33,.2), transparent 25%),
    #111314;
  color: #fff;
}
.vm-news-hero::after {
  content: "NEWS";
  position: absolute;
  right: -1vw;
  bottom: -6vw;
  color: rgba(255,255,255,.025);
  font-size: min(32vw, 500px);
  font-weight: 950;
  line-height: .7;
  letter-spacing: -.08em;
}
.vm-news-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr minmax(280px,.45fr); gap: 60px; align-items: end; }
.vm-news-hero h1 { margin: 0; font-size: clamp(64px,9vw,140px); line-height: .78; letter-spacing: -.078em; text-transform: uppercase; }
.vm-news-hero h1 em { color: var(--vm-orange); font-style: normal; }
.vm-news-hero p { margin: 0 0 8px; color: rgba(255,255,255,.68); font-size: 18px; line-height: 1.55; }
.vm-news-toolbar { position: sticky; top: 173px; z-index: 30; border-bottom: 1px solid var(--vm-line); background: rgba(255,255,255,.94); backdrop-filter: blur(12px); }
.vm-news-toolbar__inner { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.vm-news-cats { display: flex; gap: 6px; overflow-x: auto; padding: 10px 0; scrollbar-width: none; }
.vm-news-cats::-webkit-scrollbar { display: none; }
.vm-news-cats a { flex: 0 0 auto; padding: 8px 12px; border-radius: 999px; color: var(--vm-muted); font-size: 12px; font-weight: 850; }
.vm-news-cats a:hover, .vm-news-cats a.is-active { background: #17191a; color: #fff; }
.vm-news-search { position: relative; flex: 0 0 min(320px,34vw); }
.vm-news-search input { width: 100%; height: 42px; padding: 0 46px 0 14px; border: 1px solid var(--vm-line); border-radius: 10px; outline: 0; }
.vm-news-search input:focus { border-color: var(--vm-orange); box-shadow: 0 0 0 3px rgba(255,91,33,.09); }
.vm-news-search button { position: absolute; right: 3px; top: 3px; width: 36px; height: 36px; border: 0; border-radius: 8px; background: var(--vm-orange); color: #fff; }
.vm-news-body { padding: 58px 0 86px; background: #f7f5f1; }
.vm-news-featured { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr); overflow: hidden; margin-bottom: 24px; border: 1px solid var(--vm-line); border-radius: 22px; background: #fff; box-shadow: var(--vm-shadow); }
.vm-news-featured__media { min-height: 520px; background: #191b1c; }
.vm-news-featured__media img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; display: block; }
.vm-news-featured__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px,5vw,66px); }
.vm-news-meta { display: flex; flex-wrap: wrap; gap: 9px; color: #8a8e90; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.vm-news-meta span + span::before { content: "•"; margin-right: 9px; color: var(--vm-orange); }
.vm-news-featured h2 { margin: 18px 0 16px; font-size: clamp(36px,4.5vw,66px); line-height: .93; letter-spacing: -.06em; text-transform: uppercase; }
.vm-news-featured p { margin: 0; color: var(--vm-muted); font-size: 17px; }
.vm-news-read { display: inline-flex; align-items: center; gap: 9px; width: fit-content; margin-top: 24px; color: var(--vm-orange); font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; }
.vm-news-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.vm-news-card { overflow: hidden; border: 1px solid var(--vm-line); border-radius: 18px; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.vm-news-card:hover { transform: translateY(-4px); box-shadow: var(--vm-shadow); }
.vm-news-card__media { display: block; aspect-ratio: 16/10; overflow: hidden; background: #1a1c1d; }
.vm-news-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.vm-news-card:hover .vm-news-card__media img { transform: scale(1.035); }
.vm-news-card__body { padding: 22px; }
.vm-news-card h2 { margin: 12px 0 10px; font-size: 26px; line-height: 1.02; letter-spacing: -.04em; text-transform: uppercase; }
.vm-news-card p { margin: 0; color: var(--vm-muted); font-size: 14px; }
.vm-news-placeholder { width: 100%; height: 100%; min-height: inherit; display: grid; place-items: center; background: radial-gradient(circle at 50% 50%, #2d3031 0 18%, #191b1c 19% 100%); }
.vm-news-placeholder span { display: grid; place-items: center; width: 92px; aspect-ratio: 1; border-radius: 50%; border: 20px solid #2c2f30; background: var(--vm-orange); color: #fff; font-size: 20px; font-weight: 950; }
.vm-news-pagination { margin-top: 42px; }
.vm-news-pagination .nav-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 7px; }
.vm-news-pagination .page-numbers { min-width: 42px; height: 42px; display: grid; place-items: center; padding: 0 10px; border-radius: 10px; background: #fff; border: 1px solid var(--vm-line); font-weight: 850; }
.vm-news-pagination .current { background: var(--vm-orange); border-color: var(--vm-orange); color: #fff; }
.vm-news-empty { padding: 90px 20px; text-align: center; }
.vm-news-empty h2 { margin: 4px 0 10px; font-size: clamp(42px,7vw,86px); line-height: .88; letter-spacing: -.06em; }
.vm-news-empty p { color: var(--vm-muted); }
.vm-news-closer { overflow: hidden; background: var(--vm-orange); color: #fff; }
.vm-news-closer__inner { min-height: 120px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.vm-news-closer span { font-size: clamp(38px,7vw,98px); line-height: .8; font-weight: 950; letter-spacing: -.07em; }
.vm-news-closer strong { flex: 0 0 auto; font-size: 12px; letter-spacing: .15em; }

@media (max-width: 1100px) {
  .vm-about-hero__grid { min-height: 590px; grid-template-columns: 1.1fr .9fr; gap: 30px; }
  .vm-values-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .vm-news-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .vm-news-featured { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 820px) {
  .vm-about-hero__grid { min-height: auto; grid-template-columns: 1fr; padding-top: 64px; padding-bottom: 58px; }
  .vm-about-hero__record { width: min(72vw,420px); justify-self: center; margin-top: 18px; }
  .vm-about-section-head, .vm-manifesto-grid, .vm-news-hero__inner, .vm-news-featured { grid-template-columns: 1fr; gap: 28px; }
  .vm-about-video-section, .vm-about-manifesto { padding-block: 70px; }
  .vm-manifesto-copy { padding-top: 0; }
  .vm-about-stats__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .vm-about-stats__grid > div:nth-child(2) { border-right: 0; }
  .vm-about-stats__grid > div { border-bottom: 1px solid rgba(255,255,255,.2); }
  .vm-about-stats__grid > div:nth-child(n+3) { border-bottom: 0; }
  .vm-about-cta__inner { align-items: flex-start; flex-direction: column; }
  .vm-about-cta__actions { justify-content: flex-start; }
  .vm-news-toolbar { position: static; }
  .vm-news-toolbar__inner { align-items: stretch; flex-direction: column; padding: 12px 0; }
  .vm-news-search { flex: 1 1 auto; width: 100%; }
  .vm-news-featured__media, .vm-news-featured__media img { min-height: 340px; }
}
@media (max-width: 560px) {
  .vm-about-hero h1, .vm-news-hero h1 { font-size: clamp(54px,18vw,82px); }
  .vm-about-actions, .vm-about-cta__actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .vm-button { width: 100%; }
  .vm-values-grid, .vm-news-grid, .vm-about-stats__grid { grid-template-columns: 1fr; }
  .vm-about-stats__grid > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2) !important; }
  .vm-about-stats__grid > div:last-child { border-bottom: 0 !important; }
  .vm-news-featured__media, .vm-news-featured__media img { min-height: 260px; }
  .vm-news-featured__copy, .vm-news-card__body { padding: 22px; }
  .vm-news-closer__inner { min-height: 96px; }
  .vm-news-closer strong { display: none; }
}

/* =========================================================
   VinylMail Nova 1.5 — Footer + My Account / Login
   ========================================================= */
.vm-footer {
  position: relative;
  overflow: hidden;
  padding: 0;
  background:
    radial-gradient(circle at 83% 10%, rgba(255,91,33,.12), transparent 26%),
    #101213;
  color: rgba(255,255,255,.72);
}
.vm-footer-accent { height: 4px; background: linear-gradient(90deg, var(--vm-orange), #ff8b3d 45%, transparent 82%); }
.vm-footer-main {
  display: grid;
  grid-template-columns: minmax(300px,1.45fr) minmax(150px,.65fr) minmax(170px,.7fr) minmax(280px,1.1fr);
  gap: clamp(34px,4vw,72px);
  padding: 68px 0 54px;
}
.vm-footer-brand { width: fit-content; color: #fff; }
.vm-footer-brand .vm-brand__tagline { display: block; color: rgba(255,255,255,.52); }
.vm-footer-description { max-width: 430px; margin: 22px 0 0; color: rgba(255,255,255,.62); font-size: 15px; line-height: 1.65; }
.vm-footer-trust { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 22px; color: rgba(255,255,255,.72); font-size: 11px; font-weight: 800; letter-spacing: .02em; }
.vm-footer-trust span::first-letter { color: var(--vm-orange); }
.vm-footer-social { display: flex; gap: 9px; margin-top: 24px; }
.vm-footer-social a { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; background: rgba(255,255,255,.04); color: #fff; font-weight: 900; transition: .18s ease; }
.vm-footer-social a:hover { transform: translateY(-2px); border-color: var(--vm-orange); background: var(--vm-orange); color: #fff; }
.vm-footer-label { display: block; margin-bottom: 18px; color: #fff; font-size: 11px; font-weight: 950; letter-spacing: .16em; }
.vm-footer-links, .vm-footer-extra-menu { list-style: none; margin: 0; padding: 0; }
.vm-footer-links li + li, .vm-footer-extra-menu li + li { margin-top: 11px; }
.vm-footer-links a, .vm-footer-extra-menu a { color: rgba(255,255,255,.65); font-size: 14px; font-weight: 700; }
.vm-footer-links a:hover, .vm-footer-extra-menu a:hover { color: #fff; }
.vm-footer-extra-menu { margin-top: 11px; padding-top: 11px; border-top: 1px solid rgba(255,255,255,.07); }
.vm-footer-products { display: grid; gap: 12px; }
.vm-footer-product { display: grid; grid-template-columns: 68px minmax(0,1fr); gap: 13px; align-items: center; padding: 8px; margin: -8px; border-radius: 12px; transition: background .18s ease; }
.vm-footer-product:hover { background: rgba(255,255,255,.05); }
.vm-footer-product__image { display: block; width: 68px; aspect-ratio: 1; overflow: hidden; border-radius: 10px; background: #202324; }
.vm-footer-product__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vm-footer-product__copy { min-width: 0; }
.vm-footer-product__copy strong { display: block; overflow: hidden; color: #fff; font-size: 12px; line-height: 1.2; text-overflow: ellipsis; text-transform: uppercase; }
.vm-footer-product__copy span { display: block; margin-top: 6px; color: var(--vm-orange); font-size: 12px; font-weight: 900; }
.vm-footer-product__copy del { color: rgba(255,255,255,.36); }
.vm-footer-product__copy ins { text-decoration: none; }
.vm-footer-bottom { margin: 0; padding: 20px 0 25px; border-top: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.43); }
.vm-footer-legal { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px 20px; }
.vm-footer-legal a, .vm-footer-legal span { color: inherit; }
.vm-footer-legal a:hover { color: #fff; }

.vm-newsletter { position: relative; overflow: hidden; padding: 48px 0; background: var(--vm-orange); }
.vm-newsletter::after { content: "MAIL"; position: absolute; right: -20px; bottom: -48px; color: rgba(255,255,255,.07); font-size: 180px; line-height: 1; font-weight: 950; letter-spacing: -.08em; pointer-events: none; }
.vm-newsletter__inner { position: relative; z-index: 1; grid-template-columns: minmax(0,1fr) minmax(320px,.8fr); }
.vm-newsletter .vm-kicker { color: rgba(255,255,255,.72); }
.vm-newsletter h2 { max-width: 720px; font-size: clamp(34px,4vw,54px); line-height: .94; text-transform: uppercase; }
.vm-newsletter__form .mailpoet_form { padding: 0 !important; }
.vm-newsletter__form form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; align-items: end; }
.vm-newsletter input[type="email"], .vm-newsletter input[type="text"] { min-height: 52px !important; border-radius: 12px !important; }
.vm-newsletter input[type="submit"], .vm-newsletter button { min-height: 52px; padding: 0 22px !important; border: 1px solid rgba(255,255,255,.2) !important; border-radius: 12px !important; background: #151718 !important; color: #fff !important; font-weight: 900 !important; }

/* WooCommerce account pages: give them enough room. */
.woocommerce-account .vm-entry,
.woocommerce-cart .vm-entry,
.woocommerce-checkout .vm-entry { max-width: var(--vm-container); padding-left: 20px; padding-right: 20px; }
.woocommerce-account .vm-entry > article > h1 { margin-bottom: 22px; font-size: clamp(44px,6vw,82px); text-transform: uppercase; }

.vm-account-hero { position: relative; overflow: hidden; margin-bottom: 22px; padding: 32px clamp(24px,4vw,48px); border-radius: 20px; background: #151718; color: #fff; }
.vm-account-hero::after { content: "VM"; position: absolute; right: -16px; bottom: -40px; color: rgba(255,255,255,.035); font-size: 170px; line-height: 1; font-weight: 950; letter-spacing: -.08em; }
.vm-account-hero > * { position: relative; z-index: 1; }
.vm-account-hero h2, .vm-account-reset-intro h2 { margin: 5px 0 8px; font-size: clamp(34px,4vw,58px); line-height: .95; letter-spacing: -.05em; text-transform: uppercase; }
.vm-account-hero p { max-width: 680px; margin: 0; color: rgba(255,255,255,.63); }
.vm-kicker { display: inline-block; color: var(--vm-orange); font-size: 10px; font-weight: 950; letter-spacing: .18em; }

.woocommerce-account #customer_login { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.woocommerce-account #customer_login > div { width: auto !important; float: none !important; }
.woocommerce-account #customer_login h2 { margin: 0 0 18px; font-size: 30px; letter-spacing: -.04em; text-transform: uppercase; }
.woocommerce-account form.login,
.woocommerce-account form.register,
.woocommerce-account .woocommerce-ResetPassword {
  margin: 0;
  padding: clamp(24px,3vw,38px);
  border: 1px solid var(--vm-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(17,20,22,.07);
}
.woocommerce-account form .form-row { margin-bottom: 16px; }
.woocommerce-account form .form-row label { margin-bottom: 6px; color: #5f6467; font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.woocommerce-account form .form-row input.input-text { min-height: 52px; border-radius: 12px; }
.woocommerce-account .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin-right: 14px; }
.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register__submit,
.woocommerce-account .woocommerce-Button,
.woocommerce-account button.button {
  min-height: 48px;
  padding: 0 22px !important;
  border-radius: 11px !important;
  background: var(--vm-orange) !important;
  color: #fff !important;
  font-weight: 900 !important;
}
.woocommerce-account .lost_password { margin: 16px 0 0; }
.woocommerce-account .lost_password a { color: var(--vm-orange); font-weight: 800; }
.woocommerce-password-strength { margin-top: 8px; padding: 8px 10px; border-radius: 8px; font-size: 12px; }

.woocommerce-account .woocommerce-MyAccount-navigation { width: 250px; }
.woocommerce-account .woocommerce-MyAccount-content { width: calc(100% - 290px); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { overflow: hidden; border: 1px solid var(--vm-line); border-radius: 16px; background: #fff; box-shadow: 0 14px 36px rgba(17,20,22,.05); }
.woocommerce-account .woocommerce-MyAccount-navigation li + li { border-top: 1px solid var(--vm-line); }
.woocommerce-account .woocommerce-MyAccount-navigation a { padding: 14px 16px; border: 0; color: #4e5356; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: #faf8f4; color: #111; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: #17191a; color: #fff; }
.woocommerce-account .woocommerce-MyAccount-content { min-height: 330px; padding: clamp(22px,3vw,34px); border: 1px solid var(--vm-line); border-radius: 18px; background: #fff; box-shadow: 0 18px 50px rgba(17,20,22,.06); }
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.woocommerce-account .woocommerce-Address { width: auto !important; float: none !important; padding: 22px; border: 1px solid var(--vm-line); border-radius: 14px; background: #faf8f4; }
.woocommerce-account .woocommerce-Address-title h2 { font-size: 20px; text-transform: uppercase; }
.woocommerce-account .woocommerce-orders-table .button { white-space: nowrap; }
.vm-account-reset-intro { margin-bottom: 18px; padding: 28px; border-radius: 18px; background: #f7f4ee; }
.vm-account-reset-intro p { margin: 0; color: var(--vm-muted); }

/* Cart + checkout polish so the transactional path visually matches My Account. */
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  padding: 24px;
  border: 1px solid var(--vm-line);
  border-radius: 16px;
  background: #fff;
}
.woocommerce-checkout h3, .woocommerce-cart .cart_totals h2 { text-transform: uppercase; letter-spacing: -.03em; }
.woocommerce-checkout #place_order { width: 100%; min-height: 54px; border-radius: 12px !important; background: var(--vm-orange) !important; font-weight: 950 !important; }

@media (max-width: 1040px) {
  .vm-footer-main { grid-template-columns: 1.35fr .7fr .8fr; }
  .vm-footer-productscol { grid-column: 1 / -1; }
  .vm-footer-products { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .vm-footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); padding-top: 48px; }
  .vm-footer-brandcol, .vm-footer-productscol { grid-column: 1 / -1; }
  .vm-newsletter__inner { grid-template-columns: 1fr; }
  .woocommerce-account #customer_login { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 14px; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; border-radius: 12px; scrollbar-width: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; border-top: 0 !important; border-right: 1px solid var(--vm-line); }
  .woocommerce-account .woocommerce-MyAccount-navigation a { white-space: nowrap; }
}
@media (max-width: 560px) {
  .vm-footer-main { grid-template-columns: 1fr; gap: 34px; }
  .vm-footer-brandcol, .vm-footer-productscol { grid-column: auto; }
  .vm-footer-products { grid-template-columns: 1fr; }
  .vm-footer-bottom { display: grid; gap: 10px; }
  .vm-footer-legal { justify-content: flex-start; }
  .vm-newsletter__form form { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; }
  .woocommerce-account .vm-entry { padding-left: 14px; padding-right: 14px; }
}

/* =========================================================
   VinylMail Nova 1.6 — editorial pages + commerce QA polish
   ========================================================= */

/* Product taxonomy/archive: one hero only, no duplicate title/description. */
.vm-archive-header {
  padding: 56px 0 42px;
  background:
    radial-gradient(circle at 84% 20%, rgba(255,91,33,.16), transparent 26%),
    #151718;
  color: #fff;
}
.vm-archive-header .vm-kicker { margin-bottom: 12px; }
.vm-archive-header h1 {
  margin: 0;
  font-size: clamp(44px,5vw,72px);
  line-height: .95;
  letter-spacing: -.055em;
  text-transform: uppercase;
}
.vm-archive-header__description {
  max-width: 1060px;
  margin-top: 18px;
  color: rgba(255,255,255,.72);
  font-size: 16px;
  line-height: 1.65;
}
.vm-archive-header__description > *:first-child { margin-top: 0; }
.vm-archive-header__description > *:last-child { margin-bottom: 0; }

/* Contacts */
.vm-contact-hero,
.vm-legend-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 22%, rgba(255,91,33,.22), transparent 26%),
    linear-gradient(120deg, #0e1011, #17191a 66%, #111314);
  color: #fff;
}
.vm-contact-hero::after,
.vm-legend-hero::after {
  position: absolute;
  right: -1vw;
  bottom: -5vw;
  color: rgba(255,255,255,.025);
  font-size: min(27vw,430px);
  font-weight: 950;
  line-height: .72;
  letter-spacing: -.08em;
  pointer-events: none;
}
.vm-contact-hero::after { content: "HELLO"; }
.vm-legend-hero::after { content: "M/EX"; }
.vm-contact-hero__grid,
.vm-legend-hero__grid {
  position: relative;
  z-index: 1;
  min-height: 430px;
  display: grid;
  grid-template-columns: 1fr minmax(300px,.5fr);
  gap: 70px;
  align-items: end;
  padding-top: 70px;
  padding-bottom: 70px;
}
.vm-contact-hero h1,
.vm-legend-hero h1 {
  margin: 0;
  font-size: clamp(62px,8vw,120px);
  line-height: .8;
  letter-spacing: -.075em;
  text-transform: uppercase;
}
.vm-contact-hero h1 em,
.vm-legend-hero h1 em { color: var(--vm-orange); font-style: normal; }
.vm-contact-hero__grid > p,
.vm-legend-hero__grid > p {
  margin: 0 0 8px;
  color: rgba(255,255,255,.68);
  font-size: 18px;
  line-height: 1.6;
}
.vm-contact-section { padding: 80px 0 96px; background: #f6f3ed; }
.vm-contact-layout {
  display: grid;
  grid-template-columns: minmax(300px,.82fr) minmax(0,1.18fr);
  gap: 28px;
  align-items: start;
}
.vm-contact-panel,
.vm-contact-form-card {
  border: 1px solid var(--vm-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 20px 58px rgba(17,20,22,.07);
}
.vm-contact-panel { padding: clamp(28px,4vw,48px); }
.vm-contact-panel h2,
.vm-contact-form-head h2,
.vm-legend-intro h2 {
  margin: 6px 0 14px;
  font-size: clamp(34px,4vw,58px);
  line-height: .95;
  letter-spacing: -.05em;
  text-transform: uppercase;
}
.vm-contact-panel > p,
.vm-contact-form-head p,
.vm-legend-intro p { color: var(--vm-muted); }
.vm-contact-cards { display: grid; gap: 10px; margin-top: 32px; }
.vm-contact-card {
  display: grid;
  gap: 4px;
  padding: 18px;
  border-radius: 14px;
  background: #f7f4ee;
}
.vm-contact-card > span,
.vm-contact-form label > span {
  color: #858b8e;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.vm-contact-card strong { font-size: 17px; }
.vm-contact-card small { color: var(--vm-muted); }
.vm-contact-card a:hover { color: var(--vm-orange); }
.vm-contact-form-card { padding: clamp(28px,4vw,48px); }
.vm-contact-form { display: grid; gap: 16px; margin-top: 28px; }
.vm-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.vm-contact-form label { display: grid; gap: 7px; }
.vm-contact-form input[type="text"],
.vm-contact-form input[type="email"],
.vm-contact-form textarea {
  width: 100%;
  border: 1px solid #dcd8d0;
  border-radius: 12px;
  background: #fbfaf8;
  color: var(--vm-ink);
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.vm-contact-form input[type="text"],
.vm-contact-form input[type="email"] { min-height: 52px; padding: 0 14px; }
.vm-contact-form textarea { min-height: 180px; padding: 14px; resize: vertical; }
.vm-contact-form input:focus,
.vm-contact-form textarea:focus {
  border-color: var(--vm-orange);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(255,91,33,.09);
}
.vm-privacy-check {
  grid-template-columns: auto 1fr !important;
  align-items: start;
  gap: 10px !important;
  color: var(--vm-muted);
  font-size: 12px;
  line-height: 1.5;
}
.vm-privacy-check input { margin-top: 3px; }
.vm-privacy-check > span { color: var(--vm-muted) !important; letter-spacing: 0 !important; text-transform: none !important; font-weight: 600 !important; }
.vm-privacy-check a { color: var(--vm-orange); text-decoration: underline; }
.vm-contact-submit { justify-self: start; min-width: 220px; }
.vm-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.vm-form-notice { margin: 22px 0 0; padding: 13px 16px; border-radius: 11px; font-weight: 750; }
.vm-form-notice--success { background: #e9f7ee; color: #176d36; border: 1px solid #bfe4cc; }
.vm-form-notice--error { background: #fff0ec; color: #a13b20; border: 1px solid #f2c8bb; }
.vm-contact-editor-section { padding: 0 0 80px; background: #f6f3ed; }
.vm-contact-editor-content { max-width: 880px; padding: 30px; border-radius: 16px; background: #fff; }

/* Legend */
.vm-legend-body { padding: 76px 0 96px; background: #f6f3ed; }
.vm-legend-intro { max-width: 820px; margin-bottom: 34px; }
.vm-legend-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.vm-legend-card {
  padding: clamp(24px,3vw,34px);
  border: 1px solid var(--vm-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(17,20,22,.055);
}
.vm-legend-card--wide { grid-column: span 2; }
.vm-legend-card--dark { background: #151718; color: #fff; border-color: #151718; }
.vm-legend-card--orange { background: var(--vm-orange); color: #fff; border-color: var(--vm-orange); }
.vm-legend-card__head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.vm-legend-card__head > span { color: var(--vm-orange); font-size: 11px; font-weight: 950; letter-spacing: .15em; }
.vm-legend-card--orange .vm-legend-card__head > span { color: rgba(255,255,255,.72); }
.vm-legend-card__head h3 { margin: 0; font-size: clamp(28px,3vw,42px); letter-spacing: -.045em; text-transform: uppercase; }
.vm-code-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.vm-code-grid--compact { grid-template-columns: repeat(2,minmax(0,1fr)); }
.vm-code-row { min-height: 58px; display: grid; grid-template-columns: 58px 1fr; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 11px; background: #f7f4ee; }
.vm-code-row strong { display: grid; place-items: center; min-height: 34px; border-radius: 8px; background: #17191a; color: #fff; font-size: 12px; }
.vm-code-row span { color: #555b5e; font-size: 13px; font-weight: 650; }
.vm-grade-list { display: grid; gap: 8px; }
.vm-grade-row { display: grid; grid-template-columns: 56px 1fr; gap: 14px; align-items: start; padding: 13px 0; border-top: 1px solid rgba(255,255,255,.09); }
.vm-grade-row:first-child { border-top: 0; }
.vm-grade-row > strong { display: grid; place-items: center; min-height: 46px; border-radius: 10px; background: var(--vm-orange); font-size: 20px; }
.vm-grade-row b { display: block; font-size: 15px; }
.vm-grade-row p { margin: 2px 0 0; color: rgba(255,255,255,.6); font-size: 13px; }
.vm-country-list { display: grid; gap: 0; }
.vm-country-list > div { display: grid; grid-template-columns: 150px 1fr; gap: 12px; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.2); }
.vm-country-list > div:first-child { border-top: 0; }
.vm-country-list strong { font-size: 12px; letter-spacing: .05em; }
.vm-country-list span { color: rgba(255,255,255,.78); }
.vm-legend-callout { display: grid; grid-template-columns: minmax(180px,.3fr) 1fr; gap: 30px; align-items: center; margin-top: 16px; padding: 26px 30px; border-radius: 18px; background: #fff; border: 1px solid var(--vm-line); }
.vm-legend-callout strong { display: block; margin-top: 2px; font-size: 48px; line-height: 1; letter-spacing: -.06em; }
.vm-legend-callout p { margin: 0; color: var(--vm-muted); font-size: 16px; }
.vm-legend-editor-content { margin-top: 18px; padding: 30px; border-radius: 18px; background: #fff; }

/* News: archive years and stronger toolbar. */
.vm-news-tools { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 0; }
.vm-news-years { display: flex; align-items: center; gap: 5px; max-width: 360px; overflow-x: auto; scrollbar-width: none; }
.vm-news-years::-webkit-scrollbar { display: none; }
.vm-news-years > span { flex: 0 0 auto; color: #8a8f92; font-size: 9px; font-weight: 950; letter-spacing: .13em; }
.vm-news-years a { flex: 0 0 auto; padding: 6px 8px; border-radius: 8px; background: #f2efe9; color: #53585b; font-size: 11px; font-weight: 850; }
.vm-news-years a:hover { background: var(--vm-orange); color: #fff; }

/* WOW cart — supports WooCommerce Blocks and classic cart. */
body.woocommerce-cart .vm-main { background: #f5f2ec; }
body.woocommerce-cart .vm-content-shell { padding-top: 58px; padding-bottom: 90px; }
body.woocommerce-cart .vm-content-shell::before {
  content: "IL TUO CARRELLO";
  display: block;
  margin-bottom: 10px;
  color: var(--vm-orange);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .18em;
}
body.woocommerce-cart .vm-content-shell > .woocommerce > h1,
body.woocommerce-cart .entry-title,
body.woocommerce-cart .wp-block-post-title {
  margin: 0 0 34px !important;
  font-size: clamp(52px,7vw,96px) !important;
  line-height: .85 !important;
  letter-spacing: -.065em !important;
  text-transform: uppercase;
}
.wc-block-cart { gap: 24px !important; }
.wc-block-cart-items,
.woocommerce-cart-form {
  overflow: hidden;
  border: 1px solid var(--vm-line) !important;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(17,20,22,.06);
}
.wc-block-cart-items .wc-block-cart-items__row { padding: 22px !important; border-bottom: 1px solid var(--vm-line) !important; }
.wc-block-cart-items .wc-block-cart-items__row:last-child { border-bottom: 0 !important; }
.wc-block-cart-item__image img { border-radius: 12px; background: #f1f2f2; }
.wc-block-components-product-name { font-size: 18px !important; font-weight: 900 !important; letter-spacing: -.025em; }
.wc-block-components-product-price { font-weight: 850; }
.wc-block-components-quantity-selector { border-radius: 11px !important; border-color: var(--vm-line) !important; }
.wc-block-cart-item__remove-link { color: #8b9093 !important; font-size: 11px !important; font-weight: 800 !important; text-decoration: none !important; }
.wc-block-cart-item__remove-link:hover { color: var(--vm-orange) !important; }
.wc-block-cart .wc-block-components-sidebar {
  align-self: start;
  position: sticky;
  top: 190px;
  padding: 26px !important;
  border-radius: 20px;
  background: #151718;
  color: #fff;
  box-shadow: 0 28px 70px rgba(17,20,22,.18);
}
.wc-block-cart .wc-block-components-sidebar * { border-color: rgba(255,255,255,.12) !important; }
.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-item__label,
.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-item__value,
.wc-block-cart .wc-block-components-sidebar .wc-block-cart__totals-title { color: #fff !important; }
.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-coupon-link { color: var(--vm-orange) !important; }
.wc-block-cart__submit-button,
.wc-block-components-button.wc-block-cart__submit-button {
  min-height: 58px !important;
  border-radius: 12px !important;
  background: var(--vm-orange) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  box-shadow: 0 14px 34px rgba(255,91,33,.24);
}
.wc-block-cart__submit-button:hover { background: var(--vm-orange-dark) !important; transform: translateY(-1px); }
.woocommerce-cart table.shop_table { border-radius: 18px !important; overflow: hidden; }
.woocommerce-cart .cart-collaterals .cart_totals {
  background: #151718 !important;
  color: #fff;
  box-shadow: 0 25px 65px rgba(17,20,22,.16);
}
.woocommerce-cart .cart-collaterals .cart_totals a,
.woocommerce-cart .cart-collaterals .cart_totals .amount { color: #fff; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { min-height: 56px; display: grid; place-items: center; border-radius: 12px !important; background: var(--vm-orange) !important; }

/* Local QA: the theme bypasses Woo Coming Soon only on localhost/.local. */
body.woocommerce-account .woocommerce-notices-wrapper:empty { display: none; }

@media (max-width: 1040px) {
  .vm-contact-hero__grid,
  .vm-legend-hero__grid { grid-template-columns: 1fr; min-height: 360px; gap: 24px; }
  .vm-contact-layout { grid-template-columns: 1fr; }
  .vm-news-toolbar__inner { align-items: flex-start; flex-direction: column; padding-top: 10px; padding-bottom: 10px; }
  .vm-news-tools { width: 100%; justify-content: space-between; }
  .wc-block-cart .wc-block-components-sidebar { position: static; }
}
@media (max-width: 760px) {
  .vm-contact-hero h1,
  .vm-legend-hero h1 { font-size: clamp(54px,18vw,82px); }
  .vm-form-grid,
  .vm-legend-grid { grid-template-columns: 1fr; }
  .vm-legend-card--wide { grid-column: auto; }
  .vm-code-grid,
  .vm-code-grid--compact { grid-template-columns: 1fr; }
  .vm-legend-callout { grid-template-columns: 1fr; }
  .vm-news-tools { align-items: stretch; flex-direction: column; }
  .vm-news-years { max-width: 100%; }
  .vm-news-search { flex-basis: auto; width: 100%; }
}
@media (max-width: 520px) {
  .vm-contact-section,
  .vm-legend-body { padding-top: 48px; padding-bottom: 62px; }
  .vm-contact-panel,
  .vm-contact-form-card,
  .vm-legend-card { border-radius: 16px; }
  .vm-contact-submit { width: 100%; justify-self: stretch; }
  .vm-country-list > div { grid-template-columns: 1fr; gap: 2px; }
}

/* =========================================================
   VinylMail Nova 1.7 — registration + account + placeholders
   ========================================================= */
.vm-account-shell {
  min-height: 620px;
  padding: clamp(52px,7vw,92px) 0 100px;
  background:
    radial-gradient(circle at 12% 3%, rgba(255,91,33,.10), transparent 24%),
    #f6f3ed;
}
.vm-account-shell__inner { max-width: 1180px; }
.vm-account-shell .woocommerce { width: 100%; }
.vm-account-shell .vm-account-hero { margin-bottom: 26px; }

.woocommerce-account #customer_login {
  gap: 22px;
  align-items: stretch;
}
.woocommerce-account #customer_login > .u-column1,
.woocommerce-account #customer_login > .u-column2 {
  display: flex;
  flex-direction: column;
  padding: 0;
  border-radius: 22px;
}
.woocommerce-account #customer_login > .u-column1 > h2,
.woocommerce-account #customer_login > .u-column2 > h2 {
  margin: 0 0 12px;
  padding: 0 4px;
  font-size: clamp(30px,3vw,42px);
  line-height: .95;
}
.woocommerce-account #customer_login > .u-column2 {
  position: relative;
  overflow: hidden;
  padding: 28px;
  background: #151718;
  color: #fff;
}
.woocommerce-account #customer_login > .u-column2::after {
  content: "33⅓";
  position: absolute;
  right: -12px;
  bottom: -48px;
  color: rgba(255,255,255,.04);
  font-size: 150px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.08em;
  pointer-events: none;
}
.woocommerce-account #customer_login > .u-column2 > * { position: relative; z-index: 1; }
.woocommerce-account #customer_login > .u-column2 > h2 { color: #fff; padding: 0; }
.woocommerce-account #customer_login > .u-column2 form.register {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.woocommerce-account #customer_login > .u-column2 form.register label { color: rgba(255,255,255,.62); }
.woocommerce-account #customer_login > .u-column2 form.register input.input-text {
  border-color: rgba(255,255,255,.12);
  background: #fff;
  color: #151718;
}
.woocommerce-account #customer_login > .u-column2 form.register p { color: rgba(255,255,255,.68); }
.woocommerce-account #customer_login > .u-column2 .woocommerce-form-register__submit {
  width: 100%;
  min-height: 54px;
  background: var(--vm-orange) !important;
}
.woocommerce-account #customer_login > .u-column1 form.login {
  flex: 1;
  padding: clamp(26px,3vw,38px);
}
.vm-account-card-intro { margin: 0 0 22px; }
.vm-account-card-intro p { margin: 7px 0 0; color: var(--vm-muted); line-height: 1.55; }
.vm-account-card-intro--register .vm-kicker { color: var(--vm-orange); }
.vm-account-card-intro--register p { color: rgba(255,255,255,.68) !important; }
.vm-register-benefits {
  display: grid;
  gap: 9px;
  margin: 18px 0 24px;
  padding: 0;
  list-style: none;
}
.vm-register-benefits li {
  position: relative;
  padding-left: 24px;
  color: rgba(255,255,255,.78);
  font-size: 13px;
  font-weight: 700;
}
.vm-register-benefits li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--vm-orange);
  font-weight: 950;
}
.woocommerce-account #customer_login .woocommerce-privacy-policy-text {
  color: rgba(255,255,255,.54);
  font-size: 11px;
  line-height: 1.5;
}
.woocommerce-account #customer_login .woocommerce-privacy-policy-text a { color: #fff; text-decoration: underline; }

/* Always use the VinylMail cover treatment wherever Woo/Blocks expose an image tag. */
img.vm-product-placeholder,
img[src*="woocommerce-placeholder"],
img[src*="placeholder.png"] {
  background: #f3f2ef;
  object-fit: cover !important;
}
.wc-block-grid__product-image img,
.wc-block-components-product-image img,
.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
  background: #f3f2ef;
}

@media (max-width: 820px) {
  .woocommerce-account #customer_login > .u-column2 { padding: 24px; }
  .vm-account-shell { padding-top: 34px; }
}

/* =========================================================
   VinylMail Nova 1.8 — premium shop, stable auth, WOW cart
   ========================================================= */

/* ---------- Catalog / taxonomy archives ---------- */
.vm-shop-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(54px,6vw,88px) 0 26px;
  background:
    radial-gradient(circle at 88% 12%, rgba(255,91,33,.22), transparent 24%),
    linear-gradient(110deg, #111415 0%, #17191a 66%, #2b1812 100%);
  color: #fff;
}
.vm-shop-hero::before {
  content: "";
  position: absolute;
  width: 480px;
  aspect-ratio: 1;
  right: -150px;
  top: -190px;
  border-radius: 50%;
  background:
    radial-gradient(circle, #ff5b21 0 5%, #0d0f10 5.4% 19%, #26292a 19.4% 20.2%, #0d0f10 20.6% 37%, #26292a 37.4% 38.1%, #0d0f10 38.5% 100%);
  opacity: .16;
  pointer-events: none;
}
.vm-shop-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(220px,.28fr);
  gap: clamp(28px,5vw,70px);
  align-items: end;
}
.vm-shop-hero__copy { max-width: 980px; }
.vm-shop-hero h1 {
  max-width: 1000px;
  margin: 8px 0 16px;
  color: #fff;
  font-size: clamp(54px,7vw,104px);
  line-height: .82;
  letter-spacing: -.07em;
  text-transform: uppercase;
}
.vm-shop-hero__description {
  max-width: 940px;
  color: rgba(255,255,255,.72);
  font-size: clamp(14px,1.25vw,17px);
  line-height: 1.65;
}
.vm-shop-hero__description > * { color: inherit; }
.vm-shop-hero__description > *:first-child { margin-top: 0; }
.vm-shop-hero__description > *:last-child { margin-bottom: 0; }
.vm-shop-hero__stat {
  position: relative;
  z-index: 2;
  overflow: hidden;
  padding: 26px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 20px;
  background: rgba(255,255,255,.055);
  backdrop-filter: blur(8px);
}
.vm-shop-hero__stat strong {
  display: block;
  color: #fff;
  font-size: clamp(44px,5vw,72px);
  line-height: .85;
  letter-spacing: -.06em;
}
.vm-shop-hero__stat span {
  display: block;
  margin-top: 10px;
  color: rgba(255,255,255,.6);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.vm-shop-hero__stat i {
  position: absolute;
  right: -34px;
  bottom: -42px;
  width: 120px;
  aspect-ratio: 1;
  border: 13px solid rgba(255,91,33,.22);
  border-radius: 50%;
}
.vm-shop-hero__trust {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 9px 24px;
  margin-top: 38px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.09);
  color: rgba(255,255,255,.68);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .025em;
}
.vm-shop-stage {
  padding: 0 0 92px;
  background:
    radial-gradient(circle at 4% 0%, rgba(255,91,33,.055), transparent 20%),
    #f6f3ed;
}
.vm-content-shell--shop { padding-top: 34px; padding-bottom: 0; }
/* Woo can render its own taxonomy header depending on version: ours is the only visible one. */
.vm-content-shell--shop .woocommerce-products-header,
.vm-content-shell--shop .woocommerce-products-header__title,
.vm-content-shell--shop .term-description { display: none !important; }

.vm-shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 28px;
  padding: 13px 14px 13px 18px;
  border: 1px solid #e5e0d8;
  border-radius: 16px;
  background: rgba(255,255,255,.84);
  box-shadow: 0 14px 38px rgba(17,20,22,.045);
  backdrop-filter: blur(8px);
}
.vm-shop-toolbar__count { display: flex; align-items: center; gap: 10px; min-width: 0; }
.vm-shop-toolbar__dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--vm-orange); box-shadow: 0 0 0 5px rgba(255,91,33,.10); }
.vm-shop-toolbar .woocommerce-result-count { float: none !important; margin: 0 !important; color: #5f6467; font-size: 13px; font-weight: 750; }
.vm-shop-toolbar__sort { display: flex; align-items: center; gap: 10px; }
.vm-shop-toolbar__sort > span { color: #8b9093; font-size: 9px; font-weight: 950; letter-spacing: .14em; }
.vm-shop-toolbar .woocommerce-ordering { float: none !important; margin: 0 !important; }
.vm-shop-toolbar .orderby {
  min-width: 218px;
  height: 44px;
  padding: 0 38px 0 14px;
  border: 1px solid #ded9d1;
  border-radius: 11px;
  background-color: #fff;
  color: #202324;
  font-size: 13px;
  font-weight: 750;
}

/* More editorial, premium catalogue cards. */
.vm-content-shell--shop ul.products { gap: 20px; }
.vm-content-shell--shop ul.products > li.product {
  position: relative;
  padding-bottom: 16px;
  border-color: #e3ded6;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 9px 30px rgba(17,20,22,.035);
}
.vm-content-shell--shop ul.products > li.product::before {
  content: "";
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--vm-orange), transparent 72%);
  opacity: 0;
  transition: opacity .2s ease;
}
.vm-content-shell--shop ul.products > li.product:hover::before { opacity: 1; }
.vm-content-shell--shop ul.products li.product a img {
  margin-bottom: 17px !important;
  transition: transform .35s cubic-bezier(.2,.75,.2,1), filter .25s ease;
}
.vm-content-shell--shop ul.products li.product:hover a img { transform: scale(1.025); filter: saturate(1.05) contrast(1.02); }
.vm-content-shell--shop .woocommerce-loop-product__title { min-height: 40px !important; font-size: 16px !important; letter-spacing: -.025em; }
.vm-content-shell--shop .vm-loop-meta { min-height: 24px; color: #73787b; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.vm-content-shell--shop .price { margin-top: 4px !important; font-size: 19px !important; }
.vm-content-shell--shop ul.products li.product .button {
  width: calc(100% - 32px) !important;
  margin: 10px 16px 0 !important;
  min-height: 44px;
  display: inline-flex !important;
  justify-content: center;
  border-radius: 11px !important;
}
.woocommerce nav.woocommerce-pagination { margin-top: 42px; }
.woocommerce nav.woocommerce-pagination ul { display: inline-flex !important; gap: 7px; border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  min-width: 42px;
  height: 42px;
  display: grid !important;
  place-items: center;
  padding: 0 !important;
  border: 1px solid #dfdad2;
  border-radius: 11px;
  background: #fff;
  color: #34383a;
  font-weight: 850;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--vm-orange); background: var(--vm-orange); color: #fff; }

/* ---------- Guest account: one coherent two-column experience ---------- */
.vm-account-shell__inner { max-width: 1240px; }
.vm-account-shell .vm-account-hero { max-width: none; padding: clamp(30px,4vw,50px); }
#customer_login.vm-auth-wrap {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
  margin: 0 !important;
}
#customer_login.vm-auth-wrap--single { grid-template-columns: minmax(0,680px) !important; justify-content: center; }
.vm-auth-card {
  position: relative;
  min-width: 0;
  margin: 0 !important;
  padding: clamp(28px,3.2vw,44px) !important;
  float: none !important;
  width: auto !important;
  border: 1px solid #e1dcd4;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(17,20,22,.07);
}
.vm-auth-card--register {
  overflow: hidden;
  border-color: #17191a;
  background: linear-gradient(145deg, #151718 0%, #191b1c 62%, #291a14 100%);
  color: #fff;
}
.vm-auth-card__top { position: relative; z-index: 2; margin-bottom: 24px; }
.vm-auth-card__top h2 {
  margin: 7px 0 10px !important;
  padding: 0 !important;
  color: #17191a;
  font-size: clamp(40px,4.5vw,66px) !important;
  line-height: .84 !important;
  letter-spacing: -.065em !important;
  text-transform: uppercase;
}
.vm-auth-card--register .vm-auth-card__top h2 { color: #fff; }
.vm-auth-card__top p { max-width: 520px; margin: 0; color: #72777a; line-height: 1.55; }
.vm-auth-card--register .vm-auth-card__top p { color: rgba(255,255,255,.62); }
.vm-auth-card__vinyl {
  position: absolute;
  right: -110px;
  top: -100px;
  width: 330px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, var(--vm-orange) 0 5%, #111 5.4% 19%, #2b2d2e 19.5% 20.4%, #111 20.8% 38%, #2b2d2e 38.4% 39.2%, #111 39.6% 100%);
  opacity: .18;
  pointer-events: none;
}
.vm-auth-card form.login,
.vm-auth-card form.register {
  position: relative;
  z-index: 2;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
/* v1.7 injected notes are intentionally hidden: the v1.8 cards already contain them. */
.vm-auth-card .vm-account-card-intro { display: none !important; }
.vm-auth-card .form-row { margin: 0 0 16px !important; }
.vm-auth-card label {
  display: block;
  margin-bottom: 7px !important;
  color: #686d70 !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.vm-auth-card--register label { color: rgba(255,255,255,.58) !important; }
.vm-auth-card input.input-text {
  width: 100%;
  min-height: 54px;
  padding: 0 15px;
  border: 1px solid #ddd8d0 !important;
  border-radius: 12px !important;
  background: #fbfaf8 !important;
  color: #17191a !important;
  outline: 0;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.vm-auth-card input.input-text:focus {
  border-color: var(--vm-orange) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(255,91,33,.10);
}
.vm-auth-card--register input.input-text { border-color: rgba(255,255,255,.13) !important; background: rgba(255,255,255,.96) !important; }
.vm-auth-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 4px; }
.vm-auth-actions .woocommerce-form-login__rememberme { margin: 0 auto 0 0 !important; display: inline-flex !important; align-items: center; gap: 8px; color: #666 !important; }
.vm-auth-submit {
  min-width: 150px;
  min-height: 52px !important;
  padding: 0 22px !important;
  border-radius: 11px !important;
  background: var(--vm-orange) !important;
  color: #fff !important;
  font-weight: 950 !important;
}
.vm-auth-register-row { margin: 22px 0 0 !important; }
.vm-auth-register-row .vm-auth-submit { width: 100%; }
.vm-auth-lost { margin: 17px 0 0 !important; }
.vm-auth-lost a { color: var(--vm-orange) !important; font-weight: 850; }
.vm-auth-benefits { position: relative; z-index: 2; display: grid; gap: 10px; margin: 0 0 24px; padding: 0; list-style: none; }
.vm-auth-benefits li { position: relative; padding-left: 24px; color: rgba(255,255,255,.78); font-size: 13px; font-weight: 720; }
.vm-auth-benefits li::before { content: "✓"; position: absolute; left: 0; color: var(--vm-orange); font-weight: 950; }
.vm-auth-generated-password { padding: 12px 14px; border: 1px solid rgba(255,255,255,.10); border-radius: 10px; background: rgba(255,255,255,.05); color: rgba(255,255,255,.64) !important; font-size: 12px; }
.vm-auth-card--register .woocommerce-privacy-policy-text { color: rgba(255,255,255,.48) !important; }
.vm-auth-card--register .woocommerce-privacy-policy-text a { color: #fff !important; }

/* ---------- WOW classic cart (theme forces shortcode cart for consistency) ---------- */
.vm-cart-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(54px,6vw,82px) 0;
  background:
    radial-gradient(circle at 86% 30%, rgba(255,91,33,.28), transparent 22%),
    linear-gradient(120deg, #101314 0%, #17191a 68%, #2b1812 100%);
  color: #fff;
}
.vm-cart-hero::after {
  content: "33⅓";
  position: absolute;
  right: -20px;
  bottom: -78px;
  color: rgba(255,255,255,.035);
  font-size: 230px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.08em;
}
.vm-cart-hero__grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 44px; align-items: end; }
.vm-cart-hero h1 { margin: 8px 0 12px; color: #fff; font-size: clamp(60px,8vw,112px); line-height: .8; letter-spacing: -.075em; }
.vm-cart-hero p { max-width: 720px; margin: 0; color: rgba(255,255,255,.63); font-size: 16px; }
.vm-cart-hero__stats { display: grid; grid-template-columns: repeat(2,minmax(135px,1fr)); gap: 10px; }
.vm-cart-hero__stats > div { min-width: 150px; padding: 20px; border: 1px solid rgba(255,255,255,.10); border-radius: 16px; background: rgba(255,255,255,.055); backdrop-filter: blur(8px); }
.vm-cart-hero__stats strong { display: block; color: #fff; font-size: 28px; line-height: 1; letter-spacing: -.04em; }
.vm-cart-hero__stats strong .amount { color: inherit; }
.vm-cart-hero__stats span { display: block; margin-top: 7px; color: rgba(255,255,255,.48); font-size: 9px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.vm-cart-page { padding: 28px 0 96px; background: #f6f3ed; }
.vm-cart-trust { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 22px; padding: 15px 18px; border: 1px solid #e2ddd5; border-radius: 14px; background: #fff; color: #686d70; font-size: 11px; font-weight: 800; }
.vm-cart-shortcode .woocommerce {
  display: grid;
  grid-template-columns: minmax(0,1.55fr) minmax(330px,.72fr);
  gap: 24px;
  align-items: start;
}
.vm-cart-shortcode .woocommerce-notices-wrapper,
.vm-cart-shortcode .woocommerce-error,
.vm-cart-shortcode .woocommerce-message,
.vm-cart-shortcode .woocommerce-info,
.vm-cart-shortcode .cart-empty,
.vm-cart-shortcode .return-to-shop { grid-column: 1 / -1; }
.vm-cart-shortcode .woocommerce-cart-form {
  grid-column: 1;
  overflow: hidden;
  margin: 0 !important;
  padding: 0 22px 12px;
  border: 1px solid #e1dcd4 !important;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 20px 56px rgba(17,20,22,.055);
}
.vm-cart-shortcode table.shop_table {
  width: 100%;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: collapse !important;
  border-radius: 0 !important;
  background: transparent;
}
.vm-cart-shortcode table.shop_table thead th {
  padding: 20px 10px 13px !important;
  border-bottom: 1px solid #e8e3db;
  color: #8a8f92;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.vm-cart-shortcode table.shop_table td { padding: 22px 10px !important; border-top: 1px solid #ece7df !important; vertical-align: middle; }
.vm-cart-shortcode table.shop_table tbody tr:first-child td { border-top: 0 !important; }
.vm-cart-shortcode .product-thumbnail { width: 96px; }
.vm-cart-shortcode .product-thumbnail img { width: 78px !important; height: 78px !important; object-fit: cover; border-radius: 12px; background: #f0efec; }
.vm-cart-shortcode .product-name a { color: #151718; font-size: 15px; font-weight: 950; line-height: 1.2; text-transform: uppercase; }
.vm-cart-shortcode .product-price,
.vm-cart-shortcode .product-subtotal { color: #151718; font-weight: 900; }
.vm-cart-shortcode .quantity .qty { min-width: 72px; height: 42px; border: 1px solid #dfdad2; border-radius: 10px; }
.vm-cart-shortcode .product-remove a { width: 34px; height: 34px; display: grid !important; place-items: center; border-radius: 50%; color: #8a8f92 !important; background: #f5f2ec; font-size: 20px !important; }
.vm-cart-shortcode .product-remove a:hover { background: #fff0e9; color: var(--vm-orange) !important; }
.vm-cart-shortcode .actions { padding: 18px 0 8px !important; }
.vm-cart-shortcode .coupon { display: flex; gap: 8px; }
.vm-cart-shortcode .coupon .input-text { width: 180px !important; min-height: 44px; border-radius: 10px; }
.vm-cart-shortcode .actions .button { min-height: 44px; border-radius: 10px !important; }
.vm-cart-shortcode .cart-collaterals {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  margin: 0 !important;
}
.vm-cart-shortcode .cart-collaterals .cart_totals {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 28px !important;
  border: 0 !important;
  border-radius: 20px;
  background: #151718 !important;
  color: #fff;
  box-shadow: 0 30px 72px rgba(17,20,22,.18);
}
.vm-cart-shortcode .cart_totals h2 { margin: 0 0 18px; color: #fff; font-size: 24px; text-transform: uppercase; }
.vm-cart-shortcode .cart_totals table { width: 100%; border: 0 !important; }
.vm-cart-shortcode .cart_totals th,
.vm-cart-shortcode .cart_totals td { padding: 14px 0 !important; border-color: rgba(255,255,255,.10) !important; color: rgba(255,255,255,.68); }
.vm-cart-shortcode .cart_totals td { text-align: right; color: #fff; }
.vm-cart-shortcode .cart_totals .order-total th,
.vm-cart-shortcode .cart_totals .order-total td { color: #fff; font-size: 18px; }
.vm-cart-shortcode .cart_totals .amount { color: #fff !important; }
.vm-cart-shortcode .wc-proceed-to-checkout { padding: 14px 0 0 !important; }
.vm-cart-shortcode .wc-proceed-to-checkout a.checkout-button {
  min-height: 58px;
  display: grid;
  place-items: center;
  margin: 0 !important;
  border-radius: 12px !important;
  background: var(--vm-orange) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  box-shadow: 0 15px 34px rgba(255,91,33,.24);
}
.vm-cart-shortcode .cross-sells { grid-column: 1 / -1; width: 100%; margin-top: 20px; }

@media (max-width: 1050px) {
  .vm-shop-hero__inner { grid-template-columns: 1fr; }
  .vm-shop-hero__stat { max-width: 280px; }
  .vm-cart-hero__grid { grid-template-columns: 1fr; }
  .vm-cart-hero__stats { max-width: 420px; }
  .vm-cart-shortcode .woocommerce { grid-template-columns: 1fr; }
  .vm-cart-shortcode .woocommerce-cart-form,
  .vm-cart-shortcode .cart-collaterals { grid-column: 1; grid-row: auto; }
  .vm-cart-shortcode .cart-collaterals .cart_totals { max-width: none; }
}
@media (max-width: 820px) {
  #customer_login.vm-auth-wrap { grid-template-columns: 1fr !important; }
  .vm-shop-toolbar { align-items: stretch; flex-direction: column; }
  .vm-shop-toolbar__sort { justify-content: space-between; }
  .vm-shop-toolbar .woocommerce-ordering { flex: 1; }
  .vm-shop-toolbar .orderby { width: 100%; min-width: 0; }
}
@media (max-width: 640px) {
  .vm-shop-hero { padding-top: 46px; }
  .vm-shop-hero h1 { font-size: clamp(48px,16vw,74px); }
  .vm-shop-hero__trust { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .vm-cart-hero__stats { grid-template-columns: 1fr 1fr; }
  .vm-cart-hero__stats > div { min-width: 0; padding: 15px; }
  .vm-cart-shortcode .woocommerce-cart-form { padding-inline: 12px; overflow-x: auto; }
  .vm-cart-shortcode table.shop_table { min-width: 700px; }
  .vm-auth-card { padding: 24px !important; border-radius: 18px; }
}

/* ==========================================================================\n   VinylMail Nova 1.9 — cart alignment, truthful catalogue counts, world shipping\n   ========================================================================== */

/* Cart purchase steps: a small premium progress rail between trust strip and cart. */
.vm-cart-progress {
  display: grid;
  grid-template-columns: auto minmax(24px,1fr) auto minmax(24px,1fr) auto;
  align-items: center;
  gap: 12px;
  margin: 0 0 24px;
  padding: 4px 2px;
}
.vm-cart-progress span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #878b8e;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .075em;
  text-transform: uppercase;
  white-space: nowrap;
}
.vm-cart-progress span b {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid #ddd7ce;
  border-radius: 50%;
  background: #fff;
  color: #7e8386;
  font-size: 9px;
}
.vm-cart-progress span.is-active { color: #151718; }
.vm-cart-progress span.is-active b {
  border-color: var(--vm-orange);
  background: var(--vm-orange);
  color: #fff;
  box-shadow: 0 8px 24px rgba(255,91,33,.22);
}
.vm-cart-progress i { height: 1px; background: linear-gradient(90deg,#ddd7ce,#ece8e1); }

/*
 * The WooCommerce notices wrapper is always emitted, even when empty.  Explicit
 * grid rows keep the cart table and order summary aligned at the same top edge.
 */
.vm-cart-shortcode .woocommerce-notices-wrapper,
.vm-cart-shortcode .woocommerce-error,
.vm-cart-shortcode .woocommerce-message,
.vm-cart-shortcode .woocommerce-info {
  grid-row: 1;
}
.vm-cart-shortcode .woocommerce-cart-form {
  grid-column: 1;
  grid-row: 2;
  align-self: start;
}
.vm-cart-shortcode .cart-collaterals {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
}
.vm-cart-shortcode .cross-sells {
  grid-column: 1 / -1;
  grid-row: 3;
}

/* Keep the summary on the right and visually anchored while scrolling. */
@media (min-width: 1051px) {
  .vm-cart-shortcode .cart-collaterals .cart_totals {
    position: sticky;
    top: 150px;
  }
}

/* WooCommerce/global table styles were painting the left total cells white. */
.vm-cart-shortcode .cart_totals table,
.vm-cart-shortcode .cart_totals table tbody,
.vm-cart-shortcode .cart_totals table tr,
.vm-cart-shortcode .cart_totals table th,
.vm-cart-shortcode .cart_totals table td {
  background: transparent !important;
}
.vm-cart-shortcode .cart_totals table th {
  width: 48%;
  color: rgba(255,255,255,.58) !important;
  font-size: 11px;
  font-weight: 800;
  text-transform: none;
}
.vm-cart-shortcode .cart_totals table td {
  width: 52%;
  color: #fff !important;
  font-size: 15px;
  font-weight: 900;
}
.vm-cart-shortcode .cart_totals .order-total th,
.vm-cart-shortcode .cart_totals .order-total td {
  padding-top: 20px !important;
  border-top: 1px solid rgba(255,255,255,.14) !important;
  font-size: 20px;
}

/* Slightly stronger layout proportions and hierarchy. */
.vm-cart-shortcode .woocommerce {
  grid-template-columns: minmax(0,1.65fr) minmax(360px,.75fr);
  gap: 30px;
}
.vm-cart-shortcode .woocommerce-cart-form {
  box-shadow: 0 24px 70px rgba(17,20,22,.07);
}
.vm-cart-shortcode .cart-collaterals .cart_totals {
  padding: 30px !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  box-shadow: 0 36px 90px rgba(17,20,22,.24);
}
.vm-cart-shortcode .cart_totals h2 {
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,.12);
  font-size: 26px;
  letter-spacing: -.045em;
}
.vm-cart-shortcode .wc-proceed-to-checkout a.checkout-button {
  min-height: 62px;
  font-size: 14px !important;
  letter-spacing: -.01em;
}

@media (max-width: 1050px) {
  .vm-cart-shortcode .woocommerce-cart-form,
  .vm-cart-shortcode .cart-collaterals,
  .vm-cart-shortcode .cross-sells {
    grid-column: 1;
    grid-row: auto;
  }
  .vm-cart-progress { grid-template-columns: auto 1fr auto 1fr auto; }
}

@media (max-width: 640px) {
  .vm-cart-progress {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 4px 0;
  }
  .vm-cart-progress i { display: none; }
  .vm-cart-progress span { white-space: normal; }
}

/* ==========================================================================
   VinylMail Nova 2.0 — transactional polish, live search, filters, newsroom
   ========================================================================== */
.vm-product-search { position: relative; z-index: 80; }
.vm-live-search { position: absolute; top: calc(100% + 10px); left: 0; right: 0; display: none; overflow: hidden; border: 1px solid rgba(17,20,22,.12); border-radius: 18px; background: #fff; box-shadow: 0 28px 80px rgba(0,0,0,.22); }
.vm-live-search.is-open { display: block; }
.vm-live-search__loading,.vm-live-search__empty { padding: 22px; color: #73787b; font-size: 13px; }
.vm-live-search__item { display: grid; grid-template-columns: 58px minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 10px 14px; border-bottom: 1px solid #eee9e1; color: #161819; text-decoration: none; }
.vm-live-search__item:hover { background: #faf7f1; }
.vm-live-search__item img { width: 58px; height: 58px; object-fit: cover; border-radius: 10px; background: #f0efec; }
.vm-live-search__copy { min-width: 0; }
.vm-live-search__copy small { display: block; margin-bottom: 4px; color: var(--vm-orange); font-size: 9px; font-weight: 950; letter-spacing: .07em; text-transform: uppercase; }
.vm-live-search__copy strong { display: block; overflow: hidden; color: #161819; font-size: 13px; font-weight: 950; text-overflow: ellipsis; white-space: nowrap; }
.vm-live-search__item > b { color: #161819; font-size: 13px; white-space: nowrap; }
.vm-live-search__all { display: block; padding: 13px 16px; background: #151718; color: #fff; font-size: 11px; font-weight: 900; text-align: right; text-decoration: none; }

.vm-catalog-filters { display: grid; grid-template-columns: minmax(180px,1.7fr) repeat(3,minmax(130px,.8fr)) auto auto auto; gap: 10px; align-items: end; margin: 0 0 24px; padding: 16px; border: 1px solid #e6e1d9; border-radius: 18px; background: #fff; box-shadow: 0 14px 40px rgba(17,20,22,.04); }
.vm-catalog-filters > div label { display: block; margin: 0 0 6px; color: #858a8d; font-size: 8px; font-weight: 950; letter-spacing: .12em; }
.vm-catalog-filters input[type=search],.vm-catalog-filters input[type=number],.vm-catalog-filters select { width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid #ddd7cf; border-radius: 10px; background: #fbfaf7; color: #17191a; }
.vm-filter-stock { display: flex; gap: 7px; align-items: center; min-height: 44px; color: #555b5e; font-size: 11px; font-weight: 800; white-space: nowrap; }
.vm-catalog-filters button { min-height: 44px; padding: 0 18px; border: 0; border-radius: 10px; background: var(--vm-orange); color: #fff; font-size: 11px; font-weight: 950; cursor: pointer; }
.vm-filter-reset { display: grid; min-height: 44px; place-items: center; color: #6a7073; font-size: 10px; font-weight: 900; text-decoration: none; }

/* deterministic premium cart */
.vm-cart-grid { display: grid; grid-template-columns: minmax(0,1.62fr) minmax(330px,.68fr); gap: 30px; align-items: start; }
.vm-cart-form { overflow: hidden; border: 1px solid #dfdad2; border-radius: 24px; background: #fff; box-shadow: 0 24px 70px rgba(17,20,22,.07); }
.vm-cart-form__head { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid #ece7df; color: #7e8386; font-size: 9px; font-weight: 950; letter-spacing: .13em; }
.vm-cart-form__head strong { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #151718; color: #fff; }
.vm-cart-item { position: relative; display: grid; grid-template-columns: 86px minmax(0,1fr) 100px 92px 110px 34px; gap: 16px; align-items: center; padding: 22px; border-bottom: 1px solid #ece7df; }
.vm-cart-item__image img { width: 86px !important; height: 86px !important; object-fit: cover; border-radius: 14px; background: #f0efec; }
.vm-cart-item__eyebrow { margin-bottom: 4px; color: var(--vm-orange); font-size: 8px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.vm-cart-item__copy h2 { margin: 0; font-size: 16px; line-height: 1.15; text-transform: uppercase; }
.vm-cart-item__copy h2 a { color: #151718; text-decoration: none; }
.vm-cart-item__copy p { margin: 8px 0 0; color: #74797c; font-size: 11px; line-height: 1.45; }
.vm-cart-item__badges { display: flex; gap: 5px; margin-top: 7px; }
.vm-cart-item__badges span { padding: 4px 7px; border-radius: 999px; background: #f3eee7; color: #555a5d; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.vm-cart-item small { display: block; margin-bottom: 7px; color: #909497; font-size: 8px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.vm-cart-item__price strong,.vm-cart-item__subtotal strong { color: #151718; font-size: 14px; }
.vm-cart-item__qty .qty { width: 72px; height: 42px; border: 1px solid #ddd7cf; border-radius: 10px; text-align: center; }
.vm-cart-item__remove { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: #f4f0e9; color: #8b9093; font-size: 20px; text-decoration: none; }
.vm-cart-item__remove:hover { background: #fff0e8; color: var(--vm-orange); }
.vm-cart-actions { display: flex; gap: 10px; align-items: center; justify-content: space-between; padding: 18px 22px; }
.vm-cart-coupon { display: flex; gap: 8px; }
.vm-cart-coupon input { width: 180px; min-height: 44px; border: 1px solid #ddd7cf; border-radius: 10px; padding: 0 12px; }
.vm-cart-coupon .button,.vm-cart-update { min-height: 44px !important; border-radius: 10px !important; }
.vm-cart-summary { position: sticky; top: 150px; padding: 30px; border-radius: 24px; background: radial-gradient(circle at 100% 0,rgba(255,91,33,.18),transparent 38%),#151718; color: #fff; box-shadow: 0 34px 90px rgba(17,20,22,.22); }
.vm-cart-summary h2 { margin: 5px 0 22px; color: #fff; font-size: 30px; letter-spacing: -.05em; }
.vm-cart-summary dl { margin: 0; }
.vm-cart-summary dl > div { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.vm-cart-summary dt { color: rgba(255,255,255,.58); font-size: 11px; }
.vm-cart-summary dd { margin: 0; color: #fff; font-size: 13px; font-weight: 900; text-align: right; }
.vm-cart-summary__total { margin-top: 8px; padding-top: 20px !important; border-bottom: 0 !important; }
.vm-cart-summary__total dt,.vm-cart-summary__total dd { color: #fff; font-size: 22px; font-weight: 950; }
.vm-checkout-cta { display: flex; align-items: center; justify-content: space-between; min-height: 62px; margin-top: 18px; padding: 0 18px; border-radius: 13px; background: var(--vm-orange); color: #fff; font-size: 13px; font-weight: 950; text-decoration: none; box-shadow: 0 16px 36px rgba(255,91,33,.24); }
.vm-checkout-cta span { font-size: 22px; }
.vm-cart-summary__note { margin: 14px 0 0; color: rgba(255,255,255,.52); font-size: 9px; text-align: center; }
.vm-cart-empty { padding: 70px 40px; border: 1px solid #e1dcd4; border-radius: 24px; background: #fff; text-align: center; }
.vm-cart-empty h2 { margin: 8px 0; font-size: 48px; }

/* checkout */
.vm-checkout-hero { padding: 58px 0 44px; background: radial-gradient(circle at 85% 10%,rgba(255,91,33,.22),transparent 28%),#151718; color: #fff; }
.vm-checkout-hero__inner { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.vm-checkout-hero h1 { margin: 7px 0 8px; color: #fff; font-size: clamp(52px,7vw,92px); line-height: .85; letter-spacing: -.07em; }
.vm-checkout-hero p { margin: 0; color: rgba(255,255,255,.62); }
.vm-checkout-lock { display: flex; gap: 10px; align-items: center; padding: 14px 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: #fff; font-size: 11px; font-weight: 900; }
.vm-checkout-page { padding: 28px 0 90px; background: #f6f3ed; }
.vm-checkout-shell .woocommerce { max-width: none; }
.vm-checkout-shell form.checkout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(360px,.7fr); gap: 28px; align-items: start; }
.vm-checkout-shell #customer_details { grid-column: 1; }
.vm-checkout-shell #order_review_heading,.vm-checkout-shell #order_review { grid-column: 2; }
.vm-checkout-shell #order_review_heading { margin: 0; padding: 22px 24px 0; border-radius: 22px 22px 0 0; background: #151718; color: #fff; font-size: 22px; }
.vm-checkout-shell #order_review { position: sticky; top: 150px; margin-top: -28px; padding: 58px 24px 24px; border-radius: 22px; background: #151718; color: #fff; box-shadow: 0 30px 80px rgba(17,20,22,.18); }
.vm-checkout-shell .col2-set > div { width: 100% !important; float: none !important; margin-bottom: 18px; padding: 26px; border: 1px solid #e1dcd4; border-radius: 22px; background: #fff; }
.vm-checkout-shell .form-row input.input-text,.vm-checkout-shell .form-row textarea,.vm-checkout-shell .select2-container .select2-selection { min-height: 48px; border: 1px solid #ddd7cf; border-radius: 10px; background: #fbfaf7; }
.vm-checkout-shell #order_review table,.vm-checkout-shell #order_review th,.vm-checkout-shell #order_review td { background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,.11) !important; }
.vm-checkout-shell #payment { background: rgba(255,255,255,.05) !important; border-radius: 16px !important; }
.vm-checkout-shell #place_order { min-height: 60px; background: var(--vm-orange) !important; border-radius: 12px !important; font-weight: 950 !important; }

/* logged-in account launchpad */
.woocommerce-account .woocommerce-MyAccount-content { min-height: 420px; }
.vm-account-launchpad { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 22px 0 10px; }
.vm-account-launchpad a { position: relative; min-height: 150px; padding: 22px; overflow: hidden; border: 1px solid #e2ddd5; border-radius: 18px; background: #fff; color: #151718; text-decoration: none; transition: .2s ease; }
.vm-account-launchpad a:hover { transform: translateY(-3px); border-color: #ffb99d; box-shadow: 0 18px 45px rgba(17,20,22,.08); }
.vm-account-launchpad a > span { display: block; color: var(--vm-orange); font-size: 9px; font-weight: 950; }
.vm-account-launchpad strong { display: block; margin-top: 26px; font-size: 25px; letter-spacing: -.04em; }
.vm-account-launchpad small { color: #74797c; }
.vm-account-launchpad__logout { background: #151718 !important; color: #fff !important; }
.vm-account-launchpad__logout small { color: rgba(255,255,255,.55); }

/* newsroom 2.0 */
.vm-news-hero__inner { align-items: end; }
.vm-news-hero__side { display: grid; gap: 18px; justify-items: end; }
.vm-news-hero__side p { max-width: 520px; }
.vm-news-hero__stamp { width: 150px; height: 82px; display: grid; place-content: center; border: 1px solid rgba(255,255,255,.22); transform: rotate(-2deg); color: #fff; text-align: center; }
.vm-news-hero__stamp strong { color: var(--vm-orange); font-size: 11px; letter-spacing: .14em; }
.vm-news-hero__stamp span { font-size: 19px; font-weight: 950; }
.vm-news-featured { border-radius: 28px; }
.vm-news-card { border-radius: 20px; overflow: hidden; }
.vm-article { background: #f6f3ed; }
.vm-article-hero { padding: 74px 0 54px; background: radial-gradient(circle at 88% 5%,rgba(255,91,33,.25),transparent 30%),#151718; color: #fff; }
.vm-article-hero h1 { max-width: 1100px; margin: 14px 0; color: #fff; font-size: clamp(48px,7vw,96px); line-height: .9; letter-spacing: -.065em; }
.vm-article-meta { display: flex; gap: 8px; flex-wrap: wrap; }
.vm-article-meta span { padding: 6px 9px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: rgba(255,255,255,.7); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.vm-article-deck { max-width: 820px; margin: 0; color: rgba(255,255,255,.62); font-size: 18px; line-height: 1.5; }
.vm-article-cover { margin-top: -1px; padding-top: 34px; }
.vm-article-cover img { width: 100%; max-height: 650px; object-fit: cover; border-radius: 28px; }
.vm-article-body { padding: 54px 0 80px; }
.vm-article-body__grid { display: grid; grid-template-columns: 170px minmax(0,760px); gap: 54px; justify-content: center; }
.vm-article-body aside { position: sticky; top: 150px; align-self: start; padding-top: 8px; border-top: 2px solid var(--vm-orange); }
.vm-article-body aside span,.vm-article-body aside strong { display: block; font-size: 10px; font-weight: 950; letter-spacing: .11em; }
.vm-article-content { color: #232627; font-size: 17px; line-height: 1.8; }
.vm-article-content p { margin: 0 0 1.4em; }
.vm-article-content h2 { margin-top: 1.6em; font-size: 34px; }
.vm-article-nav { padding: 0 0 80px; }
.vm-article-nav .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.vm-article-nav a { display: block; padding: 18px; border: 1px solid #e1dcd4; border-radius: 14px; background: #fff; color: #151718; font-weight: 900; text-decoration: none; }

@media (max-width: 1100px) {
  .vm-catalog-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .vm-filter-stock,.vm-catalog-filters button,.vm-filter-reset { min-height: 44px; }
  .vm-cart-grid,.vm-checkout-shell form.checkout { grid-template-columns: 1fr; }
  .vm-cart-summary,.vm-checkout-shell #order_review { position: static; }
  .vm-checkout-shell #order_review_heading,.vm-checkout-shell #order_review { grid-column: 1; }
  .vm-checkout-shell #order_review { margin-top: -28px; }
}
@media (max-width: 820px) {
  .vm-cart-item { grid-template-columns: 72px minmax(0,1fr) 34px; gap: 12px; }
  .vm-cart-item__image img { width: 72px !important; height: 72px !important; }
  .vm-cart-item__price,.vm-cart-item__qty,.vm-cart-item__subtotal { grid-column: 2; display: flex; align-items: center; justify-content: space-between; }
  .vm-cart-item__remove { grid-column: 3; grid-row: 1; }
  .vm-cart-actions { align-items: stretch; flex-direction: column; }
  .vm-cart-coupon { width: 100%; }
  .vm-cart-coupon input { flex: 1; width: auto; }
  .vm-account-launchpad { grid-template-columns: 1fr; }
  .vm-news-hero__side { justify-items: start; }
  .vm-article-body__grid { grid-template-columns: 1fr; }
  .vm-article-body aside { position: static; }
  .vm-product-search .vm-live-search { position: fixed; top: 116px; left: 12px; right: 12px; }
}
@media (max-width: 600px) {
  .vm-catalog-filters { grid-template-columns: 1fr; }
  .vm-cart-hero h1 { font-size: 58px; }
  .vm-checkout-hero__inner { align-items: start; flex-direction: column; }
  .vm-article-hero h1 { font-size: 52px; }
  .vm-article-nav .nav-links { grid-template-columns: 1fr; }
}


/* =========================================================
   VinylMail Nova 2.1 — newsroom repair & compact pagination
   ========================================================= */
.vm-news-pagination {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100%;
  margin: 38px 0 0 !important;
}
.vm-news-pager {
  display: flex !important;
  flex-flow: row wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  max-width: 100%;
  margin: 0 auto !important;
  padding: 0 !important;
}
.vm-news-pager .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 44px !important;
  max-width: none !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 13px !important;
  border: 1px solid #ddd8cf !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #17191a !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
.vm-news-pager .page-numbers.current,
.vm-news-pager a.page-numbers:hover {
  border-color: var(--vm-orange) !important;
  background: var(--vm-orange) !important;
  color: #fff !important;
}
.vm-news-pager .dots {
  min-width: 30px !important;
  padding: 0 5px !important;
  border-color: transparent !important;
  background: transparent !important;
}
.vm-news-card__media > img,
.vm-news-featured__media > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.vm-news-card__media { min-height: 230px; }
.vm-news-featured__media { min-height: 360px; }
@media (max-width: 640px) {
  .vm-news-pager { gap: 6px !important; }
  .vm-news-pager .page-numbers { min-width: 40px !important; height: 40px !important; padding: 0 10px !important; }
}

/* v2.2 — News image resilience */
.vm-news-card__media img,.vm-news-featured__media img{display:block;width:100%;height:100%;object-fit:cover;}
.vm-news-placeholder{display:flex;width:100%;height:100%;min-height:220px;align-items:center;justify-content:center;background:#171a1b;color:#fff;}
.vm-news-placeholder>span{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#25292a;color:#ff5a24;font-weight:900;letter-spacing:-.04em;}
.vm-news-featured .vm-news-placeholder{min-height:360px;}


/* =========================================================
   VinylMail Nova 2.3 — RELEASE CANDIDATE / FINAL QA
   ========================================================= */

/* Accessibility + focus */
.vm-skip-link{position:fixed;left:14px;top:14px;z-index:100000;transform:translateY(-180%);padding:11px 14px;border-radius:10px;background:#fff;color:#111;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.22)}
.vm-skip-link:focus{transform:none}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--vm-orange) 72%,#fff);outline-offset:3px}

/* Product page final trust / mobile CTA */
.single-product .summary .stock{display:inline-flex;align-items:center;gap:8px;font-weight:900}
.single-product .summary .stock.in-stock{color:var(--vm-green)}
.vm-single-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 0}
.vm-single-trust span{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 12px;border:1px solid #e5e0d8;border-radius:12px;background:#faf8f4;color:#303435;font-size:12px;font-weight:800}
.vm-mobile-buybar{display:none}

/* Catalogue: active filters + mobile filter control */
.vm-filter-toggle{display:none;width:100%;min-height:48px;margin:0 0 10px;padding:0 16px;border:1px solid #ddd8cf;border-radius:12px;background:#fff;color:#17191a;font-weight:950;text-align:left}
.vm-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.vm-active-filter{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 11px;border:1px solid #ddd8cf;border-radius:999px;background:#fff;color:#363a3c;font-size:12px;font-weight:850}
.vm-active-filter b{color:var(--vm-orange)}
.vm-active-filter--clear{border-color:#17191a;background:#17191a;color:#fff;text-decoration:none}
.vm-shop-empty{padding:50px 24px;text-align:center;border:1px solid #e3ded6;border-radius:18px;background:#fff;box-shadow:var(--vm-shadow)}
.vm-shop-empty h2{margin:0 0 8px;font-size:34px}
.vm-shop-empty p{margin:0 auto 20px;max-width:650px;color:#73787a}

/* Checkout final pass */
.vm-checkout-shell .woocommerce-form-coupon-toggle,.vm-checkout-shell .woocommerce-form-login-toggle{margin:0 0 14px}
.vm-checkout-shell .woocommerce-info{border:1px solid #e2ddd5!important;border-radius:12px!important;background:#fff!important;color:#333!important;padding:14px 16px!important}
.vm-checkout-shell .woocommerce-info::before{color:var(--vm-orange)!important}
.vm-checkout-shell form.checkout{align-items:start}
.vm-checkout-shell #customer_details{padding:24px;border:1px solid #e2ddd5;border-radius:18px;background:#fff;box-shadow:0 16px 44px rgba(20,22,23,.06)}
.vm-checkout-shell #customer_details h3{margin-top:0;font-size:24px;text-transform:uppercase}
.vm-checkout-shell #order_review_heading{padding:24px 24px 0;margin:0;background:#151718;color:#fff;border-radius:18px 18px 0 0;font-size:22px;text-transform:uppercase}
.vm-checkout-shell #order_review{border-radius:0 0 18px 18px!important;overflow:hidden}
.vm-checkout-shell .woocommerce-checkout-review-order-table th,.vm-checkout-shell .woocommerce-checkout-review-order-table td{padding:13px 0!important}
.vm-checkout-shell #payment ul.payment_methods{padding:0!important;margin:12px 0!important}
.vm-checkout-shell #payment li.wc_payment_method{margin:0 0 8px;padding:11px;border:1px solid rgba(255,255,255,.11);border-radius:10px}
.vm-checkout-shell #place_order{min-height:58px!important;border-radius:12px!important;background:var(--vm-orange)!important;color:#fff!important;font-size:15px!important;font-weight:950!important;box-shadow:0 14px 30px rgba(255,91,33,.25)}
.vm-checkout-assurance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 0}
.vm-checkout-assurance span{padding:10px;border:1px solid #e1ddd5;border-radius:10px;background:#fff;font-size:11px;font-weight:850;text-align:center}

/* Account final pass */
.woocommerce-account .woocommerce-MyAccount-navigation ul{overflow:hidden;border:1px solid #e2ddd5;border-radius:14px;background:#fff}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid #eee9e2}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:14px 16px;color:#202324;font-weight:850;text-decoration:none}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation a:hover{background:#17191a;color:#fff}
.woocommerce-account .woocommerce-MyAccount-content{min-width:0}
.woocommerce-account .woocommerce-MyAccount-content table{border:1px solid #e1ddd5!important;border-radius:14px;overflow:hidden;background:#fff}

/* Footer final legal */
.vm-footer-legal a,.vm-footer-legal span{white-space:nowrap}

/* Mobile / tablet release pass */
@media (max-width: 900px){
  .vm-single-trust{grid-template-columns:1fr}
  .vm-filter-toggle{display:flex;align-items:center;justify-content:space-between}
  .vm-catalog-filters{display:none!important}
  .vm-catalog-filters.is-open{display:grid!important}
  .vm-checkout-assurance{grid-template-columns:1fr}
}
@media (max-width: 720px){
  html{scroll-padding-top:92px}
  .vm-container{padding-left:16px!important;padding-right:16px!important}
  .vm-topbar{display:none}
  .vm-header-main{gap:10px;padding-top:10px;padding-bottom:10px}
  .vm-brand__tagline{display:none}
  .vm-brand__name{font-size:22px}
  .vm-product-search{order:3;width:100%;flex:1 0 100%}
  .vm-product-search form{min-height:46px}
  .vm-cart-link{padding:0 11px;min-height:44px;font-size:0}
  .vm-cart-link .vm-cart-count{font-size:12px}
  .vm-mobile-toggle{display:inline-grid!important;place-items:center;min-width:44px;min-height:44px}
  .vm-mainnav__inner{padding-top:8px;padding-bottom:8px}
  .vm-mainnav.is-open .vm-mainnav__inner{max-height:calc(100vh - 118px);overflow:auto}
  .vm-hero__content h1,.vm-shop-hero h1{font-size:clamp(44px,13vw,72px)!important}
  ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  ul.products li.product{min-width:0}
  ul.products li.product .woocommerce-loop-product__title{font-size:14px!important}
  .vm-product-facts{grid-template-columns:1fr!important}
  .single-product div.product{gap:20px!important}
  .single-product div.product .summary{padding:20px!important}
  .vm-news-featured{grid-template-columns:1fr!important}
  .vm-news-grid{grid-template-columns:1fr!important}
  .vm-footer-main{grid-template-columns:1fr!important}
  .vm-footer-productscol{max-width:none!important}
  .vm-account-shell__inner{padding-top:22px;padding-bottom:30px}
  .woocommerce-account .woocommerce{grid-template-columns:1fr!important}
  .vm-cart-page{padding-bottom:110px}
  .vm-mobile-buybar{position:fixed;left:0;right:0;bottom:0;z-index:9999;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:rgba(20,22,23,.96);backdrop-filter:blur(14px);box-shadow:0 -12px 30px rgba(0,0,0,.2)}
  .vm-mobile-buybar__price{color:#fff;font-size:17px;font-weight:950}
  .vm-mobile-buybar a,.vm-mobile-buybar button{min-height:44px;padding:0 16px;border:0;border-radius:10px;background:var(--vm-orange);color:#fff;font-weight:950;text-decoration:none}
}
@media (max-width: 460px){
  ul.products{grid-template-columns:1fr!important}
  .vm-cart-hero h1,.vm-checkout-hero h1{font-size:44px!important}
  .vm-news-pager .page-numbers{min-width:38px!important;height:38px!important}
}

/* ==========================================================
   VinylMail Nova 2.3.1 — cinematic homepage hero
   Built on the 2.3 RC design system. Only the hero is reworked.
   ========================================================== */
.vm-hero.vm-hero--cinematic {
  position: relative;
  isolation: isolate;
  min-height: clamp(560px, 43vw, 690px);
  overflow: hidden;
  background: #08090a;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.vm-hero.vm-hero--cinematic::before {
  content: "";
  position: absolute;
  z-index: -3;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(76%, 1480px);
  background-image: url('assets/images/hero-turntable.webp');
  background-size: cover;
  background-position: 62% 50%;
  background-repeat: no-repeat;
  filter: saturate(.98) contrast(1.05);
  transform: scale(1.015);
}

.vm-hero.vm-hero--cinematic::after {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg,
      rgba(5,6,7,1) 0%,
      rgba(5,6,7,.99) 25%,
      rgba(5,6,7,.92) 38%,
      rgba(5,6,7,.62) 50%,
      rgba(5,6,7,.20) 67%,
      rgba(5,6,7,.04) 84%),
    linear-gradient(180deg,
      rgba(0,0,0,.12) 0%,
      rgba(0,0,0,0) 55%,
      rgba(0,0,0,.56) 100%);
}

.vm-hero--cinematic .vm-hero__inner {
  position: relative;
  min-height: inherit;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(300px, 1.08fr);
  align-items: center;
  gap: clamp(24px, 4vw, 72px);
}

.vm-hero--cinematic .vm-hero__content {
  position: relative;
  z-index: 3;
  width: min(100%, 690px);
  max-width: none;
  padding: clamp(70px, 8vw, 112px) 0 clamp(62px, 7vw, 92px);
}

.vm-hero--cinematic .vm-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  color: var(--vm-orange);
  font-size: clamp(12px, .92vw, 14px);
  font-weight: 900;
  letter-spacing: .24em;
}

.vm-hero--cinematic .vm-eyebrow > span {
  display: block;
  width: 54px;
  height: 1px;
  background: linear-gradient(90deg, var(--vm-orange), rgba(255,91,33,0));
}

.vm-hero--cinematic .vm-hero__headline {
  margin: 0;
  color: #fff;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(62px, 6.5vw, 106px);
  font-weight: 700;
  line-height: .79;
  letter-spacing: -.068em;
  text-transform: uppercase;
  text-wrap: balance;
  text-shadow: 0 10px 34px rgba(0,0,0,.30);
}

.vm-hero--cinematic .vm-hero__headline-line {
  display: block;
  color: #f8f6f1;
}

.vm-hero--cinematic .vm-hero__headline-line--accent {
  color: var(--vm-orange);
}

.vm-hero--cinematic .vm-hero__headline--custom {
  max-width: 680px;
}

.vm-hero--cinematic .vm-hero__lead {
  max-width: 600px;
  margin: 24px 0 0;
  color: rgba(255,255,255,.82);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.5;
}

.vm-hero--cinematic .vm-hero__actions {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 30px;
}

.vm-hero--cinematic .vm-hero__button {
  min-height: 56px;
  padding-inline: 26px;
  border-radius: 13px;
  box-shadow: 0 14px 34px rgba(255,91,33,.24);
}

.vm-hero--cinematic .vm-hero__button span {
  margin-left: 8px;
  transition: transform .2s ease;
}

.vm-hero--cinematic .vm-hero__button:hover span {
  transform: translateX(3px);
}

.vm-hero--cinematic .vm-hero__text-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(255,255,255,.76);
  font-size: 14px;
  font-weight: 800;
  border-bottom: 1px solid rgba(255,255,255,.24);
  padding-bottom: 3px;
  transition: .2s ease;
}

.vm-hero--cinematic .vm-hero__text-link:hover {
  color: #fff;
  border-color: var(--vm-orange);
}

.vm-hero--cinematic .vm-hero__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 0;
  margin-top: 38px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.12);
}

.vm-hero--cinematic .vm-hero__trust span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 24px;
  padding-right: 18px;
  margin-right: 18px;
  color: rgba(255,255,255,.76);
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
  border-right: 1px solid rgba(255,255,255,.12);
}

.vm-hero--cinematic .vm-hero__trust span:last-child {
  margin-right: 0;
  padding-right: 0;
  border-right: 0;
}

.vm-hero--cinematic .vm-hero__trust b {
  color: var(--vm-orange);
  font-size: 16px;
  line-height: 1;
}

.vm-hero--cinematic .vm-hero__signature {
  position: absolute;
  z-index: 3;
  right: clamp(0px, 2.4vw, 34px);
  bottom: clamp(42px, 5vw, 76px);
  display: grid;
  gap: 9px;
  width: min(230px, 18vw);
  color: rgba(255,255,255,.72);
  text-align: left;
  pointer-events: none;
}

.vm-hero--cinematic .vm-hero__signature > span {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(14px, 1.25vw, 19px);
  line-height: 1.45;
  letter-spacing: .34em;
}

.vm-hero--cinematic .vm-hero__signature i {
  width: 100%;
  max-width: 92px;
  height: 1px;
  background: linear-gradient(90deg, var(--vm-orange), transparent);
}

.vm-hero--cinematic .vm-hero__signature small {
  color: rgba(255,255,255,.58);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(12px, 1vw, 15px);
  font-style: italic;
  line-height: 1.45;
}

@media (max-width: 1180px) {
  .vm-hero.vm-hero--cinematic::before {
    width: 76%;
    background-position: 58% 50%;
  }
  .vm-hero--cinematic .vm-hero__inner {
    grid-template-columns: minmax(0, 1fr) minmax(220px, .72fr);
  }
  .vm-hero--cinematic .vm-hero__signature {
    display: none;
  }
}

@media (max-width: 860px) {
  .vm-hero.vm-hero--cinematic {
    min-height: 620px;
  }
  .vm-hero.vm-hero--cinematic::before {
    width: 100%;
    opacity: .72;
    background-position: 57% 50%;
  }
  .vm-hero.vm-hero--cinematic::after {
    background:
      linear-gradient(90deg, rgba(5,6,7,.98) 0%, rgba(5,6,7,.92) 45%, rgba(5,6,7,.58) 100%),
      linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.12) 55%, rgba(0,0,0,.68) 100%);
  }
  .vm-hero--cinematic .vm-hero__inner {
    grid-template-columns: 1fr;
  }
  .vm-hero--cinematic .vm-hero__content {
    width: min(100%, 610px);
    padding: 68px 0 52px;
  }
  .vm-hero--cinematic .vm-hero__headline {
    font-size: clamp(58px, 12vw, 88px);
  }
}

@media (max-width: 620px) {
  .vm-hero.vm-hero--cinematic {
    min-height: 600px;
  }
  .vm-hero.vm-hero--cinematic::before {
    background-position: 61% 50%;
    opacity: .58;
  }
  .vm-hero.vm-hero--cinematic::after {
    background:
      linear-gradient(90deg, rgba(5,6,7,.98) 0%, rgba(5,6,7,.92) 68%, rgba(5,6,7,.72) 100%),
      linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.08) 46%, rgba(0,0,0,.72) 100%);
  }
  .vm-hero--cinematic .vm-hero__content {
    padding: 54px 0 40px;
  }
  .vm-hero--cinematic .vm-eyebrow {
    margin-bottom: 16px;
    letter-spacing: .16em;
  }
  .vm-hero--cinematic .vm-hero__headline {
    font-size: clamp(49px, 15vw, 70px);
    line-height: .82;
  }
  .vm-hero--cinematic .vm-hero__lead {
    max-width: 92%;
    margin-top: 20px;
    font-size: 16px;
  }
  .vm-hero--cinematic .vm-hero__actions {
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
    margin-top: 24px;
  }
  .vm-hero--cinematic .vm-hero__button {
    width: 100%;
  }
  .vm-hero--cinematic .vm-hero__text-link {
    align-self: flex-start;
  }
  .vm-hero--cinematic .vm-hero__trust {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
    margin-top: 28px;
    padding-top: 18px;
  }
  .vm-hero--cinematic .vm-hero__trust span {
    padding: 0;
    margin: 0;
    border-right: 0;
    white-space: normal;
    font-size: 11px;
  }
}
\n\n/* =========================================================\n   VinylMail Nova 2.3.2 — COMMERCE BLOCK\n   Cart + checkout + catalogue + mobile, built on 2.3.1 HERO.\n   ========================================================= */\n\n/* ---- Cart: premium two-column carrello ---- */\n.vm-cart-hero{padding:clamp(48px,5.2vw,78px) 0 42px;background:radial-gradient(circle at 86% 20%,rgba(255,91,33,.22),transparent 25%),linear-gradient(115deg,#0e1011 0%,#17191a 62%,#2b1710 100%)}\n.vm-cart-hero::after{opacity:.35}\n.vm-cart-back{display:inline-flex;margin-top:18px;color:rgba(255,255,255,.68);font-size:12px;font-weight:850;text-decoration:none;transition:.2s ease}\n.vm-cart-back:hover{color:#fff;transform:translateX(-2px)}\n.vm-cart-page{padding:30px 0 110px;background:linear-gradient(180deg,#f7f4ee 0%,#f3efe8 100%)}\n.vm-cart-trust{margin-bottom:18px;justify-content:space-between;padding:13px 18px;box-shadow:0 10px 30px rgba(20,22,23,.035)}\n.vm-cart-grid{grid-template-columns:minmax(0,1.72fr) minmax(350px,.72fr);gap:34px}\n.vm-cart-form{border-radius:22px;box-shadow:0 28px 80px rgba(17,20,22,.075)}\n.vm-cart-form__head{padding:20px 24px;background:#fbfaf7}\n.vm-cart-item{grid-template-columns:96px minmax(0,1fr) 100px 88px 106px 34px;gap:18px;padding:24px}\n.vm-cart-item__image{position:relative;overflow:hidden;border-radius:14px;background:#f0efec}\n.vm-cart-item__image::after{content:"";position:absolute;inset:0;border:1px solid rgba(17,20,22,.08);border-radius:inherit;pointer-events:none}\n.vm-cart-item__image img{width:96px!important;height:96px!important;transition:transform .3s ease}\n.vm-cart-item:hover .vm-cart-item__image img{transform:scale(1.035)}\n.vm-cart-item__copy h2{font-size:17px;letter-spacing:-.025em}\n.vm-cart-item__copy p{max-width:520px}\n.vm-cart-item__price strong,.vm-cart-item__subtotal strong{font-size:15px}\n.vm-cart-actions{padding:19px 24px;background:#fbfaf7}\n.vm-cart-update{background:#17191a!important;color:#fff!important;opacity:.62}\n.vm-cart-update.is-dirty{opacity:1;background:var(--vm-orange)!important;box-shadow:0 10px 24px rgba(255,91,33,.18)}\n.vm-cart-summary{top:132px;padding:32px;border:1px solid rgba(255,255,255,.07);background:radial-gradient(circle at 104% -4%,rgba(255,91,33,.28),transparent 34%),linear-gradient(145deg,#151718,#0f1112);box-shadow:0 34px 90px rgba(17,20,22,.26)}\n.vm-cart-summary::before{content:"";display:block;width:42px;height:3px;margin-bottom:20px;border-radius:999px;background:var(--vm-orange)}\n.vm-cart-summary h2{font-size:32px}\n.vm-cart-summary__micro{display:grid;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.10)}\n.vm-cart-summary__micro span{color:rgba(255,255,255,.68);font-size:10px;font-weight:800}\n.vm-checkout-cta:hover{background:#ff6b36;color:#fff;transform:translateY(-1px)}\n.vm-cart-mobilebar{display:none}\n\n/* ---- Checkout: editorial purchase desk ---- */\n.vm-checkout-hero{padding:clamp(52px,5vw,76px) 0 46px;background:radial-gradient(circle at 87% 10%,rgba(255,91,33,.25),transparent 28%),linear-gradient(120deg,#101213,#181a1b 68%,#291711)}\n.vm-checkout-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}\n.vm-checkout-benefits span{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;border:1px solid #e1dcd4;border-radius:12px;background:#fff;color:#555a5d;font-size:11px;font-weight:850}\n.vm-checkout-benefits b{display:grid;width:26px;height:26px;place-items:center;border-radius:50%;background:#fff0e8;color:var(--vm-orange);font-size:9px}\n.vm-checkout-shell form.checkout{grid-template-columns:minmax(0,1.5fr) minmax(380px,.72fr);gap:32px}\n.vm-checkout-shell #customer_details{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}\n.vm-checkout-shell .col2-set>div{padding:30px;border-radius:20px;box-shadow:0 20px 55px rgba(17,20,22,.06)}\n.vm-checkout-shell .col2-set>div h3{display:flex;align-items:center;gap:10px;margin-bottom:22px!important;font-size:26px!important;letter-spacing:-.035em}\n.vm-checkout-shell .col2-set>div h3::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--vm-orange);box-shadow:0 0 0 5px rgba(255,91,33,.10)}\n.vm-checkout-shell .form-row label{margin-bottom:7px;color:#72777a;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}\n.vm-checkout-shell .form-row input.input-text,.vm-checkout-shell .form-row textarea{padding-inline:14px;background:#fbfaf7;transition:border-color .2s,box-shadow .2s}\n.vm-checkout-shell .form-row input.input-text:focus,.vm-checkout-shell .form-row textarea:focus{border-color:var(--vm-orange);box-shadow:0 0 0 4px rgba(255,91,33,.08);outline:0}\n.vm-checkout-shell #order_review_heading{padding:27px 28px 0;border-radius:22px 22px 0 0;font-size:24px}\n.vm-checkout-shell #order_review{top:132px;padding:64px 28px 28px;border-radius:22px!important;background:radial-gradient(circle at 105% 0,rgba(255,91,33,.20),transparent 30%),#151718;box-shadow:0 34px 90px rgba(17,20,22,.23)}\n.vm-checkout-shell #order_review .product-name{font-weight:800}\n.vm-checkout-shell #payment li.wc_payment_method{padding:13px;border-radius:12px;background:rgba(255,255,255,.035)}\n.vm-checkout-shell #payment .payment_box{margin:10px 0 0!important;border-radius:10px!important;background:rgba(255,255,255,.07)!important;color:rgba(255,255,255,.72)!important}\n.vm-checkout-shell #payment .payment_box::before{border-bottom-color:rgba(255,255,255,.07)!important}\n.vm-checkout-shell #place_order{width:100%;min-height:62px!important;margin-top:8px;font-size:14px!important;letter-spacing:.01em;box-shadow:0 16px 36px rgba(255,91,33,.24)}\n\n/* ---- Catalogue: stronger record-store presentation ---- */\n.vm-shop-hero{padding-top:clamp(50px,5vw,74px)}\n.vm-shop-hero__stat{min-width:235px}\n.vm-shop-hero__artists{margin-left:auto;color:#fff!important;font-weight:900;text-decoration:none}\n.vm-shop-hero__artists:hover{color:var(--vm-orange)!important}\n.vm-content-shell--shop{padding-top:28px}\n.vm-catalog-filters{position:relative;z-index:3;margin-bottom:16px;padding:14px;border-radius:16px;box-shadow:0 18px 48px rgba(17,20,22,.055)}\n.vm-catalog-filters.has-changes::after{content:"Filtri modificati";position:absolute;right:14px;top:-9px;padding:3px 8px;border-radius:999px;background:#17191a;color:#fff;font-size:8px;font-weight:900;letter-spacing:.05em}\n.vm-shop-toolbar{margin-bottom:20px}\n.vm-content-shell--shop ul.products{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}\n.vm-content-shell--shop ul.products>li.product{display:flex!important;flex-direction:column;overflow:hidden;padding:0 0 16px;border-radius:18px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}\n.vm-content-shell--shop ul.products>li.product:hover{transform:translateY(-4px);border-color:#d9d3ca;box-shadow:0 22px 55px rgba(17,20,22,.09)}\n.vm-content-shell--shop ul.products>li.product>a.woocommerce-LoopProduct-link{display:block;overflow:hidden}\n.vm-content-shell--shop ul.products li.product a img{aspect-ratio:1/1;width:100%!important;height:auto!important;margin:0 0 15px!important;object-fit:cover;background:#f1efea}\n.vm-content-shell--shop .woocommerce-loop-product__title,.vm-content-shell--shop .vm-loop-meta,.vm-content-shell--shop .vm-loop-badges,.vm-content-shell--shop .vm-loop-availability,.vm-content-shell--shop .price{margin-inline:16px!important}\n.vm-content-shell--shop .woocommerce-loop-product__title{min-height:auto!important;margin-bottom:5px!important;font-size:16px!important;line-height:1.15!important}\n.vm-content-shell--shop .vm-loop-meta{min-height:0;margin-bottom:7px;color:#777c7f;font-size:10px;font-weight:800}\n.vm-content-shell--shop .vm-loop-badges{min-height:24px;margin-bottom:7px}\n.vm-loop-availability{display:flex;align-items:center;gap:6px;margin-top:3px;margin-bottom:5px;color:#72777a;font-size:9px;font-weight:900;text-transform:uppercase}\n.vm-loop-availability i{width:7px;height:7px;border-radius:50%;background:#aaa}\n.vm-loop-availability.is-in{color:#277946}.vm-loop-availability.is-in i{background:#2fb35d;box-shadow:0 0 0 4px rgba(47,179,93,.10)}\n.vm-loop-availability.is-out{color:#9e4a36}.vm-loop-availability.is-out i{background:#cf6047}\n.vm-content-shell--shop .price{margin-top:2px!important;margin-bottom:7px!important;font-size:18px!important}\n.vm-content-shell--shop ul.products li.product .button{margin-top:auto!important}\n\n/* ---- Responsive commerce ---- */\n@media (max-width:1180px){\n  .vm-content-shell--shop ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}\n  .vm-cart-grid{grid-template-columns:minmax(0,1fr) 330px;gap:22px}\n  .vm-cart-item{grid-template-columns:82px minmax(0,1fr) 82px 80px 96px 32px;gap:12px;padding:18px}\n  .vm-cart-item__image img{width:82px!important;height:82px!important}\n  .vm-checkout-shell form.checkout{grid-template-columns:minmax(0,1.3fr) 360px;gap:22px}\n}\n@media (max-width:960px){\n  .vm-content-shell--shop ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}\n  .vm-cart-grid,.vm-checkout-shell form.checkout{grid-template-columns:1fr}\n  .vm-cart-summary,.vm-checkout-shell #order_review{position:static}\n  .vm-checkout-shell #order_review_heading,.vm-checkout-shell #order_review{grid-column:1}\n  .vm-checkout-shell #order_review{margin-top:-32px}\n  .vm-checkout-benefits{grid-template-columns:1fr}\n}\n@media (max-width:720px){\n  .vm-cart-page{padding-bottom:96px}\n  .vm-cart-trust{display:grid;grid-template-columns:1fr 1fr;gap:10px}\n  .vm-cart-grid{gap:18px}\n  .vm-cart-form{border-radius:18px}\n  .vm-cart-item{grid-template-columns:76px minmax(0,1fr) 30px;gap:11px;padding:16px}\n  .vm-cart-item__image img{width:76px!important;height:76px!important}\n  .vm-cart-item__price,.vm-cart-item__qty,.vm-cart-item__subtotal{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:12px}\n  .vm-cart-item__price small,.vm-cart-item__qty small,.vm-cart-item__subtotal small{margin:0}\n  .vm-cart-item__remove{grid-column:3;grid-row:1}\n  .vm-cart-actions{align-items:stretch;flex-direction:column;padding:16px}\n  .vm-cart-coupon{display:grid;grid-template-columns:1fr auto}\n  .vm-cart-coupon input{width:100%}\n  .vm-cart-summary{padding:24px;border-radius:18px}\n  .vm-cart-mobilebar{position:fixed;z-index:9998;left:10px;right:10px;bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 14px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(18,20,21,.96);backdrop-filter:blur(14px);box-shadow:0 14px 45px rgba(0,0,0,.28)}\n  .vm-cart-mobilebar small{display:block;color:rgba(255,255,255,.5);font-size:8px;font-weight:900;text-transform:uppercase}\n  .vm-cart-mobilebar strong{display:block;color:#fff;font-size:17px}\n  .vm-cart-mobilebar a{display:grid;min-height:44px;place-items:center;padding:0 17px;border-radius:10px;background:var(--vm-orange);color:#fff;font-size:12px;font-weight:950;text-decoration:none}\n  .vm-shop-hero__trust{grid-template-columns:1fr 1fr}\n  .vm-shop-hero__artists{margin-left:0}\n  .vm-content-shell--shop ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}\n  .vm-content-shell--shop .woocommerce-loop-product__title{font-size:13px!important}\n  .vm-content-shell--shop .woocommerce-loop-product__title,.vm-content-shell--shop .vm-loop-meta,.vm-content-shell--shop .vm-loop-badges,.vm-content-shell--shop .vm-loop-availability,.vm-content-shell--shop .price{margin-inline:11px!important}\n  .vm-content-shell--shop ul.products li.product .button{width:calc(100% - 22px)!important;margin-inline:11px!important}\n  .vm-checkout-shell .col2-set>div{padding:20px}\n}\n@media (max-width:460px){\n  .vm-cart-trust{grid-template-columns:1fr}\n  .vm-cart-progress span:not(.is-active){font-size:9px}\n  .vm-content-shell--shop ul.products{grid-template-columns:1fr!important}\n}\n
/* ==========================================================
   VinylMail Nova 2.3.3 — CINEMATIC HERO (23C master)
   ========================================================== */
.vm-hero.vm-hero--cinematic{
  position:relative;
  isolation:isolate;
  min-height:clamp(590px,67vh,760px);
  overflow:hidden;
  background:#090a0a;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.vm-hero--cinematic::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,#080909 0%,rgba(8,9,9,.98) 22%,rgba(8,9,9,.90) 35%,rgba(8,9,9,.45) 51%,rgba(8,9,9,.10) 71%,rgba(8,9,9,.18) 100%),
    linear-gradient(180deg,rgba(0,0,0,.15),transparent 56%,rgba(0,0,0,.55) 100%);
}
.vm-hero--cinematic::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:auto 0 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,91,33,.8),transparent);
}
.vm-hero--cinematic .vm-hero__media{
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  bottom:0;
  width:min(70vw,1320px);
  overflow:hidden;
}
.vm-hero--cinematic .vm-hero__media img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:56% 50%;
  filter:saturate(.98) contrast(1.04) brightness(.88);
  transform:scale(1.015);
}
.vm-hero--cinematic .vm-hero__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 64% 44%,transparent 0 28%,rgba(0,0,0,.09) 60%,rgba(0,0,0,.3) 100%),
    linear-gradient(90deg,rgba(6,7,7,.92) 0%,rgba(6,7,7,.15) 33%,transparent 64%);
}
.vm-hero--cinematic .vm-hero__inner{
  position:relative;
  z-index:4;
  min-height:clamp(590px,67vh,760px);
  display:flex;
  align-items:center;
}
.vm-hero--cinematic .vm-hero__content{
  width:min(53%,760px);
  max-width:760px;
  padding:64px 0 92px;
}
.vm-hero--cinematic .vm-eyebrow{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
  color:var(--vm-orange);
  font-size:12px;
  font-weight:950;
  letter-spacing:.28em;
}
.vm-hero--cinematic .vm-eyebrow__line{
  display:block;
  width:58px;
  height:1px;
  background:linear-gradient(90deg,var(--vm-orange),rgba(255,91,33,.05));
}
.vm-hero--cinematic .vm-hero__headline{
  margin:0;
  max-width:760px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(66px,6.8vw,116px);
  font-weight:700;
  line-height:.76;
  letter-spacing:-.065em;
  text-transform:uppercase;
  text-wrap:balance;
  text-shadow:0 16px 40px rgba(0,0,0,.32);
}
.vm-hero--cinematic .vm-hero__headline span,
.vm-hero--cinematic .vm-hero__headline em{
  display:block;
  font-style:normal;
  white-space:nowrap;
}
.vm-hero--cinematic .vm-hero__headline em{
  color:var(--vm-orange);
  font-size:.93em;
  letter-spacing:-.07em;
}
.vm-hero--cinematic .vm-hero__lead{
  max-width:590px;
  margin:25px 0 0;
  color:rgba(255,255,255,.78);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(17px,1.35vw,22px);
  line-height:1.45;
}
.vm-hero--cinematic .vm-hero__actions{
  display:flex;
  align-items:center;
  gap:22px;
  margin-top:30px;
}
.vm-hero--cinematic .vm-button--hero{
  min-height:58px;
  padding:0 28px;
  border-radius:13px;
  box-shadow:0 18px 42px rgba(255,91,33,.22);
  font-size:15px;
}
.vm-hero--cinematic .vm-button--hero span{font-size:21px;line-height:1}
.vm-hero--cinematic .vm-hero__text-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.74);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  transition:.2s ease;
}
.vm-hero--cinematic .vm-hero__text-link:hover{color:#fff;transform:translateX(2px)}
.vm-hero--cinematic .vm-trust-row--hero{
  display:flex;
  flex-wrap:wrap;
  gap:18px 25px;
  margin-top:35px;
}
.vm-hero--cinematic .vm-trust-row--hero span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.75);
  font-size:10px;
  font-weight:750;
}
.vm-hero--cinematic .vm-trust-row--hero i{
  display:grid;
  width:23px;
  height:23px;
  place-items:center;
  color:var(--vm-orange);
  font-size:16px;
  font-style:normal;
}
.vm-hero__media-copy{
  position:absolute;
  z-index:4;
  color:rgba(255,255,255,.72);
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:.26em;
  text-transform:uppercase;
  pointer-events:none;
}
.vm-hero__media-copy span{display:block;font-size:15px;line-height:1.45}
.vm-hero__media-copy small{
  display:block;
  margin-top:14px;
  max-width:220px;
  color:rgba(255,255,255,.62);
  font-size:13px;
  font-style:italic;
  line-height:1.45;
  letter-spacing:.02em;
  text-transform:none;
}
.vm-hero__media-copy--left{left:36%;top:31%}
.vm-hero__media-copy--right{right:4.5%;top:19%;color:rgba(255,255,255,.55)}
.vm-hero__media-copy--right span{font-size:13px;line-height:1.55}
.vm-hero__scroll{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  transform:translateX(-50%);
  color:rgba(255,255,255,.46);
}
.vm-hero__scroll span{color:var(--vm-orange);font-size:20px;animation:vmHeroBounce 1.8s ease-in-out infinite}
.vm-hero__scroll small{font-size:7px;font-weight:900;letter-spacing:.38em}
@keyframes vmHeroBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

/* make the next section meet the cinematic hero cleanly */
#vm-home-catalog{position:relative;z-index:6;border-top:0}

@media (max-width:1180px){
  .vm-hero--cinematic .vm-hero__media{width:72vw}
  .vm-hero--cinematic .vm-hero__content{width:58%}
  .vm-hero--cinematic .vm-hero__headline{font-size:clamp(62px,7.5vw,92px)}
  .vm-hero__media-copy--left{display:none}
}
@media (max-width:900px){
  .vm-hero.vm-hero--cinematic,
  .vm-hero--cinematic .vm-hero__inner{min-height:650px}
  .vm-hero--cinematic .vm-hero__media{inset:0;width:100%}
  .vm-hero--cinematic .vm-hero__media img{object-position:62% 50%;filter:saturate(.96) contrast(1.05) brightness(.62)}
  .vm-hero--cinematic::before{
    background:linear-gradient(90deg,rgba(7,8,8,.98) 0%,rgba(7,8,8,.91) 48%,rgba(7,8,8,.48) 80%,rgba(7,8,8,.42) 100%),linear-gradient(180deg,rgba(0,0,0,.1),transparent 50%,rgba(0,0,0,.72));
  }
  .vm-hero--cinematic .vm-hero__content{width:78%;max-width:680px;padding:68px 0 92px}
  .vm-hero--cinematic .vm-hero__headline{font-size:clamp(58px,11vw,88px)}
  .vm-hero__media-copy--right{display:none}
}
@media (max-width:640px){
  .vm-hero.vm-hero--cinematic,
  .vm-hero--cinematic .vm-hero__inner{min-height:640px}
  .vm-hero--cinematic .vm-hero__media img{object-position:67% 50%}
  .vm-hero--cinematic::before{
    background:linear-gradient(90deg,rgba(7,8,8,.98) 0%,rgba(7,8,8,.93) 62%,rgba(7,8,8,.58) 100%),linear-gradient(180deg,rgba(0,0,0,.04),transparent 45%,rgba(0,0,0,.75));
  }
  .vm-hero--cinematic .vm-hero__content{width:100%;padding:56px 0 98px}
  .vm-hero--cinematic .vm-eyebrow{font-size:10px;letter-spacing:.20em}
  .vm-hero--cinematic .vm-hero__headline{font-size:clamp(50px,16vw,72px);line-height:.79}
  .vm-hero--cinematic .vm-hero__headline span,.vm-hero--cinematic .vm-hero__headline em{white-space:normal}
  .vm-hero--cinematic .vm-hero__lead{max-width:92%;font-size:16px;line-height:1.5}
  .vm-hero--cinematic .vm-hero__actions{align-items:flex-start;flex-direction:column;gap:15px;margin-top:24px}
  .vm-hero--cinematic .vm-button--hero{min-height:52px;padding:0 22px}
  .vm-hero--cinematic .vm-trust-row--hero{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px;margin-top:28px}
  .vm-hero--cinematic .vm-trust-row--hero span{font-size:9px}
  .vm-hero__scroll{display:none}
}
@media (prefers-reduced-motion:reduce){.vm-hero__scroll span{animation:none}}
.vm-hero--cinematic .vm-hero__headline span{color:#fff}
.vm-hero--cinematic .vm-hero__headline em{color:var(--vm-orange)}

/* =========================================================
   VinylMail 2.3.4 — BALANCED CINEMATIC HERO
   Keeps the 2.3.x design system but restores sane proportions.
   ========================================================= */
.vm-hero.vm-hero--balanced{
  min-height:540px;
  background:#080909;
  isolation:isolate;
}
.vm-hero--balanced::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,#080909 0%,rgba(8,9,9,.99) 27%,rgba(8,9,9,.93) 38%,rgba(8,9,9,.62) 49%,rgba(8,9,9,.16) 65%,rgba(8,9,9,.08) 100%),
    linear-gradient(180deg,rgba(0,0,0,.08) 0%,transparent 62%,rgba(0,0,0,.46) 100%);
}
.vm-hero--balanced::after{
  content:"";
  position:absolute;
  z-index:3;
  left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(255,91,33,.75) 50%,transparent 100%);
}
.vm-hero--balanced .vm-hero__media{
  position:absolute;
  z-index:1;
  inset:0 0 0 auto;
  width:66%;
  overflow:hidden;
}
.vm-hero--balanced .vm-hero__media img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:54% 50%;
  filter:saturate(.98) contrast(1.03) brightness(.92);
  transform:none;
}
.vm-hero--balanced .vm-hero__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 68% 48%,transparent 0 42%,rgba(0,0,0,.20) 85%,rgba(0,0,0,.34) 100%);
  pointer-events:none;
}
.vm-hero--balanced .vm-hero__inner{
  position:relative;
  z-index:4;
  min-height:540px;
  display:flex;
  align-items:center;
}
.vm-hero--balanced .vm-hero__content{
  width:43%;
  max-width:560px;
  padding:54px 0 62px;
}
.vm-hero--balanced .vm-eyebrow{
  gap:13px;
  margin-bottom:13px;
  font-size:11px;
  letter-spacing:.24em;
}
.vm-hero--balanced .vm-eyebrow__line{width:46px}
.vm-hero--balanced .vm-hero__headline{
  max-width:550px;
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(58px,4.55vw,78px);
  font-weight:700;
  line-height:.82;
  letter-spacing:-.052em;
  text-transform:uppercase;
  text-shadow:0 14px 34px rgba(0,0,0,.34);
}
.vm-hero--balanced .vm-hero__headline span,
.vm-hero--balanced .vm-hero__headline em{
  display:block;
  white-space:nowrap;
  font-style:normal;
}
.vm-hero--balanced .vm-hero__headline span{color:#fff}
.vm-hero--balanced .vm-hero__headline em{
  color:var(--vm-orange);
  font-size:.91em;
  letter-spacing:-.06em;
}
.vm-hero--balanced .vm-hero__lead{
  max-width:510px;
  margin:20px 0 0;
  color:rgba(255,255,255,.76);
  font-family:inherit;
  font-size:16px;
  line-height:1.55;
}
.vm-hero--balanced .vm-hero__actions{margin-top:24px}
.vm-hero--balanced .vm-button--hero{
  min-height:52px;
  padding:0 24px;
  border-radius:11px;
  font-size:14px;
  box-shadow:0 14px 34px rgba(255,91,33,.18);
}
.vm-hero--balanced .vm-trust-row--hero{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px 18px;
  width:min(560px,100%);
  margin-top:26px;
}
.vm-hero--balanced .vm-trust-row--hero span{
  gap:7px;
  color:rgba(255,255,255,.70);
  font-size:9.5px;
  font-weight:750;
}
.vm-hero--balanced .vm-trust-row--hero i{
  width:20px;height:20px;font-size:14px;
}
.vm-hero--balanced .vm-hero__media-copy,
.vm-hero--balanced .vm-hero__scroll{display:none!important}

@media (max-width:1180px){
  .vm-hero.vm-hero--balanced,.vm-hero--balanced .vm-hero__inner{min-height:510px}
  .vm-hero--balanced .vm-hero__media{width:64%}
  .vm-hero--balanced .vm-hero__content{width:47%;max-width:520px}
  .vm-hero--balanced .vm-hero__headline{font-size:clamp(54px,5.3vw,68px)}
}
@media (max-width:900px){
  .vm-hero.vm-hero--balanced,.vm-hero--balanced .vm-hero__inner{min-height:560px}
  .vm-hero--balanced .vm-hero__media{width:100%;inset:0}
  .vm-hero--balanced .vm-hero__media img{object-position:66% 50%;filter:saturate(.95) contrast(1.02) brightness(.68)}
  .vm-hero--balanced::before{
    background:linear-gradient(90deg,rgba(8,9,9,.98) 0%,rgba(8,9,9,.93) 52%,rgba(8,9,9,.55) 80%,rgba(8,9,9,.38) 100%),linear-gradient(180deg,rgba(0,0,0,.05),transparent 55%,rgba(0,0,0,.58));
  }
  .vm-hero--balanced .vm-hero__content{width:72%;max-width:580px;padding:52px 0 58px}
  .vm-hero--balanced .vm-hero__headline{font-size:clamp(52px,8.4vw,72px)}
}
@media (max-width:640px){
  .vm-hero.vm-hero--balanced,.vm-hero--balanced .vm-hero__inner{min-height:570px}
  .vm-hero--balanced .vm-hero__media img{object-position:70% 50%;filter:saturate(.92) contrast(1.02) brightness(.56)}
  .vm-hero--balanced::before{
    background:linear-gradient(90deg,rgba(8,9,9,.99) 0%,rgba(8,9,9,.95) 64%,rgba(8,9,9,.66) 100%),linear-gradient(180deg,rgba(0,0,0,.06),transparent 48%,rgba(0,0,0,.68));
  }
  .vm-hero--balanced .vm-hero__content{width:100%;max-width:100%;padding:44px 0 50px}
  .vm-hero--balanced .vm-eyebrow{font-size:9px;letter-spacing:.20em}
  .vm-hero--balanced .vm-hero__headline{font-size:clamp(46px,14.3vw,64px);line-height:.82}
  .vm-hero--balanced .vm-hero__headline span,.vm-hero--balanced .vm-hero__headline em{white-space:normal}
  .vm-hero--balanced .vm-hero__lead{max-width:88%;font-size:15px;line-height:1.5}
  .vm-hero--balanced .vm-button--hero{min-height:50px;padding:0 21px}
  .vm-hero--balanced .vm-trust-row--hero{grid-template-columns:1fr 1fr;gap:10px 7px;margin-top:23px}
  .vm-hero--balanced .vm-trust-row--hero span{font-size:8.5px}
}


/* ==========================================================
   VinylMail Nova 2.3.5 — HERO CLEANUP
   Fixes hard seam / weird overlay in 2.3.4 while keeping the 23C dramatic look.
   ========================================================== */
.vm-hero.vm-hero--cinematic{
  min-height:clamp(560px,64vh,700px);
  background:#0a0b0c;
}
.vm-hero--cinematic::before{
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.03) 30%,rgba(0,0,0,.28) 100%);
}
.vm-hero--cinematic .vm-hero__media{
  inset:0;
  width:100%;
}
.vm-hero--cinematic .vm-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:64% 50%;
  filter:saturate(1.02) contrast(1.03) brightness(.84);
  transform:scale(1.03);
}
.vm-hero--cinematic .vm-hero__media::after{
  background:
    radial-gradient(circle at 74% 47%,rgba(255,111,50,.11) 0%,rgba(255,111,50,0) 20%),
    linear-gradient(90deg,rgba(8,9,9,.94) 0%,rgba(8,9,9,.87) 24%,rgba(8,9,9,.52) 46%,rgba(8,9,9,.18) 63%,rgba(8,9,9,.24) 100%),
    linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.04) 32%,rgba(0,0,0,.38) 100%);
}
.vm-hero--cinematic .vm-hero__inner{
  min-height:clamp(560px,64vh,700px);
}
.vm-hero--cinematic .vm-hero__content{
  width:min(47%,640px);
  max-width:640px;
  padding:56px 0 84px;
}
.vm-hero--cinematic .vm-eyebrow{
  margin-bottom:16px;
}
.vm-hero--cinematic .vm-hero__headline{
  max-width:600px;
  font-size:clamp(64px,6.1vw,104px);
  line-height:.80;
  letter-spacing:-.058em;
  text-wrap:initial;
}
.vm-hero--cinematic .vm-hero__headline span,
.vm-hero--cinematic .vm-hero__headline em{
  white-space:normal;
}
.vm-hero--cinematic .vm-hero__headline em{
  font-size:.96em;
}
.vm-hero--cinematic .vm-hero__lead{
  max-width:560px;
  margin-top:22px;
  color:rgba(255,255,255,.84);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:clamp(16px,1.2vw,19px);
  line-height:1.52;
  text-shadow:0 8px 28px rgba(0,0,0,.28);
}
.vm-hero--cinematic .vm-hero__actions{margin-top:26px}
.vm-hero--cinematic .vm-button--hero{
  min-height:56px;
  padding:0 26px;
  border-radius:14px;
}
.vm-hero--cinematic .vm-trust-row--hero{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,max-content));
  gap:12px 22px;
  margin-top:28px;
}
.vm-hero--cinematic .vm-trust-row--hero span{
  color:rgba(255,255,255,.82);
  font-size:10px;
  font-weight:820;
}
.vm-hero--cinematic .vm-trust-row--hero i{
  width:18px;
  height:18px;
  font-size:13px;
}
@media (max-width:1180px){
  .vm-hero--cinematic .vm-hero__media img{object-position:66% 50%}
  .vm-hero--cinematic .vm-hero__content{width:min(54%,640px)}
  .vm-hero--cinematic .vm-hero__headline{font-size:clamp(60px,6.8vw,92px)}
}
@media (max-width:900px){
  .vm-hero.vm-hero--cinematic,
  .vm-hero--cinematic .vm-hero__inner{min-height:620px}
  .vm-hero--cinematic .vm-hero__media img{object-position:68% 50%;filter:saturate(1) contrast(1.03) brightness(.72)}
  .vm-hero--cinematic .vm-hero__media::after{
    background:
      linear-gradient(90deg,rgba(8,9,9,.95) 0%,rgba(8,9,9,.88) 42%,rgba(8,9,9,.42) 74%,rgba(8,9,9,.28) 100%),
      linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.06) 35%,rgba(0,0,0,.48) 100%);
  }
  .vm-hero--cinematic .vm-hero__content{width:78%;max-width:620px;padding:60px 0 88px}
  .vm-hero--cinematic .vm-trust-row--hero{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .vm-hero.vm-hero--cinematic,
  .vm-hero--cinematic .vm-hero__inner{min-height:600px}
  .vm-hero--cinematic .vm-hero__media img{object-position:70% 50%}
  .vm-hero--cinematic .vm-hero__content{width:100%;padding:52px 0 94px}
  .vm-hero--cinematic .vm-hero__headline{font-size:clamp(48px,15vw,68px);line-height:.83}
  .vm-hero--cinematic .vm-hero__lead{max-width:95%;font-size:15px}
  .vm-hero--cinematic .vm-trust-row--hero{grid-template-columns:1fr;gap:10px}
}


/* ==========================================================
   VinylMail Nova 2.3.6 — FUNCTIONAL QA
   Order received, account dashboard, filters/search and final functional UI.
   ========================================================== */

/* Search status + metadata */
.vm-live-search__copy em{display:block;margin-top:3px;color:#3b8855;font-size:8px;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.vm-live-search__item b{white-space:nowrap}

/* Catalogue filter v2 */
.vm-catalog-filters--236{grid-template-columns:minmax(190px,1.45fr) minmax(135px,.8fr) minmax(135px,.8fr) minmax(190px,1fr) auto auto;align-items:end}
.vm-filter-field{display:grid;gap:6px}
.vm-filter-price{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;align-items:center}
.vm-filter-price span{color:#a4a098;font-weight:800}
.vm-filter-price input{min-width:0}
@media(max-width:1100px){.vm-catalog-filters--236{grid-template-columns:repeat(3,minmax(0,1fr))}.vm-filter-stock{align-self:center}}
@media(max-width:720px){.vm-catalog-filters--236{grid-template-columns:1fr}.vm-filter-price{grid-template-columns:1fr auto 1fr}}

/* Order received */
.woocommerce-order{max-width:1180px;margin:0 auto;padding:42px 20px 90px}
.vm-order-received-hero{position:relative;overflow:hidden;margin-bottom:22px;padding:clamp(30px,4vw,54px);border-radius:24px;background:radial-gradient(circle at 95% 0,rgba(255,91,33,.22),transparent 32%),linear-gradient(135deg,#131516,#1b1d1e);color:#fff;box-shadow:0 28px 80px rgba(17,20,22,.16)}
.vm-order-received-hero::after{content:"✓";position:absolute;right:-12px;bottom:-60px;color:rgba(255,255,255,.035);font-size:220px;font-weight:950;line-height:1}
.vm-order-received-hero.is-failed::after{content:"!"}.vm-order-received-hero.is-failed{background:linear-gradient(135deg,#211311,#321814)}
.vm-order-received-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end}
.vm-order-received-hero h1{max-width:760px;margin:8px 0 12px;font-size:clamp(46px,6vw,88px);line-height:.86;letter-spacing:-.065em;text-transform:uppercase}
.vm-order-received-hero p{max-width:700px;margin:0;color:rgba(255,255,255,.68);font-size:15px}
.vm-order-received-hero__total{min-width:200px;padding:20px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.055)}
.vm-order-received-hero__total small,.vm-order-received-hero__total span{display:block;color:rgba(255,255,255,.54);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.vm-order-received-hero__total strong{display:block;margin:5px 0;color:#fff;font-size:28px;line-height:1.1}
.vm-order-received-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 24px}
.vm-order-received-trust span{padding:12px 14px;border:1px solid #e4dfd7;border-radius:12px;background:#fbfaf7;color:#656a6d;font-size:10px;font-weight:850;text-align:center}
.woocommerce-order .woocommerce-notice--success{margin:0 0 18px!important;padding:16px 18px!important;border:1px solid #cfe8d6!important;border-radius:12px!important;background:#eff9f2!important;color:#277946!important;font-weight:850!important}
.woocommerce-order .woocommerce-order-overview{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 30px!important;padding:0!important}
.woocommerce-order .woocommerce-order-overview li{float:none!important;margin:0!important;padding:16px!important;border:1px solid #e5e0d9!important;border-radius:12px;background:#fff;color:#777c7f!important;font-size:9px!important;font-weight:900;text-transform:uppercase}
.woocommerce-order .woocommerce-order-overview li strong{display:block;margin-top:6px;color:#17191a;font-size:14px!important;text-transform:none}
.woocommerce-order .woocommerce-order-details,.woocommerce-order .woocommerce-customer-details{margin-top:24px;padding:24px;border:1px solid #e5e0d9;border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(17,20,22,.055)}
.woocommerce-order h2{letter-spacing:-.035em}
@media(max-width:760px){.vm-order-received-hero__grid{grid-template-columns:1fr}.vm-order-received-hero__total{min-width:0}.vm-order-received-trust,.woocommerce-order .woocommerce-order-overview{grid-template-columns:1fr 1fr}.woocommerce-order{padding-inline:14px}}
@media(max-width:460px){.vm-order-received-trust,.woocommerce-order .woocommerce-order-overview{grid-template-columns:1fr}}

/* Logged-in account */
.vm-dashboard-welcome{margin-bottom:18px;padding:26px 28px;border:1px solid #e5e0d9;border-radius:18px;background:#fff}
.vm-dashboard-welcome h2{margin:4px 0 8px;font-size:clamp(30px,4vw,48px);line-height:.95;letter-spacing:-.05em}
.vm-dashboard-welcome p{max-width:760px;margin:0;color:#74797c}
.vm-account-snapshot{display:grid;grid-template-columns:1.6fr .7fr .9fr;gap:10px;margin-bottom:14px}
.vm-account-snapshot>div{min-width:0;padding:17px 18px;border:1px solid #e5e0d9;border-radius:14px;background:#fbfaf7}
.vm-account-snapshot small,.vm-account-snapshot span{display:block;color:#85898b;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.vm-account-snapshot strong{display:block;overflow:hidden;margin:5px 0 4px;color:#17191a;font-size:16px;text-overflow:ellipsis;white-space:nowrap}
.woocommerce-MyAccount-navigation ul{overflow:hidden;border:1px solid #e3ded7;border-radius:16px;background:#fff}
.woocommerce-MyAccount-navigation li a{display:block;padding:13px 16px;border-bottom:1px solid #eee9e2;color:#5c6265;font-weight:800}
.woocommerce-MyAccount-navigation li:last-child a{border-bottom:0}.woocommerce-MyAccount-navigation li.is-active a{background:#17191a;color:#fff}.woocommerce-MyAccount-navigation li a:hover{color:var(--vm-orange)}
@media(max-width:720px){.vm-account-snapshot{grid-template-columns:1fr}}

/* Email styles are injected server-side; this only affects browser previews if any. */
.vm-email-order-note{border-left-color:var(--vm-orange)}


/* ==========================================================
   VinylMail Nova 2.3.7 — CHECKOUT + ORDER RECEIVED FIX
   ========================================================== */

/* Checkout: remove the broken second grid row that pushed the order review to the bottom. */
.vm-checkout-page{padding:30px 0 88px;background:#f7f4ee}
.vm-checkout-shell{margin-top:18px}
.vm-checkout-shell form.checkout{
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) minmax(360px,.72fr)!important;
  gap:30px!important;
  align-items:start!important;
}
.vm-checkout-shell #customer_details{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.vm-checkout-shell #customer_details .col-1,
.vm-checkout-shell #customer_details .col-2{
  width:100%!important;
  float:none!important;
  margin:0 0 18px!important;
  padding:28px!important;
  border:1px solid #dfd9d0!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 14px 38px rgba(17,20,22,.055)!important;
}
.vm-checkout-shell #customer_details .col-2:empty{display:none!important}
.vm-checkout-shell #order_review_heading{display:none!important}
.vm-checkout-shell #order_review{
  grid-column:2!important;
  grid-row:1!important;
  position:sticky!important;
  top:132px!important;
  align-self:start!important;
  width:100%!important;
  margin:0!important;
  padding:76px 28px 28px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:20px!important;
  background:radial-gradient(circle at 105% -10%,rgba(255,91,33,.18),transparent 30%),#151718!important;
  color:#fff!important;
  box-shadow:0 28px 70px rgba(17,20,22,.18)!important;
}
.vm-checkout-shell #order_review::before{
  content:"IL TUO ORDINE";
  position:absolute;
  top:0;
  left:0;
  right:0;
  min-height:54px;
  display:flex;
  align-items:center;
  padding:0 28px;
  border-bottom:1px solid rgba(255,255,255,.1);
  color:#fff;
  font-size:20px;
  font-weight:950;
  letter-spacing:-.035em;
}
.vm-checkout-shell #order_review table{margin:0 0 16px!important}
.vm-checkout-shell #order_review .woocommerce-checkout-review-order-table th,
.vm-checkout-shell #order_review .woocommerce-checkout-review-order-table td{padding:12px 0!important}
.vm-checkout-shell #payment{margin-top:8px!important;padding:0!important;background:transparent!important}
.vm-checkout-shell #payment ul.payment_methods{padding:0!important;border:0!important}
.vm-checkout-shell #payment li.wc_payment_method{padding:13px 14px!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:11px!important;background:rgba(255,255,255,.035)!important}
.vm-checkout-shell .vm-checkout-assurance{display:none!important}
.vm-checkout-benefits,.vm-checkout-lock{display:none!important}
.vm-checkout-shell .form-row label{display:block;margin-bottom:6px!important}
.vm-checkout-shell .form-row input.input-text,
.vm-checkout-shell .form-row textarea,
.vm-checkout-shell .select2-container .select2-selection{width:100%!important;min-height:46px!important}
.vm-checkout-shell .form-row-first,.vm-checkout-shell .form-row-last{width:calc(50% - 8px)!important}
.vm-checkout-shell .form-row-first{float:left!important}
.vm-checkout-shell .form-row-last{float:right!important}
.vm-checkout-shell .form-row-wide{clear:both!important;width:100%!important}
.vm-checkout-shell #place_order{min-height:58px!important;margin-top:10px!important}

/* Cart: remove the decorative security/shipping micro-copy the user asked to drop. */
.vm-cart-summary__micro{display:none!important}
.vm-cart-summary__note{margin-top:14px!important}

/* Order received: no duplicate WordPress title, no duplicate green Woo notice, cleaner confirmation. */
.vm-order-received-page{padding:46px 0 90px;background:#f7f4ee}
.vm-order-received-shell{max-width:1180px}
.vm-order-received-shell .woocommerce{max-width:none!important;margin:0!important;padding:0!important}
.woocommerce-order-received .entry-title,
.woocommerce-order-received .vm-entry>h1,
.woocommerce-order-received .woocommerce>h1{display:none!important}
.vm-order-received-shell .woocommerce-order>.woocommerce-notice--success{display:none!important}
.vm-order-received-hero{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) minmax(220px,.34fr)!important;
  gap:24px!important;
  align-items:center!important;
  margin:0 0 24px!important;
  padding:34px 36px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:22px!important;
  background:radial-gradient(circle at 100% 0,rgba(255,91,33,.20),transparent 34%),linear-gradient(135deg,#111314,#191b1c)!important;
  box-shadow:0 26px 68px rgba(17,20,22,.16)!important;
}
.vm-order-received-hero::after{display:none!important}
.vm-order-received-hero__mark{
  display:grid;
  width:54px;
  height:54px;
  place-items:center;
  border-radius:50%;
  background:var(--vm-orange);
  color:#fff;
  font-size:25px;
  font-weight:950;
  box-shadow:0 10px 26px rgba(255,91,33,.25);
}
.vm-order-received-hero.is-failed .vm-order-received-hero__mark{background:#c7442d}
.vm-order-received-hero__copy{min-width:0}
.vm-order-received-hero__copy .vm-kicker{color:var(--vm-orange)}
.vm-order-received-hero h1{
  max-width:none!important;
  margin:6px 0 8px!important;
  color:#fff!important;
  font-size:clamp(36px,4.7vw,64px)!important;
  line-height:.92!important;
  letter-spacing:-.055em!important;
}
.vm-order-received-hero p{max-width:760px!important;color:rgba(255,255,255,.72)!important;font-size:14px!important;line-height:1.55!important}
.vm-order-received-hero__summary{
  display:grid;
  gap:14px;
  padding:20px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:15px;
  background:rgba(255,255,255,.045);
}
.vm-order-received-hero__summary div+div{padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}
.vm-order-received-hero__summary small{display:block;margin-bottom:5px;color:rgba(255,255,255,.5);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.vm-order-received-hero__summary strong{display:block;color:#fff;font-size:24px;line-height:1.1}
.vm-order-received-hero__summary span{display:block;color:#fff;font-size:11px;font-weight:900;line-height:1.35;text-transform:uppercase}
.vm-order-received-trust{display:none!important}
.vm-order-received-shell .woocommerce-order-overview{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0 0 24px!important;
  padding:0!important;
  list-style:none!important;
}
.vm-order-received-shell .woocommerce-order-overview li{
  min-width:0!important;
  margin:0!important;
  padding:15px 16px!important;
  border:1px solid #e1dcd4!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#777!important;
  font-size:9px!important;
  font-weight:850!important;
  text-transform:uppercase!important;
}
.vm-order-received-shell .woocommerce-order-overview li strong{display:block;margin-top:6px;color:#17191a!important;font-size:13px!important;line-height:1.25!important;text-transform:none!important;overflow-wrap:anywhere}
.vm-order-received-shell .woocommerce-order-details,
.vm-order-received-shell .woocommerce-customer-details,
.vm-order-received-shell .woocommerce-bacs-bank-details{
  margin:24px 0 0!important;
  padding:24px!important;
  border:1px solid #dfd9d0!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 14px 38px rgba(17,20,22,.05)!important;
}
.vm-order-received-shell .woocommerce-order-details__title,
.vm-order-received-shell .woocommerce-column__title,
.vm-order-received-shell .wc-bacs-bank-details-heading{margin:0 0 18px!important;font-size:22px!important;letter-spacing:-.035em!important}
.vm-order-received-shell .woocommerce-order-details table{margin:0!important;border-radius:12px!important;overflow:hidden!important}
.vm-order-received-shell .woocommerce-customer-details{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.vm-order-received-shell .woocommerce-customer-details .woocommerce-column{width:100%!important;float:none!important;margin:0!important}

@media(max-width:960px){
  .vm-checkout-shell form.checkout{grid-template-columns:1fr!important}
  .vm-checkout-shell #customer_details,.vm-checkout-shell #order_review{grid-column:1!important;grid-row:auto!important}
  .vm-checkout-shell #order_review{position:static!important;top:auto!important}
  .vm-order-received-hero{grid-template-columns:auto minmax(0,1fr)!important}
  .vm-order-received-hero__summary{grid-column:1/-1;grid-template-columns:1fr 1fr}
  .vm-order-received-hero__summary div+div{padding-top:0;padding-left:14px;border-top:0;border-left:1px solid rgba(255,255,255,.1)}
  .vm-order-received-shell .woocommerce-order-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  .vm-checkout-shell #customer_details .col-1,.vm-checkout-shell #customer_details .col-2{padding:20px!important}
  .vm-checkout-shell .form-row-first,.vm-checkout-shell .form-row-last{float:none!important;width:100%!important}
  .vm-order-received-page{padding:24px 0 70px}
  .vm-order-received-hero{grid-template-columns:1fr!important;padding:26px 22px!important}
  .vm-order-received-hero__mark{width:46px;height:46px;font-size:22px}
  .vm-order-received-hero__summary{grid-column:auto;grid-template-columns:1fr}
  .vm-order-received-hero__summary div+div{padding-top:14px;padding-left:0;border-top:1px solid rgba(255,255,255,.1);border-left:0}
  .vm-order-received-shell .woocommerce-order-overview{grid-template-columns:1fr!important}
  .vm-order-received-shell .woocommerce-customer-details{grid-template-columns:1fr}
}


/* ==========================================================
   VinylMail Nova 2.3.8 — ORDER DETAILS POLISH
   Keeps the 2.3.7 hero/bank/order sections the user liked,
   fixes the orphan payment card and the broken address layout.
   ========================================================== */

/* Overview: payment method is already shown in Dettagli ordine and, for BACS,
   in the banking block. Removing it prevents the lonely fifth card. */
.vm-order-received-shell .woocommerce-order-overview{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.vm-order-received-shell .woocommerce-order-overview li.woocommerce-order-overview__payment-method{
  display:none!important;
}
.vm-order-received-shell .woocommerce-order-overview li{
  min-height:64px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

/* Bank details: keep the whole section, but make the individual references
   readable instead of compressed into tiny columns. */
.vm-order-received-shell .woocommerce-bacs-bank-details{
  padding:26px!important;
}
.vm-order-received-shell .woocommerce-bacs-bank-details .wc-bacs-bank-details-account-name{
  margin:0 0 16px!important;
  color:#17191a!important;
  font-size:14px!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
}
.vm-order-received-shell .woocommerce-bacs-bank-details ul.wc-bacs-bank-details,
.vm-order-received-shell ul.wc-bacs-bank-details{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.vm-order-received-shell ul.wc-bacs-bank-details li{
  min-width:0!important;
  margin:0!important;
  padding:13px 14px!important;
  border:1px solid #e7e1d8!important;
  border-radius:11px!important;
  background:#faf8f4!important;
  color:#7a7e80!important;
  font-size:8px!important;
  font-weight:900!important;
  line-height:1.35!important;
  text-transform:uppercase!important;
}
.vm-order-received-shell ul.wc-bacs-bank-details li strong{
  display:block!important;
  margin-top:5px!important;
  color:#17191a!important;
  font-size:12px!important;
  font-weight:950!important;
  line-height:1.25!important;
  text-transform:none!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}

/* Customer details: WooCommerce nests the two columns inside
   .woocommerce-columns--addresses, so grid belongs on that nested wrapper. */
.vm-order-received-shell .woocommerce-customer-details{
  display:block!important;
  padding:26px!important;
}
.vm-order-received-shell .woocommerce-customer-details .woocommerce-columns--addresses,
.vm-order-received-shell .woocommerce-customer-details .col2-set.addresses{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  margin:0!important;
}
.vm-order-received-shell .woocommerce-customer-details .woocommerce-column{
  width:auto!important;
  max-width:none!important;
  float:none!important;
  margin:0!important;
  padding:0!important;
}
.vm-order-received-shell .woocommerce-customer-details .woocommerce-column__title{
  margin:0 0 10px!important;
  color:#17191a!important;
  font-size:17px!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
}
.vm-order-received-shell .woocommerce-customer-details address{
  min-height:170px!important;
  margin:0!important;
  padding:18px!important;
  border:1px solid #e4ded6!important;
  border-radius:12px!important;
  background:#faf8f4!important;
  color:#35393b!important;
  font-size:13px!important;
  line-height:1.65!important;
  box-shadow:none!important;
}
.vm-order-received-shell .woocommerce-customer-details address p{
  margin:8px 0 0!important;
}

/* Slightly stronger visual rhythm for the two content cards the user liked. */
.vm-order-received-shell .woocommerce-order-details,
.vm-order-received-shell .woocommerce-bacs-bank-details,
.vm-order-received-shell .woocommerce-customer-details{
  border-color:#ded8cf!important;
  box-shadow:0 16px 42px rgba(17,20,22,.055)!important;
}
.vm-order-received-shell .woocommerce-order-details__title,
.vm-order-received-shell .wc-bacs-bank-details-heading{
  font-size:20px!important;
  font-weight:950!important;
}

@media(max-width:1100px){
  .vm-order-received-shell ul.wc-bacs-bank-details{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:960px){
  .vm-order-received-shell .woocommerce-order-overview{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .vm-order-received-shell .woocommerce-customer-details .woocommerce-columns--addresses,
  .vm-order-received-shell .woocommerce-customer-details .col2-set.addresses{
    grid-template-columns:1fr 1fr!important;
  }
}
@media(max-width:700px){
  .vm-order-received-shell ul.wc-bacs-bank-details{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .vm-order-received-shell .woocommerce-customer-details .woocommerce-columns--addresses,
  .vm-order-received-shell .woocommerce-customer-details .col2-set.addresses{
    grid-template-columns:1fr!important;
  }
  .vm-order-received-shell .woocommerce-customer-details address{min-height:0!important}
}
@media(max-width:460px){
  .vm-order-received-shell .woocommerce-order-overview,
  .vm-order-received-shell ul.wc-bacs-bank-details{
    grid-template-columns:1fr!important;
  }
}


/* ==========================================================
   VinylMail Nova 2.3.9 — ORDER GRID + PRODUCT AVAILABILITY FIX
   Neutralizes WooCommerce clearfix pseudo-elements that were
   becoming CSS-grid items and breaking card alignment.
   ========================================================== */

/* WooCommerce adds clearfix ::before/::after nodes to these wrappers.
   On a CSS grid they become anonymous grid items and shift the real cards. */
.vm-order-received-shell .woocommerce-order-overview::before,
.vm-order-received-shell .woocommerce-order-overview::after,
.vm-order-received-shell ul.wc-bacs-bank-details::before,
.vm-order-received-shell ul.wc-bacs-bank-details::after,
.vm-order-received-shell .woocommerce-columns--addresses::before,
.vm-order-received-shell .woocommerce-columns--addresses::after,
.vm-order-received-shell .col2-set.addresses::before,
.vm-order-received-shell .col2-set.addresses::after{
  content:none!important;
  display:none!important;
}

/* Overview: exactly four equal cards in one clean row on desktop. */
.vm-order-received-shell .woocommerce-order-overview{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.vm-order-received-shell .woocommerce-order-overview li{
  width:100%!important;
  max-width:none!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
  min-height:72px!important;
}

/* Bank references: one balanced row, no orphan BIC card. */
.vm-order-received-shell ul.wc-bacs-bank-details{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.vm-order-received-shell ul.wc-bacs-bank-details li{
  width:100%!important;
  max-width:none!important;
  float:none!important;
  clear:none!important;
  min-height:78px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

/* Billing + shipping: force their semantic positions and equal sizing. */
.vm-order-received-shell .woocommerce-customer-details .woocommerce-columns--addresses,
.vm-order-received-shell .woocommerce-customer-details .col2-set.addresses{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:stretch!important;
}
.vm-order-received-shell .woocommerce-customer-details .woocommerce-column,
.vm-order-received-shell .woocommerce-customer-details .col-1,
.vm-order-received-shell .woocommerce-customer-details .col-2{
  width:100%!important;
  max-width:none!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
  padding:0!important;
}
.vm-order-received-shell .woocommerce-customer-details .woocommerce-column--billing-address{
  grid-column:1!important;
  grid-row:1!important;
}
.vm-order-received-shell .woocommerce-customer-details .woocommerce-column--shipping-address{
  grid-column:2!important;
  grid-row:1!important;
}
.vm-order-received-shell .woocommerce-customer-details address{
  min-height:185px!important;
  height:100%!important;
}

/* Product availability must align with every product card, not only /shop/. */
ul.products li.product .vm-loop-availability{
  width:max-content!important;
  max-width:calc(100% - 32px)!important;
  margin:3px 16px 10px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:#eef8f1!important;
  color:#277946!important;
  font-size:9px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
}
ul.products li.product .vm-loop-availability i{
  flex:0 0 7px!important;
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:#2fb35d!important;
  box-shadow:none!important;
}
ul.products li.product .vm-loop-availability.is-out{
  background:#fbefec!important;
  color:#9e4a36!important;
}
ul.products li.product .vm-loop-availability.is-out i{
  background:#cf6047!important;
}

@media(max-width:1100px){
  .vm-order-received-shell ul.wc-bacs-bank-details{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:960px){
  .vm-order-received-shell .woocommerce-order-overview{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  .vm-order-received-shell ul.wc-bacs-bank-details{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .vm-order-received-shell .woocommerce-customer-details .woocommerce-columns--addresses,
  .vm-order-received-shell .woocommerce-customer-details .col2-set.addresses{
    grid-template-columns:1fr!important;
  }
  .vm-order-received-shell .woocommerce-customer-details .woocommerce-column--billing-address,
  .vm-order-received-shell .woocommerce-customer-details .woocommerce-column--shipping-address{
    grid-column:1!important;
    grid-row:auto!important;
  }
  .vm-order-received-shell .woocommerce-customer-details address{
    min-height:0!important;
  }
}
@media(max-width:460px){
  .vm-order-received-shell .woocommerce-order-overview,
  .vm-order-received-shell ul.wc-bacs-bank-details{
    grid-template-columns:1fr!important;
  }
  ul.products li.product .vm-loop-availability{
    max-width:calc(100% - 22px)!important;
    margin-inline:11px!important;
  }
}


/* ==========================================================
   VinylMail Nova 2.3.10 — ORDER ADDRESS CONTAINMENT FIX
   Prevents address cards from overflowing the customer-details wrapper.
   ========================================================== */
.vm-order-received-shell .woocommerce-customer-details{
  height:auto!important;
  overflow:visible!important;
  padding:24px!important;
}
.vm-order-received-shell .woocommerce-customer-details .woocommerce-columns--addresses,
.vm-order-received-shell .woocommerce-customer-details .col2-set.addresses{
  height:auto!important;
  min-height:0!important;
  align-items:stretch!important;
}
.vm-order-received-shell .woocommerce-customer-details .woocommerce-column,
.vm-order-received-shell .woocommerce-customer-details .col-1,
.vm-order-received-shell .woocommerce-customer-details .col-2{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
}
.vm-order-received-shell .woocommerce-customer-details .woocommerce-column__title{
  flex:0 0 auto!important;
  margin:0 0 10px!important;
}
.vm-order-received-shell .woocommerce-customer-details address{
  flex:1 1 auto!important;
  height:auto!important;
  min-height:160px!important;
  margin:0!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:700px){
  .vm-order-received-shell .woocommerce-customer-details{padding:18px!important}
  .vm-order-received-shell .woocommerce-customer-details address{min-height:0!important}
}

/* ==========================================================
   VinylMail Nova 2.3.11 — PREMIUM HOME CARDS + LEGAL HUB
   Compact cards, editorial look, no generated raster artwork.
   ========================================================== */
.vm-home-premium-section{position:relative;overflow:hidden;padding:58px 0 62px;background:#f7f4ee}
.vm-home-premium-section--values{border-top:1px solid #ece6dc;background:linear-gradient(180deg,#f7f4ee 0%,#f2eee6 100%)}
.vm-home-premium-section::after{content:"";position:absolute;right:-130px;top:-180px;width:420px;height:420px;border:1px solid rgba(255,91,33,.12);border-radius:50%;box-shadow:0 0 0 36px rgba(255,91,33,.035),0 0 0 72px rgba(255,91,33,.02);pointer-events:none}
.vm-home-premium-head{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}
.vm-home-premium-head>div{max-width:820px}
.vm-home-premium-kicker{display:flex;align-items:center;gap:12px;margin-bottom:8px;color:#73706b;font-size:9px;font-weight:950;letter-spacing:.25em}
.vm-home-premium-kicker::before{content:"";width:28px;height:2px;background:var(--vm-orange)}
.vm-home-premium-head h2{margin:0;font-size:clamp(34px,3.2vw,52px);line-height:.94;letter-spacing:-.055em;text-transform:uppercase}
.vm-home-premium-head h2 em{color:var(--vm-orange);font-style:normal}
.vm-home-premium-head p{max-width:710px;margin:10px 0 0;color:#6e6b67;font-size:14px;line-height:1.5}
.vm-home-premium-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.vm-home-premium-card{position:relative;isolation:isolate;display:block;min-height:156px;overflow:hidden;padding:19px 20px 17px;border:1px solid rgba(255,255,255,.075);border-radius:15px;background:linear-gradient(145deg,#17191a 0%,#111314 78%,#0c0d0e 100%);box-shadow:0 16px 34px rgba(18,19,20,.11);color:#fff;text-decoration:none;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.vm-home-premium-card::before{content:"";position:absolute;z-index:-2;right:-45px;bottom:-70px;width:190px;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.13) 0 1px,transparent 2px 16px);opacity:.42;transition:transform .35s ease,opacity .35s ease}
.vm-home-premium-card::after{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 92% 110%,rgba(255,91,33,.17),transparent 35%),linear-gradient(115deg,transparent 48%,rgba(255,255,255,.02) 100%);pointer-events:none}
.vm-home-premium-card:hover{transform:translateY(-4px);border-color:rgba(255,91,33,.45);box-shadow:0 24px 54px rgba(18,19,20,.18),0 0 0 1px rgba(255,91,33,.05)}
.vm-home-premium-card:hover::before{transform:scale(1.08) rotate(7deg);opacity:.65}
.vm-home-premium-card__icon{position:absolute;right:17px;top:15px;display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(255,91,33,.55);border-radius:50%;color:var(--vm-orange);font-size:14px;font-weight:900;box-shadow:0 0 0 5px rgba(255,91,33,.04)}
.vm-home-premium-card__eyebrow{display:block;max-width:72%;margin:1px 0 8px;color:#a8a6a2;font-size:8px;font-weight:950;letter-spacing:.23em}
.vm-home-premium-card h3{max-width:80%;margin:0 0 5px;color:#fff;font-size:20px;line-height:1.05;letter-spacing:-.035em}
.vm-home-premium-card p{max-width:80%;margin:0;color:rgba(255,255,255,.62);font-size:11px;line-height:1.38}
.vm-home-premium-card__cta{position:absolute;left:20px;bottom:14px;display:inline-flex;align-items:center;gap:7px;color:var(--vm-orange);font-size:10px;font-weight:900}
.vm-home-premium-card__cta b{display:inline-grid;width:21px;height:21px;place-items:center;border:1px solid rgba(255,91,33,.45);border-radius:50%;font-size:11px;transition:transform .2s ease,background .2s ease,color .2s ease}
.vm-home-premium-card:hover .vm-home-premium-card__cta b{transform:translateX(3px);background:var(--vm-orange);color:#fff}
.vm-home-premium-card--singles::before{right:-28px;bottom:-62px;width:168px;background:radial-gradient(circle,var(--vm-orange) 0 8%,#111 9% 22%,#343638 23% 24%,#0c0d0e 25% 43%,#303234 44% 45%,#0c0d0e 46% 100%);opacity:.85}
.vm-home-premium-card--new::after{background:linear-gradient(135deg,transparent 0 62%,rgba(255,91,33,.13) 62% 64%,transparent 64%),radial-gradient(circle at 90% 110%,rgba(255,91,33,.17),transparent 35%)}
.vm-home-premium-card--trust::after,.vm-home-premium-card--experience::after{background:radial-gradient(circle at 95% 110%,rgba(255,91,33,.14),transparent 37%),linear-gradient(125deg,transparent 0 68%,rgba(255,255,255,.025) 68%)}

/* Legal pages */
.vm-legal-page{background:#f7f4ee;color:#161819}
.vm-legal-hero{position:relative;overflow:hidden;background:linear-gradient(112deg,#0e1011 0%,#17191a 64%,#29150d 100%);color:#fff}
.vm-legal-hero::before{content:"";position:absolute;right:-105px;top:-210px;width:520px;height:520px;border-radius:50%;background:repeating-radial-gradient(circle,rgba(255,255,255,.09) 0 1px,transparent 2px 19px);opacity:.42}
.vm-legal-hero::after{content:"";position:absolute;right:8%;top:16%;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,var(--vm-orange) 0 11%,#0c0d0e 12% 29%,#333638 30% 31%,#0c0d0e 32% 50%,#2d2f31 51% 52%,#0c0d0e 53% 100%);box-shadow:0 25px 60px rgba(0,0,0,.32);opacity:.88}
.vm-legal-hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:center;min-height:330px;padding-top:52px;padding-bottom:52px}
.vm-legal-kicker{display:block;color:var(--vm-orange);font-size:9px;font-weight:950;letter-spacing:.22em}
.vm-legal-hero h1{max-width:760px;margin:10px 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(54px,6vw,94px);line-height:.84;letter-spacing:-.055em;text-transform:uppercase}
.vm-legal-hero h1 em{color:var(--vm-orange);font-style:normal}
.vm-legal-hero p{max-width:650px;margin:0;color:rgba(255,255,255,.70);font-size:16px}
.vm-legal-record{position:relative;z-index:3;display:grid;width:112px;height:112px;place-items:center;justify-self:end;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(8,9,9,.74);box-shadow:0 20px 55px rgba(0,0,0,.25)}
.vm-legal-record span{color:rgba(255,255,255,.60);font-size:8px;font-weight:950;letter-spacing:.2em}
.vm-legal-admin-warning{max-width:1320px;margin:18px auto 0;padding:11px 15px;border:1px solid #f0c48f;border-radius:10px;background:#fff2df;color:#6c451c;font-size:12px}
.vm-legal-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:42px;padding-top:48px;padding-bottom:78px}
.vm-legal-sidebar{align-self:start;position:sticky;top:140px;padding:18px;border:1px solid #e2ddd5;border-radius:17px;background:#fff;box-shadow:0 18px 45px rgba(22,24,25,.05)}
.vm-legal-sidebar__title{display:block;padding:2px 8px 13px;font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:700}
.vm-legal-sidebar nav{display:grid}
.vm-legal-sidebar nav a{display:grid;grid-template-columns:28px minmax(0,1fr) 16px;gap:10px;align-items:center;padding:12px 10px;border-top:1px solid #eee9e1;color:#555;text-decoration:none;font-size:12px;font-weight:800;transition:.18s ease}
.vm-legal-sidebar nav a:first-child{border-top:0}
.vm-legal-sidebar nav a.is-active{margin:1px -5px;border:0;border-radius:11px;background:#fff0e8;color:#17191a}
.vm-legal-sidebar nav a b{color:var(--vm-orange)}
.vm-legal-navicon{display:grid;width:27px;height:27px;place-items:center;border:1px solid #e2ddd5;border-radius:9px;color:var(--vm-orange)}
.vm-legal-sidebar__note{margin-top:20px;padding:21px 9px 8px;border-top:1px solid #eee9e1;color:#8d8882}
.vm-legal-sidebar__note i{display:block;width:25px;height:2px;margin-bottom:14px;background:var(--vm-orange)}
.vm-legal-sidebar__note span,.vm-legal-sidebar__note small{display:block;font-size:8px;font-style:normal;letter-spacing:.22em}
.vm-legal-content{min-width:0}
.vm-legal-content__head{padding:0 0 26px;border-bottom:1px solid #ded8cf}
.vm-legal-content__head h2{max-width:880px;margin:9px 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,4vw,62px);line-height:.95;letter-spacing:-.045em}
.vm-legal-content__head p{margin:0;color:#807c76;font-size:12px}
.vm-legal-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;margin-top:12px;padding:20px 22px;border:1px solid #e1dcd4;border-radius:15px;background:rgba(255,255,255,.72);box-shadow:0 12px 28px rgba(22,24,25,.035)}
.vm-legal-card__num{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#fff0e8;color:var(--vm-orange);font-size:10px;font-weight:950}
.vm-legal-card h2{margin:1px 0 6px;font-family:Georgia,"Times New Roman",serif;font-size:22px;line-height:1.05;letter-spacing:-.025em}
.vm-legal-card p{margin:0;color:#615e59;font-size:13px;line-height:1.62}
.vm-legal-card p+p{margin-top:9px}
.vm-legal-card a{color:var(--vm-orange);font-weight:800}
.vm-legal-identity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:16px 0 0;border:1px solid #e4dfd6;border-radius:12px;background:#faf8f4}
.vm-legal-identity>div{padding:11px 13px;border-bottom:1px solid #e7e2da}
.vm-legal-identity>div:nth-child(odd){border-right:1px solid #e7e2da}
.vm-legal-identity>div:nth-last-child(-n+2){border-bottom:0}
.vm-legal-identity dt{color:#97918a;font-size:8px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}
.vm-legal-identity dd{margin:3px 0 0;color:#1b1d1e;font-size:12px;font-weight:800}
.vm-legal-contact-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:24px 26px;border-radius:16px;background:#17191a;color:#fff}
.vm-legal-contact-strip strong{display:block;margin:4px 0 2px;font-family:Georgia,"Times New Roman",serif;font-size:25px}
.vm-legal-contact-strip p{margin:0;color:rgba(255,255,255,.58);font-size:12px}
.vm-legal-hub{padding-top:52px;padding-bottom:78px}
.vm-legal-hub__head{max-width:830px;margin-bottom:24px}
.vm-legal-hub__head h2{margin:8px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,4vw,60px);line-height:.95;letter-spacing:-.045em}
.vm-legal-hub__head p{margin:0;color:#6d6964}
.vm-legal-hub__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.vm-legal-hub__grid a{position:relative;display:block;min-height:185px;padding:20px;border:1px solid #e0dad1;border-radius:15px;background:#fff;color:#17191a;text-decoration:none;box-shadow:0 16px 40px rgba(18,20,21,.055);transition:.2s ease}
.vm-legal-hub__grid a:hover{transform:translateY(-4px);border-color:rgba(255,91,33,.45);box-shadow:0 22px 52px rgba(18,20,21,.10)}
.vm-legal-hub__grid a>span{color:var(--vm-orange);font-size:9px;font-weight:950;letter-spacing:.16em}
.vm-legal-hub__grid h3{margin:28px 0 6px;font-family:Georgia,"Times New Roman",serif;font-size:23px}
.vm-legal-hub__grid p{margin:0;color:#76716b;font-size:12px;line-height:1.45}
.vm-legal-hub__grid b{position:absolute;left:20px;bottom:17px;color:var(--vm-orange);font-size:11px}
.vm-legal-business{margin-top:30px;padding:26px;border:1px solid #e1dcd4;border-radius:16px;background:rgba(255,255,255,.68)}
.vm-legal-business h2{margin:7px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:32px}

@media(max-width:1050px){
  .vm-home-premium-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vm-legal-layout{grid-template-columns:1fr}
  .vm-legal-sidebar{position:static;display:none}
  .vm-legal-hub__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .vm-home-premium-section{padding:44px 0 48px}
  .vm-home-premium-head h2{font-size:38px}
  .vm-home-premium-grid{gap:10px}
  .vm-home-premium-card{min-height:150px;padding:16px}
  .vm-home-premium-card h3{font-size:18px}
  .vm-home-premium-card p{max-width:88%;font-size:10px}
  .vm-home-premium-card__cta{left:16px;bottom:12px}
  .vm-legal-hero__inner{grid-template-columns:1fr;min-height:280px;padding-top:42px;padding-bottom:42px}
  .vm-legal-hero h1{font-size:50px}
  .vm-legal-record{display:none}
  .vm-legal-hero::after{right:-85px;top:12%;opacity:.42}
  .vm-legal-layout,.vm-legal-hub{padding-top:30px;padding-bottom:54px}
  .vm-legal-card{grid-template-columns:38px minmax(0,1fr);gap:12px;padding:17px}
  .vm-legal-card__num{width:34px;height:34px}
  .vm-legal-identity{grid-template-columns:1fr}
  .vm-legal-identity>div,.vm-legal-identity>div:nth-child(odd){border-right:0;border-bottom:1px solid #e7e2da}
  .vm-legal-identity>div:last-child{border-bottom:0}
  .vm-legal-contact-strip{align-items:flex-start;flex-direction:column}
  .vm-legal-hub__grid{grid-template-columns:1fr}
}
@media(max-width:500px){
  .vm-home-premium-grid{grid-template-columns:1fr}
  .vm-home-premium-card{min-height:145px}
}

/* =========================================================
   VinylMail Nova 2.3.12 — client feedback
   ========================================================= */
.vm-hero--cinematic .vm-trust-row--hero{grid-template-columns:repeat(3,minmax(0,max-content));}

.vm-printcat-hero{background:linear-gradient(120deg,#111314,#1d1512);color:#fff;padding:56px 0 44px}
.vm-printcat-hero__inner{display:flex;justify-content:space-between;gap:40px;align-items:end}
.vm-printcat-hero h1{margin:8px 0 12px;font-size:clamp(52px,7vw,96px);line-height:.85;letter-spacing:-.06em;text-transform:uppercase}
.vm-printcat-hero h1 em{color:var(--vm-orange);font-style:normal}
.vm-printcat-hero p{max-width:720px;margin:0;color:rgba(255,255,255,.72)}
.vm-printcat-actions{display:flex;gap:10px;flex-wrap:wrap}
.vm-printcat-stage{padding:30px 0 80px;background:var(--vm-cream)}
.vm-printcat-search{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;padding:18px;border:1px solid var(--vm-line);border-radius:14px;background:#fff}
.vm-printcat-search label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.vm-printcat-search>div{display:flex;gap:8px;flex:1;max-width:650px}
.vm-printcat-search input{width:100%;min-height:44px;padding:0 13px;border:1px solid #d8d3cb;border-radius:10px;background:#fbfaf7}
.vm-printcat-search button{min-width:96px;border:0;border-radius:10px;background:#17191a;color:#fff;font-weight:900}
.vm-printcat-meta{display:flex;justify-content:space-between;gap:20px;margin:12px 0;color:#64696c;font-size:12px}
.vm-printcat-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--vm-line);font-size:12px}
.vm-printcat-table th,.vm-printcat-table td{padding:10px 11px;border-bottom:1px solid #e5e0d8;text-align:left;vertical-align:top}
.vm-printcat-table th{background:#17191a;color:#fff;font-size:10px;letter-spacing:.04em;text-transform:uppercase}
.vm-printcat-table tr:nth-child(even) td{background:#fbfaf7}
.vm-printcat-pagination ul{display:flex;gap:6px;list-style:none;padding:0;margin:22px 0 0;flex-wrap:wrap}
.vm-printcat-pagination a,.vm-printcat-pagination span{display:grid;min-width:38px;height:38px;place-items:center;padding:0 10px;border:1px solid var(--vm-line);border-radius:9px;background:#fff;color:#17191a;text-decoration:none;font-weight:800}
.vm-printcat-pagination .current{background:var(--vm-orange);border-color:var(--vm-orange);color:#fff}
@media(max-width:760px){.vm-printcat-hero__inner{align-items:flex-start;flex-direction:column}.vm-printcat-search{align-items:stretch;flex-direction:column}.vm-printcat-table{font-size:10px}.vm-printcat-table th,.vm-printcat-table td{padding:8px 6px}}
@media print{
  body{background:#fff!important;color:#000!important;font-family:Arial,sans-serif!important}
  .vm-site-header,.vm-header,.vm-topbar,.vm-nav,.vm-footer,.vm-newsletter,.vm-printcat-hero,.vm-printcat-search,.vm-printcat-pagination{display:none!important}
  .vm-printcat-stage{padding:0!important;background:#fff!important}
  .vm-container{max-width:none!important;width:100%!important;padding:0!important}
  .vm-printcat-meta{margin:0 0 8px!important;color:#000!important;font-size:9pt!important}
  .vm-printcat-table{border:1px solid #777!important;font-size:8pt!important}
  .vm-printcat-table th{background:#eee!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .vm-printcat-table th,.vm-printcat-table td{padding:4px 5px!important;border-color:#bbb!important}
  @page{size:A4 landscape;margin:10mm}
}
@media(max-width:900px){.vm-hero--cinematic .vm-trust-row--hero{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.vm-hero--cinematic .vm-trust-row--hero{grid-template-columns:1fr;}}


/* VinylMail Nova 2.3.13 — client feedback / no brand palette changes */
.vm-header-actions{display:flex;align-items:center;gap:12px;justify-content:flex-end;min-width:0}
.vm-language-switcher{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid rgba(255,255,255,.19);border-radius:12px;white-space:nowrap}
.vm-language-switcher__link{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;min-width:51px;padding:4px 8px;border-radius:9px;color:rgba(255,255,255,.82);font-size:12px;font-weight:850;text-decoration:none}
.vm-language-switcher__link:hover,.vm-language-switcher__link.is-current{background:rgba(255,255,255,.14);color:#fff}
.vm-product-search .vm-search-label{display:block;margin:0 0 7px;color:rgba(255,255,255,.70);font-size:10px;font-weight:900;letter-spacing:.14em}
.vm-product-search form input[type=search]{height:54px;box-shadow:0 0 0 2px rgba(255,91,33,.27),0 8px 24px rgba(0,0,0,.16)}
.vm-product-search form button{top:6px;right:6px;height:42px;width:44px}
.vm-nav-newsletter{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid rgba(255,255,255,.20);border-radius:10px;color:#fff;text-decoration:none;font-weight:850;font-size:12px;white-space:nowrap}
.vm-nav-newsletter:hover{border-color:var(--vm-orange);color:#fff}
.vm-newsletter--2313{scroll-margin-top:180px;padding-block:clamp(38px,5vw,62px)}
.vm-newsletter--2313 .vm-newsletter__form{min-width:0}
.vm-video-shell{max-width:1040px;margin-inline:auto}
.vm-about-video{aspect-ratio:auto!important;height:auto!important;max-height:none!important;object-fit:contain!important}
.vm-radio24-feature{background:#161819;color:#fff;padding:42px 0;border-top:1px solid rgba(255,255,255,.08)}
.vm-radio24-feature__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px}
.vm-radio24-feature__kicker{color:var(--vm-orange);font-size:11px;font-weight:900;letter-spacing:.14em}
.vm-radio24-feature h2{margin:8px 0;font-size:clamp(25px,3vw,39px);line-height:1.1;letter-spacing:-.035em}
.vm-radio24-feature p{margin:0;max-width:720px;color:rgba(255,255,255,.7);font-size:14px}
.vm-radio24-feature__link{display:inline-flex;align-items:center;gap:12px;justify-content:center;min-height:48px;padding:8px 20px;background:var(--vm-orange);border-radius:10px;color:#fff;font-weight:850;text-decoration:none;white-space:nowrap}
.vm-radio24-feature__link:hover{color:#fff;filter:brightness(1.1)}
@media(max-width:1100px){.vm-header-main{gap:14px}.vm-header-actions{gap:8px}.vm-cart-link{padding-inline:12px}}
@media(max-width:820px){.vm-header-main{grid-template-columns:minmax(0,1fr) auto;row-gap:6px}.vm-header-actions{grid-column:2;grid-row:1}.vm-product-search{grid-column:1/-1;grid-row:2;padding-bottom:13px}.vm-radio24-feature__inner{grid-template-columns:1fr}.vm-radio24-feature__link{width:fit-content}.vm-nav-newsletter{margin:8px 0}}
@media(max-width:560px){.vm-header-actions{gap:6px}.vm-language-switcher{gap:0;padding:2px}.vm-language-switcher__link{min-width:43px;gap:3px;padding:3px 5px;font-size:11px}.vm-header-main .vm-cart-link{width:42px;padding:0}.vm-radio24-feature{padding-block:32px}.vm-radio24-feature__link{width:100%}.vm-newsletter--2313 h2{font-size:clamp(28px,7vw,42px)}}
@media(max-width:420px){.vm-header-main{column-gap:7px}.vm-brand__mark{display:none}.vm-brand__name{font-size:17px}.vm-header-actions{gap:3px}.vm-header-actions .vm-language-switcher{border:0;padding:0}.vm-header-actions .vm-language-switcher__link{min-width:35px;padding:2px 3px;font-size:10px}.vm-mobile-toggle{min-width:38px;width:38px}.vm-header-main .vm-cart-link{width:38px}}
