/* 2PC unify layer (2026-09-26). Loads after the Shopify port (2pc-port.css).
   Holds ONLY the changes the owner asked for:
   - white background like wholesale.2ndlifephones.com (was cream)
   - one consistent style: 2 fonts, one page-title style, one section-heading style,
     2 content widths (wide 1200px, reading 720px), 16px side margin on phones, 3 corner radii.
   Everything else (copy, sections, videos, layout) is the Shopify site as it is today. */

/* ---- Tokens: white + neutral greys ---------------------------------------------------- */
body[data-brand="2pc"] {
  --c-bg:        #FFFFFF;
  --c-card:      #FFFFFF;
  --c-ink:       #1A1714;
  --c-ink-soft:  #57606A;
  --c-muted:     #6E7781;
  --c-rule:      #E5E7EB;
  --c-line:      #E5E7EB;
  --c-border:    #E5E7EB;
  --c-dot:       #C2563B;
  --c-tile-1:    #F6F7F8;
  --c-tile-2:    #F6F7F8;
  --c-tile-3:    #F6F7F8;
  --c-tile-4:    #F6F7F8;
  --c-tile-5:    #F6F7F8;
  --c-tile-6:    #F6F7F8;
  --c-bg-soft:   #F6F7F8;
  --c-surface:   #FFFFFF;

  --font-serif: "Playfair Display", Georgia, serif;
  --font-sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: var(--font-serif);

  /* 3 radii only */
  --r-sm:   8px;
  --r-md:   14px;
  --r-lg:   14px;
  --r-pill: 999px;

  /* wide width 1200px + gutters */
  --max-w:  1264px;
  --gutter: 32px;

  background: #FFFFFF;
  color: var(--c-ink);
  font-family: var(--font-sans);
}
@media (max-width: 800px) {
  body[data-brand="2pc"] { --gutter: 16px; }
}
html body[data-brand="2pc"] { background: #FFFFFF; }
body[data-brand="2pc"] .body { background: #FFFFFF; padding-top: 0; }

/* ---- One page-title style on every page (was 34px to 115px in two fonts) --------------- */
body[data-brand="2pc"] .body h1,
body[data-brand="2pc"] .body .tpc-coll-title,
body[data-brand="2pc"] .body .page-heading {
  font-family: var(--font-serif) !important;
  font-weight: 400 !important;
  font-size: 60px !important;
  line-height: 1.06 !important;
  letter-spacing: -0.015em !important;
  text-align: left !important;
  text-wrap: balance;
  margin-left: 0 !important;
}
body[data-brand="2pc"] .body .productView-title,
body[data-brand="2pc"] .body .tpc-pdp-title { font-size: 44px !important; }
@media (max-width: 800px) {
  body[data-brand="2pc"] .body h1,
  body[data-brand="2pc"] .body .tpc-coll-title,
  body[data-brand="2pc"] .body .page-heading { font-size: 38px !important; }
  body[data-brand="2pc"] .body .productView-title,
  body[data-brand="2pc"] .body .tpc-pdp-title { font-size: 34px !important; }
}

/* ---- One section-heading style ----------------------------------------------------------- */
body[data-brand="2pc"] .body h2 {
  font-family: var(--font-serif) !important;
  font-weight: 400 !important;
  font-size: 30px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em;
  text-wrap: balance;
}
@media (max-width: 800px) {
  body[data-brand="2pc"] .body h2 { font-size: 26px !important; }
}
/* Card titles that Shopify set as h2/h3 keep a card size. */
body[data-brand="2pc"] .body .tpc-blog-card h2,
body[data-brand="2pc"] .body .tpc-art-card h2 { font-size: 22px !important; }

/* Guides index: when the ported list is present, hide BigCommerce's fallback list. */
body[data-brand="2pc"] #MainContent:has([data-tpc-port="blog"]) + noscript + .tpc-blog-fallback { display: none; }

/* Product page: the ported video row scrolls sideways inside its column; stop it widening the page. */
body[data-brand="2pc"] .productView,
body[data-brand="2pc"] .productView > section,
body[data-brand="2pc"] .productView-options { min-width: 0; max-width: 100%; }
body[data-brand="2pc"] .tpc-vids-product,
body[data-brand="2pc"] .tpc-vids-in { max-width: 100%; min-width: 0; overflow: hidden; }
body[data-brand="2pc"] .tpc-vids-product .tpc-vids-row { overflow-x: auto; }

/* ---- Two widths only: wide 1200px (containers) and reading 720px (text, FAQs, forms) ------- */
body[data-brand="2pc"] .tpc-page-body,
body[data-brand="2pc"] .tpc-bloglist-items,
body[data-brand="2pc"] .tpc-guide-close,
body[data-brand="2pc"] .tpc-article-body,
body[data-brand="2pc"] .tpc-faq,
body[data-brand="2pc"] .tpc-bd,
body[data-brand="2pc"] .tpc-tip,
body[data-brand="2pc"] .tpc-rt,
body[data-brand="2pc"] .tpc-acct,
body[data-brand="2pc"] .tpc-calc-card,
body[data-brand="2pc"] .tpc-enroll,
body[data-brand="2pc"] .tpc-g.tpc-about {
  max-width: 720px !important;
}
body[data-brand="2pc"] .tpc-guide .tpc-container { max-width: calc(720px + 2 * var(--gutter)) !important; }
/* Cornerstone's page container already pads the sides; ported containers inside it don't pad twice. */
body[data-brand="2pc"] .body > .container .tpc-container { padding-left: 0; padding-right: 0; }
@media (max-width: 800px) {
  body[data-brand="2pc"] .body > .container { padding-left: 16px; padding-right: 16px; }
}

/* Sign in: Cornerstone's .login-form sizing fought the ported single-column form. */
body[data-brand="2pc"] .tpc-acct .login-form { width: 100%; max-width: none; float: none; margin: 0; padding: 0; border: 0; }
body[data-brand="2pc"] .tpc-acct { margin-left: auto; margin-right: auto; }
body[data-brand="2pc"] .tpc-acct-foot { display: flex; justify-content: space-between; gap: 16px; font-size: 14px; margin-top: 16px; }
body[data-brand="2pc"] .tpc-cart-empty { text-align: left; }

/* Cart: the ported Shopify summary block sits under BigCommerce's totals. */
body[data-brand="2pc"] .tpc-cart-summary .cart-content-padding-right { padding-right: 0; }
body[data-brand="2pc"] .tpc-cart-summary .cart-totals { width: 100%; float: none; margin: 0; }
body[data-brand="2pc"] .tpc-cart-summary .cart-actions { float: none; text-align: left; padding: 0; margin-top: 20px; }
body[data-brand="2pc"] .tpc-cart-summary .cart-actions .button { width: 100%; }
body[data-brand="2pc"] .tpc-cart-summary--port .row { display: flex; justify-content: space-between; padding: 6px 0; font-size: 14px; }
body[data-brand="2pc"] .tpc-cart-summary .cart-actions .button--primary { color: #FFFFFF !important; background: var(--c-ink); border-color: var(--c-ink); }
body[data-brand="2pc"] .cart-item-figure { width: 96px; }
body[data-brand="2pc"] .cart-item-figure img { width: 88px; height: auto; }

/* Fully white (owner 2026-09-26): photo tiles and cards are white with a hairline, so the white photos
   sit on white instead of a grey box. */
body[data-brand="2pc"] .tpc-cat-hero,
body[data-brand="2pc"] .tpc-cat,
body[data-brand="2pc"] .tpc-card-img,
body[data-brand="2pc"] .tpc-pdp-gallery,
body[data-brand="2pc"] .tpc-pdp-thumb,
body[data-brand="2pc"] .tpc-g-card img,
body[data-brand="2pc"] .productView-img-container,
body[data-brand="2pc"] .productView-thumbnail-link,
body[data-brand="2pc"] .tpc-sugg-row img,
body[data-brand="2pc"] .tpc-sugg-ph,
body[data-brand="2pc"] .card-figure,
body[data-brand="2pc"] .cart-item-figure {
  background: #FFFFFF !important;
}
body[data-brand="2pc"] .tpc-cat-hero,
body[data-brand="2pc"] .tpc-cat { border: 1px solid var(--c-rule); }

/* ---- Buttons: ONE primary, ONE secondary, ONE text link (QA 2026-09-26) -----------------
   2pc-port.css sets `body[data-brand="2pc"] a { color: inherit }`, which beat Cornerstone's
   .button--primary on <a> buttons (add-to-cart popup, account, cart): black text on black.
   Cornerstone .button / .button--primary now match the ported .tpc-btn / .tpc-btn-primary. */
body[data-brand="2pc"] .button {
  font-family: var(--font-sans); font-weight: 500; font-size: 15px; line-height: 1.2;
  text-decoration: none; text-transform: none; letter-spacing: 0;
  border-radius: 999px; border: 1.5px solid var(--c-ink); background: #FFFFFF; color: var(--c-ink);
  padding: 13px 24px;
}
body[data-brand="2pc"] .button:hover, body[data-brand="2pc"] .button:focus-visible {
  background: var(--c-ink); color: #FFFFFF; border-color: var(--c-ink);
}
body[data-brand="2pc"] .button--primary, body[data-brand="2pc"] .button--primary:focus {
  background: var(--c-ink); color: #FFFFFF; border-color: var(--c-ink);
}
body[data-brand="2pc"] .button--primary:hover { background: #000000; color: #FFFFFF; border-color: #000000; }
body[data-brand="2pc"] .button[disabled], body[data-brand="2pc"] .button:disabled {
  background: #D0D7DE; border-color: #D0D7DE; color: #1A1714; cursor: not-allowed;
}
body[data-brand="2pc"] .button *, body[data-brand="2pc"] .tpc-btn * { color: inherit; }

/* ==== Design QA pass 2026-09-26 (owner: "design needs a lot of work") ===================== */

/* Text colours that pass WCAG AA on white and on the #F6F7F8 tiles.
   muted #8A847C/#6E7781 were 3.6-4.3:1; terracotta #C2563B text was 4.3:1. */
body[data-brand="2pc"] { --c-muted: #5E6772; --c-ink-soft: #4D5560; --c-accent-text: #A3442B; }
body[data-brand="2pc"] .hl,
body[data-brand="2pc"] .tpc-g-eyebrow,
body[data-brand="2pc"] .tpc-rv-head.hl { color: var(--c-accent-text) !important; }
body[data-brand="2pc"] .tpc-vids-cap, body[data-brand="2pc"] .tpc-vids figcaption,
body[data-brand="2pc"] [class*=tpc-vid] p, body[data-brand="2pc"] [class*=tpc-vid] figcaption { color: var(--c-ink-soft) !important; }

/* Breadcrumbs: the current page was #E5E7EB on white (1.2:1). */
body[data-brand="2pc"] .breadcrumbs, body[data-brand="2pc"] .tpc-crumbs,
body[data-brand="2pc"] [class*=breadcrumb] { color: var(--c-ink-soft); }
body[data-brand="2pc"] .breadcrumb.is-active .breadcrumb-label,
body[data-brand="2pc"] [class*=crumb] [aria-current], body[data-brand="2pc"] [class*=crumb] span:last-child {
  color: var(--c-ink) !important; }

/* Header wordmark: Playfair like the footer and the live site (it had fallen back to small Inter). */
body[data-brand="2pc"] .tpc-wordmark {
  font-family: var(--font-serif) !important; font-size: 26px !important; font-weight: 500 !important;
  letter-spacing: -0.02em; line-height: 1; color: var(--c-ink) !important; white-space: nowrap; }
@media (max-width: 700px) { body[data-brand="2pc"] .tpc-wordmark { font-size: 22px !important; } }

/* Home dark band: the first line of the heading was ink on ink (invisible). */
body[data-brand="2pc"] .tpc-band h2 { color: #FFFFFF !important; }
body[data-brand="2pc"] .tpc-band h2 em { color: #F0A58F !important; font-style: italic; }
body[data-brand="2pc"] .tpc-band-top p { color: #D0D7DE !important; }

/* Wholesale band: navy was a colour used nowhere else; ink matches the site. */
body[data-brand="2pc"] .cross-site-banner, body[data-brand="2pc"] .tpc-cross-site-banner,
body[data-brand="2pc"] .tpc-wholesale-band { background: var(--c-ink) !important; color: #FFFFFF !important; }
body[data-brand="2pc"] .cross-site-banner a, body[data-brand="2pc"] .tpc-cross-site-banner a,
body[data-brand="2pc"] .tpc-wholesale-band a { color: #FFFFFF !important; }

/* Hero buttons on phones: "How grading works" wrapped to two lines inside its pill. */
@media (max-width: 700px) {
  body[data-brand="2pc"] .tpc-hero-cta .tpc-btn { white-space: nowrap; padding: 12px 12px; font-size: 14px; }
}
@media (max-width: 380px) {
  body[data-brand="2pc"] .tpc-hero-cta .tpc-btn { flex: 1 1 100%; }
}

/* One question/accordion style everywhere (product page, FAQ, Club, how it works, buy direct):
   was Playfair 22px on some pages, bold Inter on others, Playfair 13-17px on others. */
body[data-brand="2pc"] .tpc-faq-item summary, body[data-brand="2pc"] .tpc-faq summary,
body[data-brand="2pc"] details > summary,
body[data-brand="2pc"] .tpc-bd-qa h3, body[data-brand="2pc"] .tpc-faq-q, body[data-brand="2pc"] .tpc-faq h3 {
  font-family: var(--font-sans) !important; font-size: 16px !important; font-weight: 600 !important;
  line-height: 1.4 !important; letter-spacing: 0 !important; color: var(--c-ink) !important; }
body[data-brand="2pc"] .tpc-bd-qa h3 { margin: 20px 0 6px !important; }

/* Reading pages share one centred 720px column (About, Warranty, Contact, Returns were left-aligned;
   FAQ, Buy direct, Trade-in and Start a return sat at different offsets). */
body[data-brand="2pc"] .tpc-page-wrap > .tpc-container,
body[data-brand="2pc"] .tpc-faq, body[data-brand="2pc"] .tpc-bd, body[data-brand="2pc"] .tpc-tip,
body[data-brand="2pc"] .tpc-rt, body[data-brand="2pc"] .tpc-404 .page-content {
  max-width: 720px !important; margin-left: auto !important; margin-right: auto !important;
  padding-left: 0 !important; padding-right: 0 !important; }
@media (max-width: 800px) {
  body[data-brand="2pc"] .tpc-page-wrap > .tpc-container { padding-left: 0 !important; padding-right: 0 !important; }
}

/* Phone list filters on desktop: one even grid instead of a ragged row with "Condition" squeezed
   to the edge and "Battery" alone on a second row. */
@media (min-width: 861px) {
  body[data-brand="2pc"] .tpc-coll-toolbar {
    display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 16px; align-items: end; }
  body[data-brand="2pc"] .tpc-coll-toolbar .tpc-coll-search { grid-column: span 2; }
  body[data-brand="2pc"] .tpc-coll-toolbar label { min-width: 0; margin: 0; }
  body[data-brand="2pc"] .tpc-coll-toolbar select, body[data-brand="2pc"] .tpc-coll-toolbar input { width: 100%; }
}
/* Listing with no photo yet: a visible light tile instead of a white box on white. */
body[data-brand="2pc"] .tpc-card-imgph { background: #F6F7F8 !important; box-shadow: none !important; border: 1px solid var(--c-rule); }

/* Reviews: masonry columns, so short and long reviews don't leave blank holes in the grid. */
body[data-brand="2pc"] .tpc-rv-grid { display: block !important; columns: 4 240px; column-gap: 16px; }
body[data-brand="2pc"] .tpc-rv-grid > * { break-inside: avoid; display: inline-block; width: 100%; margin: 0 0 16px !important; }
body[data-brand="2pc"] .tpc-rv-note { margin-top: 24px; font-size: 15px; color: var(--c-ink-soft); }
body[data-brand="2pc"] .tpc-rv-note a { color: var(--c-ink); text-decoration: underline; text-underline-offset: 3px; }

/* How it works: space between the reviews strip and "Still curious."; stats readable on phones. */
body[data-brand="2pc"] .tpc-hiw-wrap .tpc-faq, body[data-brand="2pc"] .tpc-rvs + .tpc-faq { margin-top: 56px !important; }
/* (phone stats keep the live 2-column layout) */

/* Add-to-cart popup: title was 86px and the phone photo was a blown-up thumbnail. */
body[data-brand="2pc"] .modal .modal-header-title {
  font-size: 26px !important; line-height: 1.2 !important; text-align: left !important; margin: 0 !important; }
body[data-brand="2pc"] .modal .productView-image img, body[data-brand="2pc"] .modal .productView-img-container img {
  max-width: 220px !important; margin: 0 auto; }
body[data-brand="2pc"] .modal .previewCartCheckout .button { width: 100%; }

/* Cart: product name was Playfair 30px wrapping in a narrow column; the photo rendered 0px wide;
   the "Shipping: Add" estimator duplicated our free-shipping row. */
body[data-brand="2pc"] .cart-item-name, body[data-brand="2pc"] .cart-item-name a {
  font-family: var(--font-sans) !important; font-size: 16px !important; font-weight: 600 !important;
  line-height: 1.35 !important; letter-spacing: 0 !important; }
body[data-brand="2pc"] .cart-item-figure { width: 96px !important; min-width: 96px; }
body[data-brand="2pc"] .cart-item-figure img { width: 88px !important; height: auto !important; }
body[data-brand="2pc"] .cart-total-shipping-estimator { display: none !important; }
body[data-brand="2pc"] .tpc-cart-empty { padding: 0 !important; margin: 0 !important; }

/* Search results: BigCommerce cards match the phone list cards. */
body[data-brand="2pc"] .productGrid .card, body[data-brand="2pc"] .page-sidebar + .page-content .card {
  border: 1px solid var(--c-rule); border-radius: var(--r-md); padding: 12px; background: #FFFFFF; }
body[data-brand="2pc"] .card-title, body[data-brand="2pc"] .card-title a {
  font-family: var(--font-sans) !important; font-size: 15px !important; font-weight: 600 !important; color: var(--c-ink) !important; }
body[data-brand="2pc"] .card .price { font-family: var(--font-sans); font-size: 16px; font-weight: 600; color: var(--c-ink); }
body[data-brand="2pc"] .search-suggestion:has(.search-refine) { display: none; }

/* 404 */
body[data-brand="2pc"] .tpc-404 { padding: 48px 0 24px; }
body[data-brand="2pc"] .tpc-404-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 24px 0 32px; }

/* Create account: one full-width primary button like Sign in. */
body[data-brand="2pc"] .login .form-actions .button, body[data-brand="2pc"] .account .form-actions .button--primary,
body[data-brand="2pc"] form[data-create-account-form] .form-actions .button { width: 100%; max-width: 360px; }
body[data-brand="2pc"] .form-label small, body[data-brand="2pc"] .form-inlineMessage { color: var(--c-ink-soft); }

/* BigCommerce cookie banner: styled white in assets/scss/2pc/_2pc.scss (2026-09-27). */

/* Sold-out option pills: readable (was 4.2:1 on #DDD), still clearly unavailable. */
body[data-brand="2pc"] .form-option.unavailable {
  background: #F6F7F8 !important; border-color: #E5E7EB !important; color: #5E6772 !important; }
body[data-brand="2pc"] .form-option.unavailable .form-option-variant { color: #5E6772 !important; }

/* Header on desktop: with the Playfair wordmark the search pill ran into "Shop". Let the search shrink. */
body[data-brand="2pc"] .tpc-header-inner { grid-template-columns: minmax(0, 1fr) auto minmax(0, auto) !important; }
body[data-brand="2pc"] .tpc-header-left { min-width: 0; gap: 20px; }
body[data-brand="2pc"] .tpc-topsearch { flex: 1 1 auto; min-width: 0; max-width: 340px; }
body[data-brand="2pc"] .tpc-topsearch input { min-width: 0; text-overflow: ellipsis; }
@media (max-width: 1180px) and (min-width: 861px) {
  body[data-brand="2pc"] .tpc-nav { gap: 20px; }
  body[data-brand="2pc"] .tpc-topsearch { max-width: 240px; }
}

/* ---- Product page layout (lead QA 2026-09-26) -------------------------------------------------
   Was: photo top-left, then an empty left column the height of everything else. Now the buy box sits
   beside a sticky gallery, and "About this phone" / "What you get" share the row below, videos under. */
@media (min-width: 861px) {
  body[data-brand="2pc"] .productView { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; column-gap: 64px !important; row-gap: 0 !important; align-items: start; }
  body[data-brand="2pc"] .productView-details.product-options { display: contents !important; }
  body[data-brand="2pc"] .productView > *,
  body[data-brand="2pc"] .productView-details.product-options > * { grid-column: 1 / -1; }
  body[data-brand="2pc"] .productView-images { grid-column: 1 !important; grid-row: 1 / span 4 !important; position: sticky; top: 96px; }
  body[data-brand="2pc"] .productView-details.product-data { grid-column: 2 !important; grid-row: 1; }
  body[data-brand="2pc"] .productView-options { grid-column: 2 !important; grid-row: 2; }
  body[data-brand="2pc"] .productView .tpc-ti { grid-column: 2 !important; grid-row: 3; }
  body[data-brand="2pc"] .productView .tpc-direct { grid-column: 2 !important; grid-row: 4; }
  body[data-brand="2pc"] .productView .tpc-pdp-desc:not(.tpc-pdp-facts) { grid-column: 1 !important; grid-row: 5; margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--c-rule); }
  body[data-brand="2pc"] .productView .tpc-pdp-facts { grid-column: 2 !important; grid-row: 5; margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--c-rule); }
  body[data-brand="2pc"] .productView .tpc-vids-product { grid-column: 1 / -1 !important; grid-row: 6; }
  body[data-brand="2pc"] .productView .tpc-vids-product .tpc-vids-row { grid-auto-columns: minmax(170px, 200px); }
}
body[data-brand="2pc"] .productView .tpc-pdp-desc h3, body[data-brand="2pc"] .productView .tpc-pdp-facts h3 {
  font-family: var(--font-serif) !important; font-size: 26px !important; font-weight: 400 !important; margin: 0 0 12px !important; }

/* Buying direct: a plain list under a hairline, not a second boxed card under the trade-in box. */
body[data-brand="2pc"] .tpc-direct { background: transparent !important; border: 0 !important; border-top: 1px solid var(--c-rule) !important;
  border-radius: 0 !important; padding: 20px 0 0 !important; margin-top: 20px !important; }

/* Add to cart + wallet buttons: one column, full width, same height and radius. */
body[data-brand="2pc"] .productView-options .form-action,
body[data-brand="2pc"] .productView-options .add-to-cart-buttons,
body[data-brand="2pc"] .productView-options .add-to-cart-wrapper,
body[data-brand="2pc"] .productView-options [data-add-to-cart-wallet-buttons],
body[data-brand="2pc"] .productView-options .add-to-cart-wallet-buttons { width: 100% !important; max-width: none !important; float: none !important; margin-left: 0 !important; margin-right: 0 !important; display: block; }
body[data-brand="2pc"] #form-action-addToCart { width: 100% !important; height: 52px; border-radius: 999px !important; font-size: 16px !important; margin: 0 0 10px !important; }
body[data-brand="2pc"] .productView-options [data-add-to-cart-wallet-buttons] > div,
body[data-brand="2pc"] .productView-options [data-add-to-cart-wallet-buttons] iframe,
body[data-brand="2pc"] .productView-options .CheckoutButton { width: 100% !important; max-width: none !important; }
body[data-brand="2pc"] .productView-options .show-more-button {
  display: block; width: 100%; text-align: center; margin: 8px 0 0; padding: 6px 0; font-size: 14px; font-weight: 500;
  color: var(--c-ink) !important; background: none !important; border: 0 !important; text-decoration: underline; text-underline-offset: 3px; }

/* Home: "Shop by model" chips as a tidy grid instead of ragged wrapping lines. */
body[data-brand="2pc"] nav.tpc-model-links {
  display: grid !important; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px !important; }
body[data-brand="2pc"] nav.tpc-model-links a { display: flex !important; justify-content: space-between; align-items: center; margin: 0 !important; }
@media (max-width: 700px) { body[data-brand="2pc"] nav.tpc-model-links { grid-template-columns: 1fr 1fr; } }
body[data-brand="2pc"] .tpc-band-top .tpc-container { padding-left: var(--gutter) !important; padding-right: var(--gutter) !important; }

/* Cart row: the product name column was squeezed to ~110px ("iPhone / 12 / Blue"); quantity +/- stacked. */
@media (min-width: 801px) {
  body[data-brand="2pc"] .cart-item-block.cart-item-title { width: 42% !important; min-width: 220px; }
  body[data-brand="2pc"] .cart-item-block.cart-item-figure { width: 96px !important; }
}
body[data-brand="2pc"] .cart-item-quantity .form-increment { display: inline-flex !important; align-items: center; gap: 6px; flex-wrap: nowrap; }
body[data-brand="2pc"] .cart-item-quantity .form-increment .button--icon {
  width: 32px; height: 32px; padding: 0; border-radius: 999px; border: 1px solid var(--c-rule); background: #FFFFFF; color: var(--c-ink); }
body[data-brand="2pc"] .cart-item-quantity .form-increment .button--icon:hover { border-color: var(--c-ink); background: #FFFFFF; color: var(--c-ink); }
body[data-brand="2pc"] .cart-item-quantity .form-increment .button--icon svg { fill: currentColor; width: 12px; height: 12px; }
body[data-brand="2pc"] .cart-item-quantity .form-input--incrementTotal { width: 44px; text-align: center; border-radius: 8px; }

/* Sold-out option pills: Cornerstone draws a diagonal slash over the pill; use a plain struck-through label. */
body[data-brand="2pc"] .form-option.unavailable::before,
body[data-brand="2pc"] .form-option.unavailable::after { display: none !important; content: none !important; }
body[data-brand="2pc"] .form-option.unavailable .form-option-variant { text-decoration: line-through; opacity: 1; }

/* Create account: one tidy column like the live site (was a two-column Cornerstone grid with tiny labels). */
body[data-brand="2pc"] .account--fixed, body[data-brand="2pc"] .page .form[data-create-account-form],
body[data-brand="2pc"] form.form[action*="create_account"] { max-width: 440px; }
body[data-brand="2pc"] form[action*="create_account"] .form-row,
body[data-brand="2pc"] form[data-create-account-form] .form-row { display: block !important; margin: 0 !important; }
body[data-brand="2pc"] form[action*="create_account"] .form-field,
body[data-brand="2pc"] form[data-create-account-form] .form-field { width: 100% !important; float: none !important; padding: 0 !important; margin: 0 0 14px !important; }
body[data-brand="2pc"] form[action*="create_account"] .form-label,
body[data-brand="2pc"] form[data-create-account-form] .form-label {
  font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--c-ink) !important; margin-bottom: 6px; }
body[data-brand="2pc"] form[action*="create_account"] .form-label small,
body[data-brand="2pc"] form[data-create-account-form] .form-label small { font-weight: 400; color: var(--c-ink-soft); text-transform: none; margin-left: 6px; }
body[data-brand="2pc"] form[action*="create_account"] .form-actions,
body[data-brand="2pc"] form[data-create-account-form] .form-actions { text-align: left !important; margin-top: 8px; }
body[data-brand="2pc"] form[action*="create_account"] .form-actions .button,
body[data-brand="2pc"] form[data-create-account-form] .form-actions .button { width: 100% !important; max-width: none; }
