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

:root {
    --remonto-primary: #176b57;
    --remonto-primary-dark: #0f4f40;
    --remonto-primary-soft: #eaf7f3;
    --remonto-accent: #f2a20c;
    --remonto-accent-soft: #fff6df;
    --remonto-ink: #18212f;
    --remonto-ink-soft: #344054;
    --remonto-muted: #667085;
    --remonto-light: #f7fbfa;
    --remonto-surface: #ffffff;
    --remonto-border: rgba(15, 23, 42, .08);
    --remonto-border-strong: rgba(23, 107, 87, .3);
    --remonto-shadow-xs: 0 .25rem .75rem rgba(15, 23, 42, .05);
    --remonto-shadow-sm: 0 .5rem 1.25rem rgba(15, 23, 42, .07);
    --remonto-shadow-md: 0 1rem 2.25rem rgba(15, 23, 42, .1);
    --remonto-radius-sm: .75rem;
    --remonto-radius: 1rem;
    --remonto-radius-lg: 1.25rem;
}

html {
    font-size: 15px;
}

body {
    font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: #f7faf9;
    color: var(--remonto-ink);
    font-size: .94rem;
    line-height: 1.55;
    letter-spacing: -.01em;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--remonto-ink);
    letter-spacing: -.035em;
    line-height: 1.16;
}

h1,
.display-5 {
    font-size: clamp(2rem, 4vw, 3.35rem);
}

h2 {
    font-size: clamp(1.45rem, 2.4vw, 2.1rem);
}

h3 {
    font-size: 1.12rem;
}

p {
    color: var(--remonto-muted);
}

.lead {
    font-size: 1.04rem;
    line-height: 1.65;
}

a {
    transition: color .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.text-remonto {
    color: var(--remonto-primary) !important;
}

.text-soft {
    color: var(--remonto-muted) !important;
}

.bg-remonto {
    background: var(--remonto-primary) !important;
}

.bg-remonto-soft {
    background: var(--remonto-primary-soft) !important;
}

.bg-accent-soft {
    background: var(--remonto-accent-soft) !important;
}

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

.fw-semibold {
    font-weight: 700 !important;
}

.small,
small {
    font-size: .78rem;
}

.section-label {
    letter-spacing: .075em;
    font-size: .72rem;
    font-weight: 800;
}

.btn {
    --bs-btn-padding-x: 1rem;
    --bs-btn-padding-y: .52rem;
    --bs-btn-font-size: .86rem;
    --bs-btn-font-weight: 700;
    --bs-btn-border-radius: .72rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .25rem;
    letter-spacing: -.01em;
}

.btn-sm {
    --bs-btn-padding-x: .75rem;
    --bs-btn-padding-y: .38rem;
    --bs-btn-font-size: .76rem;
    --bs-btn-border-radius: .62rem;
}

.btn-lg {
    --bs-btn-padding-x: 1.15rem;
    --bs-btn-padding-y: .72rem;
    --bs-btn-font-size: .94rem;
    --bs-btn-border-radius: .86rem;
}

.btn-remonto {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--remonto-primary);
    --bs-btn-border-color: var(--remonto-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--remonto-primary-dark);
    --bs-btn-hover-border-color: var(--remonto-primary-dark);
    --bs-btn-focus-shadow-rgb: 23, 107, 87;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--remonto-primary-dark);
    --bs-btn-active-border-color: var(--remonto-primary-dark);
    box-shadow: 0 .35rem .85rem rgba(23, 107, 87, .16);
}

.btn-remonto:hover {
    transform: translateY(-1px);
    box-shadow: 0 .55rem 1.2rem rgba(23, 107, 87, .2);
}

.btn-outline-remonto {
    --bs-btn-color: var(--remonto-primary);
    --bs-btn-bg: rgba(255, 255, 255, .64);
    --bs-btn-border-color: rgba(23, 107, 87, .45);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--remonto-primary);
    --bs-btn-hover-border-color: var(--remonto-primary);
    --bs-btn-focus-shadow-rgb: 23, 107, 87;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--remonto-primary);
    --bs-btn-active-border-color: var(--remonto-primary);
}

.btn-outline-remonto:hover {
    transform: translateY(-1px);
}

.btn-remonto-inverted {
    --bs-btn-color: var(--remonto-primary);
    --bs-btn-bg: #fff;
    --bs-btn-border-color: #fff;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--remonto-primary-dark);
    --bs-btn-hover-border-color: var(--remonto-primary-dark);
    --bs-btn-focus-shadow-rgb: 255, 255, 255;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--remonto-primary-dark);
    --bs-btn-active-border-color: var(--remonto-primary-dark);
}

.btn-accent {
    --bs-btn-color: #2d2105;
    --bs-btn-bg: var(--remonto-accent);
    --bs-btn-border-color: var(--remonto-accent);
    --bs-btn-hover-color: #2d2105;
    --bs-btn-hover-bg: #e29306;
    --bs-btn-hover-border-color: #e29306;
    --bs-btn-focus-shadow-rgb: 242, 162, 12;
    --bs-btn-active-color: #2d2105;
    --bs-btn-active-bg: #e29306;
    --bs-btn-active-border-color: #e29306;
}

.form-label {
    color: var(--remonto-ink);
    margin-bottom: .45rem;
}

.form-control,
.form-select {
    border-color: var(--remonto-border);
    border-radius: .82rem;
    color: var(--remonto-ink);
    font-size: .9rem;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--remonto-border-strong);
    box-shadow: 0 0 0 .2rem rgba(23, 107, 87, .1);
}

.form-select-lg,
.form-control-lg {
    min-height: 3.05rem;
    padding-top: .65rem;
    padding-bottom: .65rem;
    font-size: .92rem;
    border-radius: .9rem;
}

.badge {
    font-weight: 700;
    letter-spacing: -.01em;
}

.rounded-4 {
    border-radius: var(--remonto-radius-lg) !important;
}

.navbar-brand {
    font-size: 1.02rem;
    letter-spacing: -.025em;
}

.navbar-brand-mark {
    width: 34px;
    height: 34px;
    background: var(--remonto-primary);
}

.top-nav-link {
    color: rgba(255, 255, 255, .78);
    text-decoration: none;
    font-size: .74rem;
}

.top-nav-link:hover {
    color: #fff;
}

.main-navbar {
    box-shadow: 0 .25rem 1rem rgba(15, 23, 42, .055);
}

.main-navbar .nav-link {
    font-size: .83rem;
    font-weight: 600;
    color: var(--remonto-ink-soft);
    padding-left: .72rem !important;
    padding-right: .72rem !important;
}

.main-navbar .nav-link:hover,
.main-navbar .nav-link.active {
    color: var(--remonto-primary);
}

.dropdown-menu {
    border-color: var(--remonto-border);
    box-shadow: var(--remonto-shadow-md);
}

.footer-link {
    color: rgba(255, 255, 255, .72);
    text-decoration: none;
}

.footer-link:hover {
    color: #fff;
}

.page-hero {
    background:
        radial-gradient(circle at top left, rgba(23, 107, 87, .13), transparent 34rem),
        radial-gradient(circle at bottom right, rgba(242, 162, 12, .09), transparent 28rem),
        linear-gradient(180deg, var(--remonto-primary-soft), #f7faf9);
}

.page-hero-compact {
    background:
        radial-gradient(circle at top left, rgba(23, 107, 87, .11), transparent 34rem),
        linear-gradient(180deg, var(--remonto-primary-soft), #f7faf9);
}

.surface-card,
.surface-card-soft,
.home-main-card,
.home-listing-card,
.home-type-card,
.sidebar-card,
.home-sidebar-card {
    border: 1px solid var(--remonto-border);
    background: var(--remonto-surface);
}

.surface-card-soft {
    background:
        radial-gradient(circle at top right, rgba(23, 107, 87, .07), transparent 14rem),
        #fff;
}

.home-main-card {
    background: rgba(255, 255, 255, .92);
    backdrop-filter: blur(8px);
}

.interactive-card,
.home-listing-card,
.service-slider-card,
.listing-card,
.ad-card {
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease;
}

.interactive-card:hover,
.home-listing-card:hover,
.service-slider-card:hover,
.listing-card:hover,
.ad-card:hover {
    transform: translateY(-2px);
    border-color: rgba(23, 107, 87, .26) !important;
    box-shadow: var(--remonto-shadow-md) !important;
}

.icon-box {
    width: 48px;
    height: 48px;
}

.icon-box-sm {
    width: 40px;
    height: 40px;
}

.icon-box-lg {
    width: 54px;
    height: 54px;
}

.hero-chip {
    background: rgba(255, 255, 255, .76);
    backdrop-filter: blur(6px);
    font-size: .74rem;
}

.quick-link,
.home-service-pill,
.sidebar-link,
.home-sidebar-link {
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}

.quick-link:hover,
.home-service-pill:hover,
.sidebar-link:hover,
.home-sidebar-link:hover {
    transform: translateY(-1px);
    background: var(--remonto-primary-soft) !important;
    border-color: var(--remonto-border-strong) !important;
    color: var(--remonto-primary) !important;
}

.ad-card {
    border: 1px dashed rgba(23, 107, 87, .5) !important;
    background:
        radial-gradient(circle at top left, rgba(23, 107, 87, .09), transparent 12rem),
        linear-gradient(135deg, #ffffff, #f7fbfa);
}

.ad-card-hero {
    border-color: rgba(23, 107, 87, .66) !important;
    background:
        radial-gradient(circle at top right, rgba(242, 162, 12, .14), transparent 16rem),
        radial-gradient(circle at bottom left, rgba(23, 107, 87, .1), transparent 14rem),
        #fff;
    box-shadow: var(--remonto-shadow-xs);
}

.service-dropdown {
    min-width: 720px;
    max-width: 760px;
    margin-top: .8rem !important;
    border: 1px solid var(--remonto-border) !important;
    border-radius: 1.15rem;
    box-shadow: 0 1.5rem 4rem rgba(15, 23, 42, .14);
}

.service-dropdown::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 42px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-left: 1px solid var(--remonto-border);
    border-top: 1px solid var(--remonto-border);
    transform: rotate(45deg);
}

.service-dropdown .dropdown-item {
    white-space: normal;
    color: var(--remonto-ink);
    border-radius: .9rem;
    font-size: .86rem;
    transition: background-color .16s ease, transform .16s ease;
}

.service-dropdown .dropdown-item:hover,
.service-dropdown .dropdown-item:focus {
    background: rgba(23, 107, 87, .075);
    transform: translateY(-1px);
}

.service-dropdown .dropdown-item i {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: .8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(23, 107, 87, .1);
    font-size: .95rem;
}

.service-dropdown .text-uppercase {
    letter-spacing: .075em;
    font-size: .68rem;
}

.service-dropdown .btn {
    border-radius: 999px;
}

.service-card {
    min-height: 176px;
}

.service-card p {
    min-height: 44px;
}

.business-icon {
    width: 52px;
    height: 52px;
}

.listing-logo {
    width: 54px;
    height: 54px;
}

.listing-title {
    min-height: 44px;
}

.dark-cta-card {
    background:
        radial-gradient(circle at top right, rgba(23, 107, 87, .46), transparent 18rem),
        #1f2933;
}

.card-slider .splide__track,
.service-slider .splide__track,
.home-type-slider .splide__track,
.home-featured-listings-slider .splide__track,
.strong-slider .splide__track {
    padding: .35rem .05rem 1rem;
}

.card-slider .splide__slide,
.service-slider .splide__slide,
.home-type-slider .splide__slide,
.home-featured-listings-slider .splide__slide {
    height: auto;
}

.card-slider .splide__arrow,
.service-slider .splide__arrow {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .12);
    box-shadow: 0 .5rem 1.25rem rgba(15, 23, 42, .1);
    opacity: 1;
}

.home-type-slider .splide__arrow,
.home-featured-listings-slider .splide__arrow,
.strong-slider .splide__arrow {
    width: 2.35rem;
    height: 2.35rem;
    background: var(--remonto-primary);
    border: 2px solid #fff;
    box-shadow: 0 .65rem 1.35rem rgba(15, 23, 42, .16);
    opacity: 1;
}

.card-slider .splide__arrow svg,
.service-slider .splide__arrow svg {
    fill: var(--remonto-primary);
}

.home-type-slider .splide__arrow svg,
.home-featured-listings-slider .splide__arrow svg,
.strong-slider .splide__arrow svg {
    fill: #fff;
}

.home-type-slider .splide__arrow:hover,
.home-featured-listings-slider .splide__arrow:hover,
.strong-slider .splide__arrow:hover {
    background: var(--remonto-primary-dark);
}

.home-type-slider .splide__arrow--prev,
.home-featured-listings-slider .splide__arrow--prev {
    left: .25rem;
}

.home-type-slider .splide__arrow--next,
.home-featured-listings-slider .splide__arrow--next {
    right: .25rem;
}

.card-slider .splide__pagination,
.service-slider .splide__pagination {
    bottom: -1rem;
}

.home-type-slider .splide__pagination,
.home-featured-listings-slider .splide__pagination {
    display: none;
}

.card-slider .splide__pagination__page.is-active,
.service-slider .splide__pagination__page.is-active {
    background: var(--remonto-primary);
}

.strong-slider,
.home-type-slider,
.home-featured-listings-slider {
    padding-left: 2.85rem;
    padding-right: 2.85rem;
}

.service-slider-card {
    min-height: 210px;
}

.service-slider-icon {
    width: 66px;
    height: 66px;
    font-size: 2rem;
}

.listing-card-cover {
    height: 84px;
    background: linear-gradient(135deg, var(--remonto-primary-soft), #fff);
}

.listing-card-logo {
    width: 60px;
    height: 60px;
    margin-top: -30px;
}

.compact-service-card {
    min-height: 122px;
}

.compact-service-card .icon-box-sm {
    width: 38px;
    height: 38px;
}

.compact-service-title,
.home-type-card-title {
    line-height: 1.24;
}

.home-type-heading {
    padding: 0 .25rem;
}

.home-type-card {
    min-height: 108px;
    background: rgba(255, 255, 255, .94);
}

.home-featured-listing-card {
    min-height: 224px;
}

.home-latest-listing-card {
    min-height: 194px;
}

.home-listing-logo,
.home-listing-logo-placeholder {
    width: 50px;
    height: 50px;
}

.home-listing-logo {
    object-fit: cover;
    border: 1px solid var(--remonto-border);
    background: #fff;
}

.home-listing-logo-placeholder {
    border: 1px solid rgba(23, 107, 87, .14);
    background: var(--remonto-primary-soft);
    color: var(--remonto-primary);
}

.home-listing-description {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 40px;
}

.home-listing-badge {
    font-size: .68rem;
}

@media (min-width: 1200px) {
    .container {
        max-width: 1160px;
    }
}

@media (max-width: 991.98px) {
    html {
        font-size: 14.5px;
    }

    .service-dropdown {
        min-width: 100%;
        max-width: 100%;
        margin-top: 0 !important;
        box-shadow: none;
        border: 1px solid var(--remonto-border) !important;
    }

    .service-dropdown::before {
        display: none;
    }

    .service-dropdown .dropdown-item:hover,
    .service-dropdown .dropdown-item:focus {
        transform: none;
    }

    .main-navbar .nav-link {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

@media (max-width: 767.98px) {
    html {
        font-size: 14px;
    }

    .lead {
        font-size: .96rem;
    }

    .btn-lg {
        --bs-btn-padding-y: .62rem;
        --bs-btn-font-size: .9rem;
    }

    .strong-slider,
    .home-type-slider,
    .home-featured-listings-slider {
        padding-left: 0;
        padding-right: 0;
    }

    .service-card,
    .service-card p,
    .listing-title,
    .compact-service-card,
    .home-type-card,
    .home-featured-listing-card,
    .home-latest-listing-card {
        min-height: auto;
    }

    .icon-box {
        width: 44px;
        height: 44px;
    }

    .icon-box-sm {
        width: 38px;
        height: 38px;
    }

    .icon-box-lg {
        width: 50px;
        height: 50px;
    }
}
