@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700;800&display=swap');


/* =========================================================
   RESET
========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'DM Sans', sans-serif;
    background: #fbfaf7;
    color: #3f281d;
    line-height: 1.6;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    display: block;
}

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

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

button {
    cursor: pointer;
}


/* =========================================================
   HEADER / NAVBAR
========================================================= */

header {
    position: sticky;
    top: 0;
    z-index: 9999;
    width: 100%;
    height: 78px;
    background: rgba(255, 255, 255, 0.97);
    border-bottom: 1px solid #eee5dc;
    display: flex;
    align-items: center;
    padding: 0 22px;
    box-shadow: 0 2px 15px rgba(67, 40, 25, 0.04);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
}






/* =========================================================
   LOGO - FAR LEFT
========================================================= */

.logo {
    position: absolute;
    left: 25px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    z-index: 20;
}

.logo img {
    width: 68px;
    height: 68px;
    object-fit: contain;
    border-radius: 50%;
    transition: 0.3s ease;
}

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


/* =========================================================
   NAVIGATION - EXACT CENTER
========================================================= */

header nav {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 34px;
    white-space: nowrap;
}

header nav a {
    position: relative;
    color: #4b3529;
    font-size: 14px;
    font-weight: 600;
    padding: 30px 0;
    transition: color 0.25s ease;
}

header nav a:hover {
    color: #77442c;
}


/* Active */

header nav a.active {
    color: #6f3c25;
}

header nav a.active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 15px;
    transform: translateX(-50%);
    width: 36px;
    height: 2px;
    background: #6f3c25;
    border-radius: 10px;
}


/* =========================================================
   RIGHT SIDE ICONS
========================================================= */

.icons {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: 4px;
    z-index: 20;
}

.icons a {
    position: relative;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #4b3529;
    font-size: 16px;
    transition: all 0.25s ease;
}

.icons a:hover { 
    color: #713d25;
    background: #f5e9df;
    transform: translateY(-2px);
}


/* Cart badge */

.cart-count {
    position: absolute;
    top: 1px;
    right: 0;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #713d25;
    color: #fff;
    border-radius: 50%;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
}


/* =========================================================
   HERO
========================================================= */

.hero {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 70px 8%;
    background:
        radial-gradient(
            circle at 85% 35%,
            rgba(255, 255, 255, 0.7),
            transparent 28%
        ),
        linear-gradient(
            120deg,
            #f7e8cf 0%,
            #f4e1c4 52%,
            #efdabd 100%
        );
}


/* Decorative circles */

.hero::before {
    content: "";
    position: absolute;
    width: 440px;
    height: 440px;
    right: -120px;
    top: -170px;
    border: 1px solid rgba(113, 61, 37, 0.10);
    border-radius: 50%;
}

.hero::after {
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    right: 50px;
    bottom: -230px;
    border: 1px solid rgba(113, 61, 37, 0.09);
    border-radius: 50%;
}


/* =========================================================
   HERO TEXT
========================================================= */

.hero-text {
    position: relative;
    z-index: 3;
    width: 52%;
    max-width: 650px;
}

.hero-small {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
    color: #79462d;
    font-size: 14px;
    font-weight: 600;
}

.hero-small::before {
    content: "";
    width: 38px;
    height: 1px;
    background: #79462d;
}

.hero h1 {
    margin-bottom: 22px;
    color: #4a281c;
    font-family: 'Playfair Display', serif;
    font-size: clamp(48px, 5.3vw, 76px);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -2px;
}

.hero p {
    max-width: 510px;
    margin-bottom: 30px;
    color: #765a49;
    font-size: 16px;
    line-height: 1.8;
}


/* =========================================================
   GENERAL BUTTON
========================================================= */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    min-height: 52px;
    padding: 0 25px;
    border: none;
    border-radius: 14px;
    background: #713d25;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 12px 25px rgba(89, 47, 28, 0.18);
    transition: all 0.3s ease;
}

.btn:hover {
    background: #542b1a;
    transform: translateY(-3px);
    box-shadow: 0 16px 30px rgba(89, 47, 28, 0.25);
}


/* =========================================================
   HERO IMAGE
========================================================= */

.hero-image {
    position: absolute;
    right: 8%;
    top: 50%;
    transform: translateY(-50%);
    width: min(430px, 38vw);
    height: min(430px, 38vw);
    z-index: 2;
}

.hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 9px solid #fff;
    border-radius: 50%;
    box-shadow:
        0 25px 60px rgba(73, 40, 23, 0.18),
        0 0 0 1px rgba(113, 61, 37, 0.05);
}


/* =========================================================
   FEATURED PRODUCTS SECTION (base - overridden at the bottom)
========================================================= */

.products {
    padding: 85px 0 100px;
    background: #fff;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.section-heading {
    width: min(1240px, 92%);
    margin: 0 auto 38px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
}

.section-heading > div > span {
    display: block;
    margin-bottom: 8px;
    color: #815039;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
}

.section-heading h2 {
    position: relative;
    color: #4a281c;
    font-family: 'Playfair Display', serif;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.1;
}

.section-heading h2::before {
    content: "— ";
    color: #815039;
}


/* =========================================================
   VIEW ALL
========================================================= */

.view-all {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 5px;
    color: #713d25;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    transition: 0.25s ease;
}

.view-all:hover {
    gap: 14px;
}


/* =========================================================
   PRODUCT CONTAINER (base)
========================================================= */

.product-container {
    width: min(1240px, 92%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    align-items: stretch;
}




/* =========================================================
   PRODUCT CARD (base)
========================================================= */

.product-card {
    position: relative;
    min-width: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #eadfd6;
    border-radius: 22px;
    padding: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(70, 40, 25, 0.05);
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

.product-card:hover {
    transform: translateY(-8px);
    border-color: #d9c1b0;
    box-shadow: 0 22px 45px rgba(70, 40, 25, 0.12);
}


/* =========================================================
   PRODUCT IMAGE (base)
========================================================= */

/* =========================================================
   PRODUCT IMAGE
========================================================= */

.product-image {
    width: 100%;
    max-width: 650px;
    height: 520px;

    background: #f4e5d4;

    border-radius: 28px;

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

    padding: 20px;

    overflow: hidden;

    box-shadow: 0 18px 45px rgba(90, 45, 22, 0.10);
}


/* PRODUCT IMAGE ITSELF */

.product-image img {
    width: 100%;
    height: 100%;

    object-fit: contain;

    object-position: center;

    display: block;

    border-radius: 20px;
}


/* =========================================================
   WISHLIST BUTTON (base)
========================================================= */

.wishlist-btn {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e3d4c8;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.96);
    color: #875139;
    font-size: 16px;
    z-index: 5;
    transition: all 0.25s ease;
}

.wishlist-btn:hover {
    background: #713d25;
    color: #fff;
    transform: scale(1.06);
}


/* =========================================================
   PRODUCT INFO (base)
========================================================= */

.product-info {
    padding: 19px 4px 5px;
    text-align: center;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.product-info h3 {
    margin-bottom: 5px;
    color: #432519;
    font-family: 'Playfair Display', serif;
    font-size: 20px;
    line-height: 1.25;
    min-height: 25px;
}

.product-info h4 {
    margin-bottom: 6px;
    color: #2f1b12;
    font-size: 15px;
    font-weight: 700;
}


/* =========================================================
   RATING
========================================================= */

.rating {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-bottom: 10px;
}

.rating span {
    color: #c27a28;
    font-size: 11px;
    letter-spacing: 1px;
}

.rating small {
    color: #967765;
    font-size: 10px;
}


/* =========================================================
   PRODUCT DESCRIPTION (base)
========================================================= */

.product-info > p {
    min-height: 48px;
    margin-bottom: 16px;
    color: #806455;
    font-size: 12px;
    line-height: 1.55;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* =========================================================
   PRODUCT ACTIONS (base)
========================================================= */

.product-actions {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    margin-top: auto;
}

.product-actions .add-to-cart {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 0 10px;
    border: none;
    border-radius: 11px;
    background: #713d25;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    transition: all 0.25s ease;
}

.product-actions .add-to-cart:hover {
    background: #542b1a;
    transform: translateY(-2px);
}

.product-btn {
    min-height: 46px;
    padding: 0 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #b99278;
    border-radius: 11px;
    background: #fff;
    color: #713d25;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    transition: all 0.25s ease;
}

.product-btn:hover {
    background: #f7eee7;
    border-color: #713d25;
    transform: translateY(-2px);
}


/* =========================================================
   PROMO SECTION
========================================================= */

.home-promo {
    width: min(1200px, 90%);
    margin: 0 auto 90px;
    padding: 55px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 65px;
    background: linear-gradient(135deg, #f4e2cc, #edd5bb);
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 15px 45px rgba(73, 40, 23, 0.07);
}

.promo-image {
    height: 380px;
    overflow: hidden;
    border-radius: 22px;
}

.promo-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.home-promo:hover .promo-image img {
    transform: scale(1.04);
}

.promo-text > span {
    display: block;
    margin-bottom: 12px;
    color: #855038;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
}

.promo-text h2 {
    margin-bottom: 18px;
    color: #4b291d;
    font-family: 'Playfair Display', serif;
    font-size: clamp(35px, 4vw, 54px);
    line-height: 1.05;
}

.promo-text p {
    max-width: 470px;
    margin-bottom: 25px;
    color: #765a49;
    font-size: 15px;
    line-height: 1.8;
}


/* =========================================================
   REVIEWS
========================================================= */

.reviews {
    padding: 90px 7%;
    background: #fbf8f4;
}

.review-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 45px;
}

.review-title span {
    width: 55px;
    height: 1px;
    background: #c4a895;
}

.review-title h2 {
    color: #4a281c;
    font-family: 'Playfair Display', serif;
    font-size: clamp(30px, 4vw, 43px);
    text-align: center;
}

.review-box {
    width: min(1100px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.review {
    padding: 30px 25px;
    background: #fff;
    border: 1px solid #eadfd6;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 10px 25px rgba(67, 40, 25, 0.04);
    transition: 0.3s ease;
}

.review:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 35px rgba(67, 40, 25, 0.09);
}

.stars {
    margin-bottom: 15px;
    color: #c47a26;
    font-size: 15px;
    letter-spacing: 3px;
}

.review p {
    margin-bottom: 18px;
    color: #765b4c;
    font-size: 14px;
    font-style: italic;
}

.review h4 {
    color: #4b2b1e;
    font-size: 14px;
}

.review h4 i {
    margin-right: 5px;
    color: #8b563b;
}


/* =========================================================
   FOOTER
========================================================= */

#footer {
    width: 100%;
}

footer {
    background: #3c2117;
    color: #d9c5b6;
    padding: 65px 7% 25px;
}

.footer-container {
    width: min(1200px, 100%);
    margin: auto;
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 50px;
}

footer h3,
footer h4 {
    color: #fff;
}

footer h3 {
    margin-bottom: 14px;
    font-family: 'Playfair Display', serif;
    font-size: 27px;
}

footer h4 {
    margin-bottom: 15px;
    font-size: 14px;
}

footer p {
    max-width: 300px;
    color: #c6afa0;
    font-size: 13px;
    line-height: 1.8;
}

footer ul {
    list-style: none;
}

footer li {
    margin-bottom: 9px;
}

footer a {
    color: #c6afa0;
    font-size: 13px;
    transition: color 0.25s ease;
}

footer a:hover {
    color: #fff;
}

.footer-bottom {
    width: min(1200px, 100%);
    margin: 45px auto 0;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.12);
    text-align: center;
    color: #9e8577;
    font-size: 12px;
}


/* =========================================================
   INPUTS
========================================================= */

input,
select,
textarea {
    width: 100%;
    padding: 13px 15px;
    border: 1px solid #dfd1c5;
    border-radius: 12px;
    outline: none;
    background: #fff;
    color: #3f281d;
    transition: 0.25s ease;
}

input:focus,
select:focus,
textarea:focus {
    border-color: #8a5033;
    box-shadow: 0 0 0 3px rgba(138, 80, 51, 0.08);
}


/* =========================================================
   BACK TO TOP
========================================================= */

#backToTop,
.back-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: #713d25;
    color: #fff;
    box-shadow: 0 10px 25px rgba(60, 30, 18, 0.2);
    z-index: 999;
    transition: 0.3s ease;
}

#backToTop:hover,
.back-to-top:hover {
    background: #4f291a;
    transform: translateY(-4px);
}


/* =========================================================
   TABLET - 1150px
========================================================= */

@media (max-width: 1150px) {

    header {
        padding: 0 18px;
    }

    .logo {
        left: 18px;
    }

    .logo img {
        width: 60px;
        height: 60px;
    }

    header nav {
        gap: 22px;
    }

    header nav a {
        font-size: 13px;
    }

    .icons {
        right: 15px;
    }

    .icons a {
        width: 36px;
        height: 36px;
    }

    .hero {
        padding-left: 6%;
        padding-right: 6%;
    }

    .hero-image {
        right: 5%;
        width: 370px;
        height: 370px;
    }

    .product-container {
        gap: 16px;
    }

    .product-card {
        padding: 13px;
    }

    .product-image {
        height: 270px;
        padding: 16px;
    }

    .product-actions {
        grid-template-columns: 1fr;
    }

    .product-btn {
        width: 100%;
    }

    .home-promo {
        gap: 40px;
        padding: 40px;
    }
}


/* =========================================================
   SMALL LAPTOP / TABLET - 950px
========================================================= */

@media (max-width: 950px) {

    header {
        height: 75px;
    }

    header nav {
        gap: 15px;
    }

    header nav a {
        font-size: 12px;
    }

    .icons {
        gap: 0;
    }

    .icons a {
        width: 33px;
        height: 33px;
        font-size: 14px;
    }

    .logo img {
        width: 56px;
        height: 56px;
    }

    .hero {
        min-height: 470px;
    }

    .hero-text {
        width: 53%;
    }

    .hero h1 {
        font-size: 50px;
    }

    .hero-image {
        width: 320px;
        height: 320px;
    }

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

    .product-image {
        height: 250px;
    }

    .product-actions {
        grid-template-columns: 1fr;
    }

    .review-box {
        grid-template-columns: repeat(2, 1fr);
    }

    .review:last-child {
        grid-column: 1 / -1;
        max-width: 50%;
        margin: 0 auto;
    }

    .footer-container {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* =========================================================
   MOBILE - 700px
========================================================= */

@media (max-width: 700px) {

    header {
        position: sticky;
        height: auto;
        min-height: 125px;
        padding: 0 18px 10px;
        display: flex;
        align-items: flex-start;
    }

    .logo {
        position: absolute;
        left: 18px;
        top: 18px;
        transform: none;
    }

    .logo img {
        width: 55px;
        height: 55px;
    }

    .icons {
        position: absolute;
        right: 15px;
        top: 25px;
        transform: none;
    }

    .icons a {
        width: 35px;
        height: 35px;
        font-size: 15px;
    }

    header nav {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        width: 100%;
        margin-top: 82px;
        display: flex;
        justify-content: center;
        gap: 20px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    header nav::-webkit-scrollbar {
        display: none;
    }

    header nav a {
        flex-shrink: 0;
        padding: 8px 0;
        font-size: 12px;
    }

    header nav a.active::after {
        bottom: 0;
    }

    /* HERO */

    .hero {
        min-height: auto;
        padding: 55px 7% 65px;
        display: block;
        text-align: center;
    }

    .hero-text {
        width: 100%;
        max-width: 700px;
        margin: auto;
    }

    .hero-small {
        justify-content: center;
    }

    .hero h1 {
        font-size: clamp(42px, 10vw, 58px);
        letter-spacing: -1px;
    }

    .hero p {
        margin-left: auto;
        margin-right: auto;
        font-size: 14px;
    }

    .hero-image {
        position: relative;
        right: auto;
        top: auto;
        transform: none;
        width: min(340px, 80vw);
        height: min(340px, 80vw);
        margin: 50px auto 0;
    }

    /* PRODUCTS (base) */

    .products {
        padding: 65px 0 75px;
    }

    .section-heading {
        width: 90%;
        display: block;
        text-align: center;
    }

    .section-heading > div > span {
        text-align: center;
    }

    .section-heading h2 {
        font-size: 36px;
    }

    .view-all {
        margin-top: 18px;
    }

    .product-container {
        width: 90%;
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }

    .product-card {
        padding: 12px;
        border-radius: 18px;
    }

    .product-image {
        height: 270px;
        padding: 14px;
        border-radius: 16px;
    }

    .product-info {
        padding: 17px 3px 4px;
    }

    .product-info h3 {
        font-size: 19px;
    }

    .product-info > p {
        font-size: 12px;
    }

    .product-actions {
        grid-template-columns: 1fr;
    }

    .product-btn {
        width: 100%;
    }

    /* PROMO */

    .home-promo {
        width: 90%;
        margin-bottom: 70px;
        padding: 25px;
        grid-template-columns: 1fr;
        gap: 35px;
        border-radius: 22px;
    }

    .promo-image {
        height: 300px;
    }

    .promo-text {
        text-align: center;
    }

    .promo-text p {
        margin-left: auto;
        margin-right: auto;
    }

    /* REVIEWS */

    .reviews {
        padding: 70px 6%;
    }

    .review-title {
        gap: 12px;
    }

    .review-title span {
        width: 30px;
    }

    .review-box {
        grid-template-columns: 1fr;
    }

    .review:last-child {
        grid-column: auto;
        max-width: none;
    }

    /* FOOTER */

    footer {
        padding: 50px 7% 25px;
    }

    .footer-container {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}


/* =========================================================
   SMALL PHONE - 480px
========================================================= */

@media (max-width: 480px) {

    header {
        min-height: 120px;
    }

    .logo {
        left: 14px;
        top: 15px;
    }

    .logo img {
        width: 52px;
        height: 52px;
    }

    .icons {
        right: 10px;
        top: 20px;
    }

    .icons a {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }

    header nav {
        margin-top: 76px;
        gap: 17px;
        justify-content: flex-start;
        padding-left: 5px;
    }

    header nav a {
        font-size: 11px;
    }

    .hero {
        padding: 45px 6% 55px;
    }

    .hero-small {
        font-size: 13px;
    }

    .hero h1 {
        font-size: 40px;
        line-height: 1;
        letter-spacing: -0.8px;
    }

    .hero p {
        font-size: 13px;
        line-height: 1.7;
    }

    .hero-image {
        width: 280px;
        height: 280px;
        margin-top: 40px;
    }

    .hero-image img {
        border-width: 7px;
    }

    .section-heading h2 {
        font-size: 32px;
    }

    .product-container {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .product-image {
        height: 320px;
    }

    .product-info h3 {
        font-size: 22px;
    }

    .product-info > p {
        font-size: 13px;
    }

    .product-actions {
        grid-template-columns: 1fr 1fr;
    }

    .product-btn {
        width: auto;
    }

    .promo-image {
        height: 250px;
    }

    .promo-text h2 {
        font-size: 38px;
    }

    .review-title h2 {
        font-size: 29px;
    }

    .review-title span {
        display: none;
    }
}


/* =========================================================
   VERY SMALL PHONE - 360px
========================================================= */

@media (max-width: 360px) {

    .icons a {
        width: 29px;
        height: 29px;
        font-size: 12px;
    }

    header nav {
        gap: 14px;
    }

    header nav a {
        font-size: 10px;
    }

    .hero h1 {
        font-size: 35px;
    }

    .hero-image {
        width: 245px;
        height: 245px;
    }

    .product-image {
        height: 280px;
    }

    .product-actions {
        grid-template-columns: 1fr;
    }

    .product-btn {
        width: 100%;
    }
}


/* =========================================================
   FINAL HOMEPAGE PRODUCT LAYOUT
   4 PRODUCTS - EXTRA LARGE & MODERN
   THIS OVERRIDES THE OLDER PRODUCT RULES ABOVE
========================================================= */

/* Full-width section even if a parent wrapper limits the width */
.products {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 65px 0 80px;
    background: #fff;
}

.products .section-heading {
    width: 99%;
    max-width: none;
    margin: 0 auto 35px;
}

/* DESKTOP - 4 PRODUCTS IN ONE ROW */

.products .product-container {
    width: 99%;
    max-width: none;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}

.products .product-card:nth-child(4) {
    display: flex;
}

/* PRODUCT CARD */

.products .product-card {
    width: 100%;
    min-width: 0;
    padding: 14px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid #eadfd6;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px rgba(70, 40, 25, 0.06);
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

.products .product-card:hover {
    transform: translateY(-7px);
    border-color: #d9c1b0;
    box-shadow: 0 20px 45px rgba(70, 40, 25, 0.13);
}

/* PRODUCT IMAGE - LARGER */

.products .product-image {
    position: relative;
    width: 100%;
    height: 300px;
    padding: 12px;
    background: #f5e8dc;
    border-radius: 20px;
    overflow: hidden;
    flex-shrink: 0;
}

.products .product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 15px;
    transition: transform 0.5s ease;
}

.products .product-card:hover .product-image img {
    transform: scale(1.06);
}

/* WISHLIST */

.products .wishlist-btn {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e3d4c8;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.96);
    color: #875139;
    font-size: 17px;
    z-index: 5;
    transition: all 0.25s ease;
}

.products .wishlist-btn:hover {
    background: #713d25;
    color: #fff;
    transform: scale(1.06);
}

/* PRODUCT INFO */

.products .product-info {
    padding: 22px 6px 6px;
    text-align: center;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.products .product-info h3 {
    margin-bottom: 7px;
    color: #432519;
    font-family: 'Playfair Display', serif;
    font-size: 25px;
    line-height: 1.25;
}

.products .product-info h4 {
    margin-bottom: 8px;
    color: #2f1b12;
    font-size: 18px;
    font-weight: 700;
}

/* RATING */

.products .rating {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-bottom: 12px;
}

.products .rating span {
    color: #c27a28;
    font-size: 12px;
    letter-spacing: 1px;
}

.products .rating small {
    color: #967765;
    font-size: 11px;
}

/* DESCRIPTION */

.products .product-info > p {
    min-height: 56px;
    margin-bottom: 18px;
    color: #806455;
    font-size: 13.5px;
    line-height: 1.55;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* BUTTONS - SAME HEIGHT */

.products .product-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: auto;
}

.products .product-actions .add-to-cart,
.products .product-btn {
    width: 100%;
    min-height: 52px;
    padding: 0 8px;
    border-radius: 11px;
    font-size: 12.5px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
}

.products .product-actions .add-to-cart {
    border: none;
    background: #713d25;
    color: #fff;
    font-weight: 700;
    gap: 6px;
}

.products .product-actions .add-to-cart:hover {
    background: #542b1a;
    transform: translateY(-2px);
}

.products .product-btn {
    border: 1px solid #b99278;
    background: #fff;
    color: #713d25;
    font-weight: 600;
}

.products .product-btn:hover {
    background: #f7eee7;
    border-color: #713d25;
    transform: translateY(-2px);
}

/* TABLET - 2 PRODUCTS */

@media (max-width: 1100px) {

    .products .section-heading {
        width: 92%;
    }

    .products .product-container {
        width: 92%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .products .product-image {
        height: 320px;
    }
}

/* MOBILE - 1 PRODUCT */

@media (max-width: 700px) {

    .products {
        padding: 50px 0 65px;
    }

    .products .section-heading {
        width: 90%;
        display: block;
        text-align: center;
    }

    .products .product-container {
        width: 90%;
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .products .product-image {
        height: 300px;
    }

    .products .product-info h3 {
        font-size: 22px;
    }
}

/* SMALL PHONE */

@media (max-width: 480px) {

    .products .product-container {
        width: 92%;
    }

    .products .product-image {
        height: 280px;
    }

    .products .product-actions {
        grid-template-columns: 1fr 1fr;
    }
}


/* =========================================================
   WIDER + SHORTER CARDS (final override)
========================================================= */

.products {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 55px 0 65px !important;
}

.products .section-heading,
.products .product-container {
    width: 98% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.products .product-container {
    gap: 16px !important;
}

.products .product-card {
    padding: 12px !important;
}

.products .product-image {
    height: 230px !important;
    padding: 10px !important;
}

.products .product-info {
    padding: 16px 6px 4px !important;
}

.products .product-info > p {
    min-height: 44px !important;
    margin-bottom: 12px !important;
}

.products .product-actions .add-to-cart,
.products .product-btn {
    min-height: 46px !important;
}

@media (max-width: 1100px) {
    .products .product-container {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .products .product-image { height: 260px !important; }
}

@media (max-width: 700px) {
    .products .product-container {
        grid-template-columns: 1fr !important;
    }
    .products .product-image { height: 240px !important; }
}


/* =========================================================
   WIDER PROMO SECTION (Jureza Original Buko Pie)
========================================================= */

.home-promo {
    width: 98% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 55px !important;
}

@media (max-width: 700px) {
    .home-promo {
        width: 92% !important;
        gap: 35px !important;
    }
}



/* =========================================================
   FULL HEADER IMAGE - LIGHT VERSION
========================================================= */

.hero {
    position: relative;
    width: 100%;
    min-height: 620px;
    padding: 100px 8%;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #eedec4; /* light brown, kapareho ng kaliwang side ng image */
}

.hero-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 0 !important;
}

.hero-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: right center !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Tinanggal na ang dark overlay */
.hero-image::after {
    display: none;
}

.hero-text {
    position: relative !important;
    z-index: 3 !important;
    width: 42%;
    max-width: 600px;
}

/* Dark brown text para kita sa light na background */
.hero-small {
    color: #79462d;
}

.hero-small::before {
    background: #79462d;
}

.hero h1 {
    color: #4a281c;
    text-shadow: none;
}

.hero p {
    color: #6a4a3a;
}

.hero .btn {
    background: #713d25;
    color: #fff;
}

.hero .btn:hover {
    background: #542b1a;
    color: #fff;
}

.hero::before,
.hero::after {
    display: none;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .hero {
        min-height: 600px;
        padding: 90px 7% 70px;
        text-align: center;
        justify-content: center;
    }

    .hero-text {
        width: 100%;
        max-width: 600px;
    }

    .hero-small {
        justify-content: center;
    }

    /* light overlay lang para mabasa ang text sa ibabaw ng pie */
    .hero-image::after {
        display: block;
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(238, 222, 196, 0.6);
    }
}

@media (max-width: 480px) {

    .hero {
        min-height: 570px;
        padding: 80px 6% 60px;
    }

    .hero h1 {
        font-size: 40px;
    }
}

/* =========================================================
   COCO PIE - MODERN FOOTER
   ========================================================= */

footer {
    width: 100%;

    background: #2f1c14;
    color: #f5e9dd;

    padding: 70px 7% 25px;

    display: grid;

    grid-template-columns: 1.5fr 1fr 1fr 0.8fr;

    column-gap: 60px;
    row-gap: 40px;

    position: relative;

    overflow: hidden;
}


/* =========================================================
   DECORATIVE BACKGROUND
   ========================================================= */

footer::before {
    content: "";

    position: absolute;

    width: 420px;
    height: 420px;

    border-radius: 50%;

    background: rgba(181, 123, 79, 0.08);

    top: -220px;
    right: -100px;

    pointer-events: none;
}

footer::after {
    content: "";

    position: absolute;

    width: 300px;
    height: 300px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.025);

    bottom: -180px;
    left: -100px;

    pointer-events: none;
}


/* =========================================================
   FOOTER LOGO
   ========================================================= */

.footer-logo {
    position: relative;
    z-index: 1;
}

.footer-logo h2 {
    font-family: 'Playfair Display', serif;

    color: #ffffff;

    font-size: 32px;

    margin-bottom: 12px;

    letter-spacing: -0.5px;
}

.footer-logo h2::after {
    content: "";

    display: block;

    width: 38px;
    height: 3px;

    background: #c58b5c;

    margin-top: 10px;

    border-radius: 10px;
}

.footer-logo p {
    max-width: 280px;

    color: #cdbdb2;

    font-size: 14px;

    line-height: 1.8;

    margin-top: 18px;
}


/* =========================================================
   FOOTER LINKS
   ========================================================= */

.footer-links {
    position: relative;
    z-index: 1;

    display: flex;
    flex-direction: column;

    align-items: flex-start;
}

.footer-links h3,
.footer-social h3 {
    color: #ffffff;

    font-size: 15px;

    font-weight: 700;

    margin-bottom: 20px;

    letter-spacing: 0.3px;
}

.footer-links h3::after,
.footer-social h3::after {
    content: "";

    display: block;

    width: 25px;
    height: 2px;

    background: #b9784c;

    margin-top: 8px;

    border-radius: 10px;
}

.footer-links a {
    color: #cdbdb2;

    font-size: 13px;

    margin-bottom: 11px;

    position: relative;

    transition:
        color 0.3s ease,
        transform 0.3s ease;
}

.footer-links a::before {
    content: "›";

    opacity: 0;

    position: absolute;

    left: -13px;

    color: #c58b5c;

    transition: opacity 0.3s ease;
}

.footer-links a:hover {
    color: #ffffff;

    transform: translateX(4px);
}

.footer-links a:hover::before {
    opacity: 1;
}


/* =========================================================
   SOCIAL MEDIA
   ========================================================= */

.footer-social {
    position: relative;
    z-index: 1;
}

.footer-social a {
    width: 42px;
    height: 42px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    margin-right: 7px;

    border: 1px solid rgba(255, 255, 255, 0.14);

    border-radius: 50%;

    color: #d9c5b8;

    background: rgba(255, 255, 255, 0.035);

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        border-color 0.3s ease;
}

.footer-social a:hover {
    background: #9a5b36;

    border-color: #9a5b36;

    color: #ffffff;

    transform: translateY(-4px);
}

.footer-social i {
    font-size: 15px;
}


/* =========================================================
   COPYRIGHT
   ========================================================= */

.copyright {
    grid-column: 1 / -1;

    position: relative;
    z-index: 1;

    border-top: 1px solid rgba(255, 255, 255, 0.10);

    padding-top: 22px;

    margin-top: 20px;

    text-align: center;

    color: #a99589;

    font-size: 11px;

    line-height: 1.8;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    footer {
        grid-template-columns: 1.5fr 1fr 1fr;

        padding: 60px 6% 25px;

        gap: 35px;
    }

    .footer-social {
        grid-column: 1 / -1;
    }

    .footer-social a {
        margin-right: 8px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    footer {
        grid-template-columns: 1fr;

        padding: 55px 8% 22px;

        gap: 32px;

        text-align: center;
    }


    /* LOGO */

    .footer-logo {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .footer-logo h2 {
        font-size: 29px;
    }

    .footer-logo p {
        margin-left: auto;
        margin-right: auto;
    }


    /* LINKS */

    .footer-links {
        align-items: center;
    }

    .footer-links h3,
    .footer-social h3 {
        margin-bottom: 17px;
    }

    .footer-links a {
        margin-bottom: 9px;
    }


    /* SOCIAL */

    .footer-social {
        grid-column: auto;

        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .footer-social a {
        margin: 3px;
    }


    /* COPYRIGHT */

    .copyright {
        grid-column: auto;

        margin-top: 5px;

        padding-top: 20px;

        font-size: 10px;
    }
}


/* =========================================================
   VERY SMALL DEVICES
   ========================================================= */

@media (max-width: 380px) {

    footer {
        padding-left: 6%;
        padding-right: 6%;
    }

    .footer-logo h2 {
        font-size: 27px;
    }

    .footer-logo p {
        font-size: 13px;
    }

    .copyright {
        font-size: 9px;
    }
}


/* =========================================================
   COCO PIE - ABOUT US
   Modern • Elegant • Warm • Responsive
   Matches the generated About Us design
========================================================= */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700;800&display=swap');


/* =========================================================
   RESET
========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'DM Sans', sans-serif;
    background: #fbf8f4;
    color: #3e2920;
    overflow-x: hidden;
}

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

img {
    display: block;
    max-width: 100%;
}

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


/* =========================================================
   HEADER
========================================================= */

header {
    width: 100%;
    height: 78px;

    background: rgba(255, 255, 255, 0.97);

    display: flex;
    align-items: center;

    padding: 0 4.5%;

    position: sticky;
    top: 0;
    z-index: 1000;

    border-bottom: 1px solid rgba(91, 56, 38, 0.08);

    box-shadow: 0 4px 20px rgba(70, 42, 25, 0.04);
}


/* LOGO */

.logo {
    display: flex;
    align-items: center;

    width: 80px;

    flex-shrink: 0;
}

.logo img {
    width: 72px;
    height: 72px;

    object-fit: contain;

    border-radius: 50%;
}


/* NAVIGATION */

nav {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 38px;

    flex: 1;

    margin-left: 80px;
}

nav a {
    position: relative;

    font-size: 15px;
    font-weight: 600;

    color: #4d3a31;

    padding: 29px 0;

    transition: 0.3s ease;
}

nav a:hover {
    color: #8a4928;
}

nav a.active {
    color: #8a4928;
}


/* ACTIVE LINE */

nav a::after {
    content: "";

    position: absolute;

    left: 50%;
    bottom: 8px;

    width: 0;
    height: 3px;

    border-radius: 10px;

    background: #8a4928;

    transform: translateX(-50%);

    transition: 0.3s ease;
}

nav a.active::after,
nav a:hover::after {
    width: 38px;
}


/* HEADER ICONS */

.icons {
    display: flex;
    align-items: center;

    gap: 23px;

    margin-left: auto;
}

.icons a {
    position: relative;

    width: 25px;
    height: 25px;

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

    color: #5a4032;

    font-size: 17px;

    transition: 0.25s ease;
}

.icons a:hover {
    color: #8a4928;
    transform: translateY(-2px);
}


/* =========================================================
   PAGE BANNER
   Hidden to match generated design
========================================================= */

.page-banner {
    display: none;
}


/* =========================================================
   ABOUT / OUR STORY
========================================================= */

.about-section {

    width: 100%;
    min-height: 735px;

    position: relative;

    display: grid;
    grid-template-columns: 1fr 1fr;

    align-items: center;

    gap: 75px;

    padding: 75px 8% 95px;

    background:
        radial-gradient(
            circle at 78% 45%,
            rgba(228, 198, 168, 0.12),
            transparent 30%
        ),
        #fbf8f4;

    overflow: hidden;
}


/* DECORATIVE RIGHT CURVE */

.about-section::before {
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    right: -230px;
    bottom: -270px;

    border-radius: 50%;

    background: #f4e7d8;

    opacity: 0.75;
}


/* DECORATIVE CIRCLE */

.about-section::after {
    content: "";

    position: absolute;

    width: 115px;
    height: 115px;

    right: 8%;
    top: 105px;

    border: 2px solid rgba(145, 91, 54, 0.10);

    border-radius: 50%;
}


/* =========================================================
   ABOUT IMAGE
========================================================= */

.about-image {

    position: relative;

    width: min(100%, 590px);

    justify-self: center;

    z-index: 2;
}


/* BROWN BACKGROUND SHAPE */

.about-image::before {

    content: "";

    position: absolute;

    width: 350px;
    height: 310px;

    left: -42px;
    top: -38px;

    background: #8b4d2b;

    border-radius: 0 28px 28px 28px;

    z-index: -1;

    box-shadow: 0 20px 40px rgba(92, 50, 27, 0.08);
}


/* SECOND DECORATION */

.about-image::after {

    content: "";

    position: absolute;

    width: 105px;
    height: 105px;

    left: -65px;
    bottom: 25px;

    background:
        radial-gradient(
            circle,
            #9b623f 2px,
            transparent 3px
        );

    background-size: 25px 25px;

    opacity: 0.65;

    z-index: -1;
}


/* IMAGE */

.about-image img {

    width: 100%;
    height: 645px;

    object-fit: cover;

    object-position: center;

    border-radius: 28px;

    box-shadow:
        0 28px 55px rgba(67, 40, 25, 0.14);

    border: 1px solid rgba(255, 255, 255, 0.8);
}


/* =========================================================
   STORY CONTENT
========================================================= */

.about-content {

    position: relative;

    max-width: 590px;

    z-index: 3;
}


/* SMALL LABEL */

.about-content::before {

    content: "OUR STORY";

    display: block;

    margin-bottom: 15px;

    font-size: 13px;

    letter-spacing: 4px;

    font-weight: 700;

    color: #9a512d;
}


/* TITLE */

.about-content h2 {

    position: relative;

    font-family: 'Playfair Display', serif;

    font-size: clamp(52px, 5vw, 78px);

    line-height: 1.05;

    font-weight: 600;

    color: #3d251a;

    margin-bottom: 32px;
}


/* DECORATIVE LINE UNDER TITLE */

.about-content h2::after {

    content: "♥";

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

    width: 315px;

    margin-top: 22px;

    font-family: 'DM Sans', sans-serif;

    font-size: 16px;

    color: #8a4928;

    letter-spacing: 10px;

    border-top: 1px solid rgba(138, 73, 40, 0.28);

    padding-top: 0;
}


/* TEXT */

.about-content p {

    max-width: 560px;

    font-size: 16px;

    line-height: 1.9;

    color: #68564b;

    margin-bottom: 22px;
}


/* BUTTON */

.about-content .btn {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 175px;
    height: 58px;

    margin-top: 15px;

    padding: 0 28px;

    background: #8b4d2b;

    color: #fff;

    border-radius: 15px;

    font-size: 15px;

    font-weight: 700;

    box-shadow:
        0 14px 28px rgba(112, 59, 32, 0.18);

    transition: 0.3s ease;
}

.about-content .btn::before {
    content: "\f07a";

    font-family: "Font Awesome 6 Free";

    font-weight: 900;

    margin-right: 11px;
}

.about-content .btn:hover {

    background: #6f3a20;

    transform: translateY(-3px);

    box-shadow:
        0 18px 35px rgba(112, 59, 32, 0.24);
}


/* =========================================================
   MISSION & VISION
========================================================= */

.mission {

    position: relative;

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 28px;

    max-width: 1200px;

    margin: 0 auto;

    padding: 85px 6%;
}


.mission-card {

    position: relative;

    padding: 48px 45px;

    background: #fff;

    border: 1px solid #eee3d9;

    border-radius: 24px;

    text-align: center;

    box-shadow:
        0 15px 40px rgba(65, 38, 24, 0.06);

    transition: 0.3s ease;

    overflow: hidden;
}


.mission-card::before {

    content: "";

    position: absolute;

    width: 130px;
    height: 130px;

    top: -70px;
    right: -60px;

    border-radius: 50%;

    background: #f5e7d8;
}


.mission-card:hover {

    transform: translateY(-8px);

    box-shadow:
        0 22px 45px rgba(65, 38, 24, 0.10);
}


.mission-card i {

    width: 65px;
    height: 65px;

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

    margin: 0 auto 22px;

    background: #f5e8da;

    color: #8b4d2b;

    border-radius: 50%;

    font-size: 25px;
}


.mission-card h2 {

    font-family: 'Playfair Display', serif;

    font-size: 30px;

    color: #42291d;

    margin-bottom: 15px;
}


.mission-card p {

    color: #756359;

    font-size: 15px;

    line-height: 1.8;
}


/* =========================================================
   WHY CHOOSE US
========================================================= */

.why-us {

    position: relative;

    padding: 100px 7%;

    text-align: center;

    background: #f3e5d6;

    overflow: hidden;
}


/* BACKGROUND DECORATION */

.why-us::before {

    content: "";

    position: absolute;

    width: 350px;
    height: 350px;

    border-radius: 50%;

    left: -180px;
    top: -160px;

    border: 2px solid rgba(139, 77, 43, 0.08);
}


.why-us::after {

    content: "";

    position: absolute;

    width: 280px;
    height: 280px;

    border-radius: 50%;

    right: -140px;
    bottom: -160px;

    background: rgba(255, 255, 255, 0.25);
}


.why-us > h2 {

    position: relative;

    font-family: 'Playfair Display', serif;

    font-size: clamp(38px, 4vw, 56px);

    color: #41281c;

    margin-bottom: 55px;

    z-index: 2;
}


/* FEATURE GRID */

.feature-container {

    position: relative;

    max-width: 1250px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 22px;

    z-index: 2;
}


/* FEATURE CARD */

.feature-card {

    padding: 36px 25px;

    background: rgba(255, 255, 255, 0.82);

    border: 1px solid rgba(139, 77, 43, 0.08);

    border-radius: 22px;

    transition: 0.3s ease;
}


.feature-card:hover {

    transform: translateY(-8px);

    background: #fff;

    box-shadow:
        0 20px 40px rgba(72, 43, 28, 0.10);
}


.feature-card i {

    width: 62px;
    height: 62px;

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

    margin: 0 auto 20px;

    border-radius: 50%;

    background: #f6e9dc;

    color: #8b4d2b;

    font-size: 23px;
}


.feature-card h3 {

    font-size: 17px;

    color: #432b20;

    margin-bottom: 12px;

    font-weight: 700;
}


.feature-card p {

    color: #75645b;

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   OUR VALUES
========================================================= */

.team {

    position: relative;

    padding: 100px 7%;

    background: #fbf8f4;

    text-align: center;
}


.team > h2 {

    font-family: 'Playfair Display', serif;

    font-size: clamp(40px, 4vw, 55px);

    color: #40281c;

    margin-bottom: 55px;
}


.team-container {

    max-width: 1100px;

    margin: auto;

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 25px;
}


.team-card {

    padding: 42px 28px;

    background: #fff;

    border: 1px solid #eee2d8;

    border-radius: 22px;

    box-shadow:
        0 12px 35px rgba(68, 41, 27, 0.05);

    transition: 0.3s ease;
}


.team-card:hover {

    transform: translateY(-7px);

    box-shadow:
        0 20px 42px rgba(68, 41, 27, 0.09);
}


.team-card i {

    width: 65px;
    height: 65px;

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

    margin: 0 auto 20px;

    border-radius: 50%;

    background: #f5e7d8;

    color: #8b4d2b;

    font-size: 23px;
}


.team-card h3 {

    font-family: 'Playfair Display', serif;

    font-size: 25px;

    color: #422a1e;

    margin-bottom: 12px;
}


.team-card p {

    font-size: 14px;

    line-height: 1.8;

    color: #75635a;
}


/* =========================================================
   FOOTER
========================================================= */

#footer {
    position: relative;
    z-index: 5;
}


/* =========================================================
   RESPONSIVE - 1200px
========================================================= */

@media (max-width: 1200px) {

    header {
        padding: 0 3%;
    }

    nav {
        gap: 27px;
        margin-left: 40px;
    }

    .icons {
        gap: 17px;
    }

    .about-section {
        padding-left: 6%;
        padding-right: 6%;
        gap: 55px;
    }

    .about-image img {
        height: 570px;
    }

    .feature-container {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* =========================================================
   RESPONSIVE - 900px
========================================================= */

@media (max-width: 900px) {

    header {
        height: 72px;
        padding: 0 25px;
    }

    .logo {
        width: 70px;
    }

    .logo img {
        width: 64px;
        height: 64px;
    }

    nav {
        gap: 18px;
        margin-left: 20px;
    }

    nav a {
        font-size: 13px;
    }

    .icons {
        gap: 13px;
    }

    .icons a {
        font-size: 15px;
    }


    /* ABOUT */

    .about-section {

        grid-template-columns: 1fr;

        gap: 65px;

        padding-top: 80px;

        padding-bottom: 90px;
    }

    .about-image {

        width: min(85%, 580px);

        margin-left: 20px;
    }

    .about-image img {
        height: 570px;
    }

    .about-content {

        max-width: 700px;

        text-align: center;

        margin: auto;
    }

    .about-content p {
        margin-left: auto;
        margin-right: auto;
    }

    .about-content h2::after {
        margin-left: auto;
        margin-right: auto;
    }


    /* MISSION */

    .mission {
        padding-left: 5%;
        padding-right: 5%;
    }
}


/* =========================================================
   RESPONSIVE - 700px
========================================================= */

@media (max-width: 700px) {

    header {
        height: 68px;
        padding: 0 16px;
    }

    .logo img {
        width: 57px;
        height: 57px;
    }

    .logo {
        width: 60px;
    }

    nav {
        display: none;
    }

    .icons {
        gap: 17px;
    }

    .icons a {
        font-size: 16px;
    }


    /* ABOUT */

    .about-section {

        min-height: auto;

        padding: 70px 22px 80px;

        gap: 55px;
    }

    .about-image {

        width: 88%;

        margin-left: 15px;
    }

    .about-image img {

        height: 470px;

        border-radius: 22px;
    }

    .about-image::before {

        width: 220px;
        height: 200px;

        left: -20px;
        top: -25px;

        border-radius: 0 22px 22px 22px;
    }

    .about-image::after {

        left: -35px;

        bottom: 15px;
    }

    .about-content::before {
        font-size: 11px;
        letter-spacing: 3px;
    }

    .about-content h2 {

        font-size: 48px;

        margin-bottom: 25px;
    }

    .about-content h2::after {

        width: 240px;

        margin-top: 18px;
    }

    .about-content p {

        font-size: 14px;

        line-height: 1.8;
    }

    .about-content .btn {

        height: 53px;

        min-width: 165px;
    }


    /* MISSION */

    .mission {

        grid-template-columns: 1fr;

        padding: 65px 22px;
    }


    /* WHY US */

    .why-us {

        padding: 75px 22px;
    }

    .why-us > h2 {

        font-size: 40px;

        margin-bottom: 38px;
    }

    .feature-container {

        grid-template-columns: 1fr 1fr;

        gap: 15px;
    }

    .feature-card {

        padding: 28px 18px;
    }


    /* VALUES */

    .team {

        padding: 75px 22px;
    }

    .team > h2 {

        font-size: 40px;

        margin-bottom: 40px;
    }

    .team-container {

        grid-template-columns: 1fr;
    }
}


/* =========================================================
   RESPONSIVE - 480px
========================================================= */

@media (max-width: 480px) {

    .icons {
        gap: 13px;
    }

    .icons a:nth-child(1) {
        display: none;
    }

    .about-section {
        padding-left: 18px;
        padding-right: 18px;
    }

    .about-image {
        width: 90%;
    }

    .about-image img {
        height: 390px;
    }

    .about-content h2 {
        font-size: 42px;
    }

    .about-content p {
        font-size: 13.5px;
    }

    .feature-container {
        grid-template-columns: 1fr;
    }

    .mission-card {
        padding: 35px 25px;
    }

    .team-card {
        padding: 35px 25px;
    }
}


/* =========================================================
   EXTRA POLISH
========================================================= */

::selection {
    background: #8b4d2b;
    color: #fff;
}

::-webkit-scrollbar {
    width: 9px;
}

::-webkit-scrollbar-track {
    background: #f5eee7;
}

::-webkit-scrollbar-thumb {
    background: #9a6040;
    border-radius: 20px;
}

::-webkit-scrollbar-thumb:hover {
    background: #754021;
}

/* =========================================================
   COCO PIE - MY ADDRESSES PAGE
   ========================================================= */


/* =========================================================
   ADDRESSES PAGE
   ========================================================= */

.addresses-page {
    min-height: 600px;

    padding: 90px 7%;

    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(222, 188, 158, 0.16),
            transparent 28%
        ),
        #fbf8f4;
}


.addresses-container {
    max-width: 1050px;

    margin: 0 auto;
}


/* =========================================================
   PAGE HEADER
   ========================================================= */

.addresses-header {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    margin-bottom: 30px;
}


.addresses-header h2 {
    font-family: 'Playfair Display', serif;

    color: #43281b;

    font-size: 34px;

    line-height: 1.2;
}


.addresses-header .btn {
    white-space: nowrap;
}


/* =========================================================
   ADDRESS CARD
   ========================================================= */

.address-card {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    padding: 28px 30px;

    margin-bottom: 18px;

    background: rgba(255, 255, 255, 0.92);

    border: 1px solid #eadfd6;

    border-radius: 18px;

    box-shadow:
        0 8px 28px rgba(69, 39, 24, 0.055);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}


.address-card:hover {
    transform: translateY(-4px);

    border-color: #d8bda7;

    box-shadow:
        0 16px 38px rgba(69, 39, 24, 0.10);
}


/* =========================================================
   ADDRESS INFORMATION
   ========================================================= */

.address-info {
    flex: 1;
}


.address-title {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 12px;

    margin-bottom: 15px;
}


.address-title h3 {
    color: #45291d;

    font-size: 18px;

    font-weight: 700;
}


/* =========================================================
   DEFAULT BADGE
   ========================================================= */

.default-badge {
    display: inline-flex;

    align-items: center;

    padding: 5px 11px;

    border-radius: 50px;

    background: #f1dfce;

    color: #87502f;

    font-size: 10px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 0.7px;
}


.address-info p {
    display: flex;

    align-items: flex-start;

    gap: 10px;

    color: #756054;

    font-size: 13px;

    line-height: 1.7;

    margin-bottom: 8px;
}


.address-info p i {
    width: 18px;

    margin-top: 4px;

    color: #9a5b36;

    text-align: center;

    flex-shrink: 0;
}


/* =========================================================
   ADDRESS ACTIONS
   ========================================================= */

.address-actions {
    display: flex;

    align-items: center;

    gap: 9px;

    flex-shrink: 0;
}


.profile-btn,
.remove-btn {
    min-height: 40px;

    padding: 0 15px;

    border-radius: 8px;

    font-family: 'DM Sans', sans-serif;

    font-size: 12px;

    font-weight: 600;

    cursor: pointer;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 7px;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease;
}


/* EDIT */

.profile-btn {
    color: #71452c;

    background: #f8f0e9;

    border: 1px solid #e5d3c4;
}


.profile-btn:hover {
    background: #7e4728;

    border-color: #7e4728;

    color: #ffffff;

    transform: translateY(-2px);
}


/* DELETE */

.remove-btn {
    color: #9a5146;

    background: #fff8f7;

    border: 1px solid #ecd7d3;
}


.remove-btn:hover {
    background: #a9574d;

    border-color: #a9574d;

    color: #ffffff;

    transform: translateY(-2px);
}


/* =========================================================
   BACK TO PROFILE
   ========================================================= */

.address-back {
    display: flex;

    justify-content: center;

    margin-top: 35px;

    padding-top: 25px;

    border-top: 1px solid #e9dfd7;
}


.address-back .btn {
    min-width: 180px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .addresses-page {
        padding: 75px 6%;
    }


    .address-card {
        padding: 25px;
    }


    .address-actions {
        flex-direction: column;

        align-items: stretch;

        min-width: 95px;
    }


    .profile-btn,
    .remove-btn {
        width: 100%;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 650px) {

    .addresses-page {
        padding: 60px 5%;
    }


    .addresses-header {
        flex-direction: column;

        align-items: stretch;

        text-align: center;

        margin-bottom: 25px;
    }


    .addresses-header h2 {
        font-size: 30px;
    }


    .addresses-header .btn {
        width: 100%;
    }


    .address-card {
        flex-direction: column;

        align-items: stretch;

        gap: 22px;

        padding: 23px 20px;

        border-radius: 15px;
    }


    .address-title {
        gap: 9px;
    }


    .address-title h3 {
        font-size: 17px;
    }


    .address-info p {
        font-size: 12px;
    }


    .address-actions {
        width: 100%;

        flex-direction: row;

        min-width: 0;
    }


    .profile-btn,
    .remove-btn {
        flex: 1;

        min-height: 42px;
    }


    .address-back {
        margin-top: 25px;
    }


    .address-back .btn {
        width: 100%;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 400px) {

    .addresses-page {
        padding-left: 4%;
        padding-right: 4%;
    }


    .addresses-header h2 {
        font-size: 27px;
    }


    .address-card {
        padding: 20px 16px;
    }


    .address-actions {
        flex-direction: column;
    }


    .profile-btn,
    .remove-btn {
        width: 100%;
    }
}

/* =========================================================
   BUKOPIE ADMIN - ORDERS PAGE
   Modern / Professional / Responsive
========================================================= */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

:root {
    --brown-dark: #3b2418;
    --brown: #6f432b;
    --brown-light: #9a6747;
    --cream: #f8f3ed;
    --cream-dark: #eee2d5;
    --white: #ffffff;
    --text: #35251d;
    --muted: #8a786d;
    --border: #eadfd5;
    --shadow: 0 10px 30px rgba(65, 39, 24, 0.07);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'DM Sans', sans-serif;
    background: #faf7f3;
    color: var(--text);
}


/* =========================================================
   SIDEBAR
========================================================= */

.sidebar {
    position: fixed;
    left: 0;
    top: 0;

    width: 250px;
    height: 100vh;

    background: var(--brown-dark);
    color: white;

    padding: 28px 18px;

    z-index: 1000;

    box-shadow: 8px 0 30px rgba(45, 27, 18, 0.08);
}


/* BRAND */

.admin-brand {
    display: flex;
    align-items: center;
    gap: 12px;

    padding: 8px 14px 30px;

    border-bottom: 1px solid rgba(255,255,255,0.10);
}

.admin-brand i {
    width: 42px;
    height: 42px;

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

    border-radius: 12px;

    background: #8a5435;

    color: #fff;

    font-size: 19px;
}

.admin-brand h2 {
    font-family: 'Playfair Display', serif;
    font-size: 24px;
    color: #fff;
}


/* SIDEBAR MENU */

.sidebar ul {
    list-style: none;
    margin-top: 28px;
}

.sidebar li {
    margin-bottom: 7px;
}

.sidebar li a {
    display: flex;
    align-items: center;
    gap: 14px;

    min-height: 48px;

    padding: 0 15px;

    border-radius: 11px;

    color: #d9c9bd;
    text-decoration: none;

    font-size: 13px;
    font-weight: 600;

    transition: all 0.25s ease;
}

.sidebar li a i {
    width: 20px;
    text-align: center;
    font-size: 15px;
}


/* HOVER */

.sidebar li a:hover {
    background: rgba(255,255,255,0.08);
    color: #fff;
    transform: translateX(3px);
}


/* ACTIVE */

.sidebar li.active a {
    background: #9a6040;
    color: #fff;

    box-shadow: 0 8px 20px rgba(0,0,0,0.14);
}

.sidebar li.active a i {
    color: #fff;
}


/* =========================================================
   MAIN DASHBOARD
========================================================= */

.dashboard {
    margin-left: 250px;

    min-height: 100vh;

    padding: 35px 45px;
}


/* =========================================================
   DASHBOARD HEADER
========================================================= */

.dashboard-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 32px;
}

.dashboard-header h1 {
    font-family: 'Playfair Display', serif;

    font-size: 38px;

    color: var(--brown-dark);

    margin-bottom: 7px;
}

.dashboard-header p {
    color: var(--muted);
    font-size: 14px;
}


/* ADMIN PROFILE */

.admin-profile {
    display: flex;
    align-items: center;
    gap: 10px;

    padding: 10px 16px;

    background: #fff;

    border: 1px solid var(--border);

    border-radius: 50px;

    box-shadow: 0 5px 20px rgba(60, 36, 23, 0.04);

    font-size: 13px;
    font-weight: 600;
}

.admin-profile i {
    color: var(--brown);
    font-size: 25px;
}


/* =========================================================
   STAT CARDS
========================================================= */

.stats {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 20px;

    margin-bottom: 32px;
}

.stat-card {
    position: relative;

    display: flex;
    align-items: center;

    gap: 17px;

    padding: 22px;

    background: #fff;

    border: 1px solid var(--border);

    border-radius: 17px;

    box-shadow: var(--shadow);

    overflow: hidden;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.stat-card::after {
    content: "";

    position: absolute;

    right: -25px;
    bottom: -30px;

    width: 90px;
    height: 90px;

    border-radius: 50%;

    background: rgba(154, 103, 71, 0.07);
}

.stat-card:hover {
    transform: translateY(-5px);

    box-shadow: 0 16px 35px rgba(65, 39, 24, 0.11);
}

.stat-card > i {
    width: 48px;
    height: 48px;

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

    flex-shrink: 0;

    border-radius: 13px;

    background: #f4e9df;

    color: var(--brown);

    font-size: 18px;
}

.stat-card h3 {
    font-size: 25px;
    color: var(--brown-dark);

    line-height: 1;

    margin-bottom: 6px;
}

.stat-card p {
    color: var(--muted);
    font-size: 12px;
    font-weight: 500;
}


/* =========================================================
   ORDERS TABLE
========================================================= */

.recent-orders {
    background: #fff;

    border: 1px solid var(--border);

    border-radius: 20px;

    padding: 28px;

    box-shadow: var(--shadow);

    overflow: hidden;
}

.recent-orders h2 {
    font-family: 'Playfair Display', serif;

    font-size: 25px;

    color: var(--brown-dark);

    margin-bottom: 24px;
}


/* TABLE WRAPPER EFFECT */

.recent-orders table {
    width: 100%;

    border-collapse: separate;
    border-spacing: 0;

    min-width: 900px;
}


/* TABLE HEADER */

.recent-orders th {
    padding: 14px 15px;

    background: #faf6f1;

    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);

    color: #725646;

    font-size: 11px;

    text-transform: uppercase;

    letter-spacing: 0.7px;

    text-align: left;

    white-space: nowrap;
}

.recent-orders th:first-child {
    border-left: 1px solid var(--border);

    border-top-left-radius: 10px;
}

.recent-orders th:last-child {
    border-right: 1px solid var(--border);

    border-top-right-radius: 10px;
}


/* TABLE BODY */

.recent-orders td {
    padding: 17px 15px;

    border-bottom: 1px solid #f0e8e1;

    color: #625149;

    font-size: 12px;

    vertical-align: middle;
}

.recent-orders tbody tr {
    transition: background 0.2s ease;
}

.recent-orders tbody tr:hover {
    background: #fdfaf7;
}


/* ORDER ID */

.recent-orders td:first-child {
    color: var(--brown);

    font-weight: 700;

    white-space: nowrap;
}


/* CUSTOMER */

.recent-orders td:nth-child(2) {
    color: #3f2c22;
    font-weight: 600;
}


/* PRODUCT */

.recent-orders td:nth-child(3) {
    color: #665348;
}


/* TOTAL */

.recent-orders td:nth-child(5) {
    color: var(--brown-dark);

    font-weight: 700;

    white-space: nowrap;
}


/* PAYMENT */

.recent-orders td:nth-child(6) {
    white-space: nowrap;
}


/* =========================================================
   STATUS BADGES
========================================================= */

.pending,
.process,
.complete {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 78px;

    padding: 6px 11px;

    border-radius: 50px;

    font-size: 10px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 0.4px;
}


/* PENDING */

.pending {
    background: #fff2dc;
    color: #a56a20;
}


/* PREPARING */

.process {
    background: #e9effb;
    color: #5271a7;
}


/* COMPLETED */

.complete {
    background: #e5f5ea;
    color: #438154;
}


/* =========================================================
   VIEW BUTTON
========================================================= */

.edit-btn {
    width: 36px;
    height: 36px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    border: 1px solid #e5d6ca;

    border-radius: 9px;

    background: #f8f1eb;

    color: var(--brown);

    cursor: pointer;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease,
        border-color 0.25s ease;
}

.edit-btn:hover {
    background: var(--brown);

    border-color: var(--brown);

    color: #fff;

    transform: translateY(-2px);

    box-shadow: 0 6px 15px rgba(111, 67, 43, 0.20);
}

.edit-btn i {
    font-size: 13px;
}


/* =========================================================
   TABLE SCROLL ON SMALLER SCREENS
========================================================= */

.recent-orders {
    overflow-x: auto;
}


/* =========================================================
   LARGE TABLET
========================================================= */

@media (max-width: 1200px) {

    .dashboard {
        padding: 30px;
    }

    .stats {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .sidebar {
        width: 215px;
    }

    .dashboard {
        margin-left: 215px;
        padding: 28px 22px;
    }

    .dashboard-header h1 {
        font-size: 32px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .sidebar {
        position: relative;

        width: 100%;
        height: auto;

        padding: 15px;
    }

    .admin-brand {
        padding: 5px 8px 15px;
    }

    .sidebar ul {
        display: grid;

        grid-template-columns: repeat(2, 1fr);

        gap: 6px;

        margin-top: 15px;
    }

    .sidebar li {
        margin: 0;
    }

    .sidebar li a {
        justify-content: center;

        gap: 7px;

        padding: 10px 5px;

        font-size: 11px;

        min-height: 43px;
    }

    .sidebar li a i {
        width: auto;
        font-size: 13px;
    }


    .dashboard {
        margin-left: 0;

        padding: 25px 16px;
    }


    .dashboard-header {
        flex-direction: column;

        align-items: flex-start;

        gap: 18px;
    }

    .dashboard-header h1 {
        font-size: 30px;
    }

    .admin-profile {
        width: 100%;

        justify-content: center;
    }


    .stats {
        grid-template-columns: 1fr 1fr;

        gap: 12px;
    }

    .stat-card {
        padding: 17px 13px;

        gap: 10px;
    }

    .stat-card > i {
        width: 40px;
        height: 40px;

        font-size: 15px;
    }

    .stat-card h3 {
        font-size: 21px;
    }

    .stat-card p {
        font-size: 10px;
    }


    .recent-orders {
        padding: 20px;

        border-radius: 16px;
    }

    .recent-orders h2 {
        font-size: 22px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 450px) {

    .sidebar ul {
        grid-template-columns: 1fr;
    }

    .sidebar li a {
        justify-content: flex-start;

        padding-left: 15px;
    }


    .stats {
        grid-template-columns: 1fr;
    }


    .stat-card {
        padding: 18px;
    }


    .recent-orders {
        padding: 16px;
    }

}

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

/* =========================================================
   COCO PIE - SHOPPING CART
   Modern • Elegant • Responsive
========================================================= */

.cart-page {
    min-height: 700px;

    padding: 85px 7% 100px;

    background:
        radial-gradient(
            circle at 8% 15%,
            rgba(216, 184, 155, 0.18),
            transparent 28%
        ),
        radial-gradient(
            circle at 95% 80%,
            rgba(216, 184, 155, 0.13),
            transparent 25%
        ),
        #faf7f3;

    position: relative;
    overflow: hidden;
}


/* =========================================================
   DECORATIVE BACKGROUND
========================================================= */

.cart-page::before {
    content: "";

    position: absolute;

    width: 350px;
    height: 350px;

    top: -180px;
    left: -170px;

    border: 1px solid rgba(139, 77, 43, 0.08);

    border-radius: 50%;

    pointer-events: none;
}

.cart-page::after {
    content: "";

    position: absolute;

    width: 420px;
    height: 420px;

    right: -250px;
    bottom: -230px;

    border-radius: 50%;

    background: rgba(236, 216, 198, 0.30);

    pointer-events: none;
}


/* =========================================================
   CART HEADING
========================================================= */

.cart-heading {
    position: relative;

    max-width: 1250px;

    margin: 0 auto 48px;

    z-index: 2;
}

.cart-heading h1 {
    position: relative;

    display: inline-block;

    font-family: 'Playfair Display', serif;

    font-size: clamp(42px, 4.5vw, 60px);

    line-height: 1.1;

    color: #3d2519;

    margin-bottom: 14px;
}

.cart-heading h1::after {
    content: "";

    position: absolute;

    left: 2px;
    bottom: -12px;

    width: 55px;
    height: 3px;

    border-radius: 20px;

    background: #8b4d2b;
}

.cart-heading p {
    margin-top: 20px;

    color: #806f64;

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   CART LAYOUT
========================================================= */

.cart-layout {
    position: relative;

    max-width: 1250px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: minmax(0, 1fr) 360px;

    gap: 30px;

    align-items: start;

    z-index: 2;
}


/* =========================================================
   CART ITEMS
========================================================= */

.cart-items {
    display: flex;

    flex-direction: column;

    gap: 18px;
}


/* EMPTY CART */

.cart-items:empty::before {
    content: "Your cart is currently empty.";

    display: flex;

    align-items: center;
    justify-content: center;

    min-height: 230px;

    padding: 30px;

    background: #ffffff;

    border: 1px dashed #d9c9bc;

    border-radius: 22px;

    color: #8b786b;

    font-size: 14px;
}


/* =========================================================
   CART ITEM
========================================================= */

.cart-item {
    position: relative;

    display: flex;

    align-items: center;

    gap: 22px;

    min-height: 155px;

    padding: 20px 22px;

    background: rgba(255, 255, 255, 0.96);

    border: 1px solid #eadfd6;

    border-radius: 20px;

    box-shadow:
        0 10px 30px rgba(66, 39, 24, 0.055);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

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

    border-color: #d9c1ae;

    box-shadow:
        0 17px 38px rgba(66, 39, 24, 0.10);
}


/* =========================================================
   PRODUCT IMAGE
========================================================= */

.cart-item img {
    width: 112px;
    height: 112px;

    flex-shrink: 0;

    object-fit: cover;

    border-radius: 17px;

    background: #f5eee7;

    border: 1px solid #eee1d6;
}


/* =========================================================
   ITEM INFORMATION
========================================================= */

.cart-item-info {
    flex: 1;

    min-width: 0;

    align-self: center;
}

.cart-item-info h3 {
    margin-bottom: 6px;

    color: #40291d;

    font-size: 18px;

    font-weight: 700;
}

.cart-item-info p {
    color: #8a7669;

    font-size: 13px;

    line-height: 1.6;
}


/* =========================================================
   PRICE
   JS uses .cart-price
========================================================= */

.cart-price {
    margin: 5px 0 11px;

    color: #86502f !important;

    font-size: 14px !important;

    font-weight: 600;
}


/* =========================================================
   QUANTITY CONTROL
========================================================= */

.quantity-control {
    display: inline-flex;

    align-items: center;

    width: fit-content;

    border: 1px solid #dfd0c4;

    border-radius: 9px;

    overflow: hidden;

    background: #ffffff;

    flex-shrink: 0;
}

.quantity-control button {
    width: 34px;
    height: 34px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: none;

    background: #f7f0e9;

    color: #70452e;

    cursor: pointer;

    font-size: 14px;

    font-weight: 600;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}

.quantity-control button:hover {
    background: #8b5637;

    color: #ffffff;
}


/* NUMBER */

.quantity-control input[type="number"],
.quantity-control input {
    width: 40px;
    height: 34px;

    border: none;

    background: #ffffff !important;

    color: #3d2519 !important;

    font-size: 14px;

    font-weight: 700;

    text-align: center;

    outline: none;

    margin: 0;

    padding: 0;
}


/* REMOVE SPIN BUTTON */

.quantity-control input[type="number"]::-webkit-inner-spin-button,
.quantity-control input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;

    margin: 0;
}

.quantity-control input[type="number"] {
    -moz-appearance: textfield;
}


/* =========================================================
   ITEM TOTAL
========================================================= */

.cart-item-total {
    min-width: 150px;

    display: flex;

    flex-direction: column;

    align-items: flex-end;

    justify-content: center;

    gap: 14px;
}

.cart-item-total strong {
    color: #3d2519;

    font-size: 15px;

    font-weight: 700;
}


/* =========================================================
   REMOVE BUTTON
========================================================= */

.remove-item,
.remove-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 7px;

    padding: 9px 13px;

    border: 1px solid #ecd9d4;

    border-radius: 9px;

    background: #fff8f7;

    color: #a85b51;

    font-family: inherit;

    font-size: 12px;

    font-weight: 600;

    cursor: pointer;

    white-space: nowrap;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.remove-item:hover,
.remove-btn:hover {
    background: #a85b51;

    border-color: #a85b51;

    color: #ffffff;

    transform: translateY(-2px);

    box-shadow:
        0 5px 14px rgba(168, 91, 81, 0.20);
}

.remove-item i,
.remove-btn i,
.remove-item svg,
.remove-btn svg {
    font-size: 13px;
}


/* =========================================================
   ORDER SUMMARY
========================================================= */

.order-summary {
    position: sticky;

    top: 100px;

    padding: 38px 32px;

    background: #ffffff;

    border: 1px solid #eadfd6;

    border-radius: 22px;

    box-shadow:
        0 12px 35px rgba(66, 39, 24, 0.07);
}

.order-summary h2 {
    font-family: 'Playfair Display', serif;

    font-size: 30px;

    color: #40291d;

    margin-bottom: 36px;
}


/* =========================================================
   SUMMARY ROWS
========================================================= */

.summary-row {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    margin-bottom: 23px;

    color: #806f64;

    font-size: 14px;
}

.summary-row strong,
.summary-row span:last-child {
    color: #4a3327;

    font-weight: 600;
}


/* =========================================================
   TOTAL
========================================================= */

.summary-total {
    display: flex;

    align-items: center;

    justify-content: space-between;

    padding-top: 27px;

    margin-top: 27px;

    border-top: 1px solid #eadfd6;
}

.summary-total span:first-child {
    color: #40291d;

    font-size: 16px;

    font-weight: 700;
}

.summary-total span:last-child {
    color: #8b4d2b;

    font-family: 'Playfair Display', serif;

    font-size: 25px;

    font-weight: 700;
}


/* =========================================================
   CHECKOUT BUTTON
========================================================= */

.checkout-btn {
    width: 100%;

    height: 54px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin-top: 28px;

    border: none;

    border-radius: 12px;

    background: #7f4527;

    color: #ffffff;

    font-size: 14px;

    font-weight: 700;

    cursor: pointer;

    box-shadow:
        0 10px 22px rgba(111, 58, 32, 0.17);

    transition:
        background 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.checkout-btn:hover {
    background: #69371f;

    transform: translateY(-2px);

    box-shadow:
        0 14px 28px rgba(111, 58, 32, 0.23);
}


/* =========================================================
   CONTINUE SHOPPING
========================================================= */

.continue-shopping {
    display: flex;

    align-items: center;
    justify-content: center;

    margin-top: 22px;

    color: #8b5637;

    font-size: 13px;

    font-weight: 600;

    transition: 0.25s ease;
}

.continue-shopping:hover {
    color: #5f351f;

    transform: translateX(-2px);
}


/* =========================================================
   CLEAR CART
========================================================= */

#clearCartBtn {
    margin-top: 18px;

    border: none;

    background: transparent;

    color: #a85b51;

    font-family: inherit;

    font-size: 13px;

    font-weight: 600;

    cursor: pointer;

    transition: 0.25s ease;
}

#clearCartBtn:hover {
    color: #7d3730;
}


/* =========================================================
   RESPONSIVE - 1100px
========================================================= */

@media (max-width: 1100px) {

    .cart-page {
        padding-left: 5%;
        padding-right: 5%;
    }

    .cart-layout {
        grid-template-columns: minmax(0, 1fr) 320px;

        gap: 22px;
    }

    .cart-item {
        gap: 17px;
    }

    .cart-item img {
        width: 100px;
        height: 100px;
    }

    .cart-item-total {
        min-width: 125px;
    }
}


/* =========================================================
   RESPONSIVE - 850px
========================================================= */

@media (max-width: 850px) {

    .cart-page {
        padding: 65px 5% 80px;
    }

    .cart-layout {
        grid-template-columns: 1fr;
    }

    .order-summary {
        position: static;

        width: 100%;
    }

    .cart-item-total {
        min-width: 120px;
    }
}


/* =========================================================
   RESPONSIVE - 650px
========================================================= */

@media (max-width: 650px) {

    .cart-page {
        padding: 55px 20px 70px;
    }

    .cart-heading {
        margin-bottom: 35px;
    }

    .cart-heading h1 {
        font-size: 43px;
    }

    .cart-heading p {
        font-size: 13px;
    }


    /* CART ITEM */

    .cart-item {
        display: grid;

        grid-template-columns: 85px 1fr;

        gap: 15px;

        padding: 16px;

        min-height: auto;
    }

    .cart-item img {
        width: 85px;
        height: 85px;

        grid-row: span 2;
    }

    .cart-item-info {
        align-self: start;
    }

    .cart-item-info h3 {
        font-size: 16px;
    }

    .cart-price {
        font-size: 13px !important;
    }

    .quantity-control button {
        width: 30px;
        height: 30px;
    }

    .quantity-control input {
        width: 35px;
        height: 30px;
    }


    /* TOTAL + REMOVE */

    .cart-item-total {
        grid-column: 2;

        min-width: 0;

        flex-direction: row;

        align-items: center;

        justify-content: space-between;

        width: 100%;

        gap: 10px;
    }

    .cart-item-total strong {
        font-size: 14px;
    }

    .remove-btn {
        padding: 7px 10px;

        font-size: 11px;
    }


    /* SUMMARY */

    .order-summary {
        padding: 30px 24px;
    }

    .order-summary h2 {
        font-size: 27px;
    }
}


/* =========================================================
   RESPONSIVE - 450px
========================================================= */

@media (max-width: 450px) {

    .cart-page {
        padding-left: 15px;
        padding-right: 15px;
    }

    .cart-heading h1 {
        font-size: 38px;
    }

    .cart-item {
        grid-template-columns: 72px 1fr;

        padding: 13px;

        gap: 12px;
    }

    .cart-item img {
        width: 72px;
        height: 72px;
    }

    .cart-item-info h3 {
        font-size: 14px;
    }

    .cart-item-total {
        grid-column: 1 / -1;

        padding-top: 8px;

        border-top: 1px solid #eee3da;
    }

    .order-summary {
        padding: 26px 20px;
    }
}


/* =========================================================
   CART COUNT BADGE
   IMPORTANT:
   This is controlled by cart.js.
   Do NOT use ::after with content: "2".
========================================================= */

.icons a {
    position: relative;
}

.icons .cart-count {
    position: absolute;

    top: -10px;
    right: -11px;

    width: 19px;
    height: 19px;

    display: flex;

    align-items: center;
    justify-content: center;

    background: #8b4d2b;

    color: #ffffff;

    border-radius: 50%;

    font-family: 'DM Sans', sans-serif;

    font-size: 10px;

    font-weight: 700;

    line-height: 1;

    pointer-events: none;

    box-shadow:
        0 2px 5px rgba(70, 40, 25, 0.15);
}
/* =========================================================
   ORDER SUMMARY
========================================================= */

.summary-box {
    position: sticky;

    top: 100px;

    padding: 30px;

    background: #fff;

    border: 1px solid #e8dbd1;

    border-radius: 20px;

    box-shadow:
        0 12px 35px rgba(63, 37, 22, 0.08);
}

.summary-box h2 {
    font-family: 'Playfair Display', serif;

    color: #3f281b;

    font-size: 25px;

    margin-bottom: 25px;
}


/* =========================================================
   SUMMARY ROW
========================================================= */

.summary-row {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 15px;

    padding: 11px 0;

    color: #77655b;

    font-size: 13px;
}

.summary-row span:last-child {
    color: #4c3427;

    font-weight: 600;
}


/* =========================================================
   DIVIDER
========================================================= */

.summary-box hr {
    border: none;

    border-top: 1px solid #eee4dc;

    margin: 14px 0;
}


/* =========================================================
   TOTAL
========================================================= */

.summary-total {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 15px;

    padding: 8px 0 20px;
}

.summary-total span {
    color: #4a3022;

    font-size: 15px;

    font-weight: 700;
}

.summary-total strong {
    color: #7f4b2d;

    font-size: 23px;

    font-weight: 700;
}


/* =========================================================
   CHECKOUT BUTTON
========================================================= */

.checkout-btn {
    width: 100%;

    min-height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 0 20px;

    border-radius: 10px;

    background: #6f432b;

    color: #fff;

    text-decoration: none;

    font-size: 13px;

    font-weight: 700;

    box-shadow:
        0 8px 20px rgba(111, 67, 43, 0.18);

    transition:
        background 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.checkout-btn:hover {
    background: #4f2e1d;

    color: #fff;

    transform: translateY(-2px);

    box-shadow:
        0 12px 25px rgba(111, 67, 43, 0.25);
}


/* =========================================================
   CONTINUE SHOPPING
========================================================= */

.continue-shopping {
    display: block;

    margin-top: 18px;

    color: #80553d;

    text-align: center;

    text-decoration: none;

    font-size: 12px;

    font-weight: 600;

    transition: color 0.2s ease;
}

.continue-shopping:hover {
    color: #4e2d1e;

    text-decoration: underline;
}


/* =========================================================
   CLEAR CART
========================================================= */

.clear-cart-btn {
    width: 100%;

    min-height: 42px;

    margin-top: 20px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    border: 1px solid #ead6d1;

    border-radius: 9px;

    background: #fffafa;

    color: #a45b50;

    cursor: pointer;

    font-family: 'DM Sans', sans-serif;

    font-size: 11px;

    font-weight: 600;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease;
}

.clear-cart-btn:hover {
    background: #a45b50;

    border-color: #a45b50;

    color: #fff;
}


/* =========================================================
   RESPONSIVE - 1050px
========================================================= */

@media (max-width: 1050px) {

    .cart-page {
        padding-left: 5%;
        padding-right: 5%;
    }

    .cart-layout {
        grid-template-columns: minmax(0, 1fr) 320px;

        gap: 22px;
    }

}


/* =========================================================
   RESPONSIVE - 850px
========================================================= */

@media (max-width: 850px) {

    .cart-layout {
        grid-template-columns: 1fr;
    }

    .summary-box {
        position: static;

        width: 100%;
    }

    .cart-heading {
        margin-bottom: 35px;
    }

}


/* =========================================================
   TABLET / MOBILE
========================================================= */

@media (max-width: 600px) {

    .cart-page {
        padding: 60px 5% 75px;
    }

    .cart-heading h1 {
        font-size: 37px;
    }

    .cart-heading p {
        font-size: 13px;
    }


    .cart-item {
        display: grid;

        grid-template-columns: 82px 1fr;

        gap: 14px;

        padding: 15px;
    }

    .cart-item img {
        width: 82px;
        height: 82px;

        grid-row: span 2;
    }

    .cart-item-info h3 {
        font-size: 15px;
    }


    .quantity-control {
        justify-self: start;

        margin-top: 5px;
    }


    .remove-item,
    .remove-btn {
        position: absolute;

        top: 14px;
        right: 14px;
    }


    .summary-box {
        padding: 24px 20px;

        border-radius: 17px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .cart-page {
        padding-left: 4%;
        padding-right: 4%;
    }

    .cart-heading h1 {
        font-size: 32px;
    }

    .cart-heading p {
        font-size: 12px;
    }


    .cart-item {
        grid-template-columns: 70px 1fr;

        padding: 13px;
    }

    .cart-item img {
        width: 70px;
        height: 70px;
    }


    .cart-item-info h3 {
        font-size: 14px;
    }

    .cart-item-price {
        font-size: 14px;
    }


    .summary-box h2 {
        font-size: 22px;
    }

    .summary-total strong {
        font-size: 20px;
    }

}

/* =========================================================
   COCO PIE - CATEGORIES PAGE
   Modern / Elegant / Responsive
========================================================= */

.category-banner {
    position: relative;

    min-height: 330px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    text-align: center;

    padding: 70px 7%;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 10% 30%,
            rgba(255, 255, 255, 0.65),
            transparent 25%
        ),
        radial-gradient(
            circle at 90% 70%,
            rgba(201, 157, 119, 0.20),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #f5e8da,
            #f9f3ed
        );
}


/* Decorative circles */

.category-banner::before {
    content: "";

    position: absolute;

    width: 210px;
    height: 210px;

    border-radius: 50%;

    right: -70px;
    top: -75px;

    background: rgba(157, 96, 59, 0.08);
}

.category-banner::after {
    content: "";

    position: absolute;

    width: 150px;
    height: 150px;

    border-radius: 50%;

    left: -55px;
    bottom: -55px;

    background: rgba(157, 96, 59, 0.08);
}


/* Banner title */

.category-banner h1 {
    position: relative;
    z-index: 2;

    font-family: 'Playfair Display', serif;

    font-size: clamp(38px, 5vw, 58px);

    line-height: 1.15;

    color: #3d2519;

    margin-bottom: 15px;
}

.category-banner h1::after {
    content: "";

    display: block;

    width: 55px;
    height: 3px;

    margin: 17px auto 0;

    border-radius: 20px;

    background: #9a5f3b;
}

.category-banner p {
    position: relative;
    z-index: 2;

    color: #806f64;

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   CATEGORY PAGE
========================================================= */

.category-page {
    min-height: 700px;

    padding: 85px 7% 105px;

    background:
        radial-gradient(
            circle at 5% 10%,
            rgba(221, 190, 164, 0.14),
            transparent 25%
        ),
        #faf7f3;
}


/* =========================================================
   CATEGORY GRID
========================================================= */

.category-grid {
    max-width: 1250px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 26px;
}


/* =========================================================
   CATEGORY CARD
========================================================= */

.category-card {
    position: relative;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    background: rgba(255, 255, 255, 0.96);

    border: 1px solid #eadfd6;

    border-radius: 22px;

    box-shadow:
        0 10px 32px rgba(66, 39, 24, 0.06);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}

.category-card:hover {
    transform: translateY(-8px);

    border-color: #d8bba5;

    box-shadow:
        0 20px 45px rgba(66, 39, 24, 0.13);
}


/* =========================================================
   CATEGORY IMAGE
========================================================= */

.category-card > img {
    width: 100%;

    height: 245px;

    display: block;

    object-fit: cover;

    background: #f4ebe2;

    transition:
        transform 0.5s ease;
}

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


/* Image overlay */

.category-card::after {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 245px;

    pointer-events: none;

    background:
        linear-gradient(
            to bottom,
            rgba(45, 26, 16, 0.02),
            rgba(45, 26, 16, 0.10)
        );
}


/* =========================================================
   CATEGORY CONTENT
========================================================= */

.category-content {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;

    flex: 1;

    padding: 25px 24px 24px;
}


/* CATEGORY TITLE */

.category-content h3 {
    font-family: 'Playfair Display', serif;

    color: #40281c;

    font-size: 22px;

    line-height: 1.25;

    margin-bottom: 10px;
}


/* DESCRIPTION */

.category-content p {
    color: #806f64;

    font-size: 13px;

    line-height: 1.7;

    margin-bottom: 23px;
}


/* =========================================================
   ACTIONS
========================================================= */

.category-actions {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 9px;

    margin-top: auto;
}


/* Both buttons */

.category-actions .btn {
    min-height: 43px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 6px;

    padding: 0 10px;

    border-radius: 9px;

    font-family: 'DM Sans', sans-serif;

    font-size: 11px;

    font-weight: 700;

    text-decoration: none;

    cursor: pointer;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


/* View Products */

.category-actions a.btn {
    background: #f6eee7;

    border: 1px solid #e4d3c4;

    color: #70462f;
}

.category-actions a.btn:hover {
    background: #70462f;

    border-color: #70462f;

    color: #fff;

    transform: translateY(-2px);
}


/* Add To Cart */

.category-actions button.btn {
    border: 1px solid #70462f;

    background: #70462f;

    color: #fff;
}

.category-actions button.btn:hover {
    background: #4f2e1e;

    border-color: #4f2e1e;

    transform: translateY(-2px);

    box-shadow:
        0 7px 16px rgba(112, 70, 47, 0.20);
}

.category-actions button.btn i {
    font-size: 11px;
}


/* =========================================================
   CARD VARIATION - BEST SELLER
========================================================= */

.category-card[data-name="Buko Pie Best Seller"] {
    border-color: #dec5b0;
}

.category-card[data-name="Buko Pie Best Seller"]::before {
    content: "POPULAR";

    position: absolute;

    z-index: 5;

    top: 16px;
    left: 16px;

    padding: 6px 10px;

    border-radius: 50px;

    background: #7f4b2d;

    color: #fff;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 0.8px;
}


/* =========================================================
   CARD VARIATION - BUNDLE
========================================================= */

.category-card[data-name="Buko Pie Bundle"]::before {
    content: "BEST VALUE";

    position: absolute;

    z-index: 5;

    top: 16px;
    left: 16px;

    padding: 6px 10px;

    border-radius: 50px;

    background: #9a6747;

    color: #fff;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 0.8px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .category-page {
        padding-left: 5%;
        padding-right: 5%;
    }

    .category-grid {
        grid-template-columns: repeat(2, 1fr);

        gap: 22px;
    }

    .category-card > img {
        height: 230px;
    }

    .category-card::after {
        height: 230px;
    }
}


/* =========================================================
   SMALL TABLET
========================================================= */

@media (max-width: 700px) {

    .category-banner {
        min-height: 280px;

        padding: 60px 6%;
    }

    .category-banner h1 {
        font-size: 39px;
    }

    .category-banner p {
        font-size: 13px;
    }


    .category-page {
        padding: 65px 5% 80px;
    }

    .category-grid {
        grid-template-columns: 1fr;

        max-width: 550px;
    }

    .category-card > img {
        height: 260px;
    }

    .category-card::after {
        height: 260px;
    }

    .category-content {
        padding: 24px 22px 22px;
    }

    .category-content h3 {
        font-size: 21px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 480px) {

    .category-banner {
        min-height: 255px;

        padding: 55px 5%;
    }

    .category-banner h1 {
        font-size: 34px;
    }

    .category-banner p {
        font-size: 12px;
    }


    .category-page {
        padding: 55px 4% 70px;
    }

    .category-grid {
        gap: 18px;
    }

    .category-card {
        border-radius: 18px;
    }

    .category-card > img {
        height: 225px;
    }

    .category-card::after {
        height: 225px;
    }

    .category-content {
        padding: 21px 18px 19px;
    }

    .category-content h3 {
        font-size: 20px;
    }

    .category-content p {
        font-size: 12px;

        margin-bottom: 20px;
    }


    .category-actions {
        grid-template-columns: 1fr;
    }

    .category-actions .btn {
        width: 100%;

        min-height: 44px;
    }
}


/* =========================================================
   VERY SMALL DEVICES
========================================================= */

@media (max-width: 360px) {

    .category-banner h1 {
        font-size: 30px;
    }

    .category-card > img {
        height: 205px;
    }

    .category-card::after {
        height: 205px;
    }

}

/* =========================================================
   COCO PIE - CHANGE PASSWORD PAGE
   Modern / Clean / Professional
========================================================= */

.password-page {
    min-height: 720px;

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

    padding: 85px 7% 100px;

    background:
        radial-gradient(
            circle at 8% 15%,
            rgba(214, 178, 146, 0.18),
            transparent 28%
        ),
        radial-gradient(
            circle at 92% 85%,
            rgba(214, 178, 146, 0.13),
            transparent 27%
        ),
        #faf7f3;
}


/* =========================================================
   PASSWORD CARD
========================================================= */

.password-card {
    width: 100%;
    max-width: 570px;

    padding: 42px 45px;

    background: rgba(255, 255, 255, 0.96);

    border: 1px solid #eadfd6;

    border-radius: 24px;

    box-shadow:
        0 18px 50px rgba(64, 38, 23, 0.09);

    position: relative;

    overflow: hidden;
}


/* Decorative top line */

.password-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background:
        linear-gradient(
            90deg,
            #6f432b,
            #b47a53,
            #6f432b
        );
}


/* Decorative circle */

.password-card::after {
    content: "";

    position: absolute;

    width: 150px;
    height: 150px;

    right: -75px;
    top: -75px;

    border-radius: 50%;

    background: rgba(155, 101, 70, 0.06);

    pointer-events: none;
}


/* =========================================================
   HEADER
========================================================= */

.password-header {
    text-align: center;

    margin-bottom: 32px;
}


/* LOCK ICON */

.password-header .icon {
    width: 62px;
    height: 62px;

    margin: 0 auto 18px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 18px;

    background: #f4e8de;

    color: #75482f;

    box-shadow:
        0 8px 20px rgba(112, 68, 43, 0.08);
}

.password-header .icon i {
    font-size: 22px;
}


/* TITLE */

.password-header h1 {
    font-family: 'Playfair Display', serif;

    color: #3e271b;

    font-size: 32px;

    line-height: 1.2;

    margin-bottom: 10px;
}

.password-header p {
    max-width: 400px;

    margin: 0 auto;

    color: #857267;

    font-size: 13px;

    line-height: 1.7;
}


/* =========================================================
   MESSAGE
========================================================= */

.message {
    display: none;

    padding: 11px 14px;

    margin-bottom: 20px;

    border-radius: 9px;

    font-size: 12px;

    line-height: 1.5;
}

.message.success {
    display: block;

    background: #eaf6ed;

    border: 1px solid #cce5d2;

    color: #40734d;
}

.message.error {
    display: block;

    background: #fff1ef;

    border: 1px solid #edd3cf;

    color: #9a5147;
}


/* =========================================================
   FORM
========================================================= */

#changePasswordForm {
    width: 100%;
}


/* =========================================================
   INPUT GROUP
========================================================= */

.input-group {
    margin-bottom: 22px;
}

.input-group label {
    display: block;

    margin-bottom: 8px;

    color: #4d372b;

    font-size: 12px;

    font-weight: 700;
}


/* =========================================================
   PASSWORD INPUT
========================================================= */

.password-input {
    position: relative;

    width: 100%;
}

.password-input input {
    width: 100%;

    height: 48px;

    padding: 0 48px 0 15px;

    border: 1px solid #dfd1c6;

    border-radius: 10px;

    background: #fff;

    color: #402a1e;

    outline: none;

    font-family: 'DM Sans', sans-serif;

    font-size: 13px;

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

.password-input input::placeholder {
    color: #a7988e;
}

.password-input input:hover {
    border-color: #cdb8a8;
}

.password-input input:focus {
    border-color: #936044;

    background: #fff;

    box-shadow:
        0 0 0 4px rgba(147, 96, 68, 0.09);
}


/* =========================================================
   TOGGLE PASSWORD
========================================================= */

.toggle-password {
    position: absolute;

    top: 50%;
    right: 6px;

    width: 37px;
    height: 37px;

    transform: translateY(-50%);

    display: flex;

    align-items: center;
    justify-content: center;

    border: none;

    border-radius: 8px;

    background: transparent;

    color: #907c70;

    cursor: pointer;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}

.toggle-password:hover {
    background: #f4ebe4;

    color: #70442c;
}

.toggle-password i {
    font-size: 13px;
}


/* =========================================================
   PASSWORD STRENGTH
========================================================= */

.password-strength {
    margin-top: 10px;
}

.strength-bar {
    width: 100%;
    height: 6px;

    overflow: hidden;

    border-radius: 20px;

    background: #eee5de;
}

.strength-fill {
    width: 0;
    height: 100%;

    border-radius: inherit;

    background: #d2c4ba;

    transition:
        width 0.3s ease,
        background 0.3s ease;
}

.strength-text {
    display: block;

    margin-top: 7px;

    color: #96857a;

    font-size: 10px;

    font-weight: 600;
}


/* =========================================================
   PASSWORD REQUIREMENTS
========================================================= */

.requirements {
    padding: 17px 18px;

    margin-top: 2px;
    margin-bottom: 27px;

    background: #faf6f1;

    border: 1px solid #ebe0d7;

    border-radius: 13px;
}

.requirements > p {
    margin-bottom: 12px;

    color: #4c3528;

    font-size: 12px;

    font-weight: 700;
}

.requirement-invalid,
.requirement-valid {
    display: flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 8px;

    font-size: 11px;

    line-height: 1.4;

    transition:
        color 0.2s ease;
}

.requirement-invalid:last-child,
.requirement-valid:last-child {
    margin-bottom: 0;
}


/* INVALID */

.requirement-invalid {
    color: #9a8980;
}

.requirement-invalid i {
    color: #c47d72;

    font-size: 12px;
}


/* VALID */

.requirement-valid {
    color: #4e805a;
}

.requirement-valid i {
    color: #559264;

    font-size: 12px;
}


/* =========================================================
   BUTTON GROUP
========================================================= */

.button-group {
    display: grid;

    grid-template-columns: 0.8fr 1.5fr;

    gap: 11px;
}


/* COMMON BUTTON */

.button-group .btn {
    min-height: 47px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 7px;

    padding: 0 15px;

    border-radius: 10px;

    font-family: 'DM Sans', sans-serif;

    font-size: 12px;

    font-weight: 700;

    text-decoration: none;

    cursor: pointer;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


/* CANCEL */

.cancel-btn {
    background: #f7f0eb;

    border: 1px solid #e1d2c6;

    color: #704c38;
}

.cancel-btn:hover {
    background: #eee3da;

    border-color: #d3bdac;

    color: #553522;

    transform: translateY(-2px);
}


/* SAVE */

.save-btn {
    border: 1px solid #70442c;

    background: #70442c;

    color: #fff;

    box-shadow:
        0 7px 18px rgba(112, 68, 44, 0.17);
}

.save-btn:hover {
    background: #4f2e1d;

    border-color: #4f2e1d;

    transform: translateY(-2px);

    box-shadow:
        0 11px 24px rgba(112, 68, 44, 0.24);
}

.save-btn:active,
.cancel-btn:active {
    transform: translateY(0);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 700px) {

    .password-page {
        padding: 65px 5% 80px;
    }

    .password-card {
        max-width: 520px;

        padding: 38px 32px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 520px) {

    .password-page {
        padding: 55px 5% 70px;
    }

    .password-card {
        padding: 35px 22px;

        border-radius: 20px;
    }


    .password-header {
        margin-bottom: 27px;
    }

    .password-header .icon {
        width: 56px;
        height: 56px;

        border-radius: 15px;
    }

    .password-header h1 {
        font-size: 28px;
    }

    .password-header p {
        font-size: 12px;
    }


    .input-group {
        margin-bottom: 19px;
    }


    .requirements {
        padding: 15px;

        margin-bottom: 23px;
    }


    .button-group {
        grid-template-columns: 1fr;
    }

    .button-group .btn {
        width: 100%;
    }

    .save-btn {
        order: -1;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 360px) {

    .password-page {
        padding-left: 4%;
        padding-right: 4%;
    }

    .password-card {
        padding: 30px 17px;
    }

    .password-header h1 {
        font-size: 25px;
    }

    .password-header p {
        font-size: 11px;
    }

    .requirements {
        padding: 13px;
    }

    .requirement-invalid,
    .requirement-valid {
        font-size: 10px;
    }

}

/* =========================================================
   COCO PIE - CHECKOUT PAGE
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');


/* =========================================================
   CHECKOUT PAGE
   ========================================================= */

.checkout-page {
    min-height: 750px;
    padding: 85px 7% 100px;

    background:
        radial-gradient(
            circle at 8% 15%,
            rgba(215, 178, 145, 0.16),
            transparent 28%
        ),
        radial-gradient(
            circle at 92% 80%,
            rgba(215, 178, 145, 0.13),
            transparent 28%
        ),
        #faf7f3;
}


/* =========================================================
   CHECKOUT HEADING
   ========================================================= */

.checkout-heading {
    text-align: center;
    margin-bottom: 50px;
}

.checkout-heading h1 {
    margin: 0 0 10px;

    font-family: 'Playfair Display', serif;
    font-size: 46px;
    font-weight: 700;

    color: #3d2519;
}

.checkout-heading h1::after {
    content: "";
    display: block;

    width: 55px;
    height: 3px;

    margin: 14px auto 0;

    background: #9a5f3b;
    border-radius: 20px;
}

.checkout-heading p {
    margin: 18px 0 0;

    color: #857269;
    font-size: 14px;
}


/* =========================================================
   MAIN CONTAINER
   ========================================================= */

.checkout-container {
    width: 100%;
    max-width: 1180px;

    margin: 0 auto;

    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(320px, 0.8fr);

    gap: 30px;

    align-items: start;
}


/* =========================================================
   CHECKOUT FORM
   ========================================================= */

.checkout-form {
    background: rgba(255, 255, 255, 0.96);

    border: 1px solid #eadfd6;
    border-radius: 22px;

    padding: 38px 40px;

    box-shadow:
        0 15px 45px rgba(61, 37, 25, 0.07);
}

.checkout-form h2 {
    margin: 0 0 25px;

    font-family: 'Playfair Display', serif;
    font-size: 25px;

    color: #42281b;
}

.checkout-form h2:not(:first-child) {
    margin-top: 35px;
    padding-top: 30px;

    border-top: 1px solid #eee3da;
}


/* =========================================================
   FORM LABELS
   ========================================================= */

.checkout-form form > label {
    display: block;

    margin: 0 0 8px;

    color: #4d372b;

    font-size: 13px;
    font-weight: 600;
}


/* =========================================================
   INPUTS
   ========================================================= */

.checkout-form input[type="text"],
.checkout-form input[type="email"],
.checkout-form input[type="tel"],
.checkout-form textarea,
.checkout-form select {
    width: 100%;

    box-sizing: border-box;

    border: 1px solid #dfd1c6;
    border-radius: 10px;

    background: #fff;

    color: #39271e;

    font-family: 'DM Sans', sans-serif;
    font-size: 13px;

    outline: none;

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}


/* INPUT HEIGHT */

.checkout-form input[type="text"],
.checkout-form input[type="email"],
.checkout-form input[type="tel"],
.checkout-form select {
    height: 48px;

    padding: 0 15px;
}


/* TEXTAREA */

.checkout-form textarea {
    min-height: 125px;

    padding: 14px 15px;

    resize: vertical;
    line-height: 1.6;
}


/* PLACEHOLDER */

.checkout-form input::placeholder,
.checkout-form textarea::placeholder {
    color: #aaa099;
}


/* FOCUS */

.checkout-form input:focus,
.checkout-form textarea:focus,
.checkout-form select:focus {
    border-color: #a86b47;

    background: #fffdfb;

    box-shadow:
        0 0 0 4px rgba(168, 107, 71, 0.10);
}


/* =========================================================
   SPACING BETWEEN FORM ELEMENTS
   ========================================================= */

.checkout-form form > input,
.checkout-form form > textarea {
    margin-bottom: 20px;
}

.checkout-form form > select {
    margin-bottom: 5px;
}


/* =========================================================
   SELECT
   ========================================================= */

.checkout-form select {
    appearance: none;

    cursor: pointer;

    padding-right: 42px;

    background-image:
        linear-gradient(45deg, transparent 50%, #8a6048 50%),
        linear-gradient(135deg, #8a6048 50%, transparent 50%);

    background-position:
        calc(100% - 18px) 20px,
        calc(100% - 13px) 20px;

    background-size:
        5px 5px,
        5px 5px;

    background-repeat: no-repeat;
}


/* =========================================================
   PAYMENT METHOD
   ========================================================= */

.payment-option {
    margin-bottom: 10px;
}

.payment-option label {
    min-height: 52px;

    display: flex;
    align-items: center;
    gap: 12px;

    padding: 0 16px;

    border: 1px solid #e7dcd3;
    border-radius: 11px;

    background: #fcfaf8;

    color: #594338;

    font-size: 13px;
    font-weight: 500;

    cursor: pointer;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.payment-option label:hover {
    background: #f8f0e9;

    border-color: #d9bda8;

    transform: translateY(-1px);

    box-shadow:
        0 5px 15px rgba(70, 40, 24, 0.05);
}


/* RADIO */

.payment-option input[type="radio"] {
    width: 17px;
    height: 17px;

    margin: 0;

    accent-color: #805034;

    cursor: pointer;
}


/* =========================================================
   PLACE ORDER BUTTON
   ========================================================= */

.place-order-btn {
    width: 100%;

    min-height: 52px;

    margin-top: 28px;

    border: none;
    border-radius: 11px;

    background: #704329;
    color: #ffffff;

    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 700;

    cursor: pointer;

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

    letter-spacing: 0.2px;

    box-shadow:
        0 8px 20px rgba(112, 67, 41, 0.18);

    transition:
        background 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.place-order-btn:hover {
    background: #4f2d1c;

    transform: translateY(-2px);

    box-shadow:
        0 12px 25px rgba(112, 67, 41, 0.25);
}

.place-order-btn:active {
    transform: translateY(0);
}


/* =========================================================
   ORDER SUMMARY
   ========================================================= */

.order-summary {
    position: sticky;
    top: 95px;

    background: rgba(255, 255, 255, 0.97);

    border: 1px solid #eadfd6;
    border-radius: 22px;

    padding: 32px 30px;

    box-shadow:
        0 15px 45px rgba(61, 37, 25, 0.07);
}

.order-summary h2 {
    margin: 0 0 25px;

    font-family: 'Playfair Display', serif;
    font-size: 25px;

    color: #42281b;
}


/* =========================================================
   CHECKOUT PRODUCTS
   ========================================================= */

.checkout-product {
    display: grid;

    grid-template-columns: 68px minmax(0, 1fr) auto;

    align-items: center;

    gap: 14px;

    padding: 15px 0;

    border-bottom: 1px solid #f0e7df;
}

.checkout-product:first-of-type {
    padding-top: 0;
}


/* PRODUCT IMAGE */

.checkout-product img {
    width: 68px;
    height: 68px;

    object-fit: cover;

    border-radius: 12px;

    background: #f3e7db;

    border: 1px solid #eadcd0;
}


/* PRODUCT NAME */

.checkout-product h3 {
    margin: 0 0 5px;

    color: #4a2d20;

    font-size: 13px;
    font-weight: 700;

    line-height: 1.4;
}


/* PRODUCT DETAILS */

.checkout-product p {
    margin: 0;

    color: #8a786d;

    font-size: 11px;
    line-height: 1.5;
}


/* PRODUCT PRICE */

.checkout-product strong {
    color: #704329;

    font-size: 13px;
    font-weight: 700;

    white-space: nowrap;
}


/* =========================================================
   SUMMARY HR
   ========================================================= */

.order-summary hr {
    height: 1px;

    border: 0;

    background: #eee4dc;

    margin: 22px 0;
}


/* =========================================================
   SUMMARY ROWS
   ========================================================= */

.summary-item {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 15px;

    color: #79685e;

    font-size: 13px;
}

.summary-item span:last-child {
    color: #4e382c;

    font-weight: 600;

    white-space: nowrap;
}


/* =========================================================
   TOTAL
   ========================================================= */

.summary-item.total {
    margin-bottom: 0;

    padding-top: 3px;

    color: #382319;

    font-size: 16px;
}

.summary-item.total strong:last-child {
    color: #704329;

    font-size: 21px;
}


/* =========================================================
   HEADER / GLOBAL COMPATIBILITY
   ========================================================= */

header {
    font-family: 'DM Sans', sans-serif;
}

.checkout-page,
.checkout-page button,
.checkout-page input,
.checkout-page textarea,
.checkout-page select {
    font-family: 'DM Sans', sans-serif;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

    .checkout-page {
        padding-left: 5%;
        padding-right: 5%;
    }

    .checkout-container {
        grid-template-columns: minmax(0, 1.35fr) minmax(290px, 0.8fr);

        gap: 22px;
    }

    .checkout-form {
        padding: 32px;
    }

    .order-summary {
        padding: 28px 24px;
    }

}


/* =========================================================
   SMALL TABLET
   ========================================================= */

@media (max-width: 850px) {

    .checkout-page {
        padding-top: 65px;
    }

    .checkout-heading {
        margin-bottom: 35px;
    }

    .checkout-heading h1 {
        font-size: 40px;
    }

    .checkout-container {
        grid-template-columns: 1fr;
    }

    .order-summary {
        position: static;

        order: -1;
    }

    .checkout-form {
        padding: 32px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .checkout-page {
        padding: 55px 5% 75px;
    }

    .checkout-heading {
        margin-bottom: 30px;
    }

    .checkout-heading h1 {
        font-size: 34px;
    }

    .checkout-heading p {
        font-size: 13px;
    }

    .checkout-form {
        padding: 25px 20px;

        border-radius: 17px;
    }

    .checkout-form h2,
    .order-summary h2 {
        font-size: 22px;
    }

    .order-summary {
        padding: 25px 20px;

        border-radius: 17px;
    }

    .checkout-product {
        grid-template-columns: 58px minmax(0, 1fr) auto;

        gap: 11px;
    }

    .checkout-product img {
        width: 58px;
        height: 58px;
    }

    .checkout-product h3 {
        font-size: 12px;
    }

    .checkout-product p {
        font-size: 10px;
    }

    .checkout-product strong {
        font-size: 12px;
    }

    .summary-item {
        font-size: 12px;
    }

    .summary-item.total {
        font-size: 15px;
    }

    .summary-item.total strong:last-child {
        font-size: 19px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 400px) {

    .checkout-page {
        padding-left: 4%;
        padding-right: 4%;
    }

    .checkout-heading h1 {
        font-size: 30px;
    }

    .checkout-form {
        padding: 22px 16px;
    }

    .order-summary {
        padding: 22px 16px;
    }

    .checkout-product {
        grid-template-columns: 52px minmax(0, 1fr);
    }

    .checkout-product img {
        width: 52px;
        height: 52px;
    }

    .checkout-product strong {
        grid-column: 2;

        margin-top: -7px;
    }

    .payment-option label {
        min-height: 48px;

        padding: 0 13px;

        font-size: 12px;
    }

    .place-order-btn {
        min-height: 49px;
    }

}

/* =========================================================
   COCO PIE - CONTACT PAGE
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');


/* =========================================================
   PAGE BANNER
   ========================================================= */

.page-banner {
    position: relative;

    min-height: 300px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 70px 7%;

    text-align: center;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 12% 20%,
            rgba(255, 255, 255, 0.65),
            transparent 25%
        ),
        radial-gradient(
            circle at 90% 75%,
            rgba(255, 255, 255, 0.45),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #f5e5d3,
            #ead2bb
        );
}


/* DECORATIVE CIRCLES */

.page-banner::before {
    content: "";

    position: absolute;

    width: 230px;
    height: 230px;

    top: -110px;
    left: -70px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.25);
}

.page-banner::after {
    content: "";

    position: absolute;

    width: 280px;
    height: 280px;

    right: -100px;
    bottom: -150px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.22);
}


.page-banner h1 {
    position: relative;
    z-index: 2;

    margin: 0;

    font-family: 'Playfair Display', serif;

    font-size: 48px;
    font-weight: 700;

    color: #3d2519;
}


.page-banner h1::after {
    content: "";

    display: block;

    width: 55px;
    height: 3px;

    margin: 15px auto 0;

    border-radius: 20px;

    background: #925a39;
}


.page-banner p {
    position: relative;
    z-index: 2;

    margin: 17px 0 0;

    color: #725d4f;

    font-size: 14px;
}


/* =========================================================
   CONTACT SECTION
   ========================================================= */

.contact-section {
    width: 100%;
    max-width: 1180px;

    margin: 0 auto;

    padding: 90px 7%;

    display: grid;

    grid-template-columns: 0.9fr 1.1fr;

    gap: 35px;

    align-items: stretch;
}


/* =========================================================
   CONTACT INFORMATION
   ========================================================= */

.contact-info {
    padding: 38px 35px;

    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            #fffdfb,
            #f8f0e9
        );

    border: 1px solid #eadfd6;

    box-shadow:
        0 15px 40px rgba(63, 37, 23, 0.07);
}


.contact-info h2,
.contact-form h2,
.map-section h2,
.social-section h2 {
    margin: 0 0 28px;

    font-family: 'Playfair Display', serif;

    color: #42281b;

    font-size: 27px;
}


.contact-info h2::after,
.contact-form h2::after {
    content: "";

    display: block;

    width: 38px;
    height: 3px;

    margin-top: 10px;

    border-radius: 20px;

    background: #9a5f3b;
}


/* =========================================================
   INFO BOX
   ========================================================= */

.info-box {
    display: flex;

    align-items: flex-start;

    gap: 17px;

    padding: 19px 0;

    border-bottom: 1px solid #eadfd6;
}


.info-box:last-child {
    border-bottom: none;

    padding-bottom: 0;
}


.info-box > i {
    width: 44px;
    height: 44px;

    flex-shrink: 0;

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

    border-radius: 12px;

    background: #f0dfd0;

    color: #805034;

    font-size: 16px;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}


.info-box:hover > i {
    background: #805034;

    color: #ffffff;

    transform: translateY(-2px);
}


.info-box h3 {
    margin: 1px 0 5px;

    color: #4b3023;

    font-size: 14px;

    font-weight: 700;
}


.info-box p {
    margin: 0;

    color: #7c6b61;

    font-size: 12px;

    line-height: 1.7;
}


/* ===== Contact Us hero: kapareho ng Categories ===== */
.contact-hero,
.contact-banner,
.page-banner,
.contact-header {
    position: relative;
    width: 100%;
    padding: 100px 7% 110px;
    text-align: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 15% 25%, rgba(255, 255, 255, 0.85), transparent 40%),
        linear-gradient(135deg, #fbf3ea 0%, #f3e2d1 55%, #ecd6c1 100%) !important;
}

/* bilog sa kanang taas */
.contact-hero::before,
.contact-banner::before,
.page-banner::before,
.contact-header::before {
    content: "";
    position: absolute;
    top: -90px;
    right: -70px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: rgba(154, 95, 59, 0.10);
    pointer-events: none;
}

/* bilog sa kaliwang baba */
.contact-hero::after,
.contact-banner::after,
.page-banner::after,
.contact-header::after {
    content: "";
    position: absolute;
    bottom: -80px;
    left: -60px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(154, 95, 59, 0.12);
    pointer-events: none;
}

/* para nasa ibabaw ng bilog ang text */
.contact-hero > *,
.contact-banner > *,
.page-banner > *,
.contact-header > * {
    position: relative;
    z-index: 1;
}

/* background ng buong page sa ilalim ng hero */
body {
    background: #fbf6f1;
}



/* =========================================================
   CONTACT FORM
   ========================================================= */

.contact-form {
    padding: 38px 40px;

    border-radius: 22px;

    background: rgba(255, 255, 255, 0.97);

    border: 1px solid #eadfd6;

    box-shadow:
        0 15px 40px rgba(63, 37, 23, 0.07);
}


.contact-form form {
    display: flex;

    flex-direction: column;

    gap: 15px;
}


.contact-form input,
.contact-form textarea {
    width: 100%;

    box-sizing: border-box;

    border: 1px solid #dfd1c6;

    border-radius: 10px;

    background: #fff;

    color: #3d2a20;

    font-family: 'DM Sans', sans-serif;

    font-size: 13px;

    outline: none;

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}


.contact-form input {
    height: 50px;

    padding: 0 15px;
}


.contact-form textarea {
    min-height: 145px;

    padding: 14px 15px;

    resize: vertical;

    line-height: 1.6;
}


.contact-form input::placeholder,
.contact-form textarea::placeholder {
    color: #aaa099;
}


.contact-form input:focus,
.contact-form textarea:focus {
    border-color: #a86b47;

    background: #fffdfb;

    box-shadow:
        0 0 0 4px rgba(168, 107, 71, 0.10);
}


/* =========================================================
   SEND BUTTON
   ========================================================= */

.contact-form .btn {
    width: 100%;

    min-height: 50px;

    margin-top: 5px;

    border: none;

    border-radius: 10px;

    background: #704329;

    color: #ffffff;

    font-family: 'DM Sans', sans-serif;

    font-size: 13px;

    font-weight: 700;

    cursor: pointer;

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

    transition:
        background 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


.contact-form .btn:hover {
    background: #4f2d1c;

    transform: translateY(-2px);

    box-shadow:
        0 10px 22px rgba(112, 67, 41, 0.20);
}


.contact-form .btn:active {
    transform: translateY(0);
}


/* =========================================================
   MAP SECTION
   ========================================================= */

.map-section {
    padding: 0 7% 90px;

    text-align: center;

    background: #faf7f3;
}


.map-section h2 {
    margin-bottom: 28px;

    font-size: 30px;
}


.map-section h2::after {
    content: "";

    display: block;

    width: 45px;
    height: 3px;

    margin: 11px auto 0;

    border-radius: 20px;

    background: #9a5f3b;
}


.map {
    width: 100%;
    max-width: 1180px;

    height: 390px;

    margin: 0 auto;

    overflow: hidden;

    border-radius: 20px;

    border: 1px solid #e7dbd1;

    background: #eee4db;

    box-shadow:
        0 15px 40px rgba(63, 37, 23, 0.08);
}


.map iframe {
    width: 100%;
    height: 100%;

    border: 0;

    display: block;

    filter: saturate(0.85);
}


/* =========================================================
   SOCIAL SECTION
   ========================================================= */

.social-section {
    padding: 80px 7% 90px;

    text-align: center;

    background:
        radial-gradient(
            circle at 15% 50%,
            rgba(224, 194, 166, 0.15),
            transparent 25%
        ),
        #f6eee7;
}


.social-section h2 {
    margin-bottom: 10px;

    font-size: 31px;
}


.social-section h2::after {
    content: "";

    display: block;

    width: 42px;
    height: 3px;

    margin: 11px auto 0;

    border-radius: 20px;

    background: #9a5f3b;
}


.social-section p {
    margin: 18px auto 27px;

    color: #7d6c61;

    font-size: 13px;

    line-height: 1.7;
}


/* =========================================================
   SOCIAL ICONS
   ========================================================= */

.social-icons {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 12px;
}


.social-icons a {
    width: 46px;
    height: 46px;

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

    border-radius: 50%;

    background: #ffffff;

    border: 1px solid #e4d6cb;

    color: #704329;

    font-size: 17px;

    text-decoration: none;

    box-shadow:
        0 6px 18px rgba(63, 37, 23, 0.06);

    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease,
        border-color 0.25s ease;
}


.social-icons a:hover {
    background: #704329;

    border-color: #704329;

    color: #ffffff;

    transform: translateY(-4px);

    box-shadow:
        0 10px 22px rgba(112, 67, 41, 0.20);
}


/* =========================================================
   RESPONSIVE - TABLET
   ========================================================= */

@media (max-width: 1000px) {

    .contact-section {
        padding-left: 5%;
        padding-right: 5%;

        grid-template-columns: 1fr;

        max-width: 850px;
    }

    .contact-info,
    .contact-form {
        padding: 35px;
    }

    .map-section {
        padding-left: 5%;
        padding-right: 5%;
    }

}


/* =========================================================
   RESPONSIVE - SMALL TABLET
   ========================================================= */

@media (max-width: 700px) {

    .page-banner {
        min-height: 250px;

        padding: 60px 5%;
    }

    .page-banner h1 {
        font-size: 39px;
    }

    .contact-section {
        padding: 65px 5% 70px;

        gap: 22px;
    }

    .contact-info,
    .contact-form {
        padding: 28px 23px;

        border-radius: 18px;
    }

    .contact-info h2,
    .contact-form h2 {
        font-size: 24px;
    }

    .map-section {
        padding-bottom: 70px;
    }

    .map-section h2 {
        font-size: 27px;
    }

    .map {
        height: 330px;

        border-radius: 16px;
    }

    .social-section {
        padding: 65px 5% 70px;
    }

}


/* =========================================================
   RESPONSIVE - MOBILE
   ========================================================= */

@media (max-width: 500px) {

    .page-banner {
        min-height: 220px;

        padding: 50px 5%;
    }

    .page-banner h1 {
        font-size: 33px;
    }

    .page-banner p {
        font-size: 12px;
    }


    .contact-section {
        padding: 50px 5% 60px;
    }


    .contact-info,
    .contact-form {
        padding: 24px 18px;

        border-radius: 16px;
    }


    .contact-info h2,
    .contact-form h2 {
        font-size: 22px;

        margin-bottom: 22px;
    }


    .info-box {
        gap: 13px;

        padding: 16px 0;
    }


    .info-box > i {
        width: 40px;
        height: 40px;

        border-radius: 10px;

        font-size: 14px;
    }


    .info-box h3 {
        font-size: 13px;
    }


    .info-box p {
        font-size: 11px;
    }


    .contact-form form {
        gap: 12px;
    }


    .contact-form input {
        height: 47px;

        font-size: 12px;
    }


    .contact-form textarea {
        min-height: 125px;

        font-size: 12px;
    }


    .contact-form .btn {
        min-height: 48px;

        font-size: 12px;
    }


    .map-section {
        padding-left: 5%;
        padding-right: 5%;
    }


    .map-section h2 {
        font-size: 24px;
    }


    .map {
        height: 280px;

        border-radius: 14px;
    }


    .social-section {
        padding: 55px 5% 65px;
    }


    .social-section h2 {
        font-size: 26px;
    }


    .social-section p {
        font-size: 12px;
    }


    .social-icons {
        gap: 10px;
    }


    .social-icons a {
        width: 43px;
        height: 43px;

        font-size: 16px;
    }

}


/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media (max-width: 360px) {

    .page-banner h1 {
        font-size: 29px;
    }

    .contact-info,
    .contact-form {
        padding: 21px 15px;
    }

    .info-box > i {
        width: 37px;
        height: 37px;
    }

    .map {
        height: 240px;
    }

}

/* =========================================================
   BUKOPIE ADMIN - CUSTOMERS
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');


/* =========================================================
   ROOT VARIABLES
   ========================================================= */

:root {
    --brown-dark: #3b2418;
    --brown: #6f432b;
    --brown-light: #9a6747;

    --cream: #f8f3ed;
    --cream-dark: #eee2d5;

    --white: #ffffff;

    --text: #35251d;
    --muted: #8a786d;

    --border: #eadfd5;

    --green: #4e805a;
    --green-bg: #eaf4ec;

    --yellow: #9a6b27;
    --yellow-bg: #fbf1dc;

    --red: #a9574d;
    --red-bg: #fbeceb;

    --shadow: 0 10px 30px rgba(65, 39, 24, 0.07);
}


/* =========================================================
   GENERAL
   ========================================================= */

* {
    box-sizing: border-box;
}

body {
    margin: 0;

    font-family: 'DM Sans', sans-serif;

    background:
        radial-gradient(
            circle at 85% 10%,
            rgba(220, 193, 169, 0.16),
            transparent 25%
        ),
        var(--cream);

    color: var(--text);
}


/* =========================================================
   SIDEBAR
   ========================================================= */

.sidebar {
    position: fixed;

    top: 0;
    left: 0;

    width: 250px;
    height: 100vh;

    padding: 28px 17px;

    background:
        linear-gradient(
            180deg,
            #3b2418,
            #2d1b13
        );

    box-shadow:
        8px 0 30px rgba(40, 22, 13, 0.10);

    z-index: 1000;
}


/* BRAND */

.admin-brand {
    display: flex;

    align-items: center;

    gap: 12px;

    padding: 4px 12px 30px;

    color: #ffffff;
}


.admin-brand i {
    width: 42px;
    height: 42px;

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

    border-radius: 12px;

    background: rgba(255, 255, 255, 0.10);

    color: #f0d4b8;

    font-size: 19px;
}


.admin-brand h2 {
    margin: 0;

    font-family: 'Playfair Display', serif;

    font-size: 24px;

    font-weight: 700;

    letter-spacing: 0.2px;
}


/* SIDEBAR LIST */

.sidebar ul {
    list-style: none;

    padding: 0;
    margin: 0;
}


.sidebar ul li {
    margin-bottom: 6px;
}


.sidebar ul li a {
    min-height: 48px;

    display: flex;

    align-items: center;

    gap: 13px;

    padding: 0 14px;

    border-radius: 10px;

    color: #d7c9bf;

    text-decoration: none;

    font-size: 13px;

    font-weight: 500;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}


.sidebar ul li a i {
    width: 20px;

    text-align: center;

    font-size: 14px;
}


.sidebar ul li a:hover {
    background: rgba(255, 255, 255, 0.08);

    color: #ffffff;

    transform: translateX(3px);
}


/* ACTIVE */

.sidebar ul li.active a {
    background:
        linear-gradient(
            135deg,
            #8a5535,
            #704329
        );

    color: #ffffff;

    box-shadow:
        0 7px 18px rgba(0, 0, 0, 0.16);
}


.sidebar ul li.active a i {
    color: #f4ddc7;
}


/* LOGOUT */

.sidebar ul li:last-child {
    margin-top: 25px;

    padding-top: 18px;

    border-top: 1px solid rgba(255, 255, 255, 0.08);
}


.sidebar ul li:last-child a {
    color: #cdbab0;
}


.sidebar ul li:last-child a:hover {
    background: rgba(169, 87, 77, 0.15);

    color: #f0aaa3;
}


/* =========================================================
   MAIN DASHBOARD
   ========================================================= */

.dashboard {
    min-height: 100vh;

    margin-left: 250px;

    padding: 38px 42px 60px;
}


/* =========================================================
   DASHBOARD HEADER
   ========================================================= */

.dashboard-header {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 25px;

    margin-bottom: 35px;
}


.dashboard-header h1 {
    margin: 0 0 7px;

    font-family: 'Playfair Display', serif;

    font-size: 38px;

    color: #3d2519;
}


.dashboard-header p {
    margin: 0;

    color: var(--muted);

    font-size: 13px;
}


/* ADMIN PROFILE */

.admin-profile {
    display: flex;

    align-items: center;

    gap: 10px;

    padding: 9px 15px;

    border: 1px solid var(--border);

    border-radius: 50px;

    background: rgba(255, 255, 255, 0.80);

    color: #5d473b;

    font-size: 12px;

    font-weight: 600;

    box-shadow: 0 5px 18px rgba(65, 39, 24, 0.04);
}


.admin-profile i {
    color: #805034;

    font-size: 23px;
}


/* =========================================================
   CUSTOMER STATS
   ========================================================= */

.stats {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 18px;

    margin-bottom: 28px;
}


.stat-card {
    position: relative;

    min-height: 115px;

    display: flex;

    align-items: center;

    gap: 16px;

    padding: 23px;

    background: rgba(255, 255, 255, 0.94);

    border: 1px solid var(--border);

    border-radius: 17px;

    box-shadow: var(--shadow);

    overflow: hidden;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}


.stat-card::after {
    content: "";

    position: absolute;

    width: 80px;
    height: 80px;

    right: -30px;
    bottom: -35px;

    border-radius: 50%;

    background: rgba(215, 183, 157, 0.13);
}


.stat-card:hover {
    transform: translateY(-4px);

    border-color: #d9c3b1;

    box-shadow:
        0 15px 35px rgba(65, 39, 24, 0.10);
}


.stat-card > i {
    width: 48px;
    height: 48px;

    flex-shrink: 0;

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

    border-radius: 13px;

    background: #f1e2d5;

    color: #805034;

    font-size: 18px;
}


.stat-card h3 {
    margin: 0 0 5px;

    color: #3d271d;

    font-size: 23px;

    font-weight: 700;
}


.stat-card p {
    margin: 0;

    color: #8a786d;

    font-size: 11px;

    font-weight: 500;
}


/* =========================================================
   CUSTOMER TOOLS
   ========================================================= */

.customer-tools {
    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 20px;
}


.search-box {
    width: 100%;
    max-width: 470px;

    display: flex;

    align-items: center;

    gap: 10px;
}


.search-box input {
    flex: 1;

    height: 46px;

    min-width: 0;

    padding: 0 15px;

    border: 1px solid #dfd3c9;

    border-radius: 10px;

    outline: none;

    background: #ffffff;

    color: #3d2b21;

    font-family: 'DM Sans', sans-serif;

    font-size: 12px;

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}


.search-box input::placeholder {
    color: #a09690;
}


.search-box input:focus {
    border-color: #a86b47;

    box-shadow:
        0 0 0 4px rgba(168, 107, 71, 0.09);
}


.search-box button {
    height: 46px;

    padding: 0 18px;

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

    gap: 8px;

    border: none;

    border-radius: 10px;

    background: #704329;

    color: #ffffff;

    font-family: 'DM Sans', sans-serif;

    font-size: 12px;

    font-weight: 600;

    cursor: pointer;

    white-space: nowrap;

    transition:
        background 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


.search-box button:hover {
    background: #4f2d1c;

    transform: translateY(-2px);

    box-shadow:
        0 8px 18px rgba(112, 67, 41, 0.18);
}


.search-box button i {
    font-size: 12px;
}


/* =========================================================
   CUSTOMER TABLE CARD
   ========================================================= */

.recent-orders {
    width: 100%;

    background: rgba(255, 255, 255, 0.96);

    border: 1px solid var(--border);

    border-radius: 20px;

    padding: 28px;

    box-shadow: var(--shadow);

    overflow-x: auto;
}


.recent-orders h2 {
    margin: 0 0 24px;

    font-family: 'Playfair Display', serif;

    font-size: 23px;

    color: #42281b;
}


/* =========================================================
   TABLE
   ========================================================= */

.recent-orders table {
    width: 100%;

    min-width: 950px;

    border-collapse: collapse;
}


.recent-orders thead {
    background: #f7f0e9;
}


.recent-orders th {
    padding: 14px 13px;

    color: #735848;

    font-size: 10px;

    font-weight: 700;

    text-align: left;

    text-transform: uppercase;

    letter-spacing: 0.6px;

    border-bottom: 1px solid #e9ddd3;

    white-space: nowrap;
}


.recent-orders td {
    padding: 17px 13px;

    color: #66544a;

    font-size: 11px;

    border-bottom: 1px solid #f0e8e2;

    vertical-align: middle;

    white-space: nowrap;
}


.recent-orders tbody tr {
    transition:
        background 0.2s ease;
}


.recent-orders tbody tr:hover {
    background: #fdf9f5;
}


.recent-orders tbody tr:last-child td {
    border-bottom: none;
}


/* CUSTOMER NAME */

.recent-orders td:nth-child(2) {
    color: #3f2a20;

    font-weight: 700;
}


/* EMAIL */

.recent-orders td:nth-child(3) {
    color: #806f65;
}


/* MONEY */

.recent-orders td:nth-child(6) {
    color: #704329;

    font-weight: 700;
}


/* =========================================================
   STATUS
   ========================================================= */

.complete,
.pending {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 67px;

    padding: 6px 10px;

    border-radius: 50px;

    font-size: 9px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 0.4px;
}


/* ACTIVE */

.complete {
    background: var(--green-bg);

    color: var(--green);
}


/* INACTIVE */

.pending {
    background: var(--yellow-bg);

    color: var(--yellow);
}


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

.view-btn,
.delete-btn {
    width: 34px;
    height: 34px;

    margin-right: 5px;

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

    border-radius: 8px;

    font-size: 12px;

    cursor: pointer;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}


/* VIEW */

.view-btn {
    border: 1px solid #ddcec1;

    background: #f8f1eb;

    color: #704329;
}


.view-btn:hover {
    background: #704329;

    border-color: #704329;

    color: #ffffff;

    transform: translateY(-2px);
}


/* DELETE */

.delete-btn {
    border: 1px solid #ead5d1;

    background: #fff7f6;

    color: #a9574d;
}


.delete-btn:hover {
    background: #a9574d;

    border-color: #a9574d;

    color: #ffffff;

    transform: translateY(-2px);
}


/* =========================================================
   SCROLLBAR
   ========================================================= */

.recent-orders::-webkit-scrollbar {
    height: 7px;
}


.recent-orders::-webkit-scrollbar-track {
    background: #f1e9e2;

    border-radius: 20px;
}


.recent-orders::-webkit-scrollbar-thumb {
    background: #c8ad99;

    border-radius: 20px;
}


.recent-orders::-webkit-scrollbar-thumb:hover {
    background: #9a6747;
}


/* =========================================================
   LARGE TABLET
   ========================================================= */

@media (max-width: 1200px) {

    .dashboard {
        padding: 32px 28px 50px;
    }

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

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .sidebar {
        width: 215px;
    }

    .dashboard {
        margin-left: 215px;

        padding: 30px 22px 45px;
    }

    .dashboard-header h1 {
        font-size: 33px;
    }

    .admin-profile {
        padding: 8px 12px;
    }

}


/* =========================================================
   SMALL TABLET / MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .sidebar {
        position: relative;

        width: 100%;
        height: auto;

        padding: 16px;

        box-shadow: none;
    }


    .admin-brand {
        padding: 4px 8px 17px;
    }


    .admin-brand h2 {
        font-size: 21px;
    }


    .sidebar ul {
        display: grid;

        grid-template-columns:
            repeat(3, 1fr);

        gap: 6px;
    }


    .sidebar ul li {
        margin: 0;
    }


    .sidebar ul li:last-child {
        margin-top: 0;

        padding-top: 0;

        border-top: none;
    }


    .sidebar ul li a {
        min-height: 43px;

        padding: 0 7px;

        justify-content: center;

        gap: 6px;

        font-size: 10px;

        text-align: center;
    }


    .sidebar ul li a i {
        width: auto;

        font-size: 12px;
    }


    .dashboard {
        margin-left: 0;

        padding: 25px 16px 45px;
    }


    .dashboard-header {
        align-items: flex-start;

        flex-direction: column;

        gap: 15px;

        margin-bottom: 25px;
    }


    .dashboard-header h1 {
        font-size: 30px;
    }


    .admin-profile {
        align-self: flex-start;
    }


    .stats {
        grid-template-columns: 1fr;

        gap: 12px;
    }


    .stat-card {
        min-height: 95px;

        padding: 18px;
    }


    .customer-tools {
        margin-bottom: 15px;
    }


    .search-box {
        max-width: none;
    }


    .recent-orders {
        padding: 20px;

        border-radius: 16px;
    }


    .recent-orders h2 {
        font-size: 21px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .sidebar {
        padding: 14px 10px;
    }


    .admin-brand {
        padding-left: 5px;
    }


    .sidebar ul {
        grid-template-columns:
            repeat(2, 1fr);
    }


    .sidebar ul li a {
        justify-content: flex-start;

        padding: 0 11px;

        font-size: 10px;
    }


    .dashboard {
        padding: 22px 12px 40px;
    }


    .dashboard-header h1 {
        font-size: 27px;
    }


    .dashboard-header p {
        font-size: 11px;
    }


    .search-box {
        flex-direction: column;

        align-items: stretch;
    }


    .search-box input,
    .search-box button {
        width: 100%;
    }


    .search-box button {
        min-height: 44px;
    }


    .recent-orders {
        padding: 17px;

        border-radius: 14px;
    }


    .recent-orders h2 {
        font-size: 19px;

        margin-bottom: 18px;
    }


    .recent-orders table {
        min-width: 900px;
    }

}


/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media (max-width: 360px) {

    .sidebar ul li a {
        font-size: 9px;

        padding: 0 7px;
    }


    .admin-brand h2 {
        font-size: 19px;
    }


    .dashboard {
        padding-left: 10px;
        padding-right: 10px;
    }


    .stat-card h3 {
        font-size: 20px;
    }


    .recent-orders {
        padding: 14px;
    }

}

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

:root {
    --brown-dark: #3b2418;
    --brown: #6f432b;
    --brown-light: #9a6747;

    --cream: #f8f3ed;
    --cream-dark: #eee2d5;
    --white: #ffffff;

    --text: #35251d;
    --muted: #8a786d;
    --border: #eadfd5;

    --green: #4e805a;
    --green-bg: #eaf4ec;

    --yellow: #9a6b27;
    --yellow-bg: #fbf1dc;

    --red: #a9574d;
    --red-bg: #fbeceb;

    --shadow: 0 6px 20px rgba(65, 39, 24, 0.06);
}

/* =========================
   RESET
========================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'DM Sans', sans-serif;
    background: var(--cream);
    color: var(--text);
    font-size: 14px;
}

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

button,
input {
    font-family: inherit;
}

/* =========================
   SIDEBAR
========================= */

.sidebar {
    position: fixed;
    left: 0;
    top: 0;

    width: 220px;
    height: 100vh;

    background: var(--brown-dark);
    color: white;

    padding: 20px 14px;

    z-index: 1000;
}

/* BRAND */

.admin-brand {
    display: flex;
    align-items: center;
    gap: 10px;

    padding: 4px 10px 24px;

    font-family: 'Playfair Display', serif;
    font-size: 21px;
    font-weight: 700;
}

.admin-brand i {
    width: 34px;
    height: 34px;

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

    background: rgba(255,255,255,0.1);
    border-radius: 9px;

    font-size: 16px;
}

/* MENU */

.sidebar nav {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.sidebar nav a {
    display: flex;
    align-items: center;
    gap: 11px;

    padding: 10px 12px;

    border-radius: 8px;

    color: #d9cbc1;
    font-size: 13px;
    font-weight: 500;

    transition: 0.2s ease;
}

.sidebar nav a i {
    width: 18px;
    text-align: center;
    font-size: 14px;
}

.sidebar nav a:hover {
    background: rgba(255,255,255,0.08);
    color: white;
}

.sidebar nav a.active {
    background: var(--brown);
    color: white;
}

/* =========================
   MAIN DASHBOARD
========================= */

.dashboard {
    margin-left: 220px;
    min-height: 100vh;

    padding: 25px 30px;
}

/* =========================
   HEADER
========================= */

.dashboard-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 22px;
}

.dashboard-header h1 {
    font-family: 'Playfair Display', serif;

    font-size: 27px;
    line-height: 1.2;

    color: var(--brown-dark);

    margin-bottom: 4px;
}

.dashboard-header p {
    color: var(--muted);
    font-size: 13px;
}

/* ADMIN PROFILE */

.admin-profile {
    display: flex;
    align-items: center;
    gap: 9px;

    background: white;

    padding: 7px 13px;

    border-radius: 20px;

    box-shadow: var(--shadow);

    font-size: 12px;
    font-weight: 600;
}

.admin-profile i {
    color: var(--brown);
    font-size: 15px;
}

/* =========================
   STAT CARDS
========================= */

.stats {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 15px;

    margin-bottom: 20px;
}

.stat-card {
    background: white;

    border: 1px solid var(--border);
    border-radius: 12px;

    padding: 16px 17px;

    box-shadow: var(--shadow);

    min-height: 105px;

    transition: 0.2s ease;
}

.stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 9px 25px rgba(65,39,24,0.09);
}

.stat-card h3 {
    color: var(--muted);

    font-size: 11px;
    font-weight: 600;

    text-transform: uppercase;
    letter-spacing: 0.4px;

    margin-bottom: 9px;
}

.stat-card p {
    font-size: 22px;
    font-weight: 700;

    color: var(--brown-dark);
}

/* =========================
   ANALYTICS
========================= */

.analytics {
    display: grid;

    grid-template-columns: 1.45fr 1fr;

    gap: 16px;

    margin-bottom: 18px;
}

.chart-box {
    background: white;

    border: 1px solid var(--border);
    border-radius: 12px;

    padding: 16px 18px;

    box-shadow: var(--shadow);

    height: 300px;
}

.chart-box h2 {
    font-family: 'Playfair Display', serif;

    font-size: 17px;

    color: var(--brown-dark);

    margin-bottom: 10px;
}

.chart-box canvas {
    width: 100% !important;
    height: 225px !important;
}

/* =========================
   RECENT ORDERS
========================= */

.recent-orders {
    background: white;

    border: 1px solid var(--border);
    border-radius: 12px;

    padding: 17px 18px;

    box-shadow: var(--shadow);

    overflow: hidden;
}

.recent-orders h2 {
    font-family: 'Playfair Display', serif;

    font-size: 18px;

    color: var(--brown-dark);

    margin-bottom: 13px;
}

/* TABLE */

.recent-orders table {
    width: 100%;

    border-collapse: collapse;

    font-size: 12px;
}

.recent-orders thead {
    background: #faf6f1;
}

.recent-orders th {
    padding: 10px 9px;

    color: var(--muted);

    font-size: 10px;
    font-weight: 700;

    text-align: left;

    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.recent-orders td {
    padding: 11px 9px;

    border-top: 1px solid #f0e8e1;

    color: var(--text);

    font-size: 12px;
}

.recent-orders tbody tr:hover {
    background: #fcfaf8;
}

/* =========================
   STATUS
========================= */

.pending,
.complete,
.process {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding: 4px 8px;

    border-radius: 12px;

    font-size: 10px;
    font-weight: 700;
}

.pending {
    background: var(--yellow-bg);
    color: var(--yellow);
}

.complete {
    background: var(--green-bg);
    color: var(--green);
}

.process {
    background: #f1e9f7;
    color: #76518d;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1100px) {

    .dashboard {
        padding: 22px;
    }

    .stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .analytics {
        grid-template-columns: 1fr;
    }

    .chart-box {
        height: 285px;
    }
}

@media (max-width: 800px) {

    .sidebar {
        position: relative;

        width: 100%;
        height: auto;

        padding: 12px 15px;
    }

    .admin-brand {
        padding: 4px 5px 12px;
    }

    .sidebar nav {
        display: grid;
        grid-template-columns: repeat(3, 1fr);

        gap: 5px;
    }

    .sidebar nav a {
        justify-content: center;
        padding: 9px 5px;

        font-size: 11px;
    }

    .sidebar nav a i {
        width: auto;
    }

    .dashboard {
        margin-left: 0;
        padding: 18px;
    }

    .dashboard-header {
        margin-bottom: 17px;
    }

    .dashboard-header h1 {
        font-size: 24px;
    }
}

@media (max-width: 550px) {

    body {
        font-size: 13px;
    }

    .sidebar nav {
        grid-template-columns: repeat(2, 1fr);
    }

    .stats {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .stat-card {
        min-height: 90px;
        padding: 14px;
    }

    .stat-card p {
        font-size: 20px;
    }

    .dashboard {
        padding: 15px;
    }

    .dashboard-header {
        align-items: flex-start;
        gap: 10px;
    }

    .dashboard-header h1 {
        font-size: 22px;
    }

    .admin-profile {
        font-size: 10px;
        padding: 6px 9px;
    }

    .chart-box {
        height: 260px;
        padding: 14px;
    }

    .chart-box canvas {
        height: 195px !important;
    }

    .recent-orders {
        padding: 14px;
        overflow-x: auto;
    }

    .recent-orders table {
        min-width: 580px;
    }
}

@media (max-width: 380px) {

    .sidebar nav {
        grid-template-columns: 1fr 1fr;
    }

    .dashboard-header {
        flex-direction: column;
    }

    .admin-profile {
        align-self: flex-start;
    }

    .chart-box {
        height: 245px;
    }

    .chart-box canvas {
        height: 180px !important;
    }
}

/* =====================================================
   FAQ PAGE - MODERN COCO PIE DESIGN
===================================================== */

/* PAGE BANNER */

.page-banner {
    position: relative;
    text-align: center;
    padding: 70px 20px 65px;

    background:
        radial-gradient(circle at 10% 30%, rgba(154, 95, 59, 0.10), transparent 28%),
        radial-gradient(circle at 90% 70%, rgba(111, 67, 43, 0.10), transparent 28%),
        linear-gradient(135deg, #f8eee4, #f3dfcc);

    overflow: hidden;
}

.page-banner::before {
    content: "";
    position: absolute;

    width: 180px;
    height: 180px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.35);

    top: -90px;
    left: -60px;
}

.page-banner::after {
    content: "";
    position: absolute;

    width: 150px;
    height: 150px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.3);

    bottom: -80px;
    right: -40px;
}

.page-banner h1 {
    position: relative;
    z-index: 1;

    font-family: 'Playfair Display', serif;

    font-size: clamp(32px, 5vw, 52px);

    color: #3d2519;

    margin-bottom: 12px;
}

.page-banner p {
    position: relative;
    z-index: 1;

    max-width: 650px;
    margin: auto;

    color: #806d60;

    font-size: 15px;
    line-height: 1.7;
}


/* =====================================================
   FAQ SECTION
===================================================== */

.faq-section {
    max-width: 900px;

    margin: 0 auto;

    padding: 70px 25px 55px;
}

.faq-section > h2 {
    font-family: 'Playfair Display', serif;

    text-align: center;

    font-size: 30px;

    color: #3d2519;

    margin-bottom: 35px;
}


/* FAQ CONTAINER */

.faq-container {
    display: flex;
    flex-direction: column;

    gap: 12px;
}


/* FAQ ITEM */

.faq-item {
    background: #ffffff;

    border: 1px solid #eadfd5;

    border-radius: 14px;

    overflow: hidden;

    box-shadow: 0 5px 20px rgba(65, 39, 24, 0.05);

    transition: all 0.25s ease;
}

.faq-item:hover {
    border-color: #d7c0ae;

    box-shadow: 0 8px 25px rgba(65, 39, 24, 0.08);
}


/* QUESTION BUTTON */

.faq-question {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 20px 22px;

    border: none;
    outline: none;

    background: #ffffff;

    color: #3d2519;

    font-family: 'DM Sans', sans-serif;

    font-size: 15px;
    font-weight: 600;

    text-align: left;

    cursor: pointer;

    transition: all 0.25s ease;
}

.faq-question:hover {
    background: #fcf8f4;
}


/* CHEVRON */

.faq-question i {
    flex-shrink: 0;

    width: 30px;
    height: 30px;

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

    border-radius: 50%;

    background: #f3e5d8;

    color: #6f432b;

    font-size: 12px;

    transition: transform 0.3s ease,
                background 0.3s ease;
}


/* ANSWER */

.faq-answer {
    max-height: 0;

    overflow: hidden;

    background: #fff;

    transition: max-height 0.35s ease;
}

.faq-answer p {
    padding: 0 22px 20px;

    color: #806d60;

    font-size: 14px;

    line-height: 1.8;
}


/* =====================================================
   ACTIVE FAQ
===================================================== */

.faq-item.active {
    border-color: #cdb09b;
}

.faq-item.active .faq-question {
    color: #6f432b;

    background: #fcf8f4;
}

.faq-item.active .faq-question i {
    transform: rotate(180deg);

    background: #6f432b;

    color: #ffffff;
}


/* =====================================================
   SUPPORT SECTION
===================================================== */

.support-section {
    padding: 10px 25px 75px;
}

.support-box {
    position: relative;

    max-width: 900px;

    margin: 0 auto;

    padding: 45px 25px;

    text-align: center;

    border-radius: 20px;

    background:
        radial-gradient(circle at 10% 20%, rgba(255,255,255,0.35), transparent 25%),
        linear-gradient(135deg, #6f432b, #4b2c1d);

    color: #ffffff;

    overflow: hidden;

    box-shadow: 0 12px 35px rgba(65, 39, 24, 0.15);
}

.support-box::after {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    border-radius: 50%;

    background: rgba(255,255,255,0.06);

    right: -70px;
    bottom: -90px;
}

.support-box > * {
    position: relative;
    z-index: 1;
}

.support-box > i {
    width: 58px;
    height: 58px;

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

    margin: 0 auto 17px;

    border-radius: 50%;

    background: rgba(255,255,255,0.13);

    font-size: 24px;
}

.support-box h2 {
    font-family: 'Playfair Display', serif;

    font-size: 27px;

    margin-bottom: 8px;
}

.support-box p {
    color: #eadbd0;

    font-size: 14px;

    margin-bottom: 22px;
}


/* SUPPORT BUTTON */

.support-box .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 12px 25px;

    border-radius: 25px;

    background: #ffffff;

    color: #5a351f;

    font-size: 13px;
    font-weight: 700;

    transition: all 0.25s ease;
}

.support-box .btn:hover {
    transform: translateY(-2px);

    background: #f8eee4;

    box-shadow: 0 7px 18px rgba(0,0,0,0.15);
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 768px) {

    .page-banner {
        padding: 55px 20px;
    }

    .page-banner h1 {
        font-size: 34px;
    }

    .faq-section {
        padding: 50px 18px 40px;
    }

    .faq-section > h2 {
        font-size: 26px;
        margin-bottom: 25px;
    }

    .faq-question {
        padding: 17px 18px;

        font-size: 14px;
    }

    .faq-answer p {
        padding: 0 18px 18px;

        font-size: 13px;
    }

    .support-section {
        padding: 10px 18px 55px;
    }

    .support-box {
        padding: 38px 20px;
    }
}


@media (max-width: 480px) {

    .page-banner {
        padding: 45px 16px;
    }

    .page-banner h1 {
        font-size: 29px;
    }

    .page-banner p {
        font-size: 13px;
    }

    .faq-section {
        padding: 40px 14px 30px;
    }

    .faq-section > h2 {
        font-size: 23px;
    }

    .faq-container {
        gap: 9px;
    }

    .faq-item {
        border-radius: 11px;
    }

    .faq-question {
        padding: 15px;

        font-size: 13px;

        gap: 10px;
    }

    .faq-question i {
        width: 27px;
        height: 27px;

        font-size: 10px;
    }

    .faq-answer p {
        padding: 0 15px 16px;

        font-size: 12px;

        line-height: 1.7;
    }

    .support-box {
        padding: 32px 17px;

        border-radius: 16px;
    }

    .support-box h2 {
        font-size: 23px;
    }

    .support-box p {
        font-size: 13px;
    }
}

/* =====================================================
   FORGOT PASSWORD PAGE
===================================================== */

.forgot-page {
    min-height: calc(100vh - 70px);

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

    padding: 55px 20px;

    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(154, 95, 59, 0.10),
            transparent 28%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(111, 67, 43, 0.08),
            transparent 30%
        ),
        #faf7f3;
}


/* =====================================================
   CONTAINER
===================================================== */

.forgot-container {
    width: 100%;
    max-width: 450px;

    background: #ffffff;

    padding: 42px 40px;

    border: 1px solid #eadfd5;

    border-radius: 20px;

    text-align: center;

    box-shadow:
        0 15px 40px rgba(65, 39, 24, 0.09);

    position: relative;
    overflow: hidden;
}


/* TOP DECORATION */

.forgot-container::before {
    content: "";

    position: absolute;

    width: 120px;
    height: 120px;

    border-radius: 50%;

    background: #f5e8dc;

    top: -65px;
    right: -55px;
}


/* =====================================================
   ICON
===================================================== */

.forgot-icon {
    width: 65px;
    height: 65px;

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

    margin: 0 auto 20px;

    border-radius: 50%;

    background: #f3e3d5;

    color: #6f432b;

    font-size: 24px;

    position: relative;
    z-index: 1;
}

.forgot-icon i {
    font-size: 23px;
}


/* =====================================================
   TITLE
===================================================== */

.forgot-container h1 {
    font-family: 'Playfair Display', serif;

    font-size: 31px;

    color: #3d2519;

    margin-bottom: 10px;
}

.forgot-container > p {
    color: #806d60;

    font-size: 13px;

    line-height: 1.7;

    margin-bottom: 27px;
}


/* =====================================================
   FORM
===================================================== */

.forgot-container form {
    text-align: left;
}

.input-box {
    margin-bottom: 20px;
}

.input-box label {
    display: block;

    margin-bottom: 7px;

    color: #4b3022;

    font-size: 13px;
    font-weight: 600;
}

.input-box input {
    width: 100%;

    height: 48px;

    padding: 0 15px;

    border: 1px solid #dfd1c5;

    border-radius: 10px;

    outline: none;

    background: #fdfbf9;

    color: #3d2519;

    font-size: 13px;

    transition: all 0.25s ease;
}

.input-box input::placeholder {
    color: #aa9a90;
}

.input-box input:focus {
    border-color: #9a6747;

    background: #ffffff;

    box-shadow:
        0 0 0 3px rgba(154, 103, 71, 0.10);
}


/* =====================================================
   BUTTON
===================================================== */

.forgot-container .btn {
    width: 100%;

    height: 48px;

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

    border: none;

    border-radius: 10px;

    background: linear-gradient(
        135deg,
        #7a4a2d,
        #5a351f
    );

    color: #ffffff;

    font-size: 13px;
    font-weight: 700;

    cursor: pointer;

    transition: all 0.25s ease;

    box-shadow:
        0 7px 18px rgba(90, 53, 31, 0.18);
}

.forgot-container .btn:hover {
    transform: translateY(-2px);

    box-shadow:
        0 10px 24px rgba(90, 53, 31, 0.25);
}

.forgot-container .btn:active {
    transform: translateY(0);
}


/* =====================================================
   BACK TO LOGIN
===================================================== */

.back-login {
    margin-top: 22px !important;
    margin-bottom: 0 !important;

    font-size: 12px !important;

    color: #8a786d !important;
}

.back-login a {
    color: #6f432b;

    font-weight: 700;

    margin-left: 4px;

    transition: color 0.2s ease;
}

.back-login a:hover {
    color: #9a6747;

    text-decoration: underline;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 600px) {

    .forgot-page {
        min-height: calc(100vh - 60px);

        padding: 40px 18px;
    }

    .forgot-container {
        max-width: 420px;

        padding: 35px 28px;

        border-radius: 17px;
    }

    .forgot-container h1 {
        font-size: 28px;
    }

    .forgot-icon {
        width: 60px;
        height: 60px;
    }
}


@media (max-width: 400px) {

    .forgot-page {
        padding: 30px 14px;
    }

    .forgot-container {
        padding: 30px 20px;

        border-radius: 15px;
    }

    .forgot-container h1 {
        font-size: 25px;
    }

    .forgot-container > p {
        font-size: 12px;
    }

    .input-box input,
    .forgot-container .btn {
        height: 45px;
    }

    .back-login {
        font-size: 11px !important;
    }
}

/* =====================================================
   LOGIN PAGE - MODERN COCO PIE
===================================================== */

.login-page {
    min-height: calc(100vh - 70px);

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

    padding: 45px 20px;

    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(154, 95, 59, 0.10),
            transparent 28%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(111, 67, 43, 0.08),
            transparent 30%
        ),
        #faf7f3;
}


/* =====================================================
   LOGIN CONTAINER
===================================================== */

.login-container {
    width: 100%;
    max-width: 900px;

    display: grid;
    grid-template-columns: 0.9fr 1.1fr;

    background: #ffffff;

    border: 1px solid #eadfd5;

    border-radius: 20px;

    overflow: hidden;

    box-shadow:
        0 18px 45px rgba(65, 39, 24, 0.10);
}


/* =====================================================
   LOGIN IMAGE
===================================================== */

.login-image {
    position: relative;

    min-height: 500px;

    overflow: hidden;

    background: #ead7c5;
}

.login-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(48, 27, 17, 0.35),
            transparent 55%
        );
}

.login-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform 0.5s ease;
}

.login-container:hover .login-image img {
    transform: scale(1.03);
}


/* =====================================================
   LOGIN FORM
===================================================== */

.login-form {
    padding: 45px 45px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.login-form h1 {
    font-family: 'Playfair Display', serif;

    color: #3d2519;

    font-size: 32px;

    margin-bottom: 7px;
}

.login-form > p {
    color: #806d60;

    font-size: 13px;

    line-height: 1.6;

    margin-bottom: 25px;
}


/* =====================================================
   INPUT
===================================================== */

.input-box {
    margin-bottom: 17px;
}

.input-box label {
    display: block;

    color: #4b3022;

    font-size: 13px;
    font-weight: 600;

    margin-bottom: 7px;
}

.input-box input {
    width: 100%;

    height: 47px;

    padding: 0 14px;

    border: 1px solid #dfd1c5;

    border-radius: 10px;

    background: #fdfbf9;

    color: #3d2519;

    font-size: 13px;

    outline: none;

    transition: all 0.25s ease;
}

.input-box input::placeholder {
    color: #aa9a90;
}

.input-box input:focus {
    background: #ffffff;

    border-color: #9a6747;

    box-shadow:
        0 0 0 3px rgba(154, 103, 71, 0.10);
}


/* =====================================================
   PASSWORD FIELD
===================================================== */

.password-field {
    position: relative;
}

.password-field input {
    padding-right: 45px;
}

#togglePassword {
    position: absolute;

    top: 50%;
    right: 15px;

    transform: translateY(-50%);

    color: #9a897e;

    font-size: 14px;

    cursor: pointer;

    transition: color 0.2s ease;
}

#togglePassword:hover {
    color: #6f432b;
}


/* =====================================================
   LOGIN OPTIONS
===================================================== */

.login-options {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 10px;

    margin: 3px 0 20px;

    font-size: 12px;
}

.login-options label {
    display: flex;
    align-items: center;

    gap: 7px;

    color: #806d60;

    cursor: pointer;
}

.login-options input[type="checkbox"] {
    width: 14px;
    height: 14px;

    accent-color: #6f432b;

    cursor: pointer;
}

.login-options a {
    color: #6f432b;

    font-weight: 600;

    transition: color 0.2s ease;
}

.login-options a:hover {
    color: #9a6747;

    text-decoration: underline;
}


/* =====================================================
   LOGIN BUTTON
===================================================== */

.login-form .btn {
    width: 100%;

    height: 47px;

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

    border: none;

    border-radius: 10px;

    background:
        linear-gradient(
            135deg,
            #7a4a2d,
            #5a351f
        );

    color: #ffffff;

    font-size: 13px;
    font-weight: 700;

    cursor: pointer;

    box-shadow:
        0 7px 18px rgba(90, 53, 31, 0.18);

    transition: all 0.25s ease;
}

.login-form .btn:hover {
    transform: translateY(-2px);

    box-shadow:
        0 10px 24px rgba(90, 53, 31, 0.25);
}

.login-form .btn:active {
    transform: translateY(0);
}


/* =====================================================
   DIVIDER
===================================================== */

.divider {
    display: flex;

    align-items: center;

    gap: 12px;

    margin: 22px 0;

    color: #aa9a90;

    font-size: 11px;
}

.divider::before,
.divider::after {
    content: "";

    flex: 1;

    height: 1px;

    background: #eadfd5;
}

.divider span {
    font-weight: 600;
}


/* =====================================================
   GOOGLE BUTTON
===================================================== */

.google-btn {
    width: 100%;

    height: 46px;

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

    gap: 10px;

    border: 1px solid #ded4cc;

    border-radius: 10px;

    background: #ffffff;

    color: #4b3022;

    font-size: 13px;
    font-weight: 600;

    cursor: pointer;

    transition: all 0.25s ease;
}

.google-btn i {
    font-size: 16px;

    color: #db4437;
}

.google-btn:hover {
    background: #fcf9f6;

    border-color: #cdb9aa;

    transform: translateY(-1px);

    box-shadow:
        0 5px 15px rgba(65, 39, 24, 0.07);
}


/* =====================================================
   REGISTER
===================================================== */

.register-link {
    text-align: center;

    margin: 20px 0 0 !important;

    color: #8a786d !important;

    font-size: 12px !important;
}

.register-link a {
    color: #6f432b;

    font-weight: 700;

    margin-left: 3px;

    transition: color 0.2s ease;
}

.register-link a:hover {
    color: #9a6747;

    text-decoration: underline;
}


/* =====================================================
   GOOGLE POPUP
===================================================== */

.google-popup {
    position: fixed;

    inset: 0;

    display: none;
    align-items: center;
    justify-content: center;

    padding: 20px;

    background: rgba(30, 20, 15, 0.55);

    backdrop-filter: blur(5px);

    z-index: 9999;
}

.google-popup.active {
    display: flex;
}

.google-popup-box {
    position: relative;

    width: 100%;
    max-width: 410px;

    padding: 35px;

    background: #ffffff;

    border-radius: 16px;

    box-shadow:
        0 20px 55px rgba(0, 0, 0, 0.20);

    animation: googlePopup 0.25s ease;
}

@keyframes googlePopup {

    from {
        opacity: 0;
        transform: translateY(12px) scale(0.97);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

}


/* CLOSE */

.google-close {
    position: absolute;

    top: 14px;
    right: 14px;

    width: 32px;
    height: 32px;

    border: none;

    border-radius: 50%;

    background: #f5eee8;

    color: #6f432b;

    cursor: pointer;

    transition: 0.2s ease;
}

.google-close:hover {
    background: #eadbd0;
}


/* GOOGLE LOGO */

.google-logo {
    width: 50px;
    height: 50px;

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

    margin-bottom: 18px;

    border: 1px solid #eadfd5;

    border-radius: 50%;

    color: #4285f4;

    font-size: 21px;
}

.google-popup-box h2 {
    font-family: 'Playfair Display', serif;

    color: #3d2519;

    font-size: 25px;

    margin-bottom: 7px;
}

.google-subtitle {
    color: #806d60;

    font-size: 12px;

    line-height: 1.6;

    margin-bottom: 22px;
}


/* GOOGLE INPUT */

.google-input-box input {
    width: 100%;

    height: 47px;

    padding: 0 14px;

    border: 1px solid #d8ccc3;

    border-radius: 8px;

    outline: none;

    font-size: 13px;

    color: #3d2519;

    transition: 0.2s ease;
}

.google-input-box input:focus {
    border-color: #4285f4;

    box-shadow:
        0 0 0 2px rgba(66,133,244,0.12);
}


/* FORGOT EMAIL */

#forgotEmail {
    display: inline-block;

    margin-top: 9px;

    color: #4285f4;

    font-size: 12px;

    font-weight: 600;
}


/* INFO */

.google-info {
    margin: 22px 0;

    color: #806d60;

    font-size: 11px;

    line-height: 1.6;
}


/* GOOGLE ACTIONS */

.google-actions {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 12px;
}

.google-create,
.google-next {
    border: none;

    border-radius: 8px;

    padding: 10px 17px;

    font-size: 12px;
    font-weight: 700;

    cursor: pointer;
}

.google-create {
    background: transparent;

    color: #4285f4;
}

.google-create:hover {
    background: #f1f6ff;
}

.google-next {
    background: #4285f4;

    color: white;
}

.google-next:hover {
    background: #3478e5;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 800px) {

    .login-page {
        padding: 35px 18px;
    }

    .login-container {
        max-width: 500px;

        grid-template-columns: 1fr;
    }

    .login-image {
        min-height: 230px;

        max-height: 230px;
    }

    .login-form {
        padding: 35px 32px;
    }
}


@media (max-width: 500px) {

    .login-page {
        padding: 25px 14px;
    }

    .login-container {
        border-radius: 15px;
    }

    .login-image {
        min-height: 190px;

        max-height: 190px;
    }

    .login-form {
        padding: 30px 22px;
    }

    .login-form h1 {
        font-size: 27px;
    }

    .login-form > p {
        font-size: 12px;
    }

    .login-options {
        font-size: 11px;
    }

    .google-popup-box {
        padding: 30px 22px;
    }
}


@media (max-width: 360px) {

    .login-form {
        padding: 25px 17px;
    }

    .login-form h1 {
        font-size: 24px;
    }

    .login-options {
        flex-direction: column;
        align-items: flex-start;
    }

    .google-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .google-create,
    .google-next {
        width: 100%;
    }
}

/* =====================================================
   NOTIFICATIONS PAGE - MODERN COCO PIE
===================================================== */

.profile-page {
    max-width: 1180px;

    margin: 0 auto;

    padding: 50px 25px 70px;

    display: grid;
    grid-template-columns: 245px 1fr;

    gap: 25px;

    background: #faf7f3;
}


/* =====================================================
   PROFILE SIDEBAR
===================================================== */

.profile-sidebar {
    align-self: start;

    background: #ffffff;

    border: 1px solid #eadfd5;

    border-radius: 16px;

    padding: 25px 18px;

    text-align: center;

    box-shadow:
        0 7px 25px rgba(65, 39, 24, 0.06);
}


/* PROFILE IMAGE */

.profile-image {
    width: 75px;
    height: 75px;

    margin: 0 auto 12px;

    border-radius: 50%;

    overflow: hidden;

    border: 3px solid #f0dfd0;

    background: #f5e8dc;
}

.profile-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;
}


/* NAME */

.profile-sidebar h2 {
    font-family: 'Playfair Display', serif;

    color: #3d2519;

    font-size: 18px;

    margin-bottom: 3px;
}

.profile-sidebar > p {
    color: #9a897e;

    font-size: 11px;

    margin-bottom: 20px;
}


/* SIDEBAR MENU */

.profile-sidebar ul {
    list-style: none;

    display: flex;
    flex-direction: column;

    gap: 4px;

    text-align: left;
}

.profile-sidebar li a {
    display: flex;
    align-items: center;

    gap: 10px;

    min-height: 40px;

    padding: 9px 11px;

    border-radius: 9px;

    color: #806d60;

    font-size: 12px;
    font-weight: 600;

    transition: all 0.2s ease;
}

.profile-sidebar li a i {
    width: 18px;

    text-align: center;

    font-size: 13px;
}

.profile-sidebar li a:hover {
    background: #faf4ee;

    color: #6f432b;
}

.profile-sidebar li.active a {
    background: #6f432b;

    color: #ffffff;

    box-shadow:
        0 5px 12px rgba(111, 67, 43, 0.16);
}


/* NOTIFICATION COUNT */

.notification-count {
    margin-left: auto;

    min-width: 19px;
    height: 19px;

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

    padding: 0 5px;

    border-radius: 20px;

    background: #ffffff;

    color: #6f432b;

    font-size: 10px;
    font-weight: 700;
}


/* =====================================================
   PROFILE CONTENT
===================================================== */

.profile-content {
    min-width: 0;
}


/* =====================================================
   NOTIFICATION HEADER
===================================================== */

.notification-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 18px;
}

.notification-header h1 {
    font-family: 'Playfair Display', serif;

    color: #3d2519;

    font-size: 29px;

    margin-bottom: 5px;
}

.notification-header p {
    color: #8a786d;

    font-size: 12px;
}


/* MARK ALL BUTTON */

.mark-all-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    padding: 10px 15px;

    border: 1px solid #d9c7b9;

    border-radius: 9px;

    background: #ffffff;

    color: #6f432b;

    font-size: 11px;
    font-weight: 700;

    cursor: pointer;

    white-space: nowrap;

    transition: all 0.2s ease;
}

.mark-all-btn:hover {
    background: #6f432b;

    color: #ffffff;

    border-color: #6f432b;
}


/* =====================================================
   NOTIFICATION LIST
===================================================== */

.notification-list {
    display: flex;
    flex-direction: column;

    gap: 9px;
}


/* =====================================================
   NOTIFICATION ITEM
===================================================== */

.notification-item {
    display: flex;
    align-items: center;

    gap: 14px;

    padding: 15px 17px;

    background: #ffffff;

    border: 1px solid #eadfd5;

    border-radius: 13px;

    box-shadow:
        0 5px 18px rgba(65, 39, 24, 0.04);

    transition: all 0.2s ease;
}

.notification-item:hover {
    border-color: #d7c1b0;

    transform: translateY(-1px);

    box-shadow:
        0 7px 22px rgba(65, 39, 24, 0.07);
}


/* UNREAD */

.notification-item.unread {
    background: #fffaf5;

    border-left: 3px solid #6f432b;
}


/* =====================================================
   NOTIFICATION ICON
===================================================== */

.notification-icon {
    width: 43px;
    height: 43px;

    flex-shrink: 0;

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

    border-radius: 11px;

    font-size: 16px;
}


/* ORDER */

.notification-icon.order {
    background: #f3e4d7;

    color: #7a4a2d;
}


/* DELIVERY */

.notification-icon.delivery {
    background: #e8f1f5;

    color: #4c7284;
}


/* REWARD */

.notification-icon.reward {
    background: #f8efd7;

    color: #9a6b27;
}


/* PROMO */

.notification-icon.promo {
    background: #f5e5e3;

    color: #a9574d;
}


/* =====================================================
   NOTIFICATION DETAILS
===================================================== */

.notification-details {
    flex: 1;

    min-width: 0;
}

.notification-details h3 {
    color: #3d2519;

    font-size: 13px;
    font-weight: 700;

    margin-bottom: 4px;
}

.notification-details p {
    color: #806d60;

    font-size: 11px;

    line-height: 1.6;

    margin-bottom: 5px;
}

.notification-time {
    color: #a49489;

    font-size: 10px;
}


/* =====================================================
   NOTIFICATION ACTION
===================================================== */

.notification-action {
    width: 25px;
    height: 25px;

    flex-shrink: 0;

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

    border: none;

    background: transparent;

    color: #c8b8ac;

    cursor: pointer;

    transition: all 0.2s ease;
}

.notification-action:hover {
    color: #6f432b;

    transform: scale(1.1);
}

.notification-item:not(.unread) .notification-action {
    color: #e2d8d1;
}


/* =====================================================
   EMPTY NOTIFICATIONS
===================================================== */

.empty-notifications {
    padding: 65px 20px;

    text-align: center;

    background: #ffffff;

    border: 1px solid #eadfd5;

    border-radius: 14px;
}

.empty-notifications > i {
    font-size: 38px;

    color: #cdb9aa;

    margin-bottom: 14px;
}

.empty-notifications h3 {
    font-family: 'Playfair Display', serif;

    color: #4b3022;

    font-size: 21px;

    margin-bottom: 5px;
}

.empty-notifications p {
    color: #9a897e;

    font-size: 12px;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 900px) {

    .profile-page {
        grid-template-columns: 210px 1fr;

        gap: 18px;

        padding: 40px 18px 55px;
    }

    .notification-header h1 {
        font-size: 26px;
    }
}


@media (max-width: 700px) {

    .profile-page {
        grid-template-columns: 1fr;

        padding: 30px 16px 50px;
    }

    .profile-sidebar {
        width: 100%;
    }

    .profile-sidebar ul {
        display: grid;

        grid-template-columns: repeat(2, 1fr);

        gap: 5px;
    }

    .notification-header {
        align-items: flex-start;

        flex-direction: column;

        gap: 12px;
    }

    .mark-all-btn {
        align-self: flex-start;
    }
}


@media (max-width: 480px) {

    .profile-page {
        padding: 25px 12px 40px;
    }

    .profile-sidebar {
        padding: 20px 14px;
    }

    .profile-sidebar ul {
        grid-template-columns: 1fr;
    }

    .notification-header h1 {
        font-size: 24px;
    }

    .notification-header p {
        font-size: 11px;
    }

    .notification-item {
        align-items: flex-start;

        padding: 13px;

        gap: 10px;
    }

    .notification-icon {
        width: 39px;
        height: 39px;

        font-size: 14px;
    }

    .notification-details h3 {
        font-size: 12px;
    }

    .notification-details p {
        font-size: 10px;
    }

    .notification-action {
        width: 22px;
    }
}

/* =========================================================
   ORDER SUCCESSFUL PAGE
   ========================================================= */

.success-page {
    min-height: calc(100vh - 70px);
    background:
        radial-gradient(circle at 10% 15%, rgba(154, 95, 59, 0.08), transparent 28%),
        radial-gradient(circle at 90% 85%, rgba(111, 67, 43, 0.07), transparent 30%),
        #faf7f3;

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

    padding: 55px 20px;
}


/* ================= SUCCESS CARD ================= */

.success-card {
    width: 100%;
    max-width: 680px;

    background: #ffffff;

    border: 1px solid #eadfd5;
    border-radius: 24px;

    padding: 42px 45px;

    text-align: center;

    box-shadow:
        0 18px 50px rgba(61, 37, 25, 0.10);

    animation: successCardIn 0.5s ease;
}


@keyframes successCardIn {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* ================= SUCCESS ICON ================= */

.success-icon {
    width: 78px;
    height: 78px;

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

    margin: 0 auto 20px;

    border-radius: 50%;

    background: #f3e4d5;
    color: #6f432b;

    font-size: 43px;

    box-shadow: 0 8px 22px rgba(111, 67, 43, 0.12);
}


/* ================= TITLE ================= */

.success-card h1 {
    margin: 0 0 12px;

    font-family: "Playfair Display", Georgia, serif;

    font-size: 34px;
    line-height: 1.2;

    color: #3d2519;
}


.success-card > p {
    max-width: 520px;

    margin: 0 auto 28px;

    color: #7d6d62;

    font-size: 15px;
    line-height: 1.7;
}


/* ================= ORDER DETAILS ================= */

.order-details {
    width: 100%;

    background: #faf7f3;

    border: 1px solid #eadfd5;
    border-radius: 16px;

    padding: 20px 22px;

    text-align: left;

    margin-bottom: 28px;
}


.order-details p {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin: 0;

    padding: 12px 0;

    color: #6f6259;

    font-size: 14px;

    border-bottom: 1px solid #e8ddd3;
}


.order-details p:last-child {
    border-bottom: none;
}


.order-details strong {
    color: #3d2519;
    font-weight: 700;
}


.order-details span {
    color: #6f432b;
    font-weight: 700;
    text-align: right;
}


/* ================= BUTTONS ================= */

.success-buttons {
    display: flex;
    justify-content: center;

    gap: 12px;

    flex-wrap: wrap;
}


.success-buttons .btn {
    min-width: 175px;

    padding: 13px 20px;

    border: none;
    border-radius: 10px;

    background: linear-gradient(
        135deg,
        #6f432b,
        #9a5f3b
    );

    color: #ffffff;

    font-size: 14px;
    font-weight: 700;

    text-decoration: none;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;

    box-shadow: 0 7px 18px rgba(111, 67, 43, 0.18);
}


.success-buttons .btn:hover {
    transform: translateY(-2px);

    box-shadow:
        0 11px 25px rgba(111, 67, 43, 0.25);

    background: linear-gradient(
        135deg,
        #5f3825,
        #875133
    );
}


/* =========================================================
   RECOMMENDED PRODUCTS
   ========================================================= */

.products {
    padding: 65px 7%;

    background: #ffffff;
}


.products > h2 {
    margin: 0 0 30px;

    text-align: center;

    font-family: "Playfair Display", Georgia, serif;

    font-size: 30px;

    color: #3d2519;
}


.product-container {
    max-width: 1100px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}


/* ================= PRODUCT CARD ================= */

.product-card {
    position: relative;

    background: #ffffff;

    border: 1px solid #eadfd5;

    border-radius: 18px;

    padding: 15px;

    text-align: center;

    overflow: hidden;

    box-shadow: 0 8px 25px rgba(61, 37, 25, 0.07);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}


.product-card:hover {
    transform: translateY(-6px);

    border-color: #d7bca8;

    box-shadow:
        0 15px 35px rgba(61, 37, 25, 0.12);
}


/* ================= PRODUCT IMAGE ================= */

.product-card img {
    width: 100%;

    height: 210px;

    object-fit: cover;

    display: block;

    border-radius: 13px;

    margin-bottom: 17px;

    background: #f3e8dd;

    transition: transform 0.3s ease;
}


.product-card:hover img {
    transform: scale(1.025);
}


/* ================= PRODUCT NAME ================= */

.product-card h3 {
    margin: 0 0 8px;

    font-family: "Playfair Display", Georgia, serif;

    font-size: 18px;

    color: #3d2519;
}


/* ================= PRODUCT PRICE ================= */

.product-card > p {
    margin: 0 0 16px;

    color: #8a5234;

    font-size: 18px;

    font-weight: 700;
}


/* ================= ADD TO CART ================= */

.product-card .add-to-cart-btn {
    width: 100%;

    border: none;

    border-radius: 10px;

    padding: 12px 15px;

    background: #3d2519;

    color: #ffffff;

    font-family: "DM Sans", sans-serif;

    font-size: 14px;

    font-weight: 700;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


.product-card .add-to-cart-btn i {
    margin-right: 7px;
}


.product-card .add-to-cart-btn:hover {
    background: #6f432b;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(61, 37, 25, 0.18);
}


.product-card .add-to-cart-btn:active {
    transform: translateY(0);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .success-card {
        max-width: 620px;

        padding: 38px 32px;
    }

    .success-card h1 {
        font-size: 30px;
    }

    .product-container {
        grid-template-columns: repeat(2, 1fr);
    }

    .products {
        padding: 55px 5%;
    }
}


@media (max-width: 650px) {

    .success-page {
        padding: 35px 15px;
    }

    .success-card {
        padding: 32px 22px;

        border-radius: 20px;
    }

    .success-icon {
        width: 68px;
        height: 68px;

        font-size: 36px;
    }

    .success-card h1 {
        font-size: 27px;
    }

    .success-card > p {
        font-size: 14px;
    }

    .order-details {
        padding: 15px 17px;
    }

    .order-details p {
        flex-direction: column;

        align-items: flex-start;

        gap: 4px;
    }

    .order-details span {
        text-align: left;
    }

    .success-buttons {
        flex-direction: column;
    }

    .success-buttons .btn {
        width: 100%;
    }

    .products > h2 {
        font-size: 27px;
    }

    .product-container {
        grid-template-columns: 1fr;

        max-width: 380px;
    }

    .product-card img {
        height: 230px;
    }
}


@media (max-width: 400px) {

    .success-page {
        padding: 25px 12px;
    }

    .success-card {
        padding: 28px 17px;
    }

    .success-card h1 {
        font-size: 24px;
    }

    .success-icon {
        width: 62px;
        height: 62px;

        font-size: 32px;
    }

    .products {
        padding: 45px 12px;
    }

    .products > h2 {
        font-size: 24px;
    }
}

/* =========================================================
   MY ORDERS PAGE
   ========================================================= */

.orders-page {
    max-width: 1000px;
    margin: 0 auto;
    padding: 45px 20px 70px;

    background: #faf7f3;
}


/* ================= ORDER CARD ================= */

.order-card {
    background: #ffffff;

    border: 1px solid #eadfd5;
    border-radius: 18px;

    padding: 22px;

    margin-bottom: 20px;

    box-shadow: 0 8px 25px rgba(61, 37, 25, 0.07);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}


.order-card:hover {
    transform: translateY(-3px);

    border-color: #d8c0ae;

    box-shadow: 0 13px 32px rgba(61, 37, 25, 0.10);
}


/* ================= ORDER HEADER ================= */

.order-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    padding-bottom: 15px;

    border-bottom: 1px solid #eee3da;
}


.order-header h3 {
    margin: 0;

    font-family: "Playfair Display", Georgia, serif;

    font-size: 18px;

    color: #3d2519;
}


/* ================= STATUS ================= */

.status {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 6px 13px;

    border-radius: 50px;

    font-size: 12px;

    font-weight: 700;

    white-space: nowrap;
}


.status.preparing {
    background: #fff2d8;
    color: #98651d;
}


.status.delivered {
    background: #e7f3e9;
    color: #477453;
}


/* ================= PRODUCT ================= */

.order-product {
    display: flex;
    align-items: center;

    gap: 18px;

    padding: 20px 0;
}


.order-product img {
    width: 105px;
    height: 105px;

    object-fit: cover;

    flex-shrink: 0;

    border-radius: 14px;

    background: #f3e7dc;

    border: 1px solid #eadfd5;
}


.order-product h3 {
    margin: 0 0 8px;

    font-family: "Playfair Display", Georgia, serif;

    font-size: 18px;

    color: #3d2519;
}


.order-product p {
    margin: 4px 0;

    color: #806f63;

    font-size: 14px;
}


/* ================= ORDER DETAILS ================= */

.order-details {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 12px;

    padding: 15px;

    background: #faf7f3;

    border: 1px solid #eee2d8;

    border-radius: 12px;

    margin-bottom: 18px;
}


.order-details p {
    margin: 0;

    color: #817168;

    font-size: 13px;

    line-height: 1.5;
}


.order-details strong {
    display: block;

    margin-top: 4px;

    color: #3d2519;

    font-size: 14px;
}


/* ================= ORDER ACTIONS ================= */

.order-actions {
    display: flex;
    align-items: center;

    justify-content: flex-end;

    gap: 9px;

    flex-wrap: wrap;
}


.order-actions .btn,
.order-actions .review-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 40px;

    padding: 9px 17px;

    border-radius: 9px;

    font-family: "DM Sans", sans-serif;

    font-size: 13px;

    font-weight: 700;

    text-decoration: none;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease;
}


/* ================= TRACK / BUY AGAIN ================= */

.order-actions .btn {
    background: #6f432b;

    color: #ffffff;

    border: 1px solid #6f432b;

    box-shadow: 0 5px 14px rgba(111, 67, 43, 0.13);
}


.order-actions .btn:hover {
    background: #4f2e1e;

    border-color: #4f2e1e;

    transform: translateY(-2px);

    box-shadow: 0 8px 18px rgba(111, 67, 43, 0.18);
}


/* ================= REVIEW BUTTON ================= */

.order-actions .review-btn {
    background: #ffffff;

    color: #6f432b;

    border: 1px solid #cdb6a5;
}


.order-actions .review-btn:hover {
    background: #f6eee7;

    border-color: #9a6747;

    transform: translateY(-2px);
}


/* =========================================================
   PAGE BANNER
   ========================================================= */

.page-banner {
    position: relative;

    overflow: hidden;

    text-align: center;

    padding: 55px 20px;

    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(154, 95, 59, 0.13),
            transparent 28%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(111, 67, 43, 0.10),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #f7eadc,
            #f1dfcc
        );
}


.page-banner::before {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.25);

    top: -90px;
    left: -60px;
}


.page-banner::after {
    content: "";

    position: absolute;

    width: 150px;
    height: 150px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.2);

    bottom: -80px;
    right: -40px;
}


.page-banner h1 {
    position: relative;
    z-index: 1;

    margin: 0 0 8px;

    font-family: "Playfair Display", Georgia, serif;

    font-size: 38px;

    color: #3d2519;
}


.page-banner p {
    position: relative;
    z-index: 1;

    max-width: 600px;

    margin: 0 auto;

    color: #755f51;

    font-size: 15px;

    line-height: 1.6;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 800px) {

    .orders-page {
        padding: 35px 16px 55px;
    }

    .order-details {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .order-details p {
        display: flex;
        justify-content: space-between;
        align-items: center;

        gap: 15px;

        padding-bottom: 9px;

        border-bottom: 1px solid #e8ddd4;
    }

    .order-details p:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .order-details strong {
        margin-top: 0;

        text-align: right;
    }

    .page-banner {
        padding: 45px 18px;
    }

    .page-banner h1 {
        font-size: 32px;
    }
}


@media (max-width: 600px) {

    .order-card {
        padding: 17px;
        border-radius: 15px;
    }

    .order-header {
        align-items: flex-start;
        flex-direction: column;

        gap: 9px;
    }

    .order-header h3 {
        font-size: 17px;
    }

    .order-product {
        gap: 13px;
    }

    .order-product img {
        width: 85px;
        height: 85px;

        border-radius: 11px;
    }

    .order-product h3 {
        font-size: 16px;
    }

    .order-product p {
        font-size: 13px;
    }

    .order-actions {
        justify-content: stretch;
    }

    .order-actions .btn,
    .order-actions .review-btn {
        flex: 1;

        min-width: 120px;
    }

    .page-banner h1 {
        font-size: 28px;
    }

    .page-banner p {
        font-size: 14px;
    }
}


@media (max-width: 430px) {

    .orders-page {
        padding: 25px 12px 45px;
    }

    .order-product {
        align-items: flex-start;
    }

    .order-product img {
        width: 72px;
        height: 72px;
    }

    .order-product h3 {
        font-size: 15px;
    }

    .order-product p {
        font-size: 12px;
    }

    .order-details {
        padding: 12px;
    }

    .order-details p {
        font-size: 12px;
    }

    .order-details strong {
        font-size: 13px;
    }

    .order-actions {
        flex-direction: column;
    }

    .order-actions .btn,
    .order-actions .review-btn {
        width: 100%;
        flex: none;
    }
}

/* =========================================================
   PRIVACY POLICY PAGE
   ========================================================= */

.policy-section {
    background:
        radial-gradient(
            circle at 5% 10%,
            rgba(154, 95, 59, 0.06),
            transparent 25%
        ),
        radial-gradient(
            circle at 95% 85%,
            rgba(111, 67, 43, 0.06),
            transparent 28%
        ),
        #faf7f3;

    padding: 55px 20px 75px;
}


/* ================= POLICY CONTAINER ================= */

.policy-container {
    width: 100%;
    max-width: 900px;

    margin: 0 auto;

    background: #ffffff;

    border: 1px solid #eadfd5;

    border-radius: 20px;

    padding: 40px 45px;

    box-shadow:
        0 10px 35px rgba(61, 37, 25, 0.07);
}


/* ================= HEADINGS ================= */

.policy-container h2 {
    margin: 28px 0 10px;

    font-family: "Playfair Display", Georgia, serif;

    font-size: 21px;

    line-height: 1.35;

    color: #3d2519;
}


.policy-container h2:first-child {
    margin-top: 0;
}


/* ================= TEXT ================= */

.policy-container p {
    margin: 0 0 18px;

    color: #6f6259;

    font-size: 15px;

    line-height: 1.8;
}


/* ================= LIST ================= */

.policy-container ul {
    margin: 5px 0 22px;

    padding-left: 23px;
}


.policy-container li {
    margin-bottom: 9px;

    color: #6f6259;

    font-size: 14px;

    line-height: 1.7;

    padding-left: 4px;
}


.policy-container li::marker {
    color: #9a5f3b;
}


/* ================= CONTACT BUTTON ================= */

.policy-container .btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    margin-top: 8px;

    padding: 12px 22px;

    border-radius: 10px;

    background: linear-gradient(
        135deg,
        #6f432b,
        #9a5f3b
    );

    color: #ffffff;

    text-decoration: none;

    font-family: "DM Sans", sans-serif;

    font-size: 14px;

    font-weight: 700;

    box-shadow:
        0 7px 18px rgba(111, 67, 43, 0.16);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}


.policy-container .btn:hover {
    transform: translateY(-2px);

    background: linear-gradient(
        135deg,
        #593521,
        #814c30
    );

    box-shadow:
        0 11px 24px rgba(111, 67, 43, 0.22);
}


/* =========================================================
   PAGE BANNER
   ========================================================= */

.page-banner {
    position: relative;

    overflow: hidden;

    text-align: center;

    padding: 55px 20px;

    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(154, 95, 59, 0.13),
            transparent 28%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(111, 67, 43, 0.10),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #f7eadc,
            #f1dfcc
        );
}


.page-banner::before {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.25);

    top: -90px;
    left: -60px;
}


.page-banner::after {
    content: "";

    position: absolute;

    width: 150px;
    height: 150px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.20);

    right: -45px;
    bottom: -80px;
}


.page-banner h1 {
    position: relative;
    z-index: 1;

    margin: 0 0 8px;

    font-family: "Playfair Display", Georgia, serif;

    font-size: 38px;

    color: #3d2519;
}


.page-banner p {
    position: relative;
    z-index: 1;

    max-width: 650px;

    margin: 0 auto;

    color: #755f51;

    font-size: 15px;

    line-height: 1.6;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 800px) {

    .policy-section {
        padding: 40px 16px 60px;
    }

    .policy-container {
        padding: 32px 28px;

        border-radius: 17px;
    }

    .policy-container h2 {
        font-size: 20px;
    }

    .policy-container p {
        font-size: 14px;

        line-height: 1.75;
    }

    .policy-container li {
        font-size: 14px;
    }

    .page-banner {
        padding: 45px 18px;
    }

    .page-banner h1 {
        font-size: 32px;
    }
}


@media (max-width: 600px) {

    .policy-section {
        padding: 30px 13px 50px;
    }

    .policy-container {
        padding: 27px 20px;

        border-radius: 15px;
    }

    .policy-container h2 {
        font-size: 18px;

        margin-top: 24px;
    }

    .policy-container p {
        font-size: 13.5px;

        line-height: 1.75;
    }

    .policy-container ul {
        padding-left: 20px;
    }

    .policy-container li {
        font-size: 13px;

        margin-bottom: 7px;
    }

    .policy-container .btn {
        width: 100%;

        padding: 12px 18px;
    }

    .page-banner {
        padding: 40px 15px;
    }

    .page-banner h1 {
        font-size: 28px;
    }

    .page-banner p {
        font-size: 13.5px;
    }
}


@media (max-width: 400px) {

    .policy-section {
        padding: 25px 10px 45px;
    }

    .policy-container {
        padding: 23px 16px;
    }

    .policy-container h2 {
        font-size: 17px;
    }

    .policy-container p {
        font-size: 13px;
    }

    .policy-container li {
        font-size: 12.5px;
    }

    .page-banner h1 {
        font-size: 25px;
    }
}
/* =========================================================
   COCO PIE - PRODUCT DETAILS
   Modern / Clean / Responsive Design
========================================================= */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700;800&display=swap');


/* =========================================================
   GLOBAL
========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'DM Sans', sans-serif;
    background: #faf7f3;
    color: #3d2519;
    line-height: 1.6;
}

button,
input,
select {
    font-family: inherit;
}

button {
    cursor: pointer;
}

a {
    text-decoration: none;
}


/* =========================================================
   HEADER
========================================================= */

header {
    width: 100%;
    height: 70px;
    background: #ffffff;
    border-bottom: 1px solid #eee3da;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 7%;
    position: sticky;
    top: 0;
    z-index: 1000;
}


/* LOGO */

.logo {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.logo img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    display: block;
}


/* NAVIGATION */

header nav {
    display: flex;
    align-items: center;
    gap: 34px;
}

header nav a {
    position: relative;
    color: #4a3327;
    font-size: 15px;
    font-weight: 600;
    transition: color 0.25s ease;
}

header nav a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -7px;
    width: 0;
    height: 2px;
    background: #8a5131;
    border-radius: 10px;
    transition: width 0.25s ease;
}

header nav a:hover {
    color: #8a5131;
}

header nav a:hover::after {
    width: 100%;
}


/* ICONS */

.icons {
    display: flex;
    align-items: center;
    gap: 20px;
}

.icons a {
    color: #4a3023;
    font-size: 17px;
    transition:
        color 0.25s ease,
        transform 0.25s ease;
}

.icons a:hover {
    color: #9a5f3b;
    transform: translateY(-2px);
}


/* =========================================================
   PRODUCT DETAILS MAIN SECTION
========================================================= */

.product-details {
    width: min(1180px, 90%);
    margin: 0 auto;
    padding: 70px 0 80px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
}


/* =========================================================
   PRODUCT IMAGE
========================================================= */

.product-image {
    width: 100%;
    background: #f4e7da;
    border-radius: 28px;
    padding: 20px;
    box-shadow: 0 18px 45px rgba(76, 45, 27, 0.10);
    overflow: hidden;
}

.product-image img {
    width: 100%;
    height: 500px;
    display: block;
    object-fit: cover;
    border-radius: 20px;
    transition: transform 0.4s ease;
}

.product-image:hover img {
    transform: scale(1.02);
}


/* =========================================================
   PRODUCT INFORMATION
========================================================= */

.product-info {
    width: 100%;
}

.product-category {
    margin-bottom: 8px;
    color: #a2663f;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.product-info h1 {
    margin-bottom: 12px;
    font-family: 'Playfair Display', serif;
    font-size: clamp(42px, 5vw, 58px);
    line-height: 1.05;
    color: #3d2519;
}


/* =========================================================
   STARS
========================================================= */

.product-info .stars {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 25px;
    color: #c98222;
    font-size: 18px;
    letter-spacing: 2px;
}

.product-info .stars span {
    color: #806e63;
    font-size: 14px;
    letter-spacing: 0;
}


/* =========================================================
   PRICE
========================================================= */

.product-info h2 {
    margin-bottom: 22px;
    color: #7a482c;
    font-family: 'Playfair Display', serif;
    font-size: 34px;
    line-height: 1;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.main-description {
    max-width: 570px;
    margin-bottom: 30px;
    color: #74665e;
    font-size: 15px;
    line-height: 1.8;
}


/* =========================================================
   LABELS
========================================================= */

.product-info label {
    display: block;
    margin-bottom: 8px;
    color: #3d2519;
    font-size: 14px;
    font-weight: 700;
}


/* =========================================================
   SIZE SELECT
========================================================= */

#size {
    width: 100%;
    height: 52px;
    margin-bottom: 20px;
    padding: 0 16px;
    background: #ffffff;
    border: 1px solid #ddcbbd;
    border-radius: 11px;
    outline: none;
    color: #4b372c;
    font-size: 14px;
    cursor: pointer;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

#size:focus {
    border-color: #9a5f3b;
    box-shadow: 0 0 0 3px rgba(154, 95, 59, 0.10);
}


/* =========================================================
   QUANTITY
========================================================= */

#quantity {
    width: 100%;
    height: 52px;
    margin-bottom: 25px;
    padding: 0 16px;
    background: #ffffff;
    border: 1px solid #ddcbbd;
    border-radius: 11px;
    outline: none;
    color: #4b372c;
    font-size: 14px;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

#quantity:focus {
    border-color: #9a5f3b;
    box-shadow: 0 0 0 3px rgba(154, 95, 59, 0.10);
}

/* Remove arrows from number input */

#quantity::-webkit-inner-spin-button,
#quantity::-webkit-outer-spin-button {
    opacity: 1;
}


/* =========================================================
   BUTTONS
========================================================= */

.buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 28px;
}

/* ADD TO CART */

.cart-btn,
.buy-btn {
    min-height: 52px;
    border-radius: 11px;
    padding: 13px 20px;
    font-size: 14px;
    font-weight: 700;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

/* CART */

.cart-btn {
    background: #75472c;
    border: 1px solid #75472c;
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(117, 71, 44, 0.16);
}

.cart-btn i {
    margin-right: 7px;
}

.cart-btn:hover {
    background: #5c351f;
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(117, 71, 44, 0.20);
}

/* BUY NOW */

.buy-btn {
    background: #ffffff;
    border: 1px solid #cdaF99;
    color: #75472c;
}

.buy-btn:hover {
    background: #f8eee7;
    border-color: #9a5f3b;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(117, 71, 44, 0.08);
}


/* =========================================================
   PRODUCT BENEFITS
========================================================= */

.product-benefits {
    display: flex;
    align-items: center;
    gap: 28px;
    padding-top: 22px;
    border-top: 1px solid #e6d9cf;
}

.product-benefits > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.product-benefits i {
    color: #a76135;
    font-size: 18px;
}

.product-benefits span {
    color: #5d4b40;
    font-size: 13px;
    font-weight: 600;
}


/* =========================================================
   PRODUCT DESCRIPTION SECTION
========================================================= */

.description {
    width: min(1000px, 90%);
    margin: 0 auto;
    padding: 55px 0 65px;
    border-top: 1px solid #e8ddd5;
}

.description h2 {
    margin-bottom: 20px;
    color: #3d2519;
    font-family: 'Playfair Display', serif;
    font-size: 32px;
}

.description p {
    max-width: 900px;
    margin-bottom: 14px;
    color: #74665e;
    font-size: 15px;
    line-height: 1.8;
}


/* =========================================================
   RELATED PRODUCTS
========================================================= */

.products {
    width: min(1180px, 90%);
    margin: 0 auto;
    padding: 60px 0 75px;
}

.products > h2 {
    margin-bottom: 30px;
    text-align: center;
    color: #3d2519;
    font-family: 'Playfair Display', serif;
    font-size: 34px;
}


/* PRODUCT GRID */

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


/* PRODUCT CARD */

.product-card {
    background: #ffffff;
    border: 1px solid #eee1d7;
    border-radius: 18px;
    padding: 15px;
    overflow: hidden;
    text-align: center;
    box-shadow: 0 8px 25px rgba(65, 39, 24, 0.06);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(65, 39, 24, 0.10);
}


/* PRODUCT IMAGE */

.product-card img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    border-radius: 13px;
    margin-bottom: 15px;
}


/* PRODUCT NAME */

.product-card h3 {
    margin-bottom: 7px;
    color: #3d2519;
    font-family: 'Playfair Display', serif;
    font-size: 20px;
}


/* PRODUCT PRICE */

.product-card p {
    margin-bottom: 16px;
    color: #8a5232;
    font-size: 17px;
    font-weight: 700;
}


/* VIEW PRODUCT */

.product-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 45px;
    padding: 10px 15px;
    background: #75472c;
    border-radius: 9px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.product-btn:hover {
    background: #5c351f;
    transform: translateY(-1px);
}


/* =========================================================
   REVIEWS
========================================================= */

.reviews {
    width: min(1180px, 90%);
    margin: 0 auto;
    padding: 65px 0 90px;
    border-top: 1px solid #e8ddd5;
}

.reviews > h2 {
    margin-bottom: 30px;
    text-align: center;
    color: #3d2519;
    font-family: 'Playfair Display', serif;
    font-size: 34px;
}


/* REVIEW GRID */

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


/* REVIEW CARD */

.review {
    padding: 25px;
    background: #ffffff;
    border: 1px solid #eee1d7;
    border-radius: 16px;
    box-shadow: 0 8px 25px rgba(65, 39, 24, 0.05);
}


/* REVIEW STARS */

.review .stars {
    margin-bottom: 12px;
    color: #c98222;
    font-size: 16px;
    letter-spacing: 2px;
}


/* REVIEW TEXT */

.review p {
    margin-bottom: 15px;
    color: #67564b;
    font-size: 14px;
    line-height: 1.7;
}


/* REVIEW NAME */

.review h4 {
    color: #4a3023;
    font-size: 14px;
    font-weight: 700;
}


/* =========================================================
   BUY NOW CONFIRMATION MODAL
========================================================= */

/*
   IMPORTANT:
   This makes the modal stay in the center of
   the browser screen instead of appearing at
   the bottom of the Product Details page.
*/

.action-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px;
    background: rgba(40, 24, 16, 0.58);
    z-index: 99999 !important;
    overflow-y: auto;
    animation: modalFadeIn 0.2s ease;
}


/* MODAL BOX */

.action-modal-box {
    width: 100%;
    max-width: 440px;
    padding: 32px 30px;
    background: #ffffff;
    border: 1px solid #eadbd0;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 25px 70px rgba(40, 24, 16, 0.28);
    animation: modalScaleIn 0.2s ease;
    position: relative;
    z-index: 100000;
}


/* MODAL ICON */

.action-modal-icon {
    width: 65px;
    height: 65px;
    margin: 0 auto 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f6e8dc;
    border-radius: 50%;
    color: #75472c;
    font-size: 27px;
}


/* MODAL TITLE */

.action-modal-box h2 {
    margin-bottom: 10px;
    color: #3d2519;
    font-family: 'Playfair Display', serif;
    font-size: 25px;
    line-height: 1.2;
}


/* MODAL MESSAGE */

.action-modal-box p {
    max-width: 360px;
    margin: 0 auto 25px;
    color: #74665e;
    font-size: 14px;
    line-height: 1.65;
}


/* MODAL BUTTONS */

.action-modal-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 11px;
}


/* MODAL BUTTON */

.action-modal-buttons button {
    width: 100%;
    min-height: 46px;
    padding: 11px 15px;
    border-radius: 10px;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}


/* CANCEL */

.modal-cancel {
    background: #ffffff;
    border: 1px solid #d8c4b5;
    color: #75472c;
}

.modal-cancel:hover {
    background: #f8f0ea;
    border-color: #b9947d;
}


/* CONFIRM */

.modal-confirm {
    background: #75472c;
    border: 1px solid #75472c;
    color: #ffffff;
}

.modal-confirm:hover {
    background: #5c351f;
    border-color: #5c351f;
    transform: translateY(-1px);
}


/* =========================================================
   MODAL ANIMATIONS
========================================================= */

@keyframes modalFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@keyframes modalScaleIn {
    from {
        opacity: 0;
        transform: scale(0.94) translateY(10px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}


/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media (max-width: 1000px) {

    header {
        padding: 0 4%;
    }

    header nav {
        gap: 20px;
    }

    .icons {
        gap: 14px;
    }

    .product-details {
        width: 92%;
        gap: 45px;
        padding-top: 50px;
    }

    .product-image img {
        height: 430px;
    }

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

    .review-box {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   RESPONSIVE - 800px
========================================================= */

@media (max-width: 800px) {

    header {
        height: auto;
        min-height: 70px;
        padding: 10px 5%;
        flex-wrap: wrap;
        gap: 10px;
    }

    .logo img {
        width: 65px;
        height: 65px;
    }

    header nav {
        order: 3;
        width: 100%;
        justify-content: center;
        gap: 20px;
        padding: 5px 0 8px;
        overflow-x: auto;
    }

    header nav a {
        white-space: nowrap;
        font-size: 13px;
    }

    .icons {
        margin-left: auto;
    }

    .product-details {
        grid-template-columns: 1fr;
        width: min(650px, 90%);
        padding: 45px 0 60px;
        gap: 40px;
    }

    .product-image img {
        height: 450px;
    }

    .product-info h1 {
        font-size: 46px;
    }

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

}


/* =========================================================
   RESPONSIVE - MOBILE
========================================================= */

@media (max-width: 600px) {

    header {
        padding: 8px 5%;
    }

    .logo img {
        width: 58px;
        height: 58px;
    }

    .icons {
        gap: 12px;
    }

    .icons a {
        font-size: 15px;
    }

    header nav {
        gap: 16px;
        justify-content: flex-start;
        padding-left: 3px;
    }

    .product-details {
        width: 90%;
        padding: 35px 0 50px;
        gap: 32px;
    }

    .product-image {
        padding: 12px;
        border-radius: 20px;
    }

    .product-image img {
        height: 350px;
        border-radius: 14px;
    }

    .product-info h1 {
        font-size: 40px;
    }

    .product-info h2 {
        font-size: 30px;
    }

    .main-description {
        font-size: 14px;
    }

    .buttons {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .product-benefits {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }

    .description,
    .products,
    .reviews {
        width: 90%;
    }

    .description h2,
    .products > h2,
    .reviews > h2 {
        font-size: 28px;
    }

    .product-container {
        grid-template-columns: 1fr;
    }

    .product-card img {
        height: 260px;
    }

    .review-box {
        grid-template-columns: 1fr;
    }

    /* MODAL */

    .action-modal {
        padding: 16px;
    }

    .action-modal-box {
        max-width: 380px;
        padding: 26px 20px;
        border-radius: 17px;
    }

    .action-modal-box h2 {
        font-size: 22px;
    }

    .action-modal-box p {
        font-size: 13px;
    }

    .action-modal-buttons {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    header {
        padding-left: 4%;
        padding-right: 4%;
    }

    .logo img {
        width: 52px;
        height: 52px;
    }

    .icons {
        gap: 9px;
    }

    .icons a {
        font-size: 14px;
    }

    header nav {
        gap: 13px;
    }

    header nav a {
        font-size: 12px;
    }

    .product-image img {
        height: 300px;
    }

    .product-info h1 {
        font-size: 35px;
    }

    .product-info h2 {
        font-size: 27px;
    }

    .product-benefits span {
        font-size: 12px;
    }

    .action-modal-box {
        padding: 23px 17px;
    }

    .action-modal-icon {
        width: 55px;
        height: 55px;
        font-size: 23px;
    }

}


/* =========================================================
   RELATED PRODUCTS: 3 sa taas, 2 sa baba (naka-center)
   (nasa pinakababa para ito ang manaig)
========================================================= */

section.products .product-container {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 24px !important;
}

section.products .product-container > .product-card {
    flex: 0 0 calc((100% - 48px) / 3) !important;
    max-width: calc((100% - 48px) / 3) !important;
    width: auto !important;
    margin: 0 !important;
}

@media (max-width: 800px) {
    section.products .product-container > .product-card {
        flex: 0 0 calc((100% - 24px) / 2) !important;
        max-width: calc((100% - 24px) / 2) !important;
    }
}

@media (max-width: 600px) {
    section.products .product-container > .product-card {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}
/* =========================================================
   COCO PIE - PRODUCT PAGE
   Modern • Professional • Responsive
========================================================= */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');


/* =========================================================
   PRODUCT PAGE VARIABLES
========================================================= */

:root {
    --cp-bg: #faf7f3;
    --cp-white: #ffffff;
    --cp-brown-dark: #3d2519;
    --cp-brown: #6f432b;
    --cp-brown-light: #9a5f3b;
    --cp-cream: #f2dfc6;
    --cp-cream-light: #f8eee3;
    --cp-border: #e8d9cc;
    --cp-text: #3f3028;
    --cp-muted: #8a7668;

    --cp-shadow: 0 12px 35px rgba(61, 37, 25, 0.08);
    --cp-shadow-hover: 0 18px 45px rgba(61, 37, 25, 0.14);
}


/* =========================================================
   SHOP PAGE
   (walang side padding dito para full width ang hero;
    nasa .shop-layout ang side space)
========================================================= */

.shop-page {
    width: 100%;
    min-height: 100vh;
    box-sizing: border-box;

    padding: 0 0 75px;

    background: #fbf6f1;

    font-family: 'DM Sans', sans-serif;
}


/* =========================================================
   SHOP HEADING (HERO) - kapareho ng Categories
========================================================= */

.shop-heading {
    position: relative;
    box-sizing: border-box;

    width: 100%;
    max-width: none;

    margin: 0 0 45px;
    padding: 100px 7% 110px;

    text-align: center;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 15% 25%,
            rgba(255, 255, 255, 0.85),
            transparent 40%
        ),
        linear-gradient(
            135deg,
            #fbf3ea 0%,
            #f3e2d1 55%,
            #ecd6c1 100%
        );
}

/* bilog sa kanang taas */
.shop-heading::before {
    content: "";
    position: absolute;
    top: -90px;
    right: -70px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: rgba(154, 95, 59, 0.10);
    pointer-events: none;
}

/* bilog sa kaliwang baba */
.shop-heading::after {
    content: "";
    position: absolute;
    bottom: -80px;
    left: -60px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(154, 95, 59, 0.12);
    pointer-events: none;
}

.shop-heading > * {
    position: relative;
    z-index: 1;
}

.shop-heading h1 {
    margin: 0 0 14px;

    font-family: 'Playfair Display', serif;
    font-size: clamp(36px, 5vw, 54px);
    font-weight: 700;
    color: var(--cp-brown-dark);

    letter-spacing: -1px;
}

/* maikling brown na guhit sa ilalim ng title
   (burahin ito kung may guhit na sa HTML mo) */
.shop-heading h1::after {
    content: "";
    display: block;
    width: 70px;
    height: 3px;
    margin: 18px auto 0;
    border-radius: 999px;
    background: var(--cp-brown-light);
}

.shop-heading p {
    max-width: 600px;
    margin: 0 auto;

    font-size: 16px;
    line-height: 1.7;
    color: var(--cp-muted);
}


/* =========================================================
   SHOP LAYOUT
   WIDER CONTENT AREA
========================================================= */

.shop-layout {
    width: 100%;
    max-width: 1450px;
    box-sizing: border-box;

    margin: 0 auto;

    /* SMALLER SIDE SPACE */
    padding: 0 2%;

    display: grid;

    grid-template-columns:
        220px
        minmax(0, 1fr);

    gap: 28px;

    align-items: start;
}


/* =========================================================
   SIDEBAR
========================================================= */

.shop-sidebar {
    position: sticky;
    top: 95px;

    width: 100%;
    box-sizing: border-box;

    background: rgba(255, 255, 255, 0.95);

    border: 1px solid var(--cp-border);
    border-radius: 18px;

    padding: 22px 16px;

    box-shadow: var(--cp-shadow);

    backdrop-filter: blur(8px);
}

.shop-sidebar h3 {
    margin: 0 0 16px;
    padding: 0 8px;

    font-family: 'Playfair Display', serif;
    font-size: 20px;

    color: var(--cp-brown-dark);
}


/* =========================================================
   CATEGORY LINKS
========================================================= */

.shop-sidebar .category {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 44px;

    padding: 11px 13px;
    margin-bottom: 5px;

    border-radius: 10px;

    text-decoration: none;

    font-size: 14px;
    font-weight: 600;

    color: var(--cp-text);

    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}

.shop-sidebar .category:hover {
    background: var(--cp-cream-light);
    color: var(--cp-brown);

    transform: translateX(3px);
}

.shop-sidebar .category-active {
    background: linear-gradient(
        135deg,
        var(--cp-brown),
        var(--cp-brown-light)
    );

    color: #ffffff !important;

    box-shadow:
        0 7px 18px rgba(111, 67, 43, 0.20);
}

.shop-sidebar .category-active:hover {
    background: linear-gradient(
        135deg,
        var(--cp-brown),
        var(--cp-brown-light)
    );

    transform: none;
}


/* =========================================================
   PRODUCTS AREA
========================================================= */

.shop-products {
    width: 100%;
    min-width: 0;
}


/* =========================================================
   TOP BAR
========================================================= */

.shop-top {
    width: 100%;
    box-sizing: border-box;

    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 22px;
    padding: 15px 18px;

    background: var(--cp-white);

    border: 1px solid var(--cp-border);
    border-radius: 14px;

    box-shadow:
        0 7px 22px rgba(61, 37, 25, 0.05);
}

/* isang linya lang ang "Our Products" */
.shop-top span {
    flex-shrink: 0;
    margin-right: 16px;

    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;

    color: var(--cp-brown-dark);
}


#sortProducts {
    min-width: 180px;

    padding: 10px 13px;

    border: 1px solid var(--cp-border);
    border-radius: 9px;

    background: #ffffff;
    color: var(--cp-text);

    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 500;

    outline: none;
    cursor: pointer;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

#sortProducts:hover {
    border-color: var(--cp-brown-light);
}

#sortProducts:focus {
    border-color: var(--cp-brown);

    box-shadow:
        0 0 0 3px rgba(111, 67, 43, 0.10);
}


/* =========================================================
   PRODUCT GRID
========================================================= */

.shop-product-grid {
    width: 100%;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 22px;
}


/* =========================================================
   PRODUCT CARD
========================================================= */

.shop-product-grid .product-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 12px;

    background: var(--cp-white);

    border: 1px solid var(--cp-border);
    border-radius: 18px;

    overflow: hidden;

    box-shadow:
        0 8px 25px rgba(61, 37, 25, 0.06);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

.shop-product-grid .product-card:hover {
    transform: translateY(-7px);

    box-shadow:
        var(--cp-shadow-hover);

    border-color: #d8c2b1;
}


/* =========================================================
   PRODUCT IMAGE
========================================================= */

.shop-product-grid .product-card > img {
    width: 100%;
    height: 210px;

    display: block;

    object-fit: cover;

    border-radius: 13px;

    background: var(--cp-cream-light);

    transition:
        transform 0.45s ease;
}

.shop-product-grid .product-card:hover > img {
    transform: scale(1.035);
}


/* =========================================================
   PRODUCT NAME
========================================================= */

.shop-product-grid .product-card h3 {
    margin: 16px 5px 6px;

    font-family: 'Playfair Display', serif;

    font-size: 19px;
    font-weight: 700;

    line-height: 1.3;

    color: var(--cp-brown-dark);
}


/* =========================================================
   PRODUCT PRICE
========================================================= */

.shop-product-grid .product-card > p {
    margin: 0 5px 15px;

    font-size: 17px;
    font-weight: 700;

    color: var(--cp-brown-light);
}


/* =========================================================
   PRODUCT ACTIONS
   BUTTONS UNCHANGED
========================================================= */

.product-actions {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr) !important;

    gap: 8px !important;

    margin-top: auto !important;

    box-sizing: border-box !important;
}


/* =========================================================
   VIEW PRODUCT BUTTON
========================================================= */

.product-actions .product-btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    height: 44px !important;
    min-height: 44px !important;

    box-sizing: border-box !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 8px !important;
    margin: 0 !important;

    border: 1px solid var(--cp-brown) !important;
    border-radius: 10px !important;

    background: #ffffff !important;

    color: var(--cp-brown) !important;

    text-decoration: none !important;
    text-align: center !important;

    font-family: 'DM Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;

    line-height: 1 !important;

    white-space: nowrap !important;
    overflow: hidden !important;

    cursor: pointer !important;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.2s ease,
        box-shadow 0.25s ease !important;
}

.product-actions .product-btn:hover {
    background: var(--cp-brown) !important;
    color: #ffffff !important;

    transform: translateY(-2px);

    box-shadow:
        0 6px 15px rgba(111, 67, 43, 0.18);
}


/* =========================================================
   ADD TO CART BUTTON
========================================================= */

.product-actions .add-to-cart,
.product-actions .btn.add-to-cart {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    height: 44px !important;
    min-height: 44px !important;

    box-sizing: border-box !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 5px !important;

    padding: 0 6px !important;
    margin: 0 !important;

    border: 1px solid var(--cp-brown) !important;
    border-radius: 10px !important;

    background: linear-gradient(
        135deg,
        var(--cp-brown),
        var(--cp-brown-light)
    ) !important;

    color: #ffffff !important;

    font-family: 'DM Sans', sans-serif !important;

    font-size: 11px !important;
    font-weight: 700 !important;

    line-height: 1 !important;

    text-align: center !important;

    white-space: nowrap !important;
    overflow: hidden !important;

    cursor: pointer !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    transition:
        transform 0.2s ease,
        box-shadow 0.25s ease,
        filter 0.25s ease !important;
}

.product-actions .add-to-cart:hover,
.product-actions .btn.add-to-cart:hover {
    transform: translateY(-2px) !important;

    box-shadow:
        0 7px 17px rgba(111, 67, 43, 0.22) !important;

    filter: brightness(1.04);
}


/* =========================================================
   BUTTON ACTIVE
========================================================= */

.product-actions .add-to-cart:active,
.product-actions .btn.add-to-cart:active,
.product-actions .product-btn:active {
    transform: translateY(0) !important;
}


/* =========================================================
   CART ICON
========================================================= */

.product-actions .add-to-cart i,
.product-actions .btn.add-to-cart i {
    flex: 0 0 auto;

    font-size: 11px;
}


/* =========================================================
   IMPORTANT WIDTH RESET
========================================================= */

.product-actions .btn {
    float: none !important;

    position: static !important;

    left: auto !important;
    right: auto !important;

    transform-origin: center !important;
}

.product-actions > * {
    min-width: 0 !important;
}


/* =========================================================
   EMPTY RESULT
========================================================= */

#productGrid:empty::before {
    content: "No products found.";

    display: block;

    grid-column: 1 / -1;

    padding: 50px 20px;

    text-align: center;

    color: var(--cp-muted);

    background: #ffffff;

    border: 1px dashed var(--cp-border);
    border-radius: 15px;
}


/* =========================================================
   HEADER ACTIVE NAV
========================================================= */

header nav a.active {
    color: var(--cp-brown) !important;
    font-weight: 700;
}

header nav a {
    transition:
        color 0.25s ease,
        transform 0.2s ease;
}

header nav a:hover {
    color: var(--cp-brown-light);
}


/* =========================================================
   RESPONSIVE - 1100px
========================================================= */

@media (max-width: 1100px) {

    .shop-layout {
        max-width: 100%;
        grid-template-columns: 200px minmax(0, 1fr);
        gap: 22px;
    }

    .shop-product-grid {
        gap: 17px;
    }

    .shop-product-grid .product-card > img {
        height: 190px;
    }

    .product-actions {
        gap: 7px !important;
    }

    .product-actions .product-btn {
        font-size: 11px !important;
    }

    .product-actions .add-to-cart,
    .product-actions .btn.add-to-cart {
        font-size: 10px !important;
    }
}


/* =========================================================
   RESPONSIVE - 900px
========================================================= */

@media (max-width: 900px) {

    .shop-layout {
        width: 100%;
        grid-template-columns: 1fr;
    }

    .shop-sidebar {
        position: static;

        display: flex;
        align-items: center;

        gap: 7px;

        padding: 12px;

        overflow-x: auto;

        white-space: nowrap;
    }

    .shop-sidebar h3 {
        display: none;
    }

    .shop-sidebar .category {
        flex: 0 0 auto;

        margin: 0;

        min-height: 40px;

        padding: 9px 14px;
    }

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


/* =========================================================
   RESPONSIVE - 760px
========================================================= */

@media (max-width: 760px) {

    .shop-heading {
        margin-bottom: 30px;
    }

    .shop-heading h1 {
        font-size: 38px;
    }

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

    .shop-product-grid .product-card > img {
        height: 220px;
    }

    .product-actions {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr) !important;

        gap: 7px !important;
    }

    .product-actions .product-btn,
    .product-actions .add-to-cart,
    .product-actions .btn.add-to-cart {
        height: 42px !important;
        min-height: 42px !important;

        font-size: 11px !important;
    }
}


/* =========================================================
   RESPONSIVE - 600px
========================================================= */

@media (max-width: 600px) {

    .shop-page {
        padding: 0 0 60px;
    }

    .shop-heading {
        padding: 70px 6% 75px;
        margin-bottom: 30px;
    }

    .shop-heading h1 {
        font-size: 34px;
    }

    .shop-heading p {
        font-size: 14px;
    }

    .shop-top {
        align-items: flex-start;

        flex-direction: column;

        gap: 12px;

        padding: 13px;
    }

    #sortProducts {
        width: 100%;
    }

    .shop-product-grid {
        gap: 13px;
    }

    .shop-product-grid .product-card {
        padding: 9px;

        border-radius: 14px;
    }

    .shop-product-grid .product-card > img {
        height: 180px;

        border-radius: 10px;
    }

    .shop-product-grid .product-card h3 {
        margin-top: 12px;

        font-size: 16px;
    }

    .shop-product-grid .product-card > p {
        font-size: 15px;

        margin-bottom: 11px;
    }


    /* =====================================================
       KEEP BUTTONS SIDE BY SIDE
    ===================================================== */

    .product-actions {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr) !important;

        gap: 6px !important;
    }

    .product-actions .product-btn,
    .product-actions .add-to-cart,
    .product-actions .btn.add-to-cart {
        width: 100% !important;

        height: 40px !important;
        min-height: 40px !important;

        padding: 0 4px !important;

        font-size: 10px !important;

        border-radius: 8px !important;
    }

    .product-actions .add-to-cart i,
    .product-actions .btn.add-to-cart i {
        font-size: 10px;
    }
}


/* =========================================================
   RESPONSIVE - 430px
========================================================= */

@media (max-width: 430px) {

    .shop-product-grid {
        grid-template-columns: 1fr 1fr;

        gap: 10px;
    }

    .shop-product-grid .product-card > img {
        height: 145px;
    }

    .shop-product-grid .product-card h3 {
        font-size: 14px;
    }

    .shop-product-grid .product-card > p {
        font-size: 14px;
    }

    .product-actions {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr) !important;

        gap: 5px !important;
    }

    .product-actions .product-btn,
    .product-actions .add-to-cart,
    .product-actions .btn.add-to-cart {
        width: 100% !important;

        height: 38px !important;
        min-height: 38px !important;

        padding: 0 3px !important;

        font-size: 9px !important;

        border-radius: 8px !important;
    }

    .product-actions .add-to-cart i,
    .product-actions .btn.add-to-cart i {
        font-size: 9px;
    }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 350px) {

    .shop-product-grid {
        grid-template-columns: 1fr;
    }

    .shop-product-grid .product-card > img {
        height: 210px;
    }

    .product-actions {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr) !important;
    }

    .product-actions .product-btn,
    .product-actions .add-to-cart,
    .product-actions .btn.add-to-cart {
        height: 40px !important;
        min-height: 40px !important;

        font-size: 11px !important;
    }
}
/* =========================================================
   BUKOPIE ADMIN - PRODUCTS
   Modern • Professional • Responsive
========================================================= */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');


/* =========================================================
   VARIABLES
========================================================= */

:root {
    --brown-dark: #3b2418;
    --brown: #6f432b;
    --brown-light: #9a6747;

    --cream: #f8f3ed;
    --cream-dark: #eee2d5;

    --white: #ffffff;

    --text: #35251d;
    --muted: #8a786d;

    --border: #eadfd5;

    --green: #4e805a;
    --green-bg: #eaf4ec;

    --yellow: #9a6b27;
    --yellow-bg: #fbf1dc;

    --red: #a9574d;
    --red-bg: #fbeceb;

    --shadow: 0 8px 25px rgba(65, 39, 24, 0.07);
}


/* =========================================================
   RESET
========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

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


/* =========================================================
   SIDEBAR
========================================================= */

.sidebar {
    position: fixed;
    left: 0;
    top: 0;

    width: 220px;
    height: 100vh;

    padding: 24px 14px;

    background: var(--brown-dark);

    z-index: 1000;

    overflow-y: auto;
}


/* BRAND */

.admin-brand {
    display: flex;
    align-items: center;
    gap: 10px;

    padding: 5px 10px 25px;

    color: #ffffff;
}

.admin-brand i {
    width: 35px;
    height: 35px;

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

    border-radius: 9px;

    background: rgba(255,255,255,0.12);

    color: #f1d3b4;

    font-size: 17px;
}

.admin-brand h2 {
    font-family: 'Playfair Display', serif;
    font-size: 21px;
    font-weight: 700;
}


/* SIDEBAR LIST */

.sidebar ul {
    list-style: none;
}

.sidebar li {
    margin-bottom: 5px;
}

.sidebar li a {
    display: flex;
    align-items: center;
    gap: 12px;

    min-height: 43px;

    padding: 10px 12px;

    border-radius: 9px;

    color: #e9ddd4;

    text-decoration: none;

    font-size: 13px;
    font-weight: 600;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.2s ease;
}

.sidebar li a i {
    width: 18px;

    text-align: center;

    font-size: 14px;
}

.sidebar li a:hover {
    background: rgba(255,255,255,0.08);
    color: #ffffff;

    transform: translateX(2px);
}


/* ACTIVE */

.sidebar li.active a {
    background: linear-gradient(
        135deg,
        #6f432b,
        #8c5940
    );

    color: #ffffff;

    box-shadow: 0 7px 18px rgba(0,0,0,0.15);
}


/* =========================================================
   MAIN DASHBOARD
========================================================= */

.dashboard {
    margin-left: 220px;

    min-height: 100vh;

    padding: 22px 28px 45px;
}


/* =========================================================
   DASHBOARD HEADER
========================================================= */

.dashboard-header {
    min-height: 78px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 15px 20px;

    margin-bottom: 18px;

    background: var(--white);

    border: 1px solid var(--border);

    border-radius: 13px;

    box-shadow: 0 5px 18px rgba(65,39,24,0.05);
}

.dashboard-header h1 {
    margin-bottom: 3px;

    font-family: 'Playfair Display', serif;

    font-size: 27px;

    color: var(--brown-dark);
}

.dashboard-header p {
    color: var(--muted);

    font-size: 13px;
}


/* ADMIN PROFILE */

.admin-profile {
    display: flex;
    align-items: center;
    gap: 8px;

    padding: 8px 12px;

    background: var(--cream);

    border: 1px solid var(--border);

    border-radius: 20px;

    color: var(--brown-dark);

    font-size: 12px;
    font-weight: 700;

    white-space: nowrap;
}

.admin-profile i {
    font-size: 20px;
    color: var(--brown);
}


/* =========================================================
   PRODUCT MANAGEMENT
========================================================= */

.product-management {
    background: var(--white);

    border: 1px solid var(--border);

    border-radius: 14px;

    padding: 18px;

    box-shadow: var(--shadow);
}


/* =========================================================
   MANAGEMENT HEADER
========================================================= */

.management-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding-bottom: 16px;

    border-bottom: 1px solid var(--border);
}

.management-header h2 {
    margin-bottom: 3px;

    font-family: 'Playfair Display', serif;

    font-size: 19px;

    color: var(--brown-dark);
}

.management-header p {
    color: var(--muted);

    font-size: 12px;
}


/* ADD PRODUCT BUTTON */

.management-header .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    min-height: 39px;

    padding: 9px 15px;

    border: none;
    border-radius: 8px;

    background: linear-gradient(
        135deg,
        var(--brown),
        var(--brown-light)
    );

    color: #ffffff;

    font-family: 'DM Sans', sans-serif;

    font-size: 12px;
    font-weight: 700;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        box-shadow 0.25s ease;
}

.management-header .btn:hover {
    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(111,67,43,0.20);
}


/* =========================================================
   SEARCH & FILTER
========================================================= */

.product-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    margin: 16px 0;
}


/* SEARCH */

.admin-search {
    position: relative;

    width: 100%;
    max-width: 360px;
}

.admin-search i {
    position: absolute;

    left: 13px;
    top: 50%;

    transform: translateY(-50%);

    color: var(--muted);

    font-size: 13px;

    pointer-events: none;
}

.admin-search input {
    width: 100%;

    height: 40px;

    padding: 0 13px 0 37px;

    border: 1px solid var(--border);

    border-radius: 8px;

    outline: none;

    background: #ffffff;

    color: var(--text);

    font-family: 'DM Sans', sans-serif;

    font-size: 13px;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.admin-search input::placeholder {
    color: #a39389;
}

.admin-search input:focus {
    border-color: var(--brown-light);

    box-shadow: 0 0 0 3px rgba(111,67,43,0.08);
}


/* CATEGORY FILTER */

#categoryFilter {
    width: 175px;

    height: 40px;

    padding: 0 12px;

    border: 1px solid var(--border);

    border-radius: 8px;

    outline: none;

    background: #ffffff;

    color: var(--text);

    font-family: 'DM Sans', sans-serif;

    font-size: 13px;

    cursor: pointer;
}

#categoryFilter:focus {
    border-color: var(--brown-light);

    box-shadow: 0 0 0 3px rgba(111,67,43,0.08);
}


/* =========================================================
   PRODUCT TABLE
========================================================= */

.product-table {
    width: 100%;

    overflow-x: auto;

    border: 1px solid var(--border);

    border-radius: 10px;
}


/* TABLE */

.product-table table {
    width: 100%;

    min-width: 760px;

    border-collapse: collapse;
}


/* TABLE HEADER */

.product-table thead {
    background: #faf6f1;
}

.product-table th {
    padding: 12px 13px;

    border-bottom: 1px solid var(--border);

    color: #765f51;

    font-size: 11px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 0.4px;

    text-align: left;

    white-space: nowrap;
}


/* TABLE BODY */

.product-table td {
    padding: 11px 13px;

    border-bottom: 1px solid #f0e7df;

    color: var(--text);

    font-size: 13px;

    vertical-align: middle;
}

.product-table tbody tr {
    transition: background 0.2s ease;
}

.product-table tbody tr:hover {
    background: #fcfaf7;
}

.product-table tbody tr:last-child td {
    border-bottom: none;
}


/* =========================================================
   ADMIN PRODUCT
========================================================= */

.admin-product {
    display: flex;
    align-items: center;

    gap: 11px;

    min-width: 190px;
}

.admin-product img {
    width: 48px;
    height: 48px;

    flex-shrink: 0;

    object-fit: cover;

    border-radius: 8px;

    background: var(--cream-light);

    border: 1px solid var(--border);
}

.admin-product span {
    color: var(--brown-dark);

    font-size: 13px;
    font-weight: 700;

    line-height: 1.3;
}


/* =========================================================
   STOCK STATUS
========================================================= */

.stock {
    display: inline-flex;
    align-items: center;

    padding: 5px 9px;

    border-radius: 20px;

    font-size: 11px;

    font-weight: 700;

    white-space: nowrap;
}


/* AVAILABLE */

.stock.available {
    background: var(--green-bg);

    color: var(--green);
}


/* LOW STOCK */

.stock.low {
    background: var(--yellow-bg);

    color: var(--yellow);
}


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

.edit-btn,
.delete-btn {
    width: 32px;
    height: 32px;

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

    margin-right: 4px;

    border-radius: 7px;

    border: 1px solid transparent;

    background: transparent;

    cursor: pointer;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}


/* EDIT */

.edit-btn {
    color: var(--brown);
    background: #f6eee7;

    border-color: #ead9cc;
}

.edit-btn:hover {
    background: var(--brown);

    color: #ffffff;

    transform: translateY(-2px);
}


/* DELETE */

.delete-btn {
    color: var(--red);
    background: var(--red-bg);

    border-color: #f0d6d3;
}

.delete-btn:hover {
    background: var(--red);

    color: #ffffff;

    transform: translateY(-2px);
}


/* =========================================================
   SCROLLBAR
========================================================= */

.product-table::-webkit-scrollbar {
    height: 7px;
}

.product-table::-webkit-scrollbar-track {
    background: #f5eee8;
}

.product-table::-webkit-scrollbar-thumb {
    background: #c7ad9b;

    border-radius: 10px;
}

.product-table::-webkit-scrollbar-thumb:hover {
    background: var(--brown-light);
}


/* =========================================================
   RESPONSIVE - 1000px
========================================================= */

@media (max-width: 1000px) {

    .sidebar {
        width: 200px;
    }

    .dashboard {
        margin-left: 200px;

        padding: 20px;
    }

    .product-management {
        padding: 15px;
    }

}


/* =========================================================
   RESPONSIVE - 800px
========================================================= */

@media (max-width: 800px) {

    .sidebar {
        position: relative;

        width: 100%;
        height: auto;

        padding: 12px 15px;
    }

    .admin-brand {
        padding: 5px 8px 12px;
    }

    .sidebar ul {
        display: flex;

        gap: 5px;

        overflow-x: auto;
    }

    .sidebar li {
        flex: 0 0 auto;

        margin: 0;
    }

    .sidebar li a {
        min-height: 38px;

        padding: 8px 11px;

        font-size: 12px;
    }

    .dashboard {
        margin-left: 0;

        padding: 18px 15px 35px;
    }

    .dashboard-header {
        min-height: 70px;
    }

}


/* =========================================================
   RESPONSIVE - 650px
========================================================= */

@media (max-width: 650px) {

    .dashboard-header {
        align-items: flex-start;

        flex-direction: column;

        padding: 15px;
    }

    .admin-profile {
        align-self: flex-start;
    }

    .management-header {
        align-items: flex-start;

        flex-direction: column;
    }

    .management-header .btn {
        width: 100%;
    }

    .product-tools {
        align-items: stretch;

        flex-direction: column;
    }

    .admin-search {
        max-width: none;
    }

    #categoryFilter {
        width: 100%;
    }

}


/* =========================================================
   RESPONSIVE - 480px
========================================================= */

@media (max-width: 480px) {

    .dashboard {
        padding: 12px 10px 25px;
    }

    .dashboard-header {
        margin-bottom: 12px;

        border-radius: 11px;
    }

    .dashboard-header h1 {
        font-size: 23px;
    }

    .dashboard-header p {
        font-size: 12px;
    }

    .product-management {
        padding: 12px;

        border-radius: 11px;
    }

    .management-header h2 {
        font-size: 17px;
    }

    .management-header p {
        font-size: 11px;
    }

    .product-table th {
        padding: 10px;
    }

    .product-table td {
        padding: 9px 10px;
    }

}

/* =========================================================
   COCO PIE - MY PROFILE
   Modern • Clean • Responsive
========================================================= */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');


/* =========================================================
   PROFILE PAGE
========================================================= */

.profile-page {
    width: 100%;
    max-width: 1180px;

    margin: 0 auto;

    padding: 55px 25px 70px;

    display: grid;

    grid-template-columns: 245px 1fr;

    gap: 28px;

    background:
        radial-gradient(
            circle at top right,
            rgba(217, 177, 137, 0.12),
            transparent 35%
        );
}


/* =========================================================
   PROFILE SIDEBAR
========================================================= */

.profile-sidebar {
    align-self: start;

    padding: 25px 18px;

    background: #ffffff;

    border: 1px solid #eadfd5;

    border-radius: 18px;

    text-align: center;

    box-shadow:
        0 10px 30px rgba(65, 39, 24, 0.07);

    position: sticky;

    top: 95px;
}


/* PROFILE IMAGE */

.profile-image {
    width: 88px;
    height: 88px;

    margin: 0 auto 13px;

    padding: 4px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #6f432b,
        #c18a62
    );
}

.profile-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    border-radius: 50%;

    display: block;

    background: #f8f3ed;
}


/* PROFILE NAME */

.profile-sidebar h2 {
    margin-bottom: 4px;

    color: #3b2418;

    font-family: 'Playfair Display', serif;

    font-size: 19px;
}

.profile-sidebar > p {
    margin-bottom: 22px;

    color: #8a786d;

    font-size: 12px;
}


/* =========================================================
   PROFILE MENU
========================================================= */

.profile-sidebar ul {
    list-style: none;

    text-align: left;
}

.profile-sidebar li {
    margin-bottom: 5px;
}

.profile-sidebar li a {
    display: flex;

    align-items: center;

    gap: 11px;

    padding: 10px 12px;

    border-radius: 9px;

    color: #6f625b;

    text-decoration: none;

    font-size: 13px;

    font-weight: 600;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.2s ease;
}

.profile-sidebar li a i {
    width: 18px;

    text-align: center;

    font-size: 14px;
}

.profile-sidebar li a:hover {
    background: #f8f1eb;

    color: #6f432b;

    transform: translateX(2px);
}


/* ACTIVE MENU */

.profile-sidebar li.active a {
    color: #ffffff;

    background: linear-gradient(
        135deg,
        #6f432b,
        #9a6747
    );

    box-shadow:
        0 6px 15px rgba(111, 67, 43, 0.18);
}


/* =========================================================
   PROFILE CONTENT
========================================================= */

.profile-content {
    min-width: 0;
}

.profile-content > h1 {
    margin: 0 0 20px;

    color: #3b2418;

    font-family: 'Playfair Display', serif;

    font-size: 31px;

    line-height: 1.2;
}


/* =========================================================
   ACCOUNT CARD
========================================================= */

.account-card {
    margin-bottom: 18px;

    padding: 22px;

    background: #ffffff;

    border: 1px solid #eadfd5;

    border-radius: 16px;

    box-shadow:
        0 8px 25px rgba(65, 39, 24, 0.06);
}

.account-card h2 {
    margin-bottom: 18px;

    color: #3b2418;

    font-family: 'Playfair Display', serif;

    font-size: 19px;

    border-bottom: 1px solid #eee3da;

    padding-bottom: 12px;
}


/* =========================================================
   FORM
========================================================= */

.account-card form {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 16px;
}


/* INPUT GROUP */

.input-group {
    display: flex;

    flex-direction: column;

    gap: 7px;
}

.input-group label {
    color: #5d4b40;

    font-size: 12px;

    font-weight: 700;
}


/* INPUT */

.input-group input {
    width: 100%;

    height: 42px;

    padding: 0 12px;

    border: 1px solid #e5d8ce;

    border-radius: 8px;

    outline: none;

    background: #ffffff;

    color: #3b2b22;

    font-family: 'DM Sans', sans-serif;

    font-size: 13px;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.input-group input:hover {
    background: #fdfbf9;
}

.input-group input:focus {
    border-color: #9a6747;

    background: #ffffff;

    box-shadow:
        0 0 0 3px rgba(111, 67, 43, 0.08);
}


/* DATE INPUT */

.input-group input[type="date"] {
    color: #5d4b40;
}


/* =========================================================
   SAVE BUTTON
========================================================= */

.account-card form .btn {
    grid-column: 1 / -1;

    justify-self: start;

    min-width: 145px;

    min-height: 40px;

    padding: 9px 18px;

    border: none;

    border-radius: 8px;

    background: linear-gradient(
        135deg,
        #6f432b,
        #9a6747
    );

    color: #ffffff;

    font-family: 'DM Sans', sans-serif;

    font-size: 12px;

    font-weight: 700;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        box-shadow 0.25s ease;
}

.account-card form .btn:hover {
    transform: translateY(-2px);

    box-shadow:
        0 8px 18px rgba(111, 67, 43, 0.20);
}


/* =========================================================
   ACCOUNT SECURITY
========================================================= */

.profile-btn {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    min-height: 40px;

    padding: 9px 15px;

    border: 1px solid #e2d2c6;

    border-radius: 8px;

    background: #f9f3ee;

    color: #6f432b;

    text-decoration: none;

    font-size: 12px;

    font-weight: 700;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.profile-btn:hover {
    background: #6f432b;

    color: #ffffff;

    transform: translateY(-2px);
}

.profile-btn i {
    font-size: 13px;
}


/* =========================================================
   REWARDS
========================================================= */

.reward-box {
    display: flex;

    align-items: center;

    gap: 15px;

    padding: 18px;

    border-radius: 12px;

    background:
        linear-gradient(
            135deg,
            #f9eee3,
            #fff8f1
        );

    border: 1px solid #ead9ca;
}


/* STAR */

.reward-box > i {
    width: 45px;
    height: 45px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: #6f432b;

    color: #f7d39c;

    font-size: 18px;
}


/* REWARD TEXT */

.reward-box h3 {
    margin-bottom: 3px;

    color: #4a2d1d;

    font-size: 17px;

    font-weight: 700;
}

.reward-box p {
    color: #806f64;

    font-size: 12px;

    line-height: 1.5;
}


/* =========================================================
   RESPONSIVE - 950px
========================================================= */

@media (max-width: 950px) {

    .profile-page {
        grid-template-columns: 210px 1fr;

        gap: 20px;

        padding: 40px 20px 60px;
    }

    .profile-sidebar {
        padding: 22px 14px;
    }

    .profile-content > h1 {
        font-size: 28px;
    }
}


/* =========================================================
   RESPONSIVE - 750px
========================================================= */

@media (max-width: 750px) {

    .profile-page {
        grid-template-columns: 1fr;

        padding: 35px 18px 55px;
    }

    .profile-sidebar {
        position: static;

        width: 100%;
    }

    .profile-sidebar ul {
        display: grid;

        grid-template-columns: 1fr 1fr;

        gap: 5px;
    }

    .profile-sidebar li {
        margin: 0;
    }

    .profile-sidebar li a {
        padding: 10px;
    }

    .profile-content > h1 {
        font-size: 27px;
    }
}


/* =========================================================
   RESPONSIVE - 600px
========================================================= */

@media (max-width: 600px) {

    .profile-page {
        padding: 28px 13px 45px;
    }

    .profile-sidebar {
        border-radius: 14px;
    }

    .profile-sidebar ul {
        grid-template-columns: 1fr;
    }

    .profile-content > h1 {
        margin-bottom: 15px;

        font-size: 25px;
    }

    .account-card {
        padding: 18px;

        border-radius: 13px;
    }

    .account-card h2 {
        font-size: 18px;
    }

    .account-card form {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .account-card form .btn {
        grid-column: auto;

        width: 100%;
    }

    .profile-btn {
        width: 100%;
    }
}


/* =========================================================
   RESPONSIVE - 400px
========================================================= */

@media (max-width: 400px) {

    .profile-page {
        padding: 22px 10px 40px;
    }

    .profile-sidebar {
        padding: 18px 12px;
    }

    .profile-image {
        width: 75px;
        height: 75px;
    }

    .profile-sidebar h2 {
        font-size: 17px;
    }

    .account-card {
        padding: 15px;
    }

    .account-card h2 {
        font-size: 17px;
    }

    .reward-box {
        align-items: flex-start;

        padding: 14px;

        gap: 11px;
    }

    .reward-box > i {
        width: 40px;
        height: 40px;

        font-size: 16px;
    }

    .reward-box h3 {
        font-size: 15px;
    }

    .reward-box p {
        font-size: 11px;
    }
}

/* =========================================================
   COCO PIE - REGISTER PAGE
   Modern • Clean • Professional • Responsive
========================================================= */

.register-page {
    min-height: calc(100vh - 70px);

    padding: 45px 20px 60px;

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

    background:
        radial-gradient(
            circle at top left,
            rgba(211, 170, 132, 0.16),
            transparent 35%
        ),
        radial-gradient(
            circle at bottom right,
            rgba(211, 170, 132, 0.12),
            transparent 35%
        ),
        #faf7f3;
}


/* =========================================================
   REGISTER CONTAINER
========================================================= */

.register-container {
    width: 100%;
    max-width: 900px;

    display: grid;

    grid-template-columns: 0.85fr 1.15fr;

    background: #ffffff;

    border: 1px solid #eadfd5;

    border-radius: 20px;

    overflow: hidden;

    box-shadow:
        0 18px 50px rgba(65, 39, 24, 0.10);
}


/* =========================================================
   IMAGE
========================================================= */

.register-image {
    position: relative;

    min-height: 650px;

    overflow: hidden;

    background: #eee2d5;
}

.register-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(50, 28, 17, 0.45),
            transparent 55%
        );
}

.register-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    transition: transform 0.5s ease;
}

.register-container:hover .register-image img {
    transform: scale(1.025);
}


/* =========================================================
   REGISTER FORM
========================================================= */

.register-form {
    padding: 38px 40px;

    background: #ffffff;
}

.register-form h1 {
    margin-bottom: 7px;

    color: #3b2418;

    font-family: 'Playfair Display', serif;

    font-size: 29px;

    line-height: 1.2;
}

.register-form > p {
    margin-bottom: 23px;

    color: #8a786d;

    font-size: 12px;

    line-height: 1.5;
}


/* =========================================================
   FORM
========================================================= */

#registerForm {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 13px 14px;
}


/* INPUT BOX */

.input-box {
    display: flex;

    flex-direction: column;

    gap: 6px;
}

.input-box label {
    color: #5b493e;

    font-size: 11px;

    font-weight: 700;
}


/* INPUT */

.input-box input {
    width: 100%;

    height: 40px;

    padding: 0 11px;

    border: 1px solid #e5d8ce;

    border-radius: 8px;

    outline: none;

    background: #ffffff;

    color: #3b2b22;

    font-family: 'DM Sans', sans-serif;

    font-size: 12px;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.input-box input::placeholder {
    color: #aaa09a;
}

.input-box input:hover {
    background: #fdfbf9;
}

.input-box input:focus {
    border-color: #9a6747;

    background: #ffffff;

    box-shadow:
        0 0 0 3px rgba(111, 67, 43, 0.08);
}


/* =========================================================
   TERMS
========================================================= */

.checkbox {
    grid-column: 1 / -1;

    margin-top: 2px;
}

.checkbox label {
    display: flex;

    align-items: flex-start;

    gap: 7px;

    color: #76665d;

    font-size: 10.5px;

    line-height: 1.5;

    cursor: pointer;
}

.checkbox input {
    width: 14px;
    height: 14px;

    flex-shrink: 0;

    margin-top: 1px;

    accent-color: #6f432b;

    cursor: pointer;
}

.checkbox a {
    color: #6f432b;

    font-weight: 700;

    text-decoration: none;
}

.checkbox a:hover {
    text-decoration: underline;
}


/* =========================================================
   CREATE ACCOUNT BUTTON
========================================================= */

#createAccountBtn {
    grid-column: 1 / -1;

    width: 100%;

    height: 42px;

    margin-top: 2px;

    border: none;

    border-radius: 8px;

    background:
        linear-gradient(
            135deg,
            #6f432b,
            #9a6747
        );

    color: #ffffff;

    font-family: 'DM Sans', sans-serif;

    font-size: 12px;

    font-weight: 700;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        box-shadow 0.25s ease,
        opacity 0.2s ease;
}

#createAccountBtn:hover {
    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(111, 67, 43, 0.20);
}

#createAccountBtn:active {
    transform: translateY(0);
}


/* =========================================================
   DIVIDER
========================================================= */

.divider {
    display: flex;

    align-items: center;

    gap: 12px;

    margin: 17px 0;
}

.divider::before,
.divider::after {
    content: "";

    flex: 1;

    height: 1px;

    background: #eadfd5;
}

.divider span {
    color: #a09289;

    font-size: 10px;

    font-weight: 700;
}


/* =========================================================
   GOOGLE BUTTON
========================================================= */

.google-btn {
    width: 100%;

    height: 40px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    border: 1px solid #ded4cc;

    border-radius: 8px;

    background: #ffffff;

    color: #40342e;

    font-family: 'DM Sans', sans-serif;

    font-size: 12px;

    font-weight: 600;

    cursor: pointer;

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.google-btn i {
    font-size: 14px;
}

.google-btn:hover {
    background: #faf7f3;

    border-color: #cdbeb2;

    box-shadow:
        0 5px 15px rgba(65, 39, 24, 0.07);

    transform: translateY(-1px);
}


/* =========================================================
   LOGIN LINK
========================================================= */

.login-link {
    margin-top: 18px !important;

    margin-bottom: 0 !important;

    text-align: center;

    color: #817168 !important;

    font-size: 11px !important;
}

.login-link a {
    color: #6f432b;

    font-weight: 700;

    text-decoration: none;
}

.login-link a:hover {
    text-decoration: underline;
}


/* =========================================================
   GOOGLE POPUP
========================================================= */

.google-popup {
    position: fixed;

    inset: 0;

    z-index: 5000;

    display: none;

    align-items: center;

    justify-content: center;

    padding: 20px;

    background: rgba(35, 22, 15, 0.48);

    backdrop-filter: blur(5px);
}


/* When JS adds active/show */

.google-popup.active,
.google-popup.show {
    display: flex;
}


/* POPUP BOX */

.google-popup-box {
    position: relative;

    width: 100%;

    max-width: 410px;

    padding: 35px 32px 30px;

    border: 1px solid #e5d9cf;

    border-radius: 16px;

    background: #ffffff;

    box-shadow:
        0 20px 60px rgba(40, 25, 17, 0.20);

    animation: googlePopupIn 0.25s ease;
}

@keyframes googlePopupIn {

    from {
        opacity: 0;

        transform: translateY(12px) scale(0.98);
    }

    to {
        opacity: 1;

        transform: translateY(0) scale(1);
    }
}


/* CLOSE */

.google-close {
    position: absolute;

    top: 12px;
    right: 12px;

    width: 32px;
    height: 32px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: none;

    border-radius: 50%;

    background: #f7f2ed;

    color: #705f54;

    cursor: pointer;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}

.google-close:hover {
    background: #6f432b;

    color: #ffffff;
}


/* GOOGLE LOGO */

.google-logo {
    width: 48px;
    height: 48px;

    margin: 0 auto 15px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid #eee3da;

    border-radius: 50%;

    background: #ffffff;

    box-shadow: 0 4px 12px rgba(65,39,24,0.06);
}

.google-logo i {
    font-size: 20px;
}


/* POPUP TITLE */

.google-popup-box h2 {
    margin-bottom: 7px;

    text-align: center;

    color: #3b2418;

    font-family: 'Playfair Display', serif;

    font-size: 22px;
}

.google-subtitle {
    margin-bottom: 20px;

    color: #817168;

    text-align: center;

    font-size: 11px;

    line-height: 1.5;
}


/* GOOGLE INPUT */

.google-input-box input {
    width: 100%;

    height: 43px;

    padding: 0 12px;

    border: 1px solid #ddd1c7;

    border-radius: 7px;

    outline: none;

    font-family: 'DM Sans', sans-serif;

    font-size: 12px;

    color: #3b2b22;
}

.google-input-box input:focus {
    border-color: #9a6747;

    box-shadow:
        0 0 0 3px rgba(111,67,43,0.08);
}


/* FORGOT EMAIL */

#forgotEmail {
    display: inline-block;

    margin-top: 9px;

    color: #6f432b;

    font-size: 11px;

    font-weight: 700;

    text-decoration: none;
}

#forgotEmail:hover {
    text-decoration: underline;
}


/* INFO */

.google-info {
    margin: 20px 0;

    color: #817168;

    font-size: 10.5px;

    line-height: 1.5;
}


/* GOOGLE ACTIONS */

.google-actions {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;
}

.google-create,
.google-next {
    height: 39px;

    padding: 0 15px;

    border-radius: 7px;

    font-family: 'DM Sans', sans-serif;

    font-size: 11px;

    font-weight: 700;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}


/* CREATE */

.google-create {
    border: none;

    background: transparent;

    color: #6f432b;
}

.google-create:hover {
    background: #f7f0ea;
}


/* NEXT */

.google-next {
    min-width: 70px;

    border: none;

    background: #6f432b;

    color: #ffffff;
}

.google-next:hover {
    background: #563320;

    transform: translateY(-1px);
}


/* =========================================================
   RESPONSIVE - 850px
========================================================= */

@media (max-width: 850px) {

    .register-page {
        padding: 35px 15px 50px;
    }

    .register-container {
        max-width: 700px;

        grid-template-columns: 0.7fr 1.3fr;
    }

    .register-image {
        min-height: 610px;
    }

    .register-form {
        padding: 32px 28px;
    }

}


/* =========================================================
   RESPONSIVE - 700px
========================================================= */

@media (max-width: 700px) {

    .register-container {
        max-width: 500px;

        grid-template-columns: 1fr;
    }

    .register-image {
        min-height: 230px;

        max-height: 230px;
    }

    .register-image img {
        object-position: center;
    }

    .register-form {
        padding: 30px 28px 32px;
    }

}


/* =========================================================
   RESPONSIVE - 520px
========================================================= */

@media (max-width: 520px) {

    .register-page {
        padding: 25px 12px 40px;
    }

    .register-image {
        min-height: 190px;

        max-height: 190px;
    }

    .register-form {
        padding: 25px 20px 28px;
    }

    .register-form h1 {
        font-size: 25px;
    }

    #registerForm {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .checkbox {
        grid-column: auto;
    }

    #createAccountBtn {
        grid-column: auto;
    }

}


/* =========================================================
   RESPONSIVE - 380px
========================================================= */

@media (max-width: 380px) {

    .register-page {
        padding: 18px 9px 30px;
    }

    .register-image {
        min-height: 160px;

        max-height: 160px;
    }

    .register-form {
        padding: 22px 16px 25px;
    }

    .register-form h1 {
        font-size: 23px;
    }

    .register-form > p {
        font-size: 11px;
    }

    .google-popup-box {
        padding: 30px 20px 25px;
    }

    .google-actions {
        gap: 5px;
    }

}

/* =========================================================
   BUKOPIE ADMIN - REVIEWS
   Modern • Compact • Professional • Responsive
========================================================= */


/* =========================================================
   REVIEW STATISTICS
========================================================= */

.stats {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 14px;

    margin-bottom: 18px;
}


/* STAT CARD */

.stat-card {
    min-height: 100px;

    display: flex;

    align-items: center;

    gap: 13px;

    padding: 15px 17px;

    background: #ffffff;

    border: 1px solid #eadfd5;

    border-radius: 12px;

    box-shadow:
        0 5px 18px rgba(65, 39, 24, 0.06);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.stat-card:hover {
    transform: translateY(-2px);

    box-shadow:
        0 8px 22px rgba(65, 39, 24, 0.09);
}


/* STAT ICON */

.stat-card > i {
    width: 42px;
    height: 42px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 10px;

    background: #f5ebe2;

    color: #6f432b;

    font-size: 17px;
}


/* STAT NUMBER */

.stat-card h3 {
    margin-bottom: 2px;

    color: #3b2418;

    font-family: 'Playfair Display', serif;

    font-size: 22px;

    line-height: 1.1;
}


/* STAT LABEL */

.stat-card p {
    color: #8a786d;

    font-size: 11px;

    font-weight: 600;
}


/* =========================================================
   REVIEWS CONTAINER
========================================================= */

.recent-orders {
    width: 100%;

    padding: 16px 17px;

    background: #ffffff;

    border: 1px solid #eadfd5;

    border-radius: 13px;

    box-shadow:
        0 7px 22px rgba(65, 39, 24, 0.06);

    overflow: hidden;
}


/* TITLE */

.recent-orders h2 {
    margin-bottom: 12px;

    color: #3b2418;

    font-family: 'Playfair Display', serif;

    font-size: 18px;
}


/* =========================================================
   REVIEW TABLE
========================================================= */

.recent-orders {
    overflow-x: auto;
}

.recent-orders table {
    width: 100%;

    min-width: 900px;

    border-collapse: collapse;
}


/* TABLE HEADER */

.recent-orders th {
    padding: 9px 10px;

    background: #faf6f1;

    border-bottom: 1px solid #eadfd5;

    color: #765f51;

    font-size: 10px;

    font-weight: 700;

    text-align: left;

    text-transform: uppercase;

    letter-spacing: 0.4px;

    white-space: nowrap;
}


/* TABLE DATA */

.recent-orders td {
    padding: 10px;

    border-bottom: 1px solid #f0e7df;

    color: #4d3b31;

    font-size: 12px;

    vertical-align: middle;
}

.recent-orders tbody tr {
    transition: background 0.2s ease;
}

.recent-orders tbody tr:hover {
    background: #fcfaf7;
}

.recent-orders tbody tr:last-child td {
    border-bottom: none;
}


/* =========================================================
   REVIEW TEXT
========================================================= */

.recent-orders td:nth-child(4) {
    max-width: 300px;

    color: #77675e;

    line-height: 1.45;
}


/* CUSTOMER */

.recent-orders td:first-child {
    color: #3b2418;

    font-weight: 700;

    white-space: nowrap;
}


/* PRODUCT */

.recent-orders td:nth-child(2) {
    color: #6f432b;

    font-weight: 600;

    white-space: nowrap;
}


/* DATE */

.recent-orders td:nth-child(5) {
    color: #8a786d;

    white-space: nowrap;
}


/* =========================================================
   STAR RATING
========================================================= */

.rating {
    display: inline-flex;

    align-items: center;

    color: #c58b35;

    font-size: 13px;

    letter-spacing: 1px;

    white-space: nowrap;
}


/* =========================================================
   STATUS
========================================================= */

.complete,
.pending {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 5px 9px;

    border-radius: 20px;

    font-size: 10px;

    font-weight: 700;

    white-space: nowrap;
}


/* PUBLISHED */

.complete {
    background: #eaf4ec;

    color: #4e805a;
}


/* PENDING */

.pending {
    background: #fbf1dc;

    color: #9a6b27;
}


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

.view-btn,
.delete-btn {
    width: 31px;
    height: 31px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    margin-right: 4px;

    border-radius: 7px;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        background 0.2s ease,
        color 0.2s ease;
}


/* VIEW */

.view-btn {
    border: 1px solid #e1d3c7;

    background: #f7f0ea;

    color: #6f432b;
}

.view-btn:hover {
    background: #6f432b;

    color: #ffffff;

    transform: translateY(-2px);
}


/* DELETE */

.delete-btn {
    border: 1px solid #f0d6d3;

    background: #fbeceb;

    color: #a9574d;
}

.delete-btn:hover {
    background: #a9574d;

    color: #ffffff;

    transform: translateY(-2px);
}


/* =========================================================
   REVIEW MODAL
========================================================= */

.review-modal {
    position: fixed;

    inset: 0;

    z-index: 3000;

    display: none;

    align-items: center;

    justify-content: center;

    padding: 20px;

    background: rgba(43, 27, 18, 0.48);

    backdrop-filter: blur(4px);
}


/* JS CAN ADD ACTIVE/SHOW */

.review-modal.active,
.review-modal.show {
    display: flex;
}


/* =========================================================
   MODAL CONTENT
========================================================= */

.modal-content {
    width: 100%;

    max-width: 500px;

    max-height: 90vh;

    overflow-y: auto;

    padding: 22px;

    background: #ffffff;

    border: 1px solid #eadfd5;

    border-radius: 15px;

    box-shadow:
        0 20px 55px rgba(50, 30, 20, 0.20);

    animation: reviewModalIn 0.25s ease;
}


@keyframes reviewModalIn {

    from {
        opacity: 0;

        transform: translateY(12px) scale(0.98);
    }

    to {
        opacity: 1;

        transform: translateY(0) scale(1);
    }

}


/* =========================================================
   MODAL HEADER
========================================================= */

.modal-header {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;

    padding-bottom: 13px;

    margin-bottom: 15px;

    border-bottom: 1px solid #eadfd5;
}

.modal-header h2 {
    color: #3b2418;

    font-family: 'Playfair Display', serif;

    font-size: 20px;
}


/* CLOSE BUTTON */

.close-modal {
    width: 31px;
    height: 31px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: none;

    border-radius: 50%;

    background: #f6eee7;

    color: #6f432b;

    cursor: pointer;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}

.close-modal:hover {
    background: #6f432b;

    color: #ffffff;
}


/* =========================================================
   REVIEW DETAILS
========================================================= */

.review-detail {
    display: grid;

    grid-template-columns: 90px 1fr;

    gap: 10px;

    padding: 11px 0;

    border-bottom: 1px solid #f0e7df;
}

.review-detail:last-child {
    border-bottom: none;
}

.review-detail strong {
    color: #6f5c50;

    font-size: 11px;

    font-weight: 700;
}

.review-detail span {
    color: #3f3027;

    font-size: 12px;

    line-height: 1.5;

    word-break: break-word;
}


/* MODAL RATING */

.modal-rating {
    color: #c58b35 !important;

    font-size: 14px !important;

    letter-spacing: 1px;
}


/* =========================================================
   MODAL SCROLLBAR
========================================================= */

.modal-content::-webkit-scrollbar {
    width: 6px;
}

.modal-content::-webkit-scrollbar-track {
    background: #f6eee7;
}

.modal-content::-webkit-scrollbar-thumb {
    background: #c9b2a2;

    border-radius: 10px;
}


/* =========================================================
   TABLE SCROLLBAR
========================================================= */

.recent-orders::-webkit-scrollbar {
    height: 7px;
}

.recent-orders::-webkit-scrollbar-track {
    background: #f6eee7;
}

.recent-orders::-webkit-scrollbar-thumb {
    background: #c8ae9c;

    border-radius: 10px;
}


/* =========================================================
   RESPONSIVE - 1000px
========================================================= */

@media (max-width: 1000px) {

    .stats {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* =========================================================
   RESPONSIVE - 800px
========================================================= */

@media (max-width: 800px) {

    .sidebar {
        position: relative;

        width: 100%;
        height: auto;
    }

    .dashboard {
        margin-left: 0;

        padding: 18px 15px 35px;
    }

    .sidebar ul {
        display: flex;

        gap: 5px;

        overflow-x: auto;
    }

    .sidebar li {
        flex: 0 0 auto;

        margin-bottom: 0;
    }

    .sidebar li a {
        padding: 8px 11px;

        font-size: 12px;
    }

}


/* =========================================================
   RESPONSIVE - 600px
========================================================= */

@media (max-width: 600px) {

    .stats {
        grid-template-columns: 1fr 1fr;

        gap: 10px;
    }

    .stat-card {
        min-height: 88px;

        padding: 12px;
    }

    .stat-card > i {
        width: 36px;
        height: 36px;

        font-size: 14px;
    }

    .stat-card h3 {
        font-size: 19px;
    }

    .stat-card p {
        font-size: 10px;
    }

    .recent-orders {
        padding: 13px;
    }

    .recent-orders h2 {
        font-size: 17px;
    }

}


/* =========================================================
   RESPONSIVE - 450px
========================================================= */

@media (max-width: 450px) {

    .dashboard {
        padding: 12px 10px 30px;
    }

    .stats {
        grid-template-columns: 1fr;
    }

    .stat-card {
        min-height: 75px;
    }

    .review-modal {
        padding: 12px;
    }

    .modal-content {
        padding: 18px;

        border-radius: 13px;
    }

    .modal-header h2 {
        font-size: 18px;
    }

    .review-detail {
        grid-template-columns: 75px 1fr;

        gap: 7px;
    }

}

/* =========================================================
   search.css  -  load AFTER style.css
   Same look as the Product page: 3 per row, View Product + Add to Cart
   ========================================================= */

/* ---------- FILTERS (pantay sa search bar) ---------- */
body.search-page .filter-box {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    width: 100%;
    max-width: 935px;
    margin: 25px auto 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
}

body.search-page .filter-box select {
    width: 100% !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 18px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #eadfd5;
    border-radius: 14px;
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    color: #3d2519;
    cursor: pointer;
}

/* ---------- RESULTS ---------- */
body.search-page .products {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 25px 3% 70px;
    box-sizing: border-box;
}

body.search-page .products > h2 {
    margin: 0 0 28px !important;
    padding-left: 4px !important;
    text-align: left !important;
}

/* 3 per row */
body.search-page .product-container {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.search-page .product-card {
    position: relative;
    display: flex !important;
    flex-direction: column;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
    padding: 15px !important;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #eadfd5;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(61, 37, 25, 0.07);
    text-align: center;
    transition: transform .25s ease, box-shadow .25s ease;
}

body.search-page .product-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(61, 37, 25, 0.14);
}

body.search-page .product-card img {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 16px;
}

body.search-page .product-card h3 {
    margin: 22px 4px 8px !important;
    text-align: center !important;
}

body.search-page .product-card > p {
    margin: 0 4px 22px !important;
    text-align: center !important;
}

/* View Product + Add to Cart, magkatabi */
body.search-page .product-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100% !important;
    margin: auto 0 0 !important;
    padding: 0 !important;
}

body.search-page .product-actions .btn,
body.search-page .product-actions .btn-view {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 50px;
    margin: 0 !important;
    padding: 0 10px;
    box-sizing: border-box;
    border-radius: 10px;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: all .25s ease;
}

body.search-page .product-actions .btn-view {
    background: #fff;
    color: #6f432b;
    border: 1px solid #6f432b;
}

body.search-page .product-actions .btn-view:hover {
    background: #f7ece3;
}

body.search-page .product-actions .btn {
    background: #6f432b;
    color: #fff;
    border: 1px solid #6f432b;
}

body.search-page .product-actions .btn:hover {
    background: #3d2519;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px) {
    body.search-page .product-container {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    body.search-page .filter-box {
        grid-template-columns: 1fr;
    }
    body.search-page .product-container {
        grid-template-columns: 1fr !important;
    }
    body.search-page .product-actions {
        grid-template-columns: 1fr;
    }
}
/* =========================================================
   BUKOPIE ADMIN - SETTINGS PAGE
   MODERN / CLEAN / RESPONSIVE
   ========================================================= */

:root {
    --brown-dark: #3b2418;
    --brown: #6f432b;
    --brown-light: #9a6747;

    --cream: #f8f3ed;
    --cream-dark: #eee2d5;

    --white: #ffffff;

    --text: #35251d;
    --muted: #8a786d;
    --border: #eadfd5;

    --green: #4e805a;
    --green-bg: #eaf4ec;

    --shadow: 0 10px 30px rgba(65, 39, 24, .07);
}


/* =========================================================
   GLOBAL
   ========================================================= */

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--cream);
    color: var(--text);

    font-family: 'DM Sans', Arial, sans-serif;

    min-height: 100vh;
}


/* =========================================================
   SIDEBAR
   ========================================================= */

.sidebar {
    position: fixed;

    left: 0;
    top: 0;
    bottom: 0;

    width: 220px;

    background: var(--brown-dark);

    padding: 25px 14px;

    z-index: 1000;

    overflow-y: auto;
}


/* BRAND */

.admin-brand {
    display: flex;
    align-items: center;

    gap: 10px;

    padding: 0 12px 25px;

    color: #ffffff;
}

.admin-brand i {
    width: 38px;
    height: 38px;

    border-radius: 11px;

    background: rgba(255,255,255,.1);

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

    color: #f3d1ae;

    font-size: 18px;
}

.admin-brand h2 {
    margin: 0;

    font-family: 'Playfair Display', serif;

    font-size: 22px;

    font-weight: 700;
}


/* SIDEBAR MENU */

.sidebar ul {
    list-style: none;

    padding: 0;
    margin: 10px 0 0;
}

.sidebar li {
    margin-bottom: 5px;
}

.sidebar li a {
    display: flex;
    align-items: center;

    gap: 12px;

    min-height: 44px;

    padding: 0 14px;

    border-radius: 10px;

    color: #d9cbc1;

    text-decoration: none;

    font-size: 14px;
    font-weight: 500;

    transition: all .25s ease;
}

.sidebar li a i {
    width: 18px;

    text-align: center;

    font-size: 15px;
}

.sidebar li a:hover {
    background: rgba(255,255,255,.08);
    color: #ffffff;
}

.sidebar li.active a {
    background: #ffffff;

    color: var(--brown-dark);

    font-weight: 700;

    box-shadow: 0 6px 15px rgba(0,0,0,.12);
}


/* =========================================================
   MAIN DASHBOARD
   ========================================================= */

.dashboard {
    margin-left: 220px;

    min-height: 100vh;

    padding: 28px 32px 50px;
}


/* =========================================================
   DASHBOARD HEADER
   ========================================================= */

.dashboard-header {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 25px;
}

.dashboard-header h1 {
    margin: 0 0 5px;

    color: var(--brown-dark);

    font-family: 'Playfair Display', serif;

    font-size: 30px;
    font-weight: 700;
}

.dashboard-header p {
    margin: 0;

    color: var(--muted);

    font-size: 14px;
}


/* ADMIN PROFILE */

.admin-profile {
    display: flex;
    align-items: center;

    gap: 9px;

    padding: 8px 13px;

    background: #ffffff;

    border: 1px solid var(--border);

    border-radius: 12px;

    color: var(--brown);

    font-size: 13px;
    font-weight: 600;

    box-shadow: 0 4px 14px rgba(65,39,24,.04);
}

.admin-profile i {
    color: var(--brown-light);

    font-size: 22px;
}


/* =========================================================
   SETTINGS CARD
   ========================================================= */

.settings-card {
    background: var(--white);

    border: 1px solid var(--border);

    border-radius: 16px;

    padding: 23px;

    margin-bottom: 20px;

    box-shadow: var(--shadow);
}


/* =========================================================
   SETTINGS TITLE
   ========================================================= */

.settings-title {
    display: flex;
    align-items: flex-start;

    gap: 13px;

    padding-bottom: 18px;

    margin-bottom: 20px;

    border-bottom: 1px solid #f0e7df;
}

.settings-title > i {
    width: 42px;
    height: 42px;

    flex-shrink: 0;

    border-radius: 12px;

    background: #f5e8dc;

    color: var(--brown);

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

    font-size: 17px;
}

.settings-title h2 {
    margin: 1px 0 4px;

    color: var(--brown-dark);

    font-family: 'Playfair Display', serif;

    font-size: 19px;

    font-weight: 700;
}

.settings-title p {
    margin: 0;

    color: var(--muted);

    font-size: 13px;

    line-height: 1.5;
}


/* =========================================================
   SETTINGS GRID
   ========================================================= */

.settings-grid {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 17px;

    margin-bottom: 18px;
}


/* =========================================================
   INPUT GROUP
   ========================================================= */

.input-group {
    width: 100%;
}

.input-group label {
    display: block;

    margin-bottom: 7px;

    color: #4a362b;

    font-size: 13px;
    font-weight: 700;
}

.input-group input,
.input-group textarea {
    width: 100%;

    border: 1px solid var(--border);

    border-radius: 10px;

    background: #fffdfb;

    color: var(--text);

    padding: 11px 13px;

    font-family: 'DM Sans', sans-serif;

    font-size: 14px;

    outline: none;

    transition: all .2s ease;
}

.input-group input {
    height: 43px;
}

.input-group textarea {
    min-height: 95px;

    resize: vertical;

    line-height: 1.5;
}

.input-group input::placeholder,
.input-group textarea::placeholder {
    color: #aa9a90;
}

.input-group input:focus,
.input-group textarea:focus {
    border-color: var(--brown-light);

    background: #ffffff;

    box-shadow: 0 0 0 3px rgba(154,103,71,.10);
}


/* STORE ADDRESS */

.settings-card > form > .input-group {
    margin-bottom: 18px;
}


/* =========================================================
   BUTTON
   ========================================================= */

.settings-card .btn {
    min-height: 43px;

    padding: 0 20px;

    border: none;

    border-radius: 10px;

    background: linear-gradient(
        135deg,
        var(--brown-dark),
        var(--brown)
    );

    color: #ffffff;

    font-family: 'DM Sans', sans-serif;

    font-size: 13px;

    font-weight: 700;

    cursor: pointer;

    transition: all .25s ease;

    box-shadow: 0 6px 15px rgba(59,36,24,.14);
}

.settings-card .btn:hover {
    transform: translateY(-2px);

    box-shadow: 0 9px 20px rgba(59,36,24,.20);

    background: linear-gradient(
        135deg,
        #2f1c13,
        #61391f
    );
}

.settings-card .btn:active {
    transform: translateY(0);
}


/* =========================================================
   NOTIFICATION / STORE STATUS OPTIONS
   ========================================================= */

.setting-option {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 15px 0;

    border-bottom: 1px solid #f0e7df;
}

.setting-option:first-of-type {
    padding-top: 0;
}

.setting-option:last-child {
    border-bottom: none;

    padding-bottom: 0;
}

.setting-option h3 {
    margin: 0 0 4px;

    color: var(--text);

    font-size: 14px;

    font-weight: 700;
}

.setting-option p {
    margin: 0;

    color: var(--muted);

    font-size: 12px;

    line-height: 1.5;
}


/* =========================================================
   TOGGLE SWITCH
   ========================================================= */

.switch {
    position: relative;

    display: inline-block;

    width: 48px;
    height: 26px;

    flex-shrink: 0;
}

.switch input {
    width: 0;
    height: 0;

    opacity: 0;
}

.slider {
    position: absolute;

    cursor: pointer;

    inset: 0;

    background: #d9cec5;

    border-radius: 30px;

    transition: .25s ease;
}

.slider::before {
    content: "";

    position: absolute;

    width: 20px;
    height: 20px;

    left: 3px;
    top: 3px;

    border-radius: 50%;

    background: #ffffff;

    box-shadow: 0 2px 5px rgba(0,0,0,.18);

    transition: .25s ease;
}

.switch input:checked + .slider {
    background: var(--green);
}

.switch input:checked + .slider::before {
    transform: translateX(22px);
}


/* =========================================================
   SCROLLBAR
   ========================================================= */

.sidebar::-webkit-scrollbar {
    width: 5px;
}

.sidebar::-webkit-scrollbar-track {
    background: transparent;
}

.sidebar::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.18);

    border-radius: 10px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

    .sidebar {
        width: 200px;
    }

    .dashboard {
        margin-left: 200px;

        padding: 25px 22px 40px;
    }

    .settings-card {
        padding: 20px;
    }

}


/* =========================================================
   SMALL TABLET
   ========================================================= */

@media (max-width: 800px) {

    .sidebar {
        width: 70px;

        padding: 20px 9px;
    }

    .admin-brand {
        justify-content: center;

        padding: 0 0 25px;
    }

    .admin-brand h2 {
        display: none;
    }

    .sidebar li a {
        justify-content: center;

        padding: 0;

        font-size: 0;
    }

    .sidebar li a i {
        font-size: 17px;

        width: auto;
    }

    .dashboard {
        margin-left: 70px;

        padding: 22px 18px 35px;
    }

    .dashboard-header h1 {
        font-size: 27px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 650px) {

    .sidebar {
        position: fixed;

        top: auto;
        bottom: 0;
        left: 0;

        width: 100%;
        height: 62px;

        padding: 7px 8px;

        overflow: hidden;
    }

    .admin-brand {
        display: none;
    }

    .sidebar ul {
        display: flex;

        align-items: center;
        justify-content: space-around;

        width: 100%;

        margin: 0;
    }

    .sidebar li {
        flex: 1;

        margin: 0;
    }

    .sidebar li a {
        min-height: 48px;

        border-radius: 9px;
    }

    .dashboard {
        margin-left: 0;

        padding: 20px 15px 90px;
    }

    .dashboard-header {
        align-items: flex-start;

        flex-direction: column;

        margin-bottom: 20px;
    }

    .admin-profile {
        width: 100%;

        justify-content: flex-start;
    }

    .settings-grid {
        grid-template-columns: 1fr;

        gap: 15px;
    }

    .settings-card {
        padding: 18px;

        border-radius: 14px;
    }

    .settings-title {
        gap: 10px;
    }

    .settings-title > i {
        width: 38px;
        height: 38px;
    }

    .settings-title h2 {
        font-size: 18px;
    }

    .settings-card .btn {
        width: 100%;
    }

}


/* =========================================================
   EXTRA SMALL MOBILE
   ========================================================= */

@media (max-width: 400px) {

    .dashboard {
        padding-left: 12px;
        padding-right: 12px;
    }

    .dashboard-header h1 {
        font-size: 25px;
    }

    .dashboard-header p {
        font-size: 12px;
    }

    .settings-card {
        padding: 15px;
    }

    .settings-title h2 {
        font-size: 17px;
    }

    .settings-title p {
        font-size: 12px;
    }

    .setting-option {
        gap: 10px;
    }

    .setting-option h3 {
        font-size: 13px;
    }

    .setting-option p {
        font-size: 11px;
    }

    .switch {
        width: 45px;
    }

    .switch input:checked + .slider::before {
        transform: translateX(19px);
    }

}

/* =========================================================
   TERMS & CONDITIONS PAGE
   MODERN BUKOPIE / COPIPIE DESIGN
   ========================================================= */

/* PAGE BANNER */

.page-banner {
    position: relative;
    width: 100%;
    padding: 65px 7%;

    text-align: center;

    background:
        radial-gradient(
            circle at 15% 25%,
            rgba(255,255,255,.85),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #f5e5d3,
            #ead3bd
        );

    overflow: hidden;
}

.page-banner::before {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    left: -70px;
    bottom: -90px;

    border-radius: 50%;

    background: rgba(255,255,255,.22);
}

.page-banner::after {
    content: "";

    position: absolute;

    width: 190px;
    height: 190px;

    right: -75px;
    top: -90px;

    border-radius: 50%;

    background: rgba(255,255,255,.25);
}

.page-banner h1 {
    position: relative;
    z-index: 2;

    margin: 0 0 10px;

    color: #3d2519;

    font-family: 'Playfair Display', Georgia, serif;

    font-size: clamp(32px, 5vw, 48px);

    font-weight: 700;

    line-height: 1.2;
}

.page-banner p {
    position: relative;
    z-index: 2;

    margin: 0;

    color: #765c4d;

    font-family: 'DM Sans', Arial, sans-serif;

    font-size: 15px;

    line-height: 1.6;
}


/* =========================================================
   TERMS SECTION
   ========================================================= */

.policy-section {
    width: 100%;

    padding: 65px 7% 80px;

    background:
        radial-gradient(
            circle at top right,
            rgba(235,213,193,.25),
            transparent 35%
        ),
        #faf7f3;
}


/* =========================================================
   TERMS CONTAINER
   ========================================================= */

.policy-container {
    width: 100%;
    max-width: 900px;

    margin: 0 auto;

    padding: 42px 45px;

    background: #ffffff;

    border: 1px solid #eadfd5;

    border-radius: 20px;

    box-shadow: 0 12px 35px rgba(61,37,25,.07);
}


/* =========================================================
   SECTION HEADINGS
   ========================================================= */

.policy-container h2 {
    position: relative;

    margin: 0 0 12px;
    padding-left: 15px;

    color: #3d2519;

    font-family: 'Playfair Display', Georgia, serif;

    font-size: 21px;

    font-weight: 700;

    line-height: 1.4;
}

.policy-container h2::before {
    content: "";

    position: absolute;

    left: 0;
    top: 5px;

    width: 4px;
    height: 22px;

    border-radius: 5px;

    background: linear-gradient(
        to bottom,
        #6f432b,
        #b47a55
    );
}


/* =========================================================
   PARAGRAPHS
   ========================================================= */

.policy-container p {
    margin: 0 0 25px;

    color: #6f625a;

    font-family: 'DM Sans', Arial, sans-serif;

    font-size: 14px;

    line-height: 1.8;
}


/* =========================================================
   LISTS
   ========================================================= */

.policy-container ul {
    margin: -8px 0 28px;

    padding-left: 24px;
}

.policy-container li {
    margin-bottom: 8px;

    color: #6f625a;

    font-family: 'DM Sans', Arial, sans-serif;

    font-size: 14px;

    line-height: 1.7;
}

.policy-container li::marker {
    color: #9a5f3b;
}


/* =========================================================
   SPACING BETWEEN SECTIONS
   ========================================================= */

.policy-container h2:not(:first-child) {
    margin-top: 30px;
}


/* =========================================================
   CONTACT BUTTON
   ========================================================= */

.policy-container .btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 46px;

    margin-top: 5px;

    padding: 0 25px;

    border-radius: 12px;

    background: linear-gradient(
        135deg,
        #6f432b,
        #9a5f3b
    );

    color: #ffffff;

    text-decoration: none;

    font-family: 'DM Sans', Arial, sans-serif;

    font-size: 14px;

    font-weight: 700;

    box-shadow: 0 8px 18px rgba(111,67,43,.16);

    transition: all .25s ease;
}

.policy-container .btn:hover {
    transform: translateY(-2px);

    background: linear-gradient(
        135deg,
        #3d2519,
        #6f432b
    );

    box-shadow: 0 12px 24px rgba(61,37,25,.20);
}

.policy-container .btn:active {
    transform: translateY(0);
}


/* =========================================================
   HEADER COMPATIBILITY
   ========================================================= */

header {
    width: 100%;
    height: 70px;

    background: #ffffff;

    border-bottom: 1px solid #e6ddd5;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 0 7%;

    position: sticky;
    top: 0;

    z-index: 1000;
}


/* LOGO */

header .logo {
    display: flex;
    align-items: center;

    text-decoration: none;

    flex-shrink: 0;
}

header .logo img {
    width: 72px;
    height: auto;

    display: block;

    object-fit: contain;
}


/* NAVIGATION */

header nav {
    display: flex;
    align-items: center;

    justify-content: center;

    gap: 30px;

    margin-left: auto;
    margin-right: 35px;
}

header nav a {
    position: relative;

    color: #4d392e;

    text-decoration: none;

    font-family: 'DM Sans', Arial, sans-serif;

    font-size: 14px;

    font-weight: 600;

    transition: color .25s ease;
}

header nav a::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: -7px;

    width: 0;
    height: 2px;

    border-radius: 5px;

    background: #9a5f3b;

    transition: width .25s ease;
}

header nav a:hover {
    color: #9a5f3b;
}

header nav a:hover::after {
    width: 100%;
}


/* ICONS */

header .icons {
    display: flex;
    align-items: center;

    gap: 9px;
}

header .icons a {
    width: 37px;
    height: 37px;

    border-radius: 50%;

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

    color: #5d4537;

    text-decoration: none;

    transition: all .25s ease;
}

header .icons a:hover {
    background: #f5e8dc;

    color: #8c5334;

    transform: translateY(-2px);
}

header .icons a i {
    font-size: 15px;
}


/* =========================================================
   RESPONSIVE - TABLET
   ========================================================= */

@media (max-width: 900px) {

    header {
        padding: 0 5%;
    }

    header nav {
        gap: 18px;
        margin-right: 18px;
    }

    header nav a {
        font-size: 13px;
    }

    .policy-section {
        padding: 50px 5% 65px;
    }

    .policy-container {
        padding: 35px;
    }

}


/* =========================================================
   RESPONSIVE - MOBILE
   ========================================================= */

@media (max-width: 700px) {

    header {
        height: auto;
        min-height: 70px;

        flex-wrap: wrap;

        padding: 12px 5%;

        gap: 10px;
    }

    header .logo img {
        width: 65px;
    }

    header nav {
        order: 3;

        width: 100%;

        margin: 0;

        padding-top: 7px;
        padding-bottom: 4px;

        gap: 20px;

        overflow-x: auto;

        justify-content: center;
    }

    header nav a {
        white-space: nowrap;

        font-size: 12px;
    }

    header .icons {
        margin-left: auto;
    }

    header .icons a {
        width: 34px;
        height: 34px;
    }


    .page-banner {
        padding: 50px 5%;
    }

    .page-banner h1 {
        font-size: 32px;
    }

    .page-banner p {
        font-size: 13px;
    }


    .policy-section {
        padding: 35px 5% 55px;
    }

    .policy-container {
        padding: 28px 22px;

        border-radius: 17px;
    }

    .policy-container h2 {
        font-size: 19px;

        padding-left: 13px;
    }

    .policy-container h2::before {
        width: 3px;
        height: 20px;
    }

    .policy-container p,
    .policy-container li {
        font-size: 13px;

        line-height: 1.75;
    }

    .policy-container ul {
        padding-left: 21px;
    }

    .policy-container .btn {
        width: 100%;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

    .page-banner {
        padding: 42px 5%;
    }

    .page-banner h1 {
        font-size: 28px;
    }

    .policy-container {
        padding: 24px 18px;
    }

    .policy-container h2 {
        font-size: 18px;
    }

    .policy-container p,
    .policy-container li {
        font-size: 12.5px;
    }

    header .icons {
        gap: 2px;
    }

    header .icons a {
        width: 31px;
        height: 31px;
    }

}

/* =========================================================
   TRACK ORDER PAGE
   MODERN BUKOPIE / COPIPIE DESIGN
   ========================================================= */

.track-page {
    background: #faf7f3;
    color: #3d2519;
    min-height: 100vh;
}


/* =========================================================
   PAGE BANNER
   ========================================================= */

.track-page .page-banner {
    position: relative;

    width: 100%;

    padding: 65px 7%;

    text-align: center;

    background:
        radial-gradient(
            circle at 15% 25%,
            rgba(255,255,255,.85),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #f5e5d3,
            #ead3bd
        );

    overflow: hidden;

    box-sizing: border-box;
}

.track-page .page-banner::before {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    left: -70px;
    bottom: -90px;

    border-radius: 50%;

    background: rgba(255,255,255,.22);
}

.track-page .page-banner::after {
    content: "";

    position: absolute;

    width: 190px;
    height: 190px;

    right: -75px;
    top: -90px;

    border-radius: 50%;

    background: rgba(255,255,255,.25);
}

.track-page .page-banner h1 {
    position: relative;

    z-index: 2;

    margin: 0 0 9px;

    color: #3d2519;

    font-family: 'Playfair Display', Georgia, serif;

    font-size: clamp(32px, 5vw, 48px);

    font-weight: 700;
}

.track-page .page-banner p {
    position: relative;

    z-index: 2;

    margin: 0;

    color: #765c4d;

    font-family: 'DM Sans', Arial, sans-serif;

    font-size: 15px;
}


/* =========================================================
   ORDER INFORMATION
   ========================================================= */

.track-order {
    width: 100%;

    padding: 55px 7% 25px;

    background: #faf7f3;

    box-sizing: border-box;
}

.order-card {
    width: 100%;

    max-width: 900px;

    margin: 0 auto;

    padding: 28px 32px;

    background: #ffffff;

    border: 1px solid #eadfd5;

    border-radius: 18px;

    box-shadow: 0 10px 30px rgba(61,37,25,.07);

    box-sizing: border-box;
}

.order-card h2 {
    margin: 0 0 20px;

    padding-bottom: 14px;

    border-bottom: 1px solid #eee4dc;

    color: #3d2519;

    font-family: 'Playfair Display', Georgia, serif;

    font-size: 22px;
}

.order-card p {
    display: flex;

    align-items: flex-start;

    gap: 8px;

    margin: 12px 0;

    color: #6f625a;

    font-family: 'DM Sans', Arial, sans-serif;

    font-size: 14px;

    line-height: 1.6;
}

.order-card p strong {
    min-width: 155px;

    color: #4a3022;

    font-weight: 700;
}


/* =========================================================
   ORDER STATUS
   ========================================================= */

.order-status {
    width: 100%;

    max-width: 1100px;

    margin: 0 auto;

    padding: 35px 25px 50px;

    box-sizing: border-box;
}

.order-status h2 {
    margin: 0 0 40px;

    color: #3d2519;

    font-family: 'Playfair Display', Georgia, serif;

    font-size: 27px;

    font-weight: 700;

    text-align: center;
}


/* =========================================================
   TIMELINE
   ========================================================= */

.timeline {
    position: relative;

    width: 100%;

    max-width: 950px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 15px;

    align-items: start;

    box-sizing: border-box;
}


/* =========================================================
   CONNECTING LINE
   ========================================================= */

.timeline::before {
    content: "";

    position: absolute;

    top: 27px;

    left: 12.5%;

    right: 12.5%;

    height: 3px;

    background: #e2d5cb;

    z-index: 0;
}


/* =========================================================
   STATUS ITEM
   ========================================================= */

.status {
    position: relative;

    z-index: 1;

    width: 100%;

    min-width: 0;

    padding: 0 6px;

    text-align: center;

    box-sizing: border-box;
}


/* =========================================================
   STATUS ICON
   ========================================================= */

.status > i {
    width: 54px;

    height: 54px;

    margin: 0 auto 14px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #eee5de;

    border: 4px solid #faf7f3;

    color: #a6968b;

    font-size: 19px;

    box-shadow: 0 4px 12px rgba(61,37,25,.08);

    box-sizing: border-box;
}


/* =========================================================
   ACTIVE STATUS ICON
   ========================================================= */

.status.active > i {
    background: #6f432b;

    color: #ffffff;

    box-shadow:
        0 0 0 4px #f0e3d8,
        0 7px 18px rgba(111,67,43,.20);
}


/* =========================================================
   STATUS TITLE
   ========================================================= */

.status h3 {
    width: 100%;

    margin: 0 0 7px;

    color: #4a3022;

    font-family: 'Playfair Display', Georgia, serif;

    font-size: 15px;

    font-weight: 700;

    line-height: 1.35;

    white-space: normal;

    overflow-wrap: break-word;
}

.status.active h3 {
    color: #6f432b;
}


/* =========================================================
   STATUS DESCRIPTION
   ========================================================= */

.status p {
    width: 100%;

    margin: 0 auto;

    color: #918178;

    font-family: 'DM Sans', Arial, sans-serif;

    font-size: 12px;

    line-height: 1.5;

    white-space: normal;

    overflow-wrap: break-word;
}


/* =========================================================
   RIDER INFORMATION
   ========================================================= */

.rider-info {
    width: 100%;

    padding: 5px 7% 45px;

    box-sizing: border-box;
}

.rider-card {
    width: 100%;

    max-width: 520px;

    margin: 0 auto;

    padding: 30px;

    text-align: center;

    background: #ffffff;

    border: 1px solid #eadfd5;

    border-radius: 20px;

    box-shadow: 0 10px 30px rgba(61,37,25,.07);

    box-sizing: border-box;
}

.rider-card img {
    width: 82px;

    height: 82px;

    margin-bottom: 14px;

    border-radius: 50%;

    object-fit: cover;

    border: 4px solid #f2e4d8;

    background: #f6eee7;
}

.rider-card h2 {
    margin: 0 0 18px;

    color: #3d2519;

    font-family: 'Playfair Display', Georgia, serif;

    font-size: 23px;
}

.rider-card p {
    display: flex;

    justify-content: space-between;

    gap: 15px;

    max-width: 350px;

    margin: 10px auto;

    padding-bottom: 10px;

    border-bottom: 1px solid #f0e7df;

    color: #76665d;

    font-family: 'DM Sans', Arial, sans-serif;

    font-size: 13px;

    text-align: left;
}

.rider-card p strong {
    color: #4a3022;
}


/* =========================================================
   CALL RIDER BUTTON
   ========================================================= */

.rider-card .btn {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    min-height: 44px;

    margin-top: 15px;

    padding: 0 25px;

    border-radius: 11px;

    background: #6f432b;

    color: #ffffff;

    text-decoration: none;

    font-family: 'DM Sans', Arial, sans-serif;

    font-size: 14px;

    font-weight: 700;

    box-shadow: 0 7px 17px rgba(111,67,43,.16);

    transition: all .25s ease;
}

.rider-card .btn:hover {
    background: #3d2519;

    transform: translateY(-2px);

    box-shadow: 0 10px 22px rgba(61,37,25,.20);
}


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

.track-buttons {
    display: flex;

    align-items: center;

    justify-content: center;

    gap: 12px;

    padding: 0 7% 70px;

    box-sizing: border-box;
}

.track-buttons .btn {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 160px;

    min-height: 45px;

    padding: 0 22px;

    border: 1px solid #6f432b;

    border-radius: 11px;

    background: #6f432b;

    color: #ffffff;

    text-decoration: none;

    font-family: 'DM Sans', Arial, sans-serif;

    font-size: 13px;

    font-weight: 700;

    transition: all .25s ease;

    box-sizing: border-box;
}

.track-buttons .btn:hover {
    background: #3d2519;

    border-color: #3d2519;

    transform: translateY(-2px);

    box-shadow: 0 8px 18px rgba(61,37,25,.16);
}

.track-buttons .btn:nth-child(2) {
    background: transparent;

    color: #6f432b;
}

.track-buttons .btn:nth-child(2):hover {
    background: #6f432b;

    color: #ffffff;
}


/* =========================================================
   RESPONSIVE - TABLET
   ========================================================= */

@media (max-width: 1000px) {

    .timeline {
        max-width: 850px;

        gap: 10px;
    }

    .status h3 {
        font-size: 14px;
    }

    .status p {
        font-size: 11px;
    }

}


/* =========================================================
   RESPONSIVE - SMALL TABLET
   ========================================================= */

@media (max-width: 800px) {

    .track-order {
        padding-left: 5%;

        padding-right: 5%;
    }

    .order-status {
        padding-left: 5%;

        padding-right: 5%;
    }

    .rider-info {
        padding-left: 5%;

        padding-right: 5%;
    }

    .track-buttons {
        padding-left: 5%;

        padding-right: 5%;
    }


    /* 2 COLUMNS */

    .timeline {
        max-width: 700px;

        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 30px 20px;
    }


    /* HIDE LINE */

    .timeline::before {
        display: none;
    }


    /* STATUS CARD */

    .status {
        padding: 18px 12px;

        background: #ffffff;

        border: 1px solid #eadfd5;

        border-radius: 15px;

        box-shadow: 0 6px 18px rgba(61,37,25,.05);
    }

    .status > i {
        margin-bottom: 10px;
    }

    .status h3 {
        font-size: 15px;
    }

    .status p {
        font-size: 12px;
    }

}


/* =========================================================
   RESPONSIVE - MOBILE
   ========================================================= */

@media (max-width: 600px) {

    /* PAGE BANNER */

    .track-page .page-banner {
        padding: 50px 5%;
    }

    .track-page .page-banner h1 {
        font-size: 32px;
    }

    .track-page .page-banner p {
        font-size: 13px;
    }


    /* ORDER */

    .track-order {
        padding: 35px 5% 15px;
    }

    .order-card {
        padding: 23px 20px;

        border-radius: 16px;
    }

    .order-card h2 {
        font-size: 20px;
    }

    .order-card p {
        display: block;

        font-size: 13px;
    }

    .order-card p strong {
        display: block;

        min-width: auto;

        margin-bottom: 2px;
    }


    /* ORDER STATUS */

    .order-status {
        padding: 30px 5% 35px;
    }

    .order-status h2 {
        font-size: 23px;

        margin-bottom: 25px;
    }


    /* ONE COLUMN */

    .timeline {
        width: 100%;

        max-width: 430px;

        margin: 0 auto;

        grid-template-columns: 1fr;

        gap: 15px;
    }


    /* REMOVE LINE */

    .timeline::before {
        display: none;
    }


    /* STATUS CARD */

    .status {
        display: grid;

        grid-template-columns: 55px 1fr;

        column-gap: 14px;

        align-items: center;

        width: 100%;

        padding: 13px;

        text-align: left;

        background: #ffffff;

        border: 1px solid #eadfd5;

        border-radius: 14px;

        box-sizing: border-box;
    }


    .status > i {
        grid-row: span 2;

        margin: 0;

        width: 48px;

        height: 48px;

        font-size: 17px;
    }

    .status h3 {
        margin: 0 0 3px;

        font-size: 15px;
    }

    .status p {
        margin: 0;

        font-size: 11px;
    }


    /* RIDER */

    .rider-info {
        padding: 0 5% 35px;
    }

    .rider-card {
        padding: 25px 20px;
    }

    .rider-card h2 {
        font-size: 21px;
    }


    /* BUTTONS */

    .track-buttons {
        flex-direction: column;

        padding: 0 5% 60px;
    }

    .track-buttons .btn {
        width: 100%;

        max-width: 420px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 400px) {

    .track-page .page-banner {
        padding: 45px 5%;
    }

    .track-page .page-banner h1 {
        font-size: 28px;
    }

    .track-page .page-banner p {
        font-size: 12px;
    }


    .order-card {
        padding: 20px 16px;
    }

    .order-card p {
        font-size: 12px;
    }


    .order-status {
        padding-left: 4%;

        padding-right: 4%;
    }

    .order-status h2 {
        font-size: 21px;
    }


    .rider-card {
        padding: 22px 16px;
    }

    .rider-card p {
        font-size: 12px;
    }


    .status {
        grid-template-columns: 50px 1fr;

        padding: 11px;
    }

    .status > i {
        width: 44px;

        height: 44px;
    }

    .status h3 {
        font-size: 14px;
    }

    .status p {
        font-size: 10px;
    }

}


/* =========================================================
   VERY SMALL SCREEN
   ========================================================= */

@media (max-width: 350px) {

    .order-card {
        padding: 18px 14px;
    }

    .rider-card {
        padding: 20px 14px;
    }

    .status {
        grid-template-columns: 46px 1fr;

        column-gap: 10px;
    }

    .status > i {
        width: 42px;

        height: 42px;

        font-size: 15px;
    }

    .status h3 {
        font-size: 13px;
    }

    .status p {
        font-size: 10px;
    }

    .track-buttons .btn {
        min-width: 0;

        min-height: 43px;

        font-size: 12px;
    }

}

/* =========================================================
   WISHLIST PAGE
   MODERN BUKOPIE / COPIPIE DESIGN
   ========================================================= */

body {
    margin: 0;
    background: #faf7f3;
    color: #3d2519;
}


/* =========================================================
   PAGE BANNER
   ========================================================= */

.page-banner {
    position: relative;

    width: 100%;

    padding: 65px 7%;

    text-align: center;

    background:
        radial-gradient(
            circle at 15% 25%,
            rgba(255,255,255,.85),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #f5e5d3,
            #ead3bd
        );

    overflow: hidden;

    box-sizing: border-box;
}

.page-banner::before {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    left: -70px;
    bottom: -90px;

    border-radius: 50%;

    background: rgba(255,255,255,.22);
}

.page-banner::after {
    content: "";

    position: absolute;

    width: 190px;
    height: 190px;

    right: -75px;
    top: -90px;

    border-radius: 50%;

    background: rgba(255,255,255,.25);
}

.page-banner h1 {
    position: relative;

    z-index: 2;

    margin: 0 0 9px;

    color: #3d2519;

    font-family: 'Playfair Display', Georgia, serif;

    font-size: clamp(32px, 5vw, 48px);

    font-weight: 700;
}

.page-banner p {
    position: relative;

    z-index: 2;

    margin: 0;

    color: #765c4d;

    font-family: 'DM Sans', Arial, sans-serif;

    font-size: 15px;

    line-height: 1.6;
}


/* =========================================================
   WISHLIST SECTION
   ========================================================= */

.wishlist-page {
    width: 100%;

    max-width: 1180px;

    margin: 0 auto;

    padding: 60px 7% 35px;

    box-sizing: border-box;
}

.wishlist-page > h2 {
    margin: 0 0 30px;

    color: #3d2519;

    font-family: 'Playfair Display', Georgia, serif;

    font-size: 28px;

    text-align: center;
}


/* =========================================================
   WISHLIST CONTAINER
   ========================================================= */

.wishlist-container {
    width: 100%;

    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 24px;

    align-items: stretch;
}


/* =========================================================
   WISHLIST CARD
   ========================================================= */

.wishlist-card {
    position: relative;

    display: flex;

    flex-direction: column;

    width: 100%;

    min-width: 0;

    background: #ffffff;

    border: 1px solid #eadfd5;

    border-radius: 20px;

    overflow: hidden;

    box-shadow: 0 10px 30px rgba(61,37,25,.07);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;

    box-sizing: border-box;
}

.wishlist-card:hover {
    transform: translateY(-6px);

    border-color: #dcc8b8;

    box-shadow: 0 18px 38px rgba(61,37,25,.12);
}


/* =========================================================
   PRODUCT IMAGE
   ========================================================= */

.wishlist-card > img {
    display: block;

    width: 100%;

    height: 245px;

    object-fit: cover;

    background: #f4e9df;

    transition: transform .35s ease;
}

.wishlist-card:hover > img {
    transform: scale(1.03);
}


/* =========================================================
   WISHLIST INFO
   ========================================================= */

.wishlist-info {
    display: flex;

    flex-direction: column;

    flex: 1;

    padding: 22px 22px 20px;

    box-sizing: border-box;
}

.wishlist-info h3 {
    margin: 0 0 8px;

    color: #3d2519;

    font-family: 'Playfair Display', Georgia, serif;

    font-size: 20px;

    font-weight: 700;

    line-height: 1.35;
}


/* =========================================================
   PRICE
   ========================================================= */

.wishlist-info .price {
    margin: 0 0 8px;

    color: #8b5637;

    font-family: 'DM Sans', Arial, sans-serif;

    font-size: 18px;

    font-weight: 700;
}


/* =========================================================
   RATING
   ========================================================= */

.wishlist-info .rating {
    margin-bottom: 18px;

    color: #c78a35;

    font-family: Arial, sans-serif;

    font-size: 15px;

    letter-spacing: 2px;
}


/* =========================================================
   ACTIONS
   ========================================================= */

.wishlist-actions {
    display: flex;

    align-items: center;

    gap: 10px;

    margin-top: auto;
}


/* =========================================================
   ADD TO CART BUTTON
   ========================================================= */

.wishlist-actions .add-to-cart {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    flex: 1;

    min-height: 44px;

    padding: 0 16px;

    border: 1px solid #6f432b;

    border-radius: 11px;

    background: #6f432b;

    color: #ffffff;

    font-family: 'DM Sans', Arial, sans-serif;

    font-size: 13px;

    font-weight: 700;

    cursor: pointer;

    transition:
        background .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.wishlist-actions .add-to-cart i {
    font-size: 13px;
}

.wishlist-actions .add-to-cart:hover {
    background: #3d2519;

    border-color: #3d2519;

    transform: translateY(-2px);

    box-shadow: 0 7px 16px rgba(61,37,25,.17);
}


/* =========================================================
   REMOVE WISHLIST BUTTON
   ========================================================= */

.remove-wishlist {
    width: 44px;

    height: 44px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid #ead5d1;

    border-radius: 11px;

    background: #fff8f7;

    color: #a9574d;

    font-size: 14px;

    cursor: pointer;

    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease,
        transform .25s ease;
}

.remove-wishlist:hover {
    background: #a9574d;

    border-color: #a9574d;

    color: #ffffff;

    transform: translateY(-2px);
}


/* =========================================================
   EMPTY WISHLIST
   ========================================================= */

.empty-wishlist {
    width: 100%;

    max-width: 700px;

    margin: 25px auto 70px;

    padding: 55px 30px;

    text-align: center;

    background: #ffffff;

    border: 1px solid #eadfd5;

    border-radius: 20px;

    box-shadow: 0 10px 30px rgba(61,37,25,.06);

    box-sizing: border-box;
}


/* EMPTY ICON */

.empty-wishlist > i {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 75px;

    height: 75px;

    margin-bottom: 18px;

    border-radius: 50%;

    background: #f4e6db;

    color: #8b5637;

    font-size: 32px;
}


/* EMPTY TITLE */

.empty-wishlist h2 {
    margin: 0 0 10px;

    color: #3d2519;

    font-family: 'Playfair Display', Georgia, serif;

    font-size: 26px;
}


/* EMPTY TEXT */

.empty-wishlist p {
    max-width: 500px;

    margin: 0 auto 25px;

    color: #817169;

    font-family: 'DM Sans', Arial, sans-serif;

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   BROWSE PRODUCTS BUTTON
   ========================================================= */

.empty-wishlist .btn {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 45px;

    padding: 0 25px;

    border-radius: 11px;

    background: #6f432b;

    color: #ffffff;

    text-decoration: none;

    font-family: 'DM Sans', Arial, sans-serif;

    font-size: 13px;

    font-weight: 700;

    box-shadow: 0 7px 17px rgba(111,67,43,.16);

    transition: all .25s ease;
}

.empty-wishlist .btn:hover {
    background: #3d2519;

    transform: translateY(-2px);

    box-shadow: 0 10px 22px rgba(61,37,25,.18);
}


/* =========================================================
   RESPONSIVE - TABLET
   ========================================================= */

@media (max-width: 950px) {

    .wishlist-page {
        padding-left: 5%;
        padding-right: 5%;
    }

    .wishlist-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 20px;
    }

    .wishlist-card > img {
        height: 230px;
    }

}


/* =========================================================
   RESPONSIVE - SMALL TABLET
   ========================================================= */

@media (max-width: 700px) {

    .page-banner {
        padding: 55px 5%;
    }

    .page-banner h1 {
        font-size: 35px;
    }

    .page-banner p {
        font-size: 14px;
    }

    .wishlist-page {
        padding: 45px 5% 25px;
    }

    .wishlist-page > h2 {
        font-size: 25px;

        margin-bottom: 25px;
    }

    .wishlist-container {
        grid-template-columns: 1fr;

        max-width: 500px;

        margin: 0 auto;

        gap: 20px;
    }

    .wishlist-card > img {
        height: 260px;
    }

}


/* =========================================================
   RESPONSIVE - MOBILE
   ========================================================= */

@media (max-width: 500px) {

    .page-banner {
        padding: 45px 5%;
    }

    .page-banner h1 {
        font-size: 31px;
    }

    .page-banner p {
        font-size: 13px;
    }


    .wishlist-page {
        padding: 38px 5% 20px;
    }

    .wishlist-page > h2 {
        font-size: 23px;
    }


    .wishlist-card {
        border-radius: 17px;
    }

    .wishlist-card > img {
        height: 235px;
    }

    .wishlist-info {
        padding: 19px 18px 18px;
    }

    .wishlist-info h3 {
        font-size: 19px;
    }

    .wishlist-info .price {
        font-size: 17px;
    }

    .wishlist-info .rating {
        font-size: 14px;

        margin-bottom: 16px;
    }


    .wishlist-actions .add-to-cart {
        min-height: 43px;

        font-size: 12px;
    }

    .remove-wishlist {
        width: 43px;

        height: 43px;
    }


    .empty-wishlist {
        width: calc(100% - 10%);

        margin: 20px auto 55px;

        padding: 40px 20px;

        border-radius: 17px;
    }

    .empty-wishlist > i {
        width: 65px;

        height: 65px;

        font-size: 27px;
    }

    .empty-wishlist h2 {
        font-size: 23px;
    }

    .empty-wishlist p {
        font-size: 13px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 380px) {

    .page-banner h1 {
        font-size: 28px;
    }

    .page-banner p {
        font-size: 12px;
    }

    .wishlist-page {
        padding-left: 4%;
        padding-right: 4%;
    }

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

    .wishlist-info {
        padding: 17px 15px;
    }

    .wishlist-info h3 {
        font-size: 18px;
    }

    .wishlist-actions {
        gap: 7px;
    }

    .wishlist-actions .add-to-cart {
        padding: 0 10px;

        font-size: 11px;
    }

    .wishlist-actions .add-to-cart span {
        display: inline;
    }

    .remove-wishlist {
        width: 42px;

        height: 42px;
    }

    .empty-wishlist {
        width: 92%;

        padding: 35px 17px;
    }

}


/* =====================================================
   SEARCH PAGE - FINAL MODERN FIX
===================================================== */

.search-section {
    width: 90%;
    max-width: 1200px;
    margin: 35px auto 25px;
}

.search-container {
    display: flex;
    align-items: center;
    max-width: 750px;
    margin: 0 auto 15px;
    border: 1px solid #ddd;
    border-radius: 35px;
    overflow: hidden;
    background: #fff;
}

.search-container input {
    flex: 1;
    height: 55px;
    border: none;
    outline: none;
    padding: 0 25px;
    font-size: 15px;
}

.search-container button {
    height: 45px;
    margin-right: 6px;
    padding: 0 25px;
    border: none;
    border-radius: 25px;
    background: #8a4928;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.filter-box {
    display: flex;
    gap: 15px;
    max-width: 1000px;
    margin: 0 auto;
}

.filter-box select {
    flex: 1;
    height: 48px;
    padding: 0 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    color: #555;
    outline: none;
}


/* SEARCH RESULTS */

.products {
    width: 90%;
    max-width: 1200px;
    margin: 35px auto 50px;
}

.products h2 {
    margin: 0 0 20px;
    font-size: 28px;
    color: #3d2418;
}


/* PRODUCT GRID */

.product-container {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    width: 100%;
}


/* PRODUCT CARD */

.product-card {
    width: 100% !important;
    min-width: 0;
    padding: 12px !important;
    border: 1px solid #eee;
    border-radius: 16px;
    background: #fff;
    text-align: center;
    box-sizing: border-box;
    overflow: hidden;
    transition: 0.25s ease;
}

.product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

.product-card img {
    width: 100% !important;
    height: 250px !important;
    object-fit: cover !important;
    border-radius: 12px;
    display: block;
}

.product-card h3 {
    margin: 15px 5px 7px;
    font-size: 17px;
    color: #3d2418;
}

.product-card > p {
    margin: 0 0 12px;
    font-size: 16px;
    font-weight: 600;
    color: #8a4928;
}


/* BUTTON */

.product-actions {
    display: flex;
    justify-content: center;
    margin-top: 10px;
}

.product-actions .btn {
    border: none;
    border-radius: 25px;
    background: #8a4928;
    color: white;
    padding: 10px 22px;
    font-size: 13px;
    cursor: pointer;
}


/* WISHLIST */

.wishlist-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 38px;
    height: 38px;
    border: none;
    border-radius: 50%;
    background: white;
    color: #8a4928;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}


/* MOBILE / TABLET */

@media (max-width: 900px) {

    .product-container {
        grid-template-columns: repeat(2, 1fr) !important;
    }

}

@media (max-width: 600px) {

    .search-section {
        width: 92%;
    }

    .filter-box {
        flex-direction: column;
    }

    .product-container {
        grid-template-columns: 1fr !important;
    }

    .products {
        width: 92%;
    }

    .product-card img {
        height: 230px !important;
    }

}

.product-card .product-actions {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    margin: 12px auto 0 !important;
}

.product-card .product-actions .btn {
    margin: 0 auto !important;
}

/* =========================================================
   GALLERY PAGE - COCOPIE
========================================================= */
:root {
    --g-brown: #6f432b;
    --g-brown-light: #9a5f3b;
    --g-brown-dark: #3d2519;
    --g-cream: #faf6f1;
    --g-border: #eadfd5;
    --g-shadow: 0 8px 25px rgba(61, 37, 25, 0.08);
    --g-shadow-hover: 0 20px 45px rgba(61, 37, 25, 0.16);
}
/* ================= HERO — INAYOS: MAS MAIKLI, KATULAD NG PRODUCT PAGE ================= */
.gallery-hero {
    position: relative;
    width: 100%;
    padding: 45px 7% 45px;
    text-align: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 20% 20%, rgba(255, 255, 255, .9), transparent 40%),
        linear-gradient(135deg, #fbf3ea, #f3e4d6);
}
.hero-circle {
    position: absolute;
    border-radius: 50%;
    background: rgba(111, 67, 43, 0.07);
}
.circle-left {
    width: 260px;
    height: 260px;
    left: -110px;
    bottom: -130px;
}
.circle-right {
    width: 330px;
    height: 330px;
    right: -90px;
    top: -150px;
}
.gallery-hero-content {
    position: relative;
    z-index: 1;
    max-width: 700px;
    margin: 0 auto;
}
.small-title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    color: var(--g-brown);
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
}
.gallery-hero h1 {
    margin: 0;
    font-family: 'Playfair Display', serif;
    font-size: clamp(32px, 5vw, 46px);
    font-weight: 700;
    color: var(--g-brown-dark);
}
.gallery-hero h1 span { color: var(--g-brown-light); }
.title-line {
    width: 85px;
    height: 3px;
    margin: 12px auto 16px;
    border-radius: 3px;
    background: var(--g-brown-light);
}
.gallery-hero p {
    margin: 0;
    color: #765c4d;
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    line-height: 1.5;
}
/* ================= GALLERY SECTION ================= */
.gallery-section {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 80px 5% 100px;
    box-sizing: border-box;
}
.gallery-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 40px;
}
.section-label {
    display: block;
    margin-bottom: 14px;
    color: var(--g-brown-light);
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 3px;
}
.gallery-heading h2 {
    margin: 0;
    font-family: 'Playfair Display', serif;
    font-size: clamp(32px, 4vw, 46px);
    font-weight: 700;
    line-height: 1.15;
    color: var(--g-brown-dark);
}
.gallery-heading h2 span { color: var(--g-brown-light); }
.gallery-heading > p {
    max-width: 480px;
    margin: 0;
    color: #765c4d;
    font-family: 'DM Sans', sans-serif;
    font-size: 17px;
    line-height: 1.9;
}
/* ================= FILTERS ================= */
.gallery-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 45px;
}
.filter-btn {
    padding: 14px 28px;
    border: 1px solid var(--g-border);
    border-radius: 999px;
    background: #fff;
    color: var(--g-brown-dark);
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all .25s ease;
}
.filter-btn:hover {
    border-color: var(--g-brown-light);
    transform: translateY(-2px);
}
.filter-btn.active {
    background: var(--g-brown);
    border-color: var(--g-brown);
    color: #fff;
    box-shadow: 0 8px 18px rgba(111, 67, 43, 0.25);
}
/* ================= GRID ================= */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}
.gallery-card {
    background: #fff;
    border: 1px solid var(--g-border);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: var(--g-shadow);
    cursor: pointer;
    transition: transform .3s ease, box-shadow .3s ease;
}
.gallery-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--g-shadow-hover);
}
.gallery-card.hide { display: none; }
/* ================= IMAGE ================= */
.gallery-image {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f4e9df;
}
.gallery-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.gallery-card:hover .gallery-image img { transform: scale(1.08); }
.image-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: rgba(61, 37, 25, 0.5);
    color: #fff;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    opacity: 0;
    transition: opacity .3s ease;
}
.gallery-card:hover .image-overlay { opacity: 1; }
.view-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #fff;
    color: var(--g-brown);
    font-size: 18px;
    transform: scale(.8);
    transition: transform .3s ease;
}
.gallery-card:hover .view-button { transform: scale(1); }
/* ================= INFO ================= */
.gallery-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 20px 24px 24px;
}
.gallery-category {
    display: inline-block;
    margin-bottom: 6px;
    color: var(--g-brown-light);
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.gallery-info h3 {
    margin: 0;
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--g-brown-dark);
}
.gallery-info > i {
    color: #b8a393;
    font-size: 16px;
    transition: color .25s ease;
}
.gallery-card:hover .gallery-info > i { color: var(--g-brown); }
/* ================= LIGHTBOX ================= */
.gallery-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    background: rgba(30, 18, 12, 0.92);
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}
.gallery-lightbox.active,
.gallery-lightbox.show,
.gallery-lightbox.open {
    opacity: 1;
    visibility: visible;
}
.lightbox-content {
    width: 100%;
    max-width: 900px;
    max-height: 90vh;
    overflow: hidden;
    border-radius: 20px;
    background: #fff;
}
.lightbox-content img {
    display: block;
    width: 100%;
    max-height: 62vh;
    object-fit: cover;
}
.lightbox-details {
    padding: 22px 28px 28px;
    text-align: center;
}
.lightbox-details span {
    color: var(--g-brown-light);
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.lightbox-details h3 {
    margin: 8px 0;
    font-family: 'Playfair Display', serif;
    font-size: 28px;
    color: var(--g-brown-dark);
}
.lightbox-details p {
    margin: 0;
    color: #765c4d;
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    line-height: 1.7;
}
.lightbox-close,
.lightbox-prev,
.lightbox-next {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    transition: background .25s ease;
}
.lightbox-close:hover,
.lightbox-prev:hover,
.lightbox-next:hover { background: rgba(255, 255, 255, 0.3); }
.lightbox-close { top: 24px; right: 28px; }
.lightbox-prev  { left: 28px;  top: 50%; transform: translateY(-50%); }
.lightbox-next  { right: 28px; top: 50%; transform: translateY(-50%); }
/* ================= RESPONSIVE ================= */
@media (max-width: 1000px) {
    .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gallery-heading { flex-direction: column; align-items: flex-start; gap: 20px; }
}
@media (max-width: 640px) {
    .gallery-hero { padding: 35px 6% 35px; }
    .gallery-hero p { font-size: 16px; }
    .gallery-section { padding: 55px 5% 70px; }
    .gallery-grid { grid-template-columns: 1fr; gap: 22px; }
    .filter-btn { padding: 12px 22px; font-size: 14px; }
    .lightbox-prev { left: 10px; }
    .lightbox-next { right: 10px; }
    .lightbox-close { top: 14px; right: 14px; }
}
/* Container para sa cart icon at badge */
header .icons .cart-icon {
    position: relative;
    display: inline-block;
}
/* Style ng badge (kapareho ng nasa product page) */
header .icons #cart-count {
    position: absolute;
    top: -8px;
    right: -10px;
    background-color: #8B4513;
    color: #ffffff;
    font-size: 11px;
    font-weight: bold;
    border-radius: 50%;
    padding: 2px 6px;
    min-width: 18px;
    text-align: center;
    line-height: 1;
}

.product-card { position: relative; }

.product-card.sold-out img {
  opacity: 0.45;
  filter: grayscale(1);
}

.sold-out-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 1;
  background: #c0392b;
  color: #fff;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
}

.product-actions .btn:disabled {
  background: #999;
  cursor: not-allowed;
  white-space: nowrap;
}

/* =========================================================
   HERO / BANNER FIX - PARE-PAREHONG MAIKLING HEADER
   I-paste ito sa PINAKABABA ng style.css mo
   (para ito ang manaig sa lahat ng lumang rules)
   Gusto mo mas maliit/malaki? Palitan lang ang 45px.
========================================================= */

.shop-heading,
.category-banner,
.page-banner,
.contact-hero,
.contact-banner,
.contact-header {
    min-height: 0 !important;
    padding: 45px 7% !important;
}

.shop-heading {
    margin-bottom: 35px !important;
}

/* guhit sa ilalim ng title: mas maliit na espasyo */
.shop-heading h1::after,
.category-banner h1::after {
    margin-top: 12px !important;
}

.shop-heading h1,
.category-banner h1,
.page-banner h1 {
    margin-bottom: 10px !important;
}

/* TABLET / MOBILE */
@media (max-width: 700px) {
    .shop-heading,
    .category-banner,
    .page-banner,
    .contact-hero,
    .contact-banner,
    .contact-header {
        padding: 35px 6% !important;
    }

    .shop-heading {
        margin-bottom: 25px !important;
    }
}

@media (max-width: 480px) {
    .shop-heading,
    .category-banner,
    .page-banner,
    .contact-hero,
    .contact-banner,
    .contact-header {
        padding: 30px 5% !important;
    }
}

/* ACCENT COLOR */
.contact-info h2::after,
.contact-form h2::after,
.map-section h2::after,
.social-section h2::after {
    background: #d9a441;
}

.info-box > i {
    background: #fbefd5;
    color: #b97a1c;
}

.info-box:hover > i {
    background: #d9a441;
    color: #fff;
}

.contact-form .btn {
    background: linear-gradient(135deg, #8a4928, #b86a2e);
}


body.search-page .product-actions .btn:disabled,
body.search-page .product-actions .btn:disabled:hover {
    background: #999;
    border-color: #999;
    cursor: not-allowed;
    transform: none;
}

.faq-answer a {
    color: #6f432b;
    font-weight: 600;
    text-decoration: underline;
}

/* CART ITEM (may checkbox) */
.cart-item {
    display: grid;
    grid-template-columns: 24px 112px minmax(0, 1fr) auto;
    gap: 15px;
    align-items: flex-start;
}

.cart-item img {
    width: 112px;
    height: 112px;
}

@media (max-width: 650px) {
    .cart-item {
        grid-template-columns: 24px 80px minmax(0, 1fr);
    }
    .cart-item img {
        width: 80px;
        height: 80px;
        grid-row: auto;
    }
    .cart-item-total {
        grid-column: 1 / -1;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        min-width: 0;
        padding-top: 10px;
        border-top: 1px solid #eee3da;
    }
}

/* SEARCH: disabled button */
body.search-page .product-actions .btn:disabled,
body.search-page .product-actions .btn:disabled:hover {
    background: #999;
    border-color: #999;
    cursor: not-allowed;
    transform: none;
}

/* FAQ link */
.faq-answer a {
    color: #6f432b;
    font-weight: 600;
    text-decoration: underline;
}

/* =========================================================
   SEARCH PAGE - FINAL FIX (ilagay sa PINAKABABA)
========================================================= */

body.search-page section.products {
    width: 100% !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 25px 3% 70px !important;
    box-sizing: border-box !important;
}

body.search-page section.products .product-container {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-items: stretch !important;
    align-items: stretch !important;
}

body.search-page section.products .product-container > .product-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 15px !important;
    justify-self: stretch !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
}

body.search-page section.products .product-container > .product-card > img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3;
    object-fit: cover !important;
}

body.search-page section.products .product-container > .product-card .product-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: auto 0 0 !important;
}

body.search-page section.products .product-container > .product-card .product-actions .btn,
body.search-page section.products .product-container > .product-card .product-actions .btn-view {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px;
    margin: 0 !important;
    padding: 0 8px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

@media (max-width: 900px) {
    body.search-page section.products .product-container {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    body.search-page section.products .product-container {
        grid-template-columns: 1fr !important;
    }
}

/* Ayusin ang cart icon na tumataas at hindi naka-center */
header .icons a.cart-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

header .icons a.cart-icon > i {
    position: static;
    margin: 0;
    transform: none;
}

header .icons a.cart-icon .cart-count,
header .icons a.cart-icon #cart-count {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    transform: translate(35%, -35%);
}


/* =====================================================
   login-scene.css  -  Login page na may panaderong naglalakad papasok,
   kumakaway, sumasandal at tumuturo sa form.

   Kulay: galing lahat sa style.css ng CocoPie
   (#713d25 / #542b1a / #2f1c14 / #eedec4 / #fbfaf7 / #c58b5c).
   Lahat ay nasa loob ng .sc-page kaya hindi nito
   ginagalaw ang ibang pahina.
   (Kung nailagay mo na ang lumang "lg-" CSS, puwede mo
    na itong burahin; hindi na ito ginagamit.)
===================================================== */

.sc-page {
    --c-dark: #2f1c14;
    --c-brown: #713d25;
    --c-brown-hover: #542b1a;
    --c-accent: #c58b5c;
    --c-cream: #fbfaf7;
    --c-cream-2: #eedec4;
    --c-text: #3f281d;
    --c-border: #eadfd5;

    position: relative;
    min-height: calc(100vh - 90px);
    display: grid;
    place-items: center;
    padding: 48px 16px;
    overflow: hidden;
    box-sizing: border-box;
    background: linear-gradient(135deg, #f4e2cc, #edd5bb);
}

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

/* ---------- ENTABLADO ---------- */

.sc-stage {
    position: relative;
    display: grid;
    grid-template-columns: .85fr 1.25fr;
    align-items: center;
    width: min(980px, 100%);
    min-height: 480px;
    border-radius: 28px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--c-brown), var(--c-brown-hover));
    box-shadow: 0 30px 70px rgba(63, 40, 29, .35);
    animation: scStage .7s ease both;
}

/* mga bilog sa likod (parang sa video) */
.sc-stage::before,
.sc-stage::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.sc-stage::before {
    width: 420px; height: 420px;
    top: -170px; right: -120px;
    background: rgba(238, 222, 196, .08);
}
.sc-stage::after {
    width: 320px; height: 320px;
    bottom: -150px; left: -90px;
    background: rgba(197, 139, 92, .16);
}

@keyframes scStage {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ---------- PANADERO ---------- */

.sc-char {
    position: relative;
    z-index: 1;
    align-self: end;
    display: flex;
    justify-content: center;
    padding: 20px 0 0 18px;
}

.sc-svg {
    width: 100%;
    max-width: 300px;
    height: auto;
    overflow: visible;
}

/* Lahat ng bahagi ng katawan ay may sariling pivot (balikat, siko, balakang, leeg).
   Unang 2 segundo: naglalakad papasok.  Pagkatapos: umuulit kada 16 segundo
   (kaway -> pose -> sandal at turo sa email, password, button -> sayaw). */

.ch-root, .ch-upper, .ch-breath, .ch-head,
.ch-legL, .ch-legR,
.ch-armL, .ch-foreL, .ch-armR, .ch-foreR {
    transform-box: view-box;
}

.ch-root   { animation: chWalkIn 2s cubic-bezier(.25, .6, .35, 1) both,
                        chRoot 16s ease-in-out 3s infinite; }

.ch-legL   { transform-origin: 101px 226px;
             animation: chStepA .5s linear 4 both,
                        chLegL 16s ease-in-out 3s infinite; }
.ch-legR   { transform-origin: 127px 226px;
             animation: chStepB .5s linear 4 both,
                        chLegR 16s ease-in-out 3s infinite; }

.ch-upper  { transform-origin: 113px 224px;
             animation: chLean 16s ease-in-out 3s infinite; }

.ch-breath { animation: chBreath 3s ease-in-out infinite; }

.ch-head   { transform-origin: 113px 116px;
             animation: chHead 16s ease-in-out 3s infinite; }

.ch-armR   { transform-origin: 148px 142px;
             animation: chSwingB .5s linear 4 both,
                        chArmR 16s ease-in-out 3s infinite; }
.ch-foreR  { transform-origin: 148px 188px;
             animation: chForeR 16s ease-in-out 3s infinite; }

.ch-armL   { transform-origin: 73px 142px;
             animation: chSwingA .5s linear 4 both,
                        chArmL 16s ease-in-out 3s infinite; }
.ch-foreL  { transform-origin: 73px 188px;
             animation: chForeL 16s ease-in-out 3s infinite; }

.sc-eyes   { transform-origin: 113px 86px;
             animation: scBlink 5s infinite; }

/* ---- paglalakad papasok ---- */
@keyframes chWalkIn {
    from { transform: translateX(-340px); }
    to   { transform: translateX(0); }
}
@keyframes chStepA {
    0%, 100% { transform: rotate(0deg); }
    25%      { transform: rotate(26deg); }
    75%      { transform: rotate(-26deg); }
}
@keyframes chStepB {
    0%, 100% { transform: rotate(0deg); }
    25%      { transform: rotate(-26deg); }
    75%      { transform: rotate(26deg); }
}
@keyframes chSwingA {
    0%, 100% { transform: rotate(0deg); }
    25%      { transform: rotate(22deg); }
    75%      { transform: rotate(-22deg); }
}
@keyframes chSwingB {
    0%, 100% { transform: rotate(0deg); }
    25%      { transform: rotate(-22deg); }
    75%      { transform: rotate(22deg); }
}

/* ---- paghinga ---- */
@keyframes chBreath {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-3px); }
}

/* ---- 16 segundong galaw ---- */

/* kanang braso: kaway -> pose -> turo sa email -> password -> button -> baba */
@keyframes chArmR {
    0%, 6%  { transform: rotate(0deg); }
    10%     { transform: rotate(-150deg); }
    26%     { transform: rotate(-150deg); }
    30%     { transform: rotate(-100deg); }
    34%     { transform: rotate(-106deg); }
    46%     { transform: rotate(-106deg); }
    50%     { transform: rotate(-76deg); }
    58%     { transform: rotate(-76deg); }
    62%     { transform: rotate(-54deg); }
    70%     { transform: rotate(-54deg); }
    76%     { transform: rotate(0deg); }
    100%    { transform: rotate(0deg); }
}

/* siko ng kanang braso: kumakaway */
@keyframes chForeR {
    0%, 10%   { transform: rotate(0deg); }
    12.5%     { transform: rotate(-26deg); }
    15%       { transform: rotate(26deg); }
    17.5%     { transform: rotate(-26deg); }
    20%       { transform: rotate(26deg); }
    22.5%     { transform: rotate(-26deg); }
    25%       { transform: rotate(26deg); }
    28%, 100% { transform: rotate(0deg); }
}

/* kaliwang braso: bukas ang dalawang kamay, tapos nakapameywang */
@keyframes chArmL {
    0%, 26% { transform: rotate(0deg); }
    30%     { transform: rotate(100deg); }
    34%     { transform: rotate(100deg); }
    38%     { transform: rotate(38deg); }
    70%     { transform: rotate(38deg); }
    76%     { transform: rotate(0deg); }
    100%    { transform: rotate(0deg); }
}
@keyframes chForeL {
    0%, 34% { transform: rotate(0deg); }
    38%     { transform: rotate(-78deg); }
    70%     { transform: rotate(-78deg); }
    76%     { transform: rotate(0deg); }
    100%    { transform: rotate(0deg); }
}

/* sandal papunta sa form, tapos masayang indayog */
@keyframes chLean {
    0%, 26% { transform: rotate(0deg); }
    32%     { transform: rotate(4deg); }
    38%     { transform: rotate(7deg); }
    70%     { transform: rotate(7deg); }
    76%     { transform: rotate(0deg); }
    80%     { transform: rotate(0deg); }
    84%     { transform: rotate(-4deg); }
    88%     { transform: rotate(4deg); }
    92%     { transform: rotate(-3deg); }
    96%, 100% { transform: rotate(0deg); }
}

/* ulo: sumusunod sa kamay, tumatango */
@keyframes chHead {
    0%, 6%  { transform: rotate(0deg); }
    12%     { transform: rotate(-6deg); }
    26%     { transform: rotate(-6deg); }
    30%     { transform: rotate(0deg); }
    38%     { transform: rotate(8deg); }
    46%     { transform: rotate(4deg); }
    50%     { transform: rotate(9deg); }
    58%     { transform: rotate(6deg); }
    61%     { transform: rotate(12deg); }
    63%     { transform: rotate(4deg); }
    65%     { transform: rotate(12deg); }
    70%     { transform: rotate(8deg); }
    76%, 100% { transform: rotate(0deg); }
}

/* hakbang habang sumasandal */
@keyframes chLegL {
    0%, 28% { transform: rotate(0deg); }
    36%     { transform: rotate(5deg); }
    70%     { transform: rotate(5deg); }
    76%, 100% { transform: rotate(0deg); }
}
@keyframes chLegR {
    0%, 28% { transform: rotate(0deg); }
    36%     { transform: rotate(-8deg); }
    70%     { transform: rotate(-8deg); }
    76%, 100% { transform: rotate(0deg); }
}
@keyframes chRoot {
    0%, 28% { transform: translateX(0); }
    36%     { transform: translateX(8px); }
    70%     { transform: translateX(8px); }
    76%, 100% { transform: translateX(0); }
}

@keyframes scBlink {
    0%, 94%, 100% { transform: scaleY(1); }
    97%           { transform: scaleY(.1); }
}

/* ---------- FORM ---------- */

/* .login-form ay kailangan ng js/login.js, kaya nasa HTML pa rin.
   I-reset dito ang anumang layout na galing sa lumang style.css. */
.sc-stage .sc-form.login-form {
    position: relative;
    z-index: 1;
    display: block;
    width: auto;
    max-width: none;
    min-height: 0;
    margin: 0;
    flex: initial;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: 46px 48px 46px 22px;
    color: var(--c-cream);
}

/* paunti-unting paglabas ng form (parang sa video) */
.sc-form .sc-in {
    animation: scIn .6s ease both;
    animation-delay: calc(2.1s + var(--i, 0) * .12s);
}
@keyframes scIn {
    from { opacity: 0; transform: translateY(22px) scale(.97); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

.sc-form h1 {
    margin: 0 0 6px;
    font-size: 34px;
    line-height: 1.15;
    text-align: center;
    color: #fff;
}

.sc-form .sc-sub {
    margin: 0 0 24px;
    font-size: 14.5px;
    text-align: center;
    color: var(--c-cream-2);
}

.sc-form .input-box {
    margin: 0 0 16px;
}

.sc-form .input-box label {
    display: block;
    margin: 0 0 7px;
    font-size: 13.5px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    color: var(--c-cream);
}

.sc-form .input-box input[type="email"],
.sc-form .input-box input[type="password"],
.sc-form .input-box input[type="text"] {
    width: 100%;
    margin: 0;
    padding: 14px 16px;
    font-size: 15px;
    font-family: inherit;
    color: var(--c-text);
    background: #fff;
    border: 2px solid transparent;
    border-radius: 10px;
    outline: none;
    box-shadow: none;
    transition: border-color .25s, box-shadow .25s;
}

.sc-form .input-box input::placeholder {
    color: #a99589;
}

.sc-form .input-box input:focus {
    border-color: var(--c-accent);
    box-shadow: 0 0 0 4px rgba(197, 139, 92, .35);
}

.sc-form .password-field {
    position: relative;
    display: block;
}
.sc-form .password-field input {
    padding-right: 46px;
}
.sc-form #togglePassword {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    cursor: pointer;
    color: #a99589;
    transition: color .2s;
}
.sc-form #togglePassword:hover {
    color: var(--c-brown);
}

.sc-form .login-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin: 2px 0 20px;
    font-size: 14px;
    color: var(--c-cream-2);
}
.sc-form .login-options label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    cursor: pointer;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    color: var(--c-cream-2);
}
.sc-form .login-options input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: var(--c-accent);
}
.sc-form .login-options a,
.sc-form .register-link a {
    color: #fff;
    font-weight: 600;
    text-decoration: none;
}
.sc-form .login-options a:hover,
.sc-form .register-link a:hover {
    text-decoration: underline;
}

/* Cream na button para lumabas sa kayumangging entablado
   (nasa palette: #eedec4, hover #fbfaf7) */
.sc-form #loginButton {
    display: block;
    width: 100%;
    margin: 0;
    padding: 15px 18px;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    color: var(--c-brown-hover);
    background: var(--c-cream-2);
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .25);
    transition: transform .2s, box-shadow .2s, background .2s;
}
.sc-form #loginButton:hover {
    background: var(--c-cream);
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .32);
}
.sc-form #loginButton:active {
    transform: translateY(0);
}
.sc-form #loginButton:disabled {
    opacity: .65;
    cursor: not-allowed;
    transform: none;
}

/* Nakatago ang "OR" at "Continue with Google".
   Para ibalik, burahin ang dalawang linyang ito.
   (Nasa HTML pa rin ang mga ito para hindi magka-error ang js/login.js) */
.sc-form .divider,
.sc-form #googleLogin {
    display: none !important;
}

.sc-form .register-link {
    margin: 22px 0 0;
    text-align: center;
    font-size: 14.5px;
    color: var(--c-cream-2);
}

/* ---------- MOBILE ---------- */

@media (max-width: 820px) {
    .sc-page {
        padding: 24px 14px;
        align-items: start;
    }
    .sc-stage {
        grid-template-columns: 1fr;
    }
    .sc-char {
        padding: 18px 0 0;
    }
    .sc-svg {
        max-width: 170px;
    }
    .sc-stage .sc-form.login-form {
        padding: 12px 22px 32px;
    }
    .sc-form h1 { font-size: 28px; }
}

@media (prefers-reduced-motion: reduce) {
    .sc-stage, .sc-svg *, .sc-form .sc-in {
        animation: none !important;
    }
}

.address-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 20px;
}

.address-modal-content {
    position: relative;
    background: #fff;
    width: 100%;
    max-width: 480px;
    max-height: 90vh;
    overflow-y: auto;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}

.address-modal-content h2 {
    margin-bottom: 20px;
}

.close-address-modal {
    position: absolute;
    top: 14px;
    right: 14px;
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
}

.address-modal .form-group {
    margin-bottom: 16px;
}

.address-modal label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
}

.address-modal input,
.address-modal textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font: inherit;
}

.address-modal textarea {
    min-height: 90px;
    resize: vertical;
}

/* =====================================================
   LOGIN AT REGISTER: lampara + robot (auth-lamp)
===================================================== */

.al-page {
    --brown-900: #2b1a12;
    --brown-800: #3f281d;
    --gold: #f0b46c;
    --gold-deep: #e2954a;
    --text-soft: #d9bfa3;

    position: relative;
    min-height: calc(100vh - 90px);
    display: grid;
    place-items: center;
    padding: 48px 16px;
    overflow: hidden;
    box-sizing: border-box;
    background: linear-gradient(135deg, #f4e2cc, #edd5bb);
}

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

/* ================= CARD ================= */

.al-card {
    position: relative;
    width: min(980px, 100%);
    display: grid;
    grid-template-columns: .85fr 1.25fr;
    border-radius: 28px;
    overflow: hidden;
    background: rgba(63, 40, 29, .98);
    border: 1px solid rgba(255, 255, 255, .14);
    box-shadow: 0 30px 80px rgba(63, 40, 29, .38);
    animation: alRise .6s ease both;
}
@keyframes alRise {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}
.al-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 52%, rgba(255,255,255,.06) 52%, rgba(255,255,255,.02) 78%, transparent 78%);
}

/* ================= KALIWA: LAMPARA ================= */

.al-scene {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    background-color: var(--brown-900);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='98' viewBox='0 0 56 98'%3E%3Cpath d='M28 66L0 50V16L28 0l28 16v34L28 66zm0 0v32M0 50L0 82l28 16M56 50v32L28 98' fill='none' stroke='%23f0b46c' stroke-opacity='.07' stroke-width='1.2'/%3E%3C/svg%3E");
    border-right: 1px solid rgba(255, 255, 255, .1);
}

.al-lamp { position: absolute; top: 0; left: 50%; width: 0; z-index: 3; }
.al-wire { position: absolute; left: -1px; top: 0; width: 2px; height: 70px; background: #6b4a37; }
.al-shade {
    position: absolute; top: 70px; left: -64px; width: 128px; height: 58px;
    background: linear-gradient(#6a4430, #3a2418);
    clip-path: polygon(32% 0, 68% 0, 100% 100%, 0 100%);
    cursor: pointer;
}
.al-rim {
    position: absolute; top: 126px; left: -64px; width: 128px; height: 6px;
    border-radius: 0 0 8px 8px; background: #5a3a28;
    transition: background .4s ease, box-shadow .4s ease;
}
.al-bulb {
    position: absolute; top: 128px; left: -9px; width: 18px; height: 18px;
    border-radius: 50%; background: #6b4a37; cursor: pointer;
    transition: background .4s ease, box-shadow .4s ease;
}
.al-lamp.on .al-rim  { background: var(--gold); box-shadow: 0 0 14px var(--gold); }
.al-lamp.on .al-bulb { background: #fff3d6; box-shadow: 0 0 26px 8px rgba(240,180,108,.85); }

/* lubid */
.al-cord {
    position: absolute; top: 96px; left: 40px; width: 26px; height: 80px;
    padding: 0; border: 0; background: none; cursor: pointer;
    transition: transform .18s ease;
}
.al-cord::before {
    content: ""; position: absolute; left: 12px; top: 0; width: 2px; height: 62px; background: #a37b5c;
}
.al-cord::after {
    content: ""; position: absolute; left: 6px; top: 60px; width: 14px; height: 14px;
    border-radius: 50%; background: var(--gold); box-shadow: 0 0 10px rgba(240,180,108,.6);
}
.al-cord:active,
.al-cord.pulled { transform: translateY(12px); }
.al-cord:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; border-radius: 8px; }

/* kumikislap ang lubid habang patay ang ilaw */
.al-lamp:not(.on) .al-cord::after { animation: alBead 1.5s ease-in-out infinite; }
@keyframes alBead {
    0%, 100% { box-shadow: 0 0 6px rgba(240,180,108,.4); }
    50%      { box-shadow: 0 0 18px 6px rgba(240,180,108,.9); }
}

/* sinag (humahaba depende sa taas ng card) */
.al-cone {
    position: absolute; top: 132px; bottom: 90px; left: 50%; width: 340px; max-width: 100%;
    transform: translateX(-50%);
    clip-path: polygon(40% 0, 60% 0, 100% 100%, 0 100%);
    background: linear-gradient(to bottom, rgba(240,180,108,.55), rgba(240,180,108,.06) 85%, transparent);
    opacity: 0; transition: opacity .5s ease; z-index: 1;
}
.al-lamp.on ~ .al-cone { opacity: 1; }

.al-hint {
    position: absolute; left: 0; right: 0; bottom: 18px; margin: 0;
    text-align: center; font-size: 13px; color: var(--text-soft); z-index: 3;
}
.al-hint i { color: var(--gold); margin-right: 6px; }

/* ================= ROBOT ================= */

.al-bot {
    position: absolute; left: 50%; bottom: 64px; width: 118px; height: 118px;
    transform: translateX(-50%); z-index: 2;
    filter: brightness(.55); transition: filter .5s ease;
}
.al-scene.on .al-bot { filter: none; }
.al-head {
    position: absolute; inset: 0; border-radius: 50%;
    background: radial-gradient(circle at 35% 28%, #9a6340, #5b3722 70%);
    box-shadow: 0 0 0 3px rgba(240,180,108,.35), 0 14px 34px rgba(0,0,0,.45);
}
.al-scene.on .al-head {
    box-shadow: 0 0 0 3px rgba(240,180,108,.6), 0 0 40px rgba(240,180,108,.35), 0 14px 34px rgba(0,0,0,.45);
}
.al-ear { position: absolute; top: 42px; width: 14px; height: 34px; border-radius: 8px; background: #7a4c30; }
.al-ear.l { left: -8px; }
.al-ear.r { right: -8px; }
.al-face {
    position: absolute; inset: 14px; border-radius: 50%; background: #1f120c;
    box-shadow: inset 0 0 14px rgba(0,0,0,.7);
}
.al-eyes { position: absolute; top: 30px; left: 0; right: 0; display: flex; justify-content: center; gap: 16px; }
.al-eye {
    width: 18px; height: 18px; border-radius: 50%; background: #fff;
    display: flex; align-items: center; justify-content: center;
    transition: transform .15s ease;
}
.al-pupil { width: 8px; height: 8px; border-radius: 50%; background: #1f120c; transition: transform .08s linear; }
.al-scene:not(.on) .al-eye { transform: scaleY(.12); }
.al-bot.blink .al-eye { transform: scaleY(.12); }

.al-smile {
    position: absolute; left: 50%; bottom: 20px; width: 30px; height: 14px;
    transform: translateX(-50%);
    border-bottom: 3px solid var(--gold); border-radius: 0 0 30px 30px;
    transition: width .25s ease, height .25s ease, opacity .25s ease;
}
/* tulog: patay ang ilaw */
.al-scene:not(.on) .al-smile { width: 18px; height: 0; opacity: .45; border-radius: 0; }

/* tumatawa */
.al-bot.laugh { animation: alBounce .32s ease-in-out 5 alternate; }
.al-bot.laugh .al-eye { transform: scaleY(.55); }
.al-bot.laugh .al-smile {
    width: 38px; height: 20px; border: 0; background: var(--gold);
    border-radius: 0 0 38px 38px; opacity: 1;
}
@keyframes alBounce {
    from { transform: translateX(-50%) translateY(0); }
    to   { transform: translateX(-50%) translateY(-7px); }
}

.al-ha {
    position: absolute; left: 50%; bottom: 196px; transform: translateX(-50%); z-index: 3;
    font: 700 20px 'Playfair Display', Georgia, serif; color: var(--gold);
    white-space: nowrap; opacity: 0; pointer-events: none;
}
.al-ha.show { animation: alHa 1.7s ease forwards; }
@keyframes alHa {
    0%   { opacity: 0; transform: translate(-50%, 10px); }
    20%  { opacity: 1; }
    80%  { opacity: 1; }
    100% { opacity: 0; transform: translate(-50%, -14px); }
}

.al-bot-shadow {
    position: absolute; left: 50%; bottom: 46px; width: 140px; height: 22px;
    transform: translateX(-50%); border-radius: 50%;
    background: radial-gradient(ellipse, rgba(240,180,108,.5), transparent 70%);
    opacity: 0; transition: opacity .5s ease;
}
.al-scene.on .al-bot-shadow { opacity: 1; }

/* ================= KANAN: FORM ================= */

.al-page .al-card .al-form {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    float: none;
    width: auto;
    max-width: none;
    min-height: 0;
    margin: 0;
    flex: initial;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
    padding: 48px 44px 40px;
    color: #fff;
}

.al-page .al-card .al-form h1 {
    margin: 0;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -.5px;
    text-align: left;
    color: #fff;
}
.al-page .al-card .al-form h1 span { color: var(--gold); }

.al-page .al-card .al-form .al-sub {
    margin: 8px 0 26px;
    font-size: 15px;
    line-height: 1.5;
    text-align: left;
    color: var(--text-soft);
}

.al-page .al-card .al-form .al-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 14px;
}

.al-page .al-card .al-form .input-box {
    display: block;
    position: relative;
    margin: 0 0 16px;
    padding: 0;
}

.al-page .al-card .al-form .input-box label {
    display: block;
    margin: 0 0 7px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--gold);
}

.al-page .al-card .al-form .input-box input[type="text"],
.al-page .al-card .al-form .input-box input[type="email"],
.al-page .al-card .al-form .input-box input[type="tel"],
.al-page .al-card .al-form .input-box input[type="password"] {
    display: block;
    width: 100%;
    height: 50px;
    margin: 0;
    padding: 0 16px;
    font-size: 15px;
    font-weight: 500;
    font-family: inherit;
    color: #fff;
    background: rgba(0, 0, 0, .22);
    border: 1.5px solid rgba(240, 180, 108, .5);
    border-radius: 12px;
    outline: none;
    box-shadow: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.al-page .al-card .al-form .input-box input::placeholder { color: rgba(217, 191, 163, .55); }
.al-page .al-card .al-form .input-box input:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(240, 180, 108, .2), 0 0 18px rgba(240, 180, 108, .25);
}
/* autofill ng browser (para hindi pumuti) */
.al-page .al-card .al-form .input-box input:-webkit-autofill {
    -webkit-text-fill-color: #fff;
    -webkit-box-shadow: 0 0 0 1000px #3a2419 inset;
    caret-color: #fff;
}

.al-page .al-card .al-form .password-field { position: relative; display: block; }
.al-page .al-card .al-form .password-field input { padding-right: 46px; }
.al-page .al-card .al-form #togglePassword {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    cursor: pointer;
    color: var(--text-soft);
    transition: color .2s;
}
.al-page .al-card .al-form #togglePassword:hover { color: var(--gold); }

.al-page .al-card .al-form .login-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin: 2px 0 20px;
    font-size: 14px;
    color: var(--text-soft);
}
.al-page .al-card .al-form .login-options label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    cursor: pointer;
    color: var(--text-soft);
}
.al-page .al-card .al-form .login-options input[type="checkbox"],
.al-page .al-card .al-form .checkbox input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: var(--gold);
    flex: 0 0 auto;
}
.al-page .al-card .al-form .login-options a,
.al-page .al-card .al-form .checkbox a,
.al-page .al-card .al-form .register-link a,
.al-page .al-card .al-form .login-link a {
    color: var(--gold);
    font-weight: 600;
    text-decoration: none;
}
.al-page .al-card .al-form .login-options a:hover,
.al-page .al-card .al-form .checkbox a:hover,
.al-page .al-card .al-form .register-link a:hover,
.al-page .al-card .al-form .login-link a:hover { text-decoration: underline; }

/* Login / Create account button */
.al-page .al-card .al-form .al-submit {
    display: block;
    width: 100%;
    height: 52px;
    margin: 0;
    padding: 0 18px;
    border: 0;
    border-radius: 12px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 700;
    font-family: inherit;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--brown-800);
    background: linear-gradient(135deg, var(--gold), var(--gold-deep));
    box-shadow: 0 0 26px rgba(240, 180, 108, .35);
    transition: transform .2s ease, box-shadow .2s ease;
}
.al-page .al-card .al-form .al-submit::after { content: "\2192"; margin-left: 10px; }
.al-page .al-card .al-form .al-submit:hover { transform: translateY(-2px); box-shadow: 0 0 34px rgba(240, 180, 108, .55); }
.al-page .al-card .al-form .al-submit:active { transform: translateY(0); }
.al-page .al-card .al-form .al-submit:disabled { opacity: .65; cursor: not-allowed; transform: none; }

/* OR at Google */
.al-page .al-card .al-form .divider {
    display: flex;
    align-items: center;
    gap: 12px;
    position: static;
    height: auto;
    margin: 18px 0;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: center;
    font-size: 13px;
    color: var(--text-soft);
}
.al-page .al-card .al-form .divider::before,
.al-page .al-card .al-form .divider::after {
    content: "";
    position: static;
    flex: 1;
    width: auto;
    height: 1px;
    background: rgba(240, 180, 108, .3);
}
.al-page .al-card .al-form .divider span { position: static; padding: 0; background: transparent; color: var(--text-soft); }

.al-page .al-card .al-form .google-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    height: 48px;
    margin: 0;
    padding: 0 16px;
    font-size: 14.5px;
    font-weight: 600;
    font-family: inherit;
    color: #fff;
    background: transparent;
    border: 1.5px solid rgba(240, 180, 108, .5);
    border-radius: 12px;
    cursor: pointer;
    box-shadow: none;
    transition: background .2s ease, border-color .2s ease;
}
.al-page .al-card .al-form .google-btn:hover { background: rgba(240, 180, 108, .12); border-color: var(--gold); }

/* Login page: nakatago ang OR at Google. Para ibalik, burahin ang rule na ito. */
.al-login .al-form .divider,
.al-login .al-form #googleLogin { display: none !important; }

.al-page .al-card .al-form .register-link,
.al-page .al-card .al-form .login-link {
    margin: 22px 0 0;
    text-align: center;
    font-size: 14.5px;
    color: var(--text-soft);
}

/* ================= MOBILE ================= */

@media (max-width: 820px) {
    .al-page { padding: 24px 14px; align-items: start; }
    .al-card { grid-template-columns: 1fr; }
    .al-scene { min-height: 300px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
    .al-cone { bottom: 60px; width: 260px; }
    .al-bot { width: 84px; height: 84px; bottom: 36px; }
    .al-face { inset: 10px; }
    .al-eyes { top: 20px; gap: 12px; }
    .al-eye { width: 14px; height: 14px; }
    .al-pupil { width: 6px; height: 6px; }
    .al-smile { width: 22px; bottom: 14px; }
    .al-scene:not(.on) .al-smile { width: 14px; }
    .al-bot.laugh .al-smile { width: 26px; height: 14px; }
    .al-ear { top: 30px; height: 24px; width: 10px; }
    .al-bot-shadow { bottom: 26px; width: 100px; }
    .al-ha { bottom: 132px; font-size: 16px; }
    .al-hint { display: none; }
    .al-page .al-card .al-form { padding: 30px 22px 30px; }
    .al-page .al-card .al-form h1 { font-size: 32px; }
    .al-page .al-card .al-form .al-row { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .al-card, .al-bot.laugh, .al-lamp:not(.on) .al-cord::after { animation: none !important; }
    .al-ha.show { animation: none; opacity: 1; }
}

@media (max-width: 650px) {
    .cart-page [class*="remove"] {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        float: none !important;
        order: 99;
        width: 100% !important;
        max-width: 100% !important;
        margin: 14px 0 0 !important;
        box-sizing: border-box;
    }
}

/* "This Website is For Educational Purpose Only":
   nasa ilalim ng mga pangalan, nasa gitna, kapareho ng laki at kulay ng credits */
footer .copyright .footer-note {
    display: block;
    position: static !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: inherit !important;
    line-height: inherit;
    color: inherit !important;
    transform: none !important;
}

/* =====================================================
   GALLERY: dagdag na pampaganda
   (i-paste sa PINAKABABA ng style.css)
===================================================== */

/* pantay na taas ng mga card, kahit mahaba ang pangalan */
.gallery-card { display: flex; flex-direction: column; }
.gallery-card .gallery-info { flex: 1; }

/* lumalabas nang paunti-unti pagka-load at kapag nag-filter */
@keyframes galleryIn {
    from { opacity: 0; transform: translateY(18px); }
    to   { opacity: 1; transform: translateY(0); }
}
.gallery-card { animation: galleryIn .5s ease backwards; }
.gallery-card:nth-child(2) { animation-delay: .06s; }
.gallery-card:nth-child(3) { animation-delay: .12s; }
.gallery-card:nth-child(4) { animation-delay: .18s; }
.gallery-card:nth-child(5) { animation-delay: .24s; }
.gallery-card:nth-child(6) { animation-delay: .30s; }

/* category bilang maliit na pill */
.gallery-card .gallery-category {
    margin-bottom: 8px;
    padding: 4px 11px;
    border-radius: 999px;
    background: #f6ece2;
    font-size: 11px;
}

/* bilang ng litrato sa ilalim ng filters */
.gallery-filters { margin-bottom: 18px; }
.gallery-count {
    margin: 0 0 28px;
    color: #8a7061;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 500;
}

/* keyboard focus */
.gallery-card:focus-visible,
.filter-btn:focus-visible {
    outline: 3px solid rgba(154, 95, 59, .5);
    outline-offset: 3px;
}

/* "Love what you see?" banner */
.gallery-section { padding-bottom: 70px; }

.gallery-cta {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 5% 90px;
    box-sizing: border-box;
}
.gallery-cta-inner {
    position: relative;
    overflow: hidden;
    padding: 56px 24px;
    border-radius: 26px;
    text-align: center;
    color: #fff;
    background: linear-gradient(135deg, #713d25, #542b1a);
    box-shadow: 0 20px 45px rgba(61, 37, 25, .25);
}
.gallery-cta-inner::before {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    right: -90px;
    top: -130px;
    border-radius: 50%;
    background: rgba(238, 222, 196, .1);
}
.gallery-cta h2 {
    position: relative;
    margin: 0 0 10px;
    font-family: 'Playfair Display', serif;
    font-size: clamp(26px, 4vw, 38px);
    font-weight: 700;
    color: #fff;
}
.gallery-cta p {
    position: relative;
    max-width: 520px;
    margin: 0 auto 26px;
    color: #eedec4;
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    line-height: 1.7;
}
.gallery-cta-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 32px;
    border-radius: 999px;
    background: #eedec4;
    color: #542b1a;
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.gallery-cta-btn:hover {
    background: #fbfaf7;
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(0, 0, 0, .25);
}

/* phone: isang hilera na pwedeng i-swipe ang filters */
@media (max-width: 640px) {
    .gallery-filters {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin-left: -5%;
        margin-right: -5%;
        padding: 4px 5% 8px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .gallery-filters::-webkit-scrollbar { display: none; }
    .filter-btn { flex: 0 0 auto; white-space: nowrap; }
    .gallery-cta { padding-bottom: 60px; }
    .gallery-cta-inner { padding: 42px 20px; }
}

@media (prefers-reduced-motion: reduce) {
    .gallery-card { animation: none; }
}
