:root {
    --bg-main: #f5f7fa;
    --bg-accent: #d9efe4;
    --ink: #17222f;
    --ink-soft: #4e5f73;
    --primary: #0e7a52;
    --primary-dark: #095338;
    --card: #ffffff;
    --line: #dde5ee;
}

body {
    font-family: "Space Grotesk", sans-serif;
    color: var(--ink);
    min-height: 100vh;
    background:
        radial-gradient(circle at 10% 0%, #e4fff1 0%, transparent 34%),
        radial-gradient(circle at 90% 10%, #fff4df 0%, transparent 28%),
        linear-gradient(180deg, #f3f8fd 0%, var(--bg-main) 58%, #eef4fa 100%);
}

h1,
h2,
h3,
h4,
h5,
h6,
.navbar-brand {
    font-family: "Syne", sans-serif;
    letter-spacing: 0.02em;
}

.glass-nav {
    background: linear-gradient(90deg, rgba(8, 35, 52, 0.95), rgba(21, 63, 88, 0.86));
    backdrop-filter: blur(8px);
}

.app-shell {
    min-height: calc(100vh - 142px);
}

.app-footer {
    background: rgba(255, 255, 255, 0.72);
}

.hero-banner {
    border-radius: 1.25rem;
    color: #fff;
    background:
        linear-gradient(120deg, rgba(9, 57, 102, 0.95), rgba(14, 122, 82, 0.92)),
        url("https://images.unsplash.com/photo-1518770660439-4636190af475?auto=format&fit=crop&w=1400&q=60") center/cover;
    box-shadow: 0 26px 48px rgba(11, 34, 58, 0.24);
}

.hero-copy {
    color: rgba(247, 252, 255, 0.9);
    max-width: 48ch;
}

.chip-label {
    display: inline-block;
    padding: 0.35rem 0.8rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: rgba(255, 255, 255, 0.18);
    color: #f5fcff;
}

.hero-stats {
    display: grid;
    gap: 0.85rem;
}

.hero-stat-card {
    border-radius: 0.9rem;
    padding: 1rem 1.15rem;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.28);
}

.hero-stat-value {
    margin: 0;
    font-size: 1.4rem;
    font-weight: 800;
}

.hero-stat-label {
    margin: 0;
    font-size: 0.88rem;
    color: rgba(237, 246, 255, 0.88);
}

.btn-hero-primary {
    color: #fff;
    border: none;
    background: linear-gradient(120deg, var(--primary), #15a067);
    box-shadow: 0 14px 26px rgba(9, 83, 56, 0.34);
}

.btn-hero-primary:hover {
    color: #fff;
    background: linear-gradient(120deg, #128258, #0f6f4b);
}

.btn-hero-secondary {
    border: 1px solid rgba(255, 255, 255, 0.36);
    color: #eaf7ff;
    background: rgba(255, 255, 255, 0.06);
}

.btn-hero-secondary:hover {
    border-color: rgba(255, 255, 255, 0.75);
    color: #fff;
}

.search-panel {
    border-radius: 1rem;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid var(--line);
    box-shadow: 0 14px 30px rgba(19, 51, 82, 0.08);
}

.btn-search {
    background: linear-gradient(120deg, #12263a, #1c3b57);
    border: none;
}

.product-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 1rem;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.product-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 20px 34px rgba(17, 41, 66, 0.14);
}

.product-cover {
    width: 100%;
    height: 210px;
    object-fit: cover;
    background: #eef3f8;
}

.product-cover-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ink-soft);
}

.product-detail-image {
    width: 100%;
    max-height: 430px;
    object-fit: cover;
    border: 1px solid var(--line);
}

.product-thumbs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.55rem;
}

.thumb-btn {
    border: 1px solid var(--line);
    border-radius: 0.55rem;
    padding: 0;
    background: #fff;
    overflow: hidden;
}

.thumb-btn img {
    width: 100%;
    height: 72px;
    object-fit: cover;
    display: block;
}

.thumb-btn.active {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(14, 122, 82, 0.18);
}

.text-price {
    color: var(--primary-dark);
}

.badge-stock {
    background: #d8f4e6;
    color: #125a3e;
    border: 1px solid #9fdabf;
}

.placeholder-image {
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.8rem;
    background: #e9ecef;
    color: #6c757d;
}

.card-stat {
    border-left: 4px solid #0d6efd;
}

.contact-hero {
    border-radius: 1rem;
    padding: 1.25rem;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid var(--line);
}

.whatsapp-fab {
    position: fixed;
    right: 18px;
    bottom: 20px;
    z-index: 1100;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 128px;
    height: 48px;
    border-radius: 999px;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    background: linear-gradient(120deg, #1fbe5d, #0f8f42);
    box-shadow: 0 14px 28px rgba(24, 127, 61, 0.38);
}

.whatsapp-fab:hover {
    color: #fff;
    transform: translateY(-1px);
}

@media (max-width: 768px) {
    .hero-banner {
        border-radius: 1rem;
    }

    .product-cover {
        height: 180px;
    }

    .product-thumbs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
