/* =========================================================================
   peptidelab — clean light "clinical / lab" design layer
   Component-level styling on top of Blocksy. Product-neutral.
   Palette pulled from the Peptide Lab logo (navy + electric blue + azure).
   Refined: pure-white ground, azure (תכלת) secondary accent, mono prices.
   ========================================================================= */

:root {
  --pl-accent: #1f6feb;        /* primary blue (links, buttons)   */
  --pl-accent-strong: #1657c9; /* hover / press                   */
  --pl-azure: #2ea6e6;         /* תכלת — secondary accent          */
  --pl-azure-soft: #e4f4fd;    /* azure tint                       */
  --pl-ink: #0f1d33;           /* headings / deep navy            */
  --pl-body: #46566b;          /* body text                       */
  --pl-muted: #8593a4;         /* secondary text                  */
  --pl-line: #e8edf3;          /* hairline borders                */
  --pl-surface: #ffffff;       /* cards                           */
  --pl-bg: #ffffff;            /* page background — pure white     */
  --pl-bg-soft: #eaf4fd;       /* image / soft area (azure tint)   */
  --pl-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;
}

/* Blocksy's light-grey neutrals (color-6 #f2f5f7, color-7 #FAFBFC) paint the
   page canvas and footer. Force them to pure white per the requested look.
   html:root out-specifies Blocksy's own :root defaults regardless of load order. */
html:root{
  --theme-palette-color-6: #ffffff !important;
  --theme-palette-color-7: #ffffff !important;
}

/* ---- base / typography ---- */
body {
  background: var(--pl-bg);
  color: var(--pl-body);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4,
.entry-title, .product_title,
.woocommerce-loop-product__title,
.wp-block-post-title {
  color: var(--pl-ink);
  font-weight: 500;
  letter-spacing: -0.01em;
}
a { color: var(--pl-accent); }
a:hover { color: var(--pl-accent-strong); }

/* keyboard focus — azure ring */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible,
.button:focus-visible, .ct-header a:focus-visible {
  outline: 2px solid var(--pl-azure);
  outline-offset: 2px;
  border-radius: 6px;
}

/* ---- header ---- */
.ct-header [data-row="middle"] {
  background: #fff;
  box-shadow: 0 1px 0 var(--pl-line);
}

/* ---- shop header: title, count, sort ---- */
.woocommerce .woocommerce-result-count { color: var(--pl-muted); }
.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby {
  border: 1px solid var(--pl-line);
  border-radius: 10px;
  padding: 0.6em 2.2em 0.6em 0.9em;
  background-color: #fff;
  color: var(--pl-body);
  box-shadow: 0 1px 2px rgba(16, 29, 51, 0.04);
}

/* ---- product cards ---- */
.woocommerce ul.products { gap: 26px 22px; }
.woocommerce ul.products li.product {
  background: var(--pl-surface) !important;
  border: 1px solid var(--pl-line) !important;
  border-radius: 16px !important;
  padding: 16px 16px 20px !important;
  margin: 0 !important;
  transition: box-shadow .22s ease, transform .22s ease, border-color .22s ease;
}
.woocommerce ul.products li.product:hover {
  box-shadow: 0 18px 40px -20px rgba(20, 45, 90, 0.28);
  transform: translateY(-4px);
  border-color: #cfe1f4 !important;
}
.woocommerce ul.products li.product a img {
  background: #fff;                       /* white-bg product photos blend cleanly */
  border: 1px solid var(--pl-line);
  border-radius: 12px;
  margin-bottom: 14px;
  padding: 8px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 15px;
  line-height: 1.4;
  padding: 2px 0 6px;
}
.woocommerce ul.products li.product .price { color: var(--pl-ink); font-weight: 600; }
.woocommerce ul.products li.product .price del { color: var(--pl-muted); font-weight: 400; opacity: 1; }
.woocommerce ul.products li.product .price ins { color: var(--pl-accent); text-decoration: none; }

/* prices read as "instrument data": mono + tabular figures */
.woocommerce-Price-amount,
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--pl-mono);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* ---- sale badge ---- */
.woocommerce span.onsale {
  background: var(--pl-azure-soft);
  color: var(--pl-accent-strong);
  border: 1px solid #cfe6fa;
  border-radius: 999px;
  box-shadow: none;
  font-weight: 600;
  min-height: 0;
  min-width: 0;
  padding: 4px 12px;
  line-height: 1.4;
}

/* ---- buttons: blue → azure gradient (blue + תכלת) ---- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce ul.products li.product a.button,
.woocommerce #respond input#submit,
.woocommerce div.product form.cart .button {
  background: linear-gradient(135deg, var(--pl-accent) 0%, #2f9fe6 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 11px !important;
  padding: 0.75em 1.5em !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
  box-shadow: 0 8px 20px -8px rgba(31, 111, 235, 0.55);
  transition: filter .18s ease, box-shadow .18s ease, transform .06s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce ul.products li.product a.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce div.product form.cart .button:hover {
  filter: brightness(0.94) saturate(1.05);
  color: #fff !important;
  box-shadow: 0 12px 26px -8px rgba(31, 111, 235, 0.6);
}
.woocommerce a.button:active,
.woocommerce button.button:active { transform: translateY(1px); }
.woocommerce a.added_to_cart {
  color: var(--pl-accent);
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  margin-inline-start: 8px;
}

/* ---- single product ---- */
.woocommerce div.product .product_title { font-size: 30px; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--pl-ink); font-weight: 600; }
.single-product .summary .stock.in-stock { color: #1a8f5a; }

/* ---- inputs ---- */
.woocommerce form .form-row input.input-text,
.woocommerce .quantity input,
.select2-container--default .select2-selection--single,
input[type="text"], input[type="email"], input[type="tel"], select, textarea {
  border: 1px solid var(--pl-line) !important;
  border-radius: 10px !important;
  background: #fff !important;
}

/* ---- footer ---- */
.ct-footer { border-top: 1px solid var(--pl-line); }

/* ---- homepage hero (shop front page) ---- */
.pl-hero {
  position: relative;
  margin: 0 0 2.4rem;
  border: 1px solid var(--pl-line);
  border-radius: 20px;
  overflow: hidden;
  background:
    radial-gradient(120% 150% at 88% 6%, rgba(51, 177, 236, 0.16), transparent 58%),
    linear-gradient(180deg, #f3faff, #ffffff);
}
.pl-hero__in {
  display: grid;
  gap: 1.4rem;
  align-items: center;
  padding: clamp(1.6rem, 4vw, 3rem);
}
@media (min-width: 820px) {
  .pl-hero__in { grid-template-columns: 1.15fr 0.85fr; }
}
.pl-hero__eyebrow {
  font-size: 0.72rem; font-weight: 600; letter-spacing: 0.2em;
  color: var(--pl-accent); text-transform: uppercase;
}
.pl-hero__title {
  font-size: clamp(2rem, 4.6vw, 3.2rem); line-height: 1.12;
  color: var(--pl-ink); margin: 0.55rem 0 0; letter-spacing: -0.02em; font-weight: 700;
}
.pl-hero__title em { font-style: normal; color: var(--pl-accent); }
.pl-hero__lead {
  font-size: 1.06rem; color: var(--pl-body); max-width: 36ch; margin: 0.9rem 0 1.4rem;
}
.pl-hero__cta {
  display: inline-block; color: #fff !important;
  background: linear-gradient(135deg, var(--pl-accent), #2f9fe6);
  padding: 0.8rem 1.7rem; border-radius: 11px; font-weight: 600;
  box-shadow: 0 10px 24px -10px rgba(31, 111, 235, 0.55);
  transition: filter 0.18s ease;
}
.pl-hero__cta:hover { filter: brightness(0.94); color: #fff !important; }
.pl-hero__logo {
  justify-self: center; width: min(320px, 78vw);
  background: #fff; border: 1px solid var(--pl-line); border-radius: 22px;
  padding: clamp(1rem, 3vw, 1.8rem);
  box-shadow: 0 22px 42px -22px rgba(13, 42, 78, 0.18);
  display: grid; place-items: center;
}
.pl-hero__logo img { width: 100%; height: auto; display: block; }
/* the hero carries the branding, so hide Blocksy's plain shop page title */
.woocommerce-shop .entry-header,
body.home .entry-header { display: none !important; }

/* ---- larger header logo ---- */
.site-logo-container img,
.site-logo-container img.default-logo { max-height: 90px !important; width: auto !important; }

/* ---- homepage assurance band (under the hero) ---- */
.pl-assure {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px;
  background: var(--pl-line); border: 1px solid var(--pl-line);
  border-radius: 16px; overflow: hidden; margin: 0 0 2.4rem;
}
@media (min-width: 820px) { .pl-assure { grid-template-columns: repeat(4, 1fr); } }
.pl-assure .cell { background: #fff; padding: 1.05rem 1.2rem; display: flex; gap: 0.7rem; align-items: center; }
.pl-assure .cell svg { width: 22px; height: 22px; color: var(--pl-accent); flex: 0 0 auto; }
.pl-assure .cell b { display: block; color: var(--pl-ink); font-weight: 600; font-size: 0.95rem; }
.pl-assure .cell span { font-size: 0.8rem; color: var(--pl-muted); }

/* ---- FAQ page accordions ---- */
.pl-faq { max-width: 820px; margin-inline: auto; display: flex; flex-direction: column; gap: 0.7rem; }
.pl-faq__item { border: 1px solid var(--pl-line); border-radius: 14px; background: #fff; overflow: hidden; }
.pl-faq__item summary {
  cursor: pointer; list-style: none; padding: 1.05rem 1.3rem; font-weight: 600;
  color: var(--pl-ink); display: flex; justify-content: space-between; align-items: center;
  gap: 1rem; font-size: 1.05rem;
}
.pl-faq__item summary::-webkit-details-marker { display: none; }
.pl-faq__item summary::after { content: "+"; color: var(--pl-accent); font-size: 1.5rem; line-height: 1; font-weight: 400; transition: transform 0.2s ease; }
.pl-faq__item[open] summary::after { transform: rotate(45deg); }
.pl-faq__a { padding: 0 1.3rem 1.2rem; color: var(--pl-body); line-height: 1.75; }
.pl-faq__a p { margin: 0.2rem 0; }

/* ---- RTL header: nav on the right, next to the logo (Blocksy default pushed it left) ---- */
[data-device="desktop"] [data-row="middle"] > .ct-container {
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: clamp(1.4rem, 4vw, 3rem);
}
[data-device="desktop"] [data-row="middle"] > .ct-container > [data-column] {
  width: auto !important;
}
[data-device="desktop"] [data-row="middle"] .header-menu-1 > .menu {
  gap: clamp(1rem, 2.4vw, 2rem);
}

/* ---- single product: smaller gallery image ---- */
.single-product div.product .woocommerce-product-gallery {
  text-align: center;
  width: 40% !important;
  max-width: 440px !important;
}
.single-product div.product .entry-summary,
.single-product div.product .summary { width: 55% !important; }
/* hard cap the image itself so it shrinks regardless of Blocksy's column layout */
.single-product div.product .woocommerce-product-gallery__image img,
.single-product div.product .woocommerce-product-gallery__wrapper img,
.single-product div.product .woocommerce-product-gallery img {
  max-width: 340px !important;
  height: auto !important;
  margin-inline: auto !important;
}

/* ---- restored from shared notes: unify heading font to Heebo (--pl-font) ---- */
h1, h2, h3, h4, h5, h6,
.entry-title, .page-title, .wp-block-post-title,
.product_title, .woocommerce-loop-product__title {
  font-family: var(--pl-font) !important;
}

/* ---- restored from shared notes: WhatsApp (Joinchat) button in brand blue ---- */
.joinchat__button { background: #25d366 var(--joinchat-ico) 50%/60% no-repeat !important; }

/* ---- Joinchat WhatsApp launcher: lock to WhatsApp green everywhere ----
   The free plugin outputs its custom button color via a deferred, cache-
   sensitive inline style; on the shop page that leaked the site accent (blue).
   Pin the Joinchat color vars to WhatsApp green so the launcher, its hover
   state and the chat box stay green on every page, with no blue flicker. */
.joinchat { --ch: 142 !important; --cs: 70% !important; --cl: 49% !important; }


/* ---- per-product research content in the "מידע נוסף" tab ---- */
.pl-moreinfo { max-width: 860px; line-height: 1.85; color: var(--pl-body); }
.pl-moreinfo > *:first-child { margin-top: 0; }
.pl-moreinfo p { margin: 0 0 1rem; }
.pl-moreinfo strong { color: var(--pl-ink); font-weight: 600; }
.pl-moreinfo .pl-moreinfo__label { color: var(--pl-ink); font-weight: 600; margin: 1.5rem 0 0.5rem; }
.pl-moreinfo ul { margin: 0 0 1.15rem; padding: 0; list-style: none; }
.pl-moreinfo ul li { position: relative; margin: 0 0 0.55rem; padding-inline-start: 1.2rem; }
.pl-moreinfo ul li::before { content: ""; position: absolute; inset-inline-start: 0; top: 0.72em; width: 6px; height: 6px; border-radius: 50%; background: var(--pl-accent); }
.pl-moreinfo a { color: var(--pl-accent); text-decoration: none; border-bottom: 1px solid rgba(31,111,235,.35); word-break: break-word; }
.pl-moreinfo a:hover { color: var(--pl-accent-strong); border-bottom-color: currentColor; }
