/* GoYatchify Product Slider — front-end styles
   Colours / sizes / fonts come from CSS vars set in the plugin (Settings page). */
.gyslider {
  --gys-accent: #0073ff;
  --gys-badge: #0073ff;
  --gys-title: #0b1f6f;
  --gys-bg: #f8fafc;
  --gys-maxw: 1280px;
  --gys-imgh: 240px;
  --gys-title-size: 20px;
  --gys-price-size: 22px;
  --gys-font: "Helvetica Neue", "Manrope", Arial, sans-serif;
  background: var(--gys-bg);
  padding: 64px 0;
}
.gyslider, .gyslider * { box-sizing: border-box; font-family: var(--gys-font); }
.gyslider__inner { max-width: var(--gys-maxw); margin: 0 auto; padding: 0 64px; position: relative; }
.gyslider__track { position: relative; }

/* Pre-init fallback */
.gyslider__track:not(.slick-initialized) { display: flex; gap: 24px; overflow: hidden; }
.gyslider__track:not(.slick-initialized) .gyslider__item { flex: 0 0 calc((100% - 48px) / 3); }

.gyslider__item { padding: 0 12px; height: auto; }
.gyslider .slick-list { margin: 0 -12px; padding-bottom: 6px; }
.gyslider .slick-track { display: flex; }
.gyslider .slick-slide { height: inherit; }
.gyslider .slick-slide > div { height: 100%; }

/* Card */
.gyslider-card { background: #fff; border: 1px solid #f1f5f9; border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; height: 100%;
  box-shadow: 0 4px 20px -2px rgba(0,0,0,.05), 0 2px 8px -1px rgba(0,0,0,.02); transition: transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s cubic-bezier(.4,0,.2,1); }
.gyslider-card:hover { transform: translateY(-6px); box-shadow: 0 20px 35px -10px rgba(0,0,0,.08), 0 8px 20px -6px rgba(0,0,0,.03); }

.gyslider-card__media { position: relative; height: var(--gys-imgh); overflow: hidden; background: #f1f5f9; }
.gyslider-card__media a { display: block; height: 100%; }
.gyslider-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; display: block; }
.gyslider-card:hover .gyslider-card__media img { transform: scale(1.05); }
.gyslider-card__top { position: absolute; left: 16px; right: 16px; top: 16px; display: flex; justify-content: space-between; align-items: center; }
.gyslider-card__tr { display: flex; align-items: center; gap: 8px; }

.gyslider-badge { display: none !important; }
.gyslider-badge--featured { background: var(--gys-badge); color: #fff; }
.gyslider-badge--cond { background: #fff; color: #334155; box-shadow: 0 2px 6px rgba(0,0,0,.06); }

.gyslider-fav { width: 30px; height: 30px; border-radius: 50%; background: #fff; color: #0073ff; border: 1px solid #f1f5f9; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 2px 6px rgba(0,0,0,.06); transition: all .25s; padding: 0; }
.gyslider-fav:hover { color: #0b1f6f; }
.gyslider-fav.is-active { color: #0b1f6f; background: #dbe4ff; border-color: #0b1f6f; }
.gyslider-fav.is-active svg { fill: #0b1f6f; }

.gyslider-card__body { padding: 24px; display: flex; flex-direction: column; flex: 1 1 auto; }
.gyslider-card__cat { display: block; color: var(--gys-accent); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 11px; }
.gyslider-card__loc { color: #94a3b8; font-size: 13px; font-weight: 500; display: flex; align-items: center; gap: 5px; margin-top: 5px; margin-bottom: 0; }
.gyslider-card__loc svg { color: #cbd5e1; flex: 0 0 auto; }

.gyslider-card__title { margin: 0 0 7px; font-size: var(--gys-title-size); font-weight: 700; line-height: 1.25; letter-spacing: -.01em; }
.gyslider-card__title a { color: var(--gys-title); text-decoration: none; transition: color .2s; }
.gyslider-card__title a:hover { color: var(--gys-accent); }

.gyslider-card__specs { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; border-top: 1px solid #f1f5f9; padding-top: 16px; margin-bottom: 24px; }
.gyslider-lbl { display: block; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #94a3b8; margin-bottom: 3px; }
.gyslider-val { font-size: 15px; font-weight: 800; color: #1e293b; }

.gyslider-card__foot { margin-top: auto; padding-top: 22px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.gyslider-card__price { font-size: var(--gys-price-size); font-weight: 800; color: var(--gys-title); letter-spacing: -.01em; }
.gyslider-card__act { display: flex; align-items: center; gap: 10px; }

.gyslider-compare { width: 42px; height: 40px; border: 1px solid #cbd5e1; color: #64748b; border-radius: 8px; background: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all .2s; padding: 0; }
.gyslider-compare:hover { border-color: #94a3b8; color: #334155; background: #f8fafc; }
.gyslider-compare.is-active { background: #f1f5f9; border-color: #94a3b8; color: #1e293b; }

.gyslider-details { background: var(--gys-accent); color: #fff !important; border-radius: 999px; font-weight: 600; font-size: 13px; letter-spacing: .01em; padding: 10px 22px; text-decoration: none; transition: all .2s; white-space: nowrap; display: inline-flex; align-items: center; text-shadow: 0 1px 1px rgba(0,0,0,.15); }
.gyslider-details:hover { filter: brightness(.92); color: #fff !important; box-shadow: 0 4px 14px rgba(0,0,0,.18); }

/* Arrows (Slick-injected) */
.gyslider-arrow { position: absolute; top: 50%; transform: translateY(-55%); width: 48px; height: 48px; border-radius: 50%; background: #fff; border: 1px solid #e2e8f0; color: #1e293b; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 20; box-shadow: 0 6px 20px rgba(0,0,0,.12); transition: all .25s cubic-bezier(.4,0,.2,1); padding: 0; }
.gyslider-arrow:hover { background: var(--gys-accent); color: #fff; border-color: var(--gys-accent); box-shadow: 0 8px 24px rgba(0,0,0,.25); transform: translateY(-55%) scale(1.08); }
.gyslider-arrow:before { content: none; }
.gyslider-arrow--prev { left: -56px; }
.gyslider-arrow--next { right: -56px; }

/* Dots — self-contained (no slick-theme dependency) */
.gyslider .slick-dots { position: absolute; bottom: -38px; left: 0; width: 100%; display: flex; justify-content: center; align-items: center; gap: 10px; list-style: none; margin: 0; padding: 0; }
.gyslider .slick-dots li { width: auto; height: auto; margin: 0; padding: 0; }
.gyslider .slick-dots li button { font-size: 0; line-height: 0; width: 10px; height: 10px; padding: 0; margin: 0; border: 0; border-radius: 50%; background: var(--gys-accent); opacity: .25; cursor: pointer; transition: all .3s ease; }
.gyslider .slick-dots li button:before { content: none !important; }
.gyslider .slick-dots li.slick-active button { opacity: 1; transform: scale(1.25); }

@media (max-width: 1140px) { .gyslider__inner { padding: 0 56px; } }
@media (max-width: 768px) {
  .gyslider__inner { padding: 0 52px; }
  .gyslider-arrow--prev { left: -46px; } .gyslider-arrow--next { right: -46px; }
}
@media (max-width: 640px) {
  .gyslider__inner { padding: 0 28px; }
  .gyslider-arrow { width: 42px; height: 42px; }
  .gyslider-arrow--prev { left: -14px; } .gyslider-arrow--next { right: -14px; }
}
