:root {
    --tm-primary: #C86D51;
    --tm-primary-hover: #B35B40;
    --tm-primary-light: #F6EAE6;
    --tm-secondary: #6A7B60;
    --tm-secondary-hover: #57664F;
    --tm-secondary-light: #EFF3ED;
    --tm-accent-sand: #D9C9B4;
    --tm-accent-warm-taupe: #8C7E72;
    --tm-bg-main: #FBF9F5;
    --tm-bg-surface: #FFFFFF;
    --tm-bg-surface-warm: #F5EFE6;
    --tm-bg-surface-elevated: #FFFFFF;
    --tm-bg-surface-subtle: #EFE9DF;
    --tm-text-primary: #2D2621;
    --tm-text-secondary: #5E564F;
    --tm-text-muted: #8A8177;
    --tm-text-inverse: #FFFFFF;
    --tm-border-default: rgba(106, 123, 96, 0.14);
    --tm-border-subtle: rgba(45, 38, 33, 0.08);
    --tm-border-hover: rgba(200, 109, 81, 0.35);
    --tm-border-focus: rgba(200, 109, 81, 0.55);
    --tm-shadow-soft: 0 8px 24px -6px rgba(45, 38, 33, 0.06);
    --tm-shadow-hover: 0 18px 36px -8px rgba(45, 38, 33, 0.12), 0 6px 12px -4px rgba(200, 109, 81, 0.08);
    --tm-shadow-elevated: 0 24px 48px -12px rgba(45, 38, 33, 0.14);
    --tm-font-headings: 'Cormorant Garamond', serif;
    --tm-font-body: 'Plus Jakarta Sans', sans-serif;
    --tm-radius-sm: 0.5rem;
    --tm-radius-md: 1rem;
    --tm-radius-lg: 1.5rem;
    --tm-radius-xl: 2rem;
    --tm-radius-full: 9999px;
}

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

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
    background-color: var(--tm-bg-main);
    color: var(--tm-text-primary);
    font-family: var(--tm-font-body);
    font-size: 1rem;
    line-height: 1.6;
    letter-spacing: 0.01em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--tm-font-headings);
    color: var(--tm-text-primary);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

p {
    margin-bottom: 1rem;
}

a {
    color: var(--tm-primary);
    text-decoration: none;
    transition: color 200ms cubic-bezier(0.22, 1, 0.36, 1), background-color 200ms cubic-bezier(0.22, 1, 0.36, 1), border-color 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

a:hover {
    color: var(--tm-primary-hover);
}

img,
video {
    max-width: 100%;
    height: auto;
    display: block;
}

.text-muted {
    color: #8A8177 !important;
}

/* ===== header ===== */
.tm-header {
    background: #FBF9F5;
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.06);
    z-index: 1030;
    font-family: 'Plus Jakarta Sans', sans-serif
}

.tm-header .tm-topbar {
    background: #F5EFE6;
    border-bottom: 1px solid rgba(45, 38, 33, 0.08);
    padding: 0.45rem 0;
    font-size: 0.8125rem
}

.tm-header .tm-topbar-link {
    color: #5E564F;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease
}

.tm-header .tm-topbar-link:hover {
    color: #C86D51
}

.tm-header .tm-topbar-divider {
    display: inline-block;
    width: 1px;
    height: 12px;
    background: rgba(45, 38, 33, 0.15)
}

.tm-header .tm-topbar-text {
    color: #5E564F;
    font-weight: 500
}

.tm-header .tm-topbar i {
    color: #C86D51
}

.tm-header .tm-nav {
    background: #FBF9F5;
    border-bottom: 1px solid rgba(45, 38, 33, 0.06);
    padding: 0.85rem 0
}

.tm-header .tm-brand {
    text-decoration: none
}

.tm-header .tm-brand-logo {
    max-width: 44px;
    max-height: 44px;
    object-fit: contain
}

.tm-header .tm-brand-text {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.65rem;
    font-weight: 700;
    color: #2D2621;
    letter-spacing: -0.02em;
    line-height: 1
}

.tm-header .tm-nav-menu {
    gap: 0.25rem
}

.tm-header .tm-nav-link {
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #2D2621;
    font-size: 0.9375rem;
    font-weight: 600;
    padding: 0.5rem 0.85rem;
    border-radius: 9999px;
    transition: all 0.2s ease
}

.tm-header .tm-nav-link:hover,
.tm-header .tm-nav-link:focus {
    color: #C86D51;
    background: #F6EAE6
}

.tm-header .tm-nav-link.active {
    color: #C86D51;
    background: #F6EAE6
}

.tm-header .tm-cart-trigger {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #EFF3ED;
    border: 1px solid rgba(106, 123, 96, 0.2);
    border-radius: 50%;
    color: #2D2621;
    transition: all 0.2s cubic-bezier(0.22, 1, 0.36, 1);
    padding: 0
}

.tm-header .tm-cart-trigger:hover {
    background: #F6EAE6;
    border-color: rgba(200, 109, 81, 0.35);
    color: #C86D51;
    transform: translateY(-2px)
}

.tm-header .tm-cart-icon {
    font-size: 1.25rem;
    line-height: 1
}

.tm-header .tm-cart-badge {
    background: #C86D51;
    color: #FFFFFF;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.3em 0.55em;
    border: 2px solid #FBF9F5
}

.tm-header .tm-cta-btn {
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    font-size: 0.875rem;
    font-weight: 600;
    border: none;
    border-radius: 9999px;
    padding: 0.65rem 1.45rem;
    box-shadow: 0 8px 18px -4px rgba(200, 109, 81, 0.35);
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.tm-header .tm-cta-btn:hover {
    background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -6px rgba(200, 109, 81, 0.45)
}

.tm-header .tm-toggler {
    border: 1px solid rgba(45, 38, 33, 0.12);
    background: #F5EFE6;
    border-radius: 0.5rem;
    padding: 0.4rem 0.65rem;
    color: #2D2621;
    outline: none
}

.tm-header .tm-toggler:focus {
    box-shadow: 0 0 0 3px rgba(200, 109, 81, 0.25)
}

.tm-header .tm-toggler-icon {
    font-size: 1.5rem;
    line-height: 1;
    display: block
}

@media(max-width:991.98px) {
    .tm-header .navbar-collapse {
        background: #FFFFFF;
        border: 1px solid rgba(45, 38, 33, 0.08);
        border-radius: 1rem;
        padding: 1.25rem;
        margin-top: 0.75rem;
        box-shadow: 0 18px 36px -8px rgba(45, 38, 33, 0.12)
    }

    .tm-header .tm-nav-link {
        padding: 0.65rem 1rem;
        font-size: 0.875rem
    }
}

/* ===== hero_section ===== */
.trips-hero-section {
    position: relative;
    min-height: 100vh;
    background-color: #2D2621;
    color: #FFFFFF;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.trips-hero-video-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
}

.trips-hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.trips-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(45, 38, 33, 0.88) 0%, rgba(45, 38, 33, 0.72) 50%, rgba(106, 123, 96, 0.6) 100%);
    backdrop-filter: blur(1px);
}

.trips-hero-content-container {
    z-index: 2;
}

.trips-hero-badge {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #F5EFE6;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.45rem 1.15rem;
    border-radius: 9999px;
    letter-spacing: 0.04em;
    backdrop-filter: blur(8px);
}

.trips-hero-badge-icon {
    color: #D47B60;
}

.trips-hero-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2.35rem, 5vw + 1rem, 4.25rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #FFFFFF;
    hyphens: auto;
}

.trips-hero-highlight {
    color: #D47B60;
    font-style: italic;
    font-weight: 600;
}

.trips-hero-lead {
    font-size: clamp(1rem, 1.2vw + 0.5rem, 1.15rem);
    line-height: 1.6;
    color: #F3EFEA;
    max-width: 620px;
}

.trips-hero-actions .btn {
    font-size: 0.95rem;
    font-weight: 600;
    padding: 0.9rem 2.1rem;
    border-radius: 9999px;
    transition: transform 300ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 300ms cubic-bezier(0.22, 1, 0.36, 1), background-color 300ms ease;
}

.trips-btn-primary {
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    border: none;
    box-shadow: 0 8px 20px -4px rgba(200, 109, 81, 0.45);
}

.trips-btn-primary:hover,
.trips-btn-primary:focus {
    background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -6px rgba(200, 109, 81, 0.55);
}

.trips-btn-outline {
    background: rgba(255, 255, 255, 0.08);
    color: #FFFFFF;
    border: 1.5px solid rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(6px);
}

.trips-btn-outline:hover,
.trips-btn-outline:focus {
    background: #FFFFFF;
    border-color: #FFFFFF;
    color: #2D2621;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px -4px rgba(0, 0, 0, 0.25);
}

.trips-hero-stat-deck {
    max-width: 380px;
}

.trips-stat-card {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 1.25rem;
    padding: 1.15rem 1.35rem;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 14px 32px -8px rgba(0, 0, 0, 0.3);
    transition: transform 300ms cubic-bezier(0.22, 1, 0.36, 1), border-color 300ms ease, background-color 300ms ease;
}

.trips-stat-card:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(212, 123, 96, 0.6);
}

.trips-stat-icon-box {
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(212, 123, 96, 0.3) 0%, rgba(106, 123, 96, 0.4) 100%);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #F5EFE6;
    font-size: 1.2rem;
}

.trips-stat-number {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #FFFFFF;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.trips-stat-label {
    font-size: 0.8rem;
    line-height: 1.35;
    color: #D2C9BD;
}

@media (max-width: 991.98px) {
    .trips-hero-stat-deck {
        max-width: 100%;
    }
}

@media (max-width: 767.98px) {
    .trips-hero-title {
        font-size: 1.85rem;
    }

    .trips-hero-badge {
        font-size: 0.75rem;
        padding: 0.35rem 0.85rem;
    }

    .trips-hero-lead {
        font-size: 0.95rem;
    }

    .trips-hero-actions .btn {
        width: 100%;
    }
}

/* ===== popular_mirrors ===== */
.popular-mirrors-section {
    background-color: #FBF9F5;
    color: #2D2621;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.popular-mirrors-section .popular-mirrors-badge {
    background-color: #EFF3ED;
    color: #57664F;
    border: 1px solid rgba(106, 123, 96, 0.25);
    border-radius: 9999px;
    padding: 0.35rem 0.95rem;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.popular-mirrors-section .popular-mirrors-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.75rem, 2.5vw + 0.75rem, 2.5rem);
    font-weight: 700;
    color: #2D2621;
    line-height: 1.2;
}

.popular-mirrors-section .popular-mirrors-subtitle {
    color: #5E564F;
    font-size: 1rem;
    line-height: 1.6;
    max-width: 620px;
}

.popular-mirrors-section .popular-mirrors-viewall-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #FFFFFF;
    color: #2D2621;
    border: 1.5px solid rgba(45, 38, 33, 0.18);
    border-radius: 9999px;
    padding: 0.75rem 1.6rem;
    font-weight: 600;
    font-size: 0.9375rem;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 4px 12px rgba(45, 38, 33, 0.04);
}

.popular-mirrors-section .popular-mirrors-viewall-btn:hover {
    background-color: #F5EFE6;
    border-color: #C86D51;
    color: #C86D51;
    transform: translateY(-2px);
}

.popular-mirrors-section .popular-mirrors-filter-pill {
    background-color: #FFFFFF;
    color: #5E564F;
    border: 1px solid rgba(45, 38, 33, 0.12);
    border-radius: 9999px;
    padding: 0.55rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s ease;
}

.popular-mirrors-section .popular-mirrors-filter-pill:hover {
    border-color: #C86D51;
    color: #C86D51;
}

.popular-mirrors-section .popular-mirrors-filter-pill.active {
    background: linear-gradient(135deg, #7B8D70 0%, #6A7B60 100%);
    color: #FFFFFF;
    border-color: transparent;
    box-shadow: 0 6px 14px -3px rgba(106, 123, 96, 0.35);
}

.popular-mirrors-section .popular-mirrors-card {
    background: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.14);
    border-radius: 1.25rem;
    overflow: hidden;
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.05);
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.3s ease;
}

.popular-mirrors-section .popular-mirrors-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px -10px rgba(45, 38, 33, 0.12), 0 8px 16px -4px rgba(200, 109, 81, 0.08);
    border-color: rgba(200, 109, 81, 0.35);
}

.popular-mirrors-section .popular-mirrors-media-wrap {
    aspect-ratio: 4 / 4.5;
    background-color: #F5EFE6;
    overflow: hidden;
}

.popular-mirrors-section .popular-mirrors-img-link {
    width: 100%;
    height: 100%;
}

.popular-mirrors-section .popular-mirrors-img {
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.popular-mirrors-section .popular-mirrors-card:hover .popular-mirrors-img {
    transform: scale(1.04);
}

.popular-mirrors-section .popular-mirrors-tag {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 2;
    background-color: rgba(251, 249, 245, 0.92);
    color: #57664F;
    border: 1px solid rgba(106, 123, 96, 0.2);
    backdrop-filter: blur(8px);
    border-radius: 9999px;
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.popular-mirrors-section .popular-mirrors-specs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    font-size: 0.775rem;
    color: #8C7E72;
}

.popular-mirrors-section .popular-mirrors-spec-item {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.popular-mirrors-section .popular-mirrors-spec-dot {
    opacity: 0.5;
}

.popular-mirrors-section .popular-mirrors-item-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.25;
}

.popular-mirrors-section .popular-mirrors-title-link {
    color: #2D2621;
    text-decoration: none;
    transition: color 0.2s ease;
}

.popular-mirrors-section .popular-mirrors-title-link:hover {
    color: #C86D51;
}

.popular-mirrors-section .popular-mirrors-desc {
    color: #5E564F;
    font-size: 0.875rem;
    line-height: 1.55;
}

.popular-mirrors-section .popular-mirrors-footer {
    border-top: 1px solid rgba(45, 38, 33, 0.08);
}

.popular-mirrors-section .popular-mirrors-price-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #8A8177;
    font-weight: 600;
}

.popular-mirrors-section .popular-mirrors-price-wrap {
    flex-shrink: 0;
    white-space: nowrap;
}

.popular-mirrors-section .popular-mirrors-price {
    font-size: 1.15rem;
    font-weight: 700;
    color: #2D2621;
    white-space: nowrap;
}

.popular-mirrors-section .popular-mirrors-buy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    border: none;
    border-radius: 9999px;
    padding: 0.65rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 600;
    box-shadow: 0 6px 14px -3px rgba(200, 109, 81, 0.35);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
    white-space: nowrap;
}

.popular-mirrors-section .popular-mirrors-buy-btn:hover {
    background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
    transform: translateY(-2px) scale(1.01);
    box-shadow: 0 10px 20px -4px rgba(200, 109, 81, 0.45);
}

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

    .popular-mirrors-section .popular-mirrors-item-title {
        font-size: 14px;
        hyphens: auto;
    }

    .popular-mirrors-section .popular-mirrors-card-body {
        padding: 1rem;
    }

    .popular-mirrors-section .popular-mirrors-buy-btn {
        padding: 0.55rem 1rem;
        font-size: 0.8125rem;
    }
}

/* ===== quantity_calculator ===== */
.tm-calc-block {
    background-color: #FBF9F5;
    color: #2D2621;
    font-family: 'Plus Jakarta Sans', sans-serif;
    border-top: 1px solid rgba(106, 123, 96, 0.12);
    border-bottom: 1px solid rgba(106, 123, 96, 0.12);
}

.tm-calc-block .tm-calc-eyebrow {
    color: #C86D51;
    font-size: 0.8125rem;
    letter-spacing: 0.08em;
}

.tm-calc-block .tm-calc-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.75rem, 2.5vw + 0.75rem, 2.5rem);
    line-height: 1.2;
    color: #2D2621;
    font-weight: 700;
}

.tm-calc-block .tm-calc-subtitle {
    color: #5E564F;
    font-size: 1rem;
    line-height: 1.6;
}

.tm-calc-block .tm-calc-card {
    background: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.14);
    border-radius: 1.5rem;
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.06);
}

.tm-calc-block .tm-calc-label {
    color: #2D2621;
    font-size: 0.95rem;
    letter-spacing: 0.01em;
}

.tm-calc-block .tm-calc-type-btn {
    background: #FBF9F5;
    border: 1.5px solid rgba(106, 123, 96, 0.16);
    border-radius: 1rem;
    color: #2D2621;
    transition: all 0.25s cubic-bezier(0.22, 1, 0.36, 1);
    cursor: pointer;
}

.tm-calc-block .tm-calc-type-btn:hover {
    border-color: #C86D51;
    background: #F6EAE6;
    transform: translateY(-2px);
}

.tm-calc-block .tm-calc-type-btn.active {
    background: #F6EAE6;
    border-color: #C86D51;
    box-shadow: 0 6px 14px -3px rgba(200, 109, 81, 0.22);
}

.tm-calc-block .tm-type-icon {
    font-size: 1.5rem;
    color: #C86D51;
}

.tm-calc-block .tm-type-name {
    font-size: 0.875rem;
    color: #2D2621;
}

.tm-calc-block .tm-type-sub {
    font-size: 0.75rem;
    color: #5E564F;
}

.tm-calc-block .tm-calc-input-wrapper {
    background: #FBF9F5;
    border: 1.5px solid rgba(106, 123, 96, 0.16);
    border-radius: 1rem;
}

.tm-calc-block .tm-input-title {
    font-size: 0.875rem;
    color: #2D2621;
}

.tm-calc-block .tm-val-badge {
    background: #EFF3ED;
    color: #57664F;
    border: 1px solid rgba(106, 123, 96, 0.2);
    padding: 0.2rem 0.65rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
}

.tm-calc-block .tm-stepper-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #FFFFFF;
    border: 1.5px solid rgba(106, 123, 96, 0.2);
    color: #2D2621;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    cursor: pointer;
}

.tm-calc-block .tm-stepper-btn:hover {
    background: #C86D51;
    color: #FFFFFF;
    border-color: #C86D51;
}

.tm-calc-block .tm-num-input {
    background: #FFFFFF;
    border: 1.5px solid rgba(106, 123, 96, 0.2);
    border-radius: 0.75rem;
    padding: 0.5rem 0.75rem;
    color: #2D2621;
    font-size: 1.125rem;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.tm-calc-block .tm-num-input:focus {
    border-color: #C86D51;
    box-shadow: 0 0 0 4px rgba(200, 109, 81, 0.12);
}

.tm-calc-block .tm-num-input::placeholder {
    color: #8A8177;
    opacity: 1;
}

.tm-calc-block .tm-coverage-pill {
    background: #FBF9F5;
    border: 1.5px solid rgba(106, 123, 96, 0.16);
    border-radius: 9999px;
    padding: 0.6rem 1rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #5E564F;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
}

.tm-calc-block .tm-coverage-pill:hover {
    border-color: #C86D51;
    color: #C86D51;
    background: #F6EAE6;
}

.tm-calc-block .tm-coverage-pill.active {
    background: #6A7B60;
    border-color: #6A7B60;
    color: #FFFFFF;
    box-shadow: 0 6px 14px -3px rgba(106, 123, 96, 0.3);
}

.tm-calc-block .tm-calc-result-card {
    background: linear-gradient(135deg, #F5EFE6 0%, #EFE9DF 100%);
    border: 1px solid rgba(217, 201, 180, 0.4);
    border-radius: 1.5rem;
    box-shadow: 0 12px 30px -8px rgba(45, 38, 33, 0.08);
}

.tm-calc-block .tm-summary-tag {
    color: #C86D51;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
}

.tm-calc-block .tm-live-indicator {
    font-size: 0.75rem;
    color: #57664F;
    background: #EFF3ED;
    border: 1px solid rgba(106, 123, 96, 0.2);
    padding: 0.2rem 0.6rem;
    border-radius: 9999px;
    font-weight: 600;
}

.tm-calc-block .tm-result-heading {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.35rem, 1.8vw + 0.5rem, 1.85rem);
    color: #2D2621;
    font-weight: 700;
}

.tm-calc-block .tm-metric-box {
    background: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.12);
    border-radius: 1rem;
    box-shadow: 0 4px 12px -3px rgba(45, 38, 33, 0.04);
}

.tm-calc-block .tm-metric-label {
    font-size: 0.75rem;
    color: #5E564F;
    font-weight: 500;
}

.tm-calc-block .tm-metric-val {
    font-size: 1.15rem;
    font-weight: 700;
    color: #2D2621;
    display: block;
}

.tm-calc-block .tm-metric-val.highlight {
    color: #C86D51;
}

.tm-calc-block .tm-recommended-preview {
    background: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.12);
    box-shadow: 0 4px 12px -3px rgba(45, 38, 33, 0.04);
}

.tm-calc-block .tm-preview-icon {
    width: 46px;
    height: 46px;
    background: #F6EAE6;
    color: #C86D51;
    flex-shrink: 0;
}

.tm-calc-block .tm-preview-label {
    font-size: 0.75rem;
    color: #5E564F;
}

.tm-calc-block .tm-preview-name {
    font-size: 1rem;
    font-weight: 700;
    color: #2D2621;
}

.tm-calc-block .tm-preview-rate {
    font-size: 0.8125rem;
    color: #57664F;
}

.tm-calc-block .tm-btn-primary {
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    border: none;
    border-radius: 9999px;
    box-shadow: 0 8px 18px -4px rgba(200, 109, 81, 0.35);
    transition: all 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}

.tm-calc-block .tm-btn-primary:hover {
    background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -6px rgba(200, 109, 81, 0.45);
}

.tm-calc-block .tm-btn-primary:active {
    transform: translateY(0);
}

.tm-calc-block .tm-secure-hint {
    font-size: 0.78125rem;
    color: #5E564F;
    text-align: center;
}

@media(max-width:767.98px) {
    .tm-calc-block .tm-calc-title {
        font-size: 16px;
        hyphens: auto;
    }

    .tm-calc-block .tm-result-heading {
        font-size: 14px;
        hyphens: auto;
    }

    .tm-calc-block .tm-num-input {
        font-size: 1rem;
    }

    .tm-calc-block .tm-metric-val {
        font-size: 1rem;
    }
}

/* ===== installment_and_parts ===== */
.tm-installment-section {
    background-color: #FBF9F5;
    color: #2D2621;
    font-family: 'Plus Jakarta Sans', sans-serif;
    line-height: 1.6;
}

.tm-installment-section .tm-installment-pill {
    background-color: #EFF3ED;
    color: #57664F;
    border: 1px solid rgba(106, 123, 96, 0.25);
    border-radius: 9999px;
    padding: 0.4rem 1.1rem;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.tm-installment-section .tm-installment-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.85rem, 3vw + 0.5rem, 2.75rem);
    font-weight: 700;
    color: #2D2621;
    line-height: 1.2;
}

.tm-installment-section .tm-installment-subtitle {
    color: #5E564F;
    font-size: clamp(0.95rem, 1.2vw, 1.1rem);
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.tm-installment-section .tm-installment-calc-card {
    background-color: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.14);
    border-radius: 1.75rem;
    box-shadow: 0 12px 32px -8px rgba(45, 38, 33, 0.06);
}

.tm-installment-section .tm-calc-label {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    color: #8C7E72;
}

.tm-installment-section .tm-calc-headline {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    font-weight: 600;
    color: #2D2621;
}

.tm-installment-section .tm-calc-toggle-btn {
    background-color: #F5EFE6;
    color: #2D2621;
    border: 1px solid rgba(217, 201, 180, 0.6);
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.45rem 1.15rem;
    transition: all 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.tm-installment-section .tm-calc-toggle-btn:hover {
    background-color: #EFE9DF;
    color: #C86D51;
    border-color: #C86D51;
}

.tm-installment-section .tm-calc-toggle-btn.active {
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    border-color: #C86D51;
    box-shadow: 0 4px 12px rgba(200, 109, 81, 0.3);
}

.tm-installment-section .tm-plan-card {
    background-color: #FAF8F4;
    border: 1px solid rgba(45, 38, 33, 0.08);
    border-radius: 1.25rem;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.tm-installment-section .tm-plan-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px -6px rgba(45, 38, 33, 0.08);
}

.tm-installment-section .tm-plan-card-popular {
    background-color: #FFFFFF;
    border: 2px solid #C86D51;
    box-shadow: 0 14px 28px -6px rgba(200, 109, 81, 0.12);
    position: relative;
}

.tm-installment-section .tm-plan-badge {
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.65rem;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.tm-installment-section .tm-plan-badge-highlight {
    background-color: #EFF3ED;
    color: #57664F;
}

.tm-installment-section .tm-plan-badge-popular {
    background-color: #F6EAE6;
    color: #B35B40;
}

.tm-installment-section .tm-plan-badge-neutral {
    background-color: #EFE9DF;
    color: #5E564F;
}

.tm-installment-section .tm-plan-tag {
    font-size: 0.75rem;
    color: #8A8177;
    font-weight: 500;
}

.tm-installment-section .tm-plan-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.45rem;
    font-weight: 700;
    color: #2D2621;
}

.tm-installment-section .tm-plan-desc {
    font-size: 0.85rem;
    color: #5E564F;
    min-height: 2.6rem;
}

.tm-installment-section .tm-plan-rate-box {
    background-color: #FFFFFF;
    border: 1px solid rgba(45, 38, 33, 0.06);
    border-radius: 0.85rem;
}

.tm-plan-card-popular .tm-plan-rate-box {
    background-color: #FBF9F5;
}

.tm-installment-section .tm-plan-rate-label {
    font-size: 0.75rem;
    color: #8A8177;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.tm-installment-section .tm-plan-amount {
    font-size: 1.6rem;
    font-weight: 700;
    color: #2D2621;
    line-height: 1.2;
}

.tm-installment-section .tm-plan-subdetail {
    font-size: 0.75rem;
    color: #8C7E72;
}

.tm-installment-section .tm-plan-row {
    font-size: 0.85rem;
}

.tm-installment-section .tm-detail-label {
    color: #5E564F;
}

.tm-installment-section .tm-detail-value {
    color: #2D2621;
}

.tm-installment-section .text-terracotta {
    color: #C86D51 !important;
}

.tm-installment-section .tm-step-card {
    background-color: #FFFFFF;
    border: 1px solid rgba(45, 38, 33, 0.06);
    border-radius: 1.25rem;
    box-shadow: 0 6px 18px -4px rgba(45, 38, 33, 0.04);
}

.tm-installment-section .tm-step-icon {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background-color: #F6EAE6;
    color: #C86D51;
    font-size: 1.5rem;
}

.tm-installment-section .tm-step-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #2D2621;
}

.tm-installment-section .tm-step-desc {
    font-size: 0.875rem;
    color: #5E564F;
}

.tm-installment-section .tm-btn-primary {
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    border: none;
    border-radius: 9999px;
    font-weight: 600;
    font-size: 0.95rem;
    box-shadow: 0 8px 18px -4px rgba(200, 109, 81, 0.35);
    transition: all 0.2s ease;
}

.tm-installment-section .tm-btn-primary:hover {
    background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -6px rgba(200, 109, 81, 0.45);
}

.tm-installment-section .tm-btn-outline {
    background: transparent;
    color: #2D2621;
    border: 1.5px solid rgba(45, 38, 33, 0.2);
    border-radius: 9999px;
    font-weight: 600;
    font-size: 0.95rem;
    transition: all 0.2s ease;
}

.tm-installment-section .tm-btn-outline:hover {
    background-color: #F5EFE6;
    border-color: #C86D51;
    color: #C86D51;
    transform: translateY(-2px);
}

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

    .tm-installment-section .tm-calc-headline,
    .tm-installment-section .tm-plan-name,
    .tm-installment-section .tm-step-title {
        font-size: 14px;
        hyphens: auto;
    }

    .tm-installment-section .tm-plan-desc {
        min-height: auto;
    }
}

/* ===== our_services ===== */
.trips-services-grid {
    background-color: #FBF9F5;
    color: #2D2621;
}

.trips-services-grid .trips-services-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    color: #C86D51;
    background-color: #F6EAE6;
    padding: 0.35rem 0.95rem;
    border-radius: 9999px;
    border: 1px solid rgba(200, 109, 81, 0.25);
}

.trips-services-grid .trips-services-heading {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.75rem, 2.5vw + 0.75rem, 2.5rem);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #2D2621;
    font-weight: 700;
}

.trips-services-grid .trips-services-lead {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    color: #5E564F;
}

.trips-services-grid .trips-service-card {
    background: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.14);
    border-radius: 1.25rem;
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.06);
    overflow: hidden;
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.3s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.3s ease;
}

.trips-services-grid .trips-service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 36px -8px rgba(45, 38, 33, 0.12), 0 6px 12px -4px rgba(200, 109, 81, 0.08);
    border-color: rgba(200, 109, 81, 0.35);
}

.trips-services-grid .trips-service-media-wrapper {
    aspect-ratio: 16 / 10;
    background: #F5EFE6;
}

.trips-services-grid .trips-service-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.trips-services-grid .trips-service-card:hover .trips-service-thumb {
    transform: scale(1.04);
}

.trips-services-grid .trips-service-tag {
    top: 0.85rem;
    left: 0.85rem;
    background: rgba(251, 249, 245, 0.92);
    backdrop-filter: blur(8px);
    color: #57664F;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.25rem 0.65rem;
    border-radius: 9999px;
    border: 1px solid rgba(106, 123, 96, 0.2);
    z-index: 2;
}

.trips-services-grid .trips-service-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.2rem, 1.4vw + 0.3rem, 1.45rem);
    line-height: 1.25;
    font-weight: 600;
}

.trips-services-grid .trips-title-anchor {
    color: #2D2621;
    text-decoration: none;
    transition: color 0.2s ease;
}

.trips-services-grid .trips-title-anchor:hover {
    color: #C86D51;
}

.trips-services-grid .trips-service-desc {
    font-size: 0.875rem;
    line-height: 1.55;
    color: #5E564F;
}

.trips-services-grid .trips-service-meta {
    border-color: rgba(45, 38, 33, 0.08) !important;
}

.trips-services-grid .trips-price-label {
    font-size: 0.72rem;
    color: #8A8177;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.trips-services-grid .trips-price-val {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.95rem;
    color: #2D2621;
}

.trips-services-grid .trips-btn-order {
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    border: none;
    border-radius: 9999px;
    padding: 0.55rem 1.15rem;
    font-size: 0.8125rem;
    font-weight: 600;
    box-shadow: 0 4px 12px -2px rgba(200, 109, 81, 0.35);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    white-space: nowrap;
}

.trips-services-grid .trips-btn-order:hover {
    background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px -4px rgba(200, 109, 81, 0.45);
}

.trips-services-grid .trips-services-guarantee {
    background: #F5EFE6;
    border: 1px solid rgba(217, 201, 180, 0.4);
}

.trips-services-grid .trips-guarantee-icon-wrap {
    width: 52px;
    height: 52px;
    background: #EFF3ED;
    color: #6A7B60;
    border: 1px solid rgba(106, 123, 96, 0.2);
}

.trips-services-grid .trips-guarantee-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: #2D2621;
}

.trips-services-grid .trips-guarantee-text {
    font-size: 0.875rem;
    color: #5E564F;
    line-height: 1.5;
}

@media (max-width: 767.98px) {
    .trips-services-grid .trips-services-heading {
        font-size: 16px;
        hyphens: auto;
    }

    .trips-services-grid .trips-service-title {
        font-size: 14px;
    }

    .trips-services-grid .trips-guarantee-title {
        font-size: 14px;
    }
}

/* ===== installation_and_maintenance ===== */
.installation-maintenance-section {
    background-color: #FBF9F5;
    color: #2D2621;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.installation-maintenance-section .im-eyebrow {
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #57664F;
    background-color: #EFF3ED;
    border: 1px solid rgba(106, 123, 96, 0.2);
    padding: 0.4rem 1rem;
    border-radius: 9999px;
}

.installation-maintenance-section .im-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.75rem, 2.5vw + 0.75rem, 2.5rem);
    line-height: 1.2;
    color: #2D2621;
    font-weight: 700;
}

.installation-maintenance-section .im-description {
    font-size: 1rem;
    color: #5E564F;
    line-height: 1.6;
}

.installation-maintenance-section .im-nav-pill-wrapper {
    background-color: #F5EFE6;
    border: 1px solid rgba(217, 201, 180, 0.4);
    border-radius: 9999px;
}

.installation-maintenance-section .im-tab-btn {
    border: none;
    background: transparent;
    color: #5E564F;
    font-size: 0.9rem;
    font-weight: 600;
    padding: 0.65rem 1.4rem;
    border-radius: 9999px;
    transition: all 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}

.installation-maintenance-section .im-tab-btn:hover {
    color: #C86D51;
}

.installation-maintenance-section .im-tab-btn.active {
    background-color: #FFFFFF;
    color: #2D2621;
    box-shadow: 0 4px 12px rgba(45, 38, 33, 0.08);
}

.installation-maintenance-section .im-tab-pane {
    display: none;
}

.installation-maintenance-section .im-tab-pane.active {
    display: block;
    animation: imFadeIn 0.35s ease;
}

@keyframes imFadeIn {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

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

.installation-maintenance-section .im-card {
    background-color: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.14);
    border-radius: 1.25rem;
    padding: 2rem;
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.06);
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.installation-maintenance-section .im-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 36px -8px rgba(45, 38, 33, 0.12);
}

.installation-maintenance-section .im-card-featured {
    border-color: rgba(200, 109, 81, 0.4);
    box-shadow: 0 12px 30px -8px rgba(200, 109, 81, 0.15);
}

.installation-maintenance-section .im-ribbon {
    position: absolute;
    top: 1rem;
    right: 1.25rem;
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.installation-maintenance-section .im-badge-soft {
    font-size: 0.78rem;
    font-weight: 600;
    color: #57664F;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.installation-maintenance-section .im-card-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.4rem;
    font-weight: 700;
    color: #2D2621;
}

.installation-maintenance-section .im-currency {
    font-size: 1.1rem;
    font-weight: 600;
    color: #2D2621;
}

.installation-maintenance-section .im-price-val {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.25rem;
    font-weight: 700;
    color: #C86D51;
    line-height: 1;
}

.installation-maintenance-section .im-price-unit {
    font-size: 0.85rem;
    color: #8A8177;
}

.installation-maintenance-section .im-meta-pill {
    background-color: #F5EFE6;
    color: #5E564F;
    font-size: 0.8rem;
    font-weight: 500;
    padding: 0.3rem 0.75rem;
    border-radius: 9999px;
}

.installation-maintenance-section .im-sub-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #2D2621;
}

.installation-maintenance-section .im-feature-list li {
    font-size: 0.9rem;
    color: #5E564F;
    margin-bottom: 0.55rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.installation-maintenance-section .im-feature-list li i {
    color: #6A7B60;
    font-size: 1.1rem;
}

.installation-maintenance-section .im-step-card {
    background-color: #FFFFFF;
    border: 1px solid rgba(45, 38, 33, 0.08);
    border-radius: 1.25rem;
    transition: transform 0.3s ease;
}

.installation-maintenance-section .im-step-card:hover {
    transform: translateY(-4px);
}

.installation-maintenance-section .im-step-num {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.75rem;
    font-weight: 700;
    color: #C86D51;
    background-color: #F6EAE6;
    width: 52px;
    height: 52px;
    line-height: 52px;
    border-radius: 50%;
}

.installation-maintenance-section .im-step-heading {
    font-size: 1.15rem;
    font-weight: 700;
    color: #2D2621;
}

.installation-maintenance-section .im-step-text {
    font-size: 0.88rem;
    color: #5E564F;
    line-height: 1.5;
}

.installation-maintenance-section .im-step-badge {
    background-color: #EFF3ED;
    color: #57664F;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.3rem 0.8rem;
    border-radius: 9999px;
}

.installation-maintenance-section .im-care-card {
    background-color: #FFFFFF;
    border: 1px solid rgba(217, 201, 180, 0.35);
    border-radius: 1.5rem;
}

.installation-maintenance-section .im-icon-box {
    width: 48px;
    height: 48px;
    background-color: #F6EAE6;
    color: #C86D51;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    flex-shrink: 0;
}

.installation-maintenance-section .im-care-heading {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    font-weight: 700;
    color: #2D2621;
}

.installation-maintenance-section .im-care-sub {
    font-size: 0.8rem;
    color: #8A8177;
}

.installation-maintenance-section .im-care-desc {
    font-size: 0.88rem;
    color: #5E564F;
    line-height: 1.5;
}

.installation-maintenance-section .im-cta-banner {
    background: linear-gradient(135deg, #F5EFE6 0%, #ECE3D4 100%);
    border: 1px solid rgba(217, 201, 180, 0.5);
    border-radius: 1.75rem;
}

.installation-maintenance-section .im-cta-eyebrow {
    font-size: 0.8rem;
    font-weight: 600;
    color: #57664F;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.installation-maintenance-section .im-cta-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.35rem, 1.8vw + 0.5rem, 1.85rem);
    font-weight: 700;
    color: #2D2621;
}

.installation-maintenance-section .im-cta-text {
    font-size: 0.95rem;
    color: #5E564F;
}

.installation-maintenance-section .im-btn-primary {
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    border: none;
    border-radius: 9999px;
    padding: 0.85rem 1.75rem;
    font-weight: 600;
    font-size: 0.95rem;
    box-shadow: 0 8px 18px -4px rgba(200, 109, 81, 0.35);
    transition: all 0.25s ease;
}

.installation-maintenance-section .im-btn-primary:hover {
    background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -6px rgba(200, 109, 81, 0.45);
    color: #FFFFFF;
}

.installation-maintenance-section .im-btn-secondary {
    background: linear-gradient(135deg, #7B8D70 0%, #6A7B60 100%);
    color: #FFFFFF;
    border: none;
    border-radius: 9999px;
    padding: 0.85rem 1.75rem;
    font-weight: 600;
    font-size: 0.95rem;
    box-shadow: 0 8px 18px -4px rgba(106, 123, 96, 0.28);
    transition: all 0.25s ease;
}

.installation-maintenance-section .im-btn-secondary:hover {
    background: linear-gradient(135deg, #6A7B60 0%, #57664F 100%);
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -6px rgba(106, 123, 96, 0.38);
    color: #FFFFFF;
}

.installation-maintenance-section .im-btn-outline {
    background: transparent;
    color: #2D2621;
    border: 1.5px solid rgba(45, 38, 33, 0.2);
    border-radius: 9999px;
    padding: 0.8rem 1.75rem;
    font-weight: 600;
    font-size: 0.95rem;
    transition: all 0.25s ease;
}

.installation-maintenance-section .im-btn-outline:hover {
    background-color: #FFFFFF;
    border-color: #C86D51;
    color: #C86D51;
    transform: translateY(-2px);
}

@media (max-width: 767.98px) {
    .installation-maintenance-section .im-nav-pill-wrapper {
        border-radius: 1rem;
    }

    .installation-maintenance-section .im-tab-btn {
        width: 100%;
        text-align: center;
    }
}

/* ===== latest_from_the_blog ===== */
.trips-blog-grid-section {
    background-color: #FBF9F5;
    color: #2D2621;
    font-family: 'Plus Jakarta Sans', sans-serif;
    position: relative;
    overflow: hidden;
}

.trips-blog-grid-section .trips-blog-eyebrow {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #C86D51;
    background: #F6EAE6;
    border: 1px solid rgba(200, 109, 81, 0.25);
    border-radius: 9999px;
    padding: 0.35rem 0.95rem;
}

.trips-blog-grid-section .trips-blog-heading {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.75rem, 2.5vw + 0.75rem, 2.5rem);
    font-weight: 700;
    color: #2D2621;
    line-height: 1.2;
    letter-spacing: -0.02em;
    hyphens: auto;
}

.trips-blog-grid-section .trips-blog-intro {
    font-size: 1rem;
    line-height: 1.6;
    color: #5E564F;
    max-width: 680px;
}

.trips-blog-grid-section .trips-blog-view-all-btn {
    background: #FFFFFF;
    color: #2D2621;
    border: 1.5px solid rgba(45, 38, 33, 0.2);
    border-radius: 9999px;
    padding: 0.8rem 1.85rem;
    font-size: 0.95rem;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px -2px rgba(45, 38, 33, 0.04);
    min-height: 48px;
}

.trips-blog-grid-section .trips-blog-view-all-btn:hover {
    background: #F5EFE6;
    border-color: #C86D51;
    color: #C86D51;
    transform: translateY(-2px);
}

.trips-blog-grid-section .trips-blog-card {
    background: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.14);
    border-radius: 1.5rem;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.06);
}

.trips-blog-grid-section .trips-blog-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px -10px rgba(45, 38, 33, 0.12), 0 6px 12px -4px rgba(200, 109, 81, 0.08);
}

.trips-blog-grid-section .trips-blog-media-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    background-color: #F5EFE6;
    overflow: hidden;
}

.trips-blog-grid-section .trips-blog-media-link {
    width: 100%;
    height: 100%;
}

.trips-blog-grid-section .trips-blog-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.trips-blog-grid-section .trips-blog-card:hover .trips-blog-img {
    transform: scale(1.05);
}

.trips-blog-grid-section .trips-blog-badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background: rgba(251, 249, 245, 0.92);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(106, 123, 96, 0.2);
    border-radius: 9999px;
    padding: 0.3rem 0.85rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #57664F;
    box-shadow: 0 4px 10px rgba(45, 38, 33, 0.08);
}

.trips-blog-grid-section .trips-blog-meta {
    font-size: 0.85rem;
    font-weight: 600;
    color: #6A7B60;
}

.trips-blog-grid-section .trips-blog-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.35rem, 1.8vw + 0.5rem, 1.65rem);
    font-weight: 700;
    line-height: 1.25;
    hyphens: auto;
}

.trips-blog-grid-section .trips-blog-title-link {
    color: #2D2621;
    transition: color 0.3s ease;
}

.trips-blog-grid-section .trips-blog-title-link:hover {
    color: #C86D51;
}

.trips-blog-grid-section .trips-blog-summary {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #5E564F;
}

.trips-blog-grid-section .trips-blog-footer {
    border-top: 1px solid rgba(45, 38, 33, 0.08);
}

.trips-blog-grid-section .trips-blog-card-btn {
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    border: none;
    border-radius: 9999px;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    box-shadow: 0 8px 18px -4px rgba(200, 109, 81, 0.35);
    min-height: 44px;
}

.trips-blog-grid-section .trips-blog-card-btn:hover {
    background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -6px rgba(200, 109, 81, 0.45);
}

@media (max-width: 767.98px) {
    .trips-blog-grid-section .trips-blog-heading {
        font-size: 16px;
    }

    .trips-blog-grid-section .trips-blog-title {
        font-size: 14px;
    }
}

/* ===== footer ===== */
.trips-footer {
    background-color: #F5EFE6;
    border-top: 1px solid rgba(217, 201, 180, 0.5);
    color: #2D2621;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    line-height: 1.6;
    position: relative;
    overflow: hidden
}

.trips-footer__top {
    padding-top: clamp(3.5rem, 6vw, 5.5rem);
    padding-bottom: clamp(2.5rem, 4vw, 3.5rem)
}

.trips-footer__brand-block {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.trips-footer__logo-wrap {
    display: flex;
    align-items: center;
    gap: 0.75rem
}

.trips-footer__logo {
    max-width: 46px;
    max-height: 46px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 0.5rem
}

.trips-footer__brand-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #2D2621;
    letter-spacing: -0.02em;
    line-height: 1.2
}

.trips-footer__about-text {
    color: #5E564F;
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0
}

.trips-footer__wa-wrapper {
    margin-top: 0.5rem
}

.trips-footer__wa-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: linear-gradient(135deg, #7B8D70 0%, #6A7B60 100%);
    color: #FFFFFF;
    padding: 0.75rem 1.4rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 6px 16px -4px rgba(106, 123, 96, 0.3);
    transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1)
}

.trips-footer__wa-btn:hover {
    background: linear-gradient(135deg, #6A7B60 0%, #57664F 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -4px rgba(106, 123, 96, 0.4)
}

.trips-footer__wa-icon {
    font-size: 1.15rem
}

.trips-footer__title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    font-weight: 700;
    color: #2D2621;
    margin-bottom: 1.25rem;
    line-height: 1.25;
    letter-spacing: -0.01em;
    position: relative
}

.trips-footer__title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -0.4rem;
    width: 24px;
    height: 2px;
    background-color: #C86D51;
    border-radius: 2px
}

.trips-footer__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.65rem
}

.trips-footer__link {
    display: inline-flex;
    align-items: center;
    color: #5E564F;
    text-decoration: none;
    font-size: 0.9rem;
    transition: all 0.25s ease
}

.trips-footer__link-arrow {
    font-size: 0.75rem;
    margin-right: 0.5rem;
    color: #8A8177;
    transition: transform 0.25s ease, color 0.25s ease
}

.trips-footer__link:hover {
    color: #C86D51;
    transform: translateX(3px)
}

.trips-footer__link:hover .trips-footer__link-arrow {
    color: #C86D51;
    transform: translateX(2px)
}

.trips-footer__contacts-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1.1rem
}

.trips-footer__contact-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem
}

.trips-footer__contact-icon {
    color: #C86D51;
    font-size: 1.15rem;
    margin-top: 0.15rem;
    flex-shrink: 0
}

.trips-footer__contact-content {
    display: flex;
    flex-direction: column
}

.trips-footer__contact-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8A8177;
    margin-bottom: 0.15rem
}

.trips-footer__contact-value {
    font-style: normal;
    color: #2D2621;
    font-size: 0.875rem;
    line-height: 1.45;
    margin: 0
}

.trips-footer__contact-link {
    color: #2D2621;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: color 0.2s ease
}

.trips-footer__contact-link:hover {
    color: #C86D51
}

.trips-footer__map-card {
    display: flex;
    flex-direction: column
}

.trips-footer__map-container {
    width: 100%;
    height: 140px;
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid rgba(217, 201, 180, 0.6);
    box-shadow: 0 6px 18px -4px rgba(45, 38, 33, 0.06);
    background-color: #EFE9DF;
    margin-bottom: 0.6rem
}

.trips-footer__map-frame {
    width: 100%;
    height: 100%;
    border: 0
}

.trips-footer__map-caption {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: #5E564F
}

.trips-footer__map-clock {
    color: #6A7B60
}

.trips-footer__middle {
    border-top: 1px solid rgba(217, 201, 180, 0.4);
    border-bottom: 1px solid rgba(217, 201, 180, 0.4);
    padding: 1.5rem 0;
    background-color: rgba(251, 249, 245, 0.6)
}

.trips-footer__legal-bar {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: center;
    justify-content: space-between
}

@media(min-width:992px) {
    .trips-footer__legal-bar {
        flex-direction: row
    }
}

.trips-footer__legal-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem 0.85rem
}

.trips-footer__legal-link {
    color: #5E564F;
    font-size: 0.85rem;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease
}

.trips-footer__legal-link:hover {
    color: #C86D51
}

.trips-footer__divider {
    color: #D9C9B4;
    font-size: 0.75rem
}

.trips-footer__payment-section {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem
}

.trips-footer__payment-title {
    font-size: 0.8rem;
    font-weight: 600;
    color: #8A8177;
    letter-spacing: 0.02em
}

.trips-footer__payment-badges {
    display: flex;
    align-items: center;
    gap: 0.5rem
}

.trips-footer__payment-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background-color: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.18);
    border-radius: 0.5rem;
    padding: 0.35rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #2D2621;
    box-shadow: 0 2px 6px rgba(45, 38, 33, 0.03)
}

.trips-footer__badge-icon {
    color: #C86D51;
    font-size: 0.9rem
}

.trips-footer__bottom {
    padding: 1.25rem 0;
    background-color: #F5EFE6
}

.trips-footer__copyright-row {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center
}

.trips-footer__copyright-text {
    margin: 0;
    font-size: 0.8125rem;
    color: #8A8177;
    line-height: 1.5
}

@media(max-width:767.98px) {
    .trips-footer__title {
        font-size: 1.2rem
    }

    .trips-footer__brand-name {
        font-size: 1.4rem
    }

    .trips-footer__legal-links {
        flex-direction: column;
        gap: 0.4rem
    }

    .trips-footer__divider {
        display: none
    }
}

.tm-header {
    background: #FBF9F5;
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.06);
    z-index: 1030;
    font-family: 'Plus Jakarta Sans', sans-serif
}

.tm-header .tm-topbar {
    background: #F5EFE6;
    border-bottom: 1px solid rgba(45, 38, 33, 0.08);
    padding: 0.45rem 0;
    font-size: 0.8125rem
}

.tm-header .tm-topbar-link {
    color: #5E564F;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease
}

.tm-header .tm-topbar-link:hover {
    color: #C86D51
}

.tm-header .tm-topbar-divider {
    display: inline-block;
    width: 1px;
    height: 12px;
    background: rgba(45, 38, 33, 0.15)
}

.tm-header .tm-topbar-text {
    color: #5E564F;
    font-weight: 500
}

.tm-header .tm-topbar i {
    color: #C86D51
}

.tm-header .tm-nav {
    background: #FBF9F5;
    border-bottom: 1px solid rgba(45, 38, 33, 0.06);
    padding: 0.85rem 0
}

.tm-header .tm-brand {
    text-decoration: none
}

.tm-header .tm-brand-logo {
    max-width: 44px;
    max-height: 44px;
    object-fit: contain
}

.tm-header .tm-brand-text {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.65rem;
    font-weight: 700;
    color: #2D2621;
    letter-spacing: -0.02em;
    line-height: 1
}

.tm-header .tm-nav-menu {
    gap: 0.25rem
}

.tm-header .tm-nav-link {
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #2D2621;
    font-size: 0.9375rem;
    font-weight: 600;
    padding: 0.5rem 0.85rem;
    border-radius: 9999px;
    transition: all 0.2s ease
}

.tm-header .tm-nav-link:hover,
.tm-header .tm-nav-link:focus {
    color: #C86D51;
    background: #F6EAE6
}

.tm-header .tm-nav-link.active {
    color: #C86D51;
    background: #F6EAE6
}

.tm-header .tm-cart-trigger {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #EFF3ED;
    border: 1px solid rgba(106, 123, 96, 0.2);
    border-radius: 50%;
    color: #2D2621;
    transition: all 0.2s cubic-bezier(0.22, 1, 0.36, 1);
    padding: 0
}

.tm-header .tm-cart-trigger:hover {
    background: #F6EAE6;
    border-color: rgba(200, 109, 81, 0.35);
    color: #C86D51;
    transform: translateY(-2px)
}

.tm-header .tm-cart-icon {
    font-size: 1.25rem;
    line-height: 1
}

.tm-header .tm-cart-badge {
    background: #C86D51;
    color: #FFFFFF;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.3em 0.55em;
    border: 2px solid #FBF9F5
}

.tm-header .tm-cta-btn {
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    font-size: 0.875rem;
    font-weight: 600;
    border: none;
    border-radius: 9999px;
    padding: 0.65rem 1.45rem;
    box-shadow: 0 8px 18px -4px rgba(200, 109, 81, 0.35);
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.tm-header .tm-cta-btn:hover {
    background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -6px rgba(200, 109, 81, 0.45)
}

.tm-header .tm-toggler {
    border: 1px solid rgba(45, 38, 33, 0.12);
    background: #F5EFE6;
    border-radius: 0.5rem;
    padding: 0.4rem 0.65rem;
    color: #2D2621;
    outline: none
}

.tm-header .tm-toggler:focus {
    box-shadow: 0 0 0 3px rgba(200, 109, 81, 0.25)
}

.tm-header .tm-toggler-icon {
    font-size: 1.5rem;
    line-height: 1;
    display: block
}

@media(max-width:991.98px) {
    .tm-header .navbar-collapse {
        background: #FFFFFF;
        border: 1px solid rgba(45, 38, 33, 0.08);
        border-radius: 1rem;
        padding: 1.25rem;
        margin-top: 0.75rem;
        box-shadow: 0 18px 36px -8px rgba(45, 38, 33, 0.12)
    }

    .tm-header .tm-nav-link {
        padding: 0.65rem 1rem;
        font-size: 0.875rem
    }
}

.tm-catalog-page {
    background-color: #FBF9F5;
    color: #2D2621;
    font-family: 'Plus Jakarta Sans', sans-serif;
    min-height: 100vh;
}

.tm-catalog-page .tm-catalog-hero {
    background: linear-gradient(135deg, #FBF9F5 0%, #F5EFE6 50%, #ECE3D4 100%);
    border-bottom: 1px solid rgba(217, 201, 180, 0.4);
    padding: clamp(3.5rem, 6vw, 5.5rem) 0 3rem;
}

.tm-catalog-page .tm-catalog-hero-pill {
    display: inline-flex;
    align-items: center;
    background: #EFF3ED;
    color: #57664F;
    border: 1px solid rgba(106, 123, 96, 0.2);
    border-radius: 9999px;
    padding: 0.4rem 1.15rem;
    font-size: 0.8125rem;
    font-weight: 600;
    margin-bottom: 1rem;
    letter-spacing: 0.02em;
}

.tm-catalog-page .tm-catalog-hero-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2rem, 3.5vw + 1rem, 3.25rem);
    font-weight: 700;
    color: #2D2621;
    line-height: 1.15;
    letter-spacing: -0.02em;
    margin-bottom: 0.85rem;
    hyphens: auto;
}

.tm-catalog-page .tm-catalog-hero-subtitle {
    color: #5E564F;
    font-size: clamp(0.95rem, 1vw + 0.5rem, 1.1rem);
    line-height: 1.6;
    max-width: 680px;
    margin: 0 auto;
}

.tm-catalog-page .tm-catalog-toolbar {
    background: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.12);
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.04);
}

.tm-catalog-page .tm-search-icon {
    color: #8C7E72;
    font-size: 1rem;
}

.tm-catalog-page .tm-catalog-search-input {
    background-color: #FBF9F5;
    border: 1.5px solid rgba(106, 123, 96, 0.18);
    border-radius: 9999px;
    color: #2D2621;
    font-size: 0.875rem;
    padding: 0.6rem 1.25rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.tm-catalog-page .tm-catalog-search-input:focus {
    background-color: #FFFFFF;
    border-color: #C86D51;
    color: #2D2621;
    box-shadow: 0 0 0 4px rgba(200, 109, 81, 0.12);
    outline: none;
}

.tm-catalog-page .tm-catalog-search-input::placeholder {
    color: #8A8177;
    opacity: 1;
}

.tm-catalog-page .tm-filter-pill {
    background: #FBF9F5;
    color: #5E564F;
    border: 1px solid rgba(45, 38, 33, 0.1);
    border-radius: 9999px;
    padding: 0.5rem 1.1rem;
    font-size: 0.8125rem;
    font-weight: 600;
    transition: all 0.2s ease;
}

.tm-catalog-page .tm-filter-pill:hover {
    background: #F6EAE6;
    color: #C86D51;
    border-color: rgba(200, 109, 81, 0.35);
}

.tm-catalog-page .tm-filter-pill.active {
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    border-color: #C86D51;
    box-shadow: 0 4px 12px -2px rgba(200, 109, 81, 0.35);
}

.tm-catalog-page .tm-product-card {
    background: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.12);
    border-radius: 1.25rem;
    padding: 1.15rem;
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.05);
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.3s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.3s ease;
}

.tm-catalog-page .tm-product-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px -10px rgba(45, 38, 33, 0.1), 0 8px 16px -4px rgba(200, 109, 81, 0.08);
    border-color: rgba(200, 109, 81, 0.3);
}

.tm-catalog-page .tm-product-media {
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
    background-color: #F5EFE6;
}

.tm-catalog-page .tm-product-img {
    height: 250px;
    object-fit: cover;
    object-position: center;
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    display: block;
}

.tm-catalog-page .tm-product-card:hover .tm-product-img {
    transform: scale(1.04);
}

.tm-catalog-page .tm-product-badge {
    background: rgba(251, 249, 245, 0.92);
    color: #C86D51;
    border: 1px solid rgba(200, 109, 81, 0.3);
    border-radius: 9999px;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.35rem 0.75rem;
    backdrop-filter: blur(6px);
    letter-spacing: 0.03em;
}

.tm-catalog-page .tm-product-specs {
    color: #6A7B60;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.tm-catalog-page .tm-product-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.01em;
    margin: 0;
}

.tm-catalog-page .tm-product-link {
    color: #2D2621;
    text-decoration: none;
    transition: color 0.2s ease;
}

.tm-catalog-page .tm-product-link:hover {
    color: #C86D51;
}

.tm-catalog-page .tm-product-desc {
    color: #5E564F;
    font-size: 0.85rem;
    line-height: 1.5;
    margin-bottom: 0.75rem;
}

.tm-catalog-page .tm-product-footer {
    border-color: rgba(45, 38, 33, 0.06) !important;
}

.tm-catalog-page .tm-product-price {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.45rem;
    font-weight: 700;
    color: #2D2621;
    letter-spacing: -0.01em;
}

.tm-catalog-page .tm-product-stock {
    font-size: 0.75rem;
    font-weight: 600;
    color: #57664F;
    display: inline-flex;
    align-items: center;
}

.tm-catalog-page .tm-card-detail-btn {
    background: #EFF3ED;
    color: #2D2621;
    border: 1px solid rgba(106, 123, 96, 0.2);
    border-radius: 9999px;
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.55rem 1rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.tm-catalog-page .tm-card-detail-btn:hover {
    background: #F6EAE6;
    color: #C86D51;
    border-color: rgba(200, 109, 81, 0.35);
}

.tm-catalog-page .tm-card-cart-btn {
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    border: none;
    border-radius: 9999px;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    box-shadow: 0 4px 12px -2px rgba(200, 109, 81, 0.35);
    transition: all 0.2s ease;
    padding: 0;
    flex-shrink: 0;
}

.tm-catalog-page .tm-card-cart-btn:hover {
    background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 8px 16px -4px rgba(200, 109, 81, 0.45);
}

.tm-catalog-page .tm-empty-icon-box {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #EFF3ED;
    color: #6A7B60;
    font-size: 1.5rem;
}

.tm-catalog-page .tm-empty-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #2D2621;
}

.tm-catalog-page .tm-empty-text {
    color: #5E564F;
    font-size: 0.9375rem;
}

.trips-footer {
    background-color: #F5EFE6;
    border-top: 1px solid rgba(217, 201, 180, 0.5);
    color: #2D2621;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    line-height: 1.6;
    position: relative;
    overflow: hidden
}

.trips-footer__top {
    padding-top: clamp(3.5rem, 6vw, 5.5rem);
    padding-bottom: clamp(2.5rem, 4vw, 3.5rem)
}

.trips-footer__brand-block {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.trips-footer__logo-wrap {
    display: flex;
    align-items: center;
    gap: 0.75rem
}

.trips-footer__logo {
    max-width: 46px;
    max-height: 46px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 0.5rem
}

.trips-footer__brand-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #2D2621;
    letter-spacing: -0.02em;
    line-height: 1.2
}

.trips-footer__about-text {
    color: #5E564F;
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0
}

.trips-footer__wa-wrapper {
    margin-top: 0.5rem
}

.trips-footer__wa-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: linear-gradient(135deg, #7B8D70 0%, #6A7B60 100%);
    color: #FFFFFF;
    padding: 0.75rem 1.4rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 6px 16px -4px rgba(106, 123, 96, 0.3);
    transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1)
}

.trips-footer__wa-btn:hover {
    background: linear-gradient(135deg, #6A7B60 0%, #57664F 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -4px rgba(106, 123, 96, 0.4)
}

.trips-footer__wa-icon {
    font-size: 1.15rem
}

.trips-footer__title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    font-weight: 700;
    color: #2D2621;
    margin-bottom: 1.25rem;
    line-height: 1.25;
    letter-spacing: -0.01em;
    position: relative
}

.trips-footer__title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -0.4rem;
    width: 24px;
    height: 2px;
    background-color: #C86D51;
    border-radius: 2px
}

.trips-footer__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.65rem
}

.trips-footer__link {
    display: inline-flex;
    align-items: center;
    color: #5E564F;
    text-decoration: none;
    font-size: 0.9rem;
    transition: all 0.25s ease
}

.trips-footer__link-arrow {
    font-size: 0.75rem;
    margin-right: 0.5rem;
    color: #8A8177;
    transition: transform 0.25s ease, color 0.25s ease
}

.trips-footer__link:hover {
    color: #C86D51;
    transform: translateX(3px)
}

.trips-footer__link:hover .trips-footer__link-arrow {
    color: #C86D51;
    transform: translateX(2px)
}

.trips-footer__contacts-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1.1rem
}

.trips-footer__contact-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem
}

.trips-footer__contact-icon {
    color: #C86D51;
    font-size: 1.15rem;
    margin-top: 0.15rem;
    flex-shrink: 0
}

.trips-footer__contact-content {
    display: flex;
    flex-direction: column
}

.trips-footer__contact-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8A8177;
    margin-bottom: 0.15rem
}

.trips-footer__contact-value {
    font-style: normal;
    color: #2D2621;
    font-size: 0.875rem;
    line-height: 1.45;
    margin: 0
}

.trips-footer__contact-link {
    color: #2D2621;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: color 0.2s ease
}

.trips-footer__contact-link:hover {
    color: #C86D51
}

.trips-footer__map-card {
    display: flex;
    flex-direction: column
}

.trips-footer__map-container {
    width: 100%;
    height: 140px;
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid rgba(217, 201, 180, 0.6);
    box-shadow: 0 6px 18px -4px rgba(45, 38, 33, 0.06);
    background-color: #EFE9DF;
    margin-bottom: 0.6rem
}

.trips-footer__map-frame {
    width: 100%;
    height: 100%;
    border: 0
}

.trips-footer__map-caption {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: #5E564F
}

.trips-footer__map-clock {
    color: #6A7B60
}

.trips-footer__middle {
    border-top: 1px solid rgba(217, 201, 180, 0.4);
    border-bottom: 1px solid rgba(217, 201, 180, 0.4);
    padding: 1.5rem 0;
    background-color: rgba(251, 249, 245, 0.6)
}

.trips-footer__legal-bar {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: center;
    justify-content: space-between
}

@media(min-width:992px) {
    .trips-footer__legal-bar {
        flex-direction: row
    }
}

.trips-footer__legal-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem 0.85rem
}

.trips-footer__legal-link {
    color: #5E564F;
    font-size: 0.85rem;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease
}

.trips-footer__legal-link:hover {
    color: #C86D51
}

.trips-footer__divider {
    color: #D9C9B4;
    font-size: 0.75rem
}

.trips-footer__payment-section {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem
}

.trips-footer__payment-title {
    font-size: 0.8rem;
    font-weight: 600;
    color: #8A8177;
    letter-spacing: 0.02em
}

.trips-footer__payment-badges {
    display: flex;
    align-items: center;
    gap: 0.5rem
}

.trips-footer__payment-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background-color: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.18);
    border-radius: 0.5rem;
    padding: 0.35rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #2D2621;
    box-shadow: 0 2px 6px rgba(45, 38, 33, 0.03)
}

.trips-footer__badge-icon {
    color: #C86D51;
    font-size: 0.9rem
}

.trips-footer__bottom {
    padding: 1.25rem 0;
    background-color: #F5EFE6
}

.trips-footer__copyright-row {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center
}

.trips-footer__copyright-text {
    margin: 0;
    font-size: 0.8125rem;
    color: #8A8177;
    line-height: 1.5
}

@media(max-width:767.98px) {
    .trips-footer__title {
        font-size: 1.2rem
    }

    .trips-footer__brand-name {
        font-size: 1.4rem
    }

    .trips-footer__legal-links {
        flex-direction: column;
        gap: 0.4rem
    }

    .trips-footer__divider {
        display: none
    }
}


/* ===== PAGE: services ===== */
.tm-services-section {
  background-color: #FBF9F5;
  color: #2D2621;
  font-family: 'Plus Jakarta Sans', sans-serif;
}

.tm-services-section .tm-services-section__badge {
  background-color: #EFF3ED;
  color: #57664F;
  border: 1px solid rgba(106, 123, 96, 0.25);
  border-radius: 9999px;
  padding: 0.4rem 1.15rem;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.tm-services-section .tm-services-section__title {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  color: #2D2621;
  font-size: clamp(2rem, 3.5vw + 1rem, 3.25rem);
  line-height: 1.15;
}

@media (max-width: 767.98px) {
  .tm-services-section .tm-services-section__title {
    font-size: 1.125rem;
    hyphens: auto;
  }
  .tm-services-section .tm-services-section__card-title {
    font-size: 1rem;
  }
  .tm-services-section h3 {
    font-size: 0.875rem;
  }
}

.tm-services-section .tm-services-section__lead {
  font-size: 1.05rem;
  line-height: 1.65;
  color: #5E564F;
}

.tm-services-section .tm-services-section__card {
  background-color: #FFFFFF;
  border: 1px solid rgba(106, 123, 96, 0.14);
  border-radius: 1.25rem;
  box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.06);
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.3s ease, border-color 0.3s ease;
  overflow: hidden;
}

.tm-services-section .tm-services-section__card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 36px -8px rgba(45, 38, 33, 0.12), 0 6px 12px -4px rgba(200, 109, 81, 0.08);
  border-color: rgba(200, 109, 81, 0.35);
}

.tm-services-section .tm-services-section__image-wrap {
  background-color: #F5EFE6;
}

.tm-services-section .tm-services-section__img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.tm-services-section .tm-services-section__card:hover .tm-services-section__img {
  transform: scale(1.04);
}

.tm-services-section .tm-services-section__card-tag {
  background-color: rgba(251, 249, 245, 0.92);
  color: #57664F;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.3rem 0.75rem;
  border-radius: 9999px;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(106, 123, 96, 0.2);
}

.tm-services-section .tm-services-section__card-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.25;
}

.tm-services-section .tm-services-section__card-title a {
  color: #2D2621;
  transition: color 0.2s ease;
}

.tm-services-section .tm-services-section__card-title a:hover {
  color: #C86D51;
}

.tm-services-section .tm-services-section__price {
  color: #C86D51;
  font-size: 1.125rem;
}

.tm-services-section .tm-services-section__btn-primary {
  background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
  color: #FFFFFF;
  border: none;
  border-radius: 9999px;
  padding: 0.75rem 1.25rem;
  font-weight: 600;
  font-size: 0.9rem;
  box-shadow: 0 6px 14px -3px rgba(200, 109, 81, 0.3);
  transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.tm-services-section .tm-services-section__btn-primary:hover,
.tm-services-section .tm-services-section__btn-primary:focus {
  background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 10px 20px -4px rgba(200, 109, 81, 0.4);
}

.tm-services-section .tm-services-section__btn-outline {
  background: transparent;
  color: #5E564F;
  border: 1.5px solid rgba(45, 38, 33, 0.18);
  border-radius: 9999px;
  padding: 0.65rem 1.25rem;
  font-weight: 600;
  font-size: 0.875rem;
  transition: all 0.2s ease;
}

.tm-services-section .tm-services-section__btn-outline:hover,
.tm-services-section .tm-services-section__btn-outline:focus {
  background-color: #F5EFE6;
  border-color: #C86D51;
  color: #C86D51;
  transform: translateY(-2px);
}

.tm-services-section .tm-services-section__guarantees {
  background: linear-gradient(135deg, #FFFFFF 0%, #F5EFE6 100%);
  border: 1px solid rgba(217, 201, 180, 0.5);
  box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.04);
}

.tm-services-section .tm-services-section__icon-box {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background-color: #EFF3ED;
  color: #6A7B60;
  border: 1px solid rgba(106, 123, 96, 0.2);
}

/* ===== PAGE: about ===== */
.about-page-wrapper{background-color:#FBF9F5;color:#2D2621;font-family:'Plus Jakarta Sans',sans-serif;}.about-page-wrapper .about-heading{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(2rem,3.5vw + 1rem,3.25rem);line-height:1.15;color:#2D2621;letter-spacing:-0.02em;}.about-page-wrapper .about-subheading{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(1.75rem,2.5vw + 0.75rem,2.5rem);line-height:1.2;color:#2D2621;letter-spacing:-0.01em;}.about-page-wrapper .about-card-title{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.35rem;line-height:1.25;color:#2D2621;}.about-page-wrapper .about-team-name{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.4rem;line-height:1.2;color:#2D2621;}.about-page-wrapper .about-lead-text{font-size:1.125rem;line-height:1.6;color:#5E564F;}.about-page-wrapper .about-body-text{font-size:1rem;line-height:1.6;color:#5E564F;}.about-page-wrapper .about-card-text{font-size:0.925rem;line-height:1.55;color:#5E564F;margin-bottom:0;}.about-page-wrapper .about-team-role{font-size:0.875rem;font-weight:600;color:#C86D51;letter-spacing:0.02em;}.about-page-wrapper .about-team-bio{font-size:0.9rem;line-height:1.55;color:#5E564F;margin-bottom:0;}.about-page-wrapper .about-badge{background-color:#EFF3ED;color:#57664F;border:1px solid rgba(106,123,96,0.2);border-radius:9999px;padding:0.35rem 0.95rem;font-size:0.75rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;}.about-page-wrapper .about-image-frame{background-color:#FFFFFF;border:1px solid rgba(106,123,96,0.14);border-radius:1.5rem;padding:0.75rem;box-shadow:0 8px 24px -6px rgba(45,38,33,0.06);overflow:hidden;}.about-page-wrapper .about-feature-img{border-radius:1rem;width:100%;height:380px;object-fit:cover;display:block;}.about-page-wrapper .about-stat-card{background-color:#FFFFFF;border:1px solid rgba(45,38,33,0.08);border-radius:1.25rem;padding:1.25rem 1.5rem;box-shadow:0 8px 24px -6px rgba(45,38,33,0.04);}.about-page-wrapper .about-stat-number{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:2.25rem;color:#C86D51;display:block;line-height:1;margin-bottom:0.35rem;}.about-page-wrapper .about-stat-label{font-size:0.875rem;color:#5E564F;font-weight:500;line-height:1.3;display:block;}.about-page-wrapper .about-pillar-card{background-color:#FFFFFF;border:1px solid rgba(106,123,96,0.12);border-radius:1.25rem;padding:1.75rem;box-shadow:0 8px 24px -6px rgba(45,38,33,0.05);transition:transform 300ms ease,box-shadow 300ms ease;}.about-page-wrapper .about-pillar-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px -8px rgba(45,38,33,0.1);}.about-page-wrapper .about-pillar-icon{width:48px;height:48px;border-radius:50%;background-color:#F6EAE6;color:#C86D51;display:flex;align-items:center;justify-content:center;font-size:1.35rem;}.about-page-wrapper .about-team-card{background-color:#FFFFFF;border:1px solid rgba(45,38,33,0.06);border-radius:1.5rem;padding:2rem 1.5rem;box-shadow:0 8px 24px -6px rgba(45,38,33,0.05);}.about-page-wrapper .about-avatar-wrap{width:110px;height:110px;border-radius:50%;padding:4px;background-color:#EFF3ED;border:1px solid rgba(106,123,96,0.2);}.about-page-wrapper .about-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;}.about-page-wrapper .text-terracotta{color:#C86D51;}.about-page-wrapper .about-list span{color:#5E564F;font-size:0.95rem;}.about-page-wrapper .max-w-700{max-width:700px;}@media(max-width:767.98px){.about-page-wrapper .about-heading{font-size:18px;hyphens:auto;}.about-page-wrapper .about-subheading{font-size:16px;hyphens:auto;}.about-page-wrapper .about-card-title,.about-page-wrapper .about-team-name{font-size:14px;hyphens:auto;}.about-page-wrapper .about-feature-img{height:260px;}}

/* ===== PAGE: blog ===== */
.tm-blog-page { background-color: #FBF9F5; min-height: 80vh; }
.tm-blog-page__header { max-width: 760px; margin-left: auto; margin-right: auto; }
.tm-blog-page__badge { background-color: #EFF3ED; color: #57664F; border: 1px solid rgba(106, 123, 96, 0.2); border-radius: 9999px; padding: 0.45rem 1.15rem; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; }
.tm-blog-page__title { font-family: 'Cormorant Garamond', Georgia, serif; color: #2D2621; line-height: 1.2; }
.tm-blog-page__lead { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 1.1rem; line-height: 1.6; color: #5E564F; max-width: 640px; }
.tm-blog-page__search-box .form-control, .tm-blog-page__search-box .input-group-text { background-color: #FFFFFF; border-color: rgba(106, 123, 96, 0.2); padding: 0.65rem 1rem; border-radius: 0.75rem; }
.tm-blog-page__search-box .form-control:focus { box-shadow: 0 0 0 3px rgba(200, 109, 81, 0.15); border-color: #C86D51; }
.tm-blog-page__search-box .form-control::placeholder { color: #8A8177; opacity: 1; }
.tm-blog-page__tag-btn { border-radius: 9999px; padding: 0.45rem 1.1rem; font-weight: 500; font-size: 0.85rem; border: 1px solid rgba(45, 38, 33, 0.15); background-color: #FFFFFF; color: #5E564F; transition: all 0.2s ease; }
.tm-blog-page__tag-btn:hover, .tm-blog-page__tag-btn.active { background-color: #C86D51; color: #FFFFFF; border-color: #C86D51; }
.tm-blog-page__card { background-color: #FFFFFF; border: 1px solid rgba(106, 123, 96, 0.12); border-radius: 1.25rem; overflow: hidden; transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.3s cubic-bezier(0.22, 1, 0.36, 1); box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.05); }
.tm-blog-page__card:hover { transform: translateY(-5px); box-shadow: 0 16px 32px -8px rgba(45, 38, 33, 0.1); border-color: rgba(200, 109, 81, 0.3); }
.tm-blog-page__image-wrapper { position: relative; overflow: hidden; aspect-ratio: 16/10; background-color: #F5EFE6; }
.tm-blog-page__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1); }
.tm-blog-page__card:hover .tm-blog-page__img { transform: scale(1.05); }
.tm-blog-page__card-tag { position: absolute; top: 1rem; left: 1rem; background-color: rgba(251, 249, 245, 0.92); color: #2D2621; border-radius: 9999px; padding: 0.3rem 0.8rem; font-size: 0.72rem; font-weight: 600; backdrop-filter: blur(4px); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }
.tm-blog-page__meta-item { font-size: 0.8rem; color: #8A8177; font-weight: 500; }
.tm-blog-page__card-heading { font-family: 'Cormorant Garamond', Georgia, serif; line-height: 1.3; font-weight: 700; }
.tm-blog-page__card-link { color: #2D2621; transition: color 0.2s ease; }
.tm-blog-page__card-link:hover { color: #C86D51; }
.tm-blog-page__card p { font-size: 0.92rem; line-height: 1.6; }
.tm-blog-page__read-btn { background-color: #F5EFE6; color: #2D2621; border: 1px solid rgba(217, 201, 180, 0.5); border-radius: 9999px; padding: 0.65rem 1.25rem; font-weight: 600; font-size: 0.88rem; transition: all 0.25s ease; }
.tm-blog-page__read-btn:hover { background-color: #C86D51; color: #FFFFFF; border-color: #C86D51; box-shadow: 0 6px 16px -4px rgba(200, 109, 81, 0.4); }
.tm-blog-page__reset-btn { background-color: #C86D51; color: #FFFFFF; border: none; border-radius: 9999px; padding: 0.65rem 1.5rem; font-weight: 600; }
.tm-blog-page__reset-btn:hover { background-color: #B35B40; color: #FFFFFF; }

/* ===== PAGE: delivery ===== */
.delivery-page-section {
  background-color: #FBF9F5;
  color: #2D2621;
  font-family: 'Plus Jakarta Sans', sans-serif;
}

.delivery-page-section .delivery-badge {
  background-color: #EFF3ED;
  color: #57664F;
  border: 1px solid rgba(106, 123, 96, 0.2);
  border-radius: 9999px;
  padding: 0.4rem 1.1rem;
  font-size: 0.825rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.delivery-page-section .delivery-main-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 3.5vw + 1rem, 3.25rem);
  font-weight: 700;
  line-height: 1.2;
  color: #2D2621;
}

.delivery-page-section .delivery-section-subtitle {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.75rem, 2.5vw + 0.75rem, 2.5rem);
  font-weight: 600;
  line-height: 1.25;
  color: #2D2621;
}

.delivery-page-section .delivery-lead-text {
  font-size: 1.075rem;
  line-height: 1.6;
  color: #5E564F;
}

.delivery-page-section .delivery-nav-container {
  border-bottom: 1px solid rgba(106, 123, 96, 0.14);
  padding-bottom: 1.5rem;
}

.delivery-page-section .delivery-tab-btn {
  background-color: #FFFFFF;
  color: #5E564F;
  border: 1.5px solid rgba(45, 38, 33, 0.12);
  border-radius: 9999px;
  padding: 0.65rem 1.4rem;
  font-weight: 600;
  font-size: 0.925rem;
  transition: all 0.25s ease;
}

.delivery-page-section .delivery-tab-btn:hover {
  background-color: #F5EFE6;
  color: #C86D51;
  border-color: #C86D51;
  transform: translateY(-2px);
}

.delivery-page-section .delivery-tab-btn.active {
  background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
  color: #FFFFFF;
  border-color: #C86D51;
  box-shadow: 0 6px 16px -4px rgba(200, 109, 81, 0.35);
}

.delivery-page-section .delivery-card {
  background-color: #FFFFFF;
  border: 1px solid rgba(106, 123, 96, 0.14);
  border-radius: 1.25rem;
  box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.delivery-page-section .delivery-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px -8px rgba(45, 38, 33, 0.09);
}

.delivery-page-section .delivery-card-highlight {
  border: 1.5px solid rgba(200, 109, 81, 0.4);
  background: linear-gradient(180deg, #FFFFFF 0%, #FDF9F7 100%);
}

.delivery-page-section .delivery-card-pill {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #C86D51;
  color: #FFFFFF;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.85rem;
  border-radius: 9999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.delivery-page-section .delivery-card-icon {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background-color: #F6EAE6;
  color: #C86D51;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}

.delivery-page-section .delivery-card-icon-small {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: #EFF3ED;
  color: #6A7B60;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}

.delivery-page-section .delivery-card-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.45rem;
  font-weight: 700;
  color: #2D2621;
}

.delivery-page-section .delivery-card-price {
  font-size: 1.5rem;
  font-weight: 700;
  color: #C86D51;
}

.delivery-page-section .delivery-card-desc {
  font-size: 0.95rem;
  color: #5E564F;
  line-height: 1.55;
}

.delivery-page-section .delivery-card-features li {
  font-size: 0.92rem;
  color: #2D2621;
}

.delivery-page-section .text-terracotta {
  color: #C86D51 !important;
}

.delivery-page-section .delivery-info-banner,
.delivery-page-section .delivery-security-box,
.delivery-page-section .delivery-process-steps {
  background-color: #F5EFE6;
  border: 1px solid rgba(217, 201, 180, 0.4);
}

.delivery-page-section .delivery-banner-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.45rem;
  font-weight: 700;
  color: #2D2621;
}

.delivery-page-section .delivery-banner-text {
  font-size: 0.95rem;
  color: #5E564F;
  line-height: 1.55;
}

.delivery-page-section .delivery-outline-btn {
  background-color: transparent;
  color: #2D2621;
  border: 1.5px solid rgba(45, 38, 33, 0.25);
  border-radius: 9999px;
  padding: 0.65rem 1.5rem;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  display: inline-block;
  transition: all 0.25s ease;
}

.delivery-page-section .delivery-outline-btn:hover {
  background-color: #C86D51;
  color: #FFFFFF;
  border-color: #C86D51;
}

.delivery-page-section .delivery-security-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background-color: #EFF3ED;
  color: #6A7B60;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  margin: 0 auto;
}

.delivery-page-section .delivery-step-item {
  background-color: #FFFFFF;
  border-radius: 1rem;
  border: 1px solid rgba(106, 123, 96, 0.12);
  height: 100%;
}

.delivery-page-section .delivery-step-number {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #C86D51;
  display: inline-block;
}

.delivery-page-section .delivery-step-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #2D2621;
}

.delivery-page-section .delivery-step-text {
  font-size: 0.85rem;
  color: #5E564F;
  line-height: 1.45;
}

.delivery-page-section .delivery-form-label {
  font-weight: 600;
  font-size: 0.9rem;
  color: #2D2621;
}

.delivery-page-section .delivery-form-control {
  background-color: #FFFFFF;
  border: 1.5px solid rgba(106, 123, 96, 0.2);
  border-radius: 0.85rem;
  padding: 0.7rem 1rem;
  color: #2D2621;
  font-size: 0.95rem;
}

.delivery-page-section .delivery-form-control:focus {
  border-color: #C86D51;
  box-shadow: 0 0 0 4px rgba(200, 109, 81, 0.12);
  outline: none;
}

.delivery-page-section .delivery-calculator-result {
  background-color: #EFF3ED;
  border: 1px dashed rgba(106, 123, 96, 0.4);
}

.delivery-page-section .delivery-res-label {
  font-size: 0.825rem;
  font-weight: 600;
  color: #57664F;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.delivery-page-section .delivery-res-value {
  font-size: 1.2rem;
  font-weight: 700;
  color: #2D2621;
}

.delivery-page-section .delivery-note-text {
  font-size: 0.85rem;
  color: #8A8177;
}

.delivery-page-section .delivery-accordion-item {
  background-color: #FFFFFF;
  border: 1px solid rgba(106, 123, 96, 0.14);
  border-radius: 1rem !important;
  overflow: hidden;
}

.delivery-page-section .delivery-accordion-btn {
  background-color: #FFFFFF;
  color: #2D2621;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.25rem;
  font-weight: 600;
  padding: 1.25rem 1.5rem;
  box-shadow: none;
}

.delivery-page-section .delivery-accordion-btn:not(.collapsed) {
  background-color: #F5EFE6;
  color: #C86D51;
}

.delivery-page-section .delivery-accordion-btn:focus {
  box-shadow: none;
}

.delivery-page-section .delivery-accordion-body {
  padding: 1.25rem 1.5rem 1.5rem;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #5E564F;
}

.delivery-page-section .delivery-link {
  color: #C86D51;
  text-decoration: underline;
  font-weight: 600;
}

.delivery-page-section .delivery-link:hover {
  color: #B35B40;
}

@media (max-width: 767.98px) {
  .delivery-page-section .delivery-main-title {
    font-size: 1.75rem;
    hyphens: auto;
  }
  .delivery-page-section .delivery-card-title {
    font-size: 1.25rem;
  }
  .delivery-page-section .delivery-section-subtitle {
    font-size: 1.45rem;
  }
  .delivery-page-section .delivery-tab-btn {
    width: 100%;
    text-align: center;
  }
}

/* ===== PAGE: contact ===== */
.trips-contact-section {
  background-color: #FBF9F5;
  color: #2D2621;
  font-family: 'Plus Jakarta Sans', sans-serif;
}

.trips-contact-section .trips-heading {
  font-family: 'Cormorant Garamond', serif;
  color: #2D2621;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.trips-contact-section .trips-lead {
  color: #5E564F;
  font-size: 1.125rem;
  line-height: 1.6;
}

.trips-contact-section .trips-badge {
  background: #EFF3ED;
  color: #57664F;
  border: 1px solid rgba(106, 123, 96, 0.25);
  border-radius: 9999px;
  padding: 0.35rem 0.95rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.trips-contact-section .trips-status-card {
  background: #FFFFFF;
  border: 1px solid rgba(106, 123, 96, 0.16);
}

.trips-contact-section .trips-status-indicator {
  width: 10px;
  height: 10px;
  background-color: #6A7B60;
  border-radius: 50%;
  display: inline-block;
  box-shadow: 0 0 0 3px rgba(106, 123, 96, 0.2);
}

.trips-contact-section .trips-contact-card {
  background: #FFFFFF;
  border: 1px solid rgba(106, 123, 96, 0.14);
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.3s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.3s ease;
}

.trips-contact-section .trips-contact-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px -8px rgba(45, 38, 33, 0.1) !important;
  border-color: rgba(200, 109, 81, 0.35);
}

.trips-contact-section .trips-icon-wrapper {
  width: 52px;
  height: 52px;
  background: #F6EAE6;
  color: #C86D51;
}

.trips-contact-section .trips-contact-value {
  color: #C86D51;
  font-size: 0.95rem;
  word-break: break-word;
  transition: color 0.2s ease;
}

.trips-contact-section .trips-contact-value:hover {
  color: #B35B40;
  text-decoration: underline !important;
}

.trips-contact-section address.trips-contact-value {
  color: #2D2621;
  font-style: normal;
}

.trips-contact-section .trips-info-panel {
  background: #F5EFE6;
  border: 1px solid rgba(217, 201, 180, 0.5);
}

.trips-contact-section .trips-map-container {
  background: #EFE9DF;
  border: 1px solid rgba(106, 123, 96, 0.14);
  min-height: 380px;
}

.trips-contact-section .trips-map-container iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: 380px;
  border: 0 !important;
  display: block;
}

.trips-contact-section .trips-btn-outline {
  background: transparent;
  color: #2D2621;
  border: 1.5px solid rgba(45, 38, 33, 0.25);
  border-radius: 9999px;
  padding: 0.75rem 1.5rem;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  transition: all 0.25s ease;
}

.trips-contact-section .trips-btn-outline:hover {
  background: #C86D51;
  border-color: #C86D51;
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 8px 16px -4px rgba(200, 109, 81, 0.35);
}

@media (max-width: 767.98px) {
  .trips-contact-section .trips-heading {
    font-size: 1.85rem;
  }
  .trips-contact-section .trips-lead {
    font-size: 1rem;
  }
  .trips-contact-section .trips-map-container {
    min-height: 300px;
  }
  .trips-contact-section .trips-map-container iframe {
    min-height: 300px;
  }
}

/* ===== PAGE: privacy ===== */
.privacy-legal-section { background-color: #FBF9F5; min-height: 80vh; font-family: 'Plus Jakarta Sans', sans-serif; color: #2D2621; } .privacy-legal-section .privacy-badge { background-color: #EFF3ED; color: #57664F; border: 1px solid rgba(106, 123, 96, 0.2); border-radius: 9999px; padding: 0.35rem 1rem; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; } .privacy-legal-section .privacy-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(2rem, 3.5vw + 1rem, 3rem); font-weight: 700; color: #2D2621; line-height: 1.2; } .privacy-legal-section .privacy-subtitle { font-size: 0.95rem; color: #8A8177; } .privacy-legal-section .privacy-card { background: #FFFFFF; border: 1px solid rgba(106, 123, 96, 0.12); border-radius: 1.5rem; box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.05); } .privacy-legal-section .privacy-section-heading { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.35rem, 1.8vw + 0.5rem, 1.75rem); font-weight: 600; color: #2D2621; line-height: 1.3; margin-bottom: 1rem; display: flex; align-items: center; } .privacy-legal-section .text-primary-custom { color: #C86D51 !important; } .privacy-legal-section .text-secondary-custom { color: #5E564F; } .privacy-legal-section p { font-size: 0.975rem; line-height: 1.7; color: #5E564F; } .privacy-legal-section .privacy-divider { border-color: rgba(106, 123, 96, 0.15); opacity: 1; } .privacy-legal-section .privacy-list { padding-left: 1.25rem; margin-bottom: 1rem; } .privacy-legal-section .privacy-list li { font-size: 0.975rem; line-height: 1.7; color: #5E564F; margin-bottom: 0.5rem; } .privacy-legal-section .privacy-subcard { background-color: #F5EFE6; border: 1px solid rgba(217, 201, 180, 0.4); border-radius: 1rem; } .privacy-legal-section .privacy-subcard-title { font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; font-weight: 600; color: #2D2621; } .privacy-legal-section .privacy-contact-box { background-color: #F5EFE6; border: 1px solid rgba(217, 201, 180, 0.5); border-radius: 1rem; } .privacy-legal-section .privacy-btn-link { color: #C86D51; font-weight: 600; font-size: 0.95rem; text-decoration: none; transition: color 0.2s ease, transform 0.2s ease; } .privacy-legal-section .privacy-btn-link:hover { color: #B35B40; transform: translateX(3px); text-decoration: none; } @media (max-width: 767.98px) { .privacy-legal-section .privacy-title { font-size: 1.85rem; } .privacy-legal-section .privacy-section-heading { font-size: 1.35rem; } .privacy-legal-section .privacy-card { padding: 1.5rem !important; border-radius: 1rem; } }

/* ===== PAGE: terms ===== */
.tm-terms-section {
  background-color: #FBF9F5;
  color: #2D2621;
  font-family: 'Plus Jakarta Sans', sans-serif;
  line-height: 1.6;
}

.tm-terms-section h1,
.tm-terms-section h2,
.tm-terms-section h3 {
  font-family: 'Cormorant Garamond', serif;
  color: #2D2621;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.tm-terms-section .tm-terms-title {
  font-size: clamp(2rem, 3.5vw + 1rem, 3.25rem);
  font-weight: 700;
}

.tm-terms-section .tm-terms-intro {
  font-size: 1.05rem;
  max-width: 820px;
  color: #5E564F !important;
}

.tm-terms-section .tm-terms-badge {
  background-color: #EFF3ED;
  color: #57664F;
  border: 1px solid rgba(106, 123, 96, 0.2);
  border-radius: 9999px;
  padding: 0.35rem 0.95rem;
  font-size: 0.8rem;
  font-weight: 600;
}

.tm-terms-section .tm-terms-nav-card {
  background-color: #FFFFFF;
  border: 1px solid rgba(106, 123, 96, 0.14);
  box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.06);
  position: -webkit-sticky;
  position: sticky;
  top: 8rem !important;
  z-index: 10;
}

.tm-terms-section .tm-nav-title {
  color: #2D2621;
  font-weight: 600;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(45, 38, 33, 0.08);
}

.tm-terms-section .tm-nav-link {
  color: #5E564F;
  text-decoration: none;
  font-size: 0.875rem;
  padding: 0.45rem 0.75rem;
  border-radius: 0.5rem;
  transition: all 0.25s ease;
  font-weight: 500;
}

.tm-terms-section .tm-nav-link:hover,
.tm-terms-section .tm-nav-link.active {
  background-color: #F6EAE6;
  color: #C86D51;
  font-weight: 600;
  transform: translateX(3px);
}

.tm-terms-section .tm-terms-content {
  border: 1px solid rgba(45, 38, 33, 0.06);
}

.tm-terms-section .tm-section-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  background-color: #F6EAE6;
  color: #C86D51;
  font-weight: 700;
  font-size: 0.85rem;
  border-radius: 50%;
}

.tm-terms-section .tm-terms-article {
  scroll-margin-top: 8.5rem;
}

.tm-terms-section .tm-terms-article h2 {
  font-weight: 600;
}

.tm-terms-section .tm-terms-list li::marker {
  color: #C86D51;
}

.tm-terms-section .tm-text-link {
  color: #C86D51;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}

.tm-terms-section .tm-text-link:hover {
  color: #B35B40;
}

.tm-terms-section .tm-info-card {
  background-color: #F5EFE6;
  border: 1px solid rgba(217, 201, 180, 0.4);
}

.tm-terms-section .tm-contact-box {
  background-color: #F5EFE6;
  border: 1px solid rgba(217, 201, 180, 0.4);
}

.tm-terms-section .tm-btn-primary {
  background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
  color: #FFFFFF !important;
  border: none;
  border-radius: 9999px;
  padding: 0.75rem 1.75rem;
  font-weight: 600;
  box-shadow: 0 8px 18px -4px rgba(200, 109, 81, 0.35);
  transition: all 0.3s ease;
}

.tm-terms-section .tm-btn-primary:hover {
  background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
  transform: translateY(-2px);
  box-shadow: 0 12px 24px -6px rgba(200, 109, 81, 0.45);
}

@media (max-width: 767.98px) {
  .tm-terms-section .tm-terms-title {
    font-size: 1.5rem !important;
    hyphens: auto;
  }
  .tm-terms-section h2 {
    font-size: 1.25rem !important;
  }
  .tm-terms-section h3 {
    font-size: 1.1rem !important;
  }
  .tm-terms-section .tm-terms-content {
    padding: 1.5rem !important;
  }
}

/* ===== PAGE: disclaimer ===== */
.tm-disclaimer-legal {
  background-color: #FBF9F5;
  color: #2D2621;
  font-family: 'Plus Jakarta Sans', sans-serif;
  line-height: 1.6;
}

.tm-disclaimer-legal__card {
  background: #FFFFFF;
  border: 1px solid rgba(106, 123, 96, 0.14);
  border-radius: 1.5rem;
  box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.06);
  max-width: 1140px;
}

.tm-disclaimer-legal__header {
  border-color: rgba(45, 38, 33, 0.08) !important;
}

.tm-disclaimer-legal__badge {
  background: #EFF3ED;
  color: #57664F;
  border: 1px solid rgba(106, 123, 96, 0.2);
  border-radius: 9999px;
  padding: 0.4rem 1rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  display: inline-block;
}

.tm-disclaimer-legal__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.85rem, 3vw + 1rem, 2.75rem);
  color: #2D2621;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.tm-disclaimer-legal__date {
  color: #8A8177;
  font-size: 0.9rem;
}

.tm-disclaimer-legal__nav {
  background: #F5EFE6;
  border: 1px solid rgba(217, 201, 180, 0.4);
  position: -webkit-sticky;
  position: sticky;
  top: 8rem;
  z-index: 10;
}

.tm-disclaimer-legal__section {
  scroll-margin-top: 8.5rem;
}

.tm-disclaimer-legal__nav-title {
  color: #2D2621;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.tm-disclaimer-legal__toc-link {
  color: #5E564F;
  text-decoration: none;
  font-size: 0.9rem;
  padding: 0.4rem 0.6rem;
  border-radius: 0.5rem;
  display: block;
  transition: all 0.2s ease;
}

.tm-disclaimer-legal__toc-link:hover,
.tm-disclaimer-legal__toc-link.active {
  background: #FFFFFF;
  color: #C86D51;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(45, 38, 33, 0.04);
}

.tm-disclaimer-legal__alert {
  background-color: #F6EAE6;
  border: 1px solid rgba(200, 109, 81, 0.25);
}

.text-primary-organic {
  color: #C86D51;
}

.text-secondary-custom {
  color: #5E564F;
}

.tm-disclaimer-legal__heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.35rem, 1.8vw + 0.5rem, 1.85rem);
  color: #2D2621;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px dashed rgba(106, 123, 96, 0.2);
}

.tm-disclaimer-legal__section p {
  color: #5E564F;
  margin-bottom: 1rem;
}

.tm-disclaimer-legal__list {
  color: #5E564F;
  padding-left: 1.25rem;
  margin-bottom: 1rem;
}

.tm-disclaimer-legal__list li {
  margin-bottom: 0.5rem;
}

.tm-disclaimer-legal__contact-card {
  background: #F5EFE6;
  border: 1px solid rgba(217, 201, 180, 0.4);
}

.tm-disclaimer-legal__btn-primary {
  background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
  color: #FFFFFF;
  border: none;
  border-radius: 9999px;
  padding: 0.65rem 1.5rem;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  display: inline-block;
  box-shadow: 0 4px 12px rgba(200, 109, 81, 0.25);
  transition: all 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}

.tm-disclaimer-legal__btn-primary:hover {
  background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(200, 109, 81, 0.35);
}

@media (max-width: 767.98px) {
  .tm-disclaimer-legal__card {
    padding: 1.25rem;
    border-radius: 1rem;
  }
  .tm-disclaimer-legal__title {
    font-size: 1.5rem;
    hyphens: auto;
  }
  .tm-disclaimer-legal__heading {
    font-size: 1.2rem;
    hyphens: auto;
  }
}

/* ===== PAGE: refound ===== */
.refund-policy-section { background-color: #FBF9F5; color: #2D2621; font-family: 'Plus Jakarta Sans', sans-serif; }
.refund-policy-section .refund-badge { background-color: #EFF3ED; color: #57664F; border: 1px solid rgba(106, 123, 96, 0.2); border-radius: 9999px; padding: 0.35rem 1.1rem; font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; }
.refund-policy-section .refund-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(2rem, 3.5vw + 1rem, 3.25rem); font-weight: 700; color: #2D2621; line-height: 1.15; }
.refund-policy-section .refund-lead { font-size: 1.1rem; line-height: 1.6; max-width: 720px; margin: 0 auto; }
.refund-policy-section .refund-effective-date { font-size: 0.875rem; color: #8A8177; }
.refund-policy-section .refund-highlight-card { background-color: #FFFFFF; border: 1px solid rgba(106, 123, 96, 0.14); border-radius: 1.25rem; box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.05); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.refund-policy-section .refund-highlight-card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px -8px rgba(45, 38, 33, 0.09); }
.refund-policy-section .refund-highlight-icon { width: 46px; height: 46px; background: #F6EAE6; color: #C86D51; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.25rem; }
.refund-policy-section .refund-card-title { font-family: 'Cormorant Garamond', serif; font-weight: 700; color: #2D2621; }
.refund-policy-section .refund-card-text { font-size: 0.925rem; line-height: 1.55; }
.refund-policy-section .refund-section-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.5rem, 2vw + 0.5rem, 2rem); font-weight: 700; color: #2D2621; border-bottom: 1px solid rgba(217, 201, 180, 0.4); padding-bottom: 0.6rem; }
.refund-policy-section .refund-section-num { color: #C86D51; font-weight: 600; }
.refund-policy-section .refund-text { font-size: 1rem; line-height: 1.65; margin-bottom: 1rem; }
.refund-policy-section .refund-list { list-style: none; padding-left: 0; margin-bottom: 1.25rem; }
.refund-policy-section .refund-list li { position: relative; padding-left: 1.75rem; margin-bottom: 0.65rem; line-height: 1.6; }
.refund-policy-section .refund-list li::before { content: ''; position: absolute; left: 0; top: 0.65rem; width: 7px; height: 7px; border-radius: 50%; background-color: #C86D51; }
.refund-policy-section .step-badge { width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(135deg, #7B8D70 0%, #6A7B60 100%); color: #FFFFFF; font-weight: 700; font-size: 0.9rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.refund-policy-section .refund-step-title { font-weight: 600; color: #2D2621; font-size: 1.05rem; }
.refund-policy-section .refund-inline-link { color: #C86D51; text-decoration: underline; text-underline-offset: 3px; font-weight: 500; transition: color 0.2s ease; }
.refund-policy-section .refund-inline-link:hover { color: #B35B40; }
.refund-policy-section .refund-support-box { background: #F5EFE6; border: 1px solid rgba(217, 201, 180, 0.5); }
.refund-policy-section .refund-support-title { font-family: 'Cormorant Garamond', serif; font-size: 1.6rem; font-weight: 700; color: #2D2621; }
.refund-policy-section .refund-support-desc { max-width: 600px; margin: 0 auto; }
.refund-policy-section .refund-btn-primary { background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%); color: #FFFFFF; border: none; border-radius: 9999px; padding: 0.8rem 2rem; font-weight: 600; box-shadow: 0 8px 18px -4px rgba(200, 109, 81, 0.35); transition: transform 0.2s ease, box-shadow 0.2s ease; }
.refund-policy-section .refund-btn-primary:hover { background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%); color: #FFFFFF; transform: translateY(-2px); box-shadow: 0 12px 24px -6px rgba(200, 109, 81, 0.45); }
.refund-policy-section .refund-btn-outline { background: transparent; color: #2D2621; border: 1.5px solid rgba(45, 38, 33, 0.2); border-radius: 9999px; padding: 0.75rem 1.85rem; font-weight: 600; transition: all 0.2s ease; }
.refund-policy-section .refund-btn-outline:hover { background: #FFFFFF; border-color: #C86D51; color: #C86D51; transform: translateY(-2px); }

.review-card.main-comment {
    background-color: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.14);
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.06);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.review-card.main-comment:hover {
    border-color: rgba(200, 109, 81, 0.35);
    box-shadow: 0 14px 28px -8px rgba(45, 38, 33, 0.09);
}

.avatar-initials {
    width: 48px;
    height: 48px;
    min-width: 48px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    box-shadow: 0 4px 10px rgba(200, 109, 81, 0.25);
    text-transform: uppercase;
}

.review-author-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #2D2621;
    line-height: 1.2;
}

.text-terracotta {
    color: #C86D51;
    font-size: 0.875rem;
}

.badge-organic {
    background-color: #EFF3ED;
    color: #57664F;
    border: 1px solid rgba(106, 123, 96, 0.2);
    border-radius: 9999px;
    padding: 0.2rem 0.65rem;
    font-size: 0.75rem;
    font-weight: 600;
}

.text-muted-earth {
    color: #8A8177;
}

.text-dark-earth {
    color: #2D2621;
}

.text-secondary-earth {
    color: #5E564F;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.95rem;
    line-height: 1.6;
}

.border-top-subtle {
    border-top: 1px solid rgba(45, 38, 33, 0.08);
}

.action-pill-btn {
    background: transparent;
    border: 1px solid transparent;
    color: #5E564F;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem;
    font-weight: 500;
    border-radius: 9999px;
    padding: 0.35rem 0.75rem;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
    cursor: pointer;
}

.action-pill-btn:hover {
    color: #C86D51;
    background-color: #F6EAE6;
    border-color: rgba(200, 109, 81, 0.25);
}

.review-card.reply-comment {
    background-color: #F5EFE6;
    border: 1px solid rgba(217, 201, 180, 0.4);
    box-shadow: 0 4px 16px -4px rgba(45, 38, 33, 0.04);
    position: relative;
}

.review-card.reply-comment::before {
    content: '';
    position: absolute;
    top: 1.5rem;
    left: -1.25rem;
    width: 1rem;
    height: 2px;
    background-color: rgba(106, 123, 96, 0.25);
}

.avatar-initials-staff {
    width: 40px;
    height: 40px;
    min-width: 40px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    background: linear-gradient(135deg, #7B8D70 0%, #6A7B60 100%);
    box-shadow: 0 4px 10px rgba(106, 123, 96, 0.25);
    text-transform: uppercase;
}

.badge-staff {
    background-color: #F6EAE6;
    color: #B35B40;
    border: 1px solid rgba(200, 109, 81, 0.25);
    border-radius: 9999px;
    padding: 0.2rem 0.6rem;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}


/* ===== PAGE TEMPLATE: catalog ===== */
.tm-body-detail {
    background-color: #FBF9F5;
    color: #2D2621;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.tm-header {
    background: #FBF9F5;
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.06);
    z-index: 1030;
    font-family: 'Plus Jakarta Sans', sans-serif
}

.tm-header .tm-topbar {
    background: #F5EFE6;
    border-bottom: 1px solid rgba(45, 38, 33, 0.08);
    padding: 0.45rem 0;
    font-size: 0.8125rem
}

.tm-header .tm-topbar-link {
    color: #5E564F;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease
}

.tm-header .tm-topbar-link:hover {
    color: #C86D51
}

.tm-header .tm-topbar-divider {
    display: inline-block;
    width: 1px;
    height: 12px;
    background: rgba(45, 38, 33, 0.15)
}

.tm-header .tm-topbar-text {
    color: #5E564F;
    font-weight: 500
}

.tm-header .tm-topbar i {
    color: #C86D51
}

.tm-header .tm-nav {
    background: #FBF9F5;
    border-bottom: 1px solid rgba(45, 38, 33, 0.06);
    padding: 0.85rem 0
}

.tm-header .tm-brand {
    text-decoration: none
}

.tm-header .tm-brand-logo {
    max-width: 44px;
    max-height: 44px;
    object-fit: contain
}

.tm-header .tm-brand-text {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.65rem;
    font-weight: 700;
    color: #2D2621;
    letter-spacing: -0.02em;
    line-height: 1
}

.tm-header .tm-nav-menu {
    gap: 0.25rem
}

.tm-header .tm-nav-link {
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #2D2621;
    font-size: 0.9375rem;
    font-weight: 600;
    padding: 0.5rem 0.85rem;
    border-radius: 9999px;
    transition: all 0.2s ease
}

.tm-header .tm-nav-link:hover,
.tm-header .tm-nav-link:focus {
    color: #C86D51;
    background: #F6EAE6
}

.tm-header .tm-nav-link.active {
    color: #C86D51;
    background: #F6EAE6
}

.tm-header .tm-cart-trigger {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #EFF3ED;
    border: 1px solid rgba(106, 123, 96, 0.2);
    border-radius: 50%;
    color: #2D2621;
    transition: all 0.2s cubic-bezier(0.22, 1, 0.36, 1);
    padding: 0
}

.tm-header .tm-cart-trigger:hover {
    background: #F6EAE6;
    border-color: rgba(200, 109, 81, 0.35);
    color: #C86D51;
    transform: translateY(-2px)
}

.tm-header .tm-cart-icon {
    font-size: 1.25rem;
    line-height: 1
}

.tm-header .tm-cart-badge {
    background: #C86D51;
    color: #FFFFFF;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.3em 0.55em;
    border: 2px solid #FBF9F5
}

.tm-header .tm-cta-btn {
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    font-size: 0.875rem;
    font-weight: 600;
    border: none;
    border-radius: 9999px;
    padding: 0.65rem 1.45rem;
    box-shadow: 0 8px 18px -4px rgba(200, 109, 81, 0.35);
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.tm-header .tm-cta-btn:hover {
    background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -6px rgba(200, 109, 81, 0.45)
}

.tm-header .tm-toggler {
    border: 1px solid rgba(45, 38, 33, 0.12);
    background: #F5EFE6;
    border-radius: 0.5rem;
    padding: 0.4rem 0.65rem;
    color: #2D2621;
    outline: none
}

.tm-header .tm-toggler:focus {
    box-shadow: 0 0 0 3px rgba(200, 109, 81, 0.25)
}

.tm-header .tm-toggler-icon {
    font-size: 1.5rem;
    line-height: 1;
    display: block
}

@media(max-width:991.98px) {
    .tm-header .navbar-collapse {
        background: #FFFFFF;
        border: 1px solid rgba(45, 38, 33, 0.08);
        border-radius: 1rem;
        padding: 1.25rem;
        margin-top: 0.75rem;
        box-shadow: 0 18px 36px -8px rgba(45, 38, 33, 0.12)
    }

    .tm-header .tm-nav-link {
        padding: 0.65rem 1rem;
        font-size: 0.875rem
    }
}

.tm-detail-hero {
    background: linear-gradient(135deg, #FBF9F5 0%, #F5EFE6 60%, #ECE3D4 100%);
    padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(2rem, 4vw, 3.5rem);
    border-bottom: 1px solid rgba(217, 201, 180, 0.6);
}

.tm-breadcrumb-nav .breadcrumb {
    font-size: 0.875rem;
}

.tm-breadcrumb-link {
    color: #5E564F;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.tm-breadcrumb-link:hover {
    color: #C86D51;
}

.tm-breadcrumb-nav .breadcrumb-item.active {
    color: #8C7E72;
}

.tm-hero-meta-pill {
    background: #EFF3ED;
    color: #57664F;
    border: 1px solid rgba(106, 123, 96, 0.2);
    border-radius: 9999px;
    padding: 0.4rem 1rem;
    font-size: 0.8125rem;
    font-weight: 600;
}

.tm-meta-divider {
    color: rgba(106, 123, 96, 0.4);
}

.tm-detail-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2rem, 3.5vw + 1rem, 3.25rem);
    font-weight: 700;
    line-height: 1.18;
    color: #2D2621;
    letter-spacing: -0.02em;
}

.tm-detail-lead {
    font-size: clamp(1rem, 1.2vw + 0.5rem, 1.15rem);
    line-height: 1.6;
    color: #5E564F;
}

.tm-article-wrapper {
    background: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.14);
    border-radius: 1.5rem;
    padding: clamp(1.5rem, 3vw, 2.5rem);
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.06);
}

.tm-single-media-wrap {
    border-radius: 1.25rem;
    overflow: hidden;
    border: 1px solid rgba(217, 201, 180, 0.6);
    box-shadow: 0 12px 28px -8px rgba(45, 38, 33, 0.08);
}

.tm-single-image {
    width: 100%;
    height: auto;
    display: block;
}

.tm-article-h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.6rem, 2.2vw + 0.5rem, 2.2rem);
    font-weight: 700;
    color: #2D2621;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

.tm-article-h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.3rem, 1.6vw + 0.4rem, 1.65rem);
    font-weight: 700;
    color: #2D2621;
    line-height: 1.3;
}

.tm-article-paragraph {
    font-size: 1rem;
    line-height: 1.7;
    color: #5E564F;
    margin-bottom: 1.25rem;
}

.tm-article-list {
    padding-left: 1.25rem;
    margin-bottom: 1.5rem;
}

.tm-article-list-item {
    color: #5E564F;
    font-size: 0.95rem;
    line-height: 1.65;
    margin-bottom: 0.5rem;
}

.tm-article-quote {
    background: #F5EFE6;
    border-left: 4px solid #C86D51;
    border-radius: 0 1rem 1rem 0;
}

.tm-quote-text {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.25rem;
    font-style: italic;
    color: #2D2621;
    line-height: 1.5;
}

.tm-quote-author {
    font-size: 0.875rem;
    font-weight: 600;
    color: #8C7E72;
    font-style: normal;
}

.tm-article-footer {
    border-color: rgba(45, 38, 33, 0.08) !important;
}

.tm-share-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: #5E564F;
}

.tm-share-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #EFF3ED;
    border: 1px solid rgba(106, 123, 96, 0.2);
    color: #57664F;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.2s ease;
}

.tm-share-btn:hover {
    background: #C86D51;
    border-color: #C86D51;
    color: #FFFFFF;
    transform: translateY(-2px);
}

.tm-btn-back {
    background: #F5EFE6;
    color: #2D2621;
    border: 1.5px solid rgba(45, 38, 33, 0.15);
    border-radius: 9999px;
    padding: 0.55rem 1.35rem;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.tm-btn-back:hover {
    background: #F6EAE6;
    color: #C86D51;
    border-color: #C86D51;
    transform: translateY(-2px);
}

.tm-sidebar-card {
    background: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.14);
    border-radius: 1.25rem;
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.05);
}

.tm-sidebar-heading {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    font-weight: 700;
    color: #2D2621;
    letter-spacing: -0.01em;
}

.tm-sidebar-text {
    font-size: 0.875rem;
    line-height: 1.55;
    color: #5E564F;
}

.tm-author-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #F6EAE6;
    color: #C86D51;
    font-size: 1.1rem;
}

.tm-author-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: #2D2621;
}

.tm-author-role {
    font-size: 0.75rem;
    color: #8A8177;
}

.tm-recent-link {
    display: inline-flex;
    align-items: flex-start;
    color: #5E564F;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.4;
    transition: all 0.2s ease;
}

.tm-recent-arrow {
    font-size: 0.75rem;
    color: #C86D51;
    margin-top: 0.2rem;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.tm-recent-link:hover {
    color: #C86D51;
}

.tm-recent-link:hover .tm-recent-arrow {
    transform: translateX(3px);
}

.tm-sidebar-cta {
    background: linear-gradient(135deg, #F5EFE6 0%, #EFE9DF 100%);
    border-color: rgba(217, 201, 180, 0.6);
}

.tm-cta-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    font-size: 1.25rem;
    box-shadow: 0 6px 16px -4px rgba(200, 109, 81, 0.35);
}

.tm-sidebar-cta-btn {
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    border: none;
    border-radius: 9999px;
    padding: 0.75rem 1.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    box-shadow: 0 8px 18px -4px rgba(200, 109, 81, 0.35);
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.tm-sidebar-cta-btn:hover {
    background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -6px rgba(200, 109, 81, 0.45);
}

.trips-footer {
    background-color: #F5EFE6;
    border-top: 1px solid rgba(217, 201, 180, 0.5);
    color: #2D2621;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    line-height: 1.6;
    position: relative;
    overflow: hidden
}

.trips-footer__top {
    padding-top: clamp(3.5rem, 6vw, 5.5rem);
    padding-bottom: clamp(2.5rem, 4vw, 3.5rem)
}

.trips-footer__brand-block {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.trips-footer__logo-wrap {
    display: flex;
    align-items: center;
    gap: 0.75rem
}

.trips-footer__logo {
    max-width: 46px;
    max-height: 46px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 0.5rem
}

.trips-footer__brand-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #2D2621;
    letter-spacing: -0.02em;
    line-height: 1.2
}

.trips-footer__about-text {
    color: #5E564F;
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0
}

.trips-footer__wa-wrapper {
    margin-top: 0.5rem
}

.trips-footer__wa-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: linear-gradient(135deg, #7B8D70 0%, #6A7B60 100%);
    color: #FFFFFF;
    padding: 0.75rem 1.4rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 6px 16px -4px rgba(106, 123, 96, 0.3);
    transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1)
}

.trips-footer__wa-btn:hover {
    background: linear-gradient(135deg, #6A7B60 0%, #57664F 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -4px rgba(106, 123, 96, 0.4)
}

.trips-footer__wa-icon {
    font-size: 1.15rem
}

.trips-footer__title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    font-weight: 700;
    color: #2D2621;
    margin-bottom: 1.25rem;
    line-height: 1.25;
    letter-spacing: -0.01em;
    position: relative
}

.trips-footer__title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -0.4rem;
    width: 24px;
    height: 2px;
    background-color: #C86D51;
    border-radius: 2px
}

.trips-footer__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.65rem
}

.trips-footer__link {
    display: inline-flex;
    align-items: center;
    color: #5E564F;
    text-decoration: none;
    font-size: 0.9rem;
    transition: all 0.25s ease
}

.trips-footer__link-arrow {
    font-size: 0.75rem;
    margin-right: 0.5rem;
    color: #8A8177;
    transition: transform 0.25s ease, color 0.25s ease
}

.trips-footer__link:hover {
    color: #C86D51;
    transform: translateX(3px)
}

.trips-footer__link:hover .trips-footer__link-arrow {
    color: #C86D51;
    transform: translateX(2px)
}

.trips-footer__contacts-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1.1rem
}

.trips-footer__contact-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem
}

.trips-footer__contact-icon {
    color: #C86D51;
    font-size: 1.15rem;
    margin-top: 0.15rem;
    flex-shrink: 0
}

.trips-footer__contact-content {
    display: flex;
    flex-direction: column
}

.trips-footer__contact-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8A8177;
    margin-bottom: 0.15rem
}

.trips-footer__contact-value {
    font-style: normal;
    color: #2D2621;
    font-size: 0.875rem;
    line-height: 1.45;
    margin: 0
}

.trips-footer__contact-link {
    color: #2D2621;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: color 0.2s ease
}

.trips-footer__contact-link:hover {
    color: #C86D51
}

.trips-footer__map-card {
    display: flex;
    flex-direction: column
}

.trips-footer__map-container {
    width: 100%;
    height: 140px;
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid rgba(217, 201, 180, 0.6);
    box-shadow: 0 6px 18px -4px rgba(45, 38, 33, 0.06);
    background-color: #EFE9DF;
    margin-bottom: 0.6rem
}

.trips-footer__map-frame {
    width: 100%;
    height: 100%;
    border: 0
}

.trips-footer__map-caption {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: #5E564F
}

.trips-footer__map-clock {
    color: #6A7B60
}

.trips-footer__middle {
    border-top: 1px solid rgba(217, 201, 180, 0.4);
    border-bottom: 1px solid rgba(217, 201, 180, 0.4);
    padding: 1.5rem 0;
    background-color: rgba(251, 249, 245, 0.6)
}

.trips-footer__legal-bar {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: center;
    justify-content: space-between
}

@media(min-width:992px) {
    .trips-footer__legal-bar {
        flex-direction: row
    }
}

.trips-footer__legal-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem 0.85rem
}

.trips-footer__legal-link {
    color: #5E564F;
    font-size: 0.85rem;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease
}

.trips-footer__legal-link:hover {
    color: #C86D51
}

.trips-footer__divider {
    color: #D9C9B4;
    font-size: 0.75rem
}

.trips-footer__payment-section {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem
}

.trips-footer__payment-title {
    font-size: 0.8rem;
    font-weight: 600;
    color: #8A8177;
    letter-spacing: 0.02em
}

.trips-footer__payment-badges {
    display: flex;
    align-items: center;
    gap: 0.5rem
}

.trips-footer__payment-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background-color: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.18);
    border-radius: 0.5rem;
    padding: 0.35rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #2D2621;
    box-shadow: 0 2px 6px rgba(45, 38, 33, 0.03)
}

.trips-footer__badge-icon {
    color: #C86D51;
    font-size: 0.9rem
}

.trips-footer__bottom {
    padding: 1.25rem 0;
    background-color: #F5EFE6
}

.trips-footer__copyright-row {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center
}

.trips-footer__copyright-text {
    margin: 0;
    font-size: 0.8125rem;
    color: #8A8177;
    line-height: 1.5
}

@media(max-width:767.98px) {
    .trips-footer__title {
        font-size: 1.2rem
    }

    .trips-footer__brand-name {
        font-size: 1.4rem
    }

    .trips-footer__legal-links {
        flex-direction: column;
        gap: 0.4rem
    }

    .trips-footer__divider {
        display: none
    }

    .tm-detail-title {
        font-size: 1.75rem;
    }

    .tm-article-h2 {
        font-size: 1.45rem;
    }

    .tm-article-h3 {
        font-size: 1.25rem;
    }
}

/* ===== PAGE TEMPLATE: services ===== */
.tm-body-detail {
    background-color: #FBF9F5;
    color: #2D2621;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.tm-header {
    background: #FBF9F5;
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.06);
    z-index: 1030;
    font-family: 'Plus Jakarta Sans', sans-serif
}

.tm-header .tm-topbar {
    background: #F5EFE6;
    border-bottom: 1px solid rgba(45, 38, 33, 0.08);
    padding: 0.45rem 0;
    font-size: 0.8125rem
}

.tm-header .tm-topbar-link {
    color: #5E564F;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease
}

.tm-header .tm-topbar-link:hover {
    color: #C86D51
}

.tm-header .tm-topbar-divider {
    display: inline-block;
    width: 1px;
    height: 12px;
    background: rgba(45, 38, 33, 0.15)
}

.tm-header .tm-topbar-text {
    color: #5E564F;
    font-weight: 500
}

.tm-header .tm-topbar i {
    color: #C86D51
}

.tm-header .tm-nav {
    background: #FBF9F5;
    border-bottom: 1px solid rgba(45, 38, 33, 0.06);
    padding: 0.85rem 0
}

.tm-header .tm-brand {
    text-decoration: none
}

.tm-header .tm-brand-logo {
    max-width: 44px;
    max-height: 44px;
    object-fit: contain
}

.tm-header .tm-brand-text {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.65rem;
    font-weight: 700;
    color: #2D2621;
    letter-spacing: -0.02em;
    line-height: 1
}

.tm-header .tm-nav-menu {
    gap: 0.25rem
}

.tm-header .tm-nav-link {
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #2D2621;
    font-size: 0.9375rem;
    font-weight: 600;
    padding: 0.5rem 0.85rem;
    border-radius: 9999px;
    transition: all 0.2s ease
}

.tm-header .tm-nav-link:hover,
.tm-header .tm-nav-link:focus {
    color: #C86D51;
    background: #F6EAE6
}

.tm-header .tm-nav-link.active {
    color: #C86D51;
    background: #F6EAE6
}

.tm-header .tm-cart-trigger {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #EFF3ED;
    border: 1px solid rgba(106, 123, 96, 0.2);
    border-radius: 50%;
    color: #2D2621;
    transition: all 0.2s cubic-bezier(0.22, 1, 0.36, 1);
    padding: 0
}

.tm-header .tm-cart-trigger:hover {
    background: #F6EAE6;
    border-color: rgba(200, 109, 81, 0.35);
    color: #C86D51;
    transform: translateY(-2px)
}

.tm-header .tm-cart-icon {
    font-size: 1.25rem;
    line-height: 1
}

.tm-header .tm-cart-badge {
    background: #C86D51;
    color: #FFFFFF;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.3em 0.55em;
    border: 2px solid #FBF9F5
}

.tm-header .tm-cta-btn {
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    font-size: 0.875rem;
    font-weight: 600;
    border: none;
    border-radius: 9999px;
    padding: 0.65rem 1.45rem;
    box-shadow: 0 8px 18px -4px rgba(200, 109, 81, 0.35);
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.tm-header .tm-cta-btn:hover {
    background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -6px rgba(200, 109, 81, 0.45)
}

.tm-header .tm-toggler {
    border: 1px solid rgba(45, 38, 33, 0.12);
    background: #F5EFE6;
    border-radius: 0.5rem;
    padding: 0.4rem 0.65rem;
    color: #2D2621;
    outline: none
}

.tm-header .tm-toggler:focus {
    box-shadow: 0 0 0 3px rgba(200, 109, 81, 0.25)
}

.tm-header .tm-toggler-icon {
    font-size: 1.5rem;
    line-height: 1;
    display: block
}

@media(max-width:991.98px) {
    .tm-header .navbar-collapse {
        background: #FFFFFF;
        border: 1px solid rgba(45, 38, 33, 0.08);
        border-radius: 1rem;
        padding: 1.25rem;
        margin-top: 0.75rem;
        box-shadow: 0 18px 36px -8px rgba(45, 38, 33, 0.12)
    }

    .tm-header .tm-nav-link {
        padding: 0.65rem 1rem;
        font-size: 0.875rem
    }
}

.tm-detail-hero {
    background: linear-gradient(135deg, #FBF9F5 0%, #F5EFE6 60%, #ECE3D4 100%);
    padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(2rem, 4vw, 3.5rem);
    border-bottom: 1px solid rgba(217, 201, 180, 0.6);
}

.tm-breadcrumb-nav .breadcrumb {
    font-size: 0.875rem;
}

.tm-breadcrumb-link {
    color: #5E564F;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.tm-breadcrumb-link:hover {
    color: #C86D51;
}

.tm-breadcrumb-nav .breadcrumb-item.active {
    color: #8C7E72;
}

.tm-hero-meta-pill {
    background: #EFF3ED;
    color: #57664F;
    border: 1px solid rgba(106, 123, 96, 0.2);
    border-radius: 9999px;
    padding: 0.4rem 1rem;
    font-size: 0.8125rem;
    font-weight: 600;
}

.tm-meta-divider {
    color: rgba(106, 123, 96, 0.4);
}

.tm-detail-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2rem, 3.5vw + 1rem, 3.25rem);
    font-weight: 700;
    line-height: 1.18;
    color: #2D2621;
    letter-spacing: -0.02em;
}

.tm-detail-lead {
    font-size: clamp(1rem, 1.2vw + 0.5rem, 1.15rem);
    line-height: 1.6;
    color: #5E564F;
}

.tm-article-wrapper {
    background: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.14);
    border-radius: 1.5rem;
    padding: clamp(1.5rem, 3vw, 2.5rem);
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.06);
}

.tm-single-media-wrap {
    border-radius: 1.25rem;
    overflow: hidden;
    border: 1px solid rgba(217, 201, 180, 0.6);
    box-shadow: 0 12px 28px -8px rgba(45, 38, 33, 0.08);
}

.tm-single-image {
    width: 100%;
    height: auto;
    display: block;
}

.tm-article-h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.6rem, 2.2vw + 0.5rem, 2.2rem);
    font-weight: 700;
    color: #2D2621;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

.tm-article-h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.3rem, 1.6vw + 0.4rem, 1.65rem);
    font-weight: 700;
    color: #2D2621;
    line-height: 1.3;
}

.tm-article-paragraph {
    font-size: 1rem;
    line-height: 1.7;
    color: #5E564F;
    margin-bottom: 1.25rem;
}

.tm-article-list {
    padding-left: 1.25rem;
    margin-bottom: 1.5rem;
}

.tm-article-list-item {
    color: #5E564F;
    font-size: 0.95rem;
    line-height: 1.65;
    margin-bottom: 0.5rem;
}

.tm-article-quote {
    background: #F5EFE6;
    border-left: 4px solid #C86D51;
    border-radius: 0 1rem 1rem 0;
}

.tm-quote-text {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.25rem;
    font-style: italic;
    color: #2D2621;
    line-height: 1.5;
}

.tm-quote-author {
    font-size: 0.875rem;
    font-weight: 600;
    color: #8C7E72;
    font-style: normal;
}

.tm-article-footer {
    border-color: rgba(45, 38, 33, 0.08) !important;
}

.tm-share-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: #5E564F;
}

.tm-share-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #EFF3ED;
    border: 1px solid rgba(106, 123, 96, 0.2);
    color: #57664F;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.2s ease;
}

.tm-share-btn:hover {
    background: #C86D51;
    border-color: #C86D51;
    color: #FFFFFF;
    transform: translateY(-2px);
}

.tm-btn-back {
    background: #F5EFE6;
    color: #2D2621;
    border: 1.5px solid rgba(45, 38, 33, 0.15);
    border-radius: 9999px;
    padding: 0.55rem 1.35rem;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.tm-btn-back:hover {
    background: #F6EAE6;
    color: #C86D51;
    border-color: #C86D51;
    transform: translateY(-2px);
}

.tm-sidebar-card {
    background: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.14);
    border-radius: 1.25rem;
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.05);
}

.tm-sidebar-heading {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    font-weight: 700;
    color: #2D2621;
    letter-spacing: -0.01em;
}

.tm-sidebar-text {
    font-size: 0.875rem;
    line-height: 1.55;
    color: #5E564F;
}

.tm-author-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #F6EAE6;
    color: #C86D51;
    font-size: 1.1rem;
}

.tm-author-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: #2D2621;
}

.tm-author-role {
    font-size: 0.75rem;
    color: #8A8177;
}

.tm-recent-link {
    display: inline-flex;
    align-items: flex-start;
    color: #5E564F;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.4;
    transition: all 0.2s ease;
}

.tm-recent-arrow {
    font-size: 0.75rem;
    color: #C86D51;
    margin-top: 0.2rem;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.tm-recent-link:hover {
    color: #C86D51;
}

.tm-recent-link:hover .tm-recent-arrow {
    transform: translateX(3px);
}

.tm-sidebar-cta {
    background: linear-gradient(135deg, #F5EFE6 0%, #EFE9DF 100%);
    border-color: rgba(217, 201, 180, 0.6);
}

.tm-cta-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    font-size: 1.25rem;
    box-shadow: 0 6px 16px -4px rgba(200, 109, 81, 0.35);
}

.tm-sidebar-cta-btn {
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    border: none;
    border-radius: 9999px;
    padding: 0.75rem 1.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    box-shadow: 0 8px 18px -4px rgba(200, 109, 81, 0.35);
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.tm-sidebar-cta-btn:hover {
    background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -6px rgba(200, 109, 81, 0.45);
}

.trips-footer {
    background-color: #F5EFE6;
    border-top: 1px solid rgba(217, 201, 180, 0.5);
    color: #2D2621;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    line-height: 1.6;
    position: relative;
    overflow: hidden
}

.trips-footer__top {
    padding-top: clamp(3.5rem, 6vw, 5.5rem);
    padding-bottom: clamp(2.5rem, 4vw, 3.5rem)
}

.trips-footer__brand-block {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.trips-footer__logo-wrap {
    display: flex;
    align-items: center;
    gap: 0.75rem
}

.trips-footer__logo {
    max-width: 46px;
    max-height: 46px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 0.5rem
}

.trips-footer__brand-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #2D2621;
    letter-spacing: -0.02em;
    line-height: 1.2
}

.trips-footer__about-text {
    color: #5E564F;
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0
}

.trips-footer__wa-wrapper {
    margin-top: 0.5rem
}

.trips-footer__wa-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: linear-gradient(135deg, #7B8D70 0%, #6A7B60 100%);
    color: #FFFFFF;
    padding: 0.75rem 1.4rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 6px 16px -4px rgba(106, 123, 96, 0.3);
    transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1)
}

.trips-footer__wa-btn:hover {
    background: linear-gradient(135deg, #6A7B60 0%, #57664F 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -4px rgba(106, 123, 96, 0.4)
}

.trips-footer__wa-icon {
    font-size: 1.15rem
}

.trips-footer__title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    font-weight: 700;
    color: #2D2621;
    margin-bottom: 1.25rem;
    line-height: 1.25;
    letter-spacing: -0.01em;
    position: relative
}

.trips-footer__title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -0.4rem;
    width: 24px;
    height: 2px;
    background-color: #C86D51;
    border-radius: 2px
}

.trips-footer__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.65rem
}

.trips-footer__link {
    display: inline-flex;
    align-items: center;
    color: #5E564F;
    text-decoration: none;
    font-size: 0.9rem;
    transition: all 0.25s ease
}

.trips-footer__link-arrow {
    font-size: 0.75rem;
    margin-right: 0.5rem;
    color: #8A8177;
    transition: transform 0.25s ease, color 0.25s ease
}

.trips-footer__link:hover {
    color: #C86D51;
    transform: translateX(3px)
}

.trips-footer__link:hover .trips-footer__link-arrow {
    color: #C86D51;
    transform: translateX(2px)
}

.trips-footer__contacts-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1.1rem
}

.trips-footer__contact-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem
}

.trips-footer__contact-icon {
    color: #C86D51;
    font-size: 1.15rem;
    margin-top: 0.15rem;
    flex-shrink: 0
}

.trips-footer__contact-content {
    display: flex;
    flex-direction: column
}

.trips-footer__contact-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8A8177;
    margin-bottom: 0.15rem
}

.trips-footer__contact-value {
    font-style: normal;
    color: #2D2621;
    font-size: 0.875rem;
    line-height: 1.45;
    margin: 0
}

.trips-footer__contact-link {
    color: #2D2621;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: color 0.2s ease
}

.trips-footer__contact-link:hover {
    color: #C86D51
}

.trips-footer__map-card {
    display: flex;
    flex-direction: column
}

.trips-footer__map-container {
    width: 100%;
    height: 140px;
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid rgba(217, 201, 180, 0.6);
    box-shadow: 0 6px 18px -4px rgba(45, 38, 33, 0.06);
    background-color: #EFE9DF;
    margin-bottom: 0.6rem
}

.trips-footer__map-frame {
    width: 100%;
    height: 100%;
    border: 0
}

.trips-footer__map-caption {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: #5E564F
}

.trips-footer__map-clock {
    color: #6A7B60
}

.trips-footer__middle {
    border-top: 1px solid rgba(217, 201, 180, 0.4);
    border-bottom: 1px solid rgba(217, 201, 180, 0.4);
    padding: 1.5rem 0;
    background-color: rgba(251, 249, 245, 0.6)
}

.trips-footer__legal-bar {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: center;
    justify-content: space-between
}

@media(min-width:992px) {
    .trips-footer__legal-bar {
        flex-direction: row
    }
}

.trips-footer__legal-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem 0.85rem
}

.trips-footer__legal-link {
    color: #5E564F;
    font-size: 0.85rem;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease
}

.trips-footer__legal-link:hover {
    color: #C86D51
}

.trips-footer__divider {
    color: #D9C9B4;
    font-size: 0.75rem
}

.trips-footer__payment-section {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem
}

.trips-footer__payment-title {
    font-size: 0.8rem;
    font-weight: 600;
    color: #8A8177;
    letter-spacing: 0.02em
}

.trips-footer__payment-badges {
    display: flex;
    align-items: center;
    gap: 0.5rem
}

.trips-footer__payment-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background-color: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.18);
    border-radius: 0.5rem;
    padding: 0.35rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #2D2621;
    box-shadow: 0 2px 6px rgba(45, 38, 33, 0.03)
}

.trips-footer__badge-icon {
    color: #C86D51;
    font-size: 0.9rem
}

.trips-footer__bottom {
    padding: 1.25rem 0;
    background-color: #F5EFE6
}

.trips-footer__copyright-row {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center
}

.trips-footer__copyright-text {
    margin: 0;
    font-size: 0.8125rem;
    color: #8A8177;
    line-height: 1.5
}

@media(max-width:767.98px) {
    .trips-footer__title {
        font-size: 1.2rem
    }

    .trips-footer__brand-name {
        font-size: 1.4rem
    }

    .trips-footer__legal-links {
        flex-direction: column;
        gap: 0.4rem
    }

    .trips-footer__divider {
        display: none
    }

    .tm-detail-title {
        font-size: 1.75rem;
    }

    .tm-article-h2 {
        font-size: 1.45rem;
    }

    .tm-article-h3 {
        font-size: 1.25rem;
    }
}

/* ===== PAGE TEMPLATE: blog ===== */
.tm-body-detail {
    background-color: #FBF9F5;
    color: #2D2621;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.tm-header {
    background: #FBF9F5;
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.06);
    z-index: 1030;
    font-family: 'Plus Jakarta Sans', sans-serif
}

.tm-header .tm-topbar {
    background: #F5EFE6;
    border-bottom: 1px solid rgba(45, 38, 33, 0.08);
    padding: 0.45rem 0;
    font-size: 0.8125rem
}

.tm-header .tm-topbar-link {
    color: #5E564F;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease
}

.tm-header .tm-topbar-link:hover {
    color: #C86D51
}

.tm-header .tm-topbar-divider {
    display: inline-block;
    width: 1px;
    height: 12px;
    background: rgba(45, 38, 33, 0.15)
}

.tm-header .tm-topbar-text {
    color: #5E564F;
    font-weight: 500
}

.tm-header .tm-topbar i {
    color: #C86D51
}

.tm-header .tm-nav {
    background: #FBF9F5;
    border-bottom: 1px solid rgba(45, 38, 33, 0.06);
    padding: 0.85rem 0
}

.tm-header .tm-brand {
    text-decoration: none
}

.tm-header .tm-brand-logo {
    max-width: 44px;
    max-height: 44px;
    object-fit: contain
}

.tm-header .tm-brand-text {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.65rem;
    font-weight: 700;
    color: #2D2621;
    letter-spacing: -0.02em;
    line-height: 1
}

.tm-header .tm-nav-menu {
    gap: 0.25rem
}

.tm-header .tm-nav-link {
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #2D2621;
    font-size: 0.9375rem;
    font-weight: 600;
    padding: 0.5rem 0.85rem;
    border-radius: 9999px;
    transition: all 0.2s ease
}

.tm-header .tm-nav-link:hover,
.tm-header .tm-nav-link:focus {
    color: #C86D51;
    background: #F6EAE6
}

.tm-header .tm-nav-link.active {
    color: #C86D51;
    background: #F6EAE6
}

.tm-header .tm-cart-trigger {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #EFF3ED;
    border: 1px solid rgba(106, 123, 96, 0.2);
    border-radius: 50%;
    color: #2D2621;
    transition: all 0.2s cubic-bezier(0.22, 1, 0.36, 1);
    padding: 0
}

.tm-header .tm-cart-trigger:hover {
    background: #F6EAE6;
    border-color: rgba(200, 109, 81, 0.35);
    color: #C86D51;
    transform: translateY(-2px)
}

.tm-header .tm-cart-icon {
    font-size: 1.25rem;
    line-height: 1
}

.tm-header .tm-cart-badge {
    background: #C86D51;
    color: #FFFFFF;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.3em 0.55em;
    border: 2px solid #FBF9F5
}

.tm-header .tm-cta-btn {
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    font-size: 0.875rem;
    font-weight: 600;
    border: none;
    border-radius: 9999px;
    padding: 0.65rem 1.45rem;
    box-shadow: 0 8px 18px -4px rgba(200, 109, 81, 0.35);
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.tm-header .tm-cta-btn:hover {
    background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -6px rgba(200, 109, 81, 0.45)
}

.tm-header .tm-toggler {
    border: 1px solid rgba(45, 38, 33, 0.12);
    background: #F5EFE6;
    border-radius: 0.5rem;
    padding: 0.4rem 0.65rem;
    color: #2D2621;
    outline: none
}

.tm-header .tm-toggler:focus {
    box-shadow: 0 0 0 3px rgba(200, 109, 81, 0.25)
}

.tm-header .tm-toggler-icon {
    font-size: 1.5rem;
    line-height: 1;
    display: block
}

@media(max-width:991.98px) {
    .tm-header .navbar-collapse {
        background: #FFFFFF;
        border: 1px solid rgba(45, 38, 33, 0.08);
        border-radius: 1rem;
        padding: 1.25rem;
        margin-top: 0.75rem;
        box-shadow: 0 18px 36px -8px rgba(45, 38, 33, 0.12)
    }

    .tm-header .tm-nav-link {
        padding: 0.65rem 1rem;
        font-size: 0.875rem
    }
}

.tm-detail-hero {
    background: linear-gradient(135deg, #FBF9F5 0%, #F5EFE6 60%, #ECE3D4 100%);
    padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(2rem, 4vw, 3.5rem);
    border-bottom: 1px solid rgba(217, 201, 180, 0.6);
}

.tm-breadcrumb-nav .breadcrumb {
    font-size: 0.875rem;
}

.tm-breadcrumb-link {
    color: #5E564F;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.tm-breadcrumb-link:hover {
    color: #C86D51;
}

.tm-breadcrumb-nav .breadcrumb-item.active {
    color: #8C7E72;
}

.tm-hero-meta-pill {
    background: #EFF3ED;
    color: #57664F;
    border: 1px solid rgba(106, 123, 96, 0.2);
    border-radius: 9999px;
    padding: 0.4rem 1rem;
    font-size: 0.8125rem;
    font-weight: 600;
}

.tm-meta-divider {
    color: rgba(106, 123, 96, 0.4);
}

.tm-detail-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2rem, 3.5vw + 1rem, 3.25rem);
    font-weight: 700;
    line-height: 1.18;
    color: #2D2621;
    letter-spacing: -0.02em;
}

.tm-detail-lead {
    font-size: clamp(1rem, 1.2vw + 0.5rem, 1.15rem);
    line-height: 1.6;
    color: #5E564F;
}

.tm-article-wrapper {
    background: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.14);
    border-radius: 1.5rem;
    padding: clamp(1.5rem, 3vw, 2.5rem);
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.06);
}

.tm-single-media-wrap {
    border-radius: 1.25rem;
    overflow: hidden;
    border: 1px solid rgba(217, 201, 180, 0.6);
    box-shadow: 0 12px 28px -8px rgba(45, 38, 33, 0.08);
}

.tm-single-image {
    width: 100%;
    height: auto;
    display: block;
}

.tm-article-h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.6rem, 2.2vw + 0.5rem, 2.2rem);
    font-weight: 700;
    color: #2D2621;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

.tm-article-h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.3rem, 1.6vw + 0.4rem, 1.65rem);
    font-weight: 700;
    color: #2D2621;
    line-height: 1.3;
}

.tm-article-paragraph {
    font-size: 1rem;
    line-height: 1.7;
    color: #5E564F;
    margin-bottom: 1.25rem;
}

.tm-article-list {
    padding-left: 1.25rem;
    margin-bottom: 1.5rem;
}

.tm-article-list-item {
    color: #5E564F;
    font-size: 0.95rem;
    line-height: 1.65;
    margin-bottom: 0.5rem;
}

.tm-article-quote {
    background: #F5EFE6;
    border-left: 4px solid #C86D51;
    border-radius: 0 1rem 1rem 0;
}

.tm-quote-text {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.25rem;
    font-style: italic;
    color: #2D2621;
    line-height: 1.5;
}

.tm-quote-author {
    font-size: 0.875rem;
    font-weight: 600;
    color: #8C7E72;
    font-style: normal;
}

.tm-article-footer {
    border-color: rgba(45, 38, 33, 0.08) !important;
}

.tm-share-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: #5E564F;
}

.tm-share-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #EFF3ED;
    border: 1px solid rgba(106, 123, 96, 0.2);
    color: #57664F;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.2s ease;
}

.tm-share-btn:hover {
    background: #C86D51;
    border-color: #C86D51;
    color: #FFFFFF;
    transform: translateY(-2px);
}

.tm-btn-back {
    background: #F5EFE6;
    color: #2D2621;
    border: 1.5px solid rgba(45, 38, 33, 0.15);
    border-radius: 9999px;
    padding: 0.55rem 1.35rem;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.tm-btn-back:hover {
    background: #F6EAE6;
    color: #C86D51;
    border-color: #C86D51;
    transform: translateY(-2px);
}

.tm-sidebar-card {
    background: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.14);
    border-radius: 1.25rem;
    box-shadow: 0 8px 24px -6px rgba(45, 38, 33, 0.05);
}

.tm-sidebar-heading {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    font-weight: 700;
    color: #2D2621;
    letter-spacing: -0.01em;
}

.tm-sidebar-text {
    font-size: 0.875rem;
    line-height: 1.55;
    color: #5E564F;
}

.tm-author-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #F6EAE6;
    color: #C86D51;
    font-size: 1.1rem;
}

.tm-author-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: #2D2621;
}

.tm-author-role {
    font-size: 0.75rem;
    color: #8A8177;
}

.tm-recent-link {
    display: inline-flex;
    align-items: flex-start;
    color: #5E564F;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.4;
    transition: all 0.2s ease;
}

.tm-recent-arrow {
    font-size: 0.75rem;
    color: #C86D51;
    margin-top: 0.2rem;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.tm-recent-link:hover {
    color: #C86D51;
}

.tm-recent-link:hover .tm-recent-arrow {
    transform: translateX(3px);
}

.tm-sidebar-cta {
    background: linear-gradient(135deg, #F5EFE6 0%, #EFE9DF 100%);
    border-color: rgba(217, 201, 180, 0.6);
}

.tm-cta-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    font-size: 1.25rem;
    box-shadow: 0 6px 16px -4px rgba(200, 109, 81, 0.35);
}

.tm-sidebar-cta-btn {
    background: linear-gradient(135deg, #D47B60 0%, #C86D51 100%);
    color: #FFFFFF;
    border: none;
    border-radius: 9999px;
    padding: 0.75rem 1.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    box-shadow: 0 8px 18px -4px rgba(200, 109, 81, 0.35);
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.tm-sidebar-cta-btn:hover {
    background: linear-gradient(135deg, #C86D51 0%, #B35B40 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -6px rgba(200, 109, 81, 0.45);
}

.trips-footer {
    background-color: #F5EFE6;
    border-top: 1px solid rgba(217, 201, 180, 0.5);
    color: #2D2621;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    line-height: 1.6;
    position: relative;
    overflow: hidden
}

.trips-footer__top {
    padding-top: clamp(3.5rem, 6vw, 5.5rem);
    padding-bottom: clamp(2.5rem, 4vw, 3.5rem)
}

.trips-footer__brand-block {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.trips-footer__logo-wrap {
    display: flex;
    align-items: center;
    gap: 0.75rem
}

.trips-footer__logo {
    max-width: 46px;
    max-height: 46px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 0.5rem
}

.trips-footer__brand-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #2D2621;
    letter-spacing: -0.02em;
    line-height: 1.2
}

.trips-footer__about-text {
    color: #5E564F;
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0
}

.trips-footer__wa-wrapper {
    margin-top: 0.5rem
}

.trips-footer__wa-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: linear-gradient(135deg, #7B8D70 0%, #6A7B60 100%);
    color: #FFFFFF;
    padding: 0.75rem 1.4rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 6px 16px -4px rgba(106, 123, 96, 0.3);
    transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1)
}

.trips-footer__wa-btn:hover {
    background: linear-gradient(135deg, #6A7B60 0%, #57664F 100%);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -4px rgba(106, 123, 96, 0.4)
}

.trips-footer__wa-icon {
    font-size: 1.15rem
}

.trips-footer__title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    font-weight: 700;
    color: #2D2621;
    margin-bottom: 1.25rem;
    line-height: 1.25;
    letter-spacing: -0.01em;
    position: relative
}

.trips-footer__title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -0.4rem;
    width: 24px;
    height: 2px;
    background-color: #C86D51;
    border-radius: 2px
}

.trips-footer__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.65rem
}

.trips-footer__link {
    display: inline-flex;
    align-items: center;
    color: #5E564F;
    text-decoration: none;
    font-size: 0.9rem;
    transition: all 0.25s ease
}

.trips-footer__link-arrow {
    font-size: 0.75rem;
    margin-right: 0.5rem;
    color: #8A8177;
    transition: transform 0.25s ease, color 0.25s ease
}

.trips-footer__link:hover {
    color: #C86D51;
    transform: translateX(3px)
}

.trips-footer__link:hover .trips-footer__link-arrow {
    color: #C86D51;
    transform: translateX(2px)
}

.trips-footer__contacts-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1.1rem
}

.trips-footer__contact-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem
}

.trips-footer__contact-icon {
    color: #C86D51;
    font-size: 1.15rem;
    margin-top: 0.15rem;
    flex-shrink: 0
}

.trips-footer__contact-content {
    display: flex;
    flex-direction: column
}

.trips-footer__contact-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8A8177;
    margin-bottom: 0.15rem
}

.trips-footer__contact-value {
    font-style: normal;
    color: #2D2621;
    font-size: 0.875rem;
    line-height: 1.45;
    margin: 0
}

.trips-footer__contact-link {
    color: #2D2621;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: color 0.2s ease
}

.trips-footer__contact-link:hover {
    color: #C86D51
}

.trips-footer__map-card {
    display: flex;
    flex-direction: column
}

.trips-footer__map-container {
    width: 100%;
    height: 140px;
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid rgba(217, 201, 180, 0.6);
    box-shadow: 0 6px 18px -4px rgba(45, 38, 33, 0.06);
    background-color: #EFE9DF;
    margin-bottom: 0.6rem
}

.trips-footer__map-frame {
    width: 100%;
    height: 100%;
    border: 0
}

.trips-footer__map-caption {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: #5E564F
}

.trips-footer__map-clock {
    color: #6A7B60
}

.trips-footer__middle {
    border-top: 1px solid rgba(217, 201, 180, 0.4);
    border-bottom: 1px solid rgba(217, 201, 180, 0.4);
    padding: 1.5rem 0;
    background-color: rgba(251, 249, 245, 0.6)
}

.trips-footer__legal-bar {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: center;
    justify-content: space-between
}

@media(min-width:992px) {
    .trips-footer__legal-bar {
        flex-direction: row
    }
}

.trips-footer__legal-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem 0.85rem
}

.trips-footer__legal-link {
    color: #5E564F;
    font-size: 0.85rem;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease
}

.trips-footer__legal-link:hover {
    color: #C86D51
}

.trips-footer__divider {
    color: #D9C9B4;
    font-size: 0.75rem
}

.trips-footer__payment-section {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem
}

.trips-footer__payment-title {
    font-size: 0.8rem;
    font-weight: 600;
    color: #8A8177;
    letter-spacing: 0.02em
}

.trips-footer__payment-badges {
    display: flex;
    align-items: center;
    gap: 0.5rem
}

.trips-footer__payment-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background-color: #FFFFFF;
    border: 1px solid rgba(106, 123, 96, 0.18);
    border-radius: 0.5rem;
    padding: 0.35rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #2D2621;
    box-shadow: 0 2px 6px rgba(45, 38, 33, 0.03)
}

.trips-footer__badge-icon {
    color: #C86D51;
    font-size: 0.9rem
}

.trips-footer__bottom {
    padding: 1.25rem 0;
    background-color: #F5EFE6
}

.trips-footer__copyright-row {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center
}

.trips-footer__copyright-text {
    margin: 0;
    font-size: 0.8125rem;
    color: #8A8177;
    line-height: 1.5
}

@media(max-width:767.98px) {
    .trips-footer__title {
        font-size: 1.2rem
    }

    .trips-footer__brand-name {
        font-size: 1.4rem
    }

    .trips-footer__legal-links {
        flex-direction: column;
        gap: 0.4rem
    }

    .trips-footer__divider {
        display: none
    }

    .tm-detail-title {
        font-size: 1.75rem;
    }

    .tm-article-h2 {
        font-size: 1.45rem;
    }

    .tm-article-h3 {
        font-size: 1.25rem;
    }
}