/*
Theme Name: Ronak Agro
Theme URI: https://ronakagro.shop
Author: Ronak Agro
Author URI: https://ronakagro.shop
Description: Original agricultural e-commerce child theme for Ronak Agro (ronakagro.shop), built on Storefront + WooCommerce. Deep green / earthy yellow design system, mega menu, mobile bottom nav, crop & problem-based product discovery.
Template: storefront
Version: 1.0.0
Text Domain: ronak-agro
Requires PHP: 7.4
Requires at least: 6.0
*/

/* =========================================================
   1. DESIGN TOKENS
   ========================================================= */
:root{
  --ra-deep-green:#1B4332;
  --ra-mid-green:#2D6A4F;
  --ra-fresh-green:#74C69D;
  --ra-light-green-bg:#F1F8F4;
  --ra-earthy-yellow:#E0A62B;
  --ra-yellow-soft:#FBF1DC;
  --ra-white:#FFFFFF;
  --ra-charcoal:#22292B;
  --ra-charcoal-60:#5B6664;
  --ra-border:#E3E9E5;
  --ra-error:#B3261E;

  --ra-radius-sm:6px;
  --ra-radius-md:10px;
  --ra-radius-lg:16px;
  --ra-shadow-hover:0 8px 24px rgba(27,67,50,.10);
  --ra-container:1280px;
  --ra-font-heading:'Poppins',-apple-system,Segoe UI,Roboto,sans-serif;
  --ra-font-body:'Inter',-apple-system,Segoe UI,Roboto,sans-serif;
}

/* =========================================================
   2. BASE
   ========================================================= */
body{
  font-family:var(--ra-font-body);
  color:var(--ra-charcoal);
  background:var(--ra-white);
  font-size:16px;
  line-height:1.6;
}
h1,h2,h3,h4,h5,h6,.ra-heading{
  font-family:var(--ra-font-heading);
  color:var(--ra-deep-green);
  font-weight:600;
  line-height:1.25;
}
a{ color:var(--ra-mid-green); text-decoration:none; }
a:hover{ color:var(--ra-deep-green); }
.ra-container{ max-width:var(--ra-container); margin:0 auto; padding:0 16px; }
@media(min-width:768px){ .ra-container{ padding:0 24px; } }

.ra-section{ padding:56px 0; }
@media(min-width:1024px){ .ra-section{ padding:80px 0; } }
.ra-section--alt{ background:var(--ra-light-green-bg); }
.ra-section__head{ text-align:center; max-width:680px; margin:0 auto 32px; }
.ra-section__title{ font-size:26px; margin:0 0 8px; }
@media(min-width:1024px){ .ra-section__title{ font-size:34px; } }
.ra-section__subtitle{ color:var(--ra-charcoal-60); font-size:15px; margin:0; }
.ra-section__foot{ text-align:center; margin-top:32px; }

/* Buttons */
.ra-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--ra-font-heading); font-weight:600; font-size:15px;
  padding:12px 24px; border-radius:var(--ra-radius-sm);
  border:2px solid transparent; cursor:pointer; transition:.2s ease;
}
.ra-btn--primary{ background:var(--ra-deep-green); color:#fff; }
.ra-btn--primary:hover{ background:var(--ra-mid-green); color:#fff; }
.ra-btn--secondary{ background:var(--ra-earthy-yellow); color:var(--ra-charcoal); }
.ra-btn--secondary:hover{ background:#c8931f; color:var(--ra-charcoal); }
.ra-btn--ghost{ background:transparent; border-color:var(--ra-deep-green); color:var(--ra-deep-green); }
.ra-btn--ghost:hover{ background:var(--ra-deep-green); color:#fff; }
.ra-btn--sm{ padding:8px 16px; font-size:13px; }
.ra-btn--block{ width:100%; }

/* Badges */
.ra-badge{ display:inline-block; font-family:var(--ra-font-heading); font-weight:600; font-size:12px; padding:4px 10px; border-radius:999px; }
.ra-badge--sale{ background:var(--ra-earthy-yellow); color:var(--ra-charcoal); }
.ra-badge--stock{ background:var(--ra-fresh-green); color:var(--ra-deep-green); }
.ra-badge--new{ background:transparent; border:1px solid var(--ra-mid-green); color:var(--ra-mid-green); }
.ra-badge--combo{ background:var(--ra-deep-green); color:#fff; }

/* =========================================================
   3. TOP BAR
   ========================================================= */
.ra-topbar{ background:var(--ra-deep-green); color:#e8f3ec; font-size:13px; }
.ra-topbar .ra-container{ display:flex; align-items:center; justify-content:space-between; height:36px; }
.ra-topbar a{ color:#e8f3ec; }
.ra-topbar a:hover{ color:var(--ra-earthy-yellow); }
.ra-topbar__links{ display:flex; gap:20px; }
.ra-topbar__links li{ list-style:none; }
.ra-topbar ul{ display:flex; gap:20px; margin:0; padding:0; }
@media(max-width:767px){ .ra-topbar{ display:none; } }

/* =========================================================
   4. MAIN HEADER
   ========================================================= */
.ra-header{ background:#fff; border-bottom:1px solid var(--ra-border); position:sticky; top:0; z-index:400; }
.ra-header__row{ display:flex; align-items:center; gap:24px; padding:14px 0; }
.ra-header__logo img{ max-height:52px; display:block; }
.ra-header__logo{ font-family:var(--ra-font-heading); font-weight:700; font-size:24px; color:var(--ra-deep-green); }
.ra-header__logo span{ color:var(--ra-earthy-yellow); }

.ra-search{ flex:1; position:relative; max-width:640px; margin:0 auto; }
.ra-search form{ display:flex; }
.ra-search input[type="search"]{
  width:100%; border:2px solid var(--ra-mid-green); border-right:none;
  border-radius:var(--ra-radius-sm) 0 0 var(--ra-radius-sm);
  padding:11px 16px; font-size:14px; font-family:var(--ra-font-body);
}
.ra-search input[type="search"]:focus{ outline:none; border-color:var(--ra-deep-green); }
.ra-search button{
  background:var(--ra-deep-green); color:#fff; border:none; padding:0 20px;
  border-radius:0 var(--ra-radius-sm) var(--ra-radius-sm) 0; cursor:pointer;
}
.ra-search__suggest{
  position:absolute; top:100%; left:0; right:0; background:#fff;
  border:1px solid var(--ra-border); border-top:none; border-radius:0 0 var(--ra-radius-md) var(--ra-radius-md);
  box-shadow:var(--ra-shadow-hover); max-height:400px; overflow:auto; z-index:500; display:none;
}
.ra-search__suggest.is-open{ display:block; }
.ra-search__suggest a{ display:flex; align-items:center; gap:10px; padding:10px 16px; color:var(--ra-charcoal); border-bottom:1px solid var(--ra-border); }
.ra-search__suggest a:hover{ background:var(--ra-light-green-bg); }
.ra-search__suggest img{ width:36px; height:36px; object-fit:cover; border-radius:4px; }
.ra-search__suggest small{ color:var(--ra-charcoal-60); display:block; }

.ra-header__icons{ display:flex; align-items:center; gap:20px; }
.ra-header__icon{ position:relative; color:var(--ra-charcoal); }
.ra-header__icon .count{
  position:absolute; top:-8px; right:-10px; background:var(--ra-earthy-yellow); color:var(--ra-charcoal);
  font-size:11px; font-weight:700; border-radius:999px; min-width:18px; height:18px;
  display:flex; align-items:center; justify-content:center; padding:0 4px;
}
@media(max-width:1023px){ .ra-search{ order:3; flex-basis:100%; max-width:none; margin-top:10px; } }

/* =========================================================
   5. NAVIGATION + MEGA MENU
   ========================================================= */
.ra-nav{ background:var(--ra-deep-green); }
.ra-nav ul.ra-nav__menu{ display:flex; list-style:none; margin:0; padding:0; position:relative; }
.ra-nav__menu > li{ position:relative; }
.ra-nav__menu > li > a{
  display:block; padding:14px 18px; color:#fff; font-weight:500; font-size:14px;
  font-family:var(--ra-font-heading);
}
.ra-nav__menu > li:hover > a, .ra-nav__menu > li > a:hover{ background:var(--ra-mid-green); color:#fff; }
.ra-nav__menu .ra-mega{
  display:none; position:absolute; left:0; top:100%; background:#fff; color:var(--ra-charcoal);
  box-shadow:0 16px 32px rgba(0,0,0,.14); min-width:640px; padding:24px; z-index:450;
  border-top:3px solid var(--ra-earthy-yellow); border-radius:0 0 var(--ra-radius-md) var(--ra-radius-md);
}
.ra-nav__menu > li:hover .ra-mega{ display:flex; gap:32px; }
.ra-mega__col h4{ font-size:14px; margin:0 0 10px; text-transform:uppercase; letter-spacing:.04em; }
.ra-mega__col h4 a{ color:var(--ra-deep-green); }
.ra-mega__col ul{ list-style:none; margin:0; padding:0; }
.ra-mega__col li a{ display:block; padding:5px 0; color:var(--ra-charcoal); font-size:14px; }
.ra-mega__col li a:hover{ color:var(--ra-mid-green); padding-left:4px; }
@media(max-width:1023px){ .ra-nav{ display:none; } }

/* =========================================================
   6. HERO SLIDER
   ========================================================= */
.ra-hero{ position:relative; overflow:hidden; background:var(--ra-light-green-bg); }
.ra-hero__track{ display:flex; transition:transform .5s ease; }
.ra-hero__slide{ min-width:100%; display:grid; grid-template-columns:1fr; align-items:center; }
@media(min-width:768px){ .ra-hero__slide{ grid-template-columns:1fr 1fr; min-height:420px; } }
.ra-hero__copy{ padding:40px 24px; }
@media(min-width:1024px){ .ra-hero__copy{ padding:64px; } }
.ra-hero__copy h1,.ra-hero__copy h2{ font-size:30px; margin:0 0 14px; }
@media(min-width:1024px){ .ra-hero__copy h1,.ra-hero__copy h2{ font-size:44px; } }
.ra-hero__copy p{ color:var(--ra-charcoal-60); font-size:16px; margin:0 0 24px; max-width:480px; }
.ra-hero__copy .ra-btn{ margin-right:12px; }
.ra-hero__img{ height:220px; background-size:cover; background-position:center; }
@media(min-width:768px){ .ra-hero__img{ height:100%; min-height:420px; } }
.ra-hero__dots{ position:absolute; bottom:16px; left:50%; transform:translateX(-50%); display:flex; gap:8px; }
.ra-hero__dots button{ width:9px; height:9px; border-radius:50%; border:none; background:rgba(27,67,50,.3); cursor:pointer; padding:0; }
.ra-hero__dots button.is-active{ background:var(--ra-deep-green); width:22px; border-radius:5px; }
.ra-hero__arrow{ position:absolute; top:50%; transform:translateY(-50%); background:#fff; border:1px solid var(--ra-border); width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:20; }
.ra-hero__arrow--prev{ left:16px; } .ra-hero__arrow--next{ right:16px; }

/* =========================================================
   7. TRUST BADGES
   ========================================================= */
.ra-trust{ background:#fff; }
.ra-trust__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
@media(min-width:768px){ .ra-trust__grid{ grid-template-columns:repeat(4,1fr); } }
.ra-trust__item{ display:flex; align-items:center; gap:12px; padding:16px; }
.ra-trust__icon{ width:44px; height:44px; border-radius:50%; background:var(--ra-light-green-bg); color:var(--ra-mid-green); display:flex; align-items:center; justify-content:center; flex:none; }
.ra-trust__item strong{ display:block; font-size:14px; color:var(--ra-charcoal); }

/* =========================================================
   8. CATEGORY GRID / CROP CHIPS / PROBLEM GRID
   ========================================================= */
.ra-cat-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
@media(min-width:640px){ .ra-cat-grid{ grid-template-columns:repeat(3,1fr); } }
@media(min-width:1024px){ .ra-cat-grid{ grid-template-columns:repeat(6,1fr); } }
.ra-cat-card{ background:#fff; border:1px solid var(--ra-border); border-radius:var(--ra-radius-lg); overflow:hidden; text-align:center; transition:.2s; display:block; }
.ra-cat-card:hover{ transform:translateY(-4px); box-shadow:var(--ra-shadow-hover); border-color:var(--ra-fresh-green); }
.ra-cat-card__img{ aspect-ratio:1/1; background:var(--ra-light-green-bg); overflow:hidden; }
.ra-cat-card__img img{ width:100%; height:100%; object-fit:cover; }
.ra-cat-card__body{ padding:14px 10px; }
.ra-cat-card__body strong{ display:block; font-size:14px; color:var(--ra-charcoal); }
.ra-cat-card__body small{ color:var(--ra-charcoal-60); font-size:12px; display:block; margin-top:2px; }

.ra-scroll-row{ display:flex; gap:14px; overflow-x:auto; padding-bottom:8px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; }
.ra-scroll-row::-webkit-scrollbar{ height:6px; }
.ra-scroll-row::-webkit-scrollbar-thumb{ background:var(--ra-border); border-radius:3px; }
.ra-crop-chip{ scroll-snap-align:start; flex:0 0 110px; text-align:center; }
.ra-crop-chip__img{ width:90px; height:90px; border-radius:50%; overflow:hidden; margin:0 auto 8px; border:2px solid var(--ra-border); }
.ra-crop-chip__img img{ width:100%; height:100%; object-fit:cover; }
.ra-crop-chip span{ font-size:13px; font-weight:600; color:var(--ra-charcoal); }

.ra-problem-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
@media(min-width:640px){ .ra-problem-grid{ grid-template-columns:repeat(3,1fr); } }
@media(min-width:1024px){ .ra-problem-grid{ grid-template-columns:repeat(4,1fr); } }
.ra-problem-card{ display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--ra-border); border-radius:var(--ra-radius-md); padding:14px; }
.ra-problem-card:hover{ border-color:var(--ra-earthy-yellow); background:var(--ra-yellow-soft); }
.ra-problem-card__icon{ width:38px; height:38px; border-radius:50%; background:var(--ra-yellow-soft); display:flex; align-items:center; justify-content:center; flex:none; color:var(--ra-earthy-yellow); }
.ra-problem-card strong{ font-size:14px; color:var(--ra-charcoal); }

/* =========================================================
   9. PRODUCT CARDS (deals / best sellers / general grids)
   ========================================================= */
.ra-product-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
@media(min-width:640px){ .ra-product-grid{ grid-template-columns:repeat(3,1fr); } }
@media(min-width:1024px){ .ra-product-grid{ grid-template-columns:repeat(4,1fr); } }

.ra-product-card{ background:#fff; border:1px solid var(--ra-border); border-radius:var(--ra-radius-md); overflow:hidden; position:relative; display:flex; flex-direction:column; transition:.2s; }
.ra-product-card:hover{ box-shadow:var(--ra-shadow-hover); border-color:var(--ra-fresh-green); }
.ra-product-card__badges{ position:absolute; top:10px; left:10px; display:flex; flex-direction:column; gap:6px; z-index:2; }
.ra-product-card__wish{ position:absolute; top:10px; right:10px; z-index:2; background:#fff; border:1px solid var(--ra-border); width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--ra-charcoal-60); }
.ra-product-card__wish:hover{ color:var(--ra-error); border-color:var(--ra-error); }
.ra-product-card__img{ aspect-ratio:1/1; background:var(--ra-light-green-bg); }
.ra-product-card__img img{ width:100%; height:100%; object-fit:cover; }
.ra-product-card__body{ padding:12px 14px 16px; display:flex; flex-direction:column; gap:4px; flex:1; }
.ra-product-card__brand{ font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--ra-charcoal-60); }
.ra-product-card__name{ font-size:14px; font-weight:600; color:var(--ra-charcoal); margin:0; min-height:2.6em; }
.ra-product-card__name a{ color:inherit; }
.ra-product-card__rating{ color:var(--ra-earthy-yellow); font-size:12px; }
.ra-product-card__price{ display:flex; align-items:baseline; gap:8px; margin-top:2px; }
.ra-product-card__price .now{ font-size:17px; font-weight:700; color:var(--ra-deep-green); }
.ra-product-card__price .mrp{ font-size:13px; color:var(--ra-charcoal-60); text-decoration:line-through; }
.ra-product-card__price .off{ font-size:12px; font-weight:600; color:var(--ra-error); }
.ra-product-card__actions{ display:flex; gap:8px; margin-top:10px; }
.ra-product-card__actions .ra-btn{ flex:1; padding:9px 10px; font-size:13px; }

/* =========================================================
   10. BRAND STRIP
   ========================================================= */
.ra-brand-strip{ display:flex; flex-wrap:wrap; gap:16px; justify-content:center; align-items:center; }
.ra-brand-strip a{ display:flex; align-items:center; justify-content:center; width:140px; height:76px; background:#fff; border:1px solid var(--ra-border); border-radius:var(--ra-radius-md); filter:grayscale(1); opacity:.75; transition:.2s; }
.ra-brand-strip a:hover{ filter:none; opacity:1; border-color:var(--ra-fresh-green); }
.ra-brand-strip img{ max-width:80%; max-height:60%; }

/* =========================================================
   11. PROMO BANNERS / WHY CHOOSE
   ========================================================= */
.ra-promo-grid{ display:grid; grid-template-columns:1fr; gap:20px; }
@media(min-width:768px){ .ra-promo-grid{ grid-template-columns:repeat(3,1fr); } }
.ra-promo-card{ position:relative; border-radius:var(--ra-radius-lg); overflow:hidden; min-height:160px; display:flex; align-items:flex-end; padding:24px; color:#fff; background-size:cover; background-position:center; }
.ra-promo-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(27,67,50,.85),rgba(27,67,50,.15)); z-index:0; }
.ra-promo-card *{ position:relative; z-index:1; }
.ra-promo-card h3{ color:#fff; font-size:20px; margin:0 0 6px; }

.ra-why-grid{ display:grid; grid-template-columns:1fr; gap:20px; }
@media(min-width:640px){ .ra-why-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .ra-why-grid{ grid-template-columns:repeat(4,1fr); } }
.ra-why-card{ text-align:center; padding:24px 16px; }
.ra-why-card__icon{ width:56px; height:56px; border-radius:50%; background:var(--ra-light-green-bg); color:var(--ra-mid-green); display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
.ra-why-card h4{ font-size:16px; margin:0 0 6px; }
.ra-why-card p{ font-size:13px; color:var(--ra-charcoal-60); margin:0; }

/* =========================================================
   12. REVIEWS SLIDER
   ========================================================= */
.ra-reviews{ display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; }
.ra-review-card{ scroll-snap-align:start; flex:0 0 320px; background:#fff; border:1px solid var(--ra-border); border-radius:var(--ra-radius-md); padding:24px; }
.ra-review-card__stars{ color:var(--ra-earthy-yellow); margin-bottom:10px; }
.ra-review-card p{ font-size:14px; color:var(--ra-charcoal); margin:0 0 14px; }
.ra-review-card__name{ font-weight:600; font-size:13px; color:var(--ra-deep-green); }

/* =========================================================
   13. BLOG CARDS
   ========================================================= */
.ra-blog-grid{ display:grid; grid-template-columns:1fr; gap:20px; }
@media(min-width:640px){ .ra-blog-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .ra-blog-grid{ grid-template-columns:repeat(4,1fr); } }
.ra-blog-card{ background:#fff; border:1px solid var(--ra-border); border-radius:var(--ra-radius-md); overflow:hidden; }
.ra-blog-card__img{ aspect-ratio:16/10; background:var(--ra-light-green-bg); }
.ra-blog-card__img img{ width:100%; height:100%; object-fit:cover; }
.ra-blog-card__body{ padding:16px; }
.ra-blog-card__cat{ font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--ra-earthy-yellow); font-weight:700; }
.ra-blog-card h3{ font-size:15px; margin:8px 0; }
.ra-blog-card h3 a{ color:var(--ra-charcoal); }

/* =========================================================
   14. NEWSLETTER
   ========================================================= */
.ra-newsletter{ background:var(--ra-deep-green); color:#fff; text-align:center; }
.ra-newsletter h2{ color:#fff; }
.ra-newsletter p{ color:#c9dcd2; max-width:520px; margin:0 auto 24px; }
.ra-newsletter form{ display:flex; max-width:440px; margin:0 auto; gap:0; }
.ra-newsletter input[type="email"]{ flex:1; padding:13px 16px; border:none; border-radius:var(--ra-radius-sm) 0 0 var(--ra-radius-sm); font-size:14px; }
.ra-newsletter button{ border-radius:0 var(--ra-radius-sm) var(--ra-radius-sm) 0; }

/* =========================================================
   15. FOOTER
   ========================================================= */
.ra-footer{ background:#122E22; color:#c9dcd2; font-size:14px; }
.ra-footer__top{ padding:56px 0 32px; display:grid; grid-template-columns:1fr; gap:32px; }
@media(min-width:768px){ .ra-footer__top{ grid-template-columns:1.4fr 1fr 1fr 1fr; } }
.ra-footer h4{ color:#fff; font-size:15px; margin:0 0 16px; }
.ra-footer ul{ list-style:none; margin:0; padding:0; }
.ra-footer li{ margin-bottom:8px; }
.ra-footer a{ color:#c9dcd2; }
.ra-footer a:hover{ color:var(--ra-earthy-yellow); }
.ra-footer__social{ display:flex; gap:12px; margin-top:16px; }
.ra-footer__social a{ width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; }
.ra-footer__bottom{ border-top:1px solid rgba(255,255,255,.12); padding:20px 0; display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; font-size:12px; }
.ra-footer__payments{ display:flex; gap:8px; align-items:center; }
.ra-footer__payments span{ background:#fff; color:var(--ra-charcoal); font-size:10px; font-weight:700; padding:4px 8px; border-radius:4px; }

/* =========================================================
   16. MOBILE BOTTOM NAV
   ========================================================= */
.ra-mobile-nav{ display:none; }
@media(max-width:1023px){
  .ra-mobile-nav{
    display:flex; position:fixed; bottom:0; left:0; right:0; z-index:500;
    background:#fff; border-top:1px solid var(--ra-border); box-shadow:0 -4px 16px rgba(0,0,0,.06);
    padding-bottom:env(safe-area-inset-bottom);
  }
  body{ padding-bottom:60px; }
  .ra-mobile-nav a{ flex:1; display:flex; flex-direction:column; align-items:center; gap:2px; padding:8px 0 6px; color:var(--ra-charcoal-60); font-size:11px; position:relative; }
  .ra-mobile-nav a.is-active{ color:var(--ra-deep-green); }
  .ra-mobile-nav .count{ position:absolute; top:2px; right:calc(50% - 18px); background:var(--ra-earthy-yellow); color:var(--ra-charcoal); font-size:10px; font-weight:700; border-radius:999px; min-width:16px; height:16px; display:flex; align-items:center; justify-content:center; }
}

/* =========================================================
   17. SHOP PAGE (sidebar filters + sorting)
   ========================================================= */
.ra-shop-layout{ display:grid; grid-template-columns:1fr; gap:32px; }
@media(min-width:1024px){ .ra-shop-layout{ grid-template-columns:260px 1fr; } }
.ra-filters{ background:#fff; border:1px solid var(--ra-border); border-radius:var(--ra-radius-md); padding:20px; align-self:start; position:sticky; top:96px; }
.ra-filters h4{ font-size:14px; margin:18px 0 10px; }
.ra-filters h4:first-child{ margin-top:0; }
.ra-filters label{ display:flex; align-items:center; gap:8px; font-size:13px; margin-bottom:8px; color:var(--ra-charcoal); }
.ra-toolbar{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; margin-bottom:20px; }
.ra-toolbar select{ border:1px solid var(--ra-border); border-radius:var(--ra-radius-sm); padding:8px 12px; font-size:13px; }

/* Utility */
.ra-visually-hidden{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
