
:root{
  --blue:#1D6FE0;
  --blue-dark:#0F4FB0;
  --ink:#1A1A1A;
  --muted:#6B7280;
  --line:#E5E7EB;
  --bg:#F7F8FA;
  --white:#fff;
  --sale:#D92D20;
  --green-bg:#E7F6EC; --green-ink:#1B7A3D;
  --amber-bg:#FFF3DA; --amber-ink:#9A6700;
  --gray-bg:#F1F2F4; --gray-ink:#5B616E;
  --nemo:#7C3AED; --nemo-bg:#F1E9FE;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Inter',sans-serif;color:var(--ink);background:var(--bg);}
.mono{font-family:'Roboto Mono',monospace;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px;}

/* Top utility bar */
.utility{background:var(--ink);color:#cfd3da;font-size:12px;text-align:center;padding:6px;}

/* Header */
header{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
.headrow{display:flex;align-items:center;gap:24px;padding:14px 20px;max-width:1180px;margin:0 auto;}
.logo{font-weight:700;font-size:19px;white-space:nowrap;}
.logo span{color:var(--blue);}
.search{flex:1;display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.search input{border:none;outline:none;flex:1;padding:9px 12px;font-size:14px;font-family:inherit;}
.search button{border:none;background:var(--blue);color:#fff;padding:0 16px;cursor:pointer;}
.headicons{display:flex;gap:16px;font-size:13px;color:var(--muted);white-space:nowrap;}
.catnav{border-top:1px solid var(--line);}
.catnav .wrap{display:flex;gap:26px;padding:11px 20px;font-size:13.5px;font-weight:500;overflow-x:auto;}
.catnav a{color:var(--muted);}
.catnav a:hover, .catnav a.active{color:var(--blue);}

/* Hero */
.hero{background:linear-gradient(180deg,#EAF1FD 0%, var(--bg) 100%);padding:48px 0 36px;}
.hero h1{font-size:30px;margin:0 0 10px;font-weight:700;max-width:620px;}
.hero p{color:var(--muted);font-size:15px;max-width:540px;margin:0 0 20px;}
.badge-row{display:flex;gap:10px;flex-wrap:wrap;}
.chip{background:#fff;border:1px solid var(--line);border-radius:20px;padding:6px 14px;font-size:12.5px;font-weight:500;}
.chip b{color:var(--blue);}

/* Section */
section.cat{padding:38px 0;}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px;}
.sec-head h2{font-size:21px;margin:0;}
.sec-head .view-all{font-size:13px;color:var(--blue);font-weight:500;}

/* Product grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;}
.card{background:var(--white);border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s;}
.card:hover{box-shadow:0 4px 14px rgba(0,0,0,0.06);}
.thumb{position:relative;aspect-ratio:1/1;background:var(--bg);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);}
.thumb img{width:100%;height:100%;object-fit:cover;}
.thumb .fallback{display:none;flex-direction:column;align-items:center;gap:6px;color:#B0B5BC;width:100%;height:100%;justify-content:center;}
.thumb .fallback svg{width:34px;height:34px;}
.thumb .fallback .fname{font-size:10px;font-family:'Roboto Mono',monospace;text-align:center;padding:0 10px;color:#9CA1A9;}
.badges{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:4px;align-items:flex-start;}
.badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:4px;letter-spacing:.2px;}
.badge.tems{background:var(--blue);color:#fff;}
.badge.nemo{background:var(--nemo);color:#fff;}
.badge.eol{background:var(--gray-bg);color:var(--gray-ink);}
.badge.used{background:var(--amber-bg);color:var(--amber-ink);}
.badge.new{background:var(--green-bg);color:var(--green-ink);}
.cardbody{padding:12px 14px 14px;flex:1;display:flex;flex-direction:column;}
.cardbody .brand{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin:0 0 2px;}
.cardbody .name{font-size:14px;font-weight:600;margin:0 0 4px;line-height:1.3;}
.cardbody .meta{font-size:11.5px;color:var(--muted);margin:0 0 8px;line-height:1.45;}
.cardbody .nemo-note{font-size:10.5px;color:#B45309;background:#FFFBEB;border-radius:4px;padding:4px 6px;margin:0 0 8px;}
.price-row{margin-top:auto;display:flex;align-items:baseline;gap:8px;}
.price{font-weight:700;font-size:15px;}
.price.tbd{color:var(--muted);font-weight:500;font-size:13px;}
.addbtn{margin-top:10px;background:var(--blue);color:#fff;border:none;border-radius:6px;padding:8px 0;font-size:13px;font-weight:600;cursor:pointer;width:100%;}
.addbtn.outline{background:#fff;color:var(--blue);border:1px solid var(--blue);}

.subhead{display:flex;align-items:center;gap:10px;margin:8px 0 14px;font-size:15px;font-weight:700;}
.subhead .dot{width:9px;height:9px;border-radius:50%;}
.subhead .dot.tems-dot{background:var(--blue);}
.subhead .dot.nemo-dot{background:var(--nemo);}
.subhead .cnt{font-size:12px;font-weight:500;color:var(--muted);}
.subblock{margin-bottom:34px;border-left:3px solid var(--line);padding-left:16px;}
.subblock.tems-block{border-left-color:var(--blue);}
.subblock.nemo-block{border-left-color:var(--nemo);}
.empty-card{background:var(--nemo-bg);border:1px dashed var(--nemo);border-radius:10px;padding:22px;color:#4C1D95;font-size:13.5px;line-height:1.6;}
.empty-card b{display:block;font-size:14.5px;margin-bottom:6px;}

/* Software table-list */
.swgroup{margin-bottom:22px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.swgroup .ghead{background:var(--bg);padding:10px 16px;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);border-bottom:1px solid var(--line);}
.swrow{display:flex;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13.5px;gap:10px;flex-wrap:wrap;}
.swrow:last-child{border-bottom:none;}
.swrow .n{font-weight:500;}
.swrow .v{font-family:'Roboto Mono',monospace;font-size:12px;color:var(--muted);}
.swrow .ve{font-size:12px;color:var(--blue);font-weight:500;}

/* Contact */
.contact-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px;display:grid;grid-template-columns:1.1fr 1fr;gap:28px;}
.contact-box h2{margin:0 0 8px;font-size:20px;}
.contact-box p{color:var(--muted);font-size:13.5px;margin:0 0 16px;}
.fld{margin-bottom:14px;}
.fld label{display:block;font-size:11.5px;font-weight:600;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px;}
.fld .v{font-size:14px;padding:9px 0;border-bottom:1px solid var(--line);color:#9CA1A9;font-style:italic;}
.fld .v.real{color:var(--ink);font-style:normal;}

footer{text-align:center;font-size:12px;color:var(--muted);padding:30px 0;}

@media (max-width:760px){
  .catnav .wrap{gap:16px;}
  .contact-box{grid-template-columns:1fr;}
  .hero h1{font-size:24px;}
}

/* ===== Landing page additions ===== */
.lp-hero{background:linear-gradient(135deg,#0F2A57 0%, #1D6FE0 100%);color:#fff;padding:54px 0;}
.lp-hero .wrap{display:flex; align-items:center; gap:40px; flex-wrap:wrap;}
.lp-hero-text{flex:1; min-width:280px;}
.lp-hero-text .eyebrow{font-size:12.5px; letter-spacing:1px; text-transform:uppercase; color:#A9C7F5; margin:0 0 10px; font-weight:600;}
.lp-hero-text h1{font-size:32px; margin:0 0 14px; font-weight:700; line-height:1.2;}
.lp-hero-text p{color:#D6E3FA; font-size:15px; max-width:480px; margin:0 0 22px;}
.lp-hero-cta{display:flex; gap:12px; flex-wrap:wrap;}
.lp-hero-cta .btn-primary{background:#fff; color:var(--blue-dark); font-weight:600; padding:11px 22px; border-radius:8px; font-size:14px; border:none; cursor:pointer;}
.lp-hero-cta .btn-ghost{background:transparent; color:#fff; border:1px solid rgba(255,255,255,0.5); font-weight:600; padding:11px 22px; border-radius:8px; font-size:14px; cursor:pointer;}
.lp-hero-panel{flex:0 0 280px; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.2); border-radius:12px; padding:20px;}
.lp-hero-panel .row{display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.15); font-size:13px;}
.lp-hero-panel .row:last-child{border-bottom:none;}
.lp-hero-panel .row b{font-family:'Roboto Mono',monospace; color:#fff;}

.tile-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:-26px 0 40px; position:relative; z-index:2;}
.tile{background:#fff; border:1px solid var(--line); border-radius:12px; padding:22px 18px; text-align:left; box-shadow:0 6px 18px rgba(15,42,87,0.08); transition:transform .15s;}
.tile:hover{transform:translateY(-3px);}
.tile .ic{width:38px; height:38px; border-radius:9px; display:flex; align-items:center; justify-content:center; margin-bottom:12px;}
.tile .ic svg{width:20px; height:20px;}
.tile h3{font-size:15.5px; margin:0 0 4px;}
.tile p{font-size:12.5px; color:var(--muted); margin:0 0 10px; line-height:1.5;}
.tile .go{font-size:12.5px; color:var(--blue); font-weight:600;}

.valueprops{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:36px 0;}
.vp h4{font-size:14.5px; margin:0 0 6px; display:flex; align-items:center; gap:8px;}
.vp p{font-size:12.5px; color:var(--muted); margin:0; line-height:1.55;}
.vp .num{font-family:'Roboto Mono',monospace; color:var(--blue); font-weight:700; font-size:13px;}

.lp-band{background:#0F2A57; color:#fff; border-radius:14px; padding:32px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; margin:10px 0 40px;}
.lp-band h3{margin:0 0 6px; font-size:19px;}
.lp-band p{margin:0; color:#B9CCEB; font-size:13.5px;}

.sitenav-page{font-size:12px; color:var(--muted); margin-bottom:14px;}
.sitenav-page a{color:var(--blue);}

@media (max-width:900px){
  .tile-grid{grid-template-columns:repeat(2,1fr);}
  .valueprops{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .tile-grid{grid-template-columns:1fr;}
  .valueprops{grid-template-columns:1fr;}
  .lp-hero .wrap{flex-direction:column;}
}

/* ===== Software card additions ===== */
.sw-cat-label{font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--blue); margin:30px 0 14px;}
.sw-cat-label:first-of-type{margin-top:6px;}
.sw-card-desc{font-size:12.5px; color:var(--muted); line-height:1.55; margin:0 0 10px;}
.sw-tag{display:inline-block; font-size:10.5px; font-weight:600; padding:3px 9px; border-radius:4px; background:var(--green-bg); color:var(--green-ink); margin-bottom:8px;}
.sw-tag.planning{background:var(--amber-bg); color:var(--amber-ink);}
.sw-tag.license{background:var(--nemo-bg); color:var(--nemo);}
.sw-vendor{font-size:11px; color:var(--muted); margin:0 0 2px;}

/* ===== Network band details ===== */
.band-toggle{margin-top:8px;}
.band-toggle summary{font-size:11.5px; color:var(--blue); font-weight:600; cursor:pointer; list-style:none; padding:6px 0;}
.band-toggle summary::-webkit-details-marker{display:none;}
.band-toggle summary::before{content:"\25B8 "; }
.band-toggle[open] summary::before{content:"\25BE "; }
.band-table{width:100%; font-size:11px; border-collapse:collapse; margin:6px 0;}
.band-table th{text-align:left; color:var(--muted); font-weight:600; padding:4px 6px 4px 0; vertical-align:top; width:28px;}
.band-table td{padding:4px 0; color:var(--ink); font-family:'Roboto Mono',monospace; font-size:10.5px; line-height:1.5;}
.band-table tr{border-bottom:1px solid var(--line);}
.band-source{font-size:10px; color:var(--muted); margin:4px 0 2px; font-style:italic;}
.band-mm{font-size:10.5px; color:var(--green-ink); background:var(--green-bg); border-radius:4px; padding:5px 7px; margin:4px 0 0;}

/* ===== Measurement tools enrichment ===== */
.badge.g5yes{background:var(--green-bg); color:var(--green-ink);}
.badge.g5no{background:var(--gray-bg); color:var(--gray-ink);}
.badge.interop{background:var(--nemo-bg); color:var(--nemo);}
.mt-freq{font-family:'Roboto Mono',monospace; font-size:13px; font-weight:600; margin:0 0 4px;}

/* ===== Dropdown nav ===== */
.catnav .wrap{position:relative;}
.navdrop{position:relative;}
.navdrop > a{cursor:pointer;}
.navdrop .panel{display:none; position:absolute; top:100%; left:0; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 10px 30px rgba(0,0,0,0.12); padding:18px; z-index:80; min-width:560px;}
.navdrop:hover .panel{display:flex; gap:28px;}
.panel-col h4{font-size:11.5px; text-transform:uppercase; letter-spacing:.5px; color:var(--blue); margin:0 0 8px;}
.panel-col a{display:block; font-size:13.5px; color:var(--ink); padding:5px 0; font-weight:500;}
.panel-col a:hover{color:var(--blue);}
.panel-col a.sub{font-size:12px; color:var(--muted); font-weight:400; padding-left:8px;}
@media (max-width:900px){ .navdrop .panel{position:static; display:block; min-width:0; box-shadow:none; border:none; padding:8px 0 8px 12px;} .navdrop:hover .panel{display:block;} }

/* ===== Product detail pages ===== */
.detail-wrap{display:grid; grid-template-columns:380px 1fr; gap:36px; margin-bottom:36px;}
.detail-img{background:var(--white); border:1px solid var(--line); border-radius:12px; aspect-ratio:1/1; overflow:hidden;}
.detail-img img{width:100%; height:100%; object-fit:cover;}
.detail-h1{font-size:26px; margin:0 0 6px;}
.detail-vendor{font-size:13px; color:var(--muted); margin:0 0 14px;}
.detail-desc{font-size:14.5px; line-height:1.7; color:#3a3f47; margin:0 0 20px;}
.spec-table{width:100%; border-collapse:collapse; margin-bottom:20px; font-size:13px;}
.spec-table th{text-align:left; width:160px; color:var(--muted); font-weight:600; padding:8px 10px; border-bottom:1px solid var(--line); vertical-align:top;}
.spec-table td{padding:8px 10px; border-bottom:1px solid var(--line); font-family:'Roboto Mono',monospace; font-size:12.5px;}
@media (max-width:760px){ .detail-wrap{grid-template-columns:1fr;} }

/* Sale pricing */
.old-price{color:#98a2b3;text-decoration:line-through;font-weight:500;margin-right:7px;}
.sale-price{font-weight:800;font-size:20px;color:#155eef;}
.sale-badge{display:inline-block;background:#eff4ff;color:#155eef;border:1px solid #b2ccff;border-radius:4px;padding:3px 7px;font-size:10px;font-weight:800;letter-spacing:.35px;margin-left:7px;vertical-align:middle;}
.price-reference{display:none;}

/* ===== Universal responsive / mobile-first enhancement ===== */
html{width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;}
body{width:100%;min-width:0;overflow-x:hidden;}
img,svg,video,canvas,iframe{max-width:100%;height:auto;}
button,input,select,textarea{font:inherit;max-width:100%;}
.wrap,.headrow,.rfp-wrap{width:100%;}
.mobile-nav-toggle{display:none;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;font-size:20px;line-height:1;}
.mobile-nav-toggle:focus-visible{outline:3px solid rgba(29,111,224,.35);outline-offset:2px;}
body.nav-open{overflow:hidden;}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
table{max-width:100%;}

@media (max-width:1024px){
  .wrap{padding-left:18px;padding-right:18px;}
  .headrow{padding-left:18px;padding-right:18px;gap:14px;}
  .search{min-width:0;}
  .headicons{gap:10px;font-size:12px;}
  .detail-wrap{grid-template-columns:minmax(300px,.85fr) minmax(0,1fr);gap:24px;}
  .grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));}
}

@media (max-width:820px){
  header{position:sticky;}
  .headrow{min-height:64px;flex-wrap:nowrap;}
  .logo{font-size:18px;flex:1;min-width:0;}
  .mobile-nav-toggle{display:inline-flex;order:4;}
  .search{order:5;display:none;flex-basis:100%;width:100%;}
  .headicons{display:none;}
  .catnav{display:none;border-top:1px solid var(--line);max-height:calc(100vh - 64px);overflow:auto;background:#fff;}
  body.nav-open .catnav{display:block;}
  body.nav-open .search{display:flex;}
  .catnav .wrap{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px 18px 18px;overflow:visible;}
  .catnav a,.navdrop>a{display:block;padding:13px 4px;border-bottom:1px solid var(--line);font-size:15px;}
  .navdrop{width:100%;}
  .navdrop .panel,.navdrop:hover .panel{display:block;position:static;min-width:0;border:0;box-shadow:none;padding:4px 0 8px 12px;background:transparent;}
  .panel-col{padding:6px 0;}
  .panel-col h4{margin-top:6px;}
  .hero{padding:36px 0 28px;}
  .hero h1{font-size:28px;}
  section.cat{padding:28px 0;}
  .sec-head{align-items:flex-start;gap:10px;flex-direction:column;}
  .detail-wrap{grid-template-columns:1fr;}
  .detail-img{max-width:620px;margin:0 auto;width:100%;}
  .contact-box{padding:20px;gap:20px;}
  .swrow{align-items:flex-start;}
  .lp-hero{padding:40px 0;}
  .lp-hero-panel{flex-basis:100%;width:100%;}
  .tile-grid,.valueprops{gap:14px;}
  .filters{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px;}
  .filter{white-space:nowrap;flex:0 0 auto;}
}

@media (max-width:600px){
  .utility{font-size:10px;padding:5px 10px;}
  .wrap{padding-left:14px;padding-right:14px;}
  .headrow{padding:10px 14px;min-height:58px;}
  .logo{font-size:17px;}
  .mobile-nav-toggle{width:40px;height:40px;}
  .search input{min-width:0;font-size:16px;padding:11px 12px;}
  .search button{padding:0 14px;}
  .catnav .wrap{padding-left:14px;padding-right:14px;}
  .hero h1,.lp-hero-text h1{font-size:24px;}
  .hero p,.lp-hero-text p{font-size:14px;}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .cardbody{padding:10px;}
  .cardbody .name,.cardbody h3{font-size:13px;}
  .cardbody .meta{font-size:10.5px;}
  .addbtn,.view-details{font-size:12px;}
  .thumb{aspect-ratio:1/1;}
  .chip{font-size:11px;padding:5px 10px;}
  .badge-row{gap:7px;}
  .sec-head h2{font-size:19px;}
  .swrow{padding:11px 12px;}
  .contact-box{padding:16px;border-radius:8px;}
  .contact-box h2{font-size:18px;}
  .detail-h1{font-size:23px;}
  .detail-desc{font-size:14px;}
  .spec-table{font-size:12px;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .spec-table th{width:125px;min-width:125px;}
  .lp-hero{padding:32px 0;}
  .lp-hero .wrap{gap:24px;}
  .lp-hero-text{min-width:0;}
  .lp-hero-panel{padding:16px;}
  .lp-band{padding:22px;}
  .tile{padding:18px 15px;}
  .valueprops{padding:26px 0;}
  footer{padding:24px 14px;}
}

@media (max-width:380px){
  .grid{grid-template-columns:1fr;}
  .logo{font-size:16px;}
  .hero h1,.lp-hero-text h1{font-size:22px;}
}


/* V25 navigation enhancement */
.mainnav .nav-inner{overflow:visible;position:relative}
.mainnav .nav-dropdown{position:relative;display:flex;align-items:center}
.mainnav .nav-parent{display:flex;align-items:center;gap:7px;cursor:pointer}
.mainnav .nav-parent span{font-size:10px;transition:transform .18s ease}
.mainnav .nav-dropdown:hover .nav-parent span,.mainnav .nav-dropdown.open .nav-parent span{transform:rotate(180deg)}
.nav-menu{display:none;position:absolute;top:calc(100% + 7px);left:0;min-width:245px;background:rgba(255,255,255,.98);border:1px solid #dce6f2;border-radius:12px;padding:8px;box-shadow:0 18px 42px rgba(15,40,75,.18);z-index:9999}
.nav-menu:before{content:"";position:absolute;top:-7px;left:18px;width:12px;height:12px;background:#fff;border-left:1px solid #dce6f2;border-top:1px solid #dce6f2;transform:rotate(45deg)}
.nav-menu a{display:flex!important;align-items:center;gap:10px;padding:11px 12px!important;border:0!important;border-radius:8px!important;color:#40516a!important;font-size:12.5px!important;font-weight:700!important}
.nav-menu a:before{content:"";width:6px;height:6px;border-radius:50%;background:#2f76dc;opacity:.7}
.nav-menu a:hover{background:#f1f6fc!important;color:#1565d8!important}
.nav-dropdown:hover .nav-menu,.nav-dropdown:focus-within .nav-menu,.nav-dropdown.open .nav-menu{display:block}
@media(max-width:900px){.mainnav .nav-inner{overflow:visible}.mainnav .nav-dropdown:hover .nav-menu{display:none}.nav-dropdown.open .nav-menu,.nav-dropdown:focus-within .nav-menu{display:block}.nav-menu{position:absolute;left:0;top:calc(100% + 5px);min-width:220px}}
@media(max-width:820px){.mainnav .nav-inner{overflow:visible}.nav-menu{position:fixed;left:16px;right:16px;top:118px;min-width:0}.nav-menu:before{display:none}}

.gallery-thumbs img{cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.gallery-thumbs img:hover{transform:translateY(-1px);border-color:#7aa7e8;box-shadow:0 4px 12px rgba(21,101,216,.12)}.gallery-thumbs img.active{border-color:#1565d8;box-shadow:0 0 0 2px rgba(21,101,216,.12)}


/* V30 category navigation and clickability */
.hero-panel .metric{display:block;color:inherit;text-decoration:none;transition:transform .18s ease,background .18s ease,border-color .18s ease;padding-left:8px;padding-right:8px;border-radius:10px}
.hero-panel a.metric:hover,.hero-panel a.metric:focus-visible{background:rgba(255,255,255,.12);transform:translateX(4px);outline:none}
.home-product,.home-link,.product-card,.phone-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.home-product:hover,.home-product:focus-visible,.home-link:hover,.home-link:focus-visible,.phone-card:hover{transform:translateY(-4px);border-color:#8db8ef;box-shadow:0 14px 30px rgba(18,48,88,.12)}
.home-product:focus-visible,.home-link:focus-visible{outline:3px solid rgba(21,101,216,.22);outline-offset:3px}
.product-category-nav{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 30px}.product-category-nav a{padding:10px 14px;border:1px solid var(--line);background:#fff;border-radius:10px;font-size:12px;font-weight:800;color:#43556d;transition:.18s}.product-category-nav a:hover{color:#1565d8;border-color:#8db8ef;transform:translateY(-2px);box-shadow:0 8px 18px rgba(21,101,216,.1)}

/* V44 pricing update */
.product-price{padding:0 14px 8px;font-size:17px;font-weight:800;color:#1f4f8f;line-height:1.35}.product-price .old-price{text-decoration:line-through;color:#8a97a8;font-size:12px;font-weight:600;margin-left:6px}.product-price .sale-pill{display:inline-block;margin-left:7px;background:#df2d3d;color:#fff;border-radius:5px;padding:3px 7px;font-size:10px;vertical-align:2px;letter-spacing:.2px}.detail-price{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:4px 0 10px}.detail-price .now{font-size:24px;font-weight:800;color:#1f5fa8}.detail-price .was{font-size:14px;color:#8794a6;text-decoration:line-through;font-weight:700}.detail-price .sale{background:#df2d3d;color:#fff;border-radius:6px;padding:5px 9px;font-size:11px;font-weight:800}.price-note{font-size:11px;color:#77869a;margin:0 0 12px}.pc-actions{margin-top:auto}


/* Unified product sale presentation: phones, software and other priced catalog cards */
.product-price{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:28px}
.product-price .sale-now{font-size:17px;font-weight:800;color:#1f5fa8}
.product-price .old-price{font-size:12px;color:#8a97a8;text-decoration:line-through;font-weight:600;margin-left:0}
.product-price .sale-pill{background:#df2d3d;color:#fff;border-radius:5px;padding:3px 7px;font-size:10px;font-weight:800;letter-spacing:.2px}
.detail-price .sale{background:#df2d3d;color:#fff}

/* V45 Global typography and responsive product standard */
html{font-size:17px}body{font-size:1rem;line-height:1.55}.wrap{max-width:1440px;padding-left:28px;padding-right:28px}.headrow{max-width:1440px}.hero h1{font-size:38px}.hero p{font-size:17px}.sec-head h2{font-size:27px}.catnav .wrap{font-size:15px}.cardbody .name{font-size:17px}.cardbody .meta{font-size:13px}.price{font-size:18px}.addbtn{font-size:14px;padding:10px 0}.swrow{font-size:15px}.contact-box h2{font-size:24px}.contact-box p{font-size:15px}
.product-grid{gap:20px}.product-card{border-radius:16px;box-shadow:0 5px 18px rgba(20,32,51,.035)}.product-card>img{height:230px!important;object-fit:contain!important;padding:10px;background:#f8fbff!important}.pc-name{font-size:18px!important;line-height:1.3}.pc-model{font-size:12px!important;line-height:1.5}.product-card .pc-top{padding:17px!important}.pc-actions{padding:14px 17px 17px!important}.product-price .sale-now{font-size:19px}.product-price .old-price{font-size:13px}.catalog-sort{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:0 0 16px}.catalog-sort label{font-size:13px;font-weight:800;color:#516179}.catalog-sort select{border:1px solid #dce5ef;background:#fff;color:#142033;border-radius:9px;padding:9px 12px;font:700 13px/1.2 Inter,sans-serif;cursor:pointer}
@media(max-width:1024px){html{font-size:16px}.wrap{padding-left:22px;padding-right:22px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-card>img{height:210px!important}}
@media(max-width:760px){.wrap{padding-left:16px;padding-right:16px}.hero h1{font-size:31px}.hero p{font-size:16px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card>img{height:180px!important}.pc-name{font-size:16px!important}.pc-model{font-size:11px!important}.catalog-sort{justify-content:flex-start}.catalog-sort select{font-size:12px}.cardbody .name{font-size:16px}.cardbody .meta{font-size:12px}}
@media(max-width:480px){.product-grid{grid-template-columns:1fr}.product-card>img{height:240px!important}.catalog-sort{justify-content:stretch}.catalog-sort select{flex:1}.hero h1{font-size:28px}}


/* V66 Products navigation: reliable split control + premium glass menu */
.mainnav .nav-dropdown{position:relative;display:flex;align-items:stretch;isolation:isolate}
.mainnav .nav-parent{display:inline-flex;align-items:center;white-space:nowrap}
.mainnav .nav-toggle{
  appearance:none;border:0;background:transparent;color:inherit;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;width:30px;padding:0;
  font:inherit;font-size:15px;line-height:1;border-radius:6px;transition:background .2s ease,transform .2s ease
}
.mainnav .nav-toggle:hover,.mainnav .nav-toggle:focus-visible{background:rgba(20,58,110,.08);outline:none}
.mainnav .nav-dropdown.open .nav-toggle span{transform:rotate(180deg)}
.mainnav .nav-menu{
  display:block!important;visibility:hidden;opacity:0;pointer-events:none;
  position:absolute;top:calc(100% + 10px);left:0;min-width:560px;max-width:min(700px,calc(100vw - 40px));
  padding:14px;border:1px solid rgba(255,255,255,.20);border-radius:16px;
  background:linear-gradient(135deg,rgba(10,25,45,.97),rgba(28,55,92,.96));
  box-shadow:0 24px 70px rgba(8,22,42,.30);backdrop-filter:blur(14px);
  transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:9999
}
.mainnav .nav-dropdown.open .nav-menu,
.mainnav .nav-dropdown:hover .nav-menu,
.mainnav .nav-dropdown:focus-within .nav-menu{
  visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)
}
.mainnav .nav-menu:before{display:none!important}
.nav-menu-title{color:rgba(255,255,255,.58);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px 10px}
.nav-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.mainnav .nav-menu .nav-menu-grid a{
  display:flex!important;align-items:center!important;padding:12px 13px!important;margin:0!important;
  min-height:44px;border-radius:10px!important;color:#fff!important;background:rgba(255,255,255,.055)!important;
  border:1px solid transparent!important;font-size:13px!important;font-weight:700!important;white-space:normal!important;
  transition:background .18s ease,border-color .18s ease,transform .18s ease
}
.mainnav .nav-menu .nav-menu-grid a:before{display:none!important}
.mainnav .nav-menu .nav-menu-grid a:hover,
.mainnav .nav-menu .nav-menu-grid a:focus-visible{
  background:rgba(78,133,220,.20)!important;border-color:rgba(132,174,240,.35)!important;transform:translateY(-1px)
}
.mainnav .nav-menu-all{
  display:flex!important;align-items:center;justify-content:space-between;margin:10px 2px 0!important;padding:11px 12px!important;
  color:#dceaff!important;font-size:12px!important;font-weight:800!important;border-top:1px solid rgba(255,255,255,.13)!important;
  border-radius:0!important;background:transparent!important
}
.mainnav .nav-menu-all span{font-size:16px}
@media(max-width:900px){
  .mainnav .nav-menu{min-width:480px;left:0}
}
@media(max-width:680px){
  .mainnav .nav-dropdown{position:static}
  .mainnav .nav-menu{position:fixed;left:12px;right:12px;top:auto;min-width:0;max-width:none}
  .nav-menu-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .mainnav .nav-menu,.mainnav .nav-toggle span{transition:none}
}

/* V66 accessory product imagery */
.product-card .pc-image{height:180px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:10px}
.product-card .pc-image img{width:100%;height:100%;object-fit:contain;display:block}
.product-card .pc-top{flex:1}
@media(max-width:700px){.product-card .pc-image{height:165px}}
