/* Source: vapesence-proposal-v2.current.css */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/inter-latin-variable.woff2") format("woff2");
}

/* La pantalla de precarga del tema retrasa el contenido visible sin aportar navegación. */
#page-preloader {
  display: none !important;
}

:root {
  --vs-navy: #001738;
  --vs-navy-deep: #00102a;
  --vs-blue: #2867e9;
  --vs-blue-dark: #164fca;
  --vs-blue-soft: #eef4ff;
  --vs-text: #111c32;
  --vs-muted: #66758d;
  --vs-line: #dfe6f0;
  --vs-surface: #f5f7fa;
  --vs-offer: #e63b58;
  --vs-radius: 12px;
  --vs-shadow: 0 16px 42px rgba(0, 23, 56, .10);
}

/* V16: ritmo editorial, categoría móvil compacta y controles flotantes discretos. */
#index .vs-posthero .elementor-element-gr2p0jn h1 {
  max-width: 900px;
}

#index .vs-home-products-heading,
#index .vs-home-products-heading .elementor-container,
#index .vs-home-products-heading .elementor-column-wrap,
#index .vs-home-products-heading .elementor-widget-wrap,
#index .vs-home-heading .elementor-widget-container {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#index .vs-home-products-heading {
  padding: 0 !important;
}

#index .vs-home-heading__link {
  white-space: nowrap;
}

@media (min-width: 768px) {
  #index .vs-posthero .usp-band,
  #index .vs-posthero .usp-row,
  #index .vs-posthero .usp-item {
    min-height: 56px !important;
  }
}

@media (max-width: 767.98px) {
  #index .vs-posthero .usp-band,
  #index .vs-posthero .usp-row,
  #index .vs-posthero .usp-item {
    min-height: 52px !important;
  }

  #index .vs-posthero .usp-item {
    padding: 6px 10px !important;
  }

  #index .vs-posthero .usp-title {
    font-size: 12.5px !important;
  }

  #index .vs-home-products-heading,
  #index .vs-home-products-heading--first {
    margin: 34px auto 12px !important;
  }

  #index .vs-home-products-heading--first {
    margin-top: 24px !important;
  }

  #index .vs-home-heading .elementor-widget-container {
    min-height: 0 !important;
  }

  

  

  

  

  

  

  

  

  

  

  

  

  .whatsapp.whatsapp_1.whatsapp-badge {
    width: 44px !important;
    height: 52px !important;
    padding: 4px 0 !important;
  }

  .whatsapp.whatsapp_1.whatsapp-badge > span {
    width: 44px !important;
    height: 44px !important;
    padding: 6px !important;
  }

  .whatsapp.whatsapp_1 .whatsapp-icon {
    width: 32px !important;
    height: 32px !important;
  }

  #lgcookieslaw_fixed_button {
    width: 36px !important;
    height: 36px !important;
    right: 10px !important;
    bottom: 8px !important;
  }

  #lgcookieslaw_fixed_button svg {
    width: 24px !important;
    height: 24px !important;
  }
}

/* V16.1 final: el carrusel de marcas comparte el mismo contenedor que su título. */
#index .elementor-element-f3huvob {
  width: min(1320px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
  padding: 8px 0 18px !important;
}

#index .elementor-element-f3huvob > .elementor-container,
#index .elementor-element-f3huvob .elementor-widget-container,
#index .elementor-element-f3huvob .elementor-brands-carousel {
  width: 100% !important;
  max-width: none !important;
}

#index .elementor-element-f3huvob .elementor-brands-carousel {
  height: 122px !important;
}

#index .elementor-element-f3huvob .swiper-pagination {
  display: none !important;
}

#index .elementor-element-f3huvob .swiper-slide img {
  max-width: 96px !important;
  height: 76px !important;
  opacity: .8;
}

@media (max-width: 767.98px) {
  #index .elementor-element-f3huvob {
    width: calc(100% - 32px) !important;
    padding: 4px 0 14px !important;
  }

  #index .elementor-element-f3huvob .elementor-brands-carousel {
    height: 108px !important;
  }

  #index .elementor-element-f3huvob .swiper-slide img {
    max-width: 76px !important;
    height: 60px !important;
  }
}

/* V16.1: el carrusel de marcas comparte el mismo contenedor que su título. */
#index .elementor-element-f3huvob {
  width: min(1320px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
  padding: 8px 0 18px !important;
}

#index .elementor-element-f3huvob > .elementor-container,
#index .elementor-element-f3huvob .elementor-widget-container,
#index .elementor-element-f3huvob .elementor-brands-carousel {
  width: 100% !important;
  max-width: none !important;
}

#index .elementor-element-f3huvob .elementor-brands-carousel {
  height: 122px !important;
}

#index .elementor-element-f3huvob .swiper-pagination {
  display: none !important;
}

#index .elementor-element-f3huvob .swiper-slide img {
  max-width: 96px !important;
  height: 76px !important;
  opacity: .8;
}

@media (max-width: 767.98px) {
  #index .elementor-element-f3huvob {
    width: calc(100% - 32px) !important;
    padding: 4px 0 14px !important;
  }

  #index .elementor-element-f3huvob .elementor-brands-carousel {
    height: 108px !important;
  }

  #index .elementor-element-f3huvob .swiper-slide img {
    max-width: 76px !important;
    height: 60px !important;
  }
}

body {
  color: var(--vs-text);
  font-family: Inter, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

a,
button {
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 3px solid rgba(40, 103, 233, .28) !important;
  outline-offset: 2px;
}

/* Header: same structure and colours, with cleaner spacing and states. */
#header,
#desktop-header,
#desktop-header-container,
.sticky-desktop-wrapper #desktop-header.stuck-header {
  background: var(--vs-navy-deep) !important;
  background-image: none !important;
}

#desktop-header-container {
  padding-top: 12px;
  padding-bottom: 12px;
}

#desktop-header .logo {
  width: auto;
  max-height: 48px;
}

#desktop-header .form-search-control {
  min-height: 42px;
  padding-right: 48px;
  padding-left: 20px;
  border: 1px solid rgba(255, 255, 255, .34) !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: none !important;
}

#desktop-header .form-search-control:focus {
  border-color: #8eb5ff !important;
  box-shadow: 0 0 0 4px rgba(40, 103, 233, .2) !important;
}

#desktop-header .header-top a,
#desktop-header .header-top span,
#desktop-header .header-top i {
  color: #fff;
}

#iqitmegamenu-horizontal,
.sticky-desktop-wrapper #iqitmegamenu-horizontal {
  position: relative;
  z-index: 90;
  min-height: 36px;
  border: 0 !important;
  background: var(--vs-blue) !important;
  background-image: none !important;
  box-shadow: 0 2px 0 rgba(0, 0, 0, .05);
}

#cbp-hrmenu.cbp-horizontal > ul {
  display: flex;
  justify-content: center;
}

#cbp-hrmenu.cbp-horizontal > ul > li > a {
  position: relative;
  padding: 10px 22px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .015em;
}

#cbp-hrmenu.cbp-horizontal > ul > li > a::after {
  position: absolute;
  right: 22px;
  bottom: 5px;
  left: 22px;
  height: 2px;
  background: #fff;
  content: "";
  opacity: 0;
  transform: scaleX(.35);
  transition: opacity .18s ease, transform .18s ease;
}

#cbp-hrmenu.cbp-horizontal > ul > li:hover > a,
#cbp-hrmenu.cbp-horizontal > ul > li.cbp-hropen > a {
  background: rgba(0, 23, 56, .18) !important;
}

#cbp-hrmenu.cbp-horizontal > ul > li:hover > a::after,
#cbp-hrmenu.cbp-horizontal > ul > li.cbp-hropen > a::after {
  opacity: 1;
  transform: scaleX(1);
}

#cbp-hrmenu.cbp-horizontal .cbp-submenu-aindicator {
  margin-left: 6px;
  font-size: 11px;
  opacity: .78;
}

/* Megamenu: remove the old empty space and make every group scannable. */
#cbp-hrmenu.cbp-horizontal .cbp-hrsub {
  top: 100%;
  padding: 0 !important;
  border: 1px solid var(--vs-line) !important;
  border-top: 0 !important;
  background: #fff !important;
  box-shadow: var(--vs-shadow) !important;
}

#cbp-hrmenu.cbp-horizontal .cbp-hrsub-inner {
  padding: 26px 0 24px;
  background: #fff;
}

#cbp-hrmenu .iqitmegamenu-submenu-container {
  max-width: 1320px;
}

#cbp-hrmenu .menu_row {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 14px 30px;
  margin: 0 !important;
}

#cbp-hrmenu .menu_row + .menu_row {
  margin-top: 16px !important;
}

#cbp-hrmenu .cbp-menu-column {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  flex: none !important;
}

#cbp-hrmenu .cbp-empty-column,
#cbp-hrmenu .menu_row.vs-menu-row-empty {
  display: none !important;
}

#cbp-hrmenu .cbp-menu-column-inner {
  height: 100%;
  padding: 2px 8px 12px;
}

#cbp-hrmenu .cbp-column-title {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  padding: 0 10px 10px !important;
  border-bottom: 1px solid var(--vs-line);
  color: var(--vs-navy) !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  letter-spacing: .01em;
}

#cbp-hrmenu .cbp-column-title::after {
  color: var(--vs-blue);
  content: "→";
  font-size: 15px;
}

#cbp-hrmenu .cbp-links li {
  margin: 1px 0 !important;
}

#cbp-hrmenu .cbp-links a {
  display: block;
  padding: 7px 10px !important;
  border-radius: 7px;
  color: #48566d !important;
  font-size: 13px !important;
  line-height: 1.35;
}

#cbp-hrmenu .cbp-links a:hover {
  background: var(--vs-blue-soft) !important;
  color: var(--vs-blue-dark) !important;
  transform: translateX(2px);
}

.vs-mega-all-link {
  display: inline-flex;
  margin: 18px 8px 0;
  padding: 9px 13px;
  border: 1px solid #b9ccf7;
  border-radius: 8px;
  color: var(--vs-blue-dark) !important;
  font-size: 12px;
  font-weight: 800;
}

/* Original campaign stays intact. The image is never cropped on desktop. */
.vapesence-campaign-shell,
.vapesence-campaign-banner,
.vapesence-campaign-banner picture {
  display: block;
  width: 100%;
}

.vapesence-campaign-banner img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: center;
}

/* Home category paths, moved below the benefits strip by the small enhancement script. */
.vs-home-paths {
  display: none;
  width: min(1460px, calc(100% - 40px));
  margin: 34px auto 42px;
  padding: 0;
}

.vs-home-paths.is-ready {
  display: block;
}

.vs-home-paths__head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 14px;
}

.vs-home-paths__head span {
  color: var(--vs-blue);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.vs-home-paths__head strong {
  color: var(--vs-navy);
  font-size: 23px;
  letter-spacing: -.02em;
}

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

.vs-home-paths__grid > a {
  position: relative;
  min-height: 142px;
  padding: 21px 46px 20px 20px;
  overflow: hidden;
  border: 1px solid var(--vs-line);
  border-radius: var(--vs-radius);
  background: #fff;
  color: var(--vs-text) !important;
}

.vs-home-paths__grid > a:hover {
  border-color: #b7c9ef;
  box-shadow: 0 12px 30px rgba(0, 23, 56, .09);
  transform: translateY(-2px);
}

.vs-home-paths__kicker {
  display: block;
  margin-bottom: 11px;
  color: var(--vs-blue);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.vs-home-paths__grid strong {
  display: block;
  color: var(--vs-navy);
  font-size: 17px;
}

.vs-home-paths__grid small {
  display: block;
  margin-top: 7px;
  color: var(--vs-muted);
  font-size: 12px;
  line-height: 1.45;
}

.vs-home-paths__grid b {
  position: absolute;
  right: 18px;
  bottom: 18px;
  color: var(--vs-blue);
  font-size: 20px;
}

/* Home section rhythm: retain content, remove the dated full navy bars. */
#index .elementor-element-ab8vujg,
#index .elementor-element-0r1f82s,
#index .elementor-element-vumxr16,
#index .elementor-element-8hadkeo,
#index .elementor-element-3578gic,
#index .elementor-element-0qg5qmu,
#index .elementor-element-uwu9ykr {
  width: min(1460px, calc(100% - 40px)) !important;
  margin: 46px auto 8px !important;
  background: #fff !important;
  background-image: none !important;
}

#index .elementor-element-ab8vujg .elementor-heading-title,
#index .elementor-element-0r1f82s .elementor-heading-title,
#index .elementor-element-vumxr16 .elementor-heading-title,
#index .elementor-element-8hadkeo .elementor-heading-title,
#index .elementor-element-3578gic .elementor-heading-title,
#index .elementor-element-0qg5qmu .elementor-heading-title,
#index .elementor-element-uwu9ykr .elementor-heading-title {
  padding: 4px 0 4px 16px !important;
  border-left: 4px solid var(--vs-blue);
  background: transparent !important;
  color: var(--vs-navy) !important;
  font-size: clamp(22px, 2vw, 30px) !important;
  font-weight: 850 !important;
  letter-spacing: -.025em;
  text-align: left !important;
}

#index .elementor-element-ab8vujg .elementor-widget-container,
#index .elementor-element-0r1f82s .elementor-widget-container,
#index .elementor-element-vumxr16 .elementor-widget-container,
#index .elementor-element-8hadkeo .elementor-widget-container,
#index .elementor-element-3578gic .elementor-widget-container,
#index .elementor-element-0qg5qmu .elementor-widget-container,
#index .elementor-element-uwu9ykr .elementor-widget-container {
  background: #fff !important;
  background-image: none !important;
}

#index .elementor-element-kxx3mcy,
#index .elementor-element-v1bx90m,
#index .elementor-element-jwkybl4,
#index .elementor-element-joo8uco,
#index .elementor-element-7rcw6v9,
#index .elementor-element-ixhb697,
#index .elementor-element-f3huvob {
  width: min(1460px, calc(100% - 40px)) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

/* Product cards and images. Source images with a white background now blend correctly. */
.products-grid .product-miniature,
.product-miniature-layout-1 {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--vs-line) !important;
  border-radius: var(--vs-radius);
  background: #fff !important;
  box-shadow: none !important;
}

.products-grid .product-miniature:hover,
.product-miniature-layout-1:hover {
  border-color: #bdcae0 !important;
  box-shadow: 0 14px 30px rgba(0, 23, 56, .09) !important;
  transform: translateY(-3px);
}

.product-miniature .thumbnail-container,
.product-miniature .product-thumbnail,
.product-miniature .product-thumbnail picture,
.product-miniature .product-thumbnail img,
.product-miniature .product-miniature-image,
.product-miniature .product-miniature-image img {
  background: #fff !important;
  mix-blend-mode: normal !important;
}

.product-miniature .thumbnail-container {
  margin: 0 !important;
  border-bottom: 1px solid #edf1f6;
}

.product-miniature .product-description {
  padding: 15px 15px 17px !important;
}

.product-miniature .product-brand {
  margin-bottom: 7px !important;
}

.product-miniature .product-brand a {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #70809a !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.product-miniature .product-title,
.product-miniature .product-title a {
  min-height: 42px;
  color: var(--vs-text) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.42;
}

.product-miniature .product-price,
.current-price .product-price {
  color: var(--vs-text) !important;
  font-size: 19px !important;
  font-weight: 850 !important;
}

.product-miniature .regular-price {
  color: #8995a8 !important;
}

.product-miniature .discount-percentage,
.product-miniature .discount-amount,
.product-miniature .product-flag.discount,
.product-miniature .product-flags .on-sale {
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--vs-offer) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 850 !important;
}

.product-miniature .add-to-cart,
.product-miniature button.add-to-cart,
.btn-primary {
  min-height: 42px;
  border: 1px solid var(--vs-blue) !important;
  border-radius: 8px !important;
  background: var(--vs-blue) !important;
  background-image: none !important;
  color: #fff !important;
  font-weight: 750 !important;
  box-shadow: none !important;
}

.product-miniature .add-to-cart:hover,
.product-miniature button.add-to-cart:hover,
.btn-primary:hover {
  border-color: var(--vs-blue-dark) !important;
  background: var(--vs-blue-dark) !important;
}

/* Category landing and product listing. */




.vs-category-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: end;
  margin-bottom: 16px;
  padding: 30px 34px;
  border: 1px solid #cfdbef;
  border-radius: var(--vs-radius);
  background: linear-gradient(120deg, #fff 0%, #f3f7ff 100%);
}

.vs-category-hero__eyebrow {
  display: block;
  margin-bottom: 8px;
  color: var(--vs-blue);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.vs-category-hero .page-title {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--vs-navy) !important;
  font-size: clamp(30px, 3vw, 46px) !important;
  font-weight: 850 !important;
  letter-spacing: -.035em;
  text-align: left !important;
}

.vs-category-hero p {
  max-width: 780px;
  margin: 12px 0 0;
  color: #506079;
  font-size: 14px;
  line-height: 1.65;
}

.vs-category-hero__count {
  min-width: 132px;
  padding-left: 22px;
  border-left: 1px solid #cfdbef;
  text-align: right;
}

.vs-category-hero__count strong,
.vs-category-hero__count span {
  display: block;
}

.vs-category-hero__count strong {
  color: var(--vs-navy);
  font-size: 27px;
  font-weight: 850;
}

.vs-category-hero__count span {
  max-width: 130px;
  color: var(--vs-muted);
  font-size: 11px;
  line-height: 1.35;
}

.vs-category-shortcuts {
  margin: 0 0 20px;
  padding: 19px;
  border: 1px solid var(--vs-line);
  border-radius: var(--vs-radius);
  background: #fff;
}

.vs-category-shortcuts__heading {
  display: flex;
  gap: 9px;
  align-items: baseline;
  margin-bottom: 12px;
}

.vs-category-shortcuts__heading span {
  color: var(--vs-blue);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.vs-category-shortcuts__heading strong {
  color: var(--vs-navy);
  font-size: 16px;
}

.vs-category-shortcuts__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.vs-category-shortcut {
  display: flex;
  min-height: 78px;
  padding: 14px;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid #e2e8f1;
  border-radius: 9px;
  background: #fbfcfe;
  color: var(--vs-text) !important;
}

.vs-category-shortcut:hover {
  border-color: #b8cbef;
  background: var(--vs-blue-soft);
  transform: translateY(-1px);
}

.vs-category-shortcut strong {
  font-size: 13px;
  line-height: 1.3;
}

.vs-category-shortcut span {
  color: var(--vs-blue-dark);
  font-size: 11px;
  font-weight: 750;
}















.vs-category-details > summary {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  color: var(--vs-navy);
  cursor: pointer;
  font-size: 15px;
  font-weight: 800;
  list-style: none;
}

.vs-category-details > summary::-webkit-details-marker {
  display: none;
}

.vs-category-details > summary::after {
  color: var(--vs-blue);
  content: "+";
  font-size: 23px;
}

.vs-category-details[open] > summary::after {
  content: "−";
}

.vs-category-details .rte-content {
  padding-top: 18px;
  border-top: 1px solid var(--vs-line);
  color: #4d5b70;
  line-height: 1.7;
}

/* Product page: keep the proposal the user liked, with white image surfaces. */
#product #wrapper,
#cart #wrapper,
#checkout #wrapper {
  background: var(--vs-surface) !important;
}



















/* Rewritten home SEO content: useful and compact by default. */
#index .elementor-element-1syuqct,
#index .elementor-element-d1avxvc {
  width: min(1180px, calc(100% - 40px)) !important;
  margin: 50px auto 0 !important;
}

.vs-seo-intro,
.vs-seo-details {
  color: #435169;
  line-height: 1.75;
}

.vs-seo-intro {
  padding: clamp(26px, 4vw, 44px);
  border: 1px solid var(--vs-line);
  border-radius: var(--vs-radius);
  background: #fff;
}

.vs-seo-intro h2,
.vs-seo-details h2 {
  color: var(--vs-navy);
  font-size: clamp(24px, 2.5vw, 34px);
  font-weight: 850;
  letter-spacing: -.025em;
}

.vs-seo-details {
  overflow: hidden;
  border: 1px solid var(--vs-line);
  border-radius: var(--vs-radius);
  background: #fff;
}

.vs-seo-details > summary {
  display: flex;
  min-height: 62px;
  padding: 0 24px;
  align-items: center;
  justify-content: space-between;
  color: var(--vs-navy);
  cursor: pointer;
  font-weight: 800;
  list-style: none;
}

.vs-seo-details > summary::-webkit-details-marker {
  display: none;
}

.vs-seo-details > summary::after {
  color: var(--vs-blue);
  content: "+";
  font-size: 24px;
}

.vs-seo-details[open] > summary::after {
  content: "−";
}

.vs-seo-details__body {
  padding: 0 24px 28px;
  border-top: 1px solid var(--vs-line);
}

.vs-seo-details h2 {
  margin-top: 30px;
  font-size: 23px;
}

.vs-seo-details h3 {
  margin-top: 23px;
  color: var(--vs-text);
  font-size: 16px;
  font-weight: 800;
}

#footer,
#footer-container-first,
#footer-container-main {
  background: var(--vs-navy-deep) !important;
  background-image: none !important;
}

@media (max-width: 991.98px) {
  .vs-home-paths__grid,
  .vs-category-shortcuts__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vs-category-hero {
    padding: 26px;
  }

  body #mobile-header,
  body #mobile-header #mobile-header-sticky,
  body #mobile-header .mobile-main-bar,
  body #mobile-header .row-mobile-header,
  .mobile-menu__header-wrapper {
    background: var(--vs-navy-deep) !important;
    background-image: none !important;
  }

  #mobile-header .m-nav-btn,
  #mobile-header .m-nav-btn i {
    color: #fff !important;
  }
}

@media (max-width: 767.98px) {
  .vapesence-campaign-banner img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .vs-home-paths {
    width: calc(100% - 24px);
    margin-top: 24px;
    margin-bottom: 32px;
  }

  .vs-home-paths__head {
    display: block;
  }

  .vs-home-paths__head strong {
    display: block;
    margin-top: 4px;
    font-size: 21px;
  }

  .vs-home-paths__grid {
    gap: 8px;
  }

  .vs-home-paths__grid > a {
    min-height: 126px;
    padding: 16px 34px 16px 15px;
  }

  .vs-home-paths__grid strong {
    font-size: 14px;
  }

  .vs-home-paths__grid small {
    font-size: 10px;
  }

  #index .elementor-element-ab8vujg,
  #index .elementor-element-0r1f82s,
  #index .elementor-element-vumxr16,
  #index .elementor-element-8hadkeo,
  #index .elementor-element-3578gic,
  #index .elementor-element-0qg5qmu,
  #index .elementor-element-uwu9ykr,
  #index .elementor-element-kxx3mcy,
  #index .elementor-element-v1bx90m,
  #index .elementor-element-jwkybl4,
  #index .elementor-element-joo8uco,
  #index .elementor-element-7rcw6v9,
  #index .elementor-element-ixhb697,
  #index .elementor-element-f3huvob {
    width: calc(100% - 24px) !important;
    left: auto !important;
    right: auto !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  #index .elementor-heading-title {
    font-size: 21px !important;
    line-height: 1.15 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  .product-miniature .product-availability,
  .product-miniature .product-unavailable {
    width: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  .vs-category-hero {
    display: block;
    padding: 22px 20px;
  }

  .vs-category-hero__count {
    display: flex;
    gap: 8px;
    align-items: baseline;
    margin-top: 18px;
    padding: 14px 0 0;
    border-top: 1px solid #cfdbef;
    border-left: 0;
    text-align: left;
  }

  .vs-category-hero__count span {
    max-width: none;
  }

  .vs-category-shortcuts {
    padding: 14px;
  }

  .vs-category-shortcuts__heading {
    display: block;
  }

  .vs-category-shortcuts__heading strong {
    display: block;
    margin-top: 3px;
  }

  .vs-category-shortcut {
    min-height: 74px;
    padding: 12px;
  }

  

  

  .product-miniature .product-description {
    padding: 12px !important;
  }

  .product-miniature .product-title,
  .product-miniature .product-title a {
    min-height: 38px;
    font-size: 12px !important;
  }

  .product-miniature .product-price {
    font-size: 17px !important;
  }

  .product-miniature .product-add-cart,
  .product-miniature .input-group-add-cart .bootstrap-touchspin,
  .product-miniature .product-quantity .qty {
    display: none !important;
  }

  .product-miniature .add-to-cart,
  .product-miniature button.add-to-cart {
    width: 100%;
    min-height: 42px;
    font-size: 12px !important;
  }

  

  #index .elementor-element-1syuqct,
  #index .elementor-element-d1avxvc {
    width: calc(100% - 24px) !important;
    margin-top: 32px !important;
  }

  .vs-seo-intro,
  .vs-seo-details__body {
    padding: 20px;
  }
}

/* V11: introducción editorial continua bajo la campaña y semántica de apoyo. */
#index .vs-home-intro > .elementor-widget-container {
  display: block !important;
}

#index .vs-home-intro__summary {
  max-width: 760px;
  margin: 12px 0 0;
  color: #5f6d83;
  font-size: 14px;
  line-height: 1.65;
}

#index .vs-home-intro__links {
  display: flex;
  max-width: 1020px;
  margin-top: 17px;
  padding-top: 14px;
  gap: 10px 28px;
  align-items: center;
  flex-wrap: wrap;
  border-top: 1px solid #e3e9f2;
}

#index .vs-home-intro__links a {
  position: relative;
  color: #174fae;
  font-size: 13px;
  font-weight: 720;
  line-height: 1.4;
  text-decoration: none;
}

#index .vs-home-intro__links a + a::before {
  position: absolute;
  top: 50%;
  left: -15px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #9aa7ba;
  content: "";
  transform: translateY(-50%);
}

#index .vs-home-intro__links a:hover,
#index .vs-home-intro__links a:focus-visible {
  color: #001738;
  text-decoration: underline;
  text-underline-offset: 3px;
}

#index .vs-home-products-heading--first {
  margin-top: 22px !important;
}

@media (max-width: 767.98px) {
  #index .vs-home-intro__summary {
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.55;
  }

  #index .vs-home-intro__links {
    width: calc(100vw - 16px);
    margin-top: 13px;
    padding-top: 12px;
    padding-bottom: 2px;
    gap: 22px;
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }

  #index .vs-home-intro__links::-webkit-scrollbar {
    display: none;
  }

  #index .vs-home-intro__links a {
    flex: 0 0 auto;
    font-size: 12px;
  }

  #index .vs-home-intro__links a + a::before {
    left: -12px;
  }

  #index .vs-home-products-heading--first {
    margin-top: 20px !important;
  }
}

/* V3: one visual system for the header, home shelves and category pages. */
#desktop-header-container {
  padding: 0 9px;
}

#desktop-header .form-search-control {
  min-height: 40px;
  padding: 10px 26px 10px 13px;
  border: 0 !important;
}

#iqitmegamenu-wrapper {
  background: var(--vs-blue) !important;
  box-shadow: 0 0 0 100vmax var(--vs-blue);
  clip-path: inset(0 -100vmax);
}

#iqitmegamenu-horizontal,
.sticky-desktop-wrapper #iqitmegamenu-horizontal {
  background: transparent !important;
  box-shadow: none !important;
}

#index .elementor-element-bazaz48 > .elementor-container {
  width: min(1320px, calc(100% - 40px)) !important;
  max-width: 1320px !important;
}

#index .elementor-element-bazaz48 .usp-band {
  padding: 0 !important;
  border-top: 1px solid var(--vs-line) !important;
  border-bottom: 0 !important;
  background: #fff !important;
}

#index .elementor-element-bazaz48 .usp-row {
  max-width: none !important;
  margin: 0 !important;
}

#index .elementor-element-bazaz48 .usp-item {
  min-height: 72px !important;
  padding: 16px 22px !important;
  justify-content: center;
  border-left: 1px solid var(--vs-line) !important;
}

#index .elementor-element-bazaz48 .usp-item:first-child {
  border-left: 0 !important;
}

#index .elementor-element-bazaz48 .usp-title {
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
}

#index .elementor-element-bazaz48 .usp-sub {
  margin: 3px 0 0 !important;
  font-size: 11px !important;
  letter-spacing: .055em !important;
}

#index .elementor-element-ab8vujg,
#index .elementor-element-0r1f82s,
#index .elementor-element-vumxr16,
#index .elementor-element-8hadkeo,
#index .elementor-element-3578gic,
#index .elementor-element-0qg5qmu,
#index .elementor-element-uwu9ykr {
  left: auto !important;
  right: auto !important;
  width: min(1320px, calc(100% - 40px)) !important;
  margin: 72px auto 22px !important;
  background: transparent !important;
}

#index .elementor-element-ab8vujg .elementor-widget-container,
#index .elementor-element-0r1f82s .elementor-widget-container,
#index .elementor-element-vumxr16 .elementor-widget-container,
#index .elementor-element-8hadkeo .elementor-widget-container,
#index .elementor-element-3578gic .elementor-widget-container,
#index .elementor-element-0qg5qmu .elementor-widget-container,
#index .elementor-element-uwu9ykr .elementor-widget-container {
  background: transparent !important;
}

#index .elementor-element-ab8vujg .elementor-heading-title,
#index .elementor-element-0r1f82s .elementor-heading-title,
#index .elementor-element-vumxr16 .elementor-heading-title,
#index .elementor-element-8hadkeo .elementor-heading-title,
#index .elementor-element-3578gic .elementor-heading-title,
#index .elementor-element-0qg5qmu .elementor-heading-title,
#index .elementor-element-uwu9ykr .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--vs-navy) !important;
  font-size: clamp(27px, 2vw, 32px) !important;
  font-weight: 850 !important;
  letter-spacing: -.02em;
  line-height: 1.12;
  text-align: left !important;
  text-transform: lowercase !important;
}

#index .elementor-element-ab8vujg .elementor-heading-title::first-letter,
#index .elementor-element-0r1f82s .elementor-heading-title::first-letter,
#index .elementor-element-vumxr16 .elementor-heading-title::first-letter,
#index .elementor-element-8hadkeo .elementor-heading-title::first-letter,
#index .elementor-element-3578gic .elementor-heading-title::first-letter,
#index .elementor-element-0qg5qmu .elementor-heading-title::first-letter,
#index .elementor-element-uwu9ykr .elementor-heading-title::first-letter {
  text-transform: uppercase !important;
}

#index .products-grid .product-miniature,
#index .product-miniature-layout-1,
#category .products-grid .product-miniature,
#category .product-miniature-layout-1 {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#index .products-grid .product-miniature:hover,
#index .product-miniature-layout-1:hover,
#category .products-grid .product-miniature:hover,
#category .product-miniature-layout-1:hover {
  border: 0 !important;
  box-shadow: none !important;
}

#index .product-miniature .thumbnail-container,
#category .product-miniature .thumbnail-container {
  overflow: hidden;
  border: 1px solid #e8edf4 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
}

#index .product-miniature:hover .thumbnail-container,
#category .product-miniature:hover .thumbnail-container {
  border-color: #d7e0ec !important;
  box-shadow: 0 12px 30px rgba(0, 23, 56, .08) !important;
}

#index .product-miniature .thumbnail-container img,
#category .product-miniature .thumbnail-container img {
  background: #fff !important;
}



.vs-category-hero {
  margin-bottom: 26px;
  padding: 34px 0 28px;
  border: 0;
  border-bottom: 1px solid var(--vs-line);
  border-radius: 0;
  background: #fff;
}

.vs-category-shortcuts {
  margin-bottom: 26px;
  padding: 0 0 20px;
  border: 0;
  border-bottom: 0;
  border-radius: 0;
  background: transparent;
}





#index .elementor-element-1syuqct,
#index .elementor-element-d1avxvc {
  width: min(900px, calc(100% - 40px)) !important;
  margin: 72px auto 0 !important;
}

.vs-seo-intro {
  padding: 34px 0 0;
  border: 0;
  border-top: 1px solid var(--vs-line);
  border-radius: 0;
  background: transparent;
}

.vs-seo-intro h2 {
  margin-bottom: 20px;
  font-size: clamp(27px, 2.3vw, 32px);
}

.vs-seo-details {
  overflow: visible;
  border: 0;
  border-top: 1px solid var(--vs-line);
  border-bottom: 1px solid var(--vs-line);
  border-radius: 0;
  background: transparent;
}

.vs-seo-details > summary {
  min-height: 64px;
  padding: 0 4px;
}

.vs-seo-details[open] > summary::after {
  content: "−";
}

.vs-seo-details__body {
  padding: 4px 0 34px;
  border-top: 1px solid var(--vs-line);
}

.vs-seo-details h2 {
  margin-top: 36px;
  font-size: 25px;
}

.vs-category-shortcuts__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
}

.vs-category-shortcuts__heading {
  margin-bottom: 12px;
}

.vs-category-shortcuts__heading strong {
  font-size: 15px;
}

.vs-category-shortcut {
  min-height: auto;
  padding: 9px 14px;
  border: 1px solid var(--vs-line);
  border-radius: 999px;
  background: #fff;
  justify-content: center;
}

.vs-category-shortcut:first-child {
  border-left: 1px solid var(--vs-line);
  padding-left: 14px;
}

.vs-category-shortcut:hover {
  border-color: #bfd0ee;
  background: var(--vs-blue-soft);
  transform: none;
}



@media (max-width: 767.98px) {
  #index .elementor-element-ab8vujg,
  #index .elementor-element-0r1f82s,
  #index .elementor-element-vumxr16,
  #index .elementor-element-8hadkeo,
  #index .elementor-element-3578gic,
  #index .elementor-element-0qg5qmu,
  #index .elementor-element-uwu9ykr {
    width: calc(100% - 24px) !important;
    margin: 46px auto 16px !important;
  }

  #index .elementor-element-ab8vujg .elementor-heading-title,
  #index .elementor-element-0r1f82s .elementor-heading-title,
  #index .elementor-element-vumxr16 .elementor-heading-title,
  #index .elementor-element-8hadkeo .elementor-heading-title,
  #index .elementor-element-3578gic .elementor-heading-title,
  #index .elementor-element-0qg5qmu .elementor-heading-title,
  #index .elementor-element-uwu9ykr .elementor-heading-title {
    padding: 0 !important;
    font-size: 24px !important;
    text-align: left !important;
  }

  .vs-category-hero {
    padding: 22px 0 20px;
  }

  .vs-category-shortcuts {
    padding-bottom: 14px;
  }

  #index .elementor-element-1syuqct,
  #index .elementor-element-d1avxvc {
    width: calc(100% - 32px) !important;
    margin-top: 52px !important;
  }

  .vs-seo-intro {
    padding: 26px 0 0;
  }

  .vs-seo-intro h2 {
    font-size: 26px;
  }

  .vs-seo-details__body {
    padding: 2px 0 28px;
  }
}

/* V8: composicion visual consolidada para el clon. La semantica H1/H2/H3 no cambia. */

body#index {
  overflow-x: clip;
}

/* Home: los beneficios prolongan el banner y el H1 abre el contenido sobre blanco. */
#index .elementor-element-7ynafvs {
  right: auto !important;
  left: auto !important;
  width: min(1320px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: #fff !important;
}

#index .elementor-element-7ynafvs > .elementor-container,
#index .elementor-element-7ynafvs .elementor-column-wrap,
#index .elementor-element-7ynafvs .elementor-widget-wrap {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

#index .vs-posthero {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  background: #fff;
}

#index .vs-posthero__inner,
#index .vs-posthero__top {
  width: 100%;
  margin: 0;
}

#index .vs-posthero__top {
  display: flex;
  flex-direction: column;
}

#index .vs-posthero .elementor-element-bazaz48 {
  position: static !important;
  left: auto !important;
  order: 1;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #001738 !important;
}

#index .vs-posthero .elementor-element-bazaz48 > .elementor-container,
#index .vs-posthero .elementor-element-bazaz48 .elementor-row,
#index .vs-posthero .elementor-element-bazaz48 .elementor-column-wrap,
#index .vs-posthero .elementor-element-bazaz48 .elementor-widget-wrap {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#index .vs-posthero .usp-band {
  min-height: 62px;
  padding: 0 !important;
  border: 0 !important;
  background: #001738 !important;
  color: #fff;
}

#index .vs-posthero .usp-row {
  display: grid !important;
  width: min(1320px, calc(100% - 40px));
  max-width: 1320px !important;
  min-height: 62px;
  margin: 0 auto !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

#index .vs-posthero .usp-item {
  position: relative;
  display: grid !important;
  min-width: 0;
  min-height: 62px !important;
  padding: 10px 20px !important;
  grid-template-columns: 30px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 11px;
  align-content: center;
  border: 0 !important;
  text-align: left !important;
}

#index .vs-posthero .usp-item + .usp-item {
  border-left: 1px solid rgba(255,255,255,.14) !important;
}

#index .vs-posthero .usp-item::before {
  display: none !important;
}

#index .vs-posthero .vs-usp-icon {
  display: grid;
  width: 30px;
  height: 30px;
  grid-row: 1 / span 2;
  align-self: center;
  place-items: center;
  border: 1px solid rgba(122,172,255,.42);
  border-radius: 8px;
  color: #7aacff;
}

#index .vs-posthero .vs-usp-icon svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#index .vs-posthero .usp-title {
  display: block !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
  line-height: 1.25 !important;
}

#index .vs-posthero .usp-title::before {
  display: none !important;
}

#index .vs-posthero .usp-sub {
  margin: 2px 0 0 !important;
  color: #aebbd0 !important;
  font-size: 10px !important;
  letter-spacing: .025em !important;
  line-height: 1.25 !important;
  text-transform: none !important;
}

#index .vs-posthero .elementor-element-gr2p0jn {
  position: static !important;
  order: 2;
  width: min(1320px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  padding: 40px 0 38px !important;
  background: transparent !important;
}

#index .vs-posthero .elementor-element-gr2p0jn .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

#index .vs-posthero .elementor-element-gr2p0jn h1 {
  max-width: 900px;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--vs-navy) !important;
  font-size: clamp(30px, 2.45vw, 38px) !important;
  font-weight: 850 !important;
  letter-spacing: -.035em;
  line-height: 1.12 !important;
  text-align: left !important;
}

/* Home: encabezados comerciales claros, sin barras ni recursos decorativos genericos. */
#index .vs-home-heading {
  left: auto !important;
  right: auto !important;
  width: min(1320px, calc(100% - 40px)) !important;
  margin: 70px auto 24px !important;
  background: transparent !important;
}

#index .vs-home-heading.elementor-element-ab8vujg {
  margin-top: 38px !important;
}

#index .vs-home-heading .elementor-widget-container {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#index .vs-home-heading__kicker {
  display: block;
  margin: 0 0 8px;
  color: var(--vs-blue-dark);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .11em;
  line-height: 1.2;
  text-align: left;
  text-transform: uppercase;
}

#index .vs-home-heading .elementor-heading-title {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--vs-navy) !important;
  font-size: clamp(28px, 2vw, 32px) !important;
  font-weight: 850 !important;
  letter-spacing: -.03em !important;
  line-height: 1.12 !important;
  text-align: left !important;
  text-transform: none !important;
}

#index .vs-home-heading .elementor-heading-title::after,
#index .vs-home-heading .elementor-heading-title::before {
  display: none !important;
  content: none !important;
}

#index .vs-home-heading__description {
  max-width: 560px;
  margin: 7px 0 0 !important;
  color: #647187;
  font-size: 14px;
  line-height: 1.45;
  text-align: left;
}

/* Categorias: cabecera de landing a todo el ancho antes del sidebar y productos. */
































/* Catalogo: separacion limpia entre facetas, toolbar y cuadrícula. */












































/* El contenido SEO mantiene sus etiquetas; solo se compacta visualmente. */
#index .elementor-element-1syuqct,
#index .elementor-element-d1avxvc {
  width: min(900px, calc(100% - 40px)) !important;
  margin: 72px auto 0 !important;
}

.vs-seo-intro {
  padding: 34px 0 0;
  border: 0;
  border-top: 1px solid var(--vs-line);
  border-radius: 0;
  background: transparent;
}

.vs-seo-details {
  overflow: visible;
  border: 0;
  border-top: 1px solid var(--vs-line);
  border-bottom: 1px solid var(--vs-line);
  border-radius: 0;
  background: transparent;
}

.vs-seo-details > summary {
  min-height: 64px;
  padding: 0 4px;
}

.vs-seo-details[open] > summary::after {
  content: "−";
}

.vs-seo-details__body {
  padding: 4px 0 34px;
  border-top: 1px solid var(--vs-line);
}

@media (max-width: 767.98px) {
  #index .vs-posthero .usp-band,
  #index .vs-posthero .usp-row {
    min-height: 48px;
  }

  #index .vs-posthero .usp-row {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #index .vs-posthero .usp-item {
    min-height: 48px !important;
    padding: 8px 14px !important;
    grid-template-columns: 24px minmax(0, 1fr);
    column-gap: 8px;
  }

  #index .vs-posthero .usp-item:nth-child(n/**/+3) {
    display: none !important;
  }

  #index .vs-posthero .vs-usp-icon {
    width: 24px;
    height: 24px;
    border-radius: 7px;
  }

  #index .vs-posthero .vs-usp-icon svg {
    width: 14px;
    height: 14px;
  }

  #index .vs-posthero .usp-title {
    font-size: 11px !important;
  }

  #index .vs-posthero .usp-sub {
    display: none !important;
  }

  #index .vs-posthero .elementor-hidden-phone {
    display: block !important;
  }

  #index .vs-posthero .elementor-element-gr2p0jn {
    width: calc(100% - 32px) !important;
    padding: 28px 0 26px !important;
  }

  #index .vs-posthero .elementor-element-gr2p0jn h1 {
    max-width: none;
    font-size: 23px !important;
    line-height: 1.15 !important;
  }

  #index .vs-home-heading {
    width: calc(100% - 32px) !important;
    margin: 52px auto 20px !important;
  }

  #index .vs-home-heading.elementor-element-ab8vujg {
    margin-top: 30px !important;
  }

  #index .vs-home-heading__kicker {
    margin-bottom: 7px;
    font-size: 10px;
  }

  #index .vs-home-heading .elementor-heading-title {
    font-size: 24px !important;
  }

  #index .vs-home-heading__description {
    margin-top: 6px !important;
    font-size: 13px;
  }

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  #index .elementor-element-1syuqct,
  #index .elementor-element-d1avxvc {
    width: calc(100% - 32px) !important;
    margin-top: 54px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

/* V9: ritmo compacto y jerarquía editorial. Solo afecta al clon. */
#header {
  z-index: 1000 !important;
}

#iqitmegamenu-wrapper {
  position: relative !important;
  z-index: 1001 !important;
  clip-path: none !important;
  box-shadow: none !important;
  isolation: isolate;
}

#iqitmegamenu-wrapper::before {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  background: var(--vs-blue);
  content: "";
  transform: translateX(-50%);
}

#cbp-hrmenu .cbp-hrsub {
  z-index: 1002 !important;
}

#index .vs-posthero .elementor-element-gr2p0jn {
  padding: 32px 0 24px !important;
}

#index .vs-home-products-heading {
  margin: 38px auto 12px !important;
}

#index .vs-home-products-heading--first {
  margin-top: 24px !important;
}

#index .vs-home-products-heading .vs-home-heading {
  margin: 0 auto !important;
}

#index .vs-home-heading .elementor-widget-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 440px);
  grid-template-rows: auto auto;
  column-gap: 42px;
  align-items: end;
}

#index .vs-home-heading__kicker {
  grid-column: 1;
  grid-row: 1;
}

#index .vs-home-heading .elementor-heading-title {
  grid-column: 1;
  grid-row: 2;
}

#index .vs-home-heading__description {
  grid-column: 2;
  grid-row: 1 / span 2;
  max-width: 440px;
  margin: 0 0 2px !important;
  padding-left: 22px;
  border-left: 1px solid #dce4ef;
}

#index .vs-home-products-grid {
  margin-bottom: 18px !important;
}

#index .vs-home-products-grid .js-product-miniature-wrapper {
  flex: 0 0 25% !important;
  max-width: 25% !important;
}

#index .vs-home-products-grid .js-product-miniature-wrapper:nth-child(n/**/+5) {
  display: none !important;
}









@media (max-width: 767.98px) {
  #index .vs-posthero .usp-band,
  #index .vs-posthero .usp-row {
    min-height: 96px;
  }

  #index .vs-posthero .usp-item:nth-child(n/**/+3) {
    display: grid !important;
    border-top: 1px solid rgba(255,255,255,.14) !important;
  }

  #index .vs-posthero .usp-item:nth-child(3) {
    border-left: 0 !important;
  }

  #index .vs-posthero .elementor-element-gr2p0jn {
    padding: 22px 0 18px !important;
  }

  #index .vs-home-products-heading,
  #index .vs-home-products-heading--first {
    margin: 26px auto 10px !important;
  }

  #index .vs-home-heading .elementor-widget-container {
    display: block !important;
  }

  #index .vs-home-heading__description {
    max-width: none;
    margin-top: 6px !important;
    padding-left: 0;
    border-left: 0;
  }

  #index .vs-home-products-grid .js-product-miniature-wrapper {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }

  #index .vs-home-products-grid .js-product-miniature-wrapper:nth-child(n/**/+3) {
    display: none !important;
  }

  

  

  

  
}

/* V10: continuidad visual entre campaña, confianza y catálogo. Sin cambios semánticos. */

/* El bloque posterior a la campaña se integra como una sola transición, no como piezas apiladas. */
#index .vs-posthero {
  padding: 0;
  background: #fff;
}

#index .vs-posthero__top {
  padding-bottom: 0;
}

#index .vs-posthero .elementor-element-bazaz48 {
  z-index: 3;
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0;
  background: #001738 !important;
  box-shadow: none !important;
}

#index .vs-posthero .usp-band,
#index .vs-posthero .usp-row {
  min-height: 62px;
  background: #001738 !important;
}

#index .vs-posthero .usp-row {
  width: min(1320px, calc(100% - 48px));
  max-width: 1320px !important;
  margin: 0 auto;
}

#index .vs-posthero .usp-item {
  min-height: 62px !important;
  padding: 10px 18px !important;
}

#index .vs-posthero .usp-item + .usp-item {
  border-left: 0 !important;
}

#index .vs-posthero .vs-usp-icon {
  width: 26px;
  height: 26px;
  border: 0;
  background: transparent;
  color: #72a4ff;
}

#index .vs-posthero .usp-title {
  color: #fff !important;
  font-size: 13px !important;
}

#index .vs-posthero .usp-sub {
  color: #aebbd0 !important;
  font-size: 10px !important;
}

#index .vs-posthero .elementor-element-gr2p0jn {
  width: min(1320px, calc(100% - 48px)) !important;
  padding: 26px 0 18px !important;
}

#index .vs-posthero .elementor-element-gr2p0jn h1 {
  max-width: 1020px;
  color: #071a39 !important;
  font-size: clamp(27px, 2.15vw, 33px) !important;
  font-weight: 820 !important;
  letter-spacing: -.028em;
  line-height: 1.18 !important;
  text-align: left !important;
}

/* Las baldas de producto usan encabezados editoriales sencillos y alineados al catálogo. */
#index .vs-home-products-heading,
#index .vs-home-products-heading--first {
  margin: 42px auto 14px !important;
}

#index .vs-home-products-heading--first {
  margin-top: 26px !important;
}

#index .vs-home-heading .elementor-widget-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  column-gap: 24px;
  align-items: center;
  padding: 0 !important;
  border: 0 !important;
}

#index .vs-home-heading__kicker {
  display: none !important;
}

#index .vs-home-heading .elementor-heading-title {
  grid-column: 1;
  grid-row: 1;
  font-size: clamp(25px, 1.85vw, 29px) !important;
  font-weight: 820 !important;
  letter-spacing: -.025em !important;
}

#index .vs-home-heading__description {
  grid-column: 1;
  grid-row: 2;
  max-width: 620px;
  margin: 5px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #68758a;
  font-size: 13px;
  text-align: left;
}

#index .vs-home-heading__link {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  color: #1d61df !important;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
}

#index .vs-home-heading__link:hover,
#index .vs-home-heading__link:focus-visible {
  color: #001738 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Megamenú compacto: misma información, menos pared blanca y sin altura artificial. */
#cbp-hrmenu.cbp-horizontal .cbp-hrsub {
  border-top: 3px solid #2468e8 !important;
  box-shadow: 0 18px 44px rgba(0, 23, 56, .18) !important;
}

#cbp-hrmenu.cbp-horizontal .cbp-hrsub-inner {
  position: relative;
  width: min(1320px, calc(100% - 32px)) !important;
  max-width: 1320px !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 46px 22px 18px !important;
}

#cbp-hrmenu .menu_row {
  gap: 10px 28px;
}

#cbp-hrmenu .cbp-menu-column-inner {
  padding: 0 6px 6px;
}

#cbp-hrmenu .cbp-column-title {
  margin-bottom: 5px;
  padding: 0 7px 8px !important;
  font-size: 13px !important;
}

#cbp-hrmenu .cbp-links a {
  padding: 5px 7px !important;
  font-size: 12px !important;
}

.vs-mega-all-link {
  position: absolute;
  top: 15px;
  right: 28px;
  margin: 0;
  padding: 5px 0;
  border: 0;
  border-radius: 0;
  color: #1d61df !important;
  font-size: 12px;
}

/* La categoría adopta un masthead de marca y deja el listado respirar sobre blanco. */


























@media (max-width: 767.98px) {
  #index .vs-posthero {
    padding-bottom: 0;
    background: #fff;
  }

  #index .vs-posthero .elementor-element-bazaz48 {
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0;
    box-shadow: none !important;
  }

  #index .vs-posthero .usp-band,
  #index .vs-posthero .usp-row {
    width: 100%;
    min-height: 56px;
  }

  #index .vs-posthero .usp-item {
    min-height: 56px !important;
    padding: 8px 12px !important;
  }

  #index .vs-posthero .usp-item:nth-child(n/**/+3) {
    display: none !important;
    border: 0 !important;
  }

  #index .vs-posthero .usp-item:nth-child(3) {
    border-left: 0 !important;
  }

  #index .vs-posthero .elementor-element-gr2p0jn {
    width: calc(100% - 32px) !important;
    padding: 18px 0 14px !important;
  }

  #index .vs-posthero .elementor-element-gr2p0jn h1 {
    font-size: 23px !important;
    line-height: 1.18 !important;
    text-align: left !important;
  }

  #index .vs-home-products-heading,
  #index .vs-home-products-heading--first {
    margin: 28px auto 10px !important;
  }

  #index .vs-home-heading .elementor-widget-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    padding-bottom: 0 !important;
  }

  #index .vs-home-heading .elementor-heading-title {
    font-size: 24px !important;
  }

  #index .vs-home-heading__description {
    margin: 5px 0 0 !important;
    text-align: left;
  }

  #index .vs-home-heading__link {
    align-self: start;
    margin-top: 5px;
    font-size: 12px;
  }

  

  

  

  

  
}

/* V12: menú centrado y banda de confianza en azul de marca. */
#iqitmegamenu-wrapper,
#iqitmegamenu-wrapper .iqit-megamenu-container,
#iqitmegamenu-horizontal,
#cbp-hrmenu,
#cbp-hrmenu > ul,
#cbp-hrmenu > ul > li {
  min-height: 36px !important;
  height: 36px !important;
}

#cbp-hrmenu > ul {
  align-items: stretch !important;
}

#cbp-hrmenu > ul > li > a.nav-link {
  display: flex !important;
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 22px !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

#index .vs-posthero .elementor-element-bazaz48,
#index .vs-posthero .usp-band,
#index .vs-posthero .usp-row {
  background: #2867e9 !important;
}

#index .vs-posthero .usp-row,
#index .vs-posthero .usp-item {
  min-height: 64px !important;
}

#index .vs-posthero .usp-item {
  grid-template-columns: 32px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 8px !important;
  row-gap: 1px !important;
  padding: 9px 18px !important;
  align-content: center !important;
}

#index .vs-posthero .vs-usp-icon {
  width: 28px !important;
  height: 28px !important;
  color: #fff !important;
}

#index .vs-posthero .vs-usp-icon svg {
  width: 20px !important;
  height: 20px !important;
  stroke: #fff !important;
  stroke-width: 2 !important;
}

#index .vs-posthero .usp-title {
  min-height: 17px;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
}

#index .vs-posthero .usp-sub {
  height: auto !important;
  min-height: 14px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .82) !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
}

@media (max-width: 767.98px) {
  #index .vs-posthero .usp-row,
  #index .vs-posthero .usp-item {
    min-height: 58px !important;
  }

  #index .vs-posthero .usp-item {
    grid-template-columns: 26px minmax(0, 1fr) !important;
    padding: 7px 10px !important;
  }

  #index .vs-posthero .vs-usp-icon {
    width: 24px !important;
    height: 24px !important;
  }

  #index .vs-posthero .vs-usp-icon svg {
    width: 18px !important;
    height: 18px !important;
  }

  #index .vs-posthero .usp-title {
    font-size: 12px !important;
  }

  #index .vs-posthero .usp-sub {
    min-height: 12px !important;
    font-size: 9.5px !important;
  }

  #index .vs-home-heading .elementor-widget-container {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    column-gap: 12px !important;
  }

  #index .vs-home-heading .elementor-heading-title {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    font-size: 23px !important;
  }

  #index .vs-home-heading__description {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  #index .vs-home-heading__link {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 0 2px !important;
    align-self: end !important;
  }

  .whatsapp.whatsapp_1.whatsapp-badge {
    width: 48px !important;
    height: 60px !important;
    padding: 6px 0 !important;
  }

  .whatsapp.whatsapp_1.whatsapp-badge > span {
    width: 48px !important;
    height: 48px !important;
    padding: 6px !important;
  }

  .whatsapp.whatsapp_1 .whatsapp-icon {
    width: 36px !important;
    height: 36px !important;
  }

  #lgcookieslaw_fixed_button {
    width: 42px !important;
    height: 42px !important;
    right: 12px !important;
    bottom: 10px !important;
  }

  #lgcookieslaw_fixed_button svg {
    width: 30px !important;
    height: 30px !important;
  }

  #back-to-top {
    display: none !important;
  }

  #iqitmegamenu-mobile .mobile-menu__content .mobile-menu__arrow {
    color: #2867e9 !important;
  }

  #iqitmegamenu-mobile .mobile-menu__content > .mobile-menu__scroller > .mobile-menu__tab > .mobile-menu__link {
    font-weight: 650 !important;
  }

  body:has(.js-m-nav-btn-menu.show) .whatsapp.whatsapp_1,
  body:has(.js-m-nav-btn-menu.show) #lgcookieslaw_fixed_button,
  body:has(#search_filters_wrapper:not(.hidden-sm-down)) .whatsapp.whatsapp_1,
  body:has(#search_filters_wrapper:not(.hidden-sm-down)) #lgcookieslaw_fixed_button {
    display: none !important;
  }
}

/* V16 final: home editorial, marcas útiles, SEO revisado y categoría móvil compacta. */
#index .vs-posthero__top {
  background: #f7f9fc;
}

#index .vs-posthero .elementor-element-gr2p0jn {
  padding: 34px 0 30px !important;
}

#index .vs-posthero .elementor-element-gr2p0jn .elementor-widget-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 24px 64px;
  align-items: end;
}

#index .vs-posthero .elementor-element-gr2p0jn .elementor-text-editor {
  grid-column: 1;
  grid-row: 1;
}

#index .vs-home-intro__eyebrow {
  display: block;
  margin-bottom: 9px;
  color: #2867e9;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
}

#index .vs-posthero .elementor-element-gr2p0jn h1 {
  max-width: 900px;
  margin: 0 !important;
  font-size: clamp(31px, 2.4vw, 38px) !important;
  line-height: 1.08 !important;
}

#index .vs-home-intro__summary {
  grid-column: 2;
  grid-row: 1;
  max-width: 520px;
  margin: 0 0 2px !important;
  color: #536178;
  font-size: 15px;
  line-height: 1.55;
}

#index .vs-home-intro__links {
  display: grid;
  grid-column: 1 / -1;
  grid-row: 2;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  max-width: none !important;
  margin-top: 4px;
  border-top: 1px solid #dce4ef;
  border-bottom: 1px solid #dce4ef;
}

#index .vs-home-intro__links a {
  display: flex;
  min-width: 0;
  padding: 15px 18px 16px;
  flex-direction: column;
  gap: 4px;
  color: #0b1931 !important;
  text-decoration: none;
}

#index .vs-home-intro__links a:first-child {
  padding-left: 0;
}

#index .vs-home-intro__links a + a {
  border-left: 1px solid #dce4ef;
}

#index .vs-home-intro__links strong {
  color: #174fae;
  font-size: 13px;
  line-height: 1.25;
}

#index .vs-home-intro__links span {
  color: #6a7689;
  font-size: 11px;
  line-height: 1.35;
}

#index .vs-home-intro__links a:hover strong,
#index .vs-home-intro__links a:focus-visible strong {
  color: #001738;
  text-decoration: underline;
  text-underline-offset: 3px;
}

#index .vs-home-products-heading,
#index .vs-home-products-heading .elementor-container,
#index .vs-home-products-heading .elementor-column-wrap,
#index .vs-home-products-heading .elementor-widget-wrap,
#index .vs-home-heading .elementor-widget-container {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#index .vs-home-products-heading {
  padding: 0 !important;
}

#index .vs-home-heading__link {
  white-space: nowrap;
}

/* Marcas: nombres visibles, enlaces con contexto y menos ruido de logotipos dispares. */
#index .elementor-element-uwu9ykr {
  margin: 58px auto 0 !important;
  padding: 30px 0 8px !important;
  background: #f7f9fc !important;
}

#index .elementor-element-f3huvob {
  margin: 0 !important;
  padding: 10px 0 34px !important;
  border-bottom: 1px solid #e1e7f0;
  background: #f7f9fc !important;
}

#index .elementor-element-f3huvob .swiper-slide a {
  display: flex;
  min-height: 122px;
  padding: 12px 8px;
  flex-direction: column;
  gap: 9px;
  align-items: center;
  justify-content: center;
  color: #334158 !important;
  text-decoration: none;
}

#index .elementor-element-f3huvob .swiper-slide img {
  width: auto !important;
  max-width: 82px !important;
  height: 72px !important;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .72;
  transition: filter .18s ease, opacity .18s ease, transform .18s ease;
}

#index .elementor-element-f3huvob .swiper-slide a:hover img,
#index .elementor-element-f3huvob .swiper-slide a:focus-visible img {
  filter: grayscale(0);
  opacity: 1;
  transform: translateY(-2px);
}

#index .elementor-element-f3huvob .vs-brand-name {
  font-size: 11px;
  font-weight: 750;
  line-height: 1.25;
  text-align: center;
}

/* Sustituye la pared de texto antigua por contenido verificable y navegable. */
#index .vs-home-seo-revised,
#index .vs-home-guides-revised {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
}

#index .vs-editorial-shell,
#index .vs-guides-shell {
  width: min(1320px, calc(100% - 48px));
  margin: 0 auto;
  padding: 64px 0;
}

#index .vs-editorial-heading {
  max-width: 760px;
  margin-bottom: 32px;
}

#index .vs-editorial-heading > span {
  display: block;
  margin-bottom: 9px;
  color: #2867e9;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

#index .vs-editorial-heading h2 {
  margin: 0;
  color: #0b1931;
  font-size: clamp(28px, 2.2vw, 34px);
  font-weight: 820;
  letter-spacing: -.025em;
  line-height: 1.12;
}

#index .vs-editorial-heading p {
  margin: 12px 0 0;
  color: #5f6d83;
  font-size: 14px;
  line-height: 1.6;
}

#index .vs-editorial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #dfe6f0;
  border-bottom: 1px solid #dfe6f0;
}

#index .vs-editorial-grid article {
  padding: 26px 28px 28px;
}

#index .vs-editorial-grid article:first-child {
  padding-left: 0;
}

#index .vs-editorial-grid article + article {
  border-left: 1px solid #dfe6f0;
}

#index .vs-editorial-grid h3,
#index .vs-guide-grid h3 {
  margin: 0 0 10px;
  color: #0b1931;
  font-size: 18px;
  font-weight: 780;
  line-height: 1.25;
}

#index .vs-editorial-grid p,
#index .vs-guide-grid p {
  margin: 0 0 16px;
  color: #647187;
  font-size: 13px;
  line-height: 1.6;
}

#index .vs-editorial-grid a,
#index .vs-editorial-tools a,
#index .vs-editorial-service a,
#index .vs-guide-grid strong {
  color: #1d61df !important;
  font-size: 12px;
  font-weight: 760;
  text-decoration: none;
}

#index .vs-editorial-tools {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

#index .vs-editorial-tools a {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid #dfe6f0;
  border-radius: 8px;
  background: #fff;
  transition: border-color .18s ease, background-color .18s ease;
}

#index .vs-editorial-tools a:hover,
#index .vs-editorial-tools a:focus-visible {
  border-color: #9db9ef;
  background: #f7faff;
}

#index .vs-editorial-tools span {
  color: #7a879a;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#index .vs-editorial-tools strong {
  color: #0b1931;
  font-size: 13px;
  line-height: 1.3;
}

#index .vs-editorial-service {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin-top: 22px;
  padding: 18px 20px;
  background: #eef4ff;
  color: #536178;
  font-size: 13px;
}

#index .vs-editorial-service strong {
  color: #0b1931;
  font-size: 14px;
}

#index .vs-home-guides-revised {
  background: #f7f9fc !important;
}

#index .vs-guide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #dfe6f0;
  border-bottom: 1px solid #dfe6f0;
}

#index .vs-guide-grid > a {
  display: block;
  padding: 26px 28px 28px;
  color: inherit !important;
  text-decoration: none;
}

#index .vs-guide-grid > a:first-child {
  padding-left: 0;
}

#index .vs-guide-grid > a + a {
  border-left: 1px solid #dfe6f0;
}

#index .vs-guide-grid > a > span {
  display: block;
  margin-bottom: 8px;
  color: #2867e9;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#index .vs-guide-grid > a:hover h3,
#index .vs-guide-grid > a:focus-visible h3 {
  color: #1d61df;
}

#index .vs-home-faq {
  margin-top: 46px;
}

#index .vs-home-faq > h2 {
  margin: 0 0 20px;
  color: #0b1931;
  font-size: 25px;
  font-weight: 800;
}

#index .vs-home-faq__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 32px;
  border-top: 1px solid #dfe6f0;
}

#index .vs-home-faq details {
  border-bottom: 1px solid #dfe6f0;
}

#index .vs-home-faq summary {
  position: relative;
  padding: 17px 28px 17px 0;
  color: #0b1931;
  font-size: 13px;
  font-weight: 720;
  cursor: pointer;
  list-style: none;
}

#index .vs-home-faq summary::-webkit-details-marker {
  display: none;
}

#index .vs-home-faq summary::after {
  position: absolute;
  top: 16px;
  right: 2px;
  color: #2867e9;
  content: "+";
  font-size: 18px;
}

#index .vs-home-faq details[open] summary::after {
  content: "−";
}

#index .vs-home-faq details p {
  margin: -4px 0 18px;
  color: #647187;
  font-size: 13px;
  line-height: 1.55;
}

@media (min-width: 768px) {
  #index .vs-posthero .usp-band,
  #index .vs-posthero .usp-row,
  #index .vs-posthero .usp-item {
    min-height: 56px !important;
  }
}

@media (max-width: 767.98px) {
  #index .vs-posthero .usp-band,
  #index .vs-posthero .usp-row,
  #index .vs-posthero .usp-item {
    min-height: 52px !important;
  }

  #index .vs-posthero .usp-item {
    padding: 6px 10px !important;
  }

  #index .vs-posthero .usp-title {
    font-size: 12.5px !important;
  }

  #index .vs-posthero .elementor-element-gr2p0jn {
    width: 100% !important;
    padding: 24px 16px 20px !important;
  }

  #index .vs-posthero .elementor-element-gr2p0jn .elementor-widget-container {
    display: block;
  }

  #index .vs-home-intro__eyebrow {
    margin-bottom: 7px;
    font-size: 10px;
  }

  #index .vs-posthero .elementor-element-gr2p0jn h1 {
    font-size: 24px !important;
    line-height: 1.12 !important;
  }

  #index .vs-home-intro__summary {
    margin-top: 10px !important;
    font-size: 13px;
    line-height: 1.5;
  }

  #index .vs-home-intro__links {
    display: flex;
    gap: 0;
    margin-top: 18px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  #index .vs-home-intro__links::-webkit-scrollbar {
    display: none;
  }

  #index .vs-home-intro__links a,
  #index .vs-home-intro__links a:first-child {
    flex: 0 0 64%;
    padding: 13px 14px;
    scroll-snap-align: start;
  }

  #index .vs-home-intro__links a:first-child {
    padding-left: 0;
  }

  #index .vs-home-products-heading,
  #index .vs-home-products-heading--first {
    margin: 34px auto 12px !important;
  }

  #index .vs-home-products-heading--first {
    margin-top: 24px !important;
  }

  #index .vs-home-heading .elementor-widget-container {
    min-height: 0 !important;
  }

  #index .elementor-element-uwu9ykr {
    margin-top: 42px !important;
    padding: 24px 0 4px !important;
  }

  #index .elementor-element-f3huvob {
    padding: 6px 0 24px !important;
  }

  #index .elementor-element-f3huvob .swiper-slide a {
    min-height: 104px;
  }

  #index .elementor-element-f3huvob .swiper-slide img {
    max-width: 70px !important;
    height: 58px !important;
  }

  #index .vs-editorial-shell,
  #index .vs-guides-shell {
    width: calc(100% - 32px);
    padding: 44px 0;
  }

  #index .vs-editorial-heading {
    margin-bottom: 24px;
  }

  #index .vs-editorial-heading h2 {
    font-size: 26px;
  }

  #index .vs-editorial-grid,
  #index .vs-editorial-tools,
  #index .vs-guide-grid,
  #index .vs-home-faq__grid {
    grid-template-columns: 1fr;
  }

  #index .vs-editorial-grid article,
  #index .vs-editorial-grid article:first-child,
  #index .vs-guide-grid > a,
  #index .vs-guide-grid > a:first-child {
    padding: 22px 0;
  }

  #index .vs-editorial-grid article + article,
  #index .vs-guide-grid > a + a {
    border-top: 1px solid #dfe6f0;
    border-left: 0;
  }

  #index .vs-editorial-service {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 16px;
  }

  #index .vs-home-faq {
    margin-top: 36px;
  }

  

  

  

  

  

  

  

  

  

  

  

  

  .whatsapp.whatsapp_1.whatsapp-badge {
    width: 44px !important;
    height: 52px !important;
    padding: 4px 0 !important;
  }

  .whatsapp.whatsapp_1.whatsapp-badge > span {
    width: 44px !important;
    height: 44px !important;
    padding: 6px !important;
  }

  .whatsapp.whatsapp_1 .whatsapp-icon {
    width: 32px !important;
    height: 32px !important;
  }

  #lgcookieslaw_fixed_button {
    width: 36px !important;
    height: 36px !important;
    right: 10px !important;
    bottom: 8px !important;
  }

  #lgcookieslaw_fixed_button svg {
    width: 24px !important;
    height: 24px !important;
  }
}

/* Source: vapesence-proposal-v16.current.css */
/* Final overrides for the V16 home proposal. Loaded after the shared proposal sheet. */
#cbp-hrmenu .vs-mega-intro {
  position: absolute;
  top: 14px;
  left: 28px;
  display: flex;
  align-items: baseline;
  gap: 12px;
}

/* V17.15 — Categorias: jerarquia visual, filtros y responsive. */


































































@media (max-width: 767.98px) {
  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  body.vs-filters-open {
    overflow: hidden !important;
  }

  body.vs-filters-open::before {
    position: fixed;
    z-index: 10040;
    inset: 0;
    content: "";
    background: rgba(0, 19, 47, .54);
    backdrop-filter: blur(2px);
  }

  

  

  

  

  

  

  

  

  

  

  

  

  

  
}

/* V17.20 — Calculadora de alquimia Vapesence. */
body.cms-id-7 #wrapper {
  background: #f4f7fb;
}

body.cms-id-7 #main .page-header {
  max-width: 1400px;
  margin: 18px auto 0;
  padding: 0 22px;
  border: 0;
}

body.cms-id-7 #main .page-header h1 {
  margin: 0;
  color: #001b42;
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 850;
  letter-spacing: -.045em;
}

body.cms-id-7 #content,
body.cms-id-7 #content .elementor,
body.cms-id-7 #content .elementor-section,
body.cms-id-7 #content .elementor-container,
body.cms-id-7 #content .elementor-column,
body.cms-id-7 #content .elementor-column-wrap,
body.cms-id-7 #content .elementor-widget-wrap,
body.cms-id-7 #content .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.cms-id-7 .vs-alchemy {
  width: min(1400px, calc(100% - 32px));
  margin: 24px auto 64px;
  color: #101c32;
  font-family: Inter, Arial, sans-serif;
}

.vs-alchemy__intro {
  display: grid;
  min-height: 180px;
  padding: 34px 38px;
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: center;
  gap: 40px;
  overflow: hidden;
  border-radius: 22px;
  background: #001b42;
  color: #fff;
  box-shadow: 0 22px 54px rgba(0, 25, 63, .15);
}

.vs-alchemy__intro > div:first-child > span,
.vs-alchemy__kicker,
.vs-alchemy__help > div > span {
  color: #73a7ff;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.vs-alchemy__intro h2 {
  max-width: 780px;
  margin: 8px 0 10px;
  color: #fff;
  font-size: clamp(28px, 3.4vw, 48px);
  font-weight: 850;
  letter-spacing: -.045em;
  line-height: 1.03;
}

.vs-alchemy__intro p {
  max-width: 760px;
  margin: 0;
  color: #c5d5ee;
  font-size: 16px;
  line-height: 1.55;
}

.vs-alchemy__intro-note {
  display: flex;
  padding: 20px;
  flex-direction: column;
  gap: 6px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  background: rgba(255,255,255,.07);
}

.vs-alchemy__intro-note strong {
  color: #fff;
  font-size: 15px;
}

.vs-alchemy__intro-note span {
  color: #b9cae3;
  font-size: 12px;
  line-height: 1.45;
}

.vs-alchemy__presets {
  display: grid;
  margin: 18px 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.vs-alchemy__presets button {
  min-height: 72px;
  padding: 13px 16px;
  border: 1px solid #dbe5f3;
  border-radius: 13px;
  background: #fff;
  color: #66758d;
  font-size: 11px;
  line-height: 1.25;
  text-align: left;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.vs-alchemy__presets button strong {
  display: block;
  margin-top: 3px;
  color: #001b42;
  font-size: 16px;
  font-weight: 850;
}

.vs-alchemy__presets button:hover,
.vs-alchemy__presets button.is-active {
  border-color: #2c6bea;
  box-shadow: 0 9px 22px rgba(36, 103, 223, .10);
  transform: translateY(-1px);
}

.vs-alchemy__presets button.is-active {
  background: #eef4ff;
}

.vs-alchemy__presets [data-vs-calc-manual] {
  border-style: dashed;
}

.vs-product-alchemy {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  margin-top: 16px;
  padding: 14px 15px;
  border: 1px solid rgba(72, 145, 255, .34);
  border-radius: 14px;
  background: linear-gradient(120deg, #001b42, #06285b);
  box-shadow: 0 12px 28px rgba(0, 27, 66, .12);
}

.vs-product-alchemy__icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 12px;
  background: rgba(255, 255, 255, .1);
  color: #79dfff;
}

.vs-product-alchemy__icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.vs-product-alchemy__copy {
  display: grid;
  gap: 2px;
}

.vs-product-alchemy__copy strong {
  color: #fff;
  font-size: 15px;
  font-weight: 850;
}

.vs-product-alchemy__copy small {
  max-width: 520px;
  color: #bfd0e9;
  font-size: 11px;
  line-height: 1.45;
}

.vs-product-alchemy > a {
  padding: 10px 13px;
  border-radius: 10px;
  background: #2c6bea;
  color: #fff !important;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.vs-product-alchemy > a:hover {
  background: #1e5edb;
  text-decoration: none;
}

.vs-alchemy__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(410px, .92fr);
  align-items: start;
  gap: 18px;
}

.vs-alchemy__form,
.vs-alchemy__results {
  border: 1px solid #dce6f2;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(0, 31, 78, .07);
}

.vs-alchemy__form {
  padding: 28px;
}

.vs-alchemy__form fieldset {
  margin: 0;
  padding: 0 0 24px;
  border: 0;
}

.vs-alchemy__form fieldset + fieldset {
  padding-top: 24px;
  border-top: 1px solid #e2e9f2;
}

.vs-alchemy__form legend {
  margin: 0 0 15px;
  color: #001b42;
  font-size: 16px;
  font-weight: 850;
  letter-spacing: -.02em;
}

.vs-alchemy__fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.vs-alchemy__fields label {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 7px;
}

.vs-alchemy__fields label > span {
  color: #53627a;
  font-size: 11px;
  font-weight: 750;
}

.vs-alchemy__input {
  display: flex;
  height: 48px;
  align-items: center;
  overflow: hidden;
  border: 1px solid #d6e0ed;
  border-radius: 10px;
  background: #f9fbfe;
}

.vs-alchemy__input input,
.vs-alchemy__fields select {
  width: 100%;
  height: 48px;
  min-width: 0;
  padding: 0 13px;
  border: 1px solid #d6e0ed;
  border-radius: 10px;
  outline: 0;
  background: #f9fbfe;
  color: #001b42;
  font-size: 14px;
  font-weight: 750;
}

.vs-alchemy__input input {
  height: 46px;
  border: 0;
  background: transparent;
}

.vs-alchemy__input b {
  padding: 0 12px 0 4px;
  color: #7b8ba1;
  font-size: 10px;
  white-space: nowrap;
}

.vs-alchemy__input:focus-within,
.vs-alchemy__fields select:focus {
  border-color: #2d6de9;
  box-shadow: 0 0 0 3px rgba(45, 109, 233, .10);
}

.vs-alchemy__actions {
  display: flex;
  padding-top: 22px;
  gap: 9px;
  border-top: 1px solid #e2e9f2;
}

.vs-alchemy__actions button {
  min-height: 46px;
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 850;
}

.vs-alchemy__secondary {
  border: 1px solid #d5dfec;
  background: #fff;
  color: #324158;
}

.vs-alchemy__primary {
  margin-left: auto;
  border: 0;
  background: #2867e9;
  color: #fff;
}

.vs-alchemy__results {
  position: sticky;
  top: 18px;
  padding: 30px;
  background: #001b42;
  color: #fff;
}

.vs-alchemy__results h2 {
  margin: 6px 0 20px;
  color: #fff;
  font-size: 24px;
  font-weight: 850;
  letter-spacing: -.035em;
}

.vs-alchemy__warning {
  margin-bottom: 16px;
  padding: 12px 14px;
  border: 1px solid #ffd27d;
  border-radius: 10px;
  background: #fff6df;
  color: #6c4800;
  font-size: 11px;
  line-height: 1.45;
}

.vs-alchemy__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.vs-alchemy__stats > div {
  display: flex;
  min-height: 112px;
  padding: 15px;
  flex-direction: column;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 12px;
  background: rgba(255,255,255,.06);
}

.vs-alchemy__stats span {
  color: #aebed6;
  font-size: 10px;
  line-height: 1.3;
}

.vs-alchemy__stats strong {
  margin-top: auto;
  color: #fff;
  font-size: 22px;
  font-weight: 850;
}

.vs-alchemy__stats small {
  margin-top: 2px;
  color: #70a4ff;
  font-size: 9px;
  line-height: 1.3;
}

.vs-alchemy__summary {
  display: flex;
  margin: 16px 0;
  padding: 13px 0;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(255,255,255,.14);
  border-bottom: 1px solid rgba(255,255,255,.14);
  color: #b9c8dc;
  font-size: 11px;
}

.vs-alchemy__summary strong {
  color: #fff;
  font-size: 13px;
}

.vs-alchemy__results table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  color: #c5d3e6;
  font-size: 11px;
}

.vs-alchemy__results th,
.vs-alchemy__results td {
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,.10);
  text-align: left;
}

.vs-alchemy__results th:last-child,
.vs-alchemy__results td:last-child {
  text-align: right;
}

.vs-alchemy__shop {
  display: flex;
  margin-top: 18px;
  flex-wrap: wrap;
  gap: 8px;
}

.vs-alchemy__shop a {
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 8px;
  color: #fff !important;
  font-size: 10px;
  font-weight: 800;
  text-decoration: none !important;
}

.vs-alchemy__help {
  display: grid;
  margin-top: 18px;
  padding: 30px;
  grid-template-columns: 290px minmax(0, 1fr);
  gap: 34px;
  border: 1px solid #dce6f2;
  border-radius: 20px;
  background: #fff;
}

.vs-alchemy__help h2 {
  margin: 7px 0 0;
  color: #001b42;
  font-size: 25px;
  font-weight: 850;
  letter-spacing: -.035em;
}

.vs-alchemy__help ol {
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  list-style: none;
}

.vs-alchemy__help li {
  display: flex;
  padding: 16px;
  flex-direction: column;
  gap: 6px;
  border-radius: 12px;
  background: #f4f7fb;
}

.vs-alchemy__help li strong {
  color: #001b42;
  font-size: 13px;
}

.vs-alchemy__help li span {
  color: #68778d;
  font-size: 11px;
  line-height: 1.45;
}

.vs-alchemy__seo {
  display: grid;
  margin-top: 18px;
  padding: 30px;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
  gap: 28px;
  border: 1px solid #dce6f2;
  border-radius: 20px;
  background: #fff;
}

.vs-alchemy__seo-lead > span {
  display: block;
  margin-bottom: 8px;
  color: #2c6bea;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.vs-alchemy__seo h2 {
  margin: 0 0 12px;
  color: #001b42;
  font-size: clamp(25px, 2.1vw, 34px);
  line-height: 1.05;
}

.vs-alchemy__seo-lead p,
.vs-alchemy__faq p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.65;
}

.vs-alchemy__faq {
  border-top: 1px solid #e1e8f2;
}

.vs-alchemy__faq details {
  padding: 14px 4px;
  border-bottom: 1px solid #e1e8f2;
}

.vs-alchemy__faq summary {
  position: relative;
  padding-right: 26px;
  color: #001b42;
  cursor: pointer;
  font-size: 14px;
  font-weight: 800;
  list-style: none;
}

.vs-alchemy__faq summary::-webkit-details-marker {
  display: none;
}

.vs-alchemy__faq summary::after {
  position: absolute;
  top: -2px;
  right: 3px;
  color: #2c6bea;
  content: "+";
  font-size: 20px;
  font-weight: 500;
}

.vs-alchemy__faq details[open] summary::after {
  content: "−";
}

.vs-alchemy__faq details[open] p {
  padding-top: 10px;
}

@media (max-width: 991.98px) {
  .vs-alchemy__intro {
    grid-template-columns: 1fr;
  }

  .vs-alchemy__intro-note {
    max-width: 560px;
  }

  .vs-alchemy__layout {
    grid-template-columns: 1fr;
  }

  .vs-alchemy__results {
    position: static;
  }

  .vs-alchemy__help {
    grid-template-columns: 1fr;
  }

  .vs-alchemy__seo {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  body.cms-id-7 #main .page-header {
    margin-top: 8px;
    padding: 0 12px;
  }

  body.cms-id-7 .vs-alchemy {
    width: calc(100% - 18px);
    margin: 12px auto 42px;
  }

  .vs-alchemy__intro {
    min-height: 0;
    padding: 24px 20px;
    gap: 20px;
    border-radius: 16px;
  }

  .vs-alchemy__intro h2 {
    font-size: 30px;
  }

  .vs-alchemy__intro p {
    font-size: 13px;
  }

  .vs-alchemy__presets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vs-alchemy__presets [data-vs-calc-manual] {
    grid-column: 1 / -1;
  }

  .vs-product-alchemy {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 11px;
    padding: 13px;
  }

  .vs-product-alchemy__icon {
    width: 40px;
    height: 40px;
  }

  .vs-product-alchemy > a {
    grid-column: 1 / -1;
    text-align: center;
  }

  .vs-alchemy__form,
  .vs-alchemy__results,
  .vs-alchemy__help,
  .vs-alchemy__seo {
    padding: 20px 16px;
    border-radius: 16px;
  }

  .vs-alchemy__fields {
    grid-template-columns: 1fr;
  }

  .vs-alchemy__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vs-alchemy__actions .vs-alchemy__primary {
    grid-column: 1 / -1;
    margin: 0;
  }

  .vs-alchemy__stats {
    grid-template-columns: 1fr 1fr;
  }

  .vs-alchemy__stats > div {
    min-height: 102px;
    padding: 12px;
  }

  .vs-alchemy__stats strong {
    font-size: 19px;
  }

  .vs-alchemy__help ol {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  #iqitmegamenu-mobile {
    width: min(360px, 92vw) !important;
    max-width: 360px !important;
    box-shadow: 18px 0 42px rgba(0, 23, 56, .24);
  }

  #iqitmegamenu-mobile .mobile-menu__content {
    margin: 0 !important;
    padding: 18px 16px !important;
  }

  #iqitmegamenu-mobile .mobile-menu__scroller {
    padding: 0 !important;
  }

  #iqitmegamenu-mobile .vs-mobile-all-link {
    margin: 0 0 8px;
    list-style: none;
  }

  #iqitmegamenu-mobile .vs-mobile-all-link a {
    display: flex;
    min-height: 46px;
    padding: 11px 13px;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #cfe0ff;
    border-radius: 9px;
    background: #edf4ff;
    color: #175ccf !important;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
  }

  #iqitmegamenu-mobile .vs-mobile-all-link a::after {
    content: "→";
  }

  #iqitmegamenu-mobile .vs-mobile-menu-offers {
    margin-top: 8px;
    padding: 0 12px;
    border: 0 !important;
    border-radius: 9px;
    background: #2867e9;
  }

  #iqitmegamenu-mobile .vs-mobile-menu-offers > .mobile-menu__link {
    color: #fff !important;
    font-weight: 800 !important;
  }
}

#cbp-hrmenu .vs-mega-intro__title {
  color: #071a39;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

#cbp-hrmenu .vs-mega-intro__detail {
  color: #748198;
  font-size: 11px;
}

#cbp-hrmenu.cbp-horizontal .cbp-hrsub-inner {
  padding-top: 54px !important;
}

#cbp-hrmenu > ul > li.vs-menu-offers > a.nav-link {
  margin: 4px 3px;
  padding: 0 17px !important;
  border-radius: 7px;
  background: rgba(0, 23, 56, .22);
}
#index .elementor-element-f3huvob {
  width: min(1320px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
  padding: 8px 0 18px !important;
}

#index .elementor-element-f3huvob > .elementor-container,
#index .elementor-element-f3huvob .elementor-widget-container,
#index .elementor-element-f3huvob .elementor-brands-carousel {
  width: 100% !important;
  max-width: none !important;
}

#index .elementor-element-f3huvob .elementor-brands-carousel {
  height: 122px !important;
}

#index .elementor-element-f3huvob .swiper-pagination {
  display: none !important;
}

#index .elementor-element-f3huvob .swiper-slide img {
  max-width: 96px !important;
  height: 76px !important;
  opacity: .8;
}

@media (max-width: 767.98px) {
  #iqitmegamenu-mobile .mobile-menu__content,
  #iqitmegamenu-mobile .mobile-menu__scroller {
    background: #fff !important;
    opacity: 1 !important;
  }

  body.vs-mobile-top .whatsapp.whatsapp_1,
  body.vs-mobile-top #lgcookieslaw_fixed_button {
    display: none !important;
  }

  #index .vs-posthero .elementor-element-gr2p0jn .elementor-widget-container {
    display: block !important;
  }

  #index .vs-posthero .elementor-element-gr2p0jn .elementor-text-editor,
  #index .vs-home-intro__summary,
  #index .vs-home-intro__links {
    width: 100% !important;
    max-width: none !important;
  }

  #index .elementor-element-f3huvob {
    width: calc(100% - 32px) !important;
    padding: 4px 0 14px !important;
  }

  #index .elementor-element-f3huvob .elementor-brands-carousel {
    height: 108px !important;
  }

  #index .elementor-element-f3huvob .swiper-slide img {
    max-width: 76px !important;
    height: 60px !important;
  }
}

/* V16.2: directorio de marcas sobrio. Conserva todos los enlaces internos sin
   depender de logotipos de calidad y proporciones distintas. */
#index .elementor-element-uwu9ykr {
  width: min(1320px, calc(100% - 48px)) !important;
  margin: 64px auto 0 !important;
  padding: 0 !important;
  background: #fff !important;
}

#index .elementor-element-f3huvob {
  width: min(1320px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
  padding: 18px 0 42px !important;
  border: 0 !important;
  background: #fff !important;
}

#index .elementor-element-f3huvob .elementor-brands-carousel-wrapper,
#index .elementor-element-f3huvob .elementor-brands-carousel {
  height: auto !important;
  overflow: visible !important;
}

#index .elementor-element-f3huvob .swiper-wrapper {
  display: grid !important;
  width: 100% !important;
  height: auto !important;
  transform: none !important;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 8px;
}

#index .elementor-element-f3huvob .swiper-slide {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}

#index .elementor-element-f3huvob .swiper-slide a {
  display: flex;
  min-height: 46px;
  padding: 0 12px;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid #e2e8f1;
  border-radius: 10px;
  background: #f8fafc;
  color: #25344d !important;
  transition: border-color .18s ease, background .18s ease, color .18s ease,
    transform .18s ease;
}

#index .elementor-element-f3huvob .swiper-slide a::after {
  content: "›";
  color: #8a98aa;
  font-size: 18px;
  line-height: 1;
}

#index .elementor-element-f3huvob .swiper-slide a:hover,
#index .elementor-element-f3huvob .swiper-slide a:focus-visible {
  border-color: #9cbaf6;
  background: #f1f6ff;
  color: #174eb9 !important;
  transform: translateY(-1px);
}

#index .elementor-element-f3huvob .swiper-slide img,
#index .elementor-element-f3huvob .swiper-button-prev,
#index .elementor-element-f3huvob .swiper-button-next,
#index .elementor-element-f3huvob .swiper-pagination {
  display: none !important;
}

#index .elementor-element-f3huvob .vs-brand-name {
  overflow: hidden;
  font-size: 12px;
  font-weight: 760;
  letter-spacing: 0;
  line-height: 1.2;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 767.98px) {
  #index .elementor-element-uwu9ykr,
  #index .elementor-element-f3huvob {
    width: calc(100% - 32px) !important;
  }

  #index .elementor-element-uwu9ykr {
    margin-top: 46px !important;
  }

  #index .elementor-element-f3huvob {
    padding: 14px 0 32px !important;
  }

  #index .elementor-element-f3huvob .elementor-brands-carousel-wrapper,
  #index .elementor-element-f3huvob .elementor-brands-carousel {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  #index .elementor-element-f3huvob .elementor-brands-carousel::-webkit-scrollbar {
    display: none;
  }

  #index .elementor-element-f3huvob .swiper-wrapper {
    display: flex !important;
    width: max-content !important;
    gap: 8px;
  }

  #index .elementor-element-f3huvob .swiper-slide {
    width: 148px !important;
    flex: 0 0 148px;
    scroll-snap-align: start;
  }
}

/* El estado hover nunca debe ocultar información comercial de una tarjeta. */
.product-miniature:hover .product-brand,
.product-miniature:hover .product-brand a,
.product-miniature:focus-within .product-brand,
.product-miniature:focus-within .product-brand a {
  opacity: 1 !important;
  color: #667791 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

/* Newsletter: recupera el formulario real y lo presenta como una banda útil. */
#footer-container-first {
  border-top: 1px solid #dfe7f2;
  border-bottom: 1px solid #dfe7f2;
  background: #f4f7fc !important;
}

#footer-container-first .vs-newsletter {
  display: grid;
  padding: 30px 0 !important;
  grid-template-columns: minmax(300px, .9fr) minmax(420px, 1.1fr);
  gap: 48px;
  align-items: center;
}

.vs-newsletter__copy > span {
  display: block;
  margin-bottom: 7px;
  color: #2867e9;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.vs-newsletter__copy .like_h5 {
  margin: 0;
  color: #071a39 !important;
  font-size: clamp(22px, 2vw, 28px) !important;
  font-weight: 820;
  letter-spacing: -.025em;
  line-height: 1.14;
}

.vs-newsletter__copy p {
  margin: 9px 0 0;
  color: #647289;
  font-size: 13px;
  line-height: 1.5;
}

.vs-newsletter__form .ps-emailsubscription-block,
.vs-newsletter__form form {
  width: 100%;
  margin: 0;
}

.vs-newsletter__form .newsletter-input-group {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  border: 1px solid #cbd7e8;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0, 23, 56, .06);
}

.vs-newsletter__form input[type="email"] {
  width: 100%;
  min-height: 50px;
  padding: 0 16px !important;
  border: 0 !important;
  background: #fff !important;
  color: #13233d !important;
  box-shadow: none !important;
}

.vs-newsletter__form .btn-subscribe {
  min-width: 148px;
  min-height: 50px;
  border: 0 !important;
  border-radius: 0 !important;
  background: #2867e9 !important;
  color: #fff !important;
}

.vs-newsletter__form .btn-subscribe i {
  display: none;
}

.vs-newsletter__form .btn-subscribe::after {
  content: "Suscribirme";
  font-size: 13px;
  font-weight: 800;
}

.vs-newsletter__form .ps-emailsubscription-conditions {
  margin: 9px 0 0 !important;
  color: #68778e !important;
  font-size: 11px;
  line-height: 1.4;
}

/* Ficha de producto: jerarquía más clara y sin descripción duplicada. */
























































/* Venta cruzada real del módulo Related Products by Product Feature. */












































/* Productos relacionados: menos elementos, más legibilidad y CTA directo. */






































@media (max-width: 767.98px) {
  #footer-container-first .vs-newsletter {
    padding: 26px 0 !important;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .vs-newsletter__copy .like_h5 {
    font-size: 23px !important;
  }

  .vs-newsletter__form .newsletter-input-group {
    grid-template-columns: 1fr;
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
    gap: 9px;
  }

  .vs-newsletter__form input[type="email"],
  .vs-newsletter__form .btn-subscribe {
    min-height: 48px;
    border: 1px solid #cbd7e8 !important;
    border-radius: 9px !important;
  }

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  
}

/* V17.16 — Megamenu desktop a ancho completo con panel visual. */
@media (min-width: 992px) {
  #desktop-header,
  #iqitmegamenu-wrapper,
  #iqitmegamenu-horizontal,
  #cbp-hrmenu {
    position: relative;
    z-index: 10020 !important;
    overflow: visible !important;
  }

  #cbp-hrmenu.cbp-horizontal .cbp-hrsub {
    z-index: 10030 !important;
    left: 50% !important;
    right: auto !important;
    width: 100vw !important;
    max-width: none !important;
    margin-left: -50vw !important;
    border-right: 0 !important;
    border-left: 0 !important;
    background: #fff !important;
  }

  #cbp-hrmenu.cbp-horizontal .cbp-hrsub-inner {
    position: relative;
    width: min(1500px, calc(100% - 48px)) !important;
    max-width: 1500px !important;
    min-height: 214px !important;
    margin: 0 auto !important;
    padding: 58px 270px 22px 24px !important;
    background: #fff;
  }

  #cbp-hrmenu .iqitmegamenu-submenu-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #cbp-hrmenu .menu_row {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    gap: 12px 22px !important;
  }

  #cbp-hrmenu .vs-mega-intro {
    top: 19px;
    left: 24px;
  }

  #cbp-hrmenu .vs-mega-all-link {
    top: 17px;
    right: 270px;
  }

  #cbp-hrmenu .vs-mega-visual {
    position: absolute;
    top: 18px;
    right: 24px;
    bottom: 18px;
    display: block;
    width: 220px;
    overflow: hidden;
    border: 1px solid #d8e4f4;
    border-radius: 15px;
    background: linear-gradient(145deg, #eef4ff 0%, #fff 72%);
    color: #001b42 !important;
    text-decoration: none !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
  }

  #cbp-hrmenu .vs-mega-visual:hover,
  #cbp-hrmenu .vs-mega-visual:focus-visible {
    border-color: #91b4ef;
    box-shadow: 0 12px 28px rgba(0, 45, 110, .12);
    transform: translateY(-2px);
  }

  #cbp-hrmenu .vs-mega-visual__copy {
    position: relative;
    z-index: 2;
    display: flex;
    padding: 17px 16px;
    flex-direction: column;
    align-items: flex-start;
  }

  #cbp-hrmenu .vs-mega-visual__copy small {
    color: #2467df;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
  }

  #cbp-hrmenu .vs-mega-visual__copy strong {
    margin-top: 4px;
    color: #001b42;
    font-size: 17px;
    font-weight: 850;
    letter-spacing: -.025em;
    line-height: 1.1;
  }

  #cbp-hrmenu .vs-mega-visual__copy > span {
    max-width: 152px;
    margin-top: 6px;
    color: #61718a;
    font-size: 10px;
    line-height: 1.35;
  }

  #cbp-hrmenu .vs-mega-visual__copy b {
    margin-top: 9px;
    color: #1f62da;
    font-size: 10px;
    font-weight: 850;
  }

  #cbp-hrmenu .vs-mega-visual img {
    position: absolute;
    right: -4px;
    bottom: -7px;
    width: 132px;
    height: 132px;
    object-fit: contain;
    mix-blend-mode: multiply;
    filter: drop-shadow(0 10px 13px rgba(0, 31, 78, .11));
    transition: transform .2s ease;
  }

  #cbp-hrmenu .vs-mega-visual:hover img {
    transform: translate(-3px, -2px) scale(1.04);
  }
}

/* Reafirma el masthead de categoria tras las reglas heredadas de V16. */








/* Source: vapesence-proposal-v18.current.css */
/* VapEsence visual proposal V18 — clone only. */
/* Elementor stretches full-width rows against the visual viewport. Keep its
   sub-pixel/scrollbar compensation from creating a horizontal page scroll. */
html {
  overflow-x: clip;
}

/* Keep the primary product photo visible until the hover photo itself fades in. */
.product-miniature .product-thumbnail picture + picture {
  background: transparent !important;
  pointer-events: none;
}

/* Consentimiento de cookies: misma identidad que la tienda, sin cambiar la lógica legal. */
#lgcookieslaw_banner.lgcookieslaw-banner-floating {
  top: auto !important;
  right: auto !important;
  bottom: 22px !important;
  left: 22px !important;
  width: min(520px, calc(100vw - 44px)) !important;
  max-width: 520px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  border-radius: 18px !important;
  background: #00102a !important;
  box-shadow: 0 24px 64px rgba(0, 16, 42, .32) !important;
  color: #fff !important;
  transform: none !important;
}

/* Do not stack two blocking consent layers. Cookies become available as soon
   as Bootstrap closes the age-verification modal. */
body:has(#ageVerificationOverlay.show) #lgcookieslaw_banner {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#lgcookieslaw_banner > .container {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 22px !important;
  gap: 16px;
}

#lgcookieslaw_banner .lgcookieslaw-banner-message,
#lgcookieslaw_banner .lgcookieslaw-banner-message p {
  margin: 0 !important;
  color: rgba(255, 255, 255, .84) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

#lgcookieslaw_banner .lgcookieslaw-link-container {
  display: flex !important;
  margin-top: 10px !important;
  flex-wrap: wrap;
  gap: 5px 16px;
}

#lgcookieslaw_banner .lgcookieslaw-link {
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(255, 255, 255, .45) !important;
  text-underline-offset: 3px;
}

#lgcookieslaw_banner .lgcookieslaw-button-container {
  display: grid !important;
  width: 100% !important;
  margin: 0 !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px !important;
}

#lgcookieslaw_banner .lgcookieslaw-button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  border: 1px solid rgba(255, 255, 255, .72) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .01em;
  line-height: 1.2 !important;
  text-transform: none !important;
}

#lgcookieslaw_banner .lgcookieslaw-reject-button {
  background: #fff !important;
  color: #00102a !important;
}

#lgcookieslaw_banner .lgcookieslaw-accept-button {
  border-color: #2867e9 !important;
  background: #2867e9 !important;
  color: #fff !important;
}

#lgcookieslaw_banner .lgcookieslaw-reject-button:hover,
#lgcookieslaw_banner .lgcookieslaw-reject-button:focus-visible {
  border-color: #dbe7ff !important;
  background: #eef4ff !important;
}

#lgcookieslaw_banner .lgcookieslaw-accept-button:hover,
#lgcookieslaw_banner .lgcookieslaw-accept-button:focus-visible {
  border-color: #1f57cb !important;
  background: #1f57cb !important;
}

.lgcookieslaw-overlay {
  background: rgba(0, 16, 42, .52) !important;
  backdrop-filter: blur(2px);
}

#lgcookieslaw_modal.lgcookieslaw-modal {
  overflow: hidden !important;
  border: 1px solid #dce5f2 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 28px 80px rgba(0, 16, 42, .28) !important;
}

#lgcookieslaw_modal .lgcookieslaw-modal-header {
  border: 0 !important;
  background: #00102a !important;
  color: #fff !important;
}

#lgcookieslaw_modal .lgcookieslaw-modal-header-title {
  color: #fff !important;
  font-weight: 800 !important;
}

#lgcookieslaw_modal .lgcookieslaw-modal-footer {
  border-top: 1px solid #e4eaf2 !important;
  background: #f7f9fc !important;
}

#lgcookieslaw_modal .lgcookieslaw-button {
  min-height: 42px !important;
  border-radius: 9px !important;
  font-weight: 750 !important;
}

#lgcookieslaw_modal .lgcookieslaw-accept-button,
#lgcookieslaw_modal .lgcookieslaw-partial-accept-button {
  border-color: #2867e9 !important;
  background: #2867e9 !important;
  color: #fff !important;
}

#lgcookieslaw_modal .lgcookieslaw-reject-button,
#lgcookieslaw_modal .lgcookieslaw-cancel-button {
  border: 1px solid #c8d4e5 !important;
  background: #fff !important;
  color: #00102a !important;
}

#lgcookieslaw_fixed_button {
  border-color: #2867e9 !important;
  background: #2867e9 !important;
  box-shadow: 0 10px 28px rgba(0, 16, 42, .22) !important;
}

@media (max-width: 575.98px) {
  #lgcookieslaw_banner.lgcookieslaw-banner-floating {
    right: 10px !important;
    bottom: 10px !important;
    left: 10px !important;
    width: auto !important;
    max-width: none !important;
    border-radius: 14px !important;
  }

  #lgcookieslaw_banner > .container {
    padding: 16px !important;
    gap: 13px;
  }

  #lgcookieslaw_banner .lgcookieslaw-banner-message,
  #lgcookieslaw_banner .lgcookieslaw-banner-message p {
    font-size: 12px !important;
    line-height: 1.48 !important;
  }

  #lgcookieslaw_banner .lgcookieslaw-link-container {
    margin-top: 8px !important;
    gap: 4px 12px;
  }

  #lgcookieslaw_banner .lgcookieslaw-button {
    min-height: 44px !important;
    padding: 9px 8px !important;
    font-size: 11px !important;
  }

  #lgcookieslaw_modal.lgcookieslaw-modal {
    width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
    border-radius: 14px !important;
  }

  #ageVerificationOverlay .modal-dialog {
    width: calc(100vw - 20px) !important;
    max-width: 520px !important;
    margin: 10px auto !important;
  }

  #ageVerificationPopup {
    padding: 22px 18px !important;
  }

  #ageVerificationPopup .form-group.tc-center {
    display: grid !important;
    width: 100% !important;
    max-width: 330px !important;
    margin: 16px auto 20px !important;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: start !important;
    gap: 10px !important;
    text-align: left !important;
    white-space: normal !important;
  }

  #ageVerificationPopup .form-group.tc-center input {
    width: 18px !important;
    height: 18px !important;
    margin: 2px 0 0 !important;
  }

  #ageVerificationPopup .form-group.tc-center label {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow-wrap: anywhere;
    white-space: normal !important;
  }

  #ageVerificationPopup .btn-group {
    width: 100% !important;
    gap: 10px !important;
  }

  #ageVerificationPopup .btn-group .btn {
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 9px 12px !important;
  }
}

/* Do not reserve a blank sidebar when a category has neither facets nor a
   useful category-navigation block. Product results then use the full row. */




/* SEO local pilot: a clone-only editorial landing, aligned with the approved
   Vapesence identity and deliberately free of location/fake-store signals. */
#cms .vs-local-page {
  --vs-local-navy: #00102a;
  --vs-local-blue: #1858d6;
  --vs-local-ink: #071a38;
  --vs-local-muted: #60708a;
  --vs-local-line: #dce4f0;
  --vs-local-surface: #f5f8fd;
  max-width: 1320px;
  margin: 0 auto 72px;
  color: var(--vs-local-ink);
}

#cms .vs-local-page * {
  box-sizing: border-box;
}

#cms .vs-local-page h2,
#cms .vs-local-page h3,
#cms .vs-local-page p {
  color: inherit;
}

#cms .vs-local-page h2 {
  margin: 0 0 16px;
  font-size: clamp(28px, 3.2vw, 48px);
  line-height: 1.05;
  letter-spacing: -.035em;
}

#cms .vs-local-page h3 {
  margin: 28px 0 10px;
  font-size: 21px;
  line-height: 1.25;
}

#cms .vs-local-page p {
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.7;
}

#cms .vs-local-eyebrow {
  margin: 0 0 13px !important;
  color: var(--vs-local-blue) !important;
  font-size: 12px !important;
  font-weight: 800;
  line-height: 1.2 !important;
  letter-spacing: .13em;
  text-transform: uppercase;
}

#cms .vs-local-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(290px, .75fr);
  gap: 24px;
  padding: clamp(28px, 5vw, 68px);
  overflow: hidden;
  border-radius: 22px;
  background: var(--vs-local-navy);
  color: #fff;
}

#cms .vs-local-hero__copy {
  max-width: 760px;
}

#cms .vs-local-hero__copy p:not(.vs-local-eyebrow) {
  max-width: 680px;
  color: #d7dfed;
}

#cms .vs-local-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

#cms .vs-local-button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none !important;
  transition: transform .18s ease, background-color .18s ease, color .18s ease;
}

#cms .vs-local-button:hover,
#cms .vs-local-button:focus-visible {
  transform: translateY(-1px);
}

#cms .vs-local-button--primary {
  background: var(--vs-local-blue);
  color: #fff !important;
}

#cms .vs-local-button--primary:hover,
#cms .vs-local-button--primary:focus-visible {
  background: #1148b9;
}

#cms .vs-local-button--secondary {
  border-color: #b9c7db;
  background: #fff;
  color: var(--vs-local-navy) !important;
}

#cms .vs-local-hero .vs-local-button--secondary {
  border-color: #6d7f9a;
  background: transparent;
  color: #fff !important;
}

#cms .vs-local-delivery {
  align-self: stretch;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 16px;
  background: rgba(255,255,255,.07);
}

#cms .vs-local-delivery__label {
  display: block;
  margin-bottom: 34px;
  color: #9eb5d8;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

#cms .vs-local-delivery strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: clamp(25px, 2.5vw, 34px);
  line-height: 1.1;
}

#cms .vs-local-delivery p {
  margin-bottom: 20px;
  color: #fff;
  font-weight: 700;
  line-height: 1.45;
}

#cms .vs-local-delivery small {
  display: block;
  color: #bdc9db;
  font-size: 12px;
  line-height: 1.5;
}

#cms .vs-local-section,
#cms .vs-local-editorial,
#cms .vs-local-faq {
  margin-top: clamp(48px, 7vw, 88px);
}

#cms .vs-local-section > h2,
#cms .vs-local-faq > h2 {
  max-width: 780px;
}

#cms .vs-local-category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 26px;
}

#cms .vs-local-category {
  position: relative;
  display: flex;
  min-height: 190px;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--vs-local-line);
  border-radius: 14px;
  background: #fff;
  color: var(--vs-local-ink) !important;
  text-decoration: none !important;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

#cms .vs-local-category:hover,
#cms .vs-local-category:focus-visible {
  border-color: var(--vs-local-blue);
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(0,16,42,.08);
}

#cms .vs-local-category span {
  margin-bottom: 16px;
  color: var(--vs-local-blue);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

#cms .vs-local-category strong {
  margin-bottom: 7px;
  font-size: 18px;
  line-height: 1.25;
}

#cms .vs-local-category small {
  padding-right: 24px;
  color: var(--vs-local-muted);
  font-size: 13px;
  line-height: 1.45;
}

#cms .vs-local-category b {
  position: absolute;
  right: 22px;
  bottom: 20px;
  color: var(--vs-local-blue);
  font-size: 20px;
}

#cms .vs-local-editorial {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(290px, .65fr);
  gap: clamp(28px, 6vw, 76px);
  padding: clamp(30px, 5vw, 64px);
  border-radius: 20px;
  background: var(--vs-local-surface);
}

#cms .vs-local-editorial > div:first-child {
  max-width: 760px;
}

#cms .vs-local-text-link {
  color: var(--vs-local-blue) !important;
  font-weight: 800;
  text-decoration: none !important;
}

#cms .vs-local-support {
  align-self: start;
  padding: 26px;
  border: 1px solid var(--vs-local-line);
  border-radius: 14px;
  background: #fff;
}

#cms .vs-local-support h3 {
  margin-top: 0;
}

#cms .vs-local-support p {
  color: var(--vs-local-muted);
  font-size: 14px;
}

#cms .vs-local-faq details {
  border-top: 1px solid var(--vs-local-line);
}

#cms .vs-local-faq details:last-of-type {
  border-bottom: 1px solid var(--vs-local-line);
}

#cms .vs-local-faq summary {
  position: relative;
  padding: 20px 44px 20px 0;
  color: var(--vs-local-ink);
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

#cms .vs-local-faq summary::-webkit-details-marker {
  display: none;
}

#cms .vs-local-faq summary::after {
  content: "+";
  position: absolute;
  top: 18px;
  right: 4px;
  color: var(--vs-local-blue);
  font-size: 24px;
  font-weight: 400;
}

#cms .vs-local-faq details[open] summary::after {
  content: "−";
}

#cms .vs-local-faq details p {
  max-width: 850px;
  padding: 0 40px 20px 0;
  color: var(--vs-local-muted);
  font-size: 14px;
}

#cms .vs-local-review {
  margin-top: 28px !important;
  color: var(--vs-local-muted) !important;
  font-size: 12px !important;
}

@media (max-width: 991px) {
  #cms .vs-local-hero,
  #cms .vs-local-editorial {
    grid-template-columns: 1fr;
  }

  #cms .vs-local-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #cms .vs-local-delivery__label {
    margin-bottom: 18px;
  }
}

@media (max-width: 575px) {
  #cms .vs-local-page {
    margin-bottom: 48px;
  }

  #cms .vs-local-page h2 {
    font-size: 30px;
  }

  #cms .vs-local-hero,
  #cms .vs-local-editorial {
    padding: 24px 18px;
    border-radius: 14px;
  }

  #cms .vs-local-actions,
  #cms .vs-local-button {
    width: 100%;
  }

  #cms .vs-local-category-grid {
    grid-template-columns: 1fr;
  }

  #cms .vs-local-category {
    min-height: 156px;
  }

  #cms .vs-local-section,
  #cms .vs-local-editorial,
  #cms .vs-local-faq {
    margin-top: 46px;
  }
}

/* Portable/compact desktop: three useful catalogue cards beside the filter.
   Four cards at this width made names and actions feel cramped. */


:root {
  --vs18-navy: #00102a;
  --vs18-blue: #1858d6;
  --vs18-blue-strong: #1148b8;
  --vs18-ink: #071a39;
  --vs18-muted: #617087;
  --vs18-line: #dfe6f0;
  --vs18-surface: #f5f7fb;
}

.vs-newsletter input[type="email"]::placeholder {
  color: var(--vs18-muted) !important;
  opacity: 1 !important;
}









@media (min-width: 992px) {
  #desktop-header,
  #desktop-header .header-top,
  #desktop-header-container {
    background: var(--vs18-navy) !important;
    background-image: none !important;
  }

  #desktop-header .header-top,
  #desktop-header-container {
    min-height: 76px;
  }

  #desktop-header .header-top {
    height: 76px !important;
    padding: 0 !important;
  }

  #desktop-header-container {
    padding: 14px 20px !important;
  }

  #desktop-header-container > .row {
    display: grid !important;
    grid-template-columns: 250px minmax(360px, 1fr) max-content;
    min-height: 48px;
    gap: 24px;
    align-items: center;
    margin: 0 !important;
  }

  #desktop-header .col-header-left,
  #desktop-header .col-header-center,
  #desktop-header .col-header-right {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    flex: none !important;
  }

  #desktop-header .col-header-right {
    justify-self: end;
  }

  #desktop-header .logo {
    max-width: 250px;
    max-height: 46px;
  }

  #desktop-header .form-search-control {
    width: min(100%, 860px) !important;
    min-height: 38px;
    margin: 0 auto !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: 0 5px 16px rgba(0, 0, 0, .1) !important;
  }

  #desktop-header .col-header-center {
    display: flex !important;
    justify-content: center;
  }

#desktop-header .col-header-center #search_widget,
#desktop-header .col-header-center #search_widget form,
#desktop-header .col-header-center #search_widget .input-group {
  width: clamp(280px, 40vw, 720px) !important;
  max-width: 720px !important;
}

  #desktop-header .col-header-right > .row {
    display: flex;
    gap: 7px;
    flex-wrap: nowrap;
    align-items: center;
  }

  #desktop-header .header-custom-html,
  #desktop-header .font_up_contact ul {
    margin: 0 !important;
  }

  #desktop-header .font_up_contact ul {
    display: flex !important;
    padding: 0 3px !important;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    background: rgba(255, 255, 255, .065);
    list-style: none !important;
  }

  #desktop-header .font_up_contact li {
    display: flex;
    min-height: 32px;
    margin: 0 !important;
    padding: 7px 10px !important;
    align-items: center;
    gap: 6px;
    color: rgba(255, 255, 255, .9) !important;
    font-size: 11.5px !important;
    line-height: 1 !important;
    white-space: nowrap;
  }

  #desktop-header .font_up_contact li + li {
    border-left: 1px solid rgba(255, 255, 255, .13);
  }

  #desktop-header .language-selector-wrapper .expand-more,
  #desktop-header .ps-languageselector .expand-more {
    display: flex;
    min-height: 32px;
    padding: 7px 9px;
    align-items: center;
    border-radius: 999px;
    color: rgba(255, 255, 255, .9) !important;
    font-size: 11.5px;
  }

  #iqitmegamenu-wrapper,
  #iqitmegamenu-horizontal,
  .sticky-desktop-wrapper #iqitmegamenu-horizontal {
    min-height: 42px !important;
    background: var(--vs18-navy) !important;
    background-image: none !important;
  }

  #iqitmegamenu-wrapper::before {
    background: var(--vs18-navy) !important;
  }

  #cbp-hrmenu > ul > li > a.nav-link,
  #cbp-hrmenu.cbp-horizontal > ul > li > a {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 21px !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 12.5px !important;
  }

  #cbp-hrmenu > ul > li:hover > a.nav-link,
  #cbp-hrmenu > ul > li.cbp-hropen > a.nav-link,
  #cbp-hrmenu > ul > li.current > a.nav-link {
    background: rgba(255, 255, 255, .055) !important;
    box-shadow: inset 0 -2px 0 #2c6df0 !important;
  }
}

#index .rev_slider_wrapper,
#index [class*="rev_slider_wrapper"] {
  box-shadow: inset 0 -3px 0 var(--vs18-blue) !important;
}

#index .vapesence-campaign-shell {
  position: relative !important;
}

#index .vapesence-campaign-shell::after {
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: 0;
  left: 0;
  height: 4px;
  background: var(--vs18-blue);
  content: "";
  pointer-events: none;
}

#index .vs-posthero .elementor-element-bazaz48,
#index .vs-posthero .usp-band,
#index .vs-posthero .usp-row {
  background: var(--vs18-blue) !important;
  background-image: none !important;
}

#index .vs-posthero .usp-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: min(100%, 1440px) !important;
  margin: 0 auto !important;
}

#index .vs-posthero .usp-item {
  display: grid !important;
  min-width: 0;
  min-height: 62px !important;
  padding: 10px 22px !important;
}

#index .vs-posthero .usp-item + .usp-item {
  border-left: 1px solid rgba(255, 255, 255, .16) !important;
}

#index .vs-posthero .vs-usp-icon,
#index .vs-posthero .vs-usp-icon svg,
#index .vs-posthero .usp-title {
  color: #fff !important;
  stroke: #fff !important;
}

#index .vs-posthero .usp-sub {
  color: rgba(255, 255, 255, .82) !important;
}

#index .vs-posthero .elementor-element-gr2p0jn {
  background: var(--vs18-surface) !important;
}

#index .vs-home-intro__links {
  gap: 10px !important;
  border: 0 !important;
}

#index .vs-home-intro__links a,
#index .vs-home-intro__links a:first-child {
  position: relative;
  min-height: 72px;
  padding: 14px 34px 14px 15px !important;
  border: 1px solid var(--vs18-line) !important;
  border-radius: 12px;
  background: #fff;
}

#index .vs-home-intro__links a::after {
  position: absolute;
  top: 50%;
  right: 14px;
  color: var(--vs18-blue);
  content: "→";
  font-size: 16px;
  transform: translateY(-50%);
}

#index .vs-home-products-heading,
#index .vs-home-products-grid {
  width: min(calc(100% - 40px), 1440px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

#index .vs-home-products-heading {
  margin-top: 44px !important;
  margin-bottom: 16px !important;
}

#index .vs-home-heading .elementor-heading-title {
  color: var(--vs18-ink) !important;
  font-size: clamp(25px, 2vw, 32px) !important;
}

#index .vs-home-products-grid .products-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin: 0 !important;
}

#index .vs-home-products-grid .js-product-miniature-wrapper,
#index .vs-home-products-grid .js-product-miniature-wrapper:nth-child(n/**/+3),
#index .vs-home-products-grid .js-product-miniature-wrapper:nth-child(n/**/+5) {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  flex: none !important;
}

#index .vs-home-products-grid .js-product-miniature-wrapper:nth-child(n/**/+5) {
  display: none !important;
}

#index .vs-home-products-grid .product-miniature {
  height: 100% !important;
  overflow: hidden;
  border: 1px solid var(--vs18-line) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgba(7, 26, 57, .055) !important;
}

#index .vs-home-products-grid .product-miniature:hover {
  border-color: rgba(24, 88, 214, .34) !important;
  box-shadow: 0 14px 34px rgba(7, 26, 57, .11) !important;
  transform: translateY(-3px);
}

#index .vs-home-products-grid .thumbnail-container {
  min-height: 0 !important;
  height: 240px !important;
  border: 0 !important;
  border-bottom: 1px solid #edf1f6 !important;
  border-radius: 0 !important;
  background: #fff !important;
}

#index .vs-home-products-grid .product-thumbnail,
#index .vs-home-products-grid .product-thumbnail picture {
  width: 100%;
  height: 100%;
}

#index .vs-home-products-grid .product-thumbnail {
  display: block !important;
  position: relative;
}

#index .vs-home-products-grid .product-thumbnail picture {
  display: block !important;
  position: absolute;
  inset: 0;
}

#index .vs-home-products-grid .product-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  padding: 18px !important;
  object-fit: contain !important;
  mix-blend-mode: normal !important;
  transform: scale(1.14);
}

#index .vs-home-products-grid img[alt*="Caliburn"],
#index .vs-home-products-grid img[alt*="Vprime"] {
  transform: scale(1.65);
}

@media (min-width: 1200px) and (max-width: 1350px) {
  #desktop-header-container > .row {
    grid-template-columns: 220px minmax(300px, 1fr) max-content;
    gap: 16px;
  }

  #desktop-header .font_up_contact li {
    padding-right: 7px !important;
    padding-left: 7px !important;
  }

  #desktop-header .font_up_contact li:nth-child(2) {
    max-width: 38px;
    overflow: hidden;
  }
}

/* Tablet and compact laptop: keep the real megamenu, remove the legacy top strip. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  #header > .header-nav {
    display: none !important;
  }

  #desktop-header-container > .row {
    grid-template-columns: 205px minmax(280px, 1fr) max-content !important;
    gap: 14px !important;
    min-height: 74px;
  }

  #desktop-header .font_up_contact li {
    padding-right: 6px !important;
    padding-left: 6px !important;
  }

  #desktop-header .font_up_contact li:nth-child(2) {
    display: none !important;
  }

  #desktop-header .col-header-center #search_widget,
  #desktop-header .col-header-center #search_widget form,
  #desktop-header .col-header-center #search_widget .input-group {
    width: clamp(280px, 35vw, 430px) !important;
  }

  #index .vs-home-intro__links {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow: visible !important;
  }

  #index .vs-home-intro__links a {
    min-width: 0 !important;
    height: auto !important;
  }

  #index .vs-home-intro__links a:nth-child(-n/**/+3) {
    grid-column: span 2;
  }

  #index .vs-home-intro__links a:nth-child(n/**/+4) {
    grid-column: span 3;
  }
}

#index .vs-home-products-grid .product-description {
  min-height: 238px;
  padding: 16px 17px 17px !important;
  background: #fff !important;
}

#index .vs-home-products-grid .product-title,
#index .vs-home-products-grid .product-title a {
  color: var(--vs18-ink) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

#index .vs-home-products-grid .product-title {
  display: block !important;
  min-height: 46px !important;
  max-height: 46px !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  overflow: hidden;
}

#index .vs-home-products-grid .product-title a {
  display: -webkit-box !important;
  min-height: 0 !important;
  max-height: 46px !important;
  padding: 0 !important;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#index .vs-home-products-grid .product-price-and-shipping {
  display: flex !important;
  min-height: 30px;
  margin: 0 0 7px !important;
  align-items: center;
  justify-content: center;
}

#index .vs-home-products-grid .product-price {
  color: var(--vs18-ink) !important;
  font-size: 20px !important;
}

#index .vs-home-products-grid .product-description-short {
  display: -webkit-box !important;
  min-height: 37px;
  max-height: 37px;
  margin: 7px 0 10px !important;
  overflow: hidden;
  color: var(--vs18-muted) !important;
  font-size: 11.5px !important;
  line-height: 1.55 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#index .vs-home-products-grid .product-add-cart,
#index .vs-home-products-grid .input-group-add-cart {
  display: flex !important;
  width: 100% !important;
  margin-top: auto !important;
}

#index .vs-home-products-grid .add-to-cart {
  min-height: 42px !important;
  border-radius: 10px !important;
  background: var(--vs18-blue) !important;
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  #header > .header-nav {
    display: none !important;
  }

  #index .vs-home-products-grid .products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #index .vs-home-products-grid .js-product-miniature-wrapper:nth-child(n/**/+5) {
    display: none !important;
  }
}

/* V18.2 — Longfill: replace the sparse legacy submenu with a useful,
   catalog-backed guide. This remains a presentation layer: the module data
   and the underlying category tree are not rewritten. */
@media (min-width: 992px) {
  #cbp-hrmenu .vs-mega-longfill .iqitmegamenu-submenu-container {
    display: none !important;
  }

  #cbp-hrmenu .vs-mega-longfill .cbp-hrsub-inner {
    min-height: 278px !important;
    padding: 62px 286px 22px 24px !important;
  }

  #cbp-hrmenu .vs-mega-guide {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    width: 100%;
    min-width: 0;
    border: 1px solid #dce4f0;
    border-radius: 14px;
    background: #fff;
  }

  #cbp-hrmenu .vs-mega-guide__group {
    min-width: 0;
    padding: 17px 18px 15px;
  }

  #cbp-hrmenu .vs-mega-guide__group + .vs-mega-guide__group {
    border-left: 1px solid #e4e9f1;
  }

  #cbp-hrmenu .vs-mega-guide__title {
    display: block;
    margin-bottom: 8px;
    color: #071a38;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .07em;
    line-height: 1.25;
    text-transform: uppercase;
  }

  #cbp-hrmenu .vs-mega-guide a {
    position: relative;
    display: block;
    min-height: 28px;
    padding: 6px 18px 6px 0;
    color: #52627a !important;
    font-size: 11.5px;
    font-weight: 650;
    line-height: 1.35;
    text-decoration: none !important;
  }

  #cbp-hrmenu .vs-mega-guide a::after {
    position: absolute;
    top: 6px;
    right: 0;
    color: #1858d6;
    content: "→";
    opacity: 0;
    transform: translateX(-4px);
    transition: opacity .16s ease, transform .16s ease;
  }

  #cbp-hrmenu .vs-mega-guide a:hover,
  #cbp-hrmenu .vs-mega-guide a:focus-visible {
    color: #1858d6 !important;
  }

  #cbp-hrmenu .vs-mega-guide a:hover::after,
  #cbp-hrmenu .vs-mega-guide a:focus-visible::after {
    opacity: 1;
    transform: translateX(0);
  }

  #cbp-hrmenu .vs-mega-longfill .vs-mega-visual {
    border-color: #dce4f0;
    background: #fff;
  }

  #cbp-hrmenu .vs-mega-longfill .vs-mega-all-link {
    right: 286px;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  #cbp-hrmenu .vs-mega-longfill .cbp-hrsub-inner {
    min-height: 386px !important;
  }

  #cbp-hrmenu .vs-mega-guide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #cbp-hrmenu .vs-mega-guide__group:nth-child(3) {
    border-left: 0;
    border-top: 1px solid #e4e9f1;
  }

  #cbp-hrmenu .vs-mega-guide__group:nth-child(4) {
    border-top: 1px solid #e4e9f1;
  }
}

@media (max-width: 767.98px) {
  #iqitmegamenu-mobile .vs-mobile-longfill > .mobile-menu__submenu > ul > li:not(.vs-mobile-all-link):not(.vs-mobile-guide-item) {
    display: none !important;
  }

  #iqitmegamenu-mobile .vs-mobile-guide-item {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #iqitmegamenu-mobile .vs-mobile-guide {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  #iqitmegamenu-mobile .vs-mobile-guide__group {
    min-width: 0;
    padding: 12px;
    border: 1px solid #dce4f0;
    border-radius: 10px;
    background: #fff;
  }

  #iqitmegamenu-mobile .vs-mobile-guide__title {
    display: block;
    margin-bottom: 6px;
    color: #071a38;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .06em;
    line-height: 1.25;
    text-transform: uppercase;
  }

  #iqitmegamenu-mobile .vs-mobile-guide a {
    display: block;
    padding: 6px 0;
    color: #41516b !important;
    font-size: 11.5px;
    font-weight: 650;
    line-height: 1.3;
    text-decoration: none !important;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  #index .vs-home-products-grid .products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #index .vs-home-products-grid .js-product-miniature-wrapper:nth-child(n/**/+4) {
    display: none !important;
  }
}

@media (max-width: 991.98px) {
  #header {
    min-height: 57px !important;
  }

  #mobile-header-sticky,
  #mobile-header-sticky > .container {
    height: 57px !important;
    min-height: 57px !important;
    background: var(--vs18-navy) !important;
  }
}

@media (max-width: 767.98px) {
  #header {
    min-height: 90px !important;
  }

  #header .zone_upp_mobile,
  #header .zone_upp_mobile .elementor-section,
  #header .zone_upp_mobile .elementor-widget-container {
    background: var(--vs18-navy) !important;
  }

  #header .zone_upp_mobile .zone_headertop,
  #header .zone_upp_mobile .zone_headertop i,
  #header .zone_upp_mobile .zone_headertop span {
    color: #fff !important;
  }

  

  

  

  

  

  

  

  

  

  

  #index .vs-posthero .usp-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #index .vs-posthero .usp-item,
  #index .vs-posthero .usp-item:nth-child(n/**/+3) {
    display: grid !important;
    min-height: 50px !important;
    padding: 8px 10px !important;
    border-top: 0 !important;
  }

  #index .vs-posthero .usp-item:nth-child(odd) {
    border-left: 0 !important;
  }

  #index .vs-posthero .usp-item:nth-child(n/**/+3) {
    border-top: 1px solid rgba(255, 255, 255, .15) !important;
  }

  #index .vs-posthero .usp-sub {
    display: none !important;
  }

  #index .vs-home-intro__links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px !important;
    overflow: visible !important;
  }

  #index .vs-home-intro__links a,
  #index .vs-home-intro__links a:first-child {
    min-width: 0;
    min-height: 70px;
    padding: 12px 28px 12px 12px !important;
    flex: none !important;
  }

  #index .vs-home-intro__links a:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  #index .vs-home-products-heading,
  #index .vs-home-products-grid {
    width: 100% !important;
  }

  #index .vs-home-products-heading {
    width: calc(100% - 32px) !important;
    margin-top: 34px !important;
    margin-bottom: 14px !important;
  }

  #index .vs-home-products-grid .products-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 2px 12px 18px;
    overflow: visible;
  }

  #index .vs-home-products-grid .js-product-miniature-wrapper,
  #index .vs-home-products-grid .js-product-miniature-wrapper:nth-child(n/**/+3),
  #index .vs-home-products-grid .js-product-miniature-wrapper:nth-child(n/**/+5) {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    flex: none !important;
  }

  #index .vs-home-products-grid .js-product-miniature-wrapper:nth-child(n/**/+5) {
    display: none !important;
  }

  #index .vs-home-products-grid .thumbnail-container {
    height: 164px !important;
  }

  #index .vs-home-products-grid .product-description {
    min-height: 200px;
    padding: 12px 10px 11px !important;
  }

  #index .vs-home-products-grid .product-title,
  #index .vs-home-products-grid .product-title a {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
  }

  #index .vs-home-products-grid .product-title {
    min-height: 40px !important;
    max-height: 40px !important;
  }

  #index .vs-home-products-grid .product-title a {
    min-height: 0 !important;
    max-height: 40px !important;
  }

  #index .vs-home-products-grid .product-price {
    font-size: 18px !important;
  }

  #index .vs-home-products-grid .product-description-short {
    display: none !important;
  }

  #index .vs-home-products-grid .product-quantity .qty,
  #index .vs-home-products-grid .input-group-add-cart > .input-group {
    display: none !important;
  }

  #index .vs-home-products-grid .product-add-cart,
  #index .vs-home-products-grid .input-group-add-cart,
  #index .vs-home-products-grid .add-to-cart {
    width: 100% !important;
  }
}
/* Elementor stretches full-width rows against the visual viewport. Keep its
   sub-pixel/scrollbar compensation from creating a horizontal page scroll. */
html {
  overflow-x: clip;
}

/* V18.1 cascade guard: this final block deliberately follows Warehouse's
   catalogue and header rules. */
@media (min-width: 992px) {
  #desktop-header .col-header-center #search_widget,
  #desktop-header .col-header-center #search_widget form,
  #desktop-header .col-header-center #search_widget .input-group {
    width: clamp(300px, 36vw, 640px) !important;
    max-width: 640px !important;
  }

  #cbp-hrmenu > ul > li > a.nav-link,
  #cbp-hrmenu.cbp-horizontal > ul > li > a,
  #cbp-hrmenu > ul > li.current > a.nav-link,
  #cbp-hrmenu > ul > li.cbp-hropen > a.nav-link {
    margin: 0 !important;
    padding: 0 21px !important;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  #desktop-header .logo {
    width: auto !important;
    max-width: 198px !important;
    height: auto !important;
    object-fit: contain;
  }

  #desktop-header-container > .row {
    grid-template-columns: 200px minmax(300px, 1fr) max-content !important;
  }
}

#index .vs-home-products-grid .product-miniature,
#index .vs-home-products-grid .product-description {
  display: flex !important;
  flex-direction: column !important;
}

#index .vs-home-products-grid .product-title,
#index .vs-home-products-grid .product-title a,
#index .vs-home-products-grid .product-price-and-shipping,
#index .vs-home-products-grid .product-price {
  position: static !important;
}

#index .vs-home-products-grid .product-title {
  flex: 0 0 46px !important;
}

#index .vs-home-products-grid .product-price-and-shipping {
  flex: 0 0 auto !important;
  margin-top: 2px !important;
  margin-bottom: 8px !important;
}

#index .vs-home-products-grid .product-add-cart,
#index .vs-home-products-grid .input-group-add-cart {
  margin-top: auto !important;
}

@media (max-width: 767.98px) {
  #index .vs-home-products-grid .product-title {
    flex-basis: 40px !important;
  }

  /* Product conversion: keep the selected option visible without forcing
     long colour lists to push the buy button several screens down. */
  

  

  

  

  

  

  

  

  

  

  

  

  
}
