:root{
  /* ======= Light Theme Colors ======= */
  --bg:#f5f7fa;                /* Page background */
  --card:#ffffff;              /* Card and panel background */
  --ink:#1a1a1a;               /* Main text color */
  --muted:#555;                /* Secondary text color */
  --brand:#3366cc;             /* Primary brand color */
  --ok:#18c29c;                /* Success green */
  --warn:#ffb020;              /* Warning orange */
  --beta:#e74c3c;              /* Beta red */
  --shadow:0 4px 12px rgba(0,0,0,.08);
  --radius:18px;
}

*{box-sizing:border-box}

html,body{
  margin:0;
  padding:0;
  background:var(--bg);
  color:var(--ink);
  font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial;
}

a{
  color:var(--brand);
  text-decoration:none;
}
a:hover{text-decoration:underline}

.container{
  max-width:1200px;
  margin:0 auto;
  padding:24px;
}

/* ===== Header ===== */
.header{
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:space-between;
  margin-bottom:20px;
  background:linear-gradient(90deg,#e8efff,#f9fbff);
  border-radius:12px;
  padding:14px 20px;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
}

.brand{
  display:flex;
  gap:12px;
  align-items:center;
}
.brand .logo{
  width:36px;
  height:36px;
  border-radius:9px;
  background:linear-gradient(135deg,var(--brand),#9ad);
}
.brand h1{
  font-size:18px;
  margin:0;
  letter-spacing:.3px;
  color:var(--brand);
}

.topbar{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

input[type="search"]{
  background:#fff;
  border:1px solid #cfd8e3;
  color:var(--ink);
  padding:10px 12px;
  border-radius:10px;
  min-width:260px;
  outline:none;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.05);
}
input[type="search"]:focus{
  border-color:var(--brand);
  box-shadow:0 0 0 2px rgba(51,102,204,.15);
}

.select, .chip{
  background:#fff;
  border:1px solid #cfd8e3;
  color:var(--ink);
  padding:9px 12px;
  border-radius:999px;
  cursor:pointer;
}
.select{
  border-radius:10px;
}

/* ===== Grid and Cards ===== */
.grid{
  display:grid;
  gap:22px;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
@media (max-width: 1200px) {
  .grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }
}
@media (max-width:680px){
  .grid{grid-template-columns:1fr}
  .topbar{flex-direction:column;align-items:stretch}
  input[type="search"]{width:100%}
}

@media (max-width: 980px) {
  .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .grid {
    grid-template-columns: 1fr;
  }
  .topbar {
    flex-direction: column;
    align-items: stretch;
  }
  input[type="search"] {
    width: 100%;
  }
}

.card{
  background:var(--card);
  border:1px solid #e0e4ef;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:12px;
  position:relative;
  overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease;
}
.card:hover{
  transform:translateY(-4px);
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}

.badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.badge{
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid #d0d6eb;
  background:#f5f8ff;
  color:var(--muted);
}
.badge.ok{
  border-color:#a8e8d8;
  color:#067a5a;
  background:rgba(24,194,156,.1);
}
.badge.beta{
  border-color:#f5b1b1;
  color:#b12828;
  background:rgba(231,76,60,.1);
}

.title{
  font-weight:700;
  font-size:18px;
  margin:2px 0;
}
.desc{
  color:#333;
  opacity:.9;
}
.tags{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.tag{
  font-size:12px;
  padding:5px 9px;
  border-radius:8px;
  background:#f0f3fa;
  border:1px dashed #d0d6eb;
  color:#3b4b7d;
}

.footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:auto;
  padding-top:10px;
  border-top:1px dashed #d0d6eb;
}
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:linear-gradient(135deg,#4b79d8,#3a63bf);
  border:1px solid #2b4aa6;
  color:#fff;
  padding:10px 14px;
  border-radius:12px;
  box-shadow:0 5px 16px rgba(0,0,0,.15);
  cursor:pointer;
}
.btn:active{
  transform:translateY(1px);
}
.meta{
  font-size:12px;
  color:#666;
}
.footer .meta{
  opacity:.9;
}

/* ===== Hero Section ===== */
.hero{
  background:linear-gradient(180deg,#ffffff,#f5f7fa);
  border:1px solid #e0e4ef;
  border-radius:var(--radius);
  padding:18px;
  margin-bottom:18px;
  box-shadow:0 2px 6px rgba(0,0,0,.05);
}
.hero h2{
  margin:0 0 6px 0;
  font-size:20px;
  color:#1a1a1a;
}
.sub{
  color:#555;
  opacity:.9;
  margin:0;
}

/* ===== Footer ===== */
.footerbar{
  margin-top:30px;
  padding:16px;
  border-top:1px solid #dcdfe6;
  background:#fafbfc;
  color:#666;
  font-size:13px;
  text-align:center;
}

/* ===== Product Pages ===== */
.breadcrumb{
  font-size:13px;
  color:var(--brand);
  margin-bottom:14px;
}

.hgrid{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:18px;
}
@media (max-width:880px){
  .hgrid{grid-template-columns:1fr}
}

.panel{
  background:var(--card);
  border:1px solid #e0e4ef;
  border-radius:var(--radius);
  padding:18px;
  box-shadow:var(--shadow);
}
.panel h3{
  margin:0 0 10px 0;
  color:var(--brand);
}
.kv{
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:8px;
  font-size:14px;
}
.kv div{
  padding:6px 0;
  border-bottom:1px dashed #e0e4ef;
}

.section{
  margin-top:18px;
}
.list{
  padding-left:18px;
  margin:8px 0;
}
.list li{
  margin:6px 0;
}

.gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
@media (max-width:700px){
  .gallery{grid-template-columns:repeat(2,1fr)}
}
.card-img{
  height:140px;
  border-radius:12px;
  background:linear-gradient(135deg,#b6c9ff,#f6faff);
  opacity:.9;
}

/* Transparent logo refinement */
.brand {
  display: flex;
  align-items: center;
  gap: 22px; /* increased from 10px to 22px for clearer separation */
}

.brand .logo-img {
  height: 52px; /* slightly larger for better visibility */
  width: auto;
  object-fit: contain;
  display: block;
  background: transparent;
  padding: 0;
  border: none;
  box-shadow: none;
  vertical-align: middle;
}

.brand h1 {
  font-size: 22px;
  font-weight: 600;
  color: var(--brand);
  margin: 0;
  line-height: 1.1;
}
.card-img {
  height: 140px;
  border-radius: 12px;
  background: linear-gradient(135deg, #1a2a6c, #b21f1f, #fdbb2d); /* fallback gradient */
  overflow: hidden;
  position: relative;
}

.card-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;  /* fills the card nicely without stretching */
  border-radius: 12px;
  opacity: 0.9;       /* optional, for subtle overlay effect */
}
.badges {
  display: flex;
  justify-content: space-between; /* space between breadcrumb (left) and badges (right) */
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

/* Breadcrumb on left */
.breadcrumb {
  order: 1; /* first on the left */
}

/* Badges on right */
.badge {
  background-color: #e3f2fd;
  color: #1976d2;
  padding: 4px 10px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 14px;
  order: 2; /* ensure badges are after breadcrumb */
}

/* Optional: wrap badges inside a container to group them neatly */
.badge-group {
  display: flex;
  gap: 8px;
}

/* Green “GA” badge */
.badge.ok {
  background-color: #c8e6c9;
  color: #2e7d32;
}

/* Breadcrumb (All products) styling */
.breadcrumb a {
  text-decoration: none;
  font-weight: 600;
  color: #1565c0;
  background-color: #e3f2fd;
  padding: 6px 12px;
  border-radius: 8px;
  transition: all 0.2s ease;
}

.breadcrumb a:hover {
  background-color: #bbdefb;
  transform: scale(1.05);
}


