/* ─── STS MEDIA — WooCommerce Single Product Page Styles ─────────────────────────
   Scope: .sts-product-page, .sts-tabs-wrapper
   Compatible with WooCommerce 10.x + Elementor Pro 4.x
   ────────────────────────────────────────────────────────────────────────── */

.sts-product-page,
.sts-tabs-section,
.sts-tabs-wrapper {
  --prd-bg:          #000000;
  --prd-surface:     #0a0a0a;
  --prd-surface-alt: #111111;
  --prd-text:        #F0F6FC;
  --prd-muted:       #8B949E;
  --prd-muted-lt:    #484F58;
  --prd-border:      rgba(255, 255, 255, 0.08);
  --prd-border-md:   rgba(255, 255, 255, 0.14);
  --prd-accent:      #FF5C00;
  --prd-accent-dark: #e05200;
  --prd-accent-bg:   rgba(255, 92, 0, 0.12);
  --prd-radius:      18px;
  --prd-radius-sm:   10px;
  --prd-shadow:      0 0 0 1px rgba(255,255,255,0.06), 0 24px 48px rgba(0,0,0,0.5);
  --prd-shadow-sm:   0 0 0 1px rgba(255,255,255,0.06), 0 8px 24px rgba(0,0,0,0.4);
  --prd-shadow-xs:   0 0 0 1px rgba(255,255,255,0.04);
  --prd-transition:  0.2s ease;
}

.sts-product-page {
  background-color: var(--prd-bg);
  padding: clamp(60px, 8vw, 100px) 0 clamp(80px, 10vw, 120px);
  color: var(--prd-text);
}

.sts-product-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 clamp(20px, 5vw, 60px);
}

.sts-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 52px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--prd-muted-lt);
}
.sts-breadcrumb a { color: var(--prd-muted-lt); text-decoration: none; transition: color var(--prd-transition); }
.sts-breadcrumb a:hover { color: var(--prd-accent); }
.sts-breadcrumb .sep { opacity: 0.35; font-weight: 400; }
.sts-breadcrumb .current { color: var(--prd-text); }

.sts-product-page .woocommerce-breadcrumb {
  font-size: 11px; font-weight: 600; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--prd-muted-lt); margin-bottom: 52px;
}
.sts-product-page .woocommerce-breadcrumb a { color: var(--prd-muted-lt); text-decoration: none; }
.sts-product-page .woocommerce-breadcrumb a:hover { color: var(--prd-accent); }

.sts-product-grid {
  display: grid !important;
  grid-template-columns: 48fr 52fr !important;
  gap: clamp(48px, 6vw, 80px) !important;
  align-items: start !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
}
/* Elementor container resets for STS layout */
.sts-product-page.e-con,
.sts-product-page > .e-con,
.elementor-element.sts-product-page { background-color: #000000 !important; }
.sts-product-grid.e-con,
.sts-product-grid > .e-con-inner { display: contents !important; }
.sts-product-content.e-con > .e-con-inner,
.sts-product-media.e-con > .e-con-inner { display: contents !important; }
.sts-purchase-panel.e-con > .e-con-inner { display: contents !important; }
.sts-image-stage.e-con > .e-con-inner { display: contents !important; }

.sts-product-page div.product {
  display: grid;
  grid-template-columns: 48fr 52fr;
  gap: clamp(48px, 6vw, 80px);
  align-items: start;
}

.sts-product-content { padding-bottom: 48px; }

.sts-section-label {
  display: flex; align-items: center; gap: 10px;
  font-size: 11px; font-weight: 600; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--prd-accent); margin-bottom: 18px;
}
.sts-section-label::before {
  content: ''; display: inline-block; width: 22px; height: 2px;
  background: var(--prd-accent); border-radius: 1px; flex-shrink: 0;
}

.sts-product-title,
.sts-product-page h1.product_title,
.sts-product-page h1.entry-title {
  font-size: clamp(36px, 4.5vw, 58px) !important;
  font-weight: 400 !important; line-height: 1.0 !important;
  letter-spacing: 0.02em !important; text-transform: uppercase !important;
  color: var(--prd-text) !important; margin: 0 0 28px !important;
}

.sts-product-intro,
.sts-product-page .woocommerce-product-details__short-description {
  font-size: clamp(15px, 1.8vw, 18px); line-height: 1.78;
  color: var(--prd-muted); margin-bottom: 48px; max-width: 540px;
}
.sts-product-page .woocommerce-product-details__short-description p { color: var(--prd-muted); line-height: 1.78; }

.sts-section-heading {
  font-size: 12px; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--prd-text);
  margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--prd-border);
}

.sts-features-section, .sts-perfect-for-section, .sts-artwork-section { margin-bottom: 44px; }

.sts-feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.sts-feature-item {
  display: flex; align-items: flex-start; gap: 13px;
  padding: 16px 18px; background: var(--prd-surface);
  border: 1px solid var(--prd-border); border-radius: var(--prd-radius-sm);
  transition: border-color var(--prd-transition), box-shadow var(--prd-transition);
}
.sts-feature-item:hover { border-color: var(--prd-border-md); box-shadow: var(--prd-shadow-xs); }

.sts-feature-icon {
  flex-shrink: 0; width: 28px; height: 28px; border-radius: 7px;
  background: var(--prd-accent-bg); display: flex; align-items: center;
  justify-content: center; color: var(--prd-accent); font-size: 13px; margin-top: 1px;
}

.sts-feature-text { font-size: 13px; font-weight: 500; line-height: 1.5; color: var(--prd-text); }

.sts-tags { display: flex; flex-wrap: wrap; gap: 8px; }

.sts-tag {
  display: inline-flex; align-items: center; padding: 7px 14px;
  background: var(--prd-surface); border: 1px solid var(--prd-border);
  border-radius: 100px; font-size: 12px; font-weight: 500; color: var(--prd-muted);
  line-height: 1; transition: border-color var(--prd-transition), color var(--prd-transition), background var(--prd-transition);
}
.sts-tag:hover { border-color: var(--prd-accent); color: var(--prd-accent); background: var(--prd-accent-bg); }

.sts-artwork-panel {
  background: var(--prd-surface-alt); border: 1px solid var(--prd-border);
  border-left: 3px solid var(--prd-accent); border-radius: var(--prd-radius-sm); padding: 24px 28px;
}
.sts-artwork-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.sts-artwork-list li { display: flex; align-items: center; gap: 10px; font-size: 13px; line-height: 1.5; color: var(--prd-muted); }
.sts-artwork-list li::before { content: ''; flex-shrink: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--prd-accent); }

.sts-product-closing {
  font-size: 15px; line-height: 1.75; color: var(--prd-muted);
  margin-top: 0; padding-top: 28px; border-top: 1px solid var(--prd-border);
}

.sts-product-media { display: flex; flex-direction: column; gap: 24px; }

.sts-product-page .woocommerce-product-gallery { float: none !important; width: auto !important; margin-bottom: 24px; }
.sts-product-page div.product .summary { float: none !important; width: auto !important; }

.sts-image-stage {
  background: var(--prd-surface); border: 1px solid var(--prd-border);
  border-radius: var(--prd-radius); box-shadow: var(--prd-shadow); overflow: hidden;
}

.sts-product-page .woocommerce-product-gallery__wrapper { margin: 0 !important; }
.sts-product-page .woocommerce-product-gallery__image a { display: block; background: var(--prd-surface-alt); padding: 36px; }
.sts-product-page .woocommerce-product-gallery__image img { border-radius: 0; display: block; transition: transform 0.5s ease; }

.sts-product-page ol.flex-control-thumbs {
  display: flex !important; gap: 10px; padding: 16px 20px !important;
  border-top: 1px solid var(--prd-border); background: var(--prd-surface);
  margin: 0 !important; list-style: none; overflow-x: auto; scrollbar-width: none;
}
.sts-product-page ol.flex-control-thumbs::-webkit-scrollbar { display: none; }
.sts-product-page ol.flex-control-thumbs li { flex-shrink: 0; width: 68px; height: 68px; }
.sts-product-page ol.flex-control-thumbs li img {
  width: 68px !important; height: 68px !important; object-fit: cover;
  border-radius: 8px; border: 2px solid var(--prd-border) !important;
  opacity: 1 !important; transition: border-color var(--prd-transition);
}
.sts-product-page ol.flex-control-thumbs li img.flex-active,
.sts-product-page ol.flex-control-thumbs li img:hover { border-color: var(--prd-accent) !important; }

.sts-purchase-panel {
  background: var(--prd-surface); border: 1px solid var(--prd-border);
  border-radius: var(--prd-radius); box-shadow: var(--prd-shadow);
  padding: clamp(24px, 4vw, 36px); position: sticky; top: 100px;
}

.sts-price,
.sts-product-page .summary p.price,
.sts-product-page .summary span.price {
  font-size: clamp(26px, 2.8vw, 36px) !important; font-weight: 400 !important;
  color: var(--prd-accent) !important; letter-spacing: 0.02em !important;
  margin: 0 0 6px !important; display: block !important; line-height: 1.1 !important;
}
.sts-product-page .summary span.woocommerce-Price-amount { color: var(--prd-accent) !important; }

.sts-panel-divider { height: 1px; background: var(--prd-border); margin: 24px 0; }

.sts-form-label,
.sts-product-page .summary label {
  display: block; font-size: 11px; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--prd-muted); margin-bottom: 8px;
}

.sts-select,
.sts-product-page .summary select,
.sts-product-page .variations select {
  width: 100% !important; appearance: none; -webkit-appearance: none;
  background-color: var(--prd-bg) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%23666666' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center;
  border: 1px solid var(--prd-border-md) !important; border-radius: var(--prd-radius-sm) !important;
  padding: 13px 44px 13px 16px !important; font-size: 14px !important; font-weight: 500 !important;
  color: var(--prd-text) !important; cursor: pointer; line-height: 1.4; height: auto !important;
  transition: border-color var(--prd-transition), box-shadow var(--prd-transition);
}
.sts-select:focus,
.sts-product-page .summary select:focus,
.sts-product-page .variations select:focus {
  outline: none !important; border-color: var(--prd-accent) !important;
  box-shadow: 0 0 0 3px var(--prd-accent-bg) !important;
}

.sts-product-page .variations { width: 100%; border: none; border-collapse: collapse; }
.sts-product-page .variations td, .sts-product-page .variations th { padding: 0; border: none; vertical-align: top; }
.sts-product-page .variations .label { padding-bottom: 8px; padding-right: 0; width: 100%; }

.sts-quantity-stepper,
.sts-product-page div.quantity {
  display: flex; align-items: stretch; border: 1px solid var(--prd-border-md);
  border-radius: var(--prd-radius-sm); overflow: hidden; height: 48px; background: var(--prd-bg);
}

.sts-qty-btn {
  flex-shrink: 0; width: 48px; height: 100%; border: none; background: transparent;
  color: var(--prd-text); font-size: 20px; font-weight: 300; cursor: pointer; line-height: 1;
  transition: background var(--prd-transition), color var(--prd-transition);
}
.sts-qty-btn:hover { background: var(--prd-accent-bg); color: var(--prd-accent); }

.sts-qty-input,
.sts-product-page input.qty {
  flex: 1 !important; border: none !important;
  border-left: 1px solid var(--prd-border) !important;
  border-right: 1px solid var(--prd-border) !important;
  border-radius: 0 !important; text-align: center !important;
  font-size: 15px !important; font-weight: 600 !important;
  color: var(--prd-text) !important; background: transparent !important;
  padding: 0 8px !important; height: 100% !important; width: auto !important;
  min-width: 0 !important; -moz-appearance: textfield !important; box-shadow: none !important;
}
.sts-qty-input::-webkit-inner-spin-button, .sts-qty-input::-webkit-outer-spin-button,
.sts-product-page input.qty::-webkit-inner-spin-button, .sts-product-page input.qty::-webkit-outer-spin-button { -webkit-appearance: none; }

.sts-add-to-cart,
.sts-product-page button.single_add_to_cart_button {
  display: flex !important; align-items: center !important; justify-content: center !important;
  gap: 10px !important; width: 100% !important; background: var(--prd-accent) !important;
  color: #ffffff !important; border: none !important; border-radius: var(--prd-radius-sm) !important;
  padding: 18px 32px !important; font-size: 13px !important; font-weight: 700 !important;
  letter-spacing: 0.12em !important; text-transform: uppercase !important; cursor: pointer !important;
  transition: background var(--prd-transition), transform 0.15s ease, box-shadow var(--prd-transition) !important;
  margin-top: 24px !important; text-decoration: none !important;
}
.sts-add-to-cart:hover,
.sts-product-page button.single_add_to_cart_button:hover {
  background: var(--prd-accent-dark) !important; transform: translateY(-1px) !important;
  box-shadow: 0 10px 28px rgba(255,92,0,0.35) !important;
}
.sts-add-to-cart:active,
.sts-product-page button.single_add_to_cart_button:active {
  transform: translateY(0) !important; box-shadow: 0 4px 12px rgba(255,92,0,0.25) !important;
}

.sts-reassurance { font-size: 12px; color: var(--prd-muted-lt); line-height: 1.6; text-align: center; margin-top: 16px; }
.sts-reassurance strong { color: var(--prd-muted); font-weight: 600; }

.sts-product-page .woocommerce-product-rating { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
.sts-product-page .star-rating { color: var(--prd-accent); font-size: 14px; }
.sts-product-page .woocommerce-review-link { font-size: 13px; color: var(--prd-muted-lt); text-decoration: none; }

.sts-product-page .product_meta { font-size: 12px; color: var(--prd-muted-lt); margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--prd-border); }
.sts-product-page .product_meta span { display: block; margin-bottom: 4px; }
.sts-product-page .product_meta a { color: var(--prd-accent); text-decoration: none; }

.sts-trust-row {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px;
  margin-top: 64px; padding-top: 44px; border-top: 1px solid var(--prd-border);
}
.sts-trust-item { display: flex; align-items: flex-start; gap: 14px; }
.sts-trust-icon {
  flex-shrink: 0; width: 38px; height: 38px; border-radius: 9px;
  background: var(--prd-accent-bg); display: flex; align-items: center;
  justify-content: center; color: var(--prd-accent); font-size: 16px; margin-top: 1px;
}
.sts-trust-title { font-size: 13px; font-weight: 600; color: var(--prd-text); margin-bottom: 4px; line-height: 1.3; }
.sts-trust-desc { font-size: 12px; color: var(--prd-muted-lt); line-height: 1.55; }

.sts-tabs-section,
.sts-tabs-wrapper {
  background: var(--prd-surface); border-top: 1px solid var(--prd-border);
  padding-bottom: 80px; color: var(--prd-text);
}
.sts-tabs-container { max-width: 1280px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 60px); }

.sts-product-page .woocommerce-tabs ul.tabs,
.sts-tabs-wrapper .woocommerce-tabs ul.tabs {
  display: flex; list-style: none; padding: 0; margin: 0;
  border-bottom: 1px solid var(--prd-border); gap: 0;
}
.sts-product-page .woocommerce-tabs ul.tabs::before,
.sts-tabs-wrapper .woocommerce-tabs ul.tabs::before { display: none; }

.sts-product-page .woocommerce-tabs ul.tabs li,
.sts-tabs-wrapper .woocommerce-tabs ul.tabs li {
  margin: 0; border: none; border-bottom: 2px solid transparent;
  margin-bottom: -1px; border-radius: 0; background: none;
}
.sts-product-page .woocommerce-tabs ul.tabs li a,
.sts-tabs-wrapper .woocommerce-tabs ul.tabs li a {
  display: block; padding: 22px 28px; font-size: 11px; font-weight: 700;
  letter-spacing: 0.13em; text-transform: uppercase; color: var(--prd-muted-lt);
  text-decoration: none; transition: color var(--prd-transition);
}
.sts-product-page .woocommerce-tabs ul.tabs li.active,
.sts-tabs-wrapper .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--prd-accent); }
.sts-product-page .woocommerce-tabs ul.tabs li.active a,
.sts-product-page .woocommerce-tabs ul.tabs li a:hover,
.sts-tabs-wrapper .woocommerce-tabs ul.tabs li.active a,
.sts-tabs-wrapper .woocommerce-tabs ul.tabs li a:hover { color: var(--prd-text); background: none; }

.sts-product-page .woocommerce-tabs .panel,
.sts-tabs-wrapper .woocommerce-tabs .panel { padding-top: 52px; max-width: 780px; }

.sts-product-page .woocommerce-tabs .panel h2,
.sts-tabs-wrapper .woocommerce-tabs .panel h2 {
  font-size: 14px !important; font-weight: 700 !important; letter-spacing: 0.10em !important;
  text-transform: uppercase !important; color: var(--prd-text) !important; margin-bottom: 24px !important;
}
.sts-product-page .woocommerce-tabs .panel p,
.sts-tabs-wrapper .woocommerce-tabs .panel p { font-size: 14px; line-height: 1.78; color: var(--prd-muted); margin-bottom: 18px; }

.sts-product-page .woocommerce-tabs .panel ul,
.sts-tabs-wrapper .woocommerce-tabs .panel ul { list-style: none; padding: 0; margin: 0 0 24px; display: flex; flex-direction: column; gap: 10px; }
.sts-product-page .woocommerce-tabs .panel ul li,
.sts-tabs-wrapper .woocommerce-tabs .panel ul li { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: var(--prd-muted); line-height: 1.6; }
.sts-product-page .woocommerce-tabs .panel ul li::before,
.sts-tabs-wrapper .woocommerce-tabs .panel ul li::before { content: '→'; color: var(--prd-accent); flex-shrink: 0; margin-top: 1px; font-weight: 600; }

.sts-product-page .woocommerce-product-attributes,
.sts-tabs-wrapper .woocommerce-product-attributes { width: 100%; border-collapse: collapse; max-width: 520px; }
.sts-product-page .woocommerce-product-attributes th,
.sts-product-page .woocommerce-product-attributes td,
.sts-tabs-wrapper .woocommerce-product-attributes th,
.sts-tabs-wrapper .woocommerce-product-attributes td { padding: 13px 16px; text-align: left; font-size: 14px; border-bottom: 1px solid var(--prd-border); }
.sts-product-page .woocommerce-product-attributes th,
.sts-tabs-wrapper .woocommerce-product-attributes th { width: 180px; font-weight: 600; color: var(--prd-text); }
.sts-product-page .woocommerce-product-attributes td,
.sts-tabs-wrapper .woocommerce-product-attributes td { color: var(--prd-muted); }

@media (max-width: 960px) {
  .sts-product-grid, .sts-product-page div.product { grid-template-columns: 1fr !important; gap: 44px; }
  .sts-product-media { order: -1; }
  .sts-purchase-panel { position: static; }
  .sts-trust-row { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .sts-product-content { padding-bottom: 0; }
  .sts-product-page .woocommerce-product-gallery { order: -1; }
}

@media (max-width: 640px) {
  .sts-product-page { padding: 40px 0 56px; }
  .sts-breadcrumb { margin-bottom: 32px; font-size: 10px; }
  .sts-feature-grid { grid-template-columns: 1fr; }
  .sts-trust-row { grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 44px; }
  .sts-product-page, .sts-tabs-section { --prd-radius: 14px; }
  .sts-purchase-panel { padding: 24px 20px; }
  .sts-add-to-cart, .sts-product-page button.single_add_to_cart_button { padding: 16px 24px !important; }
}

@media (max-width: 420px) {
  .sts-trust-row { grid-template-columns: 1fr; }
  .sts-feature-grid { gap: 8px; }
}

/* ── Elementor container overrides ─────────────────────────────────────
   Force our grid/flex layout over Elementor's default flex container styles.
   -------------------------------------------------------------------------*/

/* The two-column grid must win over Elementor's flex container */
.sts-product-grid,
.elementor-element.sts-product-grid,
.e-con.sts-product-grid { display: grid !important; grid-template-columns: 48fr 52fr !important; }

/* The e-con-inner wrappers inside grid cells must not add extra flex layers */
.sts-product-grid > .e-con > .e-con-inner,
.sts-product-grid > .e-con-inner { display: contents !important; }

/* Strip the extra inner wrapper from media/content/stage/panel containers */
.sts-product-media > .e-con-inner,
.sts-product-content > .e-con-inner,
.sts-image-stage > .e-con-inner,
.sts-purchase-panel > .e-con-inner { display: contents !important; }

/* Product page background wins over Elementor container default */
.elementor-element.sts-product-page { background-color: #000000 !important; color: #F0F6FC !important; }

/* Remove Elementor's default container padding from our layout containers */
.sts-product-container.e-con { --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0; }
.sts-product-grid.e-con { --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0; }
.sts-product-content.e-con { --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0; }
.sts-product-media.e-con { --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0; }
.sts-image-stage.e-con { --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0; }
.sts-purchase-panel.e-con { --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0; }
.sts-tabs-wrapper.e-con { --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0; }
.sts-tabs-container.e-con { --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0; }

/* WooCommerce short description widget inside our intro wrapper */
.sts-product-page .elementor-widget-woocommerce-product-short-description .woocommerce-product-details__short-description { margin-bottom: 0; }

/* ── Element ID-based layout overrides ──────────────────────────────────────
   Targets our specific Elementor containers by their generated classes.
   _css_custom_class does not render on v3 containers so we use element IDs.
   -------------------------------------------------------------------------- */

/* Outer page section — black background */
.elementor-element-a1b2c01 {
  background-color: #000000 !important;
  color: #F0F6FC !important;
}
.elementor-element-a1b2c01 > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  padding: clamp(60px, 8vw, 100px) clamp(20px, 5vw, 60px) clamp(80px, 10vw, 120px) !important;
  max-width: 1440px !important;
  width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  gap: 0 !important;
}

/* Inner container — houses grid + trust row */
.elementor-element-a1b2c02 > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Two-column product grid */
.elementor-element-a1b2c04 > .e-con-inner {
  display: grid !important;
  grid-template-columns: 48fr 52fr !important;
  gap: clamp(48px, 6vw, 80px) !important;
  align-items: start !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Left column — content */
.elementor-element-a1b2c05 > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  gap: 0 !important;
}
.elementor-element-a1b2c05 {
  padding-bottom: 0 !important;
  min-width: 0 !important;
}

/* Right column — media */
.elementor-element-a1b2c13 > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  padding: 0 !important;
}
.elementor-element-a1b2c13 {
  min-width: 0 !important;
}

/* Image stage */
.elementor-element-a1b2c14 {
  background: #0a0a0a !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 18px !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.06), 0 24px 48px rgba(0,0,0,0.5) !important;
  overflow: hidden !important;
}
.elementor-element-a1b2c14 > .e-con-inner {
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Purchase panel */
.elementor-element-a1b2c16 {
  background: #0a0a0a !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 18px !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.06), 0 24px 48px rgba(0,0,0,0.5) !important;
  position: sticky !important;
  top: 100px !important;
}
.elementor-element-a1b2c16 > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  padding: clamp(24px, 4vw, 36px) !important;
  gap: 0 !important;
}

/* Tabs wrapper */
.elementor-element-a1b2c24 {
  background: #0a0a0a !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}
.elementor-element-a1b2c24 > .e-con-inner {
  max-width: 1440px !important;
  margin: 0 auto !important;
  width: 100% !important;
  padding: 0 clamp(20px, 5vw, 60px) !important;
  box-sizing: border-box !important;
}
.elementor-element-a1b2c25 > .e-con-inner {
  padding: 0 !important;
}

/* WooCommerce product gallery inside image stage */
.elementor-element-a1b2c14 .woocommerce-product-gallery {
  border-radius: 0 !important;
  box-shadow: none !important;
  border: none !important;
}
.elementor-element-a1b2c14 .woocommerce-product-gallery__image a {
  background: #111111;
  padding: 36px;
  display: block;
}

/* Trust row inside outer section */
.elementor-element-a1b2c23 .sts-trust-row {
  margin-top: 64px;
}

/* Responsive — stack to single column at tablet */
@media (max-width: 960px) {
  .elementor-element-a1b2c04 > .e-con-inner {
    grid-template-columns: 1fr !important;
  }
  .elementor-element-a1b2c13 {
    order: -1 !important;
  }
  .elementor-element-a1b2c16 {
    position: static !important;
  }
}

/* ── CORRECTED layout: e-con-full has no .e-con-inner, target elements directly ── */

/* Outer page section — black bg, full vertical padding */
.elementor-element-a1b2c01 {
  background-color: #000000 !important;
  color: #F0F6FC !important;
  padding: clamp(60px, 8vw, 100px) clamp(20px, 5vw, 60px) clamp(80px, 10vw, 120px) !important;
  box-sizing: border-box !important;
}

/* Inner section — max-width 1280px centred */
.elementor-element-a1b2c02 {
  max-width: 1440px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Two-column grid — target the container element itself */
.elementor-element-a1b2c04 {
  display: grid !important;
  grid-template-columns: 48fr 52fr !important;
  gap: clamp(48px, 6vw, 80px) !important;
  align-items: start !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Left column — content */
.elementor-element-a1b2c05 {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}

/* Right column — image + purchase panel */
.elementor-element-a1b2c13 {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  min-width: 0 !important;
  padding: 0 !important;
}

/* Image stage */
.elementor-element-a1b2c14 {
  background: #0a0a0a !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 18px !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.06), 0 24px 48px rgba(0,0,0,0.5) !important;
  overflow: hidden !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}

/* Purchase panel — sticky on desktop */
.elementor-element-a1b2c16 {
  background: #0a0a0a !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 18px !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.06), 0 24px 48px rgba(0,0,0,0.5) !important;
  padding: 20px !important;
  position: sticky !important;
  top: 100px !important;
  flex-shrink: 0 !important;
}

/* Tabs wrapper — dark section */
.elementor-element-a1b2c24 {
  background-color: #0a0a0a !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  padding: 0 clamp(20px, 5vw, 60px) !important;
  box-sizing: border-box !important;
}

/* Tabs inner container */
.elementor-element-a1b2c25 {
  max-width: 1440px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Related products — black background */
.elementor-element-a1b2c27 {
  background-color: #000000 !important;
  color: #F0F6FC !important;
}

/* Trust row widget spacing */
.elementor-element-a1b2c23 {
  width: 100% !important;
  padding: 0 !important;
}

/* WooCommerce product gallery inside image stage */
.elementor-element-a1b2c14 .woocommerce-product-gallery { border-radius: 0 !important; box-shadow: none !important; border: none !important; }
.elementor-element-a1b2c14 .woocommerce-product-gallery__image a { background: #111111; padding: 36px; display: block; }

/* Responsive — single column on tablet/mobile */
@media (max-width: 960px) {
  .elementor-element-a1b2c04 {
    grid-template-columns: 1fr !important;
  }
  .elementor-element-a1b2c13 {
    order: -1 !important;
  }
  .elementor-element-a1b2c16 {
    position: static !important;
  }
}

/* ── TABS SECTION — black bg, 40px top/bottom padding ──────────────────────
   a1b2c24 is e-con-boxed so it has a .e-con-inner wrapper
   ————————————————————————————————————————————————————————————— */

.elementor-element-a1b2c24 {
  background-color: #000000 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.elementor-element-a1b2c24 > .e-con-inner {
  max-width: 1440px !important;
  padding-left: clamp(20px, 5vw, 60px) !important;
  padding-right: clamp(20px, 5vw, 60px) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
}

/* Related products section (also e-con-boxed) */
.elementor-element-a1b2c27 {
  background-color: #000000 !important;
  color: #F0F6FC !important;
}

.elementor-element-a1b2c27 > .e-con-inner {
  padding: 60px clamp(20px, 5vw, 60px) !important;
  max-width: 1440px !important;
  box-sizing: border-box !important;
}

/* ── RESPONSIVE — TABLET (960px) ──────────────────────────────────────────────────────── */

@media (max-width: 960px) {

  /* Stack grid to single column */
  .elementor-element-a1b2c04 {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }

  /* Move image/purchase column above content on tablet/mobile */
  .elementor-element-a1b2c13 {
    order: -1 !important;
  }

  /* Disable sticky purchase panel */
  .elementor-element-a1b2c16 {
    position: static !important;
  }

  /* Trust row: 2 columns on tablet */
  .sts-trust-row {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
    margin-top: 40px !important;
  }

  /* Reduce outer section padding */
  .elementor-element-a1b2c01 {
    padding: 48px clamp(20px, 4vw, 40px) 60px !important;
  }

  /* Tabs section */
  .elementor-element-a1b2c24 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}

/* ── RESPONSIVE — MOBILE (640px) ──────────────────────────────────────────────────────── */

@media (max-width: 640px) {

  /* Reduce outer section padding */
  .elementor-element-a1b2c01 {
    padding: 36px 20px 48px !important;
  }

  /* Purchase panel — tighter on mobile */
  .elementor-element-a1b2c16 {
    padding: 16px !important;
  }

  /* Feature grid: single column */
  .sts-feature-grid {
    grid-template-columns: 1fr !important;
  }

  /* Trust row: still 2 columns on mobile */
  .sts-trust-row {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
    margin-top: 32px !important;
  }

  /* Tabs: tighter padding */
  .elementor-element-a1b2c24 {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }

  /* Add to cart button — full width, readable */
  .sts-product-page button.single_add_to_cart_button,
  .sts-product-page .single_add_to_cart_button {
    padding: 16px 20px !important;
    font-size: 13px !important;
  }

  /* Tab nav — smaller text, scrollable */
  .sts-product-page .woocommerce-tabs ul.tabs li a,
  .sts-tabs-wrapper .woocommerce-tabs ul.tabs li a {
    padding: 16px 16px !important;
    font-size: 10px !important;
  }

  /* Shortcode section titles */
  .sts-section-heading { font-size: 11px !important; }
}

/* ── RESPONSIVE — SMALL MOBILE (420px) ───────────────────────────────────────────── */

@media (max-width: 420px) {

  /* Trust row: single column on very small screens */
  .sts-trust-row {
    grid-template-columns: 1fr !important;
  }

  /* Reduce gap between features */
  .sts-feature-grid { gap: 8px !important; }
}

/* ── TAB READABILITY FIXES ──────────────────────────────────────────────────────────── */

/* Force tab list and tab items to transparent on black bg */
.sts-tabs-wrapper .woocommerce-tabs ul.tabs,
.sts-product-page .woocommerce-tabs ul.tabs {
  background: transparent !important;
  border-bottom-color: rgba(255,255,255,0.12) !important;
}

.sts-tabs-wrapper .woocommerce-tabs ul.tabs li,
.sts-product-page .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Inactive tab text — readable on black */
.sts-tabs-wrapper .woocommerce-tabs ul.tabs li a,
.sts-product-page .woocommerce-tabs ul.tabs li a {
  color: rgba(255, 255, 255, 0.45) !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Active and hover tab text — white */
.sts-tabs-wrapper .woocommerce-tabs ul.tabs li.active a,
.sts-tabs-wrapper .woocommerce-tabs ul.tabs li a:hover,
.sts-product-page .woocommerce-tabs ul.tabs li.active a,
.sts-product-page .woocommerce-tabs ul.tabs li a:hover {
  color: #F0F6FC !important;
  background: transparent !important;
}

/* Active tab orange underline */
.sts-tabs-wrapper .woocommerce-tabs ul.tabs li.active,
.sts-product-page .woocommerce-tabs ul.tabs li.active {
  border-bottom: 2px solid #FF5C00 !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 0 !important;
  margin-bottom: -1px !important;
}

/* Tab panel headings */
.sts-tabs-wrapper .woocommerce-tabs .panel h2,
.sts-product-page .woocommerce-tabs .panel h2 {
  color: #FF5C00 !important;
}

/* ── ADDITIONAL INFORMATION TABLE PADDING ──────────────────────────────────────── */

.sts-tabs-wrapper .woocommerce-product-attributes th,
.sts-tabs-wrapper .woocommerce-product-attributes td,
.sts-product-page .woocommerce-product-attributes th,
.sts-product-page .woocommerce-product-attributes td {
  padding: 14px 20px !important;
  border-bottom-color: rgba(255,255,255,0.08) !important;
}

.sts-tabs-wrapper .woocommerce-product-attributes th,
.sts-product-page .woocommerce-product-attributes th {
  color: #F0F6FC !important;
  font-weight: 600 !important;
  width: 160px !important;
  white-space: nowrap !important;
}

.sts-tabs-wrapper .woocommerce-product-attributes td,
.sts-product-page .woocommerce-product-attributes td {
  color: rgba(255,255,255,0.55) !important;
  padding-left: 24px !important;
}

/* ── TAB & TABLE DIRECT FIXES ───────────────────────────────────────────────────
   Previous selectors used .sts-tabs-wrapper as parent — that class
   never rendered on the element. These use WooCommerce’s own classes
   directly so they match regardless of wrapper state.
   ──────────────────────────────────────────────────── */

/* Tab nav strip */
.woocommerce-tabs ul.tabs,
.wc-tabs-wrapper ul.tabs {
  background: transparent !important;
  border-bottom: 1px solid rgba(255,255,255,0.12) !important;
  padding: 0 !important;
  margin: 0 0 -1px !important;
}

/* Individual tab items */
.woocommerce-tabs ul.tabs li,
.wc-tabs-wrapper ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin-bottom: -1px !important;
}

/* Tab link text — inactive */
.woocommerce-tabs ul.tabs li a,
.wc-tabs-wrapper ul.tabs li a {
  color: rgba(255, 255, 255, 0.45) !important;
  background: transparent !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
  padding: 18px 24px !important;
  display: block !important;
  text-decoration: none !important;
}

/* Tab link text — hover */
.woocommerce-tabs ul.tabs li a:hover,
.wc-tabs-wrapper ul.tabs li a:hover {
  color: #F0F6FC !important;
  background: transparent !important;
}

/* Active tab */
.woocommerce-tabs ul.tabs li.active,
.wc-tabs-wrapper ul.tabs li.active {
  background: transparent !important;
  border-bottom: 2px solid #FF5C00 !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}

.woocommerce-tabs ul.tabs li.active a,
.wc-tabs-wrapper ul.tabs li.active a {
  color: #F0F6FC !important;
  background: transparent !important;
}

/* Tab panel content */
.woocommerce-Tabs-panel,
.woocommerce-tabs .panel {
  background: transparent !important;
  border: none !important;
  padding: 32px 0 0 !important;
}

.woocommerce-Tabs-panel p,
.woocommerce-tabs .panel p {
  font-size: 14px !important;
  line-height: 1.75 !important;
  color: rgba(255,255,255,0.6) !important;
}

.woocommerce-Tabs-panel h2,
.woocommerce-tabs .panel h2 {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #FF5C00 !important;
  margin-bottom: 20px !important;
}

/* Additional information table */
.woocommerce-product-attributes {
  width: 100% !important;
  border-collapse: collapse !important;
}

.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
  padding: 13px 20px !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  font-size: 14px !important;
  text-align: left !important;
  background: transparent !important;
}

.woocommerce-product-attributes th {
  color: #F0F6FC !important;
  font-weight: 600 !important;
  width: 160px !important;
}

.woocommerce-product-attributes td {
  color: rgba(255,255,255,0.55) !important;
  padding-left: 28px !important;
}

/* ══════════════════════════════════════════════════════════════════════
   PROTOTYPE AUDIT FIX
   Targets every element by its Elementor-rendered ID class.
   Matches spacing + typography from HTML/product-single.html exactly.
   ══════════════════════════════════════════════════════════════════════ */

/* ── Strip Elementor widget default bottom margins inside left column ──
   Elementor adds 20px to .elementor-widget:not(:last-child) by default,
   which stacks on top of our shortcode section margins. Remove it. */
.elementor-element-a1b2c05 > .elementor-widget,
.elementor-element-a1b2c05 .elementor-widget-wrap > .elementor-widget {
  margin-bottom: 0 !important;
}

/* ── Section label (eyebrow above title) ──────────────────────────────── */
.elementor-element-a1b2c06 .sts-section-label {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #FF5C00 !important;
  margin: 0 0 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.elementor-element-a1b2c06 .sts-section-label::before {
  content: '' !important;
  display: inline-block !important;
  width: 22px !important;
  height: 2px !important;
  background: #FF5C00 !important;
  border-radius: 1px !important;
  flex-shrink: 0 !important;
}

/* ── Product title ───────────────────────────────────────────────────────── */
/* Elementor's .elementor-size-default specificity (0,3,0) beats bare h1,
   so we match it exactly and add !important to win. */
.elementor-element-a1b2c07 .elementor-heading-title,
.elementor-element-a1b2c07 h1.product_title {
  font-family: 'Bebas Neue', 'Anton', sans-serif !important;
  font-size: clamp(36px, 4.5vw, 58px) !important;
  font-weight: 400 !important;
  line-height: 1.0 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: #F0F6FC !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
}

/* ── Short description (intro paragraph) ────────────────────────────── */
.elementor-element-a1b2c08 .woocommerce-product-details__short-description {
  margin: 0 0 48px !important;
  max-width: 540px !important;
}
.elementor-element-a1b2c08 .woocommerce-product-details__short-description p {
  font-size: clamp(15px, 1.8vw, 18px) !important;
  line-height: 1.78 !important;
  color: #8B949E !important;
  margin: 0 !important;
}

/* ── Shortcode section widgets — remove Elementor widget wrappers' padding ─ */
.elementor-element-a1b2c09,
.elementor-element-a1b2c10,
.elementor-element-a1b2c11,
.elementor-element-a1b2c12 {
  padding: 0 !important;
  margin: 0 !important;
}

/* Features section */
.elementor-element-a1b2c09 .sts-features-section {
  margin-bottom: 44px !important;
}
.sts-feature-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}
.sts-feature-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 13px !important;
  padding: 16px 18px !important;
  background: #0a0a0a !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 10px !important;
}
.sts-feature-icon {
  flex-shrink: 0 !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 7px !important;
  background: rgba(255,92,0,0.12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #FF5C00 !important;
  margin-top: 1px !important;
}
.sts-feature-text {
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  color: #F0F6FC !important;
}

/* Perfect for */
.elementor-element-a1b2c10 .sts-perfect-for-section {
  margin-bottom: 44px !important;
}
.sts-section-heading {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #F0F6FC !important;
  margin: 0 0 20px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
.sts-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.sts-tag {
  display: inline-flex !important;
  align-items: center !important;
  padding: 7px 14px !important;
  background: #0a0a0a !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 100px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #8B949E !important;
  line-height: 1 !important;
}

/* Artwork requirements */
.elementor-element-a1b2c11 .sts-artwork-section {
  margin-bottom: 44px !important;
}
.sts-artwork-panel {
  background: #111111 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-left: 3px solid #FF5C00 !important;
  border-radius: 10px !important;
  padding: 24px 28px !important;
}
.sts-artwork-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.sts-artwork-list li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #8B949E !important;
}
.sts-artwork-list li::before {
  content: '' !important;
  flex-shrink: 0 !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #FF5C00 !important;
}

/* Closing paragraph */
.elementor-element-a1b2c12 .sts-product-closing {
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: #8B949E !important;
  padding-top: 28px !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  margin: 0 !important;
}

/* ── Purchase panel widgets ──────────────────────────────────────────────── */

/* Strip widget bottom margins inside purchase panel */
.elementor-element-a1b2c16 > .elementor-widget,
.elementor-element-a1b2c16 .elementor-widget {
  margin-bottom: 0 !important;
}

/* Rating */
.elementor-element-a1b2c17 {
  margin-bottom: 16px !important;
}
.elementor-element-a1b2c17 .star-rating {
  color: #FF5C00 !important;
}

/* Price */
.elementor-element-a1b2c18 p.price,
.elementor-element-a1b2c18 span.price {
  font-size: clamp(26px, 2.8vw, 36px) !important;
  font-weight: 400 !important;
  color: #FF5C00 !important;
  line-height: 1.1 !important;
  margin: 0 0 6px !important;
  display: block !important;
}
.elementor-element-a1b2c18 .woocommerce-Price-amount {
  color: #FF5C00 !important;
  font-size: inherit !important;
}

/* Panel divider */
.elementor-element-a1b2c19 .sts-panel-divider {
  height: 1px !important;
  background: rgba(255,255,255,0.08) !important;
  margin: 20px 0 !important;
}

/* Add to cart + variations form */
.elementor-element-a1b2c20 { margin-top: 4px !important; }
.elementor-element-a1b2c20 .variations label,
.elementor-element-a1b2c20 label {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #8B949E !important;
  display: block !important;
  margin-bottom: 8px !important;
}
.elementor-element-a1b2c20 select {
  width: 100% !important;
  background-color: #000000 !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 10px !important;
  padding: 13px 44px 13px 16px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #F0F6FC !important;
  margin-bottom: 16px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.elementor-element-a1b2c20 div.quantity {
  display: flex !important;
  align-items: stretch !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  height: 48px !important;
  background: #000000 !important;
  margin-bottom: 0 !important;
}
.elementor-element-a1b2c20 input.qty {
  flex: 1 !important;
  border: none !important;
  border-left: 1px solid rgba(255,255,255,0.08) !important;
  border-right: 1px solid rgba(255,255,255,0.08) !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #F0F6FC !important;
  background: transparent !important;
}
.elementor-element-a1b2c20 button.single_add_to_cart_button {
  width: 100% !important;
  background: #FF5C00 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 18px 32px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-top: 20px !important;
  cursor: pointer !important;
  display: block !important;
  transition: background 0.2s !important;
}
.elementor-element-a1b2c20 button.single_add_to_cart_button:hover {
  background: #e05200 !important;
}

/* Reassurance */
.elementor-element-a1b2c21 .sts-reassurance {
  font-size: 12px !important;
  color: rgba(255,255,255,0.35) !important;
  text-align: center !important;
  margin-top: 16px !important;
  line-height: 1.6 !important;
}
.elementor-element-a1b2c21 .sts-reassurance strong {
  color: rgba(255,255,255,0.55) !important;
}

/* Product meta */
.elementor-element-a1b2c22 {
  margin-top: 20px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  font-size: 12px !important;
  color: rgba(255,255,255,0.35) !important;
}
.elementor-element-a1b2c22 a { color: #FF5C00 !important; text-decoration: none !important; }

/* ── Trust row ─────────────────────────────────────────────────────────── */
.elementor-element-a1b2c23 { padding: 0 !important; margin: 0 !important; }
.elementor-element-a1b2c23 .sts-trust-row {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 28px !important;
  margin-top: 64px !important;
  padding-top: 44px !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}
.sts-trust-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
}
.sts-trust-icon {
  flex-shrink: 0 !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 9px !important;
  background: rgba(255,92,0,0.12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #FF5C00 !important;
  margin-top: 1px !important;
}
.sts-trust-title {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #F0F6FC !important;
  margin: 0 0 4px !important;
  line-height: 1.3 !important;
}
.sts-trust-desc {
  font-size: 12px !important;
  color: rgba(255,255,255,0.35) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* Trust row responsive */
@media (max-width: 960px) {
  .elementor-element-a1b2c23 .sts-trust-row {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
    margin-top: 40px !important;
  }
}
@media (max-width: 420px) {
  .elementor-element-a1b2c23 .sts-trust-row {
    grid-template-columns: 1fr !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════
   CONTRAST + FORM SPACING FIXES — v1.7.0
   ══════════════════════════════════════════════════════════════════════ */

/* ── 1. White text — better contrast on black bg ─────────────────────── */

/* Short description — 14px / 1.5 line-height */
.elementor-element-a1b2c08 .woocommerce-product-details__short-description {
  margin: 0 0 36px !important;
}
.elementor-element-a1b2c08 .woocommerce-product-details__short-description p {
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: rgba(255, 255, 255, 0.75) !important;
  margin: 0 !important;
}
.sts-product-page .woocommerce-product-details__short-description p {
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: rgba(255, 255, 255, 0.75) !important;
}

/* Tags */
.sts-tag { color: rgba(255, 255, 255, 0.75) !important; }

/* Artwork list */
.sts-artwork-list li { color: rgba(255, 255, 255, 0.75) !important; }

/* Closing paragraph */
.elementor-element-a1b2c12 .sts-product-closing {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* Reassurance */
.elementor-element-a1b2c21 .sts-reassurance {
  color: rgba(255, 255, 255, 0.65) !important;
}
.elementor-element-a1b2c21 .sts-reassurance strong {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* Product meta */
.elementor-element-a1b2c22 {
  color: rgba(255, 255, 255, 0.55) !important;
}

/* Trust row descriptions */
.sts-trust-desc { color: rgba(255, 255, 255, 0.65) !important; }

/* Tab panel body text */
.woocommerce-Tabs-panel p,
.woocommerce-tabs .panel p {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* ── 2. Purchase panel form — tighter spacing ───────────────────────── */

.elementor-element-a1b2c20 .variations {
  margin-bottom: 12px !important;
  border: none !important;
  border-collapse: collapse !important;
}
.elementor-element-a1b2c20 .variations td,
.elementor-element-a1b2c20 .variations th {
  padding: 0 0 12px !important;
  border: none !important;
  vertical-align: top !important;
  display: block !important;
  width: 100% !important;
}
.elementor-element-a1b2c20 .variations .label { padding-bottom: 6px !important; }
.elementor-element-a1b2c20 div.quantity { margin-bottom: 12px !important; }
.elementor-element-a1b2c20 button.single_add_to_cart_button { margin-top: 4px !important; }

/* ── 3. Payment request button (Buy with Google Pay / Apple Pay) ────────
   WooCommerce Payments / Stripe renders after the cart form. ────────── */

.wc-stripe-payment-request-button,
.payment-request-button,
.wc-express-checkout-element {
  margin-top: 12px !important;
}

.wc-stripe-payment-request-button-separator,
.payment-request-button-separator {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 14px 0 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.35) !important;
}
.wc-stripe-payment-request-button-separator::before,
.wc-stripe-payment-request-button-separator::after,
.payment-request-button-separator::before,
.payment-request-button-separator::after {
  content: '' !important;
  flex: 1 !important;
  height: 1px !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

#payment-request-button,
.wc-stripe-payment-request-button > div {
  border-radius: 10px !important;
  overflow: hidden !important;
}
