:root {
    --swaha-ink: #27211f;
    --swaha-muted: #75665f;
    --swaha-cream: #fff8ec;
    --swaha-ivory: #fffdf8;
    --swaha-blush: #f6cbd6;
    --swaha-blush-soft: #fff0f4;
    --swaha-red: #9f2d28;
    --swaha-chilli: #c44734;
    --swaha-gold: #d69a18;
    --swaha-turmeric: #f5c84b;
    --swaha-leaf: #1d7138;
    --swaha-leaf-soft: #e9f4df;
    --swaha-border: #eadfd2;
    --swaha-shadow: 0 18px 45px rgba(76, 44, 31, 0.13);
    --font-display: "Fraunces", Georgia, serif;
    --font-body: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-telugu: "Noto Serif Telugu", Georgia, serif;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: var(--font-body);
    color: var(--swaha-ink);
    background:
        linear-gradient(180deg, rgba(255, 248, 236, 0.96), rgba(255, 253, 248, 0.98)),
        repeating-linear-gradient(45deg, rgba(214, 154, 24, 0.04) 0 1px, transparent 1px 14px);
}

body.admin-body {
    background: #fbf4ea;
}

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

img,
svg {
    max-width: 100%;
}

button,
input,
textarea,
select {
    font: inherit;
}

.container {
    width: min(1180px, calc(100% - 32px));
}

.site-header {
    background: rgba(255, 253, 248, 0.92);
    border-bottom: 1px solid rgba(234, 223, 210, 0.84);
    backdrop-filter: blur(18px);
}

.navbar {
    padding: 10px 0;
}

.brand-lockup {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 220px;
}

.brand-lockup img {
    width: 76px;
    height: 54px;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.brand-lockup strong,
.footer-logo + p strong {
    display: block;
    font-family: var(--font-display);
    font-size: 1.42rem;
    line-height: 1;
}

.brand-lockup small {
    display: block;
    color: var(--swaha-muted);
    font-size: 0.74rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.nav-link {
    color: var(--swaha-ink);
    font-weight: 700;
    padding-inline: 14px !important;
}

.nav-link:hover {
    color: var(--swaha-red);
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.smart-search {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    width: min(330px, 34vw);
    padding: 8px 12px;
    border: 1px solid var(--swaha-border);
    border-radius: 999px;
    background: #fff;
}

.smart-search svg {
    width: 18px;
    color: var(--swaha-gold);
}

.smart-search input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--swaha-ink);
    font-size: 0.92rem;
}

.search-results {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 30;
    display: none;
    width: min(360px, 86vw);
    padding: 10px;
    border: 1px solid var(--swaha-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--swaha-shadow);
}

.search-results.open {
    display: grid;
    gap: 8px;
}

.search-results a,
.recent-panel a {
    display: grid;
    grid-template-columns: 46px 1fr;
    align-items: center;
    gap: 10px;
    padding: 8px;
    border-radius: 8px;
}

.search-results a:hover,
.recent-panel a:hover {
    background: var(--swaha-cream);
}

.search-results small {
    display: block;
    color: var(--swaha-muted);
}

.icon-btn,
.navbar-toggler {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--swaha-border);
    border-radius: 999px;
    background: #fff;
    color: var(--swaha-ink);
    transition: transform 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.icon-btn:hover,
.navbar-toggler:hover {
    transform: translateY(-1px);
    border-color: rgba(159, 45, 40, 0.32);
    color: var(--swaha-red);
}

.badge-dot {
    position: absolute;
    top: -5px;
    right: -4px;
    display: grid;
    place-items: center;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--swaha-red);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 800;
}

.btn-red,
.btn-gold,
.btn-cream,
.text-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 11px 18px;
    border: 0;
    border-radius: 999px;
    font-weight: 800;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.btn-red {
    background: linear-gradient(135deg, var(--swaha-red), var(--swaha-chilli));
    color: #fff;
    box-shadow: 0 12px 26px rgba(159, 45, 40, 0.22);
}

.btn-gold {
    background: linear-gradient(135deg, var(--swaha-gold), var(--swaha-turmeric));
    color: #3d2616;
    box-shadow: 0 12px 26px rgba(214, 154, 24, 0.22);
}

.btn-cream {
    border: 1px solid var(--swaha-border);
    background: #fffaf2;
    color: var(--swaha-red);
}

.btn-red:hover,
.btn-gold:hover,
.btn-cream:hover,
.text-link:hover {
    transform: translateY(-2px);
}

.text-link {
    color: var(--swaha-red);
    padding-inline: 0;
    background: transparent;
}

.hero-section {
    min-height: 73svh;
    display: grid;
    align-items: center;
    padding: clamp(48px, 7vw, 92px) 0 28px;
    overflow: hidden;
    background:
        linear-gradient(120deg, rgba(246, 203, 214, 0.34), rgba(255, 248, 236, 0.78) 42%, rgba(233, 244, 223, 0.38)),
        linear-gradient(180deg, #fffdf8, #fff7ed);
}

.hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr);
    gap: clamp(32px, 5vw, 74px);
    align-items: center;
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--swaha-red);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.hero-copy h1,
.section-heading h2,
.festival-copy h2,
.promise-grid h2,
.shop-hero h1,
.product-info h1,
.cart-page h1,
.checkout-page h1,
.track-page h1,
.admin-top h1,
.blog-page-grid h2,
.section-pad > .container > h1 {
    margin: 10px 0;
    font-family: var(--font-display);
    font-weight: 700;
    line-height: 1.03;
    color: var(--swaha-ink);
}

.hero-copy h1 {
    font-size: clamp(4.4rem, 12vw, 8.8rem);
}

.telugu-line {
    margin: -6px 0 18px;
    font-family: var(--font-telugu);
    color: var(--swaha-red);
    font-size: clamp(1.1rem, 2.6vw, 1.8rem);
    font-weight: 700;
}

.hero-text {
    width: min(620px, 100%);
    color: var(--swaha-muted);
    font-size: clamp(1rem, 1.5vw, 1.18rem);
    line-height: 1.75;
}

.hero-actions,
.product-actions,
.card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.trust-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.trust-strip span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid rgba(234, 223, 210, 0.86);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--swaha-muted);
    font-weight: 700;
}

.watercolor-card {
    position: relative;
    min-height: 530px;
    padding: 22px;
    border: 1px solid rgba(234, 223, 210, 0.86);
    border-radius: 8px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(255, 240, 244, 0.72)),
        repeating-linear-gradient(0deg, rgba(159, 45, 40, 0.05) 0 1px, transparent 1px 18px);
    box-shadow: var(--swaha-shadow);
}

.watercolor-card > img {
    width: 100%;
    height: 290px;
    object-fit: contain;
    mix-blend-mode: multiply;
    filter: saturate(1.05);
}

.hero-product-stack {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.section-pad {
    padding: clamp(56px, 8vw, 92px) 0;
}

.section-heading {
    margin-bottom: 26px;
}

.section-heading h2,
.promise-grid h2,
.festival-copy h2 {
    font-size: clamp(2rem, 4.2vw, 3.5rem);
}

.section-heading.with-action {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.category-card,
.product-card,
.testimonial-card,
.blog-card,
.admin-card,
.cart-summary,
.timeline-card,
.admin-login,
.filter-panel {
    border: 1px solid var(--swaha-border);
    border-radius: 8px;
    background: rgba(255, 253, 248, 0.92);
    box-shadow: 0 14px 34px rgba(76, 44, 31, 0.09);
}

.category-card {
    display: grid;
    gap: 12px;
    padding: 14px;
    min-height: 220px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.category-card:hover,
.product-card:hover,
.blog-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--swaha-shadow);
}

.category-card .food-visual {
    min-height: 98px;
}

.category-card span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--swaha-ink);
    font-weight: 900;
}

.category-card p,
.product-card p,
.festival-copy p,
.promise-grid p,
.testimonial-card span,
.blog-card p,
.shop-hero p,
.product-info p {
    color: var(--swaha-muted);
    line-height: 1.65;
}

.product-slider {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(260px, 30%);
    gap: 18px;
    overflow-x: auto;
    padding: 4px 0 18px;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
}

.slider-item {
    scroll-snap-align: start;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.product-card {
    overflow: hidden;
    background: #fffdf8;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.product-media-link {
    display: block;
    padding: 12px 12px 0;
}

.product-card .food-visual {
    min-height: 210px;
}

.product-card .product-photo-wrap {
    min-height: 210px;
}

.product-photo-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(255, 248, 236, 0.78), rgba(246, 203, 214, 0.24)),
        var(--swaha-cream);
}

.product-photo-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(39, 33, 31, 0.24));
    pointer-events: none;
}

.product-photo-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    transform: scale(1.01);
}

.product-photo-wrap em {
    position: absolute;
    left: 12px;
    top: 12px;
    z-index: 2;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.86);
    color: var(--swaha-red);
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 900;
}

.product-body {
    display: grid;
    gap: 10px;
    padding: 16px;
}

.product-kicker,
.price-row,
.shop-toolbar,
.mini-total,
.summary-lines span,
.rating-line,
.quantity-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.product-kicker {
    color: var(--swaha-muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.product-kicker span:last-child,
.rating-line span,
.stars {
    color: var(--swaha-gold);
}

.product-kicker svg {
    width: 15px;
    fill: currentColor;
}

.product-card h3 {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.28rem;
}

.product-card p {
    min-height: 52px;
    margin: 0;
    font-size: 0.92rem;
}

.price-row strong {
    color: var(--swaha-red);
    font-size: 1.18rem;
}

.price-row.large strong {
    font-size: 1.8rem;
}

.price-row del {
    color: #aa9b91;
}

.card-actions {
    align-items: center;
    margin-top: 4px;
}

.card-actions .btn-red {
    flex: 1;
}

.food-visual {
    --accent: var(--swaha-red);
    --accent2: var(--swaha-gold);
    --surface: #fff3df;
    position: relative;
    display: block;
    min-height: 160px;
    overflow: hidden;
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.72), rgba(255, 248, 236, 0.62)),
        linear-gradient(160deg, color-mix(in srgb, var(--accent) 18%, white), color-mix(in srgb, var(--accent2) 20%, white));
}

.food-visual::before {
    content: "";
    position: absolute;
    inset: 16px 18px auto auto;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--accent2) 72%, white);
    opacity: 0.72;
}

.food-visual::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 26px;
    width: 58%;
    height: 26px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: rgba(76, 44, 31, 0.14);
    filter: blur(8px);
}

.food-visual em {
    position: absolute;
    left: 12px;
    top: 12px;
    z-index: 4;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--swaha-red);
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 900;
}

.plate {
    position: absolute;
    left: 50%;
    bottom: 26px;
    z-index: 2;
    width: 62%;
    height: 34%;
    transform: translateX(-50%);
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 38%, var(--surface) 0 42%, transparent 43%),
        radial-gradient(circle at 50% 50%, #fff 0 62%, #ecdcc9 63% 72%, transparent 73%);
    box-shadow: inset 0 -8px 18px rgba(76, 44, 31, 0.09);
}

.jar {
    position: absolute;
    left: 50%;
    bottom: 55px;
    z-index: 3;
    width: 38%;
    height: 47%;
    transform: translateX(-50%);
    border-radius: 42% 42% 22% 22%;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.42), transparent 25% 72%, rgba(70, 30, 20, 0.08)),
        linear-gradient(180deg, color-mix(in srgb, var(--accent) 86%, #451a12), color-mix(in srgb, var(--accent2) 72%, #7c2a18));
    border: 3px solid rgba(255, 255, 255, 0.7);
    box-shadow: 0 16px 24px rgba(76, 44, 31, 0.18);
}

.jar::before {
    content: "";
    position: absolute;
    left: 24%;
    top: -15px;
    width: 52%;
    height: 18px;
    border-radius: 999px 999px 4px 4px;
    background: color-mix(in srgb, var(--accent2) 76%, #fff);
}

.grain {
    position: absolute;
    z-index: 4;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--swaha-turmeric);
    box-shadow: 24px 8px 0 rgba(245, 200, 75, 0.78), -18px 18px 0 rgba(255, 255, 255, 0.72);
}

.g1 { left: 24%; bottom: 30%; }
.g2 { right: 22%; bottom: 42%; }
.g3 { left: 46%; top: 28%; }

.steam {
    position: absolute;
    z-index: 4;
    width: 36px;
    height: 72px;
    border-left: 3px solid rgba(255, 255, 255, 0.72);
    border-radius: 50%;
    opacity: 0.72;
}

.steam.one { left: 30%; top: 24%; transform: rotate(18deg); }
.steam.two { right: 30%; top: 20%; transform: rotate(-16deg); }

.visual-avakaya { --accent: #b63428; --accent2: #f2b12a; --surface: #ffd88f; }
.visual-gongura,
.visual-leaf { --accent: #1d7138; --accent2: #d69a18; --surface: #e8f3d8; }
.visual-ariselu,
.visual-honey { --accent: #d69a18; --accent2: #f5c84b; --surface: #ffe7a4; }
.visual-pootharekulu { --accent: #bd8b4c; --accent2: #f6cbd6; --surface: #fff6dc; }
.visual-karam,
.visual-chilli { --accent: #c44734; --accent2: #9f2d28; --surface: #ffd2bb; }
.visual-chegodilu,
.visual-turmeric { --accent: #d87d20; --accent2: #f5c84b; --surface: #ffe1a7; }
.visual-gift,
.visual-sankranti,
.visual-spicejar { --accent: #9f2d28; --accent2: #1d7138; --surface: #fff1de; }

.promise-band {
    padding: clamp(58px, 8vw, 94px) 0;
    background:
        linear-gradient(110deg, rgba(29, 113, 56, 0.12), rgba(255, 248, 236, 0.92) 46%, rgba(159, 45, 40, 0.12)),
        #fff8ec;
}

.promise-grid,
.festival-grid,
.product-layout,
.cart-layout,
.checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
    gap: clamp(28px, 5vw, 64px);
    align-items: start;
}

.promise-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.promise-list article {
    padding: 20px;
    border: 1px solid rgba(234, 223, 210, 0.9);
    border-radius: 8px;
    background: rgba(255, 253, 248, 0.84);
}

.promise-list svg {
    color: var(--swaha-leaf);
}

.promise-list h3 {
    margin: 12px 0 6px;
    font-size: 1rem;
    font-weight: 900;
}

.festival-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.testimonial-grid,
.blog-grid,
.reel-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.testimonial-card {
    padding: 24px;
}

.testimonial-card p {
    min-height: 118px;
    color: var(--swaha-ink);
    font-size: 1.03rem;
    line-height: 1.75;
}

.testimonial-card strong,
.testimonial-card span {
    display: block;
}

.reel-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.reel-grid article {
    position: relative;
}

.reel-grid .food-visual {
    min-height: 250px;
}

.reel-grid img {
    display: block;
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 8px;
}

.reel-grid span {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 5;
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(39, 33, 31, 0.76);
    color: #fff;
    font-weight: 800;
}

.blog-card {
    overflow: hidden;
}

.blog-card .food-visual {
    min-height: 190px;
    border-radius: 8px 8px 0 0;
}

.blog-card > div {
    padding: 18px;
}

.blog-card span {
    color: var(--swaha-red);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.blog-card h3,
.blog-card h2 {
    margin: 10px 0;
    font-family: var(--font-display);
    font-size: 1.34rem;
}

.blog-card a {
    color: var(--swaha-red);
    font-weight: 900;
}

.newsletter-band {
    padding: 42px 0 74px;
}

.newsletter-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid var(--swaha-border);
    border-radius: 8px;
    background:
        linear-gradient(100deg, rgba(246, 203, 214, 0.42), rgba(255, 253, 248, 0.88) 50%, rgba(245, 200, 75, 0.28));
}

.newsletter-inner h2 {
    margin: 8px 0 0;
    font-family: var(--font-display);
}

.newsletter-form {
    display: flex;
    gap: 10px;
    width: min(460px, 100%);
}

.newsletter-form input,
.coupon-row input,
.delivery-box input,
.form-grid input,
.form-grid textarea,
.track-form input,
.admin-login input,
.filter-panel input,
.filter-panel select {
    width: 100%;
    min-height: 46px;
    border: 1px solid var(--swaha-border);
    border-radius: 8px;
    background: #fff;
    color: var(--swaha-ink);
    outline: 0;
    padding: 10px 12px;
}

.newsletter-form input:focus,
.coupon-row input:focus,
.delivery-box input:focus,
.form-grid input:focus,
.form-grid textarea:focus,
.track-form input:focus,
.admin-login input:focus {
    border-color: rgba(159, 45, 40, 0.45);
    box-shadow: 0 0 0 4px rgba(246, 203, 214, 0.34);
}

.site-footer {
    padding: 54px 0 110px;
    background: #2a211d;
    color: rgba(255, 255, 255, 0.82);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.6fr 0.8fr 0.8fr 1.2fr;
    gap: 30px;
}

.footer-logo img {
    width: 170px;
    padding: 6px;
    border-radius: 8px;
    background: #fff8ec;
    mix-blend-mode: normal;
}

.site-footer h3 {
    margin-bottom: 14px;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 900;
}

.site-footer a {
    display: block;
    margin: 9px 0;
    color: rgba(255, 255, 255, 0.76);
}

.social-row {
    display: flex;
    gap: 10px;
}

.social-row a {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
}

.shop-hero {
    padding: 64px 0 42px;
    background:
        linear-gradient(110deg, rgba(159, 45, 40, 0.12), rgba(255, 248, 236, 0.95), rgba(29, 113, 56, 0.12));
}

.shop-hero h1,
.product-info h1,
.cart-page h1,
.checkout-page h1,
.track-page h1 {
    font-size: clamp(2.4rem, 6vw, 4.5rem);
}

.shop-layout {
    display: grid;
    grid-template-columns: 290px 1fr;
    gap: 24px;
}

.filter-panel {
    position: sticky;
    top: 92px;
    padding: 18px;
}

.filter-panel h2,
.cart-summary h2,
.admin-card h2 {
    font-family: var(--font-display);
    font-size: 1.45rem;
}

.filter-panel label {
    display: block;
    margin: 16px 0 8px;
    color: var(--swaha-muted);
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.filter-chip {
    border: 1px solid var(--swaha-border);
    border-radius: 999px;
    background: #fff;
    padding: 8px 11px;
    color: var(--swaha-muted);
    font-weight: 800;
}

.filter-chip.active {
    border-color: rgba(159, 45, 40, 0.25);
    background: var(--swaha-blush-soft);
    color: var(--swaha-red);
}

.recent-panel {
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid var(--swaha-border);
}

.recent-panel h3 {
    font-size: 1rem;
    font-weight: 900;
}

.shop-toolbar {
    margin-bottom: 18px;
}

.shop-toolbar span {
    color: var(--swaha-muted);
    font-weight: 900;
}

.shop-toolbar select {
    width: 210px;
}

.product-gallery {
    position: sticky;
    top: 96px;
}

.zoom-stage {
    min-height: 510px;
    padding: 16px;
    border: 1px solid var(--swaha-border);
    border-radius: 8px;
    background: #fffdf8;
    box-shadow: var(--swaha-shadow);
}

.zoom-stage .food-visual {
    min-height: 476px;
    transform-origin: var(--mx, 50%) var(--my, 50%);
    transition: transform 0.24s ease;
}

.zoom-stage .product-photo-wrap {
    min-height: 476px;
    transform-origin: var(--mx, 50%) var(--my, 50%);
    transition: transform 0.24s ease;
}

.zoom-stage:hover .food-visual,
.zoom-stage:hover .product-photo-wrap {
    transform: scale(1.05);
}

.thumb-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 12px;
}

.gallery-thumb {
    border: 1px solid var(--swaha-border);
    border-radius: 8px;
    background: #fff;
    padding: 6px;
}

.gallery-thumb .food-visual {
    min-height: 92px;
}

.gallery-thumb .product-photo-wrap {
    min-height: 92px;
}

.product-info {
    padding-top: 12px;
}

.rating-line {
    justify-content: flex-start;
    margin: 12px 0 18px;
}

.rating-line em {
    color: var(--swaha-muted);
    font-style: normal;
}

.variant-label {
    display: block;
    margin-top: 22px;
    color: var(--swaha-muted);
    font-weight: 900;
}

.variant-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 20px;
}

.variant-pill {
    min-width: 84px;
    border: 1px solid var(--swaha-border);
    border-radius: 999px;
    background: #fff;
    padding: 10px 14px;
    color: var(--swaha-muted);
    font-weight: 900;
}

.variant-pill.active {
    border-color: var(--swaha-red);
    background: var(--swaha-blush-soft);
    color: var(--swaha-red);
}

.stepper {
    display: inline-grid;
    grid-template-columns: 42px 62px 42px;
    overflow: hidden;
    border: 1px solid var(--swaha-border);
    border-radius: 999px;
    background: #fff;
}

.stepper button,
.stepper input {
    border: 0;
    background: transparent;
    min-height: 42px;
    text-align: center;
    font-weight: 900;
}

.delivery-box,
.product-tab-content,
.review-card {
    margin-top: 24px;
    padding: 18px;
    border: 1px solid var(--swaha-border);
    border-radius: 8px;
    background: #fffdf8;
}

.social-share {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--swaha-border);
}

.social-share span {
    color: var(--swaha-muted);
    font-weight: 900;
}

.social-share a,
.social-share button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    border: 1px solid var(--swaha-border);
    border-radius: 999px;
    background: #fff;
    color: var(--swaha-red);
    padding: 8px 12px;
    font-weight: 900;
}

.delivery-box label {
    display: block;
    margin-bottom: 10px;
    font-weight: 900;
}

.delivery-box > div {
    display: flex;
    gap: 10px;
}

.product-tabs {
    gap: 8px;
}

.product-tabs .nav-link {
    border-radius: 999px;
    background: #fff;
    color: var(--swaha-muted);
    font-weight: 900;
}

.product-tabs .nav-link.active {
    background: var(--swaha-red);
    color: #fff;
}

.review-card + .review-card {
    margin-top: 10px;
}

.related-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cart-layout,
.checkout-layout {
    grid-template-columns: 1fr 360px;
}

.cart-summary {
    position: sticky;
    top: 96px;
    padding: 20px;
}

.coupon-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
}

.cart-line,
.wishlist-line {
    display: grid;
    grid-template-columns: 74px 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--swaha-border);
    border-radius: 8px;
    background: #fffdf8;
}

.cart-line + .cart-line,
.wishlist-line + .wishlist-line {
    margin-top: 10px;
}

.mini-visual {
    min-height: 62px;
}

.mini-visual .plate,
.mini-visual .steam,
.mini-visual .grain {
    display: none;
}

.cart-line h3,
.wishlist-line h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 900;
}

.cart-line span,
.wishlist-line span {
    display: block;
    color: var(--swaha-muted);
}

.line-controls {
    display: grid;
    grid-template-columns: repeat(4, 34px);
    align-items: center;
    gap: 5px;
}

.line-controls button {
    width: 34px;
    height: 34px;
    border: 1px solid var(--swaha-border);
    border-radius: 999px;
    background: #fff;
    font-weight: 900;
}

.mini-total,
.summary-lines {
    margin: 18px 0;
    padding-top: 16px;
    border-top: 1px solid var(--swaha-border);
}

.summary-lines {
    display: grid;
    gap: 12px;
}

.summary-lines .grand {
    color: var(--swaha-red);
    font-size: 1.25rem;
    font-weight: 900;
}

.empty-state {
    display: grid;
    place-items: center;
    gap: 10px;
    padding: 42px 20px;
    text-align: center;
    color: var(--swaha-muted);
}

.empty-state svg {
    color: var(--swaha-gold);
    width: 36px;
    height: 36px;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.form-grid label,
.admin-login label {
    display: grid;
    gap: 7px;
    color: var(--swaha-muted);
    font-weight: 900;
}

.form-grid .wide {
    grid-column: 1 / -1;
}

.checkout-page h2 {
    margin-top: 28px;
    font-family: var(--font-display);
}

.payment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 22px;
}

.payment-grid label {
    cursor: pointer;
}

.payment-grid input {
    position: absolute;
    opacity: 0;
}

.payment-grid span {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 60px;
    padding: 14px;
    border: 1px solid var(--swaha-border);
    border-radius: 8px;
    background: #fff;
    color: var(--swaha-muted);
    font-weight: 900;
}

.payment-grid input:checked + span {
    border-color: rgba(159, 45, 40, 0.42);
    background: var(--swaha-blush-soft);
    color: var(--swaha-red);
}

#checkoutMessage,
#couponMessage {
    margin-top: 14px;
    color: var(--swaha-red);
    font-weight: 800;
}

.narrow {
    width: min(760px, calc(100% - 32px));
}

.track-form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    margin: 24px 0;
}

.timeline-card {
    padding: 24px;
}

.timeline {
    display: grid;
    gap: 0;
    margin: 24px 0;
}

.timeline > div {
    position: relative;
    display: grid;
    grid-template-columns: 42px 1fr;
    padding: 0 0 22px;
}

.timeline > div::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 28px;
    bottom: 0;
    width: 2px;
    background: var(--swaha-border);
}

.timeline > div:last-child::before {
    display: none;
}

.timeline span {
    position: relative;
    z-index: 2;
    width: 32px;
    height: 32px;
    border: 2px solid var(--swaha-border);
    border-radius: 50%;
    background: #fff;
}

.timeline .done span {
    border-color: var(--swaha-leaf);
    background: var(--swaha-leaf);
}

.timeline .done span::after {
    content: "";
    position: absolute;
    left: 9px;
    top: 5px;
    width: 9px;
    height: 15px;
    border: solid #fff;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

.timeline small {
    display: block;
    color: var(--swaha-muted);
}

.swaha-canvas {
    background: var(--swaha-ivory);
}

.swaha-canvas h2 {
    font-family: var(--font-display);
}

.whatsapp-float,
.floating-cart {
    position: fixed;
    right: 18px;
    z-index: 40;
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    box-shadow: 0 16px 30px rgba(39, 33, 31, 0.2);
}

.whatsapp-float {
    bottom: 88px;
    background: var(--swaha-leaf);
}

.floating-cart {
    bottom: 24px;
    background: var(--swaha-red);
}

.floating-cart span {
    position: absolute;
    top: -3px;
    right: -3px;
    min-width: 20px;
    height: 20px;
    border-radius: 999px;
    background: var(--swaha-gold);
    color: #3d2616;
    font-size: 0.72rem;
    font-weight: 900;
}

.mobile-tabbar {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 45;
    display: none;
    grid-template-columns: repeat(5, 1fr);
    gap: 4px;
    padding: 8px;
    border: 1px solid var(--swaha-border);
    border-radius: 8px;
    background: rgba(255, 253, 248, 0.94);
    box-shadow: 0 12px 30px rgba(76, 44, 31, 0.18);
    backdrop-filter: blur(18px);
}

.mobile-tabbar a,
.mobile-tabbar button {
    position: relative;
    display: grid;
    place-items: center;
    gap: 3px;
    min-height: 48px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--swaha-muted);
    font-size: 0.7rem;
    font-weight: 900;
}

.mobile-tabbar svg {
    width: 20px;
    height: 20px;
}

.mobile-tabbar em {
    position: absolute;
    top: 2px;
    right: 18%;
    min-width: 17px;
    height: 17px;
    border-radius: 999px;
    background: var(--swaha-red);
    color: #fff;
    font-size: 0.65rem;
    font-style: normal;
}

.admin-shell {
    display: grid;
    grid-template-columns: 250px 1fr;
    min-height: calc(100vh - 76px);
}

.admin-sidebar {
    position: sticky;
    top: 75px;
    height: calc(100vh - 75px);
    padding: 18px;
    border-right: 1px solid var(--swaha-border);
    background: #fffdf8;
}

.admin-sidebar img {
    width: 150px;
    display: block;
    margin: 0 auto 20px;
    mix-blend-mode: multiply;
}

.admin-sidebar a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border-radius: 8px;
    color: var(--swaha-muted);
    font-weight: 900;
}

.admin-sidebar a.active,
.admin-sidebar a:hover {
    background: var(--swaha-blush-soft);
    color: var(--swaha-red);
}

.admin-content {
    padding: clamp(22px, 4vw, 42px);
}

.admin-top {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-bottom: 20px;
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.metric-grid article {
    padding: 18px;
    border: 1px solid var(--swaha-border);
    border-radius: 8px;
    background: #fffdf8;
}

.metric-grid span,
.metric-grid em {
    display: block;
    color: var(--swaha-muted);
}

.metric-grid strong {
    display: block;
    margin: 6px 0;
    color: var(--swaha-red);
    font-size: 1.9rem;
}

.admin-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.admin-card {
    padding: 20px;
}

.admin-table {
    display: grid;
    gap: 8px;
}

.admin-table div,
.order-kanban span,
.coupon-list span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border-radius: 8px;
    background: var(--swaha-cream);
}

.order-kanban,
.coupon-list {
    display: grid;
    gap: 10px;
}

.form-error {
    padding: 10px 12px;
    border-radius: 8px;
    background: #fff0f0;
    color: var(--swaha-red);
    font-weight: 800;
}

.admin-login {
    width: min(440px, 100%);
    margin: 0 auto;
    padding: 28px;
}

.admin-login h1 {
    font-family: var(--font-display);
}

.swaha-toast {
    position: fixed;
    left: 50%;
    bottom: 24px;
    z-index: 80;
    transform: translate(-50%, 20px);
    opacity: 0;
    padding: 12px 18px;
    border-radius: 999px;
    background: #2a211d;
    color: #fff;
    font-weight: 800;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
    transition: transform 0.24s ease, opacity 0.24s ease;
}

.swaha-toast.show {
    transform: translate(-50%, 0);
    opacity: 1;
}

@media (max-width: 1100px) {
    .category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .product-grid,
    .testimonial-grid,
    .blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .related-grid,
    .reel-grid,
    .metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hero-grid,
    .promise-grid,
    .festival-grid,
    .product-layout,
    .cart-layout,
    .checkout-layout {
        grid-template-columns: 1fr;
    }

    .product-gallery,
    .cart-summary,
    .filter-panel {
        position: static;
    }
}

@media (max-width: 991px) {
    .nav-actions {
        align-items: stretch;
        margin-top: 12px;
    }

    .smart-search {
        width: 100%;
    }

    .site-footer {
        padding-bottom: 124px;
    }
}

@media (max-width: 760px) {
    body {
        padding-bottom: 84px;
    }

    .container,
    .narrow {
        width: min(100% - 22px, 1180px);
    }

    .brand-lockup {
        min-width: 0;
    }

    .brand-lockup img {
        width: 62px;
        height: 46px;
    }

    .brand-lockup strong {
        font-size: 1.16rem;
    }

    .brand-lockup small {
        font-size: 0.58rem;
    }

    .hero-section {
        min-height: auto;
        padding-top: 34px;
    }

    .hero-copy h1 {
        font-size: clamp(4rem, 22vw, 6rem);
    }

    .watercolor-card {
        min-height: auto;
    }

    .watercolor-card > img {
        height: 210px;
    }

    .hero-product-stack,
    .festival-cards,
    .promise-list,
    .category-grid,
    .product-grid,
    .testimonial-grid,
    .blog-grid,
    .related-grid,
    .reel-grid,
    .footer-grid,
    .admin-grid,
    .metric-grid,
    .payment-grid,
    .form-grid {
        grid-template-columns: 1fr;
    }

    .product-slider {
        grid-auto-columns: minmax(254px, 84%);
    }

    .section-heading.with-action,
    .newsletter-inner,
    .admin-top {
        align-items: stretch;
        flex-direction: column;
    }

    .newsletter-form,
    .track-form,
    .coupon-row,
    .delivery-box > div {
        grid-template-columns: 1fr;
        flex-direction: column;
    }

    .shop-layout,
    .admin-shell {
        grid-template-columns: 1fr;
    }

    .admin-sidebar {
        position: static;
        height: auto;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-sidebar img {
        grid-column: 1 / -1;
    }

    .cart-line,
    .wishlist-line {
        grid-template-columns: 62px 1fr;
    }

    .line-controls {
        grid-column: 1 / -1;
        grid-template-columns: repeat(4, 1fr);
    }

    .zoom-stage,
    .zoom-stage .food-visual {
        min-height: 360px;
    }

    .mobile-tabbar {
        display: grid;
    }

    .floating-cart {
        display: none;
    }

    .whatsapp-float {
        right: 18px;
        bottom: 96px;
        width: 48px;
        height: 48px;
    }
}

@media (max-width: 420px) {
    .hero-actions .btn-red,
    .hero-actions .btn-cream,
    .product-actions .btn-red,
    .product-actions .btn-gold {
        width: 100%;
    }

    .shop-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .shop-toolbar select {
        width: 100%;
    }
}
