/**
 * apm-pages-v2.css — storefront page templates inside main.apm-page-canvas.
 * Loaded after apm-shell-v2.css. Scope: .apm-theme-v2 main …
 */

/* Primary content column spacing (outer page wrapper) */
.apm-theme-v2 main.apm-page-canvas > .container.apm-store-page-v2,
.apm-theme-v2 main.apm-page-canvas > #content > .container-fluid.apm-store-page-v2 {
  padding-top: 1.25rem;
  padding-bottom: 2.5rem;
}

/* Page titles (checkout, account, CMS, etc.) */
.apm-theme-v2 main .apm-title,
.apm-theme-v2 main .apmh1categoryfix,
.apm-theme-v2 main #content > h1 {
  font-family: var(--apm-font-cond);
  font-weight: 700;
  color: var(--apm-ink);
  letter-spacing: 0.02em;
  margin-bottom: 1rem;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}

/* Breadcrumbs */
.apm-theme-v2 main .apm-breadcrumb-p {
  font-size: 13px;
  color: var(--apm-ink-3);
  margin-bottom: 1rem;
}

.apm-theme-v2 main .apm-breadcrumb-p a {
  color: var(--apm-ink-2);
  text-decoration: none;
}

.apm-theme-v2 main .apm-breadcrumb-p a:hover {
  color: var(--apm-peach-d);
}

.apm-theme-v2 main .apm-inline-link-v2 {
  font-weight: 600;
  color: var(--apm-peach-d);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.apm-theme-v2 main .apm-inline-link-v2:hover {
  color: var(--apm-peach);
}

.apm-theme-v2 main .apm-breadcrumb-p-current {
  color: var(--apm-ink-3);
}

.apm-theme-v2 main .apm-breadcrumb-p-sep {
  color: var(--apm-ink-4);
  margin: 0 4px;
}

/* Home — start cards: template §08 (cream + warm), 2-column, full-width */
.apm-theme-v2 .apm-start-grid.apm-start-grid--two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

@media (max-width: 820px) {
  .apm-theme-v2 .apm-start-grid.apm-start-grid--two {
    grid-template-columns: 1fr;
  }
}

.apm-theme-v2 .apm-start-grid.apm-start-grid--two .apm-start-card {
  width: 100%;
  min-width: 0;
  padding: 22px;
  border-radius: var(--apm-r-xl);
  border: 1px solid var(--apm-divider);
  box-shadow: var(--apm-shadow-sm);
  text-decoration: none;
  color: var(--apm-ink);
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  column-gap: 12px;
  row-gap: 10px;
}

.apm-theme-v2 .apm-start-grid.apm-start-grid--two .apm-start-card:hover {
  border-color: var(--apm-peach-l);
  box-shadow: var(--apm-shadow-lg);
}

/* Left: white card */
.apm-theme-v2 .apm-start-grid.apm-start-grid--two .apm-start-card.apm-start-card--white {
  background: #fff;
  border-color: var(--apm-divider);
}

/* Right: peach-tinted card */
.apm-theme-v2 .apm-start-grid.apm-start-grid--two .apm-start-card.apm-start-card--peach {
  background: var(--apm-peach-bg);
  border-color: var(--apm-peach-l);
}

.apm-theme-v2 .apm-start-grid.apm-start-grid--two .apm-start-ic {
  grid-column: 1;
  grid-row: 1;
  width: 44px;
  height: 44px;
  border-radius: var(--apm-r-md);
  display: grid;
  place-items: center;
  background: inherit;
  color: var(--apm-peach-d);
  font-size: 18px;
}

.apm-theme-v2 .apm-start-grid.apm-start-grid--two .apm-start-title {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  font-family: var(--apm-font-cond);
  font-size: 20px;
  font-weight: 700;
  color: var(--apm-ink);
  line-height: 1.2;
}

.apm-theme-v2 .apm-start-grid.apm-start-grid--two .apm-start-sub {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 0;
  color: var(--apm-ink-2);
  font-size: 14px;
  line-height: 1.55;
}

.apm-theme-v2 .apm-start-grid.apm-start-grid--two .apm-start-hint {
  grid-column: 1 / -1;
  grid-row: 3;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 500;
  color: var(--apm-ink-3);
  line-height: 1.4;
}

/* Home click affordances */
.apm-theme-v2 .apm-focus-pulse {
  border-radius: var(--apm-r-md);
  box-shadow: 0 0 0 4px rgba(245, 146, 78, 0.55), 0 0 0 9px rgba(245, 146, 78, 0.2);
  border-color: var(--apm-peach-d);
}

.apm-theme-v2 .apm-focus-glow {
  border-radius: var(--apm-r-md);
  box-shadow: 0 0 0 4px rgba(245, 146, 78, 0.55), 0 0 0 9px rgba(245, 146, 78, 0.2), var(--apm-shadow-lg);
  border-color: var(--apm-peach-d);
}

.apm-theme-v2 .apm-register-fit-link {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  text-decoration: none;
}

.apm-theme-v2 .apm-register-fit-link:hover,
.apm-theme-v2 .apm-register-fit-link:focus-visible {
  text-decoration: none;
}

.apm-theme-v2 .apm-register-fit-link .alert-icon {
  flex: 0 0 auto;
  margin-top: 1px;
}

/* Checkout register — DS §14 feedback banner skins (icons optional per block) */
.apm-theme-v2 #form-register .apm-cg-banner.alert {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border-radius: var(--apm-r-lg);
  border-width: 1px;
  border-style: solid;
  padding: 10px 12px;
  line-height: 1.45;
}

.apm-theme-v2 #form-register .apm-cg-banner.alert-info {
  background: #e8f0fa;
  border-color: #c0d4ec;
  color: #1f4a82;
}

.apm-theme-v2 #form-register .apm-cg-banner.alert-success {
  background: #e8f6ec;
  border-color: #b8e0c0;
  color: #1f7a3a;
}

.apm-theme-v2 #form-register .apm-cg-banner.alert-peach {
  background: #fef0e6;
  border-color: #f9b485;
  color: #d97a38;
}

.apm-theme-v2 #form-register .apm-cg-banner.alert .alert-icon {
  flex: 0 0 auto;
  margin-top: 1px;
}

/* Account area — breadcrumb first inside primary panel (matches account dashboard pattern) */
.apm-theme-v2 main #account-account .apm-panel-light > .apm-breadcrumb-p:first-child,
.apm-theme-v2 main #account-login .apm-login-panel > .apm-breadcrumb-p:first-child,
.apm-theme-v2 main #account-edit .apm-panel-light > .apm-breadcrumb-p:first-child,
.apm-theme-v2 main #account-password .apm-panel-light > .apm-breadcrumb-p:first-child,
.apm-theme-v2 main #account-address-form .apm-panel-light > .apm-breadcrumb-p:first-child,
.apm-theme-v2 main #account-wishlist .apm-panel-light > .apm-breadcrumb-p:first-child,
.apm-theme-v2 main #account-address-book .apm-panel-warm > .apm-breadcrumb-p:first-child {
  margin-top: 0;
}

.apm-theme-v2 main #account-account .apm-panel-light > .apm-breadcrumb-p + .apm-eyebrow,
.apm-theme-v2 main #account-login .apm-login-panel > .apm-breadcrumb-p + .apm-eyebrow,
.apm-theme-v2 main #account-edit .apm-panel-light > .apm-breadcrumb-p + .apm-eyebrow,
.apm-theme-v2 main #account-password .apm-panel-light > .apm-breadcrumb-p + .apm-eyebrow {
  margin-top: 0;
}

.apm-theme-v2 main #account-address-form .apm-panel-light > .apm-breadcrumb-p + .apm-panel-title,
.apm-theme-v2 main #account-wishlist .apm-panel-light > .apm-breadcrumb-p + .apm-panel-title,
.apm-theme-v2 main #account-address-book .apm-panel-warm > .apm-breadcrumb-p + .apm-panel-title {
  margin-top: 0;
}

/*
 * Storefront card shell — matches apm-template-roboto.html `.sg-section`
 * (PDP: #product-info; shopping cart: #shopping-cart; class apm-sg-section is the template hook name).
 */
.apm-theme-v2 main.apm-page-canvas #product-info.apm-store-page-v2 > .apm-pdp-shell,
.apm-theme-v2 main #content #shopping-cart > .apm-pdp-shell.apm-sg-section,
.apm-theme-v2 main #account-order #content > .apm-pdp-shell.apm-sg-section,
.apm-theme-v2 main #information-contact #content > .apm-pdp-shell.apm-sg-section,
.apm-theme-v2 main #information-information #content > .apm-pdp-shell.apm-sg-section {
  background: var(--apm-surface);
  border: 1px solid var(--apm-divider);
  border-radius: var(--apm-r-xl);
  /* Top is tighter so breadcrumb + outer column padding don’t stack too much; sides/bottom keep sg-section rhythm */
  padding: 10px clamp(18px, 3vw, 28px) clamp(18px, 3vw, 28px);
  box-shadow: var(--apm-shadow-sm);
}

.apm-theme-v2 main #content #shopping-cart > .apm-pdp-shell.apm-sg-section > .apm-title:first-child {
  margin-top: 0;
}

.apm-theme-v2 main #content #shopping-cart > .apm-pdp-shell.apm-sg-section > .apm-breadcrumb-p:first-child {
  margin-top: 0;
}

.apm-theme-v2 main #content #shopping-cart > .apm-pdp-shell.apm-sg-section > .apm-breadcrumb-p + .apm-title {
  margin-top: 0;
}

/*
 * Full shopping cart — line items mirror mini-cart `.apm-mini__item--ds` (warm inset rows).
 */
.apm-theme-v2 main #shopping-cart .apm-cart-page .apm-cart-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 0.25rem;
}

.apm-theme-v2 main #shopping-cart .apm-cart-list > .apm-express-debug {
  margin-bottom: 0;
}

.apm-theme-v2 main #shopping-cart .apm-cart__card {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr) auto;
  grid-template-areas: "thumb body price";
  align-items: start;
  column-gap: 14px;
  row-gap: 0;
  padding: 14px 16px;
  border: 1px solid var(--apm-divider);
  border-radius: var(--apm-r-lg);
  background: var(--apm-surface-2);
  box-shadow: var(--apm-shadow-sm);
}

/* Premium badge: dedicated slim column (does not inflate body height). Omit column when absent via :has(). */
.apm-theme-v2 main #shopping-cart .apm-cart__card:has(> .apm-cart__premium) {
  grid-template-columns: 80px minmax(52px, 76px) minmax(0, 1fr) auto;
  grid-template-areas: "thumb premium body price";
}

.apm-theme-v2 main #shopping-cart .apm-cart-list > article.apm-cart__card:nth-of-type(odd) {
  background: var(--apm-surface-2);
}

.apm-theme-v2 main #shopping-cart .apm-cart-list > article.apm-cart__card:nth-of-type(even) {
  background: var(--apm-field-bg);
}

.apm-theme-v2 main #shopping-cart .apm-cart__thumb {
  grid-area: thumb;
  display: block;
  width: 80px;
  height: 80px;
  border: 1px solid var(--apm-divider);
  border-radius: var(--apm-r-md);
  overflow: hidden;
  background: var(--apm-surface);
}

.apm-theme-v2 main #shopping-cart .apm-cart__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.apm-theme-v2 main #shopping-cart .apm-cart__thumb-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: var(--apm-ink-4);
  font-size: 1.25rem;
}

.apm-theme-v2 main #shopping-cart .apm-cart__body {
  grid-area: body;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.apm-theme-v2 main #shopping-cart .apm-cart__premium {
  grid-area: premium;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 0;
  min-width: 0;
}

.apm-theme-v2 main #shopping-cart .apm-cart__premium img {
  display: block;
  max-height: 40px;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.apm-theme-v2 main #shopping-cart .apm-cart__product-title {
  margin: 0;
  font-family: var(--apm-font-cond);
  font-size: clamp(1rem, 2vw, 1.15rem);
  font-weight: 700;
  line-height: 1.3;
}

.apm-theme-v2 main #shopping-cart .apm-cart__product-title-link {
  color: var(--apm-ink);
  text-decoration: none;
  transition: color 0.15s ease;
}

.apm-theme-v2 main #shopping-cart .apm-cart__product-title-link:hover,
.apm-theme-v2 main #shopping-cart .apm-cart__product-title-link:focus-visible {
  color: var(--apm-peach-d);
  text-decoration: none;
}

/* Header mini-cart — same product title pattern as full cart (outside main #shopping-cart) */
.apm-theme-v2 .apm-mini-cart .apm-cart__product-title {
  margin: 0;
  font-family: var(--apm-font-cond);
  font-size: clamp(0.92rem, 1.8vw, 1.08rem);
  font-weight: 700;
  line-height: 1.3;
}

.apm-theme-v2 .apm-mini-cart .apm-cart__product-title-link {
  color: var(--apm-ink);
  text-decoration: none;
  transition: color 0.15s ease;
}

.apm-theme-v2 .apm-mini-cart .apm-cart__product-title-link:hover,
.apm-theme-v2 .apm-mini-cart .apm-cart__product-title-link:focus-visible {
  color: var(--apm-peach-d);
  text-decoration: none;
}

.apm-theme-v2 main #shopping-cart .apm-cart-page .apm-eyebrow.apm-cart__mfg {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--apm-peach);
}

.apm-theme-v2 main #shopping-cart .apm-cart__meta {
  font-size: 0.875rem;
  color: var(--apm-ink-3);
}

.apm-theme-v2 main #shopping-cart .apm-cart__opts {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.875rem;
  color: var(--apm-ink-3);
}

/* DS §14 Feedback — multi-item shipping note (apm-template-roboto.html .alert.alert-info) */
.apm-theme-v2 main #shopping-cart .apm-cart-list > .alert.alert-info {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  margin-top: 1rem;
  margin-bottom: 0;
  border-radius: var(--apm-r-lg);
  border: 1px solid var(--apm-info-border);
  font-size: 14px;
  line-height: 1.5;
  background: var(--apm-info-bg);
  color: var(--apm-info-text);
}

.apm-theme-v2 main #shopping-cart .apm-cart-list > .alert.alert-info .alert-icon {
  flex-shrink: 0;
  margin-top: 1px;
}

.apm-theme-v2 main #shopping-cart .apm-cart-list > .alert.alert-info b {
  font-weight: 700;
}

.apm-theme-v2 main #shopping-cart .apm-cart__card-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
}

.apm-theme-v2 main #shopping-cart .apm-cart__qty-form.apm-cart__form {
  margin: 0;
}

.apm-theme-v2 main #shopping-cart .apm-cart__price {
  grid-area: price;
  justify-self: end;
  align-self: start;
  font-weight: 800;
  font-size: clamp(1.0625rem, 2.1vw, 1.1875rem);
  line-height: 1.2;
  color: var(--apm-ink);
  text-align: right;
  white-space: nowrap;
}

.apm-theme-v2 main #shopping-cart .apm-cart__price .apm-tax-note {
  margin-top: 0;
  padding-top: 2px;
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--apm-ink-3);
  line-height: 1.2;
}

/* Remove — match mini-cart rose tile (overrides default .btn-danger fill on cart row) */
.apm-theme-v2 main #shopping-cart .apm-cart__remove-btn.btn-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid #f4baba;
  border-radius: var(--apm-r-md);
  background: #fdecec;
  color: var(--apm-rose, #d94c4c);
  box-shadow: none;
}

.apm-theme-v2 main #shopping-cart .apm-cart__remove-btn.btn-danger:hover,
.apm-theme-v2 main #shopping-cart .apm-cart__remove-btn.btn-danger:focus {
  background: var(--apm-rose, #d94c4c);
  border-color: #b83838;
  color: #fff;
}

.apm-theme-v2 main #shopping-cart .apm-cart__totals.apm-cart__totals--page {
  display: flex;
  flex-direction: column;
  gap: 25px;
  margin-top: 1rem;
  padding-top: 14px;
  border-top: 1px dashed var(--apm-divider);
}

.apm-theme-v2 main #shopping-cart .apm-cart__totals--page .apm-cart__total {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: baseline;
  width: 100%;
  font-size: 0.95rem;
}

.apm-theme-v2 main #shopping-cart .apm-cart__totals--page .apm-cart__total-label {
  color: var(--apm-ink-2);
  word-break: break-word;
}

.apm-theme-v2 main #shopping-cart .apm-cart__totals--page .apm-cart__total-value {
  font-weight: 600;
  color: var(--apm-ink);
  text-align: right;
  white-space: nowrap;
}

.apm-theme-v2 main #shopping-cart .apm-cart__totals--page .apm-cart__total--grand {
  margin-top: 0;
  padding: 10px 12px;
  border: 1px solid var(--apm-divider);
  border-radius: var(--apm-r-md);
  background: var(--apm-peach-bg);
}

.apm-theme-v2 main #shopping-cart .apm-cart__totals--page .apm-cart__total--grand .apm-cart__total-label,
.apm-theme-v2 main #shopping-cart .apm-cart__totals--page .apm-cart__total--grand .apm-cart__total-value {
  font-weight: 800;
}

.apm-theme-v2 main #shopping-cart .apm-cart__totals--page .apm-cart__total--grand .apm-cart__total-value {
  color: var(--apm-peach-d);
  font-size: 1.05rem;
}

@media (max-width: 576px) {
  .apm-theme-v2 main #shopping-cart .apm-cart__card {
    grid-template-columns: 68px minmax(0, 1fr);
    grid-template-areas:
      "thumb price"
      "body body";
    row-gap: 10px;
  }

  /* Premium badge: full-width row between thumb/price and details (column “folds” out of the middle). */
  .apm-theme-v2 main #shopping-cart .apm-cart__card:has(> .apm-cart__premium) {
    grid-template-columns: 68px minmax(0, 1fr);
    grid-template-areas:
      "thumb price"
      "premium premium"
      "body body";
    row-gap: 8px;
  }

  .apm-theme-v2 main #shopping-cart .apm-cart__card:has(> .apm-cart__premium) .apm-cart__premium {
    justify-content: flex-start;
    max-width: 100%;
  }

  .apm-theme-v2 main #shopping-cart .apm-cart__card:has(> .apm-cart__premium) .apm-cart__premium img {
    max-height: 36px;
  }

  .apm-theme-v2 main #shopping-cart .apm-cart__thumb {
    width: 68px;
    height: 68px;
  }
}

.apm-theme-v2 main #account-order #content > .apm-pdp-shell.apm-sg-section > .apm-breadcrumb-p:first-child {
  margin-top: 0;
}

.apm-theme-v2 main #account-order #content > .apm-pdp-shell.apm-sg-section > .apm-title {
  margin-top: 0;
}

.apm-theme-v2 main #information-contact #content > .apm-pdp-shell.apm-sg-section > .apm-breadcrumb-p:first-child,
.apm-theme-v2 main #information-information #content > .apm-pdp-shell.apm-sg-section > .apm-breadcrumb-p:first-child {
  margin-top: 0;
}

.apm-theme-v2 main #information-contact #content > .apm-pdp-shell.apm-sg-section > .apm-title,
.apm-theme-v2 main #information-information #content > .apm-pdp-shell.apm-sg-section > .apm-title {
  margin-top: 0;
}

/* CMS / information article body (inside sg-section card) */
.apm-theme-v2 main #information-information .apm-info-prose {
  color: var(--apm-ink-2);
  font-size: 1rem;
  line-height: 1.65;
  max-width: 72ch;
}

.apm-theme-v2 main #information-information .apm-info-prose > :first-child {
  margin-top: 0;
}

.apm-theme-v2 main #information-information .apm-info-prose > :last-child {
  margin-bottom: 0;
}

.apm-theme-v2 main #information-information .apm-info-prose h2,
.apm-theme-v2 main #information-information .apm-info-prose h3,
.apm-theme-v2 main #information-information .apm-info-prose h4 {
  font-family: var(--apm-font-cond);
  font-weight: 700;
  color: var(--apm-ink);
  margin-top: 1.35em;
  margin-bottom: 0.5em;
  line-height: 1.25;
}

.apm-theme-v2 main #information-information .apm-info-prose a {
  color: var(--apm-peach-d);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.apm-theme-v2 main #information-information .apm-info-prose a:hover {
  color: var(--apm-peach);
}

/* Account order list — cards + actions inside sg-section */
.apm-theme-v2 #account-order .apm-pdp-shell .apmol-card {
  background: var(--apm-surface-2);
  border: 1px solid var(--apm-divider);
  border-radius: var(--apm-r-xl);
  box-shadow: var(--apm-shadow-sm);
  padding: 14px 18px 16px;
}

.apm-theme-v2 #account-order .apm-order-actions .btn {
  font-weight: 600;
  border-radius: var(--apm-r-lg);
  min-height: 44px;
}

.apm-theme-v2 #account-order .apm-order-actions .btn-outline-secondary.disabled {
  opacity: 0.58;
  pointer-events: none;
}

.apm-theme-v2 #account-order .apm-order-back {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--apm-divider);
}

.apm-theme-v2 #account-order .apm-order-pagination {
  margin-top: 0.25rem;
}

.apm-theme-v2 #account-order .apm-order-info-cta {
  padding-top: 1.25rem;
  border-top: 1px solid var(--apm-divider);
}

/* Order list — product line title (semantic h2; pairs with .apm-sg-section) */
.apm-theme-v2 #account-order .apm-sg-h {
  min-width: 0;
  font-family: var(--apm-font-cond);
  font-size: clamp(1rem, 2.2vw, 1.15rem);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.01em;
}

.apm-theme-v2 #account-order .apm-sg-h a,
.apm-theme-v2 #account-order .apm-sg-h span {
  color: var(--apm-ink);
  text-decoration: none;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.apm-theme-v2 #account-order .apm-sg-h a:hover {
  color: var(--apm-peach);
}

/* Cancel-order confirmation (order_list.twig overlay) */
body.apm-theme-v2 .apmoc-cancel-modal {
  background: var(--apm-surface);
  border: 1px solid var(--apm-divider);
  border-radius: var(--apm-r-xl);
  padding: 1.5rem 1.75rem;
  box-shadow: var(--apm-shadow-lg);
  max-width: 480px;
}

body.apm-theme-v2 .apmoc-cancel-modal h3 {
  font-family: var(--apm-font-cond);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--apm-ink);
}

body.apm-theme-v2 .apmoc-cancel-modal p {
  color: var(--apm-ink-2);
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 1rem;
}

/* Vertical rhythm between stacked PDP sections in the main column */
.apm-theme-v2 main #product-info > .apm-pdp-shell #content > section + section {
  margin-top: 1.5rem;
}

/* Bootstrap pagination → APM pill style */
.apm-theme-v2 main ul.pagination {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}

.apm-theme-v2 main ul.pagination .page-item .page-link {
  min-width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  font-size: 13px;
  font-weight: 600;
  color: var(--apm-ink-2);
  text-decoration: none;
  background: var(--apm-surface);
  border: 1px solid var(--apm-divider);
  border-radius: var(--apm-r-md);
  transition: border-color 0.15s, color 0.15s, background 0.15s;
}

.apm-theme-v2 main ul.pagination .page-item .page-link:hover {
  border-color: var(--apm-peach);
  color: var(--apm-peach-d);
}

.apm-theme-v2 main ul.pagination .page-item.active .page-link {
  background: var(--apm-peach);
  border-color: var(--apm-peach);
  color: #fff;
}

.apm-theme-v2 main ul.pagination .page-item.disabled .page-link {
  opacity: 0.45;
}

/* Tables in content */
.apm-theme-v2 main #content .table {
  border-collapse: collapse;
  font-size: 14px;
}

.apm-theme-v2 main #content .table thead th {
  background: var(--apm-surface-2);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--apm-ink-2);
  padding: 12px 14px;
  border-bottom: 1px solid var(--apm-divider);
}

.apm-theme-v2 main #content .table tbody td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--apm-divider);
  color: var(--apm-ink-2);
}

.apm-theme-v2 main #content .table tbody tr:hover {
  background: var(--apm-surface-2);
}

/* Styleguide § Data tables — bordered wrap + mobile stack (apm-template “10 — Data”) */
.apm-theme-v2 main #content .table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--apm-divider);
  border-radius: var(--apm-r-lg);
  background: var(--apm-surface);
  box-shadow: var(--apm-shadow-sm);
  max-width: 100%;
}

.apm-theme-v2 main #content .table-wrap > .table {
  margin-bottom: 0;
}

.apm-theme-v2 main #content .table .table-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 576px) {
  .apm-theme-v2 main #content .table.table-stack thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }

  .apm-theme-v2 main #content .table.table-stack tbody tr {
    display: block;
    border-bottom: 1px solid var(--apm-divider);
    padding: 12px 14px;
  }

  .apm-theme-v2 main #content .table.table-stack tbody tr:last-child {
    border-bottom: none;
  }

  .apm-theme-v2 main #content .table.table-stack tbody td {
    display: block;
    padding: 8px 0;
    border-bottom: none;
    text-align: left;
  }

  .apm-theme-v2 main #content .table.table-stack tbody td:last-child {
    padding-bottom: 0;
  }

  .apm-theme-v2 main #content .table.table-stack tbody td::before {
    content: attr(data-label);
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--apm-ink-3);
    margin-bottom: 6px;
  }
}

/*
 * PDP data tables — template §11 (Tables).
 * Scoped .apm-pdp-data-table-wrap overrides legacy mycart .apm-altparts__table borders/padding.
 */
.apm-theme-v2 main #content .apm-pdp-section-alternatives .apm-altparts__header {
  margin-bottom: 16px;
}

.apm-theme-v2 main #content .apm-pdp-data-table-wrap {
  background: var(--apm-surface);
  border: 1px solid var(--apm-divider);
  border-radius: var(--apm-r-xl);
  overflow-x: auto;
  /* avoid clipping vertically; badge tips use fixed-position flyout (product.twig) in scroll contexts */
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  box-shadow: var(--apm-shadow-sm);
  max-width: 100%;
}

/* Scroll/clipped contexts: hide pseudo-element tips (fixed flyout script provides the tooltip). */
.apm-theme-v2 main #content .apm-pdp-data-table-wrap .apm-hit__badge[data-apm-badge-tip]:hover::after,
.apm-theme-v2 main #content .apm-pdp-data-table-wrap .apm-hit__badge[data-apm-badge-tip]:focus-visible::after,
.apm-theme-v2 main #content .apm-pdp-data-table-wrap .apm-hit__badge[data-apm-badge-tip]:hover::before,
.apm-theme-v2 main #content .apm-pdp-data-table-wrap .apm-hit__badge[data-apm-badge-tip]:focus-visible::before,
#apm-altparts .apm-hit__badge[data-apm-badge-tip]:hover::after,
#apm-altparts .apm-hit__badge[data-apm-badge-tip]:focus-visible::after,
#apm-altparts .apm-hit__badge[data-apm-badge-tip]:hover::before,
#apm-altparts .apm-hit__badge[data-apm-badge-tip]:focus-visible::before {
  content: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Fixed tooltip layer (populated by product page script for alt-parts / PDP tables). */
.apm-hit__badge-tip-flyout {
  position: fixed;
  z-index: 10850;
  box-sizing: border-box;
  max-width: min(480px, calc(100vw - 16px));
  min-width: 240px;
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 500;
  background: #0f172a;
  color: #fff;
  border-radius: 8px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
  pointer-events: none;
}

.apm-theme-v2 main #content #apm-pdp-alternatives .apm-pdp-data-table-wrap {
  border-radius: var(--apm-r-lg);
}

.apm-theme-v2 main #content .apm-pdp-data-table-wrap > .table {
  margin-bottom: 0;
  width: 100%;
}

.apm-theme-v2 main #content .apm-pdp-data-table-wrap .table thead th {
  text-align: left;
  padding: 12px 16px;
  letter-spacing: 0.08em;
}

.apm-theme-v2 main #content .apm-pdp-data-table-wrap .table tbody td {
  padding: 14px 16px;
  vertical-align: top;
}

.apm-theme-v2 main #content .apm-pdp-data-table-wrap .table tbody tr:last-child td {
  border-bottom: none;
}

/* Reset legacy apm-altparts grid borders inside v2 PDP tables */
.apm-theme-v2 main #content .apm-pdp-data-table-wrap .apm-altparts__table th,
.apm-theme-v2 main #content .apm-pdp-data-table-wrap .apm-altparts__table td {
  border-left: none;
  border-right: none;
  border-top: none;
}

.apm-theme-v2 main #content .apm-pdp-section-alternatives .apm-altparts__morebtn {
  background: var(--apm-peach);
  border: 1px solid var(--apm-peach-d);
  color: #fff;
  border-radius: var(--apm-r-md);
  font-weight: 600;
}

.apm-theme-v2 main #content .apm-pdp-section-alternatives .apm-altparts__morebtn:hover {
  background: var(--apm-peach-d);
  border-color: var(--apm-peach-d);
  color: #fff;
}

/* Form controls — peach focus ring */
.apm-theme-v2 main .form-control:focus,
.apm-theme-v2 main .form-select:focus {
  border-color: var(--apm-peach);
  box-shadow: 0 0 0 3px var(--apm-peach-ring);
}

/* Primary actions (scoped to main — avoids admin bleed) */
.apm-theme-v2 main .btn-primary {
  background: var(--apm-peach);
  border-color: var(--apm-peach-d);
  color: #fff;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(245, 146, 78, 0.25);
}

.apm-theme-v2 main .btn-primary:hover,
.apm-theme-v2 main .btn-primary:focus {
  background: var(--apm-peach-d);
  border-color: var(--apm-peach-d);
  color: #fff;
}

/* Template §3 — secondary (outline) for e.g. Continue shopping */
.apm-theme-v2 main a.btn-secondary,
.apm-theme-v2 main .btn-secondary {
  background: transparent;
  color: var(--apm-ink-2);
  border: 1.5px solid var(--apm-field-border);
  font-weight: 600;
}

.apm-theme-v2 main a.btn-secondary:hover,
.apm-theme-v2 main a.btn-secondary:focus,
.apm-theme-v2 main .btn-secondary:hover,
.apm-theme-v2 main .btn-secondary:focus {
  border-color: var(--apm-peach);
  color: var(--apm-peach-d);
  background: var(--apm-peach-bg);
}

/* Shopping cart — template §4-style quantity + “What would you like to do next?” controls */
.apm-theme-v2 main #shopping-cart .apm-cart__form .form-control.apm-qty {
  width: 4.5rem;
  min-width: 3.5rem;
  height: 44px;
  padding: 0 10px;
  background: var(--apm-field-bg);
  border: 1.5px solid var(--apm-field-border);
  border-radius: var(--apm-r-lg);
  font-size: 15px;
  font-weight: 500;
  color: var(--apm-ink);
  text-align: center;
}

/* Template §4 — .input / .select (estimate shipping: country, zone, any text fields in accordion) */
.apm-theme-v2 main #shopping-cart .apm-pdp-shell .apm-cart__next .form-control,
.apm-theme-v2 main #shopping-cart .apm-pdp-shell .apm-cart__next .form-select,
.apm-theme-v2 main #shopping-cart .apm-pdp-shell .accordion .form-control:not([type="hidden"]),
.apm-theme-v2 main #shopping-cart .apm-pdp-shell .accordion .form-select {
  width: 100%;
  min-height: 48px;
  height: auto;
  padding: 0 16px;
  background: var(--apm-field-bg);
  border: 1.5px solid var(--apm-field-border);
  border-radius: var(--apm-r-lg);
  font-family: var(--apm-font);
  font-size: 15px;
  color: var(--apm-ink);
  outline: none;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.apm-theme-v2 main #shopping-cart .apm-pdp-shell .accordion .form-select {
  padding-right: 40px;
  cursor: pointer;
}

.apm-theme-v2 main #shopping-cart .apm-pdp-shell .apm-cart__next .form-control:hover,
.apm-theme-v2 main #shopping-cart .apm-pdp-shell .apm-cart__next .form-select:hover,
.apm-theme-v2 main #shopping-cart .apm-pdp-shell .accordion .form-control:not([type="hidden"]):hover,
.apm-theme-v2 main #shopping-cart .apm-pdp-shell .accordion .form-select:hover {
  border-color: var(--apm-divider);
}

.apm-theme-v2 main #shopping-cart .apm-pdp-shell .apm-cart__next .form-control:focus,
.apm-theme-v2 main #shopping-cart .apm-pdp-shell .apm-cart__next .form-select:focus,
.apm-theme-v2 main #shopping-cart .apm-pdp-shell .accordion .form-control:not([type="hidden"]):focus,
.apm-theme-v2 main #shopping-cart .apm-pdp-shell .accordion .form-select:focus {
  border-color: var(--apm-peach);
  background: var(--apm-surface-2);
  box-shadow: 0 0 0 3px var(--apm-peach-ring);
}

.apm-theme-v2 main #shopping-cart .apm-pdp-shell .accordion .apm-card .col-form-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--apm-ink-2);
}

.apm-theme-v2 main #shopping-cart .apm-pdp-shell .accordion .apm-form-hint {
  font-size: 12px;
  color: var(--apm-ink-3);
  margin-bottom: 1rem;
  line-height: 1.5;
}

/*
 * Shipping method modal — template §5 radios + mint accent (pairs with .btn-cta).
 * Options are built in shipping.twig JS; rows use .apm-ship-option.
 */
body.apm-theme-v2 #modal-shipping .apm-ship-option {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  margin-bottom: 10px;
  padding: 10px 14px;
  border-radius: var(--apm-r-lg);
  border: 1.5px solid var(--apm-divider);
  background: var(--apm-field-bg);
  cursor: pointer;
  user-select: none;
  line-height: 1.35;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

body.apm-theme-v2 #modal-shipping .apm-ship-option:hover {
  border-color: var(--apm-mint-border);
  background: var(--apm-mint-bg);
}

body.apm-theme-v2 #modal-shipping .apm-ship-option:has(.form-check-input:checked) {
  border-color: var(--apm-mint-d);
  background: var(--apm-mint-bg);
  box-shadow: 0 0 0 1px rgba(95, 184, 120, 0.2);
}

body.apm-theme-v2 #modal-shipping .apm-ship-option .form-check-input {
  width: 18px;
  height: 18px;
  margin: 0;
  float: none;
  flex-shrink: 0;
  accent-color: var(--apm-mint);
  cursor: pointer;
}

body.apm-theme-v2 #modal-shipping .apm-ship-option__label,
body.apm-theme-v2 #modal-shipping .apm-ship-option .form-check-label {
  flex: 1;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--apm-ink-2);
  cursor: pointer;
}

body.apm-theme-v2 #modal-shipping .apm-ship-option:has(.form-check-input:checked) .apm-ship-option__label,
body.apm-theme-v2 #modal-shipping .apm-ship-option:has(.form-check-input:checked) .form-check-label {
  color: var(--apm-ink);
  font-weight: 600;
}

/* ─── Checkout: payment method picker (#modal-payment, payment_method.twig) ─── */
body.apm-theme-v2 #modal-payment .modal-content.skpaypm-modal.apm-modal {
  border-radius: var(--apm-r-xl);
  border: 1px solid var(--apm-divider);
  box-shadow: var(--apm-shadow-lg);
  overflow: hidden;
}

body.apm-theme-v2 #modal-payment .modal-header.apm-modal__header {
  background: var(--apm-peach-bg);
  border-bottom: 1px solid var(--apm-divider);
  padding: 1rem 1.25rem;
}

body.apm-theme-v2 #modal-payment .modal-title {
  font-family: var(--apm-font-cond);
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--apm-ink);
  margin: 0;
}

body.apm-theme-v2 #modal-payment .modal-title .fa {
  color: var(--apm-peach-d);
  margin-right: 8px;
}

body.apm-theme-v2 #modal-payment .modal-body {
  padding: 1.25rem;
  background: var(--apm-canvas);
}

body.apm-theme-v2 #modal-payment .skpaypm-lead {
  margin-bottom: 14px;
  color: var(--apm-ink-3);
  font-size: 14px;
  line-height: 1.55;
}

body.apm-theme-v2 #modal-payment .skpaypm-group-title {
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--apm-ink-3);
  margin-bottom: 6px;
}

body.apm-theme-v2 #modal-payment .skpaypm-card {
  border: 1.5px solid var(--apm-divider);
  border-radius: var(--apm-r-xl);
  background: var(--apm-surface);
  box-shadow: var(--apm-shadow-sm);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

body.apm-theme-v2 #modal-payment .skpaypm-card:hover {
  border-color: var(--apm-mint-border);
  box-shadow: 0 6px 20px rgba(17, 17, 19, 0.08);
}

body.apm-theme-v2 #modal-payment .skpaypm-card:has(.skpaypm-radio:checked) {
  border-color: var(--apm-mint-d);
  background: var(--apm-mint-bg);
  box-shadow: 0 0 0 1px rgba(95, 184, 120, 0.22);
}

body.apm-theme-v2 #modal-payment .skpaypm-icon {
  background: var(--apm-field-bg);
  border: 1px solid var(--apm-field-border);
  color: var(--apm-peach-d);
}

body.apm-theme-v2 #modal-payment .skpaypm-radio:checked + .skpaypm-card-body .skpaypm-icon {
  background: var(--apm-peach-bg);
  border-color: var(--apm-peach-l);
  color: var(--apm-peach-d);
}

body.apm-theme-v2 #modal-payment .skpaypm-title {
  color: var(--apm-ink);
  font-weight: 600;
}

body.apm-theme-v2 #modal-payment .skpaypm-terms {
  color: var(--apm-ink-3);
}

body.apm-theme-v2 #modal-payment .skpaypm-radio:checked + .skpaypm-card-body .skpaypm-title {
  font-weight: 700;
}

body.apm-theme-v2 #modal-payment .skpaypm-radio:checked + .skpaypm-card-body .skpaypm-terms {
  color: var(--apm-ink-2);
}

.apm-theme-v2 main #shopping-cart .apm-pdp-shell .apm-cart__next {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--apm-divider);
}

.apm-theme-v2 main #shopping-cart .apm-cart-cta {
  margin-top: 1.5rem;
  padding-top: 0.5rem;
}

.apm-theme-v2 main #shopping-cart .apm-cart-cta .btn-lg {
  min-height: 52px;
  padding: 0 1.5rem;
  font-size: 15px;
  font-weight: 600;
  border-radius: var(--apm-r-lg);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* Checkout cards — align with surface tokens */
.apm-theme-v2 main .apm-card {
  background: var(--apm-surface);
  border: 1px solid var(--apm-divider);
  border-radius: var(--apm-r-xl);
  box-shadow: var(--apm-shadow-sm);
}

.apm-theme-v2 main .apm-step__badge {
  background: var(--apm-peach-bg);
  color: var(--apm-peach-d);
  border: 1px solid var(--apm-peach-l);
}

.apm-theme-v2 main .apm-step__title {
  font-family: var(--apm-font-cond);
  color: var(--apm-ink);
}

/* ─── Home: Trending product grid (apm-trending.html) ─── */
.apm-theme-v2 .apm-trending-section {
  margin-bottom: 2rem;
}

.apm-theme-v2 .apm-trending-head {
  margin-bottom: 20px;
}

.apm-theme-v2 .apm-trending-head-l .apm-trending-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--apm-peach);
  margin-bottom: 6px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.apm-theme-v2 .apm-trending-head-l h2 {
  font-family: var(--apm-font-cond);
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: 700;
  color: var(--apm-ink);
  line-height: 1.05;
  margin-bottom: 4px;
}

.apm-theme-v2 .apm-trending-head-l p {
  font-size: 14px;
  color: var(--apm-ink-3);
  margin: 0;
}

/* Single horizontal scrolling strip */
.apm-theme-v2 .apm-trending-strip-wrap {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 100%;
}

.apm-theme-v2 .apm-trending-strip {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 18px;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 10px;
  padding-top: 3px;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: var(--apm-peach-l) var(--apm-surface-2);
  -webkit-overflow-scrolling: touch;
  margin-top: 2px;
}

.apm-theme-v2 .apm-trending-strip::-webkit-scrollbar {
  height: 8px;
}

.apm-theme-v2 .apm-trending-strip::-webkit-scrollbar-track {
  background: var(--apm-surface-2);
  border-radius: 4px;
}

.apm-theme-v2 .apm-trending-strip::-webkit-scrollbar-thumb {
  background: var(--apm-peach-l);
  border-radius: 4px;
}

.apm-theme-v2 .apm-trending-strip::-webkit-scrollbar-thumb:hover {
  background: var(--apm-peach);
}

.apm-theme-v2 .apm-trending-strip__cell {
  flex: 0 0 auto;
  width: clamp(200px, 19vw, 240px);
  scroll-snap-align: start;
  min-width: 0;
}

.apm-theme-v2 .apm-trending-strip__cell > .apm-tcard {
  width: 97%;
}

.apm-theme-v2 .apm-tcard {
  background: var(--apm-surface);
  border: 1px solid var(--apm-divider);
  border-radius: var(--apm-r-xl);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: var(--apm-shadow-sm);
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
  height: 100%;
}

.apm-theme-v2 .apm-tcard:hover {
  border-color: var(--apm-peach-l);
  box-shadow: var(--apm-shadow-lg);
  transform: translateY(-3px);
}

.apm-theme-v2 .apm-tcard > form {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

/* Image block: same pattern as category grid (.apm-thumb-wrap + .apm-thumb-img in mycart.css) */
.apm-theme-v2 .apm-tcard-img {
  position: relative;
  overflow: hidden;
  border-bottom: 0px solid var(--apm-divider);
  background: #fff;
}

.apm-theme-v2 .apm-tcard .apm-tcard-thumb-wrap.apm-thumb-wrap {
  max-height: 280px;
}

.apm-theme-v2 .apm-tcard .apm-tcard-thumb-wrap .apm-thumb-img {
  width: 100%;
  max-height: 200px;
  height: auto;
  object-fit: contain;
  border-radius: 0;
  background: #fff;
}

.apm-theme-v2 .apm-tcard-corner-tr {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 50%;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(6px);
  border: 1px solid var(--apm-divider);
  color: var(--apm-ink-3);
  transition: color 0.15s, border-color 0.15s, transform 0.1s;
  z-index: 2;
}

.apm-theme-v2 .apm-tcard-corner-tr:hover {
  color: var(--apm-rose, #d94c4c);
  border-color: #f4baba;
}

.apm-theme-v2 .apm-tcard-body {
  padding: 14px 16px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}

.apm-theme-v2 .apm-tcard-brand {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--apm-peach-d);
}

.apm-theme-v2 .apm-tcard-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--apm-ink);
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 38px;
  text-decoration: none;
}

.apm-theme-v2 .apm-tcard-title:hover {
  color: var(--apm-peach-d);
}

.apm-theme-v2 .apm-tcard-sku {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--apm-ink-3);
  margin-top: 2px;
}

.apm-theme-v2 .apm-tcard-sku-code {
  font-family: var(--apm-font-mono);
  font-size: 11px;
  font-weight: 500;
  background: #ececea;
  border: 1px solid #d4d2cc;
  border-radius: 4px;
  padding: 1px 6px;
  color: #2a2a2a;
  letter-spacing: 0.2px;
}

.apm-theme-v2 .apm-tcard-foot {
  padding: 12px 16px 16px;
  border-top: 1px solid var(--apm-divider);
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: auto;
}

.apm-theme-v2 .apm-tcard-price-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.apm-theme-v2 .apm-tcard-price {
  font-family: var(--apm-font-cond);
  font-size: 22px;
  font-weight: 700;
  color: var(--apm-ink);
  line-height: 1;
  letter-spacing: 0.2px;
}

.apm-theme-v2 .apm-tcard-price-strike {
  font-size: 13px;
  color: var(--apm-ink-3);
  text-decoration: line-through;
  font-weight: 500;
  font-family: var(--apm-font-cond);
}

.apm-theme-v2 .apm-tcard-vat {
  font-size: 11px;
  color: var(--apm-ink-3);
  display: flex;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: -4px;
}

.apm-theme-v2 .apm-tcard-vat b {
  color: var(--apm-ink-2);
  font-weight: 600;
}

.apm-theme-v2 .apm-tcard-save {
  font-size: 11px;
  font-weight: 700;
  color: var(--apm-mint-text);
  background: var(--apm-mint-bg);
  border: 1px solid var(--apm-mint-border);
  border-radius: 4px;
  padding: 1px 6px;
  letter-spacing: 0.3px;
}

.apm-theme-v2 .apm-tcard-actions {
  display: flex;
  gap: 8px;
}

.apm-theme-v2 .apm-tcard-btn-cart {
  flex: 1;
  height: 40px;
  background: var(--apm-mint);
  color: #fff;
  border: none;
  border-radius: var(--apm-r-md);
  font-family: var(--apm-font);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  transition: background 0.15s, box-shadow 0.15s, transform 0.1s;
}

.apm-theme-v2 .apm-tcard-btn-cart:hover:not(:disabled) {
  background: var(--apm-mint-d);
  box-shadow: 0 6px 18px rgba(95, 184, 120, 0.3);
}

.apm-theme-v2 .apm-tcard-btn-cart:active:not(:disabled) {
  transform: scale(0.98);
}

.apm-theme-v2 .apm-tcard-btn-cart:disabled {
  background: var(--apm-field-border);
  cursor: not-allowed;
  box-shadow: none;
  opacity: 0.85;
}

.apm-theme-v2 .apm-tcard-btn-icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  background: transparent;
  border: 1.5px solid var(--apm-field-border);
  border-radius: var(--apm-r-md);
  cursor: pointer;
  color: var(--apm-ink-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: border-color 0.15s, color 0.15s;
}

.apm-theme-v2 .apm-tcard-btn-icon:hover {
  border-color: var(--apm-peach);
  color: var(--apm-peach-d);
}

@media (max-width: 576px) {
  .apm-theme-v2 .apm-trending-strip {
    gap: 12px;
    scroll-snap-type: x mandatory;
  }

  .apm-theme-v2 .apm-trending-strip__cell {
    width: min(92vw, 420px);
    flex-basis: min(92vw, 420px);
  }

  .apm-theme-v2 .apm-trending-head-l h2 {
    font-size: 26px;
  }

  .apm-theme-v2 .apm-tcard-price {
    font-size: 19px;
  }
}

/* Responsive: match project breakpoints */
@media (max-width: 576px) {
  .apm-theme-v2 main.apm-page-canvas > .container.apm-store-page-v2,
  .apm-theme-v2 main.apm-page-canvas > #content > .container-fluid.apm-store-page-v2 {
    padding-left: 16px;
    padding-right: 16px;
  }
}
