/* Shared quality layer for the maintained public templates (48, 51-64). */
body.curated-template {
    --directory-primary: #0f766e;
    --directory-primary-dark: #115e59;
    --directory-ink: #172033;
    --directory-muted: #5d6778;
    --directory-surface: #ffffff;
    --directory-wash: #f5f7fa;
    --directory-border: #dce3eb;
    --directory-radius: 8px;
    color: var(--directory-ink);
    background: var(--directory-wash);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.55;
}

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

.curated-template a { color: var(--directory-primary); }
.curated-template a:hover { color: var(--directory-primary-dark); }
.curated-template a:focus-visible,
.curated-template button:focus-visible,
.curated-template input:focus-visible,
.curated-template select:focus-visible,
.curated-template textarea:focus-visible {
    outline: 3px solid rgba(15, 118, 110, .35) !important;
    outline-offset: 3px;
}

/* Header and navigation */
.curated-template .top-header-main.custom_header {
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 0;
    min-height: 72px;
    background: rgba(255, 255, 255, .96);
    border-bottom: 1px solid rgba(23, 32, 51, .09);
    box-shadow: 0 4px 18px rgba(23, 32, 51, .08);
    backdrop-filter: blur(12px);
}

.curated-template .header-inner {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.curated-template .custom_header .logo { margin: 0; flex: 0 0 auto; }
.curated-template .custom_header .logo img { display: block; width: auto; max-width: 180px; max-height: 46px; object-fit: contain; }
.curated-template .nav-wrapper { margin-left: auto; }
.curated-template .nav-wrapper nav { min-height: auto; background: transparent; box-shadow: none; }
.curated-template .nav-wrapper .menu { display: flex; align-items: center; gap: 4px; margin: 0; }
.curated-template .nav-wrapper .menu > li { float: none; }
.curated-template .nav-wrapper .menu > li > a {
    display: block;
    padding: 10px 13px;
    border-radius: 5px;
    color: var(--directory-ink) !important;
    background: transparent !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    text-transform: none;
}
.curated-template .nav-wrapper .menu > li > a:hover,
.curated-template .nav-wrapper .menu > li > a:focus { color: var(--directory-primary) !important; background: rgba(15, 118, 110, .08) !important; text-decoration: none; }
.curated-template .nav-wrapper .menu > li.directory-nav-cta > a { color: #fff !important; background: var(--directory-primary) !important; box-shadow: 0 4px 12px rgba(15, 118, 110, .22); }
.curated-template .nav-wrapper .menu > li.directory-nav-cta > a:hover { color: #fff !important; background: var(--directory-primary-dark) !important; }

/* Banner search */
.curated-template .custom_banner {
    position: relative;
    min-height: min(650px, calc(100vh - 72px));
    isolation: isolate;
    background-position: center;
}
.curated-template .custom_banner::before {
    position: absolute;
    z-index: 0;
    inset: 0;
    content: "";
    background: linear-gradient(90deg, rgba(12, 20, 32, .68), rgba(12, 20, 32, .24));
}
.curated-template .custom_banner > * { position: relative; z-index: 1; }
.curated-template .custom_banner.inner_banner { min-height: 300px; }
.curated-template .custom_banner.inner_banner::before { background: rgba(12, 20, 32, .56); }
.curated-template .banner_search_area { max-width: 720px; }
.curated-template .banner_search_area h4,
.curated-template .inner_banner .banner-hd {
    margin: 0 0 24px;
    padding: 0;
    color: #fff !important;
    font-family: inherit;
    font-size: 42px;
    font-weight: 800;
    line-height: 1.13;
    letter-spacing: 0;
    text-align: left;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .28);
    text-transform: none;
}
.curated-template .inner_banner .banner-hd { text-align: center; }
.curated-template .banner_search_area h4 span,
.curated-template .dir_color { color: #baf3e8 !important; }
.curated-template .banner_search {
    display: flex;
    align-items: end;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: var(--directory-radius);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 16px 36px rgba(6, 14, 26, .26);
}
.curated-template .banner_search .row { width: 100%; margin: 0; }
.curated-template .banner_search [class*="col-"] { padding: 0; }
.curated-template .banner_search .form-group { margin: 0; }
.curated-template .banner_search label { display: block; margin: 0 0 5px; color: var(--directory-muted); font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: uppercase; }
.curated-template .banner_search input,
.curated-template .banner_search select {
    height: 50px;
    border: 1px solid var(--directory-border);
    border-radius: 5px;
    box-shadow: none;
    color: var(--directory-ink);
    font-size: 16px;
}
.curated-template .banner_search input::placeholder { color: #7a8596; opacity: 1; }
.curated-template .banner_search #search_btn { width: 100%; min-height: 50px; margin-top: 10px; border: 0; border-radius: 5px; background: var(--directory-primary) !important; color: #fff !important; font-size: 14px; font-weight: 800; letter-spacing: 0; box-shadow: none; }
.curated-template .banner_search #search_btn:hover { background: var(--directory-primary-dark) !important; transform: translateY(-1px); }

/* Shared content and cards */
.curated-template ._popular,
.curated-template .pplr_cities,
.curated-template .listing-outer,
.curated-template ._listing_detail { background-color: var(--directory-wash); }
.curated-template ._popular,
.curated-template .pplr_cities { padding: 68px 0; }
.curated-template .heading-main { margin-bottom: 30px; }
.curated-template .heading-main h4,
.curated-template ._listing_detail h3,
.curated-template ._listing_detail h4 { color: var(--directory-ink); font-family: inherit; font-weight: 800; letter-spacing: 0; }
.curated-template .heading-main h4 { font-size: 30px; line-height: 1.2; }
.curated-template .directory-popular-cities {
    padding: 68px 0;
    background: var(--directory-wash) !important;
    background-image: none !important;
}
.curated-template .directory-popular-cities .heading-main h4 {
    color: var(--directory-ink) !important;
    text-align: center;
}
.curated-template .directory-popular-cities .city-outer ul {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 18px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}
.curated-template .directory-popular-cities .city-outer ul li {
    display: block !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}
.curated-template .directory-popular-cities .city-outer ul li[hidden] {
    display: none !important;
}
.curated-template .directory-popular-cities .city-outer ul li a {
    display: block;
    padding: 12px 14px;
    border: 1px solid var(--directory-border);
    border-radius: 5px;
    background: var(--directory-surface);
    color: var(--directory-ink) !important;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    text-decoration: none;
}
.curated-template .directory-popular-cities .city-outer ul li a:hover,
.curated-template .directory-popular-cities .city-outer ul li a:focus {
    border-color: var(--directory-primary);
    color: var(--directory-primary) !important;
    text-decoration: none;
}
.curated-template .directory-popular-cities .quality-show-more {
    border-color: var(--directory-primary) !important;
    border-radius: 5px;
    background: var(--directory-primary) !important;
    color: #fff !important;
    box-shadow: none;
}
.curated-template .directory-popular-cities .quality-show-more:hover,
.curated-template .directory-popular-cities .quality-show-more:focus {
    background: var(--directory-primary-dark) !important;
    border-color: var(--directory-primary-dark) !important;
}
.curated-template .thumbnail.thumb_list,
.curated-template .listing-cont,
.curated-template .listing-temp-3,
.curated-template .premium-dlr,
.curated-template ._listing_detail .col-sm-8 > div,
.curated-template ._listing_detail .col-sm-4 > div {
    border: 1px solid var(--directory-border);
    border-radius: var(--directory-radius);
    background: var(--directory-surface);
    box-shadow: 0 8px 24px rgba(23, 32, 51, .06);
}
.curated-template .thumbnail.thumb_list { overflow: hidden; margin-bottom: 24px; padding: 0; transition: transform .2s ease, box-shadow .2s ease; }
.curated-template .thumbnail.thumb_list:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(23, 32, 51, .13); }
.curated-template .thumb_list > a { height: auto; aspect-ratio: 3 / 2; }
.curated-template .thumb_list > a img { height: 100%; object-fit: cover; transition: transform .25s ease; }
.curated-template .thumbnail.thumb_list:hover > a img { transform: scale(1.035); }
.curated-template .thumb_list .caption { padding: 18px; background: #fff; }
.curated-template ._ttl_thmb { min-height: 0; max-height: none; margin: 0 0 12px; padding: 0 0 12px; border-bottom-color: var(--directory-border); color: var(--directory-ink); font-size: 18px; font-weight: 800; line-height: 1.35; }
.curated-template ._ttl_thmb:hover { color: var(--directory-primary); }
.curated-template ._flex_space_btw { gap: 8px; flex-wrap: wrap; }
.curated-template ._flex_space_btw h5,
.curated-template ._flex_space_btw h6 { margin: 0; color: var(--directory-muted); font-size: 14px; }
.curated-template .btn,
.curated-template .listing-btn-btm a,
.curated-template .bro-btn-outer a { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 10px 17px; border: 0; border-radius: 5px; background: var(--directory-primary) !important; color: #fff !important; font-size: 13px; font-weight: 800; letter-spacing: 0; line-height: 1.2; text-transform: none; transition: background .2s ease, transform .2s ease; }
.curated-template .btn:hover,
.curated-template .listing-btn-btm a:hover,
.curated-template .bro-btn-outer a:hover { background: var(--directory-primary-dark) !important; color: #fff !important; text-decoration: none; transform: translateY(-1px); }

/* Listing, business detail, review, and form surfaces */
.curated-template .listing-outer { padding: 52px 0; background-image: none !important; }
.curated-template .listing-outer .container { max-width: 860px; }
.curated-template .listing-temp-3 { overflow: visible; padding: 0; border: 0; background: transparent; box-shadow: none; }
.curated-template .listing-temp-3 table { width: 100% !important; margin: 0; border: 0; table-layout: fixed; }
.curated-template .listing-temp-3 table thead th { border-bottom: 1px solid var(--directory-border); background: #f8fafc; color: var(--directory-muted); font-size: 12px; font-weight: 800; letter-spacing: 0; text-transform: uppercase; }
.curated-template .listing-temp-3 table td { border-color: var(--directory-border); vertical-align: middle; }
.curated-template .listing-temp-3.listing13_temp table tbody tr {
    display: flex !important;
    align-items: stretch;
    float: none !important;
    width: 100% !important;
    min-height: 210px;
    margin: 0 0 16px;
    overflow: hidden;
    background: var(--directory-surface) !important;
    border: 1px solid var(--directory-border) !important;
    border-radius: 6px;
    box-shadow: 0 7px 20px rgba(23, 32, 51, .06);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.curated-template .listing-temp-3.listing13_temp table tbody tr:hover { border-color: var(--directory-primary) !important; box-shadow: 0 12px 28px rgba(23, 32, 51, .11); transform: translateY(-2px); }
.curated-template .listing-temp-3 table td:first-child { flex: 0 0 315px; width: 315px !important; padding: 0; }
.curated-template .listing-temp-3 table td:nth-child(2) { flex: 1 1 auto; width: auto !important; padding: 0; }
.curated-template .listing-img,
.curated-template .list-img {
    display: block;
    width: 100%;
    height: auto !important;
    height: 210px !important;
    aspect-ratio: auto;
    overflow: hidden;
    border-radius: 0;
    background: #f8fafc;
}
.curated-template .listing-img > a,
.curated-template .list-img > a { display: block; width: 100%; height: 100%; }
.curated-template .listing-img img,
.curated-template .list-img img,
.curated-template .sorting_1 .listing-img img,
.curated-template .sorting_1 .list-img img {
    display: block;
    width: 100% !important;
    max-width: none;
    height: 100% !important;
    padding: 10px;
    object-fit: contain !important;
    object-position: center;
}
.curated-template .listing-cont { display: flex; flex-direction: column; justify-content: center; float: none !important; width: 100%; min-height: 210px; padding: 18px 24px; border: 0 !important; border-radius: 0 !important; background: var(--directory-surface) !important; box-shadow: none !important; color: var(--directory-muted) !important; }
.curated-template .listing-cont h4 { margin: 0 0 10px; color: var(--directory-ink) !important; font-size: 19px; font-weight: 800; line-height: 1.3; }
.curated-template .listing-cont p { color: var(--directory-muted) !important; }
.curated-template .listing-cont p:empty { display: none; }
.curated-template .listing-temp-3.listing13_temp table tr td .listing-cont h4 { color: var(--directory-ink) !important; }
.curated-template .listing-temp-3.listing13_temp table tr td .listing-cont p { color: var(--directory-muted) !important; }
.curated-template .listing-phone-out { margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--directory-border); }
.curated-template .listing-phone-1 h5,
.curated-template .listing-phone-1 a,
.curated-template .listing-temp-3.listing13_temp table tr td .listing-cont h5,
.curated-template .listing-temp-3.listing13_temp table tr td .listing-cont .listing-phone-1 h5 a.phone-link { color: var(--directory-muted) !important; font-size: 13px !important; font-weight: 600; }
.curated-template .listing-phone-1 { margin: 4px 0 !important; }
.curated-template .listing-phone-1 h5 { margin: 0; line-height: 1.45; }
.curated-template .listing-phone-1 i { color: var(--directory-primary) !important; }
.curated-template .listing-btn-btm { margin-top: 12px; }
.curated-template .listing-btn-btm a { min-height: 36px; padding: 8px 14px; width: auto; font-size: 12px; }

/* Preserve a distinct listing personality without sacrificing readable data. */
.curated-template-47 .listing-temp-3.listing13_temp table tbody tr,
.curated-template-53 .listing-temp-3.listing13_temp table tbody tr,
.curated-template-58 .listing-temp-3.listing13_temp table tbody tr,
.curated-template-62 .listing-temp-3.listing13_temp table tbody tr { border-left: 4px solid var(--directory-primary) !important; }
.curated-template-50 .listing-temp-3.listing13_temp table tbody tr,
.curated-template-54 .listing-temp-3.listing13_temp table tbody tr,
.curated-template-59 .listing-temp-3.listing13_temp table tbody tr,
.curated-template-63 .listing-temp-3.listing13_temp table tbody tr { border-radius: 0; }
.curated-template-51 .listing-temp-3.listing13_temp table tbody tr,
.curated-template-55 .listing-temp-3.listing13_temp table tbody tr,
.curated-template-60 .listing-temp-3.listing13_temp table tbody tr { background: #fbfcfe !important; }
.curated-template .listing-show-more-actions { padding: 24px 0 4px; text-align: center; }
.curated-template .listing-show-more {
    min-width: 210px;
    min-height: 46px;
    border: 1px solid var(--directory-primary);
    border-radius: 5px;
    background: var(--directory-surface);
    color: var(--directory-primary);
    font-size: 14px;
    font-weight: 800;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.curated-template .listing-show-more:hover,
.curated-template .listing-show-more:focus { background: var(--directory-primary); color: #fff; transform: translateY(-1px); }
.curated-template .listing-show-more:disabled { cursor: wait; opacity: .7; transform: none; }
.curated-template ._listing_detail { padding: 56px 0; }
.curated-template ._listing_detail .col-sm-8 > div,
.curated-template ._listing_detail .col-sm-4 > div { margin-bottom: 22px; padding: 22px; }
.curated-template ._listing_detail .ls-dt-video { overflow: hidden; border: 0; padding: 0; }
.curated-template ._listing_detail .ls-dt-video > .gallery > li > img,
.curated-template ._listing_detail .ls-dt-video .lSSlideWrapper .lSSlide img {
    display: block;
    width: 100% !important;
    height: clamp(260px, 40vw, 440px) !important;
    max-width: none;
    object-fit: cover !important;
}
.curated-template ._listing_detail .ls-dt-video .lSPager.lSGallery li img { height: 100% !important; object-fit: cover !important; }
.curated-template ._listing_detail ._adresses > img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.curated-template ._listing_detail p,
.curated-template ._listing_detail li { color: var(--directory-muted); }
.curated-template .rev-inp-out,
.curated-template .review_form_20,
.curated-template .review_form_48,
.curated-template .review_form_59 { border: 1px solid var(--directory-border) !important; border-radius: var(--directory-radius); background: #fff !important; box-shadow: none; }
.curated-template input.form-control,
.curated-template textarea.form-control,
.curated-template select.form-control,
.curated-template .form-control { min-height: 44px; border: 1px solid var(--directory-border); border-radius: 5px; box-shadow: none; color: var(--directory-ink); }
.curated-template textarea.form-control { min-height: 120px; }
.curated-template .dataTables_paginate .pagination > .active > a,
.curated-template .pagination > .active > a { background: var(--directory-primary) !important; border-color: var(--directory-primary) !important; }

/* Footer */
.curated-template ._footer { padding: 56px 0 36px; background: #172033; }
.curated-template ._footer_links h4 { margin: 0 0 16px; color: #fff; font-family: inherit; font-size: 18px; font-weight: 800; letter-spacing: 0; text-transform: none; }
.curated-template ._footer_links p { color: #b9c3d2; }
.curated-template ._footer_links li { border-bottom-color: rgba(255,255,255,.12); }
.curated-template ._footer_links li a { color: #d9e0ea; font-size: 14px; }
.curated-template ._footer_links li a:hover { color: #fff; }
.curated-template .footer-inp { display: flex; gap: 8px; }
.curated-template .footer-mail { min-width: 0; height: 44px; border: 0; border-radius: 5px; padding: 0 12px; color: var(--directory-ink); }
.curated-template .footer-inp button { min-height: 44px; border: 0; border-radius: 5px; padding: 0 15px; background: var(--directory-primary); color: #fff; font-weight: 800; }
.curated-template .footer-btm-outer._copyright { padding: 18px 0; background: #101725; }
.curated-template .footer-btm-inner p,
.curated-template .footer-btm-inner a { color: #b9c3d2; }

@media (max-width: 991px) {
    .curated-template .custom_banner { min-height: 560px; }
    .curated-template .banner_search_area h4 { font-size: 36px; }
    .curated-template .listing-img img,
    .curated-template .list-img img { max-width: none; }
}

@media (max-width: 767px) {
    .curated-template .top-header-main.custom_header { min-height: 64px; }
    .curated-template .header-inner { min-height: 64px; gap: 12px; }
    .curated-template .custom_header .logo img { max-width: 135px; max-height: 38px; }
    .curated-template .nav-wrapper nav { position: relative; }
    .curated-template .nav-wrapper #pull { display: block; width: 38px; height: 38px; border: 1px solid var(--directory-border); border-radius: 5px; background: #fff; }
    .curated-template .nav-wrapper #pull::before { display: block; padding: 6px 0; color: var(--directory-primary); content: "Menu"; font-size: 11px; font-weight: 800; text-align: center; }
    .curated-template .nav-wrapper .menu { position: absolute; right: 0; top: calc(100% + 10px); display: none; width: min(280px, calc(100vw - 30px)); padding: 8px; border: 1px solid var(--directory-border); border-radius: var(--directory-radius); background: #fff; box-shadow: 0 15px 35px rgba(23, 32, 51, .16); }
    .curated-template .nav-wrapper .menu > li,
    .curated-template .nav-wrapper .menu > li > a { width: 100%; }
    .curated-template .nav-wrapper .menu > li > a { padding: 12px; }
    .curated-template .custom_banner { min-height: 500px; padding: 76px 0 48px !important; }
    .curated-template .custom_banner.inner_banner { min-height: 230px; padding: 48px 0 !important; }
    .curated-template .banner_search_area h4,
    .curated-template .inner_banner .banner-hd { margin-bottom: 18px; font-size: 30px; }
    .curated-template .banner_search { padding: 10px; }
    .curated-template .banner_search input,
    .curated-template .banner_search select,
    .curated-template .banner_search #search_btn { min-height: 48px; }
    .curated-template ._popular,
    .curated-template .pplr_cities,
    .curated-template .listing-outer,
    .curated-template ._listing_detail { padding: 40px 0; }
    .curated-template .heading-main { margin-bottom: 22px; }
    .curated-template .heading-main h4 { font-size: 25px; }
    .curated-template .directory-popular-cities { padding: 40px 0; }
    .curated-template .directory-popular-cities .city-outer ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .curated-template .directory-popular-cities .city-outer ul li a { padding: 11px 12px; font-size: 14px; }
    .curated-template .thumb_list > a { aspect-ratio: 16 / 10; }
    .curated-template .listing-temp-3 { padding: 10px; overflow: visible; }
    .curated-template .listing-temp-3 table { min-width: 0; }
    .curated-template .listing-temp-3 table,
    .curated-template .listing-temp-3 table tbody,
    .curated-template .listing-temp-3 table tr,
    .curated-template .listing-temp-3 table td { display: block; width: 100% !important; }
    .curated-template .listing-temp-3 table thead { display: none; }
    .curated-template .listing-temp-3 table tr { display: block !important; margin-bottom: 16px; border: 1px solid var(--directory-border); border-radius: 6px; overflow: hidden; }
    .curated-template .listing-temp-3 table td:first-child { flex: none; padding: 0; }
    .curated-template .listing-cont { min-height: 0; padding: 16px; }
    .curated-template .listing-img,
    .curated-template .list-img { height: auto !important; aspect-ratio: 16 / 10; }
    .curated-template ._listing_detail .ls-dt-video > .gallery > li > img,
    .curated-template ._listing_detail .ls-dt-video .lSSlideWrapper .lSSlide img { height: 260px !important; }
    .curated-template ._listing_detail .col-sm-8 > div,
    .curated-template ._listing_detail .col-sm-4 > div { padding: 16px; }
    .curated-template .footer-inp { display: block; }
    .curated-template .footer-mail,
    .curated-template .footer-inp button { width: 100%; }
    .curated-template .footer-inp button { margin-top: 8px; }
}

@media (max-width: 380px) {
    .curated-template .custom_header .logo img { max-width: 112px; }
    .curated-template .banner_search_area h4,
    .curated-template .inner_banner .banner-hd { font-size: 26px; }
}
