/* Esencja Zdrowia — nocturne apothecary direction */
.theme-esencja {
  --ink: #f1ecdf;
  --ink-soft: #bdc4ba;
  --green: #b98b45;
  --green-deep: #080b09;
  --green-light: #1f3026;
  --lime: #d6b26f;
  --cream: #171f1a;
  --paper: #101714;
  --line: #33453a;
  --white: #f8f2e8;
  --danger: #d1776a;
  --shadow: 0 24px 70px rgba(0, 0, 0, .38);
  --radius: 0;
  --serif: 'Baskerville', 'Iowan Old Style', Georgia, serif;
  --sans: 'Helvetica Neue', Arial, sans-serif;
}
body.theme-esencja { background: var(--paper); }
.theme-esencja .announcement { color: #f1dfc2; background: #080b09; border-bottom: 1px solid #26372c; }
.theme-esencja .announcement a { color: #f8f2e8; }
.theme-esencja .site-header { background: var(--paper); border-bottom-color: var(--line); }
.theme-esencja .header-main { min-height: 98px; }
.theme-esencja .wordmark__logo { width: 222px; height: auto; }
.theme-esencja .wordmark--footer .wordmark__logo { width: 228px; }
.theme-esencja .desktop-nav { gap: 27px; }
.theme-esencja .desktop-nav a { color: #acb7aa; font-size: .73rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.theme-esencja .desktop-nav a::after { height: 1px; background: var(--lime); }
.theme-esencja .desktop-nav a:hover,
.theme-esencja .desktop-nav a:focus-visible,
.theme-esencja .desktop-nav a.is-active { color: var(--white); }
.theme-esencja .cart-trigger { color: var(--white); background: transparent; border-color: var(--green); border-radius: 0; }
.theme-esencja .cart-trigger:hover,
.theme-esencja .cart-trigger:focus-visible { background: rgba(185, 139, 69, .17); }
.theme-esencja .cart-count { color: var(--green-deep); background: var(--lime); border-radius: 0; }
.theme-esencja .menu-toggle { border-color: var(--green); border-radius: 0; }
.theme-esencja .menu-toggle i { background: var(--white); }
.theme-esencja .home-hero { min-height: 690px; background: #101714; border-bottom: 1px solid var(--line); }
.theme-esencja .hero__grid { grid-template-columns: minmax(0, .76fr) minmax(450px, 1.24fr); gap: 82px; min-height: 690px; padding: 84px 0 96px; }
.theme-esencja .hero h1 { max-width: 570px; margin-bottom: 28px; color: var(--white); font-size: clamp(3.35rem, 6vw, 6.25rem); font-weight: 400; letter-spacing: -.065em; }
.theme-esencja .hero__lead { max-width: 515px; color: #c9d0c6; font-size: 1.06rem; }
.theme-esencja .hero__note { max-width: 420px; color: #9eab9f; font-size: .83rem; }
.theme-esencja .hero__note-mark { color: var(--lime); }
.theme-esencja .hero-photo { height: 548px; border: 1px solid rgba(214, 178, 111, .6); border-radius: 0 0 120px 0; box-shadow: 18px 18px 0 rgba(185, 139, 69, .12); }
.theme-esencja .hero-photo::after { background: linear-gradient(180deg, transparent 35%, rgba(8, 11, 9, .62)); }
.theme-esencja .hero-photo img { object-position: center; }
.theme-esencja .hero-photo__caption { right: 20px; bottom: 20px; color: var(--white); background: rgba(8, 11, 9, .9); border: 1px solid rgba(214, 178, 111, .56); border-radius: 0; }
.theme-esencja .hero-photo__caption strong { color: var(--lime); }
.theme-esencja .button { min-height: 51px; border-radius: 0; }
.theme-esencja .button--primary { color: #11140f; background: var(--lime); }
.theme-esencja .button--primary:hover,
.theme-esencja .button--primary:focus-visible { color: #11140f; background: #efd18d; }
.theme-esencja .button--secondary { color: var(--white); border-color: #667b69; }
.theme-esencja .button--secondary:hover,
.theme-esencja .button--secondary:focus-visible { background: var(--green-light); border-color: var(--lime); }
.theme-esencja .button--ghost { color: var(--white); }
.theme-esencja .button--ghost:hover,
.theme-esencja .button--ghost:focus-visible { background: rgba(214, 178, 111, .13); }
.theme-esencja .categories-section,
.theme-esencja .why-section,
.theme-esencja .routine-section,
.theme-esencja .science-sources { background: var(--paper); }
.theme-esencja .featured-section,
.theme-esencja .editorial-section,
.theme-esencja .testimonials-section { background: #141c17; }
.theme-esencja .section-heading__aside { color: #9eab9f; }
.theme-esencja .category-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
.theme-esencja .category-tile { min-height: 165px; padding: 21px; background: #151e18; border-color: var(--line); border-radius: 0; }
.theme-esencja .category-tile--2,
.theme-esencja .category-tile--5 { background: #1b2920; }
.theme-esencja .category-tile--3,
.theme-esencja .category-tile--6 { background: #18231c; }
.theme-esencja .category-tile::after { right: -42px; bottom: -58px; border-color: rgba(214, 178, 111, .25); border-radius: 0; transform: rotate(45deg); }
.theme-esencja .category-tile:hover,
.theme-esencja .category-tile:focus-visible { border-color: var(--lime); box-shadow: var(--shadow); transform: translateY(-4px); }
.theme-esencja .category-tile__number { color: #879988; }
.theme-esencja .category-tile__name { color: var(--white); }
.theme-esencja .category-tile__arrow { color: var(--lime); }
.theme-esencja .product-card { background: #18231c; border-color: var(--line); border-radius: 0; }
.theme-esencja .product-card:hover { box-shadow: var(--shadow); transform: translateY(-4px); }
.theme-esencja .product-card__media { min-height: 300px; background: #202d24; }
.theme-esencja .product-card__body { padding: 20px; }
.theme-esencja .product-card__meta { color: var(--lime); }
.theme-esencja .product-card__brand,
.theme-esencja .product-card__description,
.theme-esencja .product-card__amount { color: #aab5aa; }
.theme-esencja .product-card h3 a:hover,
.theme-esencja .product-card h3 a:focus-visible { color: var(--lime); }
.theme-esencja .split-section { background: #1c2b21; }
.theme-esencja .principles-card { background: rgba(0, 0, 0, .18); border-color: rgba(214, 178, 111, .32); border-radius: 0; }
.theme-esencja .feature-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
.theme-esencja .feature-card { min-height: 230px; background: #151e18; border-top: 1px solid var(--green); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
.theme-esencja .feature-card__icon { color: var(--lime); border-color: #718574; border-radius: 0; }
.theme-esencja .routine__visual { border-radius: 0 0 120px 0; background: linear-gradient(135deg, #1b2d22, #253b2a 52%, #425a3b); }
.theme-esencja .routine__visual::before,
.theme-esencja .routine__visual::after { border-color: rgba(214, 178, 111, .27); border-radius: 0; transform: rotate(45deg); }
.theme-esencja .routine__label { color: var(--white); background: rgba(8, 11, 9, .74); border-color: rgba(214, 178, 111, .42); border-radius: 0; transform: translate(-50%, -50%) rotate(0); }
.theme-esencja .testimonial-card { min-height: 350px; padding: 35px; background: #18231c; border-color: var(--line); border-radius: 0; }
.theme-esencja .testimonial-card > p { color: #c6cec3; }
.theme-esencja .testimonial-card__avatar { color: #11140f; background: var(--lime); border-radius: 0; }
.theme-esencja .testimonial-card footer strong { color: var(--white); }
.theme-esencja .testimonial-card footer small { color: #98a599; }
.theme-esencja .editorial-card { border-radius: 0; }
.theme-esencja .editorial-card--shop { background: #273b2b; }
.theme-esencja .editorial-card--guide { background: #202f25; }
.theme-esencja .editorial-card--advertorial { background: #2d2a20; }
.theme-esencja .science-teaser { background: #253b2a; }
.theme-esencja .final-cta { background: #202a23; }
.theme-esencja .page-intro { background: #171f1a; border-bottom-color: var(--line); }
.theme-esencja .page-intro p:not(.eyebrow),
.theme-esencja .page-intro .breadcrumbs { color: #b7c0b5; }
.theme-esencja input,
.theme-esencja select,
.theme-esencja textarea { color: var(--white); background: #141c17; border-color: #496050; border-radius: 0; }
.theme-esencja input::placeholder,
.theme-esencja textarea::placeholder { color: #819083; }
.theme-esencja input:focus,
.theme-esencja select:focus,
.theme-esencja textarea:focus { border-color: var(--lime); box-shadow: 0 0 0 3px rgba(214, 178, 111, .15); }
.theme-esencja .contact-details,
.theme-esencja .privacy-settings-card,
.theme-esencja .checkout-form,
.theme-esencja .product-gallery__main,
.theme-esencja .aside-card,
.theme-esencja .article-aside__card { color: var(--white); background: #18231c; border-color: var(--line); border-radius: 0; }
.theme-esencja .article-body p,
.theme-esencja .article-body li,
.theme-esencja .contact-details dd { color: #bdc4ba; }
.theme-esencja .site-footer { background: #060806; }
.theme-esencja .footer-grid h2 { color: var(--lime); }

@media (max-width: 860px) {
  .theme-esencja .hero__grid { grid-template-columns: 1fr; gap: 48px; min-height: 0; padding: 70px 0 80px; }
  .theme-esencja .hero__visual { max-width: 650px; margin: 0 auto; }
  .theme-esencja .hero-photo { height: 450px; }
}
@media (max-width: 600px) {
  .theme-esencja .wordmark__logo { width: 190px; }
  .theme-esencja .hero h1 { font-size: clamp(3rem, 14vw, 4.25rem); }
  .theme-esencja .category-grid,
  .theme-esencja .feature-grid { grid-template-columns: 1fr; }
  .theme-esencja .hero-photo { height: 330px; border-radius: 0 0 70px 0; box-shadow: 9px 9px 0 rgba(185, 139, 69, .12); }
}

/* Esencja Zdrowia — global contrast pass */
.theme-esencja { color-scheme: dark; }

.theme-esencja .button--dark {
  color: var(--green-deep);
  background: var(--lime);
  border-color: var(--lime);
}
.theme-esencja .button--dark:hover,
.theme-esencja .button--dark:focus-visible {
  color: var(--green-deep);
  background: #efd18d;
  border-color: #efd18d;
}
.theme-esencja .text-link:hover,
.theme-esencja .text-link:focus-visible,
.theme-esencja .text-button:hover,
.theme-esencja .text-button:focus-visible { color: var(--lime); }
.theme-esencja .form-note { color: #aab5aa; }

/* Dark surfaces keep the light foreground readable. */
.theme-esencja .filter-panel,
.theme-esencja .science-card,
.theme-esencja .contact-form,
.theme-esencja .cart-summary,
.theme-esencja .summary-card,
.theme-esencja .review-card,
.theme-esencja .thanks-card,
.theme-esencja .cookie-banner,
.theme-esencja .empty-state,
.theme-esencja .image-modal {
  color: var(--white);
  background: #18231c;
  border-color: var(--line);
}

/* Shop, filters and sorting */
.theme-esencja .search-form > div { border-bottom-color: #8fa297; }
.theme-esencja .filter-field label,
.theme-esencja .search-form label { color: #c6cec3; }
.theme-esencja .results-toolbar { color: #aab5aa; }
.theme-esencja .sort-form select,
.theme-esencja .filter-panel select,
.theme-esencja .filter-panel input,
.theme-esencja .filter-dialog select,
.theme-esencja .filter-dialog input {
  color: var(--white);
  background: #141c17;
  border-color: #496050;
}
.theme-esencja .filter-dialog { color: var(--white); }

/* Product cards and product details */
.theme-esencja .product-card__sku,
.theme-esencja .product-card__meta span:last-child { color: #aab5aa; }
.theme-esencja .product-card .price { color: var(--white); }
.theme-esencja .product-purchase__facts span {
  color: var(--white);
  background: var(--green-light);
}
.theme-esencja .gallery-arrow {
  color: var(--lime);
  background: var(--green-light);
  border-color: #667b69;
}
.theme-esencja .gallery-arrow:hover,
.theme-esencja .gallery-arrow:focus-visible {
  color: var(--green-deep);
  background: var(--lime);
  border-color: var(--lime);
}
.theme-esencja .zoom-hint {
  color: var(--white);
  background: rgba(8, 11, 9, .88);
  border: 1px solid rgba(214, 178, 111, .45);
}
.theme-esencja .quantity-control > div {
  background: #18231c;
  border-color: #496050;
}
.theme-esencja .quantity-control button { color: var(--lime); }
.theme-esencja .quantity-control input { color: var(--white); }
.theme-esencja .product-disclaimer { color: #aab5aa; }
.theme-esencja .product-disclaimer strong { color: var(--lime); }
.theme-esencja .facts-table span { color: #aab5aa; }
.theme-esencja .aside-card__mark {
  color: var(--lime);
  border-color: #718574;
}

/* Content cards, forms and contact details */
.theme-esencja .science-card h2,
.theme-esencja .science-card p { color: var(--white); }
.theme-esencja .science-card p { color: #c6cec3; }
.theme-esencja .science-card__number,
.theme-esencja .science-card .text-link { color: var(--lime); }
.theme-esencja .article-body h3,
.theme-esencja .policy-content h3 { color: var(--white); }
.theme-esencja .contact-form label,
.theme-esencja .checkout-form label,
.theme-esencja .review-form label,
.theme-esencja .review-form legend { color: var(--white); }
.theme-esencja .contact-details a {
  color: var(--lime);
  text-decoration-color: var(--lime);
}
.theme-esencja .contact-details a:hover,
.theme-esencja .contact-details a:focus-visible {
  color: #efd18d;
  text-decoration-color: #efd18d;
}
.theme-esencja .contact-form input,
.theme-esencja .contact-form select,
.theme-esencja .contact-form textarea,
.theme-esencja .checkout-form input,
.theme-esencja .checkout-form select,
.theme-esencja .checkout-form textarea,
.theme-esencja .review-form input:not([type="radio"]),
.theme-esencja .review-form textarea {
  color: var(--white);
  background: #141c17;
  border-color: #496050;
}
.theme-esencja .contact-form input::placeholder,
.theme-esencja .contact-form textarea::placeholder,
.theme-esencja .checkout-form input::placeholder,
.theme-esencja .checkout-form textarea::placeholder,
.theme-esencja .review-form input::placeholder,
.theme-esencja .review-form textarea::placeholder { color: #819083; }
.theme-esencja .rating-input label { color: #c6cec3; border-color: #718574; }
.theme-esencja .rating-input label:has(input:checked),
.theme-esencja .rating-input label:hover {
  color: var(--green-deep);
  background: var(--lime);
  border-color: var(--lime);
}

/* Cart, checkout, notices and overlays */
.theme-esencja .cart-lines__heading,
.theme-esencja .cart-line__info > span,
.theme-esencja .summary-item span,
.theme-esencja .mini-cart-item__content span,
.theme-esencja .mini-cart-item__remove,
.theme-esencja .review-card footer { color: #aab5aa; }
.theme-esencja .cart-total-row strong,
.theme-esencja .order-reference strong { color: var(--lime); }
.theme-esencja .thanks-card__mark {
  color: var(--green-deep);
  background: var(--lime);
}
.theme-esencja .toast.is-error {
  color: var(--green-deep);
  background: #f2c1b8;
}
