:root {

    --gold: #D9B547;
    --orange: #D97B3D;
    --brown: #5A3825;
    --black: #2F2F2F;
    --cream: #FAF7F2;

}

body {
    font-family: 'DM Sans', sans-serif;
    background: var(--cream);
}

/* TOP BAR */

.top-bar {
    background: var(--brown);
    color: var(--cream);
    height: 34px;
    display: flex;
    align-items: center;
    overflow: hidden;
    font-size: 14px;
    font-weight: 500;
    position: relative;
    z-index: 999;
    letter-spacing: .4px;
}

.top-bar__track {
    display: flex;
    white-space: nowrap;
    animation: top-bar-marquee 22s linear infinite;
}

.top-bar__track span {
    display: inline-block;
}

.top-bar__sep {
    display: inline-block;
    margin: 0 48px;
    opacity: .55;
    font-size: 10px;
    vertical-align: middle;
}

@keyframes top-bar-marquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

/* NAVBAR */

.grindo-navbar {

    background: rgba(250, 247, 242, .95);

    height: 80px;

    border-bottom: 1px solid rgba(90, 56, 37, 0.08);

    backdrop-filter: blur(12px);

    transition: .4s ease;
}

.grindo-navbar.sticky {

    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;

    box-shadow: 0 4px 20px rgba(90, 56, 37, 0.08);
}

/* LOGO */

.navbar-brand img {

    height: 55px;
}

/* MENU */

.navbar-nav {

    gap: 40px;
}

.nav-link {

    color: var(--black);
    font-size: 16px;
    font-weight: 500;

    position: relative;

    transition: .3s;
}

.nav-link:hover,
.nav-link.active {

    color: var(--orange);
}

/* UNDERLINE */

.nav-link::after {

    content: '';

    position: absolute;

    left: 0;
    bottom: -6px;

    width: 0%;
    height: 2px;

    background: var(--orange);

    transition: .3s;
}

.nav-link:hover::after,
.nav-link.active::after {

    width: 100%;
}

/* ICONS */

.navbar-icons {

    display: flex;
    align-items: center;
    gap: 25px;
}

.navbar-icons a {

    color: var(--black);

    font-size: 22px;

    transition: .3s;
}

.navbar-icons a:hover {

    color: var(--orange);

    transform: scale(1.1);
}

/* CART */

.cart-icon {

    position: relative;
}

.cart-badge {

    position: absolute;

    top: -8px;
    right: -10px;

    width: 18px;
    height: 18px;

    border-radius: 50%;

    background: var(--orange);
    color: white;

    font-size: 11px;

    display: flex;
    align-items: center;
    justify-content: center;
}

/* MOBILE */

.navbar-toggler i {

    font-size: 30px;
    color: var(--black);
}

.offcanvas {

    background: var(--cream);
}

.mobile-menu {

    list-style: none;
    padding: 0;
}

.mobile-menu li {

    margin-bottom: 20px;
}

.mobile-menu a {

    text-decoration: none;

    color: var(--black);

    font-size: 18px;
    font-weight: 500;
}

.mobile-menu a:hover {

    color: var(--orange);
}

/* RESPONSIVE */

@media(max-width:991px) {

    .navbar-brand img {
        height: 50px;
    }

    .grindo-navbar {
        height: 75px;
    }

}


/* =====================================================
   GRINDO PREMIUM HERO  —  Dynamic Gradient Carousel
   ===================================================== */

/* ── Transparent navbar — JS adds / removes these classes ── */
.tf-header {
    transition: background .5s ease, box-shadow .5s ease, backdrop-filter .5s ease !important;
}

.tf-header.grh-nav-clear {
    background: transparent !important;
    box-shadow: none !important;
}

.tf-header.grh-nav-clear .cus-text,
.tf-header.grh-nav-clear .nav-icon-item i,
.tf-header.grh-nav-clear .btn-open-menu i {
    color: rgba(255, 255, 255, .88) !important;
}

.tf-header.grh-nav-clear .count {
    background: rgba(255, 255, 255, .88) !important;
    color: #1a0a00 !important;
}

.tf-header.grh-nav-solid {
    background: rgba(10, 7, 4, .9) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    box-shadow: 0 4px 40px rgba(0, 0, 0, .4) !important;
}

.tf-header.grh-nav-solid .cus-text,
.tf-header.grh-nav-solid .nav-icon-item i,
.tf-header.grh-nav-solid .btn-open-menu i {
    color: rgba(255, 255, 255, .85) !important;
}

/* ── Section ── */
.grh-section {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 580px;
    overflow: hidden;
}

/* ── Dynamic gradient background (transitions on slide change via JS) ── */
.grh-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(135deg, #7C2D12 0%, #B45309 52%, #D97706 100%);
    transition: background 1.1s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Organic blob decorations ── */
.grh-blob {
    position: absolute;
    border-radius: 60% 40% 55% 45% / 50% 60% 40% 55%;
    filter: blur(88px);
    pointer-events: none;
    z-index: 1;
    transition: background 1.2s ease;
}

.grh-blob--tr {
    width: min(55vw, 640px);
    height: min(55vw, 640px);
    top: -22%;
    right: -12%;
    background: radial-gradient(ellipse, rgba(251, 146, 60, .28) 0%, transparent 68%);
    border-radius: 45% 55% 60% 40% / 55% 40% 60% 45%;
}

.grh-blob--bl {
    width: min(38vw, 440px);
    height: min(38vw, 440px);
    bottom: -12%;
    left: 3%;
    background: radial-gradient(ellipse, rgba(245, 158, 11, .2) 0%, transparent 68%);
    border-radius: 55% 45% 40% 60% / 45% 60% 40% 55%;
}

/* ── Decorative ring ── */
.grh-shine {
    position: absolute;
    width: min(70vw, 880px);
    height: min(70vw, 880px);
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .06);
    top: 50%;
    right: -18%;
    transform: translateY(-50%);
    z-index: 1;
    pointer-events: none;
}

.grh-shine::before {
    content: '';
    position: absolute;
    inset: 44px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .03);
}

/* ── Swiper fills section ── */
.grh-swiper {
    position: absolute;
    inset: 0;
    z-index: 10;
}

.grh-swiper .swiper-wrapper,
.grh-slide {
    height: 100%;
}

/* ── Slide inner layout ── */
.grh-inner {
    display: flex;
    align-items: center;
    height: 100%;
    max-width: 1420px;
    margin: 0 auto;
    padding: 0 72px;
    padding-top: 155px;
    /* clears transparent topbar + header */
    box-sizing: border-box;
}

/* ── Left 45% ── */
.grh-left {
    width: 45%;
    flex-shrink: 0;
    padding-right: 52px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* ── Right 55% ── */
.grh-right {
    width: 55%;
    flex-shrink: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ─────────────────────────────
   CONTENT — entrance animations via .swiper-slide-active
───────────────────────────── */
.grh-label,
.grh-title,
.grh-text,
.grh-dots,
.grh-btns {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0s, transform 0s;
}

.swiper-slide-active .grh-label {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .55s ease .08s, transform .55s ease .08s;
}

.swiper-slide-active .grh-title {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .65s ease .2s, transform .65s ease .2s;
}

.swiper-slide-active .grh-text {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .65s ease .34s, transform .65s ease .34s;
}

.swiper-slide-active .grh-dots {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .6s ease .46s, transform .6s ease .46s;
}

.swiper-slide-active .grh-btns {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .6s ease .56s, transform .6s ease .56s;
}

/* ── Label ── */
.grh-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, .6);
    font-family: 'DM Sans', sans-serif;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.grh-label-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .55);
    flex-shrink: 0;
}

/* ── Heading ── */
.grh-title {
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(30px, 3.8vw, 58px);
    font-weight: 700;
    line-height: 1.1;
    color: #ffffff;
    margin: 0 0 16px;
}

/* ── Description ── */
.grh-text {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.78;
    color: rgba(255, 255, 255, .62);
    margin: 0 0 26px;
    max-width: 420px;
}

/* ─────────────────────────────
   DOT PAGINATION  (pill-morphing)
───────────────────────────── */
.grh-dots {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 30px;
}

.grh-dot {
    height: 8px;
    width: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .32);
    border: none;
    padding: 0;
    cursor: pointer;
    outline: none;
    flex-shrink: 0;
    transition: width .42s cubic-bezier(.4, 0, .2, 1),
        border-radius .42s,
        background .42s;
}

.grh-dot--on {
    width: 30px;
    border-radius: 4px;
    background: rgba(255, 255, 255, .92);
}

.grh-dot:hover:not(.grh-dot--on) {
    width: 14px;
    border-radius: 4px;
    background: rgba(255, 255, 255, .58);
}

/* ─────────────────────────────
   CTA BUTTONS  (pill-shaped)
───────────────────────────── */
.grh-btns {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.grh-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 32px;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .4px;
    text-decoration: none;
    border-radius: 50px;
    transition: transform .28s ease, box-shadow .28s ease,
        background .28s ease, color .28s ease;
    white-space: nowrap;
}

.grh-btn--solid {
    background: #ffffff;
    color: #1a0800;
    border: none;
}

.grh-btn--solid:hover {
    background: #ffffff;
    color: #1a0800;
    transform: translateY(-3px);
    box-shadow: 0 14px 36px rgba(0, 0, 0, .28);
}

.grh-btn--glass {
    background: rgba(255, 255, 255, .12);
    color: rgba(255, 255, 255, .88);
    border: 1.5px solid rgba(255, 255, 255, .3);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.grh-btn--glass:hover {
    background: rgba(255, 255, 255, .22);
    color: #fff;
    border-color: rgba(255, 255, 255, .6);
    transform: translateY(-3px);
}

/* ─────────────────────────────
   RIGHT IMAGE  (floating card)
───────────────────────────── */
.grh-img-wrap {
    position: relative;
    width: min(42vw, 470px);
    height: min(52vw, 520px);
    /* entrance animation */
    opacity: 0;
    transform: translateX(36px) scale(.97);
    transition: opacity 0s, transform 0s;
}

.swiper-slide-active .grh-img-wrap {
    opacity: 1;
    transform: translateX(0) scale(1);
    transition: opacity .85s ease .32s,
        transform .95s cubic-bezier(.34, 1.28, .64, 1) .32s;
}

.grh-img-glow {
    position: absolute;
    bottom: -22px;
    left: 50%;
    transform: translateX(-50%);
    width: 62%;
    height: 48px;
    background: var(--glow, rgba(255, 180, 60, .48));
    border-radius: 50%;
    filter: blur(26px);
    z-index: 0;
    pointer-events: none;
}

.grh-img-float {
    position: absolute;
    inset: 0;
    border-radius: 36px;
    overflow: hidden;
    box-shadow:
        0 32px 72px rgba(0, 0, 0, .42),
        0 8px 22px rgba(0, 0, 0, .22),
        inset 0 1px 0 rgba(255, 255, 255, .14);
    animation: grh-float 7s ease-in-out infinite;
    z-index: 1;
}

.grh-img-float img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s ease;
    display: block;
}

.grh-img-float:hover img {
    transform: scale(1.04);
}

/* Highlight overlay */
.grh-img-float::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
            rgba(255, 255, 255, .11) 0%,
            transparent 34%,
            rgba(0, 0, 0, .14) 100%);
    pointer-events: none;
}

.grh-img-ring {
    position: absolute;
    inset: 0;
    border-radius: 36px;
    border: 1.5px solid rgba(255, 255, 255, .14);
    transform: translate(7px, 7px);
    z-index: 2;
    pointer-events: none;
}

@keyframes grh-float {

    0%,
    100% {
        transform: translateY(0) rotate(-1deg);
    }

    50% {
        transform: translateY(-18px) rotate(.6deg);
    }
}

/* ─────────────────────────────
   SLIDE COUNTER
───────────────────────────── */
.grh-num {
    position: absolute;
    bottom: 30px;
    right: 72px;
    z-index: 20;
    display: flex;
    align-items: baseline;
    gap: 4px;
    color: rgba(255, 255, 255, .38);
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    pointer-events: none;
}

.grh-num-cur {
    font-family: 'DM Sans', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: rgba(255, 255, 255, .72);
    line-height: 1;
}

.grh-num-sep {
    margin: 0 2px;
}

/* ─────────────────────────────
   PROGRESS BAR
───────────────────────────── */
.grh-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    background: rgba(255, 255, 255, .8);
    z-index: 20;
    width: 0;
    pointer-events: none;
}

@keyframes grh-prog {
    from {
        width: 0%;
    }

    to {
        width: 100%;
    }
}

/* ─────────────────────────────
   RESPONSIVE
───────────────────────────── */
@media (max-width: 1100px) {
    .grh-inner {
        padding: 0 48px;
        padding-top: 155px;
    }

    .grh-left {
        padding-right: 36px;
    }

    .grh-img-wrap {
        width: min(46vw, 400px);
        height: min(56vw, 440px);
    }
}

@media (max-width: 840px) {
    .grh-section {
        min-height: 100svh;
    }

    .grh-inner {
        flex-direction: column-reverse;
        justify-content: flex-end;
        align-items: flex-start;
        padding: 0 28px 56px;
        padding-top: 120px;
        gap: 20px;
    }

    .grh-left {
        width: 100%;
        padding-right: 0;
    }

    .grh-right {
        width: 100%;
        height: 200px;
        justify-content: flex-start;
    }

    .grh-img-wrap {
        width: 100%;
        height: 100%;
    }

    .grh-img-float {
        border-radius: 20px;
        animation: none;
    }

    .grh-img-ring {
        border-radius: 20px;
    }

    .grh-title {
        font-size: clamp(26px, 6vw, 42px);
    }

    .grh-num {
        right: 28px;
        bottom: 16px;
    }
}

@media (max-width: 520px) {
    .grh-inner {
        padding: 0 18px 48px;
        padding-top: 110px;
    }

    .grh-btns {
        flex-direction: column;
        width: 100%;
    }

    .grh-btn {
        width: 100%;
        justify-content: center;
    }

    .grh-num {
        display: none;
    }
}

@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

body {
    font-size: 17px;
    line-height: 30px;
    font-weight: 400;
    -moz-osx-font-smoothing: grayscale;
    word-break: break-word;
    -webkit-font-smoothing: antialiased;
    font-family: "DM Sans", sans-serif;
    margin: 0;
    overflow-x: hidden;
}

body,
div {
    margin: 0;
    padding: 0;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

img {
    -ms-interpolation-mode: bicubic;
    border: 0;
    vertical-align: middle;
    max-width: 100%;
    height: auto;
}

/* ============ Full Page Slider ================= */
.creative-showcase--slider .swiper-slide {
    position: relative;
    overflow: hidden;
    width: 100%;
    min-height: 100vh;
    padding: 80px 0;
}

.creative-showcase--slider .swiper-slide .slide-bg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.creative-showcase--slider .swiper-slide .overlay-dark:before {
    opacity: .3;
    background: #1d1d1d;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    pointer-events: none;
}

.creative-showcase--slider .swiper-slide .video-container {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.creative-showcase--slider .swiper-slide .video-container video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
}

.swiper-slide .slide-bg .slide-container {
    max-width: 1320px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 7;
    padding-left: 15px;
    padding-right: 15px;
}

.slide-bg .slide-container .slide-row {
    display: flex;
    flex-wrap: wrap;
}

.slide-container .slide-row .slider-content {
    flex: 0 0 auto;
    width: 91.66666667%;
    margin-left: 8.33333333%;
    padding-left: 15px;
    padding-right: 15px;
}

.slider-content .slide-subtitle {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #fff;
    font-weight: 500;
    line-height: 1.3;
    margin-bottom: 30px;
    margin-top: 0px;
}

.slider-content .slide-heading {
    font-size: 100px;
    color: #fff;
    margin: 0px;
    font-weight: 500;
    line-height: 1.3;
    margin-bottom: .2rem;
}

.slider-content .slide-heading a {
    text-decoration: none;
    color: #fff;
    outline: none;
}

.slider-content .slide-heading a span {
    display: inline-block;
}

.overlay-light .slider-content .slide-heading a {
    color: #000;
}

.overlay-light .slider-content .slide-subtitle {
    color: #000;
}

.creative-showcase--slider .creative-button--wrapper .swiper-button-prev,
.creative-showcase--slider .creative-button--wrapper .swiper-button-next {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    top: auto;
    color: #fff;
    z-index: 9;
    cursor: pointer;
    width: auto;
    bottom: 30px;
    font-weight: 300;
    font-size: 16px;
    letter-spacing: 0.5px;
    line-height: normal;
}

.creative-showcase--slider .creative-button--wrapper .swiper-button-next {
    right: 120px;
}

.creative-showcase--slider .creative-button--wrapper .swiper-button-prev {
    left: 120px;
}

.creative-showcase--slider .creative-button--wrapper .swiper-button-next:after,
.creative-showcase--slider .creative-button--wrapper .swiper-button-prev:after {
    display: none;
}

.creative-showcase--slider .creative-button--wrapper .swiper-button-prev i {
    margin-right: 25px;
}

.creative-showcase--slider .creative-button--wrapper .swiper-button-next i {
    margin-left: 25px;
}

.creative-showcase--slider .banner-horizental .swiper-pagination {
    bottom: 40px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: auto;
}

.creative-showcase--slider .banner-horizental .swiper-pagination-bullet {
    background: transparent;
    margin: 0 10px !important;
}

.creative-showcase--slider .banner-horizental .path {
    display: none;
}

.creative-showcase--slider .banner-horizental .swiper-pagination-bullet-active .path {
    display: inline-block !important;
    stroke-dasharray: 1000;
    stroke-dashoffset: 0;
    -webkit-animation: dash linear 10s;
    animation: dash linear 10s;
    -webkit-animation-iteration-count: unset;
    animation-iteration-count: unset;
}

@keyframes dash {
    0% {
        stroke-dashoffset: 1000;
    }

    100% {
        stroke-dashoffset: 0;
    }
}

/* ====================== Responsive Ipad =============================== */
@media (max-width: 991px) {
    .slide-container .slide-row .slider-content {
        flex: 0 0 auto;
        width: 100%;
        margin-left: 0px;
    }

    .slider-content .slide-heading {
        font-size: 72px;
    }

    .creative-showcase--slider .banner-horizental .swiper-pagination {
        display: none;
    }

    .creative-showcase--slider .creative-button--wrapper .swiper-button-prev {
        left: 15px;
    }

    .creative-showcase--slider .creative-button--wrapper .swiper-button-next {
        right: 15px;
    }

}

/* ====================== Responsive Iphone =============================== */
@media screen and (max-width: 767px) {
    .slide-container .slide-row .slider-content {
        padding-left: 0px;
        padding-right: 0px;
    }

    .slider-content .slide-heading {
        font-size: 40px;
    }

    .slider-content .slide-subtitle {
        margin-bottom: 15px;
    }
}

/* ====================== Buy Me A Coffee =============================== */

@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400..700&display=swap');

.coffee-button {
    position: fixed;
    z-index: 9;
    top: 20px;
    right: 20px;
    background-color: #FFC107;
    color: #333;
    padding: 8px 16px;
    border-radius: 20px;
    text-decoration: none;
    font-family: "Dancing Script", cursive;
    font-weight: 600;
    font-size: 20px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background-color 0.3s;
}

.coffee-button:hover {
    background-color: #FFD54F;
}

.coffee-icon {
    font-size: 24px;
    line-height: 1;
}

.header-left img {

    width: 115px;

}

.tf-slideshow .swiper-slide {
    position: relative;
    overflow: hidden;
}

.tf-slideshow .swiper-slide:not(.swiper-slide-active) {
    opacity: 0 !important;
    visibility: hidden !important;
}

.tf-slideshow .swiper-slide-active {
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 10;
}

.swiper-slide:nth-child(1) .slideshow-wrap {
    background: #D8B23D;
}

.swiper-slide:nth-child(2) .slideshow-wrap {
    background: linear-gradient(145deg, #FFFAF5 0%, #EDD8BD 55%, #C89870 100%);
}

.swiper-slide:nth-child(3) .slideshow-wrap {
    background: #DCC7A1;
}

/* Hero Parent */
.slideshow-wrap {
    position: relative;
    overflow: hidden;
}

/* Common */
.floating-item {
    position: absolute;
    z-index: 3;
    pointer-events: none;
}

.floating-item img {
    width: 100%;
    height: auto;
    display: block;
}

/* Chilli */
.chilli {
    top: 15%;
    right: 12%;
    width: 70px;
    opacity: .35;
    animation: floatOne 6s ease-in-out infinite;
}

/* Star Spice */
.star {
    bottom: 20%;
    right: 40%;
    width: 55px;
    opacity: .25;
    animation: floatTwo 8s ease-in-out infinite;
}

/* Turmeric */
.turmeric {
    top: 60%;
    right: 8%;
    width: 90px;
    opacity: .30;
    animation: floatThree 7s ease-in-out infinite;
}

/* Clove */
.clove {
    top: 25%;
    right: 35%;
    width: 45px;
    opacity: .25;
    animation: floatFour 9s ease-in-out infinite;
}

@keyframes floatOne {

    0%,
    100% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(-25px) rotate(12deg);
    }
}

@keyframes floatTwo {

    0%,
    100% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(-15px) rotate(-15deg);
    }
}

@keyframes floatThree {

    0%,
    100% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(-20px) rotate(8deg);
    }
}

@keyframes floatFour {

    0%,
    100% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(-18px) rotate(-10deg);
    }
}

/* ─── Heritage hero — image-based floats ─── */
.heritage-hero__float--img {
    width: 115px;
    height: auto;
    object-fit: contain;
    opacity: .42 !important;
    filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .25)) !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    clip-path: none !important;
    border: none !important;
}

.heritage-hero__float--img::after {
    display: none !important;
}

/* ─── Heritage hero — center divider ─── */
.heritage-hero__center-divider {
    position: absolute;
    left: 50%;
    top: 18%;
    bottom: 18%;
    width: 1px;
    flex-direction: column;
    align-items: center;
    z-index: 3;
    transform: translateX(-50%);
    pointer-events: none;
}

.heritage-hero__cdiv-line {
    flex: 1;
    width: 1px;
    background: linear-gradient(to bottom, transparent, rgba(90, 56, 37, .28));
    display: block;
}

.heritage-hero__cdiv-line:last-child {
    background: linear-gradient(to top, transparent, rgba(90, 56, 37, .28));
}

.heritage-hero__cdiv-dot {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(90, 56, 37, .3);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: #5a3825;
    background: var(--heritage-bg, #f0cf90);
    flex-shrink: 0;
    margin: 10px 0;
    box-shadow: 0 2px 10px rgba(90, 56, 37, .12);
}

/* ─── Move float-four away from CTA buttons ─── */
.heritage-hero__float--four {
    bottom: auto !important;
    left: auto !important;
    top: 14% !important;
    right: 5% !important;
}

/* ─── Remove mask and shadow from hero image — show full image ─── */
.heritage-hero__visual>img {
    -webkit-mask-image: none !important;
    mask-image: none !important;
    filter: none !important;
}

/* ─── Hero right-side image: reduce scale on desktop so it no longer reaches
   the top edge and leaves breathing room (mobile keeps its own sizing). ─── */
@media (min-width: 1200px) {
    .heritage-hero__visual>img {
        width: 140%;
        max-height: calc(100vh - 220px);
    }

    .heritage-hero__slide--1 .heritage-hero__visual>img {
        width: 155%;
    }
}

/* ─── Grindo Footer ─── */
.grindo-footer {
    background: #1e1205;
    color: #e8d5b7;
    padding-top: 60px;
    position: relative;
    overflow: hidden;
}

.grindo-footer__accent {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--orange), var(--gold), var(--orange));
}

.grindo-footer a {
    color: inherit;
    text-decoration: none;
}

.grindo-footer a:hover {
    color: var(--gold);
}

/* Decorative spice images */
.grindo-footer__deco {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 160px;
    pointer-events: none;
    z-index: 0;
}

.grindo-footer__deco--left {
    left: 0;
}

.grindo-footer__deco--right {
    right: 0;
}

.gf-deco {
    position: absolute;
    object-fit: contain;
}

.gf-deco--chilli {
    top: 18%;
    left: -10px;
    width: 75px;
    transform: rotate(-25deg);
    opacity: .55;
}

.gf-deco--star {
    bottom: 28%;
    left: 22px;
    width: 68px;
    opacity: .5;
}

.gf-deco--clove {
    top: 55%;
    left: 8px;
    width: 50px;
    opacity: .45;
    transform: rotate(15deg);
}

.gf-deco--star-r {
    top: 15%;
    right: -8px;
    width: 80px;
    opacity: .5;
}

.gf-deco--chilli-r {
    bottom: 25%;
    right: -12px;
    width: 72px;
    transform: rotate(20deg);
    opacity: .5;
}

.gf-deco--clove-r {
    top: 52%;
    right: 10px;
    width: 52px;
    opacity: .45;
}

/* Main content */
.grindo-footer__main {
    position: relative;
    z-index: 1;
    padding-bottom: 48px;
}

/* Brand column */
.grindo-footer__brand {
    display: inline-block;
    margin-bottom: 16px;
}

.grindo-footer__brand img {
    height: 60px;
}

.grindo-footer__intro {
    font-size: 13.5px;
    line-height: 1.78;
    color: rgba(232, 213, 183, .62);
    margin-bottom: 14px;
    max-width: 300px;
}

.grindo-footer__tagline {
    font-family: 'DM Sans', sans-serif;
    font-style: italic;
    font-size: 18px;
    color: var(--gold);
    margin: 0;
    letter-spacing: .3px;
}

/* Column headings with orange underline bar */
.grindo-footer__heading {
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color: #fff;
    margin-top: 0;
    margin-bottom: 20px;
    padding-bottom: 10px;
    position: relative;
}

.grindo-footer__heading::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 26px;
    height: 2px;
    background: var(--orange);
    border-radius: 2px;
}

/* Nav link lists */
.grindo-footer__links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.grindo-footer__links li {
    margin-bottom: 10px;
}

.grindo-footer__links a {
    font-size: 13.5px;
    color: rgba(232, 213, 183, .62);
    transition: color .22s, padding-left .2s;
    display: inline-block;
}

.grindo-footer__links a:hover {
    color: #fff;
    padding-left: 5px;
}

/* Contact info list */
.grindo-footer__contact {
    list-style: none;
    padding: 0;
    margin: 0 0 4px;
}

.grindo-footer__contact li {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    font-size: 13.5px;
    color: rgba(232, 213, 183, .62);
    margin-bottom: 13px;
    line-height: 1.55;
}

.gf-contact-icon {
    color: var(--gold);
    font-size: 14px;
    flex-shrink: 0;
    width: 16px;
    text-align: center;
    margin-top: 2px;
}

/* Social icons */
.grindo-footer__socials {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.grindo-footer__socials a {
    width: 38px;
    height: 38px;
    border: 1.5px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: rgba(232, 213, 183, .7);
    transition: border-color .25s, background .25s, color .25s;
}

.grindo-footer__socials a:hover {
    border-color: var(--gold);
    background: rgba(217, 181, 71, .15);
    color: var(--gold);
}

/* Footer bottom bar */
.grindo-footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, .08);
    padding: 18px 0;
    position: relative;
    z-index: 1;
}

.grindo-footer__bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}

.grindo-footer__bottom p {
    font-size: 13px;
    color: rgba(232, 213, 183, .38);
    margin: 0;
}

.grindo-footer__legal {
    display: flex;
    gap: 20px;
}

.grindo-footer__legal a {
    font-size: 13px;
    color: rgba(232, 213, 183, .38);
    transition: color .25s;
}

.grindo-footer__legal a:hover {
    color: rgba(232, 213, 183, .75);
}

.grindo-footer--premium {
    min-height: 0;
    padding: 0;
    overflow: hidden;
    border-top: 1px solid rgba(62, 39, 35, .08);
    border-radius: 0;
    background: #F6EAD8;
    color: #3E2723;
}

.grindo-footer--premium>.grindo-footer__accent,
.grindo-footer--premium>.grindo-footer__deco,
.grindo-footer--premium>.grindo-footer__main,
.grindo-footer--premium>.grindo-footer__bottom {
    display: none;
}

.grindo-footer--premium a {
    color: #d9733e;
    font-weight: 14px;
}

.grindo-premium-footer {
    position: relative;
    min-height: 0;
    padding: clamp(34px, 5vw, 56px) 0 18px;
    overflow: hidden;
    background: #F6EAD8;
    isolation: isolate;
}

.grindo-premium-footer__paper {
    position: absolute;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    opacity: .34;
    background-image:
        radial-gradient(circle at 12% 18%, rgba(62, 39, 35, .045) 0 1px, transparent 1.4px),
        radial-gradient(circle at 78% 62%, rgba(212, 160, 23, .05) 0 1px, transparent 1.5px);
    background-size: 34px 34px, 48px 48px;
}

.grindo-premium-footer__inner {
    position: relative;
    z-index: 1;
}

.grindo-premium-footer__top {
    min-height: 220px;
    align-items: flex-start;
}

.grindo-premium-footer h2,
.grindo-premium-footer h3 {
    font-family: 'DM Sans', sans-serif;
}

.grindo-premium-footer__watermark {
    font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif;
}

.grindo-premium-footer h2 {
    max-width: 340px;
    margin: 0 0 14px;
    color: #3E2723;
    font-size: clamp(28px, -3.8vw, 46px);
    font-weight: 600;
    line-height: .98;
    letter-spacing: 0;
}

.grindo-premium-footer__newsletter p {
    max-width: 350px;
    margin: 0 0 20px;
    color: #8D6E63;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    line-height: 1.65;
}

.grindo-premium-footer__column-logo {
    display: inline-flex;
    align-items: center;
    width: 112px;
    margin-bottom: 22px;
}

.grindo-premium-footer__column-logo img {
    width: 100%;
    height: auto;
    display: block;
}

.grindo-premium-footer__form {
    position: relative;
    display: flex;
    align-items: center;
    width: min(100%, 360px);
    min-height: 54px;
    padding: 6px;
    border: 1px solid rgba(62, 39, 35, .08);
    border-radius: 999px;
    background: rgba(255, 251, 242, .72);
    box-shadow: 0 20px 60px rgba(62, 39, 35, .07);
    transition: border-color .35s ease, box-shadow .35s ease, background-color .35s ease;
}

.grindo-premium-footer__form:focus-within {
    border-color: rgba(212, 160, 23, .42);
    background: rgba(255, 251, 242, .92);
    box-shadow: 0 24px 70px rgba(109, 76, 65, .12);
}

.grindo-premium-footer__form input {
    min-width: 0;
    flex: 1;
    height: 42px;
    padding: 0 14px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #3E2723;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
}

.grindo-premium-footer__form input::placeholder {
    color: rgba(62, 39, 35, .45);
}

.grindo-premium-footer__form button {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: #6D4C41;
    box-shadow: 0 14px 34px rgba(109, 76, 65, .18);
    transition: background-color .35s ease, box-shadow .35s ease, transform .35s ease;
}

.grindo-premium-footer__form button:hover,
.grindo-premium-footer__form button:focus-visible {
    background: #D4A017;
    box-shadow: 0 18px 42px rgba(212, 160, 23, .3);
    transform: translateX(2px) scale(1.04);
}

.grindo-premium-footer h3 {
    margin: 0 0 18px;
    color: #3E2723;
    letter-spacing: normal;
    font-size: 24px;
    font-weight: 600;
    line-height: 1;
}

.grindo-premium-footer__links {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.grindo-premium-footer__links a,
.grindo-premium-footer__legal a {
    position: relative;
    display: inline-block;
    width: fit-content;
    color: #3E2723;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    line-height: 1.45;
    text-decoration: none;
    transition: color .28s ease, transform .28s ease;
}

.grindo-premium-footer__links a::after,
.grindo-premium-footer__legal a::after {
    position: absolute;
    right: 0;
    bottom: -4px;
    left: 0;
    height: 1px;
    background: #D4A017;
    content: "";
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .34s ease;
}

.grindo-premium-footer__links a:hover,
.grindo-premium-footer__legal a:hover {
    color: #6D4C41;
    transform: translateY(-1px);
}

.grindo-premium-footer__links a:hover::after,
.grindo-premium-footer__legal a:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

.grindo-premium-footer__socials {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
}

.grindo-premium-footer__socials a {
    display: grid;
    width: 45px;
    height: 45px;
    place-items: center;
    border: 1px solid rgba(62, 39, 35, .08);
    border-radius: 50%;
    color: #6D4C41;
    background: rgba(255, 251, 242, .66);
    font-size: 14px;
    text-decoration: none;
    box-shadow: 0 14px 32px rgba(62, 39, 35, .045);
    transition: background-color .32s ease, color .32s ease, transform .32s ease, box-shadow .32s ease;
}

.grindo-premium-footer__socials a:hover,
.grindo-premium-footer__socials a:focus-visible {
    color: #fff;
    background: #D4A017;
    box-shadow: 0 18px 42px rgba(212, 160, 23, .2);
    transform: scale(1.08);
}

.grindo-premium-footer__brand-stage {
    position: relative;
    display: grid;
    min-height: 30px;
    margin-top: clamp(12px, 2.4vw, 22px);
    place-items: center;
}

.grindo-premium-footer__watermark {
    position: absolute;
    inset: 0 0 auto;
    color: #3E2723;
    font-size: clamp(86px, 15vw, 230px);
    font-weight: 700;
    line-height: .72;
    letter-spacing: -2px;
    text-align: center;
    white-space: nowrap;
    opacity: .08;
    transform: translateY(-30px);
    pointer-events: none;
}

.grindo-premium-footer__logo {
    position: relative;
    z-index: 1;
    display: inline-grid;
    width: 98px;
    height: 98px;
    place-items: center;
    border: 1px solid rgba(62, 39, 35, .08);
    border-radius: 50%;
    background: rgba(255, 251, 242, .72);
    box-shadow: 0 28px 70px rgba(62, 39, 35, .09);
}

.grindo-premium-footer__logo img {
    width: 66px;
    height: auto;
}

.grindo-premium-footer__contact-list {
    display: grid;
    gap: 12px;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
}

.grindo-premium-footer__contact-list li {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    color: #3E2723;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    margin-bottom: 5px;
    line-height: 1.45;
}

.grindo-premium-footer__contact-list i {
    margin-top: 2px;
    color: #D4A017;
    font-size: 13px;
}

.grindo-premium-footer__contact-list a,
.grindo-premium-footer__contact-list span {
    color: #3E2723;
    text-decoration: none;
}

.grindo-premium-footer__contact-list a:hover {
    color: #6D4C41;
}

.grindo-premium-footer__bottom {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(62, 39, 35, .08);
    color: rgba(62, 39, 35, .72);
    font-family: 'DM Sans', sans-serif;
    font-size: 14px !important;
}

.grindo-premium-footer__bottom p {
    margin: 0;
    white-space: nowrap;
}

.grindo-premium-footer__legal {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(10px, 1.6vw, 20px);
    flex-wrap: wrap;
}

.grindo-premium-footer__spice {
    position: absolute;
    z-index: -1;
    width: 46px;
    opacity: .1;
    pointer-events: none;
    filter: saturate(.75);
}

.grindo-premium-footer__spice--one {
    top: 28px;
    left: 52px;
    transform: rotate(-16deg);
}

.grindo-premium-footer__spice--two {
    right: 8%;
    bottom: 34%;
    width: 38px;
    transform: rotate(22deg);
}

.grindo-premium-footer__spice--three {
    right: 40px;
    top: 42px;
    width: 50px;
    transform: rotate(18deg);
}

[data-footer-reveal],
[data-footer-watermark] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .8s ease, transform .8s ease;
}

[data-footer-reveal].is-visible,
[data-footer-watermark].is-visible {
    opacity: 1;
    transform: none;
}

.grindo-premium-footer__explore.is-visible li {
    animation: grindo-footer-link-up .58s ease both;
}

.grindo-premium-footer__explore.is-visible li:nth-child(2) {
    animation-delay: .04s;
}

.grindo-premium-footer__explore.is-visible li:nth-child(3) {
    animation-delay: .08s;
}

.grindo-premium-footer__explore.is-visible li:nth-child(4) {
    animation-delay: .12s;
}

.grindo-premium-footer__explore.is-visible li:nth-child(5) {
    animation-delay: .16s;
}

.grindo-premium-footer__explore.is-visible li:nth-child(6) {
    animation-delay: .2s;
}

.grindo-premium-footer__explore.is-visible li:nth-child(7) {
    animation-delay: .24s;
}

@keyframes grindo-footer-link-up {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 991px) {
    .grindo-premium-footer {
        padding-top: 46px;
    }

    .grindo-premium-footer__top {
        min-height: 0;
        --bs-gutter-y: 1.5rem;
    }

    .grindo-premium-footer__follow {
        padding-left: 0;
    }

    .grindo-premium-footer__socials {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .grindo-premium-footer__bottom {
        justify-content: flex-start;
        flex-wrap: wrap;
        text-align: left;
    }
}

@media (max-width: 575px) {
    .grindo-footer--premium {
        border-radius: 0;
    }

    .grindo-premium-footer {
        padding: 38px 0 20px;
        text-align: left;
    }

    .grindo-premium-footer__top {
        --bs-gutter-y: 1.1rem;
    }

    .grindo-premium-footer__legal {
        justify-content: flex-start;
    }

    .grindo-premium-footer h2 {
        font-size: 24px;
        line-height: 1.15;
    }

    .grindo-premium-footer h3 {
        font-size: 18px;
    }

    .grindo-premium-footer__newsletter p {
        font-size: 13px;
    }

    .grindo-premium-footer__column-logo {
        justify-content: flex-start;
    }

    .grindo-premium-footer__form {
        min-height: 60px;
    }

    .grindo-premium-footer__form input {
        height: 44px;
        padding: 0 12px;
        font-size: 13px;
    }

    .grindo-premium-footer__form button {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
    }

    .grindo-premium-footer__links {
        justify-items: start;
    }

    .grindo-premium-footer__links a,
    .grindo-premium-footer__legal a {
        font-size: 13px;
    }

    .grindo-premium-footer__contact-list li {
        font-size: 13px;
    }

    .grindo-premium-footer__socials {
        justify-content: flex-start;
    }

    .grindo-premium-footer__brand-stage {
        min-height: 56px;
        margin-top: 16px;
    }

    .grindo-premium-footer__logo {
        width: 88px;
        height: 88px;
    }

    .grindo-premium-footer__logo img {
        width: 58px;
    }

    .grindo-premium-footer__watermark {
        font-size: clamp(78px, 25vw, 120px);
    }

    .grindo-premium-footer__bottom {
        gap: 14px;
        font-size: 12px !important;
    }

    .grindo-premium-footer__bottom p {
        width: 100%;
    }

    .grindo-premium-footer__spice {
        width: 44px;
    }
}

@media (prefers-reduced-motion: reduce) {

    [data-footer-reveal],
    [data-footer-watermark],
    .grindo-premium-footer__explore.is-visible li,
    .grindo-premium-footer__form,
    .grindo-premium-footer__form button,
    .grindo-premium-footer__socials a {
        animation: none;
        transition: none;
    }
}

.announcement-bar {
    width: 100%;
    overflow: hidden;
    z-index: 300;
    background: #200f0f00;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    height: 42px;
    display: flex;
    align-items: center;
    position: relative;
}

/* .announcement-bar::before,
    .announcement-bar::after {
    content: '';
    position: absolute;
    top: 0;
    width: 80px;
    height: 100%;
    z-index: 2;
    pointer-events: none;
    } */

/* .announcement-bar::before {
  left: 0;
  background: linear-gradient(to right, #fff4f4, transparent);
}

.announcement-bar::after {
  right: 0;
  background: linear-gradient(to left, #fff4f4, transparent);
} */

.announcement-track {
    display: flex;
    align-items: center;
    width: max-content;

    /* Ultra Smooth */
    animation: marquee 35s linear infinite;

    will-change: transform;
    transform: translate3d(0, 0, 0);

    backface-visibility: hidden;
    perspective: 1000px;
}

.announcement-content {
    display: flex;
    align-items: center;
    flex-shrink: 0;

    gap: 55px;
    padding-right: 55px;
}

.announcement-content span {
    display: flex;
    align-items: center;

    white-space: nowrap;
    font-size: 13px;
    font-weight: 500;
    color: #060606;
    letter-spacing: 0.2px;

    transform: translateZ(0);
}

.announcement-content span img {
    width: 15px;
    margin-right: 8px;

    display: block;
    flex-shrink: 0;
}

/* PERFECT SMOOTH LOOP */
@keyframes marquee {
    0% {
        transform: translate3d(0, 0, 0);
    }

    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

/* Pause on Hover */
.announcement-bar:hover .announcement-track {
    animation-play-state: paused;
}

/* about us */
.grindo-about {
    background: #FAF7F2;
    position: relative;
    overflow: hidden;
}

.about-subtitle {
    color: #D97A3A;
    font-size: 14px;
    letter-spacing: 3px;
    font-weight: 600;
}

.about-title {
    font-family: 'DM Sans', sans-serif;
    font-size: 41px;
    font-weight: 700;
    line-height: 1.2;
    color: #2f2f2f;
    margin: 20px 0;
}

.about-description {
    font-size: 17px;
    line-height: 1.9;
    color: #666;
}

.about-image-wrapper {
    position: relative;
}

.grindo-quote {
    margin-top: 35px;
    padding-left: 20px;
    border-left: 4px solid #D8B23D;
    font-style: italic;
    font-size: 20px;
    color: #444;
}

/* ═══════════════════════════════════════════════════════════════
   OUR STORY  —  story-section
   Full-viewport: heading + image top | premium timeline bottom
═══════════════════════════════════════════════════════════════ */

.story-section {
    position: relative;
    height: 100vh;
    min-height: 700px;
    background: #ffffff;
    overflow: hidden;
    display: flex;
    align-items: stretch;
    z-index: 3;
}

/* Warm radial glow */
.ss__bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 58% 50% at 80% 12%, rgba(217, 181, 71, .08) 0%, transparent 60%),
        radial-gradient(ellipse 48% 42% at 8% 88%, rgba(217, 123, 61, .05) 0%, transparent 55%);
    pointer-events: none;
    z-index: 0;
}

/* Subtle dot-grid texture */
.ss__grid {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(90, 56, 37, .014) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
    z-index: 0;
}

/* Flex-column container fills the full section height */
.ss__wrap {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-top: 60px;
    padding-bottom: 80px;
}

/* Top row: stretches to fill remaining space above timeline */
.ss__top {
    flex: 1;
    margin-bottom: 0;
}

/* ── TEXT COLUMN ── */
.ss__text-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 52px;
}

.ss__text-col .section-tag {
    margin-bottom: 14px;
}

.story-title {
    font-family: 'DM Sans', sans-serif;
    font-size: 41px;
    font-weight: 700;
    color: #1C0F07;
    line-height: 1.13;
    margin: 0 0 18px;
    letter-spacing: -0.4px;
}

.story-title em {
    font-style: italic;
    color: #D97B3D;
}

.ss__para {
    font-family: 'DM Sans', sans-serif;
    font-size: 13.5px;
    line-height: 1.72;
    color: #7A5C50;
    margin: 0 0 26px;
    max-width: 400px;
    transition: opacity .25s ease;
}

/* CTA */
.ss__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #D97B3D;
    color: #fff;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .3px;
    padding: 13px 28px;
    border-radius: 100px;
    text-decoration: none;
    align-self: flex-start;
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}

.ss__btn::after {
    content: '→';
    display: inline-block;
    font-size: 14px;
    transition: transform .3s ease;
}

.ss__btn:hover {
    background: #D9B547;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 10px 28px rgba(217, 181, 71, .4);
    transform: translateY(-2px);
}

.ss__btn:hover::after {
    transform: translateX(4px);
}

/* ── IMAGE COLUMN ── */
.ss__img-col {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 20px;
}



.story-image-wrapper {
    position: relative;
    width: 100%;
    height: clamp(285px, 38vh, 371px);
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
}

/* Vignette: softly fades the illustration edges into the cream background */
.story-image-wrapper::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 68% 72% at 50% 50%,
            transparent 40%,
            rgba(250, 247, 242, 0.20) 62%,
            rgba(250, 247, 242, 0.65) 78%,
            rgba(250, 247, 242, 0.92) 90%,
            #FAF7F2 100%);
    pointer-events: none;
    z-index: 2;
}

#storyImage {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center center;
    transition: opacity .45s ease, transform .45s ease;
}

/* ── TIMELINE ── */
.story-timeline {
    display: flex;
    position: relative;
    flex-shrink: 0;


}

/* Dashed gold connecting line */
.timeline-line {
    position: absolute;
    top: 60px;
    left: calc(12.5% + 32px);
    right: calc(12.5% + 32px);
    height: 2px;
    background: repeating-linear-gradient(to right,
            rgba(217, 181, 71, .55) 0px,
            rgba(217, 181, 71, .55) 8px,
            transparent 8px,
            transparent 18px);
    pointer-events: none;
    z-index: 0;
}

/* Timeline items */
.timeline-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    cursor: pointer;
    padding: 0 14px;
    position: relative;
    z-index: 1;
    transition: transform .3s ease;
    outline: none;
}

.timeline-item:hover {
    transform: translateY(-3px);
}

.timeline-item:focus-visible .circle {
    box-shadow: 0 0 0 3px rgba(217, 181, 71, .5), 0 8px 24px rgba(217, 123, 61, .3);
}

/* Circle icon */
.circle {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid rgba(217, 181, 71, .35);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    position: relative;
    z-index: 1;
    transition:
        border-color .38s ease,
        box-shadow .38s ease,
        transform .38s ease;
    box-shadow: 0 3px 12px rgba(90, 56, 37, .07);
    overflow: hidden;
}

.circle-emoji {
    font-size: 26px;
    line-height: 1;
    display: block;
    transition: transform .38s ease;
    user-select: none;
}

.timeline-item.active .circle {
    border-color: rgba(217, 181, 71, .7);
    box-shadow:
        0 0 0 4px rgba(217, 181, 71, .15),
        0 8px 24px rgba(217, 123, 61, .35);
    transform: scale(1.12);
    background: #fff9ee;
}

.timeline-item.active .circle-emoji {
    transform: scale(1.1);
}

/* Step title */
.timeline-item h5 {
    font-family: 'DM Sans', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #3A2014;
    margin: 0 0 5px;
    line-height: 1.3;
    transition: color .38s ease;
}

.timeline-item.active h5 {
    color: #D97B3D;
}

/* Step description */
.timeline-item p {
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    line-height: 1.55;
    color: #A5897C;
    margin: 0;
}

/* ── TABLET (≤ 991px) ── */
@media (max-width: 991px) {
    .story-section {
        height: auto;
        min-height: 0;
    }

    .ss__wrap {
        padding-top: 64px;
        padding-bottom: 52px;
        gap: 40px;
        justify-content: flex-start;
    }

    .ss__top {
        flex: none;
    }

    .ss__text-col {
        padding-right: 0;
        padding-bottom: 28px;
    }

    .ss__img-col {
        padding-left: 0;
    }



    .story-timeline {
        flex-wrap: wrap;
        gap: 32px 0;
    }

    .timeline-item {
        flex: 0 0 50%;
    }

    .timeline-line {
        display: none;
    }
}

/* ── MOBILE (≤ 575px) ── */
@media (max-width: 575px) {
    .ss__wrap {
        padding-top: 52px;
        padding-bottom: 40px;
    }

    .story-title {
        font-size: clamp(26px, 7.5vw, 36px);
    }

    .ss__para {
        font-size: 13px;
    }

    .timeline-item {
        flex: 0 0 50%;
    }
}

/* categories  */
.grindo-categories {
    background: #ffffff;
    overflow: hidden;
}

.section-tag {
    display: block;
    color: #D97A3A;
    letter-spacing: 3px;
    font-size: 13px;
    font-weight: 600;

}

.category-heading-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.section-heading h2 {
    font-family: 'DM Sans', sans-serif;
    font-size: 41px;
    font-weight: 700;
    color: #2F2F2F;
    margin: 0;
    margin-bottom: 25px;
}

.section-heading {
    margin-left: 40px;
}

.category-slider__navigation {
    display: flex;
    margin-right: 40px;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.category-slider__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    padding: 0;
    color: #2F2F2F;
    background: #fff;
    border: 1px solid rgba(47, 47, 47, .14);
    border-radius: 30%;
    box-shadow: 0 8px 22px rgba(47, 47, 47, .09);
    cursor: pointer;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}

.category-slider__arrow svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.category-slider__arrow:hover,
.category-slider__arrow:focus-visible {
    color: #fff;
    background: #D97A3A;
    border-color: #D97A3A;
    transform: translateY(-2px);
}

.category-slider__arrow:focus-visible {
    outline: 3px solid rgba(217, 122, 58, .25);
    outline-offset: 3px;
}

.category-slider__arrow:active {
    transform: translateY(0);
}

.section-heading p {
    color: #777;
}

.category-slider {
    overflow: hidden;
    padding: 10px 0 28px;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
}

.category-slider__track {
    display: flex;
    width: max-content;
    animation: category-scroll 32s linear infinite;
    will-change: transform;
}

.category-slider__group {
    display: flex;
    gap: 30px;
    padding-right: 30px;
}

.category-slider:hover .category-slider__track,
.category-slider:focus-within .category-slider__track {
    animation-play-state: paused;
}

/* Fewer than 5 categories: no duplicate group, no marquee, no drag —
   just a static centered row (see $categorySliderEnabled in index.blade.php). */
.category-slider--static {
    -webkit-mask-image: none;
    mask-image: none;
}

.category-slider--static .category-slider__track {
    animation: none;
    width: 100%;
    justify-content: start;
    cursor: default;
}

@keyframes category-scroll {
    to {
        transform: translateX(-50%);
    }
}

.category-card {
    min-width: 180px;
    text-align: center;
    transition: .4s;
    cursor: pointer;
}

.category-image {
    width: 185px;
    height: 185px;
    margin: auto;
    border-radius: 10%;
    margin-top: 10px;
    background: #fff;

    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0, 0, 0, .08);
    transition: transform .4s ease;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 14px 10px;
}



.category-image img {
    width: auto;
    height: auto;
    max-width: 120px;
    max-height: 105px;
    object-fit: contain;
    font-weight: 700;
    color: #333;
    font-size: 16px;
}


.category-card:hover .category-image {
    border-color: #D8B23D;
    transform: translateY(-8px);
}

.category-card:hover img {
    transform: scale(1.08);
}

.category-card h6 {
    margin-top: 8px;
    font-weight: 700;
    color: #333;
    font-size: 16px;
}

.category-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    margin: 15px auto 0;
    font-size: 64px;
    line-height: 1;
    transition: transform .5s;
}

.category-card:hover .category-icon {
    transform: scale(1.08);
}

@media (prefers-reduced-motion:reduce) {
    .category-slider {
        overflow-x: auto;
        mask-image: none;
        -webkit-mask-image: none;
    }

    .category-slider__track {
        animation: none;
    }
}

@media (max-width:767px) {
    .section-heading {
        margin-left: 0;
    }

    .category-slider__navigation {
        margin-right: 0;
    }

    .section-heading h2 {
        font-size: 28px;
        line-height: 1.2;
    }
}

@media (max-width:575.98px) {
    .category-heading-row {
        align-items: center;
    }

    .category-slider__navigation {
        gap: 8px;
    }

    .category-slider__arrow {
        width: 38px;
        height: 38px;
    }
}

/* Featured product cards — Grindo theme */
.grindo-signature-section .card-product_wrapper {
    overflow: hidden;
    background: linear-gradient(145deg, #fffdf9 0%, #f8eddf 100%);
    border: 1px solid rgba(217, 122, 58, .14);
    border-radius: 22px;
    box-shadow: none;
    transition: border-color .35s ease;
}

.grindo-signature-section .card-product:hover .card-product_wrapper {
    border-color: rgba(217, 122, 58, .35);
    box-shadow: none;
    transform: none;
}

.grindo-signature-section .card-product_wrapper .product-img {
    height: 100%;
    background: transparent;
    border-radius: 22px;
}

.grindo-signature-section .card-product_wrapper img {
    padding: 48px 34px;
    object-fit: contain;
    object-position: center;
}

.grindo-signature-section .card-product_wrapper:hover .img-hover {
    transform: scale(1.07);
}

.grindo-signature-section .product-badge_item.new {
    color: #fff !important;
    background: #3dab25;
    border-radius: 999px;
    padding: 5px 11px;
}

.grindo-signature-section .product-badge_item.trend {
    color: #fff !important;
    border-radius: 999px;
    padding: 5px 11px;
}

.grindo-signature-section .product-action_list .box-icon {
    color: #2f2f2f;
    background: #fffaf4;
    border: 1px solid rgba(217, 122, 58, .16);
}

.grindo-signature-section .product-action_list li {
    display: list-item;
    opacity: 1;
    visibility: visible;
    transform: none;
}

.grindo-signature-section .product-action_list .box-icon:hover {
    color: #fff;
    background: #D97A3A;
    border-color: #D97A3A;
}

.grindo-signature-section .product-action_bot .tf-btn.btn-white {
    color: #fff;
    background: #D97A3A;
    border-color: #D97A3A;
    border-radius: 999px;
    box-shadow: 0 8px 20px rgba(217, 122, 58, .24);
}

.grindo-signature-section .product-action_bot {
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
}

.grindo-signature-section .card-product:hover .product-action_bot,
.grindo-signature-section .card-product:focus-within .product-action_bot {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.grindo-signature-section .product-action_bot .tf-btn.btn-white:hover {
    color: #fff;
    background: #b96027;
    border-color: #b96027;
}

.grindo-signature-section .card-product_info {
    gap: 6px;
    padding: 8px 3px 0;
}

.grindo-signature-section .card-product_info .name-product {
    color: #000;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none !important;
}

.grindo-signature-section .card-product_info .name-product:hover,
.grindo-signature-section .card-product_info .price-new.text-primary {
    color: #D97A3A !important;
    text-decoration: none !important;
}

.grindo-signature-section .card-product_info .price-new {
    font-size: 18px;
    font-weight: 600;
}

.grindo-signature-section .card-product_info .star-wrap {
    gap: 2px;
    margin: 1px 0;
}

.grindo-quickview {
    background: #fffaf4;
    overflow: hidden !important;
}

.offcanvas-backdrop,
.modal-backdrop {
    cursor: default !important;
}

.grindo-quickview .mini-quick-image {
    overflow: hidden;
}

.grindo-qv-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border: 1.5px solid rgba(47, 47, 47, .18);
    border-radius: 50%;
    background: #fff;
    color: #2f2f2f;
    cursor: pointer;
    transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.grindo-qv-close:hover {
    background: #D97B3D;
    color: #fff;
    border-color: #D97B3D;
}

.grindo-quickview .wrap-quick {
    padding-right: 16px;
}

.grindo-quickview .wrap-quick .image {
    align-items: center;
    background: linear-gradient(145deg, #fffdf9 0%, #f8eddf 100%);
    border-color: rgba(217, 122, 58, .18);
}

.grindo-quickview .wrap-quick .image img {
    padding: 36px 24px;
    object-fit: contain;
}

.grindo-quickview .product-infor-cate,
.grindo-quickview .price-on-sale {
    color: #D97A3A;
}

.grindo-quickview .product-infor-name {
    color: #2f2f2f;
}

.grindo-quickview .icon-close-popup {
    padding: 0;
    color: #2f2f2f;
    background: transparent;
    border: 0;
}

.grindo-quickview .btn-action-price,
.grindo-quickview__details {
    color: #fff;
    background: #D97A3A;
    border-color: #D97A3A;
    border-radius: 999px;
}

.grindo-quickview .btn-action-price:hover,
.grindo-quickview__details:hover {
    color: #fff;
    background: #b96027;
    border-color: #b96027;
}

.grindo-quickview .quick-price-add::before {
    content: ' - ';
}

.spice-card {

    background: linear-gradient(to bottom,
            #F5B335 0%,
            #F8C860 40%,
            #FCE6B3 70%);

}

.masala-card {
    background: linear-gradient(to bottom,
            #D97A3A 0%,
            #E9A26E 40%,
            #F7D7BE 70%);
}

.oils-card {
    background: linear-gradient(180deg,
            #FFE08A 0%,
            #FFD35A 25%,
            #F8E2A8 60%,
            #FFF7E3 85%);
}

.beverages-card {
    background: linear-gradient(180deg,
            #A8E063 0%,
            #C7F18D 35%,
            #E7F9C9 70%);
}

.spice-card {
    background: linear-gradient(180deg,
            #5B4A3F 0%,
            #7A6657 35%,
            #B8A89B 70%);
}

.sprouted-card {
    background: linear-gradient(180deg,
            #8B5E3C 0%,
            #A9744F 30%,
            #C8A27A 65%,
            #EADBC8 85%);
}

/* .pickle-card{
    background: linear-gradient(
        180deg,
        #FF4D4D 0%,
        #FF6B4A 30%,
        #FFB199 70%,
        #FFE6E0 90%,
        #FFFFFF 100%
    );
} */
.pickle-card {
    background: linear-gradient(180deg,
            #FF8C42 0%,
            #FFA552 30%,
            #FFD08A 70%,
            #FFF0D6 90%);
}

.nuts-card {
    background: linear-gradient(180deg,
            #C68E5A 0%,
            #D9A66E 35%,
            #EBC99F 70%,
            #F7E7D3 90%);
}

.sugar-card {
    background: linear-gradient(180deg,
            #8BC34A 0%,
            #B8D96C 30%,
            #D8C07A 65%,
            #F2E6C9 90%);
}

.soap-card {
    background: linear-gradient(180deg,
            #7ED957 0%,
            #A8E6A3 35%,
            #DDF5D8 70%,
            #F5FBF4 90%);
}

.nuts-card img {
    width: 160px;
}

.beverages-card img {
    width: 159px;
}

.grocery-card {
    background: linear-gradient(180deg,
            #D8C28F 0%,
            #E5D2A8 35%,
            #F2E7CC 70%,
            #FBF7ED 90%);
}

.grindo-signature-section {
    background: #FAF7F2;
    overflow: hidden;
}

.signature-left {
    text-align: center;
}

.frame-img {
    max-width: 340px;
    width: 100%;
    margin: auto;
    display: block;
}

.signature-content {
    margin-top: 25px;
}

.section-tag {
    display: inline-block;
    color: #D97A3A;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 15px;
}

.signature-content h2 {
    font-size: 35px;
    font-weight: 700;
    color: #2f2f2f;
    line-height: 1.2;
    margin-bottom: 20px;
}

.signature-content p {
    color: #666;
    line-height: 1.8;
    margin-bottom: 25px;
}

.explore-btn {
    background: #D97B3D;
    color: #fff;
    padding: 12px 28px;
    border-radius: 50px;
    text-decoration: none;
    transition: .3s;
}

.explore-btn:hover {
    background: #D9B547;
    color: #fff;
}

.slider-heading {
    font-family: 'DM Sans', sans-serif;
    font-size: 41px;
    font-weight: 700;
    color: #2F2F2F;
    margin: 0;
}

.featured-heading-row {
    min-height: 46px;
    margin-bottom: 23px !important;
}

.featured-heading-row .category-slider__navigation {
    margin-right: 0;
}

.product-prev,
.product-next {
    position: static;
    margin: 0;
}

.product-card {
    background: transparent;
    text-align: left;
    height: auto;
}

.product-card__media {
    position: relative;
    height: 265px;
    overflow: hidden;
    background: #fff;
    border-radius: 20px;
    transition: background-color .35s ease, box-shadow .35s ease;
}

.product-card__media>img {
    width: 76%;
    height: calc(100% - 100px);
    object-fit: contain;
    margin: 22px auto 0;
    display: block;
    transition: transform .5s ease;
}

.product-card__badges {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 3;
    display: flex;
    gap: 6px;
}

.product-card__badges span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    margin: 0;
    padding: 4px 12px;
    color: #fff;
    background: #2faa24;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
}

.product-card__actions {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 4;
    display: flex;

    gap: 8px;
    opacity: 0;
    transform: translateX(12px);
    transition: opacity .3s ease, transform .3s ease;
}

.product-card__actions button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    color: #222;
    background: #fff;
    border: 0;
    border-radius: 50%;
    box-shadow: 0 5px 18px rgba(0, 0, 0, .1);
    cursor: pointer;
    transition: color .25s ease, background-color .25s ease;
}

.product-card__actions button:hover,
.product-card__actions button:focus-visible {
    color: #fff;
    background: #D97A3A;
}

.product-card__cart {
    position: absolute;
    right: 20px;
    bottom: 16px;
    left: 20px;
    z-index: 4;
    min-height: 48px;
    padding: 10px 18px;
    color: #fff;
    background: #D97A3A;
    border: 0;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 700;
    opacity: 0;
    transform: translateY(18px);
    cursor: pointer;
    transition: opacity .3s ease, transform .3s ease, color .25s ease, background-color .25s ease;
}

.product-card__cart:hover,
.product-card__cart:focus-visible {
    color: #fff;
    background: #b96027;
}

.product-card:hover .product-card__media {
    background: #fff;
    box-shadow: 0 14px 35px rgba(47, 47, 47, .12);
}

.product-card:hover .product-card__media>img {
    transform: scale(1.07);
}

.product-card:hover .product-card__actions,
.product-card:focus-within .product-card__actions,
.product-card:hover .product-card__cart,
.product-card:focus-within .product-card__cart {
    opacity: 1;
    transform: translate(0);
}

.product-card__info {
    padding: 16px 2px 0;
}

.product-card__info h5 {
    margin: 0;
    color: #2f2f2f;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.35;
}

.product-card__info p {
    margin: 6px 0 0;
    color: #ef4949;
    font-size: 18px;
    font-weight: 500;
}

@media (max-width:991.98px) {
    .grindo-signature-section .signature-left {
        margin-bottom: 20px;
    }
}

@media (max-width:767px) {
    .slider-heading {
        font-size: 28px;
    }

    .signature-content h2 {
        font-size: 28px;
    }
}

@media (max-width:575.98px) {
    .product-card__media {
        height: 280px;
    }
}

.grindo-quickview {
    background-color: white !important;

}

/* banner  */
/* Banner Section */
.grindo-banner-section {
    padding: 64px 0;
    background-color: #ffffff;
    overflow-x: hidden;
}

.bannerimg {
    width: 100%;
    overflow: hidden;
    border-radius: 24px;
    position: relative;
    cursor: pointer;
}

.banner-large-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
    transition: all .5s ease;
}

.banner-large-img {
    height: 450px;
}


.banner-large-img:hover img {
    transform: none;
}

/* Bottom Banners */
.banner-small-img {
    height: 260px;
}

.bannerimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: all .5s ease;
}

.bannerimg:hover img {
    transform: scale(1.05);
}

/* Mobile */
@media (max-width:768px) {

    .grindo-banner-section {
        padding: 48px 0;
    }

    .banner-large-img {
        height: 250px;
    }

    .banner-small-img {
        height: 180px;
    }
}

.double {
    margin-top: 20px;
}

.flat-spacing {
    background-color: #FAF7F2;
}

/* Customer favourites */
.grindo-favourites {
    position: relative;
    height: auto;
    min-height: 0;
    max-height: none;
    padding: 64px 0 94px !important;
    overflow: hidden;
    background-color: #FAF7F2;
}

.grindo-favourites .swiper-wrapper,
.grindo-favourites .swiper-slide {
    height: auto;
}

.grindo-favourites>.container {
    width: 100%;
}

.grindo-favourites .section-heading {
    margin-bottom: 32px !important;
    margin-left: 0;
    overflow: visible;
    margin-top: 0;
}

.grindo-favourites .customerFavouritesSwiper,
.grindo-favourites .customerFavouritesSwiper .swiper-wrapper,
.grindo-favourites .customerFavouritesSwiper .swiper-slide {
    height: auto;
}

.grindo-favourites .customerFavouritesSwiper .swiper-wrapper {
    align-items: flex-start;
}

.grindo-favourites .section-tag {
    display: inline-block;
    color: #D97A3A;
    letter-spacing: 2.5px;
    line-height: 1.5;
    margin-bottom: 22px;
    padding: 2px 0;
    overflow: visible;
}

.grindo-favourites .category-heading-row {
    align-items: center;
}

.grindo-favourites .section-heading h2 {
    line-height: 1.15;
    margin-bottom: 0;
}

.grindo-favourites__intro {
    max-width: 620px;
    margin: 10px 0 0;
    color: rgba(59, 36, 24, .68);
    line-height: 1.7;
}

.grindo-favourites .card-product_wrapper {
    height: 250px;
    overflow: hidden;
    border: 1px solid rgba(90, 56, 37, .08);
    border-radius: 20px;
    background: #FFFDF9;
    box-shadow: 0 12px 34px rgba(69, 42, 25, .06);
}

.grindo-favourites .product-img {
    height: 100%;
}

.grindo-favourites .product-img img {
    width: 100%;
    height: 250px;
    padding: 20px;
    object-fit: contain;
    object-position: center;
}

.grindo-favourites .card-product_info {
    padding-top: 14px;
}

.grindo-favourites .name-product {
    color: #3B2418;
    font-size: 15px;
}

.grindo-favourites .price-new.text-primary {
    color: #8A3F25 !important;
}

.grindo-favourites .star-wrap {
    color: #D8A62E;
}

.grindo-favourites .product-badge_item.sale {
    color: #fff;
    background: #8A3F25;
}

.grindo-favourites .product-marquee_sale {
    display: none !important;
}

.grindo-favourites .product-action_list .box-icon {
    width: 40px;
    height: 40px;
}

.grindo-favourites .category-slider__navigation {
    display: flex;
    margin-right: 0;
}

.grindo-favourites .category-slider__arrow {
    color: #2F2F2F;
    background: #fff;
    border-color: rgba(217, 122, 58, .18);
}

.grindo-favourites .category-slider__arrow:hover,
.grindo-favourites .category-slider__arrow:focus-visible {
    color: #fff;
    background: #D97A3A;
    border-color: #D97A3A;
}

.grindo-favourites .product-action_list .box-icon {
    color: #2F2F2F;
    background: #FFFAF4;
    border: 1px solid rgba(217, 122, 58, .16);
}

.grindo-favourites .product-action_list .box-icon:hover {
    color: #fff;
    background: #D97A3A;
    border-color: #D97A3A;
}

.grindo-favourites .product-action_bot .tf-btn.btn-white {
    color: #fff;
    background: #D97A3A;
    border-color: #D97A3A;
    border-radius: 999px;
    box-shadow: 0 8px 20px rgba(217, 122, 58, .24);
}

.grindo-favourites .product-action_bot .tf-btn.btn-white:hover {
    color: #fff;
    background: #B96027;
    border-color: #B96027;
}

.grindo-favourites .price-new.text-primary,
.grindo-favourites .name-product:hover {
    color: #D97A3A !important;
    text-decoration: none !important;
}

.grindo-favourites .sw-dot-default {
    margin-top: 24px;
}

@media (max-width:1199px) {
    .grindo-favourites {
        height: auto;
        max-height: none;
    }

    .grindo-favourites .card-product_wrapper {
        height: 310px;
    }
}

@media (max-width:767px) {
    .grindo-favourites {
        min-height: 0;
        padding: 48px 0 78px !important;
    }

    .grindo-favourites .category-heading-row {
        align-items: center;
    }

    .grindo-favourites__intro {
        font-size: 14px;
    }

    .grindo-favourites .card-product_wrapper {
        height: 280px;
    }

    .grindo-favourites .product-img img {
        padding: 18px;
    }
}


/* why grindo   */
.grindo-why-section {
    padding: 100px 0;
    background:
        linear-gradient(180deg,
            #fff,
            #faf7f2);
    position: relative;
}

.section-header {
    max-width: 700px;
    margin: auto;
    margin-bottom: 70px;
}

.section-subtitle {
    color: #D8B23D;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.section-header h2 {
    font-size: 48px;
    margin: 15px 0;
    color: #2F2F2F;
    font-weight: 700;
}

.section-header p {
    color: #666;
}

.grindo-why-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 320px 1fr 1fr;
    gap: 30px;
    align-items: center;
}

.why-card {
    background: #fff;
    padding: 35px;
    border-radius: 25px;
    text-align: center;
    transition: .4s;
    box-shadow:
        0 10px 35px rgba(0, 0, 0, .05);
}

.why-card:hover {
    transform: translateY(-10px);
}

.icon-box {
    width: 70px;
    height: 70px;
    margin: auto;
    border-radius: 50%;
    background: #FFF6E4;
    color: #D8B23D;
    font-size: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.why-card h4 {
    color: #2F2F2F;
    margin-bottom: 10px;
}

.why-card p {
    color: #777;
    line-height: 1.7;
}

.center-logo {
    display: flex;
    justify-content: center;
}

.logo-circle {
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background:
        linear-gradient(135deg,
            #FFF6E4,
            #FFFFFF);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow:
        0 20px 50px rgba(0, 0, 0, .08);
}

.logo-circle img {
    width: 150px;
}

/* Interactive Why Choose Grindo */
.grindo-why-scroll {
    position: relative;
    min-height: 100vh;
    background: linear-gradient(135deg, #FAF7F2 0%, #F5EBDD 100%);
}

.grindo-why-scroll+.grindo-story {
    margin-top: -100vh;
}

.grindo-why {
    --why-accent: #D84315;
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    height: 100vh;
    min-height: 780px;
    max-height: 960px;
    padding: 56px 0;
    overflow: hidden;
    background: linear-gradient(135deg, #FAF7F2 0%, #F5EBDD 100%);
}

.grindo-why[data-active="1"] {
    --why-accent: #D8B23D;
}

.grindo-why[data-active="2"] {
    --why-accent: #6D4C41;
}

.grindo-why[data-active="3"] {
    --why-accent: #7CB342;
}

.grindo-why__texture {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .16;
    background-image: radial-gradient(circle at 20% 20%, rgba(138, 90, 60, .12) 0 1px, transparent 1.5px), radial-gradient(circle at 80% 65%, rgba(216, 178, 61, .1) 0 1px, transparent 1.5px);
    background-size: 30px 30px, 44px 44px;
}

.grindo-why__container,
.grindo-why__row {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
}

.grindo-why__visual-column,
.grindo-why__content-column {
    height: 100%;
}

.grindo-why__content-column {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: clamp(30px, 5vw, 88px);
}

.grindo-why__arc {
    position: relative;
    width: min(100%, 570px);
    height: 100%;
    min-height: 560px;
    margin: auto;
}

.grindo-why__arc-line {
    position: absolute;
    top: 7%;
    bottom: 7%;
    left: -20%;
    width: 90%;
    border: 1px solid rgba(138, 90, 60, .25);
    border-left: 0;
    border-radius: 0 50% 50% 0;
    box-shadow: inset -24px 0 70px rgba(216, 178, 61, .08);
}

.grindo-why__arc-line::after {
    position: absolute;
    top: 50%;
    right: -7px;
    width: 14px;
    height: 14px;
    border: 3px solid #FAF7F2;
    border-radius: 50%;
    background: var(--why-accent);
    box-shadow: 0 0 0 8px color-mix(in srgb, var(--why-accent) 16%, transparent);
    content: "";
    transform: translateY(-50%);
    transition: background-color .7s ease, box-shadow .7s ease;
}

.grindo-why__bowl {
    position: absolute;
    z-index: 3;
    width: 210px;
    height: 205px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    opacity: .55;
    filter: blur(.5px) saturate(.8);
    transform: translate(-50%, -50%) scale(.78);
    transition: left .75s cubic-bezier(.22, .8, .25, 1), top .75s cubic-bezier(.22, .8, .25, 1), transform .75s ease, opacity .65s ease, filter .65s ease;
}

.grindo-why__bowl.is-slot-0 {
    top: 50%;
    left: 72%;
}

.grindo-why__bowl.is-slot-1 {
    top: 88%;
    left: 44%;
}

.grindo-why__bowl.is-slot-2 {
    top: 9%;
    left: 12%;
}

.grindo-why__bowl.is-slot-3 {
    top: 24%;
    left: 49%;
}

.grindo-why__bowl.is-active {
    z-index: 6;
    opacity: 1;
    filter: none;
    transform: translate(-50%, -50%) scale(1.15);
}

.grindo-why__bowl.is-active::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 176px;
    height: 176px;
    transform: translate(-50%, -50%);
    border: 2px solid #D8B23D;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(216, 178, 61, .08), transparent 68%);
    box-shadow: 0 10px 35px color-mix(in srgb, var(--why-accent) 22%, transparent);
    content: "";
}

.grindo-why__bowl-crop {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 160px;
    height: 160px;
    border-radius: 50%;
    overflow: hidden;
    background: #ffffff;
    border: 3px solid rgba(217, 181, 71, .28);
    box-shadow:
        0 8px 32px rgba(90, 56, 37, .12),
        0 2px 8px rgba(90, 56, 37, .06);
}

.grindo-why__bowl-crop img {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: 100%;
    object-fit: contain;

    max-width: none;
    pointer-events: none;
}

.grindo-why__bowl-badge {
    display: none;
}

.grindo-why__focal {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 4%;
    display: grid;
    width: 122px;
    height: 122px;
    place-items: center;
    border: 1px solid rgba(138, 90, 60, .18);
    border-radius: 50%;
    background: rgba(255, 253, 249, .88);
    transform: translateY(-50%);
    box-shadow: 0 4px 18px rgba(90, 56, 37, .1);
}

.grindo-why__focal-logo {
    width: 78px;
    height: auto;
    object-fit: contain;
    display: block;
}

.grindo-why__label {
    display: block;
    margin-bottom: 15px;
    color: #8A5A3C;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.grindo-why__header {
    max-width: 720px;
}

.grindo-why__header h2 {
    margin: 0;
    color: #3B2418;
    font-family: 'DM Sans', sans-serif;
    font-size: 41px;
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -1px;
}

.grindo-why__header>p {
    max-width: 620px;
    margin: 20px 0 0;
    color: rgba(59, 36, 24, .68);
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    line-height: 1.75;
}

.grindo-why__content-stage {
    position: relative;
    min-height: 300px;
    margin-top: 38px;
}

.grindo-why__content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: flex-start;
    gap: 22px;
    max-width: 640px;
    padding: 24px 28px;
    border-left: 4px solid var(--why-accent);
    border-radius: 0 18px 18px 0;
    background: rgba(255, 255, 255, .46);
    opacity: 0;
    visibility: hidden;
    transform: translateY(22px);
    transition: opacity .65s ease, transform .65s ease, visibility .65s;
}

.grindo-why__content.is-active {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.grindo-why__content-icon {
    display: grid;
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    place-items: center;
    border-radius: 50%;
    color: var(--why-accent);
    background: transparent;
    border: 1.8px solid var(--why-accent);
    font-size: 20px;
    box-shadow: 0 4px 16px color-mix(in srgb, var(--why-accent) 16%, transparent);
    transition: color .65s ease, border-color .65s ease, box-shadow .65s ease;
}

.grindo-why__number {
    color: var(--why-accent);
    font-family: 'DM Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
}

.grindo-why__content h3 {
    margin: 2px 0 7px;
    color: #3B2418;
    font-family: 'DM Sans', sans-serif;
    font-size: 30px;
    font-weight: 600;
}

.grindo-why__content p {
    margin: 0;
    color: rgba(59, 36, 24, .7);
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    line-height: 1.65;
}

.grindo-why__controls {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 20px;
}

.grindo-why__arrow {
    display: grid;
    width: 42px;
    height: 42px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(90, 56, 37, .16);
    border-radius: 50%;
    color: #5A3825;
    background: rgba(255, 255, 255, .64);
    transition: .25s ease;
}

.grindo-why__arrow:hover {
    color: #fff;
    border-color: var(--why-accent);
    background: var(--why-accent);
    transform: translateY(-2px);
}

.grindo-why__dots {
    display: flex;
    align-items: center;
    gap: 8px;
}

.grindo-why__dot {
    width: 24px;
    height: 4px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: rgba(90, 56, 37, .18);
    transition: width .35s ease, background-color .35s ease;
}

.grindo-why__dot.is-active {
    width: 38px;
    background: var(--why-accent);
}

.grindo-why__particle {
    position: absolute;
    z-index: 1;
    width: 72px;
    opacity: .1;
    filter: blur(.5px);
    pointer-events: none;
    animation: why-particle-float 10s ease-in-out infinite;
}

.grindo-why__particle--one {
    top: 14%;
    right: 7%;
}

.grindo-why__particle--two {
    right: 14%;
    bottom: 8%;
    width: 58px;
    animation-delay: -4s;
}

@keyframes why-particle-float {

    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(-8deg);
    }

    50% {
        transform: translate3d(8px, -13px, 0) rotate(4deg);
    }
}

@media (min-width:1200px) and (max-height:850px) {
    .grindo-why {
        height: 100svh;
        min-height: 0;
        padding: 32px 0;
    }

    .grindo-why__arc {
        min-height: 500px;
    }

    .grindo-why__header h2 {
        font-size: clamp(38px, 3vw, 50px);
    }

    .grindo-why__content-stage {
        min-height: 255px;
        margin-top: 28px;
    }

    .grindo-why__content {
        padding: 20px 24px;
    }

    .grindo-why__content h3 {
        font-size: 27px;
    }

    .grindo-why__content p {
        font-size: 13px;
        line-height: 1.55;
    }
}

@media (max-width:1199px) {
    .grindo-why-scroll {
        min-height: 0;
    }

    .grindo-why-scroll+.grindo-story {
        margin-top: 0;
    }

    .grindo-why {
        position: relative;
        top: auto;
        height: auto;
        min-height: 720px;
        max-height: none;
    }

    /* .grindo-why__container still carries the desktop height:100% (its
       sticky-scroll parent is a definite 100vh box there) — against the
       now height:auto .grindo-why above, that 100% doesn't collapse to
       content size but resolves against the viewport instead, ballooning
       the whole section far taller than its actual content. */
    .grindo-why__container {
        height: auto;
    }

    .grindo-why__content-column {
        padding-left: 24px;
    }

    .grindo-why__arc {
        height: 620px;
    }

    .grindo-why__bowl {
        width: 180px;
        height: 180px;
    }

    .grindo-why__bowl-crop {
        left: 5px;
        width: 170px;
        height: 165px;
    }

    .grindo-why__bowl-crop img {
        top: -84px;
        width: 680px;
    }

    .grindo-why__bowl-crop--1 img {
        left: -170px;
    }

    .grindo-why__bowl-crop--2 img {
        left: -340px;
    }

    .grindo-why__bowl-crop--3 img {
        left: -510px;
    }
}

@media (max-width:767px) {
    .grindo-why {
        display: block;
        min-height: 0;
        padding: 58px 0 50px;
    }

    .grindo-why__row {
        height: auto;
    }

    .grindo-why__visual-column,
    .grindo-why__content-column {
        height: auto;
    }

    .grindo-why__visual-column {
        order: 2;
    }

    .grindo-why__content-column {
        order: 1;
        padding-left: calc(var(--bs-gutter-x)*.5);
    }

    .grindo-why__header {
        text-align: center;
    }

    .grindo-why__header h2 {
        font-size: clamp(26px, 7vw, 30px);
    }

    .grindo-why__header>p {
        margin-right: auto;
        margin-left: auto;
        font-size: 14px;
    }

    .grindo-why__content-icon {
        width: 44px;
        height: 44px;
        flex: 0 0 44px;
        font-size: 16px;
    }

    .grindo-why__content h3 {
        font-size: 22px;
        margin-bottom: 4px;
    }

    .grindo-why__content p {
        font-size: 13px;
        line-height: 1.6;
    }

    .grindo-why__arc {
        display: flex;
        width: 100%;
        height: auto;
        min-height: 0;
        margin-top: 30px;
        padding: 0;
        gap: 10px;
        justify-content: center;
        overflow-x: visible;
        scroll-snap-type: none;
    }

    .grindo-why__arc::-webkit-scrollbar {
        display: none;
    }

    .grindo-why__arc-line,
    .grindo-why__focal {
        display: none;
    }

    /* All four bowls sit in one small row, fully in view — no swipe needed.
       The desktop base rule dims + blurs inactive bowls (opacity:.55,
       blur(.5px)) to focus attention on the active one in its big arc —
       at this compact size that just makes them nearly invisible against
       the cream background, so every bowl stays fully sharp/opaque here. */
    .grindo-why__bowl,
    .grindo-why__bowl.is-slot-0,
    .grindo-why__bowl.is-slot-1,
    .grindo-why__bowl.is-slot-2,
    .grindo-why__bowl.is-slot-3 {
        position: relative;
        top: auto;
        left: auto;
        width: 56px;
        height: 56px;
        flex: 0 0 56px;
        scroll-snap-align: none;
        opacity: 1;
        filter: none;
        transform: none;
    }

    .grindo-why__bowl.is-active {
        transform: scale(1.12);
    }

    .grindo-why__bowl.is-active::before {
        width: 60px;
        height: 60px;
    }

    .grindo-why__bowl-crop {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 56px;
        height: 56px;
    }

    /* The tablet tier's crop-window offsets (width:680px + a per-bowl
       top/left shift) leak through here since this breakpoint never
       overrides them — reset to a plain, centered fill so the bowl photo
       is fully visible instead of mostly scrolled out of its own crop. */
    .grindo-why__bowl-crop img,
    .grindo-why__bowl-crop--1 img,
    .grindo-why__bowl-crop--2 img,
    .grindo-why__bowl-crop--3 img {
        top: 0;
        left: 0;
        width: 100%;
    }

    .grindo-why__content-stage {
        min-height: 520px;
        margin-top: 28px;
        transition: min-height .35s ease;
    }

    .grindo-why__content {
        right: 4px;
        left: 4px;
        padding: 20px;
    }

    .grindo-why__controls {
        justify-content: center;
        margin-top: 16px;
    }

    .grindo-why__particle {
        display: none;
    }
}

@media (prefers-reduced-motion:reduce) {

    .grindo-why__bowl,
    .grindo-why__content,
    .grindo-why__dot,
    .grindo-why__arrow {
        transition: none;
    }

    .grindo-why__particle {
        animation: none;
    }
}

/* story-section CSS is defined in the OUR STORY block above */

/* ============================================================
   FLOATING ACTION BUTTONS
   ============================================================ */

.grindo-fab {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    pointer-events: none;
}

/* ── WhatsApp ── */
.grindo-fab__whatsapp {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #25D366;
    color: #ffffff;
    font-size: 22px;
    text-decoration: none;
    box-shadow: 0 6px 24px rgba(37, 211, 102, .40);
    pointer-events: all;
    transition: background .3s ease, transform .3s ease, box-shadow .3s ease;
    flex-shrink: 0;
}

.grindo-fab__whatsapp:hover {
    background: #1ebe5d;
    transform: scale(1.1);
    box-shadow: 0 10px 32px rgba(37, 211, 102, .55);
    color: #ffffff;
}

.grindo-fab__whatsapp i {
    position: relative;
    z-index: 1;
}

/* ripple ring */
.grindo-fab__ripple {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: rgba(37, 211, 102, .45);
    animation: grindoRipple 2s ease-out infinite;
    pointer-events: none;
}

@keyframes grindoRipple {
    0% {
        transform: scale(1);
        opacity: .7;
    }

    100% {
        transform: scale(1.9);
        opacity: 0;
    }
}

/* ── Scroll to top ── */
.grindo-fab__top {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid #D4A017;
    color: #D4A017;
    font-size: 16px;
    cursor: pointer;
    pointer-events: all;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .10);
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity .35s ease, visibility .35s ease, transform .35s ease,
        background .3s ease, color .3s ease, box-shadow .3s ease;
    flex-shrink: 0;
}

.grindo-fab__top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.grindo-fab__top:hover {
    background: #D4A017;
    color: #ffffff;
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(212, 160, 23, .35);
}

/* ── Responsive ── */
@media (max-width: 991px) {
    .grindo-fab {
        bottom: 25px;
        right: 20px;
    }
}

@media (max-width: 575px) {
    .grindo-fab {
        bottom: 20px;
        right: 15px;
    }

    .grindo-fab__whatsapp {
        width: 54px;
        height: 54px;
        font-size: 25px;
    }

    .grindo-fab__top {
        width: 50px;
        height: 50px;
        font-size: 16px;
    }
}

.grindo-testimonials {
    --gt-bg: #FAF7F2;
    --gt-heading: #3E2723;
    --gt-body: #6B625C;
    --gt-accent: #E5792D;
    --gt-accent-dark: #C95F18;
    --gt-star: #F4B400;
    position: relative;
    overflow: hidden;
    padding: 110px 0 96px;
    background: #FAF7F2;
    color: var(--gt-body);
    font-family: 'DM Sans', sans-serif;
    isolation: isolate;
}

.grindo-testimonials::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .34;
    background-image:
        linear-gradient(90deg, rgba(62, 39, 35, .05) 1px, transparent 1px),
        linear-gradient(rgba(62, 39, 35, .04) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: radial-gradient(circle at center, #000 0 58%, transparent 82%);
}

.grindo-testimonials::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .05;

    background-size: 180px 180px;
}

.grindo-testimonials__intro {
    max-width: 780px;
    margin: 0 auto 54px;
    text-align: center;
}

.grindo-testimonials__label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 16px;
    color: var(--gt-accent);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.grindo-testimonials__intro h2 {
    margin: 0;
    color: var(--gt-heading);
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(36px, 2.6vw, 64px);
    font-weight: 700;
    line-height: 1.08;
}

.grindo-testimonials__intro p {
    max-width: 690px;
    margin: 22px auto 0;
    color: var(--gt-body);
    font-size: 16px;
    line-height: 1.8;
}

.grindo-testimonials__rating {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 30px;
    padding: 14px 22px;
    border: 1px solid rgba(229, 121, 45, .22);
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 18px 44px rgba(62, 39, 35, .08);
}

.grindo-testimonials__rating-stars,
.testimonial-card__stars {
    color: var(--gt-star);
    line-height: 1;
    letter-spacing: 2px;
    white-space: nowrap;
}

.grindo-testimonials__rating-copy strong {
    display: block;
    color: var(--gt-heading);
    font-size: 15px;
    font-weight: 700;
}

.grindo-testimonials__rating-copy span {
    display: block;
    color: var(--gt-body);
    font-size: 12px;
    font-weight: 500;
}

.grindo-testimonials__columns {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
    max-height: 760px;
    overflow: hidden;
    padding: 10px 0;
    mask-image: linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
}

.grindo-testimonials__column {
    min-width: 0;
    overflow: hidden;
}

.grindo-testimonials__track {
    display: flex;
    flex-direction: column;
    will-change: transform;
    animation-duration: var(--scroll-duration, 34s);
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    transform: translate3d(0, 0, 0);
}

.grindo-testimonials__group {
    display: flex;
    flex-direction: column;
    gap: 25px;
    padding-bottom: 25px;
}

.grindo-testimonials__column:hover .grindo-testimonials__track,
.grindo-testimonials.is-paused .grindo-testimonials__track {
    animation-play-state: paused;
}

.grindo-testimonials__column--up .grindo-testimonials__track {
    animation-name: grindo-testimonial-scroll-up;
}

.grindo-testimonials__column--down .grindo-testimonials__track {
    animation-name: grindo-testimonial-scroll-down;
}

.testimonial-card {
    width: 100%;
    min-height: 272px;
    padding: 22px;
    border: 1px solid rgba(62, 39, 35, .06);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 34px rgba(62, 39, 35, .08);
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    transform: translateZ(0);
}

.testimonial-card:hover {
    z-index: 2;
    border-color: rgba(229, 121, 45, .32);
    box-shadow: 0 26px 60px rgba(62, 39, 35, .15);
    transform: translateY(-8px) scale(1.03);
}

.testimonial-card__stars {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    color: var(--gt-star);
    font-size: 15px;
    transition: transform .35s ease, letter-spacing .35s ease;
}

.testimonial-card__stars-text {
    letter-spacing: 2px;
}

.testimonial-card__google {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 8px 18px rgba(62, 39, 35, .1);
}

.testimonial-card__google svg {
    width: 17px;
    height: 17px;
}

.testimonial-card:hover .testimonial-card__stars-text {
    letter-spacing: 3px;
}

.testimonial-card:hover .testimonial-card__stars {
    transform: translateY(-2px);
}

.testimonial-card__person {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

.testimonial-card__avatar {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border: 2px solid #FAF7F2;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 6px 14px rgba(62, 39, 35, .12);
}

.testimonial-card__name {
    margin: 0 0 3px;
    color: var(--gt-heading);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.25;
}

.testimonial-card__city {
    margin: 0;
    color: var(--gt-body);
    font-size: 13px;
    font-weight: 500;
}

.testimonial-card__review {
    display: -webkit-box;
    min-height: 68px;
    margin: 0 0 16px;
    overflow: hidden;
    color: var(--gt-body);
    font-size: 14px;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.testimonial-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.testimonial-card__product {
    display: inline-flex;
    flex-direction: column;
    gap: 3px;
    max-width: 178px;
    padding: 9px 13px;
    border-radius: 999px;
    background: rgba(229, 121, 45, .12);
    color: var(--gt-heading);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.1;
}

.testimonial-card__product span {
    color: var(--gt-accent-dark);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.testimonial-card__date {
    color: rgba(107, 98, 92, .82);
    font-size: 12px;
    white-space: nowrap;
}

.grindo-testimonials__mobile-slider {
    display: none;
}

.grindo-testimonials__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 62px;
    padding: 34px 38px;
    border: 1px solid rgba(229, 121, 45, .22);
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(255, 250, 240, .86)),
        #fff;
    box-shadow: 0 24px 70px rgba(62, 39, 35, .1);
}

.grindo-testimonials__cta h3 {
    margin: 0;
    color: var(--gt-heading);
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(28px, 3.2vw, 44px);
    font-weight: 700;
    line-height: 1.15;
}

.grindo-testimonials__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 15px 28px;
    border-radius: 999px;
    background: var(--gt-accent);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 14px 28px rgba(229, 121, 45, .28);
    transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
    white-space: nowrap;
}

.grindo-testimonials__button:hover {
    background: var(--gt-accent-dark);
    color: #fff;
    box-shadow: 0 18px 36px rgba(201, 95, 24, .3);
    transform: translateY(-2px);
}

@keyframes grindo-testimonial-scroll-up {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(0, -50%, 0);
    }
}

@keyframes grindo-testimonial-scroll-down {
    from {
        transform: translate3d(0, -50%, 0);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

@media (max-width: 1199.98px) {
    .grindo-testimonials__columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-height: 720px;
    }
}

@media (max-width: 767.98px) {
    .grindo-testimonials {
        padding: 78px 0 70px;
    }

    .grindo-testimonials__intro {
        margin-bottom: 34px;
    }

    .grindo-testimonials__rating {
        align-items: flex-start;
        border-radius: 22px;
        text-align: left;
    }

    .grindo-testimonials__columns {
        display: none;
    }

    .grindo-testimonials__mobile-slider {
        display: flex;
        gap: 18px;
        margin: 0 -12px;
        padding: 8px 12px 22px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .grindo-testimonials__mobile-slider::-webkit-scrollbar {
        display: none;
    }

    .grindo-testimonials__mobile-slider .testimonial-card {
        width: min(86vw, 330px);
        flex: 0 0 min(86vw, 330px);
        scroll-snap-align: center;
    }

    .grindo-testimonials__cta {
        align-items: flex-start;
        flex-direction: column;
        margin-top: 42px;
        padding: 28px 24px;
        border-radius: 24px;
    }

    .grindo-testimonials__button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {

    .grindo-testimonials__track,
    .testimonial-card,
    .testimonial-card__stars,
    .grindo-testimonials__button {
        animation: none !important;
        transition: none !important;
    }

    .grindo-testimonials__columns {
        max-height: none;
        overflow: visible;
        mask-image: none;
    }
}

/* Premium orange CTA */
.grindo-heritage-cta {
    display: flex;
    align-items: center;
    padding: 50px 0;
    background: #FAF7F2;
    overflow: hidden;
}

.grindo-heritage-cta__panel {
    position: relative;
    max-width: 1400px;
    height: 400px;
    min-height: 420px;
    margin: 0 auto;
    overflow: visible;
    border-radius: 28px;
    background:
        radial-gradient(circle at 78% 42%, rgba(255, 255, 255, .24), transparent 30%),
        radial-gradient(circle at 90% 74%, rgba(61, 42, 32, .22), transparent 28%),
        linear-gradient(135deg, #d9743e 0%, #e8894f 40%, #f09b63 100%);
    box-shadow: 0 32px 90px rgba(97, 50, 29, .22);
    isolation: isolate;
}

.grindo-heritage-cta__fabric {
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: .05;
    background-image:
        linear-gradient(45deg, #fff 25%, transparent 25%),
        linear-gradient(-45deg, #fff 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, #fff 75%),
        linear-gradient(-45deg, transparent 75%, #fff 75%);
    background-position: 0 0, 0 9px, 9px -9px, -9px 0;
    background-size: 18px 18px;
    pointer-events: none;
}

.grindo-heritage-cta__panel::after {
    content: "";
    position: absolute;
    width: 340px;
    height: 340px;
    right: 4%;
    top: 50%;
    z-index: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .15);
    filter: blur(38px);
    transform: translateY(-50%);
}

.grindo-heritage-cta__row {
    position: relative;
    z-index: 2;

}

.grindo-heritage-cta__copy {
    padding-left: 50px;
    padding-top: 30px;
    width: 42%;
}

.grindo-heritage-cta__visual {
    position: relative;
    width: 58%;
    height: 100%;
    padding: 20px 0 20px 10px;
}

.grindo-heritage-cta__badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    padding: 8px 15px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 999px;
    background: rgba(255, 255, 255, .15);
    color: #fff;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
}

.grindo-heritage-cta__badge i {
    color: #FFE1C9;
}

.grindo-heritage-cta h2 {
    max-width: 520px;
    margin: 0;
    color: #fff;
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(32px, 3.2vw, 52px);
    font-weight: 700;
    line-height: 1.08;
}

.grindo-heritage-cta__copy p {
    max-width: 480px;
    margin: 14px 0 0;
    color: rgba(255, 255, 255, .92);
    font-family: 'DM Sans', sans-serif;
    font-size: 18px;
    line-height: 1.65;
}

.grindo-heritage-cta__actions {
    display: flex;
    margin-top: 20px;
}

.grindo-heritage-cta__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 56px;
    padding: 14px 26px;
    border-radius: 999px;
    background: #fff;
    color: #d9743e;
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 22px 52px rgba(117, 52, 20, .2);
    transition: transform .28s ease, background .28s ease, color .28s ease, box-shadow .28s ease;
}

.grindo-heritage-cta__btn:hover {
    background: #3D2A20;
    color: #fff;
    box-shadow: 0 26px 62px rgba(61, 42, 32, .26);
    transform: translateY(-4px);
}

.grindo-heritage-cta__proof {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin: 14px 0 0;
    padding: 0;
    color: rgba(255, 255, 255, .95);
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    list-style: none;
}

.grindo-heritage-cta__proof i {
    margin-right: 7px;
    color: #FFF1DF;
}

.grindo-heritage-cta__composition {

    inset: 10px -40px 8px 10px;
    z-index: 2;
    animation: grindo-cta-composition 7s ease-in-out infinite;
    transition: transform .4s ease;
}

.grindo-heritage-cta__composition:hover {
    transform: scale(1.025);
}

.grindo-heritage-cta__glow {
    position: absolute;
    width: 380px;
    height: 380px;
    right: 6%;
    top: 50%;
    border-radius: 50%;
    background: rgba(255, 255, 255, .15);
    filter: blur(28px);
    transform: translateY(-50%);
}

.grindo-heritage-cta__dust {
    position: absolute;
    inset: 46px -34px 34px 0;
    z-index: 1;
    opacity: .5;
    background-image:
        radial-gradient(circle, rgba(255, 240, 210, .95) 0 1px, transparent 1.8px),
        radial-gradient(circle, rgba(232, 196, 138, .75) 0 1px, transparent 1.6px);
    background-position: 0 0, 30px 24px;
    background-size: 62px 62px, 86px 86px;
    mask-image: radial-gradient(circle at 60% 50%, #000 0 44%, transparent 78%);
}

.grindo-heritage-cta__board {
    position: absolute;
    right: 18%;
    bottom: 11%;
    width: 322px;
    height: 96px;
    z-index: 1;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(61, 42, 32, .9), rgba(91, 54, 33, .72));
    box-shadow: 0 34px 60px rgba(61, 42, 32, .22);
    transform: rotate(-5deg);
}

.grindo-heritage-cta__asset,
.grindo-heritage-cta__spice,
.grindo-heritage-cta__coffee-cup,
.grindo-heritage-cta__spoon,
.grindo-heritage-cta__leaf,
.grindo-heritage-cta__pepper {
    position: absolute;
    z-index: 4;
    filter: drop-shadow(0 24px 30px rgba(61, 42, 32, .24));
    transition: transform .35s ease, filter .35s ease;
}

.grindo-heritage-cta__asset:hover,
.grindo-heritage-cta__spice:hover {
    animation-play-state: paused;
    filter: drop-shadow(0 30px 42px rgba(61, 42, 32, .28));
    transform: translateY(-8px) scale(1.05) !important;
}

.grindo-heritage-cta__asset--bowls {
    width: min(35vw, 420px);
    right: 18%;
    bottom: 11%;
    z-index: 5;
    animation: grindo-cta-float 6.4s ease-in-out infinite;
}

.grindo-heritage-cta__asset--masala {
    width: min(11vw, 131px);
    right: 36%;
    top: 12%;
    z-index: 6;
    animation: grindo-cta-float-rotate-soft 7s ease-in-out infinite;
}

.grindo-heritage-cta__asset--pickle {
    width: min(10.5vw, 126px);
    right: 8%;
    bottom: 17%;
    z-index: 7;
    animation: grindo-cta-float-alt 6.6s ease-in-out infinite;
}

.grindo-heritage-cta__asset--coffee {
    width: min(11vw, 128px);
    left: 7%;
    bottom: 16%;
    z-index: 4;
    animation: grindo-cta-float-alt 7.4s ease-in-out infinite;
}

.grindo-heritage-cta__spice img {
    display: block;
    width: 100%;
    height: auto;
}

.grindo-heritage-cta__spice--chilli {
    width: 64px;
    right: 21%;
    top: 11%;
    animation: grindo-cta-spin-soft 12s ease-in-out infinite;
}

.grindo-heritage-cta__spice--clove {
    width: 39px;
    left: 18%;
    top: 22%;
    animation: grindo-cta-float 6.2s ease-in-out infinite;
}

.grindo-heritage-cta__spice--star {
    width: 40px;
    right: 49%;
    bottom: 13%;
    animation: grindo-cta-spin-slow 16s linear infinite;
}

.grindo-heritage-cta__coffee-cup {
    width: 64px;
    height: 75px;
    left: 23%;
    top: 22%;
    border: 4px solid #FFE0B8;
    border-top: 8px solid #fff;
    border-radius: 6px 6px 21px 21px;
    background: linear-gradient(180deg, #F5E8D8 0 17%, #96542D 18% 30%, #E0A758 31% 100%);
    box-shadow: inset 0 0 0 3px rgba(61, 42, 32, .1), 0 22px 36px rgba(61, 42, 32, .2);
    animation: grindo-cta-float-alt 6.8s ease-in-out infinite;
}

.grindo-heritage-cta__coffee-cup::after {
    content: "";
    position: absolute;
    width: 21px;
    height: 32px;
    right: -19px;
    top: 18px;
    border: 4px solid #FFE0B8;
    border-left: 0;
    border-radius: 0 18px 18px 0;
}

.grindo-heritage-cta__spoon {
    width: 128px;
    height: 12px;
    left: 11%;
    bottom: 31%;
    border-radius: 999px;
    background: linear-gradient(90deg, #704024, #C98A4C 62%, #F5D39A);
    transform: rotate(-24deg);
    animation: grindo-cta-spoon 7.2s ease-in-out infinite;
}

.grindo-heritage-cta__spoon::before {
    content: "";
    position: absolute;
    width: 46px;
    height: 27px;
    right: -27px;
    top: 50%;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 38%, #F5D39A, #9B5A2E);
    transform: translateY(-50%);
}

.grindo-heritage-cta__leaf {
    width: 38px;
    height: 16px;
    border-radius: 100% 0 100% 0;
    background: linear-gradient(135deg, #CFE48C, #789D3C);
    filter: drop-shadow(0 12px 18px rgba(61, 42, 32, .16));
}

.grindo-heritage-cta__leaf--one {
    right: 3%;
    top: 8%;
    transform: rotate(-22deg);
    animation: grindo-cta-leaf 6s ease-in-out infinite;
}

.grindo-heritage-cta__leaf--two {
    left: 18%;
    bottom: 7%;
    transform: rotate(24deg);
    animation: grindo-cta-leaf 7s ease-in-out infinite reverse;
}

.grindo-heritage-cta__pepper {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #21140E;
    box-shadow: 17px 6px 0 #321F16, 7px 21px 0 #160E0A, 26px 24px 0 #3D2A20;
    filter: drop-shadow(0 12px 16px rgba(61, 42, 32, .22));
}

.grindo-heritage-cta__pepper--one {
    right: 48%;
    top: 10%;
    animation: grindo-cta-float-alt 6s ease-in-out infinite;
}

.grindo-heritage-cta__pepper--two {
    right: 22%;
    bottom: 31%;
    transform: scale(.82);
    animation: grindo-cta-float 7s ease-in-out infinite;
}

.grindo-heritage-cta__trust-card {
    position: absolute;
    right: 28px;
    bottom: 18px;
    z-index: 8;
    width: 260px;
    height: 90px;
    padding: 12px 16px;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 16px;
    background: rgba(255, 250, 244, .93);
    box-shadow: 0 24px 46px rgba(61, 42, 32, .2);
    backdrop-filter: blur(12px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.grindo-cta-trust__top {
    display: flex;
    align-items: center;
    gap: 7px;
}

.grindo-cta-trust__google {
    flex-shrink: 0;
    display: block;
}

.grindo-cta-trust__stars {
    color: #d9743e;
    font-size: 13px;
    letter-spacing: 1px;
    line-height: 1;
}

.grindo-heritage-cta__trust-card strong {
    color: #3D2A20;
    font-size: 15px;
}

.grindo-heritage-cta__trust-card p {
    margin: 6px 0 0;
    color: #3D2A20;
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    font-weight: 800;
}

.grindo-heritage-cta__mandala {
    position: absolute;
    z-index: 1;
    width: 180px;
    height: 180px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 50%;
    opacity: .55;
}

.grindo-heritage-cta__mandala::before,
.grindo-heritage-cta__mandala::after {
    content: "";
    position: absolute;
    inset: 20px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
}

.grindo-heritage-cta__mandala::after {
    inset: 48px;
    background:
        repeating-conic-gradient(from 10deg, rgba(255, 255, 255, .22) 0 5deg, transparent 5deg 18deg);
    mask-image: radial-gradient(circle, transparent 0 42%, #000 43% 48%, transparent 49%);
}

.grindo-heritage-cta__mandala--one {
    left: 36px;
    bottom: -72px;
}

.grindo-heritage-cta__mandala--two {
    right: 48px;
    top: -72px;
    transform: scale(1.2);
}

.grindo-heritage-cta [data-aos] {
    opacity: 0;
    transition: opacity .8s ease, transform .8s cubic-bezier(.22, 1, .36, 1);
}

.grindo-heritage-cta [data-aos="fade-up"] {
    transform: translateY(34px);
}

.grindo-heritage-cta [data-aos="fade-right"] {
    transform: translateX(-34px);
}

.grindo-heritage-cta [data-aos="fade-left"] {
    transform: translateX(34px);
}

.grindo-heritage-cta [data-aos="zoom-in"] {
    transform: scale(.94);
}

.grindo-heritage-cta .aos-animate {
    opacity: 1;
    transform: none;
}

@keyframes grindo-cta-composition {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}

@keyframes grindo-cta-float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}

@keyframes grindo-cta-float-alt {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(6px);
    }
}

@keyframes grindo-cta-float-rotate-soft {

    0%,
    100% {
        transform: translateY(0) rotate(-6deg);
    }

    50% {
        transform: translateY(-6px) rotate(3deg);
    }
}

@keyframes grindo-cta-spin-soft {

    0%,
    100% {
        transform: translateY(0) rotate(12deg);
    }

    50% {
        transform: translateY(6px) rotate(17deg);
    }
}

@keyframes grindo-cta-spin-slow {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes grindo-cta-spoon {

    0%,
    100% {
        transform: translateX(0) rotate(-24deg);
    }

    50% {
        transform: translateX(5px) rotate(-20deg);
    }
}

@keyframes grindo-cta-leaf {

    0%,
    100% {
        transform: translateY(0) rotate(-22deg);
    }

    50% {
        transform: translateY(-6px) rotate(-16deg);
    }
}

@media (max-width: 1199.98px) {
    .grindo-heritage-cta {
        padding: 36px 0;
    }

    .grindo-heritage-cta__panel {
        height: auto;
        min-height: 0;
    }

    .grindo-heritage-cta__row {
        height: auto;
    }

    .grindo-heritage-cta__copy,
    .grindo-heritage-cta__visual {
        width: 100%;
    }

    .grindo-heritage-cta__copy {
        padding: 52px 40px 20px;
        text-align: center;
    }

    .grindo-heritage-cta h2,
    .grindo-heritage-cta__copy p {
        margin-left: auto;
        margin-right: auto;
    }

    .grindo-heritage-cta__actions,
    .grindo-heritage-cta__proof {
        justify-content: center;
    }

    .grindo-heritage-cta__visual {
        height: auto;
        min-height: 480px;
        padding: 0 28px 46px;
    }

    .grindo-heritage-cta__composition {
        inset: 0 -28px 0 0;
    }

    .grindo-heritage-cta__asset--bowls {
        width: min(55vw, 400px);
        right: 24%;
    }
}

@media (max-width: 767.98px) {
    .grindo-heritage-cta {
        padding: 28px 0;
    }

    .grindo-heritage-cta__panel {
        border-radius: 20px;
        overflow: hidden;
    }

    .grindo-heritage-cta__copy {
        padding: 36px 20px 14px;
    }

    .grindo-heritage-cta h2 {
        font-size: clamp(28px, 9vw, 40px);
    }

    .grindo-heritage-cta__copy p {
        font-size: 15px;
        line-height: 1.65;
    }

    .grindo-heritage-cta__actions {
        flex-direction: column;
    }

    .grindo-heritage-cta__btn {
        width: 100%;
        min-height: 52px;
    }

    .grindo-heritage-cta__proof {
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }

    .grindo-heritage-cta__visual {
        min-height: 360px;
        height: auto;
        padding-bottom: 24px;
    }

    .grindo-heritage-cta__composition {
        inset: 0 -28px 0 -6px;
    }

    .grindo-heritage-cta__asset--bowls {
        width: 280px;
        max-width: 90vw;
        right: 11%;
        bottom: 18%;
    }

    .grindo-heritage-cta__asset--masala {
        width: 84px;
        right: 52%;
        top: 12%;
    }

    .grindo-heritage-cta__asset--pickle {
        width: 80px;
        right: 7%;
        bottom: 25%;
    }

    .grindo-heritage-cta__asset--coffee {
        width: 82px;
        left: 6%;
        bottom: 24%;
    }

    .grindo-heritage-cta__coffee-cup {
        transform: scale(.7);
        left: 22%;
        top: 22%;
    }

    .grindo-heritage-cta__spoon {
        transform: scale(.7) rotate(-24deg);
        left: 7%;
        bottom: 38%;
    }

    .grindo-heritage-cta__trust-card {
        right: 14px;
        bottom: 14px;
        width: 220px;
        height: 80px;
        padding: 10px 14px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .grindo-heritage-cta *,
    .grindo-heritage-cta [data-aos] {
        animation: none !important;
        transition: none !important;
    }

    .grindo-heritage-cta [data-aos] {
        opacity: 1;
        transform: none;
    }
}

/* Collections page */
.grindo-collections-page {
    background: #FAF7F2;
    color: #3D2A20;
    font-family: 'DM Sans', sans-serif;
}

.grindo-collections-hero {
    position: relative;
    overflow: hidden;
    padding: 190px 0 90px;
    background:
        radial-gradient(circle at 12% 18%, rgba(217, 116, 62, .12), transparent 28%),
        radial-gradient(circle at 88% 70%, rgba(232, 196, 138, .22), transparent 30%),
        linear-gradient(135deg, #FAF7F2 0%, #F5E8D8 100%);
}

.grindo-collections-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .16;
    background-image:
        radial-gradient(circle at 20% 30%, rgba(61, 42, 32, .16) 0 1px, transparent 1.5px),
        radial-gradient(circle at 80% 60%, rgba(217, 116, 62, .22) 0 1px, transparent 1.5px);
    background-size: 34px 34px, 52px 52px;
}

.grindo-collections-hero .container {
    position: relative;
    z-index: 1;
}

.grindo-collections-hero__eyebrow,
.grindo-collections-grid__header span {
    display: inline-flex;
    margin-bottom: 16px;
    color: #d9743e;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.grindo-collections-hero h1 {
    max-width: 650px;
    margin: 0;
    color: #3D2A20;
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(42px, 5vw, 72px);
    font-weight: 700;
    line-height: 1.05;
}

.grindo-collections-hero p {
    max-width: 590px;
    margin: 24px 0 0;
    color: rgba(61, 42, 32, .72);
    font-size: 18px;
    line-height: 1.8;
}

.grindo-collections-hero__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 32px;
    padding: 15px 24px;
    border-radius: 999px;
    background: #d9743e;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 18px 38px rgba(217, 116, 62, .25);
    transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}

.grindo-collections-hero__btn:hover {
    background: #3D2A20;
    color: #fff;
    box-shadow: 0 22px 46px rgba(61, 42, 32, .22);
    transform: translateY(-3px);
}

.grindo-collections-hero__visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 420px;
}

.grindo-collections-hero__visual::before {
    content: "";
    position: absolute;
    width: min(82%, 430px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgba(217, 116, 62, .16);
    filter: blur(14px);
}

.grindo-collections-hero__visual img {
    position: relative;
    z-index: 1;
    width: min(100%, 560px);
    filter: drop-shadow(0 26px 38px rgba(61, 42, 32, .2));
}

.grindo-collections-grid {
    padding: 86px 0 100px;
}

.grindo-collections-grid__header {
    max-width: 680px;
    margin: 0 auto 42px;
    text-align: center;
}

.grindo-collections-grid__header h2 {
    margin: 0;
    color: #3D2A20;
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(34px, 4vw, 54px);
    font-weight: 700;
}

.grindo-collection-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(61, 42, 32, .08);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(61, 42, 32, .07);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.grindo-collection-card:hover {
    border-color: rgba(217, 116, 62, .28);
    box-shadow: 0 24px 58px rgba(61, 42, 32, .12);
    transform: translateY(-7px);
}

.grindo-collection-card__image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 250px;
    padding: 28px;
    background:
        radial-gradient(circle, rgba(217, 116, 62, .14), transparent 58%),
        #F5E8D8;
}

.grindo-collection-card__image img {
    max-width: 235px;
    max-height: 205px;
    object-fit: contain;
    transition: transform .28s ease;
}

.grindo-collection-card:hover .grindo-collection-card__image img {
    transform: scale(1.06) rotate(-2deg);
}

.grindo-collection-card__body {
    padding: 26px;
}

.grindo-collection-card__body h3 {
    margin: 0;
    color: #3D2A20;
    font-family: 'DM Sans', sans-serif;
    font-size: 27px;
    font-weight: 700;
}

.grindo-collection-card__body p {
    min-height: 54px;
    margin: 12px 0 20px;
    color: rgba(61, 42, 32, .68);
    font-size: 14px;
    line-height: 1.7;
}

.grindo-collection-card__body a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #d9743e;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

@media (max-width: 991.98px) {
    .grindo-collections-hero {
        padding: 170px 0 72px;
        text-align: center;
    }

    .grindo-collections-hero p,
    .grindo-collections-hero h1 {
        margin-left: auto;
        margin-right: auto;
    }

    .grindo-collections-hero__visual {
        min-height: 320px;
    }
}

@media (max-width: 575.98px) {
    .grindo-collections-hero {
        padding: 150px 0 58px;
    }

    .grindo-collections-hero p {
        font-size: 15px;
    }

    .grindo-collections-grid {
        padding: 62px 0 74px;
    }

    .grindo-collection-card__image {
        min-height: 210px;
    }
}

/* Editorial collections catalogue */
.grindo-collections-page {
    background: #FAF7F2;
    color: #2F2F2F;
    font-family: 'DM Sans', sans-serif;
}

.grindo-collections-catalogue {
    position: relative;
    overflow: hidden;
    padding: 180px 0 112px;
    background: #ffffff;
}

/* Collections header — subtle reduced-opacity spice decor, mirroring the
   Contact Us header treatment (.grindo-contact-decor). */
.grindo-collections-decor {
    position: absolute;
    pointer-events: none;
    z-index: 1;
    opacity: 0.15;
}
.grindo-collections-decor--star {
    left: 4%;
    top: 120px;
    width: 150px;
    transform: rotate(-15deg);
}
.grindo-collections-decor--leaf {
    right: 5%;
    top: 92px;
    width: 140px;
    transform: rotate(8deg);
}
.grindo-collections-decor--chilli {
    right: 8%;
    top: 248px;
    width: 95px;
}
@media (max-width: 991px) {
    .grindo-collections-decor--star { width: 100px; left: 1%; top: 96px; }
    .grindo-collections-decor--leaf { width: 92px; right: 1%; top: 74px; }
    .grindo-collections-decor--chilli { display: none; }
}

/* ─── Search modal — Grindo theme (warm cream / brown / gold) ─── */
.modal-search .modal-content {
    background: #fdf8f0;
    border: 1px solid #e8ded0;
    box-shadow: 0 30px 80px rgba(90, 56, 37, .18);
}
.modal-search h3 {
    color: #3e281d;
}
.modal-search .icon-close-popup {
    color: #5a3825;
    transition: color .2s ease;
}
.modal-search .icon-close-popup:hover {
    color: #d9743e;
}
.modal-search .form-search-nav input {
    background: #ffffff;
    border: 1px solid #e8ded0;
    color: #3e281d;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.modal-search .form-search-nav input::placeholder {
    color: #a89684;
}
.modal-search .form-search-nav input:focus {
    border-color: #d9b547;
    box-shadow: 0 0 0 3px rgba(217, 181, 71, .18);
}
.modal-search .form-search-nav .btn-action {
    background: #5a3825;
    color: #ffffff;
    border-radius: 10px;
    transition: background-color .2s ease;
}
.modal-search .form-search-nav .btn-action:hover {
    background: #d9743e;
    color: #ffffff;
}
.modal-search .search-feature .h5 {
    color: #3e281d;
}
.modal-search .link-tag {
    border: 1px solid #e8ded0;
    background: #ffffff;
    color: #5a3825;
    transition: all .2s ease;
}
.modal-search .link-tag:hover {
    background: #5a3825;
    border-color: #5a3825;
    color: #ffffff;
}


.grindo-collections-catalogue .container {
    position: relative;
    z-index: 2;
}

.grindo-collections-catalogue__watermark {
    position: absolute;
    top: 147px;
    left: 50%;
    z-index: 0;
    color: #2F2F2F;
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(76px, 12vw, 220px);
    font-weight: 700;
    letter-spacing: .02em;
    line-height: .8;
    opacity: .04;
    text-transform: uppercase;
    transform: translateX(-50%);
    white-space: nowrap;
    pointer-events: none;
}

.grindo-collections-float {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    opacity: .28;
    filter: drop-shadow(0 14px 20px rgba(61, 42, 32, .08));
}

img.grindo-collections-float {
    width: 54px;
    height: auto;
}

.grindo-collections-float--chilli {
    top: 174px;
    left: 12%;
    transform: rotate(-18deg);
    animation: grindo-collections-float 6.5s ease-in-out infinite;
}

.grindo-collections-float--clove {
    top: 245px;
    right: 15%;
    width: 42px !important;
    transform: rotate(22deg);
    animation: grindo-collections-float-alt 7.2s ease-in-out infinite;
}

.grindo-collections-float--star {
    top: 155px;
    right: 29%;
    width: 44px !important;
    animation: grindo-collections-spin 14s linear infinite;
}

.grindo-collections-float--leaf-one,
.grindo-collections-float--leaf-two {
    width: 54px;
    height: 24px;
    border-radius: 100% 0 100% 0;
    background: linear-gradient(135deg, rgba(129, 151, 76, .75), rgba(217, 116, 62, .26));
}

.grindo-collections-float--leaf-one {
    top: 230px;
    left: 27%;
    transform: rotate(24deg);
    animation: grindo-collections-float-alt 6.8s ease-in-out infinite;
}

.grindo-collections-float--leaf-two {
    top: 130px;
    right: 9%;
    transform: rotate(-28deg);
    animation: grindo-collections-float 7.6s ease-in-out infinite;
}

.grindo-collections-catalogue__header {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.grindo-collections-catalogue__header h1 {
    margin: 0;
    color: #2F2F2F;
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 700;
    line-height: 1.08;
    text-transform: uppercase;
}

.grindo-collections-catalogue__header p {
    max-width: 600px;
    margin: 18px auto 0;
    color: rgba(47, 47, 47, .68);
    font-size: 17px;
    line-height: 1.8;
}

.grindo-collections-breadcrumb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 16px;
    color: #8A5A3B;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
}

.grindo-collections-breadcrumb a {
    color: #d9743e;
    text-decoration: none;
    transition: color .22s ease;
}

.grindo-collections-breadcrumb a:hover {
    color: #3D2A20;
}

.grindo-collections-breadcrumb i {
    color: rgba(138, 90, 59, .56);
    font-size: 11px;
}

.grindo-collections-catalogue__divider {
    width: min(100%, 1020px);
    height: 1px;
    margin: 46px auto 30px;
    background: #E9E2D7;
}

.grindo-collections-filter {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px 26px;
    margin: 0 auto 64px;
    overflow: visible;
    padding: 0 0 12px;
    scrollbar-width: none;
}

.grindo-collections-filter::-webkit-scrollbar {
    display: none;
}

.grindo-collections-filter__item {
    position: relative;
    flex: 0 0 auto;
    border: 0;
    background: transparent;
    color: rgba(47, 47, 47, .68);
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1;
    padding: 0 0 10px;
    text-transform: uppercase;
    transition: color .24s ease;
}

.grindo-collections-filter__item::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    background: #d9743e;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .24s ease;
}

.grindo-collections-filter__item:hover,
.grindo-collections-filter__item.is-active {
    color: #d9743e;
}

.grindo-collections-filter__item:hover::after,
.grindo-collections-filter__item.is-active::after {
    transform: scaleX(1);
}

.grindo-collections-products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 40px;
}

.grindo-editorial-product {
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    border: 1px solid #E9E2D7;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity .55s ease var(--collection-delay, 0ms),
        transform .55s ease var(--collection-delay, 0ms),
        border-color .28s ease,
        box-shadow .28s ease;
}

.grindo-editorial-product.aos-animate {
    opacity: 1;
    transform: translateY(0);
}

.grindo-editorial-product.is-hidden {
    display: none;
}

.grindo-editorial-product:hover {
    border-color: rgba(217, 116, 62, .32);
    box-shadow: 0 24px 52px rgba(47, 47, 47, .08);
    transform: translateY(-8px);
}

.grindo-editorial-product__image {
    display: flex;
    min-height: 285px;
    align-items: center;
    justify-content: center;
    padding: 34px 26px;
    background:
        radial-gradient(circle, rgba(245, 232, 216, .92) 0 38%, transparent 68%),
        #fff;
}

.grindo-editorial-product__image img {
    width: min(100%, 230px);
    max-height: 230px;
    object-fit: contain;
    transition: transform .32s ease;
}

.grindo-editorial-product:hover .grindo-editorial-product__image img {
    transform: scale(1.08);
}

.grindo-editorial-product__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 0 24px 24px;
}

.grindo-editorial-product__body span {
    margin-bottom: 9px;
    color: #d9743e;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.grindo-editorial-product__body h2 {
    margin: 0;
    color: #2F2F2F;
    font-family: 'DM Sans', sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
}

.grindo-editorial-product__body p {
    margin: 12px 0 22px;
    color: rgba(47, 47, 47, .64);
    font-size: 14px;
    line-height: 1.65;
}

.grindo-editorial-product__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: auto;
}

.grindo-editorial-product__footer strong {
    color: #d9743e;
    font-size: 17px;
    font-weight: 800;
}

.grindo-editorial-product__footer a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 9px 15px;
    border: 1px solid #E9E2D7;
    border-radius: 999px;
    color: #2F2F2F;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    transform: translateY(8px);
    transition: transform .28s ease, background .28s ease, color .28s ease, border-color .28s ease;
}

.grindo-editorial-product:hover .grindo-editorial-product__footer a {
    border-color: #d9743e;
    background: #d9743e;
    color: #fff;
    transform: translateY(0);
}

.grindo-collections-pagination {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 58px;
}

.grindo-collections-pagination button {
    width: 10px;
    height: 10px;
    border: 1px solid rgba(217, 116, 62, .45);
    border-radius: 50%;
    background: transparent;
    padding: 0;
}

.grindo-collections-pagination button.is-active {
    background: #d9743e;
}

.grindo-collections-page .name-product:hover {
    color: var(--orange) !important;
    text-decoration: none !important;
}

.grindo-collections-catalogue__mandala {
    position: absolute;
    width: 230px;
    height: 230px;
    border: 1px solid rgba(138, 90, 59, .08);
    border-radius: 50%;
    pointer-events: none;
    display: none;
}

.grindo-collections-catalogue__mandala::before,
.grindo-collections-catalogue__mandala::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(138, 90, 59, .08);
    border-radius: 50%;
}

.grindo-collections-catalogue__mandala::before {
    inset: 22px;
}

.grindo-collections-catalogue__mandala::after {
    inset: 54px;
}

.grindo-collections-catalogue__mandala--one {
    top: 210px;
    left: -92px;
}

.grindo-collections-catalogue__mandala--two {
    right: -96px;
    bottom: 130px;
}

.grindo-collections-page [data-aos] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .62s ease, transform .62s ease;
}

.grindo-collections-page [data-aos="fade-down"] {
    transform: translateY(-20px);
}

.grindo-collections-page .aos-animate {
    opacity: 1;
    transform: none;
}

@keyframes grindo-collections-float {

    0%,
    100% {
        translate: 0 0;
    }

    50% {
        translate: 0 -10px;
    }
}

@keyframes grindo-collections-float-alt {

    0%,
    100% {
        translate: 0 0;
    }

    50% {
        translate: 8px 8px;
    }
}

@keyframes grindo-collections-spin {
    from {
        rotate: 0deg;
    }

    to {
        rotate: 360deg;
    }
}

@media (max-width: 1199.98px) {
    .grindo-collections-products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .grindo-collections-catalogue {
        padding: 150px 0 78px;
    }

    .grindo-collections-catalogue__watermark {
        top: 116px;
    }

    .grindo-collections-float {
        opacity: .18;
        transform: scale(.8);
    }

    .grindo-collections-float--chilli {
        left: 5%;
    }

    .grindo-collections-float--clove,
    .grindo-collections-float--leaf-two {
        right: 5%;
    }

    .grindo-collections-filter {
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 22px;
        margin-bottom: 42px;
        overflow-x: auto;
        padding-right: 18px;
        padding-left: 18px;
        margin-right: -18px;
        margin-left: -18px;
    }

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

    .grindo-editorial-product__image {
        min-height: 245px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .grindo-collections-page *,
    .grindo-collections-page [data-aos] {
        transition: none !important;
    }

    .grindo-collections-page [data-aos],
    .grindo-editorial-product {
        opacity: 1;
        transform: none;
    }
}

/* Use existing product-card component on collections page */
.grindo-collections-products .grindo-editorial-product {
    display: block;
    min-height: auto;
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
    box-shadow: none;
}

.grindo-collections-products .grindo-editorial-product:hover {
    border-color: transparent;
    box-shadow: none;
}

.grindo-collections-products .card-product {
    height: 100%;
}

.grindo-collections-products .card-product_wrapper.square {
    background: #fff;
    border: 1px solid #E9E2D7;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 1 / 1;
}

.grindo-collections-products .card-product_wrapper.square .product-img {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    height: 100%;
    padding: 0;
    background: #fff;
}

.grindo-collections-products .card-product_wrapper.square .product-img img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 26px;
    object-fit: contain;
    object-position: center;
    opacity: 1;
    transition: transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
}

.grindo-collections-products .card-product_wrapper.square .product-img .img-product {
    z-index: 1;
    transform: translate3d(0, 0, 0);
}

.grindo-collections-products .card-product_wrapper.square .product-img .img-hover {
    z-index: 2;
    transform: translate3d(100%, 0, 0);
}

.grindo-collections-products .card-product_wrapper.square:hover .product-img .img-product,
.grindo-collections-products .card-product_wrapper.square:focus-within .product-img .img-product {
    transform: translate3d(-100%, 0, 0);
}

.grindo-collections-products .card-product_wrapper.square:hover .product-img .img-hover,
.grindo-collections-products .card-product_wrapper.square:focus-within .product-img .img-hover {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
    .grindo-collections-products .card-product_wrapper.square .product-img img {
        transition-duration: 1ms;
    }
}

.grindo-collections-products .product-badge_list,
.grindo-collections-products .product-marquee_sale {
    display: none !important;
}



.grindo-collections-products .product-infor-cate {
    color: #d9743e;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.grindo-collection-product-desc {
    display: -webkit-box;
    min-height: 42px;
    margin: 8px 0 10px;
    overflow: hidden;
    color: rgba(47, 47, 47, .62);
    font-size: 13px;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.hello {
    background-color: white;
}

.grindo-heritage-cta__composition img {
    width: 600px;
    margin-left: 60px;
}

/* GRINDO premium product details */
body:has(.section-product-single) {
    /* background:
        radial-gradient(circle at 4% 22%, rgba(216, 178, 61, .09), transparent 22%),
        radial-gradient(circle at 96% 48%, rgba(217, 122, 58, .07), transparent 20%),
        #faf7f2; */
    background-color: #ffffff;
    color: #2f2f2f;
    font-family: "Poppins", sans-serif;
}

#wrapper>.section-page-title-single {
    padding-block: 22px;

}

/* The product-details header reuses the theme's .header-abs-2 "transparent
   hero overlay" variant (a big negative margin-bottom meant to pull a hero
   image up underneath a see-through header). At desktop that -150px exactly
   cancels .details' own +150px margin-top below (a second, independent
   compensation for the same effect) leaving a correct 0px gap — so it must
   stay untouched there. But .header-abs-2's own responsive tier shrinks the
   pull to -60px at ≤1199px while .details' +150px has no matching
   responsive override, so the two stop cancelling and leave a large stray
   gap above the breadcrumb. Neutralize both together at that tier only. */
@media (max-width: 1199px) {
    .grindo-product-header.header-abs-2 {
        margin-bottom: 0;
    }

    .details {
        margin-top: 0 !important;
    }
}

/* Related Products / Recently Viewed cards on the product-details page only
   reveal their wishlist/quickview/share icons on :hover (base theme
   behaviour), which never fires on touch devices — force them visible here
   like the other product grids across the site already do. */
#related .product-action_list li,
#recently .product-action_list li {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* The main product gallery's wishlist/share icon overlay is already forced
   visible (opacity/visibility) elsewhere, but the base theme also has an
   unrelated @media(max-width:575px) rule hiding .product-action_list
   .wishlist entirely (display:none) sitewide — override that here too so
   the heart icon doesn't disappear on small phones. */
.tf-product-media-overlay .product-action_list li {
    display: flex !important;
}

#wrapper>.section-page-title-single .breadcrumbs,
#wrapper>.section-page-title-single .main-page-title {
    align-items: center;
}

#wrapper>.section-page-title-single .nav-post-item,
#wrapper>.section-page-title-single .nav-all-post {
    border-color: rgba(90, 56, 37, .18);
    background: #fffaf2;
    color: #5a3825;
}

.section-product-single {
    padding-block: 54px 72px;
}

.section-product-single .tf-product-media-main {
    border: 1px solid rgba(90, 56, 37, .12);
    border-radius: 24px;
    background: linear-gradient(145deg, #fffdf9, #f2e8da);
    box-shadow: 0 24px 70px rgba(90, 56, 37, .10);
    overflow: hidden;
}

.section-product-single .tf-product-media-main .item {
    display: grid;
    place-items: center;
    min-height: 500px;

    padding: 42px;
}

.section-product-single .tf-product-media-main img {
    width: 100%;
    height: 100%;
    max-height: 300px;
    object-fit: contain;
    filter: drop-shadow(0 18px 20px rgba(61, 34, 18, .12));
    transition: transform .6s cubic-bezier(.22, 1, .36, 1);
}

.section-product-single .tf-product-media-main .item:hover img {
    transform: scale(1.025);
}

.section-product-single .tf-product-media-thumbs .item {
    border: 1px solid rgba(90, 56, 37, .12);
    border-radius: 14px;
    background: #fffdf9;
    overflow: hidden;
    transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}

.section-product-single .tf-product-media-thumbs img {
    padding: 7px;
    object-fit: contain;
}

.section-product-single .tf-product-media-thumbs .swiper-slide-thumb-active .item {
    border-color: #d8b23d;
    box-shadow: 0 7px 20px rgba(216, 178, 61, .18);
    transform: translateY(-2px);
}


.section-product-single .product-infor-cate {
    color: #d97a3a;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.section-product-single .product-infor-name,
.section-product-description .desc_title,
#wrapper>.flat-spacing.flat-animate-tab .h4 {
    color: #5a3825;
    font-family: 'DM Sans', sans-serif;
}

.section-product-single .product-infor-name {
    margin-block: 8px 18px !important;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.08;
}

/* Drift (zoom.js's cusZoom()) needs its non-inline pane container sized and
   clipped by the theme — drift-basic.min.css only styles the small circular
   "drift-inline" variant used elsewhere on this page, not this one, so
   without these rules the pane renders at whatever size the browser
   defaults to and bleeds over the surrounding content. */
.tf-zoom-main {
    position: absolute;
    inset: 0;
    z-index: 5;
    overflow: hidden;
    border-radius: 16px;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease;
}

.section-image-zoom.zoom-active .tf-zoom-main {
    opacity: 1;
    visibility: visible;
}

.tf-zoom-main .drift-zoom-pane {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
}

@media (max-width: 1199.98px) {

    /* cusZoom() only activates Drift at 1200px+ (see zoom.js), so the pane
       never gets shown below that — keep it fully inert there too. */
    .tf-zoom-main {
        display: none;
    }
}

.section-product-single .star-wrap,
.section-product-description .star-wrap {
    color: #d8b23d;
}

.section-product-single .product-infor-meta {
    gap: 12px;
    padding: 13px 16px;
    border-radius: 12px;
    background: #faf4e9;
}

.section-product-single .product-infor-price {
    align-items: center;
    gap: 14px;
    margin-block: 22px 16px !important;
}

.section-product-single .price-on-sale {
    color: #5a3825;
    font-family: 'DM Sans', sans-serif;
    font-size: 38px;
    font-weight: 700;
}

.section-product-single .badge-sale {
    padding: 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #d8b23d, #d97a3a);
}

.section-product-single .product-infor-desc {
    font-size: 15px;
    line-height: 1.8;
}

.section-product-single .product-infor-reality {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 20px;
    margin-top: 18px;
    padding: 13px 16px;
    border-left: 3px solid #d8b23d;
    border-radius: 0 12px 12px 0;
    background: #f2e8da;
    color: #5a3825;
}

.section-product-single .product-infor-reality .grindo-reality-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}

.section-product-single .product-infor-reality .grindo-reality-item i {
    color: #d97a3a;
    font-size: 15px;
}

.section-product-single .product-infor-reality .grindo-reality-flag {
    width: 21px;
    height: 14px;
    flex-shrink: 0;
    border-radius: 2px;
}

.section-product-single .variant-color .variant-picker-values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.section-product-single .variant-color .color-btn {
    display: grid;
    min-height: 82px;
    place-items: center;
    padding: 12px 8px;
    border: 1px solid rgba(216, 178, 61, .28);
    border-radius: 14px;
    background: #faf4e9;
    color: #5a3825;
    text-align: center;
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.section-product-single .variant-color .color-btn:hover {
    transform: translateY(-3px);
    border-color: #d8b23d;
    box-shadow: 0 10px 24px rgba(90, 56, 37, .09);
}

.section-product-single .variant-color .color-btn .img,
.section-product-single .variant-color .color-btn .tooltip {
    display: none;
}

.section-product-single .variant-color .color-btn::before {
    color: #d8b23d;
    font-size: 24px;
    line-height: 1;
}

.section-product-single .variant-color .color-btn::after {
    font-size: 11px;
    font-weight: 600;
    line-height: 1.35;
}

.section-product-single .variant-color .color-btn:nth-child(1)::before {
    content: "✦";
}

.section-product-single .variant-color .color-btn:nth-child(1)::after {
    content: "Freshly Ground";
}

.section-product-single .variant-color .color-btn:nth-child(2)::before {
    content: "❧";
}

.section-product-single .variant-color .color-btn:nth-child(2)::after {
    content: "100% Natural";
}

.section-product-single .variant-color .color-btn:nth-child(3)::before {
    content: "⌂";
}

.section-product-single .variant-color .color-btn:nth-child(3)::after {
    content: "Made in India";
}

.section-product-single .variant-picker-label {
    color: #5a3825;
    font-weight: 600;
}

.section-product-single .variant-size .size-btn {
    min-width: 72px;
    height: 46px;
    padding-inline: 14px;
    border-color: rgba(90, 56, 37, .18);
    border-radius: 12px;
    background: #fffdf9;
    color: #5a3825;
    transition: all .3s ease;
}

.section-product-single .variant-size .size-btn:hover,
.section-product-single .variant-size .size-btn.active {
    border-color: #d8b23d;
    background: #fff5cf;
    color: #5a3825;
    box-shadow: 0 8px 20px rgba(216, 178, 61, .15);
}

.section-product-single .wg-quantity {
    height: 52px;
    border-color: rgba(90, 56, 37, .18);
    border-radius: 14px;
    background: #fffdf9;
}

.section-product-single .tf-product-total-quantity .tf-btn,
.tf-sticky-btn-atc .btn-add-to-cart {
    min-height: 52px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, #d8b23d, #c68d2b 55%, #d97a3a);
    box-shadow: 0 12px 28px rgba(190, 133, 38, .24);
    color: #fff;
    font-weight: 600;
    letter-spacing: .02em;
}

.section-product-single .tf-product-total-quantity .btn-primary {
    border: 1px solid #d8b23d;
    background: transparent;
    box-shadow: none;
    color: #5a3825;
}

/* Quantity label sits right beside the +/- stepper (reduced gap) */
.section-product-single .tf-product-total-quantity .grindo-qty-row {
    display: flex;
    align-items: center;
    gap: 14px;
}

.section-product-single .tf-product-total-quantity .grindo-qty-row p {
    margin: 0;
    font-weight: 600;
}

/* Add to Cart + Enquire Now share one row, equal width */
.section-product-single .tf-product-total-quantity .grindo-detail-actions {
    display: flex;
    align-items: stretch;
    gap: 12px;
}

.section-product-single .tf-product-total-quantity .grindo-detail-actions > .tf-btn,
.section-product-single .tf-product-total-quantity .grindo-detail-actions > .grindo-cart__checkout {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    margin: 0;
}

.section-product-single .tf-product-total-quantity .grindo-detail-actions .grindo-cart__checkout {
    min-height: 52px;
    border-radius: 14px;
    background: var(--brown);
    box-shadow: 0 12px 28px rgba(90, 56, 37, .18);
}

.section-product-single .tf-product-extra-link {
    flex-wrap: wrap;
    gap: 12px 22px;
}

.section-product-single .product-extra-icon {
    color: #5a3825;
}

.section-product-single .product-extra-icon i {
    color: #d97a3a;
}

.section-product-single .product-extra-icon i.wishlist-heart_fill {
    color: #ED4956;
}

.section-product-single .tf-product-delivery-return {
    padding: 18px;
    border: 1px solid rgba(216, 178, 61, .22);
    border-radius: 16px;
    background: #faf4e9;
}

.section-product-single .tf-product-delivery-return i {
    color: #d97a3a;
}

.section-product-single .tf-product-trust-seal .list-card {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

.section-product-single .tf-product-trust-seal .card-item {
    display: grid;
    min-height: 80px;
    place-items: center;
    padding: 9px 6px;
    border: 1px solid rgba(90, 56, 37, .11);
    border-radius: 12px;
    background: #fffdf9;
    color: #5a3825;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
}

.section-product-single .tf-product-trust-seal .card-item img {
    display: none;
}

.section-product-single .tf-product-trust-seal .card-item::before {
    color: #d8b23d;
    font-size: 20px;
}

.section-product-single .tf-product-trust-seal .card-item:nth-child(1)::before {
    content: "✦";
}

.section-product-single .tf-product-trust-seal .card-item:nth-child(1)::after {
    content: "Freshly Packed";
}

.section-product-single .tf-product-trust-seal .card-item:nth-child(2)::before {
    content: "✓";
}

.section-product-single .tf-product-trust-seal .card-item:nth-child(2)::after {
    content: "FSSAI Certified";
}

.section-product-single .tf-product-trust-seal .card-item:nth-child(3)::before {
    content: "❧";
}

.section-product-single .tf-product-trust-seal .card-item:nth-child(3)::after {
    content: "100% Natural";
}

.section-product-single .tf-product-trust-seal .card-item:nth-child(4)::before {
    content: "◇";
}

.section-product-single .tf-product-trust-seal .card-item:nth-child(4)::after {
    content: "No Preservatives";
}

.section-product-single .tf-product-trust-seal .card-item:nth-child(5)::before {
    content: "◎";
}

.section-product-single .tf-product-trust-seal .card-item:nth-child(5)::after {
    content: "Secure Enquiry";
}

.section-product-single .tf-product-trust-seal .card-item:nth-child(6)::before {
    content: "♛";
}

.section-product-single .tf-product-trust-seal .card-item:nth-child(6)::after {
    content: "Premium Quality";
}

.tf-sticky-btn-atc {
    border-top: 1px solid rgba(90, 56, 37, .11);
    background: rgba(255, 253, 249, .96);
    box-shadow: 0 -12px 35px rgba(90, 56, 37, .10);
    backdrop-filter: blur(14px);
}

.tf-sticky-btn-atc .prd_img {
    border-radius: 10px;
    background: #f2e8da;
    overflow: hidden;
}

.tf-sticky-btn-atc .prd_img img {
    object-fit: contain;
}

.section-product-description {
    padding-block: 72px;
    background: rgba(242, 232, 218, .52);
}

.section-product-description .tab-btn-wrap-v1 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 55px;

    padding: 0;
    margin: 0 0 60px;

    border: none;
    background: transparent;
    box-shadow: none;
}

.section-product-description .tf-btn-tab {

    position: relative;

    display: inline-block;

    padding: 0 0 14px;

    background: none;
    border: none;

    color: #9b8f84;

    font-size: 18px;
    font-weight: 500;

    transition: .35s ease;

}

.section-product-description .tf-btn-tab:hover {

    color: #5A3825;

}

.section-product-description .tf-btn-tab::after {

    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 0%;
    height: 2px;

    background: #5A3825;

    transition: .35s ease;

}

.section-product-description .tf-btn-tab.active {

    color: #2F2F2F;

    font-weight: 700;

}

.section-product-description .tf-btn-tab.active::after {

    width: 100%;

}

/* Optional smooth hover */

.section-product-description .tf-btn-tab:hover::after {

    width: 100%;
    opacity: .35;

}

.section-product-description .nav-tab-item {
    list-style: none;
}

.section-product-description .tf-btn-tab.active {

    color: #000;
}

.section-product-description .tab-content_desc,
.section-product-description .product-desc_review {
    margin-top: 16px;
}

.section-product-description .box-desc,
.section-product-description .box-rating,
.section-product-description .box-comment,
.section-product-description .box-write-comment {
    padding: 18px;
    border: 1px solid rgba(90, 56, 37, .1);
    border-radius: 14px;
    background: #fffdf9;
    box-shadow: 0 12px 35px rgba(90, 56, 37, .06);
}

.section-product-description .desc_title {
    margin-bottom: 8px;
    color: #5a3825;
    font-size: 18px;
}

.section-product-description .desc_info,
.section-product-description .list {
    line-height: 1.6;
    font-size: 14px;
}

/* Both tabbed sections on this page (Description tabs + Related
   Products/Recently Viewed tabs) share this base class — see the
   flat-animate-tab-only-on-this-page note below. Trimmed down from the
   theme's generic 80px/40px spacing, which read as oversized here. */
.tab-btn-wrap-v1 {
    margin-top: 12px;
    margin-bottom: 20px;
}

.section-product-description .progress-bar {
    background: linear-gradient(90deg, #d8b23d, #d97a3a);
}

.section-product-description .comment_info .info_image {
    border: 2px solid rgba(216, 178, 61, .45);
    border-radius: 50%;
    overflow: hidden;
}

.section-product-description .author_date::after {
    content: "Verified Purchase";
    display: inline-flex;
    margin-left: 8px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #fff5cf;
    color: #8b6420;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* flat-animate-tab only appears on this page (Description tabs section +
   Related Products/Recently Viewed section), so tightening it here doesn't
   touch the many other pages sharing the generic .flat-spacing padding. */
#wrapper>.flat-spacing.flat-animate-tab {
    padding-block: 40px;
}

#wrapper>.flat-spacing.flat-animate-tab .card-product_wrapper {
    border: 1px solid rgba(90, 56, 37, .1);
    border-radius: 18px;
    background: #f2e8da;
    box-shadow: 0 14px 36px rgba(90, 56, 37, .08);
}

#wrapper>.flat-spacing.flat-animate-tab .card-product_wrapper img {
    padding: 22px;
    object-fit: contain;
}

#wrapper>.flat-spacing.flat-animate-tab .product-color_list,
#wrapper>.flat-spacing.flat-animate-tab .variant-box {
    display: none;
}

#wrapper>.flat-spacing.flat-animate-tab .product-badge_item {
    border-radius: 999px;
    background: linear-gradient(135deg, #d8b23d, #d97a3a);
    color: #fff;
}

#wrapper>.flat-spacing.flat-animate-tab .card-product:hover .card-product_wrapper {
    border-color: rgba(216, 178, 61, .65);
    box-shadow: 0 20px 45px rgba(90, 56, 37, .13);
    transform: translateY(-5px);
}

#wrapper>.flat-spacing.flat-animate-tab .price-new {
    color: #d97a3a !important;
}

/* Compact + simplify the related / recently-viewed cards — the default card
   uses a tall 0.75 image ratio which left large empty bands above and below
   the contained product photo. Square it up and tighten the spacing. */
#wrapper>.flat-spacing.flat-animate-tab .card-product {
    gap: 10px;
}

#wrapper>.flat-spacing.flat-animate-tab .card-product_wrapper {
    aspect-ratio: 1;
}

#wrapper>.flat-spacing.flat-animate-tab .card-product_wrapper img {
    padding: 14px;
}

#wrapper>.flat-spacing.flat-animate-tab .card-product_info {
    gap: 2px;
}

/* This related / recently-viewed block is the last section before the footer
   (which supplies its own top spacing), so the default 80px section
   padding-bottom stacked into an oversized gap. Trim it here only — other
   sections keep the site-wide 80px — and drop the swiper pagination when it
   locks to a single page, since it otherwise reserves an empty strip. */
#wrapper>.flat-spacing.flat-animate-tab {
    padding-bottom: 40px;
}

#wrapper>.flat-spacing.flat-animate-tab .tf-sw-pagination.swiper-pagination-lock {
    display: none;
}

/* Product long description (CKEditor HTML) — normalise paragraph/list spacing
   so admin-authored content reads cleanly below the Enquire Now button. */
.product-infor-description h6 {
    font-size: 15px;
    color: #34231c;
}

.product-infor-description p {
    margin: 0 0 10px;
}

.product-infor-description ul,
.product-infor-description ol {
    margin: 0 0 10px;
    padding-left: 20px;
    list-style: revert;
}

.product-infor-description li {
    margin-bottom: 4px;
}

.product-infor-description :last-child {
    margin-bottom: 0;
}

/* Cart → Frequently Purchased Together: compact, tighter section with smaller
   square cards (the default tall 0.75-ratio cards left big empty bands and
   pushed the section well below the fold). */
.grindo-frequently-bought {
    padding-top: 26px;
    padding-bottom: 34px;
}
.grindo-frequently-bought .sect-heading {
    margin-bottom: 18px;
}
.grindo-frequently-bought .sect-heading h4 {
    font-size: 22px;
        color: #5a3825;
    font-family: 'DM Sans', sans-serif;
    font-weight: 700;
}
.grindo-frequently-bought .card-product {
    gap: 8px;
}
.grindo-frequently-bought .card-product_wrapper {
    aspect-ratio: 1;
    border: 1px solid rgba(90, 56, 37, .1);
    border-radius: 16px;
    background: #f2e8da;
}
.icon-MagnifyingGlass{
    background-color: transparent !important;
    border:none !important;
}
.grindo-frequently-bought .card-product_wrapper img {
    padding: 14px;
    object-fit: contain;
}
.grindo-frequently-bought .card-product_info {
    gap: 2px;
}
.grindo-frequently-bought .card-product_info .star-wrap {
    display: none;
}
.grindo-frequently-bought .price-new {
    color: #d97a3a !important;
}
.grindo-frequently-bought .tf-sw-pagination.swiper-pagination-lock {
    display: none;
}

/* With only a few products, Swiper's grid sizing left the row carousel
   reserving a tall block of empty space above the footer. Force the wrapper
   and slides to size to the card's natural height so the section ends right
   after the products. Applies to the product-details related/recently tabs
   and the cart "Frequently Purchased Together" row. */
#wrapper > .flat-spacing.flat-animate-tab .tf-swiper .swiper-wrapper,
.grindo-frequently-bought .tf-swiper .swiper-wrapper {
    height: auto !important;
    align-items: stretch;
}
#wrapper > .flat-spacing.flat-animate-tab .tf-swiper .swiper-slide,
.grindo-frequently-bought .tf-swiper .swiper-slide {
    height: auto !important;
}

@media (max-width: 991px) {
    .section-product-single .tf-product-info-list {
        padding: 26px;
    }

    .section-product-single .tf-product-media-main .item {
        min-height: 500px;
        padding: 24px;
    }

    .section-product-single .product-infor-meta {
        align-items: flex-start;
        flex-direction: column;
    }

    .section-product-single .product-infor-meta .br-line {
        display: none;
    }
}

@media (max-width: 767px) {
    .section-product-single {
        padding-block: 28px 50px;
    }

    .section-product-single .tf-product-media-main {
        border-radius: 18px;
    }

    .section-product-single .tf-product-media-main .item {
        min-height: 420px;
        padding: 20px;
    }

    .section-product-single .tf-product-info-list {
        margin-top: 24px;
        padding: 22px 18px;
        border-radius: 18px;
    }

    .section-product-single .product-infor-name {
        font-size: 35px;
    }

    .section-product-single .variant-color .variant-picker-values,
    .section-product-single .tf-product-trust-seal .list-card {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .section-product-single .tf-product-total-quantity .grindo-detail-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .section-product-description {
        padding-block: 30px;
    }

    .section-product-description .tab-btn-wrap-v1 {
        overflow-x: auto;
        flex-wrap: nowrap;
        justify-content: flex-start;
    }

    .section-product-description .tf-btn-tab {
        white-space: nowrap;
    }

    .section-product-description .box-desc,
    .section-product-description .box-rating,
    .section-product-description .box-comment,
    .section-product-description .box-write-comment {
        padding: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .section-product-single *,
    .section-product-description *,
    #wrapper>.flat-spacing.flat-animate-tab * {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

.details {
    margin-top: 150px;
}

.swiper-wrapper {
    margin-top: 10px !important;
}

/*==================================================
        GRINDO ENQUIRY MODAL
==================================================*/

.enquiry-modal .modal-dialog {
    max-width: 1150px;
}

.enquiry-modal .modal-content {
    border: 0;
    border-radius: 24px;
    overflow: hidden;
    background: #FAF7F2;
    box-shadow: 0 25px 70px rgba(0, 0, 0, .12);
}

.enquiry-modal .modal-header {
    padding: 18px 29px;
    border-bottom: 1px solid #eee4d6;
    background: #fff;
}

.enquiry-modal .modal-title {
    font-size: 25px;
    font-weight: 700;
    line-height: 14px;
    letter-spacing: 0px;
    color: #5A3825;
    margin-bottom: 8px;
}

.enquiry-modal .modal-subtitle {
    margin: 0;
    color: #8d8176;
    font-size: 15px;
}

.modal-tag {
    display: inline-flex;
    align-items: center;
    padding: 8px 18px;
    border-radius: 50px;
    background: #fff2d3;
    color: #a96b13;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
}

.enquiry-modal .btn-close {
    opacity: 1;
}

.enquiry-modal .modal-body {
    padding: 14px;
}


/*=================================
SEARCH BAR
=================================*/

.search-box {
    position: relative;
}

.search-box i {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: #8c8c8c;
}

.search-box input {
    height: 58px;
    padding-left: 52px;
    border-radius: 14px;
    border: 1px solid #e6ddcf;
    background: #fff;
    box-shadow: none;
}

.search-box input:focus {
    border-color: #D8B23D;
    box-shadow: 0 0 0 .15rem rgba(216, 178, 61, .18);
}


/*=================================
TITLE
=================================*/

.selected-title {
    font-size: 20px;
    font-weight: 600;
    color: #5A3825;
    margin-top: 20px;
    margin-bottom: 18px;
}


/*=================================
PRODUCT LIST
=================================*/

.selected-products {

    display: flex;
    flex-direction: column;
    gap: 14px;

    max-height: none;
    overflow: visible;

    padding-right: 0;

}


/*=================================
PRODUCT CARD
=================================*/

.selected-product {

    display: flex;
    align-items: center;
    gap: 18px;

    padding: 18px;

    background: #fff;

    border-radius: 18px;

    border: 1px solid #ece2d5;

    transition: .35s;

}

.selected-product:hover {

    transform: translateY(-4px);

    box-shadow: 0 18px 35px rgba(0, 0, 0, .08);

}

.product-image {


    height: 90px;

    border-radius: 14px;

    overflow: hidden;

    background: #f5efe6;

    flex-shrink: 0;

}

.product-image img {

    width: 100%;
    height: 100%;

    object-fit: contain;

    padding: 10px;

}

.product-info {

    flex: 1;

}

.product-info h5 {

    /* margin-bottom: 8px; */
    font-size: 18px;
    color: #5A3825;
    font-weight: 600;

}

.product-info span {

    color: #8b8177;

    font-size: 15px;

}

.product-qty {

    display: flex;

    flex-direction: row;

    align-items: center;

    gap: 8px;

}

.product-qty input {

    width: 50px;
    height: 30px;
    text-align: center;
    border-radius: 10px;
    border: 1px solid #ddd;

}

.remove-product {

    border: 0;

    background: none;

    color: #d44b4b;

    font-weight: 600;
    font-size: 14px;

    transition: .3s;

}

.remove-product:hover {

    color: #b10000;

}


/*=================================
ADD PRODUCT BUTTON
=================================*/

.add-product {

    margin-top: 25px;

    width: 100%;

    height: 54px;

    border: 2px solid #D8B23D;

    border-radius: 15px;

    background: #fff8e8;

    color: #8d6520;

    font-weight: 600;

    transition: .35s;

}

.add-product:hover {

    background: #D8B23D;

    color: #fff;

}


/*=================================
FORM
=================================*/

.enquiry-form {

    background: #fff;

    padding: 41px;
    padding-top: 10px;
    padding-bottom: 15px;

    border-radius: 20px;

    border: 1px solid #ece2d5;

    box-shadow: 0 15px 35px rgba(0, 0, 0, .05);

}

.enquiry-form h4 {

    margin-bottom: 24px;

    color: #5A3825;

    font-size: 24px;

    font-weight: 700;

}

.enquiry-form label {

    display: block;

    margin-bottom: 8px;

    font-weight: 500;

    color: #5A3825;

}

.enquiry-form .form-control {

    height: 40px;


    border: 1px solid rgb(227 136 85 / 48%);
    border-radius: 8px;


    box-shadow: none;

}

.enquiry-form textarea.form-control {

    height: 70px;

    resize: none;

    padding-top: 15px;

}

.enquiry-form .form-control:focus {

    border-color: #D8B23D;

}


/*=================================
SUBMIT
=================================*/

.submit-enquiry {

    width: 100%;

    height: 56px;

    border: none;

    border-radius: 14px;

    margin-top: 10px;

    color: #fff;

    font-size: 16px;

    font-weight: 600;

    background: linear-gradient(135deg, #D8B23D, #D97A3A);

    transition: .35s;

}

.submit-enquiry:hover {

    transform: translateY(-2px);

    box-shadow: 0 15px 35px rgba(216, 178, 61, .35);

}


/*=================================
SCROLLBAR
=================================*/

.selected-products::-webkit-scrollbar {

    width: 6px;

}

.selected-products::-webkit-scrollbar-thumb {

    background: #d8b23d;

    border-radius: 20px;

}


/*=================================
MODAL ANIMATION
=================================*/

.modal.fade .modal-dialog {

    transform: translateY(40px) scale(.96);

    transition: .35s ease;

}

.modal.show .modal-dialog {

    transform: translateY(0) scale(1);

}

.modal-backdrop.show {

    opacity: .55;

    backdrop-filter: blur(6px);

}


/*=================================
RESPONSIVE
=================================*/

@media(max-width:991px) {

    .enquiry-modal .modal-body {

        padding: 22px;

    }

    .enquiry-form {

        margin-top: 30px;

    }

    .selected-product {

        flex-wrap: wrap;

    }

    .product-info {

        width: 100%;

    }

    .product-qty {

        align-items: flex-start;

    }

    .remove-product {

        margin-left: auto;

    }

}

@media(max-width:576px) {

    .enquiry-modal .modal-header {

        padding: 22px;

    }

    .enquiry-modal .modal-title {

        font-size: 26px;

    }

    .product-image {

        width: 80px;

        height: 80px;

    }

    .product-info h5 {

        font-size: 18px;

    }

    .search-box input {

        height: 52px;

    }

}

/* Product Info */

.product-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.product-info h5 {
    font-size: 16px;
    font-weight: 600;
    color: #5A3825;
    margin-bottom: 4px;
}

.product-info span {
    font-size: 14px;
    color: #8c8176;
    margin-bottom: 12px;
}

/* Qty */

.product-qty {
    display: flex;
    align-items: center;
    gap: 12px;
}

.qty-label {
    font-size: 13px;
    font-weight: 600;
    color: #5A3825;
}

/* Compact Quantity */
.enquiry-qty {
    display: flex;
    align-items: center;
    width: 91px;
    height: 36px;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.enquiry-qty .btn-quantity {

    width: 34px;
    height: 34px;

    border: none;
    background: transparent;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #5A3825;

    transition: .3s;

}

.enquiry-qty .btn-quantity:hover {

    background: #f8f2e8;

}

.enquiry-qty .btn-quantity i {

    font-size: 11px;

}

.enquiry-qty .quantity-product {

    width: 42px;

    height: 34px;

    border: none;

    background: transparent;

    text-align: center;

    font-size: 15px;

    font-weight: 600;

    color: #5A3825;

    padding: 0;

}

.enquiry-qty .quantity-product:focus {

    outline: none;

}

.same-content {
    display: flex;

    gap: 30px;
}

.first-content {
    width: 256px;
}

.section-contact {
    margin-top: 40px;
}

.section-map {
    background-color: white;
}

/* Contact page - simple, elegant, and isolated from global theme rules */
.grindo-contact-page {
    overflow: hidden;
    background: #faf7f2;
    color: #2f2f2f;
    font-family: "Poppins", sans-serif;
}

.grindo-contact-page *,
.grindo-contact-page *::before,
.grindo-contact-page *::after {
    box-sizing: border-box;
}

.grindo-contact-page .grindo-contact-hero {
    padding: 180px 0 64px;
    background: #f2e8da;
    border-bottom: 1px solid #e5d7c4;
}

.grindo-contact-page .grindo-contact-hero__content {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.grindo-contact-page .grindo-contact-eyebrow {
    display: inline-block;
    margin: 0 0 12px;
    color: #c66f35 !important;
    font-size: 12px !important;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.grindo-contact-page .grindo-contact-hero h1 {
    margin: 0 0 16px;
    color: #5a3825 !important;
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(40px, 5vw, 60px) !important;
    font-weight: 700;
    line-height: 1.12 !important;
    letter-spacing: -.02em;
}

.grindo-contact-page .grindo-contact-hero p {
    max-width: 650px;
    margin: 0 auto;
    color: #655c56 !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
}

.grindo-contact-page .grindo-contact-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 22px;
    color: #7e726a;
    font-size: 13px;
}

.grindo-contact-page .grindo-contact-breadcrumb a {
    color: #5a3825 !important;
    text-decoration: none;
}

.grindo-contact-page .grindo-contact-breadcrumb i {
    color: #d8b23d;
    font-size: 10px;
}

.grindo-contact-page .grindo-contact-main.section-contact {
    margin: 0;
    padding: 72px 0;
    background: #faf7f2;
}

.grindo-contact-page .grindo-contact-main .row {
    align-items: stretch;
}

.grindo-contact-page .grindo-contact-info-card,
.grindo-contact-page .grindo-contact-form-card {
    height: 100%;
    padding: 36px;
    border: 1px solid #e9dfd2;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 36px rgba(90, 56, 37, .07);
}

.grindo-contact-page .grindo-contact-info-card {
    max-width: none;
    background: #fffaf4;
}

.grindo-contact-page .grindo-contact-main .heading {
    margin-bottom: 28px;
}

.grindo-contact-page .grindo-contact-main h2 {
    margin: 0 0 12px;
    color: #5a3825 !important;
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(30px, 3vw, 38px) !important;
    font-weight: 700;
    line-height: 1.2 !important;
}

.grindo-contact-page .grindo-contact-main p,
.grindo-contact-page .grindo-contact-main li,
.grindo-contact-page .grindo-contact-main label {
    color: #69605a !important;
}

.grindo-contact-page .grindo-contact-main .grid-info {
    gap: 12px !important;
}

.grindo-contact-page .grindo-contact-info-item {
    padding: 17px;
    border: 1px solid #ebdfd0;
    border-radius: 13px;
    background: #fff;
    transition: border-color .25s ease, transform .25s ease;
}

.grindo-contact-page .grindo-contact-info-item:hover {
    border-color: #d8b23d;
    transform: translateY(-2px);
}

.grindo-contact-page .grindo-contact-info-item h6 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    color: #5a3825 !important;
    font-size: 13px !important;
    font-weight: 600;
    line-height: 1.4;
}

.grindo-contact-page .grindo-contact-info-item h6 i {
    display: inline-grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 8px;
    background: #fff2c9;
    color: #bc8423;
    font-size: 12px;
}

.grindo-contact-page .grindo-contact-info-item p,
.grindo-contact-page .grindo-contact-info-item li {
    margin: 0;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

.grindo-contact-page .grindo-contact-info-item a {
    color: #655c56 !important;
    text-decoration: none;
}

.grindo-contact-page .grindo-contact-form-card>p {
    margin-bottom: 24px !important;
    font-size: 14px;
    line-height: 1.7;
}

.grindo-contact-page .form-get .form-content {
    display: grid;
    gap: 19px;
    margin-bottom: 22px;
}

.grindo-contact-page .form-get .tf-grid-layout {
    gap: 16px;
}

.grindo-contact-page .form-get .tf-field {
    display: grid;
    gap: 8px;
}

.grindo-contact-page .form-get .tf-lable {
    position: static;
    margin: 0;
    color: #5a3825 !important;
    font-size: 12px !important;
    font-weight: 600;
    transform: none;
}

.grindo-contact-page .form-get input:not([type="checkbox"]),
.grindo-contact-page .form-get textarea {
    width: 100%;
    border: 1px solid #ddd1c2 !important;
    border-radius: 11px !important;
    outline: 0;
    background: #fff !important;
    color: #2f2f2f !important;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px !important;
    box-shadow: none !important;
}

.grindo-contact-page .form-get input:not([type="checkbox"]) {
    height: 50px !important;
    padding: 0 14px !important;
}

.grindo-contact-page .form-get textarea {
    min-height: 132px !important;
    padding: 13px 14px !important;
    resize: vertical;
}

.grindo-contact-page .form-get input:focus,
.grindo-contact-page .form-get textarea:focus {
    border-color: #d8b23d !important;
    box-shadow: 0 0 0 3px rgba(216, 178, 61, .12) !important;
}

.grindo-contact-page .form-get .checkbox-wrap {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 11px;
    line-height: 1.6;
}

.grindo-contact-page .form-get .tf-check {
    width: 17px;
    height: 17px;
    margin-top: 1px;
    accent-color: #d8b23d;
}

.grindo-contact-page .form-get .tf-btn {
    display: inline-flex;
    min-width: 174px;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 24px;
    border: 0 !important;
    border-radius: 11px !important;
    background: #5a3825 !important;
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    box-shadow: none;
    transition: background .25s ease, transform .25s ease;
}

.grindo-contact-page .form-get .tf-btn:hover {
    background: #d97a3a !important;
    transform: translateY(-2px);
}

.grindo-contact-page .grindo-contact-alert {
    margin: 16px 0;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 12px;
}

.grindo-contact-page .grindo-contact-alert--success {
    background: #eef8f1;
    color: #2d7047;
}

.grindo-contact-page .grindo-contact-alert--error,
.grindo-contact-page .grindo-field-error {
    color: #a44138;
}

.grindo-contact-page .grindo-contact-map.section-map {
    padding: 0 0 72px !important;
    background: #faf7f2 !important;
}

.grindo-contact-page .grindo-contact-map .wg-map {
    width: 100%;
    height: 380px;
    border: 1px solid #e3d7c8;
    border-radius: 18px;
    overflow: hidden;
    background: #eee;
    box-shadow: 0 12px 32px rgba(90, 56, 37, .07);
}

.grindo-contact-page .grindo-contact-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 991px) {
    .grindo-contact-page .grindo-contact-hero {
        padding: 150px 0 54px;
    }

    .grindo-contact-page .grindo-contact-main.section-contact {
        padding: 54px 0;
    }

    .grindo-contact-page .grindo-contact-info-card,
    .grindo-contact-page .grindo-contact-form-card {
        padding: 28px;
    }
}

@media (max-width: 767px) {
    .grindo-contact-page .grindo-contact-hero {
        padding: 128px 0 44px;
    }

    .grindo-contact-page .grindo-contact-hero h1 {
        font-size: 38px !important;
    }

    .grindo-contact-page .grindo-contact-main.section-contact {
        padding: 38px 0;
    }

    .grindo-contact-page .grindo-contact-info-card,
    .grindo-contact-page .grindo-contact-form-card {
        padding: 22px 18px;
        border-radius: 15px;
    }

    .grindo-contact-page .grindo-contact-main .grid-info,
    .grindo-contact-page .form-get .tf-grid-layout {
        grid-template-columns: 1fr !important;
    }

    .grindo-contact-page .form-get .tf-btn {
        width: 100%;
    }

    .grindo-contact-page .grindo-contact-map .wg-map {
        height: 310px;
        border-radius: 14px;
    }
}

/* Premium Contact Story */
.grindo-contact-page {
    --contact-cream: #FAF7F2;
    --contact-orange: #D9743E;
    --contact-brown: #5A3825;
    --contact-gold: #D9B547;
    position: relative;
    overflow: hidden;
    background: #ffffff;
    color: var(--contact-brown);
    font-family: 'DM Sans', sans-serif;
}

.grindo-contact-page *,
.grindo-contact-page *::before,
.grindo-contact-page *::after {
    box-sizing: border-box;
}

.grindo-contact-page .grindo-collections-catalogue__header {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 760px;
    min-height: 450px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding: 150px 24px 0px;
    isolation: isolate;
}

.grindo-contact-page .grindo-collections-catalogue__header::before {
    content: "";
    position: absolute;
    z-index: -2;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;

}

.grindo-contact-page .grindo-collections-catalogue__header::after {
    content: "CONTACT";
    position: absolute;
    z-index: -1;
    left: 50%;
    top: 54%;
    color: var(--contact-brown);
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(90px, 15vw, 220px);
    font-weight: 900;
    letter-spacing: .04em;
    line-height: 1;
    opacity: .03;
    transform: translate(-50%, -50%);
    white-space: nowrap;
}

.grindo-contact-page .grindo-collections-catalogue__header h1 {
    color: var(--contact-brown);
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(52px, 7vw, 86px);
    font-weight: 700;
    letter-spacing: -.035em;
    text-transform: none;
}

.grindo-contact-page .grindo-collections-catalogue__header p {
    max-width: 620px;
    color: rgba(90, 56, 37, .68);
    font-size: 15px;
    line-height: 1.8;
}

.grindo-contact-header-wrap {
    position: relative;
    overflow: hidden;
}

.grindo-contact-decor {
    position: absolute;
    pointer-events: none;
    z-index: 2;
    opacity: 0.15;
}

.grindo-contact-decor--star {
    left: 4%;
    top: 28%;
    width: 170px;
    transform: rotate(-15deg);
}

.grindo-contact-decor--leaf {
    right: 5%;
    top: 16%;
    width: 150px;
    transform: rotate(8deg);
}

.grindo-contact-decor--cinnamon {
    left: 6%;
    bottom: 10%;
    width: 180px;
    transform: rotate(12deg);
}

.grindo-contact-decor--chilli {
    right: 4%;
    bottom: 4%;
    width: 110px;
}

@media (max-width: 1199px) {

    .grindo-contact-decor--star,
    .grindo-contact-decor--cinnamon {
        left: 1%;
    }

    .grindo-contact-decor--leaf,
    .grindo-contact-decor--chilli {
        right: 1%;
    }
}

@media (max-width: 991px) {
    .grindo-contact-decor {
        display: none;
    }
}

.grindo-contact-page .grindo-collections-breadcrumb {
    color: rgba(90, 56, 37, .7);
}

.grindo-contact-page .grindo-collections-breadcrumb a {
    color: var(--contact-orange);
}

.grindo-contact-scroll {
    position: absolute;
    bottom: 34px;
    left: 50%;
    width: 26px;
    height: 42px;
    border: 1px solid rgba(90, 56, 37, .28);
    border-radius: 20px;
    transform: translateX(-50%);
}

.grindo-contact-scroll span {
    position: absolute;
    top: 8px;
    left: 50%;
    width: 4px;
    height: 7px;
    border-radius: 5px;
    background: var(--contact-orange);
    animation: grindo-contact-scroll 1.9s ease-in-out infinite;
}

.grindo-contact-hero-spice {
    position: absolute;
    z-index: -1;
    pointer-events: none;
}

.grindo-contact-hero-spice--chilli {
    top: 31%;
    left: -28%;
    width: 88px;
    height: 26px;
    border-radius: 100% 10% 100% 10%;
    background: linear-gradient(140deg, #9f291d, #d95435 65%, #6f8c38 67% 74%, transparent 75%);
    opacity: .56;
    transform: rotate(24deg);
    animation: grindo-contact-float 8s ease-in-out infinite;
}

.grindo-contact-hero-spice--cinnamon {
    right: -22%;
    bottom: 25%;
    width: 76px;
    height: 12px;
    border-radius: 10px;
    background: linear-gradient(#9c5631, #c9814d 48%, #713b24 52%, #b76b3d);
    box-shadow: 0 7px 0 #9b5735;
    opacity: .65;
    transform: rotate(-24deg);
    animation: grindo-contact-float-alt 9s ease-in-out infinite;
}

.grindo-contact-hero-spice--leaf {
    top: 27%;
    right: -35%;
    width: 82px;
    height: 38px;
    border-radius: 100% 0 100% 0;
    background: linear-gradient(135deg, #607d3d, #9baa58);
    opacity: .48;
    transform: rotate(18deg);
    animation: grindo-contact-float 10s ease-in-out -2s infinite;
}

.grindo-contact-hero-spice--pepper {
    left: -20%;
    bottom: 20%;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #3b2a23;
    box-shadow: 17px -7px #3b2a23, 35px 3px #3b2a23, 11px 18px #3b2a23, 29px 24px #3b2a23;
    opacity: .54;
    animation: grindo-contact-float-alt 7s ease-in-out infinite;
}

.grindo-contact-experience {
    position: relative;

    padding: 0px 0 60px;

}

.grindo-contact-experience::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .22;
    background-image: radial-gradient(rgba(90, 56, 37, .16) .6px, transparent .6px);
    background-size: 6px 6px;
}

.grindo-contact-mandala {
    position: absolute;
    top: 80px;
    right: -180px;
    width: 560px;
    height: 560px;
    border-radius: 50%;
    opacity: .03;
    background: repeating-conic-gradient(from 5deg, var(--contact-brown) 0 2deg, transparent 2deg 12deg);
    -webkit-mask: radial-gradient(circle, transparent 0 12%, #000 12% 14%, transparent 14% 25%, #000 25% 27%, transparent 27% 39%, #000 39% 42%, transparent 42% 52%, #000 52% 55%, transparent 55%);
    mask: radial-gradient(circle, transparent 0 12%, #000 12% 14%, transparent 14% 25%, #000 25% 27%, transparent 27% 39%, #000 39% 42%, transparent 42% 52%, #000 52% 55%, transparent 55%);
    animation: grindo-contact-rotate 80s linear infinite;
}

.grindo-contact-particle {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--contact-gold);
    box-shadow: 0 0 16px rgba(217, 181, 71, .7);
    opacity: .55;
    animation: grindo-contact-pulse 4s ease-in-out infinite;
}

.grindo-contact-particle--one {
    top: 18%;
    left: 5%;
}

.grindo-contact-particle--two {
    top: 55%;
    right: 6%;
    animation-delay: -1.3s;
}

.grindo-contact-particle--three {
    bottom: 12%;
    left: 42%;
    animation-delay: -2.6s;
}

.grindo-contact-story {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(560px, 1.1fr);
    gap: clamp(36px, 5vw, 78px);
    align-items: center;
}

.grindo-contact-form-panel {
    padding: clamp(28px, 0vw, 52px);
    /* border: 1px solid rgba(217, 181, 71, .22); */
    border-radius: 8px;
    background: rgba(255, 252, 247, .86);
    box-shadow: 0 30px 80px rgba(90, 56, 37, .10);
    backdrop-filter: blur(16px);
}

.grindo-contact-kicker,
.grindo-india-stage__eyebrow {
    display: block;
    margin-bottom: 12px;
    color: var(--contact-orange);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .19em;
    text-transform: uppercase;
}

.grindo-contact-form-panel h2,
.grindo-india-stage h2,
.grindo-office-map h2,
.grindo-quick-contact h2 {
    margin: 0;
    color: var(--contact-brown);
    font-family: 'DM Sans', sans-serif;
    font-weight: 700;
    line-height: 1.14;
}

.grindo-contact-form-panel h2 {
    font-size: clamp(34px, 3vw, 52px);
}

.grindo-contact-form-panel>p {
    margin: 18px 0 32px;
    color: rgba(90, 56, 37, .64);
    font-size: 14px;
    line-height: 1.8;
}

.grindo-contact-notice {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 0 0 22px;
    padding: 14px 16px;
    border-radius: 15px;
    font-size: 12px;
    line-height: 1.65;
}

.grindo-contact-notice--success {
    background: #eef8f0;
    color: #287044;
}

.grindo-contact-notice--error {
    background: #fff0ed;
    color: #a34435;
}

.grindo-contact-form label:not(.grindo-contact-consent) {
    display: block;
    margin: 0 0 2px;
    color: var(--contact-brown);
    font-size: 12px;
    font-weight: 600;
}

.grindo-contact-field {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 56px;

    border: 1px solid rgb(227 136 85 / 48%);
    border-radius: 8px;
    background: #ffffff;

    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease, background .25s ease;
}

.grindo-contact-field:focus-within {

    background: #ffffff;

    transform: translateY(-2px);
}

.grindo-contact-field.is-invalid,
.grindo-contact-form.was-validated .grindo-contact-field:has(:invalid) {
    border-color: rgba(180, 59, 45, .72);
}

.grindo-contact-field>i {
    flex: 0 0 48px;
    color: var(--contact-orange);
    text-align: center;
    font-size: 14px;
}

.grindo-contact-field input,
.grindo-contact-field textarea {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--contact-brown);
    font: 400 13px/1.5 "Poppins", sans-serif;
}

.grindo-contact-field input {
    height: 54px;
    padding: 0 18px 0 0;
    font-size: 16px;
}

.grindo-contact-field textarea {
    min-height: 80px;
    padding: 17px 18px 16px 0;
    resize: vertical;
}

.grindo-contact-field--message {
    align-items: flex-start;
}

.grindo-contact-field--message>i {
    padding-top: 20px;
}

.grindo-contact-field input::placeholder,
.grindo-contact-field textarea::placeholder {
    color: rgba(90, 56, 37, .42);
}

.grindo-contact-error {
    margin: 6px 0 0 4px;
    color: #a34435;
    font-size: 11px;
}

.grindo-contact-consent {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    color: rgba(90, 56, 37, .64);
    font-size: 11px;
    line-height: 1.6;
    cursor: pointer;
}

.grindo-contact-consent input {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin-top: 1px;
    accent-color: var(--contact-orange);
}

.grindo-contact-submit {
    position: relative;
    min-width: 205px;
    min-height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 26px;
    padding: 0 26px;
    overflow: hidden;
    border: 0;
    border-radius: 18px;
    background: var(--contact-orange);
    color: #fff;
    font: 600 13px "Poppins", sans-serif;

    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

/* .grindo-contact-submit:hover {
        transform: translateY(-4px);
        box-shadow: 0 18px 38px rgba(217, 116, 62, .38);
    } */

.grindo-contact-submit i {

    transition: transform .25s ease;
}

.story1 {
    width: 190px;
}

/* .grindo-contact-submit:hover .fa-arrow-right {
    transform: translateX(5px);
} */

.grindo-contact-submit.is-success {
    background: #477b4a;
    box-shadow: 0 13px 28px rgba(71, 123, 74, .24);
}

.grindo-contact-submit.is-sending {
    pointer-events: none;
    opacity: .85;
}

.grindo-contact-submit__label {
    position: relative;
    z-index: 1;
}

.grindo-contact-submit__ripple {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, .32);
    transform: scale(0);
    animation: grindo-contact-ripple .65s linear;
    pointer-events: none;
}

.grindo-india-stage {
    position: relative;
    min-height: 740px;
    text-align: center;
    perspective: 900px;
}

.grindo-india-stage>h2 {
    position: relative;
    z-index: 4;
    font-size: clamp(34px, 4vw, 40px);
}

.grindo-india-stage__eyebrow {
    position: relative;
    z-index: 4;
    padding-top: 8px;
}

.grindo-india-map-wrap {
    --parallax-x: 0px;
    --parallax-y: 0px;
    position: absolute;
    z-index: 2;
    top: 249px;
    left: 50%;
    width: min(110%, 474px);
    transform: translate(calc(-50% + var(--parallax-x)), var(--parallax-y));
    transition: transform .6s cubic-bezier(.22, .61, .36, 1);
}

.grindo-india-map {
    position: relative;
    z-index: 2;
    display: block;

    width: 550px;
    height: auto;
    filter: drop-shadow(0 30px 24px rgba(90, 56, 37, .17));
    animation: grindo-india-float 8s ease-in-out infinite;
}

.grindo-india-halo {
    position: absolute;
    z-index: 0;
    inset: 12% -10%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(217, 181, 71, .25), rgba(217, 116, 62, .06) 52%, transparent 72%);
    filter: blur(13px);
}

.grindo-contact-routes {
    position: absolute;
    z-index: 1;
    inset: 70px 0 0;
    width: 100%;
    height: calc(100% - 70px);
    overflow: visible;
    pointer-events: none;
}

.grindo-contact-routes path {
    stroke: rgba(217, 116, 62, .43);
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-dasharray: 5 9;
    animation: grindo-contact-route 13s linear infinite;
}

.grindo-contact-routes path:nth-child(2) {
    animation-delay: -4s;
}

.grindo-contact-routes path:nth-child(3) {
    animation-delay: -8s;
}

.grindo-india-stage:not(.aos-animate) .grindo-contact-routes path {
    stroke-dashoffset: 150;
    opacity: 0;
}

.grindo-map-contact-card {
    --tilt-x: 0deg;
    --tilt-y: 0deg;
    position: absolute;
    z-index: 5;
    width: 190px;
    min-height: 80px;
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 20px;
    background: rgba(255, 252, 247, .72);
    box-shadow: 0 18px 45px rgba(90, 56, 37, .13);
    backdrop-filter: blur(14px);
    text-align: left;
    transform: rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.grindo-map-contact-card:hover {
    transform: translateY(-7px) rotate(2deg) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
    border-color: rgba(217, 181, 71, .52);
    box-shadow: 0 24px 52px rgba(217, 116, 62, .20);
}

.grindo-map-contact-card--phone {
    top: 177px;
    left: 0;
    animation: grindo-card-float 7s ease-in-out infinite;
}

.grindo-map-contact-card--email {
    top: 155px;
    right: 0;
    animation: grindo-card-float 8s ease-in-out -2.5s infinite;
}

.grindo-map-contact-card--office {
    right: 0;
    bottom: 200px;
    animation: grindo-card-float 7.5s ease-in-out -4.5s infinite;
}

.grindo-map-contact-card__icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: linear-gradient(145deg, var(--contact-orange), #e99462);
    color: #fff;
    box-shadow: 0 9px 18px rgba(217, 116, 62, .24);
}

.grindo-map-contact-card small {
    display: block;
    margin-bottom: 3px;
    color: rgba(90, 56, 37, .55);
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.grindo-map-contact-card a,
.grindo-map-contact-card strong {
    display: block;
    color: var(--contact-brown);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    white-space: wrap;
    line-height: 1.5;
}

.grindo-map-spice {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    opacity: .7;
    animation: grindo-contact-rotate-float 13s ease-in-out infinite;
}

.grindo-map-spice--leaf {
    left: 14%;
    bottom: 25%;
    width: 64px;
    height: 28px;
    border-radius: 100% 0 100% 0;
    background: linear-gradient(135deg, #5f7d3d, #a0a95b);
    transform: rotate(-30deg);
}

.grindo-map-spice--cinnamon {
    top: 42%;
    right: 7%;
    width: 68px;
    height: 10px;
    border-radius: 10px;
    background: #a45d37;
    box-shadow: 0 7px 0 #c47b4d;
    transform: rotate(28deg);
    animation-delay: -3s;
}

.grindo-map-spice--chilli {
    right: 18%;
    bottom: 20%;
    width: 70px;
    height: 20px;
    border-radius: 100% 10% 100% 10%;
    background: linear-gradient(145deg, #a72d1f 0 78%, #6d8a3d 79%);
    transform: rotate(-18deg);
    animation-delay: -6s;
}

.grindo-map-spice--cardamom {
    top: 46%;
    left: 10%;
    width: 18px;
    height: 25px;
    border-radius: 60% 40% 55% 45%;
    background: linear-gradient(90deg, #879447, #b3b86c 52%, #75843f);
    box-shadow: 24px 13px 0 #919d51, 9px 36px 0 #a9ae61;
    animation-delay: -9s;
}

.grindo-office-map {
    position: relative;
    z-index: 3;
    margin-top: -60px;
    padding: 0 0 110px;
    background: #F2EADF;
}

.grindo-office-map__card {
    padding: clamp(18px, 3vw, 32px);
    border: 1px solid rgba(217, 181, 71, .25);
    border-radius: 30px;
    background: rgba(255, 253, 249, .94);
    box-shadow: 0 35px 80px rgba(90, 56, 37, .15);
}

.grindo-office-map__heading {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 4px 20px;
    padding: 4px 6px 24px;
}

.grindo-office-map__heading .grindo-contact-kicker {
    grid-column: 1;
    margin: 0;
}

.grindo-office-map__heading h2 {
    margin-right: auto;
    font-size: clamp(30px, 4vw, 46px);
}

.grindo-office-map__heading a {
    grid-column: 2;
    grid-row: 1 / span 2;
    color: var(--contact-orange);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

.grindo-office-map__heading a i {
    margin-left: 7px;
}

.grindo-office-map__frame {
    height: 500px;
    overflow: hidden;
    border-radius: 24px;
    background: #e7dfd4;
}

.grindo-office-map__frame iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    filter: sepia(.13) saturate(.78) contrast(.94);
}

.grindo-quick-contact {
    position: relative;
    padding: 100px 0 120px;
    background: #F2EADF;
}

.grindo-quick-contact__heading {
    margin-bottom: 42px;
    text-align: center;
}

.grindo-quick-contact__heading h2 {
    font-size: clamp(34px, 4vw, 48px);
}

.grindo-quick-card {
    position: relative;
    min-height: 120px;
    display: flex;
    gap: 16px;
    align-items: center;
    padding: 24px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 22px;
    background: rgba(255, 255, 255, .52);
    color: var(--contact-brown);
    box-shadow: 0 15px 34px rgba(90, 56, 37, .07);
    backdrop-filter: blur(12px);
    text-decoration: none;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.grindo-quick-card::before {
    content: "";
    position: absolute;
    top: 18px;
    bottom: 18px;
    left: 0;
    width: 3px;
    border-radius: 0 4px 4px 0;
    background: var(--contact-orange);
}

.grindo-quick-card:hover {
    color: var(--contact-brown);
    transform: translateY(-7px);
    border-color: rgba(217, 181, 71, .42);
    box-shadow: 0 24px 48px rgba(90, 56, 37, .12);
}

.grindo-quick-card>i {
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    background: rgba(217, 116, 62, .11);
    color: var(--contact-orange);
    font-size: 17px;
}

.grindo-quick-card small {
    display: block;
    margin-bottom: 5px;
    color: rgba(90, 56, 37, .52);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.grindo-quick-card strong {
    display: block;
    color: var(--contact-brown);
    font-size: 12px;
    font-weight: 600;
}

.grindo-contact-page [data-aos] {
    opacity: 0;
    transition: opacity .8s ease, transform .8s cubic-bezier(.22, .61, .36, 1);
}

.grindo-contact-page [data-aos="fade-up"] {
    transform: translateY(28px);
}

.grindo-contact-page [data-aos="fade-right"] {
    transform: translateX(-30px);
}

.grindo-contact-page [data-aos="fade-left"] {
    transform: translateX(30px);
}

.grindo-contact-page [data-aos].aos-animate {
    opacity: 1;
    transform: translate(0);
}

@keyframes grindo-contact-scroll {
    0% {
        opacity: 0;
        transform: translate(-50%, 0);
    }

    35% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translate(-50%, 15px);
    }
}

@keyframes grindo-contact-float {

    0%,
    100% {
        translate: 0 0;
        rotate: 0deg;
    }

    50% {
        translate: 0 -10px;
        rotate: 4deg;
    }
}

@keyframes grindo-contact-float-alt {

    0%,
    100% {
        translate: 0 0;
        rotate: 0deg;
    }

    50% {
        translate: 8px -7px;
        rotate: -4deg;
    }
}

@keyframes grindo-india-float {

    0%,
    100% {
        transform: translateY(-8px);
    }

    50% {
        transform: translateY(0);
    }
}

@keyframes grindo-card-float {

    0%,
    100% {
        margin-top: 0;
    }

    50% {
        margin-top: -7px;
    }
}

@keyframes grindo-contact-route {
    to {
        stroke-dashoffset: -280;
    }
}

@keyframes grindo-contact-rotate {
    to {
        transform: rotate(360deg);
    }
}

@keyframes grindo-contact-rotate-float {

    0%,
    100% {
        translate: 0 0;
        rotate: 0deg;
    }

    50% {
        translate: 0 -9px;
        rotate: 8deg;
    }
}

@keyframes grindo-contact-pulse {

    0%,
    100% {
        opacity: .25;
        transform: scale(.8);
    }

    50% {
        opacity: .7;
        transform: scale(1.35);
    }
}

@keyframes grindo-contact-ripple {
    to {
        transform: scale(2.5);
        opacity: 0;
    }
}

@media (max-width: 1199px) {
    .grindo-contact-story {
        grid-template-columns: minmax(0, .95fr) minmax(480px, 1.05fr);
        gap: 30px;
    }

    .grindo-map-contact-card {
        width: 168px;
        padding: 12px;
    }

    .grindo-map-contact-card--phone,
    .grindo-map-contact-card--email {
        top: 165px;
    }

    .grindo-india-map-wrap {
        width: min(53%, 340px);
        top: 235px;
    }
}

@media (max-width: 991px) {
    .grindo-contact-page .grindo-collections-catalogue__header {
        min-height: 500px;
        padding-top: 130px;
    }

    .grindo-contact-experience {
        padding: 60px 0 60px;
    }

    .grindo-contact-story {
        grid-template-columns: 1fr;
    }

    .grindo-contact-form-panel {
        max-width: 720px;
        margin: 0 auto;
    }

    .grindo-india-stage {
        width: min(100%, 720px);
        min-height: 760px;
        margin: 35px auto 0;
    }

    .grindo-india-map-wrap {
        width: min(54%, 370px);
        top: 220px;
    }

    .grindo-map-contact-card {
        width: 185px;
    }

    .grindo-map-contact-card--phone,
    .grindo-map-contact-card--email {
        top: 160px;
    }

    .grindo-office-map__frame {
        height: 430px;
    }
}

@media (max-width: 767px) {
    .grindo-contact-page .grindo-collections-catalogue__header {
        min-height: 400px;
        padding: 120px 20px 30px;
    }

    .grindo-contact-page .grindo-collections-catalogue__header h1 {
        font-size: 48px;
    }

    .grindo-contact-hero-spice--chilli {
        left: -3%;
        top: 26%;
        transform: scale(.65) rotate(24deg);
    }

    .grindo-contact-hero-spice--cinnamon {
        right: 1%;
        bottom: 22%;
        transform: scale(.7) rotate(-24deg);
    }

    .grindo-contact-hero-spice--leaf,
    .grindo-contact-hero-spice--pepper {
        display: none;
    }

    .grindo-contact-experience {
        padding: 20px 0 48px;
    }

    .grindo-contact-form-panel {
        padding: 27px 20px;
        border-radius: 24px;
    }

    .grindo-contact-submit {
        width: 100%;
    }

    .grindo-contact-story {
        gap: 28px;
    }

    .grindo-india-stage {
        min-height: auto;
        display: flex;
        flex-direction: column;
        margin-top: 12px;
    }

    .grindo-india-map-wrap {
        position: relative;
        top: auto;
        left: auto;
        order: 1;
        width: min(82%, 430px);
        margin: 42px auto 30px;
        transform: translate(var(--parallax-x), var(--parallax-y));
    }

    .grindo-map-contact-card {
        position: relative;
        inset: auto;
        order: 2;
        width: 100%;
        min-height: 76px;
        margin: 0 0 14px;
        animation: none;
    }

    .grindo-contact-routes,
    .grindo-map-spice {
        display: none;
    }

    .grindo-office-map {
        margin-top: -40px;
        padding-bottom: 75px;
    }

    .grindo-office-map__card {
        border-radius: 24px;
    }

    .grindo-office-map__heading {
        display: flex;
        align-items: flex-start;
        flex-direction: column;
    }

    .grindo-office-map__heading .grindo-contact-kicker {
        margin-bottom: -10px;
    }

    .grindo-office-map__frame {
        height: 340px;
        border-radius: 18px;
    }

    .grindo-quick-contact {
        padding: 75px 0 90px;
    }

    .grindo-quick-contact__heading {
        margin-bottom: 30px;
    }

    .grindo-quick-card {
        min-height: 105px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .grindo-contact-page *,
    .grindo-contact-page *::before,
    .grindo-contact-page *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

.grindo-collections-catalogue__header {
    top: 0px !important;
}

.map-card {
    margin-bottom: 30px;
}

.grindo-cart {
    --ink: #34231c;
    --brown: #6d4c41;
    --dark: #4c3028;
    --gold: #c98a35;
    --cream: #fbf6ec;
    --line: #e8dcc9;
    padding: 52px 0 96px;
    color: var(--ink);
    background: white;
}

.grindo-cart-header.header-abs-2 {
    margin-bottom: 0;
}

.grindo-cart-header,
.grindo-cart-header.grh-nav-clear,
.grindo-cart-header.grh-nav-solid,
.grindo-cart-header.header-sticky,
.grindo-cart-header.heritage-header--scrolled {
    background: rgba(255, 253, 248, .98) !important;
    border-bottom: 1px solid #eadfce !important;
    box-shadow: 0 8px 28px rgba(67, 43, 32, .08) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    backdrop-filter: blur(14px) !important;
}

.grindo-cart-header .item-link,
.grindo-cart-header .cus-text,
.grindo-cart-header .nav-icon-item,
.grindo-cart-header .nav-icon-item i,
.grindo-cart-header .btn-open-menu,
.grindo-cart-header .btn-open-menu i {
    color: #3b2418 !important;
}

.grindo-cart-header .item-link:hover,
.grindo-cart-header .nav-icon-item:hover,
.grindo-cart-header .nav-icon-item:hover i {
    color: #c27b2c !important;
}

.grindo-cart-header .shop-cart .count {
    color: #fff !important;
    background: #c84b3a !important;
}

.grindo-cart-header__announcement {
    color: #3b2418;
    background: #f8efe1 !important;
    border-bottom-color: #e8dcc9;
}

.grindo-cart-header__announcement .announcement-content span,
.grindo-cart-header__announcement .announcement-content i {
    color: #3b2418 !important;
}

.grindo-cart a {
    color: inherit
}

.grindo-cart__breadcrumb {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 22px;
    color: #8a776d;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .04em
}

.grindo-cart__breadcrumb a:hover {
    color: var(--brown)
}

.grindo-cart__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 42px
}

.grindo-cart__eyebrow {
    display: block;
    margin-bottom: 8px;
    color: var(--gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase
}

.grindo-cart__heading h1 {
    margin: 0;
    color: var(--ink);
    font-size: clamp(38px, 5vw, 50px);
    line-height: .98;
    letter-spacing: -.035em
}

.grindo-cart__heading p {
    max-width: 420px;
    margin: 0 0 3px;
    color: #78685f;
    font-size: 15px;
    line-height: 1.7
}

.grindo-cart__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(310px, .85fr);
    gap: 36px;
    align-items: start
}

.grindo-cart__items {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 22px 55px rgba(74, 48, 37, .07)
}

.grindo-cart__items-head,
.grindo-cart-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 120px 100px;
    gap: 20px
}

.grindo-cart__items-head {
    padding: 18px 26px;
    border-bottom: 1px solid var(--line);
    color: #917f74;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase
}

.grindo-cart__items-head span:last-child {
    text-align: right
}

.grindo-cart-item {
    align-items: center;
    padding: 25px 26px;
    transition: opacity .2s, transform .2s
}

.grindo-cart-item+.grindo-cart-item {
    border-top: 1px solid var(--line)
}

.grindo-cart-item.is-removing {
    opacity: 0;
    transform: translateX(-12px)
}

.grindo-cart-item__product {
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr);
    gap: 20px;
    align-items: center
}

.grindo-cart-item__image {
    display: grid;
    place-items: center;
    width: 116px;
    height: 116px;
    overflow: hidden;
    border-radius: 16px;
    background: #f5ead7
}

.grindo-cart-item__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    padding: 14px;
    transition: transform .35s
}

.grindo-cart-item__image:hover img {
    transform: scale(1.045)
}

.grindo-cart-item__category {
    margin-bottom: 5px;
    color: var(--gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase
}

.grindo-cart-item__name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 0;
    color: var(--ink);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3
}

.grindo-cart-item__name:hover {
    color: var(--brown)
}

.grindo-cart-item__meta {
    margin: 0 0 12px;
    color: #8a7970;
    font-size: 12px
}

.grindo-cart-item__remove {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 1px solid #dfd2c2;
    border-radius: 50%;
    color: #8a7970;
    background: #fffaf3;
    font-size: 20px;
    line-height: 1;
    cursor: pointer
}

.grindo-cart-item__remove:hover {
    background: #fff0ed;
    color: #a43b2b;
    border-color: #a43b2b
}

.grindo-cart-quantity {
    display: grid;
    grid-template-columns: 34px 38px 34px;
    align-items: center;
    width: 106px;
    height: 42px;
    border: 1px solid #dacbbb;
    border-radius: 12px;
    background: #fffdf9
}

.grindo-cart-quantity button {
    display: grid;
    place-items: center;
    height: 100%;
    padding: 0;
    border: 0;
    color: var(--brown);
    background: transparent;
    font-size: 18px;
    cursor: pointer
}

.grindo-cart-quantity button:hover {
    color: var(--gold)
}

.grindo-cart-quantity input {
    width: 100%;
    padding: 0;
    border: 0;
    outline: 0;
    color: var(--ink);
    background: transparent;
    font-size: 14px;
    font-weight: 700;
    text-align: center
}

.grindo-cart-item__price {
    color: var(--ink);
    font-size: 16px;
    font-weight: 800;
    text-align: right;
    white-space: nowrap
}

.grindo-cart-item__price-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}

.grindo-cart__empty {
    display: none;
    padding: 64px 24px;
    text-align: center
}

.grindo-cart__empty i {
    color: var(--gold);
    font-size: 40px
}

.grindo-cart__empty h2 {
    margin: 16px 0 8px;
    font-size: 26px
}

.grindo-cart__empty p {
    margin-bottom: 22px;
    color: #806f66
}

.grindo-cart__summary {
    position: sticky;
    top: 118px;
    padding: 30px;
    border: 1px solid var(--line);
    border-radius: 22px;
    color: var(--ink);
    background: #fff;
    box-shadow: 0 25px 60px rgba(62, 39, 31, .1)
}

.grindo-cart__summary h2 {
    margin: 0 0 24px;
    color: var(--ink);
    font-size: 24px
}

.grindo-cart__delivery {
    padding: 15px 16px;
    margin-bottom: 25px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: var(--cream)
}

.grindo-cart__delivery p {
    margin: 0 0 10px;
    color: #78685f;
    font-size: 12px;
    line-height: 1.45
}

.grindo-cart__delivery strong {
    color: var(--brown)
}

.grindo-cart__progress {
    height: 5px;
    overflow: hidden;
    border-radius: 99px;
    background: #eadfce
}

.grindo-cart__progress span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #b9772d, #e2aa58);
    transition: width .3s
}

.grindo-cart__summary-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 9px 0;
    color: #806f66;
    font-size: 14px
}

.grindo-cart__summary-row>span:last-child {
    color: var(--ink);
    font-weight: 700
}

.grindo-cart__summary-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 18px;
    padding: 20px 0;
    border-top: 1px solid var(--line);
    color: var(--ink);
    font-size: 18px;
    font-weight: 800
}

.grindo-cart__summary-total strong {
    color: var(--brown);
    font-size: 25px
}

.grindo-cart__note {
    display: flex;
    gap: 9px;
    margin: 0 0 20px;
    color: #806f66;
    font-size: 11px;
    line-height: 1.5
}

.grindo-cart__checkout,
.grindo-cart__shop-link,
.grindo-cart__empty-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .035em
}

.grindo-cart__checkout {
    width: 100%;
    border: 0;
    color: #fff;
    background: var(--brown);
    cursor: pointer;
    transition: transform .2s, background .2s
}

.grindo-cart__checkout:hover {
    transform: translateY(-2px);
    background: var(--brown) !important;
    color: #fff !important;
}

.grindo-cart__checkout:disabled {
    opacity: .5;
    cursor: not-allowed;
    transform: none
}

.grindo-cart__shop-link {
    width: 100%;
    min-height: 40px;
    margin-top: 10px;
    color: var(--brown) !important;
    font-size: 12px
}

.grindo-cart__shop-link:hover {
    color: var(--gold) !important
}

.grindo-cart__empty-link {
    padding: 0 24px;
    color: #fff !important;
    background: var(--brown)
}

.grindo-cart__benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 28px
}

.grindo-cart__benefit {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 8px 18px;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: rgba(255, 255, 255, .72)
}

.grindo-cart__benefit > div {
    min-width: 0
}

.grindo-cart__benefit i {
    color: var(--gold);
    font-size: 21px
}

.grindo-cart__benefit svg {
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    fill: none;
    stroke: var(--gold);
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.grindo-cart__benefit strong {
    display: block;
  
    font-size: 15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.grindo-cart__benefit span {
    color: #8a7970;
    font-size: 10px;
    line-height:16px;
}
   

@media(max-width:991px) {
    .grindo-cart {
        padding-top: 42px
    }

    .grindo-cart__heading {
        align-items: start;
        flex-direction: column;
        margin-bottom: 30px
    }

    .grindo-cart__layout {
        grid-template-columns: 1fr
    }

    .grindo-cart__summary {
        position: static
    }
}

@media(max-width:767px) {
    .grindo-cart {
        padding: 34px 0 64px
    }

    .grindo-cart__heading p {
        font-size: 14px
    }

    .grindo-cart__items-head {
        display: none
    }

    .grindo-cart-item {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 18px 12px;
        padding: 20px 16px
    }

    .grindo-cart-item__product {
        grid-column: 1/-1;
        grid-template-columns: 96px minmax(0, 1fr);
        gap: 15px
    }

    .grindo-cart-item__image {
        width: 96px;
        height: 96px
    }

    .grindo-cart-item__price {
        font-size: 15px
    }

    .grindo-cart__benefits {
        grid-template-columns: 1fr
    }
}

.grindo-cart-enquiry .modal-content {
    max-height: calc(100vh - 32px);
}

.grindo-cart-enquiry .modal-body {
    overflow-y: auto;
}

.grindo-cart-enquiry .selected-product {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 96px;
    padding: 12px 14px;
    border-radius: 16px;
}

.grindo-cart-enquiry .product-image {
    width: 72px;
    height: 72px;
    border-radius: 12px;
}

.grindo-cart-enquiry .product-info {
    flex: 1;
    min-width: 0;
    gap: 10px;
}

.grindo-cart-enquiry .product-info__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.grindo-cart-enquiry .product-info h5 {
    min-width: 0;
    margin: 0;
    font-size: 15px;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
}

.grindo-cart-enquiry .product-info span {
    display: block;
    font-size: 12px;
    margin: 0;
    white-space: nowrap;
}

.grindo-cart-enquiry .product-qty {
    flex-shrink: 0;
    gap: 8px;
    color: #5a3825;
    font-size: 13px;
}

.grindo-cart-enquiry .remove-product {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: #d44b4b;
    font-size: 24px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.grindo-cart-enquiry .enquiry-qty {
    width: 104px;
    height: 34px;
    border: 1px solid #eadfce;
    border-radius: 12px;
}

.grindo-cart-enquiry .enquiry-qty .btn-quantity {
    width: 32px;
    height: 32px;
}

.grindo-cart-enquiry .enquiry-qty .quantity-product {
    width: 38px;
    height: 32px;
}

.grindo-cart-enquiry .add-product {
    text-decoration: none;
}

.grindo-cart-enquiry .add-product:hover {
    color: #fff;
}

/* =================================
   PREMIUM ENQUIRY FORM REDESIGN
   ================================= */
.grindo-cart-enquiry .modal-header {
    background: linear-gradient(135deg, #fff 55%, #fdf6e8 100%);
    align-items: center;
}

.grindo-enquiry-heading {
    display: flex;
    align-items: center;
    gap: 16px;
}

.grindo-enquiry-heading__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: linear-gradient(135deg, #D8B23D, #D97A3A);
    color: #fff;
    font-size: 20px;
    flex-shrink: 0;
    box-shadow: 0 10px 24px rgba(216, 178, 61, .35);
}

.grindo-cart-enquiry .modal-title {
    margin-bottom: 2px;
    line-height: 1.3;
}

.grindo-cart-enquiry .modal-subtitle {
    font-size: 13px;
}

.grindo-cart-enquiry .btn-close {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #f5efe6;
    background-size: 12px;
    opacity: 1;
    transition: background-color .25s;
}

.grindo-cart-enquiry .btn-close:hover {
    background-color: #ece2d5;
}

.grindo-cart-enquiry .left-cart {
    background: linear-gradient(180deg, #FBF6EC 0%, #F7EFE0 100%);
    padding: 28px 26px;
    border-right: 1px solid #ece2d5;
}

.grindo-cart-enquiry .selected-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #8d6520;
    font-weight: 700;
}

.grindo-cart-enquiry .selected-title::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #D97A3A;
    flex-shrink: 0;
}

.grindo-cart-enquiry .selected-product {
    background: #fff;
    border-color: #f0e6d8;
    box-shadow: 0 8px 20px rgba(90, 56, 37, .06);
}

.grindo-cart-enquiry .product-image {
    border: 1px solid #f0e6d8;
}

.grindo-cart-enquiry .product-qty {
    display: inline-flex;
    padding: 4px 14px;
    border-radius: 999px;
    background: #FBF0DC;
    color: #8A5A1F;
    font-weight: 700;
    white-space: nowrap;
}

.grindo-cart-enquiry .enquiry-form {
    box-shadow: none;
    border: 0;
    background: #fff;

    padding-top: 10px;
}

.grindo-cart-enquiry .enquiry-form h4 {
    font-size: 21px;
}

.grindo-enquiry-field label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 700;
    color: #8d6520;
    margin-bottom: 8px;
}

.grindo-cart-enquiry .first-content {
    width: auto;
    flex: 1;
    min-width: 0;
}

.grindo-enquiry-input {
    position: relative;
    display: flex;
    align-items: center;
}

.grindo-enquiry-input>i {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #c79a56;
    font-size: 15px;
    pointer-events: none;
}

.grindo-enquiry-input .form-control {
    width: 100%;
    padding-left: 44px;
    height: 48px;
    border-radius: 12px;
    border: 1.5px solid #ece2d5;
    background: #FBF9F5;
    transition: border-color .25s, box-shadow .25s, background-color .25s;
}

.grindo-enquiry-input--textarea>i {
    top: 18px;
    transform: none;
}

.grindo-enquiry-input textarea.form-control {
    height: auto;
    padding-top: 14px;
    resize: none;
}

.grindo-enquiry-input .form-control:focus {
    border-color: #D8B23D;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(216, 178, 61, .16);
}

.grindo-cart-enquiry .grindo-auth-error {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    border-left: 3px solid #C0392B;
}

.grindo-cart-enquiry .grindo-auth-error i {
    font-size: 15px;
    flex-shrink: 0;
}

.grindo-cart-enquiry .submit-enquiry {
    box-shadow: 0 10px 26px rgba(216, 178, 61, .28);
}

@media(max-width:575px) {
    .grindo-cart-enquiry .modal-dialog {
        margin: 10px;
    }

    .grindo-cart-enquiry .modal-header,
    .grindo-cart-enquiry .modal-body,
    .grindo-cart-enquiry .enquiry-form {
        padding: 20px;
    }

    .grindo-cart-enquiry .selected-product {
        gap: 12px;
        padding: 12px;
    }

    .grindo-cart-enquiry .product-image {
        width: 64px;
        height: 64px;
    }

    .grindo-cart-enquiry .product-info__row {
        gap: 8px;
    }

    .grindo-cart-enquiry .product-info h5 {
        font-size: 14px;
    }

    .grindo-cart-enquiry .product-qty>span {
        font-size: 12px;
    }
}

@media(max-width:420px) {
    .grindo-cart-item__product {
        grid-template-columns: 82px minmax(0, 1fr)
    }

    .grindo-cart-item__image {
        width: 82px;
        height: 82px
    }

    .grindo-cart__summary {
        padding: 25px 20px
    }
}

/* Grindo Terms & Conditions */
.grindo-legal-header.header-abs-2 {
    margin-bottom: 0;
}

.grindo-legal-header,
.grindo-legal-header.grh-nav-clear,
.grindo-legal-header.grh-nav-solid,
.grindo-legal-header.header-sticky,
.grindo-legal-header.heritage-header--scrolled {
    background: rgba(255, 253, 248, .98) !important;
    border-bottom: 1px solid #eadfce !important;
    box-shadow: 0 8px 28px rgba(67, 43, 32, .08) !important;
    backdrop-filter: blur(14px) !important;
}

.grindo-legal-header .item-link,
.grindo-legal-header .cus-text,
.grindo-legal-header .nav-icon-item,
.grindo-legal-header .nav-icon-item i,
.grindo-legal-header .btn-open-menu i {
    color: #3b2418 !important;
}

.grindo-legal-header__announcement {
    background: #f8efe1 !important;
    border-bottom-color: #e8dcc9;
}

.grindo-legal-header__announcement .announcement-content span,
.grindo-legal-header__announcement .announcement-content i {
    color: #3b2418 !important;
}

.grindo-terms-page {
    --terms-ink: #3b271e;
    --terms-brown: #6d4c41;
    --terms-gold: #c98a35;
    --terms-cream: #fbf6ec;
    --terms-line: #e8dcc9;
    color: var(--terms-ink);
    background: #fffdf9;
}

.grindo-terms-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 82px 0 88px;
    background:
        radial-gradient(circle at 85% 20%, rgba(203, 139, 49, .18), transparent 24rem),
        radial-gradient(circle at 5% 100%, rgba(109, 76, 65, .10), transparent 22rem),
        linear-gradient(135deg, #fffaf0, #f5e4c9);
}

.grindo-terms-hero::after {
    position: absolute;
    right: -80px;
    bottom: -150px;
    z-index: -1;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(109, 76, 65, .12);
    border-radius: 50%;
    box-shadow: 0 0 0 35px rgba(109, 76, 65, .025), 0 0 0 75px rgba(109, 76, 65, .02);
    content: "";
}

.grindo-terms-hero__spice {
    position: absolute;
    z-index: -1;
    width: 13px;
    height: 13px;
    border-radius: 50% 0 50% 50%;
    background: #b96e2e;
    opacity: .6;
    transform: rotate(35deg);
}

.grindo-terms-hero__spice--one {
    top: 28%;
    left: 7%;
}

.grindo-terms-hero__spice--two {
    right: 13%;
    bottom: 22%;
    transform: rotate(-25deg) scale(.7);
}

.grindo-terms-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 45px;
    color: #8b776d;
    font-size: 13px;
    font-weight: 600;
}

.grindo-terms-breadcrumb a {
    color: var(--terms-brown);
}

.grindo-terms-breadcrumb a:hover {
    color: var(--terms-gold);
}

.grindo-terms-breadcrumb i {
    font-size: 10px;
}

.grindo-terms-hero__content {
    max-width: 810px;
    margin: 0 auto;
    text-align: center;
}

.grindo-terms-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 14px;
    color: #ad6c23;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.grindo-terms-hero h1 {
    margin: 0 0 20px;
    color: var(--terms-ink);
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(42px, 6vw, 72px);
    line-height: 1.06;
    letter-spacing: -.035em;
}

.grindo-terms-hero__content>p {
    max-width: 680px;
    margin: 0 auto 25px;
    color: #74645b;
    font-size: 16px;
    line-height: 1.8;
}

.grindo-terms-updated {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 10px 17px;
    border: 1px solid rgba(109, 76, 65, .14);
    border-radius: 999px;
    color: var(--terms-brown);
    background: rgba(255, 255, 255, .62);
    font-size: 12px;
    font-weight: 700;
}

.grindo-terms-content {
    padding: 76px 0 90px;
}

.grindo-terms-intro {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    max-width: 1240px;
    padding: 23px 26px;
    margin: 0 auto 48px;
    border: 1px solid #eadbc6;
    border-radius: 18px;
    background: #fff8eb;
}

.grindo-terms-intro i {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(135deg, #a7642b, #d49a43);
}

.grindo-terms-intro p {
    margin: 0;
    color: #69584f;
    font-size: 14px;
    line-height: 1.75;
}

.grindo-terms-layout {
    max-width: 1240px;
    margin: 0 auto;
}

.grindo-terms-nav {
    position: sticky;
    top: 112px;
    max-height: calc(100vh - 136px);
    overflow-y: auto;
    padding: 24px;
    border: 1px solid var(--terms-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(77, 49, 36, .06);
    scrollbar-width: thin;
    scrollbar-color: #d8b984 transparent;
}

.grindo-terms-nav>span {
    display: block;
    padding-bottom: 14px;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--terms-line);
    color: var(--terms-ink);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.grindo-terms-nav ol {
    padding: 0;
    margin: 0;
    list-style: none;
    counter-reset: legal-nav;
}

.grindo-terms-nav li {
    counter-increment: legal-nav;
}

.grindo-terms-nav a {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 7px;
    padding: 7px 0;
    color: #806e64;
    font-size: 11px;
    line-height: 1.35;
}

.grindo-terms-nav a::before {
    color: #c08a49;
    content: counter(legal-nav, decimal-leading-zero);
    font-size: 9px;
    font-weight: 800;
}

.grindo-terms-nav a:hover {
    color: var(--terms-brown);
    transform: translateX(3px);
}

.grindo-terms-sections {
    display: grid;
    gap: 18px;
}

.grindo-term-card {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 21px;
    padding: 25px 22px;
    scroll-margin-top: 120px;
    border: 1px solid var(--terms-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 36px rgba(79, 50, 36, .045);
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.grindo-term-card:hover {
    border-color: #d9bd93;
    box-shadow: 0 18px 44px rgba(79, 50, 36, .08);
    transform: translateY(-2px);
}

.grindo-term-card__number {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 15px;
    color: #9a632b;
    background: #fbf1df;
    font-size: 13px;
    font-weight: 800;
}

.grindo-term-card h2 {
    margin: 3px 0 13px;
    color: var(--terms-ink);
    font-family: 'DM Sans', sans-serif;
    font-size: 24px;
    letter-spacing: -.015em;
}

.grindo-term-card p,
.grindo-term-card li {
    color: #74645b;
    font-size: 14px;
    line-height: 1.75;
}

.grindo-term-card p {
    margin: 0 0 12px;
}

.grindo-term-card p:last-child {
    margin-bottom: 0;
}

.grindo-term-card ul:not(.grindo-term-card__chips) {
    display: grid;
    gap: 7px;
    padding: 0;
    margin: 13px 0 16px;
    list-style: none;
}

.grindo-term-card ul:not(.grindo-term-card__chips) li {
    position: relative;
    padding-left: 22px;
}

.grindo-term-card ul:not(.grindo-term-card__chips) li::before {
    position: absolute;
    top: 10px;
    left: 2px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #d19a4e;
    content: "";
}

.grindo-term-card a {
    color: #9b5b26;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.grindo-term-card__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0;
    margin: 14px 0 18px;
    list-style: none;
}

.grindo-term-card__chips li {
    padding: 7px 12px;
    border: 1px solid #e8d8bf;
    border-radius: 999px;
    color: #6d4c41;
    background: #fff9ef;
    font-size: 11px;
    font-weight: 700;
}

.grindo-term-note {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    margin: 16px 0;
    border-left: 3px solid #cf8b37;
    border-radius: 0 10px 10px 0;
    color: #69574d;
    background: #fcf3e4;
    font-size: 13px;
    line-height: 1.55;
}

.grindo-term-note i {
    color: #b77128;
}

.grindo-terms-contact {
    padding: 86px 0 92px;
    border-top: 1px solid #eee2d1;
    background: #fff;
}

.grindo-terms-contact__heading {
    max-width: 620px;
    margin: 0 auto 40px;
    text-align: center;
}

.grindo-terms-contact__heading .grindo-terms-kicker {
    color: #b8782f;
}

.grindo-terms-contact__heading h2 {
    margin: 0 0 12px;
    color: var(--terms-ink);
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(34px, 4vw, 48px);
}

.grindo-terms-contact__heading p {
    margin: 0;
    color: #78675d;
    font-size: 14px;
    line-height: 1.7;
}

.grindo-terms-contact__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.grindo-terms-contact-card {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    gap: 15px;
    align-items: center;
    min-height: 132px;
    padding: 24px;
    border: 1px solid #e8dac6;
    border-radius: 18px;
    color: var(--terms-ink);
    background: #fffaf2;
    box-shadow: 0 12px 32px rgba(77, 49, 36, .06);
    transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

.grindo-terms-contact-card:hover {
    color: var(--terms-ink);
    border-color: #d6b47c;
    background: #fff6e7;
    transform: translateY(-4px);
}

.grindo-terms-contact-card__icon {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 15px;
    color: #4f3429;
    background: #eabd72;
    font-size: 19px;
}

.grindo-terms-contact-card small,
.grindo-terms-contact-card strong,
.grindo-terms-contact-card em {
    display: block;
}

.grindo-terms-contact-card small {
    margin-bottom: 4px;
    color: #9a7e6d;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.grindo-terms-contact-card strong {
    color: var(--terms-ink);
    font-size: 14px;
}

.grindo-terms-contact-card em {
    margin-top: 4px;
    color: #8d786d;
    font-size: 10px;
    font-style: normal;
}

.grindo-terms-contact-card>i {
    color: #b97a32;
    font-size: 12px;
}

.grindo-terms-contact__button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: max-content;
    min-height: 50px;
    padding: 0 25px;
    margin: 30px auto 0;
    border-radius: 999px;
    color: #4b3026;
    background: #edbf73;
    font-size: 12px;
    font-weight: 800;
}

.grindo-terms-contact__button:hover {
    color: #4b3026;
    background: #ffd996;
    transform: translateY(-2px);
}

@media(max-width:991px) {
    .grindo-terms-layout {
        grid-template-columns: 1fr;
    }

    .grindo-terms-nav {
        position: static;
        max-height: none;
    }

    .grindo-terms-nav ol {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 24px;
    }

    .grindo-terms-contact__grid {
        grid-template-columns: 1fr;
        max-width: 680px;
        margin: 0 auto;
    }
}

@media(max-width:767px) {
    .grindo-terms-hero {
        padding: 54px 0 64px;
    }

    .grindo-terms-breadcrumb {
        margin-bottom: 32px;
    }

    .grindo-terms-content {
        padding: 54px 0 66px;
    }

    .grindo-terms-intro {
        grid-template-columns: 1fr;
        padding: 21px;
    }

    .grindo-terms-nav ol {
        grid-template-columns: 1fr;
    }

    .grindo-term-card {
        grid-template-columns: 1fr;
        padding: 25px 21px;
    }

    .grindo-term-card__number {
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }

    .grindo-term-card h2 {
        margin-top: 0;
        font-size: 22px;
    }

    .grindo-terms-contact {
        padding: 64px 0 70px;
    }
}

@media(max-width:420px) {
    .grindo-terms-contact-card {
        grid-template-columns: 48px minmax(0, 1fr);
        padding: 20px;
    }

    .grindo-terms-contact-card__icon {
        width: 48px;
        height: 48px;
    }

    .grindo-terms-contact-card>i {
        display: none;
    }
}

.left-cart {

    overflow-y: auto;
}

/* Grindo premium login/register modal */
.grindo-auth-lock {
    overflow: hidden;
}

.grindo-auth-modal {
    position: fixed;
    inset: 0;
    z-index: 20000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px;
    font-family: 'DM Sans', sans-serif;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}

.grindo-auth-modal[hidden] {
    display: none;
}

.grindo-auth-modal.is-open {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
}

.grindo-auth-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .55);
    opacity: 0;
    transition: opacity .3s ease;
}

.grindo-auth-modal.is-open .grindo-auth-modal__backdrop {
    opacity: 1;
}

.grindo-auth-modal__panel {
    position: relative;
    display: grid;
    grid-template-columns: 45% 55%;
    width: min(1259px, calc(100vw - 44px));
    height: min(620px, calc(100vh - 15px));
    max-height: calc(100vh - 15px);
    border: 1px solid rgba(232, 222, 208, .9);
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 34px 90px rgba(20, 12, 7, .42), 0 16px 35px rgba(90, 56, 37, .22);
    overflow: hidden;
    outline: none;
    transform: scale(.95);
    opacity: 0;
    transition: transform .3s ease, opacity .3s ease;
}

.grindo-auth-modal.is-open .grindo-auth-modal__panel {
    transform: scale(1);
    opacity: 1;
}

.grindo-auth-modal__close {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 40;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(90, 56, 37, .14);
    border-radius: 50%;
    color: #5A3825;
    background: rgba(255, 252, 247, .86);
    box-shadow: 0 12px 26px rgba(90, 56, 37, .16);
    transition: transform .25s ease, background .25s ease, color .25s ease;
}

.grindo-auth-modal__close:hover,
.grindo-auth-modal__close:focus-visible {
    color: #fff;
    background: #5A3825;
    transform: translateY(-2px);
}

.grindo-auth-modal__visual {
    position: relative;
    z-index: 0;

    min-width: 0;
    padding: 10px;
    width: 100%;
    height: 100%;
    overflow: hidden;
    color: #fff8eb;
    background-color: white !important;
}

.grindo-auth-modal__visual::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;

}

.grindo-auth-modal__image {
    position: absolute;
    inset: -8% -22% -5% -18%;
    z-index: -2;
    opacity: .74;
}

.grindo-auth-modal__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.grindo-auth-modal__spice {
    position: absolute;
    z-index: -1;
    object-fit: contain;
    filter: drop-shadow(0 18px 24px rgba(0, 0, 0, .22));
    animation: grindo-auth-spice-float 5.8s ease-in-out infinite;
}

.grindo-auth-modal__spice--chilli {
    width: 108px;
    left: 28px;
    top: 92px;
    transform: rotate(-20deg);
}

.grindo-auth-modal__spice--clove {
    width: 92px;
    right: 34px;
    top: 190px;
    animation-delay: .7s;
}

.grindo-auth-modal__spice--star {
    width: 84px;
    right: 68px;
    bottom: 76px;
    animation-delay: 1.1s;
}

.grindo-auth-modal__visual-copy {
    position: absolute;
    left: 44px;
    right: 44px;
    bottom: 44px;
}

.grindo-auth-modal__visual-copy span {
    display: inline-flex;
    margin-bottom: 14px;
    color: #f2ca63;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.grindo-auth-modal__visual-copy h2 {
    margin: 0 0 14px;
    color: #fffaf0;
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(34px, 4vw, 48px);
    line-height: 1;
}

.grindo-auth-modal__visual-copy p {
    max-width: 320px;
    margin: 0 0 24px;
    color: rgba(255, 250, 240, .83);
    font-size: 14px;
    line-height: 1.7;
}

.grindo-auth-modal__visual-copy a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    color: #3f281d;
    background: linear-gradient(135deg, #f4d46d, #D97B3D);
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 16px 32px rgba(0, 0, 0, .2);
}

.grindo-auth-modal__visual-copy a:hover,
.grindo-auth-modal__visual-copy a:focus-visible {
    color: #3f281d;
    transform: translateY(-2px);
}

.grindo-auth-wheel {
    position: absolute;
    z-index: 8;
    top: 50%;
    left: 45%;
    display: grid;
    place-items: center;
    width: 80px;
    height: 80px;
    border: 3px solid #8f5d31;
    border-radius: 50%;
    color: #fff8ea;
    background: conic-gradient(from 20deg, #5A3825, #9f652d, #D9B547, #D97B3D, #5A3825);
    box-shadow: inset 0 0 0 7px rgba(74, 44, 26, .62), inset 0 0 18px rgba(255, 232, 148, .28), 0 18px 40px rgba(47, 25, 13, .34);
    transform: translate(-50%, -50%) rotate(180deg);
    transition: transform .5s ease-in-out, box-shadow .25s ease;
}

.grindo-auth-modal.is-register .grindo-auth-wheel {
    transform: translate(-50%, -50%) rotate(360deg);
}

.grindo-auth-wheel:hover,
.grindo-auth-wheel:focus-visible {
    box-shadow: inset 0 0 0 7px rgba(74, 44, 26, .62), inset 0 0 18px rgba(255, 232, 148, .28), 0 22px 44px rgba(217, 123, 61, .36);
}

.grindo-auth-wheel__grain {
    position: absolute;
    inset: 8px;
    border: 1px dashed rgba(255, 235, 176, .62);
    border-radius: inherit;
}

.grindo-auth-wheel__leaf {
    position: absolute;
    top: 13px;
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    color: #5A3825;
    background: #f8df86;
    font-size: 11px;
}

.grindo-auth-wheel__text {
    max-width: 58px;
    padding-top: 20px;
    font-size: 9px;
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: .04em;
    text-align: center;
}

.grindo-auth-modal__forms {
    display: flex;
    min-width: 0;
    flex-direction: column;
    width: 100%;
    max-width: 460px;
    justify-content: center;
    margin: 0 auto;
    padding-top: 21px !important;
    padding: 30px;
}

.grindo-auth-modal__brand {
    margin-bottom: 18px;
    text-align: center;
}

.grindo-auth-modal__brand img {
    width:118px;
    height: auto;
    margin-bottom: 6px;
}

.grindo-auth-modal__brand p {
    margin: 0;
    color: #8a7569;
    font-size: 13px;
}

.grindo-auth-slider {
    position: relative;
    min-height: 488px;
    overflow: hidden;
}

.grindo-auth-form {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: start;
    gap: 12px;
    opacity: 0;
    visibility: hidden;
    transform: translateX(44px) scale(.985);
    pointer-events: none;
    transition: transform .5s ease-in-out, opacity .5s ease-in-out, visibility .5s ease-in-out;
}

.grindo-auth-form--login {
    opacity: 1;
    visibility: visible;
    transform: translateX(0) scale(1);
    pointer-events: auto;
}

.grindo-auth-modal.is-register .grindo-auth-form--login {
    opacity: 0;
    visibility: hidden;
    transform: translateX(-44px) scale(.985);
    pointer-events: none;
}

.grindo-auth-modal.is-register .grindo-auth-form--register {
    opacity: 1;
    visibility: visible;
    transform: translateX(0) scale(1);
    pointer-events: auto;
}

.grindo-auth-form--register {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: 9px 12px;
}

.grindo-auth-form--register .grindo-auth-form__heading,
.grindo-auth-form--register .grindo-auth-form__grid,
.grindo-auth-form--register .grindo-auth-role,
.grindo-auth-form--register .grindo-auth-check--terms,
.grindo-auth-form--register .grindo-auth-submit,
.grindo-auth-form--register .grindo-auth-switch {
    grid-column: 1 / -1;
}

.grindo-auth-form--register .grindo-auth-form__heading h3 {
    font-size: 30px;
}

.grindo-auth-form--register .grindo-auth-form__heading p {
    font-size: 12px;
}

.grindo-auth-form__heading {
    margin-bottom: 4px;
    text-align: center;
}

.grindo-auth-form__heading h3 {
    margin: 0 0 6px;
    color: #5A3825;
    font-family: 'DM Sans', sans-serif;
    font-size: 34px;
    font-weight: 600;
    line-height: 1.12;
}

.grindo-auth-form__heading p {
    margin: 0;
    color: #8a7569;
    font-size: 14px;
}

.grindo-auth-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.grindo-auth-field label {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #5A3825;
    font-size: 12px;
    font-weight: 800;
}

.grindo-auth-field label span {
    color: #9a897d;
    font-weight: 600;
}

.grindo-auth-field input {
    width: 100%;
    height: 45px;
    border: 1px solid #E8DED0;
    border-radius: 14px;
    color: #3e281d;
    font-size: 13px;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 10px 24px rgba(90, 56, 37, .07);
    padding: 0 16px;
    outline: none;
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.grindo-auth-field input:focus {
    border-color: #D9B547 !important;

}

.grindo-auth-form__options,
.grindo-auth-check,
.grindo-auth-switch {
    display: flex;
    align-items: center;
}

.grindo-auth-form__options {
    justify-content: space-between;
    gap: 16px;
    margin: 2px 0 4px;
}

.grindo-auth-check {
    gap: 9px;
    color: #6f5a4e;
    font-size: 13px;
    cursor: pointer;
}

.grindo-auth-check input {
    width: 17px;
    height: 17px;
    accent-color: #5A3825;
}

.grindo-auth-form__options a,
.grindo-auth-switch button {
    border: 0;
    color: #b36f2f;
    background: transparent;
    font-size: 13px;
    font-weight: 800;
}

.grindo-auth-submit,
.grindo-auth-google {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 54px;
    border-radius: 14px;
    margin-top: 10px;
    font-size: 14px;
    font-weight: 900;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.grindo-auth-submit {
    border: 0;
    color: #fff;
    /* background: linear-gradient(135deg, #5A3825, #8d542e 58%, #D97B3D); */
    background: #d9733f;
    /* box-shadow: 0 18px 34px rgba(90, 56, 37, .28); */
}

.grindo-auth-submit:hover,
.grindo-auth-submit:focus-visible,
.grindo-auth-google:hover,
.grindo-auth-google:focus-visible {
    transform: translateY(-2px);
}

/* .grindo-auth-submit:hover,
.grindo-auth-submit:focus-visible {
    box-shadow: 0 22px 40px rgba(217, 123, 61, .32);
} */

.grindo-auth-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #a89588;
    font-size: 11px;
    font-weight: 900;
}

.grindo-auth-divider::before,
.grindo-auth-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #E8DED0;
}

.grindo-auth-google {
    gap: 10px;
    border: 1px solid #E8DED0;
    color: #5A3825;
    background: #fff;
    box-shadow: 0 10px 24px rgba(90, 56, 37, .07);
}

.grindo-auth-role {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    border: 0;
}

.grindo-auth-role legend {
    grid-column: 1 / -1;
    margin: 0;
    color: #5A3825;
    font-size: 12px;
    font-weight: 900;
}

.grindo-auth-role label {
    margin: 0;
    cursor: pointer;
}

.grindo-auth-role input {
    position: absolute;
    opacity: 0;
}

.grindo-auth-role span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    border: 1px solid #E8DED0;
    border-radius: 12px;
    color: #6a5144;
    background: #fff;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
    transition: border-color .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
}

.grindo-auth-role input:checked+span {
    border-color: #D9B547;
    color: #5A3825;
    background: #fff6db;
    box-shadow: 0 10px 20px rgba(217, 181, 71, .15);
}

.grindo-auth-check--terms {
    align-items: flex-start;
}

.grindo-auth-switch {
    justify-content: center;
    gap: 5px;
    margin: 4px 0 0;
    color: #7d695e;
    font-size: 13px;
}

@keyframes grindo-auth-image-zoom {
    from {
        transform: scale(1);
    }

    to {
        transform: scale(1.08);
    }
}

@keyframes grindo-auth-spice-float {

    0%,
    100% {
        translate: 0 0;
    }

    50% {
        translate: 0 -12px;
    }
}

/* Tablet: keep the two-column layout, just narrower for the image. */
@media (min-width:768px) and (max-width:991.98px) {
    .grindo-auth-modal__panel {
        grid-template-columns: 35% 65%;
    }
}

/* Mobile: the promotional image column wastes space on small screens, so it
   is hidden completely and the form takes the full width instead. */
@media(max-width:767.98px) {
    .grindo-auth-modal {
        padding: 18px;
    }

    .grindo-auth-modal__panel {
        grid-template-columns: 1fr;
        width: min(480px, calc(100vw - 36px));
        height: auto;
        min-height: 0;
        max-height: calc(100vh - 36px);
        overflow-y: auto;
    }

    .grindo-auth-modal__visual {
        display: none;
    }

    .grindo-auth-modal__forms {
        width: 100%;
        max-width: 100%;
        padding: 28px 24px 34px;
    }

    .grindo-auth-modal__brand img {
        width: auto;
        height: 64px;
        margin-bottom: 10px;
    }

    /* The popup height follows whichever form is visible instead of a fixed
       min-height — login and forgot are much shorter than register and were
       leaving a large empty gap at the bottom. Only the active (visible) form
       is taken out of absolute positioning so it drives the slider's height. */
    .grindo-auth-slider {
        min-height: 0;
    }

    .grindo-auth-modal:not(.is-register):not(.is-forgot):not(.is-reset) .grindo-auth-form--login,
    .grindo-auth-modal.is-register .grindo-auth-form--register,
    .grindo-auth-modal.is-forgot .grindo-auth-form--forgot,
    .grindo-auth-modal.is-reset .grindo-auth-form--reset {
        position: relative;
    }
}

@media(max-width:575px) {
    .grindo-auth-modal {
        padding: 10px;
    }

    .grindo-auth-modal__panel {
        width: calc(100vw - 20px);
        border-radius: 20px;
    }

    .grindo-auth-modal__forms {
        padding: 30px 18px 28px;
    }

    .grindo-auth-modal__brand img {
        width: auto;
        height: 56px;
    }

    .grindo-auth-slider {
        min-height: 0;
    }

    .grindo-auth-form {
        justify-content: flex-start;
    }

    .grindo-auth-form__heading h3 {
        font-size: 29px;
    }

    .grindo-auth-form__grid,
    .grindo-auth-role {
        grid-template-columns: 1fr;
    }

    .grindo-auth-field input {
        height: 52px;
    }

    .grindo-auth-wheel {
        top: 220px;
        width: 74px;
        height: 74px;
    }

    .grindo-auth-form__options {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }
}

/* ─── Heritage hero — center divider ─── */
.divider-login {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    bottom: 18%;
    width: 1px;
    flex-direction: column;
    align-items: center;
    z-index: 3;
    pointer-events: none;
}

.iti__country {
    display: flex;
    align-items: center;
    padding-left: var(--iti-spacer-horizontal);
    padding-right: var(--iti-spacer-horizontal);
    outline: none;
    color: black !important;
}

.divider-login .heritage-hero__cdiv-line {
    flex: 1;
    width: 1px;
    background: linear-gradient(to bottom, transparent, rgba(90, 56, 37, .28));
    display: block;
}

.divider-login .heritage-hero__cdiv-dot {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(90, 56, 37, .3);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: #5a3825;
    background: white;
    flex-shrink: 0;
    margin: 10px 0;
    box-shadow: 0 2px 10px rgba(90, 56, 37, .12);
}

.grindo-auth-field .place-one::placeholder {
    font-size: 12px;
    color: #999;
}

.password-wrapper {
    position: relative;
}

.password-wrapper input {
    width: 100%;
    padding-right: 45px;
}

.toggle-password {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: #888;
    font-size: 18px;
    transition: .3s;
}

.toggle-password:hover {
    color: #5A3825;
}

.password-wrapper .confirm {
    font-size: 13px;
}

.toggle-password {
    font-size: 13px;
}

/* profile page  */
.grindo-profile {

    background: #faf7f2;
}

.profile-header {

    display: flex;
    gap: 30px;
    align-items: center;

    background: #fff;

    padding: 40px;

    border-radius: 25px;

    box-shadow: 0 20px 60px rgba(0, 0, 0, .06);
}

.profile-avatar img {

    width: 130px;
    height: 130px;
    object-fit: cover;
    border-radius: 50%;
    border: 6px solid #d9743e;
}

.welcome {

    color: #d9743e;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.profile-info h2 {

    font-family: "DM Sans", sans-serif;
    color: #2d2d2d;
    margin-top: 10px;
}

.btn-edit {

    margin-top: 20px;

    border: none;

    background: #d9743e;

    color: #fff;

    padding: 12px 28px;

    border-radius: 50px;
}

.profile-nav {

    margin-top: 35px;

    display: flex;

    gap: 20px;

    justify-content: center;

    flex-wrap: wrap;
}

.profile-nav a {

    background: #fff;

    padding: 15px 30px;

    border-radius: 50px;

    text-decoration: none;

    color: #555;

    transition: .3s;

    box-shadow: 0 15px 40px rgba(0, 0, 0, .05);
}

.profile-nav a:hover {

    background: #d9743e;

    color: #fff;

    transform: translateY(-5px);
}

.profile-nav .active {

    background: #d9743e;

    color: #fff;
}

.profile-card,
.summary-card {

    background: #fff;

    border-radius: 25px;

    padding: 35px;

    box-shadow: 0 20px 60px rgba(0, 0, 0, .05);
}

.profile-card h4 {

    margin-bottom: 30px;

    color: #5a3825;
}

.form-control {

    height: 55px;

    border-radius: 15px;

    border: 1px solid #ece5dd;
}

.form-control:focus {

    border-color: #d9743e;

    box-shadow: none;
}

.btn-save {

    margin-top: 15px;

    background: #d9743e;

    color: #fff;

    border: none;

    padding: 14px 35px;

    border-radius: 50px;
}

.summary-card {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 20px;
}

.summary-box {

    background: #faf7f2;

    border-radius: 20px;

    padding: 25px;

    text-align: center;
}

.summary-box h3 {

    color: #d9743e;

    font-size: 36px;

    margin-bottom: 8px;
}

.summary-box span {

    color: #666;
}

.grindo-cart-header {
    background: #fff !important;
}

.required {
    color: #E53935;
    font-size: 16px;
    margin-left: 2px;
    font-weight: 600;
}

.grindo-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 7px 18px;
    border-radius: 50px;
    border: 2px solid #e5e5e5;
    background: #d97b3d;
    font-size: 14px;
    color: #fff;
    font-weight: 600;
    overflow: hidden;
    width: 205px;
    cursor: pointer;
    transition: .4s;
    z-index: 1;
}

.grindo-btn::before {
    content: "";
    position: absolute;
    width: 0;
    height: 250%;
    left: -100%;
    top: 50%;
    transform: translateY(-50%);
    background: #eec84e;
    border-radius: 50%;
    transition: .6s;
    z-index: -1;
}

.grindo-btn:hover::before {
    width: 220%;
    left: -20%;
}

.grindo-btn:hover {
    color: #000;
}

.story {
    width: 227px;
}

.grindo-btn-icon {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid #fff;
    transform: rotate(45deg);
    transition: .4s;
}

.grindo-btn-icon i {
    transform: rotate(0deg);
}

.grindo-btn:hover .grindo-btn-icon {
    transform: rotate(90deg);
    background: #fff;
    color: #5A3825;
    border: none;
}

.grindo-collections-catalogue__body {
    display: grid;
    grid-template-columns: minmax(260px, 290px) minmax(0, 1fr);
    gap: 32px;
    align-items: start;
}

.grindo-collections-sidebar {
    padding: 32px 24px;
    border: 1px solid #E9E2D7;
    border-radius: 16px;

    box-shadow: 0 18px 50px rgba(47, 47, 47, .06);
}

.grindo-collections-sidebar__title {
    margin-bottom: 28px;
    color: #d9743e;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.grindo-collections-sidebar__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.grindo-collections-sidebar__item {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    border: 1px solid transparent;
    background: #fff;
    color: #2f2f2f;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 700;
    padding: 6px 11px;
    border-radius: 18px;
    transition: background .24s ease, color .24s ease, border-color .24s ease, box-shadow .24s ease;
    text-align: left;
    cursor: pointer;
}

.grindo-collections-sidebar__item .grindo-collections-sidebar__icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #dde3de 0%, #f7e8dd 100%);
    border: 1px solid rgba(217, 116, 62, .16);
    box-shadow: 0 10px 25px rgba(217, 116, 62, .12);
    flex-shrink: 0;
    overflow: hidden;
    display: grid;
    place-items: center;
}

.grindo-collections-sidebar__item .grindo-collections-sidebar__icon img {
    width: 30px;
    height: 100%;
    object-fit: contain;
    display: block;
}

.grindo-collections-sidebar__item:hover {
    color: #2f2f2f;
    background: #fde7d1;
    border-color: transparent;
    box-shadow: 0 14px 30px rgba(217, 116, 62, .12);
}

.grindo-collections-sidebar__item.is-active {
    color: #d9743e;
    background: #fde7d1;
    border-color: transparent;
    border-left: 3px solid #d9743e;
    border-radius: 0 8px 8px 0;
    padding-left: 9px;
    box-shadow: 0 14px 30px rgba(217, 116, 62, .12);
}

.grindo-collections-sidebar__item.is-active .grindo-collections-sidebar__icon,
.grindo-collections-sidebar__item:hover .grindo-collections-sidebar__icon {
    background: #fff;
}

.grindo-collections-sidebar__promo {
    margin-top: 32px;
    padding: 24px;
    /* border-radius: 22px;
            background: #fff5e8;
            border: 1px solid #f3e5d5; */
}

.grindo-collections-sidebar__promo-icon {
    width: 89%;
    height: 163px;
    border-radius: 18px;
    background: radial-gradient(circle at top left, rgba(217, 116, 62, .14), transparent 42%),
        linear-gradient(180deg, #fff9f1 0%, #f3e5d5 100%);
}

.grindo-collections-sidebar__promo-title {
    margin: 18px 0 10px;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
    color: #2f2f2f;
}

.grindo-collections-sidebar__promo p {
    margin: 0;
    color: #6f5c4b;
    font-size: 14px;
    line-height: 1.7;
}

.grindo-collections-main__header {
    margin-bottom: 28px;
}

.grindo-collections-main__heading-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.grindo-collections-menu-btn {
    display: none;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border: 1px solid rgba(47, 47, 47, .14);
    border-radius: 12px;
    background: #fff;
    color: #2f2f2f;
    font-size: 18px;
    box-shadow: 0 8px 22px rgba(47, 47, 47, .08);
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.grindo-collections-menu-btn:hover,
.grindo-collections-menu-btn:focus-visible {
    background: #d9743e;
    border-color: #d9743e;
    color: #fff;
}

.grindo-collections-sidebar__close {
    display: none;
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 1;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: rgba(47, 47, 47, .06);
    color: #2f2f2f;
    font-size: 15px;
    cursor: pointer;
}

.grindo-collections-sidebar__backdrop {
    display: none;
}

.grindo-collections-mobile-sidebar {
    display: none;
}

body.grindo-collections-lock {
    overflow: hidden;
}

.grindo-collections-main__label {
    display: block;
    color: #d9743e;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.grindo-collections-main__title {
    margin: 0;
    font-size: clamp(28px, 2vw, 44px);
    line-height: 1.08;
    font-weight: 700;
    color: #2f2f2f;
    /* text-transform: uppercase; */
}

.grindo-collections-products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px;
}

.grindo-collections-products .product-action_list li {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.grindo-collections-products .product-action_bot {
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all .24s ease;
}

.grindo-collections-products .grindo-editorial-product:hover .product-action_bot,
.grindo-collections-products .grindo-editorial-product:focus-within .product-action_bot {
    opacity: 1;
    visibility: visible;
    transform: none;
}

@media (max-width: 991.98px) {
    .grindo-collections-catalogue__body {
        display: block;
    }

    .grindo-collections-menu-btn {
        display: inline-flex;
    }

    /* The inline desktop sidebar is replaced by the fixed mobile panel below —
       hide it rather than leaving a redundant full-width block in the stack. */
    .grindo-collections-sidebar {
        display: none;
    }

    .grindo-collections-mobile-sidebar {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        z-index: 2001;
        width: min(320px, 85vw);
        max-width: 320px;
        margin: 0;
        padding: 64px 24px 32px;
        overflow-y: auto;
        background: #fff;
        transform: translateX(-100%);
        transition: transform .35s ease;
        box-shadow: 0 24px 60px rgba(0, 0, 0, .18);
    }

    .grindo-collections-mobile-sidebar.is-open {
        transform: translateX(0);
    }

    .grindo-collections-sidebar__close {
        display: flex;
    }

    .grindo-collections-sidebar__backdrop {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 2000;
        background: rgba(20, 12, 7, .5);
        opacity: 0;
        pointer-events: none;
        transition: opacity .35s ease;
    }

    .grindo-collections-sidebar__backdrop.is-open {
        opacity: 1;
        pointer-events: auto;
    }
}

@media (max-width: 767.98px) {
    .grindo-collections-products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .grindo-collections-sidebar__item {
        padding: 14px 16px;
    }
}

/* ── Customer Favourites: static like & quick-view icons ── */
.grindo-favourites .product-action_list li {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
}

/* ── Featured Products & Customer Favourites: slide-from-right hover ── */
.grindo-signature-section .card-product_wrapper .product-img,
.grindo-favourites .card-product_wrapper .product-img {
    overflow: hidden;
}

.grindo-signature-section .card-product_wrapper .img-hover,
.grindo-favourites .card-product_wrapper .img-hover {
    /* Completely hidden until hover (opacity:1 left a sliver of the second
       image peeking on the right edge before hover). On hover it fades in as
       it slides across. */
    opacity: 0;
    transform: translateX(100%);
    transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.35s ease;
    pointer-events: none;
}

.grindo-signature-section .card-product_wrapper:hover .img-hover,
.grindo-favourites .card-product_wrapper:hover .img-hover {
    opacity: 1;
    transform: translateX(0);
}

.grindo-signature-section .card-product_wrapper .img-product,
.grindo-favourites .card-product_wrapper .img-product {
    transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.grindo-signature-section .card-product_wrapper:hover .img-product,
.grindo-favourites .card-product_wrapper:hover .img-product {
    transform: translateX(-100%);
}

/* ── Collections: numbered pagination ── */
.grindo-collections-pagination button {
    width: auto !important;
    min-width: 40px;
    height: 40px;
    padding: 0 10px;
    border-radius: 10px !important;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #2f2f2f;
    border: 1px solid rgba(217, 116, 62, .35) !important;
    background: #fff !important;
    cursor: pointer;
    transition: background .2s, color .2s, border-color .2s;
}

.grindo-collections-pagination button:hover {
    background: #fde7d1 !important;
    border-color: #d9743e !important;
    color: #d9743e;
}

.grindo-collections-pagination button.is-active {
    background: #d9743e !important;
    border-color: #d9743e !important;
    color: #fff;
}

/* ── Collections: fixed 3-column grid ── */
.grindo-collections-products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: stretch;
}

/* ── Collections: like & quick-view icon hover → orange ── */
.grindo-collections-products .product-action_list .box-icon:hover,
.grindo-collections-products .product-action_bot .box-icon:hover {
    background-color: #D97A3A !important;
    border-color: #D97A3A !important;
    color: #fff !important;
}

/* ── Collections: tooltip → warm brown ── */
.grindo-collections-products .hover-tooltip .tooltip {
    background-color: #3D2A20;
}

.grindo-collections-products .hover-tooltip .tooltip::before {
    background-color: #3D2A20;
}

/* ── Homepage: tooltip → warm brown ── */
.grindo-signature-section .hover-tooltip .tooltip,
.grindo-favourites .hover-tooltip .tooltip {
    background-color: #3D2A20;
}

.grindo-signature-section .hover-tooltip .tooltip::before,
.grindo-favourites .hover-tooltip .tooltip::before {
    background-color: #3D2A20;
}

@media (max-width: 767.98px) {
    .grindo-collections-products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
}

/* ── Collections: grid switch animation ── */
#collections-grid {
    transition: opacity 0.3s ease, transform 0.3s ease;
}

#collections-grid.is-switching {
    opacity: 0;
    transform: translateY(14px);
    pointer-events: none;
}

#collections-grid.is-entering {
    opacity: 1;
    transform: translateY(0);
}

/* ============================================================
   Premium Preloader — full-screen brand loader shown until the
   page finishes loading. Logo comes from the "Loading Screen
   Logo" branding field (falls back to the main site logo).
   ============================================================ */
.grindo-preloader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at 50% 42%, #fffaf1 0%, var(--cream) 68%);
    transition: opacity .55s ease, visibility .55s ease;
}

.grindo-preloader.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.grindo-preloader__ring {
    position: absolute;
    width: 132px;
    height: 132px;
    border-radius: 50%;
    background: conic-gradient(from 0deg, transparent 0deg, var(--gold) 90deg, var(--orange) 200deg, transparent 320deg);
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 3px));
    mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 3px));
    animation: grindo-preloader-spin 1.6s linear infinite;
}

.grindo-preloader__logo {
    position: relative;
    width: 84px;
    height: 84px;
    object-fit: contain;
    border-radius: 50%;
    background: #fff;
    padding: 10px;
    box-shadow: 0 10px 30px rgba(90, 56, 37, .18);
    animation: grindo-preloader-breathe 2.2s ease-in-out infinite;
}

.grindo-preloader__tagline {
    position: absolute;
    bottom: 14%;
    /* font-family: "Cormorant Garamond", serif; */
    font-size: 15px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--brown);
    opacity: .8;
}

@keyframes grindo-preloader-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes grindo-preloader-breathe {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.06);
    }
}

@media (prefers-reduced-motion: reduce) {

    .grindo-preloader__ring,
    .grindo-preloader__logo {
        animation: none;
    }
}

@media (max-width: 480px) {
    .grindo-preloader__ring {
        width: 108px;
        height: 108px;
    }

    .grindo-preloader__logo {
        width: 68px;
        height: 68px;
    }

    .grindo-preloader__tagline {
        font-size: 13px;
        bottom: 12%;
    }
}

/* Wishlist heart — "saved" state (Filled Red = Saved, Outline = Not Saved).
   The icomoon icon font used on product cards has no separate filled-heart glyph,
   so a Bootstrap Icons "heart-fill" glyph is layered in and swapped for the outline
   glyph via display toggling, since recoloring the outline alone stayed too faint. */
.wishlist-heart_fill {
    display: none;
    color: #ED4956;
}

.js-wishlist-toggle.is-active .icon-heart {
    display: none;
}

.js-wishlist-toggle.is-active .wishlist-heart_fill {
    display: inline-block;
}

.product-action_list .wishlist a.js-wishlist-toggle.is-active {
    color: #ED4956;
}

/* Clear Cart reuses .grindo-cart__shop-link's look but is a real <button>,
   so it needs the browser's default button chrome stripped to match its <a> sibling. */
button.grindo-cart__shop-link {
    background: transparent;
    border: 0;
    cursor: pointer;
}

/* ============================================================
   Mobile navigation offcanvas (#grindoMobileMenu) — reuses the
   theme's existing .canvas-mb / .nav-ul-mb chrome, restyled here with
   a warm brand gradient header + icon-led rows instead of the
   theme's default plain-white offcanvas look.
   ============================================================ */
.grindo-mobile-menu.offcanvas {
    background: var(--cream);
}

.grindo-mobile-menu .canvas-header {
    flex-direction: column;
    align-items: stretch;
    padding: 22px 24px 24px;
    background: linear-gradient(135deg, var(--brown) 0%, var(--orange) 100%);
}

.grindo-mobile-menu .canvas-header::after {
    display: none;
}

.grindo-mobile-menu .icon-close-popup {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: flex-end;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .16);
    color: #fff;
    font-size: 16px;
}

.grindo-mobile-menu .icon-close-popup:hover {
    background: rgba(255, 255, 255, .28);
    color: var(--gold);
}

.grindo-mobile-menu .canvas-body {
    background: var(--cream);
}

.grindo-mobile-menu .nav-ul-mb .nav-mb-item:not(:last-child) {
    border-bottom-color: rgba(90, 56, 37, .1);
}

.grindo-mobile-menu .mb-menu-link {
    justify-content: flex-start;
    gap: 14px;
    color: var(--brown);
    font-size: 15px;
}

.grindo-mobile-menu .mb-menu-link .icon {
    display: grid;
    flex: 0 0 38px;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(217, 123, 61, .12);
    color: var(--orange);
    font-size: 17px;
}

.grindo-mobile-menu__search {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 12px 44px;
    margin-top: 20px;
    background: rgba(255, 255, 255, .94);
    border-radius: 999px;
    text-decoration: none;
}

.grindo-mobile-menu__search-placeholder {
    color: var(--text-3);
    font-size: 14px;
}

.grindo-mobile-menu__account {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid rgba(90, 56, 37, .1);
}

.grindo-mobile-menu__account-link {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 44px;
    padding: 4px 8px;
    border-radius: 12px;
    color: var(--brown);
    font-weight: 500;
    text-decoration: none;
    transition: background-color .2s ease;
}

.grindo-mobile-menu__account-link:hover,
.grindo-mobile-menu__account-link:focus-visible {
    background: rgba(217, 123, 61, .08);
}

.grindo-mobile-menu__account-link .icon {
    display: grid;
    flex: 0 0 38px;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(217, 123, 61, .12);
    font-size: 17px;
    color: var(--orange);
}

.iti__selected-dial-code {
    font-size: 14px !important;
}
