body {
  font-family: "Segoe UI", Arial, sans-serif;
  color: #1f2b1f;
  background: #f7f5ef;
}

#sp-top-bar,
.header-modules,
.sp-sign-in,
.mod-finder,
#sp-header .header-modules,
#sp-main-body .sidebar-right,
#sp-right,
#sp-left,
.productdetails-view .product-price,
.productdetails-view .addtocart-area,
.browse-view .product-price,
.browse-view .addtocart-area,
.offcanvas-inner .sp-sign-in,
.offcanvas-inner .mod-finder {
  display: none !important;
}

#sp-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(247,245,239,.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(31,43,31,.08);
}

.logo .logo-text {
  color: #143a2a;
  font-size: 30px;
  font-weight: 800;
  letter-spacing: .08em;
}

.logo .logo-slogan {
  color: #6a745e;
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.sp-megamenu-parent > li > a,
.offcanvas-menu .offcanvas-inner .sp-module ul > li > a {
  color: #143a2a;
  font-weight: 700;
}

#sp-main-body {
  padding-top: 20px;
}

.campack-home {
  display: block;
}

.campack-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, .8fr);
  gap: 24px;
  padding: 38px;
  border-radius: 30px;
  background: linear-gradient(135deg, #173b2a 0%, #2c5b3f 45%, #8f9f5b 100%);
  color: #f8f5eb;
  box-shadow: 0 24px 60px rgba(20, 58, 42, .18);
}

.campack-kicker {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: #c5d1a9;
}

.campack-hero h1 {
  margin: 0 0 18px;
  font-size: clamp(34px, 5vw, 58px);
  line-height: .98;
  font-weight: 800;
  color: #fffaf0;
}

.campack-lead {
  max-width: 760px;
  margin: 0;
  font-size: 18px;
  line-height: 1.65;
  color: rgba(255,250,240,.88);
}

.campack-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.campack-btn,
.campack-panel {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.campack-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 22px;
  border-radius: 999px;
  text-decoration: none !important;
  font-weight: 700;
}

.campack-btn--primary {
  background: #f0c66e;
  color: #173b2a !important;
}

.campack-btn--ghost {
  border: 1px solid rgba(255,250,240,.32);
  color: #fffaf0 !important;
}

.campack-btn:hover,
.campack-panel:hover {
  transform: translateY(-2px);
}

.campack-hero__card {
  align-self: stretch;
  padding: 24px;
  border-radius: 24px;
  background: rgba(255,250,240,.1);
  border: 1px solid rgba(255,250,240,.14);
}

.campack-badge {
  display: inline-flex;
  margin-bottom: 18px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(240,198,110,.18);
  color: #f0c66e;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.campack-hero__card ul {
  margin: 0;
  padding-left: 18px;
}

.campack-hero__card li {
  margin-bottom: 12px;
  font-size: 18px;
}

.campack-features,
.campack-homecats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
}

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

.campack-features article,
.campack-panel {
  padding: 22px;
  border-radius: 22px;
  background: #fffdf8;
  border: 1px solid rgba(20,58,42,.08);
  box-shadow: 0 12px 32px rgba(20,58,42,.06);
}

.campack-features h3,
.campack-panel strong {
  display: block;
  margin: 0 0 10px;
  color: #143a2a;
}

.campack-panel span {
  display: block;
  margin-bottom: 8px;
  color: #a55d2a;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.campack-panel {
  color: #1f2b1f;
  text-decoration: none !important;
}

.vm-product-container,
.vm-product-media-container {
  border-radius: 24px;
}

.browse-view .product,
.productdetails-view {
  border-radius: 24px;
}

.browse-view .spacer {
  padding: 22px;
  border-radius: 24px;
  background: #fffdf8;
  border: 1px solid rgba(20,58,42,.08);
  box-shadow: 0 12px 32px rgba(20,58,42,.06);
  height: 100%;
}

.browse-view .product_s_desc,
.product-short-description,
.campack-product,
.vm-category-description {
  font-size: 16px;
  line-height: 1.65;
}

.productdetails-view .vm-product-container {
  padding: 28px;
  background: #fffdf8;
  border: 1px solid rgba(20,58,42,.08);
  box-shadow: 0 16px 40px rgba(20,58,42,.08);
}

.campack-product h3 {
  margin-top: 28px;
  margin-bottom: 14px;
  color: #143a2a;
}

.campack-specs {
  width: 100%;
  border-collapse: collapse;
  margin-top: 14px;
  overflow: hidden;
  border-radius: 16px;
}

.campack-specs td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(20,58,42,.08);
}

.campack-specs tr td:first-child {
  width: 42%;
  color: #6a745e;
}

.campack-note {
  margin-top: 18px;
  padding: 14px 16px;
  border-left: 4px solid #a55d2a;
  background: #f5efe1;
}

.vm-category-title,
.productdetails-view h1 {
  color: #143a2a;
  font-weight: 800;
}

.page-header,
.orderby-displaynumber,
.vm-pagination,
.browse-view .virtuemart_search,
.productdetails-view .manufacturer,
.productdetails-view .icons,
span.vmicon,
.quantity-controls,
.quantity-box,
.quantity-input,
.glyphicon {
  display: none !important;
}

@media (max-width: 991px) {
  .campack-hero,
  .campack-features,
  .campack-homecats {
    grid-template-columns: 1fr;
  }

  .campack-hero {
    padding: 24px;
    border-radius: 24px;
  }

  .campack-hero h1 {
    font-size: 38px;
  }
}
.logo .logo-image {
  opacity: 0;
  width: 240px;
  height: 84px;
}

.logo a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 84px;
  min-width: 240px;
}

.logo a::before {
  content: 'CAMPACK\A TENT';
  position: absolute;
  inset: 14px auto auto 2px;
  color: #111111;
  font-size: 38px;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: .86;
  white-space: pre;
}

.logo a::after {
  content: 'ООО "РЕСТ АРТ"';
  position: absolute;
  right: 0;
  bottom: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #a51e22;
  color: #fff7f0;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.logo::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 4px;
  width: 214px;
  height: 114px;
  border-top: 10px solid #e32929;
  border-radius: 50% 50% 0 0;
  transform: rotate(-6deg);
}
.campack-proof,
.campack-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
}

.campack-proof article,
.campack-compare__col,
.campack-cta {
  padding: 24px;
  border-radius: 24px;
  background: #fffdf8;
  border: 1px solid rgba(20,58,42,.08);
  box-shadow: 0 12px 32px rgba(20,58,42,.06);
}

.campack-proof span {
  display: inline-block;
  margin-bottom: 10px;
  color: #a55d2a;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.campack-proof h3,
.campack-compare__col h3,
.campack-cta h3 {
  margin: 0 0 12px;
  color: #143a2a;
}

.campack-compare__col ul {
  margin: 0;
  padding-left: 18px;
}

.campack-compare__col li {
  margin-bottom: 10px;
}

.campack-cta {
  margin-top: 24px;
  text-align: center;
  background: linear-gradient(135deg, #fff7e7 0%, #f5efe1 100%);
}

.campack-cta .campack-btn {
  margin-top: 8px;
}

@media (max-width: 991px) {
  .campack-proof,
  .campack-compare {
    grid-template-columns: 1fr;
  }

  .logo a::before {
    font-size: 30px;
  }

  .logo::before {
    width: 170px;
    height: 92px;
  }
}
.campack-storefront,
.campack-detail-page {
  position: relative;
}

.campack-storefront--home {
  padding-bottom: 24px;
}

.campack-home-shell,
.campack-product-section,
.campack-category-hero,
.campack-category-nav,
.campack-detail-hero,
.campack-detail-content {
  position: relative;
  z-index: 1;
}

.campack-category-hero,
.campack-detail-hero {
  overflow: hidden;
  padding: 34px;
  border-radius: 30px;
  background: radial-gradient(circle at top left, rgba(240,198,110,.28), transparent 30%), linear-gradient(135deg, #0f2b1e 0%, #173b2a 52%, #315f43 100%);
  color: #fffaf0;
  box-shadow: 0 24px 70px rgba(16, 43, 30, .22);
}

.campack-category-hero__inner,
.campack-detail-grid,
.campack-section-head {
  position: relative;
  z-index: 2;
}

.campack-orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(6px);
  opacity: .55;
  animation: campackFloat 9s ease-in-out infinite;
}

.campack-orb--one {
  top: -40px;
  right: -20px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(255,255,255,.24) 0%, rgba(255,255,255,0) 68%);
}

.campack-orb--two {
  bottom: -60px;
  left: -30px;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(240,198,110,.24) 0%, rgba(240,198,110,0) 70%);
  animation-delay: -2.5s;
}

@keyframes campackFloat {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(0, -12px, 0) scale(1.04); }
}

.campack-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr);
  gap: 24px;
  align-items: end;
  margin-bottom: 24px;
}

.campack-section-head h2,
.campack-category-hero h1,
.campack-detail-copy h1 {
  margin: 0;
  font-size: clamp(32px, 4vw, 52px);
  line-height: .96;
  font-weight: 800;
}

.campack-section-head p:last-child,
.campack-category-copy,
.campack-detail-lead {
  font-size: 17px;
  line-height: 1.7;
}

.campack-category-pills,
.campack-detail-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.campack-category-pills span,
.campack-detail-badges span,
.campack-chip {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255,250,240,.12);
  border: 1px solid rgba(255,250,240,.14);
  color: #fffaf0;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 700;
}

.campack-category-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 20px 0 26px;
}

.campack-chip {
  background: #fffdf8;
  color: #143a2a;
  border-color: rgba(20,58,42,.08);
  box-shadow: 0 8px 24px rgba(20,58,42,.06);
}

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

.campack-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,245,239,.98) 100%);
  border: 1px solid rgba(20,58,42,.08);
  box-shadow: 0 16px 40px rgba(20,58,42,.08);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.campack-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 52px rgba(20,58,42,.14);
  border-color: rgba(165,93,42,.22);
}

.campack-card__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 260px;
  padding: 18px;
  background: linear-gradient(180deg, #edf4ef 0%, #f7f5ef 100%);
}

.campack-card__media img {
  position: relative;
  z-index: 2;
  max-height: 220px;
  width: auto;
  object-fit: contain;
  filter: drop-shadow(0 16px 20px rgba(20,58,42,.18));
}

.campack-card__glow {
  position: absolute;
  inset: auto auto -40px -20px;
  width: 180px;
  height: 180px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(163,201,132,.42) 0%, rgba(163,201,132,0) 70%);
  animation: campackFloat 8s ease-in-out infinite;
}

.campack-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  padding: 22px;
}

.campack-card__meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #6a745e;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.campack-card h3 {
  margin: 0;
  font-size: 24px;
  line-height: 1.05;
}

.campack-card h3 a {
  color: #143a2a !important;
  text-decoration: none !important;
}

.campack-card p {
  margin: 0;
  color: #4f5848;
  font-size: 15px;
  line-height: 1.65;
}

.campack-card__footer {
  display: flex;
  gap: 10px;
  margin-top: auto;
}

.campack-card__button,
.campack-card__ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 999px;
  text-decoration: none !important;
  font-weight: 700;
}

.campack-card__button {
  flex: 1;
  background: #143a2a;
  color: #fffaf0 !important;
}

.campack-card__ghost {
  background: #f3eee3;
  color: #143a2a !important;
}

.campack-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
  gap: 28px;
  align-items: start;
}

.campack-detail-media,
.campack-detail-copy,
.campack-detail-content {
  padding: 26px;
  border-radius: 30px;
  background: #fffdf8;
  border: 1px solid rgba(20,58,42,.08);
  box-shadow: 0 16px 44px rgba(20,58,42,.08);
}

.campack-detail-media {
  position: sticky;
  top: 110px;
}

.campack-backlink {
  display: inline-flex;
  margin-bottom: 12px;
  color: #6a745e !important;
  text-decoration: none !important;
  font-weight: 700;
}

.campack-detail-copy h1 {
  color: #143a2a;
  margin-bottom: 14px;
}

.campack-detail-lead {
  color: #4f5848;
}

.campack-btn--ghost-dark {
  border: 1px solid rgba(20,58,42,.16);
  color: #143a2a !important;
  background: #fffdf8;
}

.campack-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.campack-detail-points {
  display: grid;
  gap: 14px;
  margin-top: 22px;
}

.campack-detail-points div {
  padding: 16px 18px;
  border-radius: 18px;
  background: #f5efe1;
}

.campack-detail-points strong {
  display: block;
  margin-bottom: 6px;
  color: #143a2a;
}

.campack-detail-points span {
  color: #4f5848;
  line-height: 1.6;
}

.campack-detail-richtext {
  font-size: 16px;
  line-height: 1.75;
  color: #243126;
}

.campack-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 8px;
}

.campack-feature-grid div {
  padding: 16px;
  border-radius: 18px;
  background: #eef4ef;
}

.campack-feature-grid strong {
  display: block;
  margin-bottom: 6px;
  color: #143a2a;
}

.campack-feature-grid span {
  color: #4f5848;
  line-height: 1.55;
}

.productdetails-view .main-image,
.productdetails-view .additional-images img,
.campack-detail-media img {
  border-radius: 22px;
}

.productdetails-view .additional-images {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}

.productdetails-view .additional-images img {
  width: 96px;
  height: 96px;
  object-fit: cover;
}

@media (max-width: 1199px) {
  .campack-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .campack-detail-grid,
  .campack-section-head {
    grid-template-columns: 1fr;
  }

  .campack-detail-media {
    position: relative;
    top: auto;
  }
}

@media (max-width: 767px) {
  .campack-grid,
  .campack-feature-grid,
  .campack-card__footer {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .campack-category-hero,
  .campack-detail-hero,
  .campack-detail-media,
  .campack-detail-copy,
  .campack-detail-content {
    padding: 22px;
    border-radius: 24px;
  }

  .campack-card__media {
    min-height: 220px;
  }

  .campack-card h3 {
    font-size: 21px;
  }
}

/* Modern refresh */
body {
  background:
    radial-gradient(circle at top left, rgba(255,104,57,.08), transparent 30%),
    radial-gradient(circle at 80% 10%, rgba(32,179,149,.12), transparent 32%),
    linear-gradient(180deg, #eef4ee 0%, #f7f5ef 24%, #f1f5f2 100%);
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(20,58,42,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20,58,42,.04) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.45), transparent 70%);
  z-index: -1;
}

#sp-header {
  margin: 14px auto 0;
  width: min(1360px, calc(100% - 28px));
  border: 1px solid rgba(17,34,27,.08);
  border-radius: 26px;
  box-shadow: 0 18px 45px rgba(15, 43, 30, .08);
}

#sp-header .container,
#sp-header .container-inner,
#sp-header .row {
  align-items: center;
}

.logo {
  position: relative;
  display: flex;
  align-items: center;
}

.logo a {
  display: inline-flex;
  align-items: center;
}

.logo .logo-image {
  width: min(260px, 28vw);
  height: auto;
  filter: drop-shadow(0 10px 18px rgba(255, 58, 45, .14));
}

.sp-megamenu-parent > li > a {
  position: relative;
  padding: 0 18px;
}

.sp-megamenu-parent > li > a::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: -6px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ff5a36, #0fb9b1);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .24s ease;
}

.sp-megamenu-parent > li:hover > a::after,
.sp-megamenu-parent > li.active > a::after,
.sp-megamenu-parent > li.current-item > a::after {
  transform: scaleX(1);
}

.campack-storefront,
.campack-detail-page {
  position: relative;
  isolation: isolate;
}

.campack-storefront::before,
.campack-detail-page::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 420px;
  border-radius: 40px;
  background: linear-gradient(135deg, rgba(13,59,46,.08), rgba(255,90,54,.08));
  filter: blur(0);
  z-index: -1;
}

.campack-home-shell,
.campack-category-hero,
.campack-detail-hero,
.campack-product-section,
.campack-detail-content {
  position: relative;
  overflow: hidden;
}

.campack-hero,
.campack-category-hero,
.campack-detail-hero {
  border: 1px solid rgba(255,255,255,.38);
}

.campack-hero::before,
.campack-category-hero::before,
.campack-detail-hero::before {
  content: "";
  position: absolute;
  inset: auto -15% -30% auto;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.28) 0%, rgba(255,255,255,0) 68%);
}

.campack-home {
  display: grid;
  gap: 24px;
}

.campack-hero {
  position: relative;
  padding: 48px;
  overflow: hidden;
}

.campack-hero::after {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 28px;
  pointer-events: none;
}

.campack-hero__copy {
  position: relative;
  z-index: 1;
}

.campack-hero__copy h1,
.campack-category-hero h1,
.campack-detail-copy h1 {
  text-wrap: balance;
}

.campack-hero__card,
.campack-proof article,
.campack-features article,
.campack-panel,
.campack-compare__col,
.campack-card,
.campack-detail-points > div,
.campack-detail-richtext,
.campack-detail-media__frame {
  backdrop-filter: blur(12px);
}

.campack-hero__card {
  position: relative;
  overflow: hidden;
}

.campack-hero__card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url('/templates/shaper_helixultimate/images/campack/campack-logo.svg') no-repeat right 18px top 18px / 140px auto;
  opacity: .12;
}

.campack-proof,
.campack-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.campack-proof article,
.campack-compare__col,
.campack-cta,
.campack-product-section,
.campack-detail-content {
  padding: 28px;
  border-radius: 28px;
  background: rgba(255,253,248,.76);
  border: 1px solid rgba(20,58,42,.08);
  box-shadow: 0 22px 55px rgba(16,40,33,.08);
}

.campack-grid {
  margin-top: 0;
  grid-template-columns: repeat( auto-fit, minmax(260px, 1fr) );
}

.campack-card {
  position: relative;
  overflow: hidden;
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(20,58,42,.08);
  box-shadow: 0 22px 50px rgba(18,41,34,.08);
  transform-style: preserve-3d;
}

.campack-card:hover {
  transform: translateY(-8px) rotateX(1deg) rotateY(-1deg);
  box-shadow: 0 28px 70px rgba(18,41,34,.14);
}

.campack-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  display: block;
  overflow: hidden;
  background: linear-gradient(160deg, #102e28, #173b2a 52%, #ff6a3a 160%);
}

.campack-card__media img,
.campack-detail-media__frame img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.campack-card__media img {
  transition: transform .7s ease;
}

.campack-card:hover .campack-card__media img {
  transform: scale(1.05);
}

.campack-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(10,16,16,.15) 100%);
}

.campack-card__glow {
  position: absolute;
  inset: auto auto -70px -40px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,106,58,.52) 0%, rgba(255,106,58,0) 72%);
  filter: blur(10px);
}

.campack-card__body {
  display: grid;
  gap: 14px;
}

.campack-card__meta span:last-child,
.campack-chip,
.campack-badge,
.campack-eyebrow {
  letter-spacing: .14em;
}

.campack-card__button,
.campack-card__ghost,
.campack-btn {
  box-shadow: 0 12px 30px rgba(14,42,34,.08);
}

.campack-card__ghost,
.campack-btn--ghost-dark {
  border: 1px solid rgba(20,58,42,.12);
  background: rgba(255,255,255,.84);
}

.campack-category-hero,
.campack-detail-hero {
  padding: 34px;
  border-radius: 34px;
  background: linear-gradient(135deg, #143a2a 0%, #214f40 44%, #eff5f1 180%);
  color: #f8f5eb;
  box-shadow: 0 30px 75px rgba(14,42,34,.18);
}

.campack-category-hero__inner,
.campack-detail-grid {
  position: relative;
  z-index: 1;
}

.campack-detail-grid {
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, .98fr);
  gap: 24px;
}

.campack-detail-media__frame {
  aspect-ratio: 1 / 1;
  padding: 12px;
  border-radius: 32px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
}

.campack-detail-copy {
  align-self: center;
}

.campack-detail-lead {
  max-width: 58ch;
  font-size: 18px;
  color: rgba(255,248,235,.82);
}

.campack-detail-badges span,
.campack-category-hero .campack-chip {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.12);
  color: #f9edd8;
}

.campack-detail-points > div {
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(20,58,42,.08);
}

.campack-detail-richtext {
  background: rgba(255,255,255,.86);
}

.campack-specs tr:nth-child(odd) td {
  background: rgba(14,48,39,.03);
}

.campack-note {
  display: inline-block;
  padding: 14px 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,90,54,.12), rgba(15,185,177,.12));
}

@keyframes campackPulse {
  0%, 100% { transform: scale(1); opacity: .7; }
  50% { transform: scale(1.08); opacity: 1; }
}

.campack-orb--one,
.campack-orb--two {
  animation: campackFloat 11s ease-in-out infinite, campackPulse 7s ease-in-out infinite;
}

@media (max-width: 991px) {
  #sp-header {
    width: calc(100% - 16px);
    margin-top: 8px;
    border-radius: 22px;
  }

  .logo .logo-image {
    width: 180px;
  }

  .campack-proof,
  .campack-compare,
  .campack-homecats,
  .campack-features,
  .campack-detail-grid {
    grid-template-columns: 1fr;
  }

  .campack-hero,
  .campack-category-hero,
  .campack-detail-hero,
  .campack-proof article,
  .campack-compare__col,
  .campack-cta,
  .campack-product-section,
  .campack-detail-content {
    padding: 24px;
  }
}

/* Cart and checkout styling */
.cart-view,
#checkoutForm,
.billto-shipto,
.customer-comment,
#com-form-login,
.login,
#form-login {
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(20,58,42,.08);
  border-radius: 28px;
  box-shadow: 0 22px 55px rgba(16,40,33,.08);
}

.cart-view {
  padding: 28px;
}

.cart-view h1,
.cart-view h2,
.cart-view h3,
.login h1,
.login h2 {
  color: #143a2a;
}

.cart-view table {
  overflow: hidden;
  border-radius: 20px;
}

.cart-view .continue_link,
.cart-view .vm-button-correct,
.cart-view .checkout-button-top,
.cart-view .buttonBar-right .vm-button-correct,
.cart-view .buttonBar-right input,
#checkoutForm .btn,
input.button,
button.button,
button[type='submit'] {
  border: 0;
  border-radius: 999px;
  min-height: 50px;
  padding: 0 22px;
  background: linear-gradient(135deg, #ffb45a, #ff6b3d);
  color: #142418 !important;
  font-weight: 800;
  box-shadow: 0 14px 34px rgba(255,107,61,.22);
}

.cart-view input[type='text'],
.cart-view input[type='email'],
.cart-view input[type='password'],
.cart-view select,
.cart-view textarea,
#com-form-login input,
.login input,
.login select {
  min-height: 52px;
  border-radius: 16px;
  border: 1px solid rgba(20,58,42,.12);
  background: rgba(246,250,247,.96);
}

/* Home page redesign */
.campack-home--next {
  display: grid;
  gap: 26px;
}

.campack-stage {
  position: relative;
  padding: 34px;
  border-radius: 40px;
  overflow: hidden;
  background:
    linear-gradient(135deg, #081511 0%, #123329 34%, #1d5b48 62%, #f2f4ee 160%);
  color: #f7f4ea;
  box-shadow: 0 35px 90px rgba(8, 24, 20, .22);
}

.campack-stage__bg {
  position: absolute;
  border-radius: 50%;
  filter: blur(8px);
  pointer-events: none;
}

.campack-stage__bg--one {
  width: 540px;
  height: 540px;
  top: -180px;
  right: -80px;
  background: radial-gradient(circle, rgba(255,100,57,.26), rgba(255,100,57,0) 70%);
  animation: campackFloat 13s ease-in-out infinite;
}

.campack-stage__bg--two {
  width: 420px;
  height: 420px;
  left: -100px;
  bottom: -150px;
  background: radial-gradient(circle, rgba(15,185,177,.24), rgba(15,185,177,0) 70%);
  animation: campackFloat 15s ease-in-out infinite reverse;
}

.campack-stage__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
  gap: 26px;
  align-items: center;
}

.campack-stage__topline {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

.campack-stage__topline span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: #eaf2dd;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.campack-stage__eyebrow {
  margin: 0 0 12px;
  color: #ffb273;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.campack-stage h1 {
  margin: 0;
  max-width: 12ch;
  font-size: clamp(44px, 6vw, 82px);
  line-height: .92;
  font-weight: 900;
  text-wrap: balance;
}

.campack-stage__lead {
  max-width: 64ch;
  margin: 20px 0 0;
  color: rgba(247,244,234,.78);
  font-size: 18px;
  line-height: 1.75;
}

.campack-stage__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 24px;
}

.campack-stage__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 26px;
}

.campack-stage__metrics article {
  padding: 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.1);
}

.campack-stage__metrics strong {
  display: block;
  color: #fff4d9;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1;
}

.campack-stage__metrics span {
  display: block;
  margin-top: 10px;
  color: rgba(247,244,234,.74);
  line-height: 1.45;
}

.campack-stage__visual {
  position: relative;
  min-height: 560px;
}

.campack-stage__logo-panel,
.campack-float-card,
.campack-mini-proof {
  position: absolute;
  border-radius: 28px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 22px 55px rgba(8,24,20,.2);
  backdrop-filter: blur(16px);
}

.campack-stage__logo-panel {
  inset: 46px 34px 80px 72px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transform: perspective(1400px) rotateY(-10deg) rotateX(4deg);
}

.campack-stage__logo-panel::before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.08);
}

.campack-stage__logo-panel img {
  width: min(86%, 340px);
  filter: drop-shadow(0 16px 30px rgba(255, 58, 45, .2));
}

.campack-stage__logo-panel p {
  position: relative;
  z-index: 1;
  max-width: 28ch;
  margin: 0;
  color: rgba(247,244,234,.78);
  font-size: 17px;
  line-height: 1.65;
}

.campack-float-card {
  overflow: hidden;
  animation: campackFloat 10s ease-in-out infinite;
}

.campack-float-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.campack-float-card--a {
  top: 8px;
  right: 0;
  width: 210px;
  height: 248px;
  animation-delay: -2s;
}

.campack-float-card--b {
  left: 0;
  bottom: 0;
  width: 220px;
  height: 250px;
  animation-delay: -5s;
}

.campack-float-card--a div,
.campack-float-card--b div {
  position: absolute;
  inset: auto 0 0;
  padding: 16px 18px;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(8,18,16,.84));
}

.campack-float-card--a span,
.campack-float-card--b span {
  display: block;
  color: rgba(242,247,236,.72);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.campack-float-card--a strong,
.campack-float-card--b strong {
  display: block;
  margin-top: 6px;
  color: #fff4d8;
  font-size: 24px;
  line-height: 1.1;
}

.campack-float-card--c {
  right: 20px;
  bottom: 26px;
  width: 220px;
  min-height: 188px;
  padding: 18px;
  animation-delay: -7s;
}

.campack-mini-proof span {
  display: block;
  color: #fff4d8;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.campack-mini-proof ul {
  margin: 14px 0 0;
  padding-left: 18px;
  color: rgba(247,244,234,.8);
}

.campack-mini-proof li + li {
  margin-top: 10px;
}

.campack-marquee {
  overflow: hidden;
  padding: 8px 0;
}

.campack-marquee__track {
  display: flex;
  gap: 14px;
  width: max-content;
  animation: campackTicker 24s linear infinite;
}

.campack-marquee__track span {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(20,58,42,.08);
  color: #143a2a;
  font-weight: 800;
  white-space: nowrap;
}

.campack-signal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.campack-signal-grid article,
.campack-scenario,
.campack-showcase,
.campack-home-cta {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  background: rgba(255,253,248,.82);
  border: 1px solid rgba(20,58,42,.08);
  box-shadow: 0 24px 60px rgba(16,40,33,.08);
}

.campack-signal-grid article {
  padding: 26px;
}

.campack-signal-grid article span:first-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background: linear-gradient(135deg, #173b2a, #ff6b3d);
  color: #fff7e7;
  font-weight: 900;
}

.campack-signal-grid h3 {
  margin: 18px 0 10px;
  color: #123429;
  font-size: 28px;
  line-height: 1.08;
}

.campack-signal-grid p {
  margin: 0;
  color: #4f5c55;
  line-height: 1.7;
}

.campack-section-head--light p,
.campack-section-head--light h2 {
  color: #173b2a;
}

.campack-scenarios {
  display: grid;
  gap: 18px;
}

.campack-scenarios__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.campack-scenario {
  min-height: 340px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: #fff7ec;
}

.campack-scenario::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.54));
}

.campack-scenario > * {
  position: relative;
  z-index: 1;
}

.campack-scenario span {
  color: #ffd88b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.campack-scenario h3 {
  margin: 10px 0 12px;
  font-size: 32px;
  line-height: 1.02;
}

.campack-scenario p {
  margin: 0;
  color: rgba(255,247,236,.84);
  line-height: 1.7;
}

.campack-scenario--camp {
  background: linear-gradient(135deg, #0e2d26, #1a5645 55%, #244d34);
}

.campack-scenario--fish {
  background: linear-gradient(135deg, #12364a, #24657a 55%, #173b2a);
}

.campack-scenario--trip {
  background: linear-gradient(135deg, #433827, #7a5b31 55%, #1b4136);
}

.campack-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: 22px;
  padding: 30px;
}

.campack-showcase__list {
  display: grid;
  gap: 14px;
  margin-top: 20px;
}

.campack-showcase__list div {
  padding: 18px 20px;
  border-radius: 20px;
  background: rgba(19,59,42,.04);
  border: 1px solid rgba(20,58,42,.07);
}

.campack-showcase__list strong {
  display: block;
  color: #123429;
  font-size: 18px;
}

.campack-showcase__list span {
  display: block;
  margin-top: 8px;
  color: #4f5c55;
  line-height: 1.65;
}

.campack-showcase__panel {
  position: relative;
  min-height: 380px;
  border-radius: 30px;
  overflow: hidden;
  background: linear-gradient(135deg, #091712, #143a2a 48%, #ff6a3a 180%);
}

.campack-showcase__ring {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 360px;
  height: 360px;
  margin: -180px 0 0 -180px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.16);
}

.campack-showcase__ring::before,
.campack-showcase__ring::after {
  content: "";
  position: absolute;
  inset: 22px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.08);
}

.campack-showcase__ring::after {
  inset: 58px;
}

.campack-showcase__core {
  position: absolute;
  inset: 50% auto auto 50%;
  width: min(78%, 290px);
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff7ec;
}

.campack-showcase__core span {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.14);
  color: #ffd88b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.campack-showcase__core strong {
  display: block;
  margin-top: 16px;
  font-size: 34px;
  line-height: 1.04;
}

.campack-showcase__core p {
  margin: 14px 0 0;
  color: rgba(255,247,236,.8);
  line-height: 1.65;
}

.campack-homecats--next {
  margin-top: 0;
}

.campack-panel--next {
  position: relative;
  min-height: 260px;
  display: grid;
  gap: 10px;
  align-content: end;
  overflow: hidden;
}

.campack-panel--next::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(15,59,46,.04), rgba(255,106,58,.12));
}

.campack-panel--next > * {
  position: relative;
  z-index: 1;
}

.campack-panel--next em {
  color: #ff6a3a;
  font-style: normal;
  font-weight: 800;
}

.campack-home-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  padding: 30px;
  background: linear-gradient(135deg, rgba(19,59,42,.95), rgba(29,91,72,.95));
  color: #fff7ec;
}

.campack-home-cta h2 {
  margin: 8px 0 14px;
  color: #fff7ec;
  font-size: clamp(32px, 4vw, 52px);
  line-height: .98;
}

.campack-home-cta p {
  margin: 0;
  max-width: 62ch;
  color: rgba(255,247,236,.78);
  line-height: 1.7;
}

.campack-home-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

@keyframes campackTicker {
  from { transform: translateX(0); }
  to { transform: translateX(-33%); }
}

@media (max-width: 1199px) {
  .campack-stage__grid,
  .campack-showcase,
  .campack-home-cta {
    grid-template-columns: 1fr;
  }

  .campack-stage__visual {
    min-height: 480px;
  }
}

@media (max-width: 991px) {
  .campack-stage,
  .campack-signal-grid article,
  .campack-scenario,
  .campack-showcase,
  .campack-home-cta {
    padding: 22px;
  }

  .campack-stage h1 {
    max-width: 100%;
    font-size: clamp(36px, 9vw, 56px);
  }

  .campack-stage__metrics,
  .campack-signal-grid,
  .campack-scenarios__grid {
    grid-template-columns: 1fr;
  }

  .campack-stage__visual {
    min-height: 420px;
  }

  .campack-stage__logo-panel {
    inset: 32px 16px 72px 16px;
    transform: none;
  }

  .campack-float-card--a {
    width: 160px;
    height: 190px;
  }

  .campack-float-card--b {
    width: 170px;
    height: 196px;
  }

  .campack-float-card--c {
    right: 12px;
    width: 180px;
  }
}

/* Focused home landing */
.campack-storefront--home .campack-home-shell {
  display: grid;
  gap: 18px;
}

.campack-home--focus {
  display: grid;
  gap: 18px;
}

.campack-storefront--home .campack-home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 18px;
  padding: 28px;
  border-radius: 32px;
  background: linear-gradient(135deg, #0f281f 0%, #173b2a 48%, #f4f7f1 180%);
  box-shadow: 0 28px 70px rgba(14, 42, 34, .14);
  color: #f8f5eb;
}

.campack-storefront--home .campack-home-hero__kicker {
  margin: 0 0 12px;
  color: #ffcf90;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.campack-storefront--home .campack-home-hero h1 {
  margin: 0;
  max-width: 12ch;
  color: #fff9ef;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .95;
  font-weight: 900;
  text-wrap: balance;
}

.campack-storefront--home .campack-home-hero__lead {
  margin: 16px 0 0;
  max-width: 60ch;
  color: rgba(255,249,239,.82);
  font-size: 18px;
  line-height: 1.7;
}

.campack-storefront--home .campack-home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.campack-storefront--home .campack-home-hero__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.campack-storefront--home .campack-home-hero__facts li {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: #eef6de;
  font-size: 14px;
  font-weight: 700;
}

.campack-storefront--home .campack-home-hero__offers {
  display: grid;
  gap: 12px;
}

.campack-storefront--home .campack-offer-card {
  padding: 20px;
  border-radius: 24px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(12px);
}

.campack-storefront--home .campack-offer-card span {
  display: block;
  color: #ffd79d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.campack-storefront--home .campack-offer-card strong {
  display: block;
  margin-top: 8px;
  color: #fff7eb;
  font-size: 28px;
  line-height: 1.05;
}

.campack-storefront--home .campack-offer-card p {
  margin: 10px 0 0;
  color: rgba(255,249,239,.78);
  line-height: 1.6;
}

.campack-storefront--home .campack-offer-card a {
  display: inline-flex;
  margin-top: 14px;
  color: #fff7eb;
  font-weight: 800;
  text-decoration: none;
}

.campack-storefront--home .campack-home-points,
.campack-storefront--home .campack-home-cats-simple {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.campack-storefront--home .campack-home-cats-simple {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.campack-storefront--home .campack-home-points article,
.campack-storefront--home .campack-home-cat,
.campack-storefront--home .campack-home-seo,
.campack-storefront--home .campack-home-cta-plain,
.campack-storefront--home .campack-product-section--home {
  padding: 24px;
  border-radius: 28px;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(20,58,42,.08);
  box-shadow: 0 20px 52px rgba(16,40,33,.07);
}

.campack-storefront--home .campack-home-points h2,
.campack-storefront--home .campack-home-cat strong,
.campack-storefront--home .campack-home-seo h2,
.campack-storefront--home .campack-home-cta-plain h2 {
  margin: 0;
  color: #123429;
  font-size: 28px;
  line-height: 1.08;
}

.campack-storefront--home .campack-home-points p,
.campack-storefront--home .campack-home-cat p,
.campack-storefront--home .campack-home-seo__text p,
.campack-storefront--home .campack-home-cta-plain p {
  margin: 12px 0 0;
  color: #4d5a53;
  line-height: 1.7;
}

.campack-storefront--home .campack-home-cat {
  text-decoration: none !important;
  color: inherit;
  display: block;
}

.campack-storefront--home .campack-home-cat span,
.campack-storefront--home .campack-home-cat em {
  display: block;
}

.campack-storefront--home .campack-home-cat span {
  margin-bottom: 8px;
  color: #b05f30;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.campack-storefront--home .campack-home-cat em {
  margin-top: 14px;
  color: #ff6a3a;
  font-style: normal;
  font-weight: 800;
}

.campack-storefront--home .campack-home-seo {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
  gap: 18px;
}

.campack-storefront--home .campack-home-cta-plain {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
}

.campack-storefront--home .campack-home-cta-plain__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.campack-storefront--home .campack-product-section--home .campack-section-head {
  align-items: end;
}

.campack-storefront--home .campack-product-section--home .campack-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.campack-storefront--home .campack-product-section--home .campack-card {
  border-radius: 20px;
  box-shadow: 0 14px 30px rgba(16,40,33,.06);
}

.campack-storefront--home .campack-product-section--home .campack-card__media {
  aspect-ratio: 1.15 / 1;
}

.campack-storefront--home .campack-product-section--home .campack-card__body {
  gap: 10px;
  padding: 16px;
}

.campack-storefront--home .campack-product-section--home .campack-card h3 {
  font-size: 18px;
  line-height: 1.15;
}

.campack-storefront--home .campack-product-section--home .campack-card p {
  font-size: 14px;
  line-height: 1.55;
}

.campack-storefront--home .campack-product-section--home .campack-card__footer {
  gap: 8px;
}

.campack-storefront--home .campack-product-section--home .campack-card__button,
.campack-storefront--home .campack-product-section--home .campack-card__ghost {
  min-height: 42px;
  padding: 0 14px;
  font-size: 13px;
}

@media (max-width: 1199px) {
  .campack-storefront--home .campack-home-hero,
  .campack-storefront--home .campack-home-seo,
  .campack-storefront--home .campack-home-cta-plain {
    grid-template-columns: 1fr;
  }

  .campack-storefront--home .campack-product-section--home .campack-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .campack-storefront--home .campack-home-points,
  .campack-storefront--home .campack-home-cats-simple,
  .campack-storefront--home .campack-product-section--home .campack-grid {
    grid-template-columns: 1fr;
  }

  .campack-storefront--home .campack-home-hero,
  .campack-storefront--home .campack-home-points article,
  .campack-storefront--home .campack-home-cat,
  .campack-storefront--home .campack-home-seo,
  .campack-storefront--home .campack-home-cta-plain,
  .campack-storefront--home .campack-product-section--home {
    padding: 20px;
  }

  .campack-storefront--home .campack-home-hero h1 {
    max-width: 100%;
    font-size: clamp(34px, 9vw, 48px);
  }
}

/* Prime compact home */
.campack-prime-home {
  display: grid;
  gap: 16px;
}

.campack-prime-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 16px;
  padding: 26px;
  border-radius: 28px;
  background: linear-gradient(135deg, #102920 0%, #183f31 54%, #f4f7f1 180%);
  box-shadow: 0 24px 60px rgba(16, 40, 33, .12);
  color: #f8f5eb;
}

.campack-prime-hero__label {
  margin: 0 0 12px;
  color: #ffcf90;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.campack-prime-hero h1 {
  margin: 0;
  max-width: 12ch;
  color: #fff8ec;
  font-size: clamp(38px, 5vw, 62px);
  line-height: .95;
  font-weight: 900;
  text-wrap: balance;
}

.campack-prime-hero__copy p:not(.campack-prime-hero__label) {
  margin: 16px 0 0;
  max-width: 62ch;
  color: rgba(255,248,236,.8);
  font-size: 18px;
  line-height: 1.7;
}

.campack-prime-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.campack-prime-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.campack-prime-hero__chips span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: #eef4df;
  font-size: 14px;
  font-weight: 700;
}

.campack-prime-hero__offers {
  display: grid;
  gap: 10px;
}

.campack-prime-hero__offers article {
  padding: 18px 20px;
  border-radius: 20px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}

.campack-prime-hero__offers strong {
  display: block;
  color: #fff8ec;
  font-size: 24px;
  line-height: 1.05;
}

.campack-prime-hero__offers span {
  display: block;
  margin-top: 8px;
  color: rgba(255,248,236,.78);
  line-height: 1.6;
}

.campack-prime-hero__offers a {
  display: inline-flex;
  margin-top: 14px;
  color: #ffd79d;
  font-weight: 800;
  text-decoration: none;
}

.campack-prime-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.campack-prime-strip article,
.campack-prime-cat,
.campack-prime-copy,
.campack-storefront--home .campack-product-section--home {
  padding: 20px;
  border-radius: 24px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(20,58,42,.08);
  box-shadow: 0 18px 42px rgba(16,40,33,.06);
}

.campack-prime-strip strong,
.campack-prime-cat strong,
.campack-prime-copy h2 {
  display: block;
  margin: 0;
  color: #123429;
  font-size: 24px;
  line-height: 1.08;
}

.campack-prime-strip p,
.campack-prime-cat p,
.campack-prime-copy p {
  margin: 10px 0 0;
  color: #4c5a53;
  line-height: 1.65;
}

.campack-prime-cats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.campack-prime-cat {
  display: block;
  text-decoration: none !important;
  color: inherit;
}

.campack-prime-cat span {
  display: block;
  margin-bottom: 8px;
  color: #b05f30;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.campack-prime-cat em {
  display: block;
  margin-top: 14px;
  color: #ff6a3a;
  font-style: normal;
  font-weight: 800;
}

.campack-prime-copy {
  padding: 22px 24px;
}

.campack-storefront--home .campack-product-section--home .campack-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.campack-storefront--home .campack-product-section--home .campack-card {
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(16,40,33,.05);
}

.campack-storefront--home .campack-product-section--home .campack-card__media {
  aspect-ratio: 1.1 / 1;
}

.campack-storefront--home .campack-product-section--home .campack-card__body {
  gap: 8px;
  padding: 14px;
}

.campack-storefront--home .campack-product-section--home .campack-card h3 {
  font-size: 16px;
  line-height: 1.12;
}

.campack-storefront--home .campack-product-section--home .campack-card p {
  font-size: 13px;
  line-height: 1.5;
}

.campack-storefront--home .campack-product-section--home .campack-card__button,
.campack-storefront--home .campack-product-section--home .campack-card__ghost {
  min-height: 40px;
  padding: 0 12px;
  font-size: 12px;
}

@media (max-width: 1199px) {
  .campack-prime-hero,
  .campack-prime-cats,
  .campack-prime-strip,
  .campack-storefront--home .campack-product-section--home .campack-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .campack-prime-hero {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991px) {
  .campack-prime-strip,
  .campack-prime-cats,
  .campack-storefront--home .campack-product-section--home .campack-grid {
    grid-template-columns: 1fr;
  }

  .campack-prime-hero,
  .campack-prime-strip article,
  .campack-prime-cat,
  .campack-prime-copy,
  .campack-storefront--home .campack-product-section--home {
    padding: 18px;
  }

  .campack-prime-hero h1 {
    max-width: 100%;
    font-size: clamp(34px, 9vw, 46px);
  }
}

.campack-home-final {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 22px 24px;
  border-radius: 24px;
  background: linear-gradient(135deg, #143a2a, #1f5744);
  box-shadow: 0 18px 42px rgba(16,40,33,.12);
  color: #fff8ec;
}

.campack-home-final h2 {
  margin: 6px 0 0;
  color: #fff8ec;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
}

.campack-home-final p {
  margin: 12px 0 0;
  max-width: 68ch;
  color: rgba(255,248,236,.78);
  line-height: 1.7;
}

.campack-home-final__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

@media (max-width: 1199px) {
  .campack-home-final {
    grid-template-columns: 1fr;
  }
}

.campack-storefront--home .campack-product-section--home .campack-card p,
.campack-storefront--home .campack-product-section--home .campack-card__ghost {
  display: none;
}

.campack-storefront--home .campack-product-section--home .campack-card__footer {
  display: block;
}

.campack-storefront--home .campack-product-section--home .campack-card__button {
  width: 100%;
  justify-content: center;
}

/* Human-looking sales funnel home */
.campack-funnel-home {
  display: grid;
  gap: 18px;
}

.campack-funnel-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  gap: 16px;
  padding: 30px;
  border-radius: 32px;
  background:
    radial-gradient(circle at top right, rgba(255,111,66,.18), transparent 26%),
    linear-gradient(135deg, #0f281f 0%, #163a2d 54%, #f2f6ee 180%);
  box-shadow: 0 28px 72px rgba(16,40,33,.14);
  color: #f8f5eb;
}

.campack-funnel-hero__label {
  margin: 0 0 12px;
  color: #ffcf90;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.campack-funnel-hero h1 {
  margin: 0;
  max-width: 12ch;
  color: #fff8ec;
  font-size: clamp(40px, 5vw, 68px);
  line-height: .93;
  font-weight: 900;
  text-wrap: balance;
}

.campack-funnel-hero__lead {
  margin: 16px 0 0;
  max-width: 62ch;
  color: rgba(255,248,236,.8);
  font-size: 18px;
  line-height: 1.72;
}

.campack-funnel-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.campack-funnel-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.campack-funnel-hero__chips span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: #eff4df;
  font-size: 14px;
  font-weight: 700;
}

.campack-funnel-hero__selection {
  display: grid;
  gap: 12px;
}

.campack-funnel-hero__selection article {
  padding: 20px;
  border-radius: 22px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(14px);
}

.campack-funnel-hero__selection span {
  display: block;
  color: #ffd79d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.campack-funnel-hero__selection strong {
  display: block;
  margin-top: 8px;
  color: #fff8ec;
  font-size: 28px;
  line-height: 1.06;
}

.campack-funnel-hero__selection p {
  margin: 10px 0 0;
  color: rgba(255,248,236,.78);
  line-height: 1.62;
}

.campack-funnel-hero__selection a {
  display: inline-flex;
  margin-top: 14px;
  color: #fff0c7;
  font-weight: 800;
  text-decoration: none;
}

.campack-funnel-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.campack-funnel-strip article,
.campack-funnel-category,
.campack-funnel-reasons article,
.campack-funnel-steps,
.campack-funnel-faq,
.campack-storefront--home .campack-product-section--home,
.campack-home-final {
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(20,58,42,.08);
  box-shadow: 0 18px 46px rgba(16,40,33,.06);
}

.campack-funnel-strip article {
  padding: 18px 20px;
  border-radius: 22px;
}

.campack-funnel-strip strong {
  display: block;
  color: #123429;
  font-size: 22px;
  line-height: 1.08;
}

.campack-funnel-strip span {
  display: block;
  margin-top: 8px;
  color: #4d5a53;
  line-height: 1.55;
}

.campack-funnel-categories {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.campack-funnel-category {
  display: block;
  padding: 24px;
  border-radius: 28px;
  text-decoration: none !important;
  color: inherit;
  position: relative;
  overflow: hidden;
}

.campack-funnel-category::before {
  content: "";
  position: absolute;
  inset: auto -80px -80px auto;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,111,66,.14), rgba(255,111,66,0) 72%);
}

.campack-funnel-category__top span {
  display: block;
  margin-bottom: 8px;
  color: #b05f30;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.campack-funnel-category__top strong,
.campack-funnel-reasons h2,
.campack-funnel-steps__grid strong,
.campack-funnel-faq summary,
.campack-home-final h2 {
  color: #123429;
}

.campack-funnel-category__top strong {
  display: block;
  font-size: 30px;
  line-height: 1.02;
}

.campack-funnel-category ul {
  margin: 18px 0 0;
  padding-left: 20px;
  color: #4d5a53;
  line-height: 1.7;
}

.campack-funnel-category li + li {
  margin-top: 8px;
}

.campack-funnel-category em {
  display: inline-flex;
  margin-top: 16px;
  color: #ff6a3a;
  font-style: normal;
  font-weight: 800;
}

.campack-funnel-reasons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.campack-funnel-reasons article {
  padding: 24px;
  border-radius: 26px;
}

.campack-funnel-reasons span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 14px;
  background: linear-gradient(135deg, #173b2a, #ff6a3a);
  color: #fff8ec;
  font-weight: 900;
}

.campack-funnel-reasons h2 {
  margin: 18px 0 10px;
  font-size: 28px;
  line-height: 1.08;
}

.campack-funnel-reasons p,
.campack-funnel-steps .campack-section-head p,
.campack-funnel-steps__grid p,
.campack-funnel-faq p {
  margin: 0;
  color: #4d5a53;
  line-height: 1.7;
}

.campack-funnel-steps,
.campack-funnel-faq {
  padding: 24px;
  border-radius: 28px;
}

.campack-section-head--compact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr);
  gap: 16px;
  align-items: end;
}

.campack-funnel-steps__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.campack-funnel-steps__grid article {
  padding: 18px;
  border-radius: 20px;
  background: rgba(19,59,42,.04);
  border: 1px solid rgba(20,58,42,.06);
}

.campack-funnel-steps__grid span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #143a2a;
  color: #fff8ec;
  font-weight: 800;
}

.campack-funnel-steps__grid strong {
  display: block;
  margin: 14px 0 8px;
  font-size: 20px;
  line-height: 1.15;
}

.campack-funnel-faq__list {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.campack-funnel-faq details {
  padding: 18px 20px;
  border-radius: 18px;
  background: rgba(19,59,42,.04);
  border: 1px solid rgba(20,58,42,.06);
}

.campack-funnel-faq summary {
  cursor: pointer;
  list-style: none;
  font-size: 18px;
  font-weight: 800;
}

.campack-funnel-faq summary::-webkit-details-marker {
  display: none;
}

.campack-funnel-faq details p {
  margin-top: 12px;
}

.campack-storefront--home .campack-product-section--home .campack-card__meta,
.campack-storefront--home .campack-product-section--home .campack-card p,
.campack-storefront--home .campack-product-section--home .campack-card__ghost {
  display: none;
}

.campack-storefront--home .campack-product-section--home .campack-card__footer {
  display: block;
}

.campack-storefront--home .campack-product-section--home .campack-card__button {
  width: 100%;
  justify-content: center;
}

@media (max-width: 1199px) {
  .campack-funnel-hero,
  .campack-funnel-categories,
  .campack-funnel-reasons,
  .campack-funnel-steps__grid,
  .campack-storefront--home .campack-product-section--home .campack-grid,
  .campack-funnel-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .campack-funnel-hero,
  .campack-section-head--compact,
  .campack-home-final {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991px) {
  .campack-funnel-strip,
  .campack-funnel-categories,
  .campack-funnel-reasons,
  .campack-funnel-steps__grid,
  .campack-storefront--home .campack-product-section--home .campack-grid {
    grid-template-columns: 1fr;
  }

  .campack-funnel-hero,
  .campack-funnel-category,
  .campack-funnel-reasons article,
  .campack-funnel-steps,
  .campack-funnel-faq,
  .campack-storefront--home .campack-product-section--home,
  .campack-home-final {
    padding: 20px;
  }

  .campack-funnel-hero h1 {
    max-width: 100%;
    font-size: clamp(34px, 9vw, 52px);
  }
}


/* Campack 2026 commerce refresh */
#sp-top-bar,
.header-modules,
.sp-sign-in,
.mod-finder,
#sp-header .header-modules,
.offcanvas-inner .sp-sign-in,
.offcanvas-inner .mod-finder {
  display: none !important;
}

body {
  background-color: #f4f1ea;
  background-image:
    linear-gradient(180deg, rgba(244,241,234,.88) 0%, rgba(244,241,234,.90) 42%, rgba(244,241,234,.93) 100%),
    url('/images/campack/hero/background-main.jpg?v=20260309');
  background-position: center top, center top;
  background-repeat: no-repeat, no-repeat;
  background-size: cover, cover;
  background-attachment: fixed, fixed;
  color: #1e2a25;
}

#sp-main-body {
  padding-top: 28px;
  padding-bottom: 48px;
}

.campack-utility {
  background: #10271f;
  color: #ebf0e9;
  font-size: 13px;
}

.campack-utility__inner {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  min-height: 46px;
}

.campack-utility__contacts,
.campack-utility__actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: center;
}

.campack-utility a,
.campack-utility span {
  color: inherit;
  text-decoration: none;
}

.campack-utility__actions span {
  display: inline-flex;
  min-width: 24px;
  justify-content: center;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
}

#sp-header {
  background: rgba(244,241,234,.94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(16,39,31,.08);
}

.sp-megamenu-parent > li > a {
  font-weight: 700;
  letter-spacing: .01em;
}

@media (min-width: 992px) {
  #sp-header .sp-megamenu-wrapper {
    width: 100%;
  }

  #sp-header .sp-megamenu-parent {
    display: flex !important;
    align-items: center;
    width: 100%;
  }

  #sp-header .sp-megamenu-parent > li.campack-menu-item-about {
    margin-right: auto;
  }
}

#sp-header .sp-megamenu-parent > li > a.campack-menu-cart-link,
.offcanvas-menu a.campack-menu-cart-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.campack-menu-cart-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: #143a2a;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

.campack-eyebrow {
  margin: 0 0 10px;
  color: #b34b1d;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.campack-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  border: 0;
  border-radius: 18px;
  padding: 0 18px;
  font-weight: 700;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
  cursor: pointer;
}

.campack-btn:hover,
.campack-card__ghost:hover,
.campack-card__button:hover,
.campack-link-button:hover {
  transform: translateY(-1px);
}

.campack-btn--primary {
  background: #143a2a;
  color: #fff !important;
  box-shadow: 0 16px 30px rgba(20,58,42,.18);
}

.campack-btn--ghost-dark {
  background: #fff;
  color: #143a2a !important;
  border: 1px solid rgba(20,58,42,.14);
}

.campack-home-landing,
.campack-category-hero,
.campack-product-section,
.campack-cart-page,
.item-page {
  max-width: 1240px;
  margin: 0 auto;
}

.campack-home-landing__hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, .7fr);
  gap: 24px;
  align-items: end;
  min-height: 460px;
  padding: 36px;
  border-radius: 28px;
  background:
    linear-gradient(90deg, rgba(14, 26, 19, .78) 0%, rgba(14, 26, 19, .62) 38%, rgba(14, 26, 19, .34) 64%, rgba(14, 26, 19, .18) 100%),
    linear-gradient(180deg, rgba(14, 26, 19, .10) 0%, rgba(14, 26, 19, .36) 100%),
    url('/images/campack/hero/hero-main.jpg') center center / cover no-repeat,
    url('/templates/shaper_helixultimate/images/campack/hero-camp-scene.svg') center center / cover no-repeat;
  color: #f7f4ed;
  box-shadow: 0 24px 60px rgba(20,58,42,.14);
}

.campack-home-landing__hero--simple {
  grid-template-columns: minmax(0, 1fr);
}

.campack-home-landing__hero--simple .campack-home-landing__copy {
  max-width: 760px;
}

.campack-home-landing__hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 28%);
  pointer-events: none;
}

.campack-home-landing__copy,
.campack-home-landing__stats {
  position: relative;
  z-index: 1;
}

.campack-home-landing__copy h1 {
  margin: 0 0 16px;
  font-size: clamp(34px, 5vw, 58px);
  line-height: .98;
  color: #fff;
}

.campack-home-landing__copy p {
  max-width: 720px;
  margin: 0;
  font-size: 18px;
  line-height: 1.6;
  color: rgba(247,244,237,.88);
}

.campack-home-landing__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 24px;
}

.campack-home-landing__stats {
  display: grid;
  gap: 14px;
}

.campack-home-landing__stats article,
.campack-home-landing__grid article,
.campack-category-hero,
.campack-filters,
.campack-card,
.campack-detail-hero,
.campack-detail-panel,
.campack-cart-list,
.campack-cart-summary,
.campack-checkout-form,
.campack-order-summary,
.campack-success-card,
.campack-cart-empty,
.item-page {
  background: #fff;
  border: 1px solid rgba(20,58,42,.08);
  border-radius: 24px;
  box-shadow: 0 16px 40px rgba(20,58,42,.06);
}

.campack-home-landing__stats article {
  padding: 22px;
  background: rgba(255,255,255,.90);
  backdrop-filter: blur(10px);
}

.campack-home-landing__stats strong {
  display: block;
  font-size: 32px;
  line-height: 1;
  color: #143a2a;
}

.campack-home-landing__stats span {
  display: block;
  margin-top: 8px;
  color: #5f6b62;
}

.campack-home-landing__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 20px;
}

.campack-home-landing__grid article {
  padding: 26px;
}

.campack-home-landing__grid h2,
.campack-category-hero h1,
.campack-section-head h2,
.campack-detail-copy h1,
.campack-cart-page h1,
.item-page .page-header h1 {
  margin: 0 0 10px;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.05;
  color: #143a2a;
}

.campack-home-landing__grid p,
.campack-category-hero p,
.campack-section-head p,
.campack-detail-lead,
.campack-cart-page p,
.item-page p {
  color: #556259;
  line-height: 1.65;
}

.campack-home-landing__grid a,
.campack-detail-panel a,
.campack-footer a,
.campack-breadcrumbs a {
  color: #143a2a;
  font-weight: 700;
  text-decoration: none;
}

.campack-product-section {
  margin-top: 22px;
  padding: 28px;
}

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

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

.campack-storefront--home .campack-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.campack-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.campack-card__media {
  display: block;
  aspect-ratio: 1 / 1;
  background: linear-gradient(180deg, #f8f5ef 0%, #edf2ee 100%);
}

.campack-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.campack-card__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px;
}

.campack-card__topline {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.campack-card__sku {
  color: #69766d;
  font-size: 12px;
  font-weight: 700;
}

.campack-stock {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.campack-stock.is-in-stock {
  background: #e6f5eb;
  color: #167a39;
}

.campack-stock.is-low {
  background: #fff4d9;
  color: #9b6600;
}

.campack-stock.is-out-of-stock {
  background: #fbe6e6;
  color: #aa2f2f;
}

.campack-card h3 {
  margin: 0;
  font-size: 22px;
  line-height: 1.18;
}

.campack-card h3 a {
  color: #143a2a;
  text-decoration: none;
}

.campack-card__lead {
  margin: 0;
  color: #556259;
}

.campack-card__price {
  font-size: 28px;
  font-weight: 800;
  color: #143a2a;
}

.campack-card__features,
.campack-detail-features {
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.campack-card__features li,
.campack-detail-features li {
  position: relative;
  padding-left: 16px;
  color: #465248;
}

.campack-card__features li::before,
.campack-detail-features li::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #b34b1d;
}

.campack-card__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
}

.campack-card__button,
.campack-card__ghost,
.campack-link-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  border-radius: 16px;
  padding: 0 16px;
  font-weight: 700;
  text-decoration: none !important;
  border: 1px solid rgba(20,58,42,.12);
  background: #fff;
  color: #143a2a;
}

.campack-card__button {
  background: #143a2a;
  color: #fff;
  border-color: #143a2a;
}

.campack-card__form {
  margin: 0;
}

.campack-inline-form {
  width: 100%;
}

.campack-inline-form summary {
  list-style: none;
}

.campack-inline-form summary::-webkit-details-marker {
  display: none;
}

.campack-inline-form form {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.campack-inline-form label span,
.campack-checkout-form label span,
.campack-filters label span {
  display: block;
  margin-bottom: 6px;
  color: #69766d;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.campack-inline-form input,
.campack-checkout-form input,
.campack-checkout-form select,
.campack-checkout-form textarea,
.campack-filters input,
.campack-filters select {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(20,58,42,.12);
  border-radius: 14px;
  padding: 0 14px;
  background: #fff;
  color: #143a2a;
}

.campack-checkout-form textarea {
  min-height: 120px;
  padding-top: 12px;
  padding-bottom: 12px;
}

.campack-breadcrumbs {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 0 auto 18px;
  max-width: 1240px;
  color: #69766d;
  font-size: 14px;
}

.campack-category-hero,
.campack-page-hero {
  padding: 30px;
}

.campack-filters {
  margin-top: 18px;
  padding: 20px;
}

.campack-filters__row {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  align-items: end;
}

.campack-filter-reset {
  width: 100%;
}

.campack-detail-hero {
  padding: 30px;
}

.campack-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .9fr);
  gap: 28px;
  align-items: start;
}

.campack-detail-media__frame {
  overflow: hidden;
  border-radius: 24px;
  background: linear-gradient(180deg, #f8f5ef 0%, #edf2ee 100%);
}

.campack-detail-media__frame img {
  width: 100%;
  height: auto;
  display: block;
}

.campack-detail-copy__meta,
.campack-detail-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.campack-detail-summary {
  margin: 18px 0;
}

.campack-detail-summary div {
  min-width: 140px;
  padding: 14px 16px;
  border-radius: 18px;
  background: #f7f5ef;
}

.campack-detail-summary span {
  display: block;
  color: #69766d;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.campack-detail-summary strong {
  display: block;
  margin-top: 4px;
  color: #143a2a;
}

.campack-detail-summary__price {
  min-width: 220px;
  padding: 16px 18px;
  background: linear-gradient(140deg, #fff2dd 0%, #ffe1bc 100%) !important;
  border: 1px solid rgba(232, 91, 30, 0.3);
  box-shadow: 0 10px 22px rgba(191, 92, 34, 0.14), inset 0 0 0 1px rgba(255, 255, 255, 0.52);
}

.campack-detail-summary__price span {
  font-size: 11px;
  letter-spacing: 0.08em;
  color: #75695d;
}

.campack-detail-summary__price strong {
  margin-top: 7px;
  font-size: 34px;
  font-weight: 800;
  line-height: 1.06;
  color: #e85b1e;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.55);
  white-space: nowrap;
}

.campack-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.campack-detail-actions form {
  margin: 0;
}

.campack-detail-panels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 20px;
}

.campack-detail-panel {
  padding: 24px;
}

.campack-detail-panel h2,
.campack-cart-page h2,
.item-page .page-header {
  margin-bottom: 14px;
}

.campack-spec-list {
  display: grid;
  gap: 12px;
}

.campack-spec-list div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(20,58,42,.08);
}

.campack-spec-list dt {
  color: #69766d;
}

.campack-spec-list dd {
  margin: 0;
  text-align: right;
  color: #143a2a;
  font-weight: 700;
}

.campack-step-list {
  margin: 0;
  padding-left: 20px;
  color: #465248;
  line-height: 1.7;
}

.campack-detail-content {
  margin-top: 20px;
  padding: 28px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(20,58,42,.08);
}

.campack-cart-grid,
.campack-checkout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(300px, .7fr);
  gap: 18px;
}

.campack-cart-list,
.campack-cart-summary,
.campack-checkout-form,
.campack-order-summary,
.campack-success-card,
.campack-cart-empty {
  padding: 28px;
}

.campack-cart-table__head,
.campack-cart-row {
  display: grid;
  grid-template-columns: minmax(180px, 2fr) 1fr 1fr 1fr auto;
  gap: 14px;
  align-items: center;
}

.campack-cart-table__head {
  padding: 0 0 12px;
  border-bottom: 1px solid rgba(20,58,42,.08);
  color: #69766d;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

.campack-cart-row {
  padding: 18px 0;
  border-bottom: 1px solid rgba(20,58,42,.08);
}

.campack-cart-row__product span,
.campack-order-summary__list span {
  display: block;
  margin-top: 4px;
  color: #69766d;
  font-size: 13px;
}

.campack-qty {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px;
  border-radius: 16px;
  background: #f7f5ef;
}

.campack-qty button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: #143a2a;
  color: #fff !important;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}

.campack-link-button {
  min-height: 40px;
}

.campack-cart-summary__line,
.campack-order-summary__total {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(20,58,42,.08);
}

.campack-cart-summary .campack-btn,
.campack-checkout-actions .campack-btn,
.campack-cart-empty__actions .campack-btn,
.campack-success-card__actions .campack-btn {
  width: 100%;
  margin-top: 12px;
}

.campack-order-summary__list,
.campack-success-card__actions,
.campack-cart-empty__actions {
  display: grid;
  gap: 12px;
}

.campack-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.campack-form-grid__wide {
  grid-column: 1 / -1;
}

.campack-consent {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-top: 18px;
  color: #556259;
}

.campack-consent-group {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.campack-consent-group .campack-consent {
  margin-top: 0;
}

.campack-consent--optional {
  color: #314036;
}

.campack-consent input {
  width: auto;
  min-height: 0;
  margin-top: 4px;
}

.campack-footer {
  margin-top: 48px;
  padding: 32px 0 40px;
  background: #10271f;
  color: #e8eee7;
}

.campack-footer__grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  gap: 24px;
}

.campack-footer__brand {
  display: grid;
  align-content: start;
}

.campack-footer-logo {
  display: block;
  width: 120px;
  max-width: 100%;
  height: auto;
  margin: 0 0 12px;
}

.campack-footer h2 {
  margin: 0 0 14px;
  font-size: 14px;
  color: #cdd8cf;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.campack-footer__nav,
.campack-footer__contacts {
  display: grid;
  gap: 10px;
}

.campack-footer a,
.campack-footer span,
.campack-footer p {
  color: inherit;
}

.item-page {
  padding: 28px;
}

.item-page .page-header h1 {
  font-size: clamp(30px, 4vw, 42px);
}

@media (max-width: 1199px) {
  .campack-storefront--home .campack-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .campack-grid,
  .campack-footer__grid,
  .campack-detail-panels,
  .campack-filters__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .campack-home-landing__grid,
  .campack-cart-grid,
  .campack-checkout-grid,
  .campack-detail-grid,
  .campack-home-landing__hero {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .campack-footer-logo {
    width: 110px;
    margin-bottom: 12px;
  }
}

@media (max-width: 767px) {
  .campack-utility__inner,
  .campack-section-head,
  .campack-card__topline,
  .campack-detail-actions,
  .campack-detail-summary,
  .campack-cart-table__head,
  .campack-cart-row,
  .campack-filters__row,
  .campack-form-grid,
  .campack-grid,
  .campack-storefront--home .campack-grid,
  .campack-detail-panels,
  .campack-footer__grid {
    grid-template-columns: 1fr;
  }

  .campack-utility__inner,
  .campack-utility__contacts,
  .campack-utility__actions,
  .campack-home-landing__actions {
    display: grid;
  }

  .campack-home-landing__hero,
  .campack-home-landing__grid article,
  .campack-product-section,
  .campack-category-hero,
  .campack-detail-hero,
  .campack-cart-list,
  .campack-cart-summary,
  .campack-checkout-form,
  .campack-order-summary,
  .campack-success-card,
  .campack-cart-empty,
  .item-page {
    padding: 20px;
  }

  .campack-card__button,
  .campack-card__ghost,
  .campack-btn {
    width: 100%;
  }
}

/* Patch 2026-W10: listing CTA, category copy, about-page meta cleanup */
.campack-card__footer {
  flex-wrap: wrap;
}

.campack-card__footer > * {
  flex: 1 1 220px;
}

.campack-card__form,
.campack-inline-form--card {
  margin: 0;
}

.campack-card__form .campack-card__button,
.campack-inline-form--card > .campack-card__button {
  width: 100%;
}

.campack-stock-note {
  margin: -4px 0 0;
  color: #9a4e21;
  font-size: 13px;
  line-height: 1.45;
}

.campack-seo-block {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: 24px;
  margin-top: 28px;
  padding: 28px;
  border-radius: 28px;
  background: #fffdf8;
  border: 1px solid rgba(20,58,42,.08);
  box-shadow: 0 16px 40px rgba(20,58,42,.06);
}

.campack-seo-block h2,
.campack-faq h3 {
  margin: 0 0 14px;
  color: #143a2a;
}

.campack-seo-block p,
.campack-faq p {
  margin: 0 0 12px;
  color: #4f5848;
  line-height: 1.7;
}

.campack-seo-block__links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.campack-seo-block__links a {
  color: #143a2a;
  font-weight: 700;
  text-decoration: none;
}

.campack-faq {
  display: grid;
  gap: 12px;
}

.campack-faq details {
  padding: 16px 18px;
  border-radius: 18px;
  background: #f6f1e6;
}

.campack-faq summary {
  cursor: pointer;
  color: #143a2a;
  font-weight: 700;
}

.itemid-128 .article-info,
.itemid-128 .article-ratings-social-share {
  display: none !important;
}

@media (max-width: 991px) {
  .campack-seo-block {
    grid-template-columns: 1fr;
  }
}

/* Patch 2026-W10 shipping checkout */
.campack-shipping-panel {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(20,58,42,.08);
}

.campack-shipping-panel__head p {
  margin: 6px 0 0;
  color: #69766d;
}

.campack-shipping-methods {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 18px 0;
}

.campack-shipping-method {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid rgba(20,58,42,.12);
  border-radius: 999px;
  background: #fff;
  color: #143a2a;
  font-weight: 700;
}

.campack-shipping-method input {
  width: 18px;
  height: 18px;
  margin: 0;
}

.campack-form-grid--shipping {
  margin-top: 6px;
}

.campack-shipping-result {
  margin-top: 18px;
  padding: 18px;
  border-radius: 18px;
  background: #f6f1e6;
}

.campack-shipping-result__line,
.campack-order-summary__totals .campack-order-summary__line {
  display: flex;
  justify-content: space-between;
  gap: 14px;
}

.campack-shipping-result__line + .campack-shipping-result__line {
  margin-top: 8px;
}

.campack-shipping-result p {
  margin: 12px 0 0;
  color: #4f5848;
}

.campack-shipping-result[data-state="error"] {
  background: #f8ebe7;
}

.campack-shipping-result[data-state="loading"] {
  background: #edf3ee;
}

.campack-order-summary__line--grand {
  font-size: 17px;
}

.campack-order-summary__line--single {
  margin-top: 16px;
}

@media (max-width: 767px) {
  .campack-shipping-methods {
    flex-direction: column;
  }

  .campack-shipping-method {
    justify-content: flex-start;
  }
}

.campack-detail-shipping-note {
  margin-top: 14px;
  color: #4f5848;
}

.campack-shipping-field--city {
  position: relative;
}

.campack-shipping-city-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 30;
  background: #fff;
  border: 1px solid rgba(18, 28, 16, 0.12);
  border-radius: 14px;
  box-shadow: 0 18px 48px rgba(18, 28, 16, 0.12);
  overflow: hidden;
}

.campack-shipping-city-dropdown__status {
  padding: 12px 14px;
  color: #4f5848;
  font-size: 14px;
}

.campack-shipping-city-list {
  list-style: none;
  margin: 0;
  padding: 8px 0;
  max-height: 260px;
  overflow-y: auto;
}

.campack-shipping-city-list__item {
  margin: 0;
  padding: 0;
}

.campack-shipping-city-option {
  display: block;
  width: 100%;
  padding: 10px 14px;
  border: 0;
  background: transparent;
  text-align: left;
  color: #121c10;
}

.campack-shipping-city-option:hover,
.campack-shipping-city-option:focus-visible {
  background: rgba(59, 90, 46, 0.08);
  outline: none;
}


.campack-shipping-result__note {
  margin-top: 10px;
  font-size: 13px;
  color: #6a745e;
}

.campack-shipping-post-destination__body {
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(59, 90, 46, 0.06);
  border: 1px solid rgba(18, 28, 16, 0.08);
}

.campack-shipping-post-destination__body p {
  margin: 0;
  color: #2d3929;
}

.campack-shipping-post-destination__body p + p {
  margin-top: 8px;
}

.campack-shipping-map-trigger {
  margin-top: 10px;
}

.campack-shipping-map-modal {
  position: fixed;
  inset: 0;
  z-index: 3400;
}

.campack-shipping-map-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(14, 18, 16, 0.48);
}

.campack-shipping-map-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(1080px, calc(100% - 32px));
  max-height: calc(100vh - 56px);
  margin: 28px auto;
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(20,58,42,.12);
  box-shadow: 0 18px 46px rgba(14, 18, 16, 0.24);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.campack-shipping-map-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(20,58,42,.08);
}

.campack-shipping-map-modal__head h3 {
  margin: 0;
  font-size: 19px;
  color: #143a2a;
}

.campack-shipping-map-modal__close {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: rgba(20,58,42,.08);
  color: #143a2a;
  font-size: 22px;
  line-height: 1;
}

.campack-shipping-map-modal__body {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, .9fr);
  gap: 0;
  min-height: 520px;
}

.campack-shipping-map {
  min-height: 520px;
}

.campack-shipping-map-list {
  border-left: 1px solid rgba(20,58,42,.08);
  overflow: auto;
  padding: 10px;
  background: #fafaf9;
}

.campack-shipping-map-list__item {
  display: block;
  width: 100%;
  border: 1px solid rgba(20,58,42,.12);
  border-radius: 10px;
  background: #fff;
  padding: 10px 12px;
  text-align: left;
  margin: 0 0 8px;
}

.campack-shipping-map-list__item strong {
  display: block;
  color: #143a2a;
  font-size: 14px;
}

.campack-shipping-map-list__item span {
  display: block;
  margin-top: 3px;
  color: #4f5848;
  font-size: 13px;
}

.campack-shipping-map-list__empty {
  margin: 4px 0 0;
  color: #69766d;
  font-size: 14px;
}

@media (max-width: 991px) {
  .campack-shipping-map-modal__dialog {
    width: calc(100% - 16px);
    margin: 8px auto;
    max-height: calc(100vh - 16px);
  }

  .campack-shipping-map-modal__body {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .campack-shipping-map {
    min-height: 280px;
  }

  .campack-shipping-map-list {
    border-left: 0;
    border-top: 1px solid rgba(20,58,42,.08);
    max-height: 260px;
  }
}

.campack-consent-link {
  display: inline;
  min-height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: #143a2a !important;
  text-decoration: underline;
  font-weight: 700;
}

.campack-consent-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
}

.campack-consent-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(18, 28, 16, 0.56);
}

.campack-consent-modal__dialog {
  position: relative;
  z-index: 1;
  max-width: 760px;
  max-height: calc(100vh - 80px);
  margin: 40px auto;
  padding: 24px;
  overflow-y: auto;
  border-radius: 24px;
  background: #fffdf8;
  box-shadow: 0 24px 60px rgba(18, 28, 16, 0.22);
}

.campack-consent-modal__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.campack-consent-modal__head h2 {
  margin: 0;
  color: #143a2a;
}

.campack-consent-modal__close {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: #143a2a;
  color: #fff;
  font-size: 24px;
  line-height: 1;
}

.campack-consent-modal__body {
  color: #243126;
  line-height: 1.7;
}

.campack-consent-modal__body h2 {
  display: none;
}

.campack-modal-open {
  overflow: hidden;
}

@media (max-width: 767px) {
  .campack-consent-modal__dialog {
    margin: 20px;
    max-height: calc(100vh - 40px);
    padding: 20px;
    border-radius: 18px;
  }
}


/* Use uploaded PNG logo */
#sp-header {
  position: sticky;
  top: 0;
  z-index: 2000;
  background: rgba(244,241,234,.98);
}

#sp-header .container,
#sp-header .container-inner,
#sp-header .row {
  position: relative;
  z-index: 2001;
  min-height: 92px;
}

.logo .logo-image {
  opacity: 1 !important;
  width: auto !important;
  max-width: 240px;
  max-height: 78px;
  height: auto !important;
  object-fit: contain;
}

.logo a::before,
.logo a::after,
.logo::before {
  content: none !important;
  display: none !important;
}

.logo a {
  min-width: 0 !important;
  min-height: 0 !important;
}

.campack-home-landing {
  margin-top: 14px;
}

.campack-home-landing__hero {
  position: relative;
  z-index: 1;
}

@media (max-width: 991px) {
  #sp-header .container,
  #sp-header .container-inner,
  #sp-header .row {
    min-height: 74px;
  }

  .logo .logo-image {
    max-width: 180px;
    max-height: 56px;
  }
}

.campack-detail-media__thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.campack-detail-media__thumb {
  border: 1px solid rgba(20,58,42,.14);
  border-radius: 12px;
  padding: 0;
  background: #fff;
  overflow: hidden;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.campack-detail-media__thumb img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}

.campack-detail-media__thumb.is-active {
  border-color: #143a2a;
  box-shadow: 0 0 0 1px #143a2a;
}

.campack-detail-media__thumb:hover {
  border-color: #143a2a;
}

@media (max-width: 767px) {
  .campack-detail-media__thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* W10-17: карточки каталога — не обрезать загруженные изображения */
.campack-grid .campack-card__media,
.campack-storefront--home .campack-product-section--home .campack-card__media {
  aspect-ratio: 1 / 1 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 10px;
  overflow: hidden;
}

.campack-grid .campack-card__media img,
.campack-storefront--home .campack-product-section--home .campack-card__media img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center center;
  transform: none !important;
}

.campack-grid .campack-card:hover .campack-card__media img,
.campack-storefront--home .campack-product-section--home .campack-card:hover .campack-card__media img {
  transform: none !important;
}

/* W10-18: категории — фото в карточке во весь квадрат */
.campack-storefront:not(.campack-storefront--home) .campack-card__media {
  padding: 0 !important;
  aspect-ratio: 1 / 1 !important;
}

.campack-storefront:not(.campack-storefront--home) .campack-card__media img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  filter: none !important;
}

.campack-storefront:not(.campack-storefront--home) .campack-card:hover .campack-card__media img {
  transform: none !important;
}

/* W10-19: подвал — юр. модальные окна и страница доставки */
.campack-footer__legal-trigger {
  display: inline;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  font: inherit;
  line-height: inherit;
  cursor: pointer;
}

.campack-footer__legal-trigger:hover,
.campack-footer__legal-trigger:focus {
  text-decoration: underline;
  outline: none;
}

.campack-legal-modal {
  position: fixed;
  inset: 0;
  z-index: 2100;
}

.campack-legal-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(18, 28, 16, 0.56);
}

.campack-legal-modal__dialog {
  position: relative;
  z-index: 1;
  max-width: 760px;
  max-height: calc(100vh - 80px);
  margin: 40px auto;
  padding: 24px;
  overflow-y: auto;
  border-radius: 24px;
  background: #fffdf8;
  box-shadow: 0 24px 60px rgba(18, 28, 16, 0.22);
}

.campack-legal-modal__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.campack-legal-modal__head h2 {
  margin: 0;
  color: #143a2a;
}

.campack-legal-modal__close {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: #143a2a;
  color: #fff;
  font-size: 24px;
  line-height: 1;
}

.campack-legal-modal__body {
  color: #243126;
  line-height: 1.7;
}

.campack-legal-modal__body h2 {
  display: none;
}

.campack-static-page .campack-static-content {
  max-width: 980px;
  margin: 0 auto;
  display: grid;
  gap: 20px;
}

.campack-static-page .campack-static-content h1 {
  margin: 0;
}

.campack-static-page .campack-doc-section {
  padding: 20px;
  border-radius: 16px;
  background: #f7f5ef;
  border: 1px solid rgba(20,58,42,.08);
}

.campack-static-page .campack-doc-section h2 {
  margin: 0 0 10px;
}

.campack-static-page .campack-doc-section p,
.campack-static-page .campack-doc-section li {
  color: #324136;
}

.campack-assistant {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1200;
  width: min(190px, calc(100vw - 24px));
}

.campack-assistant__toggle {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 0;
  border-radius: 12px;
  background: rgba(20, 58, 42, .3);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .55);
  box-shadow: 0 10px 20px rgba(16, 39, 31, .14);
  backdrop-filter: blur(2px);
}

.campack-assistant__toggle:hover,
.campack-assistant__toggle:focus-visible {
  background: rgba(20, 58, 42, .45);
}

.campack-assistant__panel {
  margin-top: 10px;
  border: 1px solid rgba(20,58,42,.14);
  border-radius: 18px;
  background: #fffdf8;
  box-shadow: 0 22px 44px rgba(16,39,31,.18);
  overflow: hidden;
}

.campack-assistant__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px 14px 10px;
  border-bottom: 1px solid rgba(20,58,42,.1);
  color: #153729;
}

.campack-assistant__close {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 999px;
  background: rgba(20,58,42,.1);
  color: #143a2a;
  font-size: 18px;
  line-height: 1;
}

.campack-assistant__messages {
  max-height: 300px;
  overflow-y: auto;
  display: grid;
  gap: 8px;
  padding: 12px;
}

.campack-assistant__message {
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.45;
}

.campack-assistant__message--bot {
  background: #f3f7f4;
  color: #203228;
}

.campack-assistant__message--user {
  background: #143a2a;
  color: #fff;
  justify-self: end;
}

.campack-assistant__quick {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 12px 10px;
}

.campack-assistant__quick button {
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid rgba(20,58,42,.18);
  border-radius: 999px;
  background: #fff;
  color: #143a2a;
  font-size: 12px;
}

.campack-assistant__form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  padding: 0 12px 12px;
}

.campack-assistant__form input {
  min-height: 40px;
  border-radius: 10px;
  border: 1px solid rgba(20,58,42,.2);
  padding: 0 12px;
  background: #fff;
}

.campack-assistant__form button {
  min-height: 40px;
  border: 0;
  border-radius: 10px;
  padding: 0 12px;
  background: #143a2a;
  color: #fff;
  font-weight: 700;
}

.campack-assistant.is-busy .campack-assistant__quick button {
  opacity: .65;
  pointer-events: none;
}

@media (max-width: 767px) {
  .campack-assistant {
    right: 10px;
    left: auto;
    bottom: 10px;
    width: min(190px, calc(100vw - 20px));
  }

  .campack-assistant__messages {
    max-height: 240px;
  }

  .campack-legal-modal__dialog {
    margin: 20px;
    max-height: calc(100vh - 40px);
    padding: 20px;
    border-radius: 18px;
  }
}

/* W10-20: главная страница — коммерческая посадочная без редизайна логики магазина */
.campack-home-landing__offer {
  margin-top: 12px !important;
}

.campack-home-landing__micro {
  margin-top: 14px !important;
  font-size: 15px !important;
  color: rgba(247,244,237,.92) !important;
}

.campack-home-landing__trust {
  position: relative;
  z-index: 1;
  padding: 24px;
  background: rgba(255,255,255,.92);
  border-radius: 22px;
  backdrop-filter: blur(8px);
}

.campack-home-landing__trust h2 {
  margin: 0 0 10px;
  font-size: 24px;
  line-height: 1.2;
  color: #143a2a;
}

.campack-home-landing__trust p {
  margin: 0;
  color: #4d5c53;
  line-height: 1.6;
}

.campack-home-landing__trust ul {
  margin: 12px 0 0;
  padding-left: 18px;
  color: #344339;
  display: grid;
  gap: 8px;
}

.campack-home-content,
.campack-home-stack {
  margin-top: 20px;
}

.campack-home-stack {
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
}

.campack-home-stack--single .campack-home-card {
  max-width: 1240px;
}

.campack-home-block {
  margin-top: 20px;
  padding: 26px;
  background: #fff;
  border: 1px solid rgba(20,58,42,.08);
  border-radius: 24px;
  box-shadow: 0 16px 40px rgba(20,58,42,.06);
}

.campack-home-block h2 {
  margin: 0;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.1;
  color: #143a2a;
}

.campack-home-block > p {
  margin: 12px 0 0;
  color: #556259;
  line-height: 1.65;
}

.campack-home-columns {
  display: grid;
  gap: 18px;
  margin-top: 18px;
}

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

.campack-home-columns--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.campack-home-card {
  padding: 22px;
  background: #fff;
  border: 1px solid rgba(20,58,42,.09);
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(20,58,42,.05);
}

.campack-home-card h3,
.campack-home-card h2 {
  margin: 0;
  color: #143a2a;
}

.campack-home-card h3 {
  font-size: 25px;
  line-height: 1.2;
}

.campack-home-card h2 {
  font-size: clamp(26px, 2.6vw, 34px);
  line-height: 1.15;
}

.campack-home-card p {
  margin: 10px 0 0;
  color: #556259;
  line-height: 1.65;
}

.campack-home-card .campack-btn {
  margin-top: 14px;
}

.campack-home-list {
  margin: 14px 0 0;
  padding-left: 18px;
  color: #314036;
  display: grid;
  gap: 8px;
}

.campack-home-signature {
  font-weight: 700;
  color: #203228 !important;
}

.campack-home-cta-panel {
  max-width: 1240px;
  margin: 20px auto 0;
  padding: 30px;
  border-radius: 24px;
  border: 1px solid rgba(20,58,42,.1);
  background: linear-gradient(135deg, #143a2a 0%, #1d4a37 100%);
  box-shadow: 0 18px 45px rgba(20,58,42,.18);
}

.campack-home-cta-panel h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(30px, 3.3vw, 44px);
  line-height: 1.1;
}

.campack-home-cta-panel p {
  margin: 12px 0 0;
  color: rgba(255,255,255,.88);
  line-height: 1.6;
}

.campack-home-cta-panel .campack-btn {
  margin-top: 16px;
}

.campack-home-cta-panel__note {
  margin-top: 12px !important;
  font-size: 14px;
  color: rgba(255,255,255,.75) !important;
}

@media (max-width: 1199px) {
  .campack-home-columns--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .campack-home-landing__trust,
  .campack-home-block,
  .campack-home-card,
  .campack-home-cta-panel {
    padding: 20px;
  }

  .campack-home-columns--2,
  .campack-home-columns--3 {
    grid-template-columns: 1fr;
  }
}

/* W10-26 clean storefront pass: меньше визуального шума, больше иерархии */
body::before,
.campack-orb,
.campack-orb--one,
.campack-orb--two {
  display: none !important;
  animation: none !important;
}

.campack-home-landing__hero {
  min-height: 420px;
  border-radius: 22px;
  box-shadow: 0 12px 28px rgba(20,58,42,.10);
}

.campack-home-landing__hero::before {
  background: none;
}

.campack-home-content,
.campack-home-stack,
.campack-product-section,
.campack-home-cta-panel {
  margin-top: 16px;
}

.campack-home-block,
.campack-home-card,
.campack-product-section,
.campack-category-hero,
.campack-filters,
.campack-card,
.campack-home-cta-panel,
.campack-footer {
  box-shadow: none;
}

.campack-home-block,
.campack-home-card,
.campack-product-section,
.campack-category-hero,
.campack-filters,
.campack-card {
  border-radius: 18px;
}

.campack-section-head p {
  max-width: 460px;
}

.campack-section-head {
  margin-bottom: 16px;
}

.campack-home-cta-panel {
  background: #143a2a;
}

/* W10-27 hybrid content architecture: управляемые модульные зоны */
.campack-module-zone {
  margin: 16px 0;
}

.campack-module-zone--page-top,
.campack-module-zone--brand-top {
  margin-top: 20px;
}

.campack-module-zone--page-bottom {
  margin-bottom: 20px;
}

.campack-module-zone--home-hero {
  margin-top: 0;
}

.campack-module-zone--home-before-products,
.campack-module-zone--home-after-products,
.campack-module-zone--category-top,
.campack-module-zone--category-bottom {
  margin-top: 16px;
}

.campack-module-zone .sppb-section {
  margin-bottom: 0;
}

/* W10-28 visual cleanup: white canvas + subtle neutral borders + unified home hero shell */
:root {
  --campack-ui-bg: #ffffff;
  --campack-ui-border: rgba(60, 60, 60, 0.16);
  --campack-ui-border-strong: rgba(60, 60, 60, 0.2);
  --campack-ui-subtle: rgba(60, 60, 60, 0.08);
  --campack-brand-accent: #143a2a;
}

html,
body,
#sp-main-body,
.body-wrapper,
.layout-boxed .body-innerwrapper {
  background: var(--campack-ui-bg) !important;
}

body::before,
.campack-storefront::before,
.campack-detail-page::before {
  display: none !important;
  background: none !important;
}

#sp-header {
  background: #fff;
  border-color: var(--campack-ui-border) !important;
  box-shadow: 0 12px 30px rgba(18, 24, 20, 0.06);
}

.campack-home-block,
.campack-home-card,
.campack-product-section,
.campack-category-hero,
.campack-detail-hero,
.campack-detail-content,
.campack-filters,
.campack-card,
.campack-home-cta-panel,
.campack-footer {
  border-color: var(--campack-ui-border) !important;
}

.campack-home-block,
.campack-home-card,
.campack-product-section,
.campack-filters,
.campack-card,
.campack-detail-content {
  background: #fff !important;
}

.campack-chip,
.campack-badge,
.campack-prime-hero__chips span,
.campack-funnel-hero__chips span,
.campack-shipping-city-dropdown__status,
.campack-card__meta span:last-child {
  border-color: var(--campack-ui-border) !important;
  background: var(--campack-ui-subtle) !important;
  color: #3d4742 !important;
}

.campack-module-zone--home-hero .mod-sppagebuilder {
  margin: 0;
}

.campack-module-zone--home-hero .mod-sppagebuilder .page-content {
  background: #fff;
  border: 1px solid var(--campack-ui-border);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: none;
}

.campack-module-zone--home-hero .mod-sppagebuilder .sppb-section {
  margin: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.campack-module-zone--home-hero .mod-sppagebuilder .sppb-row-container,
.campack-module-zone--home-hero .mod-sppagebuilder .sppb-row,
.campack-module-zone--home-hero .mod-sppagebuilder .sppb-row-column,
.campack-module-zone--home-hero .mod-sppagebuilder .sppb-column,
.campack-module-zone--home-hero .mod-sppagebuilder .sppb-column-addons {
  margin: 0 !important;
}

.campack-module-zone--home-hero .mod-sppagebuilder .sppb-addon-wrapper,
.campack-module-zone--home-hero .mod-sppagebuilder .sppb-addon {
  margin: 0 !important;
  max-width: 100% !important;
}

.campack-module-zone--home-hero .mod-sppagebuilder .sppb-positioned-addon {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
}

.campack-module-zone--home-hero .mod-sppagebuilder .sppb-addon-title {
  margin: 0 !important;
  padding: 30px 28px 10px;
  color: var(--campack-brand-accent) !important;
  text-wrap: balance;
}

.campack-module-zone--home-hero .mod-sppagebuilder .sppb-addon-text-block .sppb-addon-content {
  padding: 0 28px 24px;
  color: #4d5953;
}

.campack-module-zone--home-hero .mod-sppagebuilder .sppb-addon-text-block .sppb-addon-content p {
  margin: 0;
}

.campack-module-zone--home-hero .mod-sppagebuilder .sppb-addon-video-local-video-wrap {
  border-top: 1px solid var(--campack-ui-border);
  border-radius: 24px !important;
  overflow: hidden;
}

.campack-module-zone--home-hero .mod-sppagebuilder .sppb-addon-video-local-source {
  display: block;
  width: 100% !important;
  height: auto !important;
  object-fit: cover;
  border-radius: inherit;
}

@media (max-width: 767px) {
  .campack-module-zone--home-hero .mod-sppagebuilder .page-content {
    border-radius: 18px;
  }

  .campack-module-zone--home-hero .mod-sppagebuilder .sppb-addon-title {
    padding: 22px 18px 8px;
  }

  .campack-module-zone--home-hero .mod-sppagebuilder .sppb-addon-text-block .sppb-addon-content {
    padding: 0 18px 18px;
  }

  .campack-module-zone--home-hero .mod-sppagebuilder .sppb-addon-video-local-video-wrap {
    border-radius: 18px !important;
  }
}

@media (min-width: 1200px) {
  .campack-storefront--home .campack-product-section--home .campack-home-product-row--shelters .campack-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .campack-storefront--home .campack-product-section--home .campack-home-product-row--tents .campack-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 992px) {
  #sp-header .sp-megamenu-parent > li > a {
    font-size: 20px !important;
    line-height: 1.25;
  }
}

/* W10-30: главная витрина — фото карточек во весь квадрат */
.campack-storefront--home .campack-product-section--home .campack-card__media {
  aspect-ratio: 1 / 1 !important;
  display: block !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.campack-storefront--home .campack-product-section--home .campack-card__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* W11-01: category cards — keep every main image in the same square block */
.campack-storefront:not(.campack-storefront--home) .campack-grid .campack-card__media {
  position: relative;
  display: block !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #f8f5ef 0%, #edf2ee 100%) !important;
}

.campack-storefront:not(.campack-storefront--home) .campack-grid .campack-card__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
  filter: none !important;
}

.campack-storefront:not(.campack-storefront--home) .campack-grid .campack-card:hover .campack-card__media img {
  transform: none !important;
}

/* W11-02: product detail info panels — full-width specs block with delivery/how-to row below */
.campack-detail-panels--product-info {
  grid-template-columns: 1fr;
  align-items: start;
}

.campack-detail-panel--specs {
  min-width: 0;
}

.campack-detail-panel-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 18px;
  align-content: start;
}

.campack-detail-panel-stack .campack-detail-panel {
  min-width: 0;
  height: 100%;
}

.campack-detail-panels--product-info .campack-spec-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 24px;
}

.campack-detail-panels--product-info .campack-spec-list div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: start;
}

.campack-detail-panels--product-info .campack-spec-list dt,
.campack-detail-panels--product-info .campack-spec-list dd {
  min-width: 0;
}

.campack-detail-panels--product-info .campack-spec-list dt {
  margin: 0;
}

.campack-detail-panels--product-info .campack-spec-list dd {
  text-align: left;
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 1099px) {
  .campack-detail-panels--product-info .campack-spec-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 699px) {
  .campack-detail-panel-stack {
    grid-template-columns: 1fr;
  }

  .campack-detail-panels--product-info .campack-spec-list {
    grid-template-columns: 1fr;
  }
}

/* W11-03: public order status page */
.campack-order-status-page {
  display: grid;
  gap: 18px;
}

.campack-order-status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.campack-order-status-card {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
}

.campack-order-status-card h2,
.campack-order-status-card h3,
.campack-order-status-card h4 {
  margin: 0 0 12px;
}

.campack-order-status-card p {
  margin: 0;
}

.campack-order-status-card--summary {
  background: linear-gradient(135deg, #f7fbf6 0%, #ffffff 100%);
}

.campack-order-status-badge {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 14px;
}

.campack-order-status-badge.is-pending {
  background: rgba(245, 158, 11, 0.16);
  color: #92400e;
}

.campack-order-status-badge.is-warning {
  background: rgba(249, 115, 22, 0.14);
  color: #9a3412;
}

.campack-order-status-badge.is-success {
  background: rgba(22, 163, 74, 0.14);
  color: #166534;
}

.campack-order-status-badge.is-info {
  background: rgba(14, 116, 144, 0.14);
  color: #155e75;
}

.campack-order-status-badge.is-danger {
  background: rgba(220, 38, 38, 0.12);
  color: #991b1b;
}

.campack-order-status-badge.is-muted {
  background: rgba(100, 116, 139, 0.14);
  color: #475569;
}

.campack-order-status-lines {
  display: grid;
  gap: 10px;
}

.campack-order-status-line {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.campack-order-status-line:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.campack-order-status-line span {
  color: #64748b;
  font-size: 14px;
}

.campack-order-status-line strong {
  text-align: right;
  overflow-wrap: anywhere;
}

.campack-order-status-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}

.campack-order-status-items {
  display: grid;
  gap: 14px;
}

.campack-order-status-item {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.campack-order-status-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.campack-order-status-item > div {
  display: grid;
  gap: 4px;
}

.campack-order-status-item span {
  color: #64748b;
  font-size: 14px;
}

.campack-order-status-cdek {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.campack-order-status-card--missing {
  max-width: 760px;
}

@media (max-width: 899px) {
  .campack-order-status-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .campack-order-status-card {
    padding: 18px;
    border-radius: 16px;
  }

  .campack-order-status-line,
  .campack-order-status-item {
    flex-direction: column;
  }

  .campack-order-status-line strong {
    text-align: left;
  }

  .campack-detail-summary__price strong {
    font-size: 28px;
  }
}

/* Mobile header compact mode: keep all topbar items visible in one thin row */
@media (max-width: 767px) {
  .campack-utility {
    font-size: 11px;
  }

  .campack-utility .container {
    padding-left: 10px;
    padding-right: 10px;
  }

  .campack-utility__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    min-height: 38px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .campack-utility__inner::-webkit-scrollbar {
    display: none;
  }

  .campack-utility__contacts,
  .campack-utility__actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    margin: 0 !important;
  }

  .campack-utility a,
  .campack-utility span {
    line-height: 1.2 !important;
    margin: 0 !important;
  }

  .campack-utility__actions span {
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    font-size: 10px;
    line-height: 18px;
  }

  #sp-header .container,
  #sp-header .container-inner,
  #sp-header .row {
    min-height: 56px !important;
  }

  #sp-header .container-inner,
  #sp-header .row {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  .logo .logo-image {
    max-width: 154px !important;
    max-height: 36px !important;
    width: auto !important;
    height: auto !important;
  }

  #offcanvas-toggler,
  .offcanvas-toggler {
    margin-left: auto !important;
  }

  /* Mobile fix: hide only subtitle in home "Популярные товары" block */
  .campack-storefront--home .campack-product-section--home .campack-section-head {
    display: block !important;
    overflow-x: hidden;
  }

  .campack-storefront--home .campack-product-section--home .campack-section-head > p {
    display: none !important;
  }

  /* Mobile fix: category pages cleanup (not home) */
  .campack-storefront:not(.campack-storefront--home) .campack-product-section .campack-section-head {
    display: block !important;
    overflow-x: hidden !important;
  }

  .campack-storefront:not(.campack-storefront--home) .campack-product-section .campack-section-head > p {
    display: none !important;
  }

  .campack-storefront:not(.campack-storefront--home) .campack-product-section .campack-card {
    overflow: hidden !important;
  }

  .campack-storefront:not(.campack-storefront--home) .campack-product-section .campack-card__button {
    display: none !important;
  }

  /* Mobile fix: add vertical breathing space between large home cards/sections */
  .campack-storefront--home .campack-module-zone--home-before-products .sppb-section,
  .campack-storefront--home .campack-module-zone--home-before-products .sppb-row-container,
  .campack-storefront--home .campack-module-zone--home-before-products .sppb-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    row-gap: 22px !important;
  }

  .campack-storefront--home .campack-module-zone--home-before-products .sppb-row-column,
  .campack-storefront--home .campack-module-zone--home-before-products .sppb-column,
  .campack-storefront--home .campack-module-zone--home-before-products .sppb-column-addons,
  .campack-storefront--home .campack-module-zone--home-before-products .sppb-addon-wrapper {
    margin: 0 !important;
    overflow: hidden !important;
  }

  /* Mobile fix: category cards — remove large empty block under "В корзину" */
  .campack-storefront:not(.campack-storefront--home) .campack-product-section .campack-grid {
    gap: 22px !important;
    align-items: start !important;
  }

  .campack-storefront:not(.campack-storefront--home) .campack-product-section .campack-card {
    min-height: auto !important;
    height: auto !important;
  }

  .campack-storefront:not(.campack-storefront--home) .campack-product-section .campack-card__footer {
    display: block !important;
    margin-top: 14px !important;
    gap: 0 !important;
    align-content: flex-start !important;
  }

  .campack-storefront:not(.campack-storefront--home) .campack-product-section .campack-card__footer > * {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .campack-storefront:not(.campack-storefront--home) .campack-product-section .campack-card__form,
  .campack-storefront:not(.campack-storefront--home) .campack-product-section .campack-card__ghost {
    margin: 0 !important;
  }
}


.campack-product-video {
  margin: 32px 0;
  padding: 24px;
  border: 1px solid rgba(12, 52, 36, 0.12);
  border-radius: 24px;
  background: #fff;
}

.campack-product-video__title {
  margin: 0 0 16px;
  color: #0c3424;
  font-size: 28px;
  line-height: 1.2;
}

.campack-product-video__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 18px;
  background: #0c3424;
}

.campack-product-video__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 767px) {
  .campack-product-video {
    margin: 22px 0;
    padding: 14px;
    border-radius: 18px;
  }

  .campack-product-video__title {
    font-size: 22px;
    margin-bottom: 12px;
  }

  .campack-product-video__frame {
    border-radius: 14px;
  }
}


/* Desktop product top layout: video in right column, compact summary */
.campack-product-video--hero-slot {
  display: none;
}

@media (min-width: 992px) {
  .campack-detail-hero {
    padding-top: 22px;
  }

  .campack-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
    gap: 26px;
    align-items: start;
  }

  .campack-detail-copy {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-self: start;
  }

  .campack-detail-copy > h1,
  .campack-detail-copy > .campack-detail-lead,
  .campack-detail-copy > .campack-detail-summary,
  .campack-detail-copy > .campack-detail-features,
  .campack-detail-copy > .campack-detail-actions {
    margin-top: 0;
    margin-bottom: 0;
  }

  .campack-detail-copy .campack-detail-actions {
    margin-top: 4px;
  }

  .campack-product-video--hero-slot {
    display: block;
    margin: 0;
    padding: 14px;
  }

  .campack-product-video--hero-slot .campack-product-video__title {
    margin-bottom: 10px;
    font-size: 20px;
  }

  .campack-product-video--hero-slot .campack-product-video__frame {
    border-radius: 12px;
  }

  .campack-product-video--below-hero {
    display: none !important;
  }
}

@media (max-width: 991px) {
  .campack-product-video--hero-slot {
    display: none !important;
  }

  .campack-product-video--below-hero {
    display: none !important;
  }
}


.campack-product-video--mobile-after-gallery {
  display: none;
}

@media (max-width: 991px) {
  .campack-product-video--mobile-after-gallery {
    display: block;
    margin: 14px 0 0;
    padding: 14px;
    border-radius: 14px;
  }

  .campack-product-video--mobile-after-gallery .campack-product-video__title {
    margin-bottom: 10px;
    font-size: 20px;
  }

  .campack-product-video--mobile-after-gallery .campack-product-video__frame {
    border-radius: 12px;
  }
}

@media (min-width: 992px) {
  .campack-product-video--mobile-after-gallery {
    display: none !important;
  }
}


/* W11-04: compact key specs rows (desktop + mobile) */
.campack-detail-panels--product-info .campack-spec-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.campack-detail-panels--product-info .campack-spec-list div {
  display: grid;
  grid-template-columns: minmax(140px, 38%) minmax(0, 1fr);
  align-items: start;
  column-gap: 14px;
  row-gap: 0;
  padding: 8px 0;
  border-bottom: 1px solid rgba(12, 52, 36, 0.08);
}

.campack-detail-panels--product-info .campack-spec-list div:last-child {
  border-bottom: 0;
}

.campack-detail-panels--product-info .campack-spec-list dt,
.campack-detail-panels--product-info .campack-spec-list dd {
  margin: 0;
  min-width: 0;
  line-height: 1.35;
}

.campack-detail-panels--product-info .campack-spec-list dt {
  color: #6b7a70;
  font-weight: 700;
}

.campack-detail-panels--product-info .campack-spec-list dd {
  text-align: right;
  color: #153a2a;
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 767px) {
  .campack-detail-panels--product-info .campack-spec-list {
    gap: 8px;
  }

  .campack-detail-panels--product-info .campack-spec-list div {
    grid-template-columns: minmax(110px, 46%) minmax(0, 1fr);
    column-gap: 10px;
    padding: 7px 0;
  }

  .campack-detail-panels--product-info .campack-spec-list dt,
  .campack-detail-panels--product-info .campack-spec-list dd {
    font-size: 14px;
  }
}


/* W11-05: desktop specs in two columns */
@media (min-width: 992px) {
  .campack-detail-panels--product-info .campack-spec-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 28px !important;
    row-gap: 0 !important;
    align-items: start !important;
  }

  .campack-detail-panels--product-info .campack-spec-list div {
    display: grid !important;
    grid-template-columns: minmax(120px, 42%) minmax(0, 1fr) !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
    align-items: baseline !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid rgba(12, 52, 36, 0.08) !important;
  }

  .campack-detail-panels--product-info .campack-spec-list dd {
    text-align: right !important;
  }
}


/* W12-01: dark mode phase 1 toggle and palette */
:root {
  --campack-bg: #ffffff;
  --campack-surface: #ffffff;
  --campack-surface-2: #f7f4ea;
  --campack-text: #0c3424;
  --campack-muted: #5f6f66;
  --campack-border: rgba(12, 52, 36, 0.14);
  --campack-accent: #ff7a3d;
  --campack-warm: #ffc36a;
  --campack-success: #2bd479;
}

html[data-campack-theme="dark"],
body[data-campack-theme="dark"] {
  --campack-bg: #071611;
  --campack-surface: #10251d;
  --campack-surface-2: #142e23;
  --campack-text: #eaf3ea;
  --campack-muted: #b7c7bc;
  --campack-border: #294639;
  --campack-accent: #ff7a3d;
  --campack-warm: #ffc36a;
  --campack-success: #2bd479;
}

.campack-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(12, 52, 36, 0.16);
  background: #ffffff;
  color: #0c3424;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}

.campack-theme-toggle:hover {
  transform: translateY(-1px);
}

.campack-theme-toggle__icon {
  font-size: 20px;
  line-height: 1;
}

.campack-theme-toggle__icon--sun {
  display: none;
}

.campack-theme-toggle.is-dark .campack-theme-toggle__icon--moon {
  display: none;
}

.campack-theme-toggle.is-dark .campack-theme-toggle__icon--sun {
  display: inline;
}

.campack-utility__actions {
  align-items: center;
}

body[data-campack-theme="dark"] {
  background: var(--campack-bg) !important;
  color: var(--campack-text) !important;
}

body[data-campack-theme="dark"] a {
  color: var(--campack-text);
}

body[data-campack-theme="dark"] #sp-header,
body[data-campack-theme="dark"] .campack-utility,
body[data-campack-theme="dark"] .offcanvas-menu,
body[data-campack-theme="dark"] .offcanvas-inner,
body[data-campack-theme="dark"] .campack-footer {
  background: var(--campack-surface) !important;
  color: var(--campack-text) !important;
  border-color: var(--campack-border) !important;
}

body[data-campack-theme="dark"] #sp-header .sp-megamenu-parent > li > a,
body[data-campack-theme="dark"] .offcanvas-menu a,
body[data-campack-theme="dark"] .campack-utility a,
body[data-campack-theme="dark"] .campack-footer a,
body[data-campack-theme="dark"] .campack-utility span,
body[data-campack-theme="dark"] .campack-footer span,
body[data-campack-theme="dark"] .campack-footer p,
body[data-campack-theme="dark"] .campack-footer h2 {
  color: var(--campack-text) !important;
}

body[data-campack-theme="dark"] .campack-theme-toggle {
  background: var(--campack-surface-2);
  color: var(--campack-warm);
  border-color: var(--campack-border);
}

body[data-campack-theme="dark"] .campack-hero,
body[data-campack-theme="dark"] .campack-category-hero,
body[data-campack-theme="dark"] .campack-detail-hero,
body[data-campack-theme="dark"] .campack-category-nav,
body[data-campack-theme="dark"] .campack-detail-content,
body[data-campack-theme="dark"] .campack-cta,
body[data-campack-theme="dark"] .campack-showcase,
body[data-campack-theme="dark"] .campack-detail-panel,
body[data-campack-theme="dark"] .campack-product-video,
body[data-campack-theme="dark"] .campack-detail-media__frame,
body[data-campack-theme="dark"] .campack-detail-richtext,
body[data-campack-theme="dark"] .campack-detail-points > div,
body[data-campack-theme="dark"] .campack-spec-list div,
body[data-campack-theme="dark"] .browse-view .product,
body[data-campack-theme="dark"] .browse-view .spacer,
body[data-campack-theme="dark"] .productdetails-view .vm-product-container,
body[data-campack-theme="dark"] .campack-cart-summary,
body[data-campack-theme="dark"] .campack-checkout-form,
body[data-campack-theme="dark"] .campack-success-card,
body[data-campack-theme="dark"] .campack-cart-empty {
  background: var(--campack-surface) !important;
  color: var(--campack-text) !important;
  border-color: var(--campack-border) !important;
}

body[data-campack-theme="dark"] .campack-detail-page,
body[data-campack-theme="dark"] #sp-main-body,
body[data-campack-theme="dark"] .body-wrapper,
body[data-campack-theme="dark"] .body-innerwrapper {
  background: var(--campack-bg) !important;
  color: var(--campack-text) !important;
}

body[data-campack-theme="dark"] .campack-category-copy,
body[data-campack-theme="dark"] .campack-detail-lead,
body[data-campack-theme="dark"] .campack-detail-summary span,
body[data-campack-theme="dark"] .campack-detail-features li,
body[data-campack-theme="dark"] .campack-detail-richtext p,
body[data-campack-theme="dark"] .campack-spec-list dt,
body[data-campack-theme="dark"] .campack-utility__contacts span,
body[data-campack-theme="dark"] .campack-utility__contacts a,
body[data-campack-theme="dark"] .campack-utility__actions a {
  color: var(--campack-muted) !important;
}

body[data-campack-theme="dark"] .campack-detail-summary strong,
body[data-campack-theme="dark"] .campack-detail-summary__price,
body[data-campack-theme="dark"] .campack-detail-summary__price strong,
body[data-campack-theme="dark"] .product-price,
body[data-campack-theme="dark"] .PricesalesPrice,
body[data-campack-theme="dark"] .campack-price,
body[data-campack-theme="dark"] .campack-warm {
  color: var(--campack-warm) !important;
}

body[data-campack-theme="dark"] .campack-stock.is-in-stock {
  color: var(--campack-success) !important;
}

body[data-campack-theme="dark"] .campack-btn,
body[data-campack-theme="dark"] .campack-btn--primary,
body[data-campack-theme="dark"] .addtocart-button,
body[data-campack-theme="dark"] button.addtocart-button,
body[data-campack-theme="dark"] .cart .button,
body[data-campack-theme="dark"] button[type="submit"] {
  background: var(--campack-accent) !important;
  border-color: var(--campack-accent) !important;
  color: #10251d !important;
}

body[data-campack-theme="dark"] .campack-btn--ghost,
body[data-campack-theme="dark"] .campack-btn--ghost-dark {
  background: transparent !important;
  color: var(--campack-text) !important;
  border-color: var(--campack-border) !important;
}

body[data-campack-theme="dark"] input,
body[data-campack-theme="dark"] select,
body[data-campack-theme="dark"] textarea,
body[data-campack-theme="dark"] .form-control {
  background: var(--campack-surface-2) !important;
  color: var(--campack-text) !important;
  border-color: var(--campack-border) !important;
}

body[data-campack-theme="dark"] input::placeholder,
body[data-campack-theme="dark"] textarea::placeholder {
  color: var(--campack-muted) !important;
}

body[data-campack-theme="dark"] .campack-category-pills span,
body[data-campack-theme="dark"] .campack-detail-badges span,
body[data-campack-theme="dark"] .campack-chip {
  background: var(--campack-surface-2) !important;
  border-color: var(--campack-border) !important;
  color: var(--campack-text) !important;
}


/* W12-02: dark mode phase 1.1 surface polish */
body[data-campack-theme="dark"] .campack-storefront,
body[data-campack-theme="dark"] .campack-storefront--home,
body[data-campack-theme="dark"] .campack-product-section,
body[data-campack-theme="dark"] .campack-product-section--home,
body[data-campack-theme="dark"] .campack-product-grid,
body[data-campack-theme="dark"] .campack-grid,
body[data-campack-theme="dark"] .campack-home-hero,
body[data-campack-theme="dark"] .campack-prime-hero,
body[data-campack-theme="dark"] .campack-category-hero,
body[data-campack-theme="dark"] .campack-detail-hero,
body[data-campack-theme="dark"] .campack-detail-panel,
body[data-campack-theme="dark"] .campack-detail-panels,
body[data-campack-theme="dark"] .campack-detail-panels--product-info,
body[data-campack-theme="dark"] .campack-detail-content,
body[data-campack-theme="dark"] .campack-order-status-card,
body[data-campack-theme="dark"] .campack-order-status-card--summary,
body[data-campack-theme="dark"] .campack-order-status-card--missing,
body[data-campack-theme="dark"] .vm-category,
body[data-campack-theme="dark"] .vm-product,
body[data-campack-theme="dark"] .vm-category-description,
body[data-campack-theme="dark"] .productdetails-view,
body[data-campack-theme="dark"] .browse-view,
body[data-campack-theme="dark"] .campack-card,
body[data-campack-theme="dark"] .campack-storefront .campack-card,
body[data-campack-theme="dark"] .campack-showcase,
body[data-campack-theme="dark"] .campack-cta,
body[data-campack-theme="dark"] .campack-hero__card,
body[data-campack-theme="dark"] .campack-offer-card,
body[data-campack-theme="dark"] .campack-prime-hero__offers article,
body[data-campack-theme="dark"] .campack-detail-summary,
body[data-campack-theme="dark"] .campack-specs,
body[data-campack-theme="dark"] .campack-spec-list,
body[data-campack-theme="dark"] .campack-spec-list div,
body[data-campack-theme="dark"] .campack-detail-points > div,
body[data-campack-theme="dark"] .campack-detail-richtext,
body[data-campack-theme="dark"] .campack-product-video,
body[data-campack-theme="dark"] .campack-detail-media,
body[data-campack-theme="dark"] .campack-detail-media__frame {
  background: var(--campack-surface) !important;
  color: var(--campack-text) !important;
  border-color: var(--campack-border) !important;
}

body[data-campack-theme="dark"] .campack-storefront .campack-card,
body[data-campack-theme="dark"] .campack-product-section .campack-card,
body[data-campack-theme="dark"] .campack-product-section--home .campack-card,
body[data-campack-theme="dark"] .campack-card__body,
body[data-campack-theme="dark"] .campack-detail-copy,
body[data-campack-theme="dark"] .campack-detail-summary,
body[data-campack-theme="dark"] .campack-detail-panel,
body[data-campack-theme="dark"] .campack-product-video,
body[data-campack-theme="dark"] .campack-home-hero__facts li,
body[data-campack-theme="dark"] .campack-prime-hero__chips span,
body[data-campack-theme="dark"] .campack-category-pills span,
body[data-campack-theme="dark"] .campack-detail-badges span {
  background: var(--campack-surface-2) !important;
  border-color: var(--campack-border) !important;
}

body[data-campack-theme="dark"] .campack-hero::before,
body[data-campack-theme="dark"] .campack-category-hero::before,
body[data-campack-theme="dark"] .campack-detail-hero::before,
body[data-campack-theme="dark"] .campack-hero::after,
body[data-campack-theme="dark"] .campack-prime-hero::before,
body[data-campack-theme="dark"] .campack-prime-hero::after {
  opacity: 0.22 !important;
}

body[data-campack-theme="dark"] h1,
body[data-campack-theme="dark"] h2,
body[data-campack-theme="dark"] h3,
body[data-campack-theme="dark"] h4,
body[data-campack-theme="dark"] .campack-card h3,
body[data-campack-theme="dark"] .campack-card h3 a,
body[data-campack-theme="dark"] .campack-detail-copy h1,
body[data-campack-theme="dark"] .campack-category-hero h1,
body[data-campack-theme="dark"] .campack-hero h1,
body[data-campack-theme="dark"] .campack-prime-hero h1,
body[data-campack-theme="dark"] .vm-category-title {
  color: var(--campack-text) !important;
}

body[data-campack-theme="dark"] p,
body[data-campack-theme="dark"] li,
body[data-campack-theme="dark"] dd,
body[data-campack-theme="dark"] dt,
body[data-campack-theme="dark"] .campack-card p,
body[data-campack-theme="dark"] .campack-card__meta,
body[data-campack-theme="dark"] .campack-detail-lead,
body[data-campack-theme="dark"] .campack-category-copy,
body[data-campack-theme="dark"] .campack-detail-features li,
body[data-campack-theme="dark"] .campack-detail-summary span,
body[data-campack-theme="dark"] .campack-prime-hero__copy p:not(.campack-prime-hero__label),
body[data-campack-theme="dark"] .campack-home-hero__lead {
  color: var(--campack-muted) !important;
}

body[data-campack-theme="dark"] .campack-card__button,
body[data-campack-theme="dark"] .campack-card__ghost,
body[data-campack-theme="dark"] .campack-btn,
body[data-campack-theme="dark"] .campack-btn--primary,
body[data-campack-theme="dark"] .addtocart-button,
body[data-campack-theme="dark"] button.addtocart-button,
body[data-campack-theme="dark"] .productdetails-view .addtocart-area .addtocart-button,
body[data-campack-theme="dark"] .browse-view .addtocart-area .addtocart-button {
  background: var(--campack-accent) !important;
  border-color: var(--campack-accent) !important;
  color: #10251d !important;
}

body[data-campack-theme="dark"] .campack-card__ghost,
body[data-campack-theme="dark"] .campack-btn--ghost,
body[data-campack-theme="dark"] .campack-btn--ghost-dark {
  background: transparent !important;
  border-color: var(--campack-border) !important;
  color: var(--campack-text) !important;
}

body[data-campack-theme="dark"] .product-price,
body[data-campack-theme="dark"] .PricesalesPrice,
body[data-campack-theme="dark"] .campack-price,
body[data-campack-theme="dark"] .campack-detail-summary__price,
body[data-campack-theme="dark"] .campack-detail-summary__price strong,
body[data-campack-theme="dark"] .campack-card__price,
body[data-campack-theme="dark"] .campack-card__meta span:last-child {
  color: var(--campack-warm) !important;
}

body[data-campack-theme="dark"] .campack-stock,
body[data-campack-theme="dark"] .campack-stock.is-in-stock {
  color: var(--campack-success) !important;
  background: rgba(43, 212, 121, 0.12) !important;
  border-color: rgba(43, 212, 121, 0.35) !important;
}

body[data-campack-theme="dark"] .campack-detail-media__frame,
body[data-campack-theme="dark"] .campack-card__media,
body[data-campack-theme="dark"] .campack-card__media img,
body[data-campack-theme="dark"] .campack-detail-media__frame img,
body[data-campack-theme="dark"] .campack-float-card img,
body[data-campack-theme="dark"] .campack-footer-logo,
body[data-campack-theme="dark"] .logo img {
  filter: none !important;
  background: transparent !important;
}


/* W12-03: dark mode hero/logo polish */
body[data-campack-theme="dark"] #sp-header .logo .logo-image,
body[data-campack-theme="dark"] #sp-header .logo .logo-image-phone {
  filter: none !important;
}

body[data-campack-theme="dark"] .campack-storefront--home .campack-home-hero,
body[data-campack-theme="dark"] .campack-prime-hero {
  background: linear-gradient(135deg, #0b2018 0%, #10251d 52%, #142e23 100%) !important;
  border: 1px solid #294639 !important;
  box-shadow: 0 24px 60px rgba(7, 22, 17, 0.45) !important;
}

body[data-campack-theme="dark"] .campack-storefront--home .campack-home-hero__facts li,
body[data-campack-theme="dark"] .campack-storefront--home .campack-offer-card,
body[data-campack-theme="dark"] .campack-prime-hero__chips span,
body[data-campack-theme="dark"] .campack-prime-hero__offers article {
  background: rgba(20, 46, 35, 0.88) !important;
  border-color: #294639 !important;
}

body[data-campack-theme="dark"] .campack-prime-strip article,
body[data-campack-theme="dark"] .campack-prime-cat,
body[data-campack-theme="dark"] .campack-prime-copy,
body[data-campack-theme="dark"] .campack-storefront--home .campack-product-section--home {
  background: #142e23 !important;
  border-color: #294639 !important;
  box-shadow: 0 16px 36px rgba(7, 22, 17, 0.35) !important;
}

body[data-campack-theme="dark"] .campack-home-landing__hero {
  background:
    linear-gradient(90deg, rgba(7, 22, 17, .88) 0%, rgba(7, 22, 17, .78) 38%, rgba(7, 22, 17, .58) 64%, rgba(7, 22, 17, .42) 100%),
    linear-gradient(180deg, rgba(7, 22, 17, .48) 0%, rgba(7, 22, 17, .72) 100%),
    url('/images/campack/hero/hero-main.jpg') center center / cover no-repeat,
    url('/templates/shaper_helixultimate/images/campack/hero-camp-scene.svg') center center / cover no-repeat !important;
  border: 1px solid #294639 !important;
  box-shadow: 0 24px 60px rgba(7, 22, 17, 0.5) !important;
}

body[data-campack-theme="dark"] .campack-home-landing__hero::after {
  background: linear-gradient(180deg, rgba(7,22,17,.24) 0%, rgba(7,22,17,.54) 100%) !important;
}

/* W12-08: dark header logo no-shift stabilization (light mode untouched) */
body[data-campack-theme=dark] #sp-header #sp-logo .logo,
body[data-campack-theme=dark] #sp-header #sp-logo .logo > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Keep dark logo inside the same 36x36 visual box as light mode to avoid header/nav shift */
body[data-campack-theme=dark] #sp-header .logo .logo-image,
body[data-campack-theme=dark] #sp-header .logo .logo-image-phone {
  width: 36px !important;
  height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  object-fit: contain !important;
  margin: 0 !important;
  vertical-align: middle !important;
}

@media (max-width: 767px) {
  body[data-campack-theme=dark] #sp-header .logo .logo-image,
  body[data-campack-theme=dark] #sp-header .logo .logo-image-phone {
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
  }
}

/* W12-09: dark logo size/position only (light mode untouched) */
body[data-campack-theme=dark] #sp-header .logo .logo-image,
body[data-campack-theme=dark] #sp-header .logo .logo-image-phone {
  width: auto !important;
  height: auto !important;
  max-width: 104px !important;
  max-height: 40px !important;
  object-fit: contain !important;
  transform: translateY(-6%) !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 767px) {
  body[data-campack-theme=dark] #sp-header .logo .logo-image,
  body[data-campack-theme=dark] #sp-header .logo .logo-image-phone {
    max-width: 96px !important;
    max-height: 38px !important;
  }
}
/* MANUAL FINAL: dark header real logo tuning only */
body[data-campack-theme="dark"] #sp-header .logo .logo-image,
body[data-campack-theme="dark"] #sp-header .logo .logo-image-phone {
  width: 71px !important;
  max-width: 71px !important;
  height: auto !important;
  max-height: 38px !important;
  object-fit: contain !important;
  transform: translate(3px, -13px) !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* DARK MODE: Joomla com_content/article pages */
body[data-campack-theme="dark"].com_content #sp-main-body,
body[data-campack-theme="dark"].com_content #sp-main,
body[data-campack-theme="dark"].com_content #sp-component {
  background: #071611 !important;
  color: #eaf3ea !important;
}

body[data-campack-theme="dark"].com_content .item-page,
body[data-campack-theme="dark"].com_content article.item-page,
body[data-campack-theme="dark"].com_content .item-page.campack-static-page,
body[data-campack-theme="dark"].com_content .campack-static-page .campack-static-content {
  background: #10251d !important;
  color: #eaf3ea !important;
  border-color: #294639 !important;
  box-shadow: 0 16px 40px rgba(7, 22, 17, 0.35) !important;
}

body[data-campack-theme="dark"].com_content .campack-static-page .campack-doc-section,
body[data-campack-theme="dark"].com_content .item-page .card,
body[data-campack-theme="dark"].com_content .item-page .well,
body[data-campack-theme="dark"].com_content .item-page .panel,
body[data-campack-theme="dark"].com_content .item-page .sppb-addon,
body[data-campack-theme="dark"].com_content .item-page .sppb-addon-content {
  background: #142e23 !important;
  color: #eaf3ea !important;
  border-color: #294639 !important;
  box-shadow: none !important;
}

body[data-campack-theme="dark"].com_content .item-page h1,
body[data-campack-theme="dark"].com_content .item-page h2,
body[data-campack-theme="dark"].com_content .item-page h3,
body[data-campack-theme="dark"].com_content .item-page h4,
body[data-campack-theme="dark"].com_content .item-page strong {
  color: #eaf3ea !important;
}

body[data-campack-theme="dark"].com_content .item-page p,
body[data-campack-theme="dark"].com_content .item-page li,
body[data-campack-theme="dark"].com_content .item-page td,
body[data-campack-theme="dark"].com_content .item-page th,
body[data-campack-theme="dark"].com_content .item-page span {
  color: #b7c7bc !important;
}

body[data-campack-theme="dark"].com_content .item-page a {
  color: #ffc36a !important;
}

body[data-campack-theme="dark"].com_content .item-page a:hover,
body[data-campack-theme="dark"].com_content .item-page a:focus {
  color: #ff7a3d !important;
}

body[data-campack-theme="dark"].com_content .item-page hr {
  border-color: #294639 !important;
}

/* DARK MODE: home hero underlay (keep media unchanged) */
body[data-campack-theme="dark"] .campack-storefront--home .campack-home-landing,
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero,
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .mod-sppagebuilder,
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .sp-page-builder,
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .page-content,
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .sppb-section,
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .sppb-row-container,
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .sppb-row,
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .sppb-column,
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .sppb-column-addons {
  background: #10251d !important;
  border-color: #294639 !important;
}

body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .addon-root-video .sppb-addon,
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .addon-root-video .sppb-addon-video,
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .addon-root-video .sppb-addon-video-local-video-wrap,
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .addon-root-video .sppb-video-block,
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .addon-root-video .sppb-embed-responsive {
  background: #142e23 !important;
  border-color: #294639 !important;
  box-shadow: 0 18px 38px rgba(7, 22, 17, 0.42) !important;
}

/* DARK MODE: home hero text contrast */
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .sppb-addon-title,
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .sppb-addon-title span,
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .sppb-addon-title a {
  color: #eaf3ea !important;
}

body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .sppb-addon-text-block .sppb-addon-content,
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .sppb-addon-text-block .sppb-addon-content p,
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .sppb-addon-text-block .sppb-addon-content li,
body[data-campack-theme="dark"] .campack-storefront--home .campack-module-zone--home-hero .sppb-addon-text-block .sppb-addon-content span {
  color: #b7c7bc !important;
}

[data-campack-theme-image] {
  transition: opacity .18s ease;
}

/* W12-13: dark mode price badge polish */
body[data-campack-theme="dark"] .campack-detail-summary div {
  background: var(--campack-surface-2) !important;
  border: 1px solid var(--campack-border) !important;
  box-shadow: none !important;
}

body[data-campack-theme="dark"] .campack-detail-summary__price {
  background: linear-gradient(140deg, #142e23 0%, #10251d 100%) !important;
  border: 1px solid #294639 !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(255, 195, 106, 0.12) !important;
}

body[data-campack-theme="dark"] .campack-detail-summary__price span {
  color: #b7c7bc !important;
}

body[data-campack-theme="dark"] .campack-detail-summary__price strong {
  color: #ffc36a !important;
  text-shadow: none !important;
}

/* W12-14: home hero day/night video */
.campack-hero-video {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: inherit;
  background: #10251d;
}

@media (max-width: 767px) {
  .campack-hero-video {
    width: 100% !important;
    height: auto !important;
    object-fit: cover;
  }
}

/* W12-15: mobile topbar simplified to [theme][phone][cart] */
@media (max-width: 767px) {
  .campack-utility,
  .campack-utility .container,
  .campack-utility__inner {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .campack-utility__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    min-height: 36px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    white-space: nowrap !important;
    flex-wrap: nowrap !important;
    position: relative !important;
  }

  .campack-utility__contacts {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 86px 0 44px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }

  .campack-utility__contacts > *,
  .campack-utility__actions > * {
    display: none !important;
  }

  .campack-utility__contacts > a[href^="tel:"],
  .campack-utility__contacts > span:first-child {
    display: inline-flex !important;
    order: initial !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    justify-content: center !important;
    text-align: center !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .campack-utility__actions {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    pointer-events: none !important;
    white-space: nowrap !important;
  }

  .campack-utility__actions > a.campack-menu-cart-link,
  .campack-utility__actions > a[href*="/index.php/cart"],
  .campack-utility__actions > a[href*="/cart"],
  .campack-utility__actions > .campack-theme-toggle {
    display: inline-flex !important;
    align-items: center !important;
    pointer-events: auto !important;
  }

  .campack-utility__actions > .campack-theme-toggle {
    order: initial !important;
    flex: 0 0 auto !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    margin: 0 !important;
  }

  .campack-utility__actions > a.campack-menu-cart-link,
  .campack-utility__actions > a[href*="/index.php/cart"],
  .campack-utility__actions > a[href*="/cart"] {
    order: initial !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    margin: 0 !important;
  }

  body[data-campack-theme="dark"] #offcanvas-toggler,
  body[data-campack-theme="dark"] .offcanvas-toggler,
  body[data-campack-theme="dark"] #offcanvas-toggler .burger-icon,
  body[data-campack-theme="dark"] .offcanvas-toggler .burger-icon {
    color: #eaf3ea !important;
  }

  body[data-campack-theme="dark"] #offcanvas-toggler .burger-icon span,
  body[data-campack-theme="dark"] .offcanvas-toggler .burger-icon span,
  body[data-campack-theme="dark"] #offcanvas-toggler .burger-icon::before,
  body[data-campack-theme="dark"] #offcanvas-toggler .burger-icon::after,
  body[data-campack-theme="dark"] .offcanvas-toggler .burger-icon::before,
  body[data-campack-theme="dark"] .offcanvas-toggler .burger-icon::after {
    background-color: #eaf3ea !important;
    border-color: #eaf3ea !important;
  }
}

/* W12-16: explicit light logo reset after dark->light toggle (mobile Safari) */
html[data-campack-theme="light"] #sp-header .logo .logo-image,
html[data-campack-theme="light"] #sp-header .logo .logo-image-phone,
body[data-campack-theme="light"] #sp-header .logo .logo-image,
body[data-campack-theme="light"] #sp-header .logo .logo-image-phone,
html:not([data-campack-theme="dark"]) #sp-header .logo .logo-image,
html:not([data-campack-theme="dark"]) #sp-header .logo .logo-image-phone,
body:not([data-campack-theme="dark"]) #sp-header .logo .logo-image,
body:not([data-campack-theme="dark"]) #sp-header .logo .logo-image-phone {
  opacity: 1 !important;
  visibility: visible !important;
}


.campack-old-price {
  display: block;
  margin: 0 0 4px;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 600;
  color: rgba(12, 52, 36, 0.52);
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
  text-decoration-color: currentColor;
  white-space: nowrap;
}

body[data-campack-theme="dark"] .campack-old-price {
  color: rgba(183, 199, 188, 0.72);
}

@media (max-width: 767px) {
  .campack-old-price {
    font-size: 13px;
    margin-bottom: 3px;
  }
}

/* W14: product detail old price layout polish */
.campack-detail-summary__price-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.campack-detail-summary__price-top > span:first-child {
  flex: 0 0 auto;
}

.campack-detail-summary__price .campack-old-price {
  display: inline-block;
  margin: 0;
  padding-left: 8px;
  font-size: 19px;
  line-height: 1.08;
  font-weight: 700;
  color: #d74a3f;
  text-decoration: line-through;
  text-decoration-thickness: 1.7px;
  text-decoration-color: currentColor;
  white-space: nowrap;
}

.campack-detail-summary__price strong {
  margin-top: 9px;
}

body[data-campack-theme="dark"] .campack-detail-summary__price .campack-old-price {
  color: #ff7e72;
}

@media (max-width: 767px) {
  .campack-detail-summary__price-top {
    gap: 8px;
  }

  .campack-detail-summary__price .campack-old-price {
    font-size: 15px;
    padding-left: 6px;
  }
}


/* CAMPACK: mobile logo final theme state fix START */
@media (max-width: 767px) {
  :root {
    --campack-mobile-light-logo-width: 68px;
    --campack-mobile-light-logo-x: 0px;
    --campack-mobile-light-logo-y: 0px;
  }

  /* Light/default mobile logo */
  html[data-campack-theme="light"] .logo,
  body[data-campack-theme="light"] .logo,
  html:not([data-campack-theme="dark"]) .logo,
  body:not([data-campack-theme="dark"]) .logo {
    overflow: visible !important;
    min-width: var(--campack-mobile-light-logo-width) !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
  }

  html[data-campack-theme="light"] img.logo-image-phone,
  body[data-campack-theme="light"] img.logo-image-phone,
  html:not([data-campack-theme="dark"]) img.logo-image-phone,
  body:not([data-campack-theme="dark"]) img.logo-image-phone {
    display: inline-block !important;
    width: var(--campack-mobile-light-logo-width) !important;
    min-width: 0 !important;
    max-width: var(--campack-mobile-light-logo-width) !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(
      var(--campack-mobile-light-logo-x),
      var(--campack-mobile-light-logo-y)
    ) !important;
  }

  /* Hard reset: hide any dark/white logo while theme is light/default */
  html[data-campack-theme="light"] .campack-header-logo__img--dark,
  body[data-campack-theme="light"] .campack-header-logo__img--dark,
  html:not([data-campack-theme="dark"]) .campack-header-logo__img--dark,
  body:not([data-campack-theme="dark"]) .campack-header-logo__img--dark,
  html[data-campack-theme="light"] .logo-image-dark,
  body[data-campack-theme="light"] .logo-image-dark,
  html:not([data-campack-theme="dark"]) .logo-image-dark,
  body:not([data-campack-theme="dark"]) .logo-image-dark,
  html[data-campack-theme="light"] [data-campack-logo-dark],
  body[data-campack-theme="light"] [data-campack-logo-dark],
  html:not([data-campack-theme="dark"]) [data-campack-logo-dark],
  body:not([data-campack-theme="dark"]) [data-campack-logo-dark] {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}
/* CAMPACK: mobile logo final theme state fix END */

.campack-product-bottom-cta {
  margin: 32px 0 0;
  padding: 24px;
  border: 1px solid rgba(12, 52, 36, 0.12);
  border-radius: 24px;
  background: #fffaf2;
  text-align: center;
}

.campack-product-bottom-cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 34px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #ffb15c 0%, #ff6f3d 100%);
  color: #0c3424;
  font-weight: 800;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 14px 30px rgba(255, 111, 61, 0.22);
}

.campack-product-bottom-cta__button:hover {
  transform: translateY(-1px);
}

body[data-campack-theme="dark"] .campack-product-bottom-cta {
  background: #10251D;
  border-color: #294639;
}

body[data-campack-theme="dark"] .campack-product-bottom-cta__button {
  background: #FF7A3D;
  color: #10251D;
}

@media (max-width: 767px) {
  .campack-product-bottom-cta {
    margin-top: 24px;
    padding: 18px;
    border-radius: 20px;
  }

  .campack-product-bottom-cta__button {
    width: 100%;
    min-height: 54px;
    padding: 0 22px;
  }
}

/* CAMPACK: dark cart items panel fix START */
body[data-campack-theme="dark"] .campack-cart-list,
body[data-campack-theme="dark"] .campack-cart-table,
body[data-campack-theme="dark"] .campack-cart-table__head,
body[data-campack-theme="dark"] .campack-cart-row,
body[data-campack-theme="dark"] .campack-cart-row > div,
body[data-campack-theme="dark"] .campack-cart-row__product,
body[data-campack-theme="dark"] .campack-cart-row form,
body[data-campack-theme="dark"] .cart-view .campack-cart-list,
body[data-campack-theme="dark"] .cart-view .campack-cart-table,
body[data-campack-theme="dark"] .cart-view .campack-cart-table__head,
body[data-campack-theme="dark"] .cart-view .campack-cart-row {
  background: #10251D !important;
  color: #EAF3EA !important;
  border-color: #294639 !important;
  box-shadow: none !important;
}

body[data-campack-theme="dark"] .campack-cart-list h1,
body[data-campack-theme="dark"] .campack-cart-list h2,
body[data-campack-theme="dark"] .campack-cart-list h3,
body[data-campack-theme="dark"] .campack-cart-row strong {
  color: #EAF3EA !important;
}

body[data-campack-theme="dark"] .campack-cart-table__head,
body[data-campack-theme="dark"] .campack-cart-table__head span,
body[data-campack-theme="dark"] .campack-cart-row__product span {
  color: #B7C7BC !important;
}

body[data-campack-theme="dark"] .campack-cart-row div,
body[data-campack-theme="dark"] .campack-cart-row span,
body[data-campack-theme="dark"] .campack-cart-row em,
body[data-campack-theme="dark"] .campack-cart-row a {
  color: #EAF3EA !important;
}

body[data-campack-theme="dark"] .campack-cart-row .campack-link-button {
  color: #FFC36A !important;
}

body[data-campack-theme="dark"] .campack-cart-row > div:nth-child(2),
body[data-campack-theme="dark"] .campack-cart-row > div:nth-child(4) {
  color: #FFC36A !important;
}

body[data-campack-theme="dark"] .campack-qty {
  background: #142E23 !important;
  border: 1px solid #294639 !important;
}
/* CAMPACK: dark cart items panel fix END */

/* CAMPACK: mobile cart composition layout fix START */
@media (max-width: 767px) {
  .campack-cart-table__head {
    display: none !important;
  }

  .campack-cart-row {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid rgba(12, 52, 36, 0.12) !important;
  }

  .campack-cart-row > div {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    width: 100% !important;
    padding: 8px 0 !important;
    min-width: 0 !important;
  }

  .campack-cart-row > div::before {
    flex: 0 0 auto;
    color: #6f7d73;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .04em;
  }

  .campack-cart-row > div:nth-child(1) {
    display: block !important;
    padding-top: 2px !important;
  }

  .campack-cart-row > div:nth-child(1)::before {
    content: 'Товар';
    display: block;
    margin-bottom: 8px;
  }

  .campack-cart-row > div:nth-child(2)::before {
    content: 'Цена';
  }

  .campack-cart-row > div:nth-child(3)::before {
    content: 'Количество';
  }

  .campack-cart-row > div:nth-child(4)::before {
    content: 'Сумма';
  }

  .campack-cart-row > div:nth-child(5) {
    justify-content: flex-end !important;
    padding-top: 10px !important;
  }

  .campack-cart-row > div:nth-child(5)::before {
    content: '';
  }

  .campack-cart-row__product strong {
    display: block;
    font-size: 18px;
    line-height: 1.35;
    color: #1f2d26;
  }

  .campack-cart-row .campack-qty {
    margin-left: auto;
    gap: 8px;
  }

  .campack-cart-row .campack-qty span {
    min-width: 18px;
    text-align: center;
  }

  .campack-cart-row .campack-link-button {
    min-height: 36px;
    padding: 0 12px;
  }
}

@media (max-width: 767px) {
  body[data-campack-theme="dark"] .campack-cart-row {
    border-bottom-color: #294639 !important;
  }

  body[data-campack-theme="dark"] .campack-cart-row > div::before {
    color: #b7c7bc !important;
  }

  body[data-campack-theme="dark"] .campack-cart-row__product strong {
    color: #eaf3ea !important;
  }
}
/* CAMPACK: mobile cart composition layout fix END */

/* CAMPACK: premium hero day-night switch START */
.campack-hero-theme-switch {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 14px 0 20px;
  text-align: center;
}

.campack-hero-theme-switch__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  color: inherit;
  -webkit-tap-highlight-color: transparent;
}

.campack-hero-theme-switch__label {
  display: inline-flex;
  align-items: center;
  min-width: 190px;
  justify-content: flex-end;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 800;
  color: #0c3424;
  white-space: nowrap;
}

.campack-hero-theme-switch__label-night {
  display: none;
}

.campack-hero-theme-switch__track {
  position: relative;
  display: block;
  width: 210px;
  height: 76px;
  border-radius: 999px;
  overflow: hidden;
  isolation: isolate;
  box-shadow:
    0 16px 34px rgba(12, 52, 36, .16),
    inset 0 2px 4px rgba(255,255,255,.65),
    inset 0 -6px 12px rgba(0,0,0,.12);
  transition: transform .25s ease, box-shadow .25s ease;
}

.campack-hero-theme-switch__button:hover .campack-hero-theme-switch__track,
.campack-hero-theme-switch__button:focus .campack-hero-theme-switch__track {
  transform: translateY(-1px);
  box-shadow:
    0 20px 42px rgba(12, 52, 36, .20),
    inset 0 2px 4px rgba(255,255,255,.7),
    inset 0 -6px 12px rgba(0,0,0,.14);
}

.campack-hero-theme-switch__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition:
    opacity .48s cubic-bezier(.22,.61,.36,1),
    filter .48s cubic-bezier(.22,.61,.36,1),
    transform .48s cubic-bezier(.22,.61,.36,1);
  z-index: 1;
}

.campack-hero-theme-switch__bg--day {
  background-image: url('/images/campack/ui/theme-switch/day.png');
  opacity: 1;
  filter: brightness(1);
  transform: scale(1);
}

.campack-hero-theme-switch__bg--night {
  background-image: url('/images/campack/ui/theme-switch/night.png');
  opacity: 0;
  filter: brightness(.82);
  transform: scale(1.02);
}

.campack-hero-theme-switch__thumb {
  position: absolute;
  left: 10px;
  top: 50%;
  z-index: 3;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  transform: translate3d(0, -50%, 0);
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.95), rgba(255,255,255,.76) 42%, rgba(255,255,255,.45) 100%);
  box-shadow:
    0 8px 20px rgba(0,0,0,.22),
    inset 0 2px 5px rgba(255,255,255,.85),
    inset 0 -5px 10px rgba(0,0,0,.12);
  transition:
    transform .56s cubic-bezier(.22,1,.36,1),
    background .48s ease,
    box-shadow .48s ease;
}

.campack-hero-theme-switch__icon {
  position: absolute;
  inset: 8px;
  width: calc(100% - 16px);
  height: calc(100% - 16px);
  object-fit: contain;
  transition:
    opacity .36s ease,
    transform .56s cubic-bezier(.22,1,.36,1),
    filter .36s ease;
}

.campack-hero-theme-switch__icon--sun {
  opacity: 1;
  transform: scale(1) rotate(0deg);
  filter: drop-shadow(0 0 10px rgba(255, 205, 64, .65));
}

.campack-hero-theme-switch__icon--moon {
  opacity: 0;
  transform: scale(.75) rotate(-18deg);
  filter: drop-shadow(0 0 10px rgba(200, 220, 255, .55));
}

html[data-campack-theme="dark"] .campack-hero-theme-switch__label,
body[data-campack-theme="dark"] .campack-hero-theme-switch__label {
  color: #EAF3EA;
}

html[data-campack-theme="dark"] .campack-hero-theme-switch__label-day,
body[data-campack-theme="dark"] .campack-hero-theme-switch__label-day {
  display: none;
}

html[data-campack-theme="dark"] .campack-hero-theme-switch__label-night,
body[data-campack-theme="dark"] .campack-hero-theme-switch__label-night {
  display: inline;
}

html[data-campack-theme="dark"] .campack-hero-theme-switch__bg--day,
body[data-campack-theme="dark"] .campack-hero-theme-switch__bg--day {
  opacity: 0;
  filter: brightness(.9);
  transform: scale(1.02);
}

html[data-campack-theme="dark"] .campack-hero-theme-switch__bg--night,
body[data-campack-theme="dark"] .campack-hero-theme-switch__bg--night {
  opacity: 1;
  filter: brightness(1);
  transform: scale(1);
}

html[data-campack-theme="dark"] .campack-hero-theme-switch__thumb,
body[data-campack-theme="dark"] .campack-hero-theme-switch__thumb {
  transform: translate3d(134px, -50%, 0);
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.92), rgba(212,225,245,.72) 46%, rgba(150,170,210,.42) 100%);
  box-shadow:
    0 8px 24px rgba(0,0,0,.36),
    0 0 22px rgba(150,190,255,.24),
    inset 0 2px 5px rgba(255,255,255,.78),
    inset 0 -5px 10px rgba(0,0,0,.18);
}

html[data-campack-theme="dark"] .campack-hero-theme-switch__icon--sun,
body[data-campack-theme="dark"] .campack-hero-theme-switch__icon--sun {
  opacity: 0;
  transform: scale(.72) rotate(26deg);
}

html[data-campack-theme="dark"] .campack-hero-theme-switch__icon--moon,
body[data-campack-theme="dark"] .campack-hero-theme-switch__icon--moon {
  opacity: 1;
  transform: scale(1) rotate(0deg);
}

@media (max-width: 767px) {
  .campack-hero-theme-switch {
    margin: 12px 0 18px;
    padding: 0 12px;
  }

  .campack-hero-theme-switch__button {
    flex-direction: column;
    gap: 10px;
  }

  .campack-hero-theme-switch__label {
    min-width: 0;
    justify-content: center;
    font-size: 14px;
  }

  .campack-hero-theme-switch__track {
    width: 176px;
    height: 64px;
  }

  .campack-hero-theme-switch__thumb {
    width: 48px;
    height: 48px;
    left: 8px;
  }

  .campack-hero-theme-switch__icon {
    inset: 7px;
    width: calc(100% - 14px);
    height: calc(100% - 14px);
  }

  html[data-campack-theme="dark"] .campack-hero-theme-switch__thumb,
  body[data-campack-theme="dark"] .campack-hero-theme-switch__thumb {
    transform: translate3d(112px, -50%, 0);
  }
}
/* CAMPACK: premium hero day-night switch END */

/* CAMPACK: premium hero switch compact override START */
.campack-hero-theme-switch {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 12px 0 18px !important;
  text-align: center !important;
}

.campack-hero-theme-switch__button {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
}

.campack-hero-theme-switch__label {
  min-width: 0 !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

.campack-hero-theme-switch__track {
  width: 105px !important;
  height: 38px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
}

.campack-hero-theme-switch__thumb {
  left: 5px !important;
  width: 28px !important;
  height: 28px !important;
  transform: translate3d(0, -50%, 0) !important;
  overflow: hidden !important;
}

.campack-hero-theme-switch__icon {
  inset: 8px !important;
  width: calc(100% - 16px) !important;
  height: calc(100% - 16px) !important;
  max-width: calc(100% - 16px) !important;
  max-height: calc(100% - 16px) !important;
  object-fit: contain !important;
}

html[data-campack-theme="dark"] .campack-hero-theme-switch__thumb,
body[data-campack-theme="dark"] .campack-hero-theme-switch__thumb {
  transform: translate3d(64px, -50%, 0) !important;
}

@media (max-width: 767px) {
  .campack-hero-theme-switch {
    margin: 10px 0 16px !important;
    padding: 0 12px !important;
  }

  .campack-hero-theme-switch__label {
    font-size: 13px !important;
  }

  .campack-hero-theme-switch__track {
    width: 112px !important;
    height: 40px !important;
  }

  .campack-hero-theme-switch__thumb {
    left: 5px !important;
    width: 30px !important;
    height: 30px !important;
  }

  .campack-hero-theme-switch__icon {
    inset: 8px !important;
    width: calc(100% - 16px) !important;
    height: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    max-height: calc(100% - 16px) !important;
    object-fit: contain !important;
  }

  html[data-campack-theme="dark"] .campack-hero-theme-switch__thumb,
  body[data-campack-theme="dark"] .campack-hero-theme-switch__thumb {
    transform: translate3d(72px, -50%, 0) !important;
  }
}
/* CAMPACK: premium hero switch compact override END */

/* CAMPACK: home bottom rutube videos START */
.campack-home-rutube-videos {
  width: 100%;
  margin: 36px auto 0;
  padding: 28px;
  border: 1px solid rgba(12, 52, 36, 0.12);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.72);
}

.campack-home-rutube-videos__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  align-items: stretch;
}

.campack-home-rutube-videos__item {
  min-width: 0;
}

.campack-home-rutube-videos__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 20px;
  background: #eef2ee;
  box-shadow: 0 18px 38px rgba(12, 52, 36, 0.10);
}

.campack-home-rutube-videos__frame iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

body[data-campack-theme="dark"] .campack-home-rutube-videos {
  background: #10251D;
  border-color: #294639;
}

body[data-campack-theme="dark"] .campack-home-rutube-videos__frame {
  background: #071611;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

@media (max-width: 991px) {
  .campack-home-rutube-videos__grid {
    gap: 18px;
  }
}

@media (max-width: 767px) {
  .campack-home-rutube-videos {
    margin-top: 26px;
    padding: 16px;
    border-radius: 22px;
  }

  .campack-home-rutube-videos__grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .campack-home-rutube-videos__frame {
    border-radius: 16px;
  }
}
/* CAMPACK: home bottom rutube videos END */
