/*
 * Botica Mille — Strict Black & White Design System
 * Colors: #000 (black), #fff (white), #f5f5f5 (off-white bg), #333/#555/#aaa (grays for borders/text only)
 */

/* ── Reset / Base ─────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    color: #111;
    background: #fff;
}

a { color: #000; text-decoration: none; }
a:hover { color: #555; }

/* ── Hero ─────────────────────────────────────────── */
.hero-section {
    background: #000;
    color: #fff;
    padding: 5rem 0;
}
.hero-section h1 { color: #fff; }
.hero-section .lead { color: #ccc; font-size: 1.1rem; }

.hero-section .form-control {
    background: #fff;
    border: none;
    color: #111;
    font-size: 1rem;
    padding: .65rem 1rem;
    border-radius: 0;
    box-shadow: none;
}
.hero-section .form-control:focus {
    outline: 2px solid #fff;
    box-shadow: none;
}
.hero-section .btn-search {
    background: #fff;
    color: #000;
    border: none;
    padding: .65rem 1.5rem;
    font-weight: 600;
    font-size: .9rem;
    cursor: pointer;
    transition: background .15s, color .15s;
    border-radius: 0;
    white-space: nowrap;
}
.hero-section .btn-search:hover {
    background: #ddd;
    color: #000;
}

/* ── Section Title ────────────────────────────────── */
.section-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #000;
    text-align: center;
    margin-bottom: 2rem;
    letter-spacing: -.01em;
}
.section-title::after {
    content: '';
    display: block;
    width: 40px;
    height: 2px;
    background: #000;
    margin: .5rem auto 0;
}

/* ── Category Card ────────────────────────────────── */
.category-card {
    border: 1px solid #e0e0e0;
    background: #fff;
    transition: box-shadow .2s, border-color .2s;
}
.category-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
    border-color: #000;
}
.category-image {
    width: 100%;
    height: 120px;
    object-fit: contain;
    display: block;
    background: #f5f5f5;
    padding: .5rem;
}

/* ── Product Card ─────────────────────────────────── */
.product-card {
    border: 1px solid #e0e0e0;
    background: #fff;
    transition: box-shadow .2s, border-color .2s;
}
.product-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
    border-color: #000;
}
.product-image {
    width: 100%;
    height: 180px;
    object-fit: contain;
    display: block;
    background: #f5f5f5;
    padding: .75rem;
}

/* ── Buttons ──────────────────────────────────────── */
.btn-bm {
    display: inline-block;
    background: #000;
    color: #fff;
    border: 1px solid #000;
    padding: .45rem 1.2rem;
    font-size: .85rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: background .15s, color .15s;
    border-radius: 0;
}
.btn-bm:hover {
    background: #fff;
    color: #000;
}
.btn-bm-outline {
    display: inline-block;
    background: #fff;
    color: #000;
    border: 1px solid #000;
    padding: .45rem 1.2rem;
    font-size: .85rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: background .15s, color .15s;
    border-radius: 0;
}
.btn-bm-outline:hover {
    background: #000;
    color: #fff;
}

/* ── Price ────────────────────────────────────────── */
.price-tag {
    font-weight: 700;
    font-size: 1.05rem;
    color: #000;
}

/* ── Divider sections ─────────────────────────────── */
.section-alt { background: #f5f5f5; }

/* ── Accessibility ────────────────────────────────── */
:focus-visible { outline: 2px solid #000; outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}

/* ── Responsive ───────────────────────────────────── */
@media (max-width: 767.98px) {
    .hero-section       { padding: 3rem 0; }
    .category-image     { height: 90px; }
    .product-image      { height: 140px; }
    .section-title      { font-size: 1.25rem; }
}
@media (max-width: 575.98px) {
    .category-image     { height: 70px; }
    .product-image      { height: 120px; }
}
