:root{
  --hp-blue:#0076CE;
  --hp-blue-dark:#005AA6;
  --epson-blue:#003087;
  --epson-blue-dark:#001f5c;
  --neutral-dark:#111;
  --neutral-gray:#555;
  --border-light:#e5e5e5;
}

*{box-sizing:border-box;}

body{
  margin:0;
  font-family:"Segoe UI", Arial, sans-serif;
  background:#ffffff;
  color:var(--neutral-dark);
  padding-top:54px;
}

/* Floating Top Call Bar */
.call-bar{
  background:#0b3c8c;
  color:#fff;
  font-weight:800;
  text-align:center;
  padding:12px 16px;
  font-size:28px;
  position:fixed;
  top:0; left:0; right:0;
  z-index:1000;
}
.call-bar a{color:#fff;text-decoration:none;}

/* Header */
header{
  background:#ffffff;
  border-bottom:1px solid var(--border-light);
  position:sticky;
  top:54px;
  z-index:999;
}
.topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 18px;
  gap:14px;
  flex-wrap:wrap;
}

.logo{font-size:04px;font-weight:50;}

nav a{
  margin-left:24px;
  text-decoration:none;
  font-size:14px;
  color:#333;
}

/* Cart pill in header */
.mini-cart{
  display:flex;
  align-items:center;
  gap:10px;
  background:#fff;
  border:1px solid #e6e6e6;
  border-radius:999px;
  padding:8px 10px;
  box-shadow:0 10px 24px rgba(0,0,0,.10);
}
.mini-cart .label{font-size:13px;color:#333;font-weight:800;}
.mini-cart .badge{
  min-width:26px;height:26px;border-radius:999px;
  background:#111;color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:13px;
}
.mini-cart button{
  border:none;background:#111;color:#fff;
  padding:8px 10px;border-radius:999px;
  cursor:pointer;font-weight:800;font-size:13px;
}

/* Homepage hero */
.hero{
  background:linear-gradient(135deg,#f4f6f8,#e9eef3);
  padding:60px 32px;
  text-align:center;
}
.hero h1{font-size:36px;margin-bottom:10px;}
.hero p{font-size:16px;color:var(--neutral-gray);max-width:720px;margin:auto;}

/* Brand hero banners */
.hero-banner{
  padding:60px 32px;
  text-align:left;
}
.hero-banner .wrap{
  max-width:1200px;
  margin:auto;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:26px;
  align-items:center;
}
.hero-banner h1{
  font-size:40px;
  line-height:1.1;
  margin:0 0 10px;
}
.hero-banner p{
  font-size:18px;
  max-width:520px;
  margin:0;
}
.hero-banner .start{
  font-size:24px;
  font-weight:800;
  margin:16px 0 18px;
}
.hero-banner .hero-img{
  background:#fff;
  border:1px solid #e5e5e5;
  height:260px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#aaa;
}

/* CTA buttons */
.btn{
  display:inline-block;
  padding:11px 20px;
  color:#fff;
  text-decoration:none;
  font-size:14px;
  border-radius:6px;
  background:#111;
  text-align:center;
}
.btn:hover{opacity:.92;}

.hero-call{
  display:inline-block;
  background:#0b3c8c;
  color:#fff;
  padding:14px 26px;
  border-radius:8px;
  font-weight:800;
  font-size:18px;
  text-decoration:none;
}

/* Layout */
.container{padding:60px 32px;max-width:1200px;margin:auto;}
.section-title{text-align:center;font-size:28px;margin-bottom:40px;letter-spacing:0.5px;}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:30px;}
.card{
  border:1px solid #e6e6e6;
  border-radius:8px;
  padding:22px;
  background:#fff;
  text-align:center;
  transition:transform .2s, box-shadow .2s;
}
.card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(0,0,0,.08);}
.card img{width:100%;height:200px;object-fit:contain;margin-bottom:14px;background:#f2f2f2;border-radius:10px;}
.brand{font-size:12px;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;}
.card h3{font-size:16px;margin:8px 0;min-height:44px;}
.price{font-size:20px;font-weight:700;margin:12px 0;}

/* Brand themed product grids */
.hp-bg{background:#eef6ff;}
.hp-bg .section-title{color:var(--hp-blue-dark);}
.hp-bg .brand{color:var(--hp-blue);}
.hp-bg .price{color:var(--hp-blue-dark);}
.hp-bg .btn{background:var(--hp-blue);}
.hp-bg .btn:hover{background:var(--hp-blue-dark);}

.epson-bg{background:#f1f4fb;}
.epson-bg .section-title{color:var(--epson-blue-dark);}
.epson-bg .brand{color:var(--epson-blue);}
.epson-bg .price{color:var(--epson-blue-dark);}
.epson-bg .btn{background:var(--epson-blue);}
.epson-bg .btn:hover{background:var(--epson-blue-dark);}

/* Checkout notice + success */
.notice{
  background:#fff8e1;border:1px solid #ffe4a3;padding:12px 14px;border-radius:10px;
  color:#5d4b00;font-size:13px;line-height:1.5;margin:14px 0;
}
.success{
  display:none;background:#e8fff0;border:1px solid #b6f2c6;padding:12px 14px;border-radius:10px;
  color:#0f5132;font-size:13px;line-height:1.5;margin-top:14px;
}

/* Cart */
.cart-wrap{max-width:980px;margin:auto;background:#fff;border:1px solid #e6e6e6;border-radius:10px;padding:18px;margin-bottom:18px;}
.cart-row{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center;padding:10px 0;border-bottom:1px solid #eee;}
.cart-row:last-child{border-bottom:none;}
.qty-controls{display:flex;gap:8px;align-items:center;}
.qty-btn{border:1px solid #dcdcdc;background:#fff;padding:6px 10px;border-radius:8px;cursor:pointer;font-weight:700;}
.cart-total{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:16px;font-weight:800;}

/* Checkout form */
.pay-wrap{max-width:980px;margin:auto;background:#fff;border:1px solid #e6e6e6;border-radius:10px;padding:22px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:12px;border:1px solid #dcdcdc;border-radius:8px;font-size:14px;}
.form-grid textarea{grid-column:1/-1;min-height:90px;resize:vertical;}
.full{grid-column:1/-1;}

/* Footer */
footer{background:#111;color:#bbb;padding:40px 32px;font-size:13px;text-align:center;}
footer a{color:#fff;text-decoration:none;font-weight:700;}
footer a:hover{text-decoration:underline;}

/* Floating Call CTA (Desktop) */
.floating-call{
  position:fixed;
  left:14px;
  bottom:18px;
  background:#0b3c8c;
  color:#fff;
  padding:10px 14px;
  border-radius:999px;
  font-size:34px;
  font-weight:800;
  box-shadow:0 6px 20px rgba(0,0,0,.18);
  z-index:99;
  text-decoration:none;
  opacity:.95;
}

/* ✅ MOBILE FIX: floating CTA visible + full-width */
@media (max-width: 520px){
  .floating-call{
    display:block;
    left:12px;
    right:12px;
    bottom:12px;
    width:auto;
    text-align:center;
    font-size:26px;
    padding:14px 16px;
    border-radius:14px;
  }
}

/* ✅ Mobile improvements */
@media (max-width: 820px){
  .container{padding:44px 18px;}
  .hero{padding:46px 18px;}
  .hero h1{font-size:30px;}
  .section-title{font-size:24px;margin-bottom:26px;}
  nav a{margin-left:14px;}
}

@media (max-width: 720px){
  .hero-banner .wrap{grid-template-columns:1fr;}
  .hero-banner h1{font-size:30px;}
  .hero-banner p{font-size:16px;}
  .hero-banner .hero-img{height:200px;}
  .hero-banner .btn, .hero-banner .hero-call{width:100%;}
}

@media (max-width: 560px){
  .logo{font-size:18px;}
  .mini-cart{padding:6px 8px;}
  .mini-cart .label{display:none;}
  .mini-cart button{padding:7px 10px;}
  .call-bar{font-size:16px;padding:10px 10px;}
  body{padding-top:50px;}
  nav{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:flex-start;
  }
  nav a{
    margin-left:0;
    padding:8px 10px;
    border:1px solid #e6e6e6;
    border-radius:999px;
    font-weight:700;
    font-size:13px;
  }
  .grid{grid-template-columns:1fr;}
  .card{padding:18px;}
  .card img{height:180px;}
  .form-grid{grid-template-columns:1fr;}
  .btn{width:100%;}
  .qty-controls{justify-content:center;}
}
