/* Global reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Design tokens */
:root{
  --max-width:1100px;
  --accent:#ff6b35; /* warm accent */
  --primary:#003b6f; /* deep navy */
  --muted:#6b7280;
  --card-bg:#ffffff;
}

/* Body styling */
body {
  font-family: Roboto, Arial, sans-serif;
  line-height: 1.6;
  background-color: #f6f8fa;
  color: #111827;
  padding: 20px 0 60px;
}

.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}

section {
  margin: 40px auto;
  background: #fff;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(16,24,40,0.06);
}

section h2{margin-bottom:12px;color:var(--primary);font-family:Poppins, Roboto, sans-serif}

/* Main nav */
.main-nav{max-width:var(--max-width);margin:12px auto;display:flex;gap:1rem;justify-content:flex-end;padding:0 20px}
.main-nav a{color:var(--primary);text-decoration:none;font-weight:600}

/* Hero banner */
.hero{background-size:cover;background-position:center;color:#fff;position:relative}
.hero .overlay{background:linear-gradient(180deg, rgba(0,0,0,0.35), rgba(0,0,0,0.25));padding:80px 0}
.hero-inner{display:flex;align-items:center;gap:20px}
.hero .logo{width:84px;height:84px}
.hero-copy h1{margin:0;font-size:2.6rem;font-family:Poppins, Roboto, sans-serif}
.hero .tagline{margin-top:8px;font-style:normal;opacity:0.95}
.hero .cta .btn{box-shadow:0 8px 20px rgba(0,59,111,0.18)}

/* subtle animated paint sheen */
.hero:after{content:"";position:absolute;left:-20%;top:0;width:140%;height:100%;background:linear-gradient(115deg, rgba(255,255,255,0.03), rgba(255,255,255,0.12), rgba(255,255,255,0.03));transform:skewX(-12deg);animation:shine 8s linear infinite}
@keyframes shine{from{transform:translateX(-100%) skewX(-12deg)}to{transform:translateX(100%) skewX(-12deg)}}

/* Products grid */
.products{padding:30px 0}
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.product-card{background:var(--card-bg);padding:14px;border-radius:12px;box-shadow:0 8px 24px rgba(11,42,73,0.06);text-align:left;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease}
.product-card:hover{transform:translateY(-8px);box-shadow:0 18px 40px rgba(11,42,73,0.12)}
.product-media{height:140px;border-radius:8px;overflow:hidden;margin-bottom:12px;background:#f3f6f8;display:flex;align-items:center;justify-content:center}
.product-media img{width:100%;height:100%;object-fit:cover;display:block}
.product-card h3{margin:6px 0;font-family:Poppins, Roboto, sans-serif}
.product-card p{color:#555;font-size:0.95rem}
.product-card .price{margin-top:10px;color:var(--primary);font-weight:700}
.btn{display:inline-block;margin-top:12px;padding:10px 14px;background:var(--primary);color:#fff;border-radius:8px;text-decoration:none;border:none;cursor:pointer}
.btn.btn-outline{background:transparent;color:var(--primary);border:1.5px solid rgba(0,59,111,0.12)}

/* About and contact tweaks */
.about{padding:30px 0}
.contact .map{margin-top:16px;border-radius:6px;overflow:hidden}

/* Footer */
.site-footer{background:#f3f6f8;padding:18px 0;margin-top:30px}
.footer-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px}
.footer-links a{margin-right:12px;color:var(--primary);text-decoration:none}
.social a{color:var(--primary)}

@media (max-width:900px){
  .products-grid{grid-template-columns:repeat(2,1fr)}
  .hero-inner{flex-direction:column;align-items:flex-start}
  .footer-inner{flex-direction:column;align-items:flex-start}
}

@media (max-width:480px){
  .products-grid{grid-template-columns:1fr}
  .main-nav{justify-content:center}
}

/* Modal */
.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(2,6,23,0.6);opacity:0;pointer-events:none;transition:opacity .22s}
.modal[aria-hidden="false"]{opacity:1;pointer-events:auto}
.modal-dialog{background:var(--card-bg);border-radius:12px;max-width:900px;width:94%;padding:18px;box-shadow:0 30px 80px rgba(2,6,23,0.4)}
.modal-close{position:absolute;right:20px;top:20px;background:transparent;border:0;color:#111;font-size:28px;cursor:pointer}
.modal-content{display:flex;gap:18px;align-items:center}
.modal-image{width:45%;height:280px;object-fit:cover;border-radius:8px}
.modal-info{flex:1}
.modal-price{color:var(--primary);font-weight:700;margin:12px 0}

@media (max-width:800px){
  .modal-content{flex-direction:column}
  .modal-image{width:100%;height:220px}
}
