/* Herbawell — strony i stany brzegowe (O mnie / Kontakt / Landing / Legal / 404 / Wyszukiwanie).
   1:1 z makiety Premium; kolory/fonty przez var(--hw-*); zero zaokrągleń i cieni.
   Wszystkie gridy: repeat(N, minmax(0,1fr)) — inaczej treść rozpycha siatkę ponad 390px. */

/* Wspólny nagłówek H1 stron */
.hw-about__h1,
.hw-contact__h1,
.hw-landing__h1,
.hw-legal__h1,
.hw-nf__h1 {
  margin: 0;
  font-family: var(--hw-font);
  font-weight: 500;
  letter-spacing: -.02em;
  color: var(--hw-green);
}

.hw-btn--brass:hover { background: var(--hw-brass); color: var(--hw-green); }

/* ================================================================
   O MNIE
   ================================================================ */
.hw-about { max-width: 1440px; margin-inline: auto; padding-bottom: 96px; }

.hw-about__hero { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 620px; }
.hw-about__hero-text { display: flex; flex-direction: column; justify-content: center; gap: 24px; padding: 80px 72px; }
.hw-about__eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--hw-brass-dark); }
.hw-about__h1 { font-size: 64px; line-height: .98; }
.hw-about__lead { margin: 0; max-width: 440px; font-size: 17px; line-height: 1.8; color: #3B4A41; }
.hw-about__lead--sm { font-size: 15px; color: var(--hw-text-soft); }
.hw-about__hero-actions { display: flex; gap: 12px; margin-top: 8px; flex-wrap: wrap; }
.hw-about__hero-media { background: var(--hw-sage); position: relative; }
.hw-about__portrait { position: absolute; inset: 48px; }

.hw-about__facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(16, 38, 28, .14);
  border-bottom: 1px solid rgba(16, 38, 28, .14);
}
.hw-about__fact { display: flex; flex-direction: column; gap: 8px; padding: 28px 26px; border-right: 1px solid rgba(16, 38, 28, .1); }
.hw-about__fact:last-child { border-right: 0; }
.hw-about__fact-k { font-family: var(--hw-font); font-size: 34px; font-weight: 500; color: var(--hw-green); letter-spacing: -.01em; }
.hw-about__fact-v { font-size: 12.5px; line-height: 1.6; color: var(--hw-text-soft); }

.hw-about__section { padding-top: 80px; }
.hw-about__section-title { margin: 0; padding-bottom: 26px; border-bottom: 1px solid rgba(16, 38, 28, .14); font-family: var(--hw-font); font-size: 42px; font-weight: 500; letter-spacing: -.015em; color: var(--hw-green); }
.hw-about__story { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hw-about__story-cell { display: flex; flex-direction: column; gap: 14px; padding: 34px 32px; border-right: 1px solid rgba(16, 38, 28, .1); border-bottom: 1px solid rgba(16, 38, 28, .1); }
.hw-about__story-cell:last-child { border-right: 0; }
.hw-about__story-num { font-family: var(--hw-font); font-size: 28px; font-weight: 500; color: var(--hw-brass-dark); }
.hw-about__story-h { font-family: var(--hw-font); font-size: 24px; font-weight: 500; color: var(--hw-green); }
.hw-about__story-t { margin: 0; font-size: 14.5px; line-height: 1.8; color: var(--hw-text-soft); }

.hw-about__rules { display: grid; grid-template-columns: .9fr 1.1fr; gap: 56px; margin-top: 80px; padding-top: 52px; padding-bottom: 52px; border-top: 1px solid rgba(16, 38, 28, .14); border-bottom: 1px solid rgba(16, 38, 28, .14); }
.hw-about__rules-title { margin: 0; font-family: var(--hw-font); font-size: 40px; font-weight: 500; letter-spacing: -.015em; color: var(--hw-green); line-height: 1.05; }
.hw-about__rules-list { display: flex; flex-direction: column; }
.hw-about__rule { padding: 20px 0; border-top: 1px solid var(--hw-line); font-size: 16.5px; line-height: 1.7; color: #3B4A41; }

.hw-about__cta { margin-top: 80px; }
.hw-about__cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 44px; background: var(--hw-green); }
.hw-about__cta-text { display: flex; flex-direction: column; gap: 10px; }
.hw-about__cta-h { font-family: var(--hw-font); font-size: 34px; font-weight: 500; color: var(--hw-bone); line-height: 1.1; }
.hw-about__cta-sub { font-size: 14.5px; color: #A9B8AC; }

/* ================================================================
   O HERBALIFE (prefiks hw-abh)
   ================================================================ */
.hw-abh { max-width: 1440px; margin-inline: auto; padding-bottom: 96px; }
.hw-abh__eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--hw-brass-dark); }
.hw-abh__section-title { margin: 0 0 40px; padding-bottom: 26px; border-bottom: 1px solid rgba(16, 38, 28, .14); font-family: var(--hw-font); font-size: 42px; font-weight: 500; letter-spacing: -.015em; color: var(--hw-green); }

/* A. HERO */
.hw-abh__hero { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 520px; }
.hw-abh__hero-text { display: flex; flex-direction: column; justify-content: center; gap: 20px; padding: 80px 72px; }
.hw-abh__h1 { margin: 0; font-family: var(--hw-font); font-weight: 500; letter-spacing: -.02em; color: var(--hw-green); font-size: 54px; line-height: 1.03; }
.hw-abh__lead { margin: 0; max-width: 460px; font-size: 17px; line-height: 1.8; color: #3B4A41; }
.hw-abh__note { margin: 4px 0 0; max-width: 460px; font-size: 12.5px; line-height: 1.7; color: var(--hw-text-muted); }
.hw-abh__hero-actions { display: flex; gap: 12px; margin-top: 8px; flex-wrap: wrap; }
.hw-abh__hero-media { background: var(--hw-sage); position: relative; overflow: hidden; }
.hw-abh__hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* Wstęp pod hero */
.hw-abh__intro { padding-top: 72px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.hw-abh__intro-p { margin: 0; font-size: 15px; line-height: 1.8; color: var(--hw-text-soft); }

/* B. Pasek statystyk — ciemnozielony band z wielkimi liczbami (referencja: herbalife.com „2025 w skrócie"). */
.hw-abh__stats-wrap { padding-top: 76px; }
.hw-abh__stats-title { margin: 0 0 24px; font-family: var(--hw-font); font-size: 28px; font-weight: 500; letter-spacing: -.01em; color: var(--hw-green); }
.hw-abh__facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; padding: 52px 48px 34px; background: var(--hw-green); }
.hw-abh__fact { display: flex; flex-direction: column; gap: 12px; }
.hw-abh__fact-k { font-family: var(--hw-font); font-size: 42px; font-weight: 500; color: #F7F5F0; letter-spacing: -.02em; line-height: 1.05; }
.hw-abh__fact-v { font-size: 13.5px; line-height: 1.6; color: rgba(247, 245, 240, .82); }
.hw-abh__facts-note { margin: 0; padding: 18px 48px 40px; background: var(--hw-green); box-shadow: inset 0 1px 0 rgba(247, 245, 240, .28); font-size: 11.5px; line-height: 1.6; color: rgba(247, 245, 240, .6); }

/* B2. Film */
.hw-abh__video { padding-top: 80px; }
.hw-abh__video-player { display: block; width: 100%; background: #000; }

/* C. Naprzemienne sekcje media+tekst */
.hw-abh__media { padding-top: 80px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; align-items: center; }
.hw-abh__media--rev .hw-abh__media-frame { order: 2; }
/* Zdjęcia w pełnej wysokości (bez kadrowania — decyzja właściciela 2026-08-28); ratio tylko dla placeholdera. */
.hw-abh__media-frame { position: relative; overflow: hidden; background: var(--hw-sage); }
.hw-abh__media-frame:not(:has(img)) { aspect-ratio: 4 / 3; }
.hw-abh__media-frame img { display: block; width: 100%; height: auto; }
.hw-abh__media-text { display: flex; flex-direction: column; gap: 16px; }
.hw-abh__media-title { margin: 0; font-family: var(--hw-font); font-size: 34px; font-weight: 500; letter-spacing: -.015em; color: var(--hw-green); line-height: 1.1; }
.hw-abh__media-sub { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--hw-brass-dark); }
.hw-abh__media-p { margin: 0; font-size: 15px; line-height: 1.8; color: var(--hw-text-soft); }

/* D. Innowacje (2 kolumny) */
.hw-abh__innov { padding-top: 80px; }
.hw-abh__innov-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; }
.hw-abh__innov-col { margin: 0; font-size: 15px; line-height: 1.8; color: var(--hw-text-soft); }

/* E. Wellness (wstęp + 3 kolumny 01/02/03) */
.hw-abh__wellness { padding-top: 80px; }
.hw-abh__wellness-intro { margin: 0 0 40px; max-width: 820px; font-size: 16px; line-height: 1.8; color: #3B4A41; }
.hw-abh__story { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(16, 38, 28, .1); }
.hw-abh__story-cell { display: flex; flex-direction: column; gap: 14px; padding: 34px 32px 34px 0; border-right: 1px solid rgba(16, 38, 28, .1); }
.hw-abh__story-cell:not(:first-child) { padding-left: 32px; }
.hw-abh__story-cell:last-child { border-right: 0; }
.hw-abh__story-num { font-family: var(--hw-font); font-size: 28px; font-weight: 500; color: var(--hw-brass-dark); }
.hw-abh__story-h { font-family: var(--hw-font); font-size: 22px; font-weight: 500; color: var(--hw-green); }
.hw-abh__story-t { margin: 0; font-size: 14.5px; line-height: 1.8; color: var(--hw-text-soft); }

/* F. Ciemny band 360° */
.hw-abh__band { margin-top: 80px; }
.hw-abh__band-inner { padding: 64px 44px; background: var(--hw-green); text-align: center; }
.hw-abh__band-title { margin: 0 auto 24px; max-width: 720px; font-family: var(--hw-font); font-size: 34px; font-weight: 500; letter-spacing: -.015em; color: var(--hw-bone); line-height: 1.15; }
.hw-abh__band-p { margin: 0 auto 14px; max-width: 720px; font-size: 14.5px; line-height: 1.8; color: #A9B8AC; }
.hw-abh__band-p:last-child { margin-bottom: 0; }

/* G. FAQ */
.hw-abh__faq { padding-top: 80px; }
.hw-abh__faq-list { border-bottom: 1px solid var(--hw-line); }
.hw-abh__faq-item { border-top: 1px solid var(--hw-line); }
.hw-abh__faq-q { list-style: none; cursor: pointer; padding: 22px 0; font-family: var(--hw-font); font-size: 20px; font-weight: 500; color: var(--hw-green); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.hw-abh__faq-q::-webkit-details-marker { display: none; }
.hw-abh__faq-q::after { content: "+"; font-size: 24px; font-weight: 400; color: var(--hw-brass-dark); line-height: 1; }
.hw-abh__faq-item[open] .hw-abh__faq-q::after { content: "–"; }
.hw-abh__faq-a { margin: 0; padding: 0 0 22px; max-width: 820px; font-size: 15px; line-height: 1.8; color: var(--hw-text-soft); }

/* H. CTA końcowe */
.hw-abh__cta { margin-top: 80px; }
.hw-abh__cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 44px; background: var(--hw-bone-dark); }
.hw-abh__cta-text { display: flex; flex-direction: column; gap: 10px; }
.hw-abh__cta-h { font-family: var(--hw-font); font-size: 32px; font-weight: 500; color: var(--hw-green); line-height: 1.1; }
.hw-abh__cta-sub { font-size: 14.5px; color: var(--hw-text-soft); }
/* Globalny .hw-btn--brass jest pod ciemne tło (kremowy tekst) — na kremowej karcie CTA byłby niewidoczny. */
.hw-abh__cta-inner .hw-btn--brass { background: var(--hw-brass); border-color: var(--hw-brass); color: #FFFFFF; }
.hw-abh__cta-inner .hw-btn--brass:hover { background: var(--hw-brass-dark, #96753F); border-color: var(--hw-brass-dark, #96753F); color: #FFFFFF; }

/* I. Stopka źródła */
.hw-abh__source { margin: 40px 0 0; font-size: 12px; font-style: italic; line-height: 1.7; color: var(--hw-text-muted); }

/* ================================================================
   KONTAKT
   ================================================================ */
.hw-contact { max-width: 1440px; margin-inline: auto; padding-top: 26px; padding-bottom: 96px; }
.hw-contact__crumb { font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; color: var(--hw-text-muted); }
.hw-contact__crumb span { color: var(--hw-green); }
.hw-contact__head { display: grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items: end; padding: 40px 0; border-bottom: 1px solid rgba(16, 38, 28, .14); }
.hw-contact__h1 { font-size: 64px; line-height: .98; }
.hw-contact__lead { margin: 0; font-size: 15.5px; line-height: 1.8; color: var(--hw-text-soft); }

.hw-contact__grid { display: grid; grid-template-columns: 1fr 380px; gap: 56px; padding-top: 44px; align-items: start; }
.hw-contact__form { display: flex; flex-direction: column; gap: 22px; }
.hw-contact__row2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }

.hw-field { display: flex; flex-direction: column; gap: 9px; }
.hw-field__label { font-size: 9.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #3B4A41; }
.hw-field__input,
.hw-field__textarea {
  padding: 15px 16px;
  border: 1px solid rgba(16, 38, 28, .24);
  background: #fff;
  font-family: inherit;
  font-size: 14px;
  color: var(--hw-green);
}
.hw-field__textarea { min-height: 170px; line-height: 1.7; resize: vertical; }
.hw-field__input:focus,
.hw-field__textarea:focus { outline: 0; border-color: var(--hw-brass); }
.hw-field__input::placeholder,
.hw-field__textarea::placeholder { color: #9AA79E; }

.hw-contact__goals { display: flex; flex-wrap: wrap; gap: 8px; }
.hw-contact__goal { cursor: pointer; }
.hw-contact__goal input { position: absolute; opacity: 0; pointer-events: none; }
.hw-contact__goal span {
  display: inline-block;
  padding: 11px 16px;
  border: 1px solid rgba(16, 38, 28, .2);
  font-size: 13px;
  color: var(--hw-green);
  transition: border-color .2s ease, background .2s ease;
}
.hw-contact__goal input:checked + span { border-color: var(--hw-brass); background: #EFE8DB; font-weight: 600; }

.hw-contact__consent { display: flex; align-items: flex-start; gap: 12px; font-size: 12.5px; line-height: 1.6; color: #3B4A41; cursor: pointer; }
.hw-contact__consent input { width: 16px; height: 16px; flex: 0 0 16px; margin-top: 2px; accent-color: var(--hw-green); }
.hw-contact__submit { align-self: flex-start; }

/* Honeypot — poza ekranem, niedostępny dla ludzi */
.hw-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.hw-contact__alert { padding: 20px 22px; border: 1px solid; font-size: 14.5px; line-height: 1.7; }
.hw-contact__alert--ok { border-color: var(--hw-brass); background: #EFE8DB; color: var(--hw-green); }
.hw-contact__alert--err { border-color: #8A5A3B; background: #F4ECE4; color: #7A3B28; }

.hw-contact__aside { display: flex; flex-direction: column; }
.hw-contact__aside-label { font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--hw-brass-dark); padding-bottom: 14px; }
.hw-contact__channel { display: flex; flex-direction: column; gap: 5px; padding: 18px 0; border-top: 1px solid var(--hw-line); }
.hw-contact__ch-k { font-size: 9.5px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; color: var(--hw-text-muted); }
.hw-contact__ch-v { font-family: var(--hw-font); font-size: 20px; font-weight: 500; color: var(--hw-green); }
.hw-contact__ch-note { font-size: 12.5px; line-height: 1.6; color: var(--hw-text-soft); }
.hw-contact__map { margin-top: 24px; height: 200px; }

.hw-contact__faq { padding-top: 70px; }
.hw-contact__faq-title { margin: 0; padding-bottom: 24px; border-bottom: 1px solid rgba(16, 38, 28, .14); font-family: var(--hw-font); font-size: 36px; font-weight: 500; letter-spacing: -.015em; color: var(--hw-green); }
.hw-contact__faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hw-contact__faq-cell { display: flex; flex-direction: column; gap: 10px; padding: 26px 32px; border-right: 1px solid rgba(16, 38, 28, .1); border-bottom: 1px solid rgba(16, 38, 28, .1); }
.hw-contact__faq-cell:nth-child(2n) { border-right: 0; }
.hw-contact__faq-q { font-family: var(--hw-font); font-size: 20px; font-weight: 500; color: var(--hw-green); line-height: 1.25; }
.hw-contact__faq-a { margin: 0; font-size: 14px; line-height: 1.75; color: var(--hw-text-soft); }

/* ================================================================
   LANDING
   ================================================================ */
.hw-landing { max-width: 1440px; margin-inline: auto; padding-bottom: 96px; }
.hw-landing__hero { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 640px; }
.hw-landing__hero-text { display: flex; flex-direction: column; justify-content: center; gap: 24px; padding: 76px 72px; }
.hw-landing__eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--hw-brass-dark); }
.hw-landing__h1 { font-size: 66px; letter-spacing: -.025em; line-height: .96; }
.hw-landing__lead { margin: 0; max-width: 450px; font-size: 17px; line-height: 1.8; color: var(--hw-text-soft); }
.hw-landing__cta-inline { display: flex; max-width: 520px; margin-top: 6px; }
.hw-landing__inline-field { flex: 1; display: flex; align-items: center; padding: 19px 20px; border: 1px solid rgba(16, 38, 28, .28); border-right: 0; font-size: 14.5px; color: #9AA79E; }
.hw-landing__cta-inline .hw-btn { white-space: nowrap; }
.hw-landing__proof { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 14px; border-top: 1px solid rgba(16, 38, 28, .14); }
.hw-landing__proof-cell { display: flex; flex-direction: column; gap: 5px; padding: 18px 16px 0 0; }
.hw-landing__proof-k { font-family: var(--hw-font); font-size: 26px; font-weight: 500; color: var(--hw-green); }
.hw-landing__proof-v { font-size: 11.5px; line-height: 1.6; color: var(--hw-text-soft); }
.hw-landing__hero-media { background: var(--hw-sage); position: relative; }
.hw-landing__hero-frame { position: absolute; inset: 52px; }

.hw-landing__section-title { margin: 0; padding-bottom: 24px; border-bottom: 1px solid rgba(16, 38, 28, .14); font-family: var(--hw-font); font-size: 42px; font-weight: 500; letter-spacing: -.02em; color: var(--hw-green); }
.hw-landing__steps { padding-top: 76px; }
.hw-landing__steps-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hw-landing__step { display: flex; flex-direction: column; gap: 14px; padding: 34px 32px; border-right: 1px solid rgba(16, 38, 28, .1); border-bottom: 1px solid rgba(16, 38, 28, .1); }
.hw-landing__step:last-child { border-right: 0; }
.hw-landing__step-num { font-family: var(--hw-font); font-size: 28px; font-weight: 500; color: var(--hw-brass-dark); }
.hw-landing__step-h { font-family: var(--hw-font); font-size: 23px; font-weight: 500; color: var(--hw-green); }
.hw-landing__step-t { margin: 0; font-size: 14.5px; line-height: 1.8; color: var(--hw-text-soft); }

.hw-landing__obj { display: grid; grid-template-columns: .85fr 1.15fr; gap: 56px; margin-top: 76px; padding-top: 52px; padding-bottom: 52px; border-top: 1px solid rgba(16, 38, 28, .14); border-bottom: 1px solid rgba(16, 38, 28, .14); }
.hw-landing__obj-title { margin: 0; font-family: var(--hw-font); font-size: 38px; font-weight: 500; letter-spacing: -.02em; color: var(--hw-green); line-height: 1.05; }
.hw-landing__obj-list { display: flex; flex-direction: column; }
.hw-landing__obj-cell { display: flex; flex-direction: column; gap: 9px; padding: 20px 0; border-top: 1px solid var(--hw-line); }
.hw-landing__obj-q { font-family: var(--hw-font); font-size: 21px; font-weight: 500; color: var(--hw-green); }
.hw-landing__obj-a { margin: 0; font-size: 15px; line-height: 1.8; color: var(--hw-text-soft); }

.hw-landing__reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding-top: 70px; }
.hw-landing__review { display: flex; flex-direction: column; gap: 14px; padding-right: 32px; }
.hw-landing__review-stars { color: var(--hw-brass-dark); font-size: 12px; letter-spacing: .14em; }
.hw-landing__review-text { margin: 0; font-family: var(--hw-font); font-size: 19px; font-weight: 500; line-height: 1.5; color: var(--hw-green); }
.hw-landing__review-author { font-size: 9.5px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; color: var(--hw-text-muted); }

.hw-landing__final { margin-top: 76px; }
.hw-landing__final-inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; align-items: center; padding: 52px 44px; background: var(--hw-green); }
.hw-landing__final-text { display: flex; flex-direction: column; gap: 12px; }
.hw-landing__final-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--hw-brass); }
.hw-landing__final-h2 { margin: 0; font-family: var(--hw-font); font-size: 40px; font-weight: 500; letter-spacing: -.02em; color: var(--hw-bone); line-height: 1.05; }
.hw-landing__final-sub { font-size: 14.5px; line-height: 1.75; color: #A9B8AC; }
.hw-landing__final-form { display: flex; flex-direction: column; gap: 12px; }
.hw-landing__final-field { padding: 18px 20px; background: var(--hw-bone); font-size: 14.5px; color: #9AA79E; }
.hw-landing__final-note { font-size: 11px; line-height: 1.6; color: #7A8A7E; }

/* ================================================================
   STRONY PRAWNE
   ================================================================ */
.hw-legal { max-width: 1440px; margin-inline: auto; padding-top: 26px; padding-bottom: 96px; }
.hw-legal__crumb { font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; color: var(--hw-text-muted); }
.hw-legal__crumb span { color: var(--hw-green); }
.hw-legal__head { display: grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items: end; padding: 38px 0 34px; border-bottom: 1px solid rgba(16, 38, 28, .14); }
.hw-legal__h1 { font-size: 56px; line-height: 1; }
.hw-legal__lead { margin: 0; font-size: 14.5px; line-height: 1.8; color: var(--hw-text-soft); }

.hw-legal__grid { display: grid; grid-template-columns: 260px 1fr; gap: 56px; padding-top: 36px; align-items: start; }
.hw-legal__nav { display: flex; flex-direction: column; position: sticky; top: 92px; }
.hw-legal__nav-link { padding: 14px 0 14px 16px; border-top: 1px solid var(--hw-line); border-left: 2px solid transparent; font-size: 10.5px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; color: var(--hw-text-soft); }
.hw-legal__nav-link.is-active { border-left-color: var(--hw-brass); color: var(--hw-green); }
.hw-legal__nav-link:hover { color: var(--hw-green); }

.hw-legal__body { display: flex; flex-direction: column; max-width: 760px; }
.hw-legal__section { display: grid; grid-template-columns: 44px 1fr; gap: 20px; padding: 26px 0; border-bottom: 1px solid var(--hw-line); }
.hw-legal__num { font-family: var(--hw-font); font-size: 22px; font-weight: 500; color: var(--hw-brass-dark); }
.hw-legal__section-body { display: flex; flex-direction: column; gap: 10px; }
.hw-legal__section-title { margin: 0; font-family: var(--hw-font); font-size: 24px; font-weight: 500; color: var(--hw-green); }
.hw-legal__section-text { margin: 0; font-size: 15.5px; line-height: 1.85; color: #3B4A41; text-wrap: pretty; }

/* Pełny dokument prawny z treści strony WP (baza 2026-08-27) — typografia w konwencji legal. */
.hw-legal__prose { font-size: 15.5px; line-height: 1.85; color: #3B4A41; text-wrap: pretty; }
.hw-legal__prose h2 {
  margin: 34px 0 12px; font-family: var(--hw-font); font-size: 24px; font-weight: 500;
  color: var(--hw-green); letter-spacing: -.01em;
}
.hw-legal__prose h2:first-of-type { margin-top: 0; }
.hw-legal__prose p { margin: 0 0 14px; }
.hw-legal__prose ol,
.hw-legal__prose ul { margin: 0 0 14px; padding-left: 22px; display: flex; flex-direction: column; gap: 8px; }
.hw-legal__prose a { color: var(--hw-brass-dark); text-decoration: underline; }
.hw-legal__prose strong { color: var(--hw-green); }

.hw-legal__contact { display: flex; flex-direction: column; gap: 12px; margin-top: 34px; padding: 28px; background: var(--hw-bone-dark); }
.hw-legal__contact-h { font-family: var(--hw-font); font-size: 22px; font-weight: 500; color: var(--hw-green); }
.hw-legal__contact-t { font-size: 14px; line-height: 1.7; color: var(--hw-text-soft); }
.hw-legal__contact-btn { align-self: flex-start; margin-top: 4px; }

/* ================================================================
   404
   ================================================================ */
.hw-nf { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 600px; max-width: 1440px; margin-inline: auto; padding-bottom: 96px; }
.hw-nf__text { display: flex; flex-direction: column; justify-content: center; gap: 24px; padding: 80px 72px; }
.hw-nf__eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--hw-brass-dark); }
.hw-nf__h1 { font-size: 64px; line-height: .98; }
.hw-nf__lead { margin: 0; max-width: 420px; font-size: 16px; line-height: 1.8; color: var(--hw-text-soft); }
.hw-nf__links { display: flex; flex-direction: column; margin-top: 8px; }
.hw-nf__link { padding: 16px 0; border-top: 1px solid rgba(16, 38, 28, .14); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--hw-green); }
.hw-nf__link--last { border-bottom: 1px solid rgba(16, 38, 28, .14); }
.hw-nf__link:hover { color: var(--hw-brass-dark); }
.hw-nf__home { align-self: flex-start; margin-top: 8px; }
.hw-nf__media { background: var(--hw-sage); position: relative; }
.hw-nf__frame { position: absolute; inset: 56px; }

/* ================================================================
   WYSZUKIWANIE / BRAK WYNIKÓW
   ================================================================ */
.hw-search { max-width: 1440px; margin-inline: auto; padding-top: 44px; padding-bottom: 96px; }
.hw-search__bar { display: flex; align-items: center; gap: 16px; padding: 20px 24px; border: 1px solid rgba(16, 38, 28, .24); background: #fff; max-width: 640px; }
.hw-search__ico { display: inline-flex; color: var(--hw-text-muted); }
.hw-search__query { margin: 0; font-family: var(--hw-font); font-size: 26px; font-weight: 500; color: var(--hw-green); }
/* Pasek wyników = realny input (edycja frazy; zgłoszenie 2026-08-29); typografia z klasy bazowej wyżej */
.hw-search__query--input { flex: 1 1 auto; min-width: 0; border: 0; outline: none; background: transparent; padding: 0; }
.hw-search__query--input::placeholder { color: rgba(16, 38, 28, .35); font-size: 16px; font-weight: 400; }
/* H1 tylko dla czytników/SEO — wizualnie nagłówkiem jest pasek */
.hw-search__sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Wyniki: pasek na pełną szerokość + link „Wyczyść" (widok Premium v2). */
.hw-search__head-wrap { display: flex; flex-direction: column; gap: 22px; padding-bottom: 32px; border-bottom: 1px solid rgba(16, 38, 28, .14); }
.hw-search__head-wrap .hw-search__bar { max-width: none; padding: 22px 26px; }
.hw-search__head-wrap .hw-search__query { font-size: 30px; }
.hw-search__clear { margin-left: auto; font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; color: var(--hw-text-muted); }
.hw-search__clear:hover { color: var(--hw-brass-dark); }

/* Rząd chipów „Może chodziło o" przy wynikach (poziomy, wg makiety). */
.hw-search__sugg--inline { flex-direction: row; align-items: center; gap: 14px; flex-wrap: wrap; }

/* Pasek licznika + sortowania (flex space-between). */
.hw-search__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 26px 0; flex-wrap: wrap; }
.hw-search__count { font-size: 15px; color: var(--hw-text-soft); }
.hw-search__count-q { font-weight: 600; color: var(--hw-green); }
.hw-search__sort { position: relative; display: inline-flex; align-items: center; gap: 8px; font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; color: var(--hw-green); cursor: pointer; }
.hw-search__sort-select { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }

/* Siatka kart — spójna z listingiem sklepu (kadry/karty identyczne). */
.hw-search__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }

/* Pozostałe trafienia (nie-produkty) — reużycie wierszy .hw-search__result*. */
.hw-search__rest { margin-top: 48px; }
.hw-search__rest-h2 { margin: 0 0 20px; font-family: var(--hw-font); font-size: 28px; font-weight: 500; letter-spacing: -.015em; color: var(--hw-green); }
.hw-search__results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(16, 38, 28, .12); border: 1px solid rgba(16, 38, 28, .12); }
.hw-search__result { display: flex; flex-direction: column; gap: 8px; padding: 26px; background: var(--hw-bone); transition: background .2s ease; }
.hw-search__result:hover { background: var(--hw-bone-dark); }
.hw-search__result-type { font-size: 9.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--hw-brass-dark); }
.hw-search__result-title { font-family: var(--hw-font); font-size: 21px; font-weight: 500; color: var(--hw-green); line-height: 1.18; }
.hw-search__result-excerpt { font-size: 13.5px; line-height: 1.7; color: var(--hw-text-soft); }
.hw-search__pagination { margin-top: 28px; }
.hw-search__pagination .page-numbers { display: inline-flex; padding: 10px 16px; margin-right: 6px; border: 1px solid var(--hw-line); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--hw-green); }
.hw-search__pagination .page-numbers.current { border-color: var(--hw-brass); background: #EFE8DB; }

.hw-search__none { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; padding: 44px 0 0; }
.hw-search__none-text { display: flex; flex-direction: column; gap: 14px; }
.hw-search__none-h2 { margin: 0; font-family: var(--hw-font); font-size: 32px; font-weight: 500; letter-spacing: -.015em; color: var(--hw-green); line-height: 1.1; }
.hw-search__none-lead { margin: 0; font-size: 14.5px; line-height: 1.8; color: var(--hw-text-soft); }
.hw-search__none-actions { display: flex; gap: 12px; margin-top: 4px; flex-wrap: wrap; }
.hw-search__sugg { display: flex; flex-direction: column; gap: 12px; }
.hw-search__sugg-label { font-size: 9.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--hw-brass-dark); }
.hw-search__sugg-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.hw-search__chip { padding: 9px 14px; border: 1px solid rgba(16, 38, 28, .2); font-size: 12px; color: var(--hw-green); }
.hw-search__chip:hover { border-color: var(--hw-brass); }

/* ================================================================
   MOBILE 390
   ================================================================ */
@media (max-width: 768px) {
  .hw-btn { height: 52px; }

  /* O mnie */
  .hw-about__hero { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .hw-about__hero-text { padding: 40px 22px; }
  .hw-about__h1 { font-size: 40px; }
  .hw-about__hero-media { height: 320px; }
  .hw-about__portrait { inset: 22px; }
  .hw-about__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hw-about__fact { border-bottom: 1px solid rgba(16, 38, 28, .1); }
  .hw-about__fact:nth-child(2n) { border-right: 0; }
  .hw-about__section { padding-top: 48px; }
  .hw-about__section-title { font-size: 30px; }
  .hw-about__story { grid-template-columns: minmax(0, 1fr); }
  .hw-about__story-cell { border-right: 0; }
  .hw-about__rules { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 48px; }
  .hw-about__rules-title { font-size: 30px; }
  .hw-about__cta { margin-top: 48px; }
  .hw-about__cta-inner { flex-direction: column; align-items: flex-start; gap: 20px; padding: 32px 22px; }
  .hw-about__cta-h { font-size: 28px; }
  .hw-about__cta-inner .hw-btn { width: 100%; }

  /* O Herbalife */
  .hw-abh__section-title { font-size: 28px; margin-bottom: 28px; }
  .hw-abh__hero { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .hw-abh__hero-text { padding: 40px 22px; }
  .hw-abh__h1 { font-size: 36px; }
  .hw-abh__hero-media { height: 300px; }
  .hw-abh__intro { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-top: 48px; }
  .hw-abh__stats-wrap { padding-top: 48px; }
  .hw-abh__stats-title { font-size: 24px; }
  .hw-abh__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding: 36px 24px 24px; }
  .hw-abh__fact-k { font-size: 30px; }
  .hw-abh__facts-note { padding: 16px 24px 30px; }
  .hw-abh__video { padding-top: 48px; }
  .hw-abh__media { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-top: 48px; }
  .hw-abh__media--rev .hw-abh__media-frame { order: 0; }
  .hw-abh__media-title { font-size: 26px; }
  .hw-abh__innov { padding-top: 48px; }
  .hw-abh__innov-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .hw-abh__wellness { padding-top: 48px; }
  .hw-abh__story { grid-template-columns: minmax(0, 1fr); }
  .hw-abh__story-cell { border-right: 0; padding: 28px 0; }
  .hw-abh__story-cell:not(:first-child) { padding-left: 0; }
  .hw-abh__band { margin-top: 48px; }
  .hw-abh__band-inner { padding: 40px 22px; }
  .hw-abh__band-title { font-size: 26px; }
  .hw-abh__faq { padding-top: 48px; }
  .hw-abh__faq-q { font-size: 17px; }
  .hw-abh__cta { margin-top: 48px; }
  .hw-abh__cta-inner { flex-direction: column; align-items: flex-start; gap: 20px; padding: 32px 22px; }
  .hw-abh__cta-h { font-size: 26px; }
  .hw-abh__cta-inner .hw-btn { width: 100%; }

  /* Kontakt */
  .hw-contact__head { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 28px 0; }
  .hw-contact__h1 { font-size: 40px; }
  .hw-contact__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .hw-contact__row2 { grid-template-columns: minmax(0, 1fr); }
  .hw-contact__submit { align-self: stretch; }
  .hw-contact__faq { padding-top: 48px; }
  .hw-contact__faq-title { font-size: 28px; }
  .hw-contact__faq-grid { grid-template-columns: minmax(0, 1fr); }
  .hw-contact__faq-cell { border-right: 0; }

  /* Landing */
  .hw-landing__hero { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .hw-landing__hero-text { padding: 40px 22px; }
  .hw-landing__h1 { font-size: 42px; }
  .hw-landing__cta-inline { flex-direction: column; gap: 10px; }
  .hw-landing__inline-field { border-right: 1px solid rgba(16, 38, 28, .28); }
  .hw-landing__cta-inline .hw-btn { width: 100%; }
  .hw-landing__hero-media { height: 320px; }
  .hw-landing__hero-frame { inset: 22px; }
  .hw-landing__steps { padding-top: 48px; }
  .hw-landing__section-title { font-size: 30px; }
  .hw-landing__steps-grid { grid-template-columns: minmax(0, 1fr); }
  .hw-landing__step { border-right: 0; }
  .hw-landing__obj { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 48px; }
  .hw-landing__obj-title { font-size: 28px; }
  .hw-landing__reviews { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-top: 48px; }
  .hw-landing__review { padding-right: 0; }
  .hw-landing__final { margin-top: 48px; }
  .hw-landing__final-inner { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 32px 22px; }
  .hw-landing__final-h2 { font-size: 30px; }

  /* Legal */
  .hw-legal__head { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .hw-legal__h1 { font-size: 38px; }
  .hw-legal__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .hw-legal__nav { position: static; flex-direction: row; flex-wrap: wrap; gap: 4px; }
  .hw-legal__nav-link { border-top: 0; border-left: 0; border-bottom: 2px solid transparent; padding: 8px 0; margin-right: 18px; }
  .hw-legal__nav-link.is-active { border-left: 0; border-bottom-color: var(--hw-brass); }

  /* 404 */
  .hw-nf { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .hw-nf__text { padding: 40px 22px; }
  .hw-nf__h1 { font-size: 40px; }
  .hw-nf__media { height: 260px; }
  .hw-nf__frame { inset: 22px; }
  .hw-nf__home { align-self: stretch; }

  /* Wyszukiwanie */
  .hw-search__query { font-size: 20px; }
  .hw-search__head-wrap .hw-search__query { font-size: 22px; }
  .hw-search__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .hw-search__results { grid-template-columns: minmax(0, 1fr); }
  .hw-search__none { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .hw-search__none-actions .hw-btn { width: 100%; }
}

/* Siatka wyników — spójna z listingiem sklepu na węższych ekranach. */
@media (max-width: 1100px) {
  .hw-search__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .hw-search__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ================================================================
   CERTYFIKATY I NAGRODY (prefiks hw-cert) — jezyk wizualny O Herbalife
   ================================================================ */
.hw-cert { max-width: 1440px; margin-inline: auto; padding-bottom: 96px; }
.hw-cert__head { display: flex; flex-direction: column; gap: 18px; padding: 64px 0 44px; max-width: 720px; }
.hw-cert__eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--hw-brass-dark); }
.hw-cert__h1 { margin: 0; font-family: var(--hw-font); font-size: 54px; font-weight: 500; letter-spacing: -.02em; color: var(--hw-green); line-height: 1.03; }
.hw-cert__lead { margin: 0; font-size: 16px; line-height: 1.8; color: #3B4A41; }
.hw-cert__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; align-items: stretch; }
/* Cała karta w ramce (media + podpisy w środku) — grid rozciąga karty do RÓWNEJ wysokości w wierszu. */
.hw-cert__card { display: flex; flex-direction: column; height: 100%; background: #FFFFFF; border: 1px solid rgba(16, 38, 28, .12); }
.hw-cert__media { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 5; padding: 26px; border-bottom: 1px solid rgba(16, 38, 28, .1); }
.hw-cert__media img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.hw-cert__title { margin: 0; padding: 16px 20px 0; font-family: var(--hw-font); font-size: 20px; font-weight: 500; color: var(--hw-green); line-height: 1.25; }
.hw-cert__sub { margin: 0; padding: 6px 20px 20px; font-size: 13.5px; line-height: 1.6; color: var(--hw-text-soft); }
.hw-cert__source { margin: 56px 0 0; font-size: 12px; font-style: italic; color: var(--hw-text-muted); }
@media (max-width: 1100px) {
  .hw-cert__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .hw-cert__head { padding: 40px 0 30px; }
  .hw-cert__h1 { font-size: 36px; }
  .hw-cert__grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
}
