/* ── Hero ── */
.hero{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden;background:var(--dark)}
.hero__bg{position:absolute;inset:0;background:linear-gradient(135deg,#1a3a1a 0%,#2d5a1e 50%,#1a1a1a 100%)}
.hero__slider{position:absolute;inset:0}
.hero__slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease}
.hero__slide.active{opacity:1}
.hero__overlay{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.hero__content{position:relative;z-index:2;text-align:center;color:var(--white);padding:80px 0}
.hero__title{font-size:2.8rem;font-weight:800;line-height:1.2;margin-bottom:16px;max-width:800px;margin-left:auto;margin-right:auto}
.hero__subtitle{font-size:1.15rem;line-height:1.6;margin-bottom:36px;max-width:600px;margin-left:auto;margin-right:auto;opacity:.85}
.hero__actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero__btn{min-width:180px}
.hero__dots{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:3}
.hero__dot{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.4);border:none;cursor:pointer;transition:var(--transition)}
.hero__dot.active{background:var(--white);transform:scale(1.2)}

/* ── Categories Grid ── */
.categories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cat-card{display:flex;flex-direction:column;border-radius:var(--radius-lg);overflow:hidden;background:var(--white);box-shadow:var(--shadow);transition:var(--transition)}
.cat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.cat-card__img{height:200px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg)}
.cat-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.cat-card:hover .cat-card__img img{transform:scale(1.05)}
.cat-card__img--placeholder{color:var(--text-muted)}
.cat-card__body{padding:20px}
.cat-card__title{font-size:1.05rem;font-weight:700;margin-bottom:4px}
.cat-card__count{font-size:.82rem;color:var(--text-muted)}

/* ── Stats ── */
.stats-section{background:var(--dark);padding:48px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:center}
.stat-card__number{font-size:2.8rem;font-weight:800;color:var(--primary-light)}
.stat-card__suffix{font-size:1.6rem;font-weight:700;color:var(--primary-light)}
.stat-card__label{font-size:.9rem;color:rgba(255,255,255,.7);margin-top:4px}

/* ── About Block ── */
.about-block{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.about-block__title{font-size:1.8rem;font-weight:700;margin-bottom:16px}
.about-block__btn{margin-top:24px}
.about-block__img{border-radius:var(--radius-lg);overflow:hidden}
.about-block__img img{width:100%;height:auto}

/* ── Carousel (multi-image) ── */
.carousel-wrap{position:relative;padding:0 60px}
.carousel{overflow:hidden}
.carousel__track{display:flex;gap:16px;will-change:transform}
.carousel__slide{flex:0 0 calc(33.333% - 11px);width:calc(33.333% - 11px);max-width:calc(33.333% - 11px);border-radius:var(--radius-lg);overflow:hidden;height:280px}
.carousel__slide img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:var(--radius-lg);transition:transform .3s ease}
.carousel__slide:hover img{transform:scale(1.03)}
.carousel__btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--primary);border-radius:50%;font-size:1.6rem;color:var(--white);box-shadow:0 4px 16px rgba(58,125,68,.3);z-index:2;transition:var(--transition);border:none;cursor:pointer}
.carousel__btn:hover{background:var(--primary-dark);box-shadow:0 6px 20px rgba(58,125,68,.4);transform:translateY(-50%) scale(1.08)}
.carousel__btn--prev{left:0}
.carousel__btn--next{right:0}
.carousel__btn svg{width:22px;height:22px;stroke:currentColor;stroke-width:2.5;fill:none}

/* ── CTA Form ── */
.cta-form-block{background:var(--primary);border-radius:var(--radius-lg);padding:48px;text-align:center;color:var(--white)}
.cta-form-block__title{font-size:1.6rem;font-weight:700;margin-bottom:8px}
.cta-form-block__text{font-size:.95rem;opacity:.85;margin-bottom:24px}
.cta-form{display:flex;gap:12px;max-width:480px;margin:0 auto;justify-content:center}
.cta-form__input{flex:1;padding:14px 18px;border-radius:var(--radius);font-size:.95rem}
.cta-form__btn{white-space:nowrap;background:var(--dark);color:var(--white)}
.cta-form__btn:hover{background:var(--primary-dark)}

/* ── Consultation form ── */
.consult-form-block{background:var(--white);border-radius:var(--radius-lg);padding:48px;box-shadow:var(--shadow);max-width:600px;margin:0 auto}
.consult-form-block__title{font-size:1.4rem;font-weight:700;text-align:center;margin-bottom:24px}
.consult-form__input,.consult-form__textarea{width:100%;padding:14px 18px;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;margin-bottom:12px}
.consult-form__input:focus,.consult-form__textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(58,125,68,.12)}
.consult-form__btn{width:100%;margin-top:8px}

/* ── Contact Details ── */
.contact-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}
.cd-item{display:flex;gap:16px;align-items:flex-start}
.cd-item svg{flex-shrink:0;color:var(--primary);margin-top:2px}
.cd-item__label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:2px}
.cd-item__value{font-size:1rem;font-weight:600;color:var(--dark);transition:var(--transition)}
.cd-item__value:hover{color:var(--primary)}

/* ── Map ── */
.map-block{width:100%;height:400px;overflow:hidden;border-radius:0}
.map-block iframe{width:100%;height:100%;border:0}
.map-placeholder{display:flex;align-items:center;justify-content:center;height:400px;background:var(--bg);color:var(--text-muted)}

/* ── News/Products feed ── */
.news-feed,.products-feed{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.news-feed__more,.products-feed__more{text-align:center;margin-top:32px}

/* ── Rich text ── */
.rich-text{line-height:1.7;font-size:.95rem;color:var(--text)}
.rich-text p{margin-bottom:14px}
.rich-text h2,.rich-text h3{margin:24px 0 12px;font-weight:700}
.rich-text ul,.rich-text ol{padding-left:24px;margin-bottom:14px;list-style:disc}
.rich-text ol{list-style:decimal}
.rich-text img{border-radius:var(--radius);margin:16px 0}

/* ── Divider ── */
.divider{border:none;height:1px;background:var(--border);margin:8px 0}

/* ── Inline order forms ── */
[data-order-form] .form-success{text-align:center;color:var(--primary);font-weight:500;padding:16px 0}

/* ── Responsive ── */
@media(max-width:1199px){
    .hero__title{font-size:2.2rem}
    .stats-grid{grid-template-columns:repeat(2,1fr);gap:24px}
    .carousel__slide{min-width:calc(33.333% - 11px)}
}
@media(max-width:919px){
    .hero{min-height:420px}
    .hero__title{font-size:1.8rem}
    .hero__subtitle{font-size:1rem}
    .hero__content{padding:60px 0}
    .categories-grid{grid-template-columns:repeat(2,1fr);gap:16px}
    .about-block{grid-template-columns:1fr;gap:24px}
    .about-block__img{order:-1}
    .carousel__slide{min-width:calc(50% - 8px)}
    .carousel-wrap{padding:0 44px}
    .cta-form{flex-direction:column}
    .news-feed,.products-feed{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:519px){
    .hero{min-height:360px}
    .hero__title{font-size:1.45rem}
    .hero__subtitle{font-size:.88rem;margin-bottom:24px}
    .hero__content{padding:40px 0}
    .hero__actions{flex-direction:column;align-items:center}
    .hero__btn{width:100%;max-width:260px}
    .categories-grid{grid-template-columns:1fr}
    .cat-card__img{height:160px}
    .stats-grid{grid-template-columns:1fr 1fr;gap:16px}
    .stat-card__number{font-size:2rem}
    .cta-form-block{padding:32px 16px}
    .consult-form-block{padding:28px 16px}
    .map-block{height:280px}
    .news-feed,.products-feed{grid-template-columns:1fr}
    .carousel__slide{min-width:calc(100% - 0px)}
    .carousel-wrap{padding:0 40px}
    .carousel__btn{width:36px;height:36px}
    .carousel__btn svg{width:18px;height:18px}
}
@media(max-width:299px){
    .hero{min-height:280px}
    .hero__title{font-size:1.2rem}
    .hero__subtitle{font-size:.8rem}
    .cat-card__img{height:120px}
    .cat-card__body{padding:12px}
    .cta-form-block{padding:20px 10px}
    .stats-grid{grid-template-columns:1fr}
}
