body {
    font-family: sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f4f4f4;
}
.navbar {
    background: linear-gradient(180deg, #019bd3 0%, #017aa8 100%);
    isolation: isolate;
    padding: 10px 20px;
    min-height: 64px;
    box-shadow: 0 2px 8px rgba(1,139,160,0.12);
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 12px;
}

.navbar .logo {
    display: inline-block;
    z-index: 60;
}

.navbar .logo {
    background: #019bd3;
    padding: 6px 8px;
    border-radius: 8px;
}

.navbar .logo {
    width: 40px;
    height: 40px;
    background-image: url('img/AlsterTech.jpeg');
    background-repeat: no-repeat;
    background-position: center left;
    background-size: contain;
    background-color: #019bd3;
    background-blend-mode: multiply;
    padding: 4px;
}

.nav-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 12px;
    align-items: center;
    justify-self: center;
}

.nav-item { position: relative; }

.nav-item > a {
    color: white;
    text-decoration: none;
    padding: 10px 14px;
    display: inline-block;
    position: relative;
    border-radius: 6px;
    transition: background .18s ease, transform .12s ease;
}

.nav-item > a:after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -6px;
    width: 0;
    height: 3px;
    background: rgba(255,255,255,0.12);
    border-radius: 2px;
    transform: translateX(-50%);
    transition: width .18s ease;
}

.nav-item > a:hover {
    background: rgba(255,255,255,0.06);
    transform: translateY(-1px);
}

.nav-item > a:hover:after { width: 60%; }

.dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    background: rgba(255,255,255,0.98);
    color: #333;
    min-width: 180px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
    border-radius: 8px;
    padding: 6px 0;
    display: none;
    z-index: 120;
}

.dropdown li { list-style: none; }

.dropdown li a {
    color: #333;
    padding: 10px 16px;
    display: block;
    text-decoration: none;
    transition: background .12s ease;
}

.dropdown li a:hover { background: #f6f8fa; }

.nav-item:hover .dropdown { display: block; }

.navbar::after {
    content: '';
    display: block;
    width: 56px;
}

.navbar a#home img,
.navbar img {
    height: 40px;
    width: auto;
    display: inline-block;
    vertical-align: middle;
}
.navbar a#home img {
    mix-blend-mode: screen;
    filter: saturate(1.15) contrast(1.05) brightness(0.98);
}
.container {
    padding: 20px;
}
.auth-page { display:flex; justify-content:center; align-items:flex-start; padding-top:40px; }
.auth-box { max-width:420px; width:100%; }
.auth-box form label { display:block; margin-bottom:10px; }
.auth-box input { width:100%; padding:8px; margin-top:6px; box-sizing:border-box; }
.auth-box hr { margin:16px 0; border:none; border-top:1px solid #eee; }
.content {
    background-color: white;
    padding: 20px;
    margin-bottom: 20px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.about-hero {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 24px;
    align-items: center;
}
.about-hero .hero-image img {
    width: 100%;
    border-radius: 8px;
    object-fit: cover;
    height: 100%;
    max-height: 280px;
}
.about-hero .hero-text .lead {
    font-size: 1.1rem;
    color: #333;
}
.about-section h2 { margin-top: 0; }
.values { list-style: disc; margin-left: 1.2rem; }

.team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.team-member {
    text-align: center;
}
.team-member img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 6px;
}
.team-member .role { color: #666; font-size: 0.95rem; margin-bottom: 8px; }

.btn {
    display: inline-block;
    background: #019bd3;
    color: white;
    padding: 10px 16px;
    border-radius: 4px;
    text-decoration: none;
}
.btn.ghost {
    background: transparent;
    border: 1px solid #019bd3;
    color: #019bd3;
}

.shop-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.product-card {
    background: #fff;
    border-radius: 8px;
    padding: 12px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}
.product-card img { width: 100%; height: 160px; object-fit: cover; border-radius: 6px; }
.product-card .price { margin: 8px 0; font-weight: 600; }
.product-card .btn.add { width: 100%; }

.cart-panel {
    position: fixed;
    right: 18px;
    top: 670px;
    width: 240px;
    background: #fff;
    padding: 12px;
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
    z-index: 200;
}
.cart-panel h3 { margin: 0 0 8px 0; }
.cart-panel ul { padding-left: 12px; max-height: 200px; overflow: auto; }
.cart-total { font-weight: 700; margin-top: 8px; }

@media (max-width: 900px) {
    .shop-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
    .shop-grid { grid-template-columns: 1fr; }
    .cart-panel { position: static; width: auto; margin-top: 12px; }
}

@media (max-width: 900px) {
    .about-hero { grid-template-columns: 1fr; }
    .team-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
    .team-grid { grid-template-columns: 1fr; }
    .navbar .logo { left: 10px; }
}
.contact-page .contact-hero { display:flex; gap:20px; justify-content:space-between; align-items:flex-start; }
.contact-quick { display:flex; gap:12px; flex-direction:column; }
.contact-card { background:#fff; padding:10px 12px; border-radius:6px; box-shadow:0 2px 6px rgba(0,0,0,0.06); }
.contact-grid { display:grid; grid-template-columns: 1fr 320px; gap:20px; }
.contact-form label { display:block; margin-bottom:10px; }
.contact-form input, .contact-form textarea { width:100%; padding:8px; box-sizing:border-box; margin-top:6px; }
.form-actions { display:flex; gap:8px; align-items:center; margin-top:8px; }

@media (max-width: 900px) {
    .contact-grid { grid-template-columns: 1fr; }
    .contact-hero { flex-direction:column; }
    .contact-quick { flex-direction:row; flex-wrap:wrap; }
}
.footer {
    background-color: #019bd3;
    color: white;
    text-align: center;
    padding: 10px;
    position: fixed;
    bottom: 0;
    width: 100%;
}