/* ================= COOPRO THEME v2 — unified premium layer ================= */
:root{
  --cp-ink:#0b1220; --cp-ink-2:#111a2e; --cp-text:#1f2937; --cp-muted:#6b7280;
  --cp-line:#e6e8ee; --cp-bg:#f6f7f9; --cp-surface:#fff;
  --cp-accent:#c8102e; --cp-accent-2:#e11d48; --cp-gold:#b8860b;
  --cp-radius:16px; --cp-radius-sm:10px;
  --cp-shadow:0 1px 2px rgba(11,18,32,.05),0 10px 30px rgba(11,18,32,.07);
  --cp-shadow-lg:0 2px 8px rgba(11,18,32,.06),0 24px 60px rgba(11,18,32,.12);
  --cp-font:'Inter','Noto Sans',-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;
}
body{font-family:var(--cp-font);color:var(--cp-text);background:var(--cp-bg);font-size:15.5px}
/* ---------- top utility bar ---------- */
.top-wrap{background:var(--cp-ink);color:#c9d3e3;font-size:12.5px;padding:6px 0;letter-spacing:.01em}
.top-wrap a,.top-wrap .btn{color:#c9d3e3!important;font-size:12.5px;text-decoration:none;padding:2px 6px}
.top-wrap a:hover,.top-wrap .btn:hover{color:#fff!important}
.top-wrap .dropdown-menu{font-size:13px}
/* ---------- main header ---------- */
header{position:sticky;top:0;z-index:1030;background:var(--cp-surface);box-shadow:0 1px 0 var(--cp-line)}
header .navbar{background:var(--cp-surface)!important;padding-top:10px;padding-bottom:10px}
header .navbar-brand img{max-height:42px;width:auto}
header .nav-link{font-weight:600;font-size:14.5px;letter-spacing:.01em;color:var(--cp-ink)!important;padding:.5rem .9rem!important;border-radius:8px}
header .nav-link:hover{background:#f2f4f8;color:var(--cp-accent)!important}
header .dropdown-menu{border:1px solid var(--cp-line);border-radius:12px;box-shadow:var(--cp-shadow-lg);padding:.5rem}
header .dropdown-item{border-radius:8px;padding:.5rem .75rem;font-size:14px}
header .dropdown-item:hover{background:#f4f6fa;color:var(--cp-accent)}
header .form-control,header .form-select{border-radius:10px;border-color:var(--cp-line);background:#f7f8fb}
header .btn-dark{background:var(--cp-ink);border-color:var(--cp-ink)}
/* ---------- hero ---------- */
.cp-hero{position:relative;background:radial-gradient(1200px 500px at 15% -10%,#243455 0%,transparent 55%),linear-gradient(135deg,#0b1220 0%,#131d33 48%,#2a1420 100%);color:#fff;padding:72px 0 64px;overflow:hidden}
.cp-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,18,32,.75) 0%,rgba(11,18,32,.25) 60%,transparent 100%)}
.cp-hero .container{position:relative;z-index:2}
.cp-hero h1{font-size:clamp(1.75rem,3.4vw,2.75rem);line-height:1.18;margin:0 0 16px;letter-spacing:-.025em;max-width:16em}
.cp-hero p{color:#c3ccdc;font-size:1.05rem;line-height:1.75;margin:0 0 28px;max-width:44em}
.cp-hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.cp-hero .btn{font-size:15px;padding:.8rem 1.5rem;border-radius:12px}
/* ---------- trust strip ---------- */
.cp-trust{background:#fff;border-bottom:1px solid var(--cp-line)}
.cp-trust__inner{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.cp-trust__item{display:flex;gap:12px;align-items:center;padding:18px 20px;border-right:1px solid var(--cp-line)}
.cp-trust__item:last-child{border-right:0}
.cp-trust__item b{display:block;font-size:14.5px;color:var(--cp-ink)}
.cp-trust__item span{font-size:12.5px;color:var(--cp-muted)}
.cp-trust__ico{width:38px;height:38px;border-radius:10px;background:#f2f4f8;display:flex;align-items:center;justify-content:center;font-size:17px;color:var(--cp-accent);flex:0 0 38px}
/* ---------- category tiles ---------- */
.cp-cats{padding:52px 0 8px}
.cp-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.cp-section-head h2{font-size:clamp(1.25rem,2vw,1.6rem);margin:0;letter-spacing:-.02em}
.cp-section-head .cp-eyebrow{display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--cp-accent);font-weight:700;margin-bottom:6px}
.cp-section-head a{font-size:13.5px;color:var(--cp-muted);text-decoration:none;border-bottom:1px solid transparent}
.cp-section-head a:hover{color:var(--cp-accent);border-bottom-color:var(--cp-accent)}
.cp-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cp-cat{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-radius);padding:18px;text-decoration:none;color:inherit;transition:.18s}
.cp-cat:hover{transform:translateY(-3px);box-shadow:var(--cp-shadow-lg);border-color:#d8dce6;color:inherit}
.cp-cat__ico{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#f3f5f9,#e9edf4);display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 48px}
.cp-cat b{display:block;font-size:15px;margin-bottom:3px}
.cp-cat span{font-size:12.5px;color:var(--cp-muted);line-height:1.5}
/* ---------- CTA band ---------- */
.cp-cta{margin:56px 0;background:linear-gradient(135deg,#0b1220,#1b2740 60%,#3a1620);border-radius:20px;color:#fff;padding:38px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cp-cta h2{color:#fff;font-size:1.5rem;margin:0 0 6px}
.cp-cta p{color:#bcc6d8;margin:0;font-size:14.5px}
/* ---------- cards / product grid ---------- */
.card{border:1px solid var(--cp-line);border-radius:var(--cp-radius);box-shadow:none;background:#fff}
.product-card,.product-item{border:1px solid transparent;border-radius:var(--cp-radius);background:#fff;overflow:hidden}
.product-card:hover,.product-item:hover{box-shadow:var(--cp-shadow-lg);border-color:var(--cp-line);transform:translateY(-4px)}
.product-card img,.product-item img{aspect-ratio:1/1;object-fit:cover}
.product-card .product-name,.product-item .product-name{font-size:.95rem;font-weight:600;line-height:1.45;margin:.6rem 0 .3rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-card .product-price,.product-item .product-price{color:var(--cp-accent);font-weight:700;font-size:1rem}
/* ---------- page head ---------- */
.cp-page-head{padding:34px 0 26px;border-bottom:1px solid var(--cp-line);margin-bottom:28px;background:linear-gradient(180deg,#fff,transparent)}
.cp-page-head h1{font-size:clamp(1.5rem,2.6vw,2.05rem);margin:0 0 8px}
.cp-page-head p{color:var(--cp-muted);margin:0;max-width:820px;line-height:1.7;font-size:14.5px}
/* ---------- footer ---------- */
footer{background:var(--cp-ink)!important;color:#aeb9cc!important;padding-top:56px}
footer h5,footer h6,footer .intro-title{color:#fff!important;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
footer a{color:#aeb9cc!important;text-decoration:none;font-size:14px;line-height:2}
footer a:hover{color:#fff!important}
footer .services-wrap{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:18px;margin-bottom:34px}
footer .service-item .title{color:#fff!important;font-weight:600;font-size:14px;margin:0}
footer .service-item .sub-title{color:#8c9ab1!important;font-size:12.5px;margin:2px 0 0}
footer .footer-content{padding-bottom:28px}
/* ---------- misc ---------- */
.btn{border-radius:11px;font-weight:600}
.btn-primary{background:var(--cp-accent);border-color:var(--cp-accent)}
.btn-primary:hover{background:#a80d26;border-color:#a80d26;box-shadow:0 10px 24px rgba(200,16,46,.28)}
.btn-dark{background:var(--cp-ink);border-color:var(--cp-ink)}
.breadcrumb{font-size:12.5px;color:var(--cp-muted)}
.badge{font-weight:600;letter-spacing:.02em}
/* ---------- responsive ---------- */
@media (max-width:991.98px){
  .cp-trust__inner{grid-template-columns:repeat(2,1fr)}
  .cp-trust__item:nth-child(2){border-right:0}
  .cp-cat-grid{grid-template-columns:repeat(2,1fr)}
  .cp-hero{padding:48px 0 42px}
}
@media (max-width:575.98px){
  .cp-trust__inner{grid-template-columns:1fr}
  .cp-trust__item{border-right:0;border-bottom:1px solid var(--cp-line);padding:14px 16px}
  .cp-cat-grid{grid-template-columns:1fr}
  .cp-cta{padding:26px 22px;border-radius:16px}
  .cp-hero{padding:38px 0 34px}
  .cp-hero__actions .btn{width:100%}
  footer{padding-top:36px}
}
/* ---------- overflow guards ---------- */
.page-content div,.page-content span{max-width:100%!important}
.page-content table{display:block;width:100%!important;overflow-x:auto}
.page-content img,.page-content iframe{max-width:100%!important;height:auto}
.page-content pre,.page-content code{white-space:pre-wrap;word-break:break-word}
.pagination{flex-wrap:wrap;gap:6px}
.pagination .page-link{white-space:nowrap}
@media (max-width:575.98px){.pagination .page-link{padding:.35rem .6rem;font-size:13px}}
/* ================= COOPRO THEME v3 — page showcase ================= */
/* dark hero band for info pages & category */
.cp-page-hero{background:radial-gradient(900px 380px at 12% -20%,#26365a 0%,transparent 60%),linear-gradient(135deg,#0b1220,#141f36 55%,#331722);color:#fff;padding:46px 0 42px;margin-bottom:30px}
.cp-page-hero h1{color:#fff;font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.2;margin:0 0 12px;letter-spacing:-.02em}
.cp-page-hero p{color:#c2ccdd;font-size:1rem;line-height:1.7;margin:0;max-width:62em}
.cp-page-hero--boxed{border-radius:20px;padding:30px 32px;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cp-page-hero--boxed .cp-page-hero__text{max-width:60%}
.cp-page-hero--boxed .cp-page-hero__text p{font-size:14.5px}
.cp-page-hero__cta{white-space:nowrap}
@media (max-width:767.98px){.cp-page-hero--boxed .cp-page-hero__text{max-width:100%}.cp-page-hero--boxed{padding:24px 20px}.cp-page-hero{padding:32px 0 30px}}
/* contact cards */
.cp-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 26px}
.cp-contact-card{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-radius);padding:18px}
.cp-contact-card__ico{width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:#f2f4f8;color:var(--cp-accent);display:flex;align-items:center;justify-content:center;font-size:18px}
.cp-contact-card b{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--cp-muted);margin-bottom:4px;font-weight:600}
.cp-contact-card a,.cp-contact-card span{font-size:15.5px;font-weight:600;color:var(--cp-ink);text-decoration:none}
.cp-contact-card a:hover{color:var(--cp-accent)}
@media (max-width:767.98px){.cp-contact-grid{grid-template-columns:1fr}}
/* richer article typography */
.page-content .card-body{font-size:15.5px}
.page-content h2{position:relative;padding-left:14px;margin:2.2rem 0 1rem;font-size:1.45rem}
.page-content h2:before{content:"";position:absolute;left:0;top:.22em;bottom:.22em;width:4px;border-radius:3px;background:linear-gradient(180deg,var(--cp-accent),#f0708a)}
.page-content h3{font-size:1.15rem;margin:1.6rem 0 .55rem;padding:14px 16px;background:#f7f8fb;border:1px solid var(--cp-line);border-left:3px solid var(--cp-accent);border-radius:10px}
.page-content h3+p{margin-top:-2px;padding-left:4px}
.page-content ul{list-style:none;margin-left:0}
.page-content ul>li{position:relative;padding-left:22px}
.page-content ul>li:before{content:"";position:absolute;left:4px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--cp-accent);opacity:.65}
.page-content blockquote{background:#fff6f7;border-left:3px solid var(--cp-accent);border-radius:0 10px 10px 0}
.page-content a{color:var(--cp-accent)}
/* product list page head */
.cp-page-head{background:transparent;border:0;padding:8px 0 18px;margin-bottom:10px}
/* pagination & filters */
.pagination .page-link{border-radius:9px;border-color:var(--cp-line);color:var(--cp-ink);margin:0 2px}
.pagination .page-item.active .page-link{background:var(--cp-ink);border-color:var(--cp-ink)}
.filter-sidebar-block .card{border-radius:14px}
/* empty state */
.no-data{padding:40px 0;color:var(--cp-muted)}
/* slim hero for info pages */
.cp-page-hero--slim{padding:34px 0 32px;margin-bottom:24px}
.cp-page-hero--slim .cp-eyebrow{display:block;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#f08aa0;font-weight:700;margin-bottom:8px}
.cp-page-hero--slim p{margin:0;font-size:1rem;line-height:1.7;color:#c8d1e0;max-width:60em}
.cp-eyebrow{display:inline-block;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--cp-accent)}