/* ================================
   ARTPOS YAZILIM - Ana Stil
   ================================ */
:root {
    --artpos-primary: #0b3d91;
    --artpos-primary-dark: #082a66;
    --artpos-accent: #f39200;
    --artpos-accent-dark: #d47d00;
    --artpos-bg: #f4f6f9;
    --artpos-text: #222;
    --artpos-muted: #777;
    --artpos-border: #e5e9f0;
}

* { box-sizing: border-box; }
body {
    font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    color: var(--artpos-text);
    background: var(--artpos-bg);
    margin: 0;
    line-height: 1.6;
}
a { color: var(--artpos-primary); text-decoration: none; transition: .2s; }
a:hover { color: var(--artpos-accent); }
img { max-width: 100%; height: auto; }

.btn-primary { background: var(--artpos-primary); border-color: var(--artpos-primary); }
.btn-primary:hover { background: var(--artpos-primary-dark); border-color: var(--artpos-primary-dark); }
.btn-accent { background: var(--artpos-accent); border-color: var(--artpos-accent); color: #fff; }
.btn-accent:hover { background: var(--artpos-accent-dark); border-color: var(--artpos-accent-dark); color: #fff; }
.text-accent { color: var(--artpos-accent) !important; }
.bg-accent { background: var(--artpos-accent) !important; }
.bg-artpos { background: var(--artpos-primary) !important; }

/* ---------- Top Bar ---------- */
.top-bar {
    background: var(--artpos-primary-dark);
    color: #dbe3f5;
    padding: 6px 0;
    font-size: 13px;
}
.top-bar a { color: #dbe3f5; margin-left: 10px; }
.top-bar a:hover { color: var(--artpos-accent); }

/* ---------- Header ---------- */
.site-header {
    background: #fff;
    padding: 20px 0;
    border-bottom: 1px solid var(--artpos-border);
}
.logo { display: inline-block; }
.logo img { max-height: 60px; }
.logo-text {
    font-size: 32px; font-weight: 800; color: var(--artpos-primary);
    letter-spacing: -1px; display: block; line-height: 1;
}
.logo-text em { color: var(--artpos-accent); font-style: normal; }
.logo small { color: var(--artpos-muted); font-size: 11px; text-transform: uppercase; letter-spacing: 2px; }

.search-form { position: relative; }
.search-form input {
    padding: 12px 50px 12px 20px;
    border: 2px solid var(--artpos-primary);
    border-radius: 30px;
    width: 100%;
}
.search-form button {
    position: absolute; right: 4px; top: 4px;
    background: var(--artpos-accent); color: #fff;
    border: none; padding: 8px 18px; border-radius: 30px;
    cursor: pointer;
}

.header-icons a {
    display: inline-block;
    font-size: 24px;
    color: var(--artpos-primary);
    margin-left: 15px;
    position: relative;
}
.header-icons a:hover { color: var(--artpos-accent); }
.cart-count {
    position: absolute; top: -5px; right: -8px;
    background: var(--artpos-accent); color: #fff;
    border-radius: 50%;
    min-width: 20px; height: 20px;
    font-size: 11px; line-height: 20px;
    text-align: center; font-weight: bold;
}

/* ---------- Ana Menü ---------- */
.main-nav {
    background: var(--artpos-primary);
    padding: 0;
}
.main-nav .nav-link {
    color: #fff !important;
    padding: 14px 18px !important;
    font-weight: 500;
}
.main-nav .nav-link:hover { background: var(--artpos-primary-dark); color: var(--artpos-accent) !important; }
.main-nav .dropdown-menu { border-radius: 0; margin-top: 0; }
.main-nav .dropdown-item { padding: 10px 15px; }
.main-nav .dropdown-item:hover { background: var(--artpos-accent); color: #fff; }

/* ---------- Slider ---------- */
.hero-slider .carousel-item {
    min-height: 400px;
    background-size: cover;
    background-position: center;
    background-color: var(--artpos-primary);
}
.hero-slider .carousel-caption {
    left: 5%; right: 5%; text-align: left;
    bottom: auto; top: 50%; transform: translateY(-50%);
}
.hero-slider h2 { font-size: 48px; font-weight: 800; color: #fff; text-shadow: 2px 2px 4px rgba(0,0,0,.5); }
.hero-slider h4 { color: var(--artpos-accent); font-weight: 600; }
.hero-slider p { color: #fff; font-size: 18px; }

/* ---------- Kartlar ---------- */
.main-content { padding: 30px 0; min-height: 400px; }
section { margin-bottom: 40px; }
.section-title {
    font-size: 24px;
    font-weight: 700;
    color: var(--artpos-primary);
    border-left: 4px solid var(--artpos-accent);
    padding-left: 15px;
    margin-bottom: 20px;
}

/* ---------- Kategori Kartları ---------- */
.category-card {
    background: #fff; border-radius: 10px; padding: 25px 15px;
    text-align: center; transition: .3s;
    border: 1px solid var(--artpos-border);
    display: block; color: var(--artpos-text);
    height: 100%;
}
.category-card:hover {
    transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0,0,0,.1);
    border-color: var(--artpos-accent);
}
.category-card i { font-size: 42px; color: var(--artpos-primary); margin-bottom: 10px; }
.category-card h6 { font-size: 14px; font-weight: 600; margin: 0; }

/* ---------- Ürün Kartları ---------- */
.product-card {
    background: #fff; border-radius: 10px; overflow: hidden;
    border: 1px solid var(--artpos-border);
    transition: .3s; height: 100%;
    display: flex; flex-direction: column;
}
.product-card:hover { box-shadow: 0 8px 20px rgba(0,0,0,.08); transform: translateY(-3px); border-color: var(--artpos-primary); }
.product-img {
    height: 200px; background: #fafbfd;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden; position: relative;
}
.product-img img { max-height: 180px; object-fit: contain; }
.product-badges { position: absolute; top: 10px; left: 10px; display: flex; flex-direction: column; gap: 5px; }
.product-badge { padding: 3px 10px; color: #fff; font-size: 11px; border-radius: 3px; font-weight: 600; }
.badge-new { background: #28a745; }
.badge-discount { background: var(--artpos-accent); }
.badge-hot { background: #dc3545; }
.product-body { padding: 15px; flex-grow: 1; display: flex; flex-direction: column; }
.product-brand { font-size: 11px; color: var(--artpos-muted); text-transform: uppercase; }
.product-title {
    font-size: 14px; font-weight: 600; margin: 5px 0; color: var(--artpos-text);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden; min-height: 42px;
}
.product-title a { color: inherit; }
.product-title a:hover { color: var(--artpos-primary); }
.product-price { margin-top: auto; padding-top: 10px; }
.price-old { text-decoration: line-through; color: #aaa; font-size: 13px; }
.price-new { color: var(--artpos-accent); font-weight: 800; font-size: 20px; }
.btn-add-cart {
    width: 100%; background: var(--artpos-primary); color: #fff;
    border: none; padding: 10px; margin-top: 10px;
    font-weight: 600; border-radius: 5px;
}
.btn-add-cart:hover { background: var(--artpos-accent); color: #fff; }

/* ---------- Ürün Detay ---------- */
.product-detail-img {
    background: #fff; padding: 30px; border-radius: 10px;
    border: 1px solid var(--artpos-border);
    text-align: center; min-height: 400px;
    display: flex; align-items: center; justify-content: center;
}
.product-thumbs { display: flex; gap: 10px; margin-top: 15px; }
.product-thumbs img {
    width: 80px; height: 80px; object-fit: contain; padding: 5px;
    background: #fff; border: 2px solid var(--artpos-border);
    border-radius: 6px; cursor: pointer;
}
.product-thumbs img.active, .product-thumbs img:hover { border-color: var(--artpos-accent); }

/* ---------- Banner ---------- */
.banner-box {
    background: #fff; border-radius: 10px; overflow: hidden;
    display: block; transition: .3s;
}
.banner-box:hover { transform: scale(1.02); }

/* ---------- Footer ---------- */
.site-footer {
    background: #1a1f36; color: #b4bcd0;
    padding: 40px 0 20px;
    margin-top: 40px;
}
.site-footer .footer-title { color: #fff; font-size: 16px; font-weight: 700; margin-bottom: 15px; }
.footer-links { list-style: none; padding: 0; margin: 0; }
.footer-links li { margin-bottom: 8px; }
.footer-links a { color: #b4bcd0; font-size: 14px; }
.footer-links a:hover { color: var(--artpos-accent); }
.footer-social a {
    display: inline-block;
    width: 36px; height: 36px; line-height: 36px; text-align: center;
    background: rgba(255,255,255,.1); border-radius: 50%;
    color: #fff; margin-right: 8px; transition: .2s;
}
.footer-social a:hover { background: var(--artpos-accent); color: #fff; }

/* ---------- WhatsApp FAB ---------- */
.whatsapp-fab {
    position: fixed; bottom: 25px; right: 25px;
    width: 56px; height: 56px; line-height: 56px;
    background: #25d366; color: #fff; font-size: 28px;
    text-align: center; border-radius: 50%;
    box-shadow: 0 6px 20px rgba(37,211,102,.5);
    z-index: 999;
}
.whatsapp-fab:hover { color: #fff; transform: scale(1.1); }

.scroll-top {
    position: fixed; bottom: 90px; right: 25px;
    width: 44px; height: 44px; line-height: 44px; text-align: center;
    background: var(--artpos-primary); color: #fff; border-radius: 50%;
    display: none; z-index: 998;
}
.scroll-top:hover { color: #fff; background: var(--artpos-accent); }

/* ---------- Sidebar ---------- */
.sidebar-box {
    background: #fff; border-radius: 10px; padding: 20px;
    border: 1px solid var(--artpos-border); margin-bottom: 20px;
}
.sidebar-title {
    font-size: 16px; font-weight: 700; color: var(--artpos-primary);
    padding-bottom: 10px; border-bottom: 2px solid var(--artpos-accent);
    margin-bottom: 15px;
}
.category-tree { list-style: none; padding: 0; margin: 0; }
.category-tree li a {
    display: block; padding: 8px 0; color: var(--artpos-text);
    border-bottom: 1px solid #eee;
}
.category-tree li a:hover { color: var(--artpos-accent); padding-left: 5px; }
.category-tree ul { list-style: none; padding-left: 15px; margin: 0; }

/* ---------- Breadcrumb ---------- */
.breadcrumb { background: transparent; padding: 15px 0; margin: 0; font-size: 14px; }
.breadcrumb-item a { color: var(--artpos-primary); }

/* ---------- Form ---------- */
.form-control:focus { border-color: var(--artpos-primary); box-shadow: 0 0 0 .2rem rgba(11,61,145,.2); }

/* ---------- Sepet ---------- */
.cart-table img { width: 70px; object-fit: contain; }
.qty-input {
    width: 110px; display: flex; border: 1px solid var(--artpos-border); border-radius: 5px;
}
.qty-input button { background: #f4f6f9; border: none; width: 35px; cursor: pointer; }
.qty-input input { border: none; text-align: center; width: 40px; }

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
    .hero-slider .carousel-item { min-height: 260px; }
    .hero-slider h2 { font-size: 28px; }
    .hero-slider p { font-size: 14px; }
    .logo-text { font-size: 24px; }
    .top-bar { text-align: center; }
    .top-bar > .container > div { width: 100%; text-align: center; }
}
