/* ================================================================
   RENACIDO PHARMACY — PREMIUM CSS v11
   Complete UI enhancement layer — covers every page
   ================================================================ */

/* ── Color aliases ───────────────────────────────────────────── */
:root {
  --medical-blue:#1e40af;--medical-teal:#0d9488;--medical-green:#059669;
  --medical-red:#dc2626;--medical-yellow:#d97706;--medical-purple:#7c3aed;
  --medical-gray:#6b7280;
  --grad-main:linear-gradient(135deg,#1e40af 0%,#0d9488 100%);
  --grad-warm:linear-gradient(135deg,#d97706 0%,#dc2626 100%);
  --grad-purple:linear-gradient(135deg,#7c3aed 0%,#4f46e5 100%);
  --grad-green:linear-gradient(135deg,#059669 0%,#0d9488 100%);
}

/* ── Scrollbar ───────────────────────────────────────────────── */
::-webkit-scrollbar{width:7px;height:7px}
::-webkit-scrollbar-track{background:#f1f5f9}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#1e40af,#0d9488);border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:#1d4ed8}

/* ── Selection / Focus ───────────────────────────────────────── */
::selection{background:#1e40af;color:#fff}
:focus-visible{outline:2.5px solid #2563eb;outline-offset:3px;border-radius:.375rem}

/* ── Gradient text ───────────────────────────────────────────── */
.gradient-text{background:linear-gradient(135deg,#1e40af,#0d9488);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}
.gradient-text-warm{background:linear-gradient(135deg,#d97706,#dc2626);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}
.gradient-text-purple{background:linear-gradient(135deg,#7c3aed,#4f46e5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}

/* ── Glass UI (auth + forms) ─────────────────────────────────── */
.glass-input{
  width:100%;background:rgba(255,255,255,.65)!important;
  border:1.5px solid rgba(30,64,175,.22)!important;border-radius:.875rem;
  padding:.9rem 1.05rem;font-size:.95rem;color:#0f172a!important;
  transition:all .28s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(8px)}
.glass-input:focus{
  background:rgba(255,255,255,.95)!important;
  border-color:rgba(30,64,175,.55)!important;
  box-shadow:0 0 0 3.5px rgba(30,64,175,.12)!important;outline:none}
.glass-input::placeholder{color:#94a3b8}
.glass-container{
  background:rgba(255,255,255,.78);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.35);border-radius:1.5rem;
  padding:2.5rem;box-shadow:0 12px 48px rgba(30,64,175,.13),0 4px 16px rgba(0,0,0,.06)}

/* ── Hero section ────────────────────────────────────────────── */
.rp-hero{position:relative;min-height:min(92vh,680px);display:flex;align-items:center;overflow:hidden;background:#0a1628}
.rp-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.04);transition:transform 8s ease-out;will-change:transform}
.rp-hero:hover .rp-hero-bg{transform:scale(1.0)}
.rp-hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,22,40,.85) 0%,rgba(5,30,48,.75) 55%,rgba(13,148,136,.35) 100%);z-index:1}
.rp-hero-body{position:relative;z-index:2;padding:4rem 0 3.5rem;display:flex;flex-direction:column;align-items:center;text-align:center}
.rp-hero-pill{display:inline-flex;align-items:center;gap:.55rem;background:rgba(255,255,255,.12);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.22);border-radius:99px;padding:.45rem 1rem .45rem .7rem;font-size:.78rem;font-weight:700;color:rgba(255,255,255,.92);letter-spacing:.04em;text-transform:uppercase;margin-bottom:1.5rem;animation:fadeDown .6s .1s both}
.rp-hero-dot{width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 0 0 2px rgba(52,211,153,.3);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 2px rgba(52,211,153,.3)}50%{box-shadow:0 0 0 6px rgba(52,211,153,.1)}}
.rp-hero-h1{font-size:clamp(2.25rem,5.5vw,3.75rem);font-weight:900;color:#fff;line-height:1.12;letter-spacing:-.03em;margin:0 auto 1.25rem;max-width:720px;text-align:center;animation:fadeUp .65s .2s both}
.rp-hero-accent{background:linear-gradient(135deg,#38bdf8 0%,#34d399 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.rp-hero-sub{font-size:clamp(.95rem,1.8vw,1.175rem);color:rgba(255,255,255,.78);line-height:1.72;margin:0 auto 2rem;max-width:560px;text-align:center;animation:fadeUp .65s .35s both}
.rp-hero-ctas{display:flex;gap:.875rem;flex-wrap:wrap;justify-content:center;margin-bottom:2.5rem;animation:fadeUp .65s .45s both}
.rp-hbtn{display:inline-flex;align-items:center;gap:.55rem;padding:.85rem 1.875rem;font-size:1rem;font-weight:800;border-radius:.875rem;border:2px solid transparent;text-decoration:none;transition:all .22s cubic-bezier(.4,0,.2,1);line-height:1;white-space:nowrap;cursor:pointer;font-family:inherit}
.rp-hbtn-primary{background:linear-gradient(135deg,#2563eb 0%,#0d9488 100%);color:#fff!important;border-color:transparent;box-shadow:0 6px 28px rgba(37,99,235,.55)}
.rp-hbtn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(37,99,235,.7);color:#fff!important}
.rp-hbtn-ghost{background:rgba(255,255,255,.14);color:#fff!important;border-color:rgba(255,255,255,.35);backdrop-filter:blur(8px)}
.rp-hbtn-ghost:hover{background:rgba(255,255,255,.26);transform:translateY(-3px);color:#fff!important}
.rp-hbtn-purple{background:linear-gradient(135deg,#7c3aed 0%,#4f46e5 100%);color:#fff!important;border-color:transparent;box-shadow:0 6px 28px rgba(124,58,237,.45)}
.rp-hbtn-purple:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(124,58,237,.65);color:#fff!important}
.rp-hero-stats{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;animation:fadeUp .65s .55s both}
.rp-hstat{display:flex;flex-direction:column;align-items:center;gap:.2rem;background:rgba(255,255,255,.1);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.16);border-radius:.875rem;padding:.875rem 1.125rem;min-width:100px;text-align:center;transition:all .22s}
.rp-hstat:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}
.rp-hstat-ico{font-size:1.35rem;line-height:1}
.rp-hstat-val{color:#fff;font-size:1.375rem;font-weight:900;line-height:1.1;font-variant-numeric:tabular-nums}
.rp-hstat-lbl{color:rgba(255,255,255,.58);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;text-align:center}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeDown{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}

/* ── Trust bar ───────────────────────────────────────────────── */
.rp-trustbar{background:linear-gradient(135deg,#1e3a8a 0%,#0f766e 100%);padding:.875rem 0;overflow:hidden}
.rp-trustbar-inner{display:flex;align-items:center;justify-content:center;gap:2.5rem;flex-wrap:wrap}
.rp-trust-item{display:flex;align-items:center;gap:.5rem;color:rgba(255,255,255,.88);font-size:.8125rem;font-weight:700;white-space:nowrap}
.rp-trust-item span:first-child{font-size:1rem}

/* ── Section layout ──────────────────────────────────────────── */
.rp-section{padding:clamp(3rem,7vw,5.5rem) 0}
.rp-section-sm{padding:clamp(1.5rem,4vw,2.75rem) 0}
.rp-bg-white{background:#f8fafc}
.rp-bg-dark{background:#0f172a}
.rp-img-section{position:relative;overflow:hidden}
.rp-img-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;opacity:.45}
.rp-img-overlay{position:absolute;inset:0;z-index:1}
.rp-img-section>.container{position:relative;z-index:2}

/* ── Section headings ────────────────────────────────────────── */
.section-title{text-align:center;margin-bottom:clamp(1.75rem,4vw,3rem)}
.section-title .badge{margin-bottom:.75rem;display:inline-block}
.section-title h2{margin-bottom:.65rem;color:#0f172a}
.section-title p{color:#64748b;font-size:1.0625rem;max-width:580px;margin-inline:auto}

/* ── Badges ──────────────────────────────────────────────────── */
.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .8rem;font-size:.7875rem;font-weight:700;border-radius:99px;border:1px solid transparent;letter-spacing:.01em;line-height:1.35}
.badge-blue  {background:#eff6ff;color:#1d4ed8!important;border-color:#bfdbfe}
.badge-teal  {background:#f0fdfa;color:#0f766e!important;border-color:#99f6e4}
.badge-green {background:#f0fdf4;color:#15803d!important;border-color:#bbf7d0}
.badge-amber {background:#fffbeb;color:#92400e!important;border-color:#fde68a}
.badge-red   {background:#fef2f2;color:#b91c1c!important;border-color:#fecaca}
.badge-purple{background:#f5f3ff;color:#6d28d9!important;border-color:#ddd6fe}

/* ── Cards ───────────────────────────────────────────────────── */
.card{background:#fff;border:1.5px solid #e2e8f0;border-radius:1.25rem;overflow:hidden;transition:all .28s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px rgba(0,0,0,.06)}
.card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.12);border-color:#bfdbfe}
.card-body{padding:1.5rem}
.card-title{font-size:1.0625rem;font-weight:700;margin-bottom:.5rem;color:#0f172a!important;line-height:1.35}
.card-text{color:#64748b!important;font-size:.9375rem;line-height:1.7}

/* ── Product cards ───────────────────────────────────────────── */
.product-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:1.25rem;overflow:hidden;transition:all .28s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px rgba(0,0,0,.06);display:flex;flex-direction:column;position:relative}
.product-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgba(0,0,0,.13);border-color:#bfdbfe}
.product-image{position:relative;overflow:hidden;aspect-ratio:4/3;background:linear-gradient(135deg,#f0f9ff,#f0fdfa)}
.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.4,0,.2,1)}
.product-card:hover .product-image img{transform:scale(1.07)}
.product-info{padding:1.125rem;flex:1;display:flex;flex-direction:column}
.product-category{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#0d9488!important;margin-bottom:.3rem}
.product-name{font-size:.9875rem;font-weight:800;color:#0f172a!important;margin-bottom:.35rem;line-height:1.35}
.product-description{font-size:.8125rem;color:#64748b!important;line-height:1.6;margin-bottom:.75rem;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.product-price{font-size:1.1rem;font-weight:900;color:#1d4ed8!important}
.product-badge{position:absolute;top:.6rem;left:.6rem;z-index:2;display:flex;flex-direction:column;gap:.3rem}
.badge-low-stock{background:#fffbeb;color:#92400e;border-color:#fde68a;font-size:.64rem;padding:.2rem .55rem}
.badge-out{background:#fef2f2;color:#b91c1c;border-color:#fecaca;font-size:.64rem;padding:.2rem .55rem}
.badge-rx{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe;font-size:.64rem;padding:.2rem .55rem}
.badge-new{background:#f0fdf4;color:#15803d;border-color:#bbf7d0;font-size:.64rem;padding:.2rem .55rem}
.add-to-cart-btn{flex-shrink:0;padding:.45rem .85rem;font-size:.8125rem;font-weight:700;border-radius:.75rem;background:linear-gradient(135deg,#1d4ed8,#0d9488);color:#fff!important;border:none;cursor:pointer;transition:all .22s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:.3rem;text-decoration:none;line-height:1}
.add-to-cart-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(29,78,216,.45);color:#fff!important}
.add-to-cart-btn:active{transform:scale(.95)}

/* ── Category cards ──────────────────────────────────────────── */
.rp-cats-grid{display:grid;gap:.875rem;grid-template-columns:repeat(auto-fill,minmax(min(130px,100%),1fr))}
.rp-cat-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem .75rem;background:#fff;border:1.5px solid #e2e8f0;border-radius:1.125rem;text-decoration:none;transition:all .28s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px rgba(0,0,0,.05);text-align:center}
.rp-cat-card:hover{transform:translateY(-5px);border-color:#93c5fd;box-shadow:0 12px 32px rgba(30,64,175,.14);background:linear-gradient(135deg,#eff6ff,#f0fdfa)}
.rp-cat-ico{font-size:1.875rem;line-height:1;transition:transform .25s}
.rp-cat-card:hover .rp-cat-ico{transform:scale(1.18) rotate(-5deg)}
.rp-cat-lbl{font-size:.72rem;font-weight:700;color:#374151!important;line-height:1.3;text-align:center}

/* ── Feature cards ───────────────────────────────────────────── */
.feature-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:1.25rem;padding:1.75rem 1.5rem;transition:all .28s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 10px rgba(0,0,0,.05)}
.feature-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgba(0,0,0,.12);border-color:#bfdbfe}
.feature-card h4{margin-bottom:.5rem;color:#0f172a;font-size:1.0625rem}
.feature-card p{color:#64748b;font-size:.9375rem;line-height:1.7;margin:0}

/* ── Stats section ───────────────────────────────────────────── */
.rp-stats-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr))}
.rp-stat-card{border-radius:1.125rem;padding:1.75rem 1.5rem;text-align:center;border:1px solid rgba(255,255,255,.12);transition:all .28s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px rgba(0,0,0,.18)}
.rp-stat-card:hover{transform:translateY(-5px);box-shadow:0 14px 32px rgba(0,0,0,.3)}
.rp-stat-ico{font-size:2.25rem;margin-bottom:.625rem;line-height:1;filter:drop-shadow(0 2px 8px rgba(0,0,0,.15))}
.rp-stat{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:900;color:#fff;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.rp-stat-lbl{font-size:.775rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-top:.35rem;opacity:.7}

/* ── AI Chat widget ──────────────────────────────────────────── */
.rp-aichat-box{background:rgba(255,255,255,.08);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.16);border-radius:1.125rem;padding:1rem;min-height:180px;max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:.625rem;margin-bottom:.875rem;scroll-behavior:smooth}
.rp-aichat-msg{padding:.7rem 1rem;border-radius:.875rem;font-size:.875rem;line-height:1.6;max-width:88%}
.rp-aichat-msg-bot{background:rgba(255,255,255,.16);color:#fff;border-bottom-left-radius:.25rem;align-self:flex-start}
.rp-aichat-msg-user{background:linear-gradient(135deg,#2563eb,#0d9488);color:#fff;border-bottom-right-radius:.25rem;align-self:flex-end}
.rp-aichat-msg-loading{background:rgba(255,255,255,.1);color:rgba(255,255,255,.6);align-self:flex-start;font-style:italic;font-size:.8125rem}
.rp-aichat-pills{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:.75rem}
.rp-aichat-pill{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:99px;padding:.3rem .875rem;font-size:.75rem;font-weight:600;color:rgba(255,255,255,.88);cursor:pointer;white-space:nowrap;transition:all .18s;font-family:inherit}
.rp-aichat-pill:hover{background:rgba(255,255,255,.26);color:#fff;transform:translateY(-1px)}
.rp-aichat-row{display:flex;gap:.6rem;align-items:center}
.rp-aichat-input{flex:1;background:rgba(255,255,255,.12);color:#fff!important;border:1.5px solid rgba(255,255,255,.22);border-radius:.875rem;padding:.7rem 1rem;font-size:.9rem;font-family:inherit;transition:border-color .2s;min-width:0}
.rp-aichat-input::placeholder{color:rgba(255,255,255,.45)}
.rp-aichat-input:focus{outline:none;border-color:rgba(251,191,36,.7);background:rgba(255,255,255,.18)}
.rp-aichat-send{padding:.7rem 1.375rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1e3a8a!important;font-weight:800;border:none;border-radius:.875rem;cursor:pointer;font-size:.9rem;font-family:inherit;white-space:nowrap;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px rgba(251,191,36,.4)}
.rp-aichat-send:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(251,191,36,.65);color:#1e3a8a!important}

/* ── Shop page ───────────────────────────────────────────────── */
.rp-shop-wrap{display:grid;grid-template-columns:260px 1fr;gap:1.75rem;align-items:start}
.rp-filters{background:#fff;border:1.5px solid #e2e8f0;border-radius:1.25rem;padding:1.5rem;box-shadow:0 2px 12px rgba(0,0,0,.06);position:sticky;top:88px}
.rp-filter-title{font-size:.8125rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#374151;margin-bottom:.875rem;padding-bottom:.5rem;border-bottom:2px solid #f1f5f9}
.rp-filter-item{display:flex;align-items:center;justify-content:space-between;padding:.45rem .625rem;border-radius:.625rem;cursor:pointer;font-size:.875rem;font-weight:500;color:#374151;text-decoration:none;transition:all .18s;margin-bottom:.15rem}
.rp-filter-item:hover{background:#eff6ff;color:#1d4ed8}
.rp-filter-item.active{background:linear-gradient(135deg,#1d4ed8,#0d9488);color:#fff!important;font-weight:700}
.rp-filter-count{font-size:.72rem;font-weight:700;background:#f1f5f9;color:#64748b;border-radius:99px;padding:.1rem .5rem;min-width:20px;text-align:center}
.rp-filter-item.active .rp-filter-count{background:rgba(255,255,255,.25);color:#fff}

/* ── Pagination ──────────────────────────────────────────────── */
.pagination{display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap;margin-top:2.5rem}
.page-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:.625rem;font-size:.875rem;font-weight:700;border:1.5px solid #e2e8f0;background:#fff;color:#374151;cursor:pointer;text-decoration:none;transition:all .18s;font-family:inherit}
.page-btn:hover{border-color:#93c5fd;color:#1d4ed8;background:#eff6ff}
.page-btn.active{background:linear-gradient(135deg,#1d4ed8,#0d9488);border-color:transparent;color:#fff!important;box-shadow:0 4px 16px rgba(29,78,216,.35)}
.page-btn:disabled{opacity:.4;cursor:not-allowed}

/* ── Consultation service cards ──────────────────────────────── */
.svc-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:1.25rem;overflow:hidden;transition:all .28s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px rgba(0,0,0,.06);display:flex;flex-direction:column}
.svc-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(0,0,0,.12);border-color:#bfdbfe}
.svc-card-header{background:linear-gradient(135deg,#eff6ff,#f0fdfa);padding:1.5rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid #e2e8f0}
.svc-card-icon{width:56px;height:56px;border-radius:1rem;background:linear-gradient(135deg,#1d4ed8,#0d9488);display:flex;align-items:center;justify-content:center;font-size:1.75rem;flex-shrink:0;box-shadow:0 4px 16px rgba(29,78,216,.3)}
.svc-card-name{font-size:1.0625rem;font-weight:800;color:#0f172a;line-height:1.3}
.svc-card-desc{font-size:.875rem;color:#64748b;line-height:1.6;margin-top:.25rem}
.svc-card-footer{padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;border-top:1px solid #f1f5f9;margin-top:auto}
.svc-card-price{font-size:1.2rem;font-weight:900;color:#1d4ed8}
.svc-card-price.free{color:#059669}
.svc-card-duration{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:99px;padding:.25rem .7rem}

/* ── User dashboard ──────────────────────────────────────────── */
.ud-layout{display:grid;grid-template-columns:240px 1fr;gap:1.5rem;align-items:start;max-width:1200px;margin:0 auto}
.ud-sidebar{background:#fff;border:1.5px solid #e2e8f0;border-radius:1.25rem;padding:1.25rem;box-shadow:0 2px 12px rgba(0,0,0,.06);position:sticky;top:88px}
.ud-nav-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .875rem;border-radius:.75rem;font-weight:600;font-size:.9rem;color:#374151;text-decoration:none;transition:all .18s;margin-bottom:.25rem}
.ud-nav-item:hover{background:#eff6ff;color:#1d4ed8}
.ud-nav-item.active{background:linear-gradient(135deg,#1d4ed8,#0d9488);color:#fff!important;font-weight:700}
.ud-nav-ico{font-size:1.1rem;width:22px;text-align:center;flex-shrink:0}
.ud-stat{background:#fff;border:1.5px solid #e2e8f0;border-radius:1rem;padding:1rem 1.25rem;box-shadow:0 2px 8px rgba(0,0,0,.05);transition:all .22s cubic-bezier(.4,0,.2,1)}
.ud-stat:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.1);border-color:#bfdbfe}
.ud-main-grid{display:grid;grid-template-columns:1fr 320px;gap:1.25rem;align-items:start}

/* ── Status badges ───────────────────────────────────────────── */
.status-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .8rem;font-size:.72rem;font-weight:700;border-radius:99px;border:1px solid;letter-spacing:.01em}
.status-pending   {background:#fffbeb;color:#92400e;border-color:#fde68a}
.status-confirmed {background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.status-processing{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}
.status-shipped   {background:#f0fdf4;color:#15803d;border-color:#bbf7d0}
.status-completed {background:#f0fdf4;color:#059669;border-color:#a7f3d0}
.status-cancelled {background:#fef2f2;color:#b91c1c;border-color:#fecaca}
.status-approved  {background:#f0fdf4;color:#059669;border-color:#a7f3d0}
.status-rejected  {background:#fef2f2;color:#b91c1c;border-color:#fecaca}
.status-verified  {background:#ecfdf5;color:#047857;border-color:#6ee7b7}
.status-paid      {background:#f0fdf4;color:#15803d;border-color:#bbf7d0}
.status-requested {background:#fef3c7;color:#92400e;border-color:#fde68a}
.status-open      {background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.status-resolved  {background:#f0fdf4;color:#059669;border-color:#a7f3d0}

/* ── Form elements ───────────────────────────────────────────── */
.form-group{margin-bottom:1.25rem}
.form-label{display:block;font-size:.875rem;font-weight:700;color:#374151!important;margin-bottom:.45rem}
.form-control{display:block;width:100%;padding:.8rem 1rem;background:#fff;border:1.5px solid #d1d5db;border-radius:.875rem;font-size:.9375rem;color:#0f172a!important;font-family:inherit;line-height:1.5;transition:border-color .2s,box-shadow .2s}
.form-control:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3.5px rgba(37,99,235,.12)}
.form-control::placeholder{color:#94a3b8}
.form-control:disabled,.form-control[readonly]{background:#f8fafc;color:#64748b!important;cursor:not-allowed}
textarea.form-control{resize:vertical;min-height:100px}
.input-group{position:relative}
.input-group-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1rem;pointer-events:none;z-index:1}
.input-group .form-control{padding-left:2.75rem}

/* ── Alerts ──────────────────────────────────────────────────── */
.alert{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1.125rem;border-radius:.875rem;border:1px solid;margin-bottom:1.25rem;font-size:.9rem;line-height:1.6}
.alert-success{background:#f0fdf4;color:#15803d!important;border-color:#bbf7d0}
.alert-error  {background:#fef2f2;color:#b91c1c!important;border-color:#fecaca}
.alert-warning{background:#fffbeb;color:#92400e!important;border-color:#fde68a}
.alert-info   {background:#eff6ff;color:#1e40af!important;border-color:#bfdbfe}

/* ── Tables ──────────────────────────────────────────────────── */
.table{width:100%;border-collapse:collapse;font-size:.875rem}
.table th{padding:.75rem 1rem;text-align:left;font-size:.7875rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#374151!important;background:#f8fafc;border-bottom:2px solid #e2e8f0;white-space:nowrap}
.table td{padding:.8125rem 1rem;color:#475569!important;border-bottom:1px solid #f1f5f9;vertical-align:middle;transition:background .15s}
.table tr:hover td{background:#fafbff}
.table tr:last-child td{border-bottom:none}
.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:1rem}

/* ── WhatsApp button ─────────────────────────────────────────── */
.btn-whatsapp{background:linear-gradient(135deg,#25D366,#128C7E);color:#fff!important;border-color:transparent;box-shadow:0 4px 16px rgba(37,211,102,.35)}
.btn-whatsapp:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(37,211,102,.55);color:#fff!important}

/* ── About page stats ────────────────────────────────────────── */
.about-hero-stats{display:flex;flex-wrap:wrap;gap:.875rem;margin-top:1.75rem}
.about-stat-card{background:rgba(255,255,255,.15);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:.875rem;padding:.875rem 1.25rem;min-width:110px;text-align:center;transition:all .22s}
.about-stat-card:hover{background:rgba(255,255,255,.25);transform:translateY(-2px)}
.about-stat-val{font-size:1.5rem;font-weight:900;color:#fff;line-height:1.1;display:block}
.about-stat-lbl{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.6);margin-top:.2rem;display:block}

/* ── Scroll-reveal ───────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .65s cubic-bezier(.4,0,.2,1),transform .65s cubic-bezier(.4,0,.2,1)}
.reveal-left{opacity:0;transform:translateX(-32px);transition:opacity .65s cubic-bezier(.4,0,.2,1),transform .65s cubic-bezier(.4,0,.2,1)}
.reveal-right{opacity:0;transform:translateX(32px);transition:opacity .65s cubic-bezier(.4,0,.2,1),transform .65s cubic-bezier(.4,0,.2,1)}
.revealed{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.reveal,.reveal-left,.reveal-right{transition:none!important;opacity:1;transform:none}}

/* ── Toast ───────────────────────────────────────────────────── */
.rp-toast{position:fixed;bottom:1.75rem;left:50%;transform:translateX(-50%) translateY(20px);padding:.75rem 1.5rem;border-radius:.875rem;font-size:.9rem;font-weight:700;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,.18);pointer-events:none;opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;max-width:calc(100vw - 2rem);text-align:center}
.rp-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.rp-toast.success{background:#059669;color:#fff}
.rp-toast.error  {background:#dc2626;color:#fff}
.rp-toast.info   {background:#1d4ed8;color:#fff}

/* ── Footer grid ─────────────────────────────────────────────── */
.rp-fgrid{display:grid;gap:2.5rem;grid-template-columns:1.5fr 1fr 1fr 1fr}

/* ── Blog cards ──────────────────────────────────────────────── */
.blog-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:1.25rem;overflow:hidden;transition:all .28s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px rgba(0,0,0,.06);display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(0,0,0,.12);border-color:#bfdbfe}
.blog-card-img{width:100%;height:210px;object-fit:cover;display:block;transition:transform .4s cubic-bezier(.4,0,.2,1)}
.blog-card:hover .blog-card-img{transform:scale(1.04)}
.blog-card-body{padding:1.375rem;flex:1;display:flex;flex-direction:column}
.blog-card-tag{margin-bottom:.625rem}
.blog-card-title{font-size:1.0625rem;font-weight:800;color:#0f172a;line-height:1.35;margin-bottom:.5rem}
.blog-card-excerpt{color:#64748b;font-size:.9rem;line-height:1.7;flex:1;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-card-meta{display:flex;align-items:center;gap:.75rem;font-size:.78rem;color:#94a3b8;flex-wrap:wrap;margin-top:auto}

/* ── Testimonial cards ───────────────────────────────────────── */
.testi-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:1.25rem;padding:1.5rem;box-shadow:0 2px 12px rgba(0,0,0,.06);transition:all .28s cubic-bezier(.4,0,.2,1)}
.testi-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(0,0,0,.12);border-color:#bfdbfe}
.testi-stars{display:flex;gap:.2rem;margin-bottom:.875rem}
.testi-star{color:#f59e0b;font-size:1rem}
.testi-text{color:#374151;font-size:.9375rem;line-height:1.75;margin-bottom:1.125rem;font-style:italic}
.testi-author{display:flex;align-items:center;gap:.875rem}
.testi-avatar{width:44px;height:44px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#1d4ed8,#0d9488);display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:1rem}
.testi-name{font-weight:800;font-size:.9375rem;color:#0f172a}
.testi-location{font-size:.78rem;color:#94a3b8;margin-top:.1rem}

/* ── Empty state ─────────────────────────────────────────────── */
.empty-state{text-align:center;padding:3.5rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem}
.empty-state-icon{font-size:3.5rem;line-height:1;opacity:.7}
.empty-state h3{color:#0f172a;margin:0}
.empty-state p{color:#64748b;margin:0;font-size:.9375rem;max-width:380px}

/* ── Loading spinner ─────────────────────────────────────────── */
.spinner{width:24px;height:24px;border-radius:50%;border:2.5px solid rgba(29,78,216,.2);border-top-color:#2563eb;animation:spin .7s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}

/* ════════════════════════════════════════════════════════
   GLOBAL VISIBILITY FIXES
════════════════════════════════════════════════════════ */
body{background:#fff}
.rp-bg-white h1,.rp-bg-white h2,.rp-bg-white h3,.rp-bg-white h4{color:#0f172a}
.rp-bg-white p,.rp-bg-white li{color:#64748b}
.product-name{color:#0f172a!important}.product-price{color:#1d4ed8!important;font-weight:900!important}
.product-category{color:#0d9488!important}.product-description{color:#64748b!important}
.card-title{color:#0f172a!important}.card-text{color:#64748b!important}
.btn-primary{color:#fff!important}.btn-secondary{color:#fff!important}
.btn-white{color:#1d4ed8!important;background:#fff!important}.btn-white:hover{color:#1e3a8a!important}
.btn-outline{color:#1d4ed8!important;background:#fff;border-color:#bfdbfe}
.btn-outline:hover{background:#eff6ff!important;color:#1e40af!important}
.btn-ghost{color:#1d4ed8!important}.btn-ghost:hover{background:#eff6ff}
.form-label{color:#374151!important}
.form-control{color:#0f172a!important;border-color:#d1d5db;background:#fff}
.form-control:focus{border-color:#2563eb!important}
.form-control::placeholder{color:#94a3b8}
.table th{color:#374151!important}.table td{color:#475569!important}
.section-title h2{color:#0f172a}.section-title p{color:#64748b}
img{max-width:100%;height:auto}
.product-image img{width:100%;height:100%;object-fit:cover}

/* ════════════════════════════════════════════════════════
   FULL RESPONSIVE OVERRIDES
════════════════════════════════════════════════════════ */
@media(max-width:1200px){
  .rp-shop-wrap{grid-template-columns:220px 1fr}
  .rp-fgrid{grid-template-columns:1fr 1fr}
  .ud-layout{grid-template-columns:1fr}
}
@media(max-width:1024px){
  .rp-shop-wrap{grid-template-columns:1fr}
  .rp-filters{position:static;display:none}
  .rp-filters.mobile-open{display:block}
  .ud-main-grid{grid-template-columns:1fr!important}
}
@media(max-width:860px){
  .rp-hero-stats{gap:.875rem}
  .rp-hstat{min-width:90px;padding:.7rem .9rem}
  .rp-hero-ctas{gap:.625rem}
  .rp-hbtn{padding:.75rem 1.6rem;font-size:.95rem}
  .rp-fgrid{grid-template-columns:1fr 1fr;gap:2rem}
  .ud-layout{grid-template-columns:1fr}
  .ud-sidebar{position:static;top:unset}
}
@media(max-width:760px){
  .ud-main-grid{grid-template-columns:1fr!important}
}
@media(max-width:640px){
  .rp-fgrid{grid-template-columns:1fr!important}
  .rp-stats-grid{grid-template-columns:repeat(2,1fr)}
  .svc-card-footer{flex-direction:column;align-items:flex-start}
}
@media(max-width:600px){
  .rp-hero-h1{font-size:clamp(1.85rem,8vw,2.5rem)}
  .rp-hero-ctas{flex-direction:column;align-items:center}
  .rp-hbtn{width:min(100%,340px);justify-content:center}
  .rp-hero-stats{gap:.625rem}
  .rp-hstat{min-width:80px}
  .rp-cats-grid{grid-template-columns:repeat(3,1fr)}
  .rp-trustbar-inner{gap:1.25rem}
  .about-hero-stats{gap:.6rem}
  .about-stat-card{min-width:90px;padding:.7rem .875rem}
  .testi-card{padding:1.125rem}
  .blog-card-img{height:170px}
  .rp-aichat-box{min-height:140px;max-height:200px}
}
@media(max-width:480px){
  .rp-stats-grid{grid-template-columns:1fr 1fr}
  .rp-cats-grid{grid-template-columns:repeat(2,1fr)}
  .pagination{gap:.3rem}
  .page-btn{width:34px;height:34px;font-size:.8125rem}
  .glass-container{padding:1.75rem 1.25rem}
  .svc-card-icon{width:48px;height:48px;font-size:1.5rem}
}
@media(min-width:481px) and (max-width:760px){
  .products-grid{grid-template-columns:repeat(2,1fr)!important}
  .rp-stats-grid{grid-template-columns:repeat(2,1fr)}
}
