/*
Theme Name: Kreator Sylwetki Premium
Theme URI: https://kreatorsylwetki.pl/
Description: Motyw potomny Astra dla systemu wizualnego Kreator Sylwetki.
Author: Kreator Sylwetki
Template: astra
Version: 1.0.48
Text Domain: kreator-sylwetki-premium
*/

/* Gutenberg adds flow margins to every converted Group block. The premium
 * layouts already define their own spacing, so neutralise only those automatic
 * margins inside the custom page systems. */
:where(.ks-page, .ks-home) .is-layout-flow > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

/* Keep intentional editorial rhythm for plain long-form legal copy. */
.ks-generic-content > * + * {
  margin-block-start: clamp(0.85rem, 1.2vw, 1.25rem);
}

.ks-calorie-ai .ksc-title:empty {
  display: none;
}

/* Restored testimonial blocks. */
.ks-home__quote .wp-block-quote { margin: 0; padding: 0; border: 0; }
.ks-home__quote .wp-block-quote p {
  margin: 0 0 1.25rem;
  color: var(--ks-color-ink) !important;
  font-family: var(--ks-font-display);
  font-size: clamp(1.35rem, 1.15rem + .7vw, 1.9rem);
  font-weight: 700;
  line-height: 1.4;
}
.ks-home__quote .wp-block-quote cite { color: var(--ks-color-muted); font-size: .82rem; font-style: normal; font-weight: 750; }
.ks-home__quotes-row .ks-home__quote-card { margin: 0; padding: 1.5rem; border: 1px solid var(--ks-color-line); border-radius: var(--ks-radius-md); background: #fff; }
.ks-home__quote-card p { margin: 0 0 1rem; color: var(--ks-color-ink); font-size: .98rem; line-height: 1.65; }
.ks-home__quote-card cite { color: var(--ks-color-muted); font-size: .82rem; font-style: normal; font-weight: 750; }

/* Full-width premium shell on every page and product. */
body.ks-premium-system .site-content,
body.ks-premium-system .site-content > .ast-container,
body.ks-premium-system #primary,
body.ks-premium-system .site-main {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}
body.ks-premium-system .site-content > .ast-container,
body.ks-premium-system #primary { padding-inline: 0; }

/* Gutenberg button normalization. */
:where(.ks-home, .ks-page) .wp-block-button:is(.ks-button, .ks-page-button, .ks-b4-button),
.wp-block-button.ks-b4-button {
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
}
:where(.ks-home, .ks-page) .wp-block-button:is(.ks-button, .ks-page-button, .ks-b4-button) > .wp-block-button__link,
.wp-block-button.ks-b4-button > .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.25rem;
  padding: .8rem 1.35rem;
  border: 1px solid transparent;
  border-radius: .4rem;
  box-shadow: none;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}
:where(.ks-home, .ks-page) .wp-block-button:is(.ks-button--primary, .ks-page-button, .ks-b4-button) > .wp-block-button__link,
.wp-block-button.ks-b4-button > .wp-block-button__link { border-color: var(--ks-color-accent); background: var(--ks-color-accent); color: #0d160b; }
.ks-home .wp-block-button.ks-button--secondary > .wp-block-button__link { border-color: #aeb8b0; background: rgba(255,255,255,.78); color: var(--ks-color-ink); }
.ks-home .wp-block-button.ks-button--light > .wp-block-button__link { border-color: rgba(255,255,255,.45); background: transparent; color: #fff; }
:where(.ks-home, .ks-page) .wp-block-button:is(.ks-home__results-link, .ks-home__text-link, .ks-trust-link) > .wp-block-button__link { min-height: auto; padding: 0; border: 0; background: transparent; box-shadow: none; color: inherit; font-weight: 800; }
.ks-page .wp-block-button.ks-trust-link--light > .wp-block-button__link { color: #fff; }
.ks-home__offer-card > .wp-block-buttons { width: 100%; margin-top: auto; }
.ks-home__offer-card > .wp-block-buttons .wp-block-button,
.ks-home__offer-card > .wp-block-buttons .wp-block-button__link { width: 100%; }
.ks-home__offer-grid { align-items: stretch; }
.ks-home__offer-grid > .ks-home__offer-card { height: 100%; }

.ks-premium-system.ks-service-product form.cart a.reset_variations {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 5.5rem !important;
  min-height: 2.5rem !important;
  margin-top: .65rem !important;
  padding: .45rem .8rem !important;
  border: 1px solid var(--ks-color-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--ks-color-body) !important;
  font-size: .75rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

/* Cart / checkout visual parity. */
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .ks-generic-content.ks-page-wrap {
  background: #fff !important;
}
body.woocommerce-checkout .ks-generic-content.ks-page-wrap {
  width: min(calc(100% - 4rem), 1200px) !important;
  max-width: 1200px !important;
}
body.woocommerce-checkout .ks-generic-content.ks-page-wrap > .woocommerce {
  width: 100% !important;
  max-width: none !important;
}
body.woocommerce-checkout .ks-woo-intro {
  width: 100%;
  border: 1px solid #dbe5d8;
  border-radius: 16px;
  background: linear-gradient(135deg, #f6f8f4, #fff 58%, #edf5ea);
  box-shadow: none;
}
@media (min-width: 861px) {
  body.woocommerce-checkout form.checkout.woocommerce-checkout {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 32px !important;
  }
}
body.woocommerce-checkout form.checkout #customer_details,
body.woocommerce-checkout form.checkout #order_review_heading,
body.woocommerce-checkout form.checkout #order_review {
  border-color: #ddd !important;
  box-shadow: none !important;
}
body.woocommerce-checkout form.checkout #customer_details {
  padding: 32px !important;
  border: 1px solid #ddd !important;
  border-radius: 16px !important;
  background: #fff !important;
}
body.woocommerce-checkout form.checkout #order_review_heading {
  padding: 32px 32px 20px !important;
  border: 1px solid #ddd !important;
  border-bottom: 0 !important;
  border-radius: 16px 16px 0 0 !important;
  background: #fff !important;
}
body.woocommerce-checkout form.checkout #order_review {
  padding: 0 32px 32px !important;
  border: 1px solid #ddd !important;
  border-top: 0 !important;
  border-radius: 0 0 16px 16px !important;
  background: #fff !important;
}
@media (max-width: 860px) {
  body.woocommerce-checkout .ks-generic-content.ks-page-wrap {
    width: min(calc(100% - 2rem), 1200px) !important;
  }
}
@media (max-width: 560px) {
  body.woocommerce-checkout .ks-generic-content.ks-page-wrap {
    width: calc(100% - 24px) !important;
  }
}

/* Priority conversion and accessibility polish. */
.ks-price-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin:.8rem 0 1rem; font-size:1rem; }
.ks-price-choices > span { display:grid; gap:.2rem; padding:.9rem 1rem; border:1px solid var(--ks-color-line); border-radius:.65rem; background:#fff; }
.ks-price-choices .is-recommended { border-color:var(--ks-color-accent); background:#f4faf2; }
.ks-price-choices small { color:var(--ks-color-body); font-size:.8rem; font-weight:800; }
.ks-price-choices strong { color:var(--ks-color-ink); font-family:var(--ks-font-display); font-size:1.45rem; }
.ks-price-choices em { color:var(--ks-color-muted); font-size:.78rem; font-style:normal; line-height:1.35; }
:where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #237c25 !important; outline-offset:3px !important; }
@media (max-width: 921px) {
  .ks-home__eyebrow,.ks-page-kicker,.ks-product-kicker,.ks-product-eyebrow,.ks-home__badge { font-size:12px !important; }
  .ks-home__disclaimer,.ks-page-disclaimer,.ks-results-disclaimer,.ks-home__quote cite,.ks-home__quote-card cite { font-size:14px !important; line-height:1.5; }
  .ks-home__hero { min-height:auto !important; }
}
@media (max-width: 560px) { .ks-price-choices { grid-template-columns:1fr; } }

/* Accessible offer comparison. */
.ks-home__comparison{margin-top:clamp(2.5rem,5vw,4.5rem);padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--ks-color-line);border-radius:var(--ks-radius-lg);background:var(--ks-color-canvas)}
.ks-home__comparison-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.25rem}
.ks-home__comparison-heading h3{max-width:42rem;margin:0;font-size:clamp(1.65rem,2.6vw,2.35rem)}
.ks-home__comparison-scroll{overflow-x:auto;border:1px solid var(--ks-color-line);border-radius:var(--ks-radius-md);background:#fff}
.ks-home__comparison table{width:100%;min-width:46rem;margin:0;border-collapse:collapse}
.ks-home__comparison th,.ks-home__comparison td{padding:1rem;text-align:left;vertical-align:middle;border:0;border-bottom:1px solid var(--ks-color-line)}
.ks-home__comparison thead th{background:#18211b;color:#fff;font-size:.82rem;letter-spacing:.02em}
.ks-home__comparison tbody th{width:26%;color:var(--ks-color-ink);font-size:.86rem;font-weight:800}
.ks-home__comparison td{color:var(--ks-color-body);font-size:.88rem}
.ks-home__comparison tbody tr:last-child :is(th,td){border-bottom:0}
.ks-home__comparison .ks-yes{color:#237c25;font-weight:850}
@media(max-width:767px){.ks-home__comparison-heading{display:block}.ks-home__comparison-heading h3{margin-top:.4rem}.ks-home__comparison{padding:1rem}.ks-home__comparison-scroll{margin-inline:-.2rem}}

/* Offer comparison — balanced premium layout and reliable responsive scroll. */
.ks-home__comparison{
  margin-top:clamp(2.75rem,6vw,5rem);
  padding:clamp(1.5rem,4vw,3rem);
  overflow:hidden;
  background:linear-gradient(145deg,#f7faf6 0%,#f1f5f0 100%);
  box-shadow:0 20px 60px rgba(24,33,27,.07);
}
.ks-home__comparison-heading{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  max-width:48rem;
  margin:0 auto clamp(1.5rem,3vw,2.25rem);
  text-align:center;
}
.ks-home__comparison-heading .ks-home__eyebrow{margin:0}
.ks-home__comparison-heading h3{
  max-width:42rem;
  margin:0;
  text-wrap:balance;
  line-height:1.04;
}
.ks-home__comparison-scroll{
  width:100%;
  overflow-x:auto;
  border-color:rgba(24,33,27,.14);
  box-shadow:0 10px 32px rgba(24,33,27,.06);
  scrollbar-width:thin;
  scrollbar-color:#4abf35 #edf2ec;
}
.ks-home__comparison table{table-layout:fixed;min-width:50rem}
.ks-home__comparison thead th:first-child,
.ks-home__comparison tbody th{width:26%}
.ks-home__comparison thead th:not(:first-child),
.ks-home__comparison tbody td{width:24.666%}
.ks-home__comparison th,
.ks-home__comparison td{padding:1.1rem 1rem}
.ks-home__comparison tbody tr:nth-child(even){background:#fbfcfb}
.ks-home__comparison tbody tr{transition:background-color .18s ease}
.ks-home__comparison tbody tr:hover{background:#f2f8f0}
.ks-home__comparison thead th:nth-child(3){background:#223128}
.ks-home__comparison tbody :is(td,th):nth-child(3){box-shadow:inset 1px 0 rgba(74,191,53,.18),inset -1px 0 rgba(74,191,53,.18)}
@media(max-width:767px){
  .ks-home__comparison{padding:1.25rem 1rem;border-radius:1rem}
  .ks-home__comparison-heading{display:flex;margin-bottom:1.25rem;text-align:left;align-items:flex-start}
  .ks-home__comparison-heading h3{margin:0;font-size:clamp(1.7rem,8vw,2.25rem)}
  .ks-home__comparison-scroll{margin:0;border-radius:.8rem}
  .ks-home__comparison table{min-width:47rem}
  .ks-home__comparison th,.ks-home__comparison td{padding:.9rem .8rem}
  .ks-home__comparison thead th:first-child,
  .ks-home__comparison tbody th{
    position:sticky;
    left:0;
    z-index:2;
    width:10.5rem;
    background:#fff;
    box-shadow:8px 0 16px rgba(24,33,27,.05);
  }
  .ks-home__comparison thead th:first-child{z-index:3;background:#18211b}
.ks-home__comparison tbody tr:nth-child(even) th{background:#fbfcfb}
}

/* Billing periods belong in the service headings; price cells stay compact. */
.ks-home__comparison .ks-compare-periods {
  display:block;
  margin-top:.28rem;
  color:rgba(255,255,255,.68);
  font-size:.72rem;
  font-weight:650;
  letter-spacing:0;
  white-space:nowrap;
}
.ks-home__comparison tbody tr:first-child td { font-weight:750; white-space:nowrap; }

/* Keep every service-product header identical to the global site header. */
.postid-5033 #ast-fixed-header{
  display:none!important;
}

/* Results remain a sales block on the pages, but are intentionally omitted from navigation. */
.ks-menu-results{display:none!important}

.ks-contact-privacy-note{margin:.75rem 0 0;color:var(--ks-color-muted);font-size:.86rem;line-height:1.55}
.ks-contact-privacy-note a{color:var(--ks-color-accent-hover);font-weight:750;text-decoration:underline;text-underline-offset:.16em}

/* Respect operating-system motion preferences without changing the default design. */
@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior:auto !important; }
  *, *::before, *::after {
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}

/* Astra 4.13.8 may output the same desktop above-header row twice on products. */
.ks-service-product #masthead > #ast-desktop-header > .ast-above-header-wrap + .ast-above-header-wrap {
  display:none !important;
}

/* Certificates must remain legible on phones, not merely fit the viewport. */
@media (max-width:560px) {
  .ks-b4-certs.wp-block-gallery.has-nested-images figure.wp-block-image {
    width:100% !important;
    flex:0 0 100% !important;
  }
  .ks-b4-certs.wp-block-gallery.has-nested-images figure.wp-block-image img {
    width:100% !important;
    height:auto !important;
    aspect-ratio:1024 / 724;
    object-fit:cover;
  }
}

/* The variation can be changed directly in the select; a large reset CTA is noise. */
.ks-premium-system.ks-service-product form.cart a.reset_variations {
  display:none !important;
}

/* The Astra sticky clone becomes an empty in-flow row on mobile products. */
@media (max-width:921px) {
  .ks-service-product:not(.postid-4592) #ast-fixed-header {
    display:none !important;
  }
}

/* About v4: the editor markup needs its own layout contract. */
.ks-about-v4 {
  overflow:hidden;
  background:#fff;
  color:var(--ks-color-body);
}
.ks-about-v4 * { box-sizing:border-box; }
.ks-about-v4 :where(.ks-b4-hero,.ks-b4-story,.ks-b4-standard,.ks-b4-process,.ks-b4-credentials,.ks-b4-final) {
  margin:0;
}
.ks-about-v4 .ks-b4-wrap,
.ks-about-v4 .ks-b4-standard,
.ks-about-v4 .ks-b4-credentials,
.ks-about-v4 .ks-b4-final {
  width:min(calc(100% - 4rem), 1200px);
  max-width:1200px;
  margin-inline:auto;
}
.ks-about-v4 .ks-b4-kicker {
  margin:0 0 .75rem;
  color:var(--ks-color-accent-hover);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.ks-about-v4 .ks-b4-hero {
  padding:clamp(3rem,6vw,5rem) 0;
  border-bottom:1px solid var(--ks-color-line);
  background:linear-gradient(135deg,#f6f8f4,#fff 58%,#edf5ea);
}
.ks-about-v4 .ks-b4-hero__grid {
  display:grid !important;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  align-items:center;
  gap:clamp(2rem,5vw,5rem);
}
.ks-about-v4 .ks-b4-photo { margin:0; }
.ks-about-v4 .ks-b4-photo img {
  display:block;
  width:100%;
  aspect-ratio:1 / 1;
  border-radius:2.5rem;
  object-fit:cover;
}
.ks-about-v4 .ks-b4-photo figcaption {
  margin-top:.75rem;
  color:var(--ks-color-muted);
  font-size:.82rem;
}
.ks-about-v4 .ks-b4-hero__copy h1 {
  max-width:13ch;
  margin:0 0 1.25rem;
  font-size:clamp(3rem,5.1vw,5.25rem);
  line-height:.96;
  text-wrap:balance;
}
.ks-about-v4 .ks-b4-lead {
  max-width:42rem;
  margin:0 0 1.4rem;
  color:var(--ks-color-body);
  font-size:1.05rem;
  line-height:1.65;
}
.ks-about-v4 .ks-b4-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.8rem;
  margin:0;
}
.ks-about-v4 .ks-b4-proof {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem;
  margin-top:1.5rem;
}
.ks-about-v4 .ks-b4-proof p { margin:0; }
.ks-about-v4 .ks-b4-proof strong { display:block; color:var(--ks-color-ink); }
.ks-about-v4 .ks-b4-proof small { color:var(--ks-color-muted); line-height:1.45; }
.ks-about-v4 .ks-b4-story,
.ks-about-v4 .ks-b4-process {
  padding:clamp(4rem,7vw,6.5rem) 0;
}
.ks-about-v4 .ks-b4-story { background:var(--ks-color-canvas); }
.ks-about-v4 .ks-b4-story__grid,
.ks-about-v4 .ks-b4-process__grid {
  display:grid !important;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  align-items:start;
  gap:clamp(3rem,7vw,7rem);
}
.ks-about-v4 :where(.ks-b4-story__grid,.ks-b4-process__grid) h2 {
  max-width:14ch;
  margin:0;
  font-size:clamp(2.4rem,4vw,4rem);
  line-height:1.02;
  text-wrap:balance;
}
.ks-about-v4 .ks-b4-story__text { display:grid; gap:1.25rem; }
.ks-about-v4 .ks-b4-story__text p,
.ks-about-v4 .ks-b4-process__grid > .wp-block-column:last-child p { margin:0; }
.ks-about-v4 .ks-b4-big { color:var(--ks-color-ink); font-size:1.08rem; line-height:1.65; }
.ks-about-v4 .ks-b4-story blockquote {
  margin:.25rem 0 0;
  padding:1rem 0 1rem 1.25rem;
  border-left:3px solid var(--ks-color-accent);
  color:var(--ks-color-body);
}
.ks-about-v4 .ks-b4-standard { padding:clamp(3.5rem,6vw,5.5rem) 0; }
.ks-about-v4 .ks-b4-cards {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:1rem;
}
.ks-about-v4 .ks-b4-cards > .wp-block-column {
  margin:0;
  padding:clamp(1.4rem,2.5vw,2rem);
  border:1px solid var(--ks-color-line);
  border-radius:var(--ks-radius-lg);
  background:#fff;
}
.ks-about-v4 .ks-b4-cards h3 { margin:0 0 .75rem; font-size:1.55rem; }
.ks-about-v4 .ks-b4-cards p { margin:0; }
.ks-about-v4 .ks-b4-process { background:var(--ks-color-charcoal); color:rgba(255,255,255,.75); }
.ks-about-v4 .ks-b4-process :where(h2,h3) { color:#fff; }
.ks-about-v4 .ks-b4-process .ks-b4-kicker { color:#87da76; }
.ks-about-v4 .ks-b4-process h3 { margin:0 0 .55rem; font-size:1.7rem; }
.ks-about-v4 .ks-b4-process hr { margin:1.5rem 0; border:0; border-top:1px solid rgba(255,255,255,.16); }
.ks-about-v4 .ks-b4-credentials { padding:clamp(3.5rem,6vw,5.5rem) 0; }
.ks-about-v4 .ks-b4-certs {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin:0;
}
.ks-about-v4 .ks-b4-certs figure.wp-block-image { width:auto !important; margin:0 !important; }
.ks-about-v4 .ks-b4-certs img {
  display:block;
  width:100% !important;
  height:auto !important;
  aspect-ratio:1024 / 724;
  border:1px solid var(--ks-color-line);
  border-radius:var(--ks-radius-md);
  object-fit:contain;
}
.ks-about-v4 .ks-b4-final { padding:0 0 clamp(4rem,7vw,6rem); }
.ks-about-v4 .ks-b4-actions--center { justify-content:center; }

@media (max-width:767px) {
  .ks-about-v4 .ks-b4-wrap,
  .ks-about-v4 .ks-b4-standard,
  .ks-about-v4 .ks-b4-credentials,
  .ks-about-v4 .ks-b4-final { width:min(calc(100% - 2rem), 1200px); }
  .ks-about-v4 .ks-b4-hero { padding-block:2.5rem 3.5rem; }
  .ks-about-v4 .ks-b4-hero__grid,
  .ks-about-v4 .ks-b4-story__grid,
  .ks-about-v4 .ks-b4-process__grid { grid-template-columns:1fr; gap:2rem; }
  .ks-about-v4 .ks-b4-photo { max-width:32rem; margin-inline:auto; }
  .ks-about-v4 .ks-b4-hero__copy h1 { max-width:14ch; font-size:clamp(2.65rem,11vw,4.2rem); }
  .ks-about-v4 .ks-b4-proof { gap:.75rem; }
  .ks-about-v4 .ks-b4-cards { grid-template-columns:1fr; }
  .ks-about-v4 .ks-b4-certs { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:560px) {
  .ks-about-v4 .ks-b4-actions,
  .ks-about-v4 .ks-b4-actions .wp-block-button,
  .ks-about-v4 .ks-b4-actions .wp-block-button__link { width:100%; }
  .ks-about-v4 .ks-b4-proof { grid-template-columns:1fr; }
  .ks-about-v4 .ks-b4-proof > .wp-block-column { padding-top:.75rem; border-top:1px solid var(--ks-color-line); }
  .ks-about-v4 .ks-b4-certs { grid-template-columns:1fr; }
}



/* Keep service product pages from rendering the unstyled WooCommerce related-products rail. */
.ks-service-product :where(.related,.up-sells,ul.products,.ast-woocommerce-related-upsell-list){display:none!important;}
.ks-service-product :where(.related-products,.woocommerce-related-products){display:none!important;}


/* Product header must use the same ink color for navigation and cart. */
.ks-service-product .site-header :where(.menu-link,.ast-site-header-cart,.ast-cart-menu-link,.ast-icon,.ast-woo-header-cart-info-wrap){color:var(--ks-color-ink)!important;}
.ks-service-product .site-header .ast-site-header-cart .ast-icon-cart{color:var(--ks-color-ink)!important;}
.ks-service-product .site-header .ast-site-header-cart svg{fill:var(--ks-color-ink)!important;color:var(--ks-color-ink)!important;}


/* Apply the product layout consistently to newly added WooCommerce products too. */
body.single-product :where(.related,.up-sells,.woocommerce-related-products,.ast-woocommerce-related-upsell-list,ul.products){display:none!important;}
body.single-product .site-header :where(.menu-link,.ast-site-header-cart,.ast-cart-menu-link,.ast-icon,.ast-woo-header-cart-info-wrap){color:var(--ks-color-ink)!important;}
body.single-product .site-header .ast-site-header-cart svg{fill:var(--ks-color-ink)!important;color:var(--ks-color-ink)!important;}


/* Related products: restore section and keep cards inside the product container. */
body.single-product .related{display:block!important;width:100%;max-width:100%;overflow:hidden;}
body.single-product .related>h2{margin:0 0 1.5rem;}
body.single-product .related ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:100%;max-width:100%;margin:0;padding:0;overflow:hidden;}
body.single-product .related ul.products li.product{float:none!important;width:auto!important;min-width:0;margin:0!important;}
body.single-product .related ul.products li.product a{min-width:0;overflow:hidden;}
body.single-product .related ul.products li.product .woocommerce-loop-product__title{font-size:clamp(.9rem,1.1vw,1.1rem);line-height:1.2;overflow-wrap:anywhere;}
body.single-product .related ul.products li.product .price{font-size:.95rem;white-space:normal;}
@media(max-width:700px){body.single-product .related ul.products{grid-template-columns:1fr 1fr;gap:.75rem;}}


/* Product flow: description first, related products below it. */
body.single-product .related{grid-column:1 / -1!important;grid-row:auto!important;order:30!important;width:100%!important;max-width:100%!important;margin-top:clamp(2rem,5vw,5rem)!important;clear:both;}
body.single-product .related>h2{width:min(calc(100% - 2rem),var(--ks-content));margin:0 auto 1.5rem!important;}
body.single-product .related ul.products{width:min(calc(100% - 2rem),var(--ks-content))!important;margin-inline:auto!important;}
@media(min-width:48rem){body.single-product .ks-product-content{grid-column:1 / -1!important;order:20!important;}body.single-product .related{order:30!important;}}

/* Archive cards: product image click must open product, never add it to cart. */
.woocommerce ul.products li.product .ast-on-card-button{display:none!important;pointer-events:none!important}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link{position:relative!important;z-index:2!important}

/* Override Astra's important quick-add overlay on archive thumbnails. */
body.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .ast-on-card-button{display:none!important;visibility:hidden!important;pointer-events:none!important}
