@import url('vazir.css');

:root {
    --color-rose: #EC064B;
    --color-gold: #C9A227;
    --color-ink: #2B1620;
    --color-bg: #FAF7F5;
    --color-card: #FFFFFF;
    --radius: 14px;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: 'Vazirmatn', sans-serif;
    background: var(--color-bg);
    color: var(--color-ink);
    direction: rtl;
    text-align: right;
}

a { color: inherit; text-decoration: none; }

.container {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Header */
.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: var(--color-card);
    box-shadow: 0 1px 0 rgba(0,0,0,0.06);
    position: sticky;
    top: 0;
    z-index: 20;
}
.site-header .logo img { height: 42px; display: block; }
.site-header nav { display: flex; gap: 24px; font-weight: 600; }
.site-header .cart-link {
    position: relative;
    background: var(--color-ink);
    color: #fff;
    padding: 8px 16px;
    border-radius: 999px;
    font-weight: 600;
}
.cart-count {
    position: absolute;
    top: -6px;
    left: -6px;
    background: var(--color-rose);
    color: #fff;
    font-size: 11px;
    min-width: 18px;
    height: 18px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
}

/* Hero */
.hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 32px;
    padding: 48px 20px;
}
.hero img { width: 100%; border-radius: var(--radius); }
.hero h1 { font-size: 2.4rem; margin: 0 0 12px; }
.hero p { color: #6b5a5f; margin-bottom: 24px; }
.btn {
    display: inline-block;
    background: var(--color-rose);
    color: #fff;
    padding: 12px 26px;
    border-radius: 999px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    font-family: inherit;
    font-size: 1rem;
}
.btn.secondary { background: var(--color-gold); }
.btn.ghost { background: transparent; border: 2px solid var(--color-ink); color: var(--color-ink); }
.btn:disabled { opacity: .5; cursor: not-allowed; }

/* Section titles */
.section { padding: 32px 20px; }
.section h2 { font-size: 1.6rem; margin-bottom: 20px; border-right: 4px solid var(--color-rose); padding-right: 12px; }

/* Category cards */
.category-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.category-card {
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
    height: 180px;
}
.category-card img { width: 100%; height: 100%; object-fit: cover; }
.category-card span {
    position: absolute; bottom: 0; right: 0; left: 0;
    background: linear-gradient(0deg, rgba(43,22,32,.85), transparent);
    color: #fff; padding: 16px; font-weight: 700; font-size: 1.1rem;
}

/* Product grid/cards */
.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; }
.product-card {
    background: var(--color-card);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(43,22,32,0.06);
    display: flex;
    flex-direction: column;
}
.product-card img { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.product-card .body { padding: 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.product-card .title { font-weight: 700; }
.product-card .price { color: var(--color-rose); font-weight: 700; }
.product-card .price .compare { color: #9a8a8e; text-decoration: line-through; font-weight: 400; margin-left: 6px; font-size: .85em; }

/* Product detail */
.product-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding: 40px 20px; }
.product-detail img.main { width: 100%; border-radius: var(--radius); }
.thumbs { display: flex; gap: 10px; margin-top: 10px; }
.thumbs img { width: 70px; height: 70px; object-fit: cover; border-radius: 8px; cursor: pointer; border: 2px solid transparent; }
.thumbs img.active { border-color: var(--color-rose); }
.qty-row { display: flex; align-items: center; gap: 12px; margin: 20px 0; }
.qty-row button { width: 36px; height: 36px; border-radius: 8px; border: 1px solid #ddd; background: #fff; font-size: 1.1rem; cursor: pointer; }

/* Cart / checkout */
.cart-table { width: 100%; border-collapse: collapse; }
.cart-table td, .cart-table th { padding: 12px; border-bottom: 1px solid #eee; text-align: right; }
.cart-table img { width: 60px; height: 60px; object-fit: cover; border-radius: 8px; }
.cart-summary { max-width: 340px; margin-inline-start: auto; background: var(--color-card); padding: 20px; border-radius: var(--radius); }
.cart-summary .row { display: flex; justify-content: space-between; margin-bottom: 10px; }
.cart-summary .total { font-weight: 700; font-size: 1.2rem; }

form.checkout-form { display: grid; gap: 14px; max-width: 480px; }
form.checkout-form label { font-weight: 600; font-size: .9rem; }
form.checkout-form input { padding: 10px 12px; border: 1px solid #ddd; border-radius: 8px; font-family: inherit; }
.field-error { color: var(--color-rose); font-size: .85rem; }

.state-message { text-align: center; padding: 60px 20px; }

footer.site-footer { background: var(--color-ink); color: #fff; padding: 32px 20px; margin-top: 48px; text-align: center; }

@media (max-width: 720px) {
    .hero, .product-detail { grid-template-columns: 1fr; }
    .category-grid { grid-template-columns: 1fr; }
}
