:root {
    --maroon: #4a1d12;
    --maroon-2: #6b2a1a;
    --saffron: #f2a516;
    --saffron-soft: #fff3d6;
    --leaf: #2f7d32;
    --cream: #fffaf0;
    --line: #ecdcc0;
}
html { font-size: 15px; }
body {
    font-family: 'Noto Sans Devanagari', 'Noto Sans', system-ui, sans-serif;
    color: #33211a;
    background:
        radial-gradient(circle at 12px 12px, rgba(242,165,22,.10) 2px, transparent 3px) 0 0 / 28px 28px,
        var(--cream);
}
h1, h2, h3, h4, h5, .section-title { font-family: 'Yatra One', 'Noto Sans Devanagari', serif; color: var(--maroon); font-weight: 400; letter-spacing: .2px; }

/* top strip + header */
.topstrip { background: var(--maroon); color: #fbe6b0; font-size: .85rem; }
.topstrip .container { display: flex; justify-content: space-between; gap: 1rem; padding-block: .35rem; flex-wrap: wrap; }
.shop-nav { background: #fff; border-bottom: 3px solid var(--saffron); box-shadow: 0 2px 10px rgba(74,29,18,.08); }
.brand-logo { height: 64px; width: 64px; object-fit: contain; }
.brand-text { line-height: 1.1; margin-left: .6rem; }
.brand-text b { display: block; font-family: 'Yatra One', serif; color: var(--maroon); font-size: 1.15rem; font-weight: 400; }
.brand-text small { color: var(--saffron); font-weight: 700; letter-spacing: 1.5px; font-size: .68rem; }
.shop-nav .nav-link { color: var(--maroon); font-weight: 600; border-radius: .5rem; padding: .45rem .8rem !important; }
.shop-nav .nav-link:hover { background: var(--saffron-soft); }

/* buttons */
.btn-success { background: var(--leaf); border-color: var(--leaf); }
.btn-success:hover { background: #276a2a; border-color: #276a2a; }
.btn-outline-success { color: var(--leaf); border-color: var(--leaf); }
.btn-outline-success:hover, .btn-check:checked + .btn-outline-success { background: var(--leaf); border-color: var(--leaf); }
.btn-saffron { background: var(--saffron); border-color: var(--saffron); color: var(--maroon); font-weight: 700; }
.btn-saffron:hover { background: #dc9410; color: var(--maroon); }
a { color: var(--maroon-2); }

/* hero */
.hero {
    position: relative; overflow: hidden; border-radius: 1.4rem; padding: 2.5rem 2rem;
    background: linear-gradient(115deg, #fff7e3 0%, #ffe4a8 55%, #f7c35a 100%);
    border: 2px solid var(--saffron);
    box-shadow: 0 10px 30px rgba(74,29,18,.12);
}
.hero::before, .hero::after {
    content: ""; position: absolute; border-radius: 50%; border: 2px dashed rgba(74,29,18,.18);
}
.hero::before { width: 340px; height: 340px; right: -90px; top: -120px; }
.hero::after { width: 200px; height: 200px; left: -60px; bottom: -90px; }
.hero h1 { font-size: 2.4rem; line-height: 1.2; margin-bottom: .4rem; }
.hero .lead { color: var(--maroon-2); font-size: 1.25rem; font-family: 'Yatra One', serif; }
.hero-logo { width: 260px; max-width: 70%; filter: drop-shadow(0 8px 14px rgba(74,29,18,.25)); }
.hero-badges { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.hero-badges span { background: #fff; border: 1px solid var(--line); border-radius: 2rem; padding: .25rem .8rem; font-size: .85rem; color: var(--maroon); font-weight: 600; }

/* section titles with ornament */
.section-title { display: flex; align-items: center; gap: .8rem; margin: 2.2rem 0 1.1rem; font-size: 1.6rem; }
.section-title::before, .section-title::after { content: ""; flex: 1; height: 2px; background: linear-gradient(90deg, transparent, var(--saffron), transparent); }
.section-title span.leaf { color: var(--leaf); font-size: 1.2rem; }

/* cards */
.cat-card {
    display: flex; align-items: center; justify-content: center; gap: .5rem; min-height: 76px; padding: 1rem;
    border: 2px solid var(--line); border-radius: 1rem; background: #fff; text-align: center;
    text-decoration: none; color: var(--maroon); font-weight: 700; transition: all .15s;
}
.cat-card:hover { border-color: var(--saffron); background: var(--saffron-soft); transform: translateY(-2px); }
.product-card { border: 2px solid var(--line); border-radius: 1.1rem; overflow: hidden; background: #fff; height: 100%; transition: all .18s; position: relative; }
.product-card:hover { border-color: var(--saffron); box-shadow: 0 10px 24px rgba(74,29,18,.15); transform: translateY(-3px); }
.product-img { height: 180px; background: linear-gradient(135deg, var(--saffron-soft), #ffe2a0); display: flex; align-items: center; justify-content: center; font-size: 3.5rem; }
.product-img img { width: 100%; height: 100%; object-fit: cover; }
.product-card h6 { color: var(--maroon); font-weight: 700; }
.price { color: var(--leaf); font-weight: 800; }
.tag-best { position: absolute; top: 10px; left: 10px; background: var(--maroon); color: #fbe6b0; font-size: .72rem; padding: .15rem .6rem; border-radius: 1rem; z-index: 1; }

/* trust band */
.trust { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1rem; margin-top: 2.5rem; }
.trust div { background: #fff; border: 2px solid var(--line); border-radius: 1rem; padding: 1rem; text-align: center; color: var(--maroon); font-weight: 600; }
.trust div i { display: block; font-style: normal; font-size: 1.8rem; margin-bottom: .2rem; }

/* footer */
.site-footer { background: var(--maroon); color: #f6dfa8; margin-top: 3rem; border-top: 5px solid var(--saffron); }
.site-footer a { color: #ffd77a; text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.site-footer img { height: 110px; }
.site-footer h6 { color: var(--saffron); font-family: 'Yatra One', serif; }

/* forms / tables */
.form-control:focus, .form-select:focus { border-color: var(--saffron); box-shadow: 0 0 0 .2rem rgba(242,165,22,.25); }
.table > :not(caption) > * > * { background-color: transparent; }
.alert { border-radius: .8rem; }

/* login card */
.auth-card { max-width: 440px; margin: 2rem auto; background: #fff; border: 2px solid var(--line); border-radius: 1.2rem; padding: 2rem; box-shadow: 0 10px 30px rgba(74,29,18,.1); text-align: center; }
.auth-card img { width: 120px; }
.auth-card form { text-align: left; }

@media (max-width: 575px) {
    .hero { padding: 1.6rem 1rem; text-align: center; }
    .hero h1 { font-size: 1.7rem; }
    .brand-logo { height: 52px; width: 52px; }
}

/* the logo file has a black square behind the circle; clip it to the circle */
.hero-logo, .brand-logo, .site-footer img, .auth-card img { border-radius: 50%; }

/* home page: highlighted 1 KG Diwali faral gift box */
.gift-card {
    position: relative; overflow: hidden; border-radius: 1.4rem; padding: 2rem 1.5rem; color: #fff;
    background: radial-gradient(circle at 15% 20%, #7a2a1b 0%, #4a1d12 60%, #36130c 100%);
    border: 3px solid var(--saffron); box-shadow: 0 12px 32px rgba(74,29,18,.28);
}
.gift-card::before { content: ""; position: absolute; right: -80px; top: -80px; width: 260px; height: 260px; border-radius: 50%; border: 2px dashed rgba(242,165,22,.35); }
.gift-card::after  { content: ""; position: absolute; left: -60px; bottom: -70px; width: 190px; height: 190px; border-radius: 50%; border: 2px dashed rgba(242,165,22,.25); }
.gift-card > .row { position: relative; z-index: 1; }
.gift-kicker { color: var(--saffron); font-weight: 700; letter-spacing: .5px; }
.gift-title { color: #fff; font-size: 2rem; margin: .2rem 0 .4rem; }
.gift-desc { color: #f6dfa8; font-size: 1.05rem; margin-bottom: .6rem; }
.gift-price { display: inline-block; background: var(--saffron); color: var(--maroon); border-radius: 2rem; padding: .35rem 1.2rem; font-size: 1.8rem; font-weight: 800; }
.gift-price span { font-size: 1rem; font-weight: 700; margin-right: .3rem; }
.gift-price small { font-size: .95rem; font-weight: 700; }
.gift-emoji { font-size: 7rem; line-height: 1; filter: drop-shadow(0 8px 12px rgba(0,0,0,.35)); }
.gift-img { max-width: 100%; max-height: 260px; border-radius: 1rem; border: 3px solid var(--saffron); object-fit: cover; }
@media (max-width: 575px) { .gift-title { font-size: 1.5rem; } .gift-emoji { font-size: 5rem; } .gift-price { font-size: 1.5rem; } }
