/* Rishi Hybrid Seeds: home page sections and footer.
   Brand: green #7fad39, red #DA251C, dark green #1f3310, font Cairo (from style.css). */

/* ---------- Shared section layout ---------- */
.rh-section { padding: 80px 0; }
.rh-section--tint { background-color: #f7faf2; }
.rh-heading { max-width: 680px; margin: 0 auto 44px; text-align: center; }
.rh-label {
    margin-bottom: 8px;
    color: #7fad39;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.rh-heading h2, .rh-title {
    margin-bottom: 12px;
    color: #1c1c1c;
    font-size: clamp(30px, 3.6vw, 44px);
    font-weight: 700;
    line-height: 1.2;
}
.rh-lead { margin: 0; color: #555; font-size: 17px; line-height: 1.7; }
.rh-link { color: #7fad39; font-weight: 700; }
.rh-link:hover { color: #DA251C; }
.rh-link i { margin-left: 6px; transition: transform 0.2s ease; }
.rh-link:hover i { transform: translateX(3px); }

/* ---------- Hero ---------- */
.rh-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 560px;
    padding: 64px 0;
    background-color: #1f3310;
    background-image: linear-gradient(90deg, rgba(18, 34, 8, 0.88) 0%, rgba(18, 34, 8, 0.70) 45%, rgba(18, 34, 8, 0.25) 100%),
                      url("../img/shutterstock_129180998.jpg");
    background-size: cover;
    background-position: center;
    color: #fff;
}
.rh-hero__content { max-width: 640px; }
.rh-hero__eyebrow {
    display: inline-block;
    margin-bottom: 18px;
    padding: 6px 16px;
    border-left: 4px solid #7fad39;
    background: rgba(255, 255, 255, 0.10);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.rh-hero h1 {
    margin-bottom: 18px;
    color: #fff;
    font-size: clamp(34px, 5.2vw, 62px);
    font-weight: 900;
    line-height: 1.1;
}
.rh-hero h1 span { display: block; color: #7fad39; }
.rh-hero__lead {
    margin-bottom: 30px;
    color: rgba(255, 255, 255, 0.90);
    font-size: clamp(16px, 1.6vw, 20px);
    line-height: 1.6;
}
.rh-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.rh-hero .rh-actions { margin-bottom: 44px; }
.rh-actions .primary-btn { padding: 14px 30px; border-radius: 4px; }
.rh-btn-red { background-color: #DA251C; }
.rh-btn-outline { background: transparent; border: 2px solid #fff; padding: 12px 28px !important; }
.rh-btn-outline:hover { background: #fff; color: #1f3310; }
.rh-hero__stats { display: flex; flex-wrap: wrap; }
.rh-hero__stat { padding: 0 28px; border-left: 1px solid rgba(255, 255, 255, 0.30); }
.rh-hero__stat:first-child { padding-left: 0; border-left: none; }
.rh-hero__stat strong { display: block; color: #7fad39; font-size: 34px; font-weight: 900; line-height: 1.1; }
.rh-hero__stat span { display: block; margin-top: 4px; color: rgba(255, 255, 255, 0.85); font-size: 14px; line-height: 1.4; }

/* ---------- About ---------- */
.rh-about__text p:not(.rh-label) { margin-bottom: 18px; color: #444; font-size: 17px; line-height: 1.8; }
.rh-about__text p.rh-about__intro { color: #1c1c1c; font-size: 19px; }
.rh-about__card {
    padding: 32px;
    background: #f7faf2;
    border: 1px solid #e3ecd4;
    border-radius: 12px;
}
.rh-about__card h3 { margin-bottom: 14px; font-size: 22px; font-weight: 700; }
.rh-about__card h3 i { margin-right: 10px; color: #7fad39; }
.rh-about__card p { margin: 0; color: #444; font-size: 16px; line-height: 1.8; }
.rh-quote {
    margin: 24px 0 0;
    padding: 24px 28px;
    border-left: 5px solid #7fad39;
    border-radius: 0 12px 12px 0;
    background: #1f3310;
    color: rgba(255, 255, 255, 0.92);
    font-size: 16px;
    line-height: 1.8;
}
.rh-quote strong { color: #7fad39; }

/* ---------- Cultivation areas ---------- */
.rh-areas__grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.rh-area {
    flex: 0 0 calc(25% - 15px);
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px 20px;
    background: #fff;
    border: 1px solid #e3ecd4;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(31, 51, 16, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.rh-area:hover { transform: translateY(-4px); border-color: #7fad39; box-shadow: 0 8px 20px rgba(31, 51, 16, 0.12); }
.rh-area__icon {
    flex: 0 0 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(127, 173, 57, 0.14);
    color: #7fad39;
    font-size: 20px;
    transition: background 0.25s ease, color 0.25s ease;
}
.rh-area:hover .rh-area__icon { background: #7fad39; color: #fff; }
.rh-area h4 { margin: 0; font-size: 18px; font-weight: 700; }

/* ---------- Success stories ---------- */
.rh-videos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.rh-video {
    overflow: hidden;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(31, 51, 16, 0.10);
}
.rh-video__frame { position: relative; padding-top: 56.25%; background: #000; }
.rh-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.rh-video__caption { padding: 16px 20px; font-weight: 700; }
.rh-video__caption i { margin-right: 8px; color: #DA251C; }
.rh-center { margin-top: 32px; text-align: center; }

/* ---------- Dealer call to action ---------- */
.rh-dealer {
    padding: 70px 0;
    background-color: #1f3310;
    background-image: linear-gradient(120deg, rgba(18, 34, 8, 0.96), rgba(31, 51, 16, 0.90));
    color: #fff;
}
.rh-dealer__inner { display: flex; align-items: center; gap: 40px; }
.rh-dealer__icon {
    flex: 0 0 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: rgba(127, 173, 57, 0.18);
    color: #7fad39;
    font-size: 54px;
}
.rh-dealer h2 { margin-bottom: 10px; color: #fff; font-size: clamp(28px, 3.2vw, 40px); font-weight: 700; }
.rh-dealer h2 span { color: #7fad39; }
.rh-dealer p { margin-bottom: 24px; color: rgba(255, 255, 255, 0.85); font-size: 17px; }
.rh-dealer__emails { margin-top: 18px; color: rgba(255, 255, 255, 0.85); font-size: 15px; }
.rh-dealer__emails a { margin-right: 18px; color: #fff; }
.rh-dealer__emails a:hover { color: #7fad39; }
.rh-dealer__emails i { margin-right: 6px; color: #7fad39; }

/* ---------- Crop categories ---------- */
.rh-crops { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.rh-crop {
    position: relative;
    display: flex;
    align-items: flex-end;
    height: 220px;
    overflow: hidden;
    border-radius: 12px;
    background-color: #7fad39;
    background-image: linear-gradient(135deg, #7fad39, #1f3310);
    background-size: cover;
    background-position: center;
}
.rh-crop::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(transparent 40%, rgba(18, 34, 8, 0.85));
    transition: opacity 0.25s ease;
}
.rh-crop span { position: relative; z-index: 1; padding: 18px 20px; color: #fff; font-size: 20px; font-weight: 700; }
.rh-crop span i { margin-left: 8px; font-size: 14px; transition: transform 0.2s ease; }
.rh-crop:hover span i { transform: translateX(4px); }

/* ---------- Product cards ---------- */
.rh-products__head { display: flex; align-items: baseline; justify-content: space-between; margin: 0 0 20px; }
.rh-products__head h3 { margin: 0; font-size: 26px; font-weight: 700; }
.rh-products + .rh-products__head { margin-top: 50px; }
.rh-products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.rh-product {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e3ecd4;
    border-radius: 12px;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.rh-product:hover { transform: translateY(-4px); border-color: #7fad39; box-shadow: 0 10px 24px rgba(31, 51, 16, 0.12); }
.rh-product__img { display: flex; align-items: center; justify-content: center; height: 220px; padding: 16px; background: #f7faf2; }
.rh-product__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rh-product__img--empty img { max-width: 60%; opacity: 0.5; }
.rh-product__body { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-top: 3px solid #DA251C; }
.rh-product__body h4 { margin: 0; color: #1c1c1c; font-size: 17px; font-weight: 700; }
.rh-product__body i { color: #7fad39; }

/* ---------- Blog cards ---------- */
.rh-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.rh-post { overflow: hidden; background: #fff; border-radius: 12px; box-shadow: 0 6px 20px rgba(31, 51, 16, 0.08); }
.rh-post__img { height: 210px; background: #f7faf2 center / cover no-repeat; }
.rh-post__body { padding: 20px 22px 24px; }
.rh-post__date { color: #7fad39; font-size: 14px; font-weight: 700; }
.rh-post__body h3 { margin: 6px 0 14px; font-size: 20px; font-weight: 700; line-height: 1.4; }
.rh-post__body h3 a { color: #1c1c1c; }

/* ---------- Footer ---------- */
.rh-footer { padding: 64px 0 0; background: #1f3310; color: rgba(255, 255, 255, 0.80); font-size: 15px; }
.rh-footer__grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.3fr; gap: 36px; padding-bottom: 44px; text-align: center; }
.rh-footer__logo { display: inline-block; margin-bottom: 16px; padding: 10px 14px; background: #fff; border-radius: 10px; }
.rh-footer__logo img { max-width: 150px; }
.rh-footer p { margin-bottom: 12px; color: rgba(255, 255, 255, 0.80); font-size: 15px; line-height: 1.4; }
.rh-footer p.rh-footer__motto { color: #7fad39; font-weight: 700; }
.rh-footer h6 { margin-bottom: 18px; color: #fff; font-size: 16px; font-weight: 700; line-height: 1.6; letter-spacing: 1px; text-transform: uppercase; }
.rh-footer ul { margin: 0; padding: 0; list-style: none; }
.rh-footer li { margin-bottom: 10px; line-height: 1.6; }
.rh-footer a { color: rgba(255, 255, 255, 0.80); }
.rh-footer a:hover { color: #7fad39; }
.rh-footer__contact li { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.rh-footer__contact i { color: #7fad39; }
.rh-footer__bottom { padding: 18px 0; border-top: 1px solid rgba(255, 255, 255, 0.12); font-size: 14px; line-height: 1.6; text-align: center; }

/* ---------- WhatsApp button ---------- */
.rh-whatsapp {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: #7fad39;
    color: #fff;
    font-size: 30px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}
.rh-whatsapp:hover { background-color: #6c9530; color: #fff; }

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
    .rh-area { flex-basis: calc(33.333% - 14px); }
    .rh-crops, .rh-products { grid-template-columns: repeat(3, 1fr); }
    .rh-posts { grid-template-columns: repeat(2, 1fr); }
    .rh-footer__grid { grid-template-columns: repeat(2, 1fr); }
    .rh-about__side { margin-top: 30px; }
}
@media (max-width: 767px) {
    .rh-section { padding: 56px 0; }
    .rh-hero {
        min-height: 0;
        padding: 48px 0;
        background-image: linear-gradient(rgba(18, 34, 8, 0.82), rgba(18, 34, 8, 0.82)), url("../img/shutterstock_129180998-sm.jpg");
    }
    .rh-hero .rh-actions .primary-btn, .rh-dealer .rh-actions .primary-btn { flex: 1 1 100%; text-align: center; }
    .rh-hero__stat { flex: 1 1 0; padding: 0 12px; }
    .rh-hero__stat strong { font-size: 26px; }
    .rh-hero__stat span { font-size: 12px; }
    .rh-about__text p:not(.rh-label), .rh-about__text p.rh-about__intro { font-size: 16px; }
    .rh-area { flex-basis: calc(50% - 10px); flex-direction: column; gap: 10px; padding: 18px 12px; text-align: center; }
    .rh-area h4 { font-size: 16px; }
    .rh-videos, .rh-posts { grid-template-columns: 1fr; }
    .rh-dealer__inner { flex-direction: column; gap: 20px; text-align: center; }
    .rh-dealer__icon { flex-basis: auto; width: 90px; height: 90px; font-size: 40px; }
    .rh-dealer__emails a { display: block; margin: 0 0 8px; }
    .rh-crops, .rh-products { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .rh-crop { height: 160px; }
    .rh-crop span { font-size: 16px; padding: 14px; }
    .rh-product__img { height: 160px; }
    .rh-footer__grid { grid-template-columns: 1fr; gap: 28px; }
}

/* ---------- 404 page ---------- */
.rh-404 { padding: 90px 0 100px; text-align: center; }
.rh-404 .rh-404__code { margin: 0 auto; color: #7fad39; font-size: clamp(90px, 14vw, 160px); font-weight: 900; line-height: 1; }
.rh-404 h1 { margin-bottom: 14px; font-size: clamp(28px, 3.4vw, 40px); font-weight: 700; }
.rh-404 p { max-width: 520px; margin: 0 auto 30px; color: #555; font-size: 17px; }
.rh-404 .rh-actions { justify-content: center; }
.rh-btn-ghost { background: transparent; border: 2px solid #7fad39; color: #7fad39; padding: 12px 28px !important; }
.rh-btn-ghost:hover { background: #7fad39; color: #fff; }

/* ---------- Page header (inner pages) ---------- */
.rh-page-head {
    padding: 56px 0;
    background-color: #1f3310;
    background-image: linear-gradient(120deg, rgba(18, 34, 8, 0.96), rgba(31, 51, 16, 0.88));
    color: #fff;
    text-align: center;
}
.rh-page-head .rh-label { margin-bottom: 6px; }
.rh-page-head h1 { margin: 0; color: #fff; font-size: clamp(30px, 4vw, 46px); font-weight: 700; }
.rh-page-head p { max-width: 640px; margin: 12px auto 0; color: rgba(255, 255, 255, 0.85); font-size: 17px; }

/* ---------- Long text pages (R&D, privacy) ---------- */
.rh-prose { max-width: 860px; margin: 0 auto; }
.rh-prose p, .rh-prose li { color: #444; font-size: 17px; line-height: 1.8; }
.rh-prose h2, .rh-prose h3, .rh-prose h4, .rh-prose h5, .rh-prose h6 { margin: 28px 0 12px; color: #1c1c1c; font-weight: 700; }

/* ---------- Empty state ---------- */
.rh-empty {
    max-width: 560px;
    margin: 0 auto;
    padding: 44px 32px;
    background: #f7faf2;
    border: 1px dashed #c9dcaa;
    border-radius: 12px;
    text-align: center;
}
.rh-empty i { margin-bottom: 14px; color: #7fad39; font-size: 40px; }
.rh-empty h3 { margin-bottom: 8px; font-size: 22px; font-weight: 700; }
.rh-empty p { margin-bottom: 20px; color: #555; }

/* ---------- Gallery ---------- */
.rh-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 32px; }
.rh-filters .btn {
    padding: 6px 16px;
    border: 1px solid #c9dcaa;
    border-radius: 20px;
    background: #fff;
    color: #1c1c1c;
    font-size: 14px;
}
.rh-filters .btn.active, .rh-filters .btn:hover { border-color: #7fad39; background: #7fad39; color: #fff; }
.rh-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.rh-gallery .filterDiv { display: none; float: none; margin: 0; line-height: normal; max-width: none; }
.rh-gallery .filterDiv.show { display: block; }
.rh-gallery img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(31, 51, 16, 0.12);
    cursor: zoom-in;
    transition: transform 0.25s ease;
}
.rh-gallery img:hover { transform: scale(1.02); }

/* ---------- Testimonials: videos stored as iframe HTML ---------- */
.rh-video__frame iframe { max-width: none !important; max-height: none !important; }

/* ---------- Contact page ---------- */
.contact__widget a { color: #7fad39; }
.contact__widget a:hover { color: #DA251C; }

@media (max-width: 767px) {
    .rh-page-head { padding: 40px 0; }
    .rh-gallery { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .rh-prose p, .rh-prose li { font-size: 16px; }
}

/* ---------- Products pages: grid and list views ---------- */
.rh-plist-section { padding: 10px 0 30px; }
.rh-products--3 { grid-template-columns: repeat(3, 1fr); }
.rh-product__cat { display: block; margin-top: 2px; color: #7fad39; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.rh-prow {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-bottom: 16px;
    padding: 16px 20px 16px 16px;
    background: #fff;
    border: 1px solid #e3ecd4;
    border-left: 4px solid #DA251C;
    border-radius: 12px;
    transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
.rh-prow:hover { border-color: #7fad39; box-shadow: 0 8px 20px rgba(31, 51, 16, 0.10); }
.rh-prow__img { flex: 0 0 110px; display: flex; align-items: center; justify-content: center; height: 110px; padding: 8px; background: #f7faf2; border-radius: 8px; }
.rh-prow__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rh-prow__body { flex: 1 1 auto; min-width: 0; }
.rh-prow__body h4 { margin: 2px 0 6px; color: #1c1c1c; font-size: 19px; font-weight: 700; }
.rh-prow__body p { margin: 0 0 6px; color: #555; font-size: 15px; line-height: 1.6; }
.rh-prow__meta { color: #555; font-size: 14px; }
.rh-prow__meta i { margin-right: 6px; color: #7fad39; }
.rh-prow__cta { flex: 0 0 auto; color: #7fad39; font-weight: 700; white-space: nowrap; }
.rh-prow__cta i { margin-left: 6px; }
.filter__option span { cursor: pointer; font-size: 22px; }
/* grid / list toggle: Font Awesome glyphs fill more of the line than the old Elegant Icons ones */
.filter__option span.fas { font-size: 17px; line-height: 22px; }

/* ---------- Product page: related products ---------- */
.rh-related { padding: 60px 0 80px; background: #f7faf2; }

@media (max-width: 991px) {
    .rh-products--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .rh-prow { gap: 14px; padding: 12px; }
    .rh-prow__img { flex-basis: 80px; height: 80px; }
    .rh-prow__body h4 { font-size: 17px; }
    .rh-prow__body p { display: none; }
    .rh-prow__cta { display: none; }
    .rh-related { padding: 44px 0 56px; }
}

/* ---------- Products / category pages: sliding banner ---------- */
.rh-banner { position: relative; overflow: hidden; padding: 0; }
.rh-banner .hero__item { height: 420px; padding-left: 0; background-position: center; }
.rh-banner__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(rgba(18, 34, 8, 0.45), rgba(18, 34, 8, 0.70));
    text-align: center;
    pointer-events: none;
}
.rh-banner__overlay .rh-label { margin-bottom: 6px; color: #b8dc80; }
.rh-banner__overlay h1 { margin: 0; color: #fff; font-size: clamp(30px, 4vw, 46px); font-weight: 700; text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35); }
@media (max-width: 767px) {
    .rh-banner .hero__item { height: 240px; }
}

/* ---------- Product detail page ---------- */
.rh-crumbs { padding: 14px 0; background: #f7faf2; border-bottom: 1px solid #e3ecd4; font-size: 14px; }
.rh-crumbs a { color: #555; }
.rh-crumbs a:hover { color: #7fad39; }
.rh-crumbs i { margin: 0 10px; color: #b2b2b2; }
.rh-crumbs span { color: #1c1c1c; font-weight: 700; }
.rh-crumbs a.rh-back {
    display: inline-flex; align-items: center; gap: 6px;
    margin-right: 18px; padding: 5px 14px;
    border: 1px solid #7fad39; border-radius: 20px;
    color: #7fad39; font-weight: 700;
}
.rh-crumbs a.rh-back i { margin: 0; color: inherit; }
.rh-crumbs a.rh-back:hover { background: #7fad39; color: #fff; }
.rh-pd { padding: 50px 0 60px; }
.rh-pd__img { display: flex; align-items: center; justify-content: center; height: 420px; padding: 24px; background: #f7faf2; border-radius: 16px; }
.rh-pd__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rh-pd__info { padding-left: 20px; }
.rh-pd__info .rh-label { display: inline-block; }
.rh-pd__info h1 { margin: 0 0 14px; font-size: clamp(32px, 4vw, 46px); font-weight: 900; line-height: 1.1; }
.rh-pd__abstract { color: #555; font-size: 17px; }
.rh-pd__lead { margin-bottom: 18px; padding-left: 16px; border-left: 4px solid #7fad39; color: #333; font-size: 18px; line-height: 1.7; }
.rh-badge { display: inline-block; margin-bottom: 24px; padding: 5px 14px; border-radius: 20px; background: rgba(127, 173, 57, 0.14); color: #4f7a17; font-size: 14px; font-weight: 700; }
.rh-badge i { margin-right: 6px; }
.rh-pd .rh-actions { margin-bottom: 26px; }
.rh-share { display: flex; align-items: center; gap: 10px; color: #555; font-size: 14px; }
.rh-share span { margin-right: 4px; font-weight: 700; }
.rh-share a {
    display: flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; border-radius: 50%; background: #7fad39; color: #fff;
    transition: background 0.2s ease, transform 0.2s ease;
}
.rh-share a:hover { background: #5f8a24; color: #fff; transform: translateY(-2px); }
.rh-pd__features { padding-top: 20px; }
.rh-specs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rh-spec { display: flex; align-items: flex-start; gap: 14px; padding: 16px 18px; background: #fff; border: 1px solid #e3ecd4; border-radius: 10px; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.rh-spec:hover { border-color: #7fad39; box-shadow: 0 6px 16px rgba(31, 51, 16, 0.08); }
.rh-spec > i { flex: 0 0 40px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(127, 173, 57, 0.14); color: #7fad39; font-size: 16px; }
.rh-spec span { display: block; margin-bottom: 4px; color: #7a7a7a; font-size: 13px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; }
.rh-spec strong { color: #1c1c1c; font-size: 17px; font-weight: 700; line-height: 1.4; }
@media (max-width: 991px) {
    .rh-pd__info { padding: 30px 0 0; }
    .rh-specs { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .rh-pd { padding: 24px 0 40px; }
    .rh-pd__img { height: 280px; }
    .rh-pd .rh-actions .primary-btn { flex: 1 1 100%; text-align: center; }
    .rh-specs { gap: 10px; }
    .rh-spec { padding: 12px; }
    .rh-spec strong { font-size: 15px; }
}

/* ---------- Product detail page: livelier layout ---------- */
.rh-pd { background: linear-gradient(180deg, #f7faf2 0%, #ffffff 100%); }
.rh-pd__img { position: relative; overflow: hidden; background: #fff; box-shadow: 0 14px 40px rgba(31, 51, 16, 0.12); }
.rh-pd__img::before {
    content: "";
    position: absolute;
    width: 78%;
    padding-top: 78%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(127, 173, 57, 0.28) 0%, rgba(127, 173, 57, 0.08) 70%, transparent 71%);
}
.rh-pd__img img { position: relative; z-index: 1; filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.18)); }
.rh-pd__img.rh-product__img--empty img { filter: none; }
.rh-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 26px; }
.rh-fact { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: #fff; border: 1px solid #e3ecd4; border-left: 4px solid #7fad39; border-radius: 10px; }
.rh-fact > i { color: #7fad39; font-size: 20px; }
.rh-fact span, .rh-spec span { display: block; color: #7a7a7a; font-size: 12px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; }
.rh-fact strong { color: #1c1c1c; font-size: 15px; line-height: 1.3; }
.rh-why { padding: 36px 0; background: #fff; border-top: 1px solid #e3ecd4; }
.rh-why__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.rh-why__item { display: flex; gap: 16px; }
.rh-why__item > i { flex: 0 0 52px; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 12px; background: #1f3310; color: #7fad39; font-size: 22px; }
.rh-why__item h4 { margin-bottom: 4px; font-size: 18px; font-weight: 700; }
.rh-why__item p { margin: 0; color: #555; font-size: 15px; line-height: 1.6; }
.rh-enquiry { padding: 44px 0; background: #1f3310; background-image: linear-gradient(120deg, rgba(18, 34, 8, 0.96), rgba(31, 51, 16, 0.90)); color: #fff; }
.rh-enquiry__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.rh-enquiry h2 { margin-bottom: 6px; color: #fff; font-size: clamp(24px, 2.8vw, 34px); font-weight: 700; }
.rh-enquiry h2 span { color: #7fad39; }
.rh-enquiry p { margin: 0; color: rgba(255, 255, 255, 0.85); }
@media (max-width: 991px) {
    .rh-why__grid { grid-template-columns: 1fr; gap: 18px; }
    .rh-enquiry__inner { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 767px) {
    .rh-facts { grid-template-columns: 1fr; gap: 8px; }
    .rh-enquiry .rh-actions { width: 100%; }
    .rh-enquiry .rh-actions .primary-btn { flex: 1 1 100%; text-align: center; }
}

/* ---------- Header top bar ---------- */
.rh-topbar { padding: 0; background: #1f3310; }
.rh-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 44px; padding: 0 10px; }
.rh-topbar__contact { display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 0; list-style: none; }
.rh-topbar__contact li { display: flex; align-items: center; margin: 0; padding: 0 16px; border-left: 1px solid rgba(255, 255, 255, 0.18); color: rgba(255, 255, 255, 0.85); font-size: 14px; }
.rh-topbar__contact li:first-child { padding-left: 0; border-left: none; }
.rh-topbar__contact a { color: rgba(255, 255, 255, 0.90); }
.rh-topbar__contact a:hover { color: #7fad39; }
.rh-topbar__contact i { margin-right: 8px; color: #7fad39; }
.rh-topbar__right { display: flex; align-items: center; gap: 16px; }
.rh-topbar__quote { padding: 5px 14px; border-radius: 4px; background: #DA251C; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.rh-topbar__quote i { margin-right: 6px; }
.rh-topbar__quote:hover { background: #b81d15; color: #fff; }
.rh-topbar__social { display: flex; gap: 8px; }
.rh-topbar__social a { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: #7fad39; color: #fff; font-size: 14px; transition: background 0.2s ease, transform 0.2s ease; }
.rh-topbar__social a:hover { background: #fff; color: #1f3310; transform: translateY(-2px); }
@media (max-width: 1199px) { .rh-topbar__hours { display: none !important; } }

/* ---------- Products / category pages: crop pills and results bar ---------- */
.rh-catalog { padding-top: 40px; }
.rh-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.rh-pills a {
    padding: 7px 16px;
    border: 1px solid #c9dcaa;
    border-radius: 20px;
    background: #fff;
    color: #1c1c1c;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.rh-pills a:hover { border-color: #7fad39; color: #7fad39; }
.rh-pills a.active { border-color: #7fad39; background: #7fad39; color: #fff; }
.rh-results {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding: 14px 18px;
    background: #f7faf2;
    border: 1px solid #e3ecd4;
    border-radius: 10px;
}
.rh-results p { margin: 0; color: #555; font-size: 16px; }
.rh-results strong { color: #1c1c1c; }
.rh-results .filter__option { display: flex; gap: 12px; }
.rh-pagination .pagination { justify-content: center; margin-top: 10px; }
@media (max-width: 767px) {
    .rh-pills { flex-wrap: nowrap; overflow-x: auto; margin: 0 -15px 20px; padding: 0 15px 6px; -webkit-overflow-scrolling: touch; }
}

/* ---------- Search ---------- */
.rh-search {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 18px;
    padding: 4px;
    border: 1px solid #c9dcaa;
    border-radius: 28px;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.rh-search:focus-within { border-color: #7fad39; box-shadow: 0 0 0 3px rgba(127, 173, 57, 0.18); }
.rh-search > i { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: #7fad39; }
.rh-search input {
    flex: 1 1 auto;
    min-width: 0;
    height: 44px;
    padding: 0 14px 0 40px;
    border: none;
    background: transparent;
    font-size: 16px;
}
.rh-search input:focus { outline: none; }
.rh-search .primary-btn { height: 44px; padding: 0 28px; border: none; border-radius: 24px; cursor: pointer; }
.rh-search .primary-btn:hover { background: #6c9530; }
.rh-search--menu { margin: 0 0 20px; }
.rh-search--menu input { height: 38px; font-size: 15px; }
.rh-clear { margin-left: 10px; font-size: 14px; }
.rh-found-crops { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 20px; }
.rh-found-crops span { color: #555; font-weight: 700; }
.rh-found-crops a { padding: 6px 14px; border-radius: 20px; background: #1f3310; color: #fff; font-size: 14px; font-weight: 700; }
.rh-found-crops a i { margin-left: 6px; color: #7fad39; }
.rh-found-crops a:hover { background: #7fad39; }
.rh-found-crops a:hover i { color: #fff; }
@media (max-width: 767px) {
    .rh-search .primary-btn { display: none; }
}

/* ---------- Live search suggestions ---------- */
.rh-suggest {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 1050;
    max-height: 420px;
    overflow-y: auto;
    padding: 8px;
    background: #fff;
    border: 1px solid #e3ecd4;
    border-radius: 14px;
    box-shadow: 0 14px 34px rgba(31, 51, 16, 0.18);
}
.rh-suggest[hidden] { display: none; }
.rh-suggest__title { margin: 6px 10px 4px; color: #7fad39; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.rh-suggest__item { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 10px; color: #1c1c1c; }
.rh-suggest__item:hover, .rh-suggest__item.is-active { background: #f7faf2; color: #1c1c1c; }
.rh-suggest__item img { flex: 0 0 40px; width: 40px; height: 40px; padding: 3px; border-radius: 8px; background: #f7faf2; object-fit: contain; }
.rh-suggest__item span { display: flex; flex-direction: column; min-width: 0; }
.rh-suggest__item strong { font-size: 15px; font-weight: 600; }
.rh-suggest__item small { color: #7a7a7a; font-size: 12px; }
.rh-suggest__item b { color: #7fad39; font-weight: 800; }
.rh-suggest__crop i { flex: 0 0 40px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 8px; background: rgba(127, 173, 57, 0.14); color: #7fad39; }
.rh-suggest__crop span { display: block; font-weight: 600; }
.rh-suggest__all { justify-content: center; margin-top: 4px; border-top: 1px solid #e3ecd4; border-radius: 0 0 10px 10px; color: #7fad39; font-weight: 700; }
.rh-suggest__all i { margin-left: 4px; }
.rh-suggest__none { margin: 10px; color: #555; }

/* ---------- Research & Development page ---------- */
.rh-rd-hero {
    padding: 90px 0 70px;
    background-color: #1f3310;
    background-image: linear-gradient(90deg, rgba(18, 34, 8, 0.90) 0%, rgba(18, 34, 8, 0.65) 55%, rgba(18, 34, 8, 0.35) 100%),
                      url("../img/rd-field-trial.jpg");
    background-size: cover;
    background-position: center;
    color: #fff;
}
.rh-rd-hero h1 { max-width: 620px; margin-bottom: 34px; color: #fff; font-size: clamp(34px, 5vw, 58px); font-weight: 900; line-height: 1.1; }
.rh-rd-hero__stats { display: flex; flex-wrap: wrap; gap: 16px; }
.rh-rd-hero__stats div { min-width: 190px; padding: 16px 20px; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 12px; background: rgba(255, 255, 255, 0.08); }
.rh-rd-hero__stats strong { display: block; color: #7fad39; font-size: 32px; font-weight: 900; line-height: 1.1; }
.rh-rd-hero__stats span { color: rgba(255, 255, 255, 0.88); font-size: 14px; }
.rh-rd__photo { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; box-shadow: 0 14px 40px rgba(31, 51, 16, 0.18); }
p.rh-rd__text { color: #444; font-size: 17px; line-height: 1.8; }
.rh-rd-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 30px 0 50px; }
.rh-rd-tile { display: flex; align-items: center; gap: 14px; padding: 18px 20px; background: #fff; border: 1px solid #e3ecd4; border-radius: 12px; font-weight: 700; transition: transform 0.2s ease, border-color 0.2s ease; }
.rh-rd-tile:hover { transform: translateY(-3px); border-color: #7fad39; }
.rh-rd-tile i { flex: 0 0 48px; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 12px; background: #1f3310; color: #7fad39; font-size: 20px; }
.rh-rd__subtitle { margin-bottom: 20px; font-size: 24px; font-weight: 700; text-align: center; }
.rh-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.rh-steps li { position: relative; display: flex; align-items: center; min-height: 72px; padding: 14px 18px 14px 64px; background: #fff; border: 1px solid #e3ecd4; border-radius: 12px; font-weight: 700; line-height: 1.4; }
.rh-steps li span { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: #7fad39; color: #fff; font-weight: 900; }
.rh-traits { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-bottom: 30px; }
.rh-traits span { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px; border-radius: 24px; background: #1f3310; color: #fff; font-weight: 700; }
.rh-traits i { color: #7fad39; }
.rh-rd-crops { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 10px; }
.rh-rd-crops a { display: inline-flex; align-items: center; gap: 8px; padding: 6px 16px; border: 1px solid #c9dcaa; border-radius: 20px; background: #f7faf2; color: #1c1c1c; font-weight: 700; font-size: 14px; transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.rh-rd-crops a i { color: #7fad39; font-size: 12px; transition: transform 0.2s ease; }
.rh-rd-crops a:hover { border-color: #7fad39; background: #7fad39; color: #fff; }
.rh-rd-crops a:hover i { color: #fff; transform: translateX(3px); }
.rh-rd-recog { padding: 70px 0; background: #1f3310; background-image: linear-gradient(120deg, rgba(18, 34, 8, 0.97), rgba(31, 51, 16, 0.90)); color: #fff; }
.rh-rd-recog__inner { display: grid; grid-template-columns: 280px 1fr; gap: 50px; align-items: center; }
.rh-rd-recog__num { text-align: center; }
.rh-rd-recog__num strong { display: block; color: #7fad39; font-size: 120px; font-weight: 900; line-height: 1; }
.rh-rd-recog__num span { color: rgba(255, 255, 255, 0.88); font-size: 16px; line-height: 1.5; }
.rh-rd-recog p.rh-rd__text { color: rgba(255, 255, 255, 0.88); }
.rh-rd-recog p.rh-rd__text strong { color: #fff; }
.rh-rd-recog__bodies { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.rh-rd-recog__bodies span { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid rgba(255, 255, 255, 0.20); border-radius: 20px; font-size: 14px; font-weight: 700; }
.rh-rd-recog__bodies i { color: #7fad39; }
.rh-rd-future { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-bottom: 30px; }
.rh-rd-future div { padding: 26px 20px; background: #f7faf2; border: 1px solid #e3ecd4; border-radius: 14px; text-align: center; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.rh-rd-future div:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(31, 51, 16, 0.10); }
.rh-rd-future i { margin-bottom: 14px; color: #7fad39; font-size: 34px; }
.rh-rd-future h4 { margin: 0; font-size: 17px; font-weight: 700; line-height: 1.4; }
@media (max-width: 991px) {
    .rh-rd-tiles { grid-template-columns: repeat(2, 1fr); }
    .rh-steps { grid-template-columns: repeat(2, 1fr); }
    .rh-rd-future { grid-template-columns: repeat(2, 1fr); }
    .rh-rd-recog__inner { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 767px) {
    .rh-rd-hero { padding: 56px 0 44px; background-image: linear-gradient(rgba(18, 34, 8, 0.80), rgba(18, 34, 8, 0.80)), url("../img/rd-field-trial-sm.jpg"); }
    .rh-rd-hero__stats { gap: 8px; flex-wrap: nowrap; }
    .rh-rd-hero__stats div { flex: 1 1 0; min-width: 0; padding: 10px; }
    .rh-rd-hero__stats strong { font-size: 24px; }
    .rh-rd-hero__stats span { display: block; font-size: 11px; line-height: 1.3; }
    .rh-rd-tiles, .rh-steps { grid-template-columns: 1fr; }
    .rh-rd-recog__num strong { font-size: 90px; }
    p.rh-rd__text { font-size: 16px; }
}

/* ---------- Gallery: banner, filters with counts, mosaic, lightbox ---------- */
.rh-gallery-hero {
    padding: 90px 0 70px;
    background-color: #1f3310;
    background-image: linear-gradient(90deg, rgba(18, 34, 8, 0.90) 0%, rgba(18, 34, 8, 0.60) 60%, rgba(18, 34, 8, 0.35) 100%),
                      url("../img/gallery-farmers.jpg");
    background-size: cover;
    background-position: center;
    color: #fff;
}
.rh-gallery-hero h1 { margin-bottom: 10px; color: #fff; font-size: clamp(34px, 5vw, 58px); font-weight: 900; }
.rh-gallery-hero > .container > p:not(.rh-label) { max-width: 560px; margin-bottom: 30px; color: rgba(255, 255, 255, 0.88); font-size: 18px; }
.rh-filters .btn span { display: inline-block; min-width: 22px; margin-left: 6px; padding: 0 6px; border-radius: 10px; background: rgba(127, 173, 57, 0.16); color: #4f7a17; font-size: 12px; font-weight: 700; }
.rh-filters .btn.active span, .rh-filters .btn:hover span { background: rgba(255, 255, 255, 0.25); color: #fff; }
.rh-mosaic { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 200px; grid-auto-flow: dense; gap: 14px; }
.rh-mosaic__item { position: relative; margin: 0; overflow: hidden; border-radius: 12px; cursor: zoom-in; box-shadow: 0 4px 14px rgba(31, 51, 16, 0.12); transition: opacity 0.35s ease, transform 0.35s ease; }
.rh-mosaic__item:nth-child(7n + 1) { grid-column: span 2; grid-row: span 2; }
.rh-mosaic__item:nth-child(7n + 5) { grid-column: span 2; }
.rh-mosaic__item.is-hidden { display: none; }
.rh-mosaic__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.rh-mosaic__item figcaption {
    position: absolute;
    inset: auto 0 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 30px 16px 14px;
    background: linear-gradient(transparent, rgba(18, 34, 8, 0.85));
    color: #fff;
    font-weight: 700;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.rh-mosaic__item figcaption i { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: #7fad39; }
.rh-mosaic__item:hover img, .rh-mosaic__item:focus img { transform: scale(1.06); }
.rh-mosaic__item:hover figcaption, .rh-mosaic__item:focus figcaption { opacity: 1; transform: none; }
.rh-mosaic__item:focus { outline: 3px solid #7fad39; outline-offset: 2px; }
.rh-lightbox { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; gap: 16px; padding: 20px; background: rgba(10, 18, 5, 0.94); }
.rh-lightbox[hidden] { display: none; }
.rh-lightbox figure { max-width: min(1100px, 100%); margin: 0; text-align: center; }
.rh-lightbox img { max-width: 100%; max-height: 80vh; border-radius: 10px; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5); }
.rh-lightbox figcaption { display: flex; justify-content: space-between; margin-top: 12px; color: #fff; font-weight: 700; }
.rh-lightbox__count { color: #7fad39; }
.rh-lightbox button { display: flex; align-items: center; justify-content: center; border: none; border-radius: 50%; background: #7fad39; color: #fff; cursor: pointer; transition: background 0.2s ease; }
.rh-lightbox button:hover { background: #fff; color: #1f3310; }
.rh-lightbox__nav { flex: 0 0 52px; width: 52px; height: 52px; font-size: 30px; }
.rh-lightbox__close { position: absolute; top: 18px; right: 18px; width: 44px; height: 44px; font-size: 20px; }
@media (max-width: 991px) {
    .rh-mosaic { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
    .rh-gallery-hero { padding: 56px 0 44px; background-image: linear-gradient(rgba(18, 34, 8, 0.80), rgba(18, 34, 8, 0.80)), url("../img/gallery-farmers-sm.jpg"); }
    .rh-mosaic { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 150px; gap: 10px; }
    .rh-mosaic__item:nth-child(7n + 5) { grid-column: span 1; }
    .rh-mosaic__item figcaption { opacity: 1; transform: none; padding: 20px 10px 8px; font-size: 13px; }
    .rh-mosaic__item figcaption i { width: 26px; height: 26px; font-size: 12px; }
    .rh-lightbox { padding: 10px; gap: 0; }
    .rh-lightbox__nav { position: absolute; bottom: 24px; width: 46px; height: 46px; }
    .rh-lightbox__prev { left: calc(50% - 56px); }
    .rh-lightbox__next { right: calc(50% - 56px); }
    .rh-lightbox figcaption { padding: 0 6px; }
}

/* ---------- R&D page: R&D team email ---------- */
.rh-rd-hero__mail { display: inline-flex; align-items: center; gap: 10px; margin-top: 20px; padding: 8px 18px; border: 1px solid rgba(255, 255, 255, 0.30); border-radius: 24px; color: #fff; font-weight: 700; }
.rh-rd-hero__mail i { color: #7fad39; }
.rh-rd-hero__mail:hover { background: #7fad39; border-color: #7fad39; color: #fff; }
.rh-rd-hero__mail:hover i { color: #fff; }
.rh-rd-contact { display: flex; align-items: center; gap: 28px; padding: 32px 36px; background: #fff; border: 1px solid #e3ecd4; border-left: 5px solid #7fad39; border-radius: 14px; box-shadow: 0 10px 28px rgba(31, 51, 16, 0.08); }
.rh-rd-contact__icon { flex: 0 0 72px; display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 16px; background: #1f3310; color: #7fad39; font-size: 30px; }
.rh-rd-contact > div:nth-child(2) { flex: 1 1 auto; }
.rh-rd-contact .rh-title { margin-bottom: 6px; font-size: clamp(22px, 2.6vw, 30px); }
.rh-rd-contact p:not(.rh-label) { margin: 0; color: #555; }
.rh-rd-contact .primary-btn { flex: 0 0 auto; text-transform: none; letter-spacing: 0.5px; }
@media (max-width: 991px) {
    .rh-rd-contact { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 767px) {
    .rh-rd-contact { padding: 24px 20px; gap: 16px; }
    .rh-rd-contact .primary-btn { width: 100%; text-align: center; }
}

/* ---------- Testimonials page ---------- */
.rh-testi-hero {
    padding: 90px 0 70px;
    background-color: #1f3310;
    background-image: linear-gradient(90deg, rgba(18, 34, 8, 0.92) 0%, rgba(18, 34, 8, 0.65) 55%, rgba(18, 34, 8, 0.30) 100%),
                      url("../img/testimonial-farmer.jpg");
    background-size: cover;
    background-position: center 30%;
    color: #fff;
}
.rh-testi-hero h1 { max-width: 620px; margin-bottom: 10px; color: #fff; font-size: clamp(34px, 5vw, 58px); font-weight: 900; line-height: 1.1; }
.rh-testi-hero > .container > p:not(.rh-label) { max-width: 560px; margin-bottom: 30px; color: rgba(255, 255, 255, 0.88); font-size: 18px; }
.rh-videos--testi .rh-video { transition: transform 0.25s ease, box-shadow 0.25s ease; }
.rh-videos--testi .rh-video:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(31, 51, 16, 0.16); }
.rh-video__caption { display: flex; align-items: center; gap: 4px; }
.rh-video__num { margin-right: 10px; color: #7fad39; font-size: 22px; font-weight: 900; }
.rh-testi-photos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rh-testi-photo { position: relative; display: block; overflow: hidden; border-radius: 12px; aspect-ratio: 4 / 3; box-shadow: 0 4px 14px rgba(31, 51, 16, 0.12); }
.rh-testi-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.rh-testi-photo span { position: absolute; left: 12px; bottom: 12px; padding: 4px 12px; border-radius: 14px; background: rgba(31, 51, 16, 0.85); color: #fff; font-size: 13px; font-weight: 700; }
.rh-testi-photo:hover img { transform: scale(1.06); }
@media (max-width: 767px) {
    .rh-testi-hero { padding: 56px 0 44px; background-image: linear-gradient(rgba(18, 34, 8, 0.80), rgba(18, 34, 8, 0.80)), url("../img/testimonial-farmer-sm.jpg"); }
    .rh-testi-photos { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}

/* ---------- About us page ---------- */
.rh-about-hero {
    padding: 90px 0 70px;
    background-color: #1f3310;
    background-image: linear-gradient(90deg, rgba(18, 34, 8, 0.90) 0%, rgba(18, 34, 8, 0.60) 60%, rgba(18, 34, 8, 0.35) 100%),
                      url("../img/about-hero.jpg");
    background-size: cover;
    background-position: center;
    color: #fff;
}
.rh-about-hero h1 { margin-bottom: 10px; color: #fff; font-size: clamp(34px, 5vw, 58px); font-weight: 900; }
.rh-about-hero > .container > p:not(.rh-label) { max-width: 560px; margin-bottom: 30px; color: rgba(255, 255, 255, 0.88); font-size: 18px; }
.rh-about-motto__steps { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin: 0; padding: 0; list-style: none; }
.rh-about-motto__steps::before { content: ""; position: absolute; top: 44px; left: 16.66%; right: 16.66%; height: 3px; border-radius: 2px; background: linear-gradient(90deg, #c9dcaa, #7fad39); }
.rh-about-motto__steps li { position: relative; text-align: center; }
.rh-about-motto__icon { display: inline-flex; align-items: center; justify-content: center; width: 88px; height: 88px; margin-bottom: 22px; border: 6px solid #fff; border-radius: 50%; background: #1f3310; color: #7fad39; font-size: 32px; box-shadow: 0 10px 26px rgba(31, 51, 16, 0.18); transition: transform 0.2s ease; }
.rh-about-motto__steps li:hover .rh-about-motto__icon { transform: translateY(-4px); }
.rh-about-motto__steps li:last-child .rh-about-motto__icon { background: #7fad39; color: #fff; }
.rh-about-motto__steps p { margin: 0 0 2px; color: #555; font-size: 18px; }
.rh-about-motto__steps strong { display: block; color: #1f3310; font-size: clamp(28px, 3vw, 38px); font-weight: 900; line-height: 1.15; text-transform: capitalize; }
.rh-about-motto__steps li:last-child strong { color: #7fad39; }
@media (max-width: 767px) {
    .rh-about-hero { padding: 56px 0 44px; background-image: linear-gradient(rgba(18, 34, 8, 0.80), rgba(18, 34, 8, 0.80)), url("../img/about-hero-sm.jpg"); }
    .rh-about-motto__steps { grid-template-columns: 1fr; gap: 26px; }
    .rh-about-motto__steps::before { top: 44px; bottom: 44px; left: 50%; right: auto; width: 3px; height: auto; transform: translateX(-50%); background: linear-gradient(180deg, #c9dcaa, #7fad39); }
    .rh-about-motto__steps li { padding: 0 0 4px; background: #fff; }
}

/* ---------- Taller banners on desktop ---------- */
@media (min-width: 992px) {
    .rh-rd-hero, .rh-gallery-hero, .rh-testi-hero, .rh-about-hero { display: flex; align-items: center; min-height: 560px; padding: 70px 0; }
    .rh-rd-hero > .container, .rh-gallery-hero > .container, .rh-testi-hero > .container, .rh-about-hero > .container { width: 100%; }
    .rh-page-head { display: flex; align-items: center; justify-content: center; min-height: 340px; }
    .rh-banner .hero__item { height: 500px; }
}
@media (min-width: 992px) {
    /* keep people's heads in view on wide screens */
    .rh-testi-hero, .rh-gallery-hero { background-position: center top; }
    .rh-rd-hero { background-position: center 35%; }
}
@media (min-width: 992px) {
    /* testimonials: photo on the right so the farmer is not behind the headline */
    .rh-testi-hero {
        background-image: linear-gradient(90deg, #1f3310 0%, #1f3310 30%, rgba(31, 51, 16, 0.55) 55%, rgba(31, 51, 16, 0.15) 100%),
                          url("../img/testimonial-farmer.jpg");
        background-size: auto 115%;
        background-position: right top;
        background-repeat: no-repeat;
    }
}

/* ---------- Careers (Jobs) page and post pages ---------- */
.rh-careers-hero {
    padding: 80px 0 64px;
    background-color: #1f3310;
    background-image: linear-gradient(90deg, rgba(18, 34, 8, 0.92) 0%, rgba(18, 34, 8, 0.65) 55%, rgba(18, 34, 8, 0.30) 100%),
                      url("../img/careers-field.jpg");
    background-size: cover;
    background-position: center top;
    color: #fff;
}
.rh-careers-hero h1 { max-width: 620px; margin-bottom: 12px; color: #fff; font-size: clamp(34px, 5vw, 58px); font-weight: 900; line-height: 1.1; }
.rh-careers-hero > .container > p:not(.rh-label) { max-width: 560px; margin-bottom: 28px; color: rgba(255, 255, 255, 0.88); font-size: 18px; }
.rh-job-areas { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.rh-job-area { padding: 26px 22px; background: #fff; border: 1px solid #e3ecd4; border-radius: 14px; transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; }
.rh-job-area:hover { transform: translateY(-4px); border-color: #7fad39; box-shadow: 0 10px 24px rgba(31, 51, 16, 0.10); }
.rh-job-area i { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin-bottom: 16px; border-radius: 12px; background: #1f3310; color: #7fad39; font-size: 22px; }
.rh-job-area h4 { margin-bottom: 6px; font-size: 18px; font-weight: 700; }
.rh-job-area p { margin: 0; color: #555; font-size: 15px; line-height: 1.6; }
.rh-jobs { display: grid; gap: 14px; max-width: 860px; margin: 0 auto; }
.rh-job { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 24px; background: #fff; border: 1px solid #e3ecd4; border-left: 4px solid #7fad39; border-radius: 12px; color: #1c1c1c; transition: box-shadow 0.2s ease; }
.rh-job:hover { box-shadow: 0 10px 24px rgba(31, 51, 16, 0.10); color: #1c1c1c; }
.rh-job h3 { margin: 0 0 4px; font-size: 20px; font-weight: 700; }
.rh-job p { margin: 0; color: #7a7a7a; font-size: 14px; }
.rh-job p i { margin-right: 6px; color: #7fad39; }
.rh-empty .primary-btn i { margin-right: 0; }
.rh-post-body { max-width: 860px; margin: 0 auto; }
.rh-post-body__img { width: 100%; max-height: 460px; margin-bottom: 30px; border-radius: 14px; object-fit: cover; }
.rh-post-body__tags { margin: 24px 0 18px; color: #555; }
.rh-post-body__tags i { margin-right: 8px; color: #7fad39; }
.rh-page-head p i { color: #7fad39; }
@media (min-width: 992px) {
    .rh-careers-hero { display: flex; align-items: center; min-height: 560px; }
    .rh-careers-hero > .container { width: 100%; }
}
@media (max-width: 991px) {
    .rh-job-areas { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .rh-careers-hero { padding: 56px 0 44px; background-image: linear-gradient(rgba(18, 34, 8, 0.80), rgba(18, 34, 8, 0.80)), url("../img/careers-field-sm.jpg"); }
    .rh-careers-hero .rh-actions .primary-btn { flex: 1 1 100%; text-align: center; }
    .rh-job-areas { grid-template-columns: 1fr; }
    .rh-job { flex-direction: column; align-items: flex-start; }
}

.rh-openings { padding: 50px 0 10px; }
.rh-no-openings { display: flex; align-items: center; gap: 22px; max-width: 900px; margin: 0 auto; padding: 24px 28px; background: #fff8e6; border: 1px solid #f2dca0; border-left: 5px solid #e0a800; border-radius: 12px; }
.rh-no-openings > i { flex: 0 0 auto; color: #e0a800; font-size: 34px; }
.rh-no-openings h3 { margin-bottom: 4px; font-size: 20px; font-weight: 700; }
.rh-no-openings p { margin: 0; color: #555; }
.rh-no-openings .primary-btn { flex: 0 0 auto; }
@media (max-width: 767px) {
    .rh-no-openings { flex-direction: column; align-items: flex-start; }
    .rh-no-openings .primary-btn { width: 100%; text-align: center; }
}

/* ---------- Contact page ---------- */
.rh-contact { padding-bottom: 40px; }
.rh-quick { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 30px; }
.rh-quick__btn { display: flex; align-items: center; gap: 16px; padding: 18px 22px; border-radius: 14px; background: #1f3310; color: #fff; transition: transform 0.2s ease, background 0.2s ease; }
.rh-quick__btn:hover { transform: translateY(-3px); background: #2c4a17; color: #fff; }
.rh-quick__btn i { flex: 0 0 48px; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: #7fad39; font-size: 20px; }
.rh-quick__btn span { font-size: 18px; font-weight: 700; line-height: 1.3; }
.rh-quick__btn small { display: block; color: rgba(255, 255, 255, 0.70); font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.rh-contact-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.rh-contact-card { display: block; padding: 24px 20px; background: #fff; border: 1px solid #e3ecd4; border-radius: 14px; color: #1c1c1c; text-align: center; transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease; }
a.rh-contact-card:hover { transform: translateY(-3px); border-color: #7fad39; box-shadow: 0 10px 24px rgba(31, 51, 16, 0.10); color: #1c1c1c; }
.rh-contact-card i { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin-bottom: 12px; border-radius: 50%; background: rgba(127, 173, 57, 0.14); color: #7fad39; font-size: 20px; }
.rh-contact-card h4 { margin-bottom: 6px; font-size: 18px; font-weight: 700; }
.rh-contact-card p { margin: 0; color: #555; font-size: 15px; line-height: 1.6; word-break: break-word; }
.rh-form-card, .rh-map-card { height: 100%; background: #fff; border: 1px solid #e3ecd4; border-radius: 16px; box-shadow: 0 10px 28px rgba(31, 51, 16, 0.06); }
.rh-form-card { padding: 32px; }
.rh-form__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; margin-bottom: 20px; }
/* long (e.g. Telugu) placeholders in the product picker must not widen the form */
.rh-form__grid .bootstrap-select, .rh-form__grid .bootstrap-select > .dropdown-toggle { max-width: 100%; }
.rh-form__grid .bootstrap-select .filter-option,
.rh-form__grid .bootstrap-select .filter-option-inner { max-width: 100%; overflow: hidden; }
.rh-form__grid .bootstrap-select .filter-option-inner-inner { overflow: hidden; text-overflow: ellipsis; }
.rh-form label, .rh-form__field { display: block; margin: 0; color: #1c1c1c; font-size: 14px; font-weight: 700; }
.rh-form__full { grid-column: 1 / -1; }
.rh-form input:not([type="file"]), .rh-form select, .rh-form textarea {
    display: block; width: 100%; margin-top: 6px; padding: 12px 14px;
    border: 1px solid #c9dcaa; border-radius: 10px; background: #fff; color: #1c1c1c; font-size: 16px; font-weight: 400;
}
.rh-form select { height: 48px; }
.rh-form input:focus, .rh-form select:focus, .rh-form textarea:focus { border-color: #7fad39; outline: none; box-shadow: 0 0 0 3px rgba(127, 173, 57, 0.18); }
.rh-form__file { display: flex !important; align-items: center; gap: 10px; padding: 12px 14px; border: 1px dashed #c9dcaa; border-radius: 10px; background: #f7faf2; font-weight: 600 !important; cursor: pointer; flex-wrap: wrap; }
.rh-form__file i { color: #7fad39; }
.rh-form__file input { margin-left: auto; font-size: 14px; }
.rh-form__err { display: block; margin-top: 4px; color: #DA251C; font-size: 13px; font-weight: 600; }
.rh-form .primary-btn { border: none; border-radius: 6px; cursor: pointer; }
.rh-alert { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; padding: 14px 16px; border-radius: 10px; font-weight: 700; }
.rh-alert--success { background: rgba(127, 173, 57, 0.14); color: #3f6512; }
.rh-alert--error { background: rgba(218, 37, 28, 0.10); color: #b81d15; }
.rh-map-card { overflow: hidden; display: flex; flex-direction: column; }
.rh-map-card iframe { width: 100%; height: 340px; border: 0; }
.rh-map-card__body { padding: 22px 24px 26px; }
.rh-map-card__body h4 { font-size: 18px; font-weight: 700; }
.rh-map-card__body h4 i { margin-right: 8px; color: #7fad39; }
.rh-map-card__body p { color: #555; }
.rh-support { padding: 28px 0; border-top: 1px solid #e3ecd4; }
.rh-support .container { display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap; }
.rh-support p { margin: 0; color: #555; }
.rh-support p i { margin-right: 10px; color: #7fad39; }
@media (max-width: 991px) {
    .rh-contact-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .rh-quick { grid-template-columns: 1fr; gap: 10px; }
    .rh-form-card { padding: 22px 18px; }
    .rh-form__grid { grid-template-columns: minmax(0, 1fr); }
    .rh-form .primary-btn, .rh-support .primary-btn { width: 100%; text-align: center; }
    .rh-support p { text-align: center; }
}
/* contact form: undo the global floating-label rule from customform.css and style the nice-select dropdown */
.rh-form label { position: static; top: auto; left: auto; transform: none; pointer-events: auto; }
.rh-form .nice-select { float: none; display: flex; align-items: center; width: 100%; height: 48px; margin-top: 6px; padding: 0 36px 0 14px; border: 1px solid #c9dcaa; border-radius: 10px; font-size: 16px; font-weight: 400; line-height: 46px; }
.rh-form .nice-select:after { right: 16px; border-color: #7fad39; }
.rh-form .nice-select .list { width: 100%; border-radius: 10px; }
.rh-form .nice-select .option { font-weight: 400; }

/* ---------- Footer: company registration details ---------- */
.rh-footer__legal { padding: 14px 0; border-top: 1px solid rgba(255, 255, 255, 0.12); font-size: 13px; line-height: 1.6; }
.rh-footer__legal .container { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 26px; }
.rh-footer__legal span { color: rgba(255, 255, 255, 0.75); letter-spacing: 0.3px; }
.rh-footer__legal strong { color: #fff; font-weight: 700; }

.rh-footer__legal a { color: #7fad39; font-weight: 700; }
.rh-footer__legal a:hover { color: #fff; }
.rh-footer__legal a.rh-footer__employee i { margin-right: 6px; }

/* ---------- Company information page ---------- */
.rh-company { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.rh-company__card { padding: 30px 32px; background: #fff; border: 1px solid #e3ecd4; border-top: 4px solid #7fad39; border-radius: 14px; box-shadow: 0 10px 28px rgba(31, 51, 16, 0.06); }
.rh-company__card h2 { margin-bottom: 20px; font-size: 22px; font-weight: 700; }
.rh-company__card h2 i { margin-right: 10px; color: #7fad39; }
.rh-company__list { display: grid; grid-template-columns: 130px 1fr; gap: 12px 18px; margin: 0; }
.rh-company__list dt { color: #7a7a7a; font-size: 13px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; padding-top: 2px; }
.rh-company__list dd { margin: 0; color: #1c1c1c; font-size: 16px; line-height: 1.6; word-break: break-word; }
.rh-company__list dd a { color: #1c1c1c; }
.rh-company__list dd a:hover { color: #7fad39; }
.rh-company__list dd a.rh-link { color: #7fad39; font-size: 14px; }
.rh-company__id { font-weight: 700; letter-spacing: 0.5px; }
.rh-company__note { max-width: 860px; margin: 28px auto 0; color: #555; font-size: 15px; text-align: center; }
.rh-company__note i { margin-right: 8px; color: #7fad39; }
.rh-company__note a { color: #7fad39; font-weight: 700; }
@media (max-width: 991px) { .rh-company { grid-template-columns: 1fr; } }
@media (max-width: 767px) {
    .rh-company__card { padding: 22px 18px; }
    .rh-company__list { grid-template-columns: 1fr; gap: 2px; }
    .rh-company__list dd { margin-bottom: 12px; }
}

/* ---------- Text selection off for page content (see rishi-protect.js) ---------- */
body { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; }
input, textarea, select, [contenteditable="true"] { -webkit-user-select: text; -moz-user-select: text; -ms-user-select: text; user-select: text; -webkit-touch-callout: default; }
img { -webkit-user-drag: none; }
/* contact: the map grows to fill the card next to the (taller) form */
.rh-map-card iframe { flex: 1 1 auto; height: auto; min-height: 340px; }
.rh-map-card__body { flex: 0 0 auto; }
@media (max-width: 991px) { .rh-map-card iframe { flex: 0 0 auto; height: 340px; } }

/* ---------- Get a quote page ---------- */
.rh-form__step { display: flex; align-items: center; gap: 10px; margin: 8px 0 14px; font-size: 18px; font-weight: 700; }
.rh-form__step span { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: #7fad39; color: #fff; font-size: 14px; }
.rh-form .bootstrap-select { display: block !important; width: 100% !important; margin-top: 6px; }
.rh-form .bootstrap-select > .dropdown-toggle.rh-picker { height: 48px; padding: 0 14px; border: 1px solid #c9dcaa; border-radius: 10px; background: #fff; color: #1c1c1c; font-size: 16px; font-weight: 400; }
.rh-form .bootstrap-select > .dropdown-toggle.rh-picker:focus { outline: none !important; border-color: #7fad39; box-shadow: 0 0 0 3px rgba(127, 173, 57, 0.18); }
.rh-form .bootstrap-select .dropdown-menu { border: 1px solid #e3ecd4; border-radius: 10px; box-shadow: 0 14px 34px rgba(31, 51, 16, 0.18); font-weight: 400; }
.rh-form .bootstrap-select .dropdown-header { color: #7fad39; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.rh-form .bootstrap-select .dropdown-item.active, .rh-form .bootstrap-select .dropdown-item:active { background: #7fad39; color: #fff; }
.rh-quote-side { position: sticky; top: 20px; padding: 28px; background: #1f3310; border-radius: 16px; color: #fff; }
.rh-quote-side h3 { margin-bottom: 18px; color: #fff; font-size: 20px; font-weight: 700; }
.rh-quote-steps { margin: 0 0 24px; padding: 0; list-style: none; }
.rh-quote-steps li { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; color: rgba(255, 255, 255, 0.88); }
.rh-quote-steps span { flex: 0 0 30px; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: #7fad39; color: #fff; font-weight: 900; }
.rh-quote-side__help { padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.15); }
.rh-quote-side__help p { color: rgba(255, 255, 255, 0.75); }
.rh-quote-side .rh-quick__btn { margin-bottom: 10px; background: rgba(255, 255, 255, 0.08); }
.rh-quote-side .rh-quick__btn:hover { background: rgba(255, 255, 255, 0.16); }

/* get a quote: banner and marketing panel */
.rh-quote-hero {
    padding: 80px 0 64px;
    background-color: #1f3310;
    background-image: linear-gradient(90deg, rgba(18, 34, 8, 0.92) 0%, rgba(18, 34, 8, 0.70) 55%, rgba(18, 34, 8, 0.35) 100%),
                      url("../img/quote-farmers.jpg");
    background-size: cover;
    background-position: center top;
    color: #fff;
}
.rh-quote-hero h1 { max-width: 640px; margin-bottom: 12px; color: #fff; font-size: clamp(34px, 5vw, 56px); font-weight: 900; line-height: 1.1; }
.rh-quote-hero h1 span { color: #7fad39; }
.rh-quote-hero > .container > p:not(.rh-label) { max-width: 560px; margin-bottom: 28px; color: rgba(255, 255, 255, 0.88); font-size: 18px; }
.rh-promo { margin-bottom: 20px; padding: 26px 26px 22px; background: #fff; border: 1px solid #e3ecd4; border-top: 4px solid #DA251C; border-radius: 16px; box-shadow: 0 10px 28px rgba(31, 51, 16, 0.08); }
.rh-promo__tag { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 10px; padding: 4px 12px; border-radius: 14px; background: rgba(127, 173, 57, 0.14); color: #4f7a17; font-size: 13px; font-weight: 700; }
.rh-promo h3 { margin-bottom: 14px; font-size: 20px; font-weight: 700; }
.rh-promo ul { margin: 0 0 16px; padding: 0; list-style: none; }
.rh-promo li { display: flex; gap: 10px; margin-bottom: 10px; color: #444; font-size: 15px; line-height: 1.5; }
.rh-promo li i { flex: 0 0 auto; margin-top: 4px; color: #7fad39; }
.rh-quote-side { position: static; }
@media (min-width: 992px) {
    .rh-quote-hero { display: flex; align-items: center; min-height: 520px; }
    .rh-quote-hero > .container { width: 100%; }
    .rh-quote-aside { position: sticky; top: 20px; }
}
@media (max-width: 767px) {
    .rh-quote-hero { padding: 56px 0 44px; background-image: linear-gradient(rgba(18, 34, 8, 0.80), rgba(18, 34, 8, 0.80)), url("../img/quote-farmers-sm.jpg"); }
}

/* quote form: vertically centre the selected products text in the picker button */
.rh-form .bootstrap-select > .dropdown-toggle.rh-picker { display: flex; align-items: center; }
.rh-form .bootstrap-select > .dropdown-toggle.rh-picker .filter-option { position: static; display: flex; align-items: center; height: 100%; padding: 0; }
.rh-form .bootstrap-select > .dropdown-toggle.rh-picker .filter-option-inner-inner { line-height: 1.3; }
.rh-form .bootstrap-select > .dropdown-toggle.rh-picker:after { margin-left: auto; }

/* quote form: nearest dealer */
.rh-form__hint { display: flex; gap: 10px; margin: -4px 0 14px; padding: 12px 14px; border-radius: 10px; background: #f7faf2; color: #555; font-size: 14px; }
.rh-form__hint i { margin-top: 3px; color: #7fad39; }
.rh-form__status { display: block; margin-top: 6px; color: #4f7a17; font-size: 13px; font-weight: 600; }

/* ---------- Where to buy ---------- */
.rh-wtb-hero {
    padding: 80px 0 64px;
    background-color: #1f3310;
    background-image: linear-gradient(90deg, rgba(18, 34, 8, 0.92) 0%, rgba(18, 34, 8, 0.70) 55%, rgba(18, 34, 8, 0.40) 100%),
                      url("../img/quote-farmers.jpg");
    background-size: cover;
    background-position: center top;
    color: #fff;
}
.rh-wtb-hero h1 { max-width: 640px; margin-bottom: 12px; color: #fff; font-size: clamp(34px, 5vw, 56px); font-weight: 900; line-height: 1.1; }
.rh-wtb-hero h1 span { color: #7fad39; }
.rh-wtb-hero > .container > p:not(.rh-label):not(.rh-wtb-status) { max-width: 560px; margin-bottom: 26px; color: rgba(255, 255, 255, 0.88); font-size: 18px; }
.rh-wtb-search { max-width: 640px; margin-bottom: 10px; border-color: transparent; }
.rh-wtb-status { min-height: 22px; margin: 0; color: #b8dc80; font-weight: 700; }
.rh-pills a span { margin-left: 6px; padding: 0 7px; border-radius: 10px; background: rgba(127, 173, 57, 0.16); font-size: 12px; }
.rh-pills a.active span { background: rgba(255, 255, 255, 0.25); }
.rh-dealers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.rh-dealer-card { position: relative; display: flex; flex-direction: column; padding: 22px 22px 20px; background: #fff; border: 1px solid #e3ecd4; border-left: 4px solid #7fad39; border-radius: 12px; transition: box-shadow 0.2s ease, transform 0.2s ease; }
.rh-dealer-card[hidden] { display: none; }
.rh-dealer-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(31, 51, 16, 0.10); }
.rh-dealer-card.is-nearest { border-color: #7fad39; box-shadow: 0 0 0 3px rgba(127, 173, 57, 0.25); }
.rh-dealer-card h3 { margin: 0 0 8px; padding-right: 80px; font-size: 18px; font-weight: 700; line-height: 1.35; }
.rh-dealer-card p { flex: 1 1 auto; color: #555; }
.rh-dealer-card p i { margin-right: 8px; color: #7fad39; }
.rh-dealer-card__km { position: absolute; top: 18px; right: 16px; padding: 3px 10px; border-radius: 12px; background: #1f3310; color: #fff; font-size: 12px; font-weight: 700; }
.rh-dealer-card.is-nearest .rh-dealer-card__km { background: #7fad39; }
.rh-dealer-card__actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rh-dealer-card__actions .primary-btn { padding: 9px 16px; border-radius: 4px; font-size: 12px; }
.rh-pd__dealer { display: flex; align-items: center; gap: 14px; margin: -8px 0 22px; padding: 14px 16px; border: 1px dashed #c9dcaa; border-radius: 12px; background: #f7faf2; color: #1c1c1c; }
.rh-pd__dealer:hover { border-color: #7fad39; color: #1c1c1c; }
.rh-pd__dealer > i:first-child { color: #7fad39; font-size: 22px; }
.rh-pd__dealer span { flex: 1 1 auto; color: #555; font-size: 14px; }
.rh-pd__dealer strong { display: block; color: #1c1c1c; font-size: 16px; }
.rh-pd__dealer > i:last-child { color: #7fad39; }
@media (min-width: 992px) {
    .rh-wtb-hero { display: flex; align-items: center; min-height: 480px; }
    .rh-wtb-hero > .container { width: 100%; }
}
@media (max-width: 991px) { .rh-dealers { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) {
    .rh-wtb-hero { padding: 56px 0 44px; background-image: linear-gradient(rgba(18, 34, 8, 0.82), rgba(18, 34, 8, 0.82)), url("../img/quote-farmers-sm.jpg"); }
    .rh-dealers { grid-template-columns: 1fr; }
}

/* where to buy: location button, map, pins */
.rh-locate { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 10px; padding: 8px 16px; border: 1px solid rgba(255, 255, 255, 0.35); border-radius: 20px; background: transparent; color: #fff; font-weight: 700; cursor: pointer; }
.rh-locate:hover { background: #7fad39; border-color: #7fad39; }
.rh-locate i { color: #b8dc80; }
.rh-locate:hover i { color: #fff; }
.rh-wtb-status.is-error { color: #ffb4ae; }
.rh-wtb-map { height: 420px; margin-bottom: 24px; border: 1px solid #e3ecd4; border-radius: 14px; z-index: 0; }
.rh-pin { display: flex !important; align-items: center; justify-content: center; border-radius: 50% 50% 50% 0; background: #7fad39; color: #fff; font-size: 14px; transform: rotate(-45deg); box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3); border: 2px solid #fff; }
.rh-pin i { transform: rotate(45deg); }
.rh-pin--you { background: #DA251C; }
.rh-wtb-map .leaflet-popup-content { font-family: "Cairo", sans-serif; font-size: 14px; line-height: 1.5; }
.rh-wtb-map .leaflet-popup-content a { color: #7fad39; font-weight: 700; }
.rh-dealer-card { cursor: pointer; }
.rh-dealer-card.is-active { border-color: #DA251C; }
@media (max-width: 767px) { .rh-wtb-map { height: 300px; } }
/* gallery viewer: arrows fixed at the screen edges, whatever the photo size */
@media (min-width: 768px) {
    .rh-lightbox__nav { position: fixed; top: 50%; transform: translateY(-50%); z-index: 2; }
    .rh-lightbox__prev { left: 24px; }
    .rh-lightbox__next { right: 24px; }
    .rh-lightbox figure { max-width: calc(100% - 180px); }
}

/* gallery viewer: zoom */
.rh-lightbox figure { overflow: hidden; }
.rh-lightbox img { transform-origin: center center; transition: transform 0.12s ease-out; touch-action: none; cursor: zoom-in; }
.rh-lightbox.is-zoomed img { transition: none; box-shadow: none; }
.rh-lightbox__zoom { position: fixed; left: 50%; bottom: 22px; z-index: 3; display: flex; align-items: center; gap: 6px; padding: 6px 8px; border-radius: 24px; background: rgba(31, 51, 16, 0.92); transform: translateX(-50%); }
.rh-lightbox__zoom button { width: 36px; height: 36px; font-size: 14px; }
.rh-lightbox__level { min-width: 52px; color: #fff; font-size: 13px; font-weight: 700; text-align: center; }
@media (max-width: 767px) {
    .rh-lightbox__zoom { bottom: 84px; }
}

.rh-locate--light { margin: 8px 0 0; border-color: #c9dcaa; background: #f7faf2; color: #1c1c1c; font-size: 14px; }
.rh-locate--light i { color: #7fad39; }
.rh-locate--light:hover { color: #fff; }
.rh-form__status.is-error { color: #b81d15; }

/* where to buy: recommended top dealers */
.rh-recommend { margin-bottom: 18px; text-align: center; }
.rh-recommend[hidden] { display: none; }
.rh-recommend h2 { margin-bottom: 4px; font-size: clamp(22px, 2.6vw, 30px); font-weight: 700; }
.rh-recommend h2 i { margin-right: 10px; color: #e0a800; }
.rh-recommend p { color: #555; }
.rh-dealer-card__rank { position: absolute; top: -12px; left: -12px; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: #1f3310; color: #fff; font-weight: 900; box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25); }
.rh-dealer-card__rank[hidden] { display: none; }
.rh-dealer-card.is-nearest .rh-dealer-card__rank { background: #7fad39; }
.rh-dealers { padding-top: 12px; }
#dealer-show-all[hidden] { display: none; }
/* native dropdowns in the forms (e.g. dealer): text centred vertically, own green arrow */
.rh-form select {
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    height: 48px; padding: 0 42px 0 14px; line-height: 46px;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237fad39' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 16px center; background-size: 12px 8px;
    cursor: pointer;
}

/* ---------- Promotion / contact side panel ---------- */
.rh-promo-panel { position: fixed; right: 0; top: 50%; z-index: 1040; transform: translateY(-50%); }
.rh-promo-panel__tab {
    display: flex; align-items: center; gap: 8px; padding: 14px 10px; border: none; border-radius: 0 10px 10px 0;
    background: #7fad39; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 0.5px; cursor: pointer;
    writing-mode: vertical-rl; transform: rotate(180deg); box-shadow: 0 4px 14px rgba(0, 0, 0, 0.20);
    transition: background 0.2s ease, opacity 0.2s ease;
}
.rh-promo-panel__tab i { transform: rotate(90deg); }
.rh-promo-panel__tab:hover { background: #6c9530; }
.rh-promo-panel[data-state="open"] .rh-promo-panel__tab { opacity: 0; pointer-events: none; }
.rh-promo-panel__body {
    position: absolute; right: 0; top: 50%; width: 320px; padding: 22px 22px 18px;
    background: #fff; border: 1px solid #e3ecd4; border-top: 4px solid #DA251C; border-radius: 14px 0 0 14px;
    box-shadow: 0 16px 40px rgba(31, 51, 16, 0.25);
    transform: translate(110%, -50%); visibility: hidden;
    transition: transform 0.35s ease, visibility 0s linear 0.35s;
}
.rh-promo-panel[data-state="open"] .rh-promo-panel__body { transform: translate(0, -50%); visibility: visible; transition: transform 0.35s ease, visibility 0s; }
.rh-promo-panel__min { position: absolute; top: 10px; right: 10px; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: none; border-radius: 50%; background: #f7faf2; color: #1c1c1c; cursor: pointer; }
.rh-promo-panel__min:hover { background: #7fad39; color: #fff; }
.rh-promo-panel__tag { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 8px; padding: 3px 10px; border-radius: 12px; background: rgba(127, 173, 57, 0.14); color: #4f7a17; font-size: 12px; font-weight: 700; }
.rh-promo-panel__tag i { color: #e0a800; }
.rh-promo-panel h3 { margin: 0 30px 8px 0; font-size: 20px; font-weight: 700; line-height: 1.3; }
.rh-promo-panel__body > p:not(.rh-promo-panel__tag) { margin-bottom: 14px; color: #555; font-size: 14px; line-height: 1.6; }
.rh-promo-panel__actions { display: grid; gap: 8px; margin-bottom: 12px; }
.rh-promo-panel__actions .primary-btn { padding: 11px 14px; border-radius: 6px; font-size: 12px; text-align: center; }
.rh-promo-panel__contact { display: flex; justify-content: space-between; padding-top: 12px; border-top: 1px solid #e3ecd4; }
.rh-promo-panel__contact a { display: inline-flex; align-items: center; gap: 8px; color: #1c1c1c; font-weight: 700; font-size: 14px; }
.rh-promo-panel__contact a i { color: #7fad39; font-size: 16px; }
.rh-promo-panel__contact a:hover { color: #7fad39; }
@media (max-width: 767px) {
    .rh-promo-panel { top: auto; bottom: 150px; transform: none; }
    .rh-promo-panel__tab { padding: 12px 8px; font-size: 12px; }
    /* phones: a compact bar at the bottom of the screen (title and the two buttons), not a large card */
    .rh-promo-panel__body { position: fixed; top: auto; right: 0; bottom: 0; left: 0; width: auto; padding: 14px 16px 16px;
        border-radius: 14px 14px 0 0; transform: translateY(110%); }
    .rh-promo-panel[data-state="open"] .rh-promo-panel__body { transform: none; }
    .rh-promo-panel__tag, .rh-promo-panel__body > p:not(.rh-promo-panel__tag), .rh-promo-panel__contact { display: none; }
    .rh-promo-panel h3 { margin-bottom: 10px; font-size: 16px; }
    .rh-promo-panel__actions { grid-template-columns: 1fr 1fr; margin-bottom: 0; }
    .rh-promo-panel__actions .primary-btn { padding: 10px 8px; font-size: 11px; }
    .rh-promo-panel__min { top: 8px; right: 8px; }
}
/* the phone/tablet menu (and its dark overlay) opens above the promotion panel and the WhatsApp button */
@media (max-width: 991px) {
    .humberger__menu__wrapper { z-index: 1060; }
    .humberger__menu__overlay { z-index: 1055; }
}
@media (prefers-reduced-motion: reduce) { .rh-promo-panel__body { transition: none; } }

/* article content (blog, jobs, R&D): tables, lists, images written in the editor */
.rh-prose table, .entry-content table { width: 100%; margin: 18px 0; border-collapse: collapse; font-size: 15px; }
.rh-prose th, .rh-prose td, .entry-content th, .entry-content td { padding: 10px 14px; border: 1px solid #e3ecd4; text-align: left; }
.rh-prose th, .entry-content th { background: #f7faf2; color: #1c1c1c; font-weight: 700; }
.rh-prose tr:nth-child(even) td, .entry-content tr:nth-child(even) td { background: #fbfdf8; }
.rh-prose ul, .rh-prose ol { margin: 0 0 18px; padding-left: 22px; }
.rh-prose ul li { list-style: disc; }
.rh-prose ol li { list-style: decimal; }
.rh-prose img { max-width: 100%; height: auto; margin: 10px 0; border-radius: 10px; }
.rh-post__img--empty { background: #f7faf2 url("../img/rishi_logo.png") center / 45% auto no-repeat; opacity: 0.8; }
.rh-post-body__back { margin-top: 26px; }
.rh-post-body__back .rh-link i { margin: 0; }

/* ---------- Compare products ---------- */
.rh-product { position: relative; }
.rh-compare-toggle {
    display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border: 1px solid #c9dcaa; border-radius: 16px;
    background: #fff; color: #1c1c1c; font-size: 12px; font-weight: 700; cursor: pointer; transition: background 0.2s ease, color 0.2s ease;
}
.rh-compare-toggle i { color: #7fad39; }
.rh-compare-toggle:hover { border-color: #7fad39; }
.rh-compare-toggle.is-on { border-color: #7fad39; background: #7fad39; color: #fff; }
.rh-compare-toggle.is-on i { color: #fff; }
.rh-product > .rh-compare-toggle { position: absolute; top: 10px; left: 10px; z-index: 2; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.10); }
.rh-compare-toggle--row { flex: 0 0 auto; }
.rh-compare-toggle--pd { margin-bottom: 18px; padding: 8px 14px; font-size: 13px; }
.rh-compare-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; padding: 12px 0; background: #1f3310; color: #fff; box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.20); }
.rh-compare-bar[hidden] { display: none; }
.rh-compare-bar .container { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding-right: 90px; }
.rh-compare-bar strong i { margin-right: 8px; color: #7fad39; }
.rh-compare-bar__items { display: flex; flex: 1 1 auto; flex-wrap: wrap; gap: 8px; }
.rh-compare-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 6px 4px 12px; border-radius: 16px; background: rgba(255, 255, 255, 0.12); font-size: 13px; font-weight: 700; }
.rh-compare-chip button { width: 22px; height: 22px; border: none; border-radius: 50%; background: rgba(255, 255, 255, 0.2); color: #fff; line-height: 1; cursor: pointer; }
.rh-compare-bar .primary-btn { padding: 9px 18px; border-radius: 4px; font-size: 12px; }
.rh-compare-bar .primary-btn.is-disabled { opacity: 0.55; }
.rh-compare-bar__clear { border: none; background: none; color: rgba(255, 255, 255, 0.75); font-size: 13px; text-decoration: underline; cursor: pointer; }
.rh-compare-note { position: fixed; left: 50%; bottom: 90px; z-index: 1060; padding: 10px 18px; border-radius: 8px; background: #DA251C; color: #fff; font-weight: 700; opacity: 0; transform: translate(-50%, 10px); transition: opacity 0.2s ease, transform 0.2s ease; pointer-events: none; }
.rh-compare-note.is-on { opacity: 1; transform: translate(-50%, 0); }
.rh-compare-tools { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.rh-compare-hint { margin: 0; color: #555; font-size: 14px; }
.rh-compare-hint i { margin-right: 6px; color: #e0a800; }
.rh-switch { display: inline-flex; align-items: center; gap: 10px; margin: 0; font-weight: 700; cursor: pointer; }
.rh-switch input { display: none; }
.rh-switch span { position: relative; width: 42px; height: 24px; border-radius: 12px; background: #c9dcaa; transition: background 0.2s ease; }
.rh-switch span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform 0.2s ease; }
.rh-switch input:checked + span { background: #7fad39; }
.rh-switch input:checked + span::after { transform: translateX(18px); }
.rh-compare-scroll { overflow-x: auto; border: 1px solid #e3ecd4; border-radius: 14px; }
.rh-compare { width: 100%; min-width: calc(200px + var(--cols) * 220px); border-collapse: collapse; background: #fff; }
.rh-compare th, .rh-compare td { padding: 12px 16px; border-bottom: 1px solid #e3ecd4; vertical-align: top; text-align: left; }
.rh-compare thead th { position: relative; padding-top: 20px; background: #f7faf2; vertical-align: bottom; text-align: center; }
.rh-compare__corner { width: 200px; vertical-align: middle !important; }
.rh-compare__img { display: flex; align-items: center; justify-content: center; height: 150px; margin-bottom: 10px; }
.rh-compare__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rh-compare__name { display: block; margin: 2px 0 10px; color: #1c1c1c; font-size: 18px; font-weight: 700; }
.rh-compare__quote { padding: 7px 12px !important; border-radius: 4px; font-size: 11px; }
.rh-compare__remove { position: absolute; top: 8px; right: 10px; width: 26px; height: 26px; border-radius: 50%; background: #fff; color: #1c1c1c; font-size: 18px; line-height: 26px; text-align: center; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15); }
.rh-compare__remove:hover { background: #DA251C; color: #fff; }
.rh-compare tbody th { width: 200px; color: #555; font-size: 13px; font-weight: 700; letter-spacing: 0.3px; text-transform: uppercase; white-space: nowrap; }
.rh-compare tbody th i { width: 18px; margin-right: 8px; color: #7fad39; }
.rh-compare tbody th, .rh-compare__corner { position: sticky; left: 0; z-index: 1; background: #fff; box-shadow: inset -1px 0 0 #e3ecd4; }
.rh-compare thead th.rh-compare__corner { position: sticky; z-index: 2; background: #f7faf2; }
.rh-compare tbody td { color: #1c1c1c; font-size: 15px; }
.rh-compare tr.is-diff td { background: #fffbea; font-weight: 700; }
.rh-compare.only-diff tr.is-same { display: none; }
.rh-compare__feature td { font-weight: 600; }
body.rh-on-compare .rh-compare-toggle { display: none; }
@media (max-width: 767px) {
    .rh-compare-bar .container { padding-right: 70px; gap: 8px; }
    .rh-compare-bar__items { order: 3; flex-basis: 100%; }
    .rh-compare tbody th, .rh-compare__corner { white-space: normal; width: 130px; }
    .rh-compare { min-width: calc(130px + var(--cols) * 170px); }
    .rh-prose [style*="margin-left"] { margin-left: 0 !important; }
    .rh-prose [style*="justify"] { text-align: left !important; }
}
.rh-switch { position: static; transform: none; }
.rh-compare { table-layout: fixed; }

/* ---------- Scroll fade-in (added by rishi-interact.js) ---------- */
.rh-reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
.rh-reveal.rh-in { opacity: 1; transform: none; }

/* ---------- Viewer for product photos and videos ---------- */
.rh-viewer { position: fixed; inset: 0; z-index: 2100; display: none; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 60px 20px 90px; background: rgba(10, 18, 5, 0.94); }
.rh-viewer.is-open { display: flex; }
.rh-viewer__close { position: absolute; top: 18px; right: 18px; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: none; border-radius: 50%; background: #7fad39; color: #fff; font-size: 20px; cursor: pointer; }
.rh-viewer__close:hover { background: #fff; color: #1f3310; }
.rh-viewer__stage { display: flex; align-items: center; justify-content: center; max-width: 100%; max-height: 100%; }
.rh-viewer__zoom { overflow: hidden; border-radius: 10px; background: #fff; }
.rh-viewer__zoom img { display: block; max-width: min(90vw, 900px); max-height: 75vh; transition: transform 0.12s ease-out; touch-action: none; }
.rh-viewer__bar { position: fixed; }
.rh-viewer__caption { margin: 0; color: #fff; font-weight: 700; }
.rh-viewer__video { width: min(92vw, 1100px); aspect-ratio: 16 / 9; }
.rh-viewer__video iframe { width: 100%; height: 100%; border: 0; border-radius: 10px; }
.rh-pd__img.is-zoomable { cursor: zoom-in; }
.rh-pd__zoomhint { position: absolute; right: 14px; bottom: 14px; z-index: 2; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 16px; background: rgba(31, 51, 16, 0.85); color: #fff; font-size: 13px; font-weight: 700; opacity: 0; transition: opacity 0.2s ease; }
.rh-pd__img.is-zoomable:hover .rh-pd__zoomhint, .rh-pd__img.is-zoomable:focus .rh-pd__zoomhint { opacity: 1; }
.rh-video__caption { justify-content: flex-start; }
.rh-video__large { flex-shrink: 0; white-space: nowrap; margin-left: auto; display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border: 1px solid #c9dcaa; border-radius: 16px; background: #fff; color: #1c1c1c; font-size: 12px; font-weight: 700; cursor: pointer; }
.rh-video__large i { color: #7fad39; }
.rh-video__large:hover { border-color: #7fad39; background: #7fad39; color: #fff; }
.rh-video__large:hover i { color: #fff; }
@media (hover: none) { .rh-pd__zoomhint { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .rh-reveal { opacity: 1; transform: none; transition: none; } }

body.rh-has-compare .rh-whatsapp { bottom: 84px; }
body.rh-has-compare .rh-compare-bar .container { padding-right: 15px; }
@media (max-width: 767px) { body.rh-has-compare .rh-whatsapp { bottom: 120px; } body.rh-has-compare .rh-promo-panel { bottom: 190px; } }

/* ---------- FAQ ---------- */
.rh-faq-wrap { max-width: 900px; }
.rh-faq-search { margin-bottom: 30px; }
.rh-faq-none { color: #555; text-align: center; }
.rh-faq-none a { color: #7fad39; font-weight: 700; }
.rh-faq-group { margin-bottom: 34px; }
.rh-faq-group[hidden] { display: none; }
.rh-faq-group h2 { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; font-size: 22px; font-weight: 700; }
.rh-faq-group h2 i { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 10px; background: #1f3310; color: #7fad39; font-size: 17px; }
.rh-faq { margin-bottom: 10px; background: #fff; border: 1px solid #e3ecd4; border-radius: 12px; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.rh-faq[hidden] { display: none; }
.rh-faq[open] { border-color: #7fad39; box-shadow: 0 8px 20px rgba(31, 51, 16, 0.08); }
.rh-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; color: #1c1c1c; font-size: 17px; font-weight: 700; cursor: pointer; list-style: none; }
.rh-faq summary::-webkit-details-marker { display: none; }
.rh-faq summary i { flex: 0 0 30px; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: rgba(127, 173, 57, 0.14); color: #7fad39; font-size: 13px; transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease; }
.rh-faq[open] summary i { transform: rotate(45deg); background: #7fad39; color: #fff; }
.rh-faq summary:hover { color: #4f7a17; }
.rh-faq__answer { padding: 0 20px 18px; }
.rh-faq__answer p { margin: 0; color: #444; font-size: 16px; line-height: 1.8; }
.rh-faq__answer a { color: #4f7a17; font-weight: 700; text-decoration: underline; }
@media (max-width: 767px) { .rh-faq summary { padding: 16px; font-size: 16px; } .rh-faq__answer { padding: 0 16px 16px; } }
.rh-footer__contact strong { color: #fff; font-weight: 700; }
.rh-contact-cards { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }

/* ---------- Language switcher (English / తెలుగు / हिन्दी) ---------- */
/* Language dropdown (includes/language-switcher.html): current language in the top bar, the list opens below it */
.rh-lang { position: relative; margin: 0 14px 0 0; }
.rh-lang summary { display: flex; align-items: center; gap: 7px; padding: 4px 11px; border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 16px; color: #fff; font-size: 13px; font-weight: 600; line-height: 1.6; cursor: pointer; list-style: none; user-select: none; }
.rh-lang summary::-webkit-details-marker { display: none; }
.rh-lang summary:hover, .rh-lang[open] summary { border-color: #7fad39; background: rgba(255, 255, 255, 0.08); }
.rh-lang summary .fa-globe { color: #7fad39; font-size: 13px; }
.rh-lang__arrow { font-size: 13px; transition: transform 0.2s; }
.rh-lang[open] .rh-lang__arrow { transform: rotate(180deg); }
.rh-lang__list { position: absolute; top: calc(100% + 6px); right: 0; z-index: 1000; min-width: 150px; margin: 0; padding: 6px; border-radius: 8px; background: #fff; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18); list-style: none; }
.rh-lang__list a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 12px; border-radius: 6px; color: #1c1c1c; font-size: 14px; font-weight: 600; text-decoration: none; }
.rh-lang__list a:hover { background: #f7faf2; color: #1c1c1c; }
.rh-lang__list a.is-active { color: #5a8a1f; }
.rh-lang__list .fa-check { color: #7fad39; font-size: 12px; }
/* in the mobile menu the list opens in place, below the button */
.rh-lang--menu { display: inline-block; margin: 18px 0 6px; }
.rh-lang--menu summary { border-color: #e1e1e1; color: #1c1c1c; font-size: 14px; padding: 6px 14px; }
.rh-lang--menu summary:hover, .rh-lang--menu[open] summary { background: #f7faf2; }
.rh-lang--menu .rh-lang__list { position: static; margin-top: 6px; box-shadow: none; border: 1px solid #e1e1e1; }
/* phones and tablets: a small button left of the menu button (hidden on desktop, where the top bar has it) */
.rh-lang--mobile { display: none; }
@media (max-width: 991px) {
    .rh-lang--mobile { display: block; position: absolute; top: 24px; right: 60px; z-index: 50; margin: 0; }
    .rh-lang--mobile summary { padding: 4px 10px; border-color: #e1e1e1; color: #1c1c1c; font-size: 13px; }
    .rh-lang--mobile summary:hover, .rh-lang--mobile[open] summary { background: #f7faf2; }
}

/* Telugu and Hindi: wide letter-spacing and all-caps styling break up Indic letters */
:lang(te) .rh-label, :lang(hi) .rh-label,
:lang(te) .header__menu ul li a, :lang(hi) .header__menu ul li a,
:lang(te) .primary-btn, :lang(hi) .primary-btn,
:lang(te) .rh-footer h6, :lang(hi) .rh-footer h6 { letter-spacing: 0; }
:lang(te) body, :lang(hi) body { line-height: 1.7; }

/* ---------- Sowing calendar ---------- */
.rh-sow-now { padding: 44px 0; background: #f7faf2; }
.rh-sow-now__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 40px; }
.rh-sow-now h2 { margin: 0; font-size: clamp(24px, 3vw, 32px); font-weight: 700; }
.rh-sow-now__crops { display: flex; flex-wrap: wrap; gap: 10px; }
.rh-sow-now__crops a, .rh-sow-now__crops span { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border-radius: 24px; background: #1f3310; color: #fff; font-weight: 700; }
.rh-sow-now__crops i { color: #7fad39; }
.rh-sow-now__crops a:hover { background: #7fad39; color: #fff; }
.rh-sow-now__crops a:hover i { color: #fff; }
.rh-sow-legend { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 0 0 22px; padding: 0; list-style: none; }
.rh-sow-legend li { display: flex; align-items: center; gap: 8px; color: #555; font-size: 14px; }
.rh-sow-legend strong { color: #1c1c1c; }
.rh-sow-key { display: inline-block; width: 100%; max-width: 44px; height: 14px; border-radius: 7px; vertical-align: middle; }
.rh-sow-legend .rh-sow-key { width: 34px; }
.rh-sow-key--kharif { background: #7fad39; }
.rh-sow-key--rabi { background: #e0a526; }
.rh-sow-key--summer { background: #DA251C; }
.rh-sow-scroll { overflow-x: auto; border: 1px solid #e3ecd4; border-radius: 14px; }
.rh-sow { width: 100%; min-width: 820px; border-collapse: collapse; background: #fff; }
.rh-sow th, .rh-sow td { padding: 12px 6px; border-bottom: 1px solid #eef3e6; text-align: center; vertical-align: middle; }
.rh-sow thead th { background: #f7faf2; color: #555; font-size: 13px; font-weight: 700; }
.rh-sow tbody tr:last-child th, .rh-sow tbody tr:last-child td { border-bottom: 0; }
.rh-sow .is-now { background: #fffbea; }
.rh-sow thead th.is-now { background: #1f3310; color: #fff; }
.rh-sow__crop { position: sticky; left: 0; z-index: 1; width: 190px; padding-left: 18px !important; background: #fff; box-shadow: inset -1px 0 0 #e3ecd4; text-align: left !important; }
.rh-sow thead .rh-sow__crop { background: #f7faf2; }
.rh-sow__crop span { display: block; color: #1c1c1c; font-size: 15px; font-weight: 700; }
.rh-sow__crop a { display: inline-flex; align-items: center; gap: 6px; color: #4d7a1a; font-size: 12px; font-weight: 700; }
.rh-sow__crop a i { font-size: 10px; }
.rh-sow-note { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; margin: 18px 0 0; color: #555; font-size: 14px; }
.rh-sow-note > i { color: #7fad39; }
@media (max-width: 767px) {
    .rh-sow { min-width: 640px; }
    .rh-sow__crop { width: 120px; padding-left: 12px !important; }
    .rh-sow__crop span { font-size: 14px; }
    .rh-sow th, .rh-sow td { padding: 10px 3px; }
}

/* ---------- Farmer stories (results cards) ---------- */
.rh-stories { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.rh-story { display: flex; flex-direction: column; overflow: hidden; border: 1px solid #e3ecd4; border-radius: 14px; background: #fff; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.rh-story:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(31, 51, 16, 0.12); }
.rh-story__photo { position: relative; aspect-ratio: 16 / 10; background: #f7faf2; }
.rh-story__photo { overflow: hidden; }
.rh-story__photo img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.rh-story__photo--empty { display: flex; align-items: center; justify-content: center; color: #c9dcaa; font-size: 48px; }
.rh-story__crop { position: absolute; left: 14px; bottom: 14px; padding: 4px 12px; border-radius: 14px; background: rgba(31, 51, 16, 0.85); color: #fff; font-size: 13px; font-weight: 700; }
.rh-story__body { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 22px; }
.rh-story__result { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; color: #1f3310; font-size: 20px; font-weight: 900; line-height: 1.3; }
.rh-story__result i { color: #7fad39; font-size: 18px; }
.rh-story blockquote { flex: 1; margin: 0 0 16px; padding: 0 0 0 14px; border-left: 3px solid #7fad39; color: #444; font-size: 15px; font-style: italic; line-height: 1.7; }
.rh-story__who { margin: 0 0 8px; color: #555; font-size: 14px; }
.rh-story__who strong { display: block; color: #1c1c1c; font-size: 15px; }
@media (max-width: 991px) { .rh-stories { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .rh-stories { grid-template-columns: 1fr; } }

/* ---------- Product page: field photos ---------- */
.rh-field-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.rh-field-photo { position: relative; margin: 0; overflow: hidden; border-radius: 12px; aspect-ratio: 4 / 3; background: #f7faf2; cursor: zoom-in; }
.rh-field-photo img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.rh-field-photo:hover img { transform: scale(1.05); }
.rh-field-photo figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 12px 8px; background: linear-gradient(transparent, rgba(0, 0, 0, 0.65)); color: #fff; font-size: 13px; font-weight: 600; }
@media (max-width: 767px) { .rh-field-photos { grid-template-columns: repeat(2, 1fr); gap: 10px; } }
.rh-videos--after-stories { margin-top: 40px; }
.rh-pd__packet { margin: -6px 0 14px; color: #555; font-size: 14px; }
.rh-pd__packet strong { color: #1c1c1c; letter-spacing: 0.5px; }

/* Phones: keep the copyright line clear of the floating WhatsApp button (and the compare bar when shown) */
@media (max-width: 767px) {
    .rh-footer__bottom { padding-bottom: 90px; }
    body.rh-has-compare .rh-footer__bottom { padding-bottom: 190px; }
}
/* the distance badge ("సుమారు 48 కి.మీ.", "लगभग 48 किमी") is wider than in English: keep dealer names clear of it */
:lang(te) .rh-dealer-card h3, :lang(hi) .rh-dealer-card h3 { padding-right: 125px; }

/* ---------- R&D video: hero loop, film, field-to-packet, homepage band ---------- */
.rh-rd-hero--video { position: relative; overflow: hidden; background-image: none; }
.rh-rd-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.rh-rd-hero--video::before { content: ""; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(90deg, rgba(18, 34, 8, 0.90) 0%, rgba(18, 34, 8, 0.62) 55%, rgba(18, 34, 8, 0.30) 100%); }
.rh-rd-hero--video > .container { position: relative; z-index: 2; }
.rh-rd-hero__watch { display: inline-flex; align-items: center; margin: 20px 14px 0 0; }
@media (max-width: 767px) { .rh-rd-hero--video::before { background: rgba(18, 34, 8, 0.78); } }
@media (prefers-reduced-motion: reduce) { .rh-rd-hero__video, .rh-rd-band__video video { display: none; } }

.rh-rd-film__player { max-width: 980px; margin: 0 auto; overflow: hidden; border-radius: 16px; background: #000; box-shadow: 0 18px 44px rgba(31, 51, 16, 0.22); }
.rh-rd-film__player video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #000; }


.rh-rd-band { padding: 70px 0; background: #1f3310; background-image: linear-gradient(120deg, rgba(18, 34, 8, 0.97), rgba(31, 51, 16, 0.90)); color: #fff; }
.rh-rd-band__inner { display: grid; grid-template-columns: 1fr 1.15fr; gap: 44px; align-items: center; }
.rh-rd-band h2 { margin: 0 0 14px; color: #fff; font-size: clamp(28px, 3.4vw, 40px); font-weight: 900; }
.rh-rd-band__text > p:not(.rh-label) { margin-bottom: 24px; color: rgba(255, 255, 255, 0.86); font-size: 17px; line-height: 1.7; }
.rh-rd-band__video { position: relative; display: block; overflow: hidden; border-radius: 16px; aspect-ratio: 16 / 9; background: #000; box-shadow: 0 18px 44px rgba(0, 0, 0, 0.35); }
.rh-rd-band__video video { width: 100%; height: 100%; object-fit: cover; }
.rh-rd-band__play { position: absolute; top: 50%; left: 50%; display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; margin: -36px 0 0 -36px; border-radius: 50%; background: rgba(218, 37, 28, 0.92); color: #fff; font-size: 24px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35); transition: transform 0.2s ease; }
.rh-rd-band__play i { margin-left: 4px; }
.rh-rd-band__video:hover .rh-rd-band__play { transform: scale(1.08); }
@media (max-width: 991px) { .rh-rd-band__inner { grid-template-columns: 1fr; gap: 28px; } }

/* Desktop menu: keep all 8 items on one line on common laptop widths (1024–1366px) */
@media (min-width: 992px) and (max-width: 1365px) {
    .header__menu ul li { margin-right: 24px; }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .header__menu ul li { margin-right: 16px; }
    .header__menu ul li a { font-size: 13px; }
}
@media (min-width: 992px) and (max-width: 1099px) {
    .header__menu ul li { margin-right: 11px; }
    .header__menu ul li a { font-size: 12.5px; letter-spacing: 0.5px; }
}

/* ---------- R&D: "From field to packet" interactive tour ---------- */
.rh-f2p__tour { display: grid; grid-template-columns: 290px 1fr; gap: 26px; align-items: stretch; }
.rh-f2p__tabs { display: flex; flex-direction: column; gap: 12px; }
.rh-f2p__tabs button { position: relative; display: flex; align-items: center; gap: 14px; overflow: hidden; width: 100%; padding: 18px 18px 20px; border: 1px solid #e3ecd4; border-radius: 14px; background: #fff; color: #1c1c1c; text-align: left; cursor: pointer; transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease; }
.rh-f2p__tabs button:hover { border-color: #c9dcaa; transform: translateX(3px); }
.rh-f2p__tabs button:focus-visible { outline: 3px solid #7fad39; outline-offset: 2px; }
.rh-f2p__tabs button > i { width: 22px; color: #7fad39; font-size: 18px; text-align: center; }
.rh-f2p__tabs strong { font-size: 17px; font-weight: 700; }
.rh-f2p__num { display: flex; flex: 0 0 34px; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: #eef4e4; color: #4d7a1a; font-weight: 900; transition: background 0.2s ease, color 0.2s ease; }
.rh-f2p__tabs button.is-active { border-color: #7fad39; box-shadow: 0 10px 26px rgba(31, 51, 16, 0.12); transform: none; }
.rh-f2p__tabs button.is-active .rh-f2p__num { background: #7fad39; color: #fff; }
/* progress bar: fills while the tour plays, then moves to the next step (see rishi-f2p.js) */
.rh-f2p__bar { position: absolute; left: 0; bottom: 0; height: 4px; width: 0; background: #7fad39; }
.rh-f2p__tabs button.is-active .rh-f2p__bar { animation: rh-f2p-progress 6s linear forwards; animation-play-state: paused; }
.rh-f2p__tour.is-running .rh-f2p__tabs button.is-active .rh-f2p__bar { animation-play-state: running; }
.rh-f2p__tour.is-manual .rh-f2p__tabs button.is-active .rh-f2p__bar { animation: none; width: 100%; }
@keyframes rh-f2p-progress { from { width: 0; } to { width: 100%; } }

.rh-f2p__stage { position: relative; overflow: hidden; min-height: 100%; border-radius: 16px; background: #1f3310; box-shadow: 0 18px 44px rgba(31, 51, 16, 0.22); }
.rh-f2p__panel { position: absolute; inset: 0; }
.rh-f2p__panel.is-active { animation: rh-f2p-fade 0.5s ease; }
@keyframes rh-f2p-fade { from { opacity: 0; } to { opacity: 1; } }
.rh-f2p__media { position: absolute; inset: 0; }
.rh-f2p__media video, .rh-f2p__media img { width: 100%; height: 100%; object-fit: cover; }
.rh-f2p__caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 70px 28px 24px; background: linear-gradient(transparent, rgba(12, 24, 6, 0.88)); color: #fff; }
.rh-f2p__count { display: inline-block; margin-bottom: 8px; padding: 3px 12px; border-radius: 12px; background: #7fad39; font-size: 12px; font-weight: 700; letter-spacing: 0.5px; }
.rh-f2p__caption h3 { margin: 0 0 6px; color: #fff; font-size: 26px; font-weight: 900; }
.rh-f2p__caption p { max-width: 560px; margin: 0; color: rgba(255, 255, 255, 0.9); font-size: 16px; line-height: 1.6; }
.rh-f2p__stage::before { content: ""; display: block; padding-top: 56.25%; }   /* keeps 16:9 when the tabs are shorter */

@media (max-width: 991px) {
    .rh-f2p__tour { grid-template-columns: 1fr; gap: 16px; }
    .rh-f2p__tabs { flex-direction: row; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 4px; scrollbar-width: none; }
    .rh-f2p__tabs::-webkit-scrollbar { display: none; }
    .rh-f2p__tabs button { flex: 0 0 auto; width: auto; padding: 12px 16px 14px; scroll-snap-align: start; }
    .rh-f2p__tabs button:hover { transform: none; }
    .rh-f2p__tabs button > i { display: none; }
    .rh-f2p__tabs strong { font-size: 15px; white-space: nowrap; }
}
@media (max-width: 575px) {
    .rh-f2p__stage::before { padding-top: 110%; }   /* taller on phones: room for the text over the clip */
    .rh-f2p__caption { padding: 60px 18px 18px; }
    .rh-f2p__caption h3 { font-size: 21px; }
    .rh-f2p__caption p { font-size: 14px; }
}

/* "Watch & read more" button on a tour step, and its pop-up */
.rh-f2p__more { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 8px 18px; border: 0; border-radius: 22px; background: #DA251C; color: #fff; font-size: 14px; font-weight: 700; cursor: pointer; transition: background 0.2s ease, transform 0.2s ease; }
.rh-f2p__more:hover { background: #b81d15; transform: translateY(-1px); }
.rh-f2p__more:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.rh-f2p__more i { font-size: 17px; }
.rh-f2p-modal { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(8, 16, 4, 0.82); animation: rh-f2p-fade 0.25s ease; }
.rh-f2p-modal[hidden] { display: none; }
.rh-f2p-modal__box { position: relative; display: flex; flex-direction: column; width: 100%; max-width: 900px; max-height: calc(100vh - 48px); overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45); }
.rh-f2p-modal__video { flex: 0 0 auto; background: #000; }
.rh-f2p-modal__video video { display: block; width: 100%; max-height: 60vh; aspect-ratio: 16 / 9; background: #000; }
.rh-f2p-modal__text { overflow-y: auto; padding: 22px 28px 26px; }
.rh-f2p-modal__text h3 { margin: 4px 0 10px; font-size: 26px; font-weight: 900; }
.rh-f2p-modal__text p { margin: 0 0 14px; color: #333; font-size: 16px; line-height: 1.75; }
.rh-f2p-modal__text ul { margin: 0; padding: 0; list-style: none; }
.rh-f2p-modal__text li { position: relative; margin-bottom: 8px; padding-left: 28px; color: #1c1c1c; font-weight: 600; }
.rh-f2p-modal__text li::before { content: "\f00c"; position: absolute; left: 0; top: 1px; color: #7fad39; font-family: "Font Awesome 5 Free"; font-weight: 900; }
.rh-f2p-modal__close { position: absolute; top: 10px; right: 10px; z-index: 2; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(0, 0, 0, 0.6); color: #fff; font-size: 18px; cursor: pointer; }
.rh-f2p-modal__close:hover { background: #DA251C; }
body.rh-f2p-open { overflow: hidden; }
@media (max-width: 575px) {
    .rh-f2p-modal { padding: 0; align-items: flex-end; }
    .rh-f2p-modal__box { max-height: 92vh; border-radius: 16px 16px 0 0; }
    .rh-f2p-modal__text { padding: 18px 18px 24px; }
    .rh-f2p-modal__text h3 { font-size: 22px; }
    .rh-f2p-modal__text p { font-size: 15px; }
}

/* "Our R&D in action": same width as the sections below */
.rh-rd-film__player { max-width: none; }

/* ---------- Seasonal banner (home page) ---------- */
.rh-season { padding: 36px 0; background: #f7faf2; border-bottom: 1px solid #e3ecd4; }
.rh-season__inner { display: flex; align-items: center; gap: 24px 32px; }
.rh-season__icon { flex: 0 0 72px; display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 50%; background: #7fad39; color: #fff; font-size: 30px; }
.rh-season--rabi .rh-season__icon { background: #e0a526; }
.rh-season--summer .rh-season__icon { background: #DA251C; }
.rh-season__text { flex: 1 1 auto; min-width: 0; }
.rh-season__text .rh-label { margin-bottom: 4px; }
.rh-season h2 { margin: 0 0 6px; font-size: clamp(22px, 2.6vw, 30px); font-weight: 700; }
.rh-season__text > p { margin: 0 0 14px; color: #555; font-size: 16px; }
.rh-season__actions { flex: 0 0 auto; display: flex; flex-direction: column; gap: 10px; }
.rh-season__remind { justify-content: center; font-weight: 700; }
.rh-season__actions .primary-btn { padding: 12px 24px; border-radius: 4px; text-align: center; }
@media (max-width: 991px) {
    .rh-season__inner { flex-wrap: wrap; }
    .rh-season__icon { display: none; }
    .rh-season__actions { flex-direction: row; flex-wrap: wrap; }
}

/* ---------- Become a distributor / dealer ---------- */
.rh-actions--center { justify-content: center; margin-top: 24px; }
.rh-checks { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; border: 0; }
.rh-checks legend { width: 100%; margin-bottom: 6px; color: #1c1c1c; font-size: 14px; font-weight: 700; }
.rh-form .rh-checks label { display: inline-flex; font-weight: 600; cursor: pointer; }
.rh-checks input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rh-checks span { padding: 7px 14px; border: 1px solid #c9dcaa; border-radius: 20px; background: #fff; transition: background 0.2s ease, color 0.2s ease; }
.rh-checks input:checked + span { border-color: #7fad39; background: #7fad39; color: #fff; }
.rh-checks input:focus-visible + span { box-shadow: 0 0 0 3px rgba(127, 173, 57, 0.35); }
.rh-apply-side { padding: 28px; background: #f7faf2; border: 1px solid #e3ecd4; border-radius: 16px; }
.rh-apply-side h3 { margin-bottom: 6px; font-size: 22px; font-weight: 700; }
.rh-apply-side > p { color: #555; }
.rh-quick--stack { grid-template-columns: 1fr; margin-bottom: 0; }
.rh-quick--stack .rh-quick__btn span { font-size: 16px; }
.rh-apply-side__note { margin: 18px 0 0; color: #555; font-size: 14px; }
.rh-apply-side__note i { margin-right: 6px; color: #7fad39; }

/* ---------- WhatsApp sowing reminders (sowing calendar) ---------- */
.rh-form .rh-consent { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px; font-weight: 400; cursor: pointer; }
.rh-form .rh-consent input { flex: none; width: 18px; height: 18px; margin: 3px 0 0; accent-color: #7fad39; }
.rh-consent > span:first-of-type { flex: 1 1 0; color: #333; font-size: 14px; line-height: 1.6; }
.rh-consent .rh-form__err { flex-basis: 100%; }
.rh-remind-steps { margin: 12px 0 0; padding-left: 20px; color: #555; }
.rh-remind-steps li { margin-bottom: 8px; }

/* ---------- Rishi in action (videos page + homepage teaser) ---------- */
.rh-action-hero {
    padding: 90px 0 70px;
    background-color: #1f3310;
    background-image: linear-gradient(90deg, rgba(18, 34, 8, 0.92) 0%, rgba(18, 34, 8, 0.65) 55%, rgba(18, 34, 8, 0.30) 100%),
                      url("../img/in-action-hero.jpg");
    background-size: cover;
    background-position: center 40%;
    color: #fff;
}
.rh-action-hero h1 { max-width: 620px; margin-bottom: 10px; color: #fff; font-size: clamp(34px, 5vw, 58px); font-weight: 900; line-height: 1.1; }
.rh-action-hero > .container > p:not(.rh-label) { max-width: 560px; margin-bottom: 30px; color: rgba(255, 255, 255, 0.88); font-size: 18px; }
.rh-action-jump { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.rh-action-jump a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border: 1px solid rgba(255, 255, 255, 0.35); border-radius: 20px; color: #fff; font-size: 14px; font-weight: 700; }
.rh-action-jump a:hover { border-color: #7fad39; background: #7fad39; color: #fff; }
.rh-action-jump i { color: #7fad39; }
.rh-action-jump a:hover i { color: #fff; }
.rh-section[id] { scroll-margin-top: 90px; }
/* each section: a large first clip with the other clips listed beside it */
.rh-reel__badge { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin-bottom: 14px; border-radius: 50%; background: #eef5e3; color: #7fad39; font-size: 22px; }
.rh-section--tint .rh-reel__badge { background: #fff; }
.rh-reel { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 24px; }
.rh-reel--single { grid-template-columns: minmax(0, 1fr); max-width: 860px; margin: 0 auto; }
.rh-reel__feature { position: relative; display: block; overflow: hidden; border-radius: 16px; background: #000; box-shadow: 0 14px 34px rgba(31, 51, 16, 0.22); }
.rh-reel__thumb { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; background: #10200a; }
/* the poster sits on a blurred copy of itself, so portrait phone clips fill the frame without black bars */
.rh-reel__thumb::before { content: ""; position: absolute; inset: -20px; background: var(--poster) center / cover; filter: blur(18px) brightness(0.65); }
.rh-reel__thumb img { position: relative; display: block; width: 100%; height: 100%; object-fit: contain; transition: transform 0.5s ease; }
.rh-reel__feature:hover .rh-reel__thumb img, .rh-reel__item:hover .rh-reel__thumb img { transform: scale(1.04); }
.rh-reel__play { position: absolute; top: 50%; left: 50%; display: flex; align-items: center; justify-content: center; width: 76px; height: 76px; margin: -38px 0 0 -38px; border-radius: 50%; background: rgba(218, 37, 28, 0.94); color: #fff; font-size: 26px; box-shadow: 0 0 0 10px rgba(218, 37, 28, 0.25); transition: transform 0.25s ease, box-shadow 0.25s ease; }
.rh-reel__play i { margin-left: 4px; }
.rh-reel__feature:hover .rh-reel__play { transform: scale(1.1); box-shadow: 0 0 0 16px rgba(218, 37, 28, 0.2); }
.rh-reel__time { position: absolute; top: 14px; right: 14px; display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 14px; background: rgba(0, 0, 0, 0.62); color: #fff; font-size: 13px; font-weight: 700; }
.rh-reel__info { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: baseline; gap: 12px; padding: 60px 24px 20px; background: linear-gradient(transparent, rgba(8, 16, 4, 0.88)); color: #fff; }
.rh-reel__info strong { font-size: clamp(18px, 2vw, 24px); font-weight: 800; line-height: 1.25; }
.rh-reel__num { flex: none; color: #7fad39; font-size: 22px; font-weight: 900; }
/* the list is exactly as tall as the large clip (contain: size keeps it from stretching the row) and scrolls */
.rh-reel__list { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 4px 8px 4px 4px; overflow-y: auto; list-style: none; contain: size; scrollbar-width: thin; scrollbar-color: #7fad39 transparent; }
.rh-reel__item { display: flex; align-items: center; gap: 14px; padding: 10px; border-radius: 12px; background: #fff; color: #1f3310; box-shadow: 0 3px 10px rgba(31, 51, 16, 0.08); transition: box-shadow 0.2s ease, transform 0.2s ease; }
.rh-reel__item:hover { color: #1f3310; box-shadow: 0 10px 24px rgba(31, 51, 16, 0.16); transform: translateX(3px); }
.rh-reel__thumb--small { flex: 0 0 150px; border-radius: 8px; }
/* small thumbnails: no blurred backdrop (a CSS background would be downloaded at once, even far down the page) */
.rh-reel__thumb--small::before { content: none; }
.rh-reel__thumb--small img { object-fit: cover; }
.rh-reel__thumb--small .rh-reel__play { width: 36px; height: 36px; margin: -18px 0 0 -18px; font-size: 13px; box-shadow: none; }
.rh-reel__thumb--small .rh-reel__play i { margin-left: 2px; }
.rh-reel__thumb--small .rh-reel__time { top: auto; right: 6px; bottom: 6px; padding: 2px 7px; font-size: 11px; }
.rh-reel__text { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.rh-reel__text .rh-reel__num { font-size: 15px; }
.rh-reel__text strong { font-size: 15px; font-weight: 700; line-height: 1.35; }
.rh-reel__item:hover strong { color: #DA251C; }
/* pop-up player */
.rh-player { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(5, 10, 3, 0.92); animation: rh-f2p-fade 0.25s ease; }
.rh-player[hidden] { display: none; }
.rh-player__box { display: flex; flex-direction: column; width: 100%; max-width: 1200px; max-height: 100%; }
.rh-player__bar { display: flex; align-items: center; gap: 14px; padding: 0 4px 12px; color: #fff; }
.rh-player__bar h3 { flex: 1 1 auto; min-width: 0; margin: 0; color: #fff; font-size: 20px; font-weight: 800; }
.rh-player__count { flex: none; padding: 3px 10px; border-radius: 12px; background: #7fad39; font-size: 13px; font-weight: 800; }
.rh-player__close { flex: none; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.14); color: #fff; font-size: 20px; cursor: pointer; }
.rh-player__close:hover { background: #DA251C; }
.rh-player__stage { position: relative; display: flex; align-items: center; justify-content: center; min-height: 0; }
/* the player takes the clip's shape (--ratio set by rishi-in-action.js): wide clips fill the width, phone clips stand upright */
.rh-player__stage video { display: block; width: min(100%, calc((100vh - 130px) * var(--ratio, 1.7778))); height: auto; max-height: calc(100vh - 130px); border-radius: 12px; background: #000; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5); }
.rh-player__nav { position: absolute; top: 50%; z-index: 1; width: 52px; height: 52px; margin-top: -26px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.92); color: #1f3310; font-size: 18px; cursor: pointer; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35); }
.rh-player__nav:hover { background: #7fad39; color: #fff; }
.rh-player__nav[hidden] { display: none; }
.rh-player__nav--prev { left: -70px; }
.rh-player__nav--next { right: -70px; }
body.rh-player-open { overflow: hidden; }
.rh-action-photos { margin-top: 32px; }
.rh-action-teaser { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.rh-action-teaser__item { display: block; color: #1f3310; }
.rh-action-teaser__item strong { display: block; margin-top: 12px; font-size: 18px; font-weight: 800; }
.rh-action-teaser__item:hover strong { color: #DA251C; }
.rh-action-teaser__img { position: relative; display: block; overflow: hidden; border-radius: 12px; aspect-ratio: 16 / 9; background: #000; box-shadow: 0 4px 14px rgba(31, 51, 16, 0.12); }
.rh-action-teaser__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.rh-action-teaser__item:hover img { transform: scale(1.05); }
.rh-action-teaser__play { position: absolute; top: 50%; left: 50%; display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; margin: -30px 0 0 -30px; border-radius: 50%; background: rgba(218, 37, 28, 0.92); color: #fff; font-size: 20px; }
.rh-action-teaser__play i { margin-left: 3px; }
@media (min-width: 992px) {
    .rh-action-hero { display: flex; align-items: center; min-height: 560px; padding: 70px 0; }
    .rh-action-hero > .container { width: 100%; }
}
@media (max-width: 1340px) {
    .rh-player__nav--prev { left: 10px; }
    .rh-player__nav--next { right: 10px; }
}
@media (max-width: 991px) {
    .rh-action-teaser { grid-template-columns: repeat(2, 1fr); gap: 18px; }
    .rh-reel { grid-template-columns: minmax(0, 1fr); }
    .rh-reel__list { contain: none; padding: 0; overflow: visible; display: grid; grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .rh-action-hero { padding: 56px 0 44px; background-image: linear-gradient(rgba(18, 34, 8, 0.80), rgba(18, 34, 8, 0.80)), url("../img/in-action-hero-sm.jpg"); }
    .rh-action-teaser { grid-template-columns: 1fr; }
    .rh-reel__list { grid-template-columns: 1fr; }
    .rh-reel__thumb--small { flex-basis: 120px; }
    .rh-reel__play { width: 60px; height: 60px; margin: -30px 0 0 -30px; font-size: 20px; }
    .rh-reel__info { padding: 40px 16px 14px; }
    /* phones: the player fills the screen */
    .rh-player { padding: 0; }
    .rh-player__bar { padding: 12px 12px 10px; }
    .rh-player__bar h3 { font-size: 16px; }
    .rh-player__stage video { width: min(100%, calc((100vh - 140px) * var(--ratio, 1.7778))); max-height: calc(100vh - 140px); border-radius: 0; }
    .rh-player__nav { width: 42px; height: 42px; margin-top: -21px; }
}

/* ---------- Gallery: filter icons, fade-in, "show more", viewer strip ---------- */
.rh-filters .btn i { margin-right: 7px; color: #7fad39; font-size: 13px; }
.rh-filters .btn.active i, .rh-filters .btn:hover i { color: #fff; }
.rh-mosaic__item { background: #e9f0de; }
.rh-mosaic__item.is-later { display: none; }
.rh-mosaic.is-js .rh-mosaic__item img { opacity: 0; transition: opacity 0.5s ease, transform 0.5s ease; }
.rh-mosaic.is-js .rh-mosaic__item.is-loaded img { opacity: 1; }
.rh-gal-more .primary-btn span { margin-left: 6px; padding: 1px 8px; border-radius: 10px; background: rgba(255, 255, 255, 0.25); font-size: 13px; }
.rh-lightbox__strip { display: none; }
@media (min-width: 768px) {
    /* room at the bottom for the zoom bar and the strip */
    .rh-lightbox { padding-bottom: 150px; }
    .rh-lightbox img { max-height: calc(100vh - 230px); }
    .rh-lightbox__zoom { bottom: 88px; }
    .rh-lightbox__strip { position: fixed; left: 50%; bottom: 14px; z-index: 3; display: flex; gap: 8px; width: max-content; max-width: min(960px, calc(100% - 180px)); padding: 6px; overflow-x: auto; transform: translateX(-50%); scrollbar-width: none; scroll-behavior: smooth; }
    .rh-lightbox__strip::-webkit-scrollbar { display: none; }
    .rh-lightbox .rh-lightbox__strip button { flex: 0 0 76px; width: 76px; height: 54px; padding: 0; overflow: hidden; border-radius: 8px; background: #1f3310; opacity: 0.5; transition: opacity 0.2s ease, box-shadow 0.2s ease; }
    .rh-lightbox .rh-lightbox__strip button:hover { background: #1f3310; opacity: 0.85; }
    .rh-lightbox .rh-lightbox__strip button.is-active { opacity: 1; box-shadow: 0 0 0 3px #7fad39; }
    .rh-lightbox__strip img { width: 100%; height: 100%; max-height: none; object-fit: cover; border-radius: 0; box-shadow: none; transform: none; cursor: pointer; }
}
@media (max-width: 767px) {
    /* phones: the filters are one row to swipe through */
    .rh-filters { flex-wrap: nowrap; justify-content: flex-start; margin: 0 -15px 22px; padding: 0 15px 6px; overflow-x: auto; scrollbar-width: none; }
    .rh-filters::-webkit-scrollbar { display: none; }
    .rh-filters .btn { flex: none; white-space: nowrap; }
}

/* ---------- Gallery: album cards ---------- */
.rh-albums { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 34px 26px; }
.rh-album { display: block; color: #1f3310; }
.rh-album:hover { color: #1f3310; }
.rh-album:hover strong { color: #DA251C; }
/* three photos stacked like prints: the newest in front, the others peeking out behind it */
.rh-album__stack { position: relative; display: block; aspect-ratio: 4 / 3; margin: 10px 12px 18px; }
.rh-album__stack img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 5px solid #fff; border-radius: 10px; box-shadow: 0 8px 22px rgba(31, 51, 16, 0.18); transition: transform 0.35s ease; }
.rh-album__stack img:nth-child(1) { z-index: 3; }
.rh-album__stack img:nth-child(2) { z-index: 2; transform: rotate(-6deg) translate(-8px, 4px); }
.rh-album__stack img:nth-child(3) { z-index: 1; transform: rotate(7deg) translate(10px, 2px); }
.rh-album:hover .rh-album__stack img:nth-child(1) { transform: translateY(-6px); }
.rh-album:hover .rh-album__stack img:nth-child(2) { transform: rotate(-11deg) translate(-22px, 2px); }
.rh-album:hover .rh-album__stack img:nth-child(3) { transform: rotate(12deg) translate(24px, 0); }
.rh-album__info { display: flex; align-items: center; gap: 10px; padding: 0 6px; }
.rh-album__info > i { display: flex; flex: none; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: #7fad39; color: #fff; font-size: 14px; }
.rh-album__info strong { flex: 1 1 auto; min-width: 0; font-size: 18px; font-weight: 800; line-height: 1.2; }
.rh-album__n { flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 12px; background: #fff; color: #4f7a17; font-size: 13px; font-weight: 800; box-shadow: 0 2px 8px rgba(31, 51, 16, 0.1); }

/* ---------- Gallery: photo grid ---------- */
/* one row: centred when it fits (auto margins), scrolls sideways when it does not */
.rh-filters { position: sticky; top: 0; z-index: 5; flex-wrap: nowrap; justify-content: flex-start; padding: 12px 4px; overflow-x: auto; background: rgba(255, 255, 255, 0.94); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); scrollbar-width: none; }
.rh-filters::-webkit-scrollbar { display: none; }
.rh-filters .btn { flex: none; white-space: nowrap; }
.rh-filters .btn:first-child { margin-left: auto; }
.rh-filters .btn:last-child { margin-right: auto; }
.rh-mosaic { gap: 16px; }
.rh-mosaic__item { border-radius: 16px; }
.rh-mosaic__item::after { content: ""; position: absolute; inset: 0; background: rgba(18, 34, 8, 0); transition: background 0.3s ease; pointer-events: none; }
.rh-mosaic__item:hover::after { background: rgba(18, 34, 8, 0.25); }
.rh-mosaic__item figcaption { z-index: 2; justify-content: flex-end; background: none; }
/* inside an album every photo has the album's name: show only the zoom badge (the viewer still reads the name) */
.rh-mosaic__item figcaption span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rh-mosaic__item figcaption i { width: 42px; height: 42px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); }
.rh-mosaic.is-reveal .rh-mosaic__item { opacity: 0; transform: translateY(24px); }
.rh-mosaic.is-reveal .rh-mosaic__item.is-in { opacity: 1; transform: none; }
@media (max-width: 767px) {
    /* phones: album cards are a row to swipe through */
    .rh-albums { display: flex; gap: 14px; margin: 0 -15px; padding: 4px 15px 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .rh-albums::-webkit-scrollbar { display: none; }
    .rh-album { flex: 0 0 72%; scroll-snap-align: center; }
    .rh-mosaic__item { border-radius: 12px; }
}
/* the photos section must not be a clipping box, or the filter bar cannot stick; clip still stops sideways scrolling */
.rh-section.rh-gal-photos { overflow: visible; overflow-x: clip; }

/* ---------- Gallery: one album ---------- */
.rh-album-hero { position: relative; padding: 70px 0 56px; overflow: hidden; background: #1f3310; color: #fff; }
.rh-album-hero::before { content: ""; position: absolute; inset: -30px; background: var(--cover) center / cover; filter: blur(3px); opacity: 0.45; }
.rh-album-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18, 34, 8, 0.92), rgba(18, 34, 8, 0.55)); }
.rh-album-hero .container { position: relative; z-index: 1; }
.rh-album-hero__back { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; padding: 6px 14px; border: 1px solid rgba(255, 255, 255, 0.35); border-radius: 20px; color: #fff; font-size: 14px; font-weight: 700; }
.rh-album-hero__back:hover { border-color: #7fad39; background: #7fad39; color: #fff; }
.rh-album-hero h1 { display: flex; align-items: center; gap: 16px; margin: 0 0 8px; color: #fff; font-size: clamp(32px, 4.5vw, 52px); font-weight: 900; }
.rh-album-hero h1 i { display: flex; flex: none; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: #7fad39; font-size: 22px; }
.rh-album-hero p { display: flex; align-items: center; gap: 8px; margin: 0; color: rgba(255, 255, 255, 0.88); font-size: 17px; font-weight: 700; }
.rh-album-hero p i { color: #7fad39; }
.rh-gal-photos { padding-top: 36px; }
.rh-filters a.btn:hover { color: #fff; }
@media (max-width: 767px) {
    .rh-album-hero { padding: 40px 0 32px; }
    .rh-album-hero h1 i { width: 44px; height: 44px; font-size: 17px; }
}

/* ---------- Products / category banner: slide photos (were set late by main.js) ---------- */
.rh-banner__slide { background-repeat: no-repeat; background-size: cover; }
.rh-banner__slide--1 { background-image: url("../img/aboutus-slider1.jpg"); }
.rh-banner__slide--2 { background-image: url("../img/marjorie-bertrand-vYg2mWKqQcU-unsplash.jpg"); }
.rh-banner__slide--3 { background-image: url("../img/tomatoes.jpeg"); }
@media (max-width: 767px) {
    .rh-banner__slide--1 { background-image: url("../img/aboutus-slider1-sm.jpg"); }
    .rh-banner__slide--2 { background-image: url("../img/marjorie-bertrand-vYg2mWKqQcU-unsplash-sm.jpg"); }
    .rh-banner__slide--3 { background-image: url("../img/tomatoes-sm.jpg"); }
}
