:root {
  --ls-blue: #4472c4;
  --ls-orange: #f58220;
  --ls-black: #111111;
  --ls-text: #171717;
  --ls-muted: #6b6b70;
  --ls-bg: #f4f4f6;
  --ls-soft: #f7f8fb;
  --ls-radius: 1.25rem;
}

* { box-sizing: border-box; }
html { font-size: 16px; }
body {
  margin: 0;
  font-family: Outfit, system-ui, sans-serif;
  color: var(--ls-text);
  background: #fff;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
h1, h2, h3 { line-height: 1.15; letter-spacing: -0.02em; }

.ls-skip,
.screen-reader-text {
  position: absolute;
  left: -999px;
  top: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.ls-skip:focus {
  left: 12px;
  top: 12px;
  z-index: 100;
  width: auto;
  height: auto;
  clip: auto;
  padding: 8px 12px;
  background: #fff;
  border-radius: 8px;
}

.ls-wrap {
  width: min(1440px, calc(100% - 40px));
  margin-inline: auto;
}

.ls-topbar {
  background: linear-gradient(90deg, var(--ls-blue) 0%, #5b86d6 42%, var(--ls-orange) 100%);
  color: #fff;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .01em;
  text-transform: none;
  text-align: left;
  padding: 7px 0;
  border-bottom: 0;
}
.ls-topbar a {
  color: #fff !important;
  text-decoration: none;
  white-space: nowrap;
}
.ls-topbar a:hover { opacity: .92; }
.ls-topbar-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: nowrap;
  min-height: 28px;
}
.ls-topbar-contacts {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.ls-topbar-phone,
.ls-topbar-wa {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 !important;
  font-size: 12.5px !important;
  font-weight: 700;
}
.ls-topbar-ico {
  display: inline-grid;
  place-items: center;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}
.ls-topbar-ico svg { display: block; }
.ls-topbar-sep {
  width: 1px;
  height: 14px;
  background: rgba(255,255,255,.45);
  flex: 0 0 1px;
}
.ls-topbar-wa-num {
  font-weight: 600;
  opacity: .92;
}
.ls-topbar-links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: nowrap;
  overflow-x: auto;
  min-width: 0;
  scrollbar-width: none;
}
.ls-topbar-links::-webkit-scrollbar { display: none; }
.ls-topbar-links a {
  padding: 0 !important;
  font-size: 12px !important;
  font-weight: 600;
  letter-spacing: .01em;
}
.ls-topbar-pipe {
  color: rgba(255,255,255,.55);
  font-weight: 400;
  user-select: none;
}

.ls-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #fff;
  box-shadow: 0 1px 0 rgba(0,0,0,.06);
  overflow: visible;
}
.ls-header-row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 10px 0;
}
.ls-logo { flex-shrink: 0; }
.ls-logo img,
.ls-logo .custom-logo {
  height: 52px;
  width: auto;
}
.ls-logo .custom-logo-link { display: inline-flex; }
.ls-nav-bar {
  flex: 1;
  border: 0;
  min-width: 0;
}
.ls-nav-bar-alone {
  flex: none;
  border: 0;
  padding: 0 0 14px;
  background: transparent;
}
.ls-nav-bar-alone .ls-wrap {
  position: relative;
}
.ls-nav-pill,
.ls-nav-bar-alone .ls-main-nav {
  background: var(--ls-blue);
  color: #fff;
  border-radius: 999px;
  padding: 4px 10px 4px 6px;
  box-shadow: 0 10px 28px rgba(68,114,196,.28);
}
.ls-search {
  display: none;
  flex: 1;
  cursor: text;
}
.ls-search input[readonly] {
  cursor: text;
}
.ls-search-always,
.ls-header.is-search .ls-search { display: block; }
@media (min-width: 961px) {
  .ls-search { display: block; }
}
.ls-header.is-search .ls-nav-bar { display: none; }
.ls-search input {
  width: 100%;
  height: 44px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 999px;
  background: var(--ls-bg);
  padding: 0 18px;
  font: inherit;
}
.ls-search-btn {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 999px;
  background: #fff;
  color: var(--ls-blue);
  padding: 0;
  cursor: pointer;
}
.ls-search-btn svg { display: block; }
.ls-cart-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  position: relative;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 999px;
  background: #fff;
}
.ls-account {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 999px;
  background: #fff;
  color: var(--ls-blue);
  padding: 0;
}
.ls-account-ico,
.ls-cart-ico {
  display: block;
  color: var(--ls-blue);
}
.ls-cart-link .ls-badge {
  position: absolute;
  top: -4px;
  right: -4px;
}
.ls-search-filters-btn {
  display: none;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  background: var(--ls-blue);
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.ls-search-filters-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ls-search-filters-done {
  display: none;
  height: 32px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  background: var(--ls-blue);
  color: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.ls-mobile-search {
  display: none !important;
}
.ls-search-mobile {
  position: relative;
  display: block;
  flex: none;
  margin: 0;
}
.ls-mobile-search-ico {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--ls-muted);
  font-size: 16px;
  pointer-events: none;
  z-index: 1;
}
.ls-search-mobile input {
  padding-left: 38px;
  height: 42px;
  background: #f3f5f9;
  border-color: rgba(17,17,17,.08);
}
.ls-header-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}
.ls-phone { font-size: 14px; color: var(--ls-muted); }
.ls-icon {
  position: relative;
  font-size: 13px;
  font-weight: 600;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font-family: inherit;
  color: inherit;
}
.ls-badge {
  position: absolute;
  top: -8px;
  right: -10px;
  min-width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--ls-orange);
  color: #fff;
  font-size: 10px;
  display: grid;
  place-items: center;
}
.ls-badge.is-empty { display: none; }
.ls-catalog-bar {
  background: var(--ls-blue);
  color: #fff;
  position: relative;
}
.ls-catalog-bar a { color: #fff; }
.ls-catalog-bar .current-menu-item > a { color: #fff; font-weight: 700; }
.ls-nav {
  display: flex;
  gap: 2px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: nowrap;
  align-items: center;
}
.ls-nav a {
  display: block;
  padding: 12px 14px;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}
.ls-main-nav {
  position: relative;
}
.ls-main-nav > li { position: relative; }
.ls-main-nav > li > a { color: #fff; }
.ls-main-nav > li > a:hover { color: #fff; }
.ls-main-nav .ls-caret {
  display: inline-block;
  margin-left: 4px;
  font-size: 10px;
  transform: translateY(-1px);
}
.ls-nav-vendi { margin-left: auto; }
.ls-nav-vendi > a {
  color: #ffd7a8 !important;
  font-weight: 700;
}
.ls-primary-nav > li { position: relative; }
.ls-main-nav .sub-menu,
.ls-primary-nav .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: #fff;
  color: var(--ls-text);
  list-style: none;
  margin: 0;
  padding: 8px 0;
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(0,0,0,.12);
  z-index: 50;
}
.ls-main-nav .sub-menu a,
.ls-primary-nav .sub-menu a { color: var(--ls-text); padding: 8px 16px; }
.ls-main-nav > li:hover > .sub-menu,
.ls-main-nav > li:focus-within > .sub-menu,
.ls-main-nav > li.is-open > .sub-menu,
.ls-primary-nav > li:hover > .sub-menu,
.ls-primary-nav > li:focus-within > .sub-menu,
.ls-primary-nav > li.is-open > .sub-menu { display: block; }
.ls-nav-bar .current-menu-item > a { color: #fff; }
.ls-menu-toggle {
  display: none;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
}

.ls-mega-trigger,
.ls-main-nav > .ls-mega-trigger { position: static; }
.ls-main-nav > .ls-mega-trigger > a.ls-mega-buy,
.ls-mega-trigger > a.ls-mega-buy {
  position: relative;
  z-index: 72;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  margin: 2px 0;
  border-radius: 999px;
  background: #fff;
  color: var(--ls-orange) !important;
  font-weight: 800;
  letter-spacing: .01em;
  box-shadow: 0 6px 16px rgba(17,17,17,.16);
  border: 1px solid rgba(255,255,255,.55);
  cursor: pointer;
}
.ls-main-nav > .ls-mega-trigger > a.ls-mega-buy:hover,
.ls-mega-trigger > a.ls-mega-buy:hover,
.ls-mega-trigger.is-open > a.ls-mega-buy {
  background: var(--ls-orange);
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(245,130,32,.35);
}
.ls-mega-trigger > a.ls-mega-buy .ls-caret {
  color: inherit;
  font-size: 11px;
}
/* Bridge only under Acquista button (not full mega width). */
.ls-mega-buy::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 18px;
}
.ls-mega-panel {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  background: #fff;
  color: var(--ls-text);
  padding: 18px 16px 14px;
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(17,17,17,.18);
  z-index: 70;
  overflow: visible;
}
.ls-mega-panel::before {
  content: none;
}
.ls-mega-trigger::after {
  content: none;
}
.ls-mega-trigger:hover > .ls-mega-panel,
.ls-mega-trigger:focus-within > .ls-mega-panel,
.ls-mega-trigger.is-open > .ls-mega-panel {
  display: block;
}
.ls-mega-cols {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 8px 10px;
}
.ls-mega-col {
  flex: 1 1 0;
  min-width: 0;
  max-width: none;
  padding-bottom: 4px;
}
.ls-mega-col.is-wide,
.ls-mega-col.is-iphone {
  grid-column: auto;
  min-width: 0;
}
.ls-mega-list.is-two-col {
  display: block;
  max-height: none;
  overflow: visible;
}
.ls-mega-col-head {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(17,17,17,.08);
}
.ls-mega-ico {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  color: var(--ls-orange);
  margin-top: 1px;
}
.ls-mega-ico svg {
  display: block;
  width: 20px;
  height: 20px;
}
.ls-mega-col-titles { min-width: 0; flex: 1; }
.ls-mega-title {
  display: block;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--ls-text) !important;
  padding: 0 !important;
  line-height: 1.25;
  white-space: normal;
}
.ls-mega-more {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-top: 3px;
  color: var(--ls-muted) !important;
  font-size: 12.5px !important;
  font-weight: 600;
  padding: 0 !important;
}
.ls-mega-more:hover { color: var(--ls-blue) !important; }
.ls-mega-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: none;
  overflow: visible;
}
.ls-mega-list a {
  display: block;
  padding: 6px 0 !important;
  color: var(--ls-muted) !important;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-bottom: 1px solid rgba(17,17,17,.05);
}
.ls-mega-list a:hover { color: var(--ls-text) !important; }

.ls-hero {
  background: linear-gradient(180deg, #f7f8fb 0%, #fff 70%);
  padding: 48px 0 40px;
}
.ls-hero-grid {
  display: grid;
  gap: 40px;
  align-items: center;
}
@media (min-width: 900px) {
  .ls-hero-grid { grid-template-columns: 1.1fr .9fr; }
}
.ls-kicker {
  color: var(--ls-blue);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  margin: 0 0 8px;
}
.ls-kicker-orange { color: var(--ls-orange); }
.ls-hero h1 {
  font-size: clamp(32px, 5vw, 54px);
  margin: 0 0 20px;
  max-width: 16ch;
}
.ls-hero-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 16px;
}
.ls-pill {
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 16px;
  border-radius: 10px;
  background: #7cb342;
  color: #fff !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ls-hero-list {
  color: var(--ls-muted);
  padding-left: 18px;
}
.ls-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.ls-hero-visual {
  min-height: 320px;
  background: radial-gradient(circle at 50% 40%, rgba(68,114,196,.16), transparent 55%);
  display: grid;
  place-items: center;
}
.ls-hero-visual img { max-height: 420px; object-fit: contain; }

.ls-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 22px;
  border: 1px solid #e07a18;
  border-bottom: 3px solid #c45e0c;
  border-radius: 999px;
  background: #f58220;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 4px 10px rgba(245,130,32,.25);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.ls-btn:hover {
  filter: brightness(1.04);
  color: #fff;
  transform: translateY(-4px);
  box-shadow: 0 12px 20px rgba(245,130,32,.32);
}
.ls-btn:active {
  border-bottom-width: 2px;
  transform: translateY(1px);
  box-shadow: inset 0 3px 8px rgba(140,50,0,.28);
}
.ls-btn-ghost {
  background: #fff;
  color: var(--ls-blue);
  border: 1px solid #c7d6f0;
  border-bottom: 3px solid #9bb3db;
  box-shadow: 0 4px 10px rgba(68,114,196,.1);
  text-shadow: none;
  filter: none;
}
.ls-btn-ghost:hover { color: var(--ls-blue); filter: none; }
.ls-btn-light { background: #fff; color: #000; box-shadow: none; border-bottom-width: 1px; }

.ls-builder .elementor-button,
.ls-builder .elementor-button-link,
.elementor-button,
.wd-button,
.btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 8px 18px;
  border-radius: 8px;
  text-decoration: none;
}
.ls-builder img { height: auto; }

.ls-section { padding: 72px 0; }
.ls-section-cats { padding: 0 0 24px; }
.ls-section-cat { padding-top: 0; }
.ls-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.ls-section-head h2 { margin: 0; }
.ls-cat-band {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 28px 36px;
  background: var(--ls-blue);
  color: #fff;
  border-radius: 40px;
  padding: 28px 32px 32px;
}
.ls-cat-circle {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: 140px;
  text-align: center;
  color: #fff !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ls-cat-circle-img {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 12px;
}
.ls-cat-circle-img img { max-height: 86px; object-fit: contain; }
.ls-cats {
  display: grid;
  gap: 16px;
  margin-top: 28px;
}
@media (min-width: 700px) {
  .ls-cats { grid-template-columns: repeat(3, 1fr); }
}
.ls-cat {
  overflow: hidden;
  border-radius: 24px;
  background: var(--ls-bg);
}
.ls-cat-img {
  aspect-ratio: 4/3;
  display: grid;
  place-items: center;
  padding: 24px;
}
.ls-cat-img img { max-height: 180px; object-fit: contain; }
.ls-cat-body { background: #fff; padding: 16px 20px; }
.ls-cat-body p { margin: 4px 0 0; color: var(--ls-muted); font-size: 14px; }

.ls-values { background: var(--ls-soft); padding: 48px 0; }
.ls-values-grid {
  display: grid;
  gap: 16px;
}
@media (min-width: 800px) {
  .ls-values-grid { grid-template-columns: repeat(4, 1fr); }
}
.ls-values article {
  background: #fff;
  border-radius: 16px;
  padding: 20px;
}
.ls-values h3 { margin: 0 0 6px; }
.ls-values p { margin: 0; color: var(--ls-muted); font-size: 14px; }

.ls-products,
.woocommerce ul.products,
ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 28px 0;
  width: 100%;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after {
  display: none !important;
  content: none !important;
}
@media (min-width: 900px) {
  .ls-products,
  .woocommerce ul.products,
  ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.ls-products li,
.woocommerce ul.products li.product,
ul.products li.product {
  list-style: none;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid rgba(17,17,17,.06);
  border-radius: 20px;
  padding: 12px;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  float: none !important;
  position: relative;
  box-shadow:
    0 1px 0 rgba(255,255,255,.85) inset,
    0 8px 18px rgba(17,17,17,.08),
    0 18px 36px rgba(68,114,196,.1);
  transform: translateY(0);
  transition: transform .2s ease, box-shadow .2s ease;
}
.ls-products li:hover,
.woocommerce ul.products li.product:hover,
ul.products li.product:hover {
  transform: translateY(-7px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 16px 28px rgba(17,17,17,.12),
    0 28px 48px rgba(68,114,196,.18);
}
.ls-card-media {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  background: var(--ls-bg);
  border-radius: 14px;
  overflow: hidden;
  position: relative;
}
.ls-card-media img,
.woocommerce ul.products li.product .ls-card-media img,
ul.products li.product img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  aspect-ratio: auto !important;
  padding: 8px;
  box-sizing: border-box;
  object-fit: contain !important;
  object-position: center center;
  margin: 0;
}
.ls-card-body {
  display: block;
  padding: 12px 4px 0;
  min-height: 76px;
}
ul.products li.product .woocommerce-loop-product__title,
.ls-card .woocommerce-loop-product__title {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 8px;
  padding: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
ul.products li.product .price,
.ls-card .price {
  display: block;
  font-weight: 700;
  color: var(--ls-text);
  font-size: 16px;
}
.ls-card-cta {
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  background: #f58220 !important;
  color: #fff !important;
  font-weight: 700;
  width: 100%;
  border: 1px solid #e07a18 !important;
  border-bottom: 3px solid #c45e0c !important;
  box-shadow: 0 4px 10px rgba(245,130,32,.25);
  transition: transform .18s ease, box-shadow .18s ease;
}
.ls-card-cta:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 20px rgba(245,130,32,.32);
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .wd-buttons,
.woocommerce ul.products li.product .wd-hover-wrap,
.woocommerce ul.products li.product .hover-img,
.woocommerce ul.products li.product .quick-view,
li.product .wd-add-btn,
li.product .wd-quick-view-btn,
li.product .wd-swatches-wrap {
  display: none !important;
}
.woocommerce-products-header {
  margin: 0 0 20px;
}
.woocommerce-products-header__title {
  font-size: clamp(28px, 4vw, 40px);
  margin: 0 0 8px;
}
.term-description,
.woocommerce-products-header__description,
.term-description img,
.woocommerce-products-header__description img {
  display: none !important;
}
.woocommerce ul.products li.product .onsale,
span.onsale {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  min-width: auto;
  background: var(--ls-orange);
  color: #fff;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
}

.ls-woo-has-sidebar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 32px;
  align-items: start;
}
@media (max-width: 900px) {
  .ls-woo-has-sidebar { grid-template-columns: 1fr; }
}
.ls-widget {
  background: var(--ls-soft);
  border-radius: 16px;
  padding: 16px 18px;
  margin-bottom: 16px;
}
.ls-widget-title {
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0 0 12px;
}
.ls-widget ul { list-style: none; margin: 0; padding: 0; }
.ls-widget li { margin: 8px 0; font-size: 14px; }

.woocommerce .woocommerce-breadcrumb {
  margin: 0 0 24px;
  font-size: 13px;
  color: var(--ls-muted);
  line-height: 1.5;
  word-break: break-word;
}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  float: none;
  margin: 0 0 16px;
}
.woocommerce .woocommerce-ordering select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-cart table.cart td.actions .coupon .input-text {
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 10px;
  padding: 10px 12px;
  font: inherit;
}
.woocommerce nav.woocommerce-pagination ul {
  display: flex;
  gap: 8px;
  border: 0;
  margin: 24px 0 0;
}
.woocommerce nav.woocommerce-pagination ul li {
  border: 0;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  min-width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--ls-bg);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--ls-black);
  color: #fff;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.checkout-button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: var(--ls-black) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 12px 20px !important;
  border: 0 !important;
  font-weight: 600;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: #222 !important;
}
.woocommerce a.ls-btn:not(.ls-buybox-cta):not(.ls-sticky-buy-cta),
.woocommerce button.ls-btn:not(.ls-buybox-cta):not(.ls-sticky-buy-cta) {
  background: #f58220 !important;
  color: #fff !important;
  border: 1px solid #e07a18 !important;
  border-bottom: 3px solid #c45e0c !important;
  box-shadow: 0 4px 10px rgba(245,130,32,.25) !important;
}
/* PDP buy CTA must stay blue (overrides .ls-btn orange border/background). */
body.woocommerce div.product.ls-pdp .ls-buy-row-inline button.ls-btn.ls-buybox-cta,
body.woocommerce div.product.ls-pdp button.ls-btn.ls-buybox-cta.ls-buybox-cta-shine,
.woocommerce div.product.ls-pdp .single_add_to_cart_button,
.woocommerce div.product.ls-pdp .single_add_to_cart_button.button,
.woocommerce div.product.ls-pdp .single_add_to_cart_button.alt,
.woocommerce div.product.ls-pdp button.single_add_to_cart_button,
.woocommerce #content div.product.ls-pdp .single_add_to_cart_button,
.woocommerce button.ls-btn.ls-buybox-cta,
.woocommerce button.ls-buybox-cta,
.ls-buybox-cta,
.ls-buybox-cta.ls-btn,
.ls-sticky-buy-cta,
.ls-sticky-buy-cta.ls-btn,
button.ls-buybox-cta.ls-btn {
  background: #4472c4 !important;
  background-color: #4472c4 !important;
  background-image: none !important;
  color: #fff !important;
  border: 1px solid #3b66b3 !important;
  border-bottom: 3px solid #2f5496 !important;
  box-shadow: 0 4px 12px rgba(68,114,196,.28) !important;
}
body.woocommerce div.product.ls-pdp .ls-buy-row-inline button.ls-btn.ls-buybox-cta:hover,
.woocommerce div.product.ls-pdp .single_add_to_cart_button:hover,
.woocommerce div.product.ls-pdp .single_add_to_cart_button.alt:hover,
.woocommerce button.ls-btn.ls-buybox-cta:hover,
.ls-buybox-cta:hover,
.ls-buybox-cta.ls-btn:hover,
.ls-sticky-buy-cta:hover {
  background: #3b66b3 !important;
  background-color: #3b66b3 !important;
  color: #fff !important;
  border-color: #3b66b3 !important;
  border-bottom-color: #2f5496 !important;
  transform: translateY(-4px);
  box-shadow: 0 12px 22px rgba(68,114,196,.38) !important;
}
.ls-buybox-cta.is-disabled:hover,
.woocommerce div.product.ls-pdp .single_add_to_cart_button.disabled:hover {
  transform: none;
  box-shadow: 0 4px 12px rgba(68,114,196,.28) !important;
}

.woocommerce-notices-wrapper,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top: 0;
  border-radius: 12px;
}
.woocommerce-message { border-left: 4px solid var(--ls-blue); }
.woocommerce-info { border-left: 4px solid var(--ls-orange); }

.woocommerce div.product {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
@media (min-width: 900px) {
  .woocommerce div.product {
    grid-template-columns: .95fr 1.05fr;
    align-items: start;
  }
}
.woocommerce div.product div.images,
.woocommerce #content div.product div.images,
.woocommerce div.product div.summary,
.woocommerce #content div.product div.summary {
  width: auto;
  float: none;
}
.woocommerce div.product .woocommerce-product-gallery { margin: 0; }
.woocommerce div.product .summary { padding-top: 0; }
.woocommerce div.product p.price {
  font-size: 28px;
  font-weight: 600;
  color: var(--ls-text);
}
.woocommerce div.product.ls-pdp p.price,
.woocommerce div.product.ls-pdp .ls-pdp-head-price .price {
  font-size: clamp(26px, 3.2vw, 36px);
  font-weight: 800;
  color: var(--ls-blue);
  margin: 0;
}
.woocommerce div.product .stock { font-weight: 600; }
.woocommerce div.product form.cart {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.woocommerce div.product form.cart .variations {
  width: 100%;
}
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
  padding: 0;
  vertical-align: top;
}
.woocommerce .quantity .qty {
  width: 72px;
  height: 48px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  text-align: center;
}
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells,
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper {
  grid-column: 1 / -1;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
  margin: 0 0 16px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent;
  border: 0;
  border-radius: 0;
  margin: 0 16px 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--ls-blue);
}
.woocommerce div.product .woocommerce-tabs .panel {
  margin: 0;
  padding: 8px 0 24px;
}
.related.products h2,
.upsells.products h2 {
  font-size: 24px;
  margin-bottom: 8px;
}

.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table,
.woocommerce-account table.shop_table {
  border-radius: 16px;
  overflow: hidden;
}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
  background: var(--ls-soft);
  border-radius: 16px;
  padding: 20px;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
  float: none;
  width: auto;
}
@media (min-width: 800px) {
  .woocommerce-checkout .col2-set {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }
}
.woocommerce-account .woocommerce-MyAccount-navigation {
  float: none;
  width: auto;
  margin: 0 0 24px;
  padding: 10px;
  background: #fff;
  border: 1px solid rgba(28, 43, 74, 0.08);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(28, 43, 74, 0.06);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 11px 16px;
  border-radius: 12px;
  background: transparent;
  color: #31425f;
  font-size: 14px;
  font-weight: 700;
  border: 1px solid transparent;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: #eef3fb;
  color: var(--ls-blue);
  border-color: rgba(68, 114, 196, 0.18);
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--ls-blue);
  color: #fff;
  border-color: #3b66b3;
  box-shadow: 0 8px 18px rgba(68, 114, 196, 0.28);
}
.woocommerce-account .woocommerce-MyAccount-navigation a:active {
  transform: scale(0.96) translateY(1px);
}
.woocommerce-account .woocommerce-MyAccount-content {
  float: none;
  width: auto;
  background: #fff;
  border: 1px solid rgba(28, 43, 74, 0.08);
  border-radius: 18px;
  padding: 22px 24px;
  box-shadow: 0 10px 28px rgba(28, 43, 74, 0.06);
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
  color: #1c2b4a;
  font-weight: 800;
  margin-top: 0;
}
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content button.button,
.woocommerce-account .woocommerce-MyAccount-content a.button {
  background: var(--ls-blue) !important;
  color: #fff !important;
  border: 1px solid #3b66b3 !important;
  border-bottom: 3px solid #2f5496 !important;
  box-shadow: 0 4px 12px rgba(68, 114, 196, 0.25) !important;
}
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-MyAccount-content a.button:hover {
  background: #3b66b3 !important;
}
body.woocommerce-account {
  background:
    radial-gradient(1100px 420px at 8% -10%, rgba(68, 114, 196, 0.1), transparent 58%),
    radial-gradient(900px 380px at 100% 0%, rgba(245, 130, 32, 0.07), transparent 55%),
    #f5f7fb;
}
/* Match megamenu .ls-wrap exactly (Acquista left edge) */
body.woocommerce-account .ls-site {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-account .ls-wrap.ls-page,
body.woocommerce-account .ls-wrap.ls-woo {
  width: min(1440px, calc(100% - 40px)) !important;
  max-width: min(1440px, calc(100% - 40px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 12px 0 56px !important;
  box-sizing: border-box !important;
  text-align: left;
}
body.woocommerce-account .ls-wrap.ls-page > h1,
body.woocommerce-account .ls-wrap.ls-page .entry-title,
body.woocommerce-account h1.entry-title,
body.woocommerce-account .woocommerce-MyAccount-content > h1,
body.woocommerce-account .woocommerce-MyAccount-content > h2:first-child {
  margin: 8px 0 22px !important;
  color: #1c2b4a;
  font-weight: 800;
  text-align: left !important;
}
body.woocommerce-account .ls-content {
  max-width: 100%;
  margin: 0;
  width: 100%;
}
body.woocommerce-account .ls-content > .woocommerce,
body.woocommerce-account .woocommerce {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block;
  float: none;
}
body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after,
.woocommerce-account .woocommerce-MyAccount-navigation::before,
.woocommerce-account .woocommerce-MyAccount-navigation::after,
.woocommerce-account .woocommerce-MyAccount-content::before,
.woocommerce-account .woocommerce-MyAccount-content::after {
  content: none !important;
  display: none !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: none !important;
}

/* Account: restore normal cursors on fields (Customizer / disabled styles) */
body.woocommerce-account,
body.woocommerce-account .woocommerce,
body.woocommerce-account .woocommerce-MyAccount-content {
  cursor: default !important;
}
body.woocommerce-account a,
body.woocommerce-account button,
body.woocommerce-account .button,
body.woocommerce-account label,
body.woocommerce-account select,
body.woocommerce-account .select2-selection,
body.woocommerce-account input[type="checkbox"],
body.woocommerce-account input[type="radio"],
body.woocommerce-account input[type="submit"],
body.woocommerce-account input[type="button"] {
  cursor: pointer !important;
}
body.woocommerce-account input.input-text,
body.woocommerce-account input[type="text"],
body.woocommerce-account input[type="email"],
body.woocommerce-account input[type="tel"],
body.woocommerce-account input[type="password"],
body.woocommerce-account input[type="number"],
body.woocommerce-account input[type="search"],
body.woocommerce-account input[type="url"],
body.woocommerce-account textarea,
body.woocommerce-account .select2-search__field {
  cursor: text !important;
  pointer-events: auto !important;
}
body.woocommerce-account .customize-unpreviewable,
body.woocommerce-account input.customize-unpreviewable,
body.woocommerce-account textarea.customize-unpreviewable,
body.woocommerce-account select.customize-unpreviewable,
body.woocommerce-account a.customize-unpreviewable,
body.woocommerce-account button.customize-unpreviewable {
  cursor: text !important;
  pointer-events: auto !important;
}
body.woocommerce-account a.customize-unpreviewable,
body.woocommerce-account button.customize-unpreviewable,
body.woocommerce-account .button.customize-unpreviewable {
  cursor: pointer !important;
}

/* Account addresses: two cards on ONE row (override Woo/Woodmart floats) */
body.woocommerce-account .woocommerce-MyAccount-content .u-columns,
body.woocommerce-account .woocommerce-MyAccount-content .col2-set,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
body.woocommerce-account .woocommerce-MyAccount-content .addresses,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses.col2-set,
body.woocommerce-account .woocommerce-MyAccount-content .u-columns.col2-set.addresses {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .u-columns::before,
body.woocommerce-account .woocommerce-MyAccount-content .u-columns::after,
body.woocommerce-account .woocommerce-MyAccount-content .col2-set::before,
body.woocommerce-account .woocommerce-MyAccount-content .col2-set::after,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after,
body.woocommerce-account .woocommerce-MyAccount-content .addresses::before,
body.woocommerce-account .woocommerce-MyAccount-content .addresses::after {
  content: none !important;
  display: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .u-column1,
body.woocommerce-account .woocommerce-MyAccount-content .u-column2,
body.woocommerce-account .woocommerce-MyAccount-content .col-1,
body.woocommerce-account .woocommerce-MyAccount-content .col-2,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .woocommerce-Address,
body.woocommerce-account .woocommerce-MyAccount-content .col2-set > .col-1,
body.woocommerce-account .woocommerce-MyAccount-content .col2-set > .col-2 {
  float: none !important;
  clear: none !important;
  position: static !important;
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  background: #f7f9fc !important;
  border: 1px solid rgba(28, 43, 74, 0.08) !important;
  border-radius: 14px !important;
  box-sizing: border-box !important;
}
@media (max-width: 799px) {
  body.woocommerce-account .woocommerce-MyAccount-content .u-columns,
  body.woocommerce-account .woocommerce-MyAccount-content .col2-set,
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
  body.woocommerce-account .woocommerce-MyAccount-content .addresses {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title.title,
.woocommerce-account .woocommerce-MyAccount-content header.title {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 10px !important;
  float: none !important;
  width: 100% !important;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .title {
  margin: 0 !important;
  float: none !important;
  display: inline-block;
  color: #1c2b4a;
  font-size: 16px;
  font-weight: 800;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a {
  float: none !important;
  margin: 0 !important;
  color: var(--ls-blue) !important;
  font-weight: 700;
  font-size: 13px;
  white-space: nowrap;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address {
  display: block !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-style: normal;
  line-height: 1.55;
  color: #31425f;
  width: 100% !important;
}
.woocommerce-account .woocommerce-MyAccount-content > p {
  margin: 0 0 16px;
  color: #5b6b86;
  line-height: 1.5;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-billing-fields__field-wrapper,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px 16px;
  width: 100%;
}
@media (min-width: 721px) {
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-billing-fields__field-wrapper,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr 1fr;
  }
  .woocommerce-account .woocommerce-MyAccount-content .form-row-wide,
  .woocommerce-account .woocommerce-MyAccount-content #billing_address_1_field,
  .woocommerce-account .woocommerce-MyAccount-content #billing_address_2_field,
  .woocommerce-account .woocommerce-MyAccount-content #billing_company_field,
  .woocommerce-account .woocommerce-MyAccount-content #billing_email_field,
  .woocommerce-account .woocommerce-MyAccount-content #billing_phone_field,
  .woocommerce-account .woocommerce-MyAccount-content #shipping_address_1_field,
  .woocommerce-account .woocommerce-MyAccount-content #shipping_address_2_field,
  .woocommerce-account .woocommerce-MyAccount-content #shipping_company_field,
  .woocommerce-account .woocommerce-MyAccount-content #account_display_name_field,
  .woocommerce-account .woocommerce-MyAccount-content #account_email_field {
    grid-column: 1 / -1;
  }
}
.woocommerce-account .woocommerce-MyAccount-content form {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 16px;
  width: 100%;
  align-items: flex-start;
}
.woocommerce-account .woocommerce-MyAccount-content form > h3,
.woocommerce-account .woocommerce-MyAccount-content form > legend,
.woocommerce-account .woocommerce-MyAccount-content form > fieldset,
.woocommerce-account .woocommerce-MyAccount-content form > .clear,
.woocommerce-account .woocommerce-MyAccount-content form > p:not(.form-row),
.woocommerce-account .woocommerce-MyAccount-content form > .woocommerce-privacy-policy-text,
.woocommerce-account .woocommerce-MyAccount-content form > .woocommerce-form__label-for-checkbox {
  flex: 1 1 100%;
  width: 100%;
  margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-content .form-row,
.woocommerce-account .woocommerce-MyAccount-content p.form-row {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1 1 100%;
  max-width: 100%;
  box-sizing: border-box;
}
@media (min-width: 721px) {
  .woocommerce-account .woocommerce-MyAccount-content .form-row-first,
  .woocommerce-account .woocommerce-MyAccount-content .form-row-last {
    flex: 1 1 calc(50% - 8px);
    max-width: calc(50% - 8px);
    width: auto !important;
  }
  .woocommerce-account .woocommerce-MyAccount-content .form-row-wide {
    flex: 1 1 100%;
    max-width: 100%;
  }
}
.woocommerce-account .woocommerce-MyAccount-content label {
  font-size: 13px;
  font-weight: 700;
  color: #31425f;
}
.woocommerce-account .woocommerce-MyAccount-content input.input-text,
.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content input[type="number"],
.woocommerce-account .woocommerce-MyAccount-content input[type="url"],
.woocommerce-account .woocommerce-MyAccount-content input[type="date"],
.woocommerce-account .woocommerce-MyAccount-content input[type="file"],
.woocommerce-account .woocommerce-MyAccount-content textarea,
.woocommerce-account .woocommerce-MyAccount-content select,
.woocommerce-account .woocommerce-MyAccount-content .select2-container .select2-selection--single {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 46px;
  height: 46px;
  box-sizing: border-box !important;
  border: 1px solid rgba(28, 43, 74, 0.14) !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
  padding: 0 14px !important;
  font: inherit;
  color: #1c2b4a !important;
  box-shadow: none !important;
  display: block;
}
.woocommerce-account .woocommerce-MyAccount-content textarea {
  height: auto !important;
  min-height: 110px;
  padding: 12px 14px !important;
  resize: vertical;
}
.woocommerce-account .woocommerce-MyAccount-content input:focus,
.woocommerce-account .woocommerce-MyAccount-content textarea:focus,
.woocommerce-account .woocommerce-MyAccount-content select:focus {
  border-color: #4472c4 !important;
  background: #fff !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(68, 114, 196, 0.16) !important;
}
.woocommerce-account .woocommerce-MyAccount-content .select2-container {
  width: 100% !important;
}
/* Diritto di recesso / plugin return forms: any loose fields */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table,
.woocommerce-account .woocommerce-MyAccount-content table {
  width: 100% !important;
  table-layout: auto;
}
.woocommerce-account .woocommerce-MyAccount-content td,
.woocommerce-account .woocommerce-MyAccount-content th {
  word-break: break-word;
}
.woocommerce-account .woocommerce-MyAccount-content .form-table,
.woocommerce-account .woocommerce-MyAccount-content .form-table tbody,
.woocommerce-account .woocommerce-MyAccount-content .form-table tr,
.woocommerce-account .woocommerce-MyAccount-content .form-table th,
.woocommerce-account .woocommerce-MyAccount-content .form-table td {
  display: block;
  width: 100% !important;
  float: none !important;
  text-align: left;
}
.woocommerce-account .woocommerce-MyAccount-content .form-table th {
  padding: 0 0 6px;
  font-size: 13px;
  font-weight: 700;
  color: #31425f;
}
.woocommerce-account .woocommerce-MyAccount-content .form-table td {
  padding: 0 0 14px;
}
.woocommerce-account .woocommerce-MyAccount-content .form-table input,
.woocommerce-account .woocommerce-MyAccount-content .form-table textarea,
.woocommerce-account .woocommerce-MyAccount-content .form-table select {
  width: 100% !important;
}
.woocommerce-account .woocommerce-MyAccount-content button,
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"] {
  flex: 0 0 auto;
  width: auto !important;
  min-height: 46px;
  margin-top: 4px;
}
@media (min-width: 900px) {
  body.woocommerce-account .ls-content > .woocommerce,
  body.woocommerce-account .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
    gap: 22px;
    align-items: start;
    max-width: none;
    width: 100%;
    margin: 0;
  }
  /* Notices / messages always full width above the two columns */
  body.woocommerce-account .woocommerce > .woocommerce-notices-wrapper,
  body.woocommerce-account .woocommerce > .woocommerce-message,
  body.woocommerce-account .woocommerce > .woocommerce-info,
  body.woocommerce-account .woocommerce > .woocommerce-error,
  body.woocommerce-account .woocommerce > *:not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content) {
    grid-column: 1 / -1;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation {
    grid-column: 1;
    margin: 0;
    position: sticky;
    top: 96px;
    width: 100% !important;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    flex-direction: column;
    flex-wrap: nowrap;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation a {
    width: 100%;
  }
  .woocommerce-account .woocommerce-MyAccount-content {
    grid-column: 2;
    margin: 0;
    width: 100% !important;
    min-width: 0;
  }
}
@media (max-width: 899px) {
  .woocommerce-account .woocommerce-MyAccount-navigation {
    margin: 0 0 16px;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

.ls-tradein { padding: 0 0 72px; }
.ls-tradein-box {
  background: var(--ls-black);
  color: #fff;
  border-radius: 32px;
  padding: 48px;
}
.ls-tradein-box p { color: rgba(255,255,255,.72); }

.ls-page { padding: 48px 0 72px; }
.ls-page h1 { font-size: clamp(28px, 4vw, 40px); }
.ls-content { font-size: 17px; line-height: 1.7; color: #3d3d42; }
.ls-center { text-align: center; }
.ls-article { margin-bottom: 32px; }
.nav-links {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 32px;
}

.ls-footer {
  background: var(--ls-blue);
  color: #fff;
  margin-top: 40px;
}
.ls-footer-grid {
  display: grid;
  gap: 32px;
  padding: 56px 0;
}
@media (min-width: 800px) {
  .ls-footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
}
.ls-footer h2 {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
}
.ls-footer p, .ls-footer a { color: rgba(255,255,255,.9); font-size: 14px; }
.ls-footer-logo {
  height: 34px !important;
  width: auto !important;
  max-width: 150px !important;
  max-height: 34px !important;
  display: block !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 0 0 12px !important;
  object-fit: contain !important;
}
.ls-social {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
}
.ls-social a {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.12);
  color: #fff !important;
  text-decoration: none;
  cursor: pointer !important;
  user-select: none;
}
.ls-social a svg { width: 18px; height: 18px; display: block; pointer-events: none; }
.ls-social a.is-facebook { background: #1877f2; }
.ls-social a.is-instagram { background: linear-gradient(135deg, #f58529, #dd2a7b 50%, #8134af); }
.ls-social a.is-youtube { background: #ff0000; }
.ls-social a.is-tiktok { background: #010101; }
.ls-footer-links { list-style: none; padding: 0; margin: 0; }
.ls-footer-links li { margin: 8px 0; }
.ls-legal {
  border-top: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.72);
  font-size: 12px;
  padding: 16px 0;
}

@media (max-width: 960px) {
  .ls-topbar {
    display: block !important;
    padding: 6px 0;
  }
  .ls-topbar-row {
    gap: 10px;
  }
  .ls-topbar-wa-num { display: none; }
  .ls-topbar-links a { font-size: 11.5px !important; }
  .ls-mobile-search { display: none !important; }
  .ls-search-btn {
    display: inline-flex !important;
    margin-left: 2px;
  }
  .ls-header-row {
    gap: 8px;
    padding: 8px 0;
  }
  .ls-logo {
    flex: 1 1 auto;
    min-width: 0;
  }
  .ls-logo img,
  .ls-logo .custom-logo {
    height: 34px !important;
    max-width: 140px;
    width: auto;
    object-fit: contain;
  }
  .ls-cart-ico { display: block !important; }
  .ls-cart-link {
    width: 40px;
    height: 40px;
    justify-content: center;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 999px;
    background: #fff;
  }
  .ls-cart-link .ls-badge {
    top: -4px;
    right: -4px;
  }
  .ls-header-actions {
    gap: 8px;
    margin-left: auto;
  }
  /* Whole header (topbar + logo) slides up — transform only, no height collapse (avoids scroll jitter). */
  .ls-header {
    transition: transform .2s ease;
    will-change: transform;
    transform: translate3d(0, 0, 0);
  }
  .ls-header.is-compact {
    transform: translate3d(0, -100%, 0);
    pointer-events: none;
    box-shadow: none;
  }
  .ls-header.is-open,
  .ls-header.is-search {
    transform: translate3d(0, 0, 0) !important;
    pointer-events: auto !important;
  }
  .ls-header-main .ls-search,
  .ls-nav-bar,
  .ls-catalog-bar,
  .ls-phone { display: none; }
  .ls-account {
    display: inline-flex !important;
  }
  .ls-header.is-open {
    max-height: 100dvh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  .ls-header.is-open .ls-header-main { flex: 0 0 auto; }
  .ls-header.is-open .ls-nav-bar,
  .ls-header.is-open .ls-catalog-bar,
  .ls-header.is-open .ls-header-main .ls-search,
  .ls-header.is-search .ls-header-main .ls-search {
    display: none;
  }
  .ls-header.is-open .ls-header-row,
  .ls-header.is-search .ls-header-row { flex-wrap: wrap; }
  .ls-header.is-open .ls-nav-bar,
  .ls-header.is-open .ls-catalog-bar {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding-bottom: 24px;
  }
  .ls-menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .ls-nav { flex-direction: column; align-items: stretch; flex-wrap: nowrap; }
  .ls-nav-bar-alone .ls-main-nav {
    border-radius: 18px;
    padding: 6px;
    flex-direction: column;
    align-items: stretch;
  }
  .ls-main-nav > li > a {
    padding: 14px 16px;
    font-size: 15px;
  }
  .ls-nav-vendi { margin-left: 0; }
  .ls-catalog-bar .ls-nav a { padding: 10px; }
  .ls-mega-trigger > .ls-mega-panel {
    display: none;
    position: static;
    min-width: 0;
    box-shadow: none;
    border-radius: 14px;
    margin: 0 4px 10px;
    top: auto;
    left: auto;
    right: auto;
    padding: 10px 12px 14px;
    max-height: none;
    overflow: visible;
  }
  .ls-mega-trigger.is-open > .ls-mega-panel {
    display: block;
  }
  .ls-main-nav .sub-menu,
  .ls-primary-nav .sub-menu {
    position: static;
    min-width: 0;
    box-shadow: none;
    border-radius: 12px;
    margin: 0 4px 8px;
  }
  .ls-mega-cols {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0;
  }
  .ls-mega-col {
    padding: 10px 0;
    border-bottom: 1px solid rgba(17,17,17,.08);
    flex: none;
    width: 100%;
  }
  .ls-mega-col.is-wide,
  .ls-mega-col.is-iphone {
    grid-column: auto;
    min-width: 0;
  }
  .ls-mega-col:last-child { border-bottom: 0; }
  .ls-mega-list {
    max-height: none;
    overflow: visible;
    display: block;
  }
  .ls-mega-list.is-two-col {
    display: block;
  }
  .ls-mega-list a {
    padding: 8px 0 !important;
    font-size: 13px;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }
  .ls-cat-band { border-radius: 24px; padding: 20px; }
}
@media (max-width: 640px) {
  .ls-mega-list { display: block; }
  .ls-topbar-links { display: none; }
  .ls-topbar-row { justify-content: center; }
  .ls-products,
  .woocommerce ul.products,
  ul.products {
    gap: 7px !important;
  }
  .ls-card-info {
    min-height: 32px !important;
    font-size: 10.5px !important;
    padding: 7px 4px !important;
  }
  .ls-card-info-ico { display: none; }
  .ls-pdp-stage {
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
  }
  .ls-pdp-info h1,
  .ls-pdp-info .product_title {
    font-size: 16px !important;
  }
  .ls-pdp-info .price,
  .ls-pdp-head-price .price,
  .ls-pdp-price,
  .ls-buybox-price .price,
  .ls-buybox-price p.price {
    font-size: 20px !important;
  }
  .ls-swatch,
  .woocommerce button.ls-swatch,
  .ls-pdp button.ls-swatch {
    min-width: 52px !important;
    min-height: 32px !important;
    padding: 4px 8px !important;
    font-size: 11.5px !important;
  }
  .ls-buybox-cta,
  .woocommerce div.product.ls-pdp .single_add_to_cart_button {
    min-height: 40px !important;
    height: 40px !important;
    font-size: 13.5px !important;
  }
}

.ls-preview-note {
  background: #111;
  color: #fff;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-align: center;
  padding: 8px 12px;
  margin: 0;
}

.woocommerce div.product.ls-pdp,
.ls-pdp {
  display: block;
  float: none;
  clear: both;
  width: 100%;
  max-width: 100%;
  position: relative;
  z-index: 1;
  overflow: visible;
}
.ls-pdp-grid {
  display: grid;
  gap: 28px;
  align-items: start;
  position: relative;
  z-index: 2;
  width: 100%;
  clear: both;
}
@media (min-width: 1100px) {
  .ls-pdp-grid { grid-template-columns: .85fr 1.15fr 340px; }
}
.ls-pdp-gallery .woocommerce-product-gallery {
  width: auto !important;
  float: none !important;
}
.ls-pdp-gallery .ls-gallery-custom .woocommerce-product-gallery__wrapper,
.ls-pdp-gallery .ls-gallery-custom .woocommerce-product-gallery__image,
.ls-pdp-gallery .ls-gallery-custom .woocommerce-product-gallery__trigger,
.ls-pdp-gallery .ls-gallery-custom .flex-viewport,
.ls-pdp-gallery .ls-gallery-custom .flex-control-thumbs,
.ls-pdp-gallery .ls-gallery-custom ol.flex-control-nav {
  display: none !important;
}
.ls-pdp-stage {
  position: relative;
  background: #fff;
  border: 1px solid rgba(17,17,17,.12);
  border-bottom: 5px solid #d8dbe3;
  border-radius: 24px;
  height: 440px;
  min-height: 440px;
  max-height: 440px;
  display: block;
  padding: 0;
  overflow: visible;
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset,
    0 8px 18px rgba(17,17,17,.08),
    0 22px 40px rgba(17,17,17,.1),
    0 36px 64px rgba(68,114,196,.16);
}
.ls-pdp-stage > a {
  position: absolute;
  inset: 24px 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.ls-pdp-stage > a img,
.woocommerce div.product.ls-pdp .ls-pdp-stage > a img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}
.ls-pdp-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(0,0,0,.08);
  cursor: pointer;
  z-index: 2;
  transition: transform .18s ease, box-shadow .18s ease;
}
.ls-pdp-nav:hover {
  transform: translateY(calc(-50% - 4px));
  box-shadow: 0 10px 20px rgba(0,0,0,.14);
}
.ls-pdp-nav:first-of-type { left: 12px; }
.ls-pdp-nav:last-of-type { right: 12px; }
.ls-pdp-gallery,
.ls-pdp-gallery .woocommerce-product-gallery {
  width: auto !important;
  float: none !important;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
  position: relative;
}
.ls-gallery-share {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 40;
  isolation: isolate;
}
.ls-gallery-share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: var(--ls-orange);
  color: #fff;
  box-shadow: 0 8px 22px rgba(245,130,32,.35);
  cursor: pointer !important;
  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
}
.ls-gallery-share-btn:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
  color: #fff;
}
.ls-gallery-share.is-open .ls-gallery-share-btn {
  background: var(--ls-blue);
  box-shadow: 0 8px 22px rgba(68,114,196,.35);
  color: #fff;
}
.ls-gallery-share-menu {
  position: absolute;
  right: 0;
  bottom: calc(100% + 10px);
  left: auto;
  top: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 8px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(28,43,74,.1);
  box-shadow: 0 16px 40px rgba(17,17,17,.18);
  min-width: 0;
  z-index: 50;
}
.ls-gallery-share-menu[hidden] { display: none !important; }
.ls-gallery-share-menu a,
.ls-gallery-share-menu button,
.ls-gallery-share-menu a.customize-unpreviewable,
.ls-gallery-share-menu button.customize-unpreviewable {
  position: relative !important;
  inset: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px;
  min-height: 40px;
  max-width: 40px;
  max-height: 40px;
  border: 0;
  border-radius: 999px;
  background: #f3f6fb;
  color: #1c2b4a !important;
  text-decoration: none !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  padding: 0;
  margin: 0;
  font: inherit;
  overflow: visible !important;
  transform: none !important;
}
.ls-gallery-share-menu a:hover,
.ls-gallery-share-menu button:hover {
  transform: translateY(-1px) !important;
}
.ls-gallery-share-menu a svg,
.ls-gallery-share-menu button svg {
  width: 18px;
  height: 18px;
  display: block;
  flex: 0 0 auto;
  pointer-events: none;
}
.ls-gallery-share-menu .is-wa { color: #128c7e !important; background: #e8f8f3; }
.ls-gallery-share-menu .is-fb { color: #1877f2 !important; background: #eaf2ff; }
.ls-gallery-share-menu .is-x { color: #111 !important; background: #f0f0f0; }
.ls-gallery-share-menu .is-tg { color: #229ed9 !important; background: #e8f6fc; }
.ls-gallery-share-menu .is-copy { color: var(--ls-blue) !important; background: #eef3fb; }
@media (max-width: 760px) {
  .ls-gallery-share {
    right: 10px;
    bottom: 10px;
  }
  .ls-gallery-share-btn {
    width: 40px;
    height: 40px;
  }
  .ls-gallery-share-menu {
    right: 0;
    bottom: calc(100% + 8px);
    flex-direction: column;
  }
  .ls-gallery-share-menu a,
  .ls-gallery-share-menu button {
    width: 38px;
    height: 38px;
  }
}
.ls-pdp-thumbs-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  width: 100%;
  max-width: 100%;
  padding-top: 8px;
}
.ls-pdp-thumbs-viewport {
  overflow: hidden;
  flex: 1 1 auto;
  width: auto;
  max-width: none;
  min-width: 0;
  padding-top: 12px;
  margin-top: -12px;
}
.ls-pdp-thumbs {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  margin: 0;
  width: max-content;
  overflow: visible;
  transition: transform .25s ease;
  padding: 8px 2px 12px;
}
.ls-pdp-thumbs button {
  flex: 0 0 96px;
  width: 96px;
  height: 96px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  background: #fff;
  padding: 0;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(17,17,17,.06);
  transition: transform .18s ease, box-shadow .18s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-sizing: border-box;
}
.ls-pdp-thumbs button:hover {
  transform: translateY(-7px);
  box-shadow: 0 14px 24px rgba(17,17,17,.14);
}
.ls-pdp-thumbs .is-active { outline: 2px solid var(--ls-blue); }
.ls-pdp-thumbs button img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  padding: 8px;
  box-sizing: border-box;
  object-fit: contain !important;
  object-position: center center !important;
}
.ls-thumbs-nav {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(17,17,17,.1);
  cursor: pointer;
}
.ls-thumbs-nav:disabled {
  opacity: .35;
  cursor: default;
}
.ls-pdp-thumbs-bar.is-single-page .ls-thumbs-nav { visibility: hidden; }
.ls-pdp-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 8px;
}
.ls-pdp-head-text {
  min-width: 0;
  flex: 1;
}
.ls-pdp-head-price {
  flex: 0 0 auto;
  text-align: right;
}
.ls-pdp-info h1,
.ls-pdp-info .product_title {
  font-size: clamp(16px, 1.8vw, 22px);
  margin: 0 0 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ls-pdp-info .price,
.ls-pdp-head-price .price,
.ls-pdp-price {
  font-size: clamp(26px, 3.2vw, 36px);
  font-weight: 800;
  color: var(--ls-blue);
  margin: 0;
  line-height: 1.05;
  white-space: nowrap;
}
.ls-pdp-save {
  color: #2e7d32;
  font-size: 12px;
  margin: 4px 0 0;
  white-space: nowrap;
}
.ls-pdp-summary {
  color: var(--ls-muted);
  font-size: 14px;
  margin: 0;
}
@media (max-width: 900px) {
  .ls-pdp-grid {
    gap: 18px;
  }
  .ls-pdp-stage {
    height: 280px;
    min-height: 280px;
    max-height: 280px;
    border-radius: 18px;
  }
  .ls-pdp-stage > a { inset: 16px 42px; }
  .ls-pdp-nav { width: 34px; height: 34px; }
  .ls-pdp-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .ls-pdp-head-price { text-align: left; width: 100%; }
  .ls-pdp-info h1,
  .ls-pdp-info .product_title {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    font-size: 20px;
    line-height: 1.25;
  }
  .ls-pdp-info .price,
  .ls-pdp-head-price .price,
  .ls-pdp-price {
    font-size: 28px;
    white-space: normal;
  }
  .ls-grade-block {
    flex-direction: column;
    gap: 6px;
  }
  .ls-grade-hint {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
  }
  .ls-swatch {
    min-width: 70px;
    min-height: 42px;
    padding: 8px 12px;
    font-size: 13px;
  }
  .ls-pdp-thumbs button {
    width: 72px;
    height: 72px;
  }
  .ls-buybox {
    position: sticky;
    bottom: 8px;
    z-index: 25;
    margin-bottom: 8px;
  }
  .ls-buy-row { flex-wrap: wrap; }
  .ls-qty { flex: 1 1 auto; }
  .ls-buybox-cta { flex: 1 1 100%; }
  .ls-soldout-card span {
    font-size: 18px;
    min-width: 0;
    padding: 10px 22px;
  }
}
.ls-swatch-group { margin: 10px 0; }
.ls-swatch-group h2 {
  font-size: 15px;
  margin: 0 0 10px;
}
.ls-swatch-group h2 small { color: var(--ls-muted); font-weight: 500; }
.ls-swatch-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ls-swatch {
  min-height: 48px;
  min-width: 92px;
  padding: 8px 14px;
  border: 1px solid #d5d8e0;
  border-bottom: 3px solid #c3c7d2;
  border-radius: 14px;
  background: #fff;
  font: inherit;
  font-size: 14px;
  cursor: pointer !important;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  box-shadow: 0 2px 6px rgba(17,17,17,.06);
  transition: transform .18s ease, box-shadow .18s ease;
}
.ls-swatch:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 18px rgba(17,17,17,.12);
}
.ls-swatch small,
.ls-swatch .ls-swatch-extra {
  color: var(--ls-muted);
  font-size: 11px;
  line-height: 1.1;
  font-weight: 700;
  white-space: nowrap;
}
.ls-swatch.is-active {
  background: #f58220;
  border-color: #e07a18;
  border-bottom: 3px solid #c45e0c;
  color: #fff;
  box-shadow: 0 4px 10px rgba(245,130,32,.25);
}
.ls-swatch.is-active small { color: rgba(255,255,255,.85); }
.ls-swatch.is-color {
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
}
.ls-swatch-na { display: none !important; }
.ls-swatch-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.18);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35);
  flex: 0 0 14px;
}
.ls-swatch.is-active .ls-swatch-dot { border-color: rgba(255,255,255,.7); }
.woocommerce button.ls-swatch,
.ls-pdp button.ls-swatch {
  cursor: pointer !important;
}
.woocommerce button.ls-swatch:disabled,
.ls-pdp button.ls-swatch:disabled,
.ls-swatch.is-unavailable,
.ls-swatch.is-unavailable:hover {
  cursor: not-allowed !important;
  opacity: 1;
  color: #8b8b90;
  background: #ececec !important;
  border-color: #d5d5d8 !important;
  border-bottom-width: 2px !important;
  transform: none;
  box-shadow: none !important;
  text-shadow: none;
  filter: none;
}
.ls-swatch.is-unavailable .ls-swatch-label {
  text-decoration: line-through;
}
.ls-swatch.is-color {
  flex-wrap: nowrap;
}
.ls-pdp .reset_variations,
.woocommerce div.product .reset_variations {
  display: none !important;
}
.ls-pdp .stock,
.ls-pdp p.stock,
.ls-pdp .availability,
.ls-pdp .woocommerce-variation-availability,
.ls-pdp .wd-product-stock,
.ls-pdp .wd-stock,
.ls-pdp .product-status {
  display: none !important;
}
.woocommerce div.product.ls-pdp .single_variation_wrap,
.woocommerce div.product.ls-pdp .woocommerce-variation-add-to-cart,
.woocommerce div.product.ls-pdp .woocommerce-variation-add-to-cart-disabled,
.woocommerce div.product.ls-pdp .woocommerce-variation-add-to-cart-enabled {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  width: 100% !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  pointer-events: auto !important;
}
.ls-pdp-info .woocommerce-variation.single_variation {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.ls-pdp-info .quantity {
  display: none !important;
}
.woocommerce div.product.ls-pdp .single_add_to_cart_button,
.woocommerce div.product.ls-pdp button.single_add_to_cart_button.button,
.woocommerce div.product.ls-pdp button.single_add_to_cart_button.alt {
  display: none !important;
}
.woocommerce div.product.ls-pdp .single_add_to_cart_button.disabled:not(.is-ls-ready),
.woocommerce div.product.ls-pdp .single_add_to_cart_button.wc-variation-selection-needed:not(.is-ls-ready),
.woocommerce div.product.ls-pdp .single_add_to_cart_button:disabled:not(.is-ls-ready) {
  opacity: .42 !important;
  cursor: not-allowed !important;
  filter: grayscale(.2);
  animation: none !important;
}
.woocommerce div.product.ls-pdp .single_add_to_cart_button.is-ls-ready,
.woocommerce div.product.ls-pdp .single_add_to_cart_button.is-ls-ready.disabled,
.woocommerce div.product.ls-pdp .single_add_to_cart_button.is-ls-ready:disabled {
  opacity: 1 !important;
  cursor: pointer !important;
  filter: none;
  pointer-events: auto !important;
}
.ls-pdp-info form.cart,
.ls-pdp-info table.variations {
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
}
.ls-pdp-info table.variations,
.ls-pdp-info table.variations tbody,
.ls-pdp-info table.variations tr,
.ls-pdp-info table.variations td,
.ls-pdp-info table.variations th {
  display: block;
  float: none !important;
  width: 100% !important;
  border: 0;
  padding: 0;
  background: transparent;
  text-align: left !important;
}
.ls-pdp-info table.variations tr {
  margin: 0 0 10px;
}
.ls-pdp-info table.variations .label {
  display: block;
  float: none !important;
  text-align: left !important;
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 4px;
}
.ls-pdp-info table.variations .label label {
  display: inline;
  margin: 0;
}
.ls-swatch-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
  margin: 0;
}
.ls-grade-block {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  flex-wrap: nowrap;
  width: 100%;
}
.ls-grade-block .ls-swatch-row {
  flex: 0 0 auto;
}
.ls-grade-hint {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100%;
  margin: 0;
  min-height: 0 !important;
  height: auto !important;
  padding: 8px 12px;
  background: #f4f7fc;
  border: 1px solid rgba(68,114,196,.16);
  border-left: 3px solid var(--ls-blue);
  border-radius: 10px;
  font-size: 12.5px;
  line-height: 1.4;
  color: #3d3d42;
  align-self: stretch;
  box-sizing: border-box;
}
.ls-grade-hint-text { display: inline; }
.ls-grade-hint-link {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(68,114,196,.28);
  background: #fff;
  color: var(--ls-blue) !important;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none !important;
  white-space: nowrap;
  vertical-align: baseline;
}
.ls-grade-hint-link:hover,
.ls-grade-hint-link:focus-visible {
  background: rgba(68,114,196,.08);
  outline: none;
}
.ls-grade-hint[hidden] { display: none !important; }
.ls-swatch-select,
.ls-pdp-info table.variations select.ls-swatch-select {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.woocommerce div.product.ls-pdp form.cart,
.ls-pdp-info form.cart {
  display: block !important;
  margin-top: 8px;
  text-align: left;
}
.ls-pdp-info table.variations { position: relative; }
.ls-pdp-variants {
  position: relative;
  min-height: 160px;
  isolation: isolate;
}
.ls-pdp-variants.is-soldout {
  min-height: 220px;
}
.ls-pdp-variants.is-soldout > *:not(.ls-soldout-card) {
  pointer-events: none !important;
  user-select: none;
  filter: grayscale(.05);
}
.ls-pdp-variants.is-soldout .ls-swatch,
.ls-pdp-variants.is-soldout .ls-swatch.is-unavailable,
.ls-pdp-variants.is-soldout .ls-swatch:disabled,
.ls-pdp-variants.is-soldout button,
.ls-pdp-variants.is-soldout select,
.ls-pdp-variants.is-soldout a,
.ls-pdp-variants.is-soldout .single_add_to_cart_button {
  pointer-events: none !important;
  cursor: default !important;
  opacity: 1 !important;
}
.ls-soldout-card {
  position: absolute !important;
  inset: 0 !important;
  z-index: 40 !important;
  display: grid !important;
  place-items: center;
  border-radius: 20px;
  background: rgba(255,255,255,.82) !important;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  pointer-events: auto !important;
  cursor: default;
}
.ls-soldout-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
  padding: 14px 32px;
  border-radius: 999px;
  background: #c0392b !important;
  color: #fff !important;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  box-shadow: 0 14px 30px rgba(192,57,43,.28);
}
.ls-stock-notify {
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(17,17,17,.1);
  background: #fff;
  box-shadow: 0 8px 20px rgba(17,17,17,.05);
  position: relative;
  z-index: 5;
  pointer-events: auto !important;
}
.ls-stock-notify input,
.ls-stock-notify button {
  pointer-events: auto !important;
  cursor: pointer;
}
.ls-stock-notify input[type="email"] {
  cursor: text;
}
.ls-stock-notify-title {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 700;
  color: var(--ls-text);
}
.ls-stock-notify-text {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--ls-muted);
}
.ls-stock-notify-form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ls-stock-notify-form input[type="email"] {
  flex: 1 1 180px;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid rgba(17,17,17,.14);
  border-radius: 10px;
  font: inherit;
  font-size: 14px;
}
.ls-stock-notify-form .ls-btn {
  min-height: 42px;
  padding: 0 16px;
  border-radius: 10px;
  background: var(--ls-blue);
  color: #fff !important;
  border: 0;
  cursor: pointer;
  font-weight: 700;
}
.ls-stock-notify-msg {
  margin: 10px 0 0;
  font-size: 13px;
  font-weight: 600;
  color: #1a7f4b;
}
.ls-stock-notify-msg.is-error { color: #c0392b; }
.ls-mnav-group {
  list-style: none;
  margin: 0;
  border-bottom: 1px solid rgba(17,17,17,.06);
}
.ls-mnav-group:last-child { border-bottom: 0; }
.ls-mnav-group-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 0;
  border: 0;
  background: transparent;
  color: #222;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}
.ls-mnav-group-toggle .ls-mnav-chev {
  width: 8px;
  height: 8px;
  margin-top: -3px;
}
.ls-mnav-group.is-open > .ls-mnav-group-toggle .ls-mnav-chev {
  transform: rotate(-135deg);
  margin-top: 3px;
}
.ls-mnav-group-items {
  list-style: none;
  margin: 0 0 8px;
  padding: 0 0 0 12px;
  border-left: 2px solid rgba(68,114,196,.28);
}
.ls-mnav-group-items[hidden] { display: none !important; }
.ls-mnav-group-items a {
  display: block;
  padding: 8px 0;
  color: #333;
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  border-bottom: 1px solid rgba(17,17,17,.05);
}
.ls-mnav-group-items li:last-child a { border-bottom: 0; }
.ls-mnav-group-items a:hover { color: var(--ls-blue); }
.ls-note {
  background: #fff6e8;
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 14px;
  margin: 8px 0 18px;
}
.ls-buybox,
.ls-paybox {
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 24px;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(17,17,17,.06);
  margin-bottom: 16px;
}
.ls-buybox { position: relative; padding-top: 24px; }
.ls-buybox-cart {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #e8eef8;
  color: var(--ls-blue);
}
.ls-buybox-kicker {
  font-weight: 700;
  margin: 0 48px 12px 0;
  font-size: 18px;
}
.ls-buybox-price {
  text-align: center;
  margin: 0 0 14px;
}
.ls-buybox-price .price,
.ls-buybox-price p.price {
  display: block;
  text-align: center;
}
.ls-buybox-price .ls-pdp-save {
  text-align: center;
}
.ls-buy-row {
  display: flex;
  align-items: stretch;
  gap: 10px;
  margin: 0 0 12px;
}
.ls-qty {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 999px;
  background: #f7f8fb;
  overflow: hidden;
}
.ls-qty button,
.ls-qty input {
  height: 56px;
  border: 0;
  text-align: center;
  font: inherit;
  background: transparent;
  color: inherit;
}
.ls-qty button {
  width: 46px;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
  transition: background .15s ease, transform .12s ease;
}
.ls-qty button:hover { background: #fff; }
.ls-qty button:active { transform: scale(.9); }
.ls-qty button:disabled {
  opacity: .35;
  cursor: not-allowed;
}
.ls-qty input {
  width: 48px;
  font-weight: 700;
  font-size: 18px;
  -moz-appearance: textfield;
}
.ls-qty input::-webkit-outer-spin-button,
.ls-qty input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.ls-buybox-cta {
  flex: 1;
  width: auto;
  min-width: 0;
  height: 56px;
  font-size: 16px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: opacity .25s ease, filter .25s ease, transform .18s ease, box-shadow .18s ease;
}
.ls-buybox-cta.is-disabled {
  opacity: .42;
  cursor: not-allowed !important;
  filter: grayscale(.18);
}
.ls-buybox-cta.is-disabled::after { display: none; }
.ls-buybox-cta.is-ready {
  cursor: pointer !important;
}
/* Shine handled by .ls-buybox-cta-shine / shared rule (full height). */
@media (max-width: 420px) {
  .ls-buy-row { flex-direction: column; }
  .ls-qty { width: 100%; justify-content: center; }
  .ls-buybox-cta { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .ls-buybox-cta.is-ready,
  .ls-buybox-cta.is-ready::after { animation: none; }
  .ls-buybox-cta.is-ready::after { display: none; }
}
.ls-ship { font-size: 14px; color: var(--ls-muted); }
.ls-pay-logos {
  display: block;
  margin: 12px 0 0;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
}
.ls-pay-logos-img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
}
.ls-paybox .ls-pay-logos {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 14px 0 12px !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  overflow: visible !important;
  min-height: 33px !important;
  height: auto !important;
  line-height: 0 !important;
}
.ls-paybox .ls-pay-logos-img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 33px !important;
  min-height: 33px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  object-fit: contain !important;
}
.ls-payments .ls-pay-logos,
.ls-pay-logos--compact {
  display: block;
  margin: 14px 0 0;
  max-width: 280px;
  width: 100%;
  background: none;
  padding: 0;
}
.ls-payments .ls-pay-logos-img,
.ls-pay-logos--compact .ls-pay-logos-img {
  display: block;
  width: 100%;
  max-width: 280px;
  height: auto;
}
.ls-footer .ls-pay-logos {
  display: block;
  max-width: 280px;
  margin-top: 8px;
  padding: 0;
  background: none;
}
.ls-footer .ls-pay-logos-img {
  display: block;
  width: 100%;
  height: auto;
}
.ls-pay-logos-list,
.ls-pay-logo,
.ls-pay-mark {
  display: none !important;
}
.ls-pay-note { font-size: 13px; color: var(--ls-muted); }
.ls-paybox .ls-infobox-title,
.ls-reviewsbox .ls-infobox-title {
  margin: 0 0 6px;
  font-size: 1rem;
}
.ls-paybox .ls-pay-note { margin: 0 0 0; }
.ls-reviewsbox {
  margin-top: 12px;
  padding: 16px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(28,43,74,.08);
  box-shadow: 0 8px 22px rgba(28,43,74,.04);
}
.ls-reviewsbox-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}
.ls-reviewsbox-g {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(28,43,74,.1);
  color: #4285f4;
  font-weight: 800;
  font-size: 1.2rem;
  flex: 0 0 auto;
}
.ls-reviewsbox-meta {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  font-size: 13px;
  color: #31425f;
}
.ls-reviewsbox-stars {
  margin: 0;
  color: #f4b400;
  letter-spacing: 1px;
  font-size: 14px;
  line-height: 1;
}
.ls-reviewsbox-btn,
.ls-reviewsbox-btn.customize-unpreviewable,
a.ls-reviewsbox-btn,
a.ls-reviewsbox-btn.customize-unpreviewable {
  display: inline-flex;
  margin-top: 12px;
  width: 100%;
  justify-content: center;
  cursor: pointer !important;
  pointer-events: auto !important;
}
.ls-pay-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}
.ls-pay-actions .ls-btn { height: 40px; padding: 0 14px; font-size: 13px; }
.single-product .ls-page,
.ls-woo-single {
  padding-bottom: 40px;
}
.ls-details-band {
  position: relative;
  z-index: 1;
  clear: both;
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
  margin: 48px 0 0;
  padding: 48px 0 56px;
  isolation: isolate;
}
.ls-details-band::before {
  content: "";
  position: absolute;
  inset: 0;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  background: #eef1f7;
  z-index: -1;
  pointer-events: none;
}
.ls-details-title {
  width: 100%;
  margin: 0 0 24px;
  font-size: clamp(26px, 4vw, 36px);
}
.ls-details-band .ls-kicker {
  width: 100%;
  margin: 0 0 8px;
}
.ls-details-card {
  display: block;
}
.ls-details-toggle {
  display: none;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: inherit;
}
.ls-details-toggle-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.ls-details-toggle .ls-details-title {
  margin: 0;
  font-size: 18px;
  line-height: 1.25;
}
.ls-details-toggle .ls-kicker {
  margin: 0;
  font-size: 11px;
}
.ls-details-chev {
  width: 12px;
  height: 12px;
  border-right: 2px solid var(--ls-blue);
  border-bottom: 2px solid var(--ls-blue);
  transform: rotate(45deg);
  transition: transform .18s ease;
  flex: 0 0 auto;
  margin-top: -6px;
}
.ls-details-band.is-open .ls-details-chev {
  transform: rotate(-135deg);
  margin-top: 4px;
}
.ls-details-panel {
  display: block;
}
.ls-details-panel[hidden] {
  display: none !important;
}
@media (max-width: 960px) {
  .ls-details-band {
    margin: 20px 0 0;
    padding: 12px 0 24px;
  }
  .ls-details-card {
    background: #fff;
    border: 1px solid rgba(17,17,17,.1);
    border-radius: 16px;
    box-shadow: 0 6px 16px rgba(17,17,17,.07);
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  .ls-details-toggle {
    display: flex;
    padding: 14px 16px;
  }
  .ls-details-band.is-open .ls-details-toggle {
    border-bottom: 1px solid rgba(17,17,17,.08);
  }
  .ls-details-panel {
    padding: 12px 12px 14px;
  }
  .ls-details-panel .ls-detail-tabs {
    margin: 0 0 12px;
    border-radius: 12px;
    box-shadow: none;
  }
  .ls-details-panel .ls-detail-grid {
    gap: 8px;
  }
  .ls-details-panel .ls-detail-card {
    border-radius: 12px;
    padding: 12px;
  }
}
@media (min-width: 961px) {
  .ls-details-toggle { display: none !important; }
  .ls-details-panel,
  .ls-details-panel[hidden] {
    display: block !important;
  }
}
.ls-detail-tabs {
  background: #fff;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(17,17,17,.06);
  margin: 0 0 16px;
  overflow: hidden;
}
.ls-tab-bar {
  display: flex;
  gap: 0;
  border-bottom: 1px solid rgba(17,17,17,.08);
}
.ls-tab {
  flex: 1;
  height: 52px;
  border: 0;
  background: #f7f8fb;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  color: var(--ls-muted);
}
.ls-tab.is-active {
  background: #fff;
  color: var(--ls-blue);
  box-shadow: inset 0 -3px 0 var(--ls-blue);
}
.ls-tab-panel {
  display: none;
  padding: 24px;
}
.ls-tab-panel.is-active {
  display: block;
}
.ls-desc-cols {
  columns: 1;
  column-gap: 36px;
}
.ls-desc-cols p:first-child { margin-top: 0; }
@media (min-width: 800px) {
  .ls-desc-cols { columns: 2; }
}
.ls-detail-grid {
  display: grid;
  gap: 16px;
  width: 100%;
  margin: 0;
}
@media (min-width: 800px) {
  .ls-detail-grid { grid-template-columns: 1fr 1fr; }
}
.ls-detail-card {
  background: #fff;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 10px 28px rgba(17,17,17,.06);
}
.ls-detail-card-wide { grid-column: 1 / -1; }
.ls-detail-card h2 { margin: 0 0 10px; font-size: 18px; }
.ls-detail-card ul { margin: 0; padding-left: 18px; color: #3d3d42; }

body.ls-cart-open { overflow: hidden; }
body.ls-cart-open .ls-sticky-buy {
  display: none !important;
}
.ls-cart-drawer {
  position: fixed;
  inset: 0;
  z-index: 220;
  pointer-events: none;
}
.ls-cart-drawer[hidden] {
  display: none !important;
}
.ls-cart-drawer.is-open {
  pointer-events: auto;
  display: block !important;
}
.ls-cart-drawer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17,17,17,.45);
  opacity: 0;
  transition: opacity .14s ease;
  z-index: 1;
}
.ls-cart-drawer.is-open .ls-cart-drawer-backdrop { opacity: 1; }
.ls-cart-drawer-panel {
  position: absolute;
  top: 0;
  right: 0;
  width: min(420px, 100%);
  height: 100%;
  max-height: 100dvh;
  background: #fff;
  box-shadow: -18px 0 40px rgba(17,17,17,.18);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform .16s cubic-bezier(.2,.8,.2,1);
  z-index: 2;
}
.ls-cart-drawer.is-open .ls-cart-drawer-panel { transform: translateX(0); }

/* Account drawer — same motion as cart */
body.ls-account-open { overflow: hidden; }
.ls-account-drawer {
  position: fixed;
  inset: 0;
  z-index: 230;
  pointer-events: none;
}
.ls-account-drawer[hidden] { display: none !important; }
.ls-account-drawer.is-open {
  pointer-events: auto;
  display: block !important;
}
.ls-account-drawer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17,17,17,.45);
  opacity: 0;
  transition: opacity .14s ease;
  z-index: 1;
}
.ls-account-drawer.is-open .ls-account-drawer-backdrop { opacity: 1; }
.ls-account-drawer-panel {
  position: absolute;
  top: 0;
  right: 0;
  width: min(400px, 100%);
  height: 100%;
  max-height: 100dvh;
  background: #fff;
  box-shadow: -18px 0 40px rgba(17,17,17,.18);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform .16s cubic-bezier(.2,.8,.2,1);
  z-index: 2;
}
.ls-account-drawer.is-open .ls-account-drawer-panel { transform: translateX(0); }
.ls-account-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(17,17,17,.08);
  flex: 0 0 auto;
}
.ls-account-drawer-head h2 {
  margin: 0;
  font-size: 20px;
  color: var(--ls-blue);
}
.ls-account-drawer-close {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: #eef2f8;
  color: var(--ls-blue);
  font-size: 22px;
  cursor: pointer;
  line-height: 1;
}
.ls-account-drawer-body {
  flex: 1;
  overflow: auto;
  padding: 18px;
}
.ls-account-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin: 0 0 16px;
  padding: 4px;
  border-radius: 999px;
  background: #f3f6fb;
}
.ls-account-tabs:has(.ls-account-tab:only-child) {
  grid-template-columns: 1fr;
}
.ls-account-tab {
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #5b6b86;
  font: inherit;
  font-weight: 700;
  font-size: 13px;
  height: 38px;
  cursor: pointer;
}
.ls-account-tab.is-active {
  background: #fff;
  color: var(--ls-blue);
  box-shadow: 0 4px 12px rgba(28,43,74,.08);
}
.ls-account-pane[hidden] { display: none !important; }
.ls-account-form { display: grid; gap: 12px; }
.ls-account-field { margin: 0; display: grid; gap: 6px; }
.ls-account-field label {
  font-size: 13px;
  font-weight: 700;
  color: #31425f;
}
.ls-account-field input {
  height: 46px;
  border: 1px solid rgba(28,43,74,.14);
  border-radius: 12px;
  padding: 0 14px;
  font: inherit;
  background: #fff;
}
.ls-account-field input:focus {
  outline: none;
  border-color: var(--ls-blue);
  box-shadow: 0 0 0 3px rgba(68,114,196,.16);
}
.ls-account-remember {
  margin: 0;
  font-size: 13px;
  color: #5b6b86;
}
.ls-account-remember label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.ls-account-primary,
.ls-account-drawer .ls-btn.ls-account-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 48px;
  border: 0;
  border-radius: 999px;
  background: var(--ls-blue) !important;
  color: #fff !important;
  font-weight: 800;
  font-size: 15px;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(68,114,196,.28);
}
.ls-account-lost,
.ls-account-hint {
  margin: 0;
  font-size: 13px;
  color: #5b6b86;
  text-align: center;
}
.ls-account-lost a { color: var(--ls-blue); }
.ls-account-welcome { display: grid; gap: 10px; }
.ls-account-hello {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 800;
  color: #1c2b4a;
}
.ls-account-email {
  margin: 0 0 6px;
  color: #5b6b86;
  font-size: 14px;
}
.ls-account-logout {
  text-align: center;
  color: #5b6b86;
  font-size: 14px;
  font-weight: 600;
}

.ls-cart-drawer.is-updating .ls-cart-drawer-body {
  opacity: .72;
  transition: opacity .15s ease;
}
.ls-cart-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(17,17,17,.08);
  flex: 0 0 auto;
}
.ls-cart-drawer-head h2 {
  margin: 0;
  font-size: 20px;
}
.ls-cart-drawer-close {
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 12px;
  background: #eef2f8;
  color: var(--ls-blue);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  position: relative;
  z-index: 3;
  flex: 0 0 auto;
}
.ls-cart-drawer-body {
  overflow: auto;
  flex: 1;
  padding: 8px 20px 24px;
}
.ls-cart-drawer .widget_shopping_cart_content,
.ls-cart-drawer .woocommerce-mini-cart,
.ls-cart-drawer .cart_list,
.ls-cart-drawer .product_list_widget {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
}
.ls-cart-drawer .woocommerce-mini-cart-item,
.ls-cart-drawer .mini_cart_item,
.ls-cart-drawer li.woocommerce-mini-cart-item {
  display: block !important;
  position: relative;
  padding: 16px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(17,17,17,.08);
  overflow: visible !important;
  min-height: 0;
  list-style: none;
}
.ls-cart-drawer .woocommerce-mini-cart-item::before,
.ls-cart-drawer .woocommerce-mini-cart-item::after {
  display: none !important;
  content: none !important;
}
.ls-mini-item {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) 36px;
  gap: 12px;
  align-items: start;
  width: 100%;
}
.ls-mini-thumb {
  width: 88px;
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ls-bg);
  border-radius: 14px;
  overflow: hidden;
  flex: 0 0 88px;
}
.ls-cart-drawer .ls-mini-thumb img,
.ls-cart-drawer .woocommerce-mini-cart-item img {
  position: static !important;
  top: auto;
  left: auto;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  padding: 8px;
  box-sizing: border-box;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent;
  border-radius: 0;
  float: none !important;
  margin: 0 !important;
}
.ls-mini-info {
  min-width: 0;
}
.ls-mini-name {
  display: block;
  padding: 0;
  margin: 0 0 8px;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.3;
  color: inherit;
  text-decoration: none;
}
.ls-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
  display: block;
  padding: 0;
  margin: 0;
  font-weight: 700;
  line-height: 1.3;
  color: inherit;
}
.ls-cart-drawer .remove,
.ls-cart-drawer .remove_from_cart_button,
.ls-mini-remove {
  position: static !important;
  top: auto;
  right: auto;
  left: auto !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center;
  border-radius: 999px;
  background: #fdeeee !important;
  color: #c0392b !important;
  font-size: 0 !important;
  line-height: 1;
  text-decoration: none !important;
  text-indent: 0 !important;
  overflow: visible !important;
  float: none !important;
  box-shadow: none;
}
.ls-mini-remove svg {
  display: block;
  width: 18px;
  height: 18px;
}
.ls-mini-remove::before,
.ls-mini-remove::after {
  content: none !important;
  display: none !important;
}
.ls-mini-attrs {
  list-style: none;
  margin: 0 0 10px !important;
  padding: 0 !important;
  display: grid;
  gap: 3px;
  width: 100%;
}
.ls-mini-attrs li {
  display: grid !important;
  grid-template-columns: max-content 1fr;
  align-items: baseline;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13px;
  line-height: 1.4;
  float: none !important;
}
.ls-mini-attrs span {
  color: var(--ls-muted);
  font-weight: 600;
  white-space: nowrap;
}
.ls-mini-attrs span::after { content: ":"; }
.ls-mini-attrs strong {
  font-weight: 600;
  color: var(--ls-text);
  text-align: left;
}
.ls-cart-drawer dl.variation,
.ls-cart-drawer .variation {
  display: none !important;
}
.ls-mini-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
}
.ls-mini-price {
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}
.ls-mini-qty {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 999px;
  background: #f7f8fb;
  overflow: hidden;
}
.ls-mini-qty button,
.ls-mini-qty input {
  height: 36px;
  border: 0;
  text-align: center;
  font: inherit;
  background: transparent;
  color: inherit;
}
.ls-mini-qty button {
  width: 34px;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}
.ls-mini-qty button:hover { background: #fff; }
.ls-mini-qty button:disabled {
  opacity: .35;
  cursor: not-allowed;
}
.ls-mini-qty input {
  width: 36px;
  font-weight: 700;
  font-size: 14px;
  -moz-appearance: textfield;
}
.ls-mini-qty input::-webkit-outer-spin-button,
.ls-mini-qty input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.ls-cart-drawer .quantity,
.ls-cart-drawer .woocommerce-mini-cart-item .quantity {
  display: none !important;
}
.ls-cart-drawer .woocommerce-mini-cart__total,
.ls-cart-drawer .woocommerce-mini-cart__buttons {
  margin-top: 16px;
}
.ls-cart-drawer .woocommerce-mini-cart__buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ls-cart-drawer .woocommerce-mini-cart__buttons a,
.ls-cart-drawer .woocommerce-mini-cart__buttons .button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0 !important;
  height: 48px;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: #4472c4 !important;
  color: #fff !important;
  border: 1px solid #3b66b3 !important;
  border-bottom: 3px solid #2f5496 !important;
  box-shadow: 0 4px 12px rgba(68,114,196,.28) !important;
  font-weight: 700;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.ls-cart-drawer .woocommerce-mini-cart__buttons a.checkout,
.ls-cart-drawer .woocommerce-mini-cart__buttons .checkout {
  background: #f58220 !important;
  border: 1px solid #e07a18 !important;
  border-bottom: 3px solid #c45e0c !important;
  box-shadow: 0 4px 10px rgba(245,130,32,.25) !important;
  color: #fff !important;
}
.ls-cart-drawer .woocommerce-mini-cart__buttons a:hover,
.ls-cart-drawer .woocommerce-mini-cart__buttons a:focus,
.ls-cart-drawer .woocommerce-mini-cart__buttons a:active,
.ls-cart-drawer .woocommerce-mini-cart__buttons .button:hover,
.ls-cart-drawer .woocommerce-mini-cart__buttons .button:focus {
  transform: translateY(-4px);
  background: #3b66b3 !important;
  color: #fff !important;
  border-color: #345aa0 !important;
  box-shadow: 0 12px 20px rgba(68,114,196,.35) !important;
}
.ls-cart-drawer .woocommerce-mini-cart__buttons a.checkout:hover,
.ls-cart-drawer .woocommerce-mini-cart__buttons a.checkout:focus,
.ls-cart-drawer .woocommerce-mini-cart__buttons .checkout:hover,
.ls-cart-drawer .woocommerce-mini-cart__buttons .checkout:focus {
  background: #e07a18 !important;
  color: #fff !important;
  border-color: #d06e12 !important;
  box-shadow: 0 12px 20px rgba(245,130,32,.32) !important;
}
.ls-cart-drawer .woocommerce-mini-cart__empty-message {
  padding: 32px 8px;
  text-align: center;
  color: var(--ls-muted);
}

.ls-page-loader {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 200;
  place-items: center;
  pointer-events: none;
}
html.ls-preload .ls-page-loader {
  display: grid;
  pointer-events: auto;
}
/* Never show full-page loader while the cart drawer is open (e.g. remove item). */
body.ls-cart-open html.ls-preload .ls-page-loader,
body.ls-cart-open .ls-page-loader,
html.ls-preload body.ls-cart-open .ls-page-loader {
  display: none !important;
  pointer-events: none !important;
}
/* Kill WooCommerce blockUI/fade overlay while drawer is open. */
body.ls-cart-open .blockUI,
body.ls-cart-open .blockOverlay {
  display: none !important;
  pointer-events: none !important;
  opacity: 0 !important;
}
body.ls-cart-open a.ls-cart-link,
body.ls-cart-open div.widget_shopping_cart_content {
  opacity: 1 !important;
}
.ls-cart-drawer .woocommerce-mini-cart-item.is-removing {
  opacity: .45;
  pointer-events: none;
  transition: opacity .15s ease;
}
.ls-page-loader-blur {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(255,255,255,.42);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.ls-page-loader-mark {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  perspective: 600px;
  isolation: isolate;
  filter: none;
  text-shadow: 0 1px 0 rgba(255,255,255,.9), 0 8px 28px rgba(255,255,255,.85);
}
.ls-spin-word {
  margin: 0;
  font-size: clamp(36px, 7vw, 64px);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--ls-blue);
  line-height: 1;
}
.ls-spin-word span {
  display: inline-block;
  transform-origin: center;
  animation: ls-letter-spin 1.7s ease-in-out infinite;
  animation-delay: calc(var(--i) * .09s);
}
.ls-spin-swoosh {
  width: min(280px, 70vw);
  height: 42px;
  overflow: visible;
}
.ls-spin-swoosh path {
  stroke-dasharray: 420;
  stroke-dashoffset: 420;
  animation: ls-swoosh 1.7s ease-in-out infinite;
}
.ls-spin-shop {
  margin: 0;
  font-size: clamp(28px, 5vw, 42px);
  font-weight: 700;
  color: var(--ls-orange);
  letter-spacing: -0.03em;
  line-height: 1;
  animation: ls-shop-pulse 1.7s ease-in-out infinite;
}
.ls-loader-video,
.ls-loader-gif {
  width: min(360px, 80vw);
  height: auto;
}
@keyframes ls-letter-spin {
  0%, 18% { transform: rotateY(0deg); }
  48% { transform: rotateY(360deg); }
  100% { transform: rotateY(360deg); }
}
@keyframes ls-swoosh {
  0% { stroke-dashoffset: 420; }
  45% { stroke-dashoffset: 0; }
  100% { stroke-dashoffset: 0; }
}
@keyframes ls-shop-pulse {
  0%, 40% { opacity: .85; transform: translateY(4px); }
  70%, 100% { opacity: 1; transform: translateY(0); }
}

body.ls-search-open { overflow: hidden; }
.ls-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: none;
  align-items: flex-start;
  justify-content: center;
  padding: 3vh 20px 3vh;
  background: transparent;
}
.ls-search-overlay.is-open { display: flex; }
.ls-search-overlay[hidden] { display: none !important; }
.ls-search-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17,17,17,.48);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
.ls-search-panel {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100% - 40px));
  max-width: 1180px;
  max-height: min(86vh, 880px);
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 28px 80px rgba(17,17,17,.28);
  overflow: hidden;
}
.ls-search-overlay-top {
  border-bottom: 1px solid rgba(17,17,17,.08);
  padding: 12px 16px;
  background: #fff;
  flex: 0 0 auto;
}
.ls-search-overlay-head {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr) 40px;
  gap: 14px;
  align-items: center;
}
.ls-search-overlay-logo {
  width: 120px;
  max-width: 120px;
  height: 44px;
  object-fit: contain;
  object-position: left center;
  border-radius: 0;
  background: transparent;
}
.ls-search-overlay-field {
  position: relative;
  display: flex;
  align-items: center;
  max-width: 640px;
  width: 100%;
  justify-self: stretch;
}
.ls-search-overlay-field input {
  width: 100%;
  height: 44px;
  border: 1px solid rgba(17,17,17,.12);
  border-radius: 999px;
  padding: 0 44px;
  font: inherit;
  font-size: 15px;
  background: #f7f8fb;
}
.ls-search-ico {
  position: absolute;
  left: 18px;
  color: var(--ls-muted);
  font-size: 18px;
  pointer-events: none;
}
.ls-search-clear,
.ls-search-overlay-close {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: #eef2f8;
  color: var(--ls-blue);
  font-size: 22px;
  cursor: pointer;
}
.ls-search-clear {
  position: absolute;
  right: 8px;
  width: 32px;
  height: 32px;
  font-size: 18px;
}
.ls-search-overlay-body {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 18px;
  padding: 16px 18px 10px;
  overflow: hidden;
}
.ls-search-filters {
  overflow: auto;
  padding-right: 8px;
  border-right: 1px solid rgba(17,17,17,.08);
}
.ls-search-filters-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 14px;
}
.ls-search-filters-head h2 {
  margin: 0;
  font-size: 16px;
}
.ls-search-filters-head button {
  border: 0;
  background: none;
  color: var(--ls-blue);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 11px;
}
.ls-search-filter-block { margin: 0 0 18px; }
.ls-search-filter-block h3 {
  margin: 0 0 8px;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ls-muted);
}
.ls-search-price {
  display: grid;
  grid-template-columns: 56px 56px;
  gap: 8px;
  justify-content: start;
}
.ls-search-price label {
  display: grid;
  gap: 4px;
  font-size: 12px;
  color: var(--ls-muted);
}
.ls-search-price input {
  width: 56px;
  max-width: 56px;
  height: 38px;
  border: 1px solid rgba(17,17,17,.12);
  border-radius: 10px;
  padding: 0 6px;
  font: inherit;
  text-align: center;
}
.ls-search-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ls-search-pill {
  border: 1px solid rgba(17,17,17,.12);
  background: #fff;
  border-radius: 999px;
  padding: 7px 11px;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.ls-search-pill.is-active {
  background: var(--ls-blue);
  border-color: var(--ls-blue);
  color: #fff;
}
.ls-search-results {
  min-width: 0;
  overflow: auto;
  padding-right: 4px;
}
.ls-search-count {
  margin: 0 0 12px;
  font-weight: 700;
  font-size: 14px;
}
.ls-search-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
}
.ls-search-grid.is-loading { opacity: .55; }
.ls-search-card {
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  transition: transform .18s ease, box-shadow .18s ease;
}
.ls-search-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(17,17,17,.1);
}
.ls-search-card-media {
  position: relative;
  aspect-ratio: 1;
  background: var(--ls-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
}
.ls-search-card-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.ls-search-card-stock {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
}
.ls-search-card-stock.is-in { background: var(--ls-orange); }
.ls-search-card-stock.is-out { background: #8b8b90; }
.ls-search-card.is-out { opacity: .9; }
.ls-search-card.is-out .ls-search-card-price { color: #8b8b90; }
.ls-search-card-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
  flex: 1;
}
.ls-search-card-cat {
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ls-muted);
}
.ls-search-card-title {
  font-size: 14px;
  line-height: 1.3;
}
.ls-search-card-meta {
  font-size: 12px;
  color: var(--ls-muted);
}
.ls-search-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: auto;
  padding-top: 8px;
}
.ls-search-card-price {
  font-size: 16px;
  font-weight: 800;
  color: var(--ls-blue);
  white-space: nowrap;
}
.ls-search-card-go {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--ls-blue);
  color: #fff;
  font-size: 14px;
  flex: 0 0 auto;
}
.ls-search-empty {
  margin: 36px 0;
  text-align: center;
  color: var(--ls-muted);
}
.ls-search-overlay-foot {
  border-top: 1px solid rgba(17,17,17,.08);
  padding: 10px 18px;
  font-size: 12px;
  color: var(--ls-muted);
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex: 0 0 auto;
}
@media (max-width: 900px) {
  .ls-search-overlay { padding: 0; }
  .ls-search-panel {
    width: 100%;
    max-width: none;
    max-height: 100vh;
    height: 100vh;
    border-radius: 0;
  }
  .ls-search-overlay-head {
    grid-template-columns: minmax(0, 1fr) auto 36px !important;
    gap: 8px;
    padding: 10px 12px;
  }
  .ls-search-overlay-logo {
    display: none !important;
  }
  .ls-search-filters-btn {
    display: inline-flex !important;
  }
  .ls-search-overlay-field {
    max-width: none !important;
    justify-self: stretch;
  }
  .ls-search-overlay-field input {
    height: 42px;
    font-size: 15px;
  }
  .ls-search-overlay-body {
    grid-template-columns: 1fr;
    overflow: auto;
    position: relative;
  }
  .ls-search-filters {
    display: none;
    position: absolute;
    inset: 0 auto 0 0;
    width: min(86vw, 320px);
    max-height: none;
    height: 100%;
    z-index: 5;
    border-right: 0;
    border-bottom: 0;
    padding: 14px 12px 18px;
    background: #fff;
    box-shadow: 16px 0 40px rgba(17,17,17,.18);
    overflow: auto;
  }
  .ls-search-overlay.is-filters-open .ls-search-filters {
    display: block;
  }
  .ls-search-overlay.is-filters-open .ls-search-results::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(17,17,17,.28);
    z-index: 4;
  }
  .ls-search-results {
    position: relative;
    padding: 10px 12px 16px;
  }
  .ls-search-filters-done {
    display: inline-flex !important;
    align-items: center;
  }
  .ls-search-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .ls-search-card {
    padding: 8px !important;
    border-radius: 12px !important;
  }
  .ls-search-card-cat {
    display: none;
  }
  .ls-search-card-media {
    aspect-ratio: 1 / 1;
    margin-bottom: 6px;
  }
  .ls-search-card-title {
    font-size: 12px !important;
    line-height: 1.25 !important;
    min-height: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .ls-search-card-meta {
    font-size: 10px !important;
    margin-top: 2px;
  }
  .ls-search-card-price {
    font-size: 13px !important;
  }
  .ls-search-card-go {
    width: 26px;
    height: 26px;
    font-size: 12px;
  }
  .ls-search-card-foot {
    padding-top: 4px;
  }
  .ls-search-overlay-foot {
    padding: 8px 12px;
    font-size: 11px;
  }
}

/* === Catalog redesign + search (1.3.31) === */
.ls-products,
.woocommerce ul.products,
ul.products {
  gap: 14px !important;
  margin: 20px 0 !important;
}
.ls-products li,
.woocommerce ul.products li.product,
ul.products li.product {
  border: 0 !important;
  border-radius: 16px !important;
  padding: 10px 10px 0 !important;
  box-shadow: 0 6px 18px rgba(17,17,17,.08) !important;
  transform: none !important;
  overflow: hidden;
}
.ls-products li:hover,
.woocommerce ul.products li.product:hover,
ul.products li.product:hover {
  transform: none !important;
  box-shadow: 0 10px 24px rgba(17,17,17,.12) !important;
}
.ls-card-media {
  aspect-ratio: 1 / .92;
  background: #f7f8fb;
  border-radius: 12px;
}
.ls-card-stock {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
}
.ls-card-stock.is-in { background: var(--ls-orange); }
.ls-card-stock.is-out { background: #8b8b90; }
.ls-card-body { padding: 10px 4px 8px; min-height: 0; }
.ls-card-tax {
  display: inline-block;
  margin: 0 0 6px;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--ls-orange);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
}
ul.products li.product .woocommerce-loop-product__title,
.ls-card .woocommerce-loop-product__title {
  font-size: 14px !important;
  font-weight: 700 !important;
  margin: 0 0 4px !important;
}
.ls-card-meta {
  margin: 0 0 8px;
  color: var(--ls-muted);
  font-size: 12px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ls-card-buyrow {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  margin-top: 4px;
}
ul.products li.product .price,
.ls-card .price {
  display: flex;
  flex-direction: column;
  gap: 1px;
  font-weight: 700;
  color: var(--ls-blue) !important;
  font-size: 18px;
  line-height: 1.1;
}
.ls-card .price del {
  order: -1;
  color: var(--ls-muted);
  font-size: 12px;
  font-weight: 500;
  opacity: .85;
}
.ls-card .price ins {
  text-decoration: none;
  color: var(--ls-blue);
}
.ls-card-select {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 34px;
  padding: 7px 12px !important;
  border-radius: 10px !important;
  background: var(--ls-blue) !important;
  color: #fff !important;
  font-size: 12px;
  font-weight: 700;
  border: 0 !important;
  box-shadow: none !important;
  white-space: nowrap;
}
.ls-card-select:hover { background: #365ea8 !important; color: #fff !important; }
.ls-card-info {
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 10px -10px 0;
  padding: 11px 12px !important;
  background: #1b1b1f !important;
  color: #fff !important;
  font-size: 13px;
  font-weight: 700;
  border: 0 !important;
  border-radius: 0 !important;
}
.ls-card-info:hover { background: #000 !important; color: #fff !important; }
.ls-card-cta,
.woocommerce ul.products li.product .onsale,
span.onsale { display: none !important; }

.ls-woo-has-sidebar {
  grid-template-columns: 250px minmax(0, 1fr) !important;
  gap: 28px !important;
}
.ls-woo-sidebar {
  display: grid;
  gap: 14px;
  position: sticky;
  top: 16px;
}
.ls-filters-drawer-head,
.ls-filters-bar,
.ls-filters-backdrop {
  display: none;
}
.ls-filters-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 42px;
  border: 0;
  border-radius: 12px;
  background: var(--ls-blue);
  color: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(68,114,196,.25);
}
.ls-filters-open-ico {
  display: inline-grid;
  place-items: center;
}
.ls-filters-open-ico svg { display: block; }
.ls-filters-close {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 10px;
  background: #eef1f7;
  color: var(--ls-text);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.ls-filter-box,
.ls-woo-sidebar .ls-widget,
.ls-woo-sidebar .widget {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(17,17,17,.07);
  padding: 14px;
  margin: 0;
}
.ls-filter-box-title,
.ls-woo-sidebar .ls-widget-title,
.ls-woo-sidebar .widget-title {
  margin: 0 0 10px;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ls-muted);
}
.ls-filter-sort select,
.ls-woo-sidebar select {
  width: 100%;
  height: 40px;
  border: 1px solid rgba(17,17,17,.12);
  border-radius: 10px;
  padding: 0 12px;
  background: #fff;
  font: inherit;
  font-size: 13px;
}
.ls-filter-cats,
.ls-filter-sub { list-style: none; margin: 0; padding: 0; }
.ls-filter-cat { border-top: 1px solid rgba(17,17,17,.06); }
.ls-filter-cat:first-child { border-top: 0; }
.ls-filter-cat-row { display: flex; align-items: center; gap: 6px; }
.ls-filter-cat-row > a {
  flex: 1;
  padding: 10px 0;
  color: var(--ls-text);
  font-size: 13px;
  font-weight: 600;
}
.ls-filter-cat-row > a[aria-current="page"] { color: var(--ls-blue); }
.ls-filter-toggle {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 8px;
  background: rgba(68, 114, 196, .14);
  color: var(--ls-blue);
  cursor: pointer;
  line-height: 1;
}
.ls-filter-toggle:hover {
  background: rgba(68, 114, 196, .24);
  color: var(--ls-blue);
}
.ls-filter-cat.is-open > .ls-filter-cat-row .ls-filter-toggle { transform: rotate(180deg); }
.ls-filter-sub { padding: 0 0 8px 8px; }
.ls-filter-sub a {
  display: block;
  padding: 6px 0;
  color: var(--ls-muted);
  font-size: 12.5px;
}
.ls-filter-sub a[aria-current="page"] { color: var(--ls-blue); font-weight: 600; }
.ls-filter-model {
  border-top: 1px solid rgba(17,17,17,.04);
}
.ls-filter-model > .ls-filter-cat-row > a {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ls-muted);
  padding: 7px 0;
}
.ls-filter-model > .ls-filter-sub {
  padding-left: 10px;
  border-left: 2px solid rgba(245,130,32,.3);
  margin: 0 0 6px 4px;
}
.ls-filter-model > .ls-filter-sub a {
  font-size: 12px;
  font-weight: 500;
}
.ls-model-strip { margin: 0 0 18px; }
.ls-model-strip h2 { margin: 0 0 10px; font-size: 18px; }
.ls-model-strip-track {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 8px;
  scroll-snap-type: x mandatory;
}
.ls-model-chip {
  flex: 0 0 auto;
  width: 132px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 22px;
  align-items: center;
  gap: 6px;
  padding: 8px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(17,17,17,.07);
  scroll-snap-align: start;
  color: var(--ls-blue);
  font-size: 12px;
  font-weight: 700;
}
.ls-model-chip img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  background: #f7f8fb;
  border-radius: 8px;
}
.ls-model-chip span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ls-model-chip i {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #1b1b1f;
  color: #fff;
  display: grid;
  place-items: center;
  font-style: normal;
  font-size: 11px;
}
.woocommerce .woocommerce-ordering { display: none !important; }

.ls-search-panel {
  width: min(1360px, calc(100% - 24px)) !important;
  max-width: 1360px !important;
}
.ls-search-overlay-head {
  grid-template-columns: 150px minmax(0, 1fr) 40px !important;
}
.ls-search-overlay-logo {
  width: 140px !important;
  max-width: 140px !important;
  height: 48px !important;
}
.ls-search-overlay-field { max-width: 720px !important; }
@media (max-width: 900px) {
  .ls-search-overlay-head {
    grid-template-columns: minmax(0, 1fr) auto 36px !important;
  }
  .ls-search-overlay-logo {
    display: none !important;
  }
}

/* === Card CTA + no hover bounce (1.3.32) === */
.ls-card-tax {
  display: none !important;
}
.ls-card-select { display: none !important; }
.ls-products li,
.woocommerce ul.products li.product,
ul.products li.product,
.ls-products li:hover,
.woocommerce ul.products li.product:hover,
ul.products li.product:hover {
  transform: none !important;
  transition: box-shadow .18s ease !important;
}
.ls-card-info {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 10px -10px 0 !important;
  padding: 12px !important;
  background: var(--ls-blue) !important;
  background-color: #4472c4 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color .15s ease !important;
}
.ls-card-info-ico {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
}
.ls-card-info-ico svg { display: block; }
.ls-card-info:hover,
.ls-card-info:focus {
  background: #365ea8 !important;
  background-color: #365ea8 !important;
  color: #fff !important;
  transform: none !important;
  box-shadow: none !important;
}
.ls-pdp-variants.is-soldout .ls-soldout-card {
  display: grid !important;
  z-index: 5;
}

/* === Catalog polish 1.3.33 === */
body.tax-product_cat .woocommerce-products-header img,
body.tax-product_cat .term-description,
body.tax-product_cat .woocommerce-products-header__description,
body.post-type-archive-product .term-description,
.ls-woo-main img[src*="paypal" i]:not(.ls-pay-logos-img),
.ls-woo-main a[href*="paypal" i],
.ls-woo img[alt*="PayPal" i]:not(.ls-pay-logos-img),
.ls-woo img[alt*="paypal" i]:not(.ls-pay-logos-img) {
  display: none !important;
}

.ls-products,
.woocommerce ul.products,
ul.products {
  align-items: stretch !important;
}
.ls-products li,
.woocommerce ul.products li.product,
ul.products li.product {
  height: 100% !important;
  min-height: 100%;
  background: #fff !important;
  border: 1px solid rgba(17,17,17,.16) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 14px rgba(17,17,17,.06) !important;
  display: flex !important;
  flex-direction: column !important;
}
.ls-card-media {
  background: #f7f8fb !important;
  flex: 0 0 auto;
}
.ls-card-body {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  padding: 10px 6px 8px !important;
}
.ls-card-meta {
  min-height: 0;
  margin: 0 0 8px !important;
}
.ls-card-buyrow {
  margin-top: auto !important;
  min-height: 34px;
  display: flex !important;
  align-items: flex-end !important;
}
.ls-card .price,
ul.products li.product .price {
  min-height: 28px;
  width: 100%;
}
.ls-card-info {
  margin-top: 0 !important;
  flex: 0 0 auto;
}

.ls-model-chip {
  width: 168px !important;
  grid-template-columns: 48px minmax(0, 1fr) 22px !important;
}
.ls-model-chip img,
.ls-model-chip-ph {
  width: 48px !important;
  height: 48px !important;
  object-fit: contain !important;
  background: #f7f8fb !important;
  border-radius: 8px !important;
  display: block;
}
.ls-model-chip-ph {
  border: 1px dashed rgba(17,17,17,.12);
}

/* === Catalog fixes 1.3.34 === */
.woocommerce-products-header > *:not(h1):not(.woocommerce-products-header__title) {
  display: none !important;
}
.woocommerce-products-header img,
.woocommerce-products-header iframe,
.woocommerce-products-header figure,
.ls-woo-main img[src*="paypal"]:not(.ls-pay-logos-img),
.ls-woo-main img[src*="PayPal"]:not(.ls-pay-logos-img),
.ls-woo-main a[href*="paypal"],
.ls-woo-main a[href*="PayPal"] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

.ls-filter-sort select.ls-orderby,
.ls-filter-sort select {
  color: #111 !important;
  background: #fff !important;
  opacity: 1 !important;
  -webkit-appearance: menulist;
  appearance: auto;
  font-size: 13px !important;
}
.ls-filter-sort select option {
  color: #111 !important;
  background: #fff !important;
}

.ls-products li.product,
.woocommerce ul.products li.product,
ul.products li.product,
li.product.ls-card {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border: 1px solid rgba(17,17,17,.18) !important;
  box-shadow: 0 2px 10px rgba(17,17,17,.05) !important;
}
.ls-card-media {
  background: #ffffff !important;
}
.ls-card-info {
  background: #4472c4 !important;
  background-color: #4472c4 !important;
  color: #fff !important;
}

.ls-model-strip-track {
  gap: 12px !important;
  padding-bottom: 10px !important;
}
.ls-model-chip {
  width: 148px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 8px !important;
  padding: 10px !important;
  grid-template-columns: none !important;
  position: relative;
  background: #fff !important;
  border: 1px solid rgba(17,17,17,.12);
  border-radius: 14px !important;
  box-shadow: 0 4px 14px rgba(17,17,17,.07) !important;
  color: var(--ls-text) !important;
}
.ls-model-chip-media {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 1;
  background: #f7f8fb;
  border-radius: 10px;
  overflow: hidden;
}
.ls-model-chip-media img,
.ls-model-chip-ph {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain !important;
  padding: 8px;
  box-sizing: border-box;
  background: transparent !important;
}
.ls-model-chip-name {
  display: block;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--ls-text) !important;
  line-height: 1.25;
  padding-right: 28px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ls-model-chip-go {
  position: absolute !important;
  right: 10px;
  bottom: 10px;
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: #f58220 !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 1 !important;
}
.ls-model-chip i { display: none !important; }

/* === Mega columns row (no accordion) 1.3.38 === */
.ls-mega-list.is-grouped {
  display: block !important;
  max-height: none;
  overflow: visible;
}
.ls-mega-col.is-iphone { min-width: 0; overflow: visible; }
.ls-mega-col.is-iphone .ls-mega-list.is-grouped,
.ls-mega-list.is-grouped.is-two-col {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  column-gap: 8px;
  column-count: unset !important;
}
.ls-mega-group {
  position: relative;
  border-bottom: 1px solid rgba(17,17,17,.06);
  list-style: none;
  z-index: 1;
}
.ls-mega-group.is-open {
  z-index: 30;
}
.ls-mega-group-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 0 !important;
  border: 0;
  background: transparent;
  color: var(--ls-muted);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  text-align: left;
}
.ls-mega-group-toggle:hover { color: var(--ls-text); }
.ls-mega-group-caret {
  color: var(--ls-orange);
  transition: transform .15s ease;
  flex: 0 0 auto;
}
.ls-mega-group.is-open > .ls-mega-group-toggle .ls-mega-group-caret {
  transform: rotate(180deg);
}
.ls-mega-group-items {
  position: absolute;
  left: 0;
  top: calc(100% - 2px);
  z-index: 40;
  list-style: none;
  margin: 0;
  min-width: 168px;
  padding: 8px;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(17,17,17,.16);
}
.ls-mega-group-items[hidden] {
  display: none !important;
}
.ls-mega-group-items a {
  display: block;
  padding: 8px 10px !important;
  font-size: 13px;
  color: var(--ls-text) !important;
  border-radius: 8px;
  white-space: nowrap;
}
.ls-mega-group-items a:hover {
  background: rgba(68,114,196,.1);
  color: var(--ls-blue) !important;
}
.ls-mega-list.is-two-col > li {
  break-inside: avoid;
}

.ls-swatch-extra.is-minus { color: #1a7f4b; }
.ls-swatch-extra.is-plus { color: var(--ls-orange); }

.ls-footer-follow {
  margin: 14px 0 8px;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
}
.ls-social {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.ls-social a {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.14);
  color: #fff !important;
  font-size: 11px;
  font-weight: 700;
  text-transform: lowercase;
  cursor: pointer !important;
  user-select: none;
}
.ls-social a:hover { background: rgba(255,255,255,.24); }
.ls-social a svg { pointer-events: none; }

.ls-funding {
  border-top: 1px solid rgba(255,255,255,.18);
  padding: 28px 0;
}
.ls-funding-inner {
  display: grid;
  gap: 18px;
}
@media (min-width: 900px) {
  .ls-funding-inner { grid-template-columns: 1.1fr 1.4fr; align-items: start; }
}
.ls-funding-logos {
  display: block;
}
.ls-funding-logos-img {
  display: block;
  width: 100%;
  max-width: 560px;
  height: auto;
  border-radius: 8px;
}
.ls-funding-copy p {
  margin: 0 0 8px;
  color: rgba(255,255,255,.9);
  font-size: 13px;
  line-height: 1.45;
}
/* Keep PDP details below the buy grid on desktop */
@media (min-width: 901px) {
  .ls-pdp-grid > * {
    min-width: 0;
  }
  .ls-pdp-info,
  .ls-pdp-aside,
  .ls-pdp-gallery {
    position: relative;
    z-index: 2;
  }
  .ls-details-band {
    margin-top: 56px;
  }
}


/* === Mobile compact catalog + PDP 1.3.42 === */
@media (max-width: 900px) {
  .ls-woo,
  .ls-woo-single,
  .ls-woo-main {
    padding-left: 0;
    padding-right: 0;
  }
  .ls-wrap.ls-woo,
  .ls-wrap.ls-page.ls-woo {
    width: min(100%, calc(100% - 20px));
  }
  .ls-woo-has-sidebar {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
  }
  .ls-woo-main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
  }
  .ls-filters-bar {
    display: block !important;
    margin: 0 0 12px;
  }
  .ls-filters-drawer-head {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 12px;
    padding: 0 0 10px;
    border-bottom: 1px solid rgba(17,17,17,.08);
  }
  .ls-filters-drawer-title {
    margin: 0;
    font-size: 16px;
  }
  .ls-woo-sidebar {
    position: fixed !important;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(88vw, 340px);
    z-index: 120;
    margin: 0 !important;
    padding: 16px 14px 24px;
    background: #fff;
    box-shadow: 18px 0 40px rgba(17,17,17,.18);
    overflow: auto;
    transform: translateX(-105%);
    transition: transform .22s ease;
    display: grid;
    gap: 12px;
    align-content: start;
  }
  .ls-woo-has-sidebar.is-filters-open .ls-woo-sidebar {
    transform: translateX(0);
  }
  .ls-filters-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 110;
    background: rgba(17,17,17,.42);
  }
  .ls-filters-backdrop[hidden] {
    display: none !important;
  }
  body.ls-filters-open {
    overflow: hidden;
  }
  .ls-filter-box {
    padding: 10px 12px !important;
    border-radius: 12px !important;
  }
  .ls-filter-box-title {
    font-size: 12px !important;
    margin: 0 0 6px !important;
  }
  .ls-filter-cat-row > a {
    padding: 7px 0 !important;
    font-size: 12.5px !important;
  }
  .ls-filter-toggle {
    width: 24px;
    height: 24px;
    font-size: 11px;
  }
  .ls-model-strip {
    margin: 0 0 12px !important;
  }
  .ls-model-strip h2 {
    font-size: 15px !important;
    margin: 0 0 8px !important;
  }
  .ls-model-chip {
    width: 128px !important;
    padding: 8px !important;
    gap: 8px !important;
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
  }
  .ls-model-chip-media {
    width: 100% !important;
    aspect-ratio: 1 !important;
    min-height: 88px !important;
  }
  .ls-model-chip-media img,
  .ls-model-chip-ph,
  .ls-model-chip img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    padding: 6px !important;
  }
  .ls-model-chip-name {
    font-size: 12px !important;
    padding-right: 26px !important;
  }

  /* Catalog grid denser — keep both columns inside viewport */
  .ls-woo,
  .ls-woo-main,
  .ls-wrap.ls-woo {
    overflow-x: clip;
    min-width: 0;
    max-width: 100%;
  }
  .ls-products,
  .woocommerce ul.products,
  ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 12px 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .ls-products li,
  .woocommerce ul.products li.product,
  ul.products li.product,
  li.product.ls-card {
    padding: 6px 6px 0 !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(17,17,17,.06) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  .ls-card-media {
    aspect-ratio: 1 / .88 !important;
    border-radius: 8px !important;
  }
  .ls-card-stock {
    top: 5px;
    right: 5px;
    padding: 2px 6px;
    font-size: 9px;
  }
  .ls-card-body {
    padding: 6px 4px 6px !important;
    min-height: 0 !important;
  }
  .ls-card-tax {
    display: none !important;
  }
  ul.products li.product .woocommerce-loop-product__title,
  .ls-card .woocommerce-loop-product__title {
    font-size: 12.5px !important;
    line-height: 1.2 !important;
    margin: 0 0 2px !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .ls-card-meta {
    font-size: 10.5px !important;
    margin: 0 0 4px !important;
    min-height: 0 !important;
  }
  .ls-card-buyrow {
    min-height: 0 !important;
    gap: 4px;
    margin-top: 2px !important;
  }
  .ls-card .price,
  ul.products li.product .price {
    font-size: 15px !important;
    min-height: 0 !important;
    color: var(--ls-blue) !important;
  }
  .ls-card .price del {
    font-size: 10.5px !important;
    order: -1;
  }
  .ls-card-info {
    min-height: 34px !important;
    height: auto !important;
    padding: 8px 6px !important;
    font-size: 11px !important;
    gap: 5px !important;
    margin: 6px -6px 0 !important;
    border-radius: 0 0 11px 11px !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
  }
  .ls-card-info-ico svg {
    width: 13px;
    height: 13px;
  }
  .woocommerce-result-count,
  .woocommerce-ordering {
    font-size: 12px !important;
    margin: 0 0 8px !important;
  }
  .woocommerce-products-header h1,
  .woocommerce-products-header__title {
    font-size: 22px !important;
    margin: 0 0 10px !important;
  }

  /* PDP compact */
  .ls-pdp-grid {
    gap: 12px !important;
  }
  .ls-pdp-stage {
    height: 210px !important;
    min-height: 210px !important;
    max-height: 210px !important;
    border-radius: 14px !important;
  }
  .ls-pdp-stage > a { inset: 10px 36px !important; }
  .ls-pdp-nav {
    width: 28px !important;
    height: 28px !important;
    font-size: 14px;
  }
  .ls-pdp-thumbs button {
    width: 52px !important;
    height: 52px !important;
    border-radius: 10px !important;
  }
  .ls-pdp-thumbs-bar { gap: 6px; margin-top: 8px; }
  .ls-pdp-info h1,
  .ls-pdp-info .product_title {
    font-size: 17px !important;
    line-height: 1.2 !important;
    margin: 0 0 2px !important;
  }
  .ls-pdp-summary {
    font-size: 12px !important;
    margin: 0 0 4px !important;
  }
  .ls-pdp-info .price,
  .ls-pdp-head-price .price,
  .ls-pdp-price,
  .woocommerce div.product.ls-pdp p.price,
  .woocommerce div.product.ls-pdp .ls-pdp-head-price .price {
    font-size: 22px !important;
    line-height: 1.1 !important;
    margin: 0 !important;
  }
  .ls-pdp-save {
    font-size: 11px !important;
    margin: 2px 0 0 !important;
  }
  .ls-pdp-head {
    gap: 4px !important;
    margin-bottom: 6px;
  }
  .ls-pdp-info table.variations .label {
    font-size: 12px !important;
    margin: 0 0 4px !important;
  }
  .ls-pdp-info table.variations tr {
    margin: 0 0 8px !important;
  }
  .ls-swatch-group { margin: 6px 0 !important; }
  .ls-swatch-group h2 {
    font-size: 12.5px !important;
    margin: 0 0 6px !important;
  }
  .ls-swatch-row {
    gap: 6px !important;
  }
  .ls-swatch,
  .woocommerce button.ls-swatch,
  .ls-pdp button.ls-swatch {
    min-width: 58px !important;
    min-height: 34px !important;
    padding: 5px 9px !important;
    font-size: 12px !important;
    border-radius: 10px !important;
    border-bottom-width: 2px !important;
    box-shadow: none !important;
  }
  .ls-swatch:hover {
    transform: none !important;
    box-shadow: none !important;
  }
  .ls-swatch small { font-size: 9px !important; }
  .ls-swatch-dot {
    width: 11px !important;
    height: 11px !important;
    flex-basis: 11px !important;
  }
  .ls-swatch.is-color {
    min-width: 64px !important;
    gap: 5px !important;
  }
  .ls-grade-hint {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding: 7px 10px !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
    border-radius: 8px !important;
  }
  .ls-grade-block { gap: 6px !important; }
  .ls-pdp-variants {
    min-height: 0 !important;
  }
  .ls-pdp-variants.is-soldout {
    min-height: 140px !important;
  }
  .ls-buybox,
  .ls-paybox {
    border-radius: 14px !important;
    padding: 12px !important;
    margin-bottom: 10px !important;
  }
  .ls-buybox { padding-top: 14px !important; }
  .ls-buybox-cart {
    width: 32px !important;
    height: 32px !important;
    top: 10px !important;
    right: 10px !important;
  }
  .ls-buybox-kicker {
    font-size: 14px !important;
    margin: 0 40px 8px 0 !important;
  }
  .ls-buybox-price { margin: 0 0 8px !important; }
  .ls-buybox-price .price,
  .ls-buybox-price p.price {
    font-size: 22px !important;
  }
  .ls-buy-row {
    gap: 8px !important;
    margin: 0 0 8px !important;
  }
  .ls-qty {
    height: 40px !important;
    min-height: 40px !important;
  }
  .ls-buybox-cta,
  .woocommerce div.product.ls-pdp .single_add_to_cart_button,
  .woocommerce div.product.ls-pdp button.single_add_to_cart_button {
    min-height: 42px !important;
    height: auto !important;
    font-size: 13px !important;
    border-radius: 12px !important;
    padding: 8px 12px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }
  .ls-ship-note,
  .ls-trust-row {
    font-size: 11.5px !important;
    margin: 6px 0 !important;
  }
  .ls-details-title {
    font-size: 16px !important;
    margin: 16px 0 8px !important;
  }
  .ls-detail-tabs button {
    font-size: 12px !important;
    padding: 8px 10px !important;
  }
}

@media (max-width: 640px) {
  .ls-products,
  .woocommerce ul.products,
  ul.products {
    gap: 7px !important;
  }
  .ls-card-info {
    min-height: 32px !important;
    height: auto !important;
    font-size: 10.5px !important;
    padding: 7px 4px !important;
  }
  .ls-card-info-ico { display: none; }
  .ls-pdp-stage {
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
  }
  .ls-pdp-info h1,
  .ls-pdp-info .product_title {
    font-size: 16px !important;
  }
  .ls-pdp-info .price,
  .ls-pdp-head-price .price,
  .ls-pdp-price,
  .ls-buybox-price .price,
  .ls-buybox-price p.price {
    font-size: 20px !important;
  }
  .ls-swatch,
  .woocommerce button.ls-swatch,
  .ls-pdp button.ls-swatch {
    min-width: 52px !important;
    min-height: 32px !important;
    padding: 4px 8px !important;
    font-size: 11.5px !important;
  }
  .ls-buybox-cta,
  .woocommerce div.product.ls-pdp .single_add_to_cart_button {
    min-height: 40px !important;
    height: 40px !important;
    font-size: 13.5px !important;
  }
  .ls-grade-hint {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
  }
}

/* === Mobile chrome + sticky buy + 2-col cards 1.3.45 === */
.ls-sticky-buy {
  display: none;
}
@media (max-width: 960px) {
  .ls-sticky-buy:not([hidden]) {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 90;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
    background: #fff;
    border-top: 1px solid rgba(17,17,17,.1);
    box-shadow: 0 -8px 24px rgba(17,17,17,.12);
  }
  .ls-sticky-buy-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    max-width: 720px;
    margin: 0 auto;
  }
  .ls-sticky-buy-info {
    min-width: 0;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
  }
  .ls-sticky-buy-title {
    margin: 0;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1 1 auto;
    min-width: 0;
  }
  .ls-sticky-buy-price {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: var(--ls-blue);
    line-height: 1.2;
    white-space: nowrap;
    flex: 0 0 auto;
  }
  .ls-sticky-buy-price del,
  .ls-sticky-buy-price .price del {
    display: none;
  }
  .ls-sticky-buy-actions {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    width: 100%;
  }
  .ls-sticky-qty,
  .ls-qty.ls-sticky-qty {
    height: 42px !important;
    min-height: 42px !important;
    width: auto !important;
    max-width: 118px !important;
    flex: 0 0 auto !important;
    border-radius: 10px !important;
  }
  .ls-sticky-qty button,
  .ls-qty.ls-sticky-qty button {
    width: 36px !important;
    height: 42px !important;
    font-size: 18px !important;
  }
  .ls-sticky-qty input,
  .ls-qty.ls-sticky-qty input {
    width: 36px !important;
    height: 42px !important;
    font-size: 15px !important;
  }
  .ls-sticky-buy-cta {
    min-height: 42px !important;
    height: 42px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 12px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    white-space: nowrap;
    justify-self: stretch;
  }
  .ls-sticky-buy-cta.is-disabled,
  .ls-sticky-buy-cta:disabled {
    opacity: .55;
  }
  body.ls-sticky-buy-on {
    padding-bottom: 108px;
  }
  .ls-cart-drawer-panel {
    width: 100% !important;
    max-width: 100% !important;
  }
  .ls-cart-drawer-close {
    width: 48px;
    height: 48px;
    font-size: 28px;
  }

  /* Force true 2-column product grid (fit viewport) */
  .ls-woo-main,
  .ls-woo-has-sidebar,
  .ls-wrap.ls-page.ls-woo {
    overflow-x: clip !important;
    min-width: 0 !important;
  }
  .ls-products,
  .woocommerce ul.products,
  ul.products,
  .woocommerce ul.products.columns-2,
  .woocommerce ul.products.columns-3,
  .woocommerce ul.products.columns-4,
  ul.products.columns-2,
  ul.products.columns-3,
  ul.products.columns-4 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .ls-products li,
  .woocommerce ul.products li.product,
  ul.products li.product,
  li.product.ls-card,
  .woocommerce ul.products li.product.first,
  .woocommerce ul.products li.product.last,
  .woocommerce ul.products[class*="columns-"] li.product {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    flex: none !important;
    left: auto !important;
    right: auto !important;
    box-sizing: border-box !important;
  }
  .ls-model-chip {
    width: 136px !important;
    min-height: 150px;
  }
  .ls-model-chip-media {
    min-height: 96px !important;
  }
  .ls-card-media {
    aspect-ratio: 1 / 1 !important;
    max-height: none;
  }
  .ls-card-media img {
    max-height: none !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    margin: 0 auto;
  }
  .ls-card-body {
    padding: 5px 3px 4px !important;
  }
  ul.products li.product .woocommerce-loop-product__title,
  .ls-card .woocommerce-loop-product__title {
    font-size: 11.5px !important;
    line-height: 1.2 !important;
    -webkit-line-clamp: 2;
  }
  .ls-card-meta {
    font-size: 10px !important;
    margin: 0 0 3px !important;
  }
  .ls-card .price,
  ul.products li.product .price {
    font-size: 13.5px !important;
  }
  .ls-card-info {
    min-height: 30px !important;
    padding: 6px 4px !important;
    font-size: 10px !important;
    margin: 4px -6px 0 !important;
  }
}

/* === Mobile slide menu (SG-style) 1.3.50 === */
body.ls-mnav-open { overflow: hidden; }
body.ls-mnav-open .ls-sticky-buy { display: none !important; }

.ls-mnav {
  position: fixed;
  inset: 0;
  z-index: 240;
  pointer-events: none;
}
.ls-mnav[hidden] { display: none !important; }
.ls-mnav.is-open {
  display: block !important;
  pointer-events: auto;
}
.ls-mnav-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17,17,17,.42);
  opacity: 0;
  transition: opacity .2s ease;
}
.ls-mnav.is-open .ls-mnav-backdrop { opacity: 1; }
.ls-mnav-panel {
  position: absolute;
  top: 0;
  left: 0;
  width: min(88vw, 380px);
  height: 100%;
  max-height: 100dvh;
  background: #fff;
  box-shadow: 12px 0 36px rgba(17,17,17,.18);
  display: flex;
  flex-direction: column;
  transform: translateX(-104%);
  transition: transform .22s ease;
  z-index: 2;
}
.ls-mnav.is-open .ls-mnav-panel { transform: translateX(0); }
.ls-mnav-head {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: stretch;
  gap: 0;
  flex: 0 0 auto;
  border-bottom: 3px solid var(--ls-orange);
}
.ls-mnav-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-width: 0;
}
.ls-mnav-tab {
  border: 0;
  margin: 0;
  padding: 14px 10px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .01em;
  cursor: pointer;
  background: #2f5496;
  color: rgba(255,255,255,.88);
}
.ls-mnav-tab.is-active {
  background: #6fa0e8;
  color: #fff;
}
.ls-mnav-close {
  width: 52px;
  border: 0;
  margin: 0;
  background: var(--ls-orange);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.ls-mnav-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding: 0 0 28px;
}
.ls-mnav-pane[hidden] { display: none !important; }
.ls-mnav-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ls-mnav-item {
  border-bottom: 1px solid rgba(17,17,17,.1);
}
.ls-mnav-row {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  border: 0;
  background: transparent;
  color: #111;
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
a.ls-mnav-row:hover,
button.ls-mnav-row:hover { background: #f5f7fb; }
.ls-mnav-ico {
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  color: var(--ls-blue);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ls-mnav-ico svg {
  width: 24px;
  height: 24px;
  display: block;
}
.ls-mnav-label { flex: 1 1 auto; min-width: 0; }
.ls-mnav-chev {
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--ls-orange);
  border-bottom: 2px solid var(--ls-orange);
  transform: rotate(45deg);
  transition: transform .18s ease;
  flex: 0 0 auto;
  margin-top: -4px;
}
.ls-mnav-item.is-open .ls-mnav-chev {
  transform: rotate(-135deg);
  margin-top: 4px;
}
.ls-mnav-sub {
  list-style: none;
  margin: 0;
  padding: 0 18px 12px 58px;
  background: #f7f9fc;
}
.ls-mnav-sub a {
  display: block;
  padding: 10px 0;
  color: #222;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  border-bottom: 1px solid rgba(17,17,17,.06);
}
.ls-mnav-sub li:last-child a { border-bottom: 0; }
.ls-mnav-sub a:hover { color: var(--ls-blue); }
.ls-mnav-cta {
  display: block;
  margin: 18px 18px 8px;
  padding: 14px 16px;
  text-align: center;
  text-decoration: none;
  font-weight: 800;
  font-size: 15px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(90deg, var(--ls-blue), var(--ls-orange));
  box-shadow: 0 8px 20px rgba(68,114,196,.22);
}
.ls-mnav-social {
  display: flex;
  gap: 10px;
  padding: 18px;
}
.ls-mnav-social a {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  background: #eef2f8;
}
.ls-mnav-social a svg {
  display: block;
  width: 18px;
  height: 18px;
}
.ls-mnav-social a.is-facebook { background: #1877f2; }
.ls-mnav-social a.is-instagram { background: linear-gradient(135deg, #f58529, #dd2a7b 50%, #8134af); }
.ls-mnav-social a.is-tiktok { background: #010101; }
.ls-mnav-social a:hover {
  filter: brightness(1.06);
  color: #fff;
}

@media (min-width: 961px) {
  .ls-mobile-search { display: none !important; }
  .ls-search-btn { display: none !important; }
  .ls-mnav { display: none !important; }
  .ls-search-filters-btn { display: none !important; }
  .ls-search-filters-done { display: none !important; }
}

/* === Home SG-style layout 1.3.53 === */
.ls-home-hero {
  padding: 20px 0 28px;
  background: linear-gradient(180deg, #f3f6fb 0%, #fff 72%);
}
.ls-home-hero-grid {
  display: grid;
  gap: 16px;
  align-items: stretch;
}
@media (min-width: 900px) {
  .ls-home-hero-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(240px, .75fr);
    gap: 18px;
  }
}
.ls-home-banner {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
  background:
    linear-gradient(135deg, rgba(68,114,196,.08) 0%, rgba(245,130,32,.06) 48%, rgba(255,255,255,.94) 100%),
    radial-gradient(900px 280px at 8% -10%, rgba(68,114,196,.12), transparent 60%),
    radial-gradient(700px 240px at 100% 0%, rgba(245,130,32,.10), transparent 55%),
    #fff;
  border: 1px solid rgba(68,114,196,.14);
  border-radius: 18px;
  padding: 22px 22px 20px;
  box-shadow: 0 10px 28px rgba(17,17,17,.05);
}
.ls-home-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(68,114,196,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(68,114,196,.04) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.4), transparent 72%);
  pointer-events: none;
}
.ls-home-banner > * { position: relative; z-index: 1; }
.ls-home-banner h1 {
  margin: 0 0 10px;
  font-size: clamp(24px, 3.4vw, 36px);
  line-height: 1.15;
  max-width: 22ch;
  flex: 0 0 auto;
}
.ls-home-banner .ls-kicker { flex: 0 0 auto; }
.ls-home-banner-lead {
  margin: 0 0 12px;
  color: #3a4454;
  font-size: 15px;
  line-height: 1.5;
  max-width: 68ch;
}
.ls-home-banner-list {
  margin: 0 0 16px;
  padding-left: 18px;
  color: #334155;
  font-size: 13.5px;
  line-height: 1.45;
}
.ls-home-banner-list li { margin: 4px 0; }
.ls-home-banner-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
  flex: 0 0 auto;
}
.ls-home-banner-actions .ls-btn {
  min-height: 42px;
  padding: 0 16px;
  font-size: 14px;
}
.ls-home-banner-msg,
.ls-home-promo {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px 18px;
  flex-wrap: wrap;
  margin: 0 0 14px;
  padding: 16px 18px;
  border-radius: 14px;
  border: 1px solid transparent;
  isolation: isolate;
}
/* Con banner attivo: riempie fino ai bordi / pulsanti. */
.ls-home-banner.has-home-msg {
  padding: 16px 10px 10px;
}
.ls-home-banner.has-home-msg .ls-kicker,
.ls-home-banner.has-home-msg h1 {
  padding-left: 8px;
  padding-right: 8px;
}
.ls-home-banner.has-home-msg .ls-home-banner-actions:not(.is-empty):not([hidden]) {
  margin-top: 10px;
  padding: 0 6px 4px;
}
.ls-home-banner-actions.is-empty,
.ls-home-banner-actions[hidden] {
  display: none !important;
  margin: 0;
  padding: 0;
  min-height: 0;
}
.ls-home-banner-carousel {
  position: relative;
  flex: 1 1 auto;
  align-self: stretch;
  width: 100%;
  min-height: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.ls-home-banner-carousel-viewport {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 160px;
  border-radius: 14px;
  overflow: hidden;
}
.ls-home-banner.has-home-msg .ls-home-banner-msg,
.ls-home-banner.has-home-msg .ls-home-banner-slide {
  flex: 1 1 auto;
  align-self: stretch;
  width: 100%;
  min-height: 100%;
  height: 100%;
  margin: 0;
  padding: 18px 16px;
  align-items: flex-end;
  border-radius: 14px;
}
.ls-home-banner-carousel .ls-home-banner-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .55s ease;
  pointer-events: none;
}
.ls-home-banner-carousel .ls-home-banner-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
.ls-home-banner-carousel.is-single .ls-home-banner-slide {
  position: absolute;
}
.ls-home-banner-nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(17, 17, 17, .22);
  color: #fff;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  opacity: .45;
  transition: opacity .2s ease, background .2s ease;
  backdrop-filter: blur(2px);
}
.ls-home-banner-nav:hover,
.ls-home-banner-nav:focus-visible {
  opacity: .85;
  background: rgba(17, 17, 17, .4);
  outline: none;
}
.ls-home-banner-nav.is-prev { left: 6px; }
.ls-home-banner-nav.is-next { right: 6px; }
.ls-home-banner-nav span {
  display: block;
  margin-top: -1px;
}
.ls-home-banner.has-home-msg .ls-home-banner-msg-copy {
  max-width: min(46ch, 72%);
  padding: 4px 2px;
}
.ls-home-banner.has-home-msg .ls-home-banner-msg-title {
  font-size: clamp(22px, 3.2vw, 34px);
  margin: 0 0 8px;
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.12;
}
.ls-home-banner.has-home-msg .ls-home-banner-msg-text {
  font-size: clamp(15px, 1.9vw, 18px);
  line-height: 1.4;
  font-weight: 600;
}
.ls-home-banner-msg-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.ls-home-banner-msg-veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: rgba(17, 17, 17, .48);
}
.ls-home-banner-msg.overlay-none .ls-home-banner-msg-veil {
  display: none;
}
.ls-home-banner-msg.overlay-soft .ls-home-banner-msg-veil {
  background: rgba(17, 17, 17, .28);
}
.ls-home-banner-msg.overlay-medium .ls-home-banner-msg-veil {
  background: rgba(17, 17, 17, .48);
}
.ls-home-banner-msg.overlay-strong .ls-home-banner-msg-veil {
  background: rgba(17, 17, 17, .66);
}
.ls-home-banner-msg.has-image.is-green .ls-home-banner-msg-veil {
  background: linear-gradient(135deg, rgba(27,94,32,.72), rgba(17,17,17,.42));
}
.ls-home-banner-msg.has-image.is-green.overlay-soft .ls-home-banner-msg-veil {
  background: linear-gradient(135deg, rgba(27,94,32,.5), rgba(17,17,17,.28));
}
.ls-home-banner-msg.has-image.is-green.overlay-medium .ls-home-banner-msg-veil {
  background: linear-gradient(135deg, rgba(27,94,32,.62), rgba(17,17,17,.4));
}
.ls-home-banner-msg.has-image.is-green.overlay-strong .ls-home-banner-msg-veil {
  background: linear-gradient(135deg, rgba(27,94,32,.82), rgba(17,17,17,.58));
}
.ls-home-banner-msg.has-image.is-orange .ls-home-banner-msg-veil {
  background: linear-gradient(135deg, rgba(180,70,0,.7), rgba(17,17,17,.42));
}
.ls-home-banner-msg.has-image.is-orange.overlay-soft .ls-home-banner-msg-veil {
  background: linear-gradient(135deg, rgba(180,70,0,.48), rgba(17,17,17,.28));
}
.ls-home-banner-msg.has-image.is-orange.overlay-medium .ls-home-banner-msg-veil {
  background: linear-gradient(135deg, rgba(180,70,0,.62), rgba(17,17,17,.4));
}
.ls-home-banner-msg.has-image.is-orange.overlay-strong .ls-home-banner-msg-veil {
  background: linear-gradient(135deg, rgba(180,70,0,.82), rgba(17,17,17,.58));
}
.ls-home-banner-msg.has-image.is-blue .ls-home-banner-msg-veil {
  background: linear-gradient(135deg, rgba(30,58,110,.72), rgba(17,17,17,.42));
}
.ls-home-banner-msg.has-image.is-blue.overlay-soft .ls-home-banner-msg-veil {
  background: linear-gradient(135deg, rgba(30,58,110,.5), rgba(17,17,17,.28));
}
.ls-home-banner-msg.has-image.is-blue.overlay-medium .ls-home-banner-msg-veil {
  background: linear-gradient(135deg, rgba(30,58,110,.62), rgba(17,17,17,.4));
}
.ls-home-banner-msg.has-image.is-blue.overlay-strong .ls-home-banner-msg-veil {
  background: linear-gradient(135deg, rgba(30,58,110,.82), rgba(17,17,17,.58));
}
/* Velatura chiara / vetro: vincono sullo stile colore. */
.ls-home-banner-msg.has-image.overlay-white .ls-home-banner-msg-veil,
.ls-home-banner-msg.has-image.is-green.overlay-white .ls-home-banner-msg-veil,
.ls-home-banner-msg.has-image.is-orange.overlay-white .ls-home-banner-msg-veil,
.ls-home-banner-msg.has-image.is-blue.overlay-white .ls-home-banner-msg-veil,
.ls-home-banner-msg.has-image.is-dark.overlay-white .ls-home-banner-msg-veil {
  background: rgba(255, 255, 255, .52);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.ls-home-banner-msg.has-image.overlay-frost .ls-home-banner-msg-veil,
.ls-home-banner-msg.has-image.is-green.overlay-frost .ls-home-banner-msg-veil,
.ls-home-banner-msg.has-image.is-orange.overlay-frost .ls-home-banner-msg-veil,
.ls-home-banner-msg.has-image.is-blue.overlay-frost .ls-home-banner-msg-veil,
.ls-home-banner-msg.has-image.is-dark.overlay-frost .ls-home-banner-msg-veil {
  background: rgba(255, 255, 255, .36);
  backdrop-filter: blur(8px) saturate(1.05);
  -webkit-backdrop-filter: blur(8px) saturate(1.05);
}
.ls-home-banner-msg-copy,
.ls-home-promo-copy {
  position: relative;
  z-index: 2;
  flex: 1 1 180px;
  min-width: 0;
}
.ls-home-banner-msg-title,
.ls-home-promo-title {
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.25;
  margin: 0 0 2px;
}
.ls-home-banner-msg-text,
.ls-home-promo-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
  opacity: .95;
}
.ls-home-banner-msg-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.ls-home-banner-msg-cta,
.ls-home-promo-cta {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  white-space: nowrap;
  transition: transform .15s ease, opacity .15s ease;
}
.ls-home-banner-msg-cta.is-ghost {
  background: rgba(255, 255, 255, .18);
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.ls-home-banner-msg-cta:hover,
.ls-home-promo-cta:hover {
  transform: translateY(-1px);
  opacity: .92;
}
.ls-home-banner-msg.is-green,
.ls-home-promo.is-green {
  background: linear-gradient(135deg, rgba(46,125,50,.14), rgba(46,125,50,.06));
  border-color: rgba(46,125,50,.28);
  color: #1b5e20;
}
.ls-home-banner-msg.is-green .ls-home-banner-msg-cta,
.ls-home-promo.is-green .ls-home-promo-cta {
  background: #2e7d32;
  color: #fff !important;
}
.ls-home-banner-msg.is-orange,
.ls-home-promo.is-orange {
  background: linear-gradient(135deg, rgba(245,130,32,.16), rgba(245,130,32,.08));
  border-color: rgba(245,130,32,.28);
  color: #8a3d00;
}
.ls-home-banner-msg.is-orange .ls-home-banner-msg-cta,
.ls-home-promo.is-orange .ls-home-promo-cta {
  background: var(--ls-orange);
  color: #fff !important;
}
.ls-home-banner-msg.is-blue,
.ls-home-promo.is-blue {
  background: linear-gradient(135deg, rgba(68,114,196,.14), rgba(68,114,196,.06));
  border-color: rgba(68,114,196,.25);
  color: #1e3a6e;
}
.ls-home-banner-msg.is-blue .ls-home-banner-msg-cta,
.ls-home-promo.is-blue .ls-home-promo-cta {
  background: #4472c4;
  color: #fff !important;
}
.ls-home-banner-msg.is-dark,
.ls-home-promo.is-dark {
  background: linear-gradient(135deg, #1c1f26, #2a303a);
  border-color: rgba(255,255,255,.08);
  color: #f4f6f8;
}
.ls-home-banner-msg.is-dark .ls-home-banner-msg-text,
.ls-home-promo.is-dark .ls-home-promo-text { opacity: .88; }
.ls-home-banner-msg.is-dark .ls-home-banner-msg-cta,
.ls-home-promo.is-dark .ls-home-promo-cta {
  background: #fff;
  color: #111 !important;
}

/* Immagine banner: cover a tutta area, box 16:9 */
.ls-home-banner-msg.has-image {
  min-height: 100%;
  color: #fff;
  border-color: rgba(17,17,17,.08);
  background-color: #eef6ef;
  background-image: none;
}
.ls-home-banner-msg.has-image.is-orange {
  background-color: #fff4ea;
}
.ls-home-banner-msg.has-image.is-blue {
  background-color: #eef3fb;
}
.ls-home-banner-msg.has-image.is-dark {
  background-color: #1c1f26;
}
.ls-home-banner.has-home-msg .ls-home-banner-msg.has-image,
.ls-home-banner-carousel-viewport {
  min-height: 160px;
}
.ls-home-banner-msg.has-image .ls-home-banner-msg-text { opacity: .96; }
/* Contorno + ombra sul testo (contrasto su foto). */
.ls-home-banner-msg.has-image .ls-home-banner-msg-title,
.ls-home-banner-msg.has-image .ls-home-banner-msg-text {
  color: #fff;
  text-shadow:
    0 1px 2px rgba(0,0,0,.75),
    0 2px 10px rgba(0,0,0,.45),
    0 0 2px rgba(0,0,0,.9),
    1px 0 1px rgba(0,0,0,.55),
    -1px 0 1px rgba(0,0,0,.55),
    0 -1px 1px rgba(0,0,0,.55);
  -webkit-text-stroke: .4px rgba(0, 0, 0, .5);
  paint-order: stroke fill;
}
.ls-home-banner-msg.has-image.overlay-white .ls-home-banner-msg-title,
.ls-home-banner-msg.has-image.overlay-white .ls-home-banner-msg-text,
.ls-home-banner-msg.has-image.overlay-frost .ls-home-banner-msg-title,
.ls-home-banner-msg.has-image.overlay-frost .ls-home-banner-msg-text {
  color: #142018;
  text-shadow: 0 1px 0 rgba(255,255,255,.55);
  -webkit-text-stroke: 0;
}
.ls-home-banner-msg.has-gradient .ls-home-banner-msg-title,
.ls-home-banner-msg.has-gradient .ls-home-banner-msg-text {
  text-shadow: 0 1px 0 rgba(255,255,255,.35);
}
.ls-home-banner-msg.has-image .ls-home-banner-msg-cta {
  background: #fff;
  color: #111 !important;
}
.ls-home-banner-msg.has-image .ls-home-banner-msg-cta.is-ghost {
  background: rgba(255, 255, 255, .16);
  color: #fff !important;
  border-color: rgba(255, 255, 255, .6);
}
.ls-home-banner-msg.has-image.overlay-white .ls-home-banner-msg-cta.is-ghost,
.ls-home-banner-msg.has-image.overlay-frost .ls-home-banner-msg-cta.is-ghost {
  background: rgba(20, 32, 24, .06);
  color: #142018 !important;
  border-color: rgba(20, 32, 24, .28);
}
.ls-home-banner-msg.has-image.is-green .ls-home-banner-msg-cta:not(.is-ghost) {
  background: #2e7d32;
  color: #fff !important;
}
.ls-home-banner-msg.has-image.is-orange .ls-home-banner-msg-cta:not(.is-ghost) {
  background: var(--ls-orange);
  color: #fff !important;
}
.ls-home-banner-msg.has-image.is-blue .ls-home-banner-msg-cta:not(.is-ghost) {
  background: #4472c4;
  color: #fff !important;
}
/* Compact mobile hero: categories enter the first viewport faster. */
@media (max-width: 860px) {
  .ls-home-hero {
    padding: 8px 0 4px;
    background: #fff;
  }
  .ls-home-hero-grid {
    gap: 8px;
  }
  .ls-home-banner {
    padding: 12px 14px;
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(17,17,17,.04);
  }
  .ls-home-banner .ls-kicker {
    margin: 0 0 4px;
    font-size: 10px;
    letter-spacing: .14em;
  }
  .ls-home-banner h1 {
    margin: 0 0 10px;
    font-size: 17px;
    line-height: 1.25;
    max-width: none;
  }
  .ls-home-banner-msg,
  .ls-home-promo {
    margin: 0 0 10px;
    padding: 10px 12px;
    border-radius: 10px;
  }
  .ls-home-banner.has-home-msg {
    padding: 12px 6px 8px;
  }
  .ls-home-banner.has-home-msg .ls-home-banner-msg,
  .ls-home-banner-carousel,
  .ls-home-banner-carousel-viewport {
    min-height: 140px;
  }
  .ls-home-banner.has-home-msg .ls-home-banner-msg {
    margin: 0;
    padding: 12px 12px;
    align-items: flex-end;
  }
  .ls-home-banner-carousel { margin: 0; }
  .ls-home-banner-nav {
    width: 24px;
    height: 24px;
    font-size: 16px;
    opacity: .4;
  }
  .ls-home-banner-nav.is-prev { left: 4px; }
  .ls-home-banner-nav.is-next { right: 4px; }
  .ls-home-banner.has-home-msg .ls-home-banner-msg-title {
    font-size: 20px;
  }
  .ls-home-banner.has-home-msg .ls-home-banner-msg-text {
    font-size: 14px;
  }
  .ls-home-banner-msg-title,
  .ls-home-promo-title { font-size: 12px; }
  .ls-home-banner-msg-text,
  .ls-home-promo-text { font-size: 12px; }
  .ls-home-banner-msg-cta,
  .ls-home-promo-cta {
    min-height: 34px;
    padding: 0 12px;
    font-size: 12px;
  }
  .ls-home-banner-lead,
  .ls-home-banner-list {
    display: none !important;
  }
  .ls-home-banner-actions {
    gap: 8px;
  }
  .ls-home-banner-actions .ls-btn {
    flex: 1 1 auto;
    min-height: 38px;
    justify-content: center;
    font-size: 13px;
  }
  .ls-home-hero-side {
    display: none !important;
  }
  .ls-home-cats {
    padding: 4px 0 18px;
  }
  .ls-home-cats-head {
    margin-bottom: 8px;
  }
  .ls-home-cats-head .ls-kicker {
    margin-bottom: 2px;
    font-size: 10px;
  }
  .ls-home-cats-head h2 {
    margin: 0;
    font-size: 18px;
    line-height: 1.2;
  }
  .ls-home-cats-layout {
    gap: 10px;
  }
  .ls-home-cats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .ls-home-cat-card {
    gap: 6px !important;
    padding: 8px !important;
    border-radius: 12px !important;
  }
  .ls-home-cat-media {
    aspect-ratio: 1.15 / 1 !important;
  }
  .ls-home-cat-media img {
    max-width: 78% !important;
    max-height: 90% !important;
  }
  .ls-home-cat-title {
    font-size: 13px !important;
    line-height: 1.2;
  }
  .ls-home-cat-blurb {
    display: none !important;
  }
  .ls-home-info-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .ls-home-info-card {
    padding: 10px !important;
    border-radius: 12px !important;
  }
  .ls-home-info-card h3 {
    font-size: 13px !important;
    margin: 0 0 4px !important;
  }
  .ls-home-info-card p {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }
  .ls-home-social-card,
  .ls-home-tiktok-card {
    grid-column: 1 / -1;
  }
  .ls-home-products .products,
  .ls-home-products ul.products,
  .ls-home-arrivals-pane .products,
  .ls-home-arrivals-pane ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .ls-home-products li.product.ls-card,
  .ls-home-arrivals-pane li.product.ls-card {
    min-height: 0 !important;
  }
  .ls-home-products .ls-card-media,
  .ls-home-arrivals-pane .ls-card-media {
    aspect-ratio: 1 / 1;
    min-height: 0;
  }
  .ls-home-products .woocommerce-loop-product__title,
  .ls-home-arrivals-pane .woocommerce-loop-product__title {
    font-size: 12px !important;
    line-height: 1.25 !important;
  }
  .ls-home-products .ls-card-meta,
  .ls-home-arrivals-pane .ls-card-meta {
    font-size: 11px !important;
  }
  .ls-home-best-track li.product,
  .ls-home-best-track li.product.ls-card {
    flex-basis: 138px !important;
    width: 138px !important;
    max-width: 138px !important;
    min-height: 240px !important;
    height: auto !important;
  }
  .ls-home-trust { padding: 18px 0 24px; }
  .ls-home-trust-point { padding: 12px 14px; }
  .ls-home-trust-point h3 { font-size: 14px; }
}
@media (max-width: 640px) {
  .ls-home-banner { padding: 12px; }
  .ls-home-banner h1 { font-size: 16px; }
  .ls-home-hero-side { display: none !important; }
  .ls-home-cat-title { font-size: 12.5px !important; }
}
.ls-home-hero-side {
  display: grid;
  gap: 10px;
  grid-template-rows: minmax(140px, 1fr) auto;
}
.ls-home-side-card,
.ls-home-side-mini {
  display: block;
  text-decoration: none;
  color: inherit;
  border-radius: 16px;
  overflow: hidden;
}
.ls-home-side-visual {
  background: #e8eef8;
  border: 1px solid rgba(17,17,17,.08);
  min-height: 160px;
  display: grid;
  place-items: center;
}
.ls-home-side-visual img {
  width: 100%;
  height: 100%;
  max-height: 220px;
  object-fit: contain;
  padding: 12px;
}
.ls-home-side-fallback {
  font-weight: 700;
  color: var(--ls-blue);
  padding: 24px;
}
.ls-home-side-stack {
  display: grid;
  gap: 8px;
}
.ls-home-side-mini {
  padding: 12px 14px;
  background: var(--ls-blue);
  color: #fff;
}
.ls-home-side-mini.is-orange { background: var(--ls-orange); }
.ls-home-side-mini strong {
  display: block;
  font-size: 14px;
  margin-bottom: 2px;
}
.ls-home-side-mini span {
  display: block;
  font-size: 12px;
  opacity: .92;
  line-height: 1.35;
}

.ls-home-cats { padding: 8px 0 28px; }
.ls-home-cats-head {
  margin: 0 0 14px;
  max-width: 72ch;
}
.ls-home-cats-head h2 {
  margin: 0;
  font-size: clamp(22px, 3vw, 30px);
}
.ls-home-cats-layout {
  display: grid;
  gap: 14px;
}
@media (min-width: 960px) {
  .ls-home-cats-layout {
    grid-template-columns: minmax(0, 1fr) 260px;
    align-items: start;
    gap: 16px;
  }
}
.ls-home-cats-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
@media (min-width: 700px) {
  .ls-home-cats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.ls-home-cat-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  background: #fff;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 16px;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 6px 16px rgba(17,17,17,.04);
  transition: transform .15s ease, box-shadow .15s ease;
}
.ls-home-cat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(68,114,196,.12);
}
.ls-home-cat-media {
  display: grid;
  place-items: center;
  aspect-ratio: 1.35 / 1;
  background: transparent !important;
  border-radius: 0;
  overflow: visible;
  border: 0 !important;
  box-shadow: none !important;
}
.ls-home-cat-media img {
  width: auto;
  max-width: 88%;
  max-height: 94%;
  object-fit: contain;
  background: transparent !important;
}
.ls-home-cat-ico {
  color: var(--ls-blue);
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
}
.ls-home-cat-ico svg { width: 36px; height: 36px; }
.ls-home-cat-title {
  display: block;
  font-size: 16px;
  font-weight: 800;
  margin-bottom: 2px;
}
.ls-home-cat-blurb {
  display: block;
  font-size: 13px;
  color: var(--ls-muted);
  line-height: 1.35;
}

.ls-home-info-col {
  display: grid;
  gap: 10px;
}
.ls-home-info-card {
  display: block;
  padding: 14px 14px 12px;
  border-radius: 14px;
  background: #eef3fb;
  border: 1px solid rgba(68,114,196,.14);
  text-decoration: none;
  color: inherit;
}
.ls-home-info-card.is-orange {
  background: #fff4ea;
  border-color: rgba(245,130,32,.22);
}
.ls-home-info-card h3 {
  margin: 0 0 6px;
  font-size: 15px;
  color: var(--ls-blue);
}
.ls-home-info-card.is-orange h3 { color: #c45e0c; }
.ls-home-info-card p {
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
  color: #333;
}
.ls-home-social-card { background: #fff; }
.ls-home-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.ls-home-social-links a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 34px;
  padding: 0 10px;
  border-radius: 8px;
  background: var(--ls-blue);
  color: #fff !important;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer !important;
  user-select: none;
}
.ls-home-social-links a svg {
  width: 15px;
  height: 15px;
  display: block;
  pointer-events: none;
}
.ls-home-social-links a.is-facebook { background: #1877f2; }
.ls-home-social-links a.is-instagram { background: linear-gradient(135deg, #f58529, #dd2a7b 52%, #8134af); }
.ls-home-social-links a.is-youtube { background: #ff0000; }
.ls-home-tiktok-card {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(17,17,17,.1);
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.14);
  background: #000;
  transform: translateZ(0);
  cursor: pointer !important;
  user-select: none;
}
.ls-home-tiktok-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.ls-home-tiktok-cta {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  border-radius: 999px;
  background: linear-gradient(90deg, #25f4ee, #fe2c55);
  color: #111 !important;
  font-weight: 800;
  font-size: 13px;
  box-shadow: 0 8px 18px rgba(0,0,0,.35);
}
.ls-home-tiktok-card:hover .ls-home-tiktok-cta {
  filter: brightness(1.05);
}

.ls-home-seo { padding: 4px 0 28px; }
.ls-home-seo-grid {
  display: grid;
  gap: 12px;
}
@media (min-width: 800px) {
  .ls-home-seo-grid { grid-template-columns: 1fr 1fr; }
}
.ls-home-seo-card {
  background: #fff;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 16px;
  padding: 18px 18px 16px;
  box-shadow: 0 8px 20px rgba(17,17,17,.04);
}
.ls-home-seo-card.is-accent {
  border-color: rgba(245,130,32,.25);
  background: linear-gradient(180deg, #fffaf5 0%, #fff 70%);
}
.ls-home-seo-card h3 {
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.25;
}
.ls-home-seo-card p {
  margin: 0 0 12px;
  color: #3a3a3f;
  font-size: 14px;
  line-height: 1.5;
}
.ls-home-seo-link {
  font-weight: 700;
  color: var(--ls-blue) !important;
  text-decoration: none;
  white-space: nowrap;
}
.ls-home-seo-card.is-accent .ls-home-seo-link { color: var(--ls-orange) !important; }

/* Unified homepage trust / SEO band */
.ls-home-trust {
  padding: 28px 0 40px;
  border-top: 1px solid rgba(17,17,17,.06);
}
.ls-home-trust-head {
  max-width: 680px;
  margin: 0 0 20px;
}
.ls-home-trust-head h2 {
  margin: 0 0 8px;
  font-size: clamp(22px, 2.4vw, 28px);
  line-height: 1.2;
}
.ls-home-trust-lead {
  margin: 0;
  color: #3a3a3f;
  font-size: 15px;
  line-height: 1.55;
}
.ls-home-trust-points {
  display: grid;
  gap: 10px;
  margin: 0 0 28px;
}
@media (min-width: 720px) {
  .ls-home-trust-points { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
}
.ls-home-trust-point {
  padding: 14px 16px;
  border-left: 3px solid var(--ls-blue);
  background: #f7f8fb;
  border-radius: 0 12px 12px 0;
}
.ls-home-trust-point:nth-child(2) { border-left-color: var(--ls-orange); }
.ls-home-trust-point:nth-child(3) { border-left-color: #5b6b7c; }
.ls-home-trust-point h3 {
  margin: 0 0 4px;
  font-size: 15px;
  line-height: 1.3;
}
.ls-home-trust-point p {
  margin: 0;
  color: #3a3a3f;
  font-size: 13px;
  line-height: 1.45;
}

.ls-home-trust .ls-home-process {
  padding: 22px 0 0;
  margin: 0;
  border-top: 1px solid rgba(17,17,17,.06);
}
.ls-home-process h2 {
  margin: 0 0 14px;
  font-size: clamp(20px, 2.2vw, 24px);
  line-height: 1.25;
}
.ls-home-process-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
  counter-reset: ls-step;
}
@media (min-width: 640px) {
  .ls-home-process-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
  .ls-home-process-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
}
.ls-home-process-steps li {
  position: relative;
  min-height: 100%;
  background: #fff;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 14px;
  padding: 14px 14px 14px 48px;
  counter-increment: ls-step;
}
.ls-home-process-steps li::before {
  content: counter(ls-step);
  position: absolute;
  left: 12px;
  top: 14px;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 800;
  color: #fff;
  background: var(--ls-blue);
}
.ls-home-process-steps strong {
  display: block;
  margin: 0 0 3px;
  font-size: 14px;
}
.ls-home-process-steps span {
  display: block;
  color: #3a3a3f;
  font-size: 13px;
  line-height: 1.4;
}

.ls-home-trust .ls-home-faq {
  padding: 26px 0 0;
  margin: 26px 0 0;
  border-top: 1px solid rgba(17,17,17,.06);
  background: none;
}
.ls-home-faq-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
}
.ls-home-faq-head h2 {
  margin: 0;
  font-size: clamp(20px, 2.2vw, 24px);
  line-height: 1.25;
}
.ls-faq-list {
  display: grid;
  gap: 8px;
}
.ls-faq-item {
  background: #fff;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 12px;
  padding: 0 14px;
}
.ls-faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 13px 28px 13px 0;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.35;
  position: relative;
}
.ls-faq-item summary::-webkit-details-marker { display: none; }
.ls-faq-item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  font-weight: 700;
  color: var(--ls-blue);
}
.ls-faq-item[open] summary::after { content: "–"; }
.ls-faq-item p {
  margin: 0 0 13px;
  color: #3a3a3f;
  font-size: 14px;
  line-height: 1.55;
}

.ls-home-trust .ls-home-ship {
  display: grid;
  gap: 16px;
  align-items: stretch;
  padding: 26px 0 0;
  margin: 26px 0 0;
  border-top: 1px solid rgba(17,17,17,.06);
}
@media (min-width: 800px) {
  .ls-home-trust .ls-home-ship {
    grid-template-columns: 1.15fr .85fr;
    gap: 24px;
  }
}
.ls-home-ship-copy h2 {
  margin: 0 0 8px;
  font-size: clamp(20px, 2.2vw, 24px);
  line-height: 1.25;
}
.ls-home-ship-copy p {
  margin: 0 0 14px;
  color: #3a3a3f;
  font-size: 15px;
  line-height: 1.55;
}
.ls-home-ship-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ls-home-ship-points {
  list-style: none;
  margin: 0;
  padding: 4px 0;
  display: grid;
  gap: 0;
  align-content: center;
}
.ls-home-ship-points li {
  position: relative;
  padding: 10px 0 10px 18px;
  font-size: 14px;
  line-height: 1.45;
  color: #2a2a2e;
  border-bottom: 1px solid rgba(17,17,17,.06);
}
.ls-home-ship-points li:last-child { border-bottom: 0; }
.ls-home-ship-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 16px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--ls-orange);
}
.ls-home-ship-points a {
  color: var(--ls-blue) !important;
  font-weight: 700;
  text-decoration: none;
}
.ls-home-ship-points a:hover { text-decoration: underline; }

@media (max-width: 640px) {
  .ls-home-trust { padding: 20px 0 28px; }
  .ls-home-faq-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .ls-home-process-steps li { padding: 12px 12px 12px 46px; }
}

/* Category landing SEO block */
.ls-cat-seo {
  margin: 28px 0 8px;
  padding: 20px 0 8px;
  border-top: 1px solid rgba(17,17,17,.08);
}
.ls-cat-seo-intro {
  max-width: 720px;
  margin: 0 0 20px;
}
.ls-cat-seo-intro p {
  margin: 0;
  color: #3a3a3f;
  font-size: 15px;
  line-height: 1.55;
}
.ls-cat-seo-h {
  margin: 0 0 12px;
  font-size: 20px;
  line-height: 1.25;
}
.ls-cat-seo-models { margin: 0 0 22px; }
.ls-cat-seo-model-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ls-cat-seo-model-list a {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(17,17,17,.12);
  background: #fff;
  color: var(--ls-blue) !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
}
.ls-cat-seo-model-list a:hover {
  border-color: rgba(245,130,32,.45);
  color: var(--ls-orange) !important;
}
.ls-cat-seo-faq { max-width: 760px; }

@media (max-width: 640px) {
  .ls-home-process-steps li { padding: 14px 14px 14px 48px; }
  .ls-faq-item summary { font-size: 14px; }
  .ls-cat-seo { margin-top: 18px; padding-top: 14px; }
}

.ls-home-news-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr;
}
@media (min-width: 700px) {
  .ls-home-news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.ls-home-news-card {
  background: #fff;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(17,17,17,.04);
}
.ls-home-news-media {
  display: block;
  aspect-ratio: 16 / 10;
  background: #eef2f8;
  overflow: hidden;
}
.ls-home-news-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ls-home-news-ph {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #dbe5f5, #f3f6fb);
}
.ls-home-news-body { padding: 12px 14px 14px; }
.ls-home-news-body time {
  display: block;
  font-size: 12px;
  color: var(--ls-muted);
  margin-bottom: 4px;
}
.ls-home-news-body h3 {
  margin: 0 0 6px;
  font-size: 16px;
  line-height: 1.3;
}
.ls-home-news-body h3 a {
  color: inherit;
  text-decoration: none;
}
.ls-home-news-body p {
  margin: 0;
  font-size: 13px;
  color: #444;
  line-height: 1.4;
}

.ls-home-help {
  padding: 0 0 36px;
}
.ls-home-help-grid {
  display: grid;
  gap: 10px;
}
@media (min-width: 700px) {
  .ls-home-help-grid { grid-template-columns: 1fr 1fr; }
}
.ls-home-help-card {
  display: block;
  padding: 16px 18px;
  border-radius: 14px;
  background: var(--ls-blue);
  color: #fff !important;
  text-decoration: none;
}
.ls-home-help-card.is-orange { background: var(--ls-orange); }
.ls-home-help-card strong {
  display: block;
  font-size: 16px;
  margin-bottom: 4px;
}
.ls-home-help-card span {
  display: block;
  font-size: 13px;
  opacity: .95;
  line-height: 1.4;
}

@media (max-width: 640px) {
  .ls-home-help-card strong { font-size: 14px; }
  .ls-home-help-card span { font-size: 12px; }
}

/* === Home polish 1.3.55 === */
.ls-home-side-visual {
  position: relative;
  background: #fff !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.8) inset,
    0 10px 28px rgba(17,17,17,.1),
    0 2px 6px rgba(68,114,196,.08);
}
.ls-home-side-label {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 10px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 34px;
  padding: 6px 10px;
  border-radius: 10px;
  background: rgba(68,114,196,.94);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}

.ls-home-cat-card {
  background: #fff !important;
  border: 1px solid rgba(17,17,17,.1) !important;
  border-radius: 18px !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 8px 18px rgba(17,17,17,.08),
    0 18px 36px rgba(68,114,196,.1) !important;
  transform: translateY(0);
}
.ls-home-cat-card:hover {
  transform: translateY(-4px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 14px 28px rgba(17,17,17,.12),
    0 24px 48px rgba(68,114,196,.16) !important;
}
.ls-home-cat-media {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.ls-home-products .products,
.ls-home-products ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
@media (min-width: 700px) {
  .ls-home-products ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1100px) {
  .ls-home-products ul.products {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}
.ls-home-products li.product,
.ls-home-best li.product,
.ls-home-products li.product.ls-card,
.ls-home-best li.product.ls-card {
  padding: 8px 8px 0 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 4px 14px rgba(17,17,17,.07) !important;
}
.ls-home-products .ls-card-media,
.ls-home-best .ls-card-media {
  aspect-ratio: 1 / 1 !important;
  max-height: 130px !important;
  background: #fff !important;
}
.ls-home-products .ls-card-media img,
.ls-home-best .ls-card-media img,
.ls-home-products ul.products li.product img,
.ls-home-best ul.products li.product img {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: 100% !important;
  height: 100% !important;
  max-height: 130px !important;
  object-fit: contain !important;
  padding: 6px !important;
}
.ls-home-products .woocommerce-loop-product__title,
.ls-home-best .woocommerce-loop-product__title {
  font-size: 12.5px !important;
  min-height: 0 !important;
}
.ls-home-products .ls-card-body,
.ls-home-best .ls-card-body {
  padding: 8px 2px 0 !important;
  min-height: 0 !important;
}
.ls-home-products .price,
.ls-home-best .price {
  font-size: 14px !important;
}
.ls-home-products .ls-card-info,
.ls-home-best .ls-card-info {
  min-height: 32px !important;
  font-size: 11px !important;
  padding: 6px 4px !important;
}

/* === Home arrivals tabs + cat media white 1.3.56 === */
.ls-home-cat-card {
  background: #fff !important;
}
.ls-home-cat-media {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.ls-home-cat-media img {
  background: transparent !important;
}

.ls-home-side-visual {
  padding: 0;
  background: #fff !important;
}
.ls-home-side-visual img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: cover;
  display: block;
  padding: 0;
}
.ls-home-side-label { display: none !important; }

.ls-home-arrivals-card {
  background: #fff;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 20px;
  box-shadow: 0 12px 32px rgba(17,17,17,.07);
  padding: 18px 16px 16px;
}
.ls-home-arrivals-head {
  text-align: center;
  margin: 0 0 14px;
}
.ls-home-arrivals-head .ls-kicker { margin-bottom: 4px; }
.ls-home-arrivals-head h2 {
  margin: 0 0 12px;
  font-size: clamp(22px, 3vw, 30px);
}
.ls-home-arrivals-tabs {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 5px;
  border-radius: 999px;
  background: #eef2f8;
}
.ls-home-arrivals-tab {
  border: 0;
  margin: 0;
  min-height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  background: transparent;
  color: #334;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.ls-home-arrivals-tab.is-active {
  background: var(--ls-blue);
  color: #fff;
  box-shadow: 0 6px 14px rgba(68,114,196,.28);
}
.ls-home-arrivals-tab:disabled {
  opacity: .4;
  cursor: not-allowed;
}
.ls-home-arrivals-pane[hidden] { display: none !important; }
.ls-home-arrivals-pane .products,
.ls-home-arrivals-pane ul.products {
  margin: 0 !important;
}
.ls-home-arrivals-more { margin: 14px 0 0; }
.ls-home-arrivals-empty {
  text-align: center;
  color: var(--ls-muted);
  margin: 8px 0 0;
}
.ls-home-arrivals-pane .ls-card-media,
.ls-home-arrivals-pane .ls-card-media img,
.ls-home-arrivals-pane ul.products li.product img {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* === Mega focus layout + RSS news modal 1.3.57 === */
.ls-mega-panel-focus .ls-mega-layout,
.ls-mega-panel-focus .ls-mega-layout.is-rail-right {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 132px;
  gap: 14px;
  align-items: start;
}
.ls-mega-rail {
  display: grid;
  gap: 8px;
}
.ls-mega-rail-btn {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-height: 78px;
  padding: 8px 10px;
  border-radius: 14px;
  background: #f3f6fb;
  border: 1px solid rgba(17,17,17,.08);
  text-decoration: none !important;
  color: var(--ls-text) !important;
  box-shadow: 0 4px 12px rgba(17,17,17,.05);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.ls-mega-rail-btn:hover {
  background: #fff;
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(68,114,196,.14);
}
.ls-mega-rail-btn .ls-mega-ico {
  width: 40px;
  height: 40px;
  color: var(--ls-orange);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  flex: 0 0 40px;
}
.ls-mega-rail-btn .ls-mega-ico svg {
  width: 36px;
  height: 36px;
  display: block;
}
.ls-mega-rail-media {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(17,17,17,.06);
  display: grid;
  place-items: center;
}
.ls-mega-rail-media .ls-mega-rail-img,
.ls-mega-rail-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.ls-mega-rail-label {
  flex: 1 1 auto;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
  line-height: 1.15;
  min-width: 0;
}
.ls-mega-main {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, .72fr) minmax(0, .72fr);
  gap: 12px;
  min-width: 0;
}
.ls-mega-col.is-iphone .ls-mega-list.is-two-col {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 0 6px;
  max-height: none;
  overflow: visible;
}
.ls-mega-col.is-iphone .ls-mega-group-toggle,
.ls-mega-col.is-iphone .ls-mega-list > li > a {
  font-size: 12.5px;
  padding: 6px 0 !important;
}
.ls-mega-col.is-watch .ls-mega-list a,
.ls-mega-col.is-ipad .ls-mega-list a,
.ls-mega-col.is-ipad .ls-mega-group-toggle {
  font-size: 13px;
}
.ls-mega-col.is-ipad .ls-mega-title {
  font-size: 14px;
}

@media (max-width: 960px) {
  .ls-mega-panel-focus .ls-mega-layout,
  .ls-mega-panel-focus .ls-mega-layout.is-rail-right {
    display: flex;
    flex-direction: column;
  }
  .ls-mega-rail {
    order: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
  }
  .ls-mega-main {
    order: 1;
    display: grid;
    grid-template-columns: 1fr;
  }
  .ls-mega-col.is-iphone .ls-mega-list.is-two-col {
    grid-template-columns: 1fr;
  }
}

body.ls-news-open { overflow: hidden; }
.ls-home-news-card { padding: 0; }
.ls-home-news-open {
  display: block;
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: inherit;
}
.ls-home-news-title {
  display: block;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.3;
  margin: 0 0 6px;
  color: inherit;
}
.ls-home-news-excerpt {
  display: block;
  font-size: 13px;
  color: #444;
  line-height: 1.4;
}
.ls-home-news-source {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: var(--ls-blue);
  margin-bottom: 2px;
}
.ls-news-modal {
  position: fixed;
  inset: 0;
  z-index: 260;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
.ls-news-modal[hidden] { display: none !important; }
.ls-news-modal.is-open {
  display: flex !important;
}
.ls-news-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17,17,17,.45);
}
.ls-news-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(560px, 100%);
  max-height: min(82vh, 720px);
  overflow: auto;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(17,17,17,.28);
}
.ls-news-modal-x {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 12px;
  background: rgba(255,255,255,.92);
  color: var(--ls-blue);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.ls-news-modal-media {
  background: #eef2f8;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}
.ls-news-modal-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ls-news-modal-body { padding: 16px 18px 20px; }
.ls-news-modal-meta {
  margin: 0 0 6px;
  font-size: 12px;
  color: var(--ls-muted);
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.ls-news-modal-body h3 {
  margin: 0 0 10px;
  font-size: 20px;
  line-height: 1.25;
}
.ls-news-modal-summary {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.55;
  color: #333;
  white-space: pre-wrap;
  max-height: min(46vh, 420px);
  overflow-y: auto;
}
.ls-news-modal-link,
.ls-news-modal-link.customize-unpreviewable {
  cursor: pointer !important;
  pointer-events: auto !important;
  display: inline-flex !important;
}

/* === Bestsellers row + mega rail right 1.3.58 === */
.ls-home-best-carousel {
  position: relative;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 8px;
}
.ls-home-best-track {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 4px 2px 10px;
}
.ls-home-best-track::-webkit-scrollbar { display: none; }
.ls-home-best-track .products,
.ls-home-best-track ul.products {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  margin: 0 !important;
  width: max-content !important;
}
.ls-home-best-track li.product,
.ls-home-best-track li.product.ls-card {
  flex: 0 0 172px !important;
  width: 172px !important;
  max-width: 172px !important;
  min-height: 292px !important;
  height: 292px !important;
  scroll-snap-align: start;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
.ls-home-best-track .ls-card-media {
  flex: 0 0 130px !important;
  height: 130px !important;
  max-height: 130px !important;
  aspect-ratio: auto !important;
  background: #fff !important;
}
.ls-home-best-track .ls-card-media img {
  width: 100% !important;
  height: 100% !important;
  max-height: 130px !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}
.ls-home-best-track .ls-card-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}
.ls-home-best-track .woocommerce-loop-product__title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  min-height: 2.4em !important;
  max-height: 2.6em !important;
}
.ls-home-best-track .ls-card-meta {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ls-home-best-track .ls-card-info {
  margin-top: auto !important;
}
.ls-home-best-arrow {
  appearance: none;
  border: 1px solid rgba(17,17,17,.12);
  background: #fff;
  color: var(--ls-blue);
  width: 40px;
  height: 40px;
  border-radius: 999px;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(17,17,17,.08);
  display: inline-grid;
  place-items: center;
  padding: 0;
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.ls-home-best-arrow:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(68,114,196,.16);
}
.ls-home-best-arrow:disabled {
  opacity: .35;
  cursor: default;
  transform: none;
  box-shadow: none;
}
@media (max-width: 700px) {
  .ls-home-best-carousel {
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    gap: 4px;
  }
  .ls-home-best-arrow {
    width: 34px;
    height: 34px;
    font-size: 24px;
  }
  .ls-home-best-track li.product,
  .ls-home-best-track li.product.ls-card {
    flex-basis: 138px !important;
    width: 138px !important;
    max-width: 138px !important;
    min-height: 236px !important;
    height: auto !important;
  }
}

/* Live Preview marks external social links as .customize-unpreviewable (cursor: not-allowed). */
.ls-social a,
.ls-social a.customize-unpreviewable,
.ls-home-social-links a,
.ls-home-social-links a.customize-unpreviewable,
.ls-home-tiktok-card,
.ls-home-tiktok-card.customize-unpreviewable,
.ls-home-tiktok-card .ls-home-tiktok-cta,
a.ls-home-tiktok-card.customize-unpreviewable,
.ls-gallery-share-menu a,
.ls-gallery-share-menu a.customize-unpreviewable,
.ls-reviewsbox-btn,
.ls-reviewsbox-btn.customize-unpreviewable,
a.ls-reviewsbox-btn.customize-unpreviewable,
body.woocommerce-checkout a,
body.woocommerce-checkout a.customize-unpreviewable,
body.woocommerce-checkout button,
body.woocommerce-checkout button.customize-unpreviewable,
body.woocommerce-checkout .button,
body.woocommerce-checkout .button.customize-unpreviewable,
body.woocommerce-checkout #place_order,
body.woocommerce-checkout #place_order.customize-unpreviewable,
body.woocommerce-checkout .ls-cart-upsell-add,
body.woocommerce-checkout .ls-cart-upsell-add.customize-unpreviewable,
body.woocommerce-checkout input[type="radio"],
body.woocommerce-checkout input[type="radio"].customize-unpreviewable,
body.woocommerce-checkout label.customize-unpreviewable {
  cursor: pointer !important;
  pointer-events: auto !important;
}

/* === PDP buy row + cart drawer upsells (1.3.80) === */
.ls-buy-row-inline {
  display: flex;
  align-items: stretch;
  gap: 10px;
  margin: 14px 0 8px;
  width: 100%;
}
.ls-qty-compact {
  flex: 0 0 auto;
  height: 48px;
}
.ls-qty-compact button,
.ls-qty-compact input {
  height: 48px !important;
}
.ls-qty-compact button {
  width: 40px !important;
  font-size: 16px;
}
.ls-qty-compact input {
  width: 40px !important;
  font-size: 15px;
  font-weight: 700;
}
.ls-buy-row-inline .ls-buybox-cta {
  flex: 1 1 auto;
  min-width: 0;
  height: 48px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 700;
  background: #4472c4 !important;
  background-color: #4472c4 !important;
  color: #fff !important;
  border: 1px solid #3b66b3 !important;
  border-bottom: 3px solid #2f5496 !important;
  box-shadow: 0 8px 20px rgba(68,114,196,.28);
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.ls-buy-row-inline .ls-buybox-cta.is-disabled {
  opacity: .45;
  box-shadow: none;
  filter: grayscale(.12);
}
.ls-buy-row-inline .ls-buybox-cta.is-ready,
.ls-buybox-cta.is-ready,
.ls-sticky-buy-cta.is-ready {
  background: #4472c4 !important;
  background-color: #4472c4 !important;
  border-color: #3b66b3 !important;
  cursor: pointer !important;
}
/* Full-height shine: oversize before skew so clip still covers top+bottom edges. */
.ls-buybox-cta-shine:not(.is-disabled)::after,
.ls-buybox-cta.is-ready::after {
  content: "";
  position: absolute;
  top: -35% !important;
  bottom: auto !important;
  left: -45%;
  width: 42%;
  height: 170% !important;
  margin: 0;
  padding: 0;
  background: linear-gradient(105deg, transparent 0%, rgba(255,255,255,.0) 35%, rgba(255,255,255,.5) 50%, rgba(255,255,255,.0) 65%, transparent 100%);
  transform: skewX(-18deg);
  animation: ls-cta-shine 3.6s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}
@keyframes ls-cta-shine {
  0%, 18% { left: -45%; opacity: 0; }
  28% { opacity: 1; }
  55% { left: 110%; opacity: 1; }
  56%, 100% { left: 110%; opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .ls-buybox-cta-shine::after,
  .ls-buybox-cta.is-ready::after { animation: none; display: none; }
}

.ls-infobox {
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 24px;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(17,17,17,.06);
  margin-bottom: 16px;
}
.ls-infobox-title {
  margin: 0 0 12px;
  font-size: 17px;
  font-weight: 800;
  color: var(--ls-blue);
}
.ls-infobox-list {
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  display: grid;
  gap: 12px;
}
.ls-infobox-list li {
  display: grid;
  gap: 2px;
}
.ls-infobox-list strong {
  font-size: 13px;
  color: #111;
}
.ls-infobox-list span {
  font-size: 13px;
  color: var(--ls-muted);
  line-height: 1.35;
}
.ls-infobox .ls-pay-logos { margin-top: 4px; }

.ls-cart-drawer-panel {
  display: flex;
  flex-direction: column;
}
.ls-cart-drawer-body {
  flex: 1 1 auto;
  overflow: auto;
  min-height: 0;
}
.ls-cart-drawer .woocommerce-mini-cart__buttons {
  display: none !important;
}
.ls-cart-drawer-foot {
  flex: 0 0 auto;
  border-top: 1px solid rgba(17,17,17,.08);
  padding: 14px 16px 18px;
  background: #fff;
  display: grid;
  gap: 14px;
}
.ls-cart-upsells-title {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  color: var(--ls-blue);
}
.ls-cart-upsells-list {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.ls-cart-upsell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 8px;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 14px;
  background: #f7f8fb;
}
.ls-cart-upsell-link {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  color: inherit;
  text-decoration: none;
  min-width: 0;
}
.ls-cart-upsell-thumb {
  width: 52px;
  height: 52px;
  border-radius: 10px;
  background: #fff;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.ls-cart-upsell-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.ls-cart-upsell-meta {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.ls-cart-upsell-name {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ls-cart-upsell-price {
  font-size: 12px;
  font-weight: 800;
  color: var(--ls-blue);
}
.ls-cart-upsell-add {
  height: 34px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: #4472c4 !important;
  background-color: #4472c4 !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  white-space: nowrap;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.ls-cart-upsell-add:hover,
.ls-cart-upsell-add:focus {
  background: #3b66b3 !important;
  background-color: #3b66b3 !important;
  color: #fff !important;
}
.ls-cart-upsell-add:disabled {
  opacity: .55;
  cursor: wait;
}
.ls-cart-checkout-btn,
.ls-cart-checkout-btn.button,
.ls-cart-checkout-btn.checkout {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50px;
  border-radius: 999px !important;
  background: #4472c4 !important;
  background-color: #4472c4 !important;
  color: #fff !important;
  border: 1px solid #3b66b3 !important;
  border-bottom: 3px solid #2f5496 !important;
  box-shadow: 0 4px 12px rgba(68,114,196,.28) !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  text-decoration: none !important;
}
.ls-cart-checkout-btn:hover,
.ls-cart-checkout-btn:focus,
.ls-cart-checkout-btn.button:hover,
.ls-cart-checkout-btn.checkout:hover {
  background: #3b66b3 !important;
  background-color: #3b66b3 !important;
  color: #fff !important;
  border-color: #345aa0 !important;
  box-shadow: 0 10px 18px rgba(68,114,196,.34) !important;
}

@media (max-width: 960px) {
  .ls-buy-row-inline {
    position: sticky;
    bottom: 0;
    z-index: 5;
    margin: 12px 0 0;
    padding: 10px 0 4px;
    background: linear-gradient(180deg, rgba(255,255,255,0), #fff 28%);
  }
  .ls-buy-row-inline .ls-buybox-cta {
    font-size: 14px;
  }
}

/* === Buy button press feedback (1.3.82) === */
.ls-buybox-cta,
.ls-sticky-buy-cta,
.ls-buy-row-inline .ls-buybox-cta {
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease, opacity .12s ease;
  will-change: transform;
}
.ls-buybox-cta.is-pressing,
.ls-sticky-buy-cta.is-pressing,
.ls-buy-row-inline .ls-buybox-cta.is-pressing {
  transform: scale(.94) translateY(2px) !important;
  box-shadow: 0 2px 8px rgba(68,114,196,.22) !important;
  filter: brightness(.96);
}
.ls-buybox-cta.is-loading,
.ls-buy-row-inline .ls-buybox-cta.is-loading {
  pointer-events: none;
  opacity: .88;
}

/* === Checkout redesign (1.3.82) === */
body.woocommerce-checkout {
  background:
    radial-gradient(1200px 480px at 10% -10%, rgba(68,114,196,.10), transparent 60%),
    radial-gradient(900px 420px at 100% 0%, rgba(245,130,32,.08), transparent 55%),
    #f5f7fb;
}
body.woocommerce-checkout .ls-site,
body.woocommerce-checkout .woocommerce {
  max-width: min(1440px, 100%);
  margin-left: auto;
  margin-right: auto;
}
body.woocommerce-checkout .woocommerce {
  padding: 28px 16px 64px;
  width: min(1440px, calc(100% - 40px));
}
body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .wp-block-post-title,
body.woocommerce-checkout .title {
  font-size: clamp(28px, 4vw, 36px);
  font-weight: 800;
  color: #1c2b4a;
  margin: 0 0 22px;
  letter-spacing: -.02em;
}
body.woocommerce-checkout .woocommerce-notices-wrapper,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-error {
  border-radius: 14px;
  border: 0;
  box-shadow: 0 8px 24px rgba(17,17,17,.06);
}
/* Hide stacked “added to cart” leftovers on checkout */
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-message {
  display: none !important;
}
body.woocommerce-checkout .woocommerce-info {
  background: #eef3fb;
  color: #1c2b4a;
  border-left: 4px solid #4472c4;
}
body.woocommerce-checkout .woocommerce-error {
  background: #fff5f3;
  color: #8a2b1d;
  border-left: 4px solid #f58220;
}
body.woocommerce-checkout form.checkout {
  display: flex;
  flex-direction: column;
  gap: 18px;
  max-width: none;
  width: 100%;
  margin: 0 auto;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  display: block !important;
  margin: 0 0 18px;
}

/* Order block — full width on top */
body.woocommerce-checkout .ls-checkout-order {
  background: #fff;
  border: 1px solid rgba(28,43,74,.08);
  border-radius: 20px;
  box-shadow: 0 12px 32px rgba(28,43,74,.06);
  overflow: hidden;
}
body.woocommerce-checkout #order_review_heading {
  font-size: 18px;
  font-weight: 800;
  color: #4472c4;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 16px 22px 8px;
  margin: 0;
  box-shadow: none;
  position: static;
}
body.woocommerce-checkout #order_review {
  border: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 22px 18px !important;
  background: transparent !important;
  box-shadow: none !important;
  position: static;
}

/* Accessories strip under order */
body.woocommerce-checkout .ls-checkout-accessories {
  background: #fff;
  border: 1px solid rgba(28,43,74,.08);
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(28,43,74,.05);
  padding: 12px 14px;
  margin: 0;
}
body.woocommerce-checkout .ls-checkout-accessories .ls-cart-upsells-title {
  margin: 0 0 8px;
  font-size: 12px;
}
body.woocommerce-checkout .ls-checkout-accessories-list,
body.woocommerce-checkout .ls-checkout-accessories .ls-cart-upsells-list {
  display: flex !important;
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0;
  padding: 0 0 2px;
  list-style: none;
  scrollbar-width: thin;
}
body.woocommerce-checkout .ls-checkout-accessories .ls-cart-upsell {
  flex: 0 0 auto;
  min-width: 200px;
  max-width: 260px;
  padding: 6px 8px;
  border-radius: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
}
body.woocommerce-checkout .ls-checkout-accessories .ls-cart-upsell-thumb {
  width: 40px;
  height: 40px;
  border-radius: 8px;
}
body.woocommerce-checkout .ls-checkout-accessories .ls-cart-upsell-name {
  font-size: 11px;
  -webkit-line-clamp: 1;
}
body.woocommerce-checkout .ls-checkout-accessories .ls-cart-upsell-price {
  font-size: 11px;
}
body.woocommerce-checkout .ls-checkout-accessories .ls-cart-upsell-add {
  height: 30px !important;
  padding: 0 10px !important;
  font-size: 11px !important;
}

/* Two columns: billing | payment */
body.woocommerce-checkout .ls-checkout-columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: start;
}
@media (min-width: 980px) {
  body.woocommerce-checkout .ls-checkout-columns {
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    gap: 24px;
  }
}
body.woocommerce-checkout .ls-checkout-payment {
  background: #fff;
  border: 1px solid rgba(28,43,74,.08);
  border-radius: 20px;
  padding: 18px 20px 20px;
  box-shadow: 0 12px 32px rgba(28,43,74,.06);
}
body.woocommerce-checkout .ls-checkout-payment-title {
  margin: 0 0 12px;
  font-size: 17px;
  font-weight: 800;
  color: #1c2b4a;
}
@media (min-width: 980px) {
  body.woocommerce-checkout .ls-checkout-payment {
    position: sticky;
    top: 96px;
  }
}

/* Product table: thumb + desc | price | qty | subtotal */
body.woocommerce-checkout .ls-checkout-table {
  background: transparent !important;
  border-radius: 0 !important;
  table-layout: fixed;
}
body.woocommerce-checkout .ls-checkout-table thead th {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #1c2b4a;
  border-bottom: 1px solid rgba(28,43,74,.1) !important;
  padding: 8px 10px !important;
  background: transparent;
}
body.woocommerce-checkout .ls-checkout-table .product-name { width: 42%; }
body.woocommerce-checkout .ls-checkout-table .product-price { width: 16%; text-align: center; }
body.woocommerce-checkout .ls-checkout-table .product-quantity { width: 20%; text-align: center; }
body.woocommerce-checkout .ls-checkout-table .product-total { width: 22%; text-align: right; }
body.woocommerce-checkout .ls-checkout-table tbody td {
  vertical-align: middle !important;
  border-bottom: 1px solid rgba(28,43,74,.08) !important;
  padding: 14px 10px !important;
  background: transparent;
}
body.woocommerce-checkout .ls-checkout-qty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  height: 36px;
  border: 1px solid rgba(28,43,74,.12);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
body.woocommerce-checkout .ls-checkout-qty button,
body.woocommerce-checkout .ls-checkout-qty input {
  height: 34px;
  border: 0;
  background: transparent;
  font: inherit;
  color: #1c2b4a;
  text-align: center;
  cursor: pointer !important;
}
body.woocommerce-checkout .ls-checkout-qty button {
  width: 32px;
  font-size: 16px;
  line-height: 1;
  font-weight: 700;
}
body.woocommerce-checkout .ls-checkout-qty button:hover {
  background: #f4f6fa;
}
body.woocommerce-checkout .ls-checkout-qty input {
  width: 36px;
  font-weight: 700;
  font-size: 14px;
  cursor: text !important;
  -moz-appearance: textfield;
  padding: 0;
}
body.woocommerce-checkout .ls-checkout-qty input::-webkit-outer-spin-button,
body.woocommerce-checkout .ls-checkout-qty input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
body.woocommerce-checkout .ls-checkout-table .product-price,
body.woocommerce-checkout .ls-checkout-table .product-quantity,
body.woocommerce-checkout .ls-checkout-table .product-total {
  font-weight: 700;
  color: #1c2b4a;
  white-space: nowrap;
}
body.woocommerce-checkout .ls-checkout-product {
  display: grid;
  grid-template-columns: 32px 64px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  text-align: left;
}
body.woocommerce-checkout .ls-checkout-remove,
body.woocommerce-checkout a.ls-checkout-remove {
  width: 32px !important;
  height: 32px !important;
  flex: 0 0 auto;
  cursor: pointer !important;
}
body.woocommerce-checkout .ls-checkout-remove svg {
  width: 15px;
  height: 15px;
}
body.woocommerce-checkout tr.cart_item.is-removing {
  opacity: .45;
  pointer-events: none;
}
body.woocommerce-checkout .ls-checkout-product-thumb {
  width: 64px;
  height: 64px;
  border-radius: 12px;
  background: #f4f6fa;
  display: grid;
  place-items: center;
  overflow: hidden;
}
body.woocommerce-checkout .ls-checkout-product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
body.woocommerce-checkout .ls-checkout-product-meta {
  min-width: 0;
  font-weight: 700;
  color: #1c2b4a;
  line-height: 1.3;
}
body.woocommerce-checkout .ls-checkout-table tfoot th,
body.woocommerce-checkout .ls-checkout-table tfoot td {
  padding: 10px !important;
  border-top: 1px solid rgba(28,43,74,.08) !important;
  background: transparent;
}
body.woocommerce-checkout .ls-checkout-table tfoot th {
  text-align: right;
  font-weight: 700;
  color: #5b6b86;
}
body.woocommerce-checkout .ls-checkout-table tfoot td {
  text-align: right;
  font-weight: 800;
}
body.woocommerce-checkout .ls-checkout-table tfoot .order-total th,
body.woocommerce-checkout .ls-checkout-table tfoot .order-total td {
  font-size: 16px;
  color: #1c2b4a;
  border-top: 2px solid rgba(28,43,74,.12) !important;
  padding-top: 14px !important;
}

body.woocommerce-checkout .col2-set {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 18px;
  width: 100% !important;
  float: none !important;
}
@media (min-width: 720px) {
  body.woocommerce-checkout .col2-set {
    grid-template-columns: 1fr;
  }
}
body.woocommerce-checkout .col2-set .col-1,
body.woocommerce-checkout .col2-set .col-2 {
  width: 100% !important;
  float: none !important;
  max-width: none !important;
}
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
  background: #fff !important;
  border: 1px solid rgba(28,43,74,.08);
  border-radius: 20px !important;
  padding: 22px !important;
  box-shadow: 0 12px 32px rgba(28,43,74,.06);
}
body.woocommerce-checkout #customer_details {
  display: grid;
  gap: 18px;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.woocommerce-checkout #customer_details .woocommerce-billing-fields,
body.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
body.woocommerce-checkout #customer_details .woocommerce-additional-fields {
  margin: 0;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 14px;
}
body.woocommerce-checkout .form-row-wide,
body.woocommerce-checkout .address-field,
body.woocommerce-checkout #billing_address_1_field,
body.woocommerce-checkout #billing_address_2_field,
body.woocommerce-checkout #billing_company_field,
body.woocommerce-checkout #billing_email_field,
body.woocommerce-checkout #billing_phone_field,
body.woocommerce-checkout #shipping_address_1_field,
body.woocommerce-checkout #shipping_address_2_field,
body.woocommerce-checkout #shipping_company_field,
body.woocommerce-checkout #order_comments_field {
  grid-column: 1 / -1;
}
body.woocommerce-checkout .form-row-first,
body.woocommerce-checkout .form-row-last {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}
/* WooCommerce Blocks checkout */
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wc-block-checkout {
  max-width: none;
  width: 100%;
  margin: 0 auto;
}
body.woocommerce-checkout .wc-block-components-sidebar-layout {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 22px;
  align-items: start;
}
@media (min-width: 980px) {
  body.woocommerce-checkout .wc-block-components-sidebar-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr) !important;
    gap: 28px;
  }
}
body.woocommerce-checkout .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-sidebar {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
}
body.woocommerce-checkout .wc-block-checkout__form,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block,
body.woocommerce-checkout .wc-block-checkout__actions {
  background: #fff;
  border: 1px solid rgba(28,43,74,.08);
  border-radius: 20px;
  padding: 22px;
  box-shadow: 0 12px 32px rgba(28,43,74,.06);
}
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-components-checkout-step__container {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 18px !important;
}
body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-title {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #1c2b4a !important;
}
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-textarea textarea,
body.woocommerce-checkout .wc-block-components-combobox input {
  border-radius: 12px !important;
  border-color: rgba(28,43,74,.14) !important;
  background: #f8fafc !important;
}
body.woocommerce-checkout .wc-block-components-notice-banner.is-success {
  display: none !important;
}
body.woocommerce-checkout h3 {
  margin: 0 0 14px;
  font-size: 17px;
  font-weight: 800;
  color: #1c2b4a;
}
body.woocommerce-checkout .form-row {
  margin: 0 0 12px !important;
  padding: 0 !important;
}
body.woocommerce-checkout label {
  font-size: 13px;
  font-weight: 700;
  color: #31425f;
  margin-bottom: 6px;
}
body.woocommerce-checkout .required {
  color: #f58220 !important;
}
body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container .select2-selection--single {
  height: 46px !important;
  border: 1px solid rgba(28,43,74,.14) !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
  box-shadow: none !important;
  padding: 0 14px !important;
  font-size: 15px !important;
  color: #1c2b4a !important;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
body.woocommerce-checkout textarea {
  height: auto !important;
  min-height: 96px;
  padding: 12px 14px !important;
}
body.woocommerce-checkout input.input-text:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout .select2-container--open .select2-selection--single {
  border-color: #4472c4 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(68,114,196,.16) !important;
  outline: none !important;
}
body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 46px !important;
  padding-left: 0 !important;
}
body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
  height: 44px !important;
}
body.woocommerce-checkout table.shop_table {
  border: 0 !important;
  border-radius: 14px;
  overflow: hidden;
  background: #f7f9fc;
  width: 100%;
  table-layout: fixed;
}
body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td {
  border-color: rgba(28,43,74,.08) !important;
  padding: 12px 14px !important;
  font-size: 14px;
  vertical-align: top;
}
body.woocommerce-checkout table.shop_table .product-name {
  width: 68%;
}
body.woocommerce-checkout table.shop_table .product-total,
body.woocommerce-checkout table.shop_table .product-total .woocommerce-Price-amount {
  width: 32%;
  text-align: right !important;
  white-space: nowrap;
  font-weight: 700;
}
body.woocommerce-checkout table.shop_table .cart_item .product-name .product-quantity {
  font-weight: 600;
  color: #5b6b86;
}
body.woocommerce-checkout table.shop_table dl.variation,
body.woocommerce-checkout table.shop_table .variation {
  display: grid !important;
  grid-template-columns: max-content 1fr;
  column-gap: 8px;
  row-gap: 4px;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  width: 100%;
  max-width: 100%;
  float: none !important;
  clear: both;
}
body.woocommerce-checkout table.shop_table dl.variation dt,
body.woocommerce-checkout table.shop_table dl.variation dd,
body.woocommerce-checkout table.shop_table .variation dt,
body.woocommerce-checkout table.shop_table .variation dd {
  display: block !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  line-height: 1.35;
  border: 0 !important;
  background: transparent !important;
}
body.woocommerce-checkout table.shop_table dl.variation dt,
body.woocommerce-checkout table.shop_table .variation dt {
  font-weight: 700;
  color: #5b6b86;
  white-space: nowrap;
}
body.woocommerce-checkout table.shop_table dl.variation dd,
body.woocommerce-checkout table.shop_table .variation dd {
  font-weight: 600;
  color: #1c2b4a;
  text-align: left !important;
}
body.woocommerce-checkout table.shop_table dl.variation dd p,
body.woocommerce-checkout table.shop_table .variation dd p {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-checkout table.shop_table tfoot th,
body.woocommerce-checkout table.shop_table tfoot td {
  font-weight: 800;
  color: #1c2b4a;
}
body.woocommerce-checkout table.shop_table .woocommerce-shipping-methods {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
}
body.woocommerce-checkout table.shop_table .woocommerce-shipping-methods li {
  margin: 0 0 6px;
}
body.woocommerce-checkout #payment {
  background: #f7f9fc !important;
  border-radius: 14px;
  padding: 14px !important;
  border: 1px solid rgba(28,43,74,.08);
}
body.woocommerce-checkout #payment ul.payment_methods {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
}
body.woocommerce-checkout #payment ul.payment_methods li {
  background: #fff;
  border: 1px solid rgba(28,43,74,.1);
  border-radius: 12px;
  padding: 12px 14px;
  margin: 0 0 8px;
}
body.woocommerce-checkout #payment div.payment_box {
  background: #eef3fb !important;
  color: #31425f;
  border-radius: 10px;
}
body.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: #eef3fb !important;
}
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button#place_order {
  width: 100% !important;
  height: 52px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #4472c4 !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  box-shadow: 0 10px 22px rgba(68,114,196,.28) !important;
  transition: transform .14s ease, background .14s ease, box-shadow .14s ease;
}
body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout button#place_order:hover {
  background: #3b66b3 !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(68,114,196,.34) !important;
}
body.woocommerce-checkout #place_order:active {
  transform: scale(.97) translateY(1px);
}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  margin-top: 10px;
  font-size: 13px;
  color: #5b6b86;
}

/* Checkout: restore pointer on interactive controls + promo button brand color */
body.woocommerce-checkout,
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout form.checkout {
  cursor: default;
}
body.woocommerce-checkout a,
body.woocommerce-checkout button,
body.woocommerce-checkout .button,
body.woocommerce-checkout label,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-selection,
body.woocommerce-checkout .select2-container,
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button#place_order,
body.woocommerce-checkout #payment ul.payment_methods li,
body.woocommerce-checkout #payment ul.payment_methods label,
body.woocommerce-checkout #payment input[type="radio"],
body.woocommerce-checkout #payment .wc_payment_method,
body.woocommerce-checkout .woocommerce-shipping-methods label,
body.woocommerce-checkout .woocommerce-shipping-methods input[type="radio"],
body.woocommerce-checkout input[type="radio"],
body.woocommerce-checkout input[type="checkbox"],
body.woocommerce-checkout input[type="submit"],
body.woocommerce-checkout input[type="button"],
body.woocommerce-checkout .ls-cart-upsell-add,
body.woocommerce-checkout .ls-checkout-accessories button,
body.woocommerce-checkout .ls-checkout-qty button,
body.woocommerce-checkout .ls-mini-qty button,
body.woocommerce-checkout .ls-checkout-remove,
body.woocommerce-checkout a.ls-checkout-remove,
body.woocommerce-checkout .woocommerce-form-coupon-toggle a,
body.woocommerce-checkout .wc-block-components-button,
body.woocommerce-checkout .wc-block-components-checkbox,
body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-radio-control__input {
  cursor: pointer !important;
}
body.woocommerce-checkout .customize-unpreviewable,
body.woocommerce-checkout a.customize-unpreviewable,
body.woocommerce-checkout button.customize-unpreviewable,
body.woocommerce-checkout .button.customize-unpreviewable,
body.woocommerce-checkout label.customize-unpreviewable,
body.woocommerce-checkout input.customize-unpreviewable,
body.woocommerce-checkout .ls-cart-upsell-add.customize-unpreviewable {
  cursor: pointer !important;
  pointer-events: auto !important;
}
body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="number"],
body.woocommerce-checkout .select2-search__field,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-textarea textarea,
body.woocommerce-checkout .ls-checkout-qty input,
body.woocommerce-checkout .ls-mini-qty input {
  cursor: text !important;
}
body.woocommerce-checkout #place_order:disabled,
body.woocommerce-checkout button#place_order:disabled,
body.woocommerce-checkout #place_order.disabled,
body.woocommerce-checkout button#place_order.disabled,
body.woocommerce-checkout .ls-cart-upsell-add:disabled {
  cursor: not-allowed !important;
  opacity: 0.72;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a,
body.woocommerce-checkout .showcoupon {
  color: var(--ls-blue) !important;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer !important;
}
body.woocommerce-checkout form.checkout_coupon,
body.woocommerce-checkout .checkout_coupon {
  /* Keep closed until “Hai un codice promozionale?” is clicked (WC toggles display). */
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  background: #fff;
  border: 1px solid rgba(28, 43, 74, 0.08);
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow: 0 8px 22px rgba(28, 43, 74, 0.05);
  margin: 0 0 18px;
}
body.woocommerce-checkout form.checkout_coupon[style*="block"],
body.woocommerce-checkout .checkout_coupon[style*="block"] {
  display: flex !important;
}
body.woocommerce-checkout form.checkout_coupon .form-row-first,
body.woocommerce-checkout form.checkout_coupon .form-row-last,
body.woocommerce-checkout .checkout_coupon .form-row {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  flex: 1 1 220px;
}
body.woocommerce-checkout form.checkout_coupon .input-text,
body.woocommerce-checkout .checkout_coupon .input-text {
  width: 100% !important;
  height: 46px !important;
}
body.woocommerce-checkout form.checkout_coupon button,
body.woocommerce-checkout form.checkout_coupon button.button,
body.woocommerce-checkout form.checkout_coupon .button,
body.woocommerce-checkout .checkout_coupon button.button,
body.woocommerce-checkout button[name="apply_coupon"],
body.woocommerce-checkout input[name="apply_coupon"],
body.woocommerce-checkout .wc-block-components-totals-coupon__button {
  background: var(--ls-orange) !important;
  background-color: var(--ls-orange) !important;
  color: #fff !important;
  border: 1px solid #e07a18 !important;
  border-bottom: 3px solid #c45e0c !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 12px rgba(245, 130, 32, 0.28) !important;
  font-weight: 800 !important;
  min-height: 46px;
  padding: 0 20px !important;
  cursor: pointer !important;
}
body.woocommerce-checkout form.checkout_coupon button:hover,
body.woocommerce-checkout .checkout_coupon button.button:hover,
body.woocommerce-checkout button[name="apply_coupon"]:hover {
  background: #e67816 !important;
  filter: brightness(1.03);
}
@media (max-width: 979px) {
  body.woocommerce-checkout .ls-checkout-payment {
    position: static;
  }
}

/* === Checkout mobile: shorter, clearer, sticky CTA === */
@media (max-width: 767px) {
  body.woocommerce-checkout {
    padding-bottom: 88px; /* room for sticky place-order */
  }
  body.woocommerce-checkout .ls-wrap.ls-page,
  body.woocommerce-checkout .woocommerce {
    width: min(100%, calc(100% - 20px)) !important;
    max-width: none !important;
    padding: 12px 0 24px !important;
    margin-inline: auto !important;
  }
  body.woocommerce-checkout h1.entry-title,
  body.woocommerce-checkout .wp-block-post-title,
  body.woocommerce-checkout .title {
    font-size: 1.45rem !important;
    margin: 0 0 12px !important;
    line-height: 1.2;
  }
  body.woocommerce-checkout form.checkout {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  body.woocommerce-checkout .ls-checkout-order {
    border-radius: 14px;
  }
  body.woocommerce-checkout #order_review_heading {
    padding: 12px 14px 6px !important;
    font-size: 15px !important;
  }
  body.woocommerce-checkout #order_review {
    padding: 0 12px 12px !important;
  }
  body.woocommerce-checkout .ls-checkout-accessories {
    border-radius: 12px;
    padding: 10px;
  }
  body.woocommerce-checkout .ls-checkout-accessories .ls-cart-upsell {
    min-width: 180px;
    max-width: 220px;
  }
  body.woocommerce-checkout .ls-checkout-columns {
    gap: 12px;
  }
  body.woocommerce-checkout .ls-checkout-payment {
    border-radius: 14px;
    padding: 14px;
  }
  body.woocommerce-checkout .ls-checkout-payment {
    position: static;
  }

  body.woocommerce-checkout #customer_details .woocommerce-billing-fields,
  body.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
  body.woocommerce-checkout #customer_details .woocommerce-additional-fields {
    border-radius: 14px !important;
    padding: 14px !important;
    box-shadow: 0 6px 18px rgba(28, 43, 74, 0.06) !important;
  }
  body.woocommerce-checkout h3 {
    font-size: 15px !important;
    margin: 0 0 10px !important;
  }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  body.woocommerce-checkout .form-row-first,
  body.woocommerce-checkout .form-row-last,
  body.woocommerce-checkout .form-row-wide {
    width: 100% !important;
    float: none !important;
    grid-column: 1 / -1 !important;
  }
  body.woocommerce-checkout .form-row {
    margin: 0 !important;
  }
  body.woocommerce-checkout label {
    font-size: 12px !important;
    margin-bottom: 4px !important;
  }
  body.woocommerce-checkout input.input-text,
  body.woocommerce-checkout textarea,
  body.woocommerce-checkout select,
  body.woocommerce-checkout .select2-container .select2-selection--single {
    height: 44px !important;
    font-size: 16px !important; /* avoid iOS zoom */
    border-radius: 10px !important;
    padding: 0 12px !important;
  }
  body.woocommerce-checkout textarea {
    min-height: 72px !important;
    padding: 10px 12px !important;
  }

  /* Stack product rows on small screens */
  body.woocommerce-checkout .ls-checkout-table,
  body.woocommerce-checkout .ls-checkout-table thead,
  body.woocommerce-checkout .ls-checkout-table tbody,
  body.woocommerce-checkout .ls-checkout-table tfoot,
  body.woocommerce-checkout .ls-checkout-table tr,
  body.woocommerce-checkout .ls-checkout-table th,
  body.woocommerce-checkout .ls-checkout-table td {
    display: block;
    width: 100% !important;
  }
  body.woocommerce-checkout .ls-checkout-table thead {
    display: none;
  }
  body.woocommerce-checkout .ls-checkout-table tbody tr.cart_item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 10px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(28,43,74,.08);
  }
  body.woocommerce-checkout .ls-checkout-table tbody td {
    border: 0 !important;
    padding: 0 !important;
  }
  body.woocommerce-checkout .ls-checkout-table tbody td.product-name {
    grid-column: 1 / -1;
  }
  body.woocommerce-checkout .ls-checkout-table tbody td.product-price,
  body.woocommerce-checkout .ls-checkout-table tbody td.product-quantity,
  body.woocommerce-checkout .ls-checkout-table tbody td.product-total {
    text-align: left !important;
    white-space: normal;
    font-size: 13px;
  }
  body.woocommerce-checkout .ls-checkout-table tbody td.product-price::before,
  body.woocommerce-checkout .ls-checkout-table tbody td.product-quantity::before,
  body.woocommerce-checkout .ls-checkout-table tbody td.product-total::before {
    content: attr(data-title) ": ";
    display: block;
    margin-bottom: 4px;
    font-weight: 700;
    color: #5b6b86;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
  }
  body.woocommerce-checkout .ls-checkout-qty {
    margin: 0;
  }
  body.woocommerce-checkout .ls-checkout-product {
    grid-template-columns: 28px 52px minmax(0, 1fr);
    gap: 8px;
  }
  body.woocommerce-checkout .ls-checkout-product-thumb {
    width: 52px;
    height: 52px;
    border-radius: 10px;
  }
  body.woocommerce-checkout .ls-checkout-table tfoot tr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
  }
  body.woocommerce-checkout .ls-checkout-table tfoot th,
  body.woocommerce-checkout .ls-checkout-table tfoot td {
    width: auto !important;
    text-align: left !important;
    padding: 0 !important;
    border: 0 !important;
  }
  body.woocommerce-checkout .ls-checkout-table tfoot td {
    text-align: right !important;
  }

  /* Payment methods denser */
  body.woocommerce-checkout #payment {
    padding: 10px !important;
    border-radius: 10px !important;
    margin-top: 10px !important;
  }
  body.woocommerce-checkout #payment ul.payment_methods {
    margin: 0 0 10px !important;
  }
  body.woocommerce-checkout #payment ul.payment_methods li {
    padding: 10px 12px !important;
    margin: 0 0 6px !important;
    border-radius: 10px !important;
  }
  body.woocommerce-checkout #payment div.payment_box {
    font-size: 12px !important;
    padding: 8px 10px !important;
    margin: 8px 0 0 !important;
  }
  body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    font-size: 12px !important;
    margin-top: 8px !important;
  }

  /* Coupon compact */
  body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    margin: 0 0 10px !important;
    padding: 10px 12px !important;
    font-size: 13px !important;
  }
  body.woocommerce-checkout form.checkout_coupon,
  body.woocommerce-checkout .checkout_coupon {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 10px 12px !important;
    gap: 8px !important;
    margin: 0 0 10px !important;
  }
  body.woocommerce-checkout form.checkout_coupon .form-row-first,
  body.woocommerce-checkout form.checkout_coupon .form-row-last,
  body.woocommerce-checkout .checkout_coupon .form-row {
    flex: 1 1 auto !important;
    width: 100% !important;
  }
  body.woocommerce-checkout form.checkout_coupon button,
  body.woocommerce-checkout button[name="apply_coupon"] {
    width: 100% !important;
  }

  /* Optional notes: collapse visual weight */
  body.woocommerce-checkout .woocommerce-additional-fields {
    padding: 12px !important;
  }
  body.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-size: 14px !important;
  }

  /* Sticky place order — always visible */
  body.woocommerce-checkout #place_order,
  body.woocommerce-checkout button#place_order {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 90 !important;
    width: auto !important;
    max-width: none !important;
    height: 52px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    box-shadow: 0 10px 28px rgba(28, 43, 74, 0.28) !important;
  }
  body.woocommerce-checkout #payment .form-row.place-order {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
  }
  /* Spacer so content isn't hidden under sticky button */
  body.woocommerce-checkout #payment .form-row.place-order::after {
    content: "";
    display: block;
    height: 64px;
  }

  /* Blocks checkout mobile */
  body.woocommerce-checkout .wc-block-components-sidebar-layout {
    gap: 12px !important;
  }
  body.woocommerce-checkout .wc-block-checkout__form,
  body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-order-summary,
  body.woocommerce-checkout .wc-block-components-totals-wrapper,
  body.woocommerce-checkout .wc-block-checkout__actions {
    padding: 14px !important;
    border-radius: 14px !important;
  }
  body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 90 !important;
    width: auto !important;
    border-radius: 999px !important;
  }
}

@media (max-width: 767px) and (min-width: 0) {
  /* Keep billing/shipping section titles clear as steps */
  body.woocommerce-checkout .woocommerce-billing-fields > h3::before {
    content: "1 · ";
    color: #4472c4;
  }
  body.woocommerce-checkout #order_review_heading::before {
    content: "2 · ";
  }
}
/* === Spedizione e Tracking page === */
.ls-shipping {
  padding: 28px 0 56px;
  background:
    radial-gradient(1100px 400px at 8% -8%, rgba(68,114,196,.14), transparent 58%),
    radial-gradient(800px 320px at 100% 0%, rgba(245,130,32,.1), transparent 52%),
    #fff;
  color: var(--ls-text);
}
.ls-shipping-wrap { max-width: 880px; }
.ls-shipping-hero { margin: 0 0 22px; }
.ls-shipping-hero h1 {
  margin: 0 0 8px;
  font-size: clamp(1.8rem, 3.2vw, 2.4rem);
}
.ls-shipping-intro {
  margin: 0;
  font-size: 1.05rem;
  color: var(--ls-muted);
  line-height: 1.45;
}
.ls-shipping-card {
  margin: 0 0 16px;
  padding: 22px 24px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(28,43,74,.08);
  box-shadow: 0 10px 28px rgba(28,43,74,.05);
}
.ls-shipping-card h2 {
  margin: 0 0 6px;
  font-size: 1.2rem;
  color: var(--ls-text);
}
.ls-shipping-meta {
  margin: 0 0 14px;
  font-size: 13px;
  color: var(--ls-muted);
}
.ls-shipping-card p {
  margin: 0 0 12px;
  line-height: 1.6;
  color: #31425f;
  font-size: 15px;
}
.ls-shipping-card p:last-child { margin-bottom: 0; }
.ls-shipping-footnote {
  margin-top: 14px !important;
  font-size: 13px !important;
  color: var(--ls-muted) !important;
  line-height: 1.5 !important;
}

.ls-shipping-table-wrap {
  margin: 4px 0 0;
  overflow-x: auto;
  border: 1px solid rgba(28,43,74,.12);
  border-radius: 12px;
  background: #fff;
}
.ls-shipping-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 14px;
  line-height: 1.45;
}
.ls-shipping-table th,
.ls-shipping-table td {
  padding: 14px 16px;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid rgba(28,43,74,.1);
}
.ls-shipping-table th {
  width: auto;
  background: #f3f6fb;
  color: #5b6b86;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ls-shipping-table th:last-child,
.ls-shipping-table td:last-child {
  width: 34%;
  text-align: right;
  white-space: nowrap;
}
.ls-shipping-table tbody tr:nth-child(even) td {
  background: #fafbfd;
}
.ls-shipping-table tbody tr:last-child td {
  border-bottom: 0;
}
.ls-shipping-table td:first-child {
  color: var(--ls-text);
  font-weight: 600;
}
.ls-shipping-table td:last-child {
  color: var(--ls-blue);
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .02em;
}
@media (max-width: 640px) {
  .ls-shipping-table {
    table-layout: auto;
    font-size: 13px;
  }
  .ls-shipping-table th,
  .ls-shipping-table td {
    padding: 12px;
  }
  .ls-shipping-table th:last-child,
  .ls-shipping-table td:last-child {
    width: auto;
    white-space: normal;
  }
}

.ls-shipping-card-track {
  background:
    linear-gradient(160deg, rgba(68,114,196,.12), rgba(255,255,255,.98) 42%),
    #fff;
  border-color: rgba(68,114,196,.18);
}
.ls-shipping-label {
  display: block;
  margin: 10px 0 8px;
  font-size: 13px;
  font-weight: 700;
}
.ls-shipping-input {
  width: 100%;
  max-width: 440px;
  box-sizing: border-box;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(28,43,74,.16);
  font: inherit;
  margin-bottom: 14px;
  background: #fff;
  color: var(--ls-text);
}
.ls-shipping-input:focus {
  outline: 2px solid rgba(68,114,196,.35);
  border-color: var(--ls-blue);
}
.ls-shipping-carriers {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ls-shipping-carrier {
  appearance: none;
  border: 0;
  cursor: pointer !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 76px;
  min-height: 44px;
  padding: 11px 18px;
  border-radius: 999px;
  background: var(--ls-blue);
  color: #fff;
  font-family: inherit;
  font-weight: 800;
  font-size: 14px;
  line-height: 1;
  transition: transform .15s ease, filter .15s ease, background .15s ease;
}
.ls-shipping-carrier:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}
.ls-shipping-carrier:active { transform: translateY(0); }
.ls-shipping-carrier[data-carrier="sda"] { background: #f58220; }
.ls-shipping-carrier[data-carrier="brt"] { background: #1c2b4a; }
.ls-shipping-carrier[data-carrier="dhl"] { background: #ffcc00; color: #111; }
.ls-shipping-hint {
  margin-top: 12px !important;
  font-size: 12px !important;
  color: var(--ls-muted) !important;
}
.ls-shipping-cta { margin: 18px 0 0; }
.ls-shipping-cta .ls-btn {
  display: inline-flex;
  align-items: center;
  padding: 12px 18px;
  border-radius: 999px;
  background: var(--ls-orange);
  color: #fff !important;
  font-weight: 800;
  font-size: 14px;
  text-decoration: none !important;
}
.ls-shipping-cta .ls-btn:hover { filter: brightness(.96); }
@media (max-width: 640px) {
  .ls-shipping { padding: 16px 0 36px; }
  .ls-shipping-wrap { width: min(1440px, calc(100% - 24px)); }
  .ls-shipping-hero h1 { font-size: 1.65rem; }
  .ls-shipping-card { padding: 14px; border-radius: 14px; margin-bottom: 12px; }
  .ls-shipping-card h2 { font-size: 1.05rem; }
  .ls-shipping-card p { font-size: 14px; }
  .ls-shipping-input {
    max-width: none;
    font-size: 16px; /* avoid iOS zoom */
  }
  .ls-shipping-carriers {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .ls-shipping-carrier {
    min-width: 0;
    width: 100%;
  }
  .ls-shipping-table thead { display: none; }
  .ls-shipping-table,
  .ls-shipping-table tbody,
  .ls-shipping-table tr,
  .ls-shipping-table td {
    display: block;
    width: 100%;
  }
  .ls-shipping-table tr {
    padding: 12px;
    border-bottom: 1px solid rgba(28,43,74,.1);
  }
  .ls-shipping-table tr:nth-child(even) { background: #fafbfd; }
  .ls-shipping-table td {
    padding: 0;
    border: 0;
    text-align: left !important;
    white-space: normal !important;
  }
  .ls-shipping-table td:first-child {
    margin-bottom: 6px;
    font-size: 13px;
  }
  .ls-shipping-table td:last-child {
    color: var(--ls-blue);
    font-size: 12px;
  }
  .ls-shipping-cta .ls-btn {
    width: 100%;
    justify-content: center;
  }
}

/* === Chi siamo page === */
.ls-about {
  padding: 28px 0 56px;
  background:
    radial-gradient(1000px 380px at 10% -10%, rgba(68,114,196,.12), transparent 55%),
    #fff;
  color: var(--ls-text);
}
.ls-about-wrap {
  max-width: none;
  width: min(1440px, calc(100% - 40px));
}
.ls-about-hero { margin: 0 0 22px; }
.ls-about-hero h1 {
  margin: 0 0 8px;
  font-size: clamp(1.9rem, 3.4vw, 2.55rem);
}
.ls-about-lead {
  margin: 0;
  font-size: 1.1rem;
  color: var(--ls-muted);
}
.ls-about-card {
  margin: 0 auto 22px;
  padding: 26px 28px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(28,43,74,.08);
  box-shadow: 0 12px 32px rgba(28,43,74,.06);
  width: 100%;
}
.ls-about-split {
  display: grid;
  gap: 22px;
  align-items: center;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.ls-about-split.is-left,
.ls-about-split.is-right {
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 820px) {
  .ls-about-split {
    grid-template-columns: minmax(0, 1.25fr) minmax(260px, .85fr);
    gap: 28px;
    width: 100%;
  }
  .ls-about-split.is-right {
    grid-template-columns: minmax(260px, .85fr) minmax(0, 1.25fr);
  }
  .ls-about-split.is-right .ls-about-photo { order: -1; }
}
.ls-about-split-copy h2 {
  margin: 0 0 12px;
  font-size: 1.35rem;
}
.ls-about-split-copy p {
  margin: 0 0 14px;
  line-height: 1.65;
  color: #31425f;
  font-size: 16px;
}
.ls-about-split-copy p:last-child { margin-bottom: 0; }
.ls-about-photo {
  margin: 0 auto;
  border-radius: 16px;
  overflow: hidden;
  background: #eef3fb;
  border: 1px solid rgba(28,43,74,.08);
  max-width: 420px;
  width: 100%;
  justify-self: center;
}
.ls-about-split.is-left .ls-about-photo,
.ls-about-split.is-right .ls-about-photo { justify-self: center; }
.ls-about-photo img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center 28%;
  aspect-ratio: 4 / 3;
}
.ls-about-photo figcaption {
  padding: 10px 12px 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ls-muted);
  background: #fff;
  text-align: center;
}
.ls-about-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 6px auto 22px;
  width: 100%;
}
.ls-about-stat {
  padding: 18px 14px;
  border-radius: 16px;
  background: linear-gradient(160deg, #eef3fb, #fff);
  border: 1px solid rgba(68,114,196,.14);
  text-align: center;
}
.ls-about-stat strong {
  display: block;
  font-size: 1.55rem;
  color: var(--ls-blue);
  margin-bottom: 4px;
}
.ls-about-stat span {
  display: block;
  font-size: 13px;
  color: var(--ls-muted);
  line-height: 1.3;
}
.ls-about-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
  justify-content: center;
}
.ls-about-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 20px;
  border-radius: 999px;
  background: var(--ls-orange);
  color: #fff !important;
  font-weight: 800;
  font-size: 14px;
  text-decoration: none !important;
}
.ls-about-btn.is-outline {
  background: #fff;
  color: var(--ls-blue) !important;
  border: 1px solid rgba(68,114,196,.35);
}
@media (max-width: 819px) {
  .ls-about-split { width: 100%; }
  .ls-about-split.is-left,
  .ls-about-split.is-right {
    margin-left: 0;
    margin-right: 0;
  }
  .ls-about-photo {
    max-width: 320px;
    justify-self: center !important;
  }
}
@media (max-width: 640px) {
  .ls-about { padding: 16px 0 36px; }
  .ls-about-wrap { width: min(1440px, calc(100% - 24px)); }
  .ls-about-hero h1 { font-size: 1.7rem; }
  .ls-about-card { padding: 16px; }
  .ls-about-photo {
    max-width: 260px;
    border-radius: 14px;
  }
  .ls-about-photo img {
    aspect-ratio: 1 / 1;
    object-position: center 20%;
  }
  .ls-about-split-copy h2 { font-size: 1.15rem; }
  .ls-about-split-copy p { font-size: 15px; }
  .ls-about-stats {
    grid-template-columns: 1fr;
    gap: 8px;
    width: 100%;
  }
  .ls-about-stat {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 12px;
    text-align: left;
    padding: 14px;
  }
  .ls-about-stat strong {
    margin: 0;
    min-width: 68px;
  }
  .ls-about-actions { flex-direction: column; }
  .ls-about-btn { width: 100%; }
}

/* === Shared info pages (garanzia / contatti / termini) === */
.ls-info-page {
  padding: 28px 0 56px;
  background:
    radial-gradient(1000px 380px at 12% -12%, rgba(68,114,196,.11), transparent 55%),
    #fff;
  color: var(--ls-text);
}
.ls-info-wrap { max-width: 920px; }
.ls-info-page.ls-reso .ls-info-wrap,
.ls-info-page.ls-problems .ls-info-wrap {
  max-width: none;
  width: min(1440px, calc(100% - 40px));
}
.ls-info-hero { margin: 0 0 22px; }
.ls-info-hero h1 {
  margin: 0 0 8px;
  font-size: clamp(1.85rem, 3.2vw, 2.45rem);
}
.ls-payments .ls-info-hero .ls-pay-logos,
.ls-payments .ls-info-hero .ls-pay-logos--compact {
  margin-top: 14px;
  max-width: 280px;
}
.ls-info-lead {
  margin: 0;
  font-size: 1.05rem;
  color: var(--ls-muted);
  line-height: 1.5;
}
.ls-info-card {
  margin: 0 0 16px;
  padding: 22px 24px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(28,43,74,.08);
  box-shadow: 0 10px 28px rgba(28,43,74,.05);
}
.ls-info-card h2 {
  margin: 0 0 12px;
  font-size: 1.2rem;
  color: var(--ls-blue);
}
.ls-info-card p {
  margin: 0 0 12px;
  line-height: 1.65;
  color: #31425f;
  font-size: 15px;
}
.ls-info-card p:last-child { margin-bottom: 0; }
.ls-info-card a {
  color: var(--ls-blue);
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ls-info-list {
  margin: 0;
  padding: 0 0 0 1.15em;
  color: #31425f;
  line-height: 1.65;
  font-size: 15px;
}
.ls-info-list li { margin: 0 0 8px; }
.ls-info-list li:last-child { margin-bottom: 0; }
.ls-info-highlight {
  margin: 0 0 10px !important;
  font-size: 1.7rem !important;
  font-weight: 800;
  color: var(--ls-orange) !important;
  line-height: 1.1;
}
.ls-info-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
.ls-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 18px;
  border-radius: 999px;
  background: #fff !important;
  color: var(--ls-blue) !important;
  border: 1px solid rgba(68,114,196,.35);
  font-weight: 800;
  text-decoration: none !important;
}
.ls-warranty-grid {
  display: grid;
  gap: 14px;
  margin: 0 0 8px;
}
@media (min-width: 760px) {
  .ls-warranty-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Pagina gradi estetici */
.ls-grades-wrap { max-width: 980px; }
.ls-grades .ls-info-hero .ls-kicker {
  margin: 0 0 8px;
  color: var(--ls-blue);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ls-grades-intro { margin-bottom: 18px; }
.ls-grades-list {
  display: grid;
  gap: 18px;
  margin: 0 0 18px;
}
.ls-grade-card {
  display: grid;
  gap: 16px;
  padding: 14px;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, .08);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(17, 17, 17, .04);
  overflow: hidden;
}
@media (min-width: 820px) {
  .ls-grade-card {
    grid-template-columns: minmax(240px, .95fr) minmax(0, 1.15fr);
    align-items: stretch;
    padding: 16px;
  }
}
.ls-grade-card-media {
  position: relative;
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  background: #eef2f7;
  aspect-ratio: 4 / 3;
  cursor: crosshair;
  touch-action: none;
  user-select: none;
}
.ls-grade-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.ls-grade-loupe {
  position: absolute;
  width: 148px;
  height: 148px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .92);
  box-shadow:
    0 0 0 1px rgba(17, 17, 17, .18),
    0 10px 28px rgba(17, 17, 17, .28);
  background-repeat: no-repeat;
  background-color: #eef2f7;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.92);
  transition: opacity .15s ease, transform .15s ease;
  z-index: 3;
}
.ls-grade-zoom.is-zooming .ls-grade-loupe {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.ls-grade-zoom-hint {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(17, 17, 17, .62);
  color: #fff;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .01em;
  pointer-events: none;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
.ls-grade-zoom-hint::before {
  content: "";
  width: 12px;
  height: 12px;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 4px 4px 0 -5px #fff;
  opacity: .95;
}
.ls-grade-zoom.is-zooming .ls-grade-zoom-hint {
  opacity: 0;
}
@media (max-width: 819px) {
  .ls-grade-loupe {
    width: 120px;
    height: 120px;
  }
}
.ls-grade-badge {
  position: absolute;
  left: 12px;
  top: 12px;
  min-width: 44px;
  height: 36px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(17, 17, 17, .78);
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .02em;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.ls-grade-card-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  padding: 2px 4px 4px;
}
.ls-grade-card-copy h2 {
  margin: 0;
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  line-height: 1.25;
}
.ls-grade-card-copy > p {
  margin: 0;
  color: #3d3d42;
  line-height: 1.5;
}
.ls-grade-card-copy .ls-info-list {
  margin: 6px 0 0;
}
@media (max-width: 819px) {
  .ls-grade-card { padding: 12px; }
  .ls-grade-card-copy { padding: 2px 2px 4px; }
}


.ls-contact-wrap { max-width: 1040px; }
.ls-contact-grid {
  display: grid;
  gap: 16px;
  margin-bottom: 16px;
}
@media (min-width: 880px) {
  .ls-contact-grid {
    grid-template-columns: minmax(260px, .9fr) minmax(0, 1.2fr);
    align-items: start;
  }
}
.ls-contact-details {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}
.ls-contact-details li {
  display: grid;
  gap: 4px;
}
.ls-contact-details span {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--ls-muted);
}
.ls-contact-details strong {
  font-size: 15px;
  font-weight: 650;
  color: #1c2b4a;
  line-height: 1.45;
}
.ls-contact-details a {
  color: inherit;
  text-decoration: none;
}
.ls-contact-details a:hover { color: var(--ls-blue); }
.ls-contact-form-intro {
  margin: 0 0 16px;
  color: var(--ls-muted);
  font-size: 14px;
}
.ls-contact-fields {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}
@media (min-width: 640px) {
  .ls-contact-fields {
    grid-template-columns: 1fr 1fr;
  }
  .ls-contact-fields .is-full { grid-column: 1 / -1; }
}
.ls-contact-form label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #31425f;
}
.ls-contact-form input,
.ls-contact-form textarea {
  width: 100%;
  border: 1px solid rgba(28,43,74,.16);
  border-radius: 12px;
  padding: 11px 12px;
  font: inherit;
  font-weight: 500;
  color: var(--ls-text);
  background: #fff;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.ls-contact-form input:focus,
.ls-contact-form textarea:focus {
  outline: none;
  border-color: rgba(68,114,196,.55);
  box-shadow: 0 0 0 3px rgba(68,114,196,.15);
}
.ls-contact-form textarea { resize: vertical; min-height: 140px; }
.ls-contact-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.ls-contact-map {
  margin-top: 14px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(28,43,74,.1);
  background: #eef3fb;
  aspect-ratio: 16 / 9;
  min-height: 280px;
}
.ls-contact-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.ls-contact-alert {
  margin: 0 0 16px;
  padding: 14px 16px;
  border-radius: 14px;
  font-size: 14px;
  line-height: 1.45;
}
.ls-contact-alert.is-ok {
  background: #eaf7ef;
  border: 1px solid rgba(34,140,70,.25);
  color: #1c5c33;
}
.ls-contact-alert.is-error {
  background: #fdf0ee;
  border: 1px solid rgba(196,68,54,.25);
  color: #8a2f24;
}

@media (max-width: 640px) {
  .ls-info-page { padding: 16px 0 36px; }
  .ls-info-wrap { width: min(1440px, calc(100% - 24px)); }
  .ls-info-hero h1 { font-size: 1.65rem; }
  .ls-info-card { padding: 16px; border-radius: 14px; }
  .ls-info-actions { flex-direction: column; }
  .ls-info-actions .ls-btn,
  .ls-info-actions .ls-btn-outline { width: 100%; }
  .ls-contact-map {
    aspect-ratio: 4 / 3;
    min-height: 220px;
  }
}

/* === Reso e assistenza === */
.ls-reso-wrap { max-width: none; width: 100%; }
.ls-problems-wrap { max-width: none; width: 100%; }
.ls-reso-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 22px;
}
.ls-reso-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 72px;
  padding: 12px 10px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(28,43,74,.1);
  box-shadow: 0 6px 18px rgba(28,43,74,.04);
  text-decoration: none !important;
  transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.ls-reso-tab:hover {
  border-color: rgba(68,114,196,.45);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(28,43,74,.08);
}
.ls-reso-tab img {
  display: block;
  max-width: 100%;
  max-height: 42px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.ls-reso-tab.is-site img { max-height: 36px; }
.ls-reso-section { scroll-margin-top: 96px; }
.ls-reso-section-head {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 16px;
}
.ls-reso-section-head h2 {
  margin: 0 0 4px;
  font-size: 1.2rem;
}
.ls-reso-section-head p {
  margin: 0;
  color: var(--ls-muted);
  font-size: 14px;
}
.ls-reso-platform-logo {
  flex: 0 0 auto;
  width: 112px;
  height: auto;
  max-height: 48px;
  object-fit: contain;
  background: #f7f9fc;
  border-radius: 10px;
  padding: 8px 10px;
  border: 1px solid rgba(28,43,74,.06);
}
.ls-reso-platform-logo.is-ls {
  background: #fff;
  padding: 6px 8px;
}
.ls-info-list.is-ordered {
  list-style: decimal;
  padding-left: 1.25em;
}
.ls-reso-details {
  margin: 0 0 10px;
  border: 1px solid rgba(28,43,74,.1);
  border-radius: 14px;
  background: #fafbfd;
  overflow: hidden;
}
.ls-reso-details:last-child { margin-bottom: 0; }
.ls-reso-details summary {
  cursor: pointer;
  list-style: none;
  padding: 14px 16px;
  font-weight: 750;
  color: #1c2b4a;
  font-size: 15px;
  line-height: 1.4;
}
.ls-reso-details summary::-webkit-details-marker { display: none; }
.ls-reso-details summary::after {
  content: "+";
  float: right;
  color: var(--ls-blue);
  font-weight: 800;
}
.ls-reso-details[open] summary::after { content: "–"; }
.ls-reso-details-body {
  padding: 0 16px 16px;
  border-top: 1px solid rgba(28,43,74,.06);
}
.ls-reso-details-body > :first-child { margin-top: 14px; }
.ls-reso-split {
  display: grid;
  gap: 16px;
  align-items: start;
}
@media (min-width: 820px) {
  .ls-reso-split {
    grid-template-columns: minmax(0, 1.2fr) minmax(180px, .7fr);
  }
}
.ls-reso-figure {
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(28,43,74,.08);
  background: #fff;
}
.ls-reso-figure img,
.ls-reso-gallery img {
  display: block;
  width: 100%;
  height: auto;
}
.ls-reso-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}
.ls-reso-gallery img {
  border-radius: 10px;
  border: 1px solid rgba(28,43,74,.08);
  background: #fff;
}
.ls-reso-note {
  font-size: 14px !important;
  color: var(--ls-muted) !important;
}
.ls-reso-warn {
  margin: 12px 0 0 !important;
  padding: 12px 14px;
  border-radius: 12px;
  background: #fff6eb;
  border: 1px solid rgba(245,130,32,.35);
  color: #8a4a12 !important;
  font-size: 14px !important;
  font-weight: 650;
}

/* === Problemi e soluzioni === */
.ls-problems-wrap { max-width: none; width: 100%; }
.ls-problems-search-label {
  display: grid;
  gap: 8px;
  margin-top: 16px;
  font-size: 13px;
  font-weight: 700;
  color: #31425f;
}
.ls-problems-search {
  width: 100%;
  border: 1px solid rgba(28,43,74,.16);
  border-radius: 12px;
  padding: 12px 14px;
  font: inherit;
  font-weight: 500;
  background: #fff;
}
.ls-problems-search:focus {
  outline: none;
  border-color: rgba(68,114,196,.55);
  box-shadow: 0 0 0 3px rgba(68,114,196,.15);
}
.ls-problems-list { display: grid; gap: 10px; margin-bottom: 16px; }
.ls-problems-item {
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.ls-problems-item summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  font-weight: 750;
  color: #1c2b4a;
  font-size: 15px;
  line-height: 1.35;
}
.ls-problems-item summary::-webkit-details-marker { display: none; }
.ls-problems-item-ico {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #eef3fb;
  color: var(--ls-blue);
  position: relative;
}
.ls-problems-item-ico::before,
.ls-problems-item-ico::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: currentColor;
  transform: translate(-50%, -50%);
}
.ls-problems-item-ico::before {
  width: 12px;
  height: 2px;
}
.ls-problems-item-ico::after {
  width: 2px;
  height: 12px;
}
.ls-problems-item[open] .ls-problems-item-ico::after { display: none; }
.ls-problems-item[open] summary {
  border-bottom: 1px solid rgba(28,43,74,.08);
  color: var(--ls-blue);
}
.ls-problems-item-body {
  padding: 16px 18px 18px;
  color: #31425f;
  font-size: 15px;
  line-height: 1.65;
}
.ls-problems-item-body h3 {
  margin: 16px 0 8px;
  font-size: 1.05rem;
  color: #1c2b4a;
}
.ls-problems-item-body p { margin: 0 0 12px; }
.ls-problems-item-body ul,
.ls-problems-item-body ol {
  margin: 0 0 12px;
  padding-left: 1.2em;
}
.ls-problems-item-body li { margin: 0 0 6px; }
.ls-problems-empty {
  margin: 8px 0 0;
  color: var(--ls-muted);
  text-align: center;
}
.ls-problems-item.is-hidden { display: none; }

@media (max-width: 760px) {
  .ls-reso-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ls-reso-section-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .ls-reso-gallery {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 480px) {
  .ls-reso-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* === Button press feedback (global) === */
.ls-btn,
.ls-about-btn,
.ls-reviewsbox-btn,
.checkout-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #respond input#submit,
.woocommerce div.product.ls-pdp .single_add_to_cart_button,
.ls-buybox-cta,
.ls-sticky-buy-cta,
.ls-account-primary,
.ls-cart-checkout-btn,
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button#place_order,
body.woocommerce-checkout form.checkout_coupon button,
body.woocommerce-checkout button[name="apply_coupon"] {
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease, background .12s ease, border-color .12s ease;
}
.ls-btn:active,
.ls-about-btn:active,
.ls-reviewsbox-btn:active,
.checkout-button:active,
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active,
.woocommerce a.button.alt:active,
.woocommerce button.button.alt:active,
.woocommerce #respond input#submit:active,
.woocommerce div.product.ls-pdp .single_add_to_cart_button:active,
.ls-buybox-cta:active,
.ls-sticky-buy-cta:active,
.ls-account-primary:active,
.ls-cart-checkout-btn:active,
body.woocommerce-checkout #place_order:active,
body.woocommerce-checkout button#place_order:active,
body.woocommerce-checkout form.checkout_coupon button:active,
body.woocommerce-checkout button[name="apply_coupon"]:active,
.ls-btn.is-pressing,
.ls-about-btn.is-pressing,
.woocommerce a.button.is-pressing,
.woocommerce button.button.is-pressing,
.woocommerce #respond input#submit.is-pressing,
body.woocommerce-checkout #place_order.is-pressing,
.checkout-button.is-pressing {
  transform: scale(.94) translateY(2px) !important;
  filter: brightness(.96);
  box-shadow: 0 2px 8px rgba(28, 43, 74, 0.18) !important;
}

/* === Product reviews: gold stars + blue submit === */
.woocommerce div.product .woocommerce-Reviews .star-rating,
.woocommerce div.product .star-rating,
.woocommerce .star-rating span::before,
.woocommerce p.stars a,
.woocommerce p.stars a::before,
.woocommerce p.stars a:hover ~ a::before,
.woocommerce p.stars:hover a::before,
.woocommerce p.stars.selected a.active::before,
.woocommerce p.stars.selected a:not(.active)::before {
  color: #f5b400 !important;
}
.woocommerce p.stars a {
  color: #f5b400 !important;
}
.woocommerce p.stars a:hover,
.woocommerce p.stars a:focus,
.woocommerce p.stars a.active {
  color: #e6a800 !important;
}
.woocommerce #reviews #comment,
.woocommerce #review_form #respond textarea {
  border: 1px solid rgba(28, 43, 74, 0.14);
  border-radius: 12px;
  background: #f8fafc;
}
.woocommerce #review_form #respond .form-submit input#submit,
.woocommerce #respond input#submit,
.woocommerce #review_form #respond .form-submit input[type="submit"],
.woocommerce div.product #review_form #respond .form-submit input {
  background: #4472c4 !important;
  background-color: #4472c4 !important;
  color: #fff !important;
  border: 1px solid #3b66b3 !important;
  border-bottom: 3px solid #2f5496 !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 12px rgba(68, 114, 196, 0.28) !important;
  font-weight: 800 !important;
  padding: 12px 22px !important;
  cursor: pointer !important;
}
.woocommerce #review_form #respond .form-submit input#submit:hover,
.woocommerce #respond input#submit:hover,
.woocommerce div.product #review_form #respond .form-submit input:hover {
  background: #3b66b3 !important;
}
.ls-reviewsbox-stars {
  color: #f5b400 !important;
  letter-spacing: 1px;
}


/* === 404 phone illustration === */
.ls-404 {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 32px;
}
.ls-404-art {
  display: block;
  width: min(100%, 560px);
  height: auto;
  margin: 0 auto 18px;
  border-radius: 16px;
}
.ls-404-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 22px;
}

/* === 404 phone illustration === */
.ls-404 {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 32px;
}
.ls-404-art {
  display: block;
  width: min(100%, 560px);
  height: auto;
  margin: 0 auto 18px;
  border-radius: 16px;
}
.ls-404-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 22px;
}

/* —— Trade-in / valutazione usato —— */
.ls-tradein-page {
  background: linear-gradient(180deg, #eef1f7 0%, #f7f8fb 28%, #fff 55%, #f4f4f6 100%);
  padding-bottom: 88px;
}
.ls-tradein-wrap { max-width: 1040px; padding-top: 28px; }

.ls-tradein-hero-band {
  position: relative;
  min-height: min(72vh, 560px);
  display: flex;
  align-items: flex-end;
  color: #fff;
  overflow: hidden;
}
.ls-tradein-hero-media {
  position: absolute;
  inset: 0;
}
.ls-tradein-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
}
.ls-tradein-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(100deg, rgba(12, 22, 48, .82) 0%, rgba(12, 22, 48, .55) 48%, rgba(12, 22, 48, .28) 100%),
    linear-gradient(0deg, rgba(12, 22, 48, .55) 0%, transparent 42%);
}
.ls-tradein-hero-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 48px 20px 40px;
  max-width: 1040px;
  margin: 0 auto;
}
.ls-tradein-hero-inner .ls-kicker { color: #ffb078; }
.ls-tradein-hero-inner h1 {
  margin: 8px 0 12px;
  font-size: clamp(1.85rem, 5vw, 2.75rem);
  line-height: 1.12;
  max-width: 14ch;
  color: #fff;
  text-shadow: 0 1px 18px rgba(0,0,0,.25);
}
.ls-tradein-hero-inner .ls-info-lead {
  max-width: 38ch;
  margin: 0 0 20px;
  color: rgba(255,255,255,.88);
  font-size: clamp(1rem, 2.4vw, 1.12rem);
  line-height: 1.45;
}
.ls-tradein-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ls-tradein-hero-ghost {
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.35) !important;
}
.ls-tradein-hero-ghost:hover {
  background: rgba(255,255,255,.2) !important;
}

.ls-tradein-trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 40px;
}
.ls-tradein-trust-item {
  padding: 18px 16px;
  border-radius: var(--ls-radius);
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(17,17,17,.06);
}
.ls-tradein-trust-item h2 { margin: 8px 0 6px; font-size: 1.05rem; }
.ls-tradein-trust-item p { margin: 0; color: var(--ls-muted); font-size: .95rem; line-height: 1.45; }
.ls-tradein-ico { display: inline-flex; color: var(--ls-blue); }

.ls-tradein-split {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 22px;
  align-items: center;
  margin: 0 0 44px;
}
.ls-tradein-split-media {
  margin: 0;
  border-radius: calc(var(--ls-radius) + 2px);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #dde3ee;
}
.ls-tradein-split-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ls-tradein-split-copy h2 {
  margin: 6px 0 12px;
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  line-height: 1.2;
}
.ls-tradein-split-copy > p { margin: 0 0 14px; line-height: 1.55; color: #2a2a2e; }
.ls-tradein-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.ls-tradein-checklist li {
  position: relative;
  padding-left: 1.5rem;
  color: #2a2a2e;
  line-height: 1.4;
}
.ls-tradein-checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .35em;
  width: .7rem;
  height: .7rem;
  border-radius: 50%;
  background: var(--ls-orange);
  box-shadow: inset 0 0 0 2px #fff, 0 0 0 1px var(--ls-orange);
}

.ls-tradein-section-lead {
  margin: 0 0 16px;
  color: var(--ls-muted);
}
.ls-tradein-how { margin: 0 0 40px; }
.ls-tradein-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
.ls-tradein-steps-visual {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ls-tradein-steps li {
  display: grid;
  gap: 6px;
  padding: 18px 16px;
  border-radius: var(--ls-radius);
  background: #fff;
  border: 1px solid rgba(17,17,17,.06);
  min-height: 100%;
}
.ls-tradein-step-num {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  color: #fff;
  background: var(--ls-blue);
  font-size: .95rem;
}
.ls-tradein-steps strong { font-size: 1.05rem; }
.ls-tradein-steps span { color: var(--ls-muted); line-height: 1.4; }

.ls-tradein-eval-section {
  margin: 0 0 44px;
  padding: 22px 18px 24px;
  border-radius: calc(var(--ls-radius) + 4px);
  background: #fff;
  border: 1px solid rgba(17,17,17,.08);
  box-shadow: 0 18px 40px rgba(17,17,17,.05);
  scroll-margin-top: 88px;
}
.ls-tradein-eval-head { margin-bottom: 16px; }
.ls-tradein-eval-head h2 { margin: 0 0 6px; }
.ls-tradein-eval-lead { margin: 0; color: var(--ls-muted); }
.ls-tradein-progress { height: 6px; border-radius: 999px; background: #e8eaf0; overflow: hidden; margin-bottom: 10px; }
.ls-tradein-progress-bar { display: block; height: 100%; background: linear-gradient(90deg, var(--ls-blue), var(--ls-orange)); transition: width .25s ease; }
.ls-tradein-step-label { margin: 0 0 14px; font-size: .9rem; color: var(--ls-muted); font-weight: 600; }
.ls-tradein-app {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.ls-tradein-panel {
  max-height: min(52vh, 560px);
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding-right: 2px;
  scroll-padding-bottom: 12px;
}
.ls-tradein-choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: 10px; }
.ls-tradein-choices-models {
  grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
}
.ls-tradein-choice {
  appearance: none;
  border: 1px solid rgba(17,17,17,.12);
  background: #fafbfc;
  border-radius: 14px;
  padding: 14px 12px;
  min-height: 52px;
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: var(--ls-text);
  transition: border-color .15s ease, background .15s ease, transform .12s ease;
}
.ls-tradein-choice-model {
  display: grid;
  gap: 10px;
  padding: 12px 10px 14px;
  text-align: center;
  justify-items: center;
  min-height: 0;
}
.ls-tradein-choice-media {
  width: 100%;
  max-width: 120px;
  aspect-ratio: 1;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(17,17,17,.06);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.ls-tradein-choice-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  padding: 6px;
}
.ls-tradein-choice-media.is-empty {
  background:
    linear-gradient(145deg, #eef1f6, #f8f9fb);
}
.ls-tradein-choice-media.is-empty::after {
  content: "";
  width: 34%;
  height: 58%;
  border-radius: 8px;
  border: 2px solid rgba(68,114,196,.28);
  background: rgba(68,114,196,.08);
}
.ls-tradein-choice-label {
  font-weight: 700;
  font-size: .92rem;
  line-height: 1.25;
}
.ls-tradein-choice:hover { border-color: var(--ls-blue); transform: translateY(-1px); }
.ls-tradein-choice.is-active {
  border-color: var(--ls-blue);
  background: rgba(68,114,196,.08);
  box-shadow: inset 0 0 0 1px var(--ls-blue);
}
.ls-tradein-choice-grade { display: flex; flex-direction: column; gap: 4px; min-height: 96px; }
.ls-tradein-choice-grade strong { font-size: 1.15rem; color: var(--ls-blue); }
.ls-tradein-choice-grade span { font-size: .86rem; color: var(--ls-muted); line-height: 1.35; }
.ls-tradein-nav {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-top: 14px;
  padding-top: 14px;
  position: sticky;
  bottom: 0;
  z-index: 3;
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, #fff 28%, #fff 100%);
  border-top: 1px solid rgba(17,17,17,.06);
}
.ls-tradein-nav .ls-btn { min-width: 120px; }
.ls-tradein-nav [data-ls-back][hidden],
.ls-tradein-nav [data-ls-back][aria-hidden="true"] {
  display: none !important;
}
.ls-tradein-error { margin: 12px 0 0; color: #b42318; font-weight: 600; }
.ls-tradein-alert { padding: 14px 16px; border-radius: 12px; background: #fff4e5; border: 1px solid rgba(245,130,32,.35); }
.ls-tradein-form { display: grid; gap: 12px; max-width: 420px; }
.ls-tradein-form label { display: grid; gap: 6px; font-weight: 600; font-size: .92rem; }
.ls-tradein-form input {
  font: inherit;
  padding: 14px 14px;
  border-radius: 12px;
  border: 1px solid rgba(17,17,17,.14);
  font-size: 16px; /* evita zoom iOS */
}
.ls-tradein-hint { margin: 12px 0 0; font-size: .9rem; color: var(--ls-muted); }
.ls-tradein-hint a { color: var(--ls-blue); font-weight: 600; }
.ls-tradein-result h3 { margin: 0 0 8px; }
.ls-tradein-price {
  margin: 0 0 10px;
  font-size: clamp(2rem, 5vw, 2.75rem);
  font-weight: 800;
  color: var(--ls-blue);
  letter-spacing: -.02em;
}
.ls-tradein-disclaimer { margin: 10px 0 0; font-size: .9rem; color: var(--ls-muted); }
.ls-tradein-result-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.ls-tradein-loading, .ls-tradein-empty { color: var(--ls-muted); }
.ls-tradein-q { margin: 0 0 12px; font-weight: 600; }

.ls-tradein-grades { margin: 0 0 44px; }
.ls-tradein-grades-head { margin-bottom: 16px; }
.ls-tradein-grades-head h2 { margin: 0 0 8px; }
.ls-tradein-grades-head p { margin: 0; color: var(--ls-muted); max-width: 52ch; }
.ls-tradein-grades-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.ls-tradein-grade-card {
  background: #fff;
  border: 1px solid rgba(17,17,17,.06);
  border-radius: var(--ls-radius);
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr;
}
.ls-tradein-grade-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}
.ls-tradein-grade-card > div { padding: 14px 14px 16px; }
.ls-tradein-grade-card h3 { margin: 0 0 6px; font-size: 1.05rem; }
.ls-tradein-grade-card p { margin: 0; color: var(--ls-muted); font-size: .92rem; line-height: 1.4; }
.ls-tradein-grades-link { margin: 14px 0 0; }
.ls-tradein-grades-link a { color: var(--ls-blue); font-weight: 700; }

.ls-tradein-bring {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 22px;
  align-items: center;
  margin: 0 0 44px;
}
.ls-tradein-bring-copy h2 { margin: 0 0 14px; }
.ls-tradein-bring-copy > p { margin: 14px 0 0; color: var(--ls-muted); line-height: 1.5; }
.ls-tradein-bring-media { margin: 0; }
.ls-tradein-bring-media img {
  width: 100%;
  border-radius: calc(var(--ls-radius) + 2px);
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.ls-tradein-bring-media figcaption {
  margin-top: 8px;
  font-size: .88rem;
  color: var(--ls-muted);
}

.ls-tradein-area { margin: 0 0 40px; }
.ls-tradein-area > p { line-height: 1.55; color: #2a2a2e; }
.ls-tradein-towns {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ls-tradein-towns li {
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(17,17,17,.08);
  font-size: .88rem;
  font-weight: 600;
  color: #2a2a2e;
}

.ls-tradein-nap {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 18px;
  margin: 0 0 40px;
  align-items: stretch;
}
.ls-tradein-nap-copy {
  padding: 18px;
  border-radius: var(--ls-radius);
  background: #fff;
  border: 1px solid rgba(17,17,17,.06);
}
.ls-tradein-nap-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.ls-tradein-map {
  border-radius: var(--ls-radius);
  overflow: hidden;
  min-height: 280px;
  border: 1px solid rgba(17,17,17,.06);
  background: #e8edf5;
}
.ls-tradein-map iframe {
  width: 100%;
  height: 100%;
  min-height: 280px;
  border: 0;
}

.ls-tradein-faq { margin-bottom: 24px; }
.ls-tradein-faq-list { display: grid; gap: 8px; }
.ls-tradein-faq-item {
  background: #fff;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 14px;
  padding: 12px 16px;
}
.ls-tradein-faq-item summary {
  cursor: pointer;
  font-weight: 700;
  padding: 4px 0;
}
.ls-tradein-faq-item p {
  margin: 10px 0 4px;
  color: var(--ls-muted);
  line-height: 1.5;
}

.ls-tradein-sticky-cta {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 40;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
  background: rgba(255,255,255,.94);
  border-top: 1px solid rgba(17,17,17,.08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.ls-tradein-sticky-cta .ls-btn {
  width: 100%;
  justify-content: center;
}

@media (max-width: 899px) {
  .ls-tradein-trust,
  .ls-tradein-steps-visual,
  .ls-tradein-grades-grid {
    grid-template-columns: 1fr;
  }
  .ls-tradein-split,
  .ls-tradein-bring,
  .ls-tradein-nap {
    grid-template-columns: 1fr;
  }
  .ls-tradein-hero-band { min-height: min(68vh, 480px); }
  .ls-tradein-hero-inner h1 { max-width: none; }
  .ls-tradein-hero-inner { padding: 36px 16px 28px; }
  .ls-tradein-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ls-tradein-panel { max-height: min(46vh, 420px); }
  .ls-tradein-nav { justify-content: stretch; }
  .ls-tradein-nav .ls-btn { flex: 1; }
  .ls-tradein-sticky-cta { display: block; }
  .ls-tradein-eval-section { scroll-margin-top: 72px; }
  .ls-tradein-split-media { order: -1; }
}

@media (max-width: 420px) {
  .ls-tradein-choices { grid-template-columns: 1fr; }
  .ls-tradein-towns li { font-size: .82rem; padding: 7px 10px; }
}

