/* STX Catalog Pro v4.1 */
.stxcp-catalog{max-width:1320px;margin:0 auto;padding:28px 18px;background:var(--stxcp-page-bg,#fff);color:var(--stxcp-card-text,#111827)}
.stxcp-header{margin-bottom:24px}.stxcp-header h2{font-size:2.2rem;margin:0 0 8px}.stxcp-header p{max-width:800px;color:var(--stxcp-muted,#6b7280)}
.stxcp-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.stxcp-tools input,.stxcp-tools select{padding:12px 14px;border:1px solid var(--stxcp-border,#e5e7eb);border-radius:8px;min-width:180px}
.stxcp-grid{display:grid;gap:22px}.stxcp-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.stxcp-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.stxcp-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stxcp-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.stxcp-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.stxcp-card{background:var(--stxcp-card-bg,#fff);border:1px solid var(--stxcp-border,#e5e7eb);border-radius:var(--stxcp-radius,14px);overflow:hidden;box-shadow:0 10px 30px rgba(15,23,42,.08)}
.stxcp-card-image{background:#f8fafc;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-weight:700}.stxcp-ratio-square{height:220px}.stxcp-ratio-wide{height:170px}.stxcp-ratio-tall{height:280px}.stxcp-card-image img{width:100%;height:100%;object-fit:contain;padding:10px}
.stxcp-card-body{padding:16px}.stxcp-card-body h3{font-size:1rem;line-height:1.25;margin:10px 0;color:var(--stxcp-card-text,#111827)}.stxcp-meta,.stxcp-msrp,.stxcp-desc{color:var(--stxcp-muted,#6b7280);font-size:.9rem;margin:5px 0}.stxcp-badge{display:inline-block;background:#f3f4f6;border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:900;color:#374151}.stxcp-price{font-size:1.35rem;font-weight:900;margin:10px 0}.stxcp-save{color:#047857;font-weight:800}.stxcp-button{display:inline-block;background:var(--stxcp-primary,#111827);color:var(--stxcp-btn-text,#fff)!important;text-decoration:none;border-radius:9px;padding:10px 14px;font-weight:900;margin-top:10px}
.stxcp-layout-list .stxcp-grid{display:flex;flex-direction:column}.stxcp-layout-list .stxcp-card{display:flex}.stxcp-layout-list .stxcp-card-image{width:220px;min-width:220px;height:180px}
.stxcp-empty{grid-column:1/-1;background:#fffbeb;border:1px solid #f59e0b;border-radius:12px;padding:20px}
.stxcp-product{max-width:1240px;margin:0 auto;padding:28px 18px;background:var(--stxcp-page-bg,#fff);color:var(--stxcp-card-text,#111827)}.stxcp-product-hero{display:grid;grid-template-columns:minmax(280px,48%) 1fr;gap:34px}.stxcp-gallery,.stxcp-summary,.stxcp-section{background:var(--stxcp-card-bg,#fff);border:1px solid var(--stxcp-border,#e5e7eb);border-radius:var(--stxcp-radius,14px);padding:24px}.stxcp-main-img{width:100%;max-height:560px;object-fit:contain}.stxcp-no-img{min-height:360px;display:flex;align-items:center;justify-content:center;background:#f8fafc;color:#9ca3af;font-weight:900}.stxcp-summary h1{font-size:2rem;line-height:1.15;margin:12px 0}.stxcp-product-price{font-size:2rem;font-weight:900;margin:18px 0}.stxcp-section{margin-top:24px}.stxcp-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stxcp-specs div{background:#f8fafc;border-radius:10px;padding:12px}.stxcp-specs strong{display:block;color:var(--stxcp-muted,#6b7280);font-size:.82rem}.stxcp-specs span{font-weight:800}.stxcp-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}.stxcp-disclaimer{background:#fffbeb!important}
@media(max-width:1100px){.stxcp-cols-5,.stxcp-cols-6{grid-template-columns:repeat(4,1fr)}.stxcp-cols-4{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.stxcp-cols-3,.stxcp-cols-4,.stxcp-cols-5,.stxcp-cols-6{grid-template-columns:repeat(2,1fr)}.stxcp-product-hero{grid-template-columns:1fr}.stxcp-layout-list .stxcp-card{display:block}.stxcp-layout-list .stxcp-card-image{width:auto}.stxcp-specs,.stxcp-features{grid-template-columns:1fr}}@media(max-width:560px){.stxcp-grid{grid-template-columns:1fr!important}}

.stxcp-admin-note{background:#eff6ff;border-left:4px solid #2563eb;padding:12px;margin:12px 0;}

.stxcp-subbadge{margin-left:6px;background:#e0f2fe!important;color:#075985!important;}
.stxcp-status-good{color:#047857;font-weight:800}.stxcp-status-warn{color:#b45309;font-weight:800}.stxcp-status-bad{color:#b91c1c;font-weight:800}

.stxcp-result-count{margin:14px 0;color:var(--stx-muted,#64748b);font-weight:700}
.stxcp-tools{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0;align-items:center}
.stxcp-tools input,.stxcp-tools select{padding:11px 12px;border:1px solid var(--stx-border,#e5e7eb);border-radius:10px;min-width:180px}
.stxcp-search-full input[type=search]{flex:1 1 320px}
.stxcp-tools-pill input,.stxcp-tools-pill select,.stxcp-tools-pill .stxcp-button{border-radius:999px}
.stxcp-tools-compact input,.stxcp-tools-compact select{padding:8px 10px;min-width:150px}
.stxcp-pagination{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;margin:22px 0}
.stxcp-page-link{display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:9px 12px;border:1px solid var(--stx-border,#e5e7eb);border-radius:10px;background:#fff;color:var(--stx-text,#0f172a);text-decoration:none;font-weight:800}
.stxcp-page-link.current{background:var(--stx-primary,#111827);color:#fff;border-color:var(--stx-primary,#111827)}
.stxcp-page-status{font-weight:800;color:var(--stx-muted,#64748b)}

.stxcp-catalog{font-family:var(--stx-font-family);font-size:var(--stx-base-font-size);line-height:var(--stx-line-height);max-width:var(--stx-max-width,1200px)}
.stxcp-header h2{font-size:var(--stx-heading-font-size)}
.stxcp-card h3,.stxcp-card-title{font-size:var(--stx-card-title-size)}
.stxcp-product h1,.stxcp-product-title-main{font-size:var(--stx-product-title-size)}
.stxcp-button{font-weight:var(--stx-button-weight)}
.stxcp-card{padding:var(--stx-card-padding)}
.stxcp-card-image{height:var(--stx-card-image-height)}


/* STX Catalog Pro v5.2.3 Automatic Responsive Engine
   One desktop configuration automatically adapts to tablet and mobile. */

.stxcp-catalog,
.stxcp-product,
.stxcp-product-page,
.stxcp-single-product {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--stx-max-width, 1200px);
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(14px, 3vw, 24px);
  padding-right: clamp(14px, 3vw, 24px);
}

.stxcp-catalog *,
.stxcp-product *,
.stxcp-product-page *,
.stxcp-single-product * {
  box-sizing: border-box;
}

.stxcp-grid {
  display: grid;
  gap: var(--stx-card-gap, 24px);
}

/* Desktop respects selected column class */
.stxcp-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.stxcp-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.stxcp-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stxcp-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.stxcp-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.stxcp-tools {
  width: 100%;
}

.stxcp-tools input[type="search"],
.stxcp-tools input[type="text"],
.stxcp-tools select {
  max-width: 100%;
}

.stxcp-card,
.stxcp-product-card {
  min-width: 0;
  overflow: hidden;
}

.stxcp-card img,
.stxcp-product-card img,
.stxcp-card-image img,
.stxcp-product img,
.stxcp-gallery img {
  max-width: 100%;
  height: auto;
}

.stxcp-card-title,
.stxcp-card h3,
.stxcp-card h2 {
  overflow-wrap: anywhere;
}

.stxcp-button,
.stxcp-card button,
.stxcp-card .button,
.stxcp-product button,
.stxcp-product .button {
  text-align: center;
  white-space: normal;
}

/* Product detail layout support */
.stxcp-product-main,
.stxcp-product-top,
.stxcp-product-detail,
.stxcp-product-layout,
.stxcp-single-product-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(18px, 3vw, 36px);
  align-items: start;
}

.stxcp-product-gallery,
.stxcp-product-info,
.stxcp-product-summary,
.stxcp-product-specs,
.stxcp-product-description,
.stxcp-related-grid {
  min-width: 0;
}

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

/* Laptop */
@media (max-width: 1199px) {
  .stxcp-cols-4,
  .stxcp-cols-5,
  .stxcp-cols-6 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

/* Tablet */
@media (max-width: 991px) {
  .stxcp-cols-3,
  .stxcp-cols-4,
  .stxcp-cols-5,
  .stxcp-cols-6 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .stxcp-tools {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .stxcp-tools input,
  .stxcp-tools select,
  .stxcp-tools button,
  .stxcp-tools .stxcp-button {
    width: 100%;
    min-width: 0;
  }

  .stxcp-product-main,
  .stxcp-product-top,
  .stxcp-product-detail,
  .stxcp-product-layout,
  .stxcp-single-product-inner {
    grid-template-columns: 1fr;
  }

  .stxcp-product-gallery {
    order: 1;
  }

  .stxcp-product-info,
  .stxcp-product-summary {
    order: 2;
  }

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

/* Mobile */
@media (max-width: 767px) {
  .stxcp-catalog,
  .stxcp-product,
  .stxcp-product-page,
  .stxcp-single-product {
    padding-left: 12px;
    padding-right: 12px;
  }

  .stxcp-grid,
  .stxcp-cols-2,
  .stxcp-cols-3,
  .stxcp-cols-4,
  .stxcp-cols-5,
  .stxcp-cols-6 {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }

  .stxcp-header h1,
  .stxcp-header h2 {
    font-size: clamp(24px, 7vw, 34px) !important;
    line-height: 1.12;
  }

  .stxcp-header p,
  .stxcp-result-count {
    font-size: 15px;
  }

  .stxcp-tools {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
    padding: 12px;
    background: rgba(248, 250, 252, 0.92);
    border: 1px solid var(--stx-border, #e5e7eb);
    border-radius: 14px;
  }

  .stxcp-tools input,
  .stxcp-tools select,
  .stxcp-tools button,
  .stxcp-tools .stxcp-button,
  .stxcp-tools .stxcp-reset {
    width: 100% !important;
    min-width: 0 !important;
    display: block;
    text-align: center;
  }

  .stxcp-card,
  .stxcp-product-card {
    border-radius: min(var(--stx-radius, 14px), 18px);
  }

  .stxcp-card-image,
  .stxcp-product-card-image {
    height: auto !important;
    min-height: 180px;
    max-height: 320px;
  }

  .stxcp-card-image img,
  .stxcp-product-card-image img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .stxcp-card h3,
  .stxcp-card-title {
    font-size: clamp(17px, 4.8vw, 22px) !important;
  }

  .stxcp-card .stxcp-button,
  .stxcp-card button,
  .stxcp-card .button,
  .stxcp-product .stxcp-button,
  .stxcp-product button,
  .stxcp-product .button {
    width: 100%;
    display: block;
    padding: 13px 16px;
  }

  .stxcp-pagination {
    gap: 6px;
  }

  .stxcp-page-link {
    min-width: 34px;
    padding: 8px 10px;
    font-size: 14px;
  }

  .stxcp-product-main,
  .stxcp-product-top,
  .stxcp-product-detail,
  .stxcp-product-layout,
  .stxcp-single-product-inner {
    grid-template-columns: 1fr !important;
    gap: 18px;
  }

  .stxcp-product h1,
  .stxcp-product-title-main,
  .stxcp-single-product h1 {
    font-size: clamp(26px, 8vw, 38px) !important;
    line-height: 1.12;
  }

  .stxcp-product-gallery,
  .stxcp-gallery {
    width: 100%;
  }

  .stxcp-product-specs-grid,
  .stxcp-specs-grid,
  .stxcp-spec-grid {
    grid-template-columns: 1fr !important;
  }

  .stxcp-related-grid {
    grid-template-columns: 1fr !important;
  }

  .stxcp-disclaimer,
  .stxcp-cta,
  .stxcp-section {
    padding: 16px;
  }
}

/* Small phones */
@media (max-width: 420px) {
  .stxcp-catalog,
  .stxcp-product,
  .stxcp-product-page,
  .stxcp-single-product {
    padding-left: 10px;
    padding-right: 10px;
  }

  .stxcp-tools {
    padding: 10px;
  }

  .stxcp-page-link {
    min-width: 30px;
    padding: 7px 8px;
  }

  .stxcp-card,
  .stxcp-product-card {
    padding: 14px !important;
  }
}


/* STX Catalog Pro v5.2.6 - Real Catalog Cards Match Live Preview */
.stxcp-product-card {
  background: var(--stx-card-bg, #fff);
  color: var(--stx-text, #111827);
  border: 1px solid var(--stx-border, #e5e7eb);
  border-radius: var(--stx-radius, 14px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  box-shadow: 0 10px 24px rgba(15,23,42,.08);
}

.stxcp-card-style-minimal {
  box-shadow: none;
  border-color: #f1f5f9;
}

.stxcp-card-style-bordered {
  box-shadow: none;
  border-width: 2px;
}

.stxcp-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.stxcp-product-card-image,
.stxcp-card-image {
  width: 100%;
  height: var(--stx-card-image-height, 240px);
  background: linear-gradient(135deg,#f1f5f9,#e2e8f0);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--stx-muted, #64748b);
  font-weight: 800;
  text-align: center;
}

.stxcp-product-card-image img,
.stxcp-card-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.stxcp-card-body {
  padding: var(--stx-card-padding, 18px);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.stxcp-card-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.stxcp-card-badge {
  display: inline-block;
  background: #e0f2fe;
  color: #075985;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
}

.stxcp-card-badge-muted {
  background: #f1f5f9;
  color: var(--stx-muted, #64748b);
}

.stxcp-card-title {
  margin: 0 0 8px;
  font-size: var(--stx-card-title-size, 17px);
  line-height: 1.2;
  font-weight: 900;
  color: var(--stx-text, #111827);
}

.stxcp-card-title a {
  color: inherit;
  text-decoration: none;
}

.stxcp-card-brand {
  color: var(--stx-muted, #64748b);
  margin-bottom: 10px;
}

.stxcp-card-price {
  font-size: 24px;
  font-weight: 900;
  margin-bottom: 6px;
  color: var(--stx-text, #111827);
}

.stxcp-card-msrp {
  color: var(--stx-muted, #64748b);
  margin-bottom: 12px;
}

.stxcp-card-description {
  color: var(--stx-muted, #64748b);
  line-height: 1.45;
  margin-bottom: 14px;
}

.stxcp-card-button {
  margin-top: auto;
  align-self: flex-start;
}

.stxcp-button-outline {
  background: transparent !important;
  color: var(--stx-primary, #111827) !important;
  border: 2px solid var(--stx-primary, #111827) !important;
}

.stxcp-button-pill {
  border-radius: 999px !important;
}

.stxcp-button-solid {
  background: var(--stx-primary, #111827);
  color: var(--stx-button-text, #fff);
}

@media (max-width: 767px) {
  .stxcp-card-button {
    align-self: stretch;
  }
}


/* STX Catalog Pro v5.2.7 Product Page Pro Layout */
.stxcp-product-pro {
  font-family: var(--stx-font-family, system-ui, sans-serif);
  max-width: var(--stx-max-width, 1200px);
  margin: 0 auto;
  padding: clamp(16px, 3vw, 32px);
  color: var(--stx-text, #111827);
}

.stxcp-product-pro-top {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: start;
}

.stxcp-pro-gallery {
  min-width: 0;
}

.stxcp-pro-main-image {
  background: #fff;
  border: 1px solid var(--stx-border, #e5e7eb);
  border-radius: 18px;
  min-height: 430px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.stxcp-pro-main-image img {
  max-width: 100%;
  max-height: 560px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.stxcp-pro-main-image span {
  color: var(--stx-muted, #64748b);
  font-weight: 900;
}

.stxcp-pro-thumbs {
  display: flex;
  gap: 10px;
  margin-top: 14px;
  flex-wrap: wrap;
}

.stxcp-pro-thumbs img {
  width: 74px;
  height: 74px;
  object-fit: contain;
  background: #fff;
  border: 1px solid var(--stx-border, #e5e7eb);
  border-radius: 10px;
  padding: 4px;
}

.stxcp-pro-summary h1 {
  font-size: var(--stx-product-title-size, 38px);
  line-height: 1.08;
  margin: 0 0 12px;
  font-weight: 950;
}

.stxcp-pro-brand {
  color: var(--stx-primary, #111827);
  font-weight: 800;
  margin-bottom: 8px;
}

.stxcp-pro-badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 14px 0;
}

.stxcp-pro-badges span {
  background: #e0f2fe;
  color: #075985;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 900;
}

.stxcp-pro-price-box {
  border-top: 1px solid var(--stx-border, #e5e7eb);
  border-bottom: 1px solid var(--stx-border, #e5e7eb);
  padding: 16px 0;
  margin: 18px 0;
}

.stxcp-pro-price {
  font-size: 34px;
  font-weight: 950;
}

.stxcp-pro-msrp {
  color: var(--stx-muted, #64748b);
  font-weight: 700;
  margin-top: 4px;
}

.stxcp-pro-meta-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
  margin: 18px 0;
}

.stxcp-pro-meta-row > div {
  background: #f8fafc;
  border: 1px solid var(--stx-border, #e5e7eb);
  border-radius: 12px;
  padding: 12px;
  word-break: break-word;
}

.stxcp-pro-cta {
  background: #fff;
  border: 1px solid var(--stx-border, #e5e7eb);
  border-radius: 16px;
  padding: 18px;
  margin-top: 18px;
  box-shadow: 0 8px 20px rgba(15,23,42,.06);
}

.stxcp-pro-info-section {
  margin: clamp(28px, 5vw, 60px) calc(50% - 50vw) 0;
  padding: clamp(32px, 6vw, 72px) max(clamp(16px, 4vw, 42px), calc((100vw - var(--stx-max-width, 1200px)) / 2));
}

.stxcp-pro-info-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: clamp(28px, 5vw, 70px);
  max-width: var(--stx-max-width, 1200px);
  margin: 0 auto;
}

.stxcp-pro-info-block {
  margin-bottom: 32px;
}

.stxcp-pro-info-block h2,
.stxcp-pro-spec-table h2 {
  color: inherit;
  font-size: clamp(24px, 3vw, 34px);
  margin-top: 0;
  text-transform: uppercase;
}

.stxcp-pro-feature-list {
  padding-left: 20px;
}

.stxcp-pro-feature-list li {
  margin-bottom: 6px;
}

.stxcp-pro-spec-row {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 12px;
  padding: 11px 14px;
  background: rgba(255,255,255,.08);
  margin-bottom: 8px;
  border-radius: 4px;
}

.stxcp-pro-spec-row strong {
  text-transform: uppercase;
  font-size: 12px;
}

.stxcp-pro-carousel-section {
  margin-top: clamp(32px, 5vw, 58px);
}

.stxcp-pro-carousel-section h2 {
  font-size: clamp(22px, 3vw, 30px);
  text-transform: uppercase;
  margin-bottom: 18px;
}

.stxcp-pro-carousel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
}

.stxcp-pro-mini-card {
  color: inherit;
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--stx-border, #e5e7eb);
  border-radius: 14px;
  padding: 12px;
  display: block;
  min-width: 0;
}

.stxcp-pro-mini-image {
  height: 140px;
  background: #f8fafc;
  border-radius: 10px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.stxcp-pro-mini-image img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.stxcp-pro-mini-card strong {
  display: block;
  font-size: 14px;
  line-height: 1.25;
  margin-bottom: 6px;
}

.stxcp-pro-mini-card span {
  display: block;
  color: var(--stx-muted, #64748b);
  font-size: 13px;
}

.stxcp-pro-mini-card em {
  display: block;
  font-style: normal;
  font-weight: 900;
  margin-top: 6px;
}

.stxcp-pro-disclaimer {
  margin-top: 30px;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 14px;
  padding: 16px;
  color: #78350f;
}

@media(max-width: 991px) {
  .stxcp-product-pro-top,
  .stxcp-pro-info-grid {
    grid-template-columns: 1fr;
  }
  .stxcp-pro-main-image {
    min-height: 280px;
  }
  .stxcp-pro-carousel {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media(max-width: 640px) {
  .stxcp-pro-meta-row,
  .stxcp-pro-carousel {
    grid-template-columns: 1fr;
  }
  .stxcp-pro-spec-row {
    grid-template-columns: 1fr;
  }
  .stxcp-pro-cta .stxcp-button {
    width: 100%;
    text-align: center;
  }
}


/* STX Catalog Pro v5.2.8 Promotion Engine */
.stxcp-card-badge-sale {
  background: #dc2626 !important;
  color: #fff !important;
}

.stxcp-pro-savings {
  display: inline-block;
  margin-top: 8px;
  background: #dc2626;
  color: #fff;
  border-radius: 999px;
  padding: 7px 12px;
  font-weight: 950;
}

.stxcp-pro-promo-messages {
  margin-top: 30px;
}

.stxcp-pro-promo-messages h2 {
  font-size: clamp(22px, 3vw, 30px);
  text-transform: uppercase;
}

.stxcp-pro-promo-message {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #7c2d12;
  border-radius: 14px;
  padding: 15px 16px;
  margin-bottom: 12px;
}

.stxcp-pro-promo-message strong {
  display: block;
  margin-bottom: 6px;
}

.stxcp-pro-promo-message p {
  margin: 0;
}

.stxcp-promo-prop65 {
  background: #fffbeb;
  border-color: #fde68a;
  color: #78350f;
}


/* STX Catalog Pro v5.3.1 - Age gate compatibility */
.stxcp-product-pro,
.stxcp-catalog,
.stxcp-product-page {
  isolation: auto;
}

#age-gate,
.age-gate,
.age-verification,
.age-verification-overlay,
.age-verification-modal,
.age-modal,
.age-popup,
.agegate,
.modal-age,
[data-age-gate],
[class*="age"][class*="overlay"],
[class*="age"][class*="modal"] {
  pointer-events: auto;
}


/* STX Catalog Pro v5.3.2 - Safe age gate/mobile compatibility
   Purpose: keep custom PHP age verification overlays clickable on catalog product pages.
   This does not close or bypass the age gate; it only prevents catalog responsive CSS from blocking it. */

body:has(.stxcp-product-pro) #age-gate,
body:has(.stxcp-product-pro) .age-gate,
body:has(.stxcp-product-pro) .age-verification,
body:has(.stxcp-product-pro) .age-verification-overlay,
body:has(.stxcp-product-pro) .age-verification-modal,
body:has(.stxcp-product-pro) .age-modal,
body:has(.stxcp-product-pro) .age-popup,
body:has(.stxcp-product-pro) .agegate,
body:has(.stxcp-product-pro) .modal-age,
body:has(.stxcp-product-pro) [data-age-gate] {
  position: fixed !important;
  z-index: 2147483000 !important;
  pointer-events: auto !important;
  touch-action: auto !important;
}

body:has(.stxcp-product-pro) #age-gate *,
body:has(.stxcp-product-pro) .age-gate *,
body:has(.stxcp-product-pro) .age-verification *,
body:has(.stxcp-product-pro) .age-verification-overlay *,
body:has(.stxcp-product-pro) .age-verification-modal *,
body:has(.stxcp-product-pro) .age-modal *,
body:has(.stxcp-product-pro) .age-popup *,
body:has(.stxcp-product-pro) .agegate *,
body:has(.stxcp-product-pro) .modal-age *,
body:has(.stxcp-product-pro) [data-age-gate] * {
  pointer-events: auto !important;
  touch-action: manipulation !important;
}

body:has(.stxcp-product-pro) #age-gate button,
body:has(.stxcp-product-pro) .age-gate button,
body:has(.stxcp-product-pro) .age-verification button,
body:has(.stxcp-product-pro) .age-verification-overlay button,
body:has(.stxcp-product-pro) .age-verification-modal button,
body:has(.stxcp-product-pro) .age-modal button,
body:has(.stxcp-product-pro) .age-popup button,
body:has(.stxcp-product-pro) .agegate button,
body:has(.stxcp-product-pro) .modal-age button,
body:has(.stxcp-product-pro) [data-age-gate] button,
body:has(.stxcp-product-pro) #age-gate a,
body:has(.stxcp-product-pro) .age-gate a,
body:has(.stxcp-product-pro) .age-verification a,
body:has(.stxcp-product-pro) .age-verification-overlay a,
body:has(.stxcp-product-pro) .age-verification-modal a,
body:has(.stxcp-product-pro) .age-modal a,
body:has(.stxcp-product-pro) .age-popup a,
body:has(.stxcp-product-pro) .agegate a,
body:has(.stxcp-product-pro) .modal-age a,
body:has(.stxcp-product-pro) [data-age-gate] a {
  cursor: pointer !important;
  pointer-events: auto !important;
}

/* Do not let catalog/product page layers sit above the age gate. */
body:has(.stxcp-product-pro) .stxcp-product-pro,
body:has(.stxcp-product-pro) .stxcp-catalog,
body:has(.stxcp-product-pro) .stxcp-product-page {
  z-index: auto !important;
  transform: none;
  isolation: auto;
}
