/* City templates retain the live site's shared header, hero and card geometry. */
.core-city .header-v2 .d-list-header{position:absolute;top:0;left:0;width:100%;background:transparent;z-index:1000}
.core-city .header-v2 .d-list-header .d-header-navbar{position:relative;background:transparent}
.core-city .title-bar-inner{padding:0}
.core-city .main-wrapper>.container{padding-top:40px!important;padding-bottom:60px!important}
.core-city .tg-featured-card .card-body{padding:24px;flex:1 1 auto}
.core-city .tg-featured-logo-wrap .tg-pro-logo{width:100%;height:100%;min-width:0;max-width:100%;flex:auto}
.core-city .tg-featured-logo-wrap .tg-pro-logo-box{width:100%;height:100%;min-width:0;border:0;border-radius:0}
.core-city .tg-pro-card{padding:20px}
.core-city .tg-free-row{padding:18px 20px}
.core-city .tg-featured-card .tg-compare-zone{margin-top:auto;padding-top:12px}
.core-city .tg-featured-main{padding-bottom:24px}
.core-city .core-compare-choice[hidden]{display:none}
.core-city .tg-city-match-slot{margin-bottom:30px}
.core-city .tg-city-guide-card{margin-top:30px}
.core-city-faq summary{cursor:pointer;list-style:none}
.core-city-faq summary::-webkit-details-marker{display:none}
.core-city-faq:not([open]) .accordion-button{background:white;box-shadow:none;color:inherit}
.core-city-faq[open] .accordion-button::after{transform:rotate(-180deg)}
.core-city-faq summary:focus-visible{outline:2px solid #4e73df;outline-offset:2px}

/* Original pricing presentation from City.aspx. */
        .tg-pricing-estimates-slot {
            margin-top: 40px;
        }

        .tg-pricing-card {
            border: 1px solid #dfe8f7;
            border-radius: 22px;
            background:
                radial-gradient(circle at top left, rgba(255, 248, 221, .9) 0, rgba(255, 248, 221, 0) 32%),
                linear-gradient(135deg, #ffffff 0%, #fbfdff 58%, #f6f9ff 100%);
            box-shadow: 0 18px 45px rgba(15, 23, 42, .06);
            padding: 24px;
        }

        .tg-pricing-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: #d97706;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .12em;
            text-transform: uppercase;
        }

        .tg-pricing-title {
            color: #14214a;
            font-size: clamp(24px, 2.35vw, 32px);
            line-height: 1.15;
            letter-spacing: -.03em;
        }

        .tg-pricing-intro,
        .tg-pricing-disclaimer {
            color: #70809f;
            font-size: 14px;
            line-height: 1.55;
        }

        .tg-pricing-disclaimer a {
            color: #2f67ff;
            font-weight: 800;
            text-decoration: none;
        }

        .tg-pricing-disclaimer a:hover {
            text-decoration: underline;
        }

        .tg-pricing-header {
            max-width: 980px;
        }

        .tg-pricing-context {
            display: flex;
            align-items: center;
            gap: 12px;
            flex-wrap: wrap;
            margin-top: 14px;
            border: 1px solid #e4ebf7;
            border-radius: 16px;
            background: rgba(255, 255, 255, .7);
            padding: 11px 13px;
        }

        .tg-pricing-context-title {
            color: #132147;
            font-size: 13px;
            font-weight: 850;
            margin: 0;
            white-space: nowrap;
        }

        .tg-pricing-checklist {
            display: flex;
            align-items: center;
            gap: 8px 16px;
            flex: 1 1 auto;
            flex-wrap: wrap;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .tg-pricing-checklist li {
            display: flex;
            gap: 7px;
            align-items: center;
            color: #41516f;
            font-size: 13px;
            line-height: 1.35;
        }

        .tg-pricing-checklist i {
            color: #d97706;
            flex: 0 0 auto;
        }

        .tg-pricing-table {
            margin: 16px 0 12px;
            overflow: hidden;
            border: 1px solid #e4ebf7;
            border-radius: 18px;
            background: #fff;
        }

        .tg-pricing-table table {
            width: 100%;
            margin: 0;
        }

        .tg-pricing-table th {
            padding: 12px 16px;
            background: #15233c;
            color: #fff;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .1em;
            text-transform: uppercase;
        }

        .tg-pricing-table td {
            padding: 13px 16px;
            border-top: 1px solid #edf2fa;
            color: #24324f;
            vertical-align: top;
        }

        .tg-pricing-table tbody tr:nth-child(even) td {
            background: #fbfdff;
        }

        .tg-pricing-table tbody tr:first-child td {
            border-top: 0;
        }

        .tg-pricing-table:not(.is-expanded) .tg-pricing-extra-row {
            display: none;
        }

        .tg-pricing-service {
            color: #0f1e3e;
            font-weight: 800;
            text-decoration: none;
        }

        .tg-pricing-service:hover {
            color: #2f67ff;
        }

        .tg-pricing-basis {
            display: block;
            margin-top: 4px;
            color: #7b89a5;
            font-size: 13px;
            line-height: 1.45;
        }

        .tg-pricing-range {
            color: #0d1b3d;
            font-size: 18px;
            font-weight: 850;
            white-space: nowrap;
        }

        .tg-pricing-display-type {
            display: block;
            margin-top: 4px;
            color: #7b89a5;
            font-size: 13px;
            font-weight: 700;
        }

        .tg-pricing-toggle-wrap {
            display: flex;
            justify-content: center;
            margin: 16px 0 10px;
        }

        .tg-pricing-toggle {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            border: 1px solid #ffd08a;
            border-radius: 999px;
            background: #fff8e8;
            color: #9a4f00;
            font-size: 14px;
            font-weight: 800;
            padding: 10px 18px;
            box-shadow: 0 10px 24px rgba(217, 119, 6, .12);
            transition: all .18s ease;
        }

        .tg-pricing-toggle:hover {
            border-color: #f59e0b;
            background: #fff3d6;
            color: #7c3f00;
            transform: translateY(-1px);
        }

        .tg-pricing-toggle i {
            transition: transform .18s ease;
        }

        .tg-pricing-toggle.is-expanded i {
            transform: rotate(180deg);
        }

        @media (max-width: 767.98px) {
            .tg-pricing-card {
                padding: 22px;
            }

            .tg-pricing-context {
                align-items: flex-start;
            }

            .tg-pricing-table th,
            .tg-pricing-table td {
                padding: 12px 13px;
            }

            .tg-pricing-range {
                white-space: normal;
            }
        }


.tg-pricing-toggle[hidden]{display:none}
.tg-pricing-table td:first-child a{font-weight:800;color:#0f1e3e;text-decoration:none}
.core-city-faq summary.accordion-button{display:flex;align-items:center;justify-content:space-between;gap:16px}
.core-city-faq summary.accordion-button::after{content:'';display:block;flex:0 0 8px;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;background:none;transform:rotate(45deg)}
.core-city-faq[open] summary.accordion-button::after{transform:rotate(225deg)}

        .tg-compare-actions {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 8px;
        }

        .tg-action-pill {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 142px;
            padding: 8px 14px;
            border: 1px solid #d7e3f7;
            border-radius: 999px;
            background: #fff;
            color: #24406f;
            font-size: 13px;
            font-weight: 600;
            text-decoration: none;
            transition: all .18s ease;
            box-shadow: 0 6px 16px rgba(36, 64, 111, .05);
        }

        .tg-action-pill:hover {
            border-color: #8fb3ff;
            background: #f8fbff;
            color: #1f4fc8;
        }


.core-listing-row .tg-compare-actions{flex-shrink:0}
@media(max-width:575.98px){.core-listing-row{flex-wrap:wrap}.core-listing-row .tg-compare-actions{width:100%;flex-direction:row;flex-wrap:wrap;justify-content:flex-end}}
/* Match the live listing grid's 30px vertical and horizontal gutters. */
.core-city section>.row.g-4{--bs-gutter-x:30px;--bs-gutter-y:30px;row-gap:0}
.core-listing-row .tg-pro-text{flex:1 1 0}

