.home-hero {
    position: relative;
    background:
        radial-gradient(circle at 12% 10%, rgba(201, 154, 80, 0.18), transparent 30%),
        linear-gradient(135deg, #fffaf4 0%, #f7ead9 46%, #efe0ce 100%);
    color: var(--brand-ink);
    overflow: hidden;
}

.hero-slide {
    min-height: calc(100vh - 126px);
    display: flex;
    align-items: center;
    padding: 54px 0 74px;
}

.hero-slide-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
    align-items: center;
    gap: 54px;
}

.hero-copy {
    max-width: 680px;
}

.hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    color: var(--brand-brown);
    font-family: "font_bold";
    font-size: 15px;
}

.hero-kicker::before {
    content: "";
    width: 38px;
    height: 2px;
    background: var(--brand-gold);
}

.hero-copy h1 {
    color: var(--brand-ink);
    font-size: 56px;
    line-height: 1.18;
    margin: 0 0 18px;
}

.hero-copy p {
    max-width: 590px;
    color: #5b4c40;
    font-size: 18px;
    line-height: 1.9;
    margin-bottom: 30px;
}

.hero-buttons {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.hero-btn {
    min-height: 52px;
    padding: 0 26px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "font_bold";
    font-size: 15px;
}

.hero-btn-primary {
    background: var(--brand-brown);
    color: var(--color-white);
    box-shadow: 0 16px 34px rgba(91, 55, 27, 0.22);
}

.hero-btn-primary:hover {
    background: var(--brand-brown-dark);
    color: var(--color-white);
    transform: translateY(-2px);
}

.hero-btn-outline {
    border: 1px solid rgba(91, 55, 27, 0.25);
    color: var(--brand-brown);
    background: rgba(255, 255, 255, 0.52);
}

.hero-btn-outline:hover {
    border-color: var(--brand-brown);
    color: var(--brand-brown);
    background: var(--color-white);
}

.hero-visual {
    min-height: 470px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-stage {
    position: relative;
    width: min(100%, 430px);
    aspect-ratio: 1;
    border-radius: 50%;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.35)),
        radial-gradient(circle, rgba(201, 154, 80, 0.22), rgba(91, 55, 27, 0.07) 58%, transparent 59%);
    border: 1px solid rgba(91, 55, 27, 0.1);
}

.product-stage::before {
    content: "";
    position: absolute;
    inset: 44px;
    border: 1px dashed rgba(91, 55, 27, 0.22);
    border-radius: 50%;
}

.product-card {
    position: absolute;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(91, 55, 27, 0.12);
    box-shadow: 0 28px 55px rgba(91, 55, 27, 0.18);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.product-card i {
    color: var(--brand-gold);
}

.product-card strong {
    color: var(--brand-brown);
    font-family: "font_bold";
}

.product-card span {
    color: #6b5a4d;
    font-size: 14px;
    margin-top: 6px;
}

.product-card-main {
    width: 230px;
    height: 260px;
    top: 50%;
    right: 50%;
    transform: translate(50%, -50%);
}

.product-card-main i {
    font-size: 74px;
    margin-bottom: 22px;
}

.product-card-main strong {
    font-size: 23px;
}

.product-card-small {
    width: 135px;
    height: 128px;
}

.product-card-small i {
    font-size: 34px;
    margin-bottom: 12px;
}

.product-card-watch {
    top: 18px;
    left: 22px;
}

.product-card-glasses {
    right: 10px;
    bottom: 34px;
}

.hero-slider-controls {
    position: absolute;
    right: 5%;
    bottom: 26px;
    display: flex;
    align-items: center;
    gap: 10px;
    z-index: 3;
}

.hero-arrow {
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 6px;
    background: var(--color-white);
    color: var(--brand-brown);
    box-shadow: 0 12px 30px rgba(33, 22, 15, 0.12);
    cursor: pointer;
}

.hero-arrow:hover {
    background: var(--brand-brown);
    color: var(--color-white);
}

#slider-hero .owl-dots {
    position: absolute;
    bottom: 31px;
    left: 5%;
    display: flex;
    gap: 8px;
}

#slider-hero .owl-dot span {
    width: 9px;
    height: 9px;
    margin: 0;
    background: rgba(91, 55, 27, 0.25);
}

#slider-hero .owl-dot.active span {
    width: 28px;
    background: var(--brand-brown);
}

/* Luxury image hero */
.home-hero {
    background: #f8efe4;
}

.hero-slide {
    position: relative;
    min-height: calc(100vh - 126px);
    padding: 0;
    display: flex;
    align-items: center;
    background-position: center;
    background-size: cover;
    overflow: hidden;
}

.hero-slide::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 248, 238, 0.12) 0%, rgba(255, 248, 238, 0.62) 48%, rgba(255, 248, 238, 0.94) 100%),
        linear-gradient(180deg, rgba(91, 55, 27, 0.08), rgba(91, 55, 27, 0.18));
    z-index: 1;
}

.hero-slide-content {
    position: relative;
    z-index: 2;
    min-height: calc(100vh - 126px);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 84px 0 96px;
}

.hero-slide-content .hero-copy {
    max-width: 600px;
    padding: 0;
}

.hero-slide-content .hero-kicker {
    color: var(--brand-brown);
    font-size: 16px;
    margin-bottom: 18px;
}

.hero-slide-content .hero-copy h1 {
    font-size: 58px;
    max-width: 620px;
    color: var(--brand-brown-dark);
    text-shadow: 0 2px 18px rgba(255, 255, 255, 0.45);
}

.hero-slide-content .hero-copy p {
    max-width: 560px;
    color: #4d392c;
    font-size: 18px;
    line-height: 1.95;
    text-shadow: 0 2px 12px rgba(255, 255, 255, 0.45);
}

.hero-slide-content .hero-buttons {
    margin-top: 32px;
}

.hero-slide-content .hero-btn {
    min-width: 150px;
}

.hero-slide-content .hero-btn-outline {
    background: rgba(255, 255, 255, 0.32);
    backdrop-filter: blur(8px);
}

.about-index {
    position: relative;
    background:
        linear-gradient(180deg, #fffaf4 0%, #ffffff 100%);
    overflow: hidden;
}

.about-index::before {
    content: "";
    position: absolute;
    inset: 46px auto auto -80px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    border: 1px solid rgba(91, 55, 27, 0.09);
}

.about-store-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.92fr);
    align-items: center;
    gap: 64px;
}

.section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--brand-gold);
    font-family: "font_bold";
    font-size: 15px;
    margin-bottom: 14px;
}

.section-kicker::before {
    content: "";
    width: 34px;
    height: 2px;
    background: var(--brand-brown);
}

.about-store-content h2 {
    max-width: 680px;
    color: var(--brand-brown-dark);
    font-size: 42px;
    line-height: 1.35;
    margin-bottom: 18px;
}

.about-store-content p {
    max-width: 660px;
    color: #5f4b3e;
    font-size: 17px;
    line-height: 2;
    margin-bottom: 28px;
}

.about-store-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 30px;
}

.about-store-feature {
    min-height: 88px;
    padding: 16px 14px;
    border: 1px solid rgba(91, 55, 27, 0.11);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.72);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
}

.about-store-feature i {
    color: var(--brand-brown);
    font-size: 22px;
}

.about-store-feature span {
    color: var(--brand-ink);
    font-family: "font_medium";
    font-size: 14px;
    line-height: 1.5;
}

.about-store-btn {
    min-height: 52px;
    padding: 0 24px;
    border-radius: 6px;
    background: var(--brand-brown);
    color: var(--color-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: "font_bold";
}

.about-store-btn:hover {
    background: var(--brand-brown-dark);
    color: var(--color-white);
    transform: translateY(-2px);
}

.about-store-visual {
    position: relative;
    min-height: 430px;
}

.about-store-image {
    height: 430px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 28px 70px rgba(91, 55, 27, 0.18);
}

.about-store-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left center;
}

.about-store-badge {
    position: absolute;
    right: -24px;
    bottom: 34px;
    width: 142px;
    min-height: 132px;
    padding: 18px;
    border-radius: 8px;
    background: var(--brand-brown);
    color: var(--color-white);
    box-shadow: 0 20px 45px rgba(91, 55, 27, 0.25);
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.about-store-badge strong {
    color: var(--brand-gold);
    font-family: "font_bold";
    font-size: 34px;
    line-height: 1;
    margin-bottom: 9px;
}

.about-store-badge span {
    color: var(--color-white);
    font-family: "font_medium";
    font-size: 14px;
}

.section-categories {
    padding: 90px 0;
    background:
        linear-gradient(180deg, #ffffff 0%, #fff8ee 100%);
    overflow: hidden;
}

.categories-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 34px;
}

.categories-header h2 {
    color: var(--brand-brown-dark);
    font-size: 38px;
    line-height: 1.35;
    margin-bottom: 10px;
    font-family: "font_bold";
}

.categories-header p {
    max-width: 680px;
    color: #5f4b3e;
    font-size: 16px;
    line-height: 1.8;
}

.categories-nav {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.categories-arrow {
    width: 46px;
    height: 46px;
    border: 1px solid rgba(91, 55, 27, 0.14);
    border-radius: 6px;
    background: var(--color-white);
    color: var(--brand-brown);
    box-shadow: 0 12px 28px rgba(91, 55, 27, 0.08);
    cursor: pointer;
}

.categories-arrow:hover {
    background: var(--brand-brown);
    color: var(--color-white);
}

.categories-slider .owl-stage-outer {
    overflow: visible;
}

.category-card {
    position: relative;
    min-height: 360px;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    background: var(--brand-brown);
    box-shadow: 0 20px 45px rgba(91, 55, 27, 0.14);
    isolation: isolate;
}

.category-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(33, 22, 15, 0.02) 0%, rgba(33, 22, 15, 0.68) 100%);
    z-index: -1;
    transition: background 0.3s ease;
}

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

.category-card:hover::before {
    background:
        linear-gradient(180deg, rgba(33, 22, 15, 0.05) 0%, rgba(91, 55, 27, 0.84) 100%);
}

.category-card-media {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.category-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

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

.category-card-icon {
    position: absolute;
    inset: 18px 18px auto auto;
    width: 70px;
    height: 70px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.12);
    color: var(--brand-gold);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.category-card-content {
    width: 100%;
    padding: 24px;
    color: var(--color-white);
}

.category-card-content span {
    display: inline-flex;
    margin-bottom: 10px;
    color: var(--brand-gold);
    font-family: "font_bold";
    font-size: 14px;
}

.category-card-content h3 {
    color: var(--color-white);
    font-family: "font_bold";
    font-size: 24px;
    margin-bottom: 8px;
}

.category-card-content p {
    color: rgba(255, 255, 255, 0.82);
    font-size: 14px;
    line-height: 1.7;
    min-height: 48px;
    margin-bottom: 18px;
}

.category-card-content>i {
    width: 42px;
    height: 42px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.16);
    color: var(--color-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.category-card:hover .category-card-content>i {
    background: var(--brand-gold);
    color: var(--brand-brown-dark);
}

#slider-categories .owl-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 28px;
}

#slider-categories .owl-dot span {
    width: 9px;
    height: 9px;
    margin: 0;
    background: rgba(91, 55, 27, 0.22);
}

#slider-categories .owl-dot.active span {
    width: 28px;
    background: var(--brand-brown);
}

.section-products {
    padding: 90px 0;
    background: #ffffff;
}

.products-header {
    max-width: 760px;
    margin-bottom: 34px;
}

.products-header h2 {
    color: var(--brand-brown-dark);
    font-size: 38px;
    line-height: 1.35;
    margin-bottom: 10px;
    font-family: "font_bold";
}

.products-header p {
    color: #5f4b3e;
    font-size: 16px;
    line-height: 1.8;
}

.products-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    align-items: start;
    gap: 26px;
}

.products-filter {
    position: sticky;
    top: 125px;
    padding: 18px;
    border: 1px solid rgba(91, 55, 27, 0.1);
    border-radius: 8px;
    background:
        linear-gradient(180deg, #fffaf4 0%, #ffffff 100%);
    box-shadow: 0 18px 40px rgba(91, 55, 27, 0.08);
}

.products-filter-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    color: var(--brand-brown);
}

.products-filter-head i {
    width: 38px;
    height: 38px;
    border-radius: 6px;
    background: rgba(91, 55, 27, 0.08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.products-filter-head h3 {
    color: var(--brand-brown-dark);
    font-size: 19px;
    font-family: "font_bold";
}

.product-filter-btn {
    width: 100%;
    min-height: 46px;
    padding: 0 12px;
    margin-top: 8px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.8);
    color: var(--brand-ink);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    cursor: pointer;
    font-family: "font_medium";
}

.product-filter-btn strong {
    min-width: 28px;
    height: 24px;
    padding: 0 7px;
    border-radius: 20px;
    background: rgba(91, 55, 27, 0.08);
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

.product-filter-btn:hover,
.product-filter-btn.active {
    border-color: rgba(91, 55, 27, 0.18);
    background: var(--brand-brown);
    color: var(--color-white);
}

.product-filter-btn:hover strong,
.product-filter-btn.active strong {
    background: var(--brand-gold);
    color: var(--brand-brown-dark);
}

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

.product-card-item {
    border: 1px solid rgba(91, 55, 27, 0.1);
    border-radius: 8px;
    background: var(--color-white);
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(91, 55, 27, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.product-card-item:hover {
    transform: translateY(-7px);
    box-shadow: 0 24px 55px rgba(91, 55, 27, 0.14);
}

.product-card-item.is-hidden {
    display: none;
}

.product-card-img {
    position: relative;
    height: 220px;
    overflow: hidden;
    background:
        radial-gradient(circle at 20% 18%, rgba(201, 154, 80, 0.2), transparent 32%),
        linear-gradient(145deg, #7a4b25 0%, #321d0e 100%);
}

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

.product-image-link {
    display: block;
    width: 100%;
    height: 100%;
}

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

.product-card-img--icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-card-img--icon>i {
    color: var(--brand-gold);
    font-size: 76px;
}

.product-category {
    position: absolute;
    top: 14px;
    right: 14px;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.9);
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-family: "font_bold";
}

.product-card-body {
    padding: 18px;
}

.product-card-body h3 {
    color: var(--brand-brown-dark);
    font-size: 19px;
    line-height: 1.4;
    margin-bottom: 8px;
    font-family: "font_bold";
}

.product-card-body h3 a {
    color: inherit;
    font-size: inherit;
}

.product-card-body h3 a:hover {
    color: var(--brand-gold);
}

.product-card-body p {
    color: #665246;
    font-size: 14px;
    line-height: 1.7;
    min-height: 48px;
    margin-bottom: 16px;
}

.product-details-link {
    width: fit-content;
    margin-bottom: 15px;
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: "font_bold";
    font-size: 13px;
}

.product-details-link:hover {
    color: var(--brand-gold);
}

.product-card-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.product-card-bottom strong {
    color: var(--brand-brown);
    font-size: 20px;
    font-family: "font_bold";
    white-space: nowrap;
}

.product-card-bottom button {
    min-height: 42px;
    padding: 0 14px;
    border: 0;
    border-radius: 6px;
    background: var(--brand-brown);
    color: var(--color-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    font-family: "font_bold";
    font-size: 13px;
}

.product-card-bottom button:hover {
    background: var(--brand-brown-dark);
}

.section-offers {
    padding: 90px 0;
    background:
        radial-gradient(circle at 12% 10%, rgba(201, 154, 80, 0.13), transparent 32%),
        linear-gradient(180deg, #fff8ee 0%, #ffffff 100%);
    overflow: hidden;
}

.offers-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 34px;
}

.offers-header h2 {
    color: var(--brand-brown-dark);
    font-size: 38px;
    line-height: 1.35;
    margin-bottom: 10px;
    font-family: "font_bold";
}

.offers-header p {
    max-width: 690px;
    color: #5f4b3e;
    font-size: 16px;
    line-height: 1.8;
}

.offers-nav {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.offers-arrow {
    width: 46px;
    height: 46px;
    border: 1px solid rgba(91, 55, 27, 0.14);
    border-radius: 6px;
    background: var(--color-white);
    color: var(--brand-brown);
    box-shadow: 0 12px 28px rgba(91, 55, 27, 0.08);
    cursor: pointer;
}

.offers-arrow:hover {
    background: var(--brand-brown);
    color: var(--color-white);
}

.offers-slider .owl-stage-outer {
    overflow: visible;
}

.offer-card {
    height: 100%;
    border-radius: 8px;
    overflow: hidden;
    background: var(--color-white);
    border: 1px solid rgba(91, 55, 27, 0.1);
    box-shadow: 0 20px 48px rgba(91, 55, 27, 0.12);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.offer-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 62px rgba(91, 55, 27, 0.18);
}

.offer-card-image {
    position: relative;
    height: 235px;
    overflow: hidden;
    background:
        radial-gradient(circle at 20% 18%, rgba(201, 154, 80, 0.22), transparent 32%),
        linear-gradient(145deg, #7a4b25 0%, #321d0e 100%);
}

.offer-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

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

.offer-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.offer-card-icon>i {
    color: var(--brand-gold);
    font-size: 86px;
}

.offer-discount {
    position: absolute;
    top: 16px;
    right: 16px;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 40px;
    background: var(--brand-brown);
    color: var(--color-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-family: "font_bold";
    box-shadow: 0 12px 28px rgba(91, 55, 27, 0.22);
}

.offer-card-content {
    padding: 22px;
}

.offer-category {
    display: inline-flex;
    margin-bottom: 10px;
    color: var(--brand-gold);
    font-size: 13px;
    font-family: "font_bold";
}

.offer-card-content h3 {
    color: var(--brand-brown-dark);
    font-size: 21px;
    line-height: 1.45;
    margin-bottom: 8px;
    font-family: "font_bold";
}

.offer-card-content p {
    color: #665246;
    font-size: 14px;
    line-height: 1.75;
    min-height: 50px;
    margin-bottom: 16px;
}

.offer-price {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.offer-price strong {
    color: var(--brand-brown);
    font-size: 23px;
    font-family: "font_bold";
}

.offer-price del {
    color: rgba(33, 22, 15, 0.45);
    font-size: 15px;
}

.offer-btn {
    width: 100%;
    min-height: 48px;
    border-radius: 6px;
    background: var(--brand-brown);
    color: var(--color-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: "font_bold";
}

.offer-btn:hover {
    background: var(--brand-brown-dark);
    color: var(--color-white);
}

#slider-offers .owl-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 28px;
}

#slider-offers .owl-dot span {
    width: 9px;
    height: 9px;
    margin: 0;
    background: rgba(91, 55, 27, 0.22);
}

#slider-offers .owl-dot.active span {
    width: 28px;
    background: var(--brand-brown);
}

.offers-page {
    padding: 70px 0 95px;
    background: #fff;
}

.offers-page-banner {
    position: relative;
    min-height: 500px;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.offers-page-banner>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.offers-page-banner-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(42, 24, 12, 0.18), rgba(42, 24, 12, 0.93) 72%);
}

.offers-page-banner-content {
    position: relative;
    z-index: 2;
    max-width: 610px;
    padding: 55px;
    color: #fff;
}

.offers-page-badge {
    min-height: 30px;
    padding: 0 12px;
    border-radius: 4px;
    background: var(--brand-gold);
    color: var(--brand-brown-dark);
    display: inline-flex;
    align-items: center;
    font-family: "font_bold";
    font-size: 12px;
}

.offers-page-eyebrow {
    margin: 18px 0 4px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
}

.offers-page-banner-content h2 {
    color: #fff;
    font-family: "font_bold";
    font-size: 42px;
    line-height: 1.35;
}

.offers-page-description {
    max-width: 520px;
    margin-top: 10px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 16px;
    line-height: 1.8;
}

.offers-page-banner-price {
    margin: 22px 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.offers-page-banner-price strong {
    color: #fff;
    font-family: "font_bold";
    font-size: 32px;
}

.offers-page-banner-price del {
    color: rgba(255, 255, 255, 0.55);
    font-size: 17px;
}

.offers-page-banner-price span {
    padding: 5px 9px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.12);
    color: var(--brand-gold);
    font-size: 11px;
}

.offers-page-banner-btn {
    min-height: 50px;
    padding: 0 21px;
    border-radius: 6px;
    background: var(--brand-gold);
    color: var(--brand-brown-dark);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: "font_bold";
    font-size: 14px;
}

.offers-page-banner-btn:hover {
    background: #fff;
    color: var(--brand-brown);
}

.offers-page-banner-note {
    position: absolute;
    left: 22px;
    bottom: 20px;
    z-index: 2;
    padding: 9px 12px;
    border-radius: 5px;
    background: rgba(31, 18, 10, 0.7);
    color: rgba(255, 255, 255, 0.82);
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
}

.offers-page-banner-note i {
    color: var(--brand-gold);
}

.offers-page-heading {
    margin: 70px 0 30px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
}

.offers-page-heading h2 {
    margin: 4px 0 7px;
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 34px;
}

.offers-page-heading p {
    color: #665246;
}

.offers-page-benefits {
    display: flex;
    gap: 18px;
    color: #665246;
    font-size: 12px;
    white-space: nowrap;
}

.offers-page-benefits i {
    margin-left: 5px;
    color: var(--brand-gold);
}

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

.offers-page-grid .offer-card {
    box-shadow: 0 12px 34px rgba(91, 55, 27, 0.07);
}

.offers-page-grid .offer-card-image {
    height: 245px;
}

.section-blog {
    padding: 90px 0;
    background:
        linear-gradient(180deg, #ffffff 0%, #fffaf4 100%);
}

.blog-home-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 34px;
}

.blog-home-header h2 {
    color: var(--brand-brown-dark);
    font-size: 38px;
    line-height: 1.35;
    margin-bottom: 10px;
    font-family: "font_bold";
}

.blog-home-header p {
    max-width: 700px;
    color: #5f4b3e;
    font-size: 16px;
    line-height: 1.8;
}

.blog-view-btn {
    min-height: 48px;
    padding: 0 20px;
    border-radius: 6px;
    border: 1px solid rgba(91, 55, 27, 0.18);
    background: var(--color-white);
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: "font_bold";
    white-space: nowrap;
}

.blog-view-btn:hover {
    background: var(--brand-brown);
    color: var(--color-white);
}

.blog-home-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
    gap: 24px;
    align-items: stretch;
}

.blog-feature-card,
.blog-small-card {
    border: 1px solid rgba(91, 55, 27, 0.1);
    border-radius: 8px;
    background: var(--color-white);
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(91, 55, 27, 0.09);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.blog-feature-card:hover,
.blog-small-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 26px 60px rgba(91, 55, 27, 0.14);
}

.blog-feature-image {
    height: 340px;
    overflow: hidden;
}

.blog-feature-image img,
.blog-small-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.blog-feature-card:hover .blog-feature-image img,
.blog-small-card:hover .blog-small-image img {
    transform: scale(1.07);
}

.blog-feature-content {
    padding: 24px;
}

.blog-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.blog-meta span {
    min-height: 28px;
    padding: 0 11px;
    border-radius: 30px;
    background: rgba(91, 55, 27, 0.08);
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-family: "font_bold";
}

.blog-meta time {
    color: rgba(33, 22, 15, 0.52);
    font-size: 13px;
}

.blog-feature-content h3 {
    color: var(--brand-brown-dark);
    font-size: 26px;
    line-height: 1.45;
    margin-bottom: 10px;
    font-family: "font_bold";
}

.blog-feature-content p {
    color: #665246;
    font-size: 15px;
    line-height: 1.85;
    margin-bottom: 18px;
}

.blog-feature-content a,
.blog-small-content a {
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "font_bold";
    font-size: 14px;
}

.blog-feature-content a:hover,
.blog-small-content a:hover {
    color: var(--brand-gold);
}

.blog-side-list {
    display: grid;
    gap: 16px;
}

.blog-small-card {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    min-height: 150px;
}

.blog-small-image {
    height: 100%;
    min-height: 150px;
    overflow: hidden;
}

.blog-small-content {
    padding: 18px;
}

.blog-small-content h3 {
    color: var(--brand-brown-dark);
    font-size: 18px;
    line-height: 1.55;
    margin-bottom: 12px;
    font-family: "font_bold";
}

.blog-small-card--accent {
    background:
        radial-gradient(circle at 15% 20%, rgba(201, 154, 80, 0.18), transparent 32%),
        linear-gradient(145deg, #6f4522 0%, #321d0e 100%);
    color: var(--color-white);
}

.blog-small-card--accent .blog-small-content h3,
.blog-small-card--accent .blog-small-content a {
    color: var(--color-white);
}

.blog-small-card--accent .blog-meta span {
    background: var(--brand-gold);
    color: var(--brand-brown-dark);
}

.blog-small-card--accent .blog-meta time {
    color: rgba(255, 255, 255, 0.7);
}

.blog-small-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brand-gold);
    font-size: 54px;
    border-left: 1px solid rgba(255, 255, 255, 0.12);
}

/* Unified news cards */
.blog-home-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.blog-news-card {
    height: 100%;
    border: 1px solid rgba(91, 55, 27, 0.1);
    border-radius: 8px;
    background: var(--color-white);
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(91, 55, 27, 0.09);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.blog-news-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 28px 60px rgba(91, 55, 27, 0.15);
}

.blog-news-image {
    display: block;
    height: 240px;
    overflow: hidden;
    background: var(--brand-cream);
}

.blog-news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.blog-news-card:hover .blog-news-image img {
    transform: scale(1.07);
}

.blog-news-content {
    flex: 1;
    padding: 22px;
    display: flex;
    flex-direction: column;
}

.blog-news-content h3 {
    min-height: 62px;
    margin-bottom: 10px;
    font-size: 21px;
    line-height: 1.48;
    font-family: "font_bold";
}

.blog-news-content h3 a {
    color: var(--brand-brown-dark);
    font-size: inherit;
}

.blog-news-content h3 a:hover {
    color: var(--brand-gold);
}

.blog-news-content p {
    color: #665246;
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 18px;
}

.blog-read-more {
    width: fit-content;
    margin-top: auto;
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "font_bold";
    font-size: 14px;
}

.blog-read-more:hover {
    color: var(--brand-gold);
}

.blog-page-section {
    padding: 82px 0 95px;
    background: #fff;
}

.blog-page-header {
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(91, 55, 27, 0.12);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
}

.blog-page-header h2 {
    margin: 5px 0 8px;
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 34px;
}

.blog-page-header p {
    max-width: 720px;
    color: #665246;
    font-size: 15px;
    line-height: 1.85;
}

.blog-page-count {
    min-width: 145px;
    padding-right: 18px;
    border-right: 3px solid var(--brand-gold);
    display: grid;
}

.blog-page-count strong {
    color: var(--brand-brown);
    font-family: "font_bold";
    font-size: 34px;
    line-height: 1;
}

.blog-page-count span {
    margin-top: 5px;
    color: #7c6a5e;
    font-size: 12px;
}

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

.blog-page-grid .blog-news-card {
    box-shadow: 0 12px 34px rgba(91, 55, 27, 0.07);
}

.blog-page-grid .blog-news-image {
    height: 250px;
}

.blog-page-grid .blog-news-content h3 {
    min-height: 62px;
}

.blog-detail {
    padding: 72px 0 90px;
    background: #fff;
}

.blog-detail-header {
    max-width: 880px;
    margin: 0 auto 30px;
    text-align: center;
}

.blog-detail-meta {
    margin-bottom: 16px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 22px;
    color: #7c6a5e;
    font-size: 13px;
}

.blog-detail-meta span,
.blog-detail-meta time {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.blog-detail-meta i {
    color: var(--brand-gold);
}

.blog-detail-intro {
    color: #4f3d32;
    font-family: "font_medium";
    font-size: 19px;
    line-height: 1.9;
}

.blog-detail-cover {
    height: 540px;
    margin: 0 0 48px;
    border-radius: 8px;
    overflow: hidden;
}

.blog-detail-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-detail-layout {
    max-width: 1080px;
    margin: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 270px;
    align-items: start;
    gap: 54px;
}

.blog-detail-content>p {
    margin-bottom: 24px;
    color: #554238;
    font-size: 16px;
    line-height: 2;
}

.blog-detail-content h2 {
    margin: 34px 0 12px;
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 26px;
}

.blog-detail-points {
    margin: 28px 0 34px;
    border-top: 1px solid rgba(91, 55, 27, 0.12);
    border-bottom: 1px solid rgba(91, 55, 27, 0.12);
}

.blog-detail-points>div {
    min-height: 70px;
    padding: 14px 4px;
    border-bottom: 1px solid rgba(91, 55, 27, 0.1);
    display: grid;
    grid-template-columns: 38px 1fr;
    align-items: center;
    gap: 12px;
    color: #665246;
    font-size: 14px;
}

.blog-detail-points>div:last-child {
    border-bottom: 0;
}

.blog-detail-points i {
    color: var(--brand-gold);
    font-size: 20px;
    text-align: center;
}

.blog-detail-points strong {
    color: var(--brand-brown-dark);
    margin-left: 4px;
}

.blog-detail-content blockquote {
    margin: 34px 0;
    padding: 24px 28px 24px 70px;
    border: 0;
    border-right: 4px solid var(--brand-gold);
    border-radius: 6px;
    background: #faf7f3;
    color: var(--brand-brown);
    font-family: "font_bold";
    font-size: 21px;
    line-height: 1.8;
    position: relative;
}

.blog-detail-content blockquote::after {
    content: "\f10e";
    position: absolute;
    left: 24px;
    top: 22px;
    color: rgba(91, 55, 27, 0.14);
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 32px;
}

.blog-detail-tip {
    margin-top: 30px;
    padding: 20px;
    border: 1px solid rgba(201, 154, 80, 0.35);
    border-radius: 8px;
    background: #fffaf3;
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 14px;
}

.blog-detail-tip>i {
    color: var(--brand-gold);
    font-size: 28px;
    text-align: center;
}

.blog-detail-tip strong {
    color: var(--brand-brown-dark);
    font-family: "font_bold";
}

.blog-detail-tip p {
    margin-top: 4px;
    color: #665246;
    font-size: 14px;
}

.blog-detail-footer {
    margin-top: 40px;
    padding-top: 22px;
    border-top: 1px solid rgba(91, 55, 27, 0.12);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.blog-detail-tags,
.blog-detail-share {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.blog-detail-tags span {
    padding: 6px 11px;
    border-radius: 4px;
    background: #f4f0ed;
    color: var(--brand-brown);
    font-size: 11px;
}

.blog-detail-share strong {
    color: #665246;
    font-size: 12px;
}

.blog-detail-share a {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(91, 55, 27, 0.14);
    border-radius: 50%;
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
}

.blog-detail-aside {
    position: sticky;
    top: 110px;
    display: grid;
    gap: 18px;
}

.blog-author,
.blog-detail-index {
    padding: 20px;
    border: 1px solid rgba(91, 55, 27, 0.11);
    border-radius: 8px;
    background: #fff;
}

.blog-author {
    display: grid;
    grid-template-columns: 45px 1fr;
    gap: 12px;
}

.blog-author>span {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: var(--brand-brown);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.blog-author small,
.blog-author strong {
    display: block;
}

.blog-author small {
    color: #89796f;
    font-size: 10px;
}

.blog-author strong {
    color: var(--brand-brown-dark);
    font-size: 14px;
}

.blog-author p {
    margin-top: 5px;
    color: #756356;
    font-size: 11px;
    line-height: 1.7;
}

.blog-detail-index {
    display: grid;
    gap: 12px;
}

.blog-detail-index strong {
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(91, 55, 27, 0.1);
    color: var(--brand-brown-dark);
    font-size: 14px;
}

.blog-detail-index a {
    color: #665246;
    font-size: 12px;
}

.blog-detail-index a:hover {
    color: var(--brand-gold);
}

.blog-detail-shop {
    min-height: 82px;
    padding: 15px;
    border-radius: 8px;
    background: var(--brand-brown);
    color: #fff;
    display: grid;
    grid-template-columns: 32px 1fr 18px;
    align-items: center;
    gap: 9px;
}

.blog-detail-shop:hover {
    background: var(--brand-brown-dark);
    color: #fff;
}

.blog-detail-shop>i:first-child {
    color: var(--brand-gold);
    font-size: 23px;
}

.blog-detail-shop small,
.blog-detail-shop strong {
    display: block;
}

.blog-detail-shop small {
    color: rgba(255, 255, 255, 0.7);
    font-size: 10px;
}

.blog-detail-shop strong {
    font-size: 14px;
}

.blog-related {
    padding: 75px 0 90px;
    background: #f8f6f4;
}

.blog-related-heading {
    margin-bottom: 28px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.blog-related-heading h2 {
    margin-top: 4px;
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 30px;
}

.blog-related-heading>a {
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "font_bold";
    font-size: 13px;
}

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

.blog-related-grid .blog-news-image {
    height: 220px;
}

.blog-related-grid .blog-news-content h3 {
    min-height: 62px;
}

.section-contact {
    padding: 96px 0;
    background:
        linear-gradient(rgba(42, 24, 12, 0.91), rgba(42, 24, 12, 0.94)),
        url("../images/hero-gifts-perfume.png") center / cover;
}

.contact-page-section {
    min-height: 760px;
    display: flex;
    align-items: center;
    background-attachment: fixed;
}

/* .contact-page-section > .main-container {
  width: 100%;
} */

.contact-home-shell {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(480px, 1.1fr);
    gap: 64px;
    align-items: center;
}

.contact-home-info {
    color: var(--color-white);
}

.contact-home-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    color: var(--brand-gold);
    font-family: "font_bold";
    font-size: 15px;
}

.contact-home-kicker::before {
    content: "";
    width: 36px;
    height: 2px;
    background: var(--brand-gold);
}

.contact-home-info h2 {
    max-width: 620px;
    color: var(--color-white);
    font-size: 44px;
    line-height: 1.35;
    margin-bottom: 18px;
    font-family: "font_bold";
}

.contact-home-info>p {
    max-width: 610px;
    color: rgba(255, 255, 255, 0.76);
    font-size: 16px;
    line-height: 1.95;
    margin-bottom: 30px;
}

.contact-home-channels {
    display: grid;
    gap: 10px;
}

.contact-channel {
    min-height: 72px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--color-white);
    display: flex;
    align-items: center;
    gap: 13px;
    backdrop-filter: blur(8px);
}

.contact-channel>i {
    width: 46px;
    height: 46px;
    border-radius: 6px;
    background: rgba(201, 154, 80, 0.15);
    color: var(--brand-gold);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.contact-channel span {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.contact-channel small {
    color: rgba(255, 255, 255, 0.58);
    font-size: 12px;
}

.contact-channel strong {
    color: var(--color-white);
    font-family: "font_medium";
    font-size: 15px;
}

.contact-channel:hover {
    border-color: rgba(201, 154, 80, 0.55);
    background: rgba(201, 154, 80, 0.11);
    color: var(--color-white);
    transform: translateX(-4px);
}

.contact-home-hours {
    margin-top: 16px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.13);
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 13px;
}

.contact-home-hours i {
    color: var(--brand-gold);
}

.contact-home-hours strong {
    margin-right: auto;
    color: var(--color-white);
    font-family: "font_medium";
}

.contact-home-form-wrap {
    padding: 34px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.25);
}

.contact-form-heading {
    margin-bottom: 24px;
}

.contact-form-heading>span {
    color: var(--brand-gold);
    font-family: "font_bold";
    font-size: 13px;
}

.contact-form-heading h3 {
    color: var(--brand-brown-dark);
    font-size: 27px;
    line-height: 1.4;
    margin-top: 5px;
    font-family: "font_bold";
}

.contact-home-form,
.contact-home-form label {
    display: grid;
    gap: 9px;
}

.contact-home-form {
    gap: 16px;
}

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

.contact-home-form label>span:first-child {
    color: var(--brand-ink);
    font-family: "font_medium";
    font-size: 13px;
}

.contact-input {
    position: relative;
    display: block;
}

.contact-input>i {
    position: absolute;
    top: 50%;
    right: 15px;
    z-index: 1;
    color: var(--brand-brown);
    transform: translateY(-50%);
    pointer-events: none;
}

.contact-input input,
.contact-input select,
.contact-input textarea {
    width: 100%;
    height: 52px;
    border: 1px solid rgba(91, 55, 27, 0.13);
    border-radius: 6px;
    padding: 0 44px 0 14px;
    background: #fffaf4;
    color: var(--brand-ink);
    font-family: "font_main";
    font-size: 14px;
}

.contact-input select {
    cursor: pointer;
}

.contact-input textarea {
    height: 118px !important;
    padding-top: 14px;
    resize: none;
}

.contact-textarea>i {
    top: 19px;
    transform: none;
}

.contact-input input:focus,
.contact-input select:focus,
.contact-input textarea:focus {
    border-color: var(--brand-brown);
    box-shadow: 0 0 0 3px rgba(91, 55, 27, 0.09);
}

.contact-home-submit {
    width: 100%;
    min-height: 54px;
    border: 0;
    border-radius: 6px;
    background: var(--brand-brown);
    color: var(--color-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
    font-family: "font_bold";
    font-size: 15px;
}

.contact-home-submit:hover {
    background: var(--brand-brown-dark);
    transform: translateY(-2px);
}

/* About page */
.about-features-section {
    padding: 90px 0;
    background: #fff8ee;
}

.about-section-heading {
    max-width: 720px;
    margin: 0 auto 38px;
    text-align: center;
}

.about-section-heading .section-kicker {
    justify-content: center;
}

.about-section-heading h2,
.about-goals-content h2 {
    color: var(--brand-brown-dark);
    font-size: 38px;
    line-height: 1.4;
    margin-bottom: 12px;
    font-family: "font_bold";
}

.about-section-heading p,
.about-goals-content>p {
    color: #665246;
    font-size: 16px;
    line-height: 1.9;
}

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

.about-feature-card {
    position: relative;
    min-height: 260px;
    padding: 28px 22px;
    border: 1px solid rgba(91, 55, 27, 0.1);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(91, 55, 27, 0.08);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.about-feature-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 28px 55px rgba(91, 55, 27, 0.14);
}

.about-feature-number {
    position: absolute;
    top: 17px;
    left: 18px;
    color: rgba(91, 55, 27, 0.12);
    font-family: "font_bold";
    font-size: 34px;
}

.about-feature-card>i {
    width: 58px;
    height: 58px;
    margin-bottom: 22px;
    border-radius: 8px;
    background: rgba(91, 55, 27, 0.08);
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 23px;
}

.about-feature-card h3 {
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 20px;
    margin-bottom: 9px;
}

.about-feature-card p {
    color: #665246;
    font-size: 14px;
    line-height: 1.8;
}

.about-goals-section {
    padding: 96px 0;
    background: #fff;
}

.about-goals-grid {
    display: grid;
    grid-template-columns: minmax(380px, 0.9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: 64px;
}

.about-goals-visual {
    position: relative;
    height: 470px;
}

.about-goals-visual img {
    width: 100%;
    height: 100%;
    border-radius: 8px;
    object-fit: cover;
    box-shadow: 0 30px 70px rgba(91, 55, 27, 0.18);
}

.about-goals-stat {
    position: absolute;
    right: -24px;
    bottom: 30px;
    width: 145px;
    min-height: 125px;
    padding: 18px;
    border-radius: 8px;
    background: var(--brand-brown);
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    box-shadow: 0 20px 45px rgba(91, 55, 27, 0.24);
}

.about-goals-stat strong {
    color: var(--brand-gold);
    font-family: "font_bold";
    font-size: 27px;
    margin-bottom: 4px;
}

.about-goals-stat span {
    color: #fff;
    font-size: 13px;
}

.about-goals-list {
    display: grid;
    gap: 13px;
    margin-top: 25px;
}

.about-goals-list>div {
    min-height: 62px;
    padding: 13px 15px;
    border: 1px solid rgba(91, 55, 27, 0.1);
    border-radius: 8px;
    background: #fffaf4;
    display: flex;
    align-items: center;
    gap: 13px;
}

.about-goals-list i {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--brand-brown);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    flex-shrink: 0;
}

.about-goals-list span {
    color: #665246;
    font-size: 14px;
    line-height: 1.7;
}

.about-goals-list strong {
    color: var(--brand-brown-dark);
}

.about-commerce-section {
    padding: 90px 0;
    background:
        radial-gradient(circle at 10% 10%, rgba(201, 154, 80, 0.13), transparent 28%),
        #2a180c;
}

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

.about-commerce-panel {
    min-height: 430px;
    padding: 30px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    backdrop-filter: blur(8px);
}

.about-payment-panel {
    background: rgba(255, 255, 255, 0.95);
    color: var(--brand-ink);
}

.about-panel-heading {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 18px;
}

.about-panel-icon {
    width: 58px;
    height: 58px;
    border-radius: 8px;
    background: var(--brand-gold);
    color: var(--brand-brown-dark);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}

.about-panel-heading>div>span {
    color: var(--brand-gold);
    font-family: "font_bold";
    font-size: 13px;
}

.about-payment-panel .about-panel-heading>div>span {
    color: var(--brand-brown);
}

.about-panel-heading h2 {
    color: #fff;
    font-family: "font_bold";
    font-size: 24px;
    line-height: 1.45;
    margin-top: 3px;
}

.about-payment-panel .about-panel-heading h2 {
    color: var(--brand-brown-dark);
}

.about-commerce-panel>p {
    color: rgba(255, 255, 255, 0.68);
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 24px;
}

.about-payment-panel>p {
    color: #665246;
}

.about-payment-methods {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 24px;
}

.about-payment-brand {
    height: 54px;
    padding: 0 8px;
    border: 1px solid rgba(91, 55, 27, 0.1);
    border-radius: 6px;
    background: #fff;
    color: #21140b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: Arial, sans-serif;
    font-weight: 700;
    font-size: 13px;
}

.about-payment-brand i {
    font-size: 31px;
}

.about-payment-brand--mada {
    color: #146d65;
}

.about-payment-brand--stc {
    color: #4f008c;
}

.about-secure-note,
.about-shipping-note {
    min-height: 54px;
    padding: 12px 14px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
}

.about-secure-note {
    background: rgba(91, 55, 27, 0.07);
    color: #665246;
}

.about-secure-note i,
.about-shipping-note i {
    color: var(--brand-gold);
}

.about-shipping-steps {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 22px;
}

.about-shipping-steps>div {
    min-height: 135px;
    padding: 16px 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.05);
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.about-shipping-steps>div>span {
    width: 34px;
    height: 34px;
    margin-bottom: 9px;
    border-radius: 50%;
    background: var(--brand-gold);
    color: var(--brand-brown-dark);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "font_bold";
}

.about-shipping-steps strong {
    color: #fff;
    font-size: 13px;
    margin-bottom: 4px;
}

.about-shipping-steps small {
    color: rgba(255, 255, 255, 0.53);
    font-size: 11px;
}

.about-shipping-note {
    background: rgba(217, 173, 101, 0.1);
    color: rgba(255, 255, 255, 0.72);
}

/* Categories page */
.categories-page {
    padding: 90px 0 100px;
    background:
        radial-gradient(circle at 8% 8%, rgba(201, 154, 80, 0.12), transparent 25%),
        linear-gradient(180deg, #fffaf4 0%, #ffffff 100%);
}

.categories-page-heading {
    max-width: 760px;
    margin: 0 auto 40px;
    text-align: center;
}

.categories-page-heading .section-kicker {
    justify-content: center;
}

.categories-page-heading h2 {
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 40px;
    line-height: 1.4;
    margin-bottom: 11px;
}

.categories-page-heading p {
    color: #665246;
    font-size: 16px;
    line-height: 1.85;
}

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

.category-page-card {
    min-width: 0;
    border: 1px solid rgba(91, 55, 27, 0.1);
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 20px 45px rgba(91, 55, 27, 0.1);
    display: flex;
    flex-direction: column;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.category-page-card:hover {
    transform: translateY(-9px);
    box-shadow: 0 30px 65px rgba(91, 55, 27, 0.17);
}

.category-page-image {
    position: relative;
    aspect-ratio: 4 / 4.35;
    overflow: hidden;
    background: var(--brand-cream);
}

.category-page-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 58%, rgba(42, 24, 12, 0.2));
    pointer-events: none;
}

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

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

.category-page-index {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 1;
    width: 46px;
    height: 38px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.9);
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "font_bold";
    font-size: 13px;
    backdrop-filter: blur(8px);
}

.category-page-content {
    flex: 1;
    padding: 22px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
}

.category-page-count {
    display: inline-flex;
    margin-bottom: 8px;
    color: var(--brand-gold);
    font-family: "font_bold";
    font-size: 12px;
}

.category-page-content h3 {
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 24px;
    line-height: 1.4;
    margin-bottom: 7px;
}

.category-page-content p {
    color: #665246;
    font-size: 14px;
    line-height: 1.75;
}

.category-page-link {
    min-height: 44px;
    width: fit-content;
    padding: 0 15px;
    border-radius: 6px;
    background: rgba(91, 55, 27, 0.08);
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-family: "font_bold";
    font-size: 13px;
}

.category-page-card:hover .category-page-link {
    background: var(--brand-brown);
    color: #fff;
}

/* Products catalog page */
.products-page {
    padding: 86px 0 100px;
    background:
        radial-gradient(circle at 7% 6%, rgba(201, 154, 80, 0.1), transparent 24%),
        #fffaf4;
}

.products-page-intro {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 34px;
}

.products-page-intro h2 {
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 38px;
    line-height: 1.4;
    margin-bottom: 8px;
}

.products-page-intro p {
    color: #665246;
    font-size: 15px;
}

.products-page-trust {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.products-page-trust span {
    min-height: 42px;
    padding: 0 13px;
    border: 1px solid rgba(91, 55, 27, 0.11);
    border-radius: 6px;
    background: #fff;
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: "font_medium";
    font-size: 13px;
}

.products-page-layout {
    display: grid;
    grid-template-columns: 265px minmax(0, 1fr);
    align-items: start;
    gap: 25px;
}

.products-page-sidebar {
    position: sticky;
    top: 120px;
    padding: 18px;
    border: 1px solid rgba(91, 55, 27, 0.1);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(91, 55, 27, 0.08);
}

.products-sidebar-title,
.products-sidebar-title>div {
    display: flex;
    align-items: center;
}

.products-sidebar-title {
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(91, 55, 27, 0.09);
}

.products-sidebar-title>div {
    gap: 9px;
}

.products-sidebar-title i {
    color: var(--brand-brown);
}

.products-sidebar-title h3 {
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 17px;
}

.products-sidebar-title button {
    border: 0;
    background: transparent;
    color: var(--brand-gold);
    font-size: 12px;
    cursor: pointer;
}

.products-sidebar-group {
    padding-top: 17px;
}

.products-sidebar-group+.products-sidebar-group {
    margin-top: 10px;
    border-top: 1px solid rgba(91, 55, 27, 0.09);
}

.products-sidebar-group h4 {
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 14px;
    margin-bottom: 10px;
}

.products-page-sidebar .product-filter-btn {
    margin-top: 6px;
}

.price-range-values {
    display: flex;
    justify-content: space-between;
    color: #665246;
    font-size: 12px;
    margin-bottom: 8px;
}

.products-price-filter input {
    width: 100%;
    accent-color: var(--brand-brown);
    cursor: pointer;
}

.products-sidebar-help {
    margin-top: 18px;
    padding: 14px;
    border-radius: 7px;
    background: var(--brand-brown);
    color: #fff;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.products-sidebar-help>i {
    color: var(--brand-gold);
    margin-top: 3px;
}

.products-sidebar-help div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.products-sidebar-help strong {
    font-family: "font_bold";
    font-size: 13px;
}

.products-sidebar-help span {
    color: rgba(255, 255, 255, 0.67);
    font-size: 11px;
    line-height: 1.6;
}

.products-toolbar {
    min-height: 62px;
    padding: 9px 14px;
    margin-bottom: 18px;
    border: 1px solid rgba(91, 55, 27, 0.1);
    border-radius: 8px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.products-toolbar p {
    color: #665246;
    font-size: 13px;
}

.products-toolbar p strong {
    color: var(--brand-brown);
    font-family: "font_bold";
}

.products-toolbar label {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #665246;
    font-size: 13px;
}

.products-toolbar select {
    width: 175px;
    height: 42px;
    padding: 0 12px;
    border: 1px solid rgba(91, 55, 27, 0.13);
    border-radius: 6px;
    background: #fffaf4;
    font-family: "font_main";
}

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

.products-page-grid .product-card-img {
    height: 250px;
}

.product-favorite {
    position: absolute;
    top: 13px;
    left: 13px;
    z-index: 2;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.9);
    color: var(--brand-brown);
    cursor: pointer;
}

.product-favorite.active,
.product-favorite:hover {
    background: var(--brand-brown);
    color: #fff;
}

.products-page-empty {
    grid-column: 1 / -1;
    padding: 50px 20px;
    border: 1px dashed rgba(91, 55, 27, 0.2);
    border-radius: 8px;
    background: #fff;
    color: #665246;
    text-align: center;
}

/* Product details page */
.product-details {
    padding: 86px 0 100px;
    background:
        radial-gradient(circle at 8% 8%, rgba(201, 154, 80, 0.1), transparent 25%),
        #fffaf4;
}

.product-details-grid {
    display: grid;
    grid-template-columns: minmax(420px, 0.95fr) minmax(0, 1.05fr);
    gap: 54px;
    align-items: start;
}

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

.product-main-image {
    position: relative;
    aspect-ratio: 1 / 1.03;
    border: 1px solid rgba(91, 55, 27, 0.1);
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(91, 55, 27, 0.12);
}

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

.product-details-badge {
    position: absolute;
    top: 18px;
    right: 18px;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 30px;
    background: var(--brand-brown);
    color: #fff;
    display: inline-flex;
    align-items: center;
    font-family: "font_bold";
    font-size: 12px;
}

.product-details-favorite {
    position: absolute;
    top: 18px;
    left: 18px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--brand-brown);
    font-size: 18px;
    cursor: pointer;
}

.product-details-favorite.active,
.product-details-favorite:hover {
    background: var(--brand-brown);
    color: #fff;
}

.product-thumbnails {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.product-thumbnail {
    aspect-ratio: 1.25 / 1;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 7px;
    background: #fff;
    overflow: hidden;
    cursor: pointer;
}

.product-thumbnail.active {
    border-color: var(--brand-brown);
}

.product-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-details-info {
    padding: 8px 0;
}

.product-details-category {
    min-height: 30px;
    padding: 0 12px;
    border-radius: 30px;
    background: rgba(91, 55, 27, 0.08);
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    font-family: "font_bold";
    font-size: 12px;
    margin-bottom: 13px;
}

.product-details-info h2 {
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 38px;
    line-height: 1.35;
    margin-bottom: 10px;
}

.product-details-rating {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.product-details-rating span {
    color: var(--brand-gold);
    font-size: 13px;
}

.product-details-rating small {
    color: #756356;
}

.product-details-description {
    color: #665246;
    font-size: 16px;
    line-height: 1.95;
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(91, 55, 27, 0.1);
}

.product-details-price {
    padding: 22px 0;
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
}

.product-details-price strong {
    color: var(--brand-brown);
    font-family: "font_bold";
    font-size: 32px;
}

.product-details-price del {
    color: rgba(33, 22, 15, 0.38);
    font-size: 17px;
}

.product-details-price span {
    color: #756356;
    font-size: 12px;
}

.product-details-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 24px;
}

.product-details-features>div {
    min-height: 76px;
    padding: 10px;
    border: 1px solid rgba(91, 55, 27, 0.1);
    border-radius: 7px;
    background: #fff;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    text-align: center;
}

.product-details-features i {
    color: var(--brand-gold);
}

.product-details-features span {
    color: #665246;
    font-size: 12px;
}

.product-purchase-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.product-quantity>span {
    display: block;
    color: var(--brand-ink);
    font-family: "font_medium";
    font-size: 13px;
    margin-bottom: 7px;
}

.product-quantity>div {
    width: 142px;
    height: 46px;
    border: 1px solid rgba(91, 55, 27, 0.14);
    border-radius: 6px;
    background: #fff;
    display: grid;
    grid-template-columns: 42px 1fr 42px;
}

.product-quantity button {
    border: 0;
    background: transparent;
    color: var(--brand-brown);
}

.product-quantity input {
    width: 100%;
    border: 0;
    border-right: 1px solid rgba(91, 55, 27, 0.1);
    border-left: 1px solid rgba(91, 55, 27, 0.1);
    background: transparent;
    color: var(--brand-ink);
    text-align: center;
    font-family: "font_bold";
    appearance: textfield;
}

.product-stock {
    color: #318254;
    font-size: 13px;
}

.product-details-actions {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 10px;
    margin-bottom: 15px;
}

.product-buy-now,
.product-add-cart {
    min-height: 56px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-family: "font_bold";
    font-size: 15px;
}

.product-buy-now {
    background: var(--brand-brown);
    color: #fff;
    box-shadow: 0 15px 35px rgba(91, 55, 27, 0.2);
}

.product-buy-now:hover {
    background: var(--brand-brown-dark);
    color: #fff;
}

.product-add-cart {
    border: 1px solid rgba(91, 55, 27, 0.22);
    background: #fff;
    color: var(--brand-brown);
    cursor: pointer;
}

.product-add-cart:hover {
    border-color: var(--brand-brown);
    background: rgba(91, 55, 27, 0.06);
}

.product-payment-box,
.product-delivery-note {
    min-height: 68px;
    padding: 12px 14px;
    border: 1px solid rgba(91, 55, 27, 0.1);
    border-radius: 7px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.product-payment-box>div:first-child,
.product-delivery-note {
    color: var(--brand-brown);
}

.product-payment-box>div:first-child,
.product-delivery-note {
    display: flex;
    align-items: center;
    gap: 10px;
}

.product-payment-box span,
.product-delivery-note span {
    display: flex;
    flex-direction: column;
}

.product-payment-box strong,
.product-delivery-note strong {
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 13px;
}

.product-payment-box small,
.product-delivery-note small {
    color: #756356;
    font-size: 11px;
}

.product-payment-icons {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--brand-brown);
}

.product-payment-icons i {
    font-size: 26px;
}

.product-payment-icons span {
    color: #146d65;
    font-family: Arial, sans-serif;
    font-weight: 700;
}

.product-delivery-note {
    margin-top: 10px;
    justify-content: flex-start;
}

/* Checkout page */
.checkout-body {
    --brand-brown: #5b371b;
    --brand-brown-dark: #321d0e;
    --brand-gold: #c99a50;
    --brand-cream: #fff8ee;
    --brand-ink: #21160f;
    min-height: 100vh;
    background: #f6f6f5;
    color: var(--brand-ink);
}

.checkout-header {
    height: 88px;
    border-bottom: 1px solid rgba(91, 55, 27, 0.1);
    background: rgba(255, 255, 255, 0.96);
}

.checkout-header-content {
    height: 100%;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

.checkout-logo {
    width: 112px;
    display: inline-flex;
}

.checkout-logo img {
    width: 100%;
}

.checkout-secure-label {
    color: #318254;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "font_medium";
    font-size: 13px;
}

.checkout-back-link {
    justify-self: end;
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "font_medium";
    font-size: 14px;
}

.checkout-page {
    padding: 42px 0 72px;
}

.checkout-page-heading {
    margin-bottom: 26px;
    text-align: right;
}

.checkout-page-heading h1 {
    color: var(--brand-brown-dark);
    font-size: 32px;
    margin: 0 0 5px;
}

.checkout-page-heading p {
    color: #756356;
}

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

.checkout-form-column {
    display: grid;
    gap: 18px;
}

.checkout-section,
.checkout-summary {
    padding: 25px;
    border: 1px solid #e7e2de;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(33, 22, 15, 0.04);
}

.checkout-section-heading {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 22px;
}

.checkout-section-number {
    width: 42px;
    height: 42px;
    border-radius: 7px;
    background: rgba(91, 55, 27, 0.08);
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "font_bold";
    font-size: 13px;
    flex-shrink: 0;
}

.checkout-section-heading h2 {
    color: var(--brand-brown-dark);
    font-size: 20px;
    margin-bottom: 2px;
}

.checkout-section-heading p {
    color: #86766b;
    font-size: 12px;
}

.checkout-fields-grid,
.checkout-card-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.checkout-card-fields {
    margin-top: 17px;
    padding-top: 17px;
    border-top: 1px solid rgba(91, 55, 27, 0.09);
}

.checkout-card-fields.is-hidden {
    display: none;
}

.checkout-field {
    margin: 0;
    display: grid;
    gap: 7px;
}

.checkout-field-wide {
    grid-column: 1 / -1;
}

.checkout-field>span:first-child {
    color: var(--brand-ink);
    font-family: "font_medium";
    font-size: 13px;
}

.checkout-field small {
    color: #9b8b80;
}

.checkout-input {
    position: relative;
    display: block;
}

.checkout-input>i {
    position: absolute;
    top: 50%;
    right: 14px;
    z-index: 1;
    color: var(--brand-brown);
    transform: translateY(-50%);
    pointer-events: none;
}

.checkout-input input,
.checkout-input select,
.checkout-input textarea {
    width: 100%;
    height: 50px;
    border: 1px solid rgba(91, 55, 27, 0.13);
    border-radius: 6px;
    padding: 0 42px 0 13px;
    background: #fff;
    color: var(--brand-ink);
    font-family: "font_main";
    font-size: 14px;
}

.checkout-input textarea {
    height: 100px !important;
    padding-top: 14px;
    resize: none;
}

.checkout-textarea>i {
    top: 18px;
    transform: none;
}

.checkout-input input:focus,
.checkout-input select:focus,
.checkout-input textarea:focus {
    border-color: var(--brand-brown);
    box-shadow: 0 0 0 3px rgba(91, 55, 27, 0.08);
}

.checkout-payment-options {
    display: grid;
    gap: 9px;
}

.checkout-payment-option {
    position: relative;
    min-height: 70px;
    margin: 0;
    padding: 12px 14px;
    border: 1px solid rgba(91, 55, 27, 0.11);
    border-radius: 7px;
    display: grid;
    grid-template-columns: 22px 34px 1fr auto;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

.checkout-payment-option.active {
    border-color: var(--brand-brown);
    background: #faf7f4;
}

.checkout-payment-option>input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

.checkout-radio {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(91, 55, 27, 0.3);
    border-radius: 50%;
}

.checkout-payment-option.active .checkout-radio {
    border: 5px solid var(--brand-brown);
}

.checkout-payment-option>input:checked+.checkout-radio {
    border: 5px solid var(--brand-brown);
}

.checkout-payment-option>i {
    color: var(--brand-brown);
    font-size: 21px;
    text-align: center;
}

.checkout-payment-option>span:nth-of-type(2) {
    display: flex;
    flex-direction: column;
}

.checkout-payment-option strong {
    color: var(--brand-brown-dark);
    font-size: 14px;
}

.checkout-payment-option small {
    color: #89796f;
    font-size: 11px;
}

.checkout-payment-brands {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--brand-brown);
}

.checkout-payment-brands i {
    font-size: 24px;
}

.checkout-payment-brands b {
    color: #146d65;
    font-family: Arial, sans-serif;
    font-size: 12px;
}

.checkout-summary {
    position: sticky;
    top: 24px;
}

.checkout-summary-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(91, 55, 27, 0.1);
}

.checkout-summary-head h2 {
    color: var(--brand-brown-dark);
    font-size: 20px;
}

.checkout-summary-head a {
    color: var(--brand-gold);
    font-size: 12px;
}

.checkout-product {
    display: grid;
    grid-template-columns: 75px 1fr auto;
    align-items: center;
    gap: 11px;
    padding: 18px 0;
    border-bottom: 1px solid rgba(91, 55, 27, 0.1);
}

.checkout-product-image {
    position: relative;
    width: 75px;
    height: 75px;
    border-radius: 7px;
    overflow: visible;
}

.checkout-product-image img {
    width: 100%;
    height: 100%;
    border-radius: 7px;
    object-fit: cover;
}

.checkout-product-image span {
    position: absolute;
    top: -7px;
    left: -7px;
    min-width: 22px;
    height: 22px;
    border-radius: 20px;
    background: var(--brand-brown);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
}

.checkout-product>div:nth-child(2)>span {
    color: var(--brand-gold);
    font-size: 11px;
}

.checkout-product h3 {
    color: var(--brand-brown-dark);
    font-size: 14px;
    margin: 3px 0;
}

.checkout-product small {
    color: #89796f;
    font-size: 10px;
}

.checkout-product>strong {
    color: var(--brand-brown);
    font-family: "font_bold";
    font-size: 14px;
    white-space: nowrap;
}

.checkout-coupon {
    padding: 17px 0;
    border-bottom: 1px solid rgba(91, 55, 27, 0.1);
}

.checkout-coupon>label {
    color: var(--brand-ink);
    font-size: 12px;
    margin-bottom: 7px;
}

.checkout-coupon>div {
    height: 43px;
    display: flex;
}

.checkout-coupon input {
    min-width: 0;
    flex: 1;
    border: 1px solid rgba(91, 55, 27, 0.13);
    border-radius: 0 6px 6px 0;
    padding: 0 11px;
    background: #fff;
    font-family: "font_main";
}

.checkout-coupon button {
    width: 72px;
    border: 0;
    border-radius: 6px 0 0 6px;
    background: var(--brand-brown);
    color: #fff;
    font-family: "font_bold";
    font-size: 12px;
}

#couponMessage {
    display: block;
    margin-top: 6px;
    color: #318254;
    font-size: 11px;
}

#couponMessage.error {
    color: #b53b32;
}

#couponMessage.success {
    color: #318254;
}

.checkout-totals {
    padding: 17px 0;
    display: grid;
    gap: 11px;
}

.checkout-totals>div {
    display: flex;
    justify-content: space-between;
    color: #756356;
    font-size: 13px;
}

.checkout-totals strong {
    color: var(--brand-ink);
    font-family: "font_medium";
}

.checkout-discount-row {
    color: #318254 !important;
}

.checkout-discount-row strong {
    color: #318254;
}

.checkout-grand-total {
    padding-top: 13px;
    border-top: 1px solid rgba(91, 55, 27, 0.1);
    align-items: center;
}

.checkout-grand-total span {
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 16px;
}

.checkout-grand-total strong {
    color: var(--brand-brown);
    font-family: "font_bold";
    font-size: 23px;
}

.checkout-primary-action {
    min-height: 84px;
    padding: 14px 16px;
    border: 1px solid rgba(91, 55, 27, 0.12);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(33, 22, 15, 0.05);
    display: grid;
    grid-template-columns: minmax(130px, auto) minmax(230px, 1fr);
    align-items: center;
    gap: 18px;
}

.checkout-primary-action>div {
    display: grid;
    gap: 2px;
}

.checkout-primary-action>div span {
    color: #86766b;
    font-size: 12px;
}

.checkout-primary-action>div strong {
    color: var(--brand-brown);
    font-family: "font_bold";
    font-size: 22px;
}

.checkout-submit {
    width: 100%;
    min-height: 54px;
    border: 0;
    border-radius: 6px;
    background-color: #5b371b !important;
    color: #fff !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-family: "font_bold";
    cursor: pointer;
}

.checkout-submit-primary {
    min-height: 56px;
    font-size: 15px;
    box-shadow: 0 10px 22px rgba(91, 55, 27, 0.2);
}

.checkout-submit:hover {
    background-color: #321d0e !important;
    color: #fff !important;
}

.checkout-terms {
    color: #95857a;
    font-size: 10px;
    text-align: center;
    margin: 10px 0;
}

.checkout-guarantees {
    display: flex;
    justify-content: center;
    gap: 15px;
    color: #756356;
    font-size: 11px;
}

.checkout-guarantees i {
    color: var(--brand-gold);
}

.checkout-success {
    position: fixed;
    inset: 0;
    z-index: 9999;
    padding: 20px;
    background: rgba(33, 20, 11, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: 0.25s ease;
}

.checkout-success.active {
    opacity: 1;
    visibility: visible;
}

.checkout-success>div {
    width: min(430px, 100%);
    padding: 35px;
    border-radius: 8px;
    background: #fff;
    text-align: center;
}

.checkout-success>div>span {
    width: 68px;
    height: 68px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: #318254;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
}

.checkout-success h2 {
    color: var(--brand-brown-dark);
    font-size: 25px;
}

.checkout-success p {
    color: #756356;
    margin: 10px 0 20px;
}

.checkout-success a {
    min-height: 46px;
    padding: 0 20px;
    border-radius: 6px;
    background: var(--brand-brown);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart page */
.cart-page {
    padding: 75px 0 95px;
    background: #f7f6f5;
}

.cart-page-top {
    margin-bottom: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.cart-page-top h2 {
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 28px;
}

.cart-page-top p {
    margin-top: 4px;
    color: #78675c;
    font-size: 13px;
}

.cart-page-top a {
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "font_medium";
    font-size: 13px;
}

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

.cart-page-products {
    border: 1px solid #e8e2de;
    border-radius: 8px;
    background: #fff;
}

.cart-page-item {
    min-height: 190px;
    padding: 22px;
    border-bottom: 1px solid #ece7e3;
    display: grid;
    grid-template-columns: 145px minmax(0, 1fr) 150px;
    align-items: center;
    gap: 22px;
}

.cart-page-item:last-of-type {
    border-bottom: 0;
}

.cart-page-item-image {
    width: 145px;
    height: 145px;
    border-radius: 7px;
    overflow: hidden;
    background: #f4f1ee;
}

.cart-page-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cart-page-item-info>span {
    color: var(--brand-gold);
    font-family: "font_bold";
    font-size: 11px;
}

.cart-page-item-info h3 {
    margin: 5px 0 8px;
}

.cart-page-item-info h3 a {
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 19px;
}

.cart-page-item-info p {
    max-width: 470px;
    color: #756356;
    font-size: 13px;
    line-height: 1.75;
}

.cart-page-remove {
    margin-top: 15px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #a24b43;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 12px;
}

.cart-page-item-actions {
    display: grid;
    justify-items: end;
    gap: 22px;
}

.cart-page-line-price {
    color: var(--brand-brown);
    font-family: "font_bold";
    font-size: 19px;
}

.cart-page-quantity {
    width: 132px;
    height: 42px;
    border: 1px solid rgba(91, 55, 27, 0.16);
    border-radius: 6px;
    display: grid;
    grid-template-columns: 40px 1fr 40px;
    overflow: hidden;
}

.cart-page-quantity button {
    border: 0;
    background: #f7f3ef;
    color: var(--brand-brown);
    cursor: pointer;
    font-size: 11px;
}

.cart-page-quantity input {
    min-width: 0;
    border: 0;
    border-right: 1px solid rgba(91, 55, 27, 0.1);
    border-left: 1px solid rgba(91, 55, 27, 0.1);
    background: #fff;
    color: var(--brand-ink);
    text-align: center;
    font-family: "font_bold";
    appearance: textfield;
}

.cart-page-quantity input::-webkit-inner-spin-button {
    appearance: none;
}

.cart-page-summary {
    position: sticky;
    top: 110px;
    padding: 24px;
    border: 1px solid #e8e2de;
    border-radius: 8px;
    background: #fff;
}

.cart-page-summary>h2 {
    padding-bottom: 16px;
    border-bottom: 1px solid #ece7e3;
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 21px;
}

.cart-page-coupon {
    padding: 18px 0;
    border-bottom: 1px solid #ece7e3;
}

.cart-page-coupon label {
    margin-bottom: 7px;
    color: #554238;
    font-size: 12px;
}

.cart-page-coupon>div {
    height: 44px;
    display: flex;
}

.cart-page-coupon input {
    min-width: 0;
    flex: 1;
    padding: 0 12px;
    border: 1px solid rgba(91, 55, 27, 0.15);
    border-radius: 0 6px 6px 0;
    font-family: "font_main";
}

.cart-page-coupon button {
    width: 76px;
    border: 0;
    border-radius: 6px 0 0 6px;
    background: var(--brand-brown);
    color: #fff;
    cursor: pointer;
    font-family: "font_bold";
    font-size: 12px;
}

#cartCouponMessage {
    display: block;
    min-height: 16px;
    margin-top: 6px;
    font-size: 11px;
}

#cartCouponMessage.success {
    color: #318254;
}

#cartCouponMessage.error {
    color: #b54238;
}

.cart-page-totals {
    padding: 18px 0;
    display: grid;
    gap: 13px;
}

.cart-page-totals>div {
    display: flex;
    justify-content: space-between;
    color: #756356;
    font-size: 13px;
}

.cart-page-totals strong {
    color: var(--brand-ink);
    font-family: "font_medium";
}

.cart-page-discount,
.cart-page-discount strong {
    color: #318254 !important;
}

.cart-page-total {
    margin-top: 4px;
    padding-top: 15px;
    border-top: 1px solid #ece7e3;
    align-items: center;
}

.cart-page-total span {
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 16px;
}

.cart-page-total strong {
    color: var(--brand-brown);
    font-family: "font_bold";
    font-size: 23px;
}

.cart-page-checkout {
    min-height: 54px;
    border-radius: 6px;
    background: var(--brand-brown);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-family: "font_bold";
    font-size: 14px;
}

.cart-page-checkout:hover {
    background: var(--brand-brown-dark);
    color: #fff;
}

.cart-page-checkout.disabled {
    opacity: 0.45;
    pointer-events: none;
}

.cart-page-security {
    margin-top: 14px;
    display: flex;
    justify-content: center;
    gap: 15px;
    color: #85746a;
    font-size: 10px;
}

.cart-page-security i {
    color: var(--brand-gold);
}

.cart-page-empty {
    display: none;
    min-height: 360px;
    padding: 35px;
    text-align: center;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.cart-page-empty.active {
    display: flex;
}

.cart-page-empty>i {
    color: #d2c5bc;
    font-size: 48px;
}

.cart-page-empty h3 {
    margin: 15px 0 5px;
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 21px;
}

.cart-page-empty p {
    color: #85746a;
}

.cart-page-empty a {
    min-height: 43px;
    margin-top: 18px;
    padding: 0 20px;
    border-radius: 6px;
    background: var(--brand-brown);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
}

/* Profile page */
.profile-page {
    padding: 75px 0 95px;
    background: #f7f6f5;
}

.profile-layout {
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    align-items: start;
    gap: 24px;
}

.profile-sidebar {
    position: sticky;
    top: 110px;
    border: 1px solid #e8e2de;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
}

.profile-user {
    padding: 22px 18px;
    border-bottom: 1px solid #ece7e3;
    display: grid;
    grid-template-columns: 52px 1fr;
    align-items: center;
    gap: 12px;
}

.profile-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--brand-brown);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "font_bold";
    font-size: 20px;
}

.profile-user small,
.profile-user strong,
.profile-user div>span {
    display: block;
}

.profile-user small {
    color: #95857a;
    font-size: 10px;
}

.profile-user strong {
    color: var(--brand-brown-dark);
    font-size: 15px;
}

.profile-user div>span {
    color: #85746a;
    font-size: 10px;
    overflow-wrap: anywhere;
}

.profile-nav {
    padding: 10px;
    display: grid;
    gap: 4px;
}

.profile-nav-btn,
.profile-logout {
    width: 100%;
    min-height: 48px;
    padding: 0 12px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #665246;
    display: grid;
    grid-template-columns: 24px 1fr auto;
    align-items: center;
    gap: 8px;
    text-align: right;
    cursor: pointer;
    font-family: "font_medium";
    font-size: 13px;
}

.profile-nav-btn i,
.profile-logout i {
    color: #9a897e;
    text-align: center;
}

.profile-nav-btn b {
    min-width: 22px;
    height: 22px;
    border-radius: 20px;
    background: #f1ece8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
}

.profile-nav-btn.active {
    background: var(--brand-brown);
    color: #fff;
}

.profile-nav-btn.active i,
.profile-nav-btn.active b {
    color: #fff;
}

.profile-nav-btn.active b {
    background: rgba(255, 255, 255, .16);
}

.profile-logout {
    margin-top: 8px;
    border-top: 1px solid #ece7e3;
    border-radius: 0;
    color: #a24b43;
}

.profile-logout i {
    color: #a24b43;
}

.profile-panel {
    display: none;
}

.profile-panel.active {
    display: block;
}

.profile-panel-heading {
    min-height: 90px;
    margin-bottom: 18px;
    padding: 20px 22px;
    border: 1px solid #e8e2de;
    border-radius: 8px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.profile-panel-heading>div>span {
    color: var(--brand-gold);
    font-family: "font_bold";
    font-size: 11px;
}

.profile-panel-heading h2 {
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 24px;
}

.profile-panel-heading p {
    color: #85746a;
    font-size: 12px;
}

.profile-panel-heading>a,
.profile-add-address {
    min-height: 42px;
    padding: 0 15px;
    border: 1px solid rgba(91, 55, 27, .15);
    border-radius: 6px;
    background: #fff;
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
    font-family: "font_medium";
    font-size: 12px;
}

.profile-add-address {
    border: 0;
    background: var(--brand-brown);
    color: #fff;
    cursor: pointer;
}

.profile-orders {
    display: grid;
    gap: 14px;
}

.profile-order {
    border: 1px solid #e8e2de;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
}

.profile-order>header {
    min-height: 68px;
    padding: 12px 18px;
    border-bottom: 1px solid #ece7e3;
    background: #fcfbfa;
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    align-items: center;
    gap: 20px;
}

.profile-order header small,
.profile-order header strong {
    display: block;
}

.profile-order header small,
.profile-order-total small {
    color: #95857a;
    font-size: 10px;
}

.profile-order header strong {
    color: #4f3d32;
    font-size: 13px;
}

.order-status {
    min-height: 30px;
    padding: 0 10px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: "font_medium";
    font-size: 11px;
}

.order-status--shipping {
    background: #fff4df;
    color: #956514;
}

.order-status--done {
    background: #eaf7ef;
    color: #26744a;
}

.order-status--cancelled {
    background: #fbeceb;
    color: #a13e36;
}

.profile-order-body {
    padding: 18px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 120px auto;
    align-items: center;
    gap: 20px;
}

.profile-order-products {
    display: flex;
    align-items: center;
}

.profile-order-products img {
    width: 58px;
    height: 58px;
    margin-left: -8px;
    border: 3px solid #fff;
    border-radius: 7px;
    object-fit: cover;
}

.profile-order-products span {
    margin-right: 14px;
    color: #756356;
    font-size: 11px;
}

.profile-order-total small,
.profile-order-total strong {
    display: block;
}

.profile-order-total strong {
    color: var(--brand-brown);
    font-family: "font_bold";
    font-size: 16px;
}

.profile-order-body>button {
    min-height: 40px;
    padding: 0 13px;
    border: 1px solid rgba(91, 55, 27, .15);
    border-radius: 6px;
    background: #fff;
    color: var(--brand-brown);
    cursor: pointer;
    font-size: 11px;
}

.profile-form {
    padding: 24px;
    border: 1px solid #e8e2de;
    border-radius: 8px;
    background: #fff;
}

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

.profile-form label {
    margin: 0;
    display: grid;
    gap: 7px;
}

.profile-form label>span {
    color: #554238;
    font-family: "font_medium";
    font-size: 12px;
}

.profile-form input,
.profile-form select {
    width: 100%;
    height: 50px;
    padding: 0 13px;
    border: 1px solid rgba(91, 55, 27, .14);
    border-radius: 6px;
    background: #fff;
    color: var(--brand-ink);
    font-family: "font_main";
}

.profile-form input:focus,
.profile-form select:focus {
    border-color: var(--brand-brown);
    box-shadow: 0 0 0 3px rgba(91, 55, 27, .07);
}

.profile-save-btn {
    min-height: 48px;
    margin-top: 22px;
    padding: 0 20px;
    border: 0;
    border-radius: 6px;
    background: var(--brand-brown);
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-family: "font_bold";
}

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

.profile-address-card {
    padding: 20px;
    border: 1px solid #e8e2de;
    border-radius: 8px;
    background: #fff;
}

.profile-address-card.default {
    border-color: rgba(91, 55, 27, .36);
}

.profile-address-card>header {
    margin-bottom: 18px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.profile-address-card header span {
    color: var(--brand-brown);
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: "font_bold";
    font-size: 13px;
}

.profile-address-card header b {
    padding: 4px 8px;
    border-radius: 4px;
    background: #f2ece7;
    color: var(--brand-brown);
    font-size: 9px;
}

.profile-address-card h3 {
    color: var(--brand-brown-dark);
    font-family: "font_bold";
}

.profile-address-card p {
    min-height: 48px;
    margin: 7px 0;
    color: #756356;
    font-size: 12px;
    line-height: 1.8;
}

.profile-address-card>strong {
    color: #554238;
    font-size: 12px;
}

.profile-address-card footer {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #ece7e3;
    display: flex;
    gap: 18px;
}

.profile-address-card footer button {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--brand-brown);
    cursor: pointer;
    font-size: 11px;
}

.profile-address-card footer .profile-address-delete {
    color: #a24b43;
}

.profile-address-form {
    display: none;
    margin-bottom: 18px;
    padding: 24px;
    border: 1px solid rgba(91, 55, 27, .2);
    border-radius: 8px;
    background: #fff;
}

.profile-address-form.active {
    display: block;
}

.profile-address-form-heading {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #ece7e3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.profile-address-form-heading span {
    color: var(--brand-gold);
    font-family: "font_bold";
    font-size: 10px;
}

.profile-address-form-heading h3 {
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 19px;
}

.profile-address-form-heading>button {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: #f4f0ed;
    color: var(--brand-brown);
    cursor: pointer;
}

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

.profile-address-form-grid label {
    margin: 0;
    display: grid;
    gap: 7px;
}

.profile-address-form-grid label>span {
    color: #554238;
    font-family: "font_medium";
    font-size: 12px;
}

.profile-address-form-grid small {
    color: #95857a;
    font-size: 9px;
}

.profile-address-form-grid input,
.profile-address-form-grid select {
    width: 100%;
    height: 49px;
    padding: 0 13px;
    border: 1px solid rgba(91, 55, 27, .14);
    border-radius: 6px;
    background: #fff;
    color: var(--brand-ink);
    font-family: "font_main";
}

.profile-address-form-grid input:focus,
.profile-address-form-grid select:focus {
    border-color: var(--brand-brown);
    box-shadow: 0 0 0 3px rgba(91, 55, 27, .07);
}

.profile-address-form-grid input[dir="ltr"] {
    text-align: left;
}

.profile-field-hint {
    color: #95857a !important;
    font-size: 10px !important;
}

.profile-field-error {
    display: none;
    color: #b54238 !important;
    font-size: 10px !important;
}

.profile-field-error.active {
    display: block;
}

.profile-address-form-grid input.is-invalid {
    border-color: #b54238;
    box-shadow: 0 0 0 3px rgba(181, 66, 56, .07);
}

.profile-address-default {
    width: fit-content;
    margin: 18px 0 0;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #665246;
    cursor: pointer;
    font-size: 12px;
}

.profile-address-default input {
    width: 17px;
    height: 17px;
    accent-color: var(--brand-brown);
}

.profile-address-form-actions {
    margin-top: 20px;
    display: flex;
    gap: 10px;
}

.profile-address-save,
.profile-address-cancel {
    min-height: 46px;
    padding: 0 18px;
    border-radius: 6px;
    cursor: pointer;
    font-family: "font_bold";
    font-size: 12px;
}

.profile-address-save {
    border: 0;
    background: var(--brand-brown);
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.profile-address-cancel {
    border: 1px solid rgba(91, 55, 27, .16);
    background: #fff;
    color: var(--brand-brown);
}

/* Login page */
.login-page {
    --brand-brown: #5b371b;
    --brand-brown-dark: #321d0e;
    --brand-gold: #c99a50;
    --brand-ink: #21160f;
    min-height: 100vh;
    background: #fff;
}

.login-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(480px, .92fr) minmax(540px, 1.08fr);
}

.login-visual {
    position: relative;
    min-height: 100vh;
    padding: 54px;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
}

.login-visual>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.login-visual-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(38, 21, 10, .18), rgba(38, 21, 10, .9));
}

.login-visual-logo {
    position: absolute;
    top: 44px;
    right: 48px;
    z-index: 2;
    width: 118px;
    padding: 9px 13px;
    border-radius: 6px;
    background: rgba(255, 255, 255, .92);
}

.login-visual-content {
    position: relative;
    z-index: 2;
    max-width: 600px;
    color: #fff;
}

.login-visual-content>span {
    color: var(--brand-gold);
    font-family: "font_bold";
    font-size: 14px;
}

.login-visual-content h1 {
    max-width: 580px;
    margin: 8px 0 14px;
    color: #fff;
    font-size: 44px;
    line-height: 1.35;
}

.login-visual-content>p {
    max-width: 540px;
    color: rgba(255, 255, 255, .76);
    font-size: 16px;
    line-height: 1.9;
}

.login-features {
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, .16);
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
}

.login-features span {
    color: rgba(255, 255, 255, .82);
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
}

.login-features i {
    color: var(--brand-gold);
}

.login-form-side {
    min-height: 100vh;
    padding: 50px 8%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.login-form-wrap {
    width: 100%;
}

.login-back {
    width: fit-content;
    margin-bottom: 58px;
    color: #756356;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
}

.login-heading>span {
    color: var(--brand-gold);
    font-family: "font_bold";
    font-size: 12px;
}

.login-heading h2 {
    margin: 5px 0 7px;
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 34px;
}

.login-heading p {
    color: #7a695f;
    font-size: 13px;
}

.login-form {
    margin-top: 30px;
    display: grid;
    gap: 18px;
}

.login-field {
    margin: 0;
    display: grid;
    gap: 7px;
}

.login-field>span:first-child {
    color: #4f3d32;
    font-family: "font_medium";
    font-size: 13px;
}

.login-input {
    position: relative;
    display: block;
}

.login-input>i {
    position: absolute;
    top: 50%;
    right: 15px;
    color: var(--brand-brown);
    transform: translateY(-50%);
    pointer-events: none;
}

.login-input input {
    width: 100%;
    height: 54px;
    padding: 0 44px 0 45px;
    border: 1px solid rgba(91, 55, 27, .15);
    border-radius: 7px;
    background: #fff;
    color: var(--brand-ink);
    font-family: "font_main";
    font-size: 14px;
}

.login-input input:focus {
    border-color: var(--brand-brown);
    box-shadow: 0 0 0 3px rgba(91, 55, 27, .08);
}

.login-input input.is-invalid {
    border-color: #b54238;
}

.login-password-toggle {
    position: absolute;
    top: 50%;
    left: 8px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #8b7a70;
    transform: translateY(-50%);
    cursor: pointer;
}

.login-field-error {
    display: none;
    color: #b54238;
    font-size: 10px;
}

.login-field-error.active {
    display: block;
}

.login-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.login-remember {
    margin: 0;
    color: #665246;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 12px;
}

.login-remember input {
    width: 17px;
    height: 17px;
    accent-color: var(--brand-brown);
}

.login-forgot {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--brand-brown);
    cursor: pointer;
    font-family: "font_medium";
    font-size: 12px;
}

.login-submit {
    min-height: 54px;
    border: 0;
    border-radius: 7px;
    background: var(--brand-brown);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
    font-family: "font_bold";
    font-size: 14px;
}

.login-submit:hover {
    background: var(--brand-brown-dark);
}

.login-submit:disabled {
    opacity: .7;
    cursor: wait;
}

.login-secure {
    color: #94847a;
    text-align: center;
    font-size: 10px;
}

.login-secure i {
    margin-left: 4px;
    color: #318254;
}

.login-create {
    margin-top: 25px;
    padding-top: 22px;
    border-top: 1px solid #eee9e5;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #756356;
    font-size: 12px;
}

.login-create button {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--brand-brown);
    cursor: pointer;
    font-family: "font_bold";
}

.login-mobile-header {
    display: none;
}

.login-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    padding: 20px;
    background: rgba(33, 20, 11, .65);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: .25s ease;
}

.login-modal.active {
    opacity: 1;
    visibility: visible;
}

.login-modal-dialog {
    position: relative;
    width: min(430px, 100%);
    padding: 32px;
    border-radius: 8px;
    background: #fff;
    text-align: center;
}

.login-modal-close {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: #f3efec;
    color: var(--brand-brown);
    cursor: pointer;
}

.login-modal-icon {
    width: 58px;
    height: 58px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: #f3ede8;
    color: var(--brand-brown);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.login-modal-dialog h2 {
    color: var(--brand-brown-dark);
    font-family: "font_bold";
    font-size: 23px;
}

.login-modal-dialog p {
    margin: 6px 0 20px;
    color: #756356;
    font-size: 12px;
}

.login-modal-dialog form {
    display: grid;
    gap: 10px;
}

.login-modal-dialog input {
    height: 49px;
    padding: 0 13px;
    border: 1px solid rgba(91, 55, 27, .15);
    border-radius: 6px;
    font-family: "font_main";
}

.login-modal-dialog form button {
    min-height: 48px;
    border: 0;
    border-radius: 6px;
    background: var(--brand-brown);
    color: #fff;
    font-family: "font_bold";
    cursor: pointer;
}

.signup-form-side {
    padding-top: 32px;
    padding-bottom: 32px;
}

.signup-form-wrap {
    width: min(520px, 100%);
}

.signup-form-wrap .login-back {
    margin-bottom: 32px;
}

.signup-form {
    margin-top: 23px;
    gap: 14px;
}

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

.signup-form .login-input input[dir="ltr"] {
    text-align: left;
}

.signup-strength {
    display: grid;
    grid-template-columns: repeat(3, 1fr) auto;
    align-items: center;
    gap: 5px;
}

.signup-strength > i {
    height: 4px;
    border-radius: 4px;
    background: #e7e1dd;
    transition: .2s ease;
}

.signup-strength small {
    margin-right: 5px;
    color: #95857a;
    font-size: 9px;
}

.signup-strength.level-1 > i:nth-child(1) {
    background: #b54238;
}

.signup-strength.level-2 > i:nth-child(-n+2) {
    background: #c99a50;
}

.signup-strength.level-3 > i {
    background: #318254;
}

.signup-terms {
    margin: 2px 0 0;
    color: #665246;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    cursor: pointer;
    font-size: 11px;
    line-height: 1.7;
}

.signup-terms input {
    width: 17px;
    height: 17px;
    margin-top: 1px;
    accent-color: var(--brand-brown);
    flex-shrink: 0;
}

.signup-terms a,
.login-create a {
    color: var(--brand-brown);
    font-family: "font_bold";
    font-size: inherit;
}

.standalone-credit {
  min-height: 64px;
  padding: 12px 5%;
  background: #170d07;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.standalone-credit p {
  color: rgba(255, 255, 255, .52);
  font-size: 11px;
}

.standalone-credit a {
  color: rgba(255, 255, 255, .58);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
}

.standalone-credit img {
  width: 82px;
  height: 28px;
  object-fit: contain;
}

.standalone-credit--overlay {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 20;
  min-height: 54px;
  padding-top: 8px;
  padding-bottom: 8px;
  background: rgba(23, 13, 7, .9);
}

.login-page {
  padding-bottom: 54px;
}
