/* ====== Карточка товара (используется на всех витринах) ====== */
:root {
  --ok-green:        #B0CD1F;   /* салатовый, как top-bar */
  --ok-green-dark:   #8FA417;
  --ok-green-soft:   #f0f5d6;
  --ok-ink:          #1f2a1a;
  --ok-muted:        #5b6b54;
  --ok-card-radius:  16px;
  --ok-card-shadow:  0 6px 20px rgba(31,42,26,.08);
}

.product-card {
  position:relative; background:#fff; border-radius:var(--ok-card-radius); box-shadow:var(--ok-card-shadow);
  overflow:hidden; transition:transform .18s, box-shadow .18s;
  display:flex; flex-direction:column; height:100%;
}
.product-card:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(31,42,26,.12); }
.product-card__form { display:contents; }                            /* form в layout не участвует */
.product-card__link { position:absolute; inset:0; z-index:1; }       /* клик по карточке = ссылка */
.product-card__badges {
  position:absolute; top:10px; left:10px; z-index:2;
  display:flex; flex-direction:column; gap:6px; align-items:flex-start;
}
.product-card__badge {
  font-size:12px; font-weight:700; padding:4px 10px; border-radius:999px; color:#fff; text-transform:uppercase; letter-spacing:.03em;
}
.product-card__badge--sale     { background:#e23b3b; }
.product-card__badge--popular  { background:var(--ok-green); }
.product-card__badge--new      { background:#c9a566; }
.product-card__badge--order    { background:#e7b32d; color:#1f2a1a; }
.product-card__badge--instock  { background:var(--ok-green-soft); color:var(--ok-green-dark); }
.product-card__fav {
  position:absolute; top:10px; right:10px; z-index:3;
  width:36px; height:36px; border-radius:50%; background:#fff; border:0; cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.1); color:#8a9783; display:flex; align-items:center; justify-content:center;
  transition:.15s;
}
.product-card__fav:hover, .product-card__fav.is-favorite { color:var(--ok-green); }
.product-card__fav.is-favorite svg path { fill:var(--ok-green); }
.product-card__img {
  aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; background:#f7f8f4; padding:6px;
}
.product-card__img img { width:100%; height:100%; object-fit:cover; min-width:0; min-height:0; border-radius:6px; }
.product-card__body {
  padding:14px 16px 16px; display:flex; flex-direction:column; gap:8px; flex:1;
}
.product-card__brand { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--ok-muted); min-height:1.2em; }
.product-card__title {
  margin:0; font-size:15px; font-weight:600; color:var(--ok-ink); line-height:1.35;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.7em;
}
.product-card__price { display:flex; align-items:baseline; gap:10px; margin-top:auto; }
.product-card__price-now { font-size:20px; font-weight:800; color:var(--ok-green-dark); }
.product-card__price-old { font-size:14px; color:#a8b1a2; }
.product-card__btn {
  display:flex; align-items:center; justify-content:center; gap:6px;
  width:100%; padding:11px 14px; margin-top:8px;
  background:var(--ok-green); color:#fff; border:2px solid var(--ok-green); border-radius:10px;
  font-weight:700; font-size:14px; cursor:pointer; transition:.15s;
  position:relative; z-index:2;                                       /* выше product-card__link */
}
.product-card__btn:hover { background:var(--ok-green-dark); border-color:var(--ok-green-dark); }

/* Резерв места под рейтинг, чтобы все карточки в ряду были одинаковой высоты */
.product-card__rating-slot { min-height:18px; display:flex; align-items:center; }

/* Slick-карусели товаров: равная высота слайдов */
.products-carousel .slick-track { display:flex; align-items:stretch; }
.products-carousel .slick-slide { height:auto; float:none; }
.products-carousel .slick-slide > div { height:100%; display:flex; }
.products-carousel .slick-slide > div > div { width:100%; display:flex; }

/* На bootstrap-сетке (страницы категорий) — растянуть карточки в строке */
.row > [class^="col-"] > .product-card,
.row > [class*=" col-"] > .product-card { height:100%; }

/* ====== Звёзды-рейтинг ====== */
.card-rating { display:flex; align-items:center; gap:6px; font-size:13px; color:var(--ok-muted); }
.card-stars { position:relative; display:inline-block; line-height:1; color:#e1e6dc; font-size:14px; letter-spacing:1px; }
.card-stars__empty, .card-stars__full { display:inline-block; }
.card-stars__full { position:absolute; left:0; top:0; overflow:hidden; color:#f5b50a; white-space:nowrap; }
.card-rating-count { color:var(--ok-muted); }

/* ====== Виджет голосования на странице товара ====== */
.product-rate-widget {
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  padding:14px 18px; background:#fff; border:1.5px solid var(--ok-green-soft); border-radius:12px;
  margin:18px 0; font-size:14px;
}
.product-rate-widget__label { color:var(--ok-muted); font-weight:600; }
.product-rate-widget__stars { display:flex; gap:2px; }
.product-rate-widget__btn {
  background:none; border:0; padding:0 2px; font-size:24px; color:#e1e6dc; cursor:pointer; transition:color .12s; line-height:1;
}
.product-rate-widget__btn:hover, .product-rate-widget__btn.is-active { color:#f5b50a; }
.product-rate-widget__summary { color:var(--ok-muted); display:inline-flex; align-items:center; gap:8px; }
.product-rate-widget.is-voted .product-rate-widget__btn.is-active { color:var(--ok-green); }
.product-rate-widget.is-error { border-color:#e23b3b; }
.product-rate-widget.is-loading { opacity:.6; pointer-events:none; }

/* ====== Страница товара: блок выбора соцлинзы ====== */
.okoptyk-lens-row { width:100%; clear:both; margin:22px 0; padding:0; }
.okoptyk-lens-picker {
  background:var(--ok-green-soft); border:1px solid #d3e2bf; border-radius:14px;
  padding:18px 20px; box-shadow:0 4px 14px rgba(31,42,26,.05);
}
.okoptyk-lens-picker__title {
  display:flex; align-items:center; gap:8px;
  margin:0 0 6px; font-size:15px; font-weight:700; color:var(--ok-ink); letter-spacing:.01em;
}
.okoptyk-lens-picker__title::before { content:"👓"; font-size:20px; }
.okoptyk-lens-picker__intro { margin:0; }
.okoptyk-lens-picker__hint { color:var(--ok-muted); font-size:13px; line-height:1.5; margin:0 0 12px; max-width:none; }
.okoptyk-lens-picker__openbtn,
.okoptyk-lens-modal__confirm,
.okoptyk-lens-selected .button.mini {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:11px 22px; border-radius:10px; font-weight:700; font-size:14px; cursor:pointer; text-decoration:none;
  background:var(--ok-green); color:#fff !important; border:2px solid var(--ok-green); transition:.18s;
  line-height:1.2;
}
.okoptyk-lens-picker__openbtn:hover,
.okoptyk-lens-modal__confirm:hover,
.okoptyk-lens-selected .button.mini:hover {
  background:var(--ok-green-dark); border-color:var(--ok-green-dark); color:#fff !important;
}
.okoptyk-lens-picker__openbtn::before { content:"✨"; font-size:14px; }
.okoptyk-lens-modal__confirm[disabled] { opacity:.5; cursor:not-allowed; }

/* выбранная линза */
.okoptyk-lens-selected { background:#fff; border:1px solid #d3e2bf; border-radius:10px; padding:12px 14px; }
.okoptyk-lens-selected__title { color:var(--ok-ink); font-size:14px; font-weight:700; }
.okoptyk-lens-selected__price { color:var(--ok-green-dark); font-weight:700; font-size:15px; }
.okoptyk-lens-textbtn { background:none; border:0; padding:0; cursor:pointer; text-decoration:underline; color:var(--ok-muted); font-size:13px; }
.okoptyk-lens-textbtn:hover { color:var(--ok-ink); }

/* модалка выбора линзы — зелёные акценты */
.okoptyk-lens-modal__dialog { border-radius:14px !important; }
.okoptyk-lens-modal__topbar { background:var(--ok-green-soft); border-bottom-color:#d3e2bf !important; padding:16px 20px !important; }
.okoptyk-lens-modal__topbar h4 { color:var(--ok-ink); font-weight:700; }
.okoptyk-lens-modal__close { color:var(--ok-muted) !important; }
.okoptyk-lens-modal__close:hover { color:var(--ok-ink) !important; }
.okoptyk-lens-modal__item.is-selected { background:var(--ok-green-soft) !important; }
.okoptyk-lens-modal__item-title { color:var(--ok-ink); }
.okoptyk-lens-modal__item-price { color:var(--ok-green-dark); font-weight:700; }
.okoptyk-lens-modal__skip { color:var(--ok-muted); }
.okoptyk-lens-modal__skip:hover { color:var(--ok-ink); }
.okoptyk-lens-modal__detail { background:#fafbf8 !important; border-left-color:#d3e2bf !important; }
.okoptyk-lens-modal__detail-kicker { color:var(--ok-green-dark); font-weight:700; }
.okoptyk-lens-modal__detail-price { color:var(--ok-green-dark) !important; font-size:18px !important; }

/* ====== Кнопки покупки внизу страницы товара ====== */
.product-btn-wrap {
  display:flex; align-items:stretch; gap:10px; flex-wrap:wrap; margin-top:18px;
}
.product-btn-wrap .application-link,
.product-btn-wrap > .button {
  flex:1 1 200px; max-width:none; padding:0; margin:0; display:flex;
}
.product-btn-wrap .application-link .button,
.product-btn-wrap > button.button {
  width:100% !important; margin:0 !important;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 22px; border-radius:12px; font-weight:700; font-size:15px; cursor:pointer; line-height:1.2;
  background:#fff; color:var(--ok-green-dark) !important; border:2px solid var(--ok-green); transition:.18s;
  text-transform:none; letter-spacing:0;
}
.product-btn-wrap .application-link .button:hover {
  background:var(--ok-green-soft); border-color:var(--ok-green-dark); color:var(--ok-green-dark) !important;
}
/* основная — «Dodaj do koszyka» — заливка зелёным */
.product-btn-wrap > button.button[name="ms2_action"] {
  background:var(--ok-green); color:#fff !important; border-color:var(--ok-green);
}
.product-btn-wrap > button.button[name="ms2_action"]:hover {
  background:var(--ok-green-dark); border-color:var(--ok-green-dark); color:#fff !important;
}
.product-btn-wrap > button.button[name="ms2_action"]::before { content:"🛒"; font-size:16px; }
.product-btn-wrap .application-link .button::before { content:"📞"; font-size:14px; }

.product-favorite-btn { flex:0 0 auto; display:flex; align-items:center; }
.product-favorite-btn .msfavorites {
  width:48px; height:48px; border-radius:50%; background:#fff; border:2px solid var(--ok-green-soft);
  display:flex; align-items:center; justify-content:center; color:#8a9783; text-decoration:none; transition:.15s; cursor:pointer;
}
.product-favorite-btn .msfavorites:hover,
.product-favorite-btn .msfavorites.is-favorite { color:var(--ok-green); border-color:var(--ok-green); }
.product-favorite-btn .msfavorites svg { width:22px; height:22px; }

@media (max-width:575px){
  .product-btn-wrap .application-link,
  .product-btn-wrap > .button { flex:1 1 100%; }
  .product-favorite-btn { width:100%; justify-content:center; }
}
