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

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

html {
    scroll-behavior: smooth;
}

body {
    font-family: Arial, "Noto Sans Armenian", sans-serif;
    background: #faf7f2;
    color: #292522;
    line-height: 1.6;
}

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

button,
input {
    font-family: inherit;
}

button {
    cursor: pointer;
}

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


/* =========================
   GLOBAL
========================= */

.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

.section {
    padding-top: 70px;
    padding-bottom: 80px;
}


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

.header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.97);
    border-bottom: 1px solid #e9e2db;
}

.navbar {
    min-height: 75px;

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

    gap: 25px;
}

.logo {
    font-size: 25px;
    font-weight: 800;
    color: #8b5e3c;
    white-space: nowrap;
}

.logo span {
    color: #292522;
}


/* Navigation */

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

.nav a {
    color: #403a35;
    font-size: 15px;
    transition: 0.2s;
}

.nav a:hover {
    color: #8b5e3c;
}


/* User buttons */

.user-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.login-btn,
.register-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 9px 14px;

    border-radius: 7px;

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

    transition: 0.2s;
}

.login-btn {
    color: #8b5e3c;
    background: white;
    border: 1px solid #8b5e3c;
}

.login-btn:hover {
    background: #faf3ec;
}

.register-btn {
    color: white;
    background: #8b5e3c;
    border: 1px solid #8b5e3c;
}

.register-btn:hover {
    background: #6f482e;
}


/* Cart */

.cart-button {
    position: relative;

    width: 42px;
    height: 42px;

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

    background: white;

    border: 1px solid #e5ddd5;
    border-radius: 50%;

    font-size: 18px;
}

.cart-button:hover {
    border-color: #8b5e3c;
}

#cartCount {
    position: absolute;

    top: -5px;
    right: -5px;

    min-width: 19px;
    height: 19px;

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

    padding: 0 5px;

    background: #8b5e3c;
    color: white;

    border-radius: 50%;

    font-size: 11px;
    font-weight: bold;
}


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

.page-header {
    background:
        linear-gradient(
            90deg,
            rgba(55, 37, 26, 0.94),
            rgba(55, 37, 26, 0.72)
        ),
        url("https://images.unsplash.com/photo-1618221195710-dd6b41faaea6?w=1600")
        center / cover;

    padding: 80px 0;

    color: white;
}

.page-header h1 {
    font-size: 48px;
    line-height: 1.2;

    margin-bottom: 12px;
}

.page-header p {
    color: #eadfd5;
    font-size: 17px;
}


/* =========================
   PRODUCTS TOP
========================= */

.products-top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 30px;

    margin-bottom: 35px;
}

.products-top h2 {
    font-size: 32px;
    margin-bottom: 7px;
}

.products-top p {
    color: #77716c;
}


/* Search */

.product-search {
    width: 300px;
}

.product-search label {
    display: block;

    margin-bottom: 7px;

    font-size: 14px;
    font-weight: bold;
}

.product-search input {
    width: 100%;

    padding: 13px 15px;

    background: white;

    border: 1px solid #ded6ce;
    border-radius: 7px;

    outline: none;

    font-size: 15px;

    transition: 0.2s;
}

.product-search input:focus {
    border-color: #8b5e3c;
    box-shadow: 0 0 0 3px rgba(139, 94, 60, 0.1);
}


/* =========================
   FILTERS
========================= */

.product-filters {
    display: flex;
    align-items: center;

    gap: 10px;

    flex-wrap: wrap;

    margin-bottom: 30px;
}

.filter-btn {
    padding: 10px 17px;

    background: white;

    color: #4b443f;

    border: 1px solid #ded6ce;
    border-radius: 25px;

    font-size: 14px;

    transition: 0.2s;
}

.filter-btn:hover {
    border-color: #8b5e3c;
    color: #8b5e3c;
}

.filter-btn.active {
    background: #8b5e3c;
    color: white;
    border-color: #8b5e3c;
}


/* =========================
   PRODUCT GRID
========================= */

.products-grid {
    display: grid;

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

    gap: 24px;
}


/* =========================
   PRODUCT CARD
========================= */

.product-card {
    position: relative;

    background: white;

    border: 1px solid #e9e2db;

    border-radius: 13px;

    overflow: hidden;

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

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

    box-shadow:
        0 18px 40px rgba(45, 31, 21, 0.1);
}


/* Product image */

.product-image {
    position: relative;

    height: 270px;

    overflow: hidden;

    background: #eee8e1;
}

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

    object-fit: cover;

    transition: transform 0.4s ease;
}

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


/* Sale */

.sale-badge {
    position: absolute;

    top: 13px;
    left: 13px;

    padding: 5px 10px;

    background: #c95151;
    color: white;

    border-radius: 20px;

    font-size: 12px;
    font-weight: bold;
}


/* Favorite */

.favorite-btn {
    position: absolute;

    top: 12px;
    right: 12px;

    width: 38px;
    height: 38px;

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

    background: white;

    border: none;
    border-radius: 50%;

    font-size: 21px;

    color: #514a45;

    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);

    transition: 0.2s;
}

/*.favorite-btn:hover {*/
/*    color: #c95151;*/
/*    transform: scale(1.08);*/
/*}*/


/* =========================
   PRODUCT DETAILS
========================= */

.product-details {
    padding: 19px;
}

.product-details small {
    display: block;

    color: #8b5e3c;

    font-size: 12px;
    font-weight: bold;

    text-transform: uppercase;

    letter-spacing: 0.5px;

    margin-bottom: 6px;
}

.product-details h3 {
    min-height: 50px;

    font-size: 18px;
    line-height: 1.35;

    margin-bottom: 8px;
}


/* Rating */

.rating {
    color: #e2a62c;

    font-size: 14px;

    margin-bottom: 12px;
}

.rating span {
    color: #888;
    margin-left: 4px;
    font-size: 12px;
}


/* Price */

.product-price {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 8px;

    margin-bottom: 15px;
}

.product-price strong {
    color: #8b5e3c;

    font-size: 20px;
}

.product-price del {
    color: #aaa;

    font-size: 13px;
}


/* Add cart */

.product-details .add-cart {
    width: 100%;

    padding: 12px 15px;

    background: #8b5e3c;
    color: white;

    border: 1px solid #8b5e3c;
    border-radius: 7px;

    font-size: 14px;
    font-weight: bold;

    transition: 0.2s;
}

.product-details .add-cart:hover {
    background: #6f482e;
    border-color: #6f482e;
}


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

footer {
    background: #211c18;

    color: white;

    padding: 55px 0;
}

footer h3 {
    margin-bottom: 12px;
}

footer p {
    color: #b9b1aa;

    margin-bottom: 8px;

    font-size: 14px;
}


/* =========================
   AUTH PAGES
========================= */

.auth-section {
    min-height: 700px;

    padding: 80px 20px;

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

    background: #faf7f2;
}

.auth-container {
    width: 100%;
    max-width: 480px;

    padding: 40px;

    background: white;

    border: 1px solid #eee4db;

    border-radius: 13px;

    box-shadow:
        0 15px 40px rgba(0, 0, 0, 0.06);
}

.auth-container h1 {
    text-align: center;

    font-size: 32px;

    margin-bottom: 10px;
}

.auth-container > p {
    text-align: center;

    color: #777;

    margin-bottom: 30px;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;

    margin-bottom: 7px;

    font-size: 14px;
    font-weight: bold;
}

.form-group input {
    width: 100%;

    padding: 13px 15px;

    border: 1px solid #ddd;

    border-radius: 7px;

    outline: none;

    font-size: 15px;

    transition: 0.2s;
}

.form-group input:focus {
    border-color: #8b5e3c;

    box-shadow:
        0 0 0 3px rgba(139, 94, 60, 0.1);
}

.remember {
    display: flex;

    justify-content: space-between;

    gap: 10px;

    margin-bottom: 20px;

    font-size: 14px;
}

.remember a,
.terms a {
    color: #8b5e3c;
}

.terms {
    margin-bottom: 20px;

    font-size: 14px;
}

.auth-button {
    width: 100%;

    padding: 14px;

    background: #8b5e3c;
    color: white;

    border: none;
    border-radius: 7px;

    font-size: 16px;
    font-weight: bold;

    transition: 0.2s;
}

.auth-button:hover {
    background: #6f482e;
}

.auth-footer {
    text-align: center;

    margin-top: 25px;

    padding-top: 20px;

    border-top: 1px solid #eee;
}

.auth-footer p {
    color: #777;

    margin-bottom: 5px;
}

.auth-footer a {
    color: #8b5e3c;

    font-weight: bold;
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1100px) {

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

    .nav {
        gap: 15px;
    }

    .nav a {
        font-size: 14px;
    }

}


@media (max-width: 850px) {

    .navbar {
        flex-wrap: wrap;

        padding-top: 15px;
        padding-bottom: 15px;
    }

    .nav {
        order: 3;

        width: 100%;

        justify-content: center;

        flex-wrap: wrap;
    }

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

    .products-top {
        align-items: stretch;

        flex-direction: column;
    }

    .product-search {
        width: 100%;
    }

    .page-header h1 {
        font-size: 40px;
    }

}


@media (max-width: 600px) {

    .container {
        width: 92%;
    }

    .section {
        padding-top: 50px;
        padding-bottom: 60px;
    }

    .logo {
        font-size: 21px;
    }

    .user-actions {
        gap: 5px;
    }

    .login-btn,
    .register-btn {
        padding: 8px 10px;

        font-size: 12px;
    }

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

    .product-image {
        height: 290px;
    }

    .page-header {
        padding: 60px 0;
    }

    .page-header h1 {
        font-size: 34px;
    }

    .products-top h2 {
        font-size: 27px;
    }

    .auth-container {
        padding: 28px 20px;
    }

    .remember {
        flex-direction: column;
    }

}


@media (max-width: 420px) {

    .nav {
        gap: 10px;
    }

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

    .user-actions {
        width: 100%;
        justify-content: center;
    }

    .product-filters {
        gap: 7px;
    }

    .filter-btn {
        padding: 8px 12px;
        font-size: 13px;
    }

}

/* =========================
   CATEGORIES
========================= */

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

.categories-heading h2 {
    font-size: 32px;
    margin-bottom: 8px;
}

.categories-heading p {
    color: #77716c;
}


/* Category grid */

.categories-grid {
    display: grid;

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

    gap: 24px;
}


/* Category card */

.category-card {
    background: white;

    border: 1px solid #e9e2db;
    border-radius: 13px;

    overflow: hidden;

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

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

    box-shadow:
        0 18px 40px rgba(45, 31, 21, 0.12);
}


/* Category image */

.category-image {
    height: 230px;

    overflow: hidden;

    background: #eee8e1;
}

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

    object-fit: cover;

    transition: transform 0.4s ease;
}

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


/* Category content */

.category-content {
    padding: 20px;
}

.category-content span {
    color: #8b5e3c;

    font-size: 12px;
    font-weight: bold;

    text-transform: uppercase;
}

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

    margin-top: 6px;
    margin-bottom: 8px;
}

.category-content p {
    color: #777;

    font-size: 14px;

    min-height: 65px;

    margin-bottom: 15px;
}

.category-content strong {
    color: #8b5e3c;

    font-size: 14px;
}


/* =========================
   CATEGORY CTA
========================= */

.category-cta {
    margin-top: 20px;

    padding: 80px 0;

    background:
        linear-gradient(
            rgba(55, 37, 26, 0.9),
            rgba(55, 37, 26, 0.9)
        ),
        url("https://images.unsplash.com/photo-1618221195710-dd6b41faaea6?w=1600")
        center / cover;

    color: white;
}

.category-cta-content {
    max-width: 700px;

    text-align: center;

    margin: 0 auto;
}

.category-cta h2 {
    font-size: 36px;

    margin-bottom: 15px;
}

.category-cta p {
    color: #e5d9ce;

    font-size: 17px;

    margin-bottom: 25px;
}

.category-cta .btn {
    display: inline-block;

    padding: 13px 24px;

    background: #8b5e3c;
    color: white;

    border-radius: 7px;

    font-weight: bold;
}

.category-cta .btn:hover {
    background: #6f482e;
}


/* =========================
   CATEGORIES RESPONSIVE
========================= */

@media (max-width: 1100px) {

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

}


@media (max-width: 850px) {

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

}


@media (max-width: 600px) {

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

    .category-image {
        height: 250px;
    }

    .category-cta {
        padding: 60px 0;
    }

    .category-cta h2 {
        font-size: 28px;
    }

}

/* =========================
   ABOUT PAGE
========================= */


/* About intro */

.about-intro {
    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 60px;

    align-items: center;
}

.about-image {
    height: 520px;

    overflow: hidden;

    border-radius: 14px;
}

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

    object-fit: cover;
}

.about-label {
    display: inline-block;

    color: #8b5e3c;

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

    text-transform: uppercase;

    letter-spacing: 1px;

    margin-bottom: 10px;
}

.about-text h2 {
    font-size: 38px;

    line-height: 1.2;

    margin-bottom: 20px;
}

.about-text p {
    color: #706963;

    margin-bottom: 15px;

    font-size: 16px;
}

.about-button {
    display: inline-block;

    margin-top: 12px;

    padding: 13px 23px;

    background: #8b5e3c;
    color: white;

    border-radius: 7px;

    font-weight: bold;

    transition: 0.2s;
}

.about-button:hover {
    background: #6f482e;
}


/* =========================
   STATISTICS
========================= */

.about-stats {
    padding: 65px 0;

    background: #211c18;

    color: white;
}

.stats-grid {
    display: grid;

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

    gap: 25px;

    text-align: center;
}

.stat-item {
    padding: 10px;
}

.stat-item strong {
    display: block;

    color: #d9a878;

    font-size: 40px;

    line-height: 1;

    margin-bottom: 10px;
}

.stat-item span {
    color: #d0c7c0;

    font-size: 14px;
}


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

.values-heading {
    text-align: center;

    max-width: 650px;

    margin: 0 auto 40px;
}

.values-heading h2 {
    font-size: 36px;

    margin-bottom: 10px;
}

.values-heading p {
    color: #77716c;
}

.values-grid {
    display: grid;

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

    gap: 22px;
}

.value-card {
    padding: 30px 23px;

    background: white;

    border: 1px solid #e9e2db;

    border-radius: 12px;

    text-align: center;

    transition: 0.25s;
}

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

    box-shadow:
        0 15px 35px rgba(45, 31, 21, 0.08);
}

.value-icon {
    width: 58px;
    height: 58px;

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

    margin: 0 auto 18px;

    background: #f4e9df;
    color: #8b5e3c;

    border-radius: 50%;

    font-size: 24px;
    font-weight: bold;
}

.value-card h3 {
    font-size: 19px;

    margin-bottom: 10px;
}

.value-card p {
    color: #777;

    font-size: 14px;
}


/* =========================
   MISSION
========================= */

.about-mission {
    padding: 90px 0;

    background:
        linear-gradient(
            rgba(55, 37, 26, 0.91),
            rgba(55, 37, 26, 0.91)
        ),
        url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?w=1600")
        center / cover;

    color: white;
}

.mission-content {
    max-width: 720px;

    text-align: center;

    margin: 0 auto;
}

.mission-content .about-label {
    color: #d9a878;
}

.mission-content h2 {
    font-size: 42px;

    line-height: 1.2;

    margin-bottom: 18px;
}

.mission-content p {
    color: #ded4cc;

    font-size: 17px;

    margin-bottom: 20px;
}

.about-button.light {
    background: white;

    color: #6f482e;
}

.about-button.light:hover {
    background: #f1e8e1;
}


/* =========================
   ABOUT CTA
========================= */

.about-cta {
    padding: 55px 40px;

    background: #f0e4d9;

    border-radius: 14px;

    text-align: center;
}

.about-cta h2 {
    font-size: 32px;

    margin-bottom: 8px;
}

.about-cta p {
    color: #706963;

    margin-bottom: 15px;
}


/* =========================
   ABOUT RESPONSIVE
========================= */

@media (max-width: 1000px) {

    .about-intro {
        grid-template-columns: 1fr;

        gap: 35px;
    }

    .about-image {
        height: 420px;
    }

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

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

}


@media (max-width: 600px) {

    .about-image {
        height: 320px;
    }

    .about-text h2 {
        font-size: 30px;
    }

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

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

        gap: 15px;
    }

    .stat-item strong {
        font-size: 32px;
    }

    .mission-content h2 {
        font-size: 31px;
    }

    .mission-content p {
        font-size: 15px;
    }

    .about-cta {
        padding: 40px 20px;
    }

    .about-cta h2 {
        font-size: 27px;
    }

}

/* =========================
   CONTACT PAGE
========================= */

.contact-layout {
    display: grid;

    grid-template-columns:
        0.9fr 1.1fr;

    gap: 60px;

    align-items: start;
}


/* =========================
   CONTACT INFO
========================= */

.contact-info {
    padding-top: 10px;
}

.contact-info h2 {
    font-size: 36px;

    line-height: 1.2;

    margin-bottom: 15px;
}

.contact-description {
    color: #77716c;

    margin-bottom: 30px;

    font-size: 15px;
}


/* Contact item */

.contact-item {
    display: flex;

    gap: 15px;

    margin-bottom: 25px;
}

.contact-icon {
    flex-shrink: 0;

    width: 48px;
    height: 48px;

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

    background: #f1e6dc;
    color: #8b5e3c;

    border-radius: 50%;

    font-size: 19px;
}

.contact-item h3 {
    font-size: 17px;

    margin-bottom: 3px;
}

.contact-item a {
    color: #8b5e3c;

    font-weight: bold;

    font-size: 15px;
}

.contact-item p {
    color: #777;

    font-size: 13px;

    margin-top: 2px;
}


/* =========================
   CONTACT FORM
========================= */

.contact-form-box {
    padding: 35px;

    background: white;

    border: 1px solid #e9e2db;

    border-radius: 13px;

    box-shadow:
        0 12px 35px rgba(45, 31, 21, 0.06);
}

.contact-form-box h2 {
    font-size: 28px;

    margin-bottom: 7px;
}

.contact-form-box > p {
    color: #777;

    margin-bottom: 25px;

    font-size: 14px;
}


/* Select */

.form-group select {
    width: 100%;

    padding: 13px 15px;

    background: white;

    border: 1px solid #ddd;

    border-radius: 7px;

    outline: none;

    font-size: 15px;

    color: #403a35;
}

.form-group select:focus {
    border-color: #8b5e3c;

    box-shadow:
        0 0 0 3px rgba(139, 94, 60, 0.1);
}


/* Textarea */

.form-group textarea {
    width: 100%;

    padding: 13px 15px;

    background: white;

    border: 1px solid #ddd;

    border-radius: 7px;

    outline: none;

    resize: vertical;

    font-size: 15px;

    min-height: 140px;
}

.form-group textarea:focus {
    border-color: #8b5e3c;

    box-shadow:
        0 0 0 3px rgba(139, 94, 60, 0.1);
}


/* Submit */

.contact-submit {
    width: 100%;

    padding: 14px 20px;

    background: #8b5e3c;
    color: white;

    border: none;

    border-radius: 7px;

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

    transition: 0.2s;
}

.contact-submit:hover {
    background: #6f482e;
}


/* =========================
   LOCATION
========================= */

.contact-location {
    padding: 0 0 80px;
}

.location-box {
    display: grid;

    grid-template-columns:
        1fr 1fr;

    min-height: 330px;

    overflow: hidden;

    background: #f0e4d9;

    border-radius: 14px;
}

.location-text {
    padding: 50px;
}

.location-text h2 {
    font-size: 32px;

    margin-bottom: 12px;
}

.location-text p {
    color: #6f6964;

    margin-bottom: 12px;
}

.map-button {
    display: inline-block;

    margin-top: 10px;

    padding: 12px 20px;

    background: #8b5e3c;
    color: white;

    border-radius: 7px;

    font-weight: bold;

    transition: 0.2s;
}

.map-button:hover {
    background: #6f482e;
}


/* Map placeholder */

.map-placeholder {
    min-height: 330px;

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

    background:
        linear-gradient(
            rgba(40, 31, 24, 0.5),
            rgba(40, 31, 24, 0.5)
        ),
        url("https://images.unsplash.com/photo-1524666041070-9cffc0e8c1d7?w=1000")
        center / cover;
}

.map-content {
    padding: 30px;

    text-align: center;

    color: white;
}

.map-pin {
    display: block;

    font-size: 40px;

    margin-bottom: 8px;
}

.map-content h3 {
    font-size: 24px;

    margin-bottom: 4px;
}

.map-content p {
    color: #eee;
}


/* =========================
   CONTACT RESPONSIVE
========================= */

@media (max-width: 900px) {

    .contact-layout {
        grid-template-columns: 1fr;

        gap: 40px;
    }

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

    .map-placeholder {
        min-height: 280px;
    }

}


@media (max-width: 600px) {

    .contact-form-box {
        padding: 25px 20px;
    }

    .contact-info h2 {
        font-size: 30px;
    }

    .contact-form-box h2 {
        font-size: 24px;
    }

    .location-text {
        padding: 35px 25px;
    }

    .location-text h2 {
        font-size: 27px;
    }

}

/* =========================
   PROFESSIONAL HOME PAGE
========================= */


/* HERO */

.home-hero {
    min-height: 680px;

    background: #f2ebe4;

    display: flex;
    align-items: center;
}

.home-hero-content {
    display: grid;

    grid-template-columns:
        0.9fr 1.1fr;

    align-items: center;

    gap: 60px;

    padding-top: 70px;
    padding-bottom: 70px;
}

.hero-label {
    display: inline-block;

    color: #8b5e3c;

    font-size: 12px;
    font-weight: bold;

    letter-spacing: 2px;

    margin-bottom: 15px;
}

.hero-text h1 {
    max-width: 650px;

    font-size: 62px;

    line-height: 1.08;

    letter-spacing: -2px;

    margin-bottom: 22px;
}

.hero-text h1 span {
    color: #8b5e3c;
}

.hero-text > p {
    max-width: 550px;

    color: #706963;

    font-size: 18px;

    margin-bottom: 28px;
}

.hero-buttons {
    display: flex;

    gap: 12px;

    flex-wrap: wrap;

    margin-bottom: 35px;
}

.hero-primary-btn,
.hero-secondary-btn {
    display: inline-flex;

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

    padding: 14px 22px;

    border-radius: 7px;

    font-weight: bold;

    transition: 0.2s;
}

.hero-primary-btn {
    background: #8b5e3c;
    color: white;
}

.hero-primary-btn:hover {
    background: #6f482e;
}

.hero-secondary-btn {
    background: transparent;

    color: #8b5e3c;

    border: 1px solid #8b5e3c;
}

.hero-secondary-btn:hover {
    background: #8b5e3c;
    color: white;
}

.hero-benefits {
    display: flex;

    gap: 20px;

    flex-wrap: wrap;

    color: #6f6964;

    font-size: 12px;
}

.hero-benefits div {
    display: flex;

    align-items: center;

    gap: 6px;
}

.hero-benefits strong {
    color: #8b5e3c;
}

.hero-image {
    position: relative;

    height: 540px;

    border-radius: 14px;

    overflow: hidden;
}

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

    object-fit: cover;
}

.hero-floating-card {
    position: absolute;

    left: 25px;
    bottom: 25px;

    padding: 17px 20px;

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

    border-radius: 10px;

    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.12);
}

.hero-floating-card span {
    display: block;

    color: #c28a26;

    font-size: 13px;

    margin-bottom: 3px;
}

.hero-floating-card strong {
    font-size: 13px;
}


/* TRUST BAR */

.trust-bar {
    background: white;

    border-bottom: 1px solid #e9e2db;
}

.trust-grid {
    display: grid;

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

    gap: 20px;

    padding-top: 25px;
    padding-bottom: 25px;
}

.trust-item {
    display: flex;

    align-items: center;

    gap: 12px;
}

.trust-icon {
    width: 42px;
    height: 42px;

    flex-shrink: 0;

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

    background: #f3e8de;

    color: #8b5e3c;

    border-radius: 50%;

    font-size: 18px;
}

.trust-item strong,
.trust-item span {
    display: block;
}

.trust-item strong {
    font-size: 13px;
}

.trust-item span {
    color: #888;

    font-size: 11px;
}


/* SECTION HEADING */

.home-section-heading {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 25px;

    margin-bottom: 30px;
}

.home-section-heading span {
    color: #8b5e3c;

    font-size: 11px;
    font-weight: bold;

    letter-spacing: 2px;
}

.home-section-heading h2 {
    font-size: 35px;

    margin-top: 5px;
}

.home-section-heading > a {
    color: #8b5e3c;

    font-size: 14px;
    font-weight: bold;
}


/* CATEGORIES */

.home-category-grid {
    display: grid;

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

    grid-template-rows:
        250px 250px;

    gap: 18px;
}

.home-category {
    position: relative;

    overflow: hidden;

    border-radius: 12px;

    background: #ddd;
}

.home-category.large {
    grid-row: span 2;
}

.home-category img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform 0.4s ease;
}

.home-category:hover img {
    transform: scale(1.06);
}

.category-overlay {
    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    padding: 25px;

    color: white;

    background:
        linear-gradient(
            transparent,
            rgba(20, 15, 12, 0.85)
        );
}

.category-overlay span {
    font-size: 11px;

    opacity: 0.8;
}

.category-overlay h3 {
    font-size: 24px;

    margin: 3px 0 5px;
}

.category-overlay strong {
    font-size: 12px;
}


/* FEATURED */

.featured-section {
    padding: 80px 0;

    background: #f4efe9;
}

.home-products-grid {
    display: grid;

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

    gap: 22px;
}

.home-product {
    background: white;

    border: 1px solid #e8e0d8;

    border-radius: 12px;

    overflow: hidden;

    transition: 0.25s;
}

.home-product:hover {
    transform: translateY(-5px);

    box-shadow:
        0 15px 35px rgba(45, 31, 21, 0.09);
}

.home-product-image {
    position: relative;

    height: 270px;

    overflow: hidden;
}

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

    object-fit: cover;

    transition: 0.4s;
}

.home-product:hover img {
    transform: scale(1.05);
}

.home-sale,
.home-new {
    position: absolute;

    top: 13px;
    left: 13px;

    padding: 5px 9px;

    border-radius: 15px;

    color: white;

    font-size: 10px;
    font-weight: bold;
}

.home-sale {
    background: #c95151;
}

.home-new {
    background: #8b5e3c;
}

.home-product-content {
    padding: 18px;
}

.home-product-content small {
    color: #8b5e3c;

    font-size: 10px;
    font-weight: bold;

    letter-spacing: 1px;
}

.home-product-content h3 {
    min-height: 48px;

    font-size: 17px;

    line-height: 1.35;

    margin: 5px 0;
}

.home-price {
    display: flex;

    align-items: center;

    gap: 8px;

    margin: 10px 0 14px;
}

.home-price strong {
    color: #8b5e3c;

    font-size: 19px;
}

.home-price del {
    color: #aaa;

    font-size: 12px;
}

.home-product .add-cart {
    width: 100%;

    padding: 11px;

    background: #8b5e3c;

    color: white;

    border: none;

    border-radius: 6px;

    font-size: 12px;
    font-weight: bold;
}


/* PROMO */

.home-promo {
    min-height: 400px;

    display: flex;
    align-items: center;

    background:
        linear-gradient(
            90deg,
            rgba(40, 27, 19, 0.92),
            rgba(40, 27, 19, 0.45)
        ),
        url("https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?w=1600")
        center / cover;

    color: white;
}

.promo-content {
    padding: 70px 0;
}

.promo-content > div {
    max-width: 600px;
}

.promo-content span,
.why-content > span {
    color: #d9a878;

    font-size: 11px;
    font-weight: bold;

    letter-spacing: 2px;
}

.promo-content h2 {
    font-size: 48px;

    margin: 10px 0;
}

.promo-content p {
    color: #ddd;

    font-size: 17px;

    margin-bottom: 25px;
}


/* WHY US */

.why-us {
    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 65px;

    align-items: center;
}

.why-image {
    height: 580px;

    overflow: hidden;

    border-radius: 13px;
}

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

    object-fit: cover;
}

.why-content h2 {
    font-size: 39px;

    line-height: 1.2;

    margin: 10px 0 15px;
}

.why-content > p {
    color: #777;

    margin-bottom: 25px;
}

.why-list > div {
    display: flex;

    gap: 18px;

    margin-bottom: 22px;
}

.why-list strong {
    color: #d3a074;

    font-size: 14px;
}

.why-list h3 {
    font-size: 16px;

    margin-bottom: 3px;
}

.why-list p {
    color: #777;

    font-size: 13px;
}


/* TESTIMONIALS */

.testimonials-section {
    padding: 80px 0;

    background: #f4efe9;
}

.centered {
    justify-content: center;

    text-align: center;
}

.testimonials-grid {
    display: grid;

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

    gap: 22px;
}

.testimonial {
    padding: 30px;

    background: white;

    border-radius: 12px;

    border: 1px solid #e8e0d8;
}

.testimonial-rating {
    color: #dba22d;

    margin-bottom: 15px;
}

.testimonial p {
    color: #655f5a;

    font-size: 14px;

    margin-bottom: 20px;
}

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

.testimonial strong {
    font-size: 14px;
}

.testimonial span {
    color: #999;

    font-size: 12px;
}


/* NEWSLETTER */

.newsletter {
    padding: 70px 0;

    background: #211c18;

    color: white;
}

.newsletter-content {
    display: flex;

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

    gap: 40px;
}

.newsletter-content > div {
    max-width: 550px;
}

.newsletter-content span {
    color: #d9a878;

    font-size: 11px;
    font-weight: bold;

    letter-spacing: 2px;
}

.newsletter-content h2 {
    font-size: 35px;

    margin: 7px 0;
}

.newsletter-content p {
    color: #bcb4ad;

    font-size: 14px;
}

.newsletter-form {
    display: flex;

    min-width: 430px;
}

.newsletter-form input {
    width: 100%;

    padding: 14px 16px;

    border: none;

    outline: none;

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

.newsletter-form button {
    padding: 14px 18px;

    background: #8b5e3c;

    color: white;

    border: none;

    border-radius: 0 6px 6px 0;

    font-weight: bold;
}


/* RESPONSIVE */

@media (max-width: 1050px) {

    .home-hero-content {
        grid-template-columns: 1fr 1fr;

        gap: 30px;
    }

    .hero-text h1 {
        font-size: 48px;
    }

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

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

    .why-us {
        gap: 35px;
    }

}


@media (max-width: 800px) {

    .home-hero-content {
        grid-template-columns: 1fr;
    }

    .hero-image {
        height: 450px;
    }

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

        grid-template-rows:
            250px 250px 250px;
    }

    .home-category.large {
        grid-row: span 1;

        grid-column: span 2;
    }

    .why-us {
        grid-template-columns: 1fr;
    }

    .why-image {
        height: 400px;
    }

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

    .newsletter-content {
        flex-direction: column;

        align-items: stretch;
    }

    .newsletter-form {
        min-width: 0;
    }

}


@media (max-width: 600px) {

    .home-hero {
        min-height: auto;
    }

    .home-hero-content {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .hero-text h1 {
        font-size: 39px;

        letter-spacing: -1px;
    }

    .hero-text > p {
        font-size: 15px;
    }

    .hero-image {
        height: 350px;
    }

    .hero-benefits {
        flex-direction: column;

        gap: 8px;
    }

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

    .home-section-heading {
        align-items: flex-start;

        flex-direction: column;
    }

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

    .home-category-grid {
        display: flex;

        flex-direction: column;
    }

    .home-category {
        height: 280px;
    }

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

    .promo-content h2 {
        font-size: 36px;
    }

    .why-content h2 {
        font-size: 31px;
    }

    .newsletter-content h2 {
        font-size: 29px;
    }

    .newsletter-form {
        flex-direction: column;

        gap: 8px;
    }

    .newsletter-form input,
    .newsletter-form button {
        border-radius: 6px;
    }

}

/* =========================
   User Profile
========================= */

.user-profile {
    position: relative;
    display: inline-block;
}

/* Profile button */
.profile-button {
    display: flex;
    align-items: center;
    gap: 9px;
    border: none;
    background: transparent;
    padding: 5px 8px;
    cursor: pointer;
    color: #222;
}

/* First letter avatar */
.profile-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;

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

    background: #007bff;
    color: #fff;

    font-size: 17px;
    font-weight: 600;
    text-transform: uppercase;
}

/* Username */
.username {
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
}

/* Arrow */
.dropdown-arrow {
    font-size: 10px;
    color: #777;
    margin-left: 3px;
}


/* =========================
   Dropdown
========================= */

.profile-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;

    width: 230px;

    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;

    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);

    padding: 8px;

    display: none;

    z-index: 9999;
}

/* Show dropdown on hover */
.user-profile:hover .profile-dropdown {
    display: block;
}


/* =========================
   Dropdown Header
========================= */

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

    padding: 10px;

    border-bottom: 1px solid #eee;
    margin-bottom: 6px;
}

.profile-header strong {
    display: block;

    font-size: 14px;
    color: #222;

    margin-bottom: 3px;
}

.profile-header small {
    display: block;

    font-size: 12px;
    color: #888;
}


/* =========================
   Dropdown Items
========================= */

.dropdown-item {
    width: 100%;

    display: flex;
    align-items: center;
    gap: 10px;

    padding: 11px 10px;

    border: none;
    border-radius: 6px;

    background: transparent;

    color: #333;
    text-decoration: none;

    font-size: 14px;

    cursor: pointer;
    text-align: left;
}

.dropdown-item:hover {
    background: #f5f5f5;
}


/* Logout */
.logout-item {
    color: #dc3545;
}

.logout-item:hover {
    background: #fff1f2;
    color: #c82333;
}

.profile-dropdown {
    display: none;
}

.profile-dropdown.show {
    display: block;
}


.alert {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    padding: 12px 24px;
    border-radius: 8px;
}

.alert-success {
    background: #22c55e;
    color: white;
}

.alert-danger {
    background: #ef4444;
    color: white;
}

.alert {
    transition: opacity 0.3s ease;
}


.product-comments {
    margin-top: 30px;
    padding: 24px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.product-comments h4 {
    margin: 0 0 20px;
    font-size: 20px;
    font-weight: 700;
    color: #1f2937;
    border-bottom: 1px solid #eee;
    padding-bottom: 14px;
}

.comment {
    padding: 16px 0;
    border-bottom: 1px solid #f0f0f0;
}

.comment:last-of-type {
    border-bottom: none;
}

.comment strong {
    display: block;
    margin-bottom: 7px;
    font-size: 15px;
    font-weight: 600;
    color: #2563eb;
}

.comment p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #4b5563;
}

.view-all-comments {
    display: inline-block;
    margin-top: 18px;
    padding: 10px 18px;
    background: #785d4b;
    color: #fff;
    text-decoration: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.2s ease;
}

.view-all-comments:hover {
    background: #1d4ed8;
    transform: translateY(-1px);
}

/* Mobile */
@media (max-width: 600px) {
    .product-comments {
        padding: 18px;
        border-radius: 10px;
    }

    .product-comments h4 {
        font-size: 18px;
    }

    .comment p {
        font-size: 14px;
    }

    .view-all-comments {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
}


.cart-link {
    position: relative;
}

.cart-count {
    position: absolute;
    top: -10px;
    right: -12px;

    background: red;
    color: white;

    width: 20px;
    height: 20px;

    border-radius: 50%;

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

    font-size: 12px;
    font-weight: bold;
}

 * {
     box-sizing: border-box;
 }

.cart-page {
    min-height: 100vh;
    background: #f7f7f8;
    padding: 50px 20px;
    font-family: Arial, Helvetica, sans-serif;
}

.cart-container {
    width: 100%;
    max-width: 1150px;
    margin: 0 auto;
}

.cart-title {
    margin: 0 0 30px;
    color: #111827;
    font-size: 34px;
    font-weight: 700;
}


/* Messages */

.cart-message {
    padding: 14px 18px;
    margin-bottom: 20px;
    border-radius: 8px;
    font-size: 14px;
}

.cart-success {
    background: #dcfce7;
    color: #166534;
}

.cart-error {
    background: #fee2e2;
    color: #991b1b;
}


/* Main layout */

.cart-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 30px;
    align-items: start;
}


/* Products */

.cart-products {
    background: #ffffff;
    border-radius: 12px;
    padding: 0 25px;
    border: 1px solid #e5e7eb;
}

.cart-item {
    display: flex;
    align-items: center;
    gap: 25px;
    padding: 25px 0;
    border-bottom: 1px solid #eeeeee;
}

.cart-item:last-child {
    border-bottom: none;
}

.cart-item-details {
    flex: 1;
}

.cart-item-details h3 {
    margin: 0 0 7px;
    color: #111827;
    font-size: 17px;
    font-weight: 600;
}

.cart-item-details p {
    margin: 0;
    color: #6b7280;
    font-size: 14px;
}


/* Quantity */

.cart-quantity {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cart-quantity span {
    color: #6b7280;
    font-size: 13px;
}

.cart-quantity strong {
    min-width: 40px;
    padding: 8px 12px;
    text-align: center;
    background: #f3f4f6;
    border-radius: 6px;
    color: #111827;
}


/* Item total */

.cart-item-total {
    min-width: 90px;
    text-align: right;
    color: #111827;
    font-size: 16px;
    font-weight: 700;
}


/* Summary */

.cart-summary {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 25px;
}

.cart-summary h2 {
    margin: 0 0 25px;
    color: #111827;
    font-size: 21px;
}


/* Discount */

.discount-box {
    padding-bottom: 22px;
    margin-bottom: 22px;
    border-bottom: 1px solid #eeeeee;
}

.discount-box h3 {
    margin: 0 0 10px;
    color: #374151;
    font-size: 14px;
    font-weight: 600;
}

.discount-form {
    display: flex;
    gap: 8px;
}

.discount-form input {
    width: 100%;
    min-width: 0;
    height: 42px;
    padding: 0 12px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    outline: none;
    font-size: 14px;
    color: #111827;
}

.discount-form input:focus {
    border-color: #111827;
}

.discount-form button {
    height: 42px;
    padding: 0 16px;
    border: none;
    border-radius: 7px;
    background: #111827;
    color: white;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    transition: background 0.2s;
}

.discount-form button:hover {
    background: #374151;
}


/* Prices */

.price-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    color: #6b7280;
    font-size: 15px;
}

.price-row span:last-child {
    color: #111827;
    font-weight: 500;
}

.price-row.discount {
    color: #16a34a;
}

.price-row.discount span:last-child {
    color: #16a34a;
}


/* Total */

.total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e5e7eb;
    color: #111827;
    font-size: 19px;
}

.total-row strong {
    font-size: 22px;
}


/* Checkout */

.checkout-button {
    width: 100%;
    height: 48px;
    margin-top: 22px;
    border: none;
    border-radius: 8px;
    background: #16a34a;
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
    padding: 10px;
}

.checkout-button:hover {
    background: #15803d;
}


/* Continue shopping */

.continue-shopping {
    display: block;
    margin-top: 17px;
    text-align: center;
    color: #6b7280;
    font-size: 14px;
    text-decoration: none;
}

.continue-shopping:hover {
    color: #111827;
}


/* Empty cart */

.empty-cart {
    padding: 80px 20px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    text-align: center;
}

.empty-cart-icon {
    margin-bottom: 15px;
    font-size: 55px;
}

.empty-cart h2 {
    margin: 0 0 10px;
    color: #111827;
    font-size: 24px;
}

.empty-cart p {
    margin: 0 0 25px;
    color: #6b7280;
}

.shopping-btn {
    display: inline-block;
    padding: 12px 22px;
    border-radius: 7px;
    background: #111827;
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}

.shopping-btn:hover {
    background: #374151;
}


/* Mobile */

@media (max-width: 800px) {

    .cart-page {
        padding: 30px 15px;
    }

    .cart-title {
        font-size: 28px;
    }

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

    .cart-item {
        flex-wrap: wrap;
        gap: 12px;
    }

    .cart-item-details {
        width: 100%;
        flex-basis: 100%;
    }

    .cart-item-total {
        margin-left: auto;
    }

}

@media (max-width: 480px) {

    .cart-products {
        padding: 0 15px;
    }

    .cart-summary {
        padding: 20px;
    }

    .discount-form {
        flex-direction: column;
    }

    .discount-form button {
        width: 100%;
    }

    .cart-item {
        align-items: flex-start;
    }

}

 .product-page {
     max-width: 1000px;
     margin: 50px auto;
     padding: 20px;
 }

.product-info {
    display: flex;
    gap: 40px;
    margin-bottom: 50px;
}

.product-info img {
    width: 400px;
    height: 400px;
    object-fit: cover;
    border-radius: 10px;
}

.product-content {
    flex: 1;
}

.product-content h1 {
    margin-bottom: 15px;
}

.price {
    font-size: 24px;
    font-weight: bold;
}

.comments-section {
    margin-top: 40px;
}

.comment {
    padding: 15px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
}

.comment strong {
    display: block;
    margin-bottom: 5px;
}

.comment p {
    margin: 5px 0;
}

.comment small {
    color: #888;
}

.comment-form {
    margin-top: 30px;
}

.comment-form textarea {
    width: 100%;
    min-height: 120px;
    padding: 12px;
    resize: vertical;
    border: 1px solid #ccc;
    border-radius: 8px;
}

.comment-form button {
    margin-top: 10px;
    padding: 12px 20px;
    border: none;
    border-radius: 8px;
    background: #222;
    color: white;
    cursor: pointer;
}

.success-message {
    padding: 12px;
    margin-bottom: 20px;
    background: #d1fae5;
    color: #065f46;
    border-radius: 8px;
}

.error-message {
    color: #dc2626;
    margin-top: 5px;
}

* {
    box-sizing: border-box;
}

.checkout-page {
    min-height: 100vh;
    padding: 50px 20px;
    background: #f7f7f8;
    font-family: Arial, Helvetica, sans-serif;
}

.checkout-container {
    width: 100%;
    max-width: 1150px;
    margin: 0 auto;
}

.checkout-container > h1 {
    margin: 0 0 30px;
    color: #111827;
    font-size: 34px;
    font-weight: 700;
}

.checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 30px;
    align-items: start;
}

/* Checkout form */

.checkout-form-box {
    padding: 30px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
}

.checkout-form-box h2,
.checkout-summary h2 {
    margin: 0 0 25px;
    color: #111827;
    font-size: 21px;
    font-weight: 700;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    color: #374151;
    font-size: 14px;
    font-weight: 600;
}

.form-group input,
.form-group textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    outline: none;
    background: #ffffff;
    color: #111827;
    font-size: 15px;
    font-family: inherit;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.form-group input {
    height: 46px;
}

.form-group textarea {
    min-height: 110px;
    resize: vertical;
}

.form-group input:focus,
.form-group textarea:focus {
    border-color: #111827;
    box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08);
}

.form-group input::placeholder,
.form-group textarea::placeholder {
    color: #9ca3af;
}

.error {
    display: block;
    margin-top: 6px;
    color: #dc2626;
    font-size: 13px;
}

/* Place order */

.place-order-btn {
    width: 100%;
    height: 50px;
    margin-top: 5px;
    border: none;
    border-radius: 8px;
    background: #16a34a;
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
}

.place-order-btn:hover {
    background: #15803d;
}

.place-order-btn:active {
    transform: scale(0.99);
}

/* Summary */

.checkout-summary {
    padding: 25px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
}

/* Cart items */

.checkout-item {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 0;
    border-bottom: 1px solid #eeeeee;
}

.checkout-item > div {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.checkout-item strong {
    color: #111827;
    font-size: 14px;
}

.checkout-item span {
    color: #6b7280;
    font-size: 13px;
}

.checkout-item > strong {
    white-space: nowrap;
    font-size: 14px;
}

/* Summary rows */

.summary-row {
    display: flex;
    justify-content: space-between;
    margin-top: 18px;
    color: #6b7280;
    font-size: 15px;
}

.summary-row strong {
    color: #111827;
    font-weight: 600;
}

.summary-row.discount {
    color: #16a34a;
}

.summary-row.discount strong {
    color: #16a34a;
}

/* Total */

.summary-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid #e5e7eb;
    color: #111827;
    font-size: 20px;
    font-weight: 700;
}

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

/* Tablet */

@media (max-width: 850px) {
    .checkout-layout {
        grid-template-columns: 1fr;
    }

    .checkout-summary {
        order: -1;
    }
}

/* Mobile */

@media (max-width: 600px) {
    .checkout-page {
        padding: 30px 15px;
    }

    .checkout-container > h1 {
        margin-bottom: 22px;
        font-size: 28px;
    }

    .checkout-form-box {
        padding: 20px;
    }

    .checkout-summary {
        padding: 20px;
    }

    .checkout-form-box h2,
    .checkout-summary h2 {
        font-size: 19px;
    }

    .checkout-item {
        gap: 10px;
    }

    .summary-total {
        font-size: 18px;
    }

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


/* Custom Delete Button */
.delete-button {
    background-color: #dc3545;
    color: #fff;
    border: none;
    padding: 10px 18px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

.delete-button:hover {
    background-color: #c82333;
}

.delete-button:active {
    transform: scale(0.97);
}

.delete-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}


/* Category Page */

.category-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 20px;
}

/* Header */

.category-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 35px;
}

.category-header h1 {
    margin: 0 0 8px;
    font-size: 32px;
    font-weight: 700;
    color: #222;
}

.category-header p {
    margin: 0;
    color: #777;
    font-size: 15px;
}

/* Sort */

.sort-select {
    padding: 12px 40px 12px 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    color: #333;
    font-size: 14px;
    cursor: pointer;
    outline: none;
}

.sort-select:focus {
    border-color: #111;
}

/* Products Grid */

.products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

/* Product Card */

.product-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.25s ease;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

/* Image */

.product-image {
    display: block;
    width: 100%;
    height: 260px;
    overflow: hidden;
    background: #f7f7f7;
}

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

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

/* Product Info */

.product-info {
    padding: 18px;
}

.product-info h3 {
    margin: 0 0 12px;
    font-size: 17px;
    font-weight: 600;
    color: #222;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Price */

.product-price {
    font-size: 20px;
    font-weight: 700;
    color: #111;
    margin-bottom: 18px;
}

/* Button */

.view-product {
    display: block;
    width: 100%;
    padding: 11px;
    text-align: center;
    background: #111;
    color: #fff;
    text-decoration: none;
    border-radius: 7px;
    font-size: 14px;
    font-weight: 600;
    transition: background 0.2s ease;
}

.view-product:hover {
    background: #333;
}

/* No Products */

.no-products {
    grid-column: 1 / -1;
    text-align: center;
    padding: 80px 20px;
}

.no-products h2 {
    margin-bottom: 10px;
    color: #222;
}

.no-products p {
    color: #777;
}

/* Pagination */

.pagination {
    margin-top: 40px;
    display: flex;
    justify-content: center;
}

/* Responsive */

@media (max-width: 992px) {
    .products-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {

    .category-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }

    .products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .product-image {
        height: 220px;
    }
}

@media (max-width: 480px) {

    .category-page {
        padding: 30px 15px;
    }

    .products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .product-image {
        height: 180px;
    }

    .product-info {
        padding: 12px;
    }

    .product-info h3 {
        /*font-size: 14px;*/
    }

    .product-price {
        font-size: 17px;
    }

    .view-product {
        font-size: 12px;
        padding: 9px;
    }
}

.testimonial-form {
    max-width: 700px;
    margin: 50px auto;
    padding: 35px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.testimonial-form h2 {
    text-align: center;
    margin-bottom: 25px;
    font-size: 28px;
    color: #222;
}

.testimonial-form textarea {
    width: 100%;
    min-height: 150px;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 10px;
    resize: vertical;
    font-size: 16px;
    font-family: inherit;
    outline: none;
    transition: 0.3s;
    box-sizing: border-box;
}

.testimonial-form textarea:focus {
    border-color: #4f46e5;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
}

.testimonial-form textarea::placeholder {
    color: #999;
}

.testimonial-form button {
    display: block;
    width: 100%;
    margin-top: 15px;
    padding: 14px 20px;
    border: none;
    border-radius: 10px;
    background: #4f46e5;
    color: white;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.3s;
}

.testimonial-form button:hover {
    background: #3730a3;
    transform: translateY(-1px);
}

/* Mobile */
@media (max-width: 600px) {
    .testimonial-form {
        margin: 30px 15px;
        padding: 25px 20px;
    }

    .testimonial-form h2 {
        font-size: 24px;
    }
}


.rating-section {
    max-width: 600px;
    margin: 50px auto;
    padding: 35px;
    text-align: center;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.08);
}

.rating-section h2 {
    margin-bottom: 8px;
    color: #222;
}

.rating-section p {
    color: #777;
    margin-bottom: 20px;
}

/* Stars */
.stars {
    display: flex;
    justify-content: center;
    flex-direction: row-reverse;
    gap: 5px;
    margin-bottom: 25px;
}

.stars input {
    display: none;
}

.stars label {
    font-size: 45px;
    color: #ddd;
    cursor: pointer;
    transition: 0.2s;
}

/* Hover */
.stars label:hover,
.stars label:hover ~ label {
    color: #ffc107;
}

/* Selected */
.stars input:checked ~ label {
    color: #ffc107;
}

/* Textarea */
.rating-section textarea {
    width: 100%;
    min-height: 130px;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 12px;
    resize: vertical;
    font-size: 16px;
    font-family: inherit;
    box-sizing: border-box;
    outline: none;
}

.rating-section textarea:focus {
    border-color: #ffc107;
}

/* Button */
.rating-section button {
    width: 100%;
    margin-top: 15px;
    padding: 14px;
    border: none;
    border-radius: 12px;
    background: #ffc107;
    color: #222;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.3s;
}

.rating-section button:hover {
    background: #e0a800;
}

.rating .star {
    color: #ddd;
    font-size: 20px;
}

.rating .star.active {
    color: #ffc107;
}


.terms-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 14px;
    color: #64748b;
}

.terms-label input {
    margin-top: 3px;
    accent-color: #6366f1;
}

.terms-label a {
    color: #6366f1;
    font-weight: 600;
    text-decoration: none;
}

.terms-label a:hover {
    text-decoration: underline;
}


/* Modal */

.terms-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;

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

    padding: 20px;
}

.terms-modal.active {
    display: flex;
}


/* Background */

.terms-overlay {
    position: absolute;
    inset: 0;

    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(5px);
}


/* Modal box */

.terms-modal-content {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 700px;
    max-height: 85vh;

    display: flex;
    flex-direction: column;

    background: #ffffff;
    border-radius: 20px;

    box-shadow:
        0 25px 60px rgba(15, 23, 42, 0.2);

    overflow: hidden;

    animation: termsModalShow 0.2s ease;
}

@keyframes termsModalShow {
    from {
        opacity: 0;
        transform: translateY(15px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}


/* Close */

.terms-close {
    position: absolute;
    top: 18px;
    right: 18px;

    width: 36px;
    height: 36px;

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

    border: none;
    border-radius: 50%;

    background: #f1f5f9;
    color: #64748b;

    font-size: 25px;
    line-height: 1;

    cursor: pointer;

    transition: 0.2s;
}

.terms-close:hover {
    background: #e2e8f0;
    color: #111827;
}


/* Header */

.terms-modal-header {
    padding: 30px 35px 20px;

    border-bottom: 1px solid #e5e7eb;
}

.terms-modal-header h2 {
    margin: 0;

    color: #111827;
    font-size: 26px;
    font-weight: 700;
}

.terms-modal-header p {
    margin: 7px 0 0;

    color: #64748b;
    font-size: 14px;
}


/* Body */

.terms-modal-body {
    padding: 5px 35px 20px;

    overflow-y: auto;
}

.terms-section {
    padding: 20px 0;

    border-bottom: 1px solid #f1f5f9;
}

.terms-section:last-child {
    border-bottom: none;
}

.terms-section h3 {
    margin: 0 0 8px;

    color: #1e293b;
    font-size: 17px;
}

.terms-section p {
    margin: 0;

    color: #64748b;
    font-size: 14px;
    line-height: 1.7;
}


/* Footer */

.terms-modal-footer {
    padding: 18px 35px;

    border-top: 1px solid #e5e7eb;

    display: flex;
    justify-content: flex-end;
}

.terms-accept {
    padding: 11px 24px;

    border: none;
    border-radius: 10px;

    background: #6366f1;
    color: #ffffff;

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

    cursor: pointer;

    transition: 0.2s;
}

.terms-accept:hover {
    background: #4f46e5;
}


/* Mobile */

@media (max-width: 600px) {

    .terms-modal {
        padding: 12px;
    }

    .terms-modal-content {
        max-height: 90vh;
        border-radius: 16px;
    }

    .terms-modal-header {
        padding: 25px 20px 18px;
    }

    .terms-modal-header h2 {
        font-size: 22px;
    }

    .terms-modal-body {
        padding: 5px 20px 15px;
    }

    .terms-modal-footer {
        padding: 15px 20px;
    }

    .terms-accept {
        width: 100%;
    }
}


.auth-field-alert {
    display: block;
    margin-top: 6px;
    color: #dc3545;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
}


.product-description {
    margin-top: 12px;
}

.description-wrapper {
    position: relative;
}

.description {
    margin: 0;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.6;

    max-height: 45px;
    overflow: hidden;

    transition: max-height 0.4s ease;
}

/* Fade effect */
.description-wrapper::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;

    width: 80px;
    height: 25px;

    background: linear-gradient(
        to right,
        rgba(255, 255, 255, 0),
        #fff 75%
    );

    pointer-events: none;
}

/* Expanded */
.description-wrapper.expanded .description {
    max-height: 500px;
}

/* Remove fade when expanded */
.description-wrapper.expanded::after {
    display: none;
}

.description-btn {
    position: absolute;
    right: 0;
    bottom: 0;

    z-index: 2;

    border: none;
    background: #fff;

    color: #2563eb;
    font-size: 13px;
    font-weight: 600;

    padding: 2px 0 2px 6px;

    cursor: pointer;

    transition: all 0.2s ease;
}

.description-btn:hover {
    color: #1d4ed8;
}


/* ========================================
   ACCOUNT PAGES
======================================== */

.orders-page,
.settings-page {
    min-height: calc(100vh - 80px);
    padding: 50px 20px;
    background: #f7f8fa;
}

.orders-container,
.settings-container {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}


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

.orders-header,
.settings-header {
    margin-bottom: 30px;
}

.orders-header h1,
.settings-header h1 {
    margin: 0 0 8px;
    font-size: 32px;
    font-weight: 700;
    color: #111827;
}

.orders-header p,
.settings-header p {
    margin: 0;
    color: #6b7280;
    font-size: 15px;
}


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

.orders-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.order-card {
    padding: 24px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    transition: all 0.25s ease;
}

.order-card:hover {
    border-color: #d1d5db;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px);
}


/* ORDER TOP */

.order-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid #f0f0f0;
}

.order-label {
    display: block;
    margin-bottom: 4px;
    color: #9ca3af;
    font-size: 13px;
}

.order-top h3 {
    margin: 0;
    color: #111827;
    font-size: 20px;
}


/* STATUS */

.order-status {
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    text-transform: capitalize;
}

/* pending */

.status-pending {
    color: #92400e;
    background: #fef3c7;
}

/* processing */

.status-processing {
    color: #1e40af;
    background: #dbeafe;
}

/* completed */

.status-completed {
    color: #166534;
    background: #dcfce7;
}

/* cancelled */

.status-cancelled {
    color: #991b1b;
    background: #fee2e2;
}


/* ORDER INFO */

.order-info {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding: 20px 0;
}

.order-info div {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.order-info span {
    color: #9ca3af;
    font-size: 13px;
}

.order-info strong {
    color: #111827;
    font-size: 15px;
}


/* ORDER ACTIONS */

.order-actions {
    display: flex;
    justify-content: flex-end;
}

.order-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 10px 16px;

    color: #ffffff;
    background: #111827;

    border-radius: 8px;

    font-size: 14px;
    font-weight: 600;
    text-decoration: none;

    transition: background 0.2s ease;
}

.order-btn:hover {
    background: #2563eb;
}


/* ========================================
   EMPTY ORDERS
======================================== */

.empty-orders {
    padding: 70px 20px;
    text-align: center;

    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
}

.empty-icon {
    margin-bottom: 15px;
    font-size: 45px;
}

.empty-orders h2 {
    margin: 0 0 8px;
    color: #111827;
    font-size: 22px;
}

.empty-orders p {
    margin: 0 0 25px;
    color: #6b7280;
}

.empty-orders a {
    display: inline-flex;
    padding: 11px 18px;

    color: #ffffff;
    background: #111827;

    border-radius: 8px;

    text-decoration: none;
    font-size: 14px;
    font-weight: 600;

    transition: background 0.2s ease;
}

.empty-orders a:hover {
    background: #2563eb;
}


/* ========================================
   PAGINATION
======================================== */

.orders-pagination {
    margin-top: 25px;
}


/* ========================================
   SETTINGS
======================================== */

.settings-container {
    max-width: 700px;
}

.settings-form {
    padding: 30px;

    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
}


/* FORM GROUP */

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;

    color: #374151;

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

.form-group input {
    width: 100%;
    box-sizing: border-box;

    padding: 12px 14px;

    color: #111827;
    background: #ffffff;

    border: 1px solid #d1d5db;
    border-radius: 8px;

    outline: none;

    font-size: 14px;

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

.form-group input:focus {
    border-color: #2563eb;

    box-shadow:
        0 0 0 3px rgba(37, 99, 235, 0.1);
}


/* DIVIDER */

.settings-divider {
    height: 1px;
    margin: 30px 0;
    background: #e5e7eb;
}

.settings-form h2 {
    margin: 0 0 20px;

    color: #111827;

    font-size: 20px;
}


/* ERRORS */

.error-message {
    display: block;
    margin-top: 6px;

    color: #dc2626;

    font-size: 13px;
}


/* SUCCESS */

.success-message {
    margin-bottom: 20px;
    padding: 13px 16px;

    color: #166534;
    background: #dcfce7;

    border: 1px solid #bbf7d0;
    border-radius: 8px;

    font-size: 14px;
}


/* INVALID INPUT */

.form-group input.is-invalid {
    border-color: #dc2626;
}


/* SUBMIT */

.settings-submit {
    width: 100%;

    padding: 13px 20px;

    color: #ffffff;
    background: #111827;

    border: none;
    border-radius: 8px;

    cursor: pointer;

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

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

.settings-submit:hover {
    background: #2563eb;
}

.settings-submit:active {
    transform: scale(0.99);
}


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

@media (max-width: 600px) {

    .orders-page,
    .settings-page {
        padding: 30px 15px;
    }

    .orders-header h1,
    .settings-header h1 {
        font-size: 26px;
    }

    .order-card {
        padding: 18px;
    }

    .order-top {
        align-items: flex-start;
        flex-direction: column;
    }

    .order-info {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .order-actions {
        justify-content: stretch;
    }

    .order-btn {
        width: 100%;
    }

    .settings-form {
        padding: 20px;
    }
}


/* ========================================
   ORDER DETAILS
======================================== */

.order-details-page {
    min-height: calc(100vh - 80px);
    padding: 50px 20px;
    background: #f7f8fa;
}

.order-details-container {
    max-width: 900px;
    margin: 0 auto;
}


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

.order-page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 25px;
}

.back-link {
    display: inline-block;
    margin-bottom: 12px;

    color: #6b7280;
    font-size: 14px;
    text-decoration: none;

    transition: color 0.2s ease;
}

.back-link:hover {
    color: #2563eb;
}

.order-page-header h1 {
    margin: 0 0 6px;

    color: #111827;
    font-size: 30px;
    font-weight: 700;
}

.order-page-header p {
    margin: 0;

    color: #9ca3af;
    font-size: 14px;
}


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

.order-details-card {
    background: #ffffff;

    border: 1px solid #e5e7eb;
    border-radius: 16px;

    overflow: hidden;
}


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

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

    padding: 22px 25px;

    border-bottom: 1px solid #f0f0f0;
}

.order-items-header h2 {
    margin: 0;

    color: #111827;
    font-size: 18px;
}

.order-items-header span {
    color: #9ca3af;
    font-size: 14px;
}


/* ========================================
   ORDER ITEM
======================================== */

.order-items {
    padding: 0 25px;
}

.order-item {
    display: flex;
    align-items: center;

    gap: 16px;

    padding: 20px 0;

    border-bottom: 1px solid #f0f0f0;
}

.order-item:last-child {
    border-bottom: none;
}


/* PRODUCT ICON */

.order-item-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 55px;
    height: 55px;

    flex-shrink: 0;

    background: #f3f4f6;

    border-radius: 10px;

    font-size: 24px;
}


/* PRODUCT INFO */

.order-item-info {
    flex: 1;
    min-width: 0;
}

.order-item-info h3 {
    margin: 0 0 7px;

    color: #111827;

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

.order-item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;

    color: #9ca3af;

    font-size: 13px;
}


/* ITEM TOTAL */

.order-item-total {
    display: flex;
    flex-direction: column;
    align-items: flex-end;

    gap: 4px;

    white-space: nowrap;
}

.order-item-total span {
    color: #9ca3af;
    font-size: 12px;
}

.order-item-total strong {
    color: #111827;
    font-size: 15px;
}


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

.order-summary {
    padding: 22px 25px;

    background: #fafafa;

    border-top: 1px solid #e5e7eb;
}

.summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 8px 0;

    color: #6b7280;

    font-size: 14px;
}

.summary-row strong {
    color: #111827;
}

.total-row {
    margin-top: 8px;
    padding-top: 18px;

    border-top: 1px solid #e5e7eb;

    color: #111827;

    font-size: 17px;
}

.total-row strong {
    font-size: 21px;
}


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

.order-details-actions {
    display: flex;
    justify-content: flex-end;

    padding: 20px 25px;
}

.back-orders-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 11px 18px;

    color: #ffffff;
    background: #111827;

    border-radius: 8px;

    font-size: 14px;
    font-weight: 600;
    text-decoration: none;

    transition: background 0.2s ease;
}

.back-orders-btn:hover {
    background: #2563eb;
}


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

@media (max-width: 600px) {

    .order-details-page {
        padding: 30px 15px;
    }

    .order-page-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .order-page-header h1 {
        font-size: 25px;
    }

    .order-items {
        padding: 0 18px;
    }

    .order-items-header {
        padding: 18px;
    }

    .order-item {
        align-items: flex-start;
    }

    .order-item-icon {
        width: 45px;
        height: 45px;
        font-size: 20px;
    }

    .order-item-total {
        align-self: center;
    }

    .order-item-meta {
        flex-direction: column;
        gap: 4px;
    }

    .order-summary {
        padding: 18px;
    }

    .order-details-actions {
        padding: 18px;
    }

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



/* Change Password Page */

/* =================================
   Forgot Password Page Only
   ================================= */

.forgot-password-page {
    width: 100%;
    max-width: 420px;
    margin: 80px auto;
    padding: 35px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    box-sizing: border-box;
}

.forgot-password-page h2 {
    margin: 0 0 25px;
    text-align: center;
    color: #222;
    font-size: 26px;
    font-weight: 600;
}

/* Errors */

.forgot-password-page > div {
    margin-bottom: 20px;
    padding: 12px 15px;
    background: #fff1f2;
    border: 1px solid #fecdd3;
    border-radius: 8px;
    color: #be123c;
}

.forgot-password-page > div p {
    margin: 4px 0;
    font-size: 14px;
}

/* Success message */

.forgot-password-page > p {
    margin: 0 0 20px;
    padding: 12px 15px;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: 8px;
    color: #047857;
    font-size: 14px;
}

/* Form */

.forgot-password-page form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.forgot-password-page form label {
    color: #374151;
    font-size: 14px;
    font-weight: 500;
}

.forgot-password-page form input {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    outline: none;
    background: #fff;
    color: #111827;
    font-size: 15px;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.forgot-password-page form input:focus {
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
}

/* Button */

.forgot-password-page form button {
    width: 100%;
    margin-top: 10px;
    padding: 13px 18px;
    border: none;
    border-radius: 8px;
    background: #4f46e5;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
}

.forgot-password-page form button:hover {
    background: #4338ca;
}

.forgot-password-page form button:active {
    transform: scale(0.98);
}

/* Mobile */

@media (max-width: 480px) {
    .forgot-password-page {
        margin: 40px 15px;
        padding: 25px 20px;
    }

    .forgot-password-page h2 {
        font-size: 22px;
    }
}
/* =====================================
   CHANGE PASSWORD PAGE ONLY
   ===================================== */

.change-password-page {
    width: 100%;
    max-width: 440px;
    margin: 80px auto;
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
    box-sizing: border-box;
}

/* Title */

.change-password-page h2 {
    margin: 0 0 30px;
    text-align: center;
    color: #111827;
    font-size: 28px;
    font-weight: 700;
}

/* Error messages */

.change-password-page > div {
    margin-bottom: 25px;
    padding: 14px 16px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 10px;
    color: #dc2626;
}

.change-password-page > div p {
    margin: 4px 0;
    font-size: 14px;
    line-height: 1.5;
}

/* Form */

.change-password-page form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Form fields */

.change-password-page form > div {
    display: flex;
    flex-direction: column;
}

/* Labels */

.change-password-page form label {
    margin-bottom: 8px;
    color: #374151;
    font-size: 14px;
    font-weight: 600;
}

/* Inputs */

.change-password-page form input[type="email"],
.change-password-page form input[type="password"] {
    width: 100%;
    height: 48px;
    padding: 0 15px;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    outline: none;
    background: #f9fafb;
    color: #111827;
    font-size: 15px;
    box-sizing: border-box;
    transition: all 0.2s ease;
}

/* Password input focus */

.change-password-page form input[type="password"]:focus {
    background: #ffffff;
    border-color: #6366f1;
    box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.12);
}

/* Email disabled input */

.change-password-page form input[type="email"]:disabled {
    background: #f3f4f6;
    color: #6b7280;
    cursor: not-allowed;
}

/* Button */

.change-password-page form button {
    width: 100%;
    height: 50px;
    margin-top: 5px;
    border: none;
    border-radius: 10px;
    background: linear-gradient(135deg, #6366f1, #4f46e5);
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 6px 15px rgba(79, 70, 229, 0.25);
    transition: all 0.2s ease;
}

.change-password-page form button:hover {
    background: linear-gradient(135deg, #4f46e5, #4338ca);
    box-shadow: 0 8px 20px rgba(79, 70, 229, 0.35);
    transform: translateY(-1px);
}

.change-password-page form button:active {
    transform: translateY(0);
}

/* Mobile */

@media (max-width: 480px) {
    .change-password-page {
        margin: 40px 15px;
        padding: 30px 20px;
        border-radius: 16px;
    }

    .change-password-page h2 {
        font-size: 24px;
    }
}



/* =========================
   PRODUCT MODAL
========================= */

.product-modal {
    display: none;

    position: fixed;
    inset: 0;

    z-index: 99999;

    background: rgba(0, 0, 0, 0.75);

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

    padding: 30px;

    backdrop-filter: blur(5px);
}

.product-modal.active {
    display: flex;
}


/* Modal box */

.product-modal-content {
    position: relative;

    width: min(1100px, 95vw);
    max-height: 90vh;

    display: grid;
    grid-template-columns: 1.2fr 0.8fr;

    background: #fff;

    border-radius: 18px;

    overflow: hidden;

    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.3);

    animation: modalOpen 0.25s ease;
}


@keyframes modalOpen {

    from {
        opacity: 0;
        transform: scale(0.95);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }

}


/* Image */

.product-modal-image-wrapper {
    min-height: 550px;

    background: #f5f3ef;

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

    padding: 30px;
}


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

    max-height: 80vh;

    object-fit: contain;

    border-radius: 10px;
}


/* Information */

.product-modal-info {
    padding: 55px 45px;

    display: flex;
    flex-direction: column;

    overflow-y: auto;
}


.product-modal-info small {
    color: #999;

    font-size: 14px;

    margin-bottom: 12px;
}


.product-modal-info h2 {
    margin: 0 0 25px;

    font-size: 32px;

    line-height: 1.2;

    color: #222;
}


/* Price */

.modal-price {
    display: flex;

    align-items: center;

    gap: 15px;

    margin-bottom: 30px;
}


.modal-price strong {
    font-size: 24px;

    color: #222;
}


.modal-price del {
    color: #999;

    font-size: 17px;
}


/* Description */

.modal-description {
    border-top: 1px solid #eee;

    padding-top: 25px;
}


.modal-description h3 {
    font-size: 18px;

    margin-bottom: 15px;

    color: #222;
}


.modal-description p {
    font-size: 16px;

    line-height: 1.8;

    color: #666;

    white-space: pre-line;
}


/* Close */

.product-modal-close {
    position: absolute;

    top: 15px;
    right: 15px;

    z-index: 10;

    width: 42px;
    height: 42px;

    border: none;

    border-radius: 50%;

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

    color: #222;

    font-size: 28px;

    cursor: pointer;

    display: flex;

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

    transition: 0.2s;
}


.product-modal-close:hover {
    background: #222;

    color: #fff;
}


/* Order button */

.modal-order-button {
    margin-top: 30px;

    width: 100%;

    padding: 15px 25px;

    border: none;

    border-radius: 8px;

    background: #222;

    color: #fff;

    font-size: 16px;

    cursor: pointer;

    transition: 0.2s;
}


.modal-order-button:hover {
    background: #444;
}


/* Mobile */

@media (max-width: 768px) {

    .product-modal {
        padding: 15px;
    }


    .product-modal-content {
        width: 100%;

        max-height: 95vh;

        grid-template-columns: 1fr;

        overflow-y: auto;
    }


    .product-modal-image-wrapper {
        min-height: 300px;

        height: 40vh;

        padding: 20px;
    }


    .product-modal-image-wrapper img {
        max-height: 40vh;
    }


    .product-modal-info {
        padding: 30px 25px;
    }


    .product-modal-info h2 {
        font-size: 25px;
    }

}


.installment-section {
    width: 100%;
    padding: 70px 20px;
    box-sizing: border-box;
}

.installment-wrapper {
    position: relative;
    max-width: 1250px;
    min-height: 460px;
    margin: 0 auto;

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

    padding: 65px 75px;
    box-sizing: border-box;

    overflow: hidden;
    border-radius: 30px;

    background: linear-gradient(
        120deg,
        #30251e 0%,
        #4a3628 45%,
        #72543d 100%
    );

    box-shadow: 0 25px 70px rgba(53, 38, 26, 0.25);
}


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

.installment-content {
    position: relative;
    z-index: 5;
    max-width: 650px;
}

.installment-tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 20px;

    color: #e5c29b;

    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.tag-icon {
    width: 30px;
    height: 30px;

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

    border-radius: 50%;

    background: rgba(229, 194, 155, 0.15);

    color: #e5c29b;

    font-size: 16px;
}


/* =========================
   TITLE
========================= */

.installment-content h2 {
    margin: 0;

    color: #ffffff;

    font-size: 43px;
    line-height: 1.15;
    font-weight: 600;

    letter-spacing: -1px;
}

.installment-content h2 span {
    display: block;
    color: #e5c29b;
}


/* =========================
   DESCRIPTION
========================= */

.installment-content p {
    max-width: 590px;

    margin: 22px 0 25px;

    color: rgba(255, 255, 255, 0.72);

    font-size: 16px;
    line-height: 1.75;
}


/* =========================
   FEATURES
========================= */

.installment-features {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;

    margin-bottom: 30px;
}

.installment-feature {
    display: flex;
    align-items: center;
    gap: 8px;

    color: rgba(255, 255, 255, 0.88);

    font-size: 13px;
}

.feature-icon {
    width: 21px;
    height: 21px;

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

    border-radius: 50%;

    background: #e5c29b;

    color: #38291e;

    font-size: 12px;
    font-weight: 800;
}


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

.installment-btn {
    display: inline-flex;
    align-items: center;
    gap: 18px;

    padding: 15px 23px;

    border-radius: 10px;

    background: #e5c29b;
    color: #35271e;

    text-decoration: none;

    font-size: 14px;
    font-weight: 700;

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

.installment-btn strong {
    font-size: 21px;

    transition: transform 0.3s ease;
}

.installment-btn:hover {
    background: #f0d2af;

    transform: translateY(-3px);

    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
}

.installment-btn:hover strong {
    transform: translateX(6px);
}


/* =========================
   VISUAL
========================= */

.installment-visual {
    position: relative;
    z-index: 3;

    width: 360px;
    height: 380px;

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

    flex-shrink: 0;
}


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

.visual-card {
    position: relative;

    width: 250px;
    height: 315px;

    padding: 22px;

    box-sizing: border-box;

    border-radius: 18px;

    background: #b38a65;

    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.3);

    transform: rotate(5deg);

    animation: furnitureFloat 5s ease-in-out infinite;
}

.visual-card-top,
.visual-card-bottom {
    display: flex;
    justify-content: space-between;

    color: rgba(255, 255, 255, 0.7);

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 2px;
}

.visual-card-bottom {
    position: absolute;

    bottom: 20px;
    left: 22px;
    right: 22px;
}


/* =========================
   CHAIR
========================= */

.visual-chair {
    position: absolute;

    left: 50%;
    top: 52%;

    width: 150px;
    height: 170px;

    transform: translate(-50%, -50%);
}

.chair-back {
    position: absolute;

    left: 30px;
    top: 0;

    width: 90px;
    height: 95px;

    border-radius: 35px 35px 12px 12px;

    background: #e8d3bb;

    box-shadow: inset -8px -8px 15px rgba(80, 50, 30, 0.12);
}

.chair-seat {
    position: absolute;

    left: 15px;
    top: 82px;

    width: 120px;
    height: 45px;

    border-radius: 12px;

    background: #d3b18e;

    transform: skewX(-8deg);
}

.chair-leg {
    position: absolute;

    top: 120px;

    width: 10px;
    height: 55px;

    border-radius: 5px;

    background: #63452f;
}

.chair-leg.left {
    left: 32px;
    transform: rotate(5deg);
}

.chair-leg.right {
    right: 32px;
    transform: rotate(-5deg);
}


/* =========================
   FLOATING BADGE
========================= */

.floating-price {
    position: absolute;

    right: -10px;
    bottom: 45px;

    width: 115px;
    height: 115px;

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

    border-radius: 50%;

    background: #e5c29b;

    color: #38291e;

    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25);

    transform: rotate(-8deg);

    animation: badgeFloat 4s ease-in-out infinite;
}

.floating-price small {
    font-size: 9px;
    letter-spacing: 2px;
}

.floating-price strong {
    margin-top: 4px;

    font-size: 18px;
    letter-spacing: 1px;
}


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

.installment-bg-circle {
    position: absolute;

    width: 500px;
    height: 500px;

    right: -220px;
    top: -230px;

    border: 1px solid rgba(229, 194, 155, 0.18);

    border-radius: 50%;
}

.installment-bg-line {
    position: absolute;

    width: 600px;
    height: 600px;

    right: -270px;
    top: -280px;

    border: 1px solid rgba(229, 194, 155, 0.08);

    border-radius: 50%;
}


/* =========================
   ANIMATIONS
========================= */

@keyframes furnitureFloat {
    0%,
    100% {
        transform: rotate(5deg) translateY(0);
    }

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

@keyframes badgeFloat {
    0%,
    100% {
        transform: rotate(-8deg) translateY(0);
    }

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


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

@media (max-width: 1000px) {

    .installment-wrapper {
        padding: 55px 45px;
    }

    .installment-content h2 {
        font-size: 36px;
    }

    .installment-visual {
        width: 290px;
        transform: scale(0.85);
    }
}


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

@media (max-width: 768px) {

    .installment-section {
        padding: 40px 15px;
    }

    .installment-wrapper {
        min-height: auto;

        flex-direction: column;
        align-items: flex-start;

        padding: 40px 25px;

        border-radius: 22px;
    }

    .installment-content {
        max-width: 100%;
    }

    .installment-content h2 {
        font-size: 30px;
        letter-spacing: -0.5px;
    }

    .installment-content p {
        font-size: 14px;
    }

    .installment-features {
        flex-direction: column;
        gap: 12px;
    }

    .installment-visual {
        width: 100%;
        height: 330px;

        margin-top: 20px;

        transform: scale(0.85);
    }

    .floating-price {
        right: 10px;
    }
}


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

@media (max-width: 420px) {

    .installment-content h2 {
        font-size: 26px;
    }

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

    .installment-visual {
        transform: scale(0.72);

        margin-left: -10px;
    }
}



































