/* GPS Smart Header v1.1 with CSS variables */
.gps-header {font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; border-bottom:1px solid #eee;}
.gps-header.sticky {position:sticky; top:0; z-index:9999;}

/* Topbar */
.gps-topbar {display:flex; align-items:center; gap:16px; padding:6px 16px; background:var(--gps-topbar-bg); color:var(--gps-topbar-text); font-size:13px;}
.gps-topbar a {color:var(--gps-topbar-text); text-decoration:none;}
.gps-topbar .spacer {flex:1}

/* Main row */
.gps-main {display:flex; align-items:center; gap:16px; padding:10px 16px; background:#ffffff;}
.gps-logo img {height:46px; display:block}
.gps-actions {display:flex; align-items:center; gap:12px; margin-left:auto;}
.gps-utility a {text-decoration:none; color:var(--gps-topbar-bg); font-weight:600; padding:8px 10px; border-radius:8px;}
.gps-utility .cart-badge {display:inline-block; min-width:20px; padding:1px 6px; border-radius:20px; background:var(--gps-accent); color:#fff; font-size:12px; text-align:center; margin-left:4px;}

.gps-search {display:flex; align-items:stretch; gap:8px; flex:1; max-width:650px; margin-left:8px;}
.gps-search input[type="search"]{width:100%; padding:10px 12px; border:1px solid #d5dae1; border-radius:8px;}
.gps-cat {position:relative;}
.gps-cat__toggle {padding:10px 12px; border:1px solid #d5dae1; background:#f8fafc; border-radius:8px; cursor:pointer;}
.gps-cat__menu {position:absolute; top:110%; left:0; background:#fff; border:1px solid #e5e7eb; border-radius:10px; min-width:220px; padding:8px 0; display:none; box-shadow:0 10px 30px rgba(0,0,0,.08); z-index:9999;}
.gps-cat__menu li {list-style:none;}
.gps-cat__menu a {display:block; padding:8px 14px; color:#111827; text-decoration:none;}
.gps-cat__menu a:hover {background:#f3f4f6;}

/* Ribbons (primary/secondary) */
.gps-menu {background:var(--gps-menu-bg);}
.gps-menu nav ul {display:flex; flex-wrap:wrap; gap:0; margin:0; padding:0;}
.gps-menu nav li {list-style:none; position:relative;}
.gps-menu nav > ul > li > a {display:block; padding:12px 16px; color:var(--gps-menu-text); text-decoration:none; font-weight:600;}
.gps-menu nav li:hover > a {background:var(--gps-menu-hover-bg); color:var(--gps-menu-hover-text);}
.gps-menu .sub-menu {display:none; position:absolute; background:#ffffff; color:#111; min-width:220px; border-radius:10px; box-shadow:0 10px 30px rgba(0,0,0,.08); top:100%; left:0; padding:8px 0;}
.gps-menu .sub-menu li a {color:#111; padding:10px 14px; display:block;}
.gps-menu li:hover > .sub-menu {display:block;}

/* Ribbon chips (pills row) */
.gps-chips {background:#fff; border-bottom:1px solid #eef2f7;}
.gps-chips ul {display:flex; flex-wrap:wrap; gap:8px; padding:8px 16px; margin:0;}
.gps-chips li {list-style:none;}
.gps-chips a {display:inline-block; padding:8px 12px; border-radius:999px; background:var(--gps-chip-bg); color:var(--gps-chip_text, var(--gps-chip-text)); text-decoration:none; font-weight:600;}
.gps-chips a:hover {background:var(--gps-chip-hover_bg, var(--gps-chip-hover-bg)); color:var(--gps-chip-hover-text);}

/* Responsive */
@media (max-width:1024px){
  .gps-topbar {display:none;}
  .gps-main {flex-wrap:wrap; gap:10px;}
  .gps-menu nav ul {display:none;}
  .gps-hamburger {margin-left:auto; cursor:pointer; padding:10px;}
  .gps-menu.open nav ul {display:block;}
  .gps-menu nav li {border-top:1px solid rgba(255,255,255,.08);}
  .gps-menu .sub-menu {position:static; box-shadow:none; border-radius:0; display:none;}
  .gps-menu li.open > .sub-menu {display:block;}
  .gps-menu nav > ul > li > a {padding:12px;}
}
