/*
 * Phonlelo unified retail system
 * A restrained, editorial interface for the customer shop and store operations.
 */

:root {
  --pl-red: #c51624;
  --pl-red-deep: #8f0f19;
  --pl-red-soft: #fff1f2;
  --pl-ink: #241f20;
  --pl-muted: #716768;
  --pl-line: #e8dfdc;
  --pl-canvas: #f8f5f1;
  --pl-paper: #ffffff;
  --pl-cream: #f4eee7;
  --pl-success: #25734a;
  --pl-warning: #9b5d1f;
  --pl-ui: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --pl-editorial: "Newsreader", Georgia, serif;
  --pl-shadow-sm: 0 8px 24px rgba(51, 33, 34, .06);
  --pl-shadow-md: 0 20px 55px rgba(68, 38, 40, .10);
  --pl-width: 1240px;
}

[hidden] {
  display: none !important;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--pl-canvas);
}

body {
  margin: 0;
  color: var(--pl-ink);
  background: var(--pl-paper);
  font-family: var(--pl-ui);
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
  font-family: var(--pl-ui) !important;
}

button,
a,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}

button,
a {
  transition: color .18s ease, border-color .18s ease, background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(197, 22, 36, .22);
  outline-offset: 2px;
}

img {
  max-width: 100%;
}

h1,
h2,
h3 {
  color: var(--pl-ink);
}

.hero h1,
.catalog-hero h1,
.services-hero h1,
.directory-heading h2,
.simple-journey h2,
.service-contact h2,
.hero-copy h1,
.brand-section > h2,
.section-head h2,
.product-buybox h1,
.local-copy h2,
.sell-copy h2,
.section-heading h2,
.confidence-section h2,
.contact-band h2 {
  font-family: var(--pl-editorial) !important;
  font-weight: 500 !important;
  letter-spacing: -.04em !important;
}

.eyebrow,
.section-label,
.brand-label,
.detail-brand,
.catalog-copy .brand,
.catalog-toolbar label,
.topline,
.service-topline,
.admin-main .eyebrow {
  font-family: var(--pl-ui) !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
}

/* Shared brand treatment */
.brand img,
.catalog-brand img,
.service-brand img,
.logo img,
.admin-brand img,
.login-card > img,
.footer-brand img {
  background: #fff !important;
  border: 1px solid var(--pl-line) !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  object-fit: cover;
}

.brand strong,
.catalog-brand strong,
.service-brand strong,
.admin-brand span,
.logo > span {
  color: var(--pl-ink);
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
}

.brand small,
.catalog-brand small,
.service-brand small,
.admin-brand small,
.logo small {
  color: var(--pl-red) !important;
  font-family: var(--pl-ui) !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
}

/* Shared buttons and fields */
.button,
.primary-cta,
.contact-actions a,
.store-link,
.quote-button,
.order-submit,
.buy-now,
.quick-add,
.flow-submit,
.primary,
.secondary,
.business-callout > a {
  min-height: 46px;
  border-radius: 7px !important;
  font-weight: 700 !important;
  letter-spacing: -.01em;
  box-shadow: none !important;
}

.button-primary,
.primary-cta,
.quote-button,
.order-submit,
.buy-now,
.quick-add,
.flow-submit,
.primary,
.business-callout > a {
  border: 1px solid var(--pl-red) !important;
  color: #fff !important;
  background: var(--pl-red) !important;
}

.button-primary:hover,
.primary-cta:hover,
.quote-button:hover,
.order-submit:hover,
.buy-now:hover,
.quick-add:hover,
.flow-submit:hover,
.primary:hover,
.business-callout > a:hover {
  border-color: var(--pl-red-deep) !important;
  background: var(--pl-red-deep) !important;
  transform: translateY(-1px);
}

.button-secondary,
.secondary,
.reset-quote {
  border: 1px solid var(--pl-line) !important;
  color: var(--pl-ink) !important;
  background: #fff !important;
}

.button-secondary:hover,
.secondary:hover,
.reset-quote:hover {
  border-color: var(--pl-red) !important;
  color: var(--pl-red) !important;
}

input,
select,
textarea {
  color: var(--pl-ink) !important;
  background: #fff !important;
  border: 1px solid #dcd4d1 !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  font-size: 16px !important;
}

input::placeholder,
textarea::placeholder {
  color: #9a9190 !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--pl-red) !important;
  box-shadow: 0 0 0 3px rgba(197, 22, 36, .10) !important;
  outline: none;
}

/* Customer homepage */
.utility-bar {
  min-height: 34px !important;
  padding: 7px max(24px, calc((100vw - var(--pl-width)) / 2)) !important;
  color: #fff !important;
  background: var(--pl-red-deep) !important;
  border: 0 !important;
  font-size: 11px !important;
}

.utility-bar p,
.utility-bar a {
  color: inherit !important;
}

.site-header {
  min-height: 84px !important;
  padding: 11px max(24px, calc((100vw - var(--pl-width)) / 2)) !important;
  background: rgba(255, 255, 255, .98) !important;
  border-bottom: 1px solid var(--pl-line) !important;
  box-shadow: none !important;
}

.site-header .brand img {
  width: 58px !important;
  height: 58px !important;
}

.site-header .deliver-to {
  color: var(--pl-ink) !important;
  border-left: 1px solid var(--pl-line);
  padding-left: 18px;
}

.pin-icon {
  color: var(--pl-red) !important;
}

.market-search {
  overflow: hidden;
  min-height: 48px !important;
  border: 1px solid #d8cfcc !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: inset 0 0 0 1px transparent !important;
}

.market-search:focus-within {
  border-color: var(--pl-red) !important;
  box-shadow: 0 0 0 3px rgba(197, 22, 36, .09) !important;
}

.market-search input,
.market-search select {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.search-button {
  min-width: 96px;
  border: 0 !important;
  color: #fff !important;
  background: var(--pl-red) !important;
  font-weight: 700;
}

.header-link,
.cart-button {
  color: var(--pl-ink) !important;
}

.cart-button {
  border: 1px solid var(--pl-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
}

.cart-count {
  color: #fff !important;
  background: var(--pl-red) !important;
}

.category-nav {
  min-height: 50px !important;
  padding: 0 max(24px, calc((100vw - var(--pl-width)) / 2)) !important;
  color: var(--pl-ink) !important;
  background: #fff !important;
  border-bottom: 1px solid var(--pl-line) !important;
  box-shadow: none !important;
}

.category-nav a {
  color: inherit !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}

.category-nav a.active,
.category-nav a:hover {
  color: var(--pl-red) !important;
}

.menu-category {
  display: none !important;
}

.section-shell {
  width: min(var(--pl-width), calc(100% - 48px)) !important;
}

.hero {
  display: grid !important;
  grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr) !important;
  min-height: 650px !important;
  margin: 0 auto !important;
  background: var(--pl-canvas) !important;
  border: 0 !important;
}

.hero-copy {
  position: relative;
  padding: 86px 64px 78px 0 !important;
}

.hero-copy::before {
  content: "";
  width: 46px;
  height: 3px;
  margin-bottom: 25px;
  display: block;
  background: var(--pl-red);
}

.hero h1 {
  max-width: 670px !important;
  margin: 0 0 28px !important;
  font-size: clamp(58px, 6vw, 88px) !important;
  line-height: .92 !important;
}

.hero-lead {
  max-width: 590px !important;
  color: var(--pl-muted) !important;
  font-size: 17px !important;
  line-height: 1.68 !important;
}

.hero .button-row {
  margin-top: 30px !important;
}

.trust-list {
  margin-top: 38px !important;
  padding-top: 21px !important;
  border-top: 1px solid var(--pl-line);
}

.trust-list li {
  color: #51494a !important;
  font-size: 12px !important;
  font-weight: 650;
}

.trust-list li::before {
  color: var(--pl-success) !important;
}

.hero-media {
  min-height: 650px !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: var(--pl-cream) !important;
  box-shadow: none !important;
}

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

.hero-media > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 42% !important;
}

.hero-caption {
  right: 28px !important;
  bottom: 28px !important;
  left: 28px !important;
  padding: 18px 20px !important;
  border-left: 3px solid var(--pl-red) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: var(--pl-shadow-sm) !important;
  backdrop-filter: blur(12px);
}

.hero-caption strong {
  font-family: var(--pl-editorial);
  font-size: 19px;
  font-weight: 600;
}

.service-section,
.shop-section,
.local-section,
.confidence-section {
  padding-top: 104px !important;
  padding-bottom: 104px !important;
}

.section-heading {
  gap: 50px !important;
  margin-bottom: 42px !important;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--pl-line);
}

.section-heading h2,
.sell-copy h2,
.local-copy h2,
.confidence-section h2,
.contact-band h2 {
  font-size: clamp(42px, 4.6vw, 66px) !important;
  line-height: .98 !important;
}

.section-label {
  color: var(--pl-red) !important;
  font-size: 10px !important;
}

.service-grid {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.service-grid .service-card {
  grid-column: span 4;
  min-height: 275px !important;
  padding: 30px !important;
  color: var(--pl-ink) !important;
  background: #fff !important;
  border: 1px solid var(--pl-line) !important;
  border-top: 3px solid var(--pl-red) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.service-grid .service-card:nth-child(4),
.service-grid .service-card:nth-child(5) {
  grid-column: span 6;
}

.service-grid .service-card:hover {
  transform: translateY(-4px);
  border-color: #d8c7c3 !important;
  box-shadow: var(--pl-shadow-sm) !important;
}

.service-grid .service-card.featured {
  color: #fff !important;
  background: var(--pl-red) !important;
  border-color: var(--pl-red) !important;
}

.service-grid .service-card.featured h3,
.service-grid .service-card.featured p,
.service-grid .service-card.featured b {
  color: #fff !important;
}

.service-grid .service-icon {
  width: auto !important;
  height: auto !important;
  margin: 0 0 34px !important;
  color: var(--pl-red) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-family: var(--pl-editorial) !important;
  font-size: 25px !important;
}

.service-grid .featured .service-icon {
  color: #fff !important;
}

.service-grid h3 {
  margin-bottom: 10px !important;
  font-family: var(--pl-editorial) !important;
  font-size: 30px !important;
  font-weight: 600 !important;
}

.service-grid p {
  color: var(--pl-muted) !important;
  font-size: 13px !important;
  line-height: 1.62 !important;
}

.service-grid b {
  color: var(--pl-red) !important;
  font-size: 12px !important;
}

.shop-section {
  background: var(--pl-canvas) !important;
}

.filter-row {
  gap: 6px !important;
  margin-bottom: 32px !important;
}

.filter {
  padding: 9px 14px !important;
  border: 1px solid var(--pl-line) !important;
  border-radius: 5px !important;
  background: #fff !important;
  font-size: 12px !important;
}

.filter.active,
.filter:hover {
  color: #fff !important;
  border-color: var(--pl-red) !important;
  background: var(--pl-red) !important;
}

.product-grid {
  gap: 18px !important;
}

.product-card {
  overflow: hidden;
  border: 1px solid var(--pl-line) !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.product-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--pl-shadow-md) !important;
}

.product-visual {
  min-height: 320px !important;
  background: var(--pl-cream) !important;
}

.product-badge,
.stock-tag,
.detail-badge,
.detail-stock,
.condition-pill,
.status-pill,
.order-type {
  border-radius: 4px !important;
  font-family: var(--pl-ui) !important;
}

.product-badge,
.detail-badge {
  color: #fff !important;
  background: var(--pl-red) !important;
}

.product-info {
  padding: 23px !important;
}

.product-info h3,
.catalog-copy h3,
.product-buybox h1 {
  font-family: var(--pl-editorial) !important;
  font-weight: 600 !important;
}

.quick-add {
  margin: 0 23px 23px !important;
  width: calc(100% - 46px) !important;
}

.sell-section {
  padding: 106px 0 !important;
  color: var(--pl-ink) !important;
  background: var(--pl-cream) !important;
}

.sell-layout {
  gap: 100px !important;
}

.sell-copy p {
  color: var(--pl-muted) !important;
}

.process-list {
  counter-reset: none !important;
}

.process-list li {
  padding: 24px 0 !important;
  border-top: 1px solid #d8cec9 !important;
}

.process-list li::before {
  display: none !important;
  content: none !important;
}

.process-list span {
  font-family: var(--pl-editorial);
  font-size: 25px !important;
  font-weight: 600 !important;
}

.local-section {
  gap: clamp(55px, 8vw, 110px) !important;
}

.local-media {
  border-radius: 0 !important;
  background: var(--pl-cream) !important;
}

.local-media::before {
  content: "";
  position: absolute;
  inset: 18px;
  z-index: 1;
  border: 1px solid rgba(255, 255, 255, .7);
  pointer-events: none;
}

.local-media img {
  border-radius: 0 !important;
}

.local-copy h3 {
  padding: 20px 0 !important;
  border-top: 1px solid var(--pl-line) !important;
  border-bottom: 1px solid var(--pl-line) !important;
  font-family: var(--pl-editorial) !important;
}

.home-owner-role {
  font-family: var(--pl-ui) !important;
  color: var(--pl-red) !important;
}

.shop-details {
  gap: 0 !important;
  border-top: 1px solid var(--pl-line);
  border-bottom: 1px solid var(--pl-line);
}

.shop-details > div {
  padding: 19px 18px 19px 0 !important;
}

.shop-details > div + div {
  padding-left: 22px !important;
  border-left: 1px solid var(--pl-line);
}

.home-offer-section {
  overflow: hidden;
  margin-bottom: 104px !important;
  padding: 0 !important;
  color: #fff !important;
  background: var(--pl-red-deep) !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.offer-copy {
  padding: 64px !important;
}

.home-offer-section h2,
.home-offer-section p {
  color: #fff !important;
}

.home-offer-section h2 {
  font-family: var(--pl-editorial) !important;
  font-size: clamp(42px, 4vw, 62px) !important;
  font-weight: 500 !important;
}

.home-offer-poster-wrap {
  min-height: 540px !important;
  border-radius: 0 !important;
}

.confidence-section {
  background: #fff !important;
}

.confidence-grid {
  gap: 0 !important;
  border-top: 1px solid var(--pl-line);
  border-bottom: 1px solid var(--pl-line);
}

.confidence-grid article {
  min-height: 210px !important;
  padding: 30px !important;
  border: 0 !important;
  border-right: 1px solid var(--pl-line) !important;
  border-radius: 0 !important;
  background: #fff !important;
}

.confidence-grid article:last-child {
  border-right: 0 !important;
}

.confidence-grid h3 {
  font-family: var(--pl-editorial) !important;
  font-size: 24px !important;
  font-weight: 600 !important;
}

.contact-band {
  color: #fff !important;
  background: var(--pl-red) !important;
}

.contact-band h2,
.contact-band p {
  color: #fff !important;
}

.whatsapp-float {
  right: 24px !important;
  bottom: 24px !important;
  border: 0 !important;
  border-radius: 7px !important;
  color: #fff !important;
  background: #25734a !important;
  box-shadow: var(--pl-shadow-sm) !important;
}

.footer-grid {
  gap: 60px !important;
}

.footer-brand,
footer {
  color: #eee6e3 !important;
  background: #332b2c !important;
}

.footer-brand strong,
footer strong,
footer h3,
footer h2 {
  color: #fff !important;
}

.footer-bottom {
  border-color: rgba(255, 255, 255, .14) !important;
}

/* Search, cart and customer dialogs */
.search-overlay,
.flow-modal,
.order-modal,
.product-modal,
.tracking-modal,
.buyback-modal {
  background: rgba(36, 31, 32, .72) !important;
  backdrop-filter: blur(7px);
}

.search-panel,
.flow-content,
.order-card,
.modal-card {
  color: var(--pl-ink) !important;
  background: var(--pl-canvas) !important;
  border: 1px solid rgba(255, 255, 255, .7) !important;
  border-radius: 10px !important;
  box-shadow: 0 26px 80px rgba(36, 31, 32, .2) !important;
}

.search-panel h2,
.flow-content h2,
.order-card h2,
.modal-card h2 {
  font-family: var(--pl-editorial) !important;
  font-weight: 600 !important;
}

.search-overlay.open {
  background: rgba(255, 255, 255, .98) !important;
  backdrop-filter: none;
}

.search-overlay .search-panel {
  max-width: 1100px !important;
  color: var(--pl-ink) !important;
  background: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
}

.search-overlay .search-input {
  color: var(--pl-ink) !important;
  background: #fff !important;
  border: 0 !important;
  border-bottom: 2px solid var(--pl-ink) !important;
  border-radius: 0 !important;
  font-family: var(--pl-editorial) !important;
}

.search-close,
.flow-close,
.cart-close,
.order-close,
.modal-close {
  color: var(--pl-ink) !important;
  background: transparent !important;
  border: 1px solid var(--pl-line) !important;
  border-radius: 50% !important;
}

.search-actions a {
  border-radius: 6px !important;
}

.search-actions a:first-child {
  color: #fff !important;
  background: var(--pl-red) !important;
}

.search-actions a:nth-child(2) {
  color: var(--pl-red) !important;
  background: #fff !important;
  border: 1px solid var(--pl-red) !important;
}

.cart-drawer {
  color: var(--pl-ink) !important;
  background: var(--pl-canvas) !important;
  box-shadow: -20px 0 60px rgba(36, 31, 32, .14) !important;
}

/* Customer and wholesale catalog */
.topline,
.service-topline {
  min-height: 34px !important;
  padding: 7px max(24px, calc((100vw - var(--pl-width)) / 2)) !important;
  color: #fff !important;
  background: var(--pl-red-deep) !important;
  border: 0 !important;
  font-size: 10px !important;
}

.catalog-header,
.service-header {
  height: 82px !important;
  padding: 10px max(24px, calc((100vw - var(--pl-width)) / 2)) !important;
  background: #fff !important;
  border-bottom: 1px solid var(--pl-line) !important;
  box-shadow: none !important;
}

.catalog-header nav a,
.service-header nav a {
  color: var(--pl-ink) !important;
  font-weight: 650 !important;
}

.catalog-header nav a:hover,
.catalog-header nav a.active,
.service-header nav a:hover,
.service-header nav a.active {
  color: var(--pl-red) !important;
  border-color: var(--pl-red) !important;
}

.header-help,
.service-help {
  color: var(--pl-red) !important;
}

.mobile-channel-nav {
  background: #fff !important;
  border-bottom: 1px solid var(--pl-line) !important;
}

.mobile-channel-nav a {
  color: var(--pl-muted) !important;
}

.mobile-channel-nav a.active {
  color: var(--pl-red) !important;
  border-color: var(--pl-red) !important;
}

.catalog-hero {
  position: relative;
  overflow: hidden;
  max-width: none !important;
  min-height: 430px !important;
  padding: 86px max(24px, calc((100vw - var(--pl-width)) / 2)) !important;
  align-items: center !important;
  background: var(--pl-canvas) !important;
  border: 0 !important;
}

.catalog-hero::after {
  content: "PHONLELO";
  position: absolute;
  right: max(24px, calc((100vw - var(--pl-width)) / 2));
  bottom: -43px;
  color: rgba(197, 22, 36, .055);
  font-family: var(--pl-ui);
  font-size: clamp(90px, 15vw, 210px);
  font-weight: 800;
  letter-spacing: -.08em;
  line-height: 1;
  pointer-events: none;
}

.catalog-hero > div:first-child {
  position: relative;
  z-index: 1;
}

.catalog-hero h1 {
  max-width: 780px;
  margin: 0 0 24px !important;
  font-size: clamp(58px, 7vw, 94px) !important;
  line-height: .92 !important;
}

.catalog-hero > div > p:last-child {
  max-width: 610px !important;
  color: var(--pl-muted) !important;
  font-size: 16px !important;
}

.catalog-hero-proof {
  position: relative;
  z-index: 1;
  padding: 0 0 0 25px !important;
  border-left: 2px solid var(--pl-red) !important;
}

.catalog-hero-proof strong {
  color: var(--pl-red) !important;
  font-family: var(--pl-editorial) !important;
  font-size: 58px !important;
  font-weight: 600 !important;
}

.catalog-toolbar {
  position: relative;
  z-index: 3;
  max-width: var(--pl-width) !important;
  margin: -34px auto 0 !important;
  padding: 22px !important;
  color: var(--pl-ink) !important;
  background: #fff !important;
  border: 1px solid var(--pl-line) !important;
  border-radius: 0 !important;
  box-shadow: var(--pl-shadow-md) !important;
}

.catalog-toolbar label {
  color: var(--pl-muted) !important;
  font-size: 9px !important;
}

.catalog-toolbar input,
.catalog-toolbar select {
  height: 48px !important;
  margin-top: 6px !important;
}

.catalog-search span {
  color: var(--pl-red) !important;
}

.catalog-results {
  max-width: var(--pl-width) !important;
  padding: 88px 0 !important;
}

.results-head {
  margin-bottom: 32px !important;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--pl-line);
}

.results-head h2 {
  font-family: var(--pl-editorial) !important;
  font-size: 46px !important;
  font-weight: 600 !important;
}

.catalog-grid {
  gap: 18px !important;
}

.catalog-card {
  overflow: hidden;
  background: #fff !important;
  border: 1px solid var(--pl-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.catalog-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--pl-shadow-md) !important;
}

.catalog-image {
  height: 350px !important;
  background: var(--pl-cream) !important;
}

.catalog-image::after {
  content: "";
  position: absolute;
  inset: 13px;
  border: 1px solid rgba(255, 255, 255, .8);
  pointer-events: none;
}

.catalog-badge,
.stock-tag {
  z-index: 2;
  padding: 7px 9px !important;
  border-radius: 3px !important;
}

.catalog-badge {
  color: var(--pl-red) !important;
  background: #fff !important;
}

.stock-tag {
  color: #fff !important;
  background: var(--pl-red-deep) !important;
}

.catalog-copy {
  padding: 24px !important;
}

.catalog-copy .brand {
  color: var(--pl-red) !important;
}

.catalog-copy h3 {
  font-size: 28px !important;
}

.catalog-price-row {
  border-color: var(--pl-line) !important;
}

.catalog-price-row strong {
  font-family: var(--pl-editorial);
  font-size: 29px !important;
}

.catalog-assurance {
  max-width: var(--pl-width) !important;
  margin: 0 auto 90px !important;
  color: var(--pl-ink) !important;
  background: #fff !important;
  border-top: 1px solid var(--pl-line);
  border-bottom: 1px solid var(--pl-line);
}

.catalog-assurance article {
  padding: 34px !important;
  border-right: 1px solid var(--pl-line) !important;
}

.catalog-assurance strong {
  color: var(--pl-ink) !important;
  font-family: var(--pl-editorial);
  font-size: 22px !important;
  font-weight: 600;
}

.catalog-assurance p {
  color: var(--pl-muted) !important;
}

.catalog-loading,
.catalog-empty,
.empty-inventory {
  color: var(--pl-muted) !important;
  background: var(--pl-canvas) !important;
  border: 1px dashed #d8cdca !important;
  border-radius: 0 !important;
}

/* Wholesale */
.wholesale-page {
  background: var(--pl-paper) !important;
}

.wholesale-page .catalog-hero {
  color: var(--pl-ink) !important;
  background: var(--pl-cream) !important;
}

.wholesale-page .catalog-hero h1,
.wholesale-page .catalog-hero p {
  color: var(--pl-ink) !important;
}

.wholesale-page .catalog-hero h1 em {
  color: var(--pl-red) !important;
  font-style: italic !important;
}

.wholesale-rules {
  max-width: var(--pl-width) !important;
  margin: 0 auto !important;
  gap: 0 !important;
  background: #fff !important;
  border: 1px solid var(--pl-line) !important;
}

.wholesale-rules article {
  padding: 28px !important;
  border-right: 1px solid var(--pl-line);
}

.wholesale-rules article:last-child {
  border-right: 0;
}

.wholesale-rules small {
  color: var(--pl-red) !important;
}

.wholesale-rules strong {
  font-family: var(--pl-editorial);
  font-size: 22px !important;
  font-weight: 600;
}

.wholesale-metrics {
  background: var(--pl-canvas) !important;
  border-color: var(--pl-line) !important;
  border-radius: 0 !important;
}

.business-callout {
  max-width: var(--pl-width) !important;
  margin: 0 auto 34px !important;
  padding: 52px !important;
  color: #fff !important;
  background: var(--pl-red-deep) !important;
}

.business-callout h2,
.business-callout p {
  color: #fff !important;
}

.business-callout h2 {
  font-family: var(--pl-editorial);
  font-size: 45px !important;
  font-weight: 500;
}

/* Product details */
.product-main {
  max-width: var(--pl-width) !important;
}

.crumbs {
  color: var(--pl-muted) !important;
  border-color: var(--pl-line) !important;
}

.product-detail {
  overflow: hidden;
  border: 1px solid var(--pl-line) !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.product-gallery {
  background: var(--pl-cream) !important;
}

.product-gallery::after {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(255, 255, 255, .78);
  pointer-events: none;
}

.product-buybox {
  padding: clamp(38px, 5vw, 72px) !important;
}

.product-buybox h1 {
  font-size: clamp(48px, 5vw, 72px) !important;
  line-height: .96 !important;
}

.detail-rating b {
  color: var(--pl-red) !important;
}

.detail-specs {
  gap: 0 !important;
  border-top: 1px solid var(--pl-line);
  border-bottom: 1px solid var(--pl-line);
}

.detail-specs > div {
  padding: 17px !important;
  background: #fff !important;
  border: 0 !important;
  border-right: 1px solid var(--pl-line) !important;
  border-radius: 0 !important;
}

.detail-specs > div:last-child {
  border-right: 0 !important;
}

.purchase-channel {
  background: var(--pl-red-soft) !important;
  border-color: #eed1d4 !important;
  border-radius: 0 !important;
}

.detail-price strong {
  color: var(--pl-red) !important;
  font-family: var(--pl-editorial);
  font-size: 45px !important;
}

.qty-control {
  border-color: var(--pl-line) !important;
  border-radius: 7px !important;
}

.detail-assurance {
  gap: 0 !important;
  border-top: 1px solid var(--pl-line);
  border-bottom: 1px solid var(--pl-line);
}

.detail-assurance article {
  padding: 25px !important;
  border: 0 !important;
  border-right: 1px solid var(--pl-line) !important;
  border-radius: 0 !important;
}

.detail-assurance article:last-child {
  border-right: 0 !important;
}

.detail-assurance article > span {
  color: var(--pl-success) !important;
}

/* Services */
.services-hero {
  min-height: 650px !important;
  grid-template-columns: .9fr 1.1fr !important;
  background: var(--pl-canvas) !important;
}

.services-hero-copy {
  padding: 80px max(48px, calc((100vw - var(--pl-width)) / 2)) !important;
}

.services-hero h1 {
  margin-bottom: 30px !important;
  font-size: clamp(64px, 7vw, 104px) !important;
  line-height: .88 !important;
}

.services-hero-copy > p:not(.eyebrow) {
  color: var(--pl-muted) !important;
}

.services-hero-art {
  padding: 46px !important;
  background: var(--pl-red-deep) !important;
}

.services-hero-art::before {
  display: none !important;
}

.services-hero-art > img {
  max-height: 560px !important;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.services-hero-art > div {
  left: 64px !important;
  right: 64px !important;
  bottom: 64px !important;
  padding: 17px 20px !important;
  border-left: 3px solid var(--pl-red) !important;
  box-shadow: var(--pl-shadow-sm) !important;
}

.service-directory {
  padding: 110px max(24px, calc((100vw - var(--pl-width)) / 2)) !important;
  background: #fff !important;
}

.directory-heading {
  padding-bottom: 32px;
  border-bottom: 1px solid var(--pl-line);
}

.directory-heading h2 {
  font-size: clamp(52px, 6vw, 82px) !important;
}

.services-grid {
  gap: 14px !important;
}

.services-grid .service-card {
  min-height: 410px !important;
  padding: 32px !important;
  color: var(--pl-ink) !important;
  background: var(--pl-canvas) !important;
  border: 1px solid var(--pl-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.services-grid .service-card:hover {
  transform: translateY(-4px);
  border-color: #d5c5c1 !important;
  box-shadow: var(--pl-shadow-sm) !important;
}

.services-grid .service-sell {
  color: #fff !important;
  background: var(--pl-red) !important;
  border-color: var(--pl-red) !important;
}

.services-grid .service-repair {
  color: #fff !important;
  background: var(--pl-red-deep) !important;
  border-color: var(--pl-red-deep) !important;
}

.services-grid .service-track {
  background: var(--pl-red-soft) !important;
}

.services-grid .service-wholesale {
  background: var(--pl-cream) !important;
}

.services-grid .service-card h3 {
  font-family: var(--pl-editorial) !important;
  font-size: clamp(34px, 3.4vw, 50px) !important;
  font-weight: 600 !important;
}

.services-grid .service-card > p:not(.eyebrow) {
  color: var(--pl-muted) !important;
}

.services-grid .service-sell h3,
.services-grid .service-sell p,
.services-grid .service-sell strong,
.services-grid .service-repair h3,
.services-grid .service-repair p,
.services-grid .service-repair strong {
  color: #fff !important;
}

.services-grid .service-icon {
  width: auto !important;
  height: auto !important;
  margin-bottom: 38px !important;
  color: var(--pl-red) !important;
  background: transparent !important;
  border-radius: 0 !important;
  font-family: var(--pl-editorial);
  font-size: 28px !important;
}

.services-grid .service-sell .service-icon,
.services-grid .service-repair .service-icon {
  color: #fff !important;
  background: transparent !important;
}

.service-number {
  display: none !important;
}

.simple-journey {
  padding: 104px max(24px, calc((100vw - var(--pl-width)) / 2)) !important;
  color: #fff !important;
  background: var(--pl-red-deep) !important;
}

.simple-journey h2,
.simple-journey strong {
  color: #fff !important;
}

.simple-journey li {
  grid-template-columns: 1fr !important;
  border-color: rgba(255, 255, 255, .22) !important;
}

.simple-journey li > span {
  display: none !important;
}

.simple-journey p {
  color: #eadcda !important;
}

.service-contact {
  padding: 84px max(24px, calc((100vw - var(--pl-width)) / 2)) !important;
  background: var(--pl-red) !important;
}

/* Sell journey */
.topbar {
  height: 34px !important;
  padding: 8px !important;
  color: #fff !important;
  background: var(--pl-red-deep) !important;
}

body > header:not(.site-header):not(.catalog-header):not(.service-header) {
  height: 82px !important;
  padding: 10px max(24px, calc((100vw - var(--pl-width)) / 2)) !important;
  background: #fff !important;
  border-bottom: 1px solid var(--pl-line) !important;
}

body > header nav a {
  color: var(--pl-ink) !important;
  font-weight: 650 !important;
}

body > header nav a:hover,
body > header nav a.active {
  color: var(--pl-red) !important;
  border-color: var(--pl-red) !important;
}

.sell-hero {
  min-height: 690px !important;
  gap: clamp(60px, 8vw, 120px) !important;
  padding: 80px max(24px, calc((100vw - var(--pl-width)) / 2)) !important;
  background: var(--pl-canvas) !important;
}

.sell-hero .hero-copy {
  padding: 0 !important;
}

.sell-hero .hero-copy::before {
  display: none;
}

.sell-hero .hero-copy h1 {
  max-width: 700px;
  font-size: clamp(58px, 6vw, 86px) !important;
  line-height: .92 !important;
}

.sell-hero .hero-copy h1 em {
  color: var(--pl-red) !important;
  font-family: var(--pl-editorial) !important;
  font-style: italic !important;
  font-weight: 500 !important;
}

.sell-hero .hero-copy > p:not(.eyebrow) {
  color: var(--pl-muted) !important;
  font-size: 17px !important;
}

.sell-hero .hero-copy li {
  border-color: var(--pl-line) !important;
  border-radius: 4px !important;
}

.quote-card {
  padding: 34px !important;
  background: #fff !important;
  border: 1px solid var(--pl-line) !important;
  border-radius: 0 !important;
  box-shadow: var(--pl-shadow-md) !important;
}

.quote-head > span,
.quote-result .result-bonus,
.step-icon,
.why-grid b {
  color: #fff !important;
  background: var(--pl-red) !important;
}

.quote-head h2,
.quote-result h2,
.brand-section h2,
.section-head h2 {
  font-family: var(--pl-editorial) !important;
  font-weight: 600 !important;
}

.brand-quick button,
.brands button {
  border: 1px solid var(--pl-line) !important;
  border-radius: 5px !important;
  background: #fff !important;
}

.brand-quick button:hover,
.brand-quick button.selected,
.brands button:hover,
.brands button.selected {
  color: var(--pl-red) !important;
  border-color: var(--pl-red) !important;
  background: var(--pl-red-soft) !important;
}

.device-search-status,
.catalogue-note,
.privacy-pill,
.ownership-note,
.fineprint {
  color: var(--pl-muted) !important;
}

.selected-phone,
.imei-detect,
.valuation-step,
.quote-breakdown,
.result-points {
  background: var(--pl-canvas) !important;
  border-color: var(--pl-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.valuation-progress {
  background: #eadfdb !important;
}

.valuation-progress > span,
.valuation-progress i {
  background: var(--pl-red) !important;
}

.step-number {
  display: none !important;
}

.device-lineup-banner {
  background: var(--pl-red-deep) !important;
}

.device-lineup-banner h2,
.device-lineup-banner p,
.device-lineup-banner a {
  color: #fff !important;
}

.brand-section,
.steps,
.popular,
.why,
.stories,
.faq {
  padding: 100px max(24px, calc((100vw - var(--pl-width)) / 2)) !important;
}

.steps,
.why {
  background: var(--pl-canvas) !important;
}

.step-grid article,
.why-grid article,
.phone-values article {
  background: #fff !important;
  border: 1px solid var(--pl-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.step-grid article:hover,
.why-grid article:hover,
.phone-values article:hover {
  border-color: #d5c4c0 !important;
  box-shadow: var(--pl-shadow-sm) !important;
}

.stories {
  color: #fff !important;
  background: var(--pl-red-deep) !important;
}

.stories h2,
.stories h3,
.stories p {
  color: #fff !important;
}

.story-grid article,
.story-grid blockquote {
  border: 1px solid rgba(255, 255, 255, .24) !important;
  border-radius: 0 !important;
}

.faq details {
  border-color: var(--pl-line) !important;
}

/* Admin */
.login-screen {
  padding: 32px !important;
  background: var(--pl-cream) !important;
}

.login-card {
  width: min(450px, 100%) !important;
  padding: 46px !important;
  background: #fff !important;
  border: 1px solid var(--pl-line) !important;
  border-top: 4px solid var(--pl-red) !important;
  border-radius: 0 !important;
  box-shadow: var(--pl-shadow-md) !important;
}

.login-card h1 {
  font-family: var(--pl-editorial) !important;
  font-size: 48px !important;
  font-weight: 600 !important;
}

.admin-shell {
  background: var(--pl-canvas) !important;
}

.sidebar {
  width: 260px !important;
  padding: 24px 18px !important;
  color: var(--pl-ink) !important;
  background: #fff !important;
  border-right: 1px solid var(--pl-line) !important;
  box-shadow: none !important;
}

.admin-brand {
  padding: 0 8px 28px !important;
  color: var(--pl-ink) !important;
  border-bottom: 1px solid var(--pl-line);
}

.admin-brand img {
  width: 52px !important;
  height: 52px !important;
}

.sidebar nav {
  gap: 3px !important;
  margin-top: 24px;
}

.nav-item {
  height: 47px !important;
  color: #655d5e !important;
  border-radius: 5px !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}

.nav-item span {
  color: #8c8181 !important;
}

.nav-item:hover {
  color: var(--pl-red) !important;
  background: var(--pl-red-soft) !important;
}

.nav-item.active {
  color: #fff !important;
  background: var(--pl-red) !important;
  box-shadow: none !important;
}

.nav-item.active span {
  color: #fff !important;
}

.sidebar-bottom {
  border-color: var(--pl-line) !important;
}

.sidebar-bottom a,
.sidebar-bottom button {
  color: var(--pl-muted) !important;
}

.admin-main {
  min-height: 100vh;
  margin-left: 260px !important;
  padding: 34px 42px 70px !important;
  background: var(--pl-canvas) !important;
}

.admin-main > header {
  margin: -34px -42px 34px !important;
  padding: 23px 42px !important;
  background: #fff !important;
  border-bottom: 1px solid var(--pl-line) !important;
}

.admin-main header h1 {
  font-family: var(--pl-editorial) !important;
  font-size: 40px !important;
  font-weight: 600 !important;
  letter-spacing: -.035em !important;
}

.admin-main .eyebrow {
  color: var(--pl-red) !important;
  font-size: 9px !important;
}

.new-orders-button {
  color: #fff !important;
  background: var(--pl-red) !important;
  border: 1px solid var(--pl-red) !important;
  border-radius: 6px !important;
}

.panel,
.table-wrap,
.stat-card,
.commerce-stat-card,
.request-card,
.password-form {
  background: #fff !important;
  border: 1px solid var(--pl-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.panel:hover,
.stat-card:hover,
.commerce-stat-card:hover {
  border-color: #d8c8c4 !important;
}

.stat-grid,
.commerce-stat-grid {
  gap: 13px !important;
}

.stat-card,
.commerce-stat-card {
  min-height: 145px;
  padding: 24px !important;
  border-top: 3px solid var(--pl-red) !important;
}

.stat-card span,
.commerce-stat-card span {
  color: var(--pl-muted) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.stat-card strong,
.commerce-stat-card strong {
  color: var(--pl-ink) !important;
  font-family: var(--pl-editorial) !important;
  font-size: 40px !important;
  font-weight: 600 !important;
}

.live-card {
  border-top-color: var(--pl-success) !important;
}

.dashboard-grid,
.analytics-layout {
  gap: 16px !important;
}

.panel-head h2,
.section-intro h2,
.homepage-editor-card h3,
.password-form h3 {
  font-family: var(--pl-editorial) !important;
  font-weight: 600 !important;
}

.panel-head h2,
.section-intro h2 {
  font-size: 31px !important;
}

.guide li b {
  display: none !important;
}

.guide li {
  padding-left: 22px !important;
  position: relative;
}

.guide li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 19px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--pl-red);
}

.low-item,
.analytics-list-row,
.visitor-row {
  border-color: var(--pl-line) !important;
}

.stock-pill,
.condition-pill,
.status-pill,
.order-type {
  padding: 6px 9px !important;
  color: var(--pl-ink) !important;
  background: var(--pl-canvas) !important;
}

.status-pill.live,
.condition-pill.like-new {
  color: var(--pl-success) !important;
  background: #edf7f1 !important;
}

.status-pill.hidden {
  color: var(--pl-muted) !important;
}

.toolbar,
.buyback-toolbar {
  padding: 14px !important;
  background: #fff !important;
  border: 1px solid var(--pl-line);
}

.toolbar input,
.toolbar select,
.buyback-toolbar input,
.buyback-toolbar select {
  min-height: 45px !important;
}

.table-wrap {
  overflow: auto !important;
}

table {
  background: #fff !important;
}

th {
  padding: 14px 17px !important;
  color: var(--pl-muted) !important;
  background: var(--pl-canvas) !important;
  border-bottom: 1px solid var(--pl-line) !important;
  font-size: 9px !important;
  font-weight: 750 !important;
  letter-spacing: .09em !important;
}

td {
  padding: 16px 17px !important;
  border-color: var(--pl-line) !important;
}

tr:hover td {
  background: #fffafa !important;
}

.row-actions button,
.order-actions button,
.order-actions a,
.tracking-summary,
.refresh-orders,
.panel-head button,
.buyback-pagination button {
  border: 1px solid var(--pl-line) !important;
  border-radius: 5px !important;
  color: var(--pl-ink) !important;
  background: #fff !important;
}

.row-actions button:hover,
.order-actions button:hover,
.order-actions a:hover,
.tracking-summary:hover,
.refresh-orders:hover,
.panel-head button:hover,
.buyback-pagination button:hover {
  color: var(--pl-red) !important;
  border-color: var(--pl-red) !important;
}

.row-actions .delete {
  color: var(--pl-red) !important;
}

.order-status,
.lead-status {
  min-height: 38px;
  border-radius: 5px !important;
}

.order-status.is-new,
.new-order-row td {
  background: #fff7f7 !important;
}

.request-card {
  padding: 24px !important;
  border-top: 3px solid var(--pl-red) !important;
}

.homepage-editor-card {
  padding: 28px !important;
}

.homepage-editor-card + .homepage-editor-card {
  margin-top: 15px !important;
}

.homepage-image-preview {
  background: var(--pl-canvas) !important;
  border: 1px dashed #d1c6c3 !important;
  border-radius: 0 !important;
}

.homepage-save-bar {
  border-radius: 0 !important;
  color: var(--pl-ink) !important;
  background: #fff !important;
  border: 1px solid var(--pl-line) !important;
  box-shadow: 0 -10px 30px rgba(50, 33, 34, .06) !important;
}

.analytics-chart {
  border-color: var(--pl-line) !important;
  background: linear-gradient(to bottom, transparent 24%, var(--pl-line) 25%, transparent 26%, transparent 49%, var(--pl-line) 50%, transparent 51%, transparent 74%, var(--pl-line) 75%, transparent 76%) !important;
}

.visit-bar {
  background: var(--pl-red) !important;
}

.visitor-bar {
  background: #caa7a3 !important;
}

.location-meter {
  background: #eee5e2 !important;
}

.location-meter i {
  background: var(--pl-red) !important;
}

.live-indicator {
  color: var(--pl-success) !important;
  background: #edf7f1 !important;
  border-color: #dcece2 !important;
}

.password-security-mark {
  color: var(--pl-red) !important;
  background: var(--pl-red-soft) !important;
}

.mobile-tabbar {
  background: rgba(255, 255, 255, .97) !important;
  border: 1px solid var(--pl-line) !important;
  box-shadow: 0 -8px 28px rgba(36, 31, 32, .08) !important;
}

.mobile-tab.active {
  color: var(--pl-red) !important;
  background: var(--pl-red-soft) !important;
}

/* Responsive customer and admin layouts */
@media (max-width: 1100px) {
  .site-header {
    grid-template-columns: auto 1fr auto !important;
  }

  .deliver-to,
  .header-link {
    display: none !important;
  }

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

  .hero-copy {
    padding-right: 40px !important;
  }

  .catalog-results,
  .catalog-assurance,
  .catalog-toolbar,
  .wholesale-rules,
  .business-callout,
  .product-main {
    width: calc(100% - 48px) !important;
  }

  .catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .utility-bar p:nth-child(2),
  .topline span:nth-child(2) {
    display: none !important;
  }

  .category-nav {
    overflow-x: auto;
    justify-content: flex-start !important;
    gap: 22px !important;
  }

  .category-nav .nav-support {
    margin-left: 0 !important;
  }

  .hero {
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  .hero-copy {
    padding: 72px 32px !important;
  }

  .hero-media {
    min-height: 560px !important;
  }

  .service-grid .service-card {
    grid-column: span 6;
  }

  .service-grid .service-card:nth-child(5) {
    grid-column: span 12;
  }

  .confidence-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .confidence-grid article:nth-child(2) {
    border-right: 0 !important;
  }

  .confidence-grid article:nth-child(-n+2) {
    border-bottom: 1px solid var(--pl-line) !important;
  }

  .services-hero {
    grid-template-columns: 1fr !important;
  }

  .services-hero-copy {
    padding: 72px 32px !important;
  }

  .services-hero-art {
    min-height: 580px;
  }

  .services-grid .service-card {
    grid-column: span 6 !important;
  }

  .sell-hero {
    grid-template-columns: 1fr !important;
  }

  .quote-card {
    max-width: 720px;
  }

  .admin-main {
    margin-left: 0 !important;
  }
}

@media (max-width: 700px) {
  body {
    font-size: 14px;
  }

  .utility-bar,
  .topline,
  .service-topline {
    min-height: 30px !important;
    justify-content: center !important;
    padding: 6px 16px !important;
    font-size: 9px !important;
  }

  .utility-bar p:not(:first-child),
  .utility-bar a,
  .topline span:not(:first-child),
  .service-topline span:last-child {
    display: none !important;
  }

  .site-header,
  .catalog-header,
  .service-header,
  body > header:not(.site-header):not(.catalog-header):not(.service-header) {
    min-height: 72px !important;
    height: auto !important;
    padding: 10px 16px !important;
  }

  .site-header {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 10px !important;
  }

  .site-header .brand img,
  .catalog-brand img,
  .service-brand img,
  .logo img {
    width: 48px !important;
    height: 48px !important;
  }

  .brand strong,
  .catalog-brand strong,
  .service-brand strong,
  .logo > span {
    font-size: 17px !important;
  }

  .brand small,
  .catalog-brand small,
  .service-brand small,
  .logo small {
    font-size: 7px !important;
  }

  .market-search {
    grid-column: 1 / -1;
    order: 3;
    min-height: 50px !important;
  }

  .market-search .search-category {
    display: none !important;
  }

  .market-search input {
    min-width: 0;
    font-size: 16px !important;
  }

  .search-button {
    min-width: 82px;
  }

  .category-nav {
    min-height: 44px !important;
    padding: 0 16px !important;
    gap: 20px !important;
    scrollbar-width: none;
  }

  .category-nav a {
    flex: 0 0 auto;
  }

  .section-shell {
    width: calc(100% - 32px) !important;
  }

  .hero-copy {
    padding: 62px 18px 55px !important;
  }

  .hero h1,
  .sell-hero .hero-copy h1 {
    font-size: clamp(48px, 14vw, 64px) !important;
  }

  .hero-lead {
    font-size: 16px !important;
  }

  .hero .button-row,
  .local-copy .button-row {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 9px !important;
  }

  .hero .button,
  .local-copy .button {
    width: 100%;
  }

  .trust-list {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  .hero-media {
    min-height: 470px !important;
  }

  .hero-caption {
    right: 16px !important;
    bottom: 16px !important;
    left: 16px !important;
  }

  .service-section,
  .shop-section,
  .local-section,
  .confidence-section {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }

  .section-heading {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  .section-heading h2,
  .sell-copy h2,
  .local-copy h2,
  .confidence-section h2,
  .contact-band h2 {
    font-size: 42px !important;
  }

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

  .service-grid .service-card,
  .service-grid .service-card:nth-child(4),
  .service-grid .service-card:nth-child(5) {
    grid-column: auto;
    min-height: 230px !important;
  }

  .service-grid .service-icon {
    margin-bottom: 24px !important;
  }

  .filter-row {
    overflow-x: auto;
    flex-wrap: nowrap !important;
    padding-bottom: 4px;
  }

  .filter {
    flex: 0 0 auto;
  }

  .sell-section {
    padding: 72px 0 !important;
  }

  .sell-layout {
    gap: 50px !important;
  }

  .local-section {
    gap: 45px !important;
  }

  .shop-details {
    display: block !important;
  }

  .shop-details > div + div {
    padding-left: 0 !important;
    border-top: 1px solid var(--pl-line);
    border-left: 0;
  }

  .home-offer-section {
    display: block !important;
    width: 100% !important;
    margin-bottom: 72px !important;
  }

  .offer-copy {
    padding: 48px 22px !important;
  }

  .home-offer-poster-wrap {
    min-height: 410px !important;
  }

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

  .confidence-grid article {
    min-height: auto !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--pl-line) !important;
  }

  .footer-grid {
    gap: 35px !important;
  }

  .search-overlay .search-panel {
    padding: 76px 22px 30px !important;
  }

  .search-overlay .search-input {
    font-size: 38px !important;
  }

  .flow-content,
  .order-card,
  .modal-card {
    padding: 28px 20px !important;
    border-radius: 0 !important;
  }

  .catalog-header nav,
  .catalog-header .header-help,
  .service-header nav,
  .service-help,
  body > header nav,
  .store-link {
    display: none !important;
  }

  .mobile-channel-nav {
    display: flex !important;
  }

  .catalog-hero {
    min-height: 430px !important;
    padding: 66px 20px 84px !important;
  }

  .catalog-hero h1 {
    font-size: 58px !important;
  }

  .catalog-hero-proof {
    display: none !important;
  }

  .catalog-toolbar {
    width: calc(100% - 28px) !important;
    margin-top: -36px !important;
    grid-template-columns: 1fr !important;
    padding: 18px !important;
  }

  .catalog-results,
  .catalog-assurance,
  .wholesale-rules,
  .business-callout,
  .product-main {
    width: calc(100% - 28px) !important;
  }

  .catalog-results {
    padding: 64px 0 !important;
  }

  .results-head {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .results-head h2 {
    font-size: 39px !important;
  }

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

  .catalog-image {
    height: 330px !important;
  }

  .catalog-assurance,
  .wholesale-rules {
    grid-template-columns: 1fr !important;
  }

  .catalog-assurance article,
  .wholesale-rules article {
    border-right: 0 !important;
    border-bottom: 1px solid var(--pl-line) !important;
  }

  .business-callout {
    align-items: stretch !important;
    flex-direction: column !important;
    padding: 34px 25px !important;
  }

  .business-callout h2 {
    font-size: 39px !important;
  }

  .product-detail {
    grid-template-columns: 1fr !important;
  }

  .product-gallery {
    min-height: 430px !important;
  }

  .product-buybox {
    padding: 34px 22px !important;
  }

  .product-buybox h1 {
    font-size: 48px !important;
  }

  .detail-specs {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .detail-specs > div:nth-child(2) {
    border-right: 0 !important;
  }

  .detail-specs > div:nth-child(-n+2) {
    border-bottom: 1px solid var(--pl-line) !important;
  }

  .qty-row {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .detail-assurance {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .detail-assurance article:nth-child(2) {
    border-right: 0 !important;
  }

  .detail-assurance article:nth-child(-n+2) {
    border-bottom: 1px solid var(--pl-line) !important;
  }

  .services-hero-copy {
    padding: 65px 20px !important;
  }

  .services-hero h1 {
    font-size: 62px !important;
  }

  .services-hero-art {
    min-height: 470px;
    padding: 24px !important;
  }

  .services-hero-art > div {
    right: 38px !important;
    bottom: 38px !important;
    left: 38px !important;
  }

  .service-directory {
    padding: 72px 14px !important;
  }

  .directory-heading {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .directory-heading h2 {
    font-size: 52px !important;
  }

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

  .services-grid .service-card {
    grid-column: auto !important;
    min-height: 390px !important;
  }

  .services-grid .service-buy > p,
  .services-grid .service-buy h3,
  .services-grid .service-buy > strong,
  .services-grid .service-wholesale > p,
  .services-grid .service-wholesale h3,
  .services-grid .service-wholesale > strong {
    max-width: 64% !important;
  }

  .simple-journey {
    padding: 72px 20px !important;
    grid-template-columns: 1fr !important;
    gap: 50px !important;
  }

  .simple-journey h2 {
    font-size: 52px !important;
  }

  .service-contact {
    padding: 62px 20px !important;
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .contact-actions {
    width: 100%;
  }

  .contact-actions a {
    width: 100%;
  }

  .sell-hero {
    padding: 58px 18px !important;
  }

  .sell-hero .hero-copy {
    padding: 0 !important;
  }

  .quote-card {
    padding: 24px 18px !important;
  }

  .brand-section,
  .steps,
  .popular,
  .why,
  .stories,
  .faq {
    padding: 72px 18px !important;
  }

  .admin-main {
    padding: 20px 14px 112px !important;
  }

  .admin-main > header {
    margin: -20px -14px 24px !important;
    padding: 16px 14px !important;
  }

  .admin-main header h1 {
    font-size: 34px !important;
  }

  .panel,
  .homepage-editor-card,
  .password-form,
  .request-card {
    padding: 20px !important;
  }

  .stat-grid,
  .commerce-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .stat-card,
  .commerce-stat-card {
    min-height: 130px;
    padding: 18px !important;
  }

  .stat-card strong,
  .commerce-stat-card strong {
    font-size: 34px !important;
  }

  .toolbar,
  .buyback-toolbar {
    padding: 12px !important;
  }

  .mobile-tabbar {
    right: 10px !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    left: 10px !important;
    border-radius: 9px !important;
  }
}

@media (max-width: 420px) {
  .hero h1,
  .sell-hero .hero-copy h1,
  .catalog-hero h1,
  .services-hero h1 {
    font-size: 47px !important;
  }

  .section-heading h2,
  .sell-copy h2,
  .local-copy h2,
  .confidence-section h2,
  .contact-band h2,
  .directory-heading h2,
  .simple-journey h2 {
    font-size: 38px !important;
  }

  .stat-grid,
  .commerce-stat-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
