/* ============================================================
   Dynapharm — Homepage redesign (Medilazar home-9 inspired)
   Medical/pharmacy look: clean green palette, hero with
   category sidebar, product grids, promo banners, testimonials.
   Loaded only on the homepage (index.php). Reuses the global
   .product-card component from style.css for the grids.
   ============================================================ */

:root{
  --ml-green:#1a6b3c;
  --ml-green-2:#2d9b5e;
  --ml-green-pale:#e8f5ee;
  --ml-green-soft:#f3faf6;
  --ml-ink:#11261a;
  --ml-muted:#5d6b63;
  --ml-line:#e6efe9;
  --ml-radius:16px;
  --ml-shadow:0 10px 30px rgba(16,80,46,.10);
  --ml-shadow-sm:0 4px 16px rgba(16,80,46,.08);
}

/* Slim promo bar just under the site header */
.ml-promobar{
  background:linear-gradient(90deg,var(--ml-green),var(--ml-green-2));
  color:#fff;font-size:.8rem;font-weight:600;letter-spacing:.2px;
}
.ml-promobar .container{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 16px;text-align:center;}
.ml-promobar a{color:#fff;text-decoration:underline;}

/* ---------- Section scaffolding ---------- */
.ml-section{padding:46px 0;}
.ml-section--tight{padding:30px 0;}
.ml-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap;}
.ml-sec-head h2{font-family:'Playfair Display',Georgia,serif;font-size:1.7rem;color:var(--ml-ink);margin:0;line-height:1.15;}
.ml-sec-head .ml-sec-sub{display:block;font-family:'Lato',Arial,sans-serif;font-weight:400;font-size:.85rem;color:var(--ml-muted);margin-top:4px;}
.ml-sec-head a.ml-viewall{color:var(--ml-green);font-weight:700;font-size:.82rem;text-decoration:none;white-space:nowrap;}
.ml-sec-head a.ml-viewall:hover{text-decoration:underline;}

/* ---------- HERO ---------- */
.ml-hero{display:grid;grid-template-columns:255px 1fr 320px;gap:18px;align-items:stretch;padding-top:22px;}
.ml-hero-side{background:#fff;border:1px solid var(--ml-line);border-radius:var(--ml-radius);padding:10px 0;box-shadow:var(--ml-shadow-sm);}
.ml-hero-side h4{margin:0;padding:8px 18px 10px;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ml-muted);}
.ml-hero-side ul{list-style:none;margin:0;padding:0;}
.ml-hero-side li a{display:flex;align-items:center;gap:10px;padding:9px 18px;color:var(--ml-ink);text-decoration:none;font-size:.9rem;font-weight:600;border-left:3px solid transparent;transition:.18s;}
.ml-hero-side li a .ic{font-size:1.05rem;width:22px;text-align:center;}
.ml-hero-side li a:hover{background:var(--ml-green-pale);border-left-color:var(--ml-green);color:var(--ml-green);}
.ml-hero-side .ml-side-foot{padding:10px 18px 4px;}
.ml-hero-side .ml-side-foot a{display:inline-block;margin:4px 8px 4px 0;font-size:.78rem;color:var(--ml-green);text-decoration:none;}
.ml-hero-side .ml-side-foot a:hover{text-decoration:underline;}

.ml-hero-main{position:relative;border-radius:var(--ml-radius);overflow:hidden;min-height:340px;
  background:radial-gradient(120% 120% at 85% 15%,#2d9b5e 0%,#1a6b3c 55%,#0d4f2b 100%);
  display:flex;align-items:center;color:#fff;box-shadow:var(--ml-shadow);}
.ml-hero-main .ml-hero-copy{position:relative;z-index:2;padding:38px 40px;max-width:60%;}
.ml-hero-main .ml-eyebrow{display:inline-block;background:rgba(255,255,255,.16);padding:5px 12px;border-radius:50px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;}
.ml-hero-main h1{font-family:'Playfair Display',Georgia,serif;font-size:2.5rem;line-height:1.1;margin:0 0 14px;font-weight:700;}
.ml-hero-main p{font-size:.95rem;opacity:.92;margin:0 0 22px;max-width:420px;}
.ml-hero-main .ml-hero-img{position:absolute;right:0;top:0;bottom:0;width:46%;display:flex;align-items:center;justify-content:center;z-index:1;}
.ml-hero-main .ml-hero-img img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 14px 30px rgba(0,0,0,.25));}
.ml-btn-shop{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--ml-green);font-weight:800;padding:13px 26px;border-radius:50px;text-decoration:none;font-size:.92rem;box-shadow:0 8px 20px rgba(0,0,0,.18);transition:.18s;}
.ml-btn-shop:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.22);}

.ml-hero-deals{display:flex;flex-direction:column;gap:14px;}
.ml-deal{position:relative;border-radius:14px;padding:18px 18px;color:#fff;overflow:hidden;flex:1;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--ml-shadow-sm);min-height:104px;}
.ml-deal h5{margin:0 0 4px;font-size:1.02rem;font-weight:800;}
.ml-deal span{font-size:.78rem;opacity:.9;}
.ml-deal .ml-deal-tag{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.22);padding:3px 9px;border-radius:50px;font-size:.68rem;font-weight:700;}
.ml-deal a{color:#fff;text-decoration:none;font-weight:700;font-size:.8rem;margin-top:10px;display:inline-block;}
.ml-deal--1{background:linear-gradient(135deg,#ff7a59,#ff4d4d);}
.ml-deal--2{background:linear-gradient(135deg,#2d9b5e,#1a6b3c);}
.ml-deal--3{background:linear-gradient(135deg,#f5b942,#e8890c);}

/* ---------- Category grid ---------- */
.ml-cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;}
.ml-cat-card{background:#fff;border:1px solid var(--ml-line);border-radius:14px;padding:18px 12px;text-align:center;text-decoration:none;color:var(--ml-ink);transition:.18s;box-shadow:var(--ml-shadow-sm);}
.ml-cat-card:hover{transform:translateY(-4px);border-color:var(--ml-green-2);box-shadow:var(--ml-shadow);}
.ml-cat-card .ml-cat-ic{width:56px;height:56px;margin:0 auto 10px;border-radius:50%;background:var(--ml-green-pale);display:flex;align-items:center;justify-content:center;font-size:1.7rem;}
.ml-cat-card .ml-cat-name{font-weight:700;font-size:.86rem;}
.ml-cat-card .ml-cat-count{font-size:.72rem;color:var(--ml-muted);}

/* ---------- Product grid ---------- */
.ml-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.ml-product-grid .product-card{border:1px solid var(--ml-line);border-radius:14px;overflow:hidden;height:100%;transition:.18s;background:#fff;}
.ml-product-grid .product-card:hover{transform:translateY(-4px);box-shadow:var(--ml-shadow);border-color:var(--ml-green-2);}
.ml-product-grid .card-img-wrap{aspect-ratio:1/1;}
.ml-product-grid .card-body{padding:14px;}

/* ---------- Promo banner (OTC / sale) ---------- */
.ml-banner{position:relative;border-radius:var(--ml-radius);overflow:hidden;background:linear-gradient(120deg,#0d4f2b,#2d9b5e);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:34px 40px;box-shadow:var(--ml-shadow);flex-wrap:wrap;}
.ml-banner .ml-banner-copy{max-width:60%;}
.ml-banner .ml-banner-copy .ml-eyebrow{display:inline-block;background:rgba(255,255,255,.16);padding:4px 12px;border-radius:50px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;}
.ml-banner .ml-banner-copy h3{font-family:'Playfair Display',Georgia,serif;font-size:1.8rem;margin:0 0 8px;}
.ml-banner .ml-banner-copy p{margin:0 0 16px;opacity:.92;font-size:.9rem;}
.ml-banner-ill{font-size:5rem;line-height:1;opacity:.9;}

/* ---------- Health advice ---------- */
.ml-advice{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.ml-advice-card{position:relative;border-radius:var(--ml-radius);overflow:hidden;min-height:200px;display:flex;align-items:flex-end;color:#fff;padding:26px;box-shadow:var(--ml-shadow-sm);text-decoration:none;}
.ml-advice-card.a1{background:linear-gradient(135deg,#3aa0c2,#1d6e8c);}
.ml-advice-card.a2{background:linear-gradient(135deg,#f0a830,#e0712a);}
.ml-advice-card h4{font-size:1.35rem;margin:0 0 6px;font-family:'Playfair Display',Georgia,serif;}
.ml-advice-card p{margin:0 0 12px;font-size:.85rem;opacity:.92;}
.ml-advice-card .ml-advice-link{font-weight:700;font-size:.82rem;border-bottom:2px solid rgba(255,255,255,.6);padding-bottom:2px;}

/* ---------- About / retail pharmacy ---------- */
.ml-about{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center;background:var(--ml-green-soft);border-radius:var(--ml-radius);padding:34px;}
.ml-about h2{font-family:'Playfair Display',Georgia,serif;color:var(--ml-ink);font-size:1.8rem;margin:0 0 12px;}
.ml-about p{color:var(--ml-muted);font-size:.92rem;line-height:1.6;margin:0 0 16px;}
.ml-about-feats{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.ml-feat{background:#fff;border:1px solid var(--ml-line);border-radius:12px;padding:16px;display:flex;gap:12px;align-items:flex-start;box-shadow:var(--ml-shadow-sm);}
.ml-feat .ml-feat-ic{font-size:1.5rem;}
.ml-feat h6{margin:0 0 3px;font-size:.9rem;color:var(--ml-ink);}
.ml-feat p{margin:0;font-size:.78rem;color:var(--ml-muted);}

/* ---------- Brands / trust strip ---------- */
.ml-brands{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center;}
.ml-brand{background:#fff;border:1px solid var(--ml-line);border-radius:50px;padding:12px 26px;font-weight:800;color:var(--ml-green);box-shadow:var(--ml-shadow-sm);font-size:.95rem;}

/* ---------- Testimonials ---------- */
.ml-testi{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.ml-testi-card{background:#fff;border:1px solid var(--ml-line);border-radius:var(--ml-radius);padding:22px;box-shadow:var(--ml-shadow-sm);}
.ml-testi-card .ml-stars{color:#f5b942;font-size:.95rem;margin-bottom:8px;}
.ml-testi-card p{font-size:.88rem;color:var(--ml-ink);line-height:1.5;margin:0 0 14px;}
.ml-testi-card .ml-testi-who{display:flex;align-items:center;gap:10px;}
.ml-testi-card .ml-av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#2d9b5e,#66bb6a);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;}
.ml-testi-card .ml-testi-name{font-weight:700;font-size:.85rem;color:var(--ml-ink);}
.ml-testi-card .ml-testi-date{font-size:.72rem;color:var(--ml-muted);}

/* ---------- Newsletter + service icons ---------- */
.ml-news{background:linear-gradient(135deg,#0d4f2b,#2d9b5e);border-radius:var(--ml-radius);padding:34px;color:#fff;display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center;box-shadow:var(--ml-shadow);}
.ml-news h3{font-family:'Playfair Display',Georgia,serif;font-size:1.6rem;margin:0 0 8px;}
.ml-news p{opacity:.92;font-size:.88rem;margin:0 0 16px;}
.ml-news form{display:flex;gap:10px;max-width:440px;flex-wrap:wrap;}
.ml-news input[type=email]{flex:1;min-width:200px;padding:13px 16px;border:0;border-radius:50px;font-size:.9rem;}
.ml-news button{border:0;background:#fff;color:var(--ml-green);font-weight:800;padding:13px 26px;border-radius:50px;cursor:pointer;font-size:.9rem;}
.ml-services{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.ml-service{display:flex;gap:12px;align-items:center;}
.ml-service .ml-serv-ic{width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;}
.ml-service h6{margin:0 0 2px;font-size:.86rem;}
.ml-service p{margin:0;font-size:.74rem;opacity:.85;}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .ml-hero{grid-template-columns:1fr;}
  .ml-hero-side{display:none;}
  .ml-cat-grid{grid-template-columns:repeat(4,1fr);}
  .ml-product-grid{grid-template-columns:repeat(3,1fr);}
  .ml-testi{grid-template-columns:1fr;}
  .ml-about,.ml-news{grid-template-columns:1fr;}
}
@media (max-width:680px){
  .ml-hero-main .ml-hero-copy{max-width:100%;}
  .ml-hero-main .ml-hero-img{display:none;}
  .ml-hero-main h1{font-size:1.9rem;}
  .ml-cat-grid{grid-template-columns:repeat(2,1fr);}
  .ml-product-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .ml-advice{grid-template-columns:1fr;}
  .ml-banner{padding:24px;}
  .ml-services{grid-template-columns:1fr;}
  .ml-sec-head h2{font-size:1.4rem;}
}
