/*
Theme Name: Adventure Ready Premium
Theme URI: https://sporttec.co.uk
Author: Adventure Ready
Description: Premium dark WordPress theme for Adventure Ready UK motorhomes. Elementor compatible.
Version: 1.4.7
License: GNU General Public License v2 or later
Text Domain: adventure-ready-premium
*/

/* ── Google Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,300&display=swap');

/* ── Reset & Base ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --arp-white:      #fafae1;
  --arp-black:      #090d0e;
  --arp-gray:       #171a1f;
  --arp-border:     #31363b;
  --arp-muted:      #aeb2b7;
  --arp-orange:     #f79235;
  --arp-yellow:     #fabb48;
  --arp-cream:      #fafae1;
  --arp-font:       'Libre Franklin', Helvetica, Arial, sans-serif;
  --arp-nav-height: 104px;
  --arp-bar-height: 64px;
}

html { scroll-behavior: smooth; }

body {
  font-family: var(--arp-font);
  background: var(--arp-black);
  color: var(--arp-cream);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  background-image: none !important;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; font-family: var(--arp-font); }

/* ── Layout ── */
.arp-container { max-width: 1280px; margin: 0 auto; padding: 0 24px; }

/* ── Navigation ── */
#arp-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  height: var(--arp-nav-height);
  display: flex;
  align-items: center;
  background: rgba(5, 9, 10, 0.96);
  border-bottom: 1px solid rgba(250, 250, 225, 0.1);
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

#arp-nav.scrolled {
  background: rgba(5, 9, 10, 0.98);
  box-shadow: 0 1px 0 rgba(250, 250, 225, 0.12);
}

#arp-nav .arp-nav-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#arp-nav .arp-logo {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  color: var(--arp-cream);
  transition: color 0.3s ease;
}

.arp-header-logo {
  width: 108px;
  height: 86px;
  object-fit: contain;
}

#arp-nav.scrolled .arp-logo { color: var(--arp-cream); }

#arp-nav ul {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 28px;
}

#arp-nav ul a {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--arp-cream);
  transition: opacity 0.2s;
}

#arp-nav.scrolled ul a { color: var(--arp-cream); }
#arp-nav ul a:hover { color: var(--arp-orange); opacity: 1; }

.arp-nav-toggle {
  display: none;
  background: none;
  border: none;
  padding: 4px;
  color: var(--arp-cream);
  transition: color 0.3s ease;
}

#arp-nav.scrolled .arp-nav-toggle { color: var(--arp-cream); }

.arp-nav-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: currentColor;
  margin: 5px 0;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

/* ── Sticky Action Bar ── */
#arp-action-bar {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 999;
  height: var(--arp-bar-height);
  background: #101419;
  border-top: 1px solid var(--arp-border);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}

.arp-bar-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px;
  border-right: 1px solid var(--arp-border);
  transition: background 0.2s;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--arp-cream);
}

.arp-bar-item:last-child { border-right: none; }
.arp-bar-item:hover { background: var(--arp-orange); color: var(--arp-black); }

.arp-bar-item svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.arp-bar-label { display: none; }

/* ── Footer ── */
#arp-footer {
  background: #050809;
  color: var(--arp-cream);
  padding: 96px 0 128px;
}

#arp-footer .arp-footer-grid {
  display: grid;
  grid-template-columns: 1.35fr 0.75fr 0.8fr 1fr;
  gap: clamp(36px, 5vw, 64px);
}

#arp-footer .arp-footer-grid.arp-footer-grid-no-workshop {
  grid-template-columns: 1.5fr 0.75fr 1fr;
}

#arp-footer .arp-footer-brand { margin-bottom: 24px; }
.arp-footer-logo { width: 160px; height: auto; }
#arp-footer .arp-footer-desc { font-size: 14px; color: var(--arp-muted); line-height: 1.7; }

#arp-footer h4 {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--arp-muted);
  margin-bottom: 24px;
}

#arp-footer ul { list-style: none; }
#arp-footer ul li { margin-bottom: 12px; font-size: 14px; }
#arp-footer ul a { transition: color 0.2s; }
#arp-footer ul a:hover { color: var(--arp-muted); }

#arp-footer .arp-footer-menu {
  margin: 0;
  padding: 0;
}

#arp-footer address { font-style: normal; font-size: 14px; color: var(--arp-muted); line-height: 2; }

#arp-footer .arp-footer-bottom {
  margin-top: 80px;
  padding-top: 32px;
  border-top: 1px solid rgba(255,255,255,0.1);
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--arp-muted);
}

/* ── Content area padding ── */
.arp-page-content {
  padding-top: var(--arp-nav-height);
  padding-bottom: var(--arp-bar-height);
}

.arp-legal-page {
  max-width: 880px;
  padding-top: clamp(64px, 8vw, 120px);
  padding-bottom: clamp(80px, 10vw, 144px);
}

.arp-legal-page h1 {
  max-width: 760px;
  margin-bottom: 20px;
  color: var(--arp-cream);
  font-size: clamp(42px, 7vw, 88px);
  line-height: 0.95;
}

.arp-legal-page h2 {
  margin: 56px 0 18px;
  color: var(--arp-orange);
  font-size: clamp(24px, 3vw, 34px);
}

.arp-legal-page h3 {
  margin: 32px 0 12px;
  color: var(--arp-cream);
  font-size: 20px;
}

.arp-legal-page p,
.arp-legal-page li {
  color: var(--arp-muted);
  font-size: 16px;
  line-height: 1.8;
}

.arp-legal-page p,
.arp-legal-page ul {
  margin-bottom: 20px;
}

.arp-legal-page ul {
  padding-left: 24px;
}

.arp-legal-page a {
  color: var(--arp-orange);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.arp-legal-page .arp-policy-meta {
  margin-bottom: 48px;
  color: var(--arp-orange);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.arp-footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.arp-footer-legal a:hover {
  color: var(--arp-cream);
}

/* ── Configurator & Contact pages ── */
.arp-inner-hero {
  padding: clamp(72px, 10vw, 148px) 0 clamp(52px, 7vw, 96px);
  background:
    linear-gradient(120deg, rgba(236,185,46,0.11), transparent 42%),
    #090d0e;
  border-bottom: 1px solid var(--arp-border);
}

.arp-inner-hero h1 {
  max-width: 960px;
  color: var(--arp-cream);
  font-size: clamp(46px, 8vw, 104px);
  line-height: 0.92;
  letter-spacing: -0.045em;
}

.arp-inner-hero .arp-page-intro {
  max-width: 680px;
  margin-top: 28px;
  color: var(--arp-muted);
  font-size: clamp(17px, 2vw, 22px);
  line-height: 1.65;
}

.arp-configurator-page-content,
.arp-contact-page-content {
  padding-top: clamp(64px, 8vw, 112px);
  padding-bottom: clamp(88px, 10vw, 150px);
}

.arp-configurator-page-content {
  max-width: 1440px;
}

.arp-configurator-page-content > * + * {
  margin-top: 28px;
}

.arp-configurator-page-content .staggs-configurator,
.arp-configurator-page-content [class*="staggs"] {
  max-width: 100%;
}

.arp-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: clamp(48px, 8vw, 120px);
  align-items: start;
}

.arp-contact-layout-details-only {
  grid-template-columns: minmax(280px, 620px);
}

.arp-contact-form-shell h2,
.arp-contact-details h2 {
  margin-bottom: 28px;
  color: var(--arp-cream);
  font-size: clamp(28px, 4vw, 44px);
}

.arp-contact-form-shell p,
.arp-contact-details p,
.arp-contact-details address {
  color: var(--arp-muted);
  line-height: 1.8;
}

.arp-contact-details {
  padding: 36px;
  border: 1px solid var(--arp-border);
  background: var(--arp-surface);
}

.arp-contact-details address {
  margin: 24px 0;
  font-style: normal;
}

.arp-contact-details a {
  color: var(--arp-orange);
}

.arp-contact-page-content label {
  display: block;
  margin-bottom: 8px;
  color: var(--arp-cream);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.arp-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.arp-contact-page-content input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.arp-contact-page-content select,
.arp-contact-page-content textarea {
  width: 100%;
  min-height: 52px;
  padding: 13px 15px;
  border: 1px solid var(--arp-border);
  border-radius: 0;
  background: #111718;
  color: var(--arp-cream);
  font: inherit;
}

.arp-contact-page-content textarea {
  min-height: 180px;
  resize: vertical;
}

.arp-contact-page-content input:focus,
.arp-contact-page-content select:focus,
.arp-contact-page-content textarea:focus {
  border-color: var(--arp-orange);
  outline: 2px solid rgba(236,185,46,0.2);
  outline-offset: 1px;
}

.arp-contact-page-content input[type="submit"],
.arp-contact-page-content button[type="submit"] {
  min-height: 52px;
  padding: 15px 26px;
  border: 0;
  border-radius: 0;
  background: var(--arp-orange);
  color: var(--arp-black);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.arp-contact-page-content .wpcf7-form-control-wrap {
  display: block;
  margin-top: 8px;
}

.arp-contact-page-content .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #ff8b7b;
  font-size: 13px;
}

.arp-contact-page-content .wpcf7-response-output {
  margin: 24px 0 0;
  padding: 14px 16px;
  border-color: var(--arp-orange);
  color: var(--arp-cream);
}

/* ── Elementor Compatibility ── */
.elementor-section.elementor-section-full_width .elementor-container { max-width: none; }

.elementor-kit-1 body,
.e-con-inner,
.elementor-widget-container {
  font-family: var(--arp-font) !important;
}

/* Elementor default typography overrides */
.elementor-heading-title { font-family: var(--arp-font) !important; font-weight: 700; letter-spacing: -0.02em; }
body .elementor-button { border-radius: 0 !important; }

/* ── Typography helpers ── */
.arp-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--arp-orange);
}

.arp-btn {
  display: inline-block;
  background: var(--arp-orange);
  color: var(--arp-black);
  padding: 20px 48px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  border-radius: 0;
  border: none;
  transition: opacity 0.2s;
}

.arp-btn:hover { background: var(--arp-yellow); color: var(--arp-black); opacity: 1; }

.arp-btn-outline {
  background: transparent;
  color: var(--arp-cream);
  border: 2px solid var(--arp-orange);
}

.arp-btn-outline:hover { background: var(--arp-orange); color: var(--arp-black); }

/* ── Adventure Ready premium homepage ── */
.arp-home-main {
  padding-bottom: var(--arp-bar-height);
  background: var(--arp-black);
}

.arp-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5,9,10,0.28) 0%, rgba(5,9,10,0.2) 48%, rgba(5,9,10,0.78) 100%);
}

.arp-home-section { padding: 128px 0; }

.arp-philosophy-section {
  padding: 150px 0;
  background: #11161a;
  text-align: center;
}

.arp-large-copy {
  max-width: 800px;
  margin: 0 auto;
  color: var(--arp-muted);
  font-size: clamp(1rem, 2vw, 1.5rem);
  line-height: 1.7;
}

.arp-craft-section { background: var(--arp-gray); }

.arp-body-copy {
  margin-bottom: 20px;
  color: var(--arp-muted);
  font-size: 1.125rem;
  line-height: 1.7;
}

.arp-body-copy-last { margin-bottom: 40px; }

.arp-text-link,
.arp-card-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 5px;
  border-bottom: 2px solid var(--arp-orange);
  color: var(--arp-cream);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.arp-text-link:hover,
.arp-card-link:hover { color: var(--arp-orange); }

.arp-image-placeholder {
  width: 100%;
  aspect-ratio: 4 / 5;
  background: #24292f;
  border: 1px solid var(--arp-border);
}

.arp-models-section { background: var(--arp-black); }

.arp-model-card {
  padding-bottom: 26px;
  border-bottom: 1px solid var(--arp-border);
}

.arp-model-image {
  overflow: hidden;
  aspect-ratio: 4 / 5;
  margin-bottom: 32px;
  background: var(--arp-gray);
}

.arp-model-description {
  margin-bottom: 24px;
  color: var(--arp-muted);
  font-size: 0.9375rem;
  line-height: 1.7;
}

.arp-card-link { border-bottom-width: 1px; }

.arp-process-section { background: #12171b; }

.arp-craft-grid,
.arp-base-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 96px;
  align-items: center;
}

.arp-models-grid,
.arp-process-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
}

.arp-process-grid {
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: 64px;
  align-items: start;
}

.arp-process-number {
  display: block;
  margin-bottom: 16px;
  color: var(--arp-orange);
  font-size: 3rem;
  font-weight: 700;
}

.arp-process-copy {
  color: var(--arp-muted);
  font-size: 0.875rem;
  line-height: 1.7;
}

.arp-process-steps > div {
  padding-top: 24px;
  border-top: 1px solid var(--arp-border);
}

.arp-process-cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  margin-top: 72px;
  padding-top: 40px;
  border-top: 1px solid var(--arp-border);
}

.arp-process-cta h3 {
  color: var(--arp-cream);
  font-size: clamp(24px, 3vw, 36px);
}

.arp-shop-promo {
  position: relative;
  min-height: clamp(480px, 68vw, 760px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background-color: #11161a;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: var(--arp-cream);
}

.arp-shop-promo::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5,8,9,0.94) 0%, rgba(5,8,9,0.7) 50%, rgba(5,8,9,0.25) 100%);
}

.arp-shop-promo .arp-container {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-top: 120px;
  padding-bottom: 96px;
}

.arp-shop-promo-content {
  max-width: 760px;
}

.arp-shop-promo h2 {
  margin-bottom: 24px;
  font-size: clamp(3rem, 7vw, 6.5rem);
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 0.96;
}

.arp-shop-promo-copy {
  max-width: 640px;
  margin-bottom: 32px;
  color: rgba(255,255,255,0.82);
  font-size: clamp(1rem, 2vw, 1.25rem);
  line-height: 1.6;
}

.arp-base-section {
  background: #050809;
  color: var(--arp-cream);
}

.arp-configurator-section {
  padding: 150px 0;
  background: var(--arp-yellow);
  color: var(--arp-black);
  text-align: center;
}

.arp-configurator-copy {
  max-width: 600px;
  margin: 0 auto 56px;
  color: rgba(9, 13, 14, 0.72);
  font-size: 1.25rem;
  line-height: 1.7;
}

.arp-configurator-section .arp-btn {
  background: var(--arp-black);
  color: var(--arp-cream);
}

.arp-configurator-section .arp-btn:hover {
  background: #24292f;
  color: var(--arp-cream);
}

/* ── WooCommerce ── */
body.woocommerce #arp-nav,
body.woocommerce-page #arp-nav {
  background: #050809;
  box-shadow: 0 1px 0 rgba(250, 250, 225, 0.12);
}

body.woocommerce #arp-nav .arp-logo,
body.woocommerce-page #arp-nav .arp-logo,
body.woocommerce #arp-nav ul a,
body.woocommerce-page #arp-nav ul a,
body.woocommerce #arp-nav .arp-nav-toggle,
body.woocommerce-page #arp-nav .arp-nav-toggle {
  color: var(--arp-cream);
}

.arp-shop-hero {
  padding: 112px 0 72px;
  background: #11161a;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-bottom: 1px solid var(--arp-border);
}

.arp-shop-hero.has-background-image {
  min-height: clamp(400px, 56vw, 680px);
  display: flex;
  align-items: flex-end;
}

.arp-shop-hero.has-background-image .arp-container {
  width: 100%;
}

.arp-shop-hero.has-background-image h1 {
  text-shadow: 0 3px 30px rgba(0,0,0,0.6);
}

.arp-shop-hero.has-background-image .arp-shop-intro {
  color: rgba(255,255,255,0.82);
  text-shadow: 0 2px 18px rgba(0,0,0,0.72);
}

.arp-shop-hero .arp-eyebrow { margin-bottom: 18px; }

.arp-shop-hero h1 {
  max-width: 850px;
  font-size: clamp(2.75rem, 7vw, 6rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 0.98;
}

.arp-shop-intro {
  max-width: 660px;
  margin-top: 28px;
  color: var(--arp-muted);
  font-size: 18px;
}

.arp-woocommerce-shell,
.arp-woocommerce-utility {
  padding-top: 72px;
  padding-bottom: 112px;
}

.arp-woocommerce-utility {
  min-height: 60vh;
}

.woocommerce .woocommerce-breadcrumb {
  margin: 0 0 48px;
  color: var(--arp-muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.woocommerce .woocommerce-breadcrumb a { color: var(--arp-orange); }

.woocommerce,
.woocommerce-page,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title {
  color: var(--arp-cream);
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  margin-bottom: 40px;
  color: var(--arp-muted);
  font-size: 13px;
}

.woocommerce .woocommerce-ordering select,
.woocommerce select,
.woocommerce input.input-text,
.woocommerce textarea {
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--arp-border);
  border-radius: 0;
  background: #11161a;
  color: var(--arp-cream);
  font: inherit;
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 56px 32px;
  clear: both;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none;
  width: auto;
  margin: 0;
}

.woocommerce ul.products li.product a img {
  width: 100%;
  aspect-ratio: 1 / 1;
  margin-bottom: 22px;
  background: var(--arp-gray);
  object-fit: cover;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 0;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--arp-yellow);
  font-size: 15px;
  font-weight: 600;
}

.woocommerce span.onsale {
  top: 12px;
  left: 12px;
  min-width: 0;
  min-height: 0;
  padding: 7px 10px;
  border-radius: 0;
  background: var(--arp-orange);
  color: var(--arp-black);
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  padding: 14px 20px;
  border: 1px solid var(--arp-black);
  border-radius: 0;
  background: var(--arp-orange);
  color: var(--arp-black);
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background: var(--arp-yellow);
  color: var(--arp-black);
}

.woocommerce ul.products li.product .button { margin-top: 14px; }

.woocommerce nav.woocommerce-pagination {
  margin-top: 64px;
}

.woocommerce nav.woocommerce-pagination ul {
  border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: 1px solid var(--arp-border);
  margin-right: 8px;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  min-width: 42px;
  padding: 12px;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--arp-orange);
  color: var(--arp-black);
}

.woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
  gap: 72px;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  float: none;
  width: auto;
  margin: 0;
}

.woocommerce div.product .product_title {
  font-size: clamp(2.25rem, 5vw, 4.5rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
}

.woocommerce div.product form.cart {
  display: flex;
  gap: 12px;
  margin: 32px 0;
}

.woocommerce .quantity .qty {
  min-height: 43px;
  border: 1px solid var(--arp-border);
}

.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells {
  grid-column: 1 / -1;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  margin-top: 48px;
  padding: 0;
  border-bottom: 1px solid var(--arp-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before { border: 0; }

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0 28px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  padding: 16px 0;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.woocommerce table.shop_table {
  border: 1px solid var(--arp-border);
  border-collapse: collapse;
  border-radius: 0;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 16px;
  border: 1px solid var(--arp-border);
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  padding: 18px 20px 18px 52px;
  border-top: 3px solid var(--arp-orange);
  background: var(--arp-gray);
  color: var(--arp-cream);
}

.woocommerce-message::before,
.woocommerce-info::before { color: var(--arp-orange); }

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  border: 1px solid var(--arp-border);
  border-radius: 0;
}

.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 {
  width: 48%;
}

/* ── Sections ── */
.arp-section { padding: 128px 0; }
.arp-section-sm { padding: 64px 0; }
.arp-section-gray { background: var(--arp-gray); }
.arp-section-black { background: var(--arp-black); color: var(--arp-white); }

/* ── WordPress Core ── */
.wp-caption { max-width: 100%; }
.alignleft { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.aligncenter { display: block; margin: 0 auto 16px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }

/* ── Responsive ── */
@media (min-width: 640px) {
  .arp-bar-label { display: block; }
}

@media (max-width: 768px) {
  .arp-container,
  #arp-nav .arp-nav-inner {
    padding-right: 14px;
    padding-left: 14px;
  }

  .arp-craft-grid,
  .arp-process-grid,
  .arp-base-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .arp-models-grid,
  .arp-process-steps {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .arp-process-cta {
    align-items: flex-start;
    flex-direction: column;
    margin-top: 48px;
  }

  .arp-base-grid > :first-child:empty {
    display: none;
  }

  .arp-configurator-page-content {
    width: 100%;
    max-width: none;
    padding-right: 10px;
    padding-left: 10px;
  }

  .arp-configurator-page-content .staggs-product-options,
  .arp-configurator-page-content .option-group-wrapper,
  .arp-configurator-page-content .option-group-step,
  .arp-configurator-page-content .option-group-step-inner {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
  }

  .arp-configurator-page-content .option-group-step-inner,
  .arp-configurator-page-content .option-group-wrapper {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  .arp-configurator-page-content .option-group-description,
  .arp-configurator-page-content .option-group-step-description,
  .arp-configurator-page-content .option-description {
    width: 100% !important;
    max-width: none !important;
    overflow-wrap: anywhere;
  }

  .arp-form-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .arp-contact-layout {
    grid-template-columns: 1fr;
  }

  .arp-contact-details {
    padding: 28px 22px;
  }

  #arp-nav ul { display: none; }
  .arp-nav-toggle { display: block; }

  .arp-shop-hero { padding: 88px 0 56px; }
  .arp-woocommerce-shell,
  .arp-woocommerce-utility { padding-top: 48px; padding-bottom: 88px; }

  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px 18px;
  }

  .woocommerce div.product {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .woocommerce .col2-set .col-1,
  .woocommerce .col2-set .col-2 {
    float: none;
    width: 100%;
  }

  #arp-footer .arp-footer-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  #arp-footer .arp-footer-bottom { flex-direction: column; gap: 8px; }
}

@media (max-width: 480px) {
  .arp-container,
  #arp-nav .arp-nav-inner {
    padding-right: 10px;
    padding-left: 10px;
  }

  .arp-configurator-page-content {
    padding-right: 6px;
    padding-left: 6px;
  }

  .arp-bar-item { font-size: 9px; gap: 2px; }
  .arp-bar-item svg { width: 18px; height: 18px; }

  .woocommerce ul.products { grid-template-columns: 1fr; }
  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering { float: none; }
  .woocommerce .woocommerce-ordering { width: 100%; }
  .woocommerce .woocommerce-ordering select { width: 100%; }
}
