:root {
    --primary: #2B3830;
    --secondary: #B56B45;
    --accent: #D4A373;
    --background-primary: #FAF8F5;
    --background-secondary: #F3EDE4;
    --background-card: #FFFFFF;
    --background-overlay: rgba(43, 56, 48, 0.06);
    --text-primary-light: #1C2521;
    --text-secondary-light: #67736C;
    --text-muted-light: #96A09A;
    --text-primary-dark: #FFFFFF;
    --text-secondary-dark: #D8E0DC;
    --text-muted-dark: #A6B3AC;
    --border-subtle: #EBE3D8;
    --border-focus: #2B3830;
    --badge-background: #EFE6DB;
    --badge-text: #5C4A3A;
    --hover-state-primary: #1E2722;
    --hover-state-secondary: #A05A36;
    --font-heading: 'Lora', Georgia, serif;
    --font-body: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-body);
    background-color: var(--background-primary);
    color: var(--text-primary-light);
    line-height: 1.65;
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
}

.np-product-zoom-trigger {
    cursor: zoom-in;
}

.np-product-zoom-trigger:focus-visible {
    outline: 3px solid var(--accent);
    outline-offset: -3px;
}

body.np-lightbox-open {
    overflow: hidden;
}

.np-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: none;
    background: rgba(18, 25, 21, 0.92);
}

.np-lightbox.is-open {
    display: block;
}

.np-lightbox__stage {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: auto;
    padding: 5rem 1.5rem 2rem;
}

.np-lightbox__image {
    display: block;
    max-width: min(92vw, 1400px);
    max-height: 86vh;
    object-fit: contain;
    transform-origin: center;
    transition: transform 0.2s ease;
    cursor: zoom-in;
}

.np-lightbox__image.is-zoomed {
    cursor: zoom-out;
}

.np-lightbox__toolbar {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 2;
    display: flex;
    gap: 0.5rem;
}

.np-lightbox__button {
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    font-size: 1.6rem;
    line-height: 1;
}

.np-lightbox__button:hover,
.np-lightbox__button:focus-visible {
    background: #fff;
    color: var(--primary);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    color: var(--text-primary-light);
    letter-spacing: -0.015em;
}

.text-muted {
    color: var(--text-secondary-light) !important;
}

.btn-primary-custom {
    background-color: var(--primary);
    color: #FFFFFF;
    border: 1px solid transparent;
    border-radius: 50px;
    padding: 0.85rem 1.85rem;
    font-weight: 500;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-primary-custom:hover {
    background-color: var(--hover-state-primary);
    color: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(43, 56, 48, 0.16);
}

.btn-outline-custom {
    background-color: transparent;
    color: var(--primary);
    border: 1.5px solid var(--primary);
    border-radius: 50px;
    padding: 0.8rem 1.75rem;
    font-weight: 500;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-outline-custom:hover {
    background-color: var(--primary);
    color: #FFFFFF;
}

.border-subtle {
    border-color: var(--border-subtle) !important;
}

.bg-card-custom {
    background-color: var(--background-card);
}

.custom-input {
    border: 1px solid var(--border-subtle);
    border-radius: 8px;
    padding: 0.65rem 1rem;
    font-size: 0.95rem;
    color: var(--text-primary-light);
    background-color: #FFFFFF;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.custom-input:focus {
    border-color: var(--border-focus);
    box-shadow: 0 0 0 0.2rem rgba(43, 56, 48, 0.12);
    outline: none;
}

.custom-cart-badge {
    background-color: var(--secondary);
    color: #FFFFFF;
    border-radius: 50px;
    font-size: 0.75rem;
    padding: 0.35em 0.65em;
}

/* ===== header ===== */
.novo-header {
    background-color: #FAF8F5;
    border-bottom: 1px solid #EBE3D8;
    z-index: 1030;
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
}

.novo-header .novo-header__topbar {
    background-color: #2B3830;
    color: #FAF8F5;
    font-size: 0.8125rem;
    padding: 0.45rem 0;
}

.novo-header .novo-header__topbar-text {
    color: #D8E0DC;
    font-weight: 400;
}

.novo-header .novo-header__topbar-link {
    color: #D4A373;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease;
}

.novo-header .novo-header__topbar-link:hover {
    color: #FAF8F5;
    text-decoration: underline;
}

.novo-header .novo-header__navbar {
    background-color: #FAF8F5;
    padding: 0.85rem 0;
}

.novo-header .novo-header__brand {
    text-decoration: none;
}

.novo-header .novo-header__logo {
    max-width: 44px;
    max-height: 44px;
    width: 44px;
    height: 44px;
    object-fit: contain;
}

.novo-header .novo-header__brand-title {
    font-family: 'Lora', Georgia, serif;
    font-weight: 600;
    font-size: 1.35rem;
    color: #1C2521;
    letter-spacing: -0.015em;
    line-height: 1.2;
}

.novo-header .novo-header__nav-list {
    gap: 0.5rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

@media (min-width: 992px) {
    .novo-header .novo-header__nav-list {
        gap: 1.75rem;
        margin-top: 0;
        margin-bottom: 0;
    }
}

.novo-header .novo-header__nav-link {
    color: #2B3830;
    font-weight: 500;
    font-size: 0.95rem;
    padding: 0.5rem 0.75rem;
    transition: color 0.2s ease, background-color 0.2s ease;
    border-radius: 8px;
}

.novo-header .novo-header__nav-link:hover,
.novo-header .novo-header__nav-link:focus {
    color: #B56B45;
    background-color: #F3EDE4;
}

.novo-header .novo-header__cart-btn {
    background-color: #F3EDE4;
    border: 1px solid #EBE3D8;
    color: #2B3830;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
}

.novo-header .novo-header__cart-btn:hover {
    background-color: #2B3830;
    color: #FAF8F5;
    border-color: #2B3830;
    transform: translateY(-1px);
}

.novo-header .novo-header__cart-icon {
    stroke: currentColor;
}

.novo-header .novo-header__cart-badge {
    background-color: #B56B45;
    color: #FFFFFF;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.25em 0.5em;
    border-radius: 50rem;
    min-width: 1.25rem;
    border: 2px solid #FAF8F5;
}

.novo-header .novo-header__toggler {
    border: 1px solid #EBE3D8;
    background-color: #F3EDE4;
    padding: 0.5rem 0.65rem;
    border-radius: 8px;
}

.novo-header .novo-header__toggler:focus {
    box-shadow: 0 0 0 2px rgba(43, 56, 48, 0.25);
    outline: none;
}

@media (max-width: 991.98px) {
    .novo-header .novo-header__menu-wrapper {
        background-color: #FAF8F5;
        padding: 1rem 0.5rem 0.5rem;
        border-top: 1px solid #EBE3D8;
        margin-top: 0.75rem;
    }

    .novo-header .novo-header__nav-link {
        padding: 0.65rem 1rem;
        border-radius: 8px;
        font-size: 0.95rem;
    }
}

/* ===== hero_section ===== */
.np-hero-section {
    background-color: #FAF8F5;
    color: #1C2521;
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
    position: relative;
    padding: 2rem 0;
}

.np-hero-section .np-hero-bg-accent {
    width: 42%;
    height: 100%;
    background: linear-gradient(135deg, rgba(243, 237, 228, 0.9) 0%, rgba(235, 227, 216, 0.4) 100%);
    clip-path: polygon(15% 0, 100% 0, 100% 100%, 0% 100%);
    z-index: 0;
}

.np-hero-section .np-hero-badge {
    background-color: #EFE6DB;
    border: 1px solid #E4DACD;
}

.np-hero-section .np-hero-badge-dot {
    width: 8px;
    height: 8px;
    background-color: #B56B45;
    display: inline-block;
}

.np-hero-section .np-hero-badge-text {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #5C4A3A;
    letter-spacing: 0.03em;
}

.np-hero-section .np-hero-title {
    font-family: 'Lora', Georgia, serif;
    font-size: clamp(2rem, 3.8vw + 0.5rem, 3.25rem);
    line-height: 1.22;
    color: #1C2521;
    font-weight: 500;
    letter-spacing: -0.015em;
}

.np-hero-section .np-hero-description {
    font-size: clamp(0.95rem, 1.2vw, 1.125rem);
    line-height: 1.65;
    color: #67736C;
    max-width: 540px;
}

.np-hero-section .np-btn-primary {
    background-color: #2B3830;
    color: #FFFFFF;
    border: 1px solid #2B3830;
    border-radius: 50px;
    padding: 0.85rem 1.85rem;
    font-weight: 500;
    font-size: 0.95rem;
    text-decoration: none;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 12px rgba(43, 56, 48, 0.08);
}

.np-hero-section .np-btn-primary:hover,
.np-hero-section .np-btn-primary:focus {
    background-color: #1E2722;
    border-color: #1E2722;
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(43, 56, 48, 0.16);
}

.np-hero-section .np-btn-secondary {
    background-color: #F3EDE4;
    color: #2B3830;
    border: 1px solid #E4DACD;
    border-radius: 50px;
    padding: 0.85rem 1.85rem;
    font-weight: 500;
    font-size: 0.95rem;
    text-decoration: none;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.np-hero-section .np-btn-secondary:hover,
.np-hero-section .np-btn-secondary:focus {
    background-color: #E8DFC7;
    border-color: #D4C6B4;
    color: #1C2521;
    transform: translateY(-2px);
}

.np-hero-section .np-hero-highlights {
    border-color: #EBE3D8 !important;
}

.np-hero-section .np-highlight-icon-box {
    width: 26px;
    height: 26px;
    background-color: #EFE6DB;
    color: #B56B45;
}

.np-hero-section .np-highlight-label {
    font-size: 0.85rem;
    font-weight: 500;
    color: #2B3830;
}

.np-hero-section .np-hero-visual-wrapper {
    z-index: 1;
}

.np-hero-section .np-hero-image-frame {
    border: 1px solid #EBE3D8;
    background-color: #FFFFFF;
    aspect-ratio: 4/3;
}

.np-hero-section .np-hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.65s cubic-bezier(0.25, 1, 0.5, 1);
}

.np-hero-section .np-hero-image-frame:hover .np-hero-image {
    transform: scale(1.03);
}

.np-hero-section .np-hero-floating-card {
    max-width: 320px;
    border: 1px solid #EBE3D8;
    backdrop-filter: blur(8px);
}

.np-hero-section .np-floating-avatar {
    width: 40px;
    height: 40px;
    background-color: #FAF8F5;
    color: #B56B45;
    border: 1px solid #EBE3D8;
}

.np-hero-section .np-floating-title {
    font-size: 0.875rem;
    color: #1C2521;
}

.np-hero-section .np-floating-subtitle {
    font-size: 0.775rem;
    color: #67736C;
}

@media (max-width: 767.98px) {
    .np-hero-section .np-hero-title {
        font-size: 1.65rem;
    }

    .np-hero-section .np-hero-description {
        font-size: 0.9rem;
    }

    .np-hero-section .np-hero-floating-card {
        position: static !important;
        max-width: 100%;
        margin-top: 1rem;
        margin-left: 0 !important;
    }
}

/* ===== category_tiles ===== */
.np-category-tiles {
    background-color: #FAF8F5;
    color: #1C2521;
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
}

.np-category-tiles .max-w-700 {
    max-width: 700px;
}

.np-category-tiles__eyebrow {
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    color: #B56B45;
}

.np-category-tiles__heading {
    font-family: 'Lora', Georgia, serif;
    font-size: clamp(1.75rem, 2.5vw + 0.5rem, 2.35rem);
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: -0.015em;
    color: #2B3830;
}

.np-category-tiles__lead {
    font-size: 1.05rem;
    line-height: 1.65;
    color: #67736C;
}

.np-category-tiles__card {
    background: #FFFFFF;
    border: 1px solid #EBE3D8;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px -2px rgba(43, 56, 48, 0.04);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease;
}

.np-category-tiles__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px -6px rgba(43, 56, 48, 0.09);
    border-color: #D4A373;
}

.np-category-tiles__media-link {
    aspect-ratio: 4 / 3;
    background-color: #F3EDE4;
}

.np-category-tiles__img {
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.65s cubic-bezier(0.25, 1, 0.5, 1);
}

.np-category-tiles__card:hover .np-category-tiles__img {
    transform: scale(1.05);
}

.np-category-tiles__badge {
    background-color: rgba(250, 248, 245, 0.92);
    backdrop-filter: blur(6px);
    color: #5C4A3A;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    border: 1px solid #EBE3D8;
    z-index: 2;
}

.np-category-tiles__title {
    font-family: 'Lora', Georgia, serif;
    font-size: clamp(1.15rem, 1.2vw + 0.3rem, 1.35rem);
    font-weight: 500;
    line-height: 1.3;
}

.np-category-tiles__title-link {
    color: #2B3830;
    transition: color 0.2s ease;
}

.np-category-tiles__title-link:hover {
    color: #B56B45;
}

.np-category-tiles__desc {
    color: #67736C;
    font-size: 0.9rem;
    line-height: 1.55;
}

.np-category-tiles__footer {
    border-color: #EBE3D8 !important;
}

.np-category-tiles__btn {
    background-color: #F3EDE4;
    color: #2B3830;
    border: 1px solid #E4DACD;
    border-radius: 50px;
    padding: 0.65rem 1.25rem;
    font-size: 0.9rem;
    font-weight: 500;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.np-category-tiles__btn:hover {
    background-color: #2B3830;
    color: #FFFFFF;
    border-color: #2B3830;
    transform: translateY(-1px);
}

.np-category-tiles__icon {
    transition: transform 0.2s ease;
}

.np-category-tiles__btn:hover .np-category-tiles__icon {
    transform: translateX(3px);
}

@media (max-width: 767.98px) {
    .np-category-tiles__heading {
        font-size: 1.25rem;
        hyphens: auto;
    }

    .np-category-tiles__title {
        font-size: 1.05rem;
        hyphens: auto;
    }

    .np-category-tiles__body {
        padding: 1.25rem !important;
    }
}

/* ===== new_arrivals ===== */
.novo-new-arrivals {
    background-color: #FAF8F5;
    color: #1C2521;
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif
}

.novo-new-arrivals__badge {
    background-color: #EFE6DB;
    color: #5C4A3A;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0.35rem 0.85rem;
    border-radius: 50px
}

.novo-new-arrivals__badge-icon {
    width: 14px;
    height: 14px
}

.novo-new-arrivals__title {
    font-family: 'Lora', Georgia, serif;
    font-weight: 500;
    font-size: clamp(1.75rem, 2.5vw + 0.5rem, 2.35rem);
    line-height: 1.25;
    color: #2B3830;
    letter-spacing: -0.015em
}

.novo-new-arrivals__subtitle {
    font-size: 0.95rem;
    line-height: 1.65;
    color: #67736C;
    max-width: 540px
}

.novo-new-arrivals__all-link {
    font-size: 0.95rem;
    font-weight: 600;
    color: #2B3830;
    text-decoration: none;
    transition: color 0.2s ease, transform 0.2s ease
}

.novo-new-arrivals__all-link:hover {
    color: #B56B45;
    transform: translateX(3px)
}

.novo-new-arrivals__arrow-icon {
    width: 18px;
    height: 18px
}

.novo-new-arrivals__card {
    background-color: #FFFFFF;
    border: 1px solid #EBE3D8;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px -2px rgba(43, 56, 48, 0.04);
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1)
}

.novo-new-arrivals__card:hover {
    box-shadow: 0 16px 36px -6px rgba(43, 56, 48, 0.08);
    transform: translateY(-4px)
}

.novo-new-arrivals__image-wrapper {
    aspect-ratio: 4/5;
    background-color: #F3EDE4
}

.novo-new-arrivals__image {
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1)
}

.novo-new-arrivals__card:hover .novo-new-arrivals__image {
    transform: scale(1.04)
}

.novo-new-arrivals__tag {
    background-color: rgba(255, 255, 255, 0.92);
    color: #2B3830;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.3rem 0.75rem;
    border-radius: 50px;
    backdrop-filter: blur(6px);
    box-shadow: 0 2px 8px rgba(43, 56, 48, 0.08)
}

.novo-new-arrivals__star-icon {
    width: 14px;
    height: 14px;
    color: #D4A373
}

.novo-new-arrivals__review-count {
    font-size: 0.75rem;
    color: #67736C;
    font-weight: 500
}

.novo-new-arrivals__item-title {
    font-family: 'Lora', Georgia, serif;
    font-size: 1.15rem;
    font-weight: 500;
    line-height: 1.3;
    color: #2B3830
}

.novo-new-arrivals__item-link {
    color: #2B3830;
    text-decoration: none;
    transition: color 0.2s ease
}

.novo-new-arrivals__item-link:hover {
    color: #B56B45
}

.novo-new-arrivals__item-desc {
    font-size: 0.85rem;
    line-height: 1.5;
    color: #67736C
}

.novo-new-arrivals__footer {
    border-color: #EBE3D8 !important
}

.novo-new-arrivals__price-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #67736C;
    font-weight: 600
}

.novo-new-arrivals__price-val {
    font-size: 1.1rem;
    font-weight: 700;
    color: #2B3830
}

.novo-new-arrivals__btn-cart {
    background-color: #2B3830;
    color: #FFFFFF;
    border: 1px solid transparent;
    border-radius: 50px;
    padding: 0.55rem 1.15rem;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.2s ease
}

.novo-new-arrivals__btn-cart:hover {
    background-color: #1E2722;
    color: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(43, 56, 48, 0.18)
}

.novo-new-arrivals__btn-cart:active {
    transform: translateY(0)
}

/* ===== first_order_discount ===== */
.first-order-discount-section {
    background-color: #FAF8F5;
    color: #1C2521;
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.first-order-discount-section .first-order-discount-wrapper {
    background: #F3EDE4;
    border: 1px solid #E4DACD;
    border-radius: 24px;
    box-shadow: 0 8px 24px -4px rgba(43, 56, 48, 0.06);
}

.first-order-discount-section .discount-badge {
    display: inline-flex;
    align-items: center;
    background-color: #EFE6DB;
    padding: 0.35rem 0.85rem;
    border-radius: 50px;
    border: 1px solid #E4DACD;
}

.first-order-discount-section .discount-badge-icon {
    display: flex;
    align-items: center;
    color: #B56B45;
    margin-right: 0.45rem;
}

.first-order-discount-section .discount-svg-icon {
    width: 16px;
    height: 16px;
}

.first-order-discount-section .discount-badge-text {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #5C4A3A;
}

.first-order-discount-section .discount-heading {
    font-family: 'Lora', Georgia, serif;
    font-size: clamp(1.65rem, 2.5vw + 0.5rem, 2.25rem);
    font-weight: 600;
    line-height: 1.25;
    color: #2B3830;
    letter-spacing: -0.015em;
}

.first-order-discount-section .discount-description {
    font-size: 0.95rem;
    line-height: 1.65;
    color: #67736C;
    max-width: 540px;
}

.first-order-discount-section .discount-input {
    background-color: #FFFFFF;
    border: 1.5px solid #EBE3D8;
    border-radius: 50px;
    padding: 0.85rem 1.4rem;
    font-size: 0.95rem;
    color: #1C2521;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
    height: 52px;
}

.first-order-discount-section .discount-input::placeholder {
    color: #96A09A;
    opacity: 1;
}

.first-order-discount-section .discount-input:focus {
    background-color: #FFFFFF;
    border-color: #2B3830;
    color: #1C2521;
    box-shadow: 0 0 0 3px rgba(43, 56, 48, 0.12);
    outline: none;
}

.first-order-discount-section .discount-submit-btn {
    background-color: #2B3830;
    color: #FFFFFF;
    border: 1px solid transparent;
    border-radius: 50px;
    padding: 0.85rem 1.75rem;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    white-space: nowrap;
    height: 52px;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.first-order-discount-section .discount-submit-btn:hover,
.first-order-discount-section .discount-submit-btn:focus {
    background-color: #1E2722;
    color: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(43, 56, 48, 0.16);
}

.first-order-discount-section .discount-btn-arrow {
    width: 18px;
    height: 18px;
    transition: transform 0.25s ease;
}

.first-order-discount-section .discount-submit-btn:hover .discount-btn-arrow {
    transform: translateX(3px);
}

.first-order-discount-section .discount-perk-item {
    font-size: 0.82rem;
    color: #67736C;
}

.first-order-discount-section .perk-icon {
    width: 15px;
    height: 15px;
    color: #B56B45;
    flex-shrink: 0;
}

.first-order-discount-section .perk-text {
    line-height: 1.4;
}

.first-order-discount-section .discount-image-container {
    min-height: 280px;
    background-color: #EFE6DB;
}

.first-order-discount-section .discount-cover-image {
    object-fit: cover;
    display: block;
}

.first-order-discount-section .discount-float-badge {
    bottom: 1.5rem;
    right: 1.5rem;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(235, 227, 216, 0.8);
    border-radius: 16px;
    padding: 0.75rem 1.15rem;
    box-shadow: 0 10px 25px -4px rgba(43, 56, 48, 0.12);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.first-order-discount-section .float-badge-title {
    font-family: 'Lora', Georgia, serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: #B56B45;
    line-height: 1.15;
}

.first-order-discount-section .float-badge-subtitle {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #2B3830;
    margin-top: 0.15rem;
}

@media (max-width: 991.98px) {
    .first-order-discount-section .discount-image-container {
        min-height: 240px;
        max-height: 320px;
    }
}

@media (max-width: 767.98px) {
    .first-order-discount-section .discount-heading {
        font-size: 1.45rem;
        hyphens: auto;
    }

    .first-order-discount-section .discount-description {
        font-size: 0.9rem;
    }

    .first-order-discount-section .discount-submit-btn {
        width: 100%;
    }
}

/* ===== gift_ideas ===== */
.gift-ideas-section {
    background-color: #FAF8F5;
    color: #1C2521;
}

.gift-ideas-section .gift-ideas-badge {
    background-color: #EFE6DB;
    color: #5C4A3A;
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    padding: 0.35rem 1rem;
    border-radius: 50px;
}

.gift-ideas-section .gift-ideas-title {
    color: #2B3830;
    font-family: 'Lora', Georgia, serif;
    font-weight: 500;
    font-size: clamp(1.75rem, 2.5vw + 0.5rem, 2.35rem);
    line-height: 1.25;
    letter-spacing: -0.015em;
}

.gift-ideas-section .gift-ideas-subtitle {
    color: #67736C;
    font-size: 1rem;
    line-height: 1.65;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

.gift-ideas-section .gift-ideas-tab-group {
    margin-left: auto;
    margin-right: auto;
}

.gift-ideas-section .gift-ideas-tab-btn {
    background-color: #FFFFFF;
    color: #2B3830;
    border: 1px solid #EBE3D8;
    border-radius: 50px;
    padding: 0.65rem 1.4rem;
    font-size: 0.9rem;
    font-weight: 500;
    transition: all 0.25s ease;
}

.gift-ideas-section .gift-ideas-tab-btn:hover {
    background-color: #F3EDE4;
    border-color: #D4C6B4;
    color: #1C2521;
}

.gift-ideas-section .gift-ideas-tab-btn.is-active {
    background-color: #B56B45;
    border-color: #B56B45;
    color: #FFFFFF;
    box-shadow: 0 4px 14px rgba(181, 107, 69, 0.25);
}

.gift-ideas-section .gift-ideas-card {
    background-color: #FFFFFF;
    border: 1px solid #EBE3D8;
    border-radius: 16px;
    box-shadow: 0 4px 20px -2px rgba(43, 56, 48, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gift-ideas-section .gift-ideas-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px -6px rgba(43, 56, 48, 0.08);
}

.gift-ideas-section .gift-ideas-image-wrap {
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    background-color: #F3EDE4;
    aspect-ratio: 4 / 3;
}

.gift-ideas-section .gift-ideas-img-link {
    width: 100%;
    height: 100%;
}

.gift-ideas-section .gift-ideas-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.gift-ideas-section .gift-ideas-card:hover .gift-ideas-img {
    transform: scale(1.04);
}

.gift-ideas-section .gift-ideas-card-tag {
    background-color: rgba(43, 56, 48, 0.85);
    color: #FFFFFF;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.3rem 0.65rem;
    border-radius: 50px;
    backdrop-filter: blur(4px);
}

.gift-ideas-section .gift-ideas-category-label {
    color: #B56B45;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.gift-ideas-section .gift-ideas-card-title {
    font-family: 'Lora', Georgia, serif;
    font-weight: 500;
    font-size: 1.15rem;
    line-height: 1.35;
    color: #2B3830;
}

.gift-ideas-section .gift-ideas-title-link {
    color: #2B3830;
    text-decoration: none;
    transition: color 0.2s ease;
}

.gift-ideas-section .gift-ideas-title-link:hover {
    color: #B56B45;
}

.gift-ideas-section .gift-ideas-description {
    color: #67736C;
    font-size: 0.875rem;
    line-height: 1.55;
}

.gift-ideas-section .gift-ideas-specs-list {
    border-top: 1px dashed #EBE3D8;
    padding-top: 0.75rem;
}

.gift-ideas-section .gift-ideas-spec-item {
    color: #4A564F;
    font-size: 0.8rem;
}

.gift-ideas-section .gift-ideas-check-icon {
    color: #B56B45;
    flex-shrink: 0;
}

.gift-ideas-section .gift-ideas-pricing-row {
    border-color: #EBE3D8 !important;
}

.gift-ideas-section .gift-ideas-price {
    color: #2B3830;
    font-size: 1.15rem;
}

.gift-ideas-section .gift-ideas-status {
    color: #5C4A3A;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    font-weight: 600;
}

.gift-ideas-section .gift-ideas-btn-cart {
    background-color: #2B3830;
    color: #FFFFFF;
    border: 1px solid transparent;
    border-radius: 50px;
    padding: 0.65rem 1.25rem;
    font-size: 0.9rem;
    font-weight: 500;
    transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.gift-ideas-section .gift-ideas-btn-cart:hover {
    background-color: #1E2722;
    color: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(43, 56, 48, 0.18);
}

.gift-ideas-section .gift-ideas-footer-box {
    background-color: #F3EDE4;
    border: 1px solid #E4DACD;
}

.gift-ideas-section .gift-ideas-box-title {
    color: #2B3830;
    font-size: 1.05rem;
}

.gift-ideas-section .gift-ideas-box-subtitle {
    color: #67736C;
    font-size: 0.9rem;
}

.gift-ideas-section .gift-ideas-catalog-link {
    background-color: #2B3830;
    color: #FFFFFF;
    border: 1px solid transparent;
    font-size: 0.9rem;
    transition: all 0.25s ease;
}

.gift-ideas-section .gift-ideas-catalog-link:hover {
    background-color: #1E2722;
    color: #FFFFFF;
    transform: translateY(-1px);
}

@media (max-width: 767.98px) {
    .gift-ideas-section h2.gift-ideas-title {
        font-size: 16px;
        hyphens: auto;
    }

    .gift-ideas-section h3.gift-ideas-card-title {
        font-size: 14px;
        hyphens: auto;
    }

    .gift-ideas-section .gift-ideas-tab-btn {
        padding: 0.5rem 1rem;
        font-size: 0.8rem;
    }

    .gift-ideas-section .gift-ideas-description {
        font-size: 0.825rem;
    }
}

/* ===== size_and_fit_guide ===== */
.novo-size-guide-block {
    background-color: #FAF8F5;
    color: #1C2521;
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.65;
}

.novo-size-guide-block .novo-guide-badge {
    background-color: #EFE6DB;
    color: #5C4A3A;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    padding: 0.35rem 0.85rem;
    border-radius: 50px;
}

.novo-size-guide-block .novo-guide-title {
    font-family: 'Lora', Georgia, serif;
    font-weight: 500;
    color: #2B3830;
    font-size: clamp(1.75rem, 2.5vw + 0.5rem, 2.35rem);
    line-height: 1.25;
    letter-spacing: -0.015em;
}

.novo-size-guide-block .novo-guide-subtitle {
    color: #67736C;
    font-size: 0.95rem;
    max-width: 640px;
}

.novo-size-guide-block .novo-unit-switch-wrap {
    background-color: #F3EDE4;
    border: 1px solid #E4DACD;
}

.novo-size-guide-block .novo-unit-btn {
    border: none;
    background: transparent;
    color: #67736C;
    font-size: 0.875rem;
    font-weight: 500;
    padding: 0.45rem 1.15rem;
    transition: all 0.25s ease;
}

.novo-size-guide-block .novo-unit-btn.active {
    background-color: #2B3830;
    color: #FFFFFF;
    box-shadow: 0 2px 8px rgba(43, 56, 48, 0.15);
}

.novo-size-guide-block .novo-table-card {
    background-color: #FFFFFF;
    border: 1px solid #EBE3D8;
    box-shadow: 0 4px 20px -2px rgba(43, 56, 48, 0.04);
}

.novo-size-guide-block .novo-card-heading {
    font-family: 'Lora', Georgia, serif;
    color: #2B3830;
    font-weight: 500;
    font-size: clamp(1.2rem, 1.5vw + 0.3rem, 1.5rem);
}

.novo-size-guide-block .novo-card-desc {
    color: #67736C;
    font-size: 0.875rem;
}

.novo-size-guide-block .novo-tag-pill {
    background-color: #F3EDE4;
    color: #2B3830;
    border: 1px solid #E4DACD;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.3rem 0.75rem;
    border-radius: 50px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.novo-size-guide-block .novo-guide-table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

.novo-size-guide-block .novo-guide-table thead th {
    background-color: #FAF8F5;
    color: #2B3830;
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.95rem 1rem;
    border-bottom: 2px solid #EBE3D8;
    border-top: none;
}

.novo-size-guide-block .novo-guide-table tbody td {
    padding: 1rem;
    border-bottom: 1px solid #F3EDE4;
    font-size: 0.9rem;
    color: #1C2521;
}

.novo-size-guide-block .novo-guide-table tbody tr:last-child td {
    border-bottom: none;
}

.novo-size-guide-block .novo-guide-table tbody tr:hover td {
    background-color: #FAF8F5;
}

.novo-size-guide-block .novo-advice-section {
    background-color: #F3EDE4;
    border: 1px solid #E4DACD;
}

.novo-size-guide-block .novo-tip-card {
    background-color: #FFFFFF;
    border: 1px solid #EBE3D8;
    box-shadow: 0 2px 8px rgba(43, 56, 48, 0.03);
    transition: all 0.3s ease;
}

.novo-size-guide-block .novo-tip-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px -4px rgba(43, 56, 48, 0.08);
}

.novo-size-guide-block .novo-tip-icon {
    width: 44px;
    height: 44px;
    background-color: #EFE6DB;
    color: #B56B45;
}

.novo-size-guide-block .novo-tip-title {
    font-family: 'Lora', Georgia, serif;
    font-weight: 500;
    font-size: 1.125rem;
    color: #2B3830;
}

.novo-size-guide-block .novo-tip-text {
    color: #67736C;
    font-size: 0.875rem;
    line-height: 1.6;
}

.novo-size-guide-block .novo-help-banner {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(243, 237, 228, 0.8) 100%);
    border: 1px solid #E4DACD;
}

.novo-size-guide-block .novo-banner-heading {
    font-family: 'Lora', Georgia, serif;
    font-weight: 500;
    color: #2B3830;
    font-size: 1.15rem;
}

.novo-size-guide-block .novo-banner-sub {
    color: #67736C;
    font-size: 0.875rem;
}

.novo-size-guide-block .novo-btn-primary {
    background-color: #2B3830;
    color: #FFFFFF;
    border: 1px solid transparent;
    border-radius: 50px;
    padding: 0.75rem 1.65rem;
    font-weight: 500;
    font-size: 0.9rem;
    text-decoration: none;
    transition: all 0.3s ease;
}

.novo-size-guide-block .novo-btn-primary:hover {
    background-color: #1E2722;
    color: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(43, 56, 48, 0.16);
}

.novo-size-guide-block .novo-btn-secondary {
    background-color: #2B3830;
    color: #FFFFFF;
    border: 1px solid transparent;
    border-radius: 50px;
    padding: 0.65rem 1.45rem;
    font-weight: 500;
    font-size: 0.875rem;
    text-decoration: none;
    transition: all 0.25s ease;
}

.novo-size-guide-block .novo-btn-secondary:hover {
    background-color: #1E2722;
    color: #FFFFFF;
}

.novo-size-guide-block .novo-btn-outline {
    background-color: transparent;
    color: #2B3830;
    border: 1.5px solid #2B3830;
    border-radius: 50px;
    padding: 0.6rem 1.45rem;
    font-weight: 500;
    font-size: 0.875rem;
    text-decoration: none;
    transition: all 0.25s ease;
}

.novo-size-guide-block .novo-btn-outline:hover {
    background-color: #2B3830;
    color: #FFFFFF;
}

@media (max-width: 767.98px) {
    .novo-size-guide-block .novo-guide-title {
        font-size: 1.25rem;
        hyphens: auto;
    }

    .novo-size-guide-block .novo-card-heading {
        font-size: 1rem;
        hyphens: auto;
    }

    .novo-size-guide-block .novo-tip-title {
        font-size: 0.875rem;
    }
}

/* ===== pickup_points ===== */
.pickup-locations-section {
    background-color: #FAF8F5;
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.pickup-locations-section .pickup-badge {
    background-color: #EFE6DB;
    color: #5C4A3A;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    border-radius: 50px;
}

.pickup-locations-section .pickup-main-heading {
    font-family: 'Lora', Georgia, serif;
    color: #1C2521;
    font-weight: 500;
    font-size: clamp(1.75rem, 2.5vw + 0.5rem, 2.35rem);
    line-height: 1.25;
}

.pickup-locations-section .pickup-subheading {
    color: #67736C;
    font-size: 0.95rem;
    line-height: 1.65;
    max-width: 680px;
}

.pickup-locations-section .pickup-card {
    background-color: #FFFFFF;
    border: 1.5px solid #EBE3D8;
    border-radius: 16px;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: pointer;
}

.pickup-locations-section .pickup-card:hover {
    border-color: #D4A373;
    box-shadow: 0 8px 24px -4px rgba(43, 56, 48, 0.06);
    transform: translateY(-2px);
}

.pickup-locations-section .pickup-card.active {
    border-color: #2B3830;
    background-color: #FFFFFF;
    box-shadow: 0 12px 28px -6px rgba(43, 56, 48, 0.1);
    position: relative;
}

.pickup-locations-section .pickup-card.active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 16px;
    bottom: 16px;
    width: 4px;
    background-color: #B56B45;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

.pickup-locations-section .pickup-card-title {
    font-family: 'Lora', Georgia, serif;
    font-size: 1.2rem;
    font-weight: 500;
    color: #1C2521;
}

.pickup-locations-section .pickup-status-badge {
    background-color: #EFE6DB;
    color: #5C4A3A;
    font-size: 0.75rem;
    font-weight: 500;
    border-radius: 30px;
    padding: 0.35rem 0.65rem;
}

.pickup-locations-section .pickup-card.active .pickup-status-badge {
    background-color: #2B3830;
    color: #FFFFFF;
}

.pickup-locations-section .pickup-card-desc {
    color: #67736C;
    font-size: 0.88rem;
    line-height: 1.5;
}

.pickup-locations-section .pickup-info-item {
    font-size: 0.88rem;
}

.pickup-locations-section .pickup-icon-wrap {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #B56B45;
    margin-top: 2px;
}

.pickup-locations-section .pickup-svg-icon {
    width: 18px;
    height: 18px;
    display: block;
}

.pickup-locations-section .pickup-svg-icon-sm {
    width: 16px;
    height: 16px;
    display: block;
}

.pickup-locations-section .pickup-info-text {
    color: #1C2521;
    line-height: 1.45;
}

.pickup-locations-section .pickup-link {
    color: #2B3830;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s ease;
}

.pickup-locations-section .pickup-link:hover {
    color: #B56B45;
}

.pickup-locations-section .pickup-map-card {
    background-color: #FFFFFF;
    border: 1.5px solid #EBE3D8;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px -2px rgba(43, 56, 48, 0.04);
    min-height: 480px;
}

.pickup-locations-section .pickup-map-header {
    background-color: #F3EDE4;
    border-bottom: 1px solid #E4DACD;
}

.pickup-locations-section .pickup-map-indicator {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #2B3830;
    box-shadow: 0 0 0 3px rgba(43, 56, 48, 0.2);
}

.pickup-locations-section .pickup-map-title {
    font-family: 'Lora', Georgia, serif;
    font-size: 1.05rem;
    font-weight: 500;
    color: #1C2521;
}

.pickup-locations-section .pickup-contact-action {
    color: #2B3830;
    font-size: 0.85rem;
    font-weight: 500;
    text-decoration: none;
    padding: 0.4rem 0.85rem;
    background-color: #FFFFFF;
    border: 1px solid #E4DACD;
    border-radius: 50px;
    transition: all 0.2s ease;
}

.pickup-locations-section .pickup-contact-action:hover {
    background-color: #2B3830;
    color: #FFFFFF;
    border-color: #2B3830;
}

.pickup-locations-section .pickup-iframe-container {
    position: relative;
    min-height: 380px;
    width: 100%;
    background-color: #F3EDE4;
}

.pickup-locations-section .pickup-map-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.pickup-locations-section .pickup-map-footer {
    background-color: #FAF8F5;
    border-top: 1px solid #EBE3D8;
}

.pickup-locations-section .pickup-dot-verified {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #B56B45;
}

.pickup-locations-section .pickup-instruction-text {
    font-size: 0.85rem;
    color: #1C2521;
    font-weight: 500;
}

.pickup-locations-section .pickup-tag-text {
    font-size: 0.8rem;
    color: #67736C;
}

@media (max-width: 767.98px) {
    .pickup-locations-section .pickup-main-heading {
        font-size: 16px;
        hyphens: auto;
    }

    .pickup-locations-section .pickup-card-title {
        font-size: 14px;
    }

    .pickup-locations-section .pickup-map-card {
        min-height: 400px;
    }

    .pickup-locations-section .pickup-iframe-container {
        min-height: 280px;
    }
}

/* ===== footer ===== */
.site-footer {
    background-color: #2B3830;
    color: #FFFFFF;
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    padding-top: clamp(3.5rem, 6vw, 5rem);
    padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
    position: relative;
    border-top: 1px solid rgba(235, 227, 216, 0.12);
    width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
}

.site-footer .footer-top-section {
    padding-bottom: clamp(2rem, 4vw, 3rem);
}

.site-footer .footer-brand-title {
    font-family: 'Lora', Georgia, serif;
    font-size: clamp(1.5rem, 2vw, 1.85rem);
    font-weight: 500;
    color: #FFFFFF;
    margin-bottom: 0.85rem;
    line-height: 1.25;
    letter-spacing: -0.015em;
}

.site-footer .footer-brand-tagline {
    font-size: 0.95rem;
    line-height: 1.65;
    color: #D8E0DC;
    margin-bottom: 1.5rem;
    max-width: 380px;
}

.site-footer .footer-wa-wrapper {
    display: flex;
    align-items: center;
}

.site-footer .footer-whatsapp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    background-color: #B56B45;
    color: #FFFFFF;
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
    padding: 0.85rem 1.65rem;
    border-radius: 50px;
    border: 1px solid transparent;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}

.site-footer .footer-whatsapp-btn:hover {
    background-color: #A05A36;
    color: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
}

.site-footer .footer-btn-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.site-footer .footer-col-title {
    font-family: 'Lora', Georgia, serif;
    font-size: 1.15rem;
    font-weight: 500;
    color: #FAF8F5;
    margin-bottom: 1.25rem;
    line-height: 1.3;
    position: relative;
}

.site-footer .footer-nav-group,
.site-footer .footer-contact-group {
    height: 100%;
}

.site-footer .footer-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.site-footer .footer-nav-link {
    color: #D8E0DC;
    text-decoration: none;
    font-size: 0.92rem;
    line-height: 1.4;
    transition: color 0.2s ease, transform 0.2s ease;
    display: inline-block;
}

.site-footer .footer-nav-link:hover {
    color: #D4A373;
    transform: translateX(3px);
}

.site-footer .footer-contact-items {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.site-footer .footer-contact-row {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    color: #D8E0DC;
}

.site-footer .footer-item-icon {
    width: 18px;
    height: 18px;
    stroke: #D4A373;
    flex-shrink: 0;
    margin-top: 0.2rem;
}

.site-footer .footer-contact-text {
    font-size: 0.92rem;
    line-height: 1.5;
    color: #D8E0DC;
    word-break: break-word;
}

.site-footer .footer-contact-link {
    font-size: 0.92rem;
    line-height: 1.5;
    color: #D8E0DC;
    text-decoration: none;
    transition: color 0.2s ease;
    word-break: break-all;
}

.site-footer .footer-contact-link:hover {
    color: #D4A373;
}

.site-footer .footer-bottom-section {
    border-top: 1px solid rgba(235, 227, 216, 0.12);
    padding-top: 1.5rem;
    margin-top: 0.5rem;
}

.site-footer .footer-copyright-text {
    font-size: 0.85rem;
    color: #A6B3AC;
    margin: 0;
    line-height: 1.6;
}

.site-footer .footer-origin-text {
    font-size: 0.85rem;
    color: #A6B3AC;
    margin: 0;
    line-height: 1.6;
    font-style: italic;
}

@media (max-width: 767.98px) {
    .site-footer .footer-brand-title {
        font-size: 16px;
        hyphens: auto;
    }

    .site-footer .footer-col-title {
        font-size: 14px;
        margin-bottom: 0.85rem;
    }

    .site-footer .footer-brand-tagline {
        font-size: 0.875rem;
    }

    .site-footer .footer-whatsapp-btn {
        width: 100%;
    }
}

/* ===== PAGE: catalog ===== */
.catalog-grid-block {
  background-color: #FAF8F5;
  color: #1C2521;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.catalog-grid-block__badge {
  background-color: #EFE6DB;
  color: #5C4A3A;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.35rem 1rem;
  border-radius: 50px;
}

.catalog-grid-block__title {
  font-family: 'Lora', Georgia, serif;
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
  font-weight: 600;
  color: #2B3830;
  line-height: 1.25;
}

.catalog-grid-block__subtitle {
  max-width: 680px;
  color: #67736C;
  font-size: 1rem;
  line-height: 1.6;
}

.catalog-grid-block__controls {
  background: #FFFFFF;
  border: 1px solid #EBE3D8;
  box-shadow: 0 4px 20px -2px rgba(43, 56, 48, 0.04);
}

.catalog-grid-block__search-icon {
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #96A09A;
  pointer-events: none;
}

.catalog-grid-block .form-control,
.catalog-grid-block .form-select {
  background-color: #FAF8F5;
  border: 1px solid #EBE3D8;
  color: #1C2521;
  font-size: 0.9375rem;
  padding: 0.65rem 1rem;
  border-radius: 12px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.catalog-grid-block .form-control.js-catalog-search {
  padding-left: 2.75rem;
}

.catalog-grid-block .form-control:focus,
.catalog-grid-block .form-select:focus {
  background-color: #FFFFFF;
  border-color: #2B3830;
  box-shadow: 0 0 0 3px rgba(43, 56, 48, 0.12);
  color: #1C2521;
  outline: none;
}

.catalog-grid-block .form-control::placeholder {
  color: #96A09A;
  opacity: 1;
}

.catalog-grid-block__pills-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: #67736C;
}

.catalog-grid-block__pill {
  background-color: #F3EDE4;
  border: 1px solid #E4DACD;
  color: #2B3830;
  font-size: 0.85rem;
  font-weight: 500;
  padding: 0.4rem 1rem;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.catalog-grid-block__pill:hover {
  background-color: #E8DFC7;
  border-color: #D4C6B4;
}

.catalog-grid-block__pill.active {
  background-color: #2B3830;
  border-color: #2B3830;
  color: #FFFFFF;
}

.catalog-grid-block__count {
  font-size: 0.9rem;
  font-weight: 500;
  color: #67736C;
}

.catalog-grid-block__reset-btn {
  background: none;
  border: none;
  color: #B56B45;
  font-weight: 600;
  font-size: 0.875rem;
  text-decoration: underline;
  padding: 0;
  cursor: pointer;
}

.catalog-grid-block__reset-btn:hover {
  color: #A05A36;
}

.catalog-grid-block__card {
  background: #FFFFFF;
  border: 1px solid #EBE3D8;
  border-radius: 16px;
  box-shadow: 0 4px 20px -2px rgba(43, 56, 48, 0.04);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden;
}

.catalog-grid-block__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px -6px rgba(43, 56, 48, 0.08);
}

.catalog-grid-block__media {
  background-color: #F3EDE4;
  overflow: hidden;
}

.catalog-grid-block__img {
  height: 240px;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}

.catalog-grid-block__card:hover .catalog-grid-block__img {
  transform: scale(1.04);
}

.catalog-grid-block__tag {
  background: rgba(43, 56, 48, 0.85);
  color: #FFFFFF;
  font-size: 0.725rem;
  font-weight: 600;
  padding: 0.25rem 0.65rem;
  border-radius: 6px;
  backdrop-filter: blur(4px);
  letter-spacing: 0.03em;
}

.catalog-grid-block__cat-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #B56B45;
}

.catalog-grid-block__rating-text {
  font-size: 0.8rem;
  font-weight: 600;
  color: #67736C;
}

.catalog-grid-block__star-icon {
  color: #D4A373;
}

.catalog-grid-block__item-title {
  font-family: 'Lora', Georgia, serif;
  font-size: 1.2rem;
  line-height: 1.35;
  font-weight: 600;
}

.catalog-grid-block__item-link {
  color: #1C2521;
  text-decoration: none;
  transition: color 0.2s ease;
}

.catalog-grid-block__item-link:hover {
  color: #B56B45;
}

.catalog-grid-block__desc {
  font-size: 0.875rem;
  color: #67736C;
  line-height: 1.55;
}

.catalog-grid-block__specs {
  margin: 0;
  padding: 0;
}

.catalog-grid-block__spec-item {
  font-size: 0.8rem;
  color: #67736C;
  margin-bottom: 0.25rem;
}

.catalog-grid-block__price {
  font-size: 1.25rem;
  font-weight: 700;
  color: #2B3830;
}

.catalog-grid-block__cart-btn {
  background-color: #2B3830;
  color: #FFFFFF;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0.6rem 1.25rem;
  border-radius: 50px;
  border: 1px solid transparent;
  transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.catalog-grid-block__cart-btn:hover {
  background-color: #1E2722;
  color: #FFFFFF;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(43, 56, 48, 0.18);
}

.catalog-grid-block__empty-icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background-color: #F3EDE4;
  color: #96A09A;
}

.catalog-grid-block__empty-title {
  font-family: 'Lora', Georgia, serif;
  font-size: 1.5rem;
  color: #2B3830;
}

.catalog-grid-block__empty-btn {
  background-color: #2B3830;
  color: #FFFFFF;
  font-weight: 500;
  padding: 0.65rem 1.5rem;
  border-radius: 50px;
  border: none;
}

.catalog-grid-block__empty-btn:hover {
  background-color: #1E2722;
  color: #FFFFFF;
}

.catalog-grid-block__qa-banner {
  background: #F3EDE4;
  border: 1px solid #E4DACD;
}

.catalog-grid-block__qa-icon-wrap {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #FFFFFF;
  color: #B56B45;
  display: flex;
  align-items: center;
  justify-content: center;
}

.catalog-grid-block__qa-title {
  font-family: 'Lora', Georgia, serif;
  font-size: 1.05rem;
  font-weight: 600;
  color: #2B3830;
}

.catalog-grid-block__qa-text {
  font-size: 0.85rem;
  color: #67736C;
  line-height: 1.45;
}

/* ===== PAGE: about-us ===== */
.about-story-section {
  background-color: #FAF8F5;
  color: #1C2521;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.about-story-section .story-badge {
  background-color: #EFE6DB;
  color: #5C4A3A;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  padding: 0.5rem 1rem;
  border-radius: 50px;
  font-weight: 600;
  display: inline-block;
}

.about-story-section .story-main-title {
  font-family: 'Lora', Georgia, serif;
  font-size: clamp(2rem, 3.5vw + 0.5rem, 3.15rem);
  font-weight: 500;
  line-height: 1.2;
  color: #2B3830;
  letter-spacing: -0.015em;
}

.about-story-section .story-section-title {
  font-family: 'Lora', Georgia, serif;
  font-size: clamp(1.6rem, 2.5vw + 0.5rem, 2.25rem);
  font-weight: 500;
  line-height: 1.25;
  color: #2B3830;
}

.about-story-section .story-lead-text {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #67736C;
}

.about-story-section .story-section-subtitle {
  font-size: 1rem;
  line-height: 1.6;
  color: #67736C;
}

.about-story-section .metric-card {
  border-left: 3px solid #B56B45;
  padding-left: 1rem;
}

.about-story-section .metric-value {
  display: block;
  font-family: 'Lora', Georgia, serif;
  font-size: 1.85rem;
  font-weight: 600;
  color: #2B3830;
  line-height: 1.1;
}

.about-story-section .metric-label {
  font-size: 0.85rem;
  color: #67736C;
  font-weight: 500;
}

.about-story-section .story-visual-wrapper {
  position: relative;
}

.about-story-section .story-image-frame {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 16px 36px -6px rgba(43, 56, 48, 0.08);
  border: 1px solid #EBE3D8;
  background-color: #FFFFFF;
}

.about-story-section .story-hero-img {
  width: 100%;
  height: 440px;
  object-fit: cover;
  display: block;
}

.about-story-section .story-floating-badge {
  position: absolute;
  bottom: -20px;
  left: 20px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border: 1px solid #EBE3D8;
  border-radius: 16px;
  box-shadow: 0 12px 28px rgba(43, 56, 48, 0.1);
  max-width: 320px;
}

.about-story-section .badge-icon-box {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: #EFE6DB;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.about-story-section .story-svg-icon {
  width: 22px;
  height: 22px;
  color: #B56B45;
}

.about-story-section .floating-badge-title {
  font-weight: 600;
  font-size: 0.88rem;
  color: #2B3830;
}

.about-story-section .floating-badge-sub {
  font-size: 0.75rem;
  color: #67736C;
}

.about-story-section .story-pillar-card {
  background-color: #FFFFFF;
  border: 1px solid #EBE3D8;
  border-radius: 18px;
  box-shadow: 0 4px 20px -2px rgba(43, 56, 48, 0.04);
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.about-story-section .story-pillar-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px -6px rgba(43, 56, 48, 0.08);
  border-color: #D4A373;
}

.about-story-section .pillar-icon {
  width: 48px;
  height: 48px;
  background-color: #FAF8F5;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #EBE3D8;
}

.about-story-section .pillar-title {
  font-family: 'Lora', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 500;
  color: #2B3830;
}

.about-story-section .pillar-text {
  font-size: 0.92rem;
  line-height: 1.6;
  color: #67736C;
}

.about-story-section .story-interactive-materials {
  background-color: #F3EDE4;
  border: 1px solid #E4DACD;
}

.about-story-section .material-tab-btn {
  border: 1px solid #E4DACD;
  background-color: #FAF8F5;
  color: #2B3830;
  transition: all 0.25s ease;
  width: 100%;
}

.about-story-section .material-tab-btn:hover {
  background-color: #FFFFFF;
  border-color: #D4A373;
}

.about-story-section .material-tab-btn.active {
  background-color: #2B3830;
  color: #FFFFFF;
  border-color: #2B3830;
}

.about-story-section .tab-btn-title {
  font-size: 0.95rem;
  font-weight: 600;
}

.about-story-section .tab-arrow-icon {
  width: 16px;
  height: 16px;
  transition: transform 0.25s ease;
}

.about-story-section .material-tab-btn.active .tab-arrow-icon {
  transform: translateX(4px);
}

.about-story-section .material-content-panel {
  border: 1px solid #EBE3D8;
  min-height: 280px;
  display: flex;
  align-items: center;
}

.about-story-section .material-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.about-story-section .material-detail-title {
  font-family: 'Lora', Georgia, serif;
  font-size: 1.35rem;
  color: #2B3830;
}

.about-story-section .material-detail-desc {
  font-size: 0.92rem;
  line-height: 1.6;
}

.about-story-section .material-benefits-list {
  font-size: 0.88rem;
  color: #2B3830;
}

.about-story-section .benefit-dot {
  width: 8px;
  height: 8px;
  background-color: #B56B45;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

.about-story-section .story-cta-banner {
  background: linear-gradient(135deg, #2B3830 0%, #1E2722 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.about-story-section .cta-banner-title {
  font-family: 'Lora', Georgia, serif;
  font-size: clamp(1.4rem, 2vw + 0.5rem, 1.95rem);
}

.about-story-section .cta-banner-desc {
  font-size: 0.95rem;
  color: #D8E0DC;
  line-height: 1.6;
}

.about-story-section .story-btn-cta {
  background-color: #B56B45;
  color: #FFFFFF;
  border: 1px solid transparent;
  border-radius: 50px;
  font-weight: 500;
  text-decoration: none;
  display: inline-block;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.about-story-section .story-btn-cta:hover {
  background-color: #A05A36;
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(181, 107, 69, 0.35);
}

@media (max-width: 767.98px) {
  .about-story-section .story-hero-img {
    height: 300px;
  }
  .about-story-section .material-content-panel {
    min-height: auto;
  }
  .about-story-section .material-img {
    height: 180px;
  }
}

/* ===== PAGE: interior-ideas ===== */
.articles-grid-section {
  background-color: #FAF8F5;
  color: #1C2521;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.articles-grid-section .badge-tag {
  background-color: #EFE6DB;
  padding: 0.35rem 1rem;
  border-radius: 50px;
}

.articles-grid-section .badge-text {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #5C4A3A;
}

.articles-grid-section .articles-main-title {
  font-family: 'Lora', Georgia, serif;
  font-weight: 600;
  font-size: clamp(2rem, 3.2vw + 0.5rem, 3rem);
  line-height: 1.25;
  color: #2B3830;
  letter-spacing: -0.015em;
}

.articles-grid-section .articles-subtitle {
  max-width: 680px;
  font-size: 1.05rem;
  line-height: 1.65;
  color: #67736C !important;
}

.articles-grid-section .articles-filter-panel {
  background-color: #F3EDE4;
  border: 1px solid #EBE3D8;
}

.articles-grid-section .filter-pill-btn {
  background-color: #FFFFFF;
  color: #2B3830;
  border: 1px solid #E4DACD;
  border-radius: 50px;
  padding: 0.55rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  transition: all 0.25s ease;
  cursor: pointer;
}

.articles-grid-section .filter-pill-btn:hover {
  background-color: #EFE6DB;
  border-color: #D4C6B4;
  color: #1E2722;
}

.articles-grid-section .filter-pill-btn.active {
  background-color: #B56B45;
  border-color: #B56B45;
  color: #FFFFFF;
  box-shadow: 0 4px 12px rgba(181, 107, 69, 0.25);
}

.articles-grid-section .search-input {
  background-color: #FFFFFF;
  border: 1px solid #E4DACD;
  border-radius: 50px;
  padding: 0.6rem 2.75rem 0.6rem 1.25rem;
  font-size: 0.9rem;
  color: #1C2521;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.articles-grid-section .search-input::placeholder {
  color: #96A09A;
  opacity: 1;
}

.articles-grid-section .search-input:focus {
  background-color: #FFFFFF;
  border-color: #2B3830;
  box-shadow: 0 0 0 3px rgba(43, 56, 48, 0.1);
  outline: none;
  color: #1C2521;
}

.articles-grid-section .search-icon {
  color: #96A09A;
  pointer-events: none;
}

.articles-grid-section .article-card {
  background-color: #FFFFFF;
  border: 1px solid #EBE3D8;
  border-radius: 16px;
  box-shadow: 0 4px 20px -2px rgba(43, 56, 48, 0.04);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease;
}

.articles-grid-section .article-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px -6px rgba(43, 56, 48, 0.08);
  border-color: #D4C6B4;
}

.articles-grid-section .article-thumb-wrapper {
  aspect-ratio: 16 / 10;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  background-color: #F3EDE4;
}

.articles-grid-section .article-thumbnail {
  height: 100%;
  object-fit: cover;
  transition: transform 0.65s cubic-bezier(0.25, 1, 0.5, 1);
  display: block;
}

.articles-grid-section .article-card:hover .article-thumbnail {
  transform: scale(1.04);
}

.articles-grid-section .article-category-badge {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(6px);
  color: #2B3830;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.3rem 0.75rem;
  border-radius: 50px;
  box-shadow: 0 2px 8px rgba(43, 56, 48, 0.08);
  letter-spacing: 0.03em;
}

.articles-grid-section .article-meta {
  font-size: 0.8125rem;
}

.articles-grid-section .meta-item {
  color: #67736C;
}

.articles-grid-section .meta-separator {
  color: #D4C6B4;
}

.articles-grid-section .article-title {
  font-family: 'Lora', Georgia, serif;
  font-weight: 500;
  font-size: clamp(1.25rem, 1.4vw + 0.5rem, 1.55rem);
  line-height: 1.35;
}

.articles-grid-section .article-title-link {
  color: #1C2521;
  transition: color 0.2s ease;
}

.articles-grid-section .article-title-link:hover {
  color: #B56B45;
}

.articles-grid-section .article-excerpt {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #67736C !important;
}

.articles-grid-section .article-card-footer {
  border-color: #EBE3D8 !important;
}

.articles-grid-section .btn-read-more {
  color: #2B3830;
  font-weight: 600;
  font-size: 0.875rem;
  transition: color 0.2s ease, transform 0.2s ease;
}

.articles-grid-section .btn-read-more svg {
  transition: transform 0.2s ease;
}

.articles-grid-section .btn-read-more:hover {
  color: #B56B45;
}

.articles-grid-section .btn-read-more:hover svg {
  transform: translateX(4px);
}

.articles-grid-section .no-results-box {
  background-color: #F3EDE4;
  border: 1px dashed #D4C6B4;
}

.articles-grid-section .no-results-title {
  font-family: 'Lora', Georgia, serif;
  font-size: 1.35rem;
  color: #2B3830;
}

.articles-grid-section .btn-reset-filters {
  background-color: #2B3830;
  color: #FFFFFF;
  border: 1px solid transparent;
  border-radius: 50px;
  padding: 0.75rem 1.75rem;
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.articles-grid-section .btn-reset-filters:hover {
  background-color: #1E2722;
  transform: translateY(-1px);
}

@media (max-width: 767.98px) {
  .articles-grid-section .articles-main-title {
    font-size: 1.125rem;
    hyphens: auto;
  }
  .articles-grid-section .article-title {
    font-size: 1rem;
    hyphens: auto;
  }
  .articles-grid-section .no-results-title {
    font-size: 0.875rem;
  }
  .articles-grid-section .articles-subtitle {
    font-size: 0.9rem;
  }
  .articles-grid-section .filter-pill-btn {
    padding: 0.45rem 0.9rem;
    font-size: 0.8rem;
  }
}

/* ===== PAGE: contacts ===== */
.novo-contacts-page { background-color: #FAF8F5; color: #1C2521; font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; } .novo-contacts-page .novo-contact-card { background-color: #FFFFFF; border: 1px solid #EBE3D8; border-radius: 20px; box-shadow: 0 4px 20px -2px rgba(43, 56, 48, 0.04); } .novo-contacts-page .novo-badge { background-color: #EFE6DB; color: #5C4A3A; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; padding: 0.35rem 0.85rem; border-radius: 50px; } .novo-contacts-page .novo-section-title { font-family: 'Lora', Georgia, serif; color: #2B3830; font-size: clamp(1.75rem, 2.5vw + 0.5rem, 2.35rem); font-weight: 500; line-height: 1.25; letter-spacing: -0.015em; } .novo-contacts-page .novo-lead-text { color: #67736C; font-size: 0.95rem; line-height: 1.65; } .novo-contacts-page .novo-icon-wrap { width: 42px; height: 42px; border-radius: 12px; background-color: #F3EDE4; color: #B56B45; } .novo-contacts-page .novo-icon { width: 20px; height: 20px; } .novo-contacts-page .novo-icon-sm { width: 18px; height: 18px; } .novo-contacts-page .novo-label { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; color: #96A09A; margin-bottom: 2px; } .novo-contacts-page .novo-value { font-size: 0.95rem; font-weight: 500; color: #1C2521; line-height: 1.5; } .novo-contacts-page .novo-value-link { font-size: 0.95rem; font-weight: 500; color: #2B3830; text-decoration: none; transition: color 0.2s ease; } .novo-contacts-page .novo-value-link:hover { color: #B56B45; } .novo-contacts-page .novo-btn-whatsapp { background-color: #2B3830; color: #FFFFFF; border: 1px solid transparent; border-radius: 50px; padding: 0.85rem 1.85rem; font-weight: 500; font-size: 0.95rem; text-decoration: none; transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1); } .novo-contacts-page .novo-btn-whatsapp:hover { background-color: #1E2722; color: #FFFFFF; transform: translateY(-1px); box-shadow: 0 6px 18px rgba(43, 56, 48, 0.16); } .novo-contacts-page .novo-map-wrapper { min-height: 380px; border: 1px solid #EBE3D8; background-color: #F3EDE4; } .novo-contacts-page .novo-form-container { background-color: #FFFFFF; border: 1px solid #EBE3D8; box-shadow: 0 8px 24px -4px rgba(43, 56, 48, 0.06); } .novo-contacts-page .novo-form-title { font-family: 'Lora', Georgia, serif; color: #2B3830; font-size: clamp(1.5rem, 2vw + 0.5rem, 2rem); font-weight: 500; line-height: 1.25; } .novo-contacts-page .novo-form-desc { color: #67736C; font-size: 0.95rem; line-height: 1.65; } .novo-contacts-page .novo-guarantee-card { background-color: #F3EDE4; border: 1px solid #E4DACD; } .novo-contacts-page .novo-guarantee-title { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-size: 0.95rem; font-weight: 600; color: #2B3830; } .novo-contacts-page .novo-guarantee-text { font-size: 0.85rem; color: #67736C; line-height: 1.5; } .novo-contacts-page .novo-form-label { font-size: 0.85rem; font-weight: 600; color: #2B3830; margin-bottom: 0.4rem; display: block; } .novo-contacts-page .novo-form-control, .novo-contacts-page .novo-form-select, .novo-contacts-page .novo-form-textarea { width: 100%; background-color: #FAF8F5; border: 1px solid #EBE3D8; border-radius: 10px; padding: 0.75rem 1rem; font-size: 0.95rem; color: #1C2521; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; } .novo-contacts-page .novo-form-control::placeholder, .novo-contacts-page .novo-form-textarea::placeholder { color: #96A09A; opacity: 1; } .novo-contacts-page .novo-form-control:focus, .novo-contacts-page .novo-form-select:focus, .novo-contacts-page .novo-form-textarea:focus { border-color: #2B3830; background-color: #FFFFFF; box-shadow: 0 0 0 3px rgba(43, 56, 48, 0.1); } .novo-contacts-page .novo-btn-primary { background-color: #2B3830; color: #FFFFFF; border: 1px solid transparent; border-radius: 50px; padding: 0.85rem 1.85rem; font-weight: 500; font-size: 0.95rem; cursor: pointer; transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1); } .novo-contacts-page .novo-btn-primary:hover { background-color: #1E2722; color: #FFFFFF; transform: translateY(-1px); box-shadow: 0 6px 18px rgba(43, 56, 48, 0.16); } .novo-contacts-page .novo-privacy-notice { font-size: 0.8rem; color: #96A09A; }

/* ===== PAGE: privacy-policy ===== */
.novo-privacy-section{background-color:#FAF8F5;color:#1C2521;font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif}.novo-privacy-section h1,.novo-privacy-section h2,.novo-privacy-section h3{font-family:'Lora',Georgia,serif;color:#2B3830}.novo-privacy-section .text-muted-custom{color:#67736C}.novo-privacy-nav-wrapper{background-color:#F3EDE4;border:1px solid #EBE3D8;position:sticky;top:2rem}.novo-privacy-nav-title{font-size:1.25rem;font-weight:600}.novo-privacy-link{font-size:0.9rem;color:#67736C;text-decoration:none;padding:0.5rem 0.75rem;border-radius:8px;transition:all 0.2s ease;font-weight:500}.novo-privacy-link:hover,.novo-privacy-link.active{background-color:#FFFFFF;color:#B56B45;box-shadow:0 2px 6px rgba(43,56,48,0.05)}.novo-privacy-nav-card{background-color:#FFFFFF;border:1px solid #EBE3D8}.novo-privacy-contact-btn{border-color:#2B3830;color:#2B3830;border-radius:50px;font-weight:500}.novo-privacy-contact-btn:hover{background-color:#2B3830;color:#FFFFFF}.novo-privacy-content{background-color:#FFFFFF;border:1px solid #EBE3D8;box-shadow:0 4px 20px -2px rgba(43,56,48,0.04)}.novo-privacy-badge{background-color:#EFE6DB;color:#5C4A3A;font-weight:600;font-size:0.8rem;padding:0.4rem 0.85rem;border-radius:50px;letter-spacing:0.04em}.novo-privacy-title{font-size:clamp(1.75rem,2.8vw+0.5rem,2.5rem);font-weight:600;line-height:1.2}.novo-block-title{font-size:clamp(1.25rem,1.5vw+0.5rem,1.5rem);font-weight:500;border-bottom:2px solid #F3EDE4;padding-bottom:0.5rem}.novo-privacy-subblock{background-color:#FAF8F5;border:1px solid #EBE3D8}.novo-subblock-title{color:#2B3830;font-weight:600}.novo-cookie-card{background-color:#FAF8F5;border:1px solid #EBE3D8}.novo-list{padding-left:1.25rem;line-height:1.75;color:#1C2521}.novo-list li{margin-bottom:0.35rem}.novo-inline-link{color:#B56B45;text-decoration:underline;text-underline-offset:3px}.novo-inline-link:hover{color:#A05A36}.novo-privacy-contact-box{background-color:#F3EDE4;border:1px solid #EBE3D8}.novo-privacy-primary-btn{background-color:#2B3830;color:#FFFFFF;border-radius:50px;padding:0.65rem 1.5rem;font-weight:500;border:1px solid transparent;transition:all 0.2s ease}.novo-privacy-primary-btn:hover{background-color:#1E2722;color:#FFFFFF;transform:translateY(-1px);box-shadow:0 4px 12px rgba(43,56,48,0.15)}.novo-icon{stroke:#B56B45;vertical-align:middle}@media(max-width:767.98px){.novo-privacy-title{font-size:1.5rem}.novo-block-title{font-size:1.15rem}.novo-subblock-title{font-size:1rem}}

/* ===== PAGE: terms-of-use ===== */
.terms-page-wrapper {
  background-color: #FAF8F5;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  color: #1C2521;
}

.terms-page-wrapper .terms-pill-badge {
  background-color: #EFE6DB;
  color: #5C4A3A;
  font-size: 0.825rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 600;
}

.terms-page-wrapper .terms-main-title {
  font-family: 'Lora', Georgia, serif;
  color: #2B3830;
  line-height: 1.25;
}

.terms-page-wrapper .terms-lead-text {
  max-width: 680px;
  font-size: 1.1rem;
  line-height: 1.6;
}

.terms-page-wrapper .terms-meta-info {
  font-size: 0.875rem;
}

.terms-page-wrapper .terms-toc-card {
  background-color: #FFFFFF;
  border: 1px solid #EBE3D8 !important;
}

.terms-page-wrapper .terms-toc-title {
  font-family: 'Lora', Georgia, serif;
  color: #2B3830;
}

.terms-page-wrapper .terms-toc-link {
  color: #67736C;
  font-size: 0.9rem;
  padding: 0.45rem 0.75rem;
  border-radius: 8px;
  transition: all 0.2s ease;
  text-decoration: none;
}

.terms-page-wrapper .terms-toc-link:hover,
.terms-page-wrapper .terms-toc-link.active {
  color: #2B3830;
  background-color: #F3EDE4;
  font-weight: 600;
}

.terms-page-wrapper .terms-quick-box {
  background-color: #F3EDE4;
  border: 1px solid #E4DACD;
}

.terms-page-wrapper .terms-quick-title {
  color: #2B3830;
}

.terms-page-wrapper .terms-btn-primary {
  background-color: #2B3830;
  color: #FFFFFF;
  border-radius: 50px;
  padding: 0.5rem 1rem;
  font-weight: 500;
  border: 1px solid transparent;
  transition: all 0.3s ease;
}

.terms-page-wrapper .terms-btn-primary:hover {
  background-color: #1E2722;
  color: #FFFFFF;
  transform: translateY(-1px);
}

.terms-page-wrapper .terms-content-card {
  background-color: #FFFFFF;
  border: 1px solid #EBE3D8 !important;
}

.terms-page-wrapper .terms-section-heading {
  font-family: 'Lora', Georgia, serif;
  color: #2B3830;
  position: relative;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #F3EDE4;
}

.terms-page-wrapper .terms-paragraph {
  font-size: 0.98rem;
  line-height: 1.7;
}

.terms-page-wrapper .terms-list {
  line-height: 1.7;
  font-size: 0.98rem;
}

.terms-page-wrapper .terms-inline-link {
  color: #B56B45;
  text-decoration: underline;
  font-weight: 500;
  transition: color 0.2s ease;
}

.terms-page-wrapper .terms-inline-link:hover {
  color: #A05A36;
}

.terms-page-wrapper .terms-highlight-box {
  background-color: #F3EDE4;
  border-left: 3px solid #B56B45;
}

.terms-page-wrapper .terms-highlight-title {
  color: #2B3830;
}

.terms-page-wrapper .terms-contact-pill {
  background-color: #FAF8F5;
  border: 1px solid #EBE3D8;
}

.terms-page-wrapper .terms-contact-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #EFE6DB;
  color: #5C4A3A;
}

/* ===== PAGE: disclaimer ===== */
.novo-disclaimer-section { background-color: #FAF8F5; font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif; color: #1C2521; min-height: 60vh; } .novo-disclaimer-card { background: #FFFFFF; border-radius: 20px; border: 1px solid #EBE3D8; box-shadow: 0 4px 20px -2px rgba(43, 56, 48, 0.04); } .novo-badge { background-color: #EFE6DB; color: #5C4A3A; font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; padding: 0.35rem 0.85rem; border-radius: 50px; } .novo-disclaimer-title { font-family: 'Lora', Georgia, serif; font-weight: 600; color: #2B3830; line-height: 1.25; font-size: clamp(1.75rem, 3vw, 2.35rem); } .novo-disclaimer-date { font-size: 0.875rem; color: #67736C; } .novo-alert-box { background-color: #F3EDE4; border: 1px solid #E4DACD; border-left: 4px solid #B56B45; border-radius: 12px; } .novo-alert-icon { color: #B56B45; } .novo-alert-text { font-size: 0.925rem; color: #2B3830; line-height: 1.5; } .novo-disclaimer-nav { background-color: #FAF8F5; border-radius: 12px; border: 1px solid #EBE3D8; } .novo-nav-title { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.05em; color: #67736C; } .novo-nav-pill { display: inline-block; font-size: 0.825rem; padding: 0.35rem 0.75rem; background-color: #FFFFFF; border: 1px solid #EBE3D8; border-radius: 50px; color: #2B3830; text-decoration: none; transition: all 0.2s ease; } .novo-nav-pill:hover { background-color: #2B3830; border-color: #2B3830; color: #FFFFFF; } .novo-section-title { font-family: 'Lora', Georgia, serif; color: #2B3830; font-weight: 500; font-size: clamp(1.2rem, 1.8vw, 1.45rem); border-bottom: 1px solid #F3EDE4; padding-bottom: 0.5rem; } .novo-content-block p { font-size: 0.95rem; line-height: 1.65; color: #1C2521; } .novo-list { padding-left: 1.25rem; font-size: 0.95rem; color: #1C2521; line-height: 1.65; } .novo-list li { margin-bottom: 0.5rem; } .novo-sub-card { background-color: #FAF8F5; border: 1px solid #EBE3D8; border-radius: 12px; } .novo-sub-card h3 { font-family: 'Lora', Georgia, serif; color: #2B3830; font-weight: 600; font-size: 1.05rem; } .novo-inline-link { color: #B56B45; text-decoration: underline; text-underline-offset: 3px; font-weight: 500; transition: color 0.2s ease; } .novo-inline-link:hover { color: #2B3830; } .novo-contact-box { background-color: #FAF8F5; border-radius: 12px; border: 1px dashed #D4A373; font-size: 0.925rem; } @media (max-width: 767.98px) { .novo-disclaimer-title { font-size: 1.5rem; } .novo-section-title { font-size: 1.15rem; } .novo-disclaimer-card { padding: 1.25rem !important; } }

/* ===== PAGE: refund-policy ===== */
.novo-refund-page{background-color:#FAF8F5;color:#1C2521;font-family:'Plus Jakarta Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}.novo-refund-page .novo-refund-badge{background-color:#EFE6DB;color:#5C4A3A;font-size:0.8rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;padding:0.4rem 1rem;border-radius:50px;border:1px solid #EBE3D8}.novo-refund-page .novo-refund-main-title{font-family:'Lora',Georgia,serif;font-weight:600;font-size:clamp(2rem,3.5vw,2.75rem);line-height:1.25;color:#2B3830}.novo-refund-page .novo-refund-lead{font-size:1.05rem;line-height:1.65;max-width:680px;color:#67736C}.novo-refund-page .novo-trial-card{background:linear-gradient(135deg,#FFFFFF 0%,#F3EDE4 100%);border:1px solid #EBE3D8;border-radius:20px;padding:2rem;box-shadow:0 4px 20px -2px rgba(43,56,48,0.04)}.novo-refund-page .novo-trial-number-wrap{background-color:#2B3830;color:#FFFFFF;border-radius:16px;padding:1.25rem 1rem;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:110px}.novo-refund-page .novo-trial-number{font-family:'Lora',Georgia,serif;font-size:2.25rem;font-weight:600;line-height:1;color:#FAF8F5}.novo-refund-page .novo-trial-unit{font-size:0.85rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;color:#D8E0DC}.novo-refund-page .novo-trial-title{font-family:'Lora',Georgia,serif;font-size:1.5rem;font-weight:500;color:#2B3830}.novo-refund-page .novo-trial-text{color:#67736C;font-size:0.95rem;line-height:1.65}.novo-refund-page .novo-section-title{font-family:'Lora',Georgia,serif;font-size:1.45rem;font-weight:500;color:#2B3830;border-left:3px solid #B56B45;padding-left:0.75rem}.novo-refund-page .novo-step-card{background-color:#FFFFFF;border:1px solid #EBE3D8;border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px rgba(43,56,48,0.03);transition:transform 0.3s ease,box-shadow 0.3s ease}.novo-refund-page .novo-step-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px -4px rgba(43,56,48,0.08)}.novo-refund-page .novo-step-index{font-family:'Lora',Georgia,serif;font-size:1.25rem;font-weight:600;color:#B56B45;margin-bottom:0.75rem}.novo-refund-page .novo-step-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.1rem;font-weight:600;color:#2B3830;margin-bottom:0.5rem}.novo-refund-page .novo-step-desc{font-size:0.9rem;line-height:1.6;color:#67736C;margin-bottom:0}.novo-refund-page .novo-conditions-card{background-color:#FFFFFF;border:1px solid #EBE3D8;border-radius:16px;box-shadow:0 2px 8px rgba(43,56,48,0.03)}.novo-refund-page .novo-condition-item{display:flex;gap:1rem;align-items:flex-start}.novo-refund-page .novo-condition-icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;background-color:#FAF8F5;border:1px solid #EBE3D8;display:flex;align-items:center;justify-content:center;margin-top:0.15rem}.novo-refund-page .novo-condition-heading{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.05rem;font-weight:600;color:#2B3830;margin-bottom:0.5rem}.novo-refund-page .novo-condition-list{color:#67736C;font-size:0.9rem;line-height:1.6}.novo-refund-page .novo-condition-list li{margin-bottom:0.4rem}.novo-refund-page .novo-text-regular{color:#67736C;font-size:0.95rem;line-height:1.65}.novo-refund-page .novo-accordion-item{border:1px solid #EBE3D8;background-color:#FFFFFF;margin-bottom:0.75rem;border-radius:12px;overflow:hidden}.novo-refund-page .novo-accordion-btn{background-color:#FFFFFF;color:#2B3830;font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:1rem;padding:1.15rem 1.25rem;box-shadow:none}.novo-refund-page .novo-accordion-btn:focus{box-shadow:none;border-color:transparent}.novo-refund-page .novo-accordion-btn:not(.collapsed){background-color:#FAF8F5;color:#2B3830;box-shadow:none}.novo-refund-page .novo-accordion-body{background-color:#FAF8F5;color:#67736C;font-size:0.92rem;line-height:1.65;padding:1rem 1.25rem 1.25rem}.novo-refund-page .novo-help-card{background:linear-gradient(180deg,#FAF8F5 0%,#F3EDE4 100%);border:1px solid #E4DACD;border-radius:20px}.novo-refund-page .novo-help-title{font-family:'Lora',Georgia,serif;font-size:1.35rem;font-weight:500;color:#2B3830}.novo-refund-page .novo-help-desc{font-size:0.95rem;max-width:560px;margin-left:auto;margin-right:auto}.novo-refund-page .novo-btn-primary{background-color:#2B3830;color:#FFFFFF;border:1px solid transparent;border-radius:50px;font-weight:500;font-size:0.95rem;transition:all 0.35s ease;text-decoration:none}.novo-refund-page .novo-btn-primary:hover{background-color:#1E2722;color:#FFFFFF;transform:translateY(-1px);box-shadow:0 6px 18px rgba(43,56,48,0.16)}.novo-refund-page .novo-btn-outline{background-color:transparent;color:#2B3830;border:1.5px solid #2B3830;border-radius:50px;font-weight:500;font-size:0.95rem;transition:all 0.35s ease;text-decoration:none}.novo-refund-page .novo-btn-outline:hover{background-color:#2B3830;color:#FFFFFF}@media(max-width:767.98px){.novo-refund-page .novo-refund-main-title{font-size:1.75rem}.novo-refund-page .novo-section-title{font-size:1.25rem}.novo-refund-page .novo-trial-card{padding:1.25rem}}

/* ===== PAGE: delivery-information ===== */
.delivery-info-block {
  background-color: #FAF8F5;
  color: #1C2521;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  line-height: 1.65;
}

.delivery-info-block .delivery-main-title {
  font-family: 'Lora', Georgia, serif;
  color: #2B3830;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.015em;
}

.delivery-info-block .delivery-badge {
  background-color: #EFE6DB;
  color: #5C4A3A;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 0.45rem 1rem;
  border-radius: 50px;
  letter-spacing: 0.04em;
}

.delivery-info-block .delivery-lead-text {
  font-size: 1.1rem;
  color: #67736C;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.delivery-info-block .delivery-carrier-card {
  background-color: #FFFFFF;
  border: 1px solid #EBE3D8 !important;
  box-shadow: 0 4px 20px -2px rgba(43, 56, 48, 0.04);
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.delivery-info-block .delivery-carrier-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px -6px rgba(43, 56, 48, 0.08);
}

.delivery-info-block .delivery-carrier-card.featured {
  border: 1.5px solid #B56B45 !important;
  background: linear-gradient(180deg, #FFFFFF 0%, #FAF6F0 100%);
}

.delivery-info-block .carrier-badge-popular {
  background-color: #B56B45;
  color: #FFFFFF;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.4rem 0.8rem;
  border-radius: 20px;
}

.delivery-info-block .carrier-icon-wrap {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  background-color: #F3EDE4;
  display: flex;
  align-items: center;
  justify-content: center;
}

.delivery-info-block .delivery-icon {
  width: 26px;
  height: 26px;
  color: #2B3830;
}

.delivery-info-block .carrier-title {
  font-family: 'Lora', Georgia, serif;
  color: #2B3830;
  font-weight: 600;
}

.delivery-info-block .carrier-rate {
  font-size: 1.65rem;
  font-weight: 700;
  color: #2B3830;
}

.delivery-info-block .carrier-subrate {
  font-size: 0.875rem;
  font-weight: 500;
  color: #67736C;
}

.delivery-info-block .carrier-desc {
  font-size: 0.95rem;
  color: #67736C;
}

.delivery-info-block .carrier-features li {
  font-size: 0.9rem;
  color: #1C2521;
}

.delivery-info-block .check-icon {
  width: 18px;
  height: 18px;
  color: #B56B45;
  flex-shrink: 0;
}

.delivery-info-block .calculator-box {
  background-color: #2B3830;
  color: #FFFFFF;
}

.delivery-info-block .calculator-kicker {
  color: #D4A373;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
}

.delivery-info-block .calculator-heading {
  font-family: 'Lora', Georgia, serif;
  color: #FFFFFF;
  line-height: 1.3;
}

.delivery-info-block .calculator-sub {
  color: #D8E0DC;
  font-size: 0.95rem;
}

.delivery-info-block .calculator-label {
  color: #FAF8F5;
  font-size: 0.9rem;
}

.delivery-info-block .calculator-select {
  background-color: #FFFFFF;
  color: #1C2521;
  border: 1px solid #EBE3D8;
  padding: 0.75rem 1rem;
  border-radius: 10px;
  font-size: 0.95rem;
}

.delivery-info-block .calculator-results {
  background-color: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.delivery-info-block .result-label {
  color: #D8E0DC;
  font-size: 0.9rem;
}

.delivery-info-block .result-value {
  color: #D4A373;
  font-size: 0.95rem;
}

.delivery-info-block .inspection-showcase-box {
  background-color: #F3EDE4;
  border: 1px solid #E4DACD;
}

.delivery-info-block .showcase-kicker {
  color: #B56B45;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
}

.delivery-info-block .showcase-heading {
  font-family: 'Lora', Georgia, serif;
  color: #2B3830;
  line-height: 1.3;
}

.delivery-info-block .showcase-desc {
  color: #67736C;
  font-size: 0.95rem;
}

.delivery-info-block .delivery-feature-img {
  height: 220px;
  object-fit: cover;
}

.delivery-info-block .mini-stat-item {
  background-color: #FFFFFF;
  border: 1px solid #EBE3D8;
}

.delivery-info-block .mini-stat-num {
  color: #2B3830;
  font-size: 1.25rem;
}

.delivery-info-block .mini-stat-label {
  font-size: 0.75rem;
  color: #67736C;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.delivery-info-block .process-section {
  background-color: #FFFFFF;
  border: 1px solid #EBE3D8;
}

.delivery-info-block .process-heading {
  font-family: 'Lora', Georgia, serif;
  color: #2B3830;
}

.delivery-info-block .step-card {
  background-color: #FAF8F5;
  border: 1px solid #EBE3D8;
  transition: all 0.3s ease;
}

.delivery-info-block .step-card:hover {
  border-color: #D4A373;
  transform: translateY(-2px);
}

.delivery-info-block .step-num {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: #2B3830;
  color: #FFFFFF;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
}

.delivery-info-block .step-title {
  font-family: 'Lora', Georgia, serif;
  color: #2B3830;
  font-weight: 600;
}

.delivery-info-block .step-desc {
  font-size: 0.85rem;
  color: #67736C;
}

.delivery-info-block .faq-heading {
  font-family: 'Lora', Georgia, serif;
  color: #2B3830;
}

.delivery-info-block .delivery-accordion .accordion-item {
  border: 1px solid #EBE3D8 !important;
  background-color: #FFFFFF;
}

.delivery-info-block .delivery-accordion .accordion-button {
  background-color: #FFFFFF;
  color: #1C2521;
  font-weight: 600;
  font-size: 1rem;
  padding: 1.15rem 1.25rem;
  box-shadow: none;
}

.delivery-info-block .delivery-accordion .accordion-button:not(.collapsed) {
  color: #B56B45;
  background-color: #FAF8F5;
}

.delivery-info-block .delivery-accordion .accordion-body {
  color: #67736C;
  font-size: 0.95rem;
  line-height: 1.7;
  padding: 1.25rem;
}

.delivery-info-block .delivery-accordion .accordion-body a {
  color: #B56B45;
}

.delivery-info-block .delivery-help-banner {
  background-color: #F3EDE4;
  border: 1px solid #E4DACD;
}

.delivery-info-block .banner-title {
  font-family: 'Lora', Georgia, serif;
  color: #2B3830;
}

.delivery-info-block .banner-desc {
  color: #67736C;
}

.delivery-info-block .btn-delivery-contact {
  background-color: #2B3830;
  color: #FFFFFF;
  padding: 0.85rem 1.85rem;
  border-radius: 50px;
  font-weight: 500;
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
}

.delivery-info-block .btn-delivery-contact:hover {
  background-color: #1E2722;
  color: #FFFFFF;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(43, 56, 48, 0.16);
}

@media (max-width: 767.98px) {
  .delivery-info-block .delivery-main-title {
    font-size: 1.125rem;
    hyphens: auto;
  }
  .delivery-info-block h2 {
    font-size: 1rem;
    hyphens: auto;
  }
  .delivery-info-block h3 {
    font-size: 0.875rem;
    hyphens: auto;
  }
  .delivery-info-block .delivery-feature-img {
    height: 180px;
  }
}

.review-card {
    background-color: #FFFFFF;
    border: 1px solid #EBE3D8;
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 4px 20px -2px rgba(43, 56, 48, 0.04);
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.review-card:hover {
    box-shadow: 0 12px 28px -4px rgba(43, 56, 48, 0.07);
}

.review-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #FAF8F5;
    flex-shrink: 0;
}

.review-author-name {
    font-family: 'Lora', Georgia, serif;
    font-size: 1.05rem;
    font-weight: 600;
    color: #1C2521;
    line-height: 1.3;
}

.review-badge-verified {
    background-color: #EFE6DB;
    color: #5C4A3A;
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.2rem 0.6rem;
    border-radius: 50px;
    line-height: 1;
}

.review-icon-verified {
    color: #B56B45;
}

.review-star-rating {
    display: inline-flex;
    gap: 2px;
}

.review-star-rating .star-icon.active {
    color: #B56B45;
}

.review-date-text {
    font-size: 0.8rem;
    color: #96A09A;
    line-height: 1;
}

.review-item-tag {
    background-color: #F3EDE4;
    color: #67736C;
    font-size: 0.78rem;
    font-weight: 500;
    padding: 0.35rem 0.75rem;
    border-radius: 6px;
    border: 1px solid #E4DACD;
    max-width: 200px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.review-title {
    font-family: 'Lora', Georgia, serif;
    font-size: 1.1rem;
    font-weight: 500;
    color: #1C2521;
    margin-bottom: 0.45rem;
}

.review-paragraph {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    font-size: 0.95rem;
    color: #1C2521;
    line-height: 1.65;
    margin-bottom: 0;
}

.border-subtle {
    border-color: #EBE3D8 !important;
}

.review-helpful-label {
    font-size: 0.82rem;
    color: #67736C;
}

.review-action-btn {
    background: #FAF8F5;
    border: 1px solid #EBE3D8;
    border-radius: 50px;
    padding: 0.25rem 0.7rem;
    font-size: 0.8rem;
    color: #2B3830;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.review-action-btn:hover {
    background-color: #F3EDE4;
    border-color: #D4A373;
    color: #1C2521;
}

.review-reply-btn {
    background: transparent;
    border: none;
    padding: 0.3rem 0.6rem;
    font-size: 0.85rem;
    font-weight: 500;
    color: #67736C;
    cursor: pointer;
    transition: color 0.2s ease;
}

.review-reply-btn:hover {
    color: #B56B45;
}

.reply-thread-wrapper {
    position: relative;
    margin-top: 1rem;
    padding-left: 1.5rem;
}

@media (min-width: 576px) {
    .reply-thread-wrapper {
        padding-left: 2.75rem;
    }
}

.reply-connector-indicator {
    position: absolute;
    left: 0.5rem;
    top: 0;
    bottom: 1.75rem;
    width: 2px;
    background-color: #EBE3D8;
    border-radius: 2px;
}

@media (min-width: 576px) {
    .reply-connector-indicator {
        left: 1.25rem;
    }
}

.reply-card {
    background-color: #FAF8F5;
    border: 1px solid #EBE3D8;
    border-radius: 14px;
    padding: 1.15rem;
    transition: all 0.3s ease;
}

.reply-card:hover {
    border-color: #D4A373;
    background-color: #F8F5F0;
}

.reply-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #FFFFFF;
    flex-shrink: 0;
}

.reply-author-name {
    font-family: 'Lora', Georgia, serif;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1C2521;
}

.reply-badge-brand {
    background-color: #2B3830;
    color: #FFFFFF;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    padding: 0.15rem 0.55rem;
    border-radius: 50px;
}

.reply-date-text {
    font-size: 0.78rem;
    color: #96A09A;
    line-height: 1;
}

.reply-content-body {
    margin-top: 0.65rem;
}

.reply-paragraph {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    font-size: 0.9rem;
    color: #1C2521;
    line-height: 1.6;
    margin-bottom: 0;
}

.border-reply-subtle {
    border-color: #E8DFC7 !important;
}

.reply-action-btn {
    background: transparent;
    border: none;
    padding: 0.2rem 0.4rem;
    font-size: 0.78rem;
    font-weight: 500;
    color: #67736C;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    cursor: pointer;
    transition: color 0.2s ease;
}

.reply-action-btn:hover {
    color: #B56B45;
}

.reply-sub-btn {
    background: transparent;
    border: none;
    padding: 0.2rem 0.4rem;
    font-size: 0.78rem;
    font-weight: 500;
    color: #67736C;
    cursor: pointer;
    transition: color 0.2s ease;
}

.reply-sub-btn:hover {
    color: #2B3830;
    text-decoration: underline;
}


/* ===== PAGE TEMPLATE: catalog ===== */
.detail-page-body {
    background-color: #FAF8F5;
    color: #1C2521;
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
}

.novo-header {
    background-color: #FAF8F5;
    border-bottom: 1px solid #EBE3D8;
    z-index: 1030;
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
}

.novo-header .novo-header__topbar {
    background-color: #2B3830;
    color: #FAF8F5;
    font-size: 0.8125rem;
    padding: 0.45rem 0;
}

.novo-header .novo-header__topbar-text {
    color: #D8E0DC;
    font-weight: 400;
}

.novo-header .novo-header__topbar-link {
    color: #D4A373;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease;
}

.novo-header .novo-header__topbar-link:hover {
    color: #FAF8F5;
    text-decoration: underline;
}

.novo-header .novo-header__navbar {
    background-color: #FAF8F5;
    padding: 0.85rem 0;
}

.novo-header .novo-header__brand {
    text-decoration: none;
}

.novo-header .novo-header__logo {
    max-width: 44px;
    max-height: 44px;
    width: 44px;
    height: 44px;
    object-fit: contain;
}

.novo-header .novo-header__brand-title {
    font-family: 'Lora', Georgia, serif;
    font-weight: 600;
    font-size: 1.35rem;
    color: #1C2521;
    letter-spacing: -0.015em;
    line-height: 1.2;
}

.novo-header .novo-header__nav-list {
    gap: 0.5rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

@media (min-width: 992px) {
    .novo-header .novo-header__nav-list {
        gap: 1.75rem;
        margin-top: 0;
        margin-bottom: 0;
    }
}

.novo-header .novo-header__nav-link {
    color: #2B3830;
    font-weight: 500;
    font-size: 0.95rem;
    padding: 0.5rem 0.75rem;
    transition: color 0.2s ease, background-color 0.2s ease;
    border-radius: 8px;
}

.novo-header .novo-header__nav-link:hover,
.novo-header .novo-header__nav-link:focus {
    color: #B56B45;
    background-color: #F3EDE4;
}

.novo-header .novo-header__cart-btn {
    background-color: #F3EDE4;
    border: 1px solid #EBE3D8;
    color: #2B3830;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
}

.novo-header .novo-header__cart-btn:hover {
    background-color: #2B3830;
    color: #FAF8F5;
    border-color: #2B3830;
    transform: translateY(-1px);
}

.novo-header .novo-header__cart-icon {
    stroke: currentColor;
}

.novo-header .novo-header__cart-badge {
    background-color: #B56B45;
    color: #FFFFFF;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.25em 0.5em;
    border-radius: 50rem;
    min-width: 1.25rem;
    border: 2px solid #FAF8F5;
}

.novo-header .novo-header__toggler {
    border: 1px solid #EBE3D8;
    background-color: #F3EDE4;
    padding: 0.5rem 0.65rem;
    border-radius: 8px;
}

.novo-header .novo-header__toggler:focus {
    box-shadow: 0 0 0 2px rgba(43, 56, 48, 0.25);
    outline: none;
}

@media (max-width: 991.98px) {
    .novo-header .novo-header__menu-wrapper {
        background-color: #FAF8F5;
        padding: 1rem 0.5rem 0.5rem;
        border-top: 1px solid #EBE3D8;
        margin-top: 0.75rem;
    }

    .novo-header .novo-header__nav-link {
        padding: 0.65rem 1rem;
        border-radius: 8px;
        font-size: 0.95rem;
    }
}

.product-detail-page .np-breadcrumb-nav {
    background-color: #FAF8F5;
    border-color: #EBE3D8 !important;
}

.product-detail-page .np-breadcrumb-link {
    color: #67736C;
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.2s ease;
}

.product-detail-page .np-breadcrumb-link:hover {
    color: #B56B45;
}

.product-detail-page .breadcrumb-item.active {
    color: #1C2521;
    font-size: 0.875rem;
    font-weight: 500;
}

.product-detail-page .np-product-hero-image {
    aspect-ratio: 4/3;
    object-fit: cover;
    background-color: #FFFFFF;
}

.product-detail-page .np-gallery-main {
    border: 1px solid #EBE3D8;
}

.product-detail-page .np-thumb-btn {
    background: none;
    border-color: #EBE3D8 !important;
    cursor: pointer;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.product-detail-page .np-thumb-btn img {
    aspect-ratio: 4/3;
    object-fit: cover;
}

.product-detail-page .np-thumb-btn.active,
.product-detail-page .np-thumb-btn:hover {
    border-color: #B56B45 !important;
    transform: translateY(-2px);
}

.product-detail-page .np-product-summary {
    border-color: #EBE3D8 !important;
}

.product-detail-page .np-badge-status {
    background-color: #EFE6DB;
    border: 1px solid #E4DACD;
}

.product-detail-page .np-badge-dot {
    width: 8px;
    height: 8px;
    background-color: #B56B45;
}

.product-detail-page .np-badge-text {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #5C4A3A;
}

.product-detail-page .np-product-title {
    font-family: 'Lora', Georgia, serif;
    font-size: clamp(1.75rem, 2.5vw, 2.35rem);
    color: #1C2521;
    line-height: 1.25;
}

.product-detail-page .np-review-summary-text {
    font-size: 0.85rem;
    color: #67736C;
}

.product-detail-page .np-price-value {
    font-family: 'Lora', Georgia, serif;
    font-size: 2.2rem;
    font-weight: 600;
    color: #2B3830;
}

.product-detail-page .np-price-currency {
    font-size: 1.1rem;
    font-weight: 500;
}

.product-detail-page .np-short-description {
    color: #67736C;
    line-height: 1.6;
    font-size: 0.95rem;
}

.product-detail-page .np-btn-cart {
    background-color: #2B3830;
    color: #FFFFFF;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1.05rem;
    border: 1px solid #2B3830;
    transition: all 0.3s ease;
}

.product-detail-page .np-btn-cart:hover {
    background-color: #1E2722;
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(43, 56, 48, 0.16);
}

.product-detail-page .np-trust-label {
    font-size: 0.8125rem;
    color: #2B3830;
    font-weight: 500;
}

.product-detail-page .bg-light-cream {
    background-color: #F3EDE4;
}

.product-detail-page .np-tab-btn {
    background-color: #FFFFFF;
    color: #2B3830;
    border: 1px solid #EBE3D8;
    border-radius: 50px;
    padding: 0.65rem 1.4rem;
    font-weight: 500;
    font-size: 0.92rem;
    transition: all 0.25s ease;
}

.product-detail-page .np-tab-btn.active,
.product-detail-page .np-tab-btn:hover {
    background-color: #2B3830;
    color: #FFFFFF;
    border-color: #2B3830;
}

.product-detail-page .np-tab-contents-container {
    border-color: #EBE3D8 !important;
}

.product-detail-page .np-pane-heading {
    font-family: 'Lora', Georgia, serif;
    font-size: 1.4rem;
    color: #1C2521;
}

.product-detail-page .np-text-content {
    color: #67736C;
    line-height: 1.7;
    font-size: 0.95rem;
}

.product-detail-page .np-feature-list {
    padding-left: 1.25rem;
    color: #67736C;
    line-height: 1.8;
}

.product-detail-page .np-spec-table th {
    background-color: #FAF8F5;
    color: #1C2521;
    width: 35%;
    font-weight: 600;
}

.product-detail-page .np-spec-table td {
    color: #67736C;
}

.product-detail-page .np-btn-outline-custom {
    border: 1.5px solid #2B3830;
    color: #2B3830;
    border-radius: 50px;
    padding: 0.5rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.product-detail-page .np-btn-outline-custom:hover {
    background-color: #2B3830;
    color: #FFFFFF;
}

.product-detail-page .review-card {
    border: 1px solid #EBE3D8;
    border-radius: 12px;
    padding: 1.25rem;
    background-color: #FFFFFF;
}

.product-detail-page .review-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #EBE3D8;
}

.product-detail-page .review-author-name {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1C2521;
}

.product-detail-page .review-badge-verified {
    background-color: #EFE6DB;
    color: #5C4A3A;
    font-size: 0.725rem;
    font-weight: 600;
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
}

.product-detail-page .review-icon-verified {
    color: #B56B45;
}

.product-detail-page .star-icon.active {
    color: #E89F2A;
}

.product-detail-page .review-date-text {
    font-size: 0.775rem;
    color: #96A09A;
}

.product-detail-page .review-item-tag {
    background-color: #F3EDE4;
    color: #2B3830;
    font-size: 0.75rem;
    padding: 0.25rem 0.6rem;
    border-radius: 50px;
    font-weight: 500;
}

.product-detail-page .review-title {
    font-size: 1rem;
    font-weight: 600;
    color: #1C2521;
    margin-bottom: 0.35rem;
}

.product-detail-page .review-paragraph {
    font-size: 0.9rem;
    color: #67736C;
    line-height: 1.6;
    margin-bottom: 0;
}

.product-detail-page .border-subtle {
    border-color: #EBE3D8 !important;
}

.product-detail-page .review-helpful-label {
    font-size: 0.8rem;
    color: #96A09A;
}

.product-detail-page .review-action-btn {
    border: 1px solid #EBE3D8;
    background-color: #FAF8F5;
    color: #67736C;
    border-radius: 20px;
    padding: 0.2rem 0.6rem;
    font-size: 0.8rem;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.product-detail-page .review-action-btn.active,
.product-detail-page .review-action-btn:hover {
    background-color: #2B3830;
    color: #FFFFFF;
    border-color: #2B3830;
}

.product-detail-page .review-reply-btn {
    border: none;
    background: none;
    color: #B56B45;
    font-size: 0.825rem;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
}

.product-detail-page .np-input {
    background-color: #FAF8F5;
    border-color: #EBE3D8;
    color: #1C2521;
    border-radius: 8px;
    padding: 0.65rem 0.9rem;
}

.product-detail-page .np-input:focus {
    background-color: #FFFFFF;
    border-color: #2B3830;
    box-shadow: 0 0 0 2px rgba(43, 56, 48, 0.15);
    color: #1C2521;
}

.product-detail-page .np-input::placeholder {
    color: #96A09A;
}

.product-detail-page .np-order-card {
    border-color: #EBE3D8 !important;
}

.product-detail-page .np-section-tag {
    font-size: 0.775rem;
    letter-spacing: 0.08em;
    color: #B56B45;
}

.product-detail-page .np-order-title {
    font-family: 'Lora', Georgia, serif;
    font-size: clamp(1.5rem, 2vw, 2rem);
    color: #1C2521;
}

.product-detail-page .np-order-subtitle {
    font-size: 0.92rem;
}

.product-detail-page .np-order-total-price {
    font-family: 'Lora', Georgia, serif;
    font-size: 1.35rem;
    color: #2B3830;
}

.product-detail-page .np-btn-primary {
    background-color: #2B3830;
    color: #FFFFFF;
    border: 1px solid #2B3830;
    border-radius: 50px;
    padding: 0.85rem 1.85rem;
    font-weight: 500;
    font-size: 0.95rem;
    text-decoration: none;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.product-detail-page .np-btn-primary:hover,
.product-detail-page .np-btn-primary:focus {
    background-color: #1E2722;
    border-color: #1E2722;
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(43, 56, 48, 0.16);
}

.site-footer {
    background-color: #2B3830;
    color: #FFFFFF;
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    padding-top: clamp(3.5rem, 6vw, 5rem);
    padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
    position: relative;
    border-top: 1px solid rgba(235, 227, 216, 0.12);
    width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
}

.site-footer .footer-top-section {
    padding-bottom: clamp(2rem, 4vw, 3rem);
}

.site-footer .footer-brand-title {
    font-family: 'Lora', Georgia, serif;
    font-size: clamp(1.5rem, 2vw, 1.85rem);
    font-weight: 500;
    color: #FFFFFF;
    margin-bottom: 0.85rem;
    line-height: 1.25;
    letter-spacing: -0.015em;
}

.site-footer .footer-brand-tagline {
    font-size: 0.95rem;
    line-height: 1.65;
    color: #D8E0DC;
    margin-bottom: 1.5rem;
    max-width: 380px;
}

.site-footer .footer-wa-wrapper {
    display: flex;
    align-items: center;
}

.site-footer .footer-whatsapp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    background-color: #B56B45;
    color: #FFFFFF;
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
    padding: 0.85rem 1.65rem;
    border-radius: 50px;
    border: 1px solid transparent;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}

.site-footer .footer-whatsapp-btn:hover {
    background-color: #A05A36;
    color: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
}

.site-footer .footer-btn-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.site-footer .footer-col-title {
    font-family: 'Lora', Georgia, serif;
    font-size: 1.15rem;
    font-weight: 500;
    color: #FAF8F5;
    margin-bottom: 1.25rem;
    line-height: 1.3;
    position: relative;
}

.site-footer .footer-nav-group,
.site-footer .footer-contact-group {
    height: 100%;
}

.site-footer .footer-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.site-footer .footer-nav-link {
    color: #D8E0DC;
    text-decoration: none;
    font-size: 0.92rem;
    line-height: 1.4;
    transition: color 0.2s ease, transform 0.2s ease;
    display: inline-block;
}

.site-footer .footer-nav-link:hover {
    color: #D4A373;
    transform: translateX(3px);
}

.site-footer .footer-contact-items {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.site-footer .footer-contact-row {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    color: #D8E0DC;
}

.site-footer .footer-item-icon {
    width: 18px;
    height: 18px;
    stroke: #D4A373;
    flex-shrink: 0;
    margin-top: 0.2rem;
}

.site-footer .footer-contact-text {
    font-size: 0.92rem;
    line-height: 1.5;
    color: #D8E0DC;
    word-break: break-word;
}

.site-footer .footer-contact-link {
    font-size: 0.92rem;
    line-height: 1.5;
    color: #D8E0DC;
    text-decoration: none;
    transition: color 0.2s ease;
    word-break: break-all;
}

.site-footer .footer-contact-link:hover {
    color: #D4A373;
}

.site-footer .footer-bottom-section {
    border-top: 1px solid rgba(235, 227, 216, 0.12);
    padding-top: 1.5rem;
    margin-top: 0.5rem;
}

.site-footer .footer-copyright-text {
    font-size: 0.85rem;
    color: #A6B3AC;
    margin: 0;
    line-height: 1.6;
}

.site-footer .footer-origin-text {
    font-size: 0.85rem;
    color: #A6B3AC;
    margin: 0;
    line-height: 1.6;
    font-style: italic;
}

@media (max-width: 767.98px) {
    .site-footer .footer-brand-title {
        font-size: 16px;
        hyphens: auto;
    }

    .site-footer .footer-col-title {
        font-size: 14px;
        margin-bottom: 0.85rem;
    }

    .site-footer .footer-brand-tagline {
        font-size: 0.875rem;
    }

    .site-footer .footer-whatsapp-btn {
        width: 100%;
    }
}

/* ===== PAGE TEMPLATE: interior-ideas ===== */
.detail-page-body {
    background-color: #FAF8F5;
    color: #1C2521;
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.65;
    overflow-x: hidden;
}

.article-detail-layout .detail-hero-section {
    background: linear-gradient(180deg, #F3EDE4 0%, #FAF8F5 100%);
    padding: 2.5rem 0 2rem;
    border-bottom: 1px solid #EBE3D8;
}

.article-detail-layout .detail-breadcrumb-nav .breadcrumb-item,
.article-detail-layout .detail-breadcrumb-nav .breadcrumb-link {
    font-size: 0.85rem;
    color: #67736C;
    text-decoration: none;
}

.article-detail-layout .detail-breadcrumb-nav .breadcrumb-link:hover {
    color: #B56B45;
}

.article-detail-layout .detail-breadcrumb-nav .breadcrumb-item.active {
    color: #2B3830;
    font-weight: 500;
}

.article-detail-layout .detail-topic-badge {
    background-color: #EFE6DB;
    border: 1px solid #E4DACD;
}

.article-detail-layout .detail-topic-dot {
    width: 7px;
    height: 7px;
    background-color: #B56B45;
}

.article-detail-layout .detail-topic-text {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #5C4A3A;
    letter-spacing: 0.02em;
}

.article-detail-layout .detail-main-title {
    font-family: 'Lora', Georgia, serif;
    font-size: clamp(2rem, 3.2vw + 0.5rem, 3rem);
    color: #1C2521;
    line-height: 1.25;
    font-weight: 500;
    letter-spacing: -0.015em;
}

.article-detail-layout .detail-main-subtitle {
    font-size: clamp(1rem, 1.2vw, 1.15rem);
    color: #67736C;
    line-height: 1.6;
}

.article-detail-layout .detail-meta-wrapper {
    color: #67736C;
    font-size: 0.9rem;
}

.article-detail-layout .detail-meta-icon {
    color: #B56B45;
    display: inline-flex;
}

.article-detail-layout .detail-meta-value {
    font-weight: 500;
    color: #2B3830;
}

.article-detail-layout .detail-meta-divider {
    color: #96A09A;
}

.article-detail-layout .detail-share-box {
    background-color: #FFFFFF;
    border: 1px solid #EBE3D8;
}

.article-detail-layout .detail-share-title {
    font-size: 0.85rem;
    font-weight: 600;
    color: #2B3830;
}

.article-detail-layout .detail-share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #F3EDE4;
    border: 1px solid #E4DACD;
    color: #2B3830;
    text-decoration: none;
    transition: all 0.25s ease;
}

.article-detail-layout .detail-share-btn:hover {
    background-color: #2B3830;
    color: #FFFFFF;
    transform: translateY(-2px);
}

.article-detail-layout .detail-featured-media {
    border: 1px solid #EBE3D8;
    background-color: #FFFFFF;
    aspect-ratio: 16/9;
}

.article-detail-layout .detail-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.article-detail-layout .detail-article-prose .detail-lead-text {
    font-size: 1.125rem;
    line-height: 1.75;
    color: #2B3830;
    font-weight: 400;
    margin-bottom: 1.75rem;
}

.article-detail-layout .detail-article-prose .detail-heading-2 {
    font-family: 'Lora', Georgia, serif;
    font-size: clamp(1.45rem, 2vw, 1.85rem);
    color: #1C2521;
    font-weight: 500;
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.article-detail-layout .detail-article-prose .detail-heading-3 {
    font-family: 'Lora', Georgia, serif;
    font-size: clamp(1.2rem, 1.5vw, 1.45rem);
    color: #1C2521;
    font-weight: 500;
    margin-top: 1.75rem;
    margin-bottom: 0.85rem;
}

.article-detail-layout .detail-article-prose p {
    color: #67736C;
    margin-bottom: 1.25rem;
}

.article-detail-layout .detail-interactive-tab-box {
    background-color: #F3EDE4;
    border: 1px solid #E4DACD;
}

.article-detail-layout .detail-interactive-title {
    font-family: 'Lora', Georgia, serif;
    font-size: 1.25rem;
    color: #1C2521;
}

.article-detail-layout .detail-tab-btn {
    background-color: #FAF8F5;
    border: 1px solid #E4DACD;
    color: #2B3830;
    padding: 0.55rem 1.15rem;
    border-radius: 50px;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.25s ease;
}

.article-detail-layout .detail-tab-btn.active,
.article-detail-layout .detail-tab-btn:hover {
    background-color: #2B3830;
    color: #FFFFFF;
    border-color: #2B3830;
}

.article-detail-layout .detail-tab-pane p {
    color: #2B3830;
    line-height: 1.6;
}

.article-detail-layout .detail-quote-card {
    background-color: #FAF8F5;
    border-left: 4px solid #B56B45;
    border-top: 1px solid #EBE3D8;
    border-right: 1px solid #EBE3D8;
    border-bottom: 1px solid #EBE3D8;
}

.article-detail-layout .detail-quote-text {
    font-family: 'Lora', Georgia, serif;
    font-size: 1.15rem;
    font-style: italic;
    color: #2B3830;
    line-height: 1.65;
}

.article-detail-layout .detail-quote-author {
    font-size: 0.875rem;
    font-weight: 600;
    color: #B56B45;
}

.article-detail-layout .detail-styled-list {
    padding-left: 1.25rem;
    color: #67736C;
}

.article-detail-layout .detail-styled-list li {
    margin-bottom: 0.65rem;
}

.article-detail-layout .detail-order-box {
    background: linear-gradient(135deg, #2B3830 0%, #1E2722 100%);
    color: #FFFFFF;
    border: 1px solid #1E2722;
}

.article-detail-layout .detail-order-title {
    font-family: 'Lora', Georgia, serif;
    font-size: 1.5rem;
    color: #FFFFFF;
}

.article-detail-layout .detail-order-desc {
    color: #D8E0DC;
    font-size: 0.95rem;
}

.article-detail-layout .detail-input-label {
    font-size: 0.85rem;
    font-weight: 500;
    color: #FAF8F5;
}

.article-detail-layout .detail-input-control {
    background-color: #FAF8F5;
    border: 1px solid #EBE3D8;
    color: #1C2521;
    border-radius: 8px;
    padding: 0.65rem 0.85rem;
    font-size: 0.92rem;
}

.article-detail-layout .detail-input-control::placeholder {
    color: #96A09A;
    opacity: 1;
}

.article-detail-layout .detail-input-control:focus {
    background-color: #FFFFFF;
    border-color: #D4A373;
    box-shadow: 0 0 0 3px rgba(212, 163, 115, 0.25);
    color: #1C2521;
}

.article-detail-layout .detail-btn-submit {
    background-color: #B56B45;
    color: #FFFFFF;
    border: 1px solid #B56B45;
    padding: 0.8rem 1.5rem;
    border-radius: 50px;
    font-weight: 500;
    font-size: 0.95rem;
    transition: all 0.3s ease;
}

.article-detail-layout .detail-btn-submit:hover {
    background-color: #A05A36;
    border-color: #A05A36;
    color: #FFFFFF;
    transform: translateY(-1px);
}

.article-detail-layout .detail-comments-heading {
    font-family: 'Lora', Georgia, serif;
    font-size: 1.35rem;
    color: #1C2521;
}

.article-detail-layout .detail-comment-count-badge {
    background-color: #EFE6DB;
    color: #5C4A3A;
    font-size: 0.8125rem;
    font-weight: 600;
}

.article-detail-layout .review-card {
    background-color: #FFFFFF;
    border: 1px solid #EBE3D8;
    border-radius: 16px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.article-detail-layout .review-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    background-color: #F3EDE4;
}

.article-detail-layout .review-author-name {
    font-size: 1rem;
    font-weight: 600;
    color: #1C2521;
}

.article-detail-layout .review-badge-verified {
    background-color: #EFE6DB;
    color: #5C4A3A;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.2rem 0.55rem;
    border-radius: 50px;
}

.article-detail-layout .review-icon-verified {
    color: #B56B45;
}

.article-detail-layout .review-star-rating {
    display: inline-flex;
    gap: 2px;
    color: #D4A373;
}

.article-detail-layout .review-date-text {
    font-size: 0.8rem;
    color: #96A09A;
}

.article-detail-layout .review-item-tag {
    background-color: #F3EDE4;
    color: #2B3830;
    font-size: 0.78rem;
    padding: 0.25rem 0.65rem;
    border-radius: 6px;
    font-weight: 500;
}

.article-detail-layout .review-title {
    font-size: 1rem;
    font-weight: 600;
    color: #1C2521;
    margin-bottom: 0.35rem;
}

.article-detail-layout .review-paragraph {
    font-size: 0.92rem;
    color: #67736C;
    margin-bottom: 0;
}

.article-detail-layout .review-helpful-label {
    font-size: 0.8125rem;
    color: #67736C;
}

.article-detail-layout .review-action-btn {
    background-color: #F3EDE4;
    border: 1px solid #E4DACD;
    color: #2B3830;
    font-size: 0.8125rem;
    border-radius: 50px;
    padding: 0.25rem 0.75rem;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.article-detail-layout .review-action-btn.active {
    background-color: #2B3830;
    color: #FFFFFF;
    border-color: #2B3830;
}

.article-detail-layout .review-reply-btn {
    background: none;
    border: none;
    color: #B56B45;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
}

.article-detail-layout .review-reply-btn:hover {
    text-decoration: underline;
}

.article-detail-layout .detail-comment-form-box {
    background-color: #FFFFFF;
    border: 1px solid #EBE3D8;
}

.article-detail-layout .detail-comment-form-box .detail-input-label {
    color: #1C2521;
}

.article-detail-layout .detail-form-title {
    font-family: 'Lora', Georgia, serif;
    font-size: 1.25rem;
    color: #1C2521;
}

.article-detail-layout .detail-form-subtitle {
    font-size: 0.875rem;
    color: #67736C;
}

.article-detail-layout .detail-btn-primary {
    background-color: #2B3830;
    color: #FFFFFF;
    border: 1px solid #2B3830;
    padding: 0.75rem 1.65rem;
    border-radius: 50px;
    font-weight: 500;
    font-size: 0.92rem;
    transition: all 0.25s ease;
}

.article-detail-layout .detail-btn-primary:hover {
    background-color: #1E2722;
    color: #FFFFFF;
}

.article-detail-layout .detail-sidebar-card {
    background-color: #FFFFFF;
    border: 1px solid #EBE3D8;
}

.article-detail-layout .sidebar-card-title {
    font-family: 'Lora', Georgia, serif;
    font-size: 1.2rem;
    color: #1C2521;
    font-weight: 500;
}

.article-detail-layout .recent-post-category {
    font-size: 0.75rem;
    font-weight: 600;
    color: #B56B45;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.article-detail-layout .recent-post-title {
    font-size: 0.92rem;
    font-weight: 500;
    color: #1C2521;
    line-height: 1.4;
    transition: color 0.2s ease;
}

.article-detail-layout .recent-post-link {
    text-decoration: none;
}

.article-detail-layout .recent-post-link:hover .recent-post-title {
    color: #B56B45;
}

.article-detail-layout .detail-sidebar-banner {
    background-color: #F3EDE4;
    border: 1px solid #E4DACD;
}

.article-detail-layout .sidebar-banner-badge {
    background-color: #EFE6DB;
    color: #5C4A3A;
    font-size: 0.75rem;
    font-weight: 600;
}

.article-detail-layout .sidebar-banner-title {
    font-family: 'Lora', Georgia, serif;
    font-size: 1.25rem;
    color: #1C2521;
}

.article-detail-layout .sidebar-banner-text {
    font-size: 0.875rem;
    color: #67736C;
    line-height: 1.5;
}

.article-detail-layout .detail-btn-secondary {
    background-color: #FAF8F5;
    color: #2B3830;
    border: 1px solid #E4DACD;
    padding: 0.75rem 1.5rem;
    border-radius: 50px;
    font-weight: 500;
    font-size: 0.92rem;
    text-decoration: none;
    display: inline-block;
    transition: all 0.25s ease;
}

.article-detail-layout .detail-btn-secondary:hover {
    background-color: #2B3830;
    color: #FFFFFF;
    border-color: #2B3830;
}

@media (max-width: 767.98px) {
    .article-detail-layout .detail-main-title {
        font-size: 18px;
        hyphens: auto;
    }

    .article-detail-layout .detail-article-prose .detail-heading-2 {
        font-size: 16px;
        hyphens: auto;
    }

    .article-detail-layout .detail-article-prose .detail-heading-3 {
        font-size: 14px;
        hyphens: auto;
    }

    .article-detail-layout .detail-order-title,
    .article-detail-layout .detail-comments-heading,
    .article-detail-layout .sidebar-card-title,
    .article-detail-layout .sidebar-banner-title {
        font-size: 16px;
    }

    .article-detail-layout .detail-hero-section {
        padding: 1.5rem 0;
    }
}
