:root {
  --ar-prod-pad-x: var(--space-20);
  --ar-prod-gap: clamp(var(--space-16), 2.2vw, var(--space-28));

  --ar-prod-line: 1px solid color-mix(in srgb, var(--c-border) 82%, transparent);
  --ar-prod-line-strong: 1px solid color-mix(in srgb, var(--c-border-2) 92%, transparent);

  --ar-prod-shadow: 0 22px 70px color-mix(in srgb, var(--c-text) 12%, transparent);
  --ar-prod-shadow-soft: 0 14px 52px color-mix(in srgb, var(--c-text) 10%, transparent);

  --ar-prod-radius-xl: var(--radius-24);
  --ar-prod-radius-lg: var(--radius-18);
  --ar-prod-radius-md: var(--radius-14);
  --ar-prod-radius-pill: var(--radius-pill);

  --ar-prod-hero-max: 920px;
  --ar-prod-panel-pad: clamp(var(--space-16), 2.2vw, var(--space-28));

  --ar-prod-media-h: clamp(240px, 38vw, 380px);
}

.ar-product .site-main {
  padding: clamp(var(--space-16), 2.2vw, var(--space-24)) 0;
  background: var(--c-bg);
}

.ar-product .inside-article {
  padding: 0;
}

.ar-product .entry-content {
  max-width: none;
}

.page-header-image-single {
  display: none !important;
}

.ar-product .woocommerce-breadcrumb,
.ar-product .product_meta,
.ar-product .related.products,
.ar-product #tab-title-reviews,
.ar-product #tab-reviews,
.ar-product .woocommerce-product-rating,
.ar-product .quantity,
.ar-product .wapf-product-totals,
.ar-product form.cart::before,
.ar-product .woocommerce-product-gallery__trigger,
.ar-product .woocommerce-product-gallery .flex-control-nav,
.ar-product .woocommerce-product-gallery .flex-control-thumbs,
.ar-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper > div:not(:first-child) {
  display: none !important;
}

.ar-product .woocommerce-notices-wrapper {
  max-width: var(--ar-prod-hero-max);
  margin: 0 auto var(--space-16);
  padding-left: var(--ar-prod-pad-x);
  padding-right: var(--ar-prod-pad-x);
}

.ar-product .woocommerce-notices-wrapper:empty {
  display: none;
}

.ar-product .product {
  max-width: var(--ar-prod-hero-max);
  margin: 0 auto;
  padding-left: var(--ar-prod-pad-x);
  padding-right: var(--ar-prod-pad-x);
}

.ar-product div.product {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ar-prod-gap);
  align-items: start;
}

.ar-product .woocommerce-product-gallery {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.ar-product .woocommerce-product-gallery__wrapper {
  border-radius: var(--ar-prod-radius-xl);
  border: var(--ar-prod-line);
  background:
    radial-gradient(900px 520px at 18% 0%, color-mix(in srgb, var(--c-primary) 12%, transparent), transparent 60%),
    radial-gradient(900px 520px at 82% 18%, color-mix(in srgb, var(--c-primary-2) 10%, transparent), transparent 62%),
    linear-gradient(180deg,
      color-mix(in srgb, var(--c-surface) 98%, transparent) 0%,
      color-mix(in srgb, var(--c-surface-2) 92%, transparent) 100%
    );
  box-shadow: var(--ar-prod-shadow-soft);
  overflow: hidden;
  position: relative;
}

.ar-product .woocommerce-product-gallery__wrapper::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: var(--g-primary);
  opacity: 0.98;
  pointer-events: none;
}

.ar-product .woocommerce-product-gallery__image,
.ar-product .woocommerce-product-gallery__image > a {
  display: block;
  border-radius: var(--ar-prod-radius-xl);
  overflow: hidden;
}

.ar-product .woocommerce-product-gallery__image > a {
  height: var(--ar-prod-media-h);
}

.ar-product .woocommerce-product-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: var(--ar-prod-radius-xl);
  transform: translateZ(0);
  filter: saturate(1.02) contrast(1.02);
}

.ar-product .woocommerce-product-gallery__wrapper .zoomImg {
  display: none !important;
}

.ar-product .summary.entry-summary {
  width: 100%;
  margin: 0 auto;
  border-radius: var(--ar-prod-radius-xl);
  border: var(--ar-prod-line);
  background:
    radial-gradient(900px 520px at 18% 0%, color-mix(in srgb, var(--c-primary) 10%, transparent), transparent 60%),
    radial-gradient(900px 520px at 82% 18%, color-mix(in srgb, var(--c-primary-2) 8%, transparent), transparent 62%),
    color-mix(in srgb, var(--c-surface) 96%, transparent);
  box-shadow: var(--ar-prod-shadow);
  padding: var(--ar-prod-panel-pad);
  position: relative;
  overflow: hidden;
}

.ar-product .summary.entry-summary::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(250, 251, 253, 0.16), rgba(250, 251, 253, 0) 60%);
  opacity: 1;
}

.ar-product .summary.entry-summary::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: var(--g-primary);
  opacity: 0.98;
  pointer-events: none;
}

.ar-product .summary.entry-summary > * {
  position: relative;
  z-index: 1;
}

.ar-product .product_title {
  margin: 0 0 var(--space-10);
  font-family: var(--font-secondary);
  font-size: clamp(1.55rem, 1.18rem + 1.15vw, 2.15rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--c-text);
  text-wrap: balance;
}

.ar-product .product_title::before {
  content: "";
  display: block;
  width: min(560px, 78vw);
  height: 1px;
  margin: 0 0 var(--space-16);
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--c-primary) 56%, transparent), transparent);
}

.ar-product p.price {
  display: block !important;
  margin: 0 0 var(--space-16);
  font-family: var(--font-primary);
  line-height: 1;
}

.ar-product p.price .amount {
  display: inline-flex;
  align-items: baseline;
  gap: var(--space-8);
  padding: var(--space-12) var(--space-16);
  border-radius: var(--ar-prod-radius-pill);
  border: 1px solid color-mix(in srgb, var(--c-primary) 28%, var(--c-border-2));
  background:
    radial-gradient(600px 200px at 18% 0%, color-mix(in srgb, var(--c-primary) 18%, transparent), transparent 60%),
    color-mix(in srgb, var(--c-surface) 96%, transparent);
  box-shadow: 0 14px 44px color-mix(in srgb, var(--c-text) 10%, transparent);
  color: var(--c-text);
  font-weight: var(--fw-700);
  font-size: var(--fs-price);
  letter-spacing: var(--tracking-tight);
}

.ar-product p.price .woocommerce-Price-currencySymbol {
  font-size: var(--fs-body);
  color: color-mix(in srgb, var(--c-text) 72%, transparent);
  font-weight: var(--fw-600);
  margin-left: var(--space-6);
}

.ar-product form.cart {
  margin: 0;
  width: 100%;
}

.ar-product .wapf,
.ar-product .wapf-wrapper,
.ar-product .wapf-field-group,
.ar-product .wapf-field-row,
.ar-product .wapf-field-container,
.ar-product .wapf-field-input {
  width: 100% !important;
  max-width: 100% !important;
}

.ar-product .wapf-wrapper {
  display: grid;
  gap: var(--space-16);
}

.ar-product .wapf-field-label {
  margin: 0 0 var(--space-8);
}

.ar-product .wapf-field-label label {
  font-family: var(--font-primary);
  font-size: var(--fs-label);
  font-weight: var(--fw-700);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  line-height: var(--lh-normal);
  color: var(--c-text);
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.ar-product .wapf-field-label .required {
  color: color-mix(in srgb, var(--c-primary) 92%, var(--c-text));
}

.ar-product .wapf-input,
.ar-product .wapf-field-input select,
.ar-product .wapf-field-input textarea,
.ar-product .wapf-field-input input[type="text"],
.ar-product .wapf-field-input input[type="email"],
.ar-product .artifact-images-upload input[type="file"] {
  width: 100%;
  box-sizing: border-box;
  border-radius: var(--ar-prod-radius-pill);
  border: 1px solid color-mix(in srgb, var(--c-border) 86%, transparent);
  background: color-mix(in srgb, var(--c-surface) 96%, transparent);
  color: var(--c-text);
  font-family: var(--font-primary);
  font-size: var(--fs-body);
  line-height: var(--lh-normal);
  padding: var(--space-12) var(--space-16);
  outline: none;
  transition: border-color var(--dur-180) var(--ease-out), box-shadow var(--dur-180) var(--ease-out), transform var(--dur-180) var(--ease-out), background var(--dur-180) var(--ease-out);
}

.ar-product .wapf-field-input textarea {
  border-radius: var(--ar-prod-radius-lg);
  min-height: 200px;
  resize: vertical;
}

.ar-product .wapf-field-input select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, color-mix(in srgb, var(--c-text) 55%, transparent) 50%),
    linear-gradient(135deg, color-mix(in srgb, var(--c-text) 55%, transparent) 50%, transparent 50%),
    linear-gradient(to right, transparent, transparent);
  background-position:
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px),
    0 0;
  background-size: 6px 6px, 6px 6px, 100% 100%;
  background-repeat: no-repeat;
  padding-right: 44px;
}

.ar-product .wapf-input:focus,
.ar-product .wapf-field-input select:focus,
.ar-product .wapf-field-input textarea:focus,
.ar-product .wapf-field-input input:focus,
.ar-product .artifact-images-upload input[type="file"]:focus {
  border-color: color-mix(in srgb, var(--c-primary) 40%, var(--c-border-2));
  box-shadow: var(--focus-ring);
  background: var(--c-surface);
  transform: translateY(-1px);
}

.ar-product .artifact-images-upload {
  margin: var(--space-16) 0 0;
  width: 100%;
  box-sizing: border-box;
  border-radius: var(--ar-prod-radius-xl);
  border: 1px solid color-mix(in srgb, var(--c-primary) 28%, var(--c-border-2));
  background:
    radial-gradient(900px 520px at 18% 0%, color-mix(in srgb, var(--c-primary) 10%, transparent), transparent 60%),
    radial-gradient(900px 520px at 82% 18%, color-mix(in srgb, var(--c-primary-2) 8%, transparent), transparent 62%),
    color-mix(in srgb, var(--c-surface) 94%, transparent);
  box-shadow: var(--ar-prod-shadow-soft);
  padding: var(--space-16);
  position: relative;
  overflow: hidden;
}

.ar-product .artifact-images-upload::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: var(--g-primary);
  opacity: 0.98;
  pointer-events: none;
}

.ar-product .artifact-images-upload > * {
  position: relative;
  z-index: 1;
}

.ar-product .artifact-images-upload label {
  margin: 0 0 var(--space-10);
  font-family: var(--font-primary);
  font-size: var(--fs-label);
  font-weight: var(--fw-700);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--c-text);
}

.ar-product .artifact-images-upload div {
  margin-top: var(--space-10);
  font-family: var(--font-primary);
  font-size: var(--fs-small);
  line-height: var(--lh-normal);
  color: var(--c-muted);
}

.ar-product .single_add_to_cart_button.button.alt {
  width: 100%;
  margin-top: var(--space-18);
  height: clamp(3.1rem, 2.9rem + 0.7vw, 3.55rem);
  border-radius: var(--ar-prod-radius-pill);
  border: 1px solid color-mix(in srgb, var(--c-primary) 34%, var(--c-border-2));
  background: var(--g-primary);
  color: var(--c-primary-contrast);
  box-shadow: 0 18px 54px color-mix(in srgb, var(--c-text) 14%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--space-18);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transform: translateZ(0);
  transition: transform var(--dur-180) var(--ease-out), box-shadow var(--dur-180) var(--ease-out), filter var(--dur-180) var(--ease-out);
  font-size: 0;
  line-height: 0;
}

.ar-product .single_add_to_cart_button.button.alt::before {
  content: "Przejdź do płatności";
  font-size: var(--fs-btn);
  line-height: 1;
  font-family: var(--font-primary);
  font-weight: var(--fw-700);
  letter-spacing: var(--tracking-wide);
  color: var(--c-primary-contrast);
  text-transform: uppercase;
}

.ar-product .single_add_to_cart_button.button.alt::after {
  content: "Płatność online • Potwierdzenie • Wycena na e-mail";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 5px;
  font-family: var(--font-primary);
  font-size: var(--fs-label);
  line-height: 1;
  font-weight: var(--fw-600);
  letter-spacing: 0.02em;
  text-transform: none;
  color: color-mix(in srgb, var(--c-primary-contrast) 88%, transparent);
  white-space: nowrap;
  opacity: 0.94;
}

.ar-product .single_add_to_cart_button.button.alt:hover {
  transform: translateY(-1px);
  box-shadow: 0 26px 74px color-mix(in srgb, var(--c-text) 18%, transparent);
  filter: brightness(1.03);
}

.ar-product .single_add_to_cart_button.button.alt:active {
  transform: translateY(0);
}

.ar-product .single_add_to_cart_button.button.alt:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.ar-product #ppcp-recaptcha-v2-container {
  display: none !important;
}

.ar-product .woocommerce-notices-wrapper .woocommerce-message,
.ar-product .woocommerce-notices-wrapper .woocommerce-error,
.ar-product .woocommerce-notices-wrapper .woocommerce-info {
  max-width: var(--ar-prod-hero-max);
  margin: 0 auto var(--space-14);
  border-radius: var(--ar-prod-radius-xl);
  border: var(--ar-prod-line);
  background: var(--c-surface);
  box-shadow: var(--ar-prod-shadow-soft);
  padding: var(--space-14) var(--space-16);
  font-family: var(--font-primary);
  font-size: var(--fs-small);
  line-height: var(--lh-normal);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
  display: none !important;
}

.ar-product .woocommerce-tabs {
  margin-top: 0;
  border-radius: var(--ar-prod-radius-xl);
  border: var(--ar-prod-line);
  background: color-mix(in srgb, var(--c-surface) 96%, transparent);
  box-shadow: var(--ar-prod-shadow-soft);
  padding: var(--ar-prod-panel-pad);
  position: relative;
  overflow: hidden;
}

.ar-product .woocommerce-tabs::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: var(--g-primary);
  opacity: 0.98;
  pointer-events: none;
}

.ar-product .woocommerce-tabs .wc-tabs {
  display: none !important;
}

.ar-product .woocommerce-Tabs-panel--description {
  display: block !important;
  margin: 0 !important;
}

.ar-product .woocommerce-Tabs-panel--description h2 {
  display: none;
}

.ar-product .woocommerce-Tabs-panel--description p,
.ar-product .woocommerce-Tabs-panel--description li {
  font-family: var(--font-primary);
  font-size: var(--fs-body);
  line-height: var(--lh-relaxed);
  color: var(--c-text-2);
}

.ar-product .woocommerce-Tabs-panel--description ul {
  padding-left: 1.1em;
  margin: var(--space-12) 0;
}

.ar-product .woocommerce-Tabs-panel--description strong {
  color: var(--c-text);
}

@media (max-width: 980px) {
  :root {
    --ar-prod-pad-x: var(--space-16);
    --ar-prod-media-h: clamp(220px, 56vw, 320px);
  }

  .ar-product .woocommerce-product-gallery img {
    transform: none;
  }

  .ar-product p.price .amount {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .ar-product .single_add_to_cart_button.button.alt::after {
    white-space: normal;
    width: 92%;
    text-align: center;
  }
}

@media (max-width: 520px) {
  :root {
    --ar-prod-media-h: clamp(200px, 68vw, 290px);
  }

  .ar-product .summary.entry-summary {
    padding: var(--space-16);
  }

  .ar-product .artifact-images-upload {
    padding: var(--space-14);
  }

  .ar-product .wapf-wrapper {
    gap: var(--space-14);
  }

  .ar-product .wapf-field-input textarea {
    min-height: 180px;
  }

  .ar-product .single_add_to_cart_button.button.alt {
    height: auto;
    padding: var(--space-14) var(--space-14) calc(var(--space-14) + 18px);
  }

  .ar-product .single_add_to_cart_button.button.alt::after {
    bottom: 12px;
  }

  .ar-product .woocommerce-tabs {
    padding: var(--space-16);
  }
}
