/* ===== Общие вещи ===== */
.thumb-fixed{ width:100%; height:200px; object-fit:cover; object-position:center; }
.btn-cta{ border-radius: 10px; }

/* ====== HERO SLIDER (variant: slider) ====== */
.predlo-hero{ position: relative; }
.hero-carousel .carousel-inner{ border-radius: 14px; overflow: hidden; }
.hero-slide{ position: relative; display:flex; align-items:center; justify-content:flex-start; }
.hero-bg{
  width:100%; height:100%; max-height: 72vh; object-fit:cover; display:block;
  filter: saturate(1.04) contrast(1.02);
}
.hero-overlay{
  position:absolute; inset:0;
  --tint-rgb: 14,165,183;
  background:
    linear-gradient(90deg, rgba(0,0,0,.52) 0%, rgba(0,0,0,.18) 46%, rgba(0,0,0,0) 70%),
    radial-gradient(40% 60% at 0% 0%, rgba(var(--tint-rgb), .20), transparent 70%);
}
.hero-content{ position:absolute; inset:0; display:flex; align-items:center; }
.hero-box{
  background: rgba(var(--surface-rgb,255,255,255), .16);
  border: 1px solid rgba(255,255,255,.22);
  backdrop-filter: blur(10px) saturate(1.05);
  -webkit-backdrop-filter: blur(10px) saturate(1.05);
  border-radius: 14px;
  padding: 20px 22px;
  max-width: 820px;
  color: #fff;
  box-shadow: 0 16px 38px rgba(0,0,0,.28);
}
.hero-title{
  font-size: clamp(1.5rem, 2.6vw, 2.35rem);
  font-weight: 800; margin: 0 0 .35rem 0;
  text-shadow: 0 2px 10px rgba(0,0,0,.35);
}
.hero-desc{
  margin: 0 0 .75rem 0;
  font-size: 1.05rem; color: rgba(255,255,255,.94);
  text-shadow: 0 2px 10px rgba(0,0,0,.35);
}
.hero-btn{
  background: var(--accent); border-color: var(--accent); color:#fff;
  box-shadow: 0 10px 24px rgba(14,165,183,.35);
}
.hero-btn:hover{ background: var(--accent-hover); border-color: var(--accent-hover); }

/* Стрелки (темизация) */
.hero-carousel .carousel-control-prev,
.hero-carousel .carousel-control-next{ width: 56px; }
.hero-carousel .carousel-control-prev-icon,
.hero-carousel .carousel-control-next-icon{
  width: 42px; height:42px; border-radius:50%;
  background-color: rgba(var(--surface-rgb,255,255,255), .78);
  background-size: 14px 14px;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}
.hero-carousel .carousel-control-prev-icon{
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%231f2a37' viewBox='0 0 16 16'%3e%3cpath d='M11 1 3 8l8 7' stroke='%231f2a37' stroke-width='2' fill='none'/%3e%3c/svg%3e");
}
.hero-carousel .carousel-control-next-icon{
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%231f2a37' viewBox='0 0 16 16'%3e%3cpath d='M5 1l8 7-8 7' stroke='%231f2a37' stroke-width='2' fill='none'/%3e%3c/svg%3e");
}
html.theme-dark .hero-carousel .carousel-control-prev-icon,
html.theme-dark .hero-carousel .carousel-control-next-icon{
  background-color: rgba(18,24,38, .78);
  border-color: rgba(255,255,255,.18);
  background-size: 14px 14px;
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
}
html.theme-dark .hero-carousel .carousel-control-prev-icon{
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23f3f7fd' viewBox='0 0 16 16'%3e%3cpath d='M11 1 3 8l8 7' stroke='%23f3f7fd' stroke-width='2' fill='none'/%3e%3c/svg%3e");
}
html.theme-dark .hero-carousel .carousel-control-next-icon{
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23f3f7fd' viewBox='0 0 16 16'%3e%3cpath d='M5 1l8 7-8 7' stroke='%23f3f7fd' stroke-width='2' fill='none'/%3e%3c/svg%3e");
}

/* ====== PROMO CAROUSEL (variant: carousel) ====== */
.predlo-carousel .carousel-inner{ border-radius: 14px; overflow:hidden; }
.promo-card{ border-radius: 12px; overflow:hidden; transition: transform .22s ease, box-shadow .22s ease; }
.promo-card:hover{ transform: translateY(-6px); box-shadow: 0 16px 36px rgba(0,0,0,.20); }

/* Стрелки такие же, как у hero */
.predlo-carousel .carousel-control-prev,
.predlo-carousel .carousel-control-next{ width:56px; }
.predlo-carousel .carousel-control-prev-icon,
.predlo-carousel .carousel-control-next-icon{
  width: 42px; height:42px; border-radius:50%;
  background-color: rgba(var(--surface-rgb,255,255,255), .78);
  background-size: 14px 14px;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}
.predlo-carousel .carousel-control-prev-icon{ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%231f2a37' viewBox='0 0 16 16'%3e%3cpath d='M11 1 3 8l8 7' stroke='%231f2a37' stroke-width='2' fill='none'/%3e%3c/svg%3e"); }
.predlo-carousel .carousel-control-next-icon{ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%231f2a37' viewBox='0 0 16 16'%3e%3cpath d='M5 1l8 7-8 7' stroke='%231f2a37' stroke-width='2' fill='none'/%3e%3c/svg%3e"); }
html.theme-dark .predlo-carousel .carousel-control-prev-icon,
html.theme-dark .predlo-carousel .carousel-control-next-icon{
  background-color: rgba(18,24,38, .78);
  border-color: rgba(255,255,255,.18);
  background-size: 14px 14px;
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
}
html.theme-dark .predlo-carousel .carousel-control-prev-icon{ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23f3f7fd' viewBox='0 0 16 16'%3e%3cpath d='M11 1 3 8l8 7' stroke='%23f3f7fd' stroke-width='2' fill='none'/%3e%3c/svg%3e"); }
html.theme-dark .predlo-carousel .carousel-control-next-icon{ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23f3f7fd' viewBox='0 0 16 16'%3e%3cpath d='M5 1l8 7-8 7' stroke='%23f3f7fd' stroke-width='2' fill='none'/%3e%3c/svg%3e"); }

/* ====== GRID (variant: grid) ====== */
.predlo-grid .promo-card{ border-radius: 12px; transition: transform .22s ease, box-shadow .22s ease; }
.predlo-grid .promo-card:hover{ transform: translateY(-6px); box-shadow: 0 16px 36px rgba(0,0,0,.20); }
